relative MIP gap tolerance

Sets a relative tolerance on the gap between the best integer objective and the objective of the best node remaining.

Purpose

Relative MIP gap tolerance

API Parameter Name Name prior to V12.6.0
C CPXPARAM_MIP_Tolerances_MIPGap CPX_PARAM_EPGAP
C++ IloCplex::Param::MIP::Tolerances::MIPGap EpGap (double)
Java IloCplex.Param.MIP.Tolerances.MIPGap EpGap (double)
.NET Cplex.Param.MIP.Tolerances.MIPGap EpGap (double)
OPL epgap epgap
Python parameters.mip.tolerances.mipgap mip.tolerances.mipgap
Interactive mip tolerances mipgap mip tolerances mipgap
Identifier 2009 2009

Description

When the value

|bestbound-bestinteger|/(1e-10+|bestinteger|)

falls below the value of this parameter, the mixed integer optimization is stopped.

For example, to instruct CPLEX to stop as soon as it has found a feasible integer solution proved to be within five percent of optimal, set the relative MIP gap tolerance to 0.05.

Given the above value (or any other suitable metric) used to assess the relative gap, a few situations require careful assessment of whether this metric is the most suitable one for controlling when to terminate the MIP optimization. First, for a MIP where the best node and best integer value have opposing signs, the gap may not move monotonically. Once the signs of these two values are the same, monotonicity of the gap will occur. With opposing signs, consider adding a constant term to the objective so that the best bound value starts at zero and always has the same sign as the best integer. However, keep in mind that, more generally, adding large constant terms to the objective can alter the point in the mixed integer optimization at which the relative MIP gap is satisfied. In such cases, the absolute MIP gap or other termination criteria may be more useful.

Values

Any number from 0.0 to 1.0; default: 1e-04.