public class PropXplusYeqZ extends Propagator<IntVar>A propagator to ensure that X + Y = Z holds, where X, Y and Z are IntVar. This propagator ensures AC when all variables are enumerated, BC otherwise.
- Charles Prud'homme
All Methods Instance Methods Concrete Methods Modifier and Type Method Description
explain(ExplanationForSignedClause explanation, ValueSortedMap<IntVar> front, Implications ig, int p)Clausal explanation for this cause.
thisis entailed according to the current state of its internal structure.
propagate(int evtmask)Call the main filtering algorithm to apply to the
Methods inherited from class org.chocosolver.solver.constraints.Propagator
addVariable, arity, compareTo, defaultExplain, doFinePropagation, doFlush, doSchedule, doScheduleEvent, dynPriority, equals, fails, forcePropagate, forcePropagationOnBacktrack, forEachIntVar, getConstraint, getId, getModel, getNbVars, getPosition, getPriority, getPropagationConditions, getVar, getVars, getVIndice, getVIndices, hashCode, isActive, isCompletelyInstantiated, isPassive, isReified, isReifiedAndSilent, isScheduled, isStateLess, linkVariables, propagate, reactToFineEvent, reifiedWith, setActive, setActive0, setPassive, setPosition, setReifiedSilent, setReifiedTrue, setVIndices, toString, unlinkVariables, unschedule
public void propagate(int evtmask) throws ContradictionExceptionDescription copied from class:
PropagatorCall the main filtering algorithm to apply to the
Variableobjects. It considers the current state of this objects to remove some values from domains and/or instantiate some variables. Calling this method is done from 2 (and only 2) steps:
- at the initial propagation step,
- when involved in a reified constraint.
It should initialized the internal data structure and apply filtering algorithm from scratch.
public ESat isEntailed()Description copied from class:
thisis entailed according to the current state of its internal structure. At least, should check the satisfaction of
this(when all is instantiated).
public void explain(ExplanationForSignedClause explanation, ValueSortedMap<IntVar> front, Implications ig, int p)Description copied from interface:
ICauseClausal explanation for this cause.
This method must filled explanations with inferred literals. These literals are inferred from the analysis of (a subset of) conflicting nodes stored in front, the implication graph ig and the current node in conflict, not yet contained in front.
Optionally, this method can update front by looking for a predecessor of any node that seems more relevant than the declared one.