Initializing help system before first use

# XPRSfixmipentities (FIXMIPENTITIES)

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
Problem Modification, MIP Entities
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 as well as partial integers should be kept in the problem with only the non-convex decisions (i.e. which part of a non-convex piecewise linear function, which variable attains a maximum or the integer part of the partial integer) fixed. Otherwise all variables appearing in piecewise linear or general constraints and all partial integers 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 as well as partial integers and only fix their non-convex decisions (see bit 1 above).

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
XPRSmipoptimize ( MIPOPTIMIZE).
Parent Topic Console and Library Functions

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