Parameters affecting cuts
Summarizes parameters controlling cuts.
Parameters control the way each class of cuts is used. Those parameters are listed in the table Parameters for controlling cuts.
| Cut Type | Interactive Command | Concert Technology | Callable Library | Parameter Reference |
|---|---|---|---|---|
| Boolean Quadric Polytope (BQP) | set mip cuts bqp |
MIP.Cuts.BQP |
CPXPARAM_MIP_Cuts_BQP |
Boolean Quadric Polytope cuts |
| Clique | set mip cuts cliques |
MIP.Cuts.Cliques |
CPXPARAM_MIP_Cuts_Cliques |
MIP cliques switch |
| Cover | set mip cuts covers |
MIP.Cuts.Covers |
CPXPARAM_MIP_Cuts_Covers |
MIP covers switch |
| Disjunctive | set mip cuts disjunctive |
MIP.Cuts.Disjunctive |
CPXPARAM_MIP_Cuts_Disjunctive |
MIP disjunctive cuts switch |
| Flow Cover | set mip cuts flowcovers |
MIP.Cuts.FlowCovers |
CPXPARAM_MIP_Cuts_FlowCovers |
MIP flow cover cuts switch |
| Flow Path | set mip cuts pathcut |
MIP.Cuts.PathCut |
CPXPARAM_MIP_Cuts_PathCut |
MIP flow path cut switch |
| Gomory | set mip cuts gomory |
MIP.Cuts.Gomory |
CPXPARAM_MIP_Cuts_Gomory |
MIP Gomory fractional cuts switch |
| GUB Cover | set mip cuts gubcovers |
MIP.Cuts.GUBCovers |
CPXPARAM_MIP_Cuts_GUBCovers |
MIP GUB cuts switch |
| Globally Valid Implied Bound | set mip cuts implied |
MIP.Cuts.Implied |
CPXPARAM_MIP_Cuts_Implied |
MIP globally valid implied bound cuts switch |
| Locally Valid Implied Bound | set mip cuts localimplied |
MIP.Cuts.LocalImplied |
CPXPARAM_MIP_Cuts_LocalImplied |
MIP locally valid implied bound cuts switch |
| Lift and Project | set mip cuts liftproj |
MIP.Cuts.LiftProj |
CPXPARAM_MIP_Cuts_LiftProj |
Lift-and-project cuts switch for MIP and MIQCP |
| Mixed Integer Rounding (MIR) | set mip cuts mircut |
MIP.Cuts.MIRCut |
CPXPARAM_MIP_Cuts_MIRCut |
MIP MIR (mixed integer rounding) cut switch |
| Multi-commodity Flow | set mip cuts mcfcut |
MIP.Cuts.MCFCut |
CPXPARAM_MIP_Cut_MCFCut |
MCF cut switch |
| Reformulation Linearization Technique (RLT) | set mip cuts rlt |
MIP.Cuts.RLT |
CPXPARAM_MIP_Cuts_RLT |
Reformulation Linearization Technique (RLT) cuts |
| Zero-Half | set mip cuts zerohalfcut |
MIP.Cuts.ZeroHalfCut |
CPXPARAM_MIP_Cuts_ZeroHalfCut |
MIP zero-half cuts switch |
The default value of each of those parameters is 0 (zero). By default, CPLEX automatically decides
how often (if at all) it should try to generate that class of cut.
A setting of -1 specifies that no cuts of
the class should be generated; a setting of 1 specifies
that cuts of the class should be generated moderately; and a setting
of 2 specifies that cuts of the class should
be generated aggressively. For clique cuts, cover cuts, disjunctive
cuts, local implied bound cuts, as well as lift and project cuts,
a setting of 3 is permitted. This setting specifies that this
type of cut should be generated very aggressively.
In the Interactive Optimizer, the command set mip cuts all i applies
the value i to all types of cut parameters.
That is, you can set them all simultaneously.
The cut factor row-multiplier limit
(CutsFactor, CPXPARAM_MIP_Limits_CutsFactor) parameter controls
the number of cuts CPLEX adds to the model.
The constraint aggregation limit for cut generation
(AggForCut, CPXPARAM_MIP_Limits_AggForCut) parameter controls
the number of constraints allowed to be aggregated for generating
MIR and flow cover cuts.
The pass limit for generating Gomory fractional cuts
(GomoryPass, CPXPARAM_MIP_Limits_GomoryPass) parameter controls
the number of passes for generating Gomory fractional cuts. This parameter
will not have any effect if the parameter for set
mip cuts gomory has a nondefault value.
The candidate limit for generating Gomory fractional cuts
(GomoryCand, CPXPARAM_MIP_Limits_GomoryCand) parameter controls
the number of variable candidates to be considered for generating
Gomory fractional cuts.
The number of cutting plane passes
parameter (CutPass, CPXPARAM_MIP_Limits_CutPass) sets the upper
limit on the number of cutting plane passes that CPLEX performs when it solves the
root node of a MIP model. The value -1 (that is, negative one)
disables cut separation and may be a more
convenient way for you to turn off all cuts than for you to set them individually.
The node cuts switch
(CPXPARAM_MIP_Cuts_Nodecuts) parameter allows you to control the effort that CPLEX
should spend in separating cutting planes at the tree nodes of the branch-and-bound tree. In
particular, setting the value of this parameter to -1 (that is, negative one) completely disables
the separation of cutting planes in the tree, but it has no impact on the cut separation applied at
the root node.