|
||||||||||
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<Var>
choco.kernel.solver.constraints.set.AbstractMixedSetIntSConstraint
choco.kernel.solver.constraints.set.AbstractLargeSetIntSConstraint
choco.cp.solver.constraints.set.InverseSetInt
public final class InverseSetInt
A constraint stating that value j belongs to the s[i] set variable iff integer variable x[j] equals to i. This constraint models the inverse s: I -> P(J) of a function x: J -> I (I and J sets of integers) adapted from InverseChanneling
Field Summary |
---|
Fields inherited from class choco.kernel.solver.constraints.set.AbstractLargeSetIntSConstraint |
---|
ivars, svars |
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 | |
---|---|
InverseSetInt(IntDomainVar[] x,
SetVar[] s)
|
Method Summary | |
---|---|
void |
awake()
Propagation: Propagating the constraint for the very first time until local consistency is reached. |
void |
awakeOnEnv(int i,
int j)
Filtering Rule 2 : j \not\in s[i] => x[j]! |
void |
awakeOnInst(int x)
Filtering Rule 3 : x[j]=i => j \in s[i] and j \not\in s[i'] \forall i'! |
void |
awakeOnKer(int i,
int j)
Filtering Rule 1 : j \in s[i] => x[j]=i (then propagate Rule 3) |
void |
awakeOnRem(int x,
int v)
Filtering Rule 4 : x[j]! |
void |
awakeOnVar(int x)
propagation on a var: Rules 1 & 2 (integer) or 3 & 4 (set) |
void |
filterFromIndices()
Filtering Rule 0 : i>s.length => x[j]! |
int |
getFilteredEventMask(int idx)
|
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. |
boolean |
isSatisfied(int j)
|
void |
propagate()
Propagation: Propagating the constraint until local consistency is reached. |
Methods inherited from class choco.kernel.solver.constraints.set.AbstractLargeSetIntSConstraint |
---|
getIntVarIndex, getNbIntVars, getNbSetVars, isIntVarIndex, isSetVarIndex |
Methods inherited from class choco.kernel.solver.constraints.set.AbstractMixedSetIntSConstraint |
---|
awakeOnBounds, awakeOnEnvRemovals, awakeOnInf, awakeOnkerAdditions, awakeOnRemovals, awakeOnSup, getConstraintType, isSatisfied |
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, 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 InverseSetInt(IntDomainVar[] x, SetVar[] s)
Method Detail |
---|
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class Propagator
public void filterFromIndices() throws ContradictionException
ContradictionException
public void awake() throws ContradictionException
Propagator
awake
in class Propagator
ContradictionException
- contradiction exceptionpublic void awakeOnKer(int i, int j) throws ContradictionException
awakeOnKer
in interface SetPropagator
awakeOnKer
in class AbstractMixedSetIntSConstraint
ContradictionException
public void awakeOnEnv(int i, int j) throws ContradictionException
awakeOnEnv
in interface SetPropagator
awakeOnEnv
in class AbstractMixedSetIntSConstraint
ContradictionException
public void awakeOnInst(int x) throws ContradictionException
awakeOnInst
in interface IntPropagator
awakeOnInst
in interface SetPropagator
awakeOnInst
in class AbstractMixedSetIntSConstraint
ContradictionException
public void awakeOnRem(int x, int v) throws ContradictionException
awakeOnRem
in interface IntPropagator
awakeOnRem
in class AbstractMixedSetIntSConstraint
ContradictionException
public void awakeOnVar(int x) throws ContradictionException
ContradictionException
public void propagate() throws ContradictionException
Propagator
propagate
in class Propagator
ContradictionException
- contradiction exceptionpublic boolean isSatisfied(int j)
public boolean isSatisfied()
SConstraint
public boolean isConsistent()
AbstractMixedSetIntSConstraint
isConsistent
in class AbstractMixedSetIntSConstraint
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |