Refines a conflict from an array of constraints.
An array of constraints. They may be IRange
or IAnd
constructs on a set of ranges. Only constraints directly added to the model can be specified. If a constraint does not appear in this array, the constraint is assigned a default preference value of 0 (zero). As a consequence, such constraints are included in the conflict without any analysis.
An array of integers containing the preferences for the groups or constraints. prefs[i]
specifies the preference for the group or constraint i
. A negative value indicates that the corresponding group or constraint should not be considered for finding a conflict. In other words, such groups are considered not to be part of the model. Groups with a preference of 0 (zero) are always considered to be part of the conflict. No further checking is performed on such groups.
A Boolean value indicating whether a conflict has been found.
The method Cplex.RefineConflict
tries to compute a minimal conflict for the infeasibility of the current model or for a subset of the constraints of the current model. If this computation is successful, (that is, it runs to completion; it is not interrupted by the user's application nor limited by a user-specified restriction of time or other resources) the conflict can be accessed by means of the method getConflict
as a minimal set of constraints that are still infeasible. Removal of any of these constraints will remove that particular cause for infeasibility. However, if other infeasible sets still exist in the model, then that removal from the model of any of the constraints in the returned set does not guarantee feasibility of the remaining model.
Constraints may be considered in groups organized by IAnd
constructed with ILOG.Concert.IMPModeler.And
. If any constraint in a group participates in the conflict, the entire group is determined to do so. No further detail about the constraints within that group is returned.
A group or constraint may be assigned a preference. A constraint with a higher preference is more likely to be included in the conflict. However, no guarantee is made when a conflict is returned that other infeasible sets containing groups or constraints with a higher preference may exist.
Cplex Class | ILOG.CPLEX Namespace | Cplex.RefineConflict Overload List