Modifying and Reoptimizing

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 we have been performing modification operations on models all along. Each time we add an extractable to a model we are changing 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 extractables occurs, the change is notified to the IloCplex objects that extracted the model. 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 method solve() is invoked, with the aim of making subsequent solves go faster.


Previous Page: Reading a Problem from a File: Example ilolpex2.cpp  Return to Top Next Page: Modifying an Optimization Problem: Example ilolpex3.cpp