coefficient reduction setting

Decides how coefficient reduction is used.

Purpose

Coefficient reduction setting

API Parameter Name Name prior to V12.6.0
C CPXPARAM_Preprocessing_CoeffReduce CPX_PARAM_COEREDIND
C++ IloCplex::Param::Preprocessing::CoeffReduce CoeRedInd (int)
OPL coeredind
Interactive preprocessing coeffreduce preprocessing coeffreduce
Identifier 2004 2004

Description

Decides how coefficient reduction is used. Coefficient reduction improves the objective value of the initial (and subsequent) LP relaxations solved during branch and cut by reducing the number of non-integral vertices. By default, CPLEX applies coefficient reductions during preprocessing of a model.

The value 0 (zero) turns off coefficient reduction during preprocessing.

The value 1 (one) applies limited coefficient reduction to achieve only integral coefficients.

The value 2, applies coefficient reduction somewhat more aggressively, reducing all coefficients that can be reduced.

The value 3, the most aggressive setting of this parameter, applies a technique known as tilting. Tilting can cut off additional fractional solutions in some models. Cutting off these fractional solutions potentially yields more progress in both the best node and best integer solution in those particular models.

Tip:

Tilting means to replace one row of a model with another such that an integer vector is feasible in the new row if and only if the integer vector was feasible in the original row. In contrast to a dominating row, the LP region for a tilted row can contain fractional points that are excluded by the LP region of the original row and the bounds of the variables. But, the aim is to tilt the row in such a way that it gets tighter in those areas of the LP polyhedron that are not already covered by other constraints.

Value Meaning
-1 Automatic: let CPLEX decide; default
0 Do not use coefficient reduction
1 Reduce only to integral coefficients
2 Reduce all potential coefficients
3 Reduce aggressively with tilting