|
||||||||||
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.AbstractLargeIntSConstraint
choco.cp.solver.constraints.integer.extension.CspLargeSConstraint
choco.cp.solver.constraints.integer.extension.GAC2001LargeSConstraint
public final class GAC2001LargeSConstraint
GAC 2001 in valid tuples (do not support bound variables)
Field Summary | |
---|---|
protected int[] |
blocks
|
protected int[] |
offsets
|
protected int |
size
|
protected IStateInt[] |
supports
|
protected ValidityChecker |
valcheck
|
Fields inherited from class choco.cp.solver.constraints.integer.extension.CspLargeSConstraint |
---|
currentTuple, relation |
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 | |
---|---|
GAC2001LargeSConstraint(IntDomainVar[] vs,
LargeRelation relation,
IEnvironment environment)
|
Method Summary | |
---|---|
void |
awake()
Propagation: Propagating the constraint for the very first time until local consistency is reached. |
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,
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 |
filter(int idx)
|
int |
getFilteredEventMask(int idx)
|
int[] |
getFirstValidTupleFrom(int[] t,
int indexVar)
t is a consistent tuple not valid anymore, we need to go to the first valid tuple greater than t before searching among the valid tuples |
int[] |
getSupport(int indexVar,
int value)
|
int[] |
lastSupport(int indexVar,
int value)
|
String |
pretty()
pretty printing of the object. |
void |
propagate()
Propagation: Propagating the constraint until local consistency is reached. |
void |
reviseVar(int indexVar,
boolean fromScratch)
|
int[] |
seekNextSupport(int indexVar,
int val,
boolean fromscratch)
seek a new support for (variable, value), the smallest tuple greater than currentSupport the search is made through valid tuples until and allowed one is found. |
void |
setSupport(int indexVar,
int value,
int[] support)
|
Methods inherited from class choco.cp.solver.constraints.integer.extension.CspLargeSConstraint |
---|
clone, getRelation, isEntailed, isSatisfied, opposite |
Methods inherited from class choco.kernel.solver.constraints.integer.AbstractIntSConstraint |
---|
getConstraintType, isConsistent, isSatisfied |
Methods inherited from class choco.kernel.solver.constraints.AbstractSConstraint |
---|
addExtension, addListener, getAbstractSConstraintExtensionNumber, getConstraintIdx, getExtension, getFineDegree, getNbVarNotInst, getNbVars, getVar, getVarQuick, isCompletelyInstantiated, 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 |
Field Detail |
---|
protected IStateInt[] supports
protected int[] blocks
protected int size
protected int[] offsets
protected ValidityChecker valcheck
Constructor Detail |
---|
public GAC2001LargeSConstraint(IntDomainVar[] vs, LargeRelation relation, IEnvironment environment)
Method Detail |
---|
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class CspLargeSConstraint
public void reviseVar(int indexVar, boolean fromScratch) throws ContradictionException
ContradictionException
public void setSupport(int indexVar, int value, int[] support)
public int[] getSupport(int indexVar, int value)
public int[] lastSupport(int indexVar, int value)
public int[] seekNextSupport(int indexVar, int val, boolean fromscratch)
public int[] getFirstValidTupleFrom(int[] t, int indexVar)
t
- indexVar
-
public void awake() throws ContradictionException
Propagator
awake
in class Propagator
ContradictionException
- contradiction exceptionpublic void propagate() throws ContradictionException
Propagator
propagate
in class CspLargeSConstraint
ContradictionException
- contradiction exceptionpublic void awakeOnRemovals(int idx, DisposableIntIterator deltaDomain) throws ContradictionException
AbstractIntSConstraint
awakeOnRemovals
in interface IntPropagator
awakeOnRemovals
in class CspLargeSConstraint
ContradictionException
public void awakeOnInf(int idx) throws ContradictionException
AbstractIntSConstraint
awakeOnInf
in interface IntPropagator
awakeOnInf
in class AbstractIntSConstraint
ContradictionException
public void awakeOnSup(int idx) throws ContradictionException
AbstractIntSConstraint
awakeOnSup
in interface IntPropagator
awakeOnSup
in class AbstractIntSConstraint
ContradictionException
public void awakeOnRem(int idx, int x) throws ContradictionException
AbstractIntSConstraint
awakeOnRem
in interface IntPropagator
awakeOnRem
in class AbstractIntSConstraint
ContradictionException
public void awakeOnBounds(int varIndex) throws ContradictionException
awakeOnBounds
in interface IntPropagator
awakeOnBounds
in class CspLargeSConstraint
ContradictionException
public void awakeOnInst(int idx) throws ContradictionException
AbstractIntSConstraint
awakeOnInst
in interface IntPropagator
awakeOnInst
in class CspLargeSConstraint
ContradictionException
public void filter(int idx) throws ContradictionException
ContradictionException
public String pretty()
IPretty
pretty
in interface IPretty
pretty
in class CspLargeSConstraint
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |