loadmipsol
Purpose
Synopsis
function loadmipsol(s:array(set of mpvar) of real):integer
function loadmipsol(solnum:integer):integer
function loadmipsol(ms:mpsol):integer
Arguments
|
s
|
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
|
|
0
|
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. |
|
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
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-2023 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.
