Starting from a Solution

You can provide a known solution (for example, from a MIP problem previously solved or from your knowledge of the problem) to serve as the first integer solution. In such a start, you must specify values for all integer variables, for all semi-continuous variables, and for all members of special ordered sets. Optionally, you may also specify values for continuous variables. ILOG CPLEX evaluates that start solution for integrality and feasibility. If it is integer-feasible, it will become an integer solution of the current problem.

Once a MIP Start has been established for your model, its use is controlled by the MIPStart parameter. At its default setting of 0, the MIP Start values are not used, but you can direct ILOG CPLEX to evaluate the MIP Start values by setting the MIPStart parameter to 1.

You can establish MIP starting values by using the method setVectors() in a Concert program, or by using CPXcopymipstart() in a Callable Library program.

For Interactive Optimizer usage, or as an alternative approach in a Callable Library program, you can establish MIP starting values from a file. MST format (described briefly in Understanding File Formats or documented in the ILOG CPLEX Reference Manual) is used for this purpose. Use CPXreadcopymipstart() in the Callable Library, or the "read" command in the Interactive optimizer, for this purpose.

At the end of a MIP optimization call, when a feasible (not necessarily optimal) solution is still in memory, you can create an MST file from the Callable Library using CPXmstwrite(), or from the Interactive Optimizer using the write command, for later use as starting values to another MIP problem. Care should be taken to assure that the naming convention for the variables is consistent between models, when this approach is used.


Previous Page: Preprocessing: Presolver and Aggregator  Return to Top Next Page: Priority Orders