Purpose
Fixes all the
MIP entities to the values of the last found MIP solution. This is useful for finding the
reduced costs for the continuous variables after the integer variables have been fixed to their optimal values.
Topic areas
Synopsis
int XPRS_CC XPRSfixmipentities(XPRSprob prob, int options);
FIXMIPENTITIES [-flags]
Arguments
prob
|
The current problem.
|
options
|
Options how to fix the MIP entities.
Bit
|
Meaning
|
0
|
If all MIP entities should be rounded to the nearest discrete value in the solution before being fixed.
|
1
|
If piecewise linear and general constraints should be kept in the problem with only the non-convex decisions (i.e. which part of a non-convex piecewise linear function or which variable attains a maximum) fixed. Otherwise all variables appearing in piecewise linear or general constraints will be fixed.
|
|
flags
|
Flags to pass to FIXMIPENTITIES:
r
|
round all MIP entities to the nearest feasible value in the solution before being fixed;
|
t
|
keep piecewise linear and general constraints and only fix their non-convex decisions.
|
|
Example 1 (Library)
This example performs a tree search on problem
myprob and then uses
XPRSfixmipentities before solving the remaining linear problem:
XPRSreadprob(prob,"myprob","");
XPRSmipoptimize(prob," ");
XPRSfixmipentities(prob, 1);
XPRSlpoptimize(prob," ");
XPRSwriteprtsol(prob);
Example 2 (Console)
A similar set of commands at the console would be as follows:
READPROB
MIPOPTIMIZE
FIXMIPENTITIES -r
LPOPTIMIZE
PRINTSOL
Further information
1. Because of tolerances, it is possible for e.g. a binary variable to be slightly fractional in the MIP solution, where it might have the value
0.999999 instead of being at exactly
1.0. With
ifround = 0, such a binary will be fixed at
0.999999, but with
ifround = 1, it will be fixed at
1.0.
2. This command is useful for inspecting the reduced costs of the continuous variables in a matrix after the MIP entities have been fixed.
Sensitivity analysis can also be performed on the continuous variables in a MIP problem using
XPRSrhssa,
XPRSobjsa or
XPRSbndsa after calling
XPRSfixmipentities (
FIXMIPENTITIES).
3. For nonlinear problems, one can set the initial point to the solution returned by the MIP search (via
XPRSnlpsetcurrentiv) and then call
XPRSfixmipentitiesand reoptimize the problem using a local solver (
XPRSnlpoptimize). to obtain an approximation of the dual values
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.