- java.lang.Object
-
- org.chocosolver.solver.constraints.Propagator<IntVar>
-
- org.chocosolver.solver.constraints.ternary.AbstractPropDistanceXYZ
-
- org.chocosolver.solver.constraints.ternary.PropLTDistanceXYZ
-
- All Implemented Interfaces:
Comparable<Propagator>
,ICause
,Identity
public final class PropLTDistanceXYZ extends AbstractPropDistanceXYZ
- Since:
- 10/30/2017
- Author:
- Arnaud Malapert
-
-
Field Summary
-
Fields inherited from class org.chocosolver.solver.constraints.ternary.AbstractPropDistanceXYZ
X, Y, Z
-
Fields inherited from class org.chocosolver.solver.constraints.Propagator
ACTIVE, constraint, DEFAULT_EXPL, model, operations, OUTPUT_DEFAULT_EXPL, priority, reactToFineEvt, state, vars
-
-
Constructor Summary
Constructors Constructor Description PropLTDistanceXYZ(IntVar[] vars)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected boolean
filterFromXYtoZ()
protected boolean
filterFromXZToY()
protected boolean
filterFromYZToX()
protected String
getOperator()
protected boolean
isEntailed(int distance, int value)
void
propagate(int evtmask)
Call the main filtering algorithm to apply to theDomain
of theVariable
objects.-
Methods inherited from class org.chocosolver.solver.constraints.ternary.AbstractPropDistanceXYZ
filterFromXYtoLBZ, filterFromXYtoUBZ, filterGreaterFromIZToJ, filterLowerFromIZToJ, getPropagationConditions, isEntailed, propagate, propagate, toString
-
Methods inherited from class org.chocosolver.solver.constraints.Propagator
addVariable, arity, compareTo, defaultExplain, doFinePropagation, doFlush, doSchedule, doScheduleEvent, dynPriority, equals, explain, fails, forcePropagate, forcePropagationOnBacktrack, forEachIntVar, getConstraint, getId, getModel, getNbVars, getPosition, getPriority, getVar, getVars, getVIndice, getVIndices, hashCode, isActive, isCompletelyInstantiated, isPassive, isReified, isReifiedAndSilent, isScheduled, isStateLess, linkVariables, reactToFineEvent, reifiedWith, setActive, setActive0, setPassive, setPosition, setReifiedSilent, setReifiedTrue, setVIndices, unlinkVariables, unschedule
-
-
-
-
Constructor Detail
-
PropLTDistanceXYZ
public PropLTDistanceXYZ(IntVar[] vars)
-
-
Method Detail
-
propagate
public void propagate(int evtmask) throws ContradictionException
Description copied from class:Propagator
Call the main filtering algorithm to apply to theDomain
of theVariable
objects. 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.- Overrides:
propagate
in classAbstractPropDistanceXYZ
- Parameters:
evtmask
- type of propagation eventthis
must consider.- Throws:
ContradictionException
- when a contradiction occurs, like domain wipe out or other incoherencies.
-
filterFromYZToX
protected boolean filterFromYZToX() throws ContradictionException
- Specified by:
filterFromYZToX
in classAbstractPropDistanceXYZ
- Throws:
ContradictionException
-
filterFromXZToY
protected boolean filterFromXZToY() throws ContradictionException
- Specified by:
filterFromXZToY
in classAbstractPropDistanceXYZ
- Throws:
ContradictionException
-
filterFromXYtoZ
protected boolean filterFromXYtoZ() throws ContradictionException
- Specified by:
filterFromXYtoZ
in classAbstractPropDistanceXYZ
- Throws:
ContradictionException
-
isEntailed
protected boolean isEntailed(int distance, int value)
- Specified by:
isEntailed
in classAbstractPropDistanceXYZ
-
getOperator
protected String getOperator()
- Specified by:
getOperator
in classAbstractPropDistanceXYZ
-
-