ILOG CPLEX 11.0 File Formats > > ILOG CPLEX File Formats > MPS File Format: Industry Standard > Integer Variables in MPS Files

If you use the ILOG CPLEX mixed integer optimizer, then you may restrict any or all variables to integer values. ILOG CPLEX accepts two commonly used ways of extending the MPS file format to include integer variables: in the COLUMNS section or in the BOUNDS section.

In the first way, integer variables are identified within the COLUMNS section of the MPS file by marker lines. A marker line is placed at the beginning and end of a range of integer variables. Multiple sets of marker lines are allowed. Integer marker lines have a field format consisting of Fields 2 through 4.

Field 2: Marker name
Field 3: 'MARKER' (including the single quotation marks)
Field 4: Keyword 'INTORG' and 'INTEND' to mark beginning and end respectively (including the single quotation marks)
Fields 5 and 6 are ignored.

The marker name must differ from the preceding and succeeding column names.

If no bounds are specified for the variables within markers, bounds of 0 (zero) and 1 (one) are assumed.

In the following example, column x4 is an integer variable and looks like this in the COLUMNS section of an MPS file, according to this first way of treating integer variables:

NAME
ROWS
 N  obj     
 L  c1      
 L  c2      
 E  c3      
COLUMNS
    x1        obj                 -1   c1                  -1
    x1        c2                   1
    x2        obj                 -2   c1                   1
    x2        c2                  -3   c3                   1
    x3        obj                 -3   c1                   1
    x3        c2                   1
    MARK0000  `MARKER'                 `INTORG'
    x4        obj                 -1   c1                  10
    x4        c3                -3.5
    MARK0001  `MARKER'                 `INTEND'
RHS
    rhs       c1                  20   c2                  30
BOUNDS
 UP BOUND     x1                  40
 LO BOUND     x4                   2
 UP BOUND     x4                   3
ENDATA

In the second way of treating integer variables, integer variables are declared in the BOUNDS section with special bound types in Field 1. The acceptable special bound types appear in Table 4.

Table 4 Special bound types for handling integer variables in MPS files
Type 
Purpose 
Special Considerations 
BV 
Binary variable 
Field 4 must be 1.0 or blank 
LI 
Integer lower bound 
Field 4 is the lower bound value and must be an integer 
SC 
Semi-continuous variable 
Field 4 is the upper bound and must be specified 
UI 
Integer upper bound 
Field 4 is the upper bound value and must be an integer 

To specify general integers with no upper bounds, use LI with the value 0.0.

For example, column x4 is an integer variable declared in the BOUNDS section of an MPS file, according to this second way of treating integer variables:

NAME
ROWS
 N  obj     
 L  c1      
 L  c2      
 E  c3      
COLUMNS
    x1        obj                 -1   c1                  -1
    x1        c2                   1
    x2        obj                 -2   c1                   1
    x2        c2                  -3   c3                   1
    x3        obj                 -3   c1                   1
    x3        c2                   1
    x4        obj                 -1   c1                  10
    x4        c3                 -3.5
RHS
    rhs       c1                  20   c2                  30
BOUNDS
 UP BOUND     x1                  40
 LI BOUND     x4                   2
 UI BOUND     x4                   3
ENDATA