Initializing help system before first use

loadmipsol

Purpose
Load a MIP solution into the optimizer.
Synopsis
function loadmipsol(s:array(set of mpvar) of real):integer
function loadmipsol(solnum:integer):integer
function loadmipsol(ms:mpsol):integer
Arguments
An array containing the solution
solnum 
Solution number (between 1 and XPRS_enumsols)
ms 
A solution object
Return value
Operation status:
-1 
Solution rejected because an error occurred
Solution accepted. When loading a solution before a MIP solve, the solution is always accepted. It is placed in temporary storage until the MIP solve is started.
Solution rejected because it is infeasible
Solution rejected because it is cut off
Solution rejected because the LP reoptimization was interrupted
Example
The following saves a MIP solution, modifies the problem, and then loads it into the Optimizer, reloading the MIP solution:
declarations
 MinCost:linctr
 mysol: array(set of mpvar) of real
 result: integer
end-declarations

savemipsol(mysol)
 ...                       ! Make some changes
loadprob(MinCost)
result:= loadmipsol(mysol)
if result<>0 then writeln("Loading MIP solution failed"); end-if
minimize(MinCost)
Further information
1. This function loads a MIP solution into the optimizer that has previously been saved using procedure savemipsol or constructed by some external heuristic. In the latter case a value needs to be assigned to each discrete variable in the problem, such as mysol(x):= 1 (where x is a decision variable of type mpvar).
2. The values for the continuous variables in the s array are ignored and are calculated by fixing the integer variables and reoptimizing.
3. The second form of the routine can be called after a search for n-best solutions has been performed by the optimiser: the selected solution is used as input.
4. The current problem definition must be loaded into the Optimizer for loadmipsol to have any effect. If this has not recently been done, e.g., by calling maximize or minimize, the problem must be explicitly loaded using loadprob.
5. If the MIP solution is accepted by the Optimizer it causes the MIPABSCUTOFF control to be set accordingly. The provided MIP solution may help guiding the MIP heuristics but the branch-and-bound search will start from the initial LP relaxation solution as usual.
Related topics
Module

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