ILOG CPLEX 11.0 User's Manual > Discrete Optimization > Solving Mixed Integer Programming Problems (MIP) > Tuning Performance Features of the Mixed Integer Optimizer > Starting from a Solution |
Starting from a Solution |
INDEX PREVIOUS NEXT |
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. When you provide such a starting solution, you may invoke relaxation induced neighborhood search (its RINS heuristic) or solution polishing to improve the given solution. This first integer solution may include continuous and discrete variables of various types, such as semi-continuous variables or those in lazy constraints, linearized constraints, or special ordered sets.
If you specify values for all discrete variables, ILOG CPLEX will check the validity of the values as an integer-feasible solution; if you specify values for only a portion of the discrete variables, CPLEX will attempt to fill in the missing values in a way that leads to an integer-feasible solution. If the specified values do not lead directly to an integer-feasible solution, CPLEX will apply a quick heuristic to try to repair the MIP Start. The number of times that CPLEX applies the heuristic is controlled by the repair tries parameter (RepairTries
in Concert Technology, CPX_PARAM_REPAIRTRIES
in the Callable Library). If this process succeeds, the solution will be treated as an integer solution of the current problem.
After a MIP start has been established for your model, its use is controlled by the advanced indicator parameter (AdvInd
in Concert Technology; CPX_PARAM_ADVIND
in the Callable Library). At its default setting of 1
(one)
, the MIP start values that you specify are used. If you set AdvInd
to the value 0 (zero), then the MIP Start will not be used. If you set this parameter to 2, ILOG CPLEX retains the current incumbent (if there is one), re-applies presolve, and starts a new search from a new root. Setting 2 can be particularly useful for solving fixed MIP models, where a start vector but no corresponding basis is available.
You can establish MIP starting values by using the method setVectors
in a Concert Technology application, or by using CPXcopymipstart
in a Callable Library application.
For Interactive Optimizer use, or as an alternative approach in a Concert Technology or Callable Library application, you can establish MIP starting values from a file. MST format (described briefly in the reference manual ILOG CPLEX File Formats) is used for this purpose. Use the routine CPXreadcopymipstart
in the Callable Library, the method readMIPStart
in Concert Technology, 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 with the routine CPXmstwrite
, from Concert Technology with the method writeMIPStart
, or from the Interactive Optimizer with the write
command, for later use as starting values to another MIP problem. Care should be taken to make sure that the naming convention for the variables is consistent between models when this approach is used.
Copyright © 1987-2007 ILOG S.A. All rights reserved. Legal terms. | PREVIOUS NEXT |