The MPS-Format SAS Data Set |
BOUNDS Section (Optional)
The BOUNDS section specifies bounds for the columns.
- Indicator record:
Field1
|
Field2
|
Field3
|
Field4
|
Field5
|
Field6
|
BOUNDS | Blank | Blank | . | Blank | . |
- Data record:
Field1
|
Field2
|
Field3
|
Field4
|
Field5
|
Field6
|
Bound type | Bound name | Column name | Bound for the column | Blank | Blank |
Notes:
- If you do not specify any bound for a column, then the upper bound is for a continuous variable, and 1 for an integer variable, that is specified in the COLUMNS section. The lower bound is 0 by default.
- General bound types
include LO, UP, FX, FR, MI, and PL.
Suppose the bound for a column identified in field3 is specified as in field4. Table 14.2 explains the effects of different bound types.
Table 14.2: Bound Type Rules
Bound Type
|
Ignore
|
Resultant Lower Bound
|
Resultant Upper Bound
|
LO | No | | unspecified |
UP | No | unspecified | |
FX | No | | |
FR | Yes | | |
MI | Yes | | unspecified |
PL | Yes | unspecified | |
If a bound (lower or upper) is not explicitly specified, then it takes the default values according to Note 1. There is one exception: if the upper bound is specified as a negative value (
) and the lower bound is unspecified, then the lower bound is set to
.
Mixed integer programming problems can specify integer variables in the BOUNDS section. Table 14.3 shows bound types defined for MIP.
Table 14.3: Bound Type Rules
Bound Type
|
Ignore
|
Variable Type
|
Value
|
BV | Yes | binary | 0 or 1 |
LI | No | integer | |
UI | No | integer | |
The columns that have bounds do not need to be specified in the same order in which the columns were specified in the COLUMNS section. However, all columns in the BOUNDS section should be defined in the COLUMNS section.
It is possible to specify multiple bound vectors, which are labeled by different bound names. Normally, the first bound vector encountered in the BOUNDS section is used, and all other bound vectors are discarded. All the elements of the selected bound vector must be specified before other bound vectors are introduced.
When data records in a sequence have an identical value in field2, you can specify the value in the first occurrence and omit the value by giving a missing value in the other records. If the value in field2 of the first data record in the section is missing, it means the name of the first vector is the missing value.
Within a particular BOUNDS vector, for a given column, if a bound (lower or upper) is explicitly specified by the bound type rules listed in Table 14.2, any other specification is considered to be an error.
If the value in field1 is LO, UP, FX, LI, or UI, then a data record with a missing value in field4 is ignored
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.