Starting from an Advanced Basis
As another performance improvement, consider starting from an advanced basis. (The primal simplex, dual simplex, and network optimizers can start optimizing from an advanced basis if one is available; the primal-dual ILOG CPLEX Barrier Optimizer does not start from an advanced basis.) If you can start from an advanced basis, then ILOG CPLEX may iterate significantly fewer times, particularly if your current problem is similar to a problem that you have solved previously. Even when problems are different, starting from an advanced basis may still help performance. For example, if your current problem is composed of several smaller problems, an optimal basis from one of the component problems may significantly speed up solution of the larger problem.
Note that if you are solving a sequence of LP models all within one run, by entering a model, solving it, modifying the model, and solving it again, under default settings the advanced basis will be used for the last of these steps automatically.
In other cases, you can communicate the final basis from one run to the start of the next by first saving the basis to a file before the end of the first run.
To save the basis of the optimized problem to a file:
To read an advanced basis from a saved file into the Interactive Optimizer, follow these steps:
Similarly, when using the Component Libraries, set the parameter IloCplex::AdvInd
or CPX_PARAM_ADVIND
, to 1
and call the method Ilocplex.importModel()
or the routine
CPXreadcopybase
().