FRAMES NO FRAMES

Enumeration IlcFilterLevel

Definition file: ilsolver/basic.h
Include file: <ilsolver/ilosolver.h>

The values in this enumeration control how much propagation is carried out.

Functions (such as IlcAllDiff, IlcAllMinDistance, IlcAllNullIntersect, IlcDistribute, IlcPartition, IlcSequence, for example) that return a constraint generally have two signatures: one without IlcFilterLevel as a parameter, one with IlcFilterLevel as an optional parameter. When you choose the signature without IlcFilterLevel as a parameter, then Solver uses the default filter level for that type of constraint to propagate the constraint returned by the function. The default filter level depends on the type of constraint. Types of constraints are defined by the enumeration IlcFilterLevelConstraint.

It is possible for you to change the default filter level globally by means of the member function IloSolver::setDefaultFilterLevel.

When you explicitly pass a filter level as a parameter to one of these functions, then you effectively mask the default filter level.

It is also possible to change the filter level yourself for a given constraint. You do so by means of the member function IloSolver::setFilterLevel.

In changing a filter level yourself, you can increase the filter level during a search, but you cannot decrease the filter level during a search. An attempt to decrease the filter level during a search will result in an error raising an exception

See Also:

Fields

IlcLow = 0L 
IloLowLevel = 0L 
IlcBasic = 1L 
IloBasicLevel = 1L 
IlcMedium = 2L 
IloMediumLevel = 2L 
IlcExtended = 3L 
IloExtendedLevel = 3L