In the dense format, a model is expressed in a similar way as it is formulated. Each SAS variable corresponds to a model’s column and each SAS observation corresponds to a model’s row. A SAS variable in the input data set is one of the following:
a type variable
an id variable
a structural variable
a right-hand-side variable
a right-hand-side sensitivity analysis variable
a range variable
The type variable tells PROC LP how to interpret the observation as a part of the mathematical programming problem. It identifies and classifies objectives, constraints, and the rows that contain information of variables like types, bounds, and so on. PROC LP recognizes the following keywords as values for the type variable: MIN, MAX, EQ, LE, GE, SOSEQ, SOSLE, UNRSTRT, LOWERBD, UPPERBD, FIXED, INTEGER, BINARY, BASIC, PRICESEN, and FREE. The values of the id variable are the names of the rows in the model. The other variables identify and classify the columns with numerical values.
The TYPE, ID (or ROW), and RHS statements can be omitted if the input data set contains variables _TYPE_
, _ID_
(or _ROW_
), and _RHS_
; otherwise, they must be used. The VAR statement is optional. When it is not specified, PROC LP uses as structural variables
all numeric variables not explicitly or implicitly included in statement lists. The RHSSEN and RANGE statements are optional
statements for sensitivity and range analyses. They can be omitted if the input data set contains the _RHSSEN_
and _RANGE_
variables.