Model changes and the solution pool
Describes model changes and their impact on feasibility of solutions in the solution pool.
When a user modifies a model, for example, by adding constraints
or changing the coefficients of the objective function, the existing
solutions already in the solution pool may or may not be feasible
in terms of the changed model. Therefore, immediately after changing
a model, the user cannot access the solution pool. In fact, if the
user attempts to query the solution pool after changing a model, the
solution pool query routines and methods return an error: CPXERR_NO_SOLNPOOL .
However, the MIP starts constructed from the solutions in the solution pool before the changes to the model may still exist if those MIP starts have not been modified or deleted. If those unmodified MIP starts still exist, they are accessible through these methods and routines:
-
writeMIPStart in the C++ API;
-
writeMIPStart in the Java API;
-
Cplex.WriteMIPStartin the .NET API; -
CPXgetmipstartsandCPXwritemipstartsin the Callable Library (C API).
Moreover, if the advanced start switch (AdvInd, CPX_PARAM_ADVIND)
is set to a value greater than zero, then after the user changes a
model, the next call to MIP optimization or populate tries to process
MIP starts corresponding to members of the solution pool to derive
solutions for the newly changed model.