XPRSloadmipsol
XPRSloadmipsol |
Purpose
Loads a MIP solution for the problem into the Optimizer.
Synopsis
int XPRS_CC XPRSloadmipsol(XPRSprob prob, const double dsol[], int *status);
Arguments
prob
|
The current problem.
|
dsol
|
Double array of length
COLS (for the original problem and not the presolve problem) containing the values of the variables.
|
status
|
Pointer to an
int where the status will be returned. The status is one of:
|
-1
|
Solution rejected because an error occurred;
|
0
|
Solution accepted. When loading a solution before a MIP solve, the solution is always accepted. See Further Information below.
|
1
|
Solution rejected because it is infeasible;
|
2
|
Solution rejected because it is cut off;
|
3
|
Solution rejected because the LP reoptimization was interrupted.
|
Example
This example loads a problem and then loads a solution found previously for the problem to help speed up the MIP search:
XPRSreadprob(prob,"problem",""); XPRSloadmipsol(prob,dsol,&status); XPRSmipoptimize(prob,"");
Further information
1. When a solution is loaded before a MIP solve, the solution is simply placed in temporary storage until the MIP solve is started. Only after the MIP solve has commenced and any presolve has been applied, will the loaded solution be checked and possibly accepted as a new incumbent integer solution. There are no checks performed on the solution before the MIP solve and the returned status in
XPRSloadmipsol will always be
0 for accepted.
2. Solutions can be loaded during a MIP solve using the optnode callback function. Any solution loaded this way is immediately checked and the returned status will be one of the values
0 through
3.
3. Loaded solution values will automatically be adjusted to fit within the current problem bounds.
Related topics