MPS (.mps)

Background & Context

    • MPS mathematical file format.
    • De facto standard for specifying linear programming (LP) problems.
    • Commonly used as input format by LP solvers.
    • MPS is an acronym for Mathematical Programming System.
    • Plain text ASCII format, sometimes compressed as binary.
    • Stores data in a fixed-width tabular form.
    • Developed in the 1970s at IBM.


  • Import["file.mps"] imports an MPS file, returning an expression representing an optimization problem.
  • Import["file.mps"] returns a list of objective functions and constraints in a form suitable as input for NMinimize.
  • Import["file.mps",elem] imports the specified element from an MPS file.
  • Import["file.mps",{elem,suba,subb,}] imports a subelement.
  • Import["file.mps",{{elem1,elem2,}}] imports multiple elements.
  • The import format can be specified with Import["file", "MPS"] or Import["file",{"MPS",elem,}].
  • See the reference pages for full general information on Import.
  • ImportString supports the MPS format.

Import Elements

  • General Import elements:
  • "Elements"list of elements and options available in this file
    "Rules"full list of rules for each element and option
    "Options"list of rules for options, properties, and settings
  • Data representation elements:
  • "Equations"list of objective functions and constraints
    "LinearProgrammingData"vectors and matrices representing a linear program
    "ConstraintMatrix"matrix describing the constraints of a linear programming problem
  • Import uses the "Equations" element by default.


  • Import options:
  • "FreeFormat"Falsewhether data fields are loosely or strictly aligned in the file
    "EMPS"Falsewhether the file is compressed


Basic Examples  (3)

Get a list of Import elements from an MPS file:

Read an MPS file as a list of objective functions and constraints that is an expression suitable for NMinimize:

Use it as input for NMinimize:

Read MPS data in a form suitable as input for LinearProgramming:

Use it as input for LinearProgramming:

Import and plot the constraint matrix of the previous example: