MST file format: MIP starts

The MST file format supports MIP starts.

If you use the CPLEX MIP optimizer, the MST file format is available to specify MIP start values for particular variables, most commonly the integer variables. MST files are of the same format as SOL files. While SOL files have values for all variables, MST files written by CPLEX at the default write level of detail have values only for the integer variables and members of special ordered sets (SOS); at higher write levels of detail, MST files may also contain both discrete and continuous variables. For more information about the write level for MST, SOL files, see the CPLEX Parameters Reference Manual.

MST file format also supports MIP starts from members of the solution pool. See Using solutions from the solution pool in the User's Manual to see how to use members of the solution pool as MIP starts. See details about the methods documented in their respective reference manuals.
  • C++ API IloCplex::writeMIPStarts
  • Java API IloCplex.writeMIPStarts
  • .NET API Cplex.WriteMIPStarts
  • Python APIcplex.writemipstarts
  • Callable Library (C API) routine CPXXwritemipstarts and CPXwritemipstarts
To display names of MIP starts in the Interactive Optimizer, use the command:

display auxiliary mipstarts
That command shows the names of MIP starts known to CPLEX. Indexing of these MIP starts begins with 1 (one).

CPLEX uses the start values in an MST file only if the advanced indicator parameter is on (that is, set to 1 (one) its default).

  • In the C++ API, use the method IloCplex::setParam(IloCplex::Param::Advance, 1).

  • In the Java API, use the method IloCplex.setParam(IloCplex.Param.Advance, 1.

  • In the .NET API, set the property Cplex.SetParam(Cplex.Param.Advance, 1).

  • In the Python API, use the method cplex.parameters.advance.set(cpx.parameters.advance.values.standard).

  • In the Callable Library, use the routine CPXXsetintparam and CPXsetintparam with these arguments: CPXXsetintparam(env, CPXPARAM_Advance, 1).

  • In the Interactive Optimizer, use the command set advance 1.

By default, the encoding of MST file format is UTF-8.

Here is an example of an MST file:


<?xml version = "1.0" encoding="UTF-8" standalone="yes"?>
<CPLEXSolutions version="1.2">
 <CPLEXSolution version="1.2">
  <header
    problemName="mexample.mps"
    solutionName="m1"
    solutionIndex="0"
    MIPStartEffortLevel="0"
    writeLevel="2"/>
  <variables>
   <variable name="x4" index="3" value="3"/>
  </variables>
 </CPLEXSolution>
</CPLEXSolutions>