choco.cp.solver.constraints.set
Class InverseSet
java.lang.Object
choco.kernel.solver.propagation.Propagator
choco.kernel.solver.constraints.AbstractSConstraint<SetVar>
choco.kernel.solver.constraints.set.AbstractSetSConstraint
choco.kernel.solver.constraints.set.AbstractLargeSetSConstraint
choco.cp.solver.constraints.set.InverseSet
- All Implemented Interfaces:
- IExtensionnable, IPretty, SConstraint<SetVar>, SetPropagator, Cloneable, EventListener
public class InverseSet
- extends AbstractLargeSetSConstraint
Created by IntelliJ IDEA.
User: njussien
Date: 15 d�c. 2010
Time: 12:59:12
X collection set-variable
Y collection set-variable
Y should have enough slots to handle X domain size (ie. Y.length <= X.max)
j in X[i] <=> i in Y[j]
cf. http://www.emn.fr/z-info/sdemasse/gccat/Cinverse_set.html
Method Summary |
void |
awake()
Propagation:
Propagating the constraint for the very first time until local
consistency is reached. |
void |
awakeOnEnv(int varIdx,
int x)
Default propagation on enveloppe modification: propagation on removing a value from the enveloppe. |
void |
awakeOnKer(int varIdx,
int x)
Default propagation on kernel modification: propagation on adding a value to the kernel. |
boolean |
isConsistent()
tests if the constraint is consistent with respect to the current state of domains |
boolean |
isSatisfied()
Semantic:
Testing if the constraint is satisfied. |
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, isEntailed, opposite, pretty, setConstraintIndex, setExtension, setVar, toString |
Methods inherited from class choco.kernel.solver.propagation.Propagator |
activate, constAwake, fail, getEvent, getFilteredEventMask, getPriority, isActive, setActive, setActiveSilently, setEntailed, setPassive, setPropagationEngine |
InverseSet
public InverseSet(SetVar[] x,
SetVar[] y)
awake
public void awake()
throws ContradictionException
- Description copied from class:
Propagator
- Propagation:
Propagating the constraint for the very first time until local
consistency is reached.
- Overrides:
awake
in class Propagator
- Throws:
ContradictionException
- contradiction exception
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
awakeOnKer
public void awakeOnKer(int varIdx,
int x)
throws ContradictionException
- Description copied from interface:
SetPropagator
- Default propagation on kernel modification: propagation on adding a value to the kernel.
- Specified by:
awakeOnKer
in interface SetPropagator
- Overrides:
awakeOnKer
in class AbstractSetSConstraint
- Throws:
ContradictionException
awakeOnEnv
public void awakeOnEnv(int varIdx,
int x)
throws ContradictionException
- Description copied from interface:
SetPropagator
- Default propagation on enveloppe modification: propagation on removing a value from the enveloppe.
- Specified by:
awakeOnEnv
in interface SetPropagator
- Overrides:
awakeOnEnv
in class AbstractSetSConstraint
- Throws:
ContradictionException
isConsistent
public boolean isConsistent()
- Description copied from class:
Propagator
- tests if the constraint is consistent with respect to the current state of domains
- Specified by:
isConsistent
in class Propagator
- Returns:
- wether the constraint is consistent
isSatisfied
public boolean isSatisfied()
- Description copied from interface:
SConstraint
- Semantic:
Testing if the constraint is satisfied.
Note that all variables involved in the constraint must be
instantiated when this method is called.
- Returns:
- true if the constraint is satisfied
Copyright © 2012. All Rights Reserved.