ILOG CPLEX .NET Reference Manual

Cplex.RefineConflict Method (IConstraint[], Double[])

Refines a conflict from an array of constraints.

public virtual bool RefineConflict(
   IConstraint[] cons,
   double[] prefs
);

Parameters

cons

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.

prefs

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.

Return Value

A Boolean value indicating whether a conflict has been found.

Remarks

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.

See Also

Cplex Class | ILOG.CPLEX Namespace | Cplex.RefineConflict Overload List