|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectchoco.kernel.solver.propagation.Propagator
choco.kernel.solver.constraints.AbstractSConstraint<IntDomainVar>
choco.kernel.solver.constraints.integer.AbstractIntSConstraint
choco.kernel.solver.constraints.integer.AbstractBinIntSConstraint
choco.cp.solver.constraints.integer.Absolute
public final class Absolute
The absolute constraint X = |Y| is a binary constraint with X = v0 and Y = v1
Field Summary |
---|
Fields inherited from class choco.kernel.solver.constraints.integer.AbstractBinIntSConstraint |
---|
v0, v1 |
Fields inherited from class choco.kernel.solver.constraints.AbstractSConstraint |
---|
cIndices, constraintType, extensions, vars |
Fields inherited from class choco.kernel.solver.propagation.Propagator |
---|
active, constAwakeEvent, priority, propagationEngine |
Fields inherited from interface choco.kernel.solver.constraints.SConstraint |
---|
LOGGER |
Constructor Summary | |
---|---|
Absolute(IntDomainVar x0,
IntDomainVar x1)
Constructs the constraint with the specified variables. |
Method Summary | |
---|---|
void |
awakeOnInf(int idx)
If X.inf increases, values from -X.inf to X.inf are forbidden for Y If Y.inf increases, it depends on the situation |
void |
awakeOnInst(int idx)
When X is instantiated, Y is restricted to 2 values : X.value and -(X.value) When Y is instantiated, X is instantiated to abs(Y) |
void |
awakeOnRem(int idx,
int x)
When a value is removed from the domain of X: then this value and its opposite are removed from the domain of Y. |
void |
awakeOnSup(int idx)
If X.sup decreases, Y is limited to (-(X.sup) .. |
protected void |
detectSymetricalHoles(int inf,
int sup)
Try to detect symetrical holes (ie value such that both value and -(value) are not in the domain of Y, in which case abs(value) can be removed from the domain of X) |
int |
getFilteredEventMask(int idx)
|
boolean |
isConsistent()
tests if the constraint is consistent with respect to the current state of domains |
Boolean |
isEntailed()
Checks if the listeners must be checked or must fail. |
boolean |
isSatisfied(int[] tuple)
Checks if the constraint is satisfied when the variables are instantiated. |
AbstractSConstraint<IntDomainVar> |
opposite(Solver solver)
Get the opposite constraint |
String |
pretty()
pretty printing of the object. |
void |
propagate()
The initial propagation consist in enforcing X to be positive executing all standard propagation methods executing specific propagation methods |
protected void |
updateMinFromHoles()
Deduce the minimum value of X from the eventual central gap in the domain of Y. |
Methods inherited from class choco.kernel.solver.constraints.integer.AbstractIntSConstraint |
---|
awakeOnBounds, awakeOnRemovals, getConstraintType, isSatisfied |
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint |
---|
addExtension, addListener, clone, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, setConstraintIndex, setExtension, setVar, toString |
Methods inherited from class choco.kernel.solver.propagation.Propagator |
---|
activate, awake, constAwake, fail, getEvent, getPriority, isActive, setActive, setActiveSilently, setEntailed, setPassive, setPropagationEngine |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public Absolute(IntDomainVar x0, IntDomainVar x1)
x0
- first IntDomainVarx1
- second IntDomainVarMethod Detail |
---|
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class Propagator
public void propagate() throws ContradictionException
propagate
in class Propagator
ContradictionException
- contradiction exceptionpublic void awakeOnInf(int idx) throws ContradictionException
awakeOnInf
in interface IntPropagator
awakeOnInf
in class AbstractIntSConstraint
idx
-
ContradictionException
public void awakeOnSup(int idx) throws ContradictionException
awakeOnSup
in interface IntPropagator
awakeOnSup
in class AbstractIntSConstraint
ContradictionException
public void awakeOnInst(int idx) throws ContradictionException
awakeOnInst
in interface IntPropagator
awakeOnInst
in class AbstractIntSConstraint
idx
-
ContradictionException
public void awakeOnRem(int idx, int x) throws ContradictionException
awakeOnRem
in interface IntPropagator
awakeOnRem
in class AbstractIntSConstraint
idx
- x
-
ContradictionException
protected void detectSymetricalHoles(int inf, int sup) throws ContradictionException
ContradictionException
protected void updateMinFromHoles() throws ContradictionException
ContradictionException
public Boolean isEntailed()
isEntailed
in class AbstractSConstraint<IntDomainVar>
public boolean isSatisfied(int[] tuple)
isSatisfied
in interface IntPropagator
isSatisfied
in class AbstractIntSConstraint
public boolean isConsistent()
isConsistent
in class AbstractIntSConstraint
public AbstractSConstraint<IntDomainVar> opposite(Solver solver)
AbstractSConstraint
opposite
in interface SConstraint<IntDomainVar>
opposite
in class AbstractSConstraint<IntDomainVar>
solver
- the current solver
public String pretty()
IPretty
pretty
in interface IPretty
pretty
in class AbstractSConstraint<IntDomainVar>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |