choco.bool
Class Guard
java.lang.Object
choco.AbstractEntity
choco.AbstractConstraint
choco.bool.AbstractCompositeConstraint
choco.bool.AbstractBinCompositeConstraint
choco.bool.AbstractBinBoolConstraint
choco.bool.Guard
- All Implemented Interfaces:
- BoolConstraint, CompositeConstraint, Constraint, Entity, IntConstraint, IntVarEventListener, VarEventListener, Propagator, java.lang.Cloneable, java.util.EventListener
public class Guard
- extends AbstractBinBoolConstraint
A class for implications (if (c1,c2)) propagated in a lazy way (nothing done until c1 proven true)
Method Summary |
void |
awakeOnBounds(int varIndex)
|
void |
awakeOnInf(int idx)
Default propagation on improved lower bound: propagation on domain revision. |
void |
awakeOnInst(int idx)
Default propagation on instantiation: full constraint re-propagation. |
void |
awakeOnRem(int idx,
int x)
Default propagation on one value removal: propagation on domain revision. |
void |
awakeOnRemovals(int idx,
IntIterator deltaDomain)
|
void |
awakeOnSup(int idx)
Default propagation on improved upper bound: propagation on domain revision. |
protected void |
checkStatus(int i)
|
java.lang.Object |
clone()
Builds a copy of this constraint. |
boolean |
isConsistent()
tests if the constraint is consistent with respect to the current state of domains |
java.lang.Boolean |
isEntailed()
Checks whether the constraint is definitely satisfied, no matter what further restrictions
occur to the domain of its variables. |
boolean |
isEquivalentTo(Constraint compareTo)
tests the equivalence (logical equality of the conditions) between two constraints. |
boolean |
isSatisfied()
Semantic:
Testing if the constraint is satisfied. |
java.lang.String |
pretty()
Pretty print of the constraint. |
void |
propagate()
Propagation:
Propagating the constraint until local consistency is reached. |
Methods inherited from class choco.bool.AbstractBinCompositeConstraint |
assignIndices, getConstraintIdx, getIntVar, getNbSubConstraints, getNbVars, getSubConstraint, getSubConstraintIdx, getVar, getVarIdxInOpposite, isCompletelyInstantiated, setConstraintIndex, setVar |
Methods inherited from class choco.AbstractConstraint |
awake, awakeOnVar, connectVar, constAwake, delete, fail, getEvent, getPlugIn, getPriority, getProblem, isActive, opposite, setActive, setEntailed, setPassive, setPlugIn, substituteVar |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Guard
public Guard(AbstractConstraint c1,
AbstractConstraint c2)
clone
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
- Description copied from class:
AbstractBinCompositeConstraint
- Builds a copy of this constraint.
- Specified by:
clone
in interface Constraint
- Overrides:
clone
in class AbstractBinBoolConstraint
- Returns:
- a copy of this constraint
- Throws:
java.lang.CloneNotSupportedException
- if an problem occurs when cloning
elements pf this constraint
pretty
public java.lang.String pretty()
- Pretty print of the constraint.
- Specified by:
pretty
in interface Entity
- Overrides:
pretty
in class AbstractEntity
- Returns:
- a readable string representation of the object
checkStatus
protected void checkStatus(int i)
throws ContradictionException
- Throws:
ContradictionException
awakeOnInf
public void awakeOnInf(int idx)
throws ContradictionException
- Description copied from interface:
IntVarEventListener
- Default propagation on improved lower bound: propagation on domain revision.
- Throws:
ContradictionException
awakeOnSup
public void awakeOnSup(int idx)
throws ContradictionException
- Description copied from interface:
IntVarEventListener
- Default propagation on improved upper bound: propagation on domain revision.
- Throws:
ContradictionException
awakeOnInst
public void awakeOnInst(int idx)
throws ContradictionException
- Description copied from interface:
IntVarEventListener
- Default propagation on instantiation: full constraint re-propagation.
- Throws:
ContradictionException
awakeOnRem
public void awakeOnRem(int idx,
int x)
throws ContradictionException
- Description copied from interface:
IntVarEventListener
- Default propagation on one value removal: propagation on domain revision.
- Throws:
ContradictionException
propagate
public void propagate()
throws ContradictionException
- Description copied from interface:
Propagator
- Propagation:
Propagating the constraint until local consistency is reached.
- Throws:
ContradictionException
isEntailed
public java.lang.Boolean isEntailed()
- Description copied from interface:
Propagator
- Checks whether the constraint is definitely satisfied, no matter what further restrictions
occur to the domain of its variables.
- Specified by:
isEntailed
in interface Propagator
- Overrides:
isEntailed
in class AbstractConstraint
isSatisfied
public boolean isSatisfied()
- Description copied from interface:
Constraint
- Semantic:
Testing if the constraint is satisfied.
Note that all variables involved in the constraint must be
instantiated when this method is called.
awakeOnRemovals
public void awakeOnRemovals(int idx,
IntIterator deltaDomain)
throws ContradictionException
- Specified by:
awakeOnRemovals
in interface IntConstraint
- Overrides:
awakeOnRemovals
in class AbstractCompositeConstraint
- Throws:
ContradictionException
awakeOnBounds
public void awakeOnBounds(int varIndex)
throws ContradictionException
- Specified by:
awakeOnBounds
in interface IntConstraint
- Overrides:
awakeOnBounds
in class AbstractCompositeConstraint
- Throws:
ContradictionException
isConsistent
public boolean isConsistent()
- Description copied from interface:
Propagator
- tests if the constraint is consistent with respect to the current state of domains
isEquivalentTo
public boolean isEquivalentTo(Constraint compareTo)
- Description copied from interface:
Constraint
- tests the equivalence (logical equality of the conditions) between two constraints.
In particular whenever c1.equals(c2), then c1.isEquivalent(c2).
- Specified by:
isEquivalentTo
in interface Constraint
- Overrides:
isEquivalentTo
in class AbstractConstraint
- Parameters:
compareTo
- the constraint to be compared to
- Returns:
- true if and only if the constraints model the same logical condition.