IloObject | +--IloOplConflictIterator
There are two important things to be noted about conflict iterators: The first thing is that conflicts are computed in a lazy way. This means that a conflict is only computed once you try to print it or iterate over it.
The second thing is that conflicts are cached. If you modify the model for
which a conflict was computed then the cached conflict is not
deleted. In order to delete a cached conflict you should call
recalculate.
An example of refining a conflict is provided with your installation. See: <Install_dir>\opl\examples\opl\conflictIterator\conflictIterator.mod
| Field Attributes | Field Name and Description |
|---|---|
| flow control (read only) |
Provides access to the conflicting
IloConstraint if it is a constraint. |
| flow control (read only) |
Provides access to the conflict status property of the current conflict, either
ConflictPossibleMember or ConflictMember. |
| Method Attributes | Method Name and Description |
|---|---|
| flow control |
attach(cts, prefs)
Attaches a constraint array to a preference array.
|
| flow control |
Clears previously attached constraints.
|
| flow control |
Excludes the current conflict and finds the next one.
|
| flow control |
Prints the conflicting constraints found in an infeasible model to a string.
|
| flow control |
Clears any cached conflict and forces recomputation of the conflict.
|
| end |
IloConstraint if it is a constraint.
ConflictPossibleMember or ConflictMember.
Allows iteration over more conflicts. The currently conflicting constraints will be excluded from the next conflict refinement.