Overview | Group | Tree | Graph | Index | Concepts |
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:
IlcAllDiff, IlcAllMinDistance, IlcAllNullIntersect, IlcDistribute, IlcEqUnion, IlcFilterLevelConstraint, IlcPartition, IlcSequence
Fields |
---|
IlcLow = 0L | |
IloLowLevel = 0L | |
IlcBasic = 1L | |
IloBasicLevel = 1L | |
IlcMedium = 2L | |
IloMediumLevel = 2L | |
IlcExtended = 3L | |
IloExtendedLevel = 3L |