Constraint aggregation

CP Optimizer may aggregate constraints to improve the efficiency of propagation.

The CP Optimizer engine may sometimes preprocess the model in order to improve the efficiency of the propagation engine.

The optimizer may aggregate constraints by reducing some groups of basic constraints into less basic ones. By doing this, the propagation algorithm may be able to achieve more domain reduction. For example, if the model has a set of inequality constraints, the engine may work to combine some of these into an all different constraint.

The constraint aggregator is on by default. It can be turned off by setting the value of the aggregator parameter to “Off”.

In the C++ API, the parameter is IloCP::ConstraintAggregation and the value IloCP::Off.

For the Java™ API, the aggregator parameter is IloCP.IntParam.ConstraintAggregation and the value is IloCP.ParameterValues.Off.

For the C# API, the aggregator parameter is CP.IntParam.ConstraintAggregation and the value is CP.ParameterValues.Off.