loadmipsol
| 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
     | 
| 
     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
 
 
