The MPS-Format SAS Data Set


COLUMNS Section

Subsections:

The COLUMNS section defines the column (i.e., variable or decision variable) names of the problem. It also specifies the coefficients of the columns for each row.

  • Indicator record:

    Field1

    Field2

    Field3

    Field4

    Field5

    Field6

    COLUMNS

    Blank

    Blank

    .

    Blank

    .

  • Data record:

    Field1

    Field2

    Field3

    Field4

    Field5

    Field6

    Blank

    Column name (e.g., col)

    Row name (e.g., rowi)

    Matrix element in row rowi, column col

    Row name (e.g., rowj)

    Matrix element in row rowj, column col

Notes:

  1. All elements belonging to one column must be grouped together.

  2. A missing coefficient value is ignored. A data record with missing values in both field4 and field6 is ignored.

  3. Duplicate entries in each pair of column and row are not allowed.

  4. When a sequence of data records 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. The value in field2 of the first data record in the section cannot be missing.

Mixed Integer Programs

Mixed integer programming (MIP) problems require you to specify which variables are constrained to be integers. Integer variables can be specified in the COLUMNS section with the use of special marker records in the following form:

Field1

Field2

Field3

Field4

Field5

Field6

Blank

Marker name

'MARKER' (including the quotation marks)

.

'INTORG' or 'INTEND' (including the quotation marks)

.

A marker record with field5 that contains the value 'INTORG' indicates the start of integer variables. In the marker record that indicates the end of integer variables, field5 must be 'INTEND'. An alternative way to specify integer variables without using the marker records is described in the section BOUNDS Section (Optional).

Notes:

  1. INTORG and INTEND markers must appear in pairs in the COLUMNS section. The marker pairs can appear any number of times.

  2. The marker name in field2 should be different from the preceding and following column names.

  3. All variables between the INTORG and INTEND markers are assumed to be binary unless you specify a different lower bound and/or upper bound in the BOUNDS section.