Initializing help system before first use

XPRSloadmipsol

Purpose
Loads a starting MIP solution for the problem into the Optimizer.
Topic areas
Synopsis
int XPRS_CC XPRSloadmipsol(XPRSprob prob, const double x[], int *p_status);
Arguments
prob 
The current problem.
Double array of length COLS (for the original problem and not the presolve problem) containing the values of the variables.
p_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.
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,x,&status);
XPRSmipoptimize(prob,"");
Further information
1. When a solution is loaded, 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.
4. This function cannot be called while the current problem is being solved or when it is in an interrupted state. Use XPRSpostsolve to restore the problem to a non-solving state.
Related topics

© 2001-2025 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.