Modifying and re-optimizing
CPLEX offers means to modify the model and re-optimize, using available information from previous optimizations.
In many situations, the solution to a model is only the first step. One of the important features of Concert Technology is the ability to modify and then re-solve the model even after it has been extracted and solved one or more times.
A look back to examples ilolpex1.cpp and ilolpex2.cpp reveals that models have been modified
all along. Each time an extractable object is added to a model, it
changes the model. However, those examples made all such changes before
the model was extracted to CPLEX.
Concert Technology maintains a link between the model
and all IloCplex
objects that may have extracted it. This link is known as notification.
Each time a modification of the model or one of its extractable objects
occurs, the IloCplex objects that extracted
the model are notified about the change. They then track the modification
in their internal representations.
Moreover, IloCplex
tries to maintain as much information from a previous solution as
is possible and reasonable, when the model is modified, in order to
have a better start when solving the modified model. In particular,
when solving LPs or QPs with a simplex method, IloCplex attempts
to maintain a basis which will be used the next time the method solve is
invoked, with the aim of making subsequent solves go faster.