Initializing help system before first use

XPRSloadmipsol

XPRSloadmipsol


Purpose
Loads a starting 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;
Solution accepted. When loading a solution before a MIP solve, the solution is always accepted. See Further Information below.
Solution rejected because it is infeasible;
Solution rejected because it is cut off;
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 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. Loaded solution values will automatically be adjusted to fit within the current problem bounds.
3. It is recommended to use XPRSaddmipsol instead of XPRSloadmipsol. XPRSaddmipsol can be called both before a solve, to load a starting solution, and during a MIP solve, to load new solutions within callbacks. XPRSaddmipsol also allows for loading of infeasible or partial solutions and comes with a callback to check the status of loaded solutions.
Related topics

© 2001-2020 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.