The objective function and the constraints are treated in the same way in the COLUMNS section, which defines their non-zero terms.

In a COLUMNS data line, field 1 contains a variable name, field 2 contains a row name, and field 3 contains a floating point number; additional row name, number pairs may follow on fields 4 and 5, fields 6 and 7, etc. The QSopt parser adds a term ( number * variable ) to the specified row for each row name, number pair.

The comment lines in the following MPS file excerpt interpret the COLUMNS data lines. Note that the second and third COLUMNS data lines both define the term -5v2 for r1's constraint expression. The QSopt parser adds both terms so that r1's expression becomes -5v2 -5v2 or -10v2.

           ROWS
              N obj
              L r1
              L r2
           COLUMNS
           *  add term: 1.5v1 to objective 
              v1  obj 1.5 
           *  add term  2.25v2  to objective and  
           *            -5v2    to r1        and 
           *            -2.75v2 to r2
              v2  obj 2.25  r1 -5  r2 -2.75 
           *  add another term  -5v2 to r1
              v2  r1 -5

See also MPS format definition and MPS format sections.