choco.cp.solver.constraints.integer.channeling
Class BooleanChanneling
java.lang.Object
choco.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.channeling.BooleanChanneling
- All Implemented Interfaces:
- IExtensionnable, IPretty, SConstraint<IntDomainVar>, IntPropagator, Cloneable, EventListener
public final class BooleanChanneling
- extends AbstractBinIntSConstraint
a simple channeling constraint :
y_ij = 1 si x_i = j
y_ij = 0 sinon
Field Summary |
protected int |
cste
|
Method Summary |
void |
awakeOnInf(int idx)
Default propagation on improved lower bound: propagation on domain revision. |
void |
awakeOnRemovals(int idx,
DisposableIntIterator deltaDomain)
The default implementation of propagation when a variable has been modified
consists in iterating all values that have been removed (the delta domain)
and propagate them one after another, incrementally. |
void |
awakeOnSup(int idx)
Default propagation on improved upper bound: propagation on domain revision. |
void |
filterFromBtoX()
|
void |
filterFromXtoB()
|
int |
getFilteredEventMask(int idx)
|
Boolean |
isEntailed()
Indicates if the constraint is entailed, from now on will be always satisfied |
boolean |
isSatisfied(int[] tuple)
TEMPORARY: if not overriden by the constraint, throws an error
to avoid bug using reified constraints in constraints
that have not been changed to fulfill this api yet ! |
String |
pretty()
pretty printing of the object. |
void |
propagate()
Propagation:
Propagating the constraint until local consistency is reached. |
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint |
addExtension, addListener, clone, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, opposite, 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 |
cste
protected int cste
BooleanChanneling
public BooleanChanneling(IntDomainVar yij,
IntDomainVar xi,
int j)
getFilteredEventMask
public int getFilteredEventMask(int idx)
- Overrides:
getFilteredEventMask
in class Propagator
filterFromBtoX
public void filterFromBtoX()
throws ContradictionException
- Throws:
ContradictionException
filterFromXtoB
public void filterFromXtoB()
throws ContradictionException
- Throws:
ContradictionException
propagate
public void propagate()
throws ContradictionException
- Description copied from class:
Propagator
- Propagation:
Propagating the constraint until local consistency is reached.
- Specified by:
propagate
in class Propagator
- Throws:
ContradictionException
- contradiction exception
awakeOnInf
public void awakeOnInf(int idx)
throws ContradictionException
- Description copied from class:
AbstractIntSConstraint
- Default propagation on improved lower bound: propagation on domain revision.
- Specified by:
awakeOnInf
in interface IntPropagator
- Overrides:
awakeOnInf
in class AbstractIntSConstraint
- Throws:
ContradictionException
awakeOnSup
public void awakeOnSup(int idx)
throws ContradictionException
- Description copied from class:
AbstractIntSConstraint
- Default propagation on improved upper bound: propagation on domain revision.
- Specified by:
awakeOnSup
in interface IntPropagator
- Overrides:
awakeOnSup
in class AbstractIntSConstraint
- Throws:
ContradictionException
awakeOnRemovals
public void awakeOnRemovals(int idx,
DisposableIntIterator deltaDomain)
throws ContradictionException
- Description copied from class:
AbstractIntSConstraint
- The default implementation of propagation when a variable has been modified
consists in iterating all values that have been removed (the delta domain)
and propagate them one after another, incrementally.
- Specified by:
awakeOnRemovals
in interface IntPropagator
- Overrides:
awakeOnRemovals
in class AbstractIntSConstraint
- Throws:
ContradictionException
isEntailed
public Boolean isEntailed()
- Description copied from class:
AbstractSConstraint
- Indicates if the constraint is entailed, from now on will be always satisfied
- Overrides:
isEntailed
in class AbstractSConstraint<IntDomainVar>
- Returns:
- wether the constraint is entailed
isSatisfied
public boolean isSatisfied(int[] tuple)
- Description copied from class:
AbstractIntSConstraint
- TEMPORARY: if not overriden by the constraint, throws an error
to avoid bug using reified constraints in constraints
that have not been changed to fulfill this api yet !
- Specified by:
isSatisfied
in interface IntPropagator
- Overrides:
isSatisfied
in class AbstractIntSConstraint
pretty
public String pretty()
- Description copied from interface:
IPretty
- pretty printing of the object. This String is not constant and may depend on the context.
- Specified by:
pretty
in interface IPretty
- Overrides:
pretty
in class AbstractSConstraint<IntDomainVar>
- Returns:
- a readable string representation of the object
Copyright © 2012. All Rights Reserved.