|
||||||||||
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.GAC2001PositiveLargeConstraint
public final class GAC2001PositiveLargeConstraint
GAC2001 in allowed tuples
Field Summary | |
---|---|
protected int |
arity
|
protected int[] |
blocks
|
protected static int |
NO_SUPPORT
|
protected int[] |
offsets
|
protected IterTuplesTable |
relation
|
protected IStateInt[][] |
supports
supports[i][j stores the index of the tuple that currently support the variable-value pair (i,j) |
protected int[][][] |
tab
|
protected ValidityChecker |
valcheck
|
Fields inherited from class choco.cp.solver.constraints.integer.extension.CspLargeSConstraint |
---|
currentTuple |
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 | |
---|---|
GAC2001PositiveLargeConstraint(IEnvironment environment,
IntDomainVar[] vs,
IterTuplesTable relation)
|
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 |
getSupport(int indexVar,
int value)
|
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. |
void |
reviseVar(int indexVar)
updates the support for all values in the domain of variable and remove unsupported values for variable |
int |
seekNextSupport(int indexVar,
int nva,
int start)
seek a new support for the pair variable-value : (indexVar, nva) start the iteration from the stored support (the last one) |
void |
setSupport(int indexVar,
int value,
int idxSupport)
store the new support |
Methods inherited from class choco.cp.solver.constraints.integer.extension.CspLargeSConstraint |
---|
clone, getRelation, isEntailed, 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 arity
protected int[] offsets
protected static final int NO_SUPPORT
protected IterTuplesTable relation
protected int[][][] tab
protected ValidityChecker valcheck
Constructor Detail |
---|
public GAC2001PositiveLargeConstraint(IEnvironment environment, IntDomainVar[] vs, IterTuplesTable relation)
Method Detail |
---|
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class CspLargeSConstraint
public void reviseVar(int indexVar) throws ContradictionException
indexVar
-
ContradictionException
public int seekNextSupport(int indexVar, int nva, int start)
public void setSupport(int indexVar, int value, int idxSupport)
indexVar
- value
- idxSupport
- : the index of the support in the list of allowed tuples for
the pair variable-value (indexVar,value)public int getSupport(int indexVar, int value)
indexVar
- value
-
public 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 awake() throws ContradictionException
Propagator
awake
in class Propagator
ContradictionException
- contradiction exceptionpublic void filter(int idx) throws ContradictionException
ContradictionException
public String pretty()
IPretty
pretty
in interface IPretty
pretty
in class CspLargeSConstraint
public boolean isSatisfied(int[] tuple)
AbstractIntSConstraint
isSatisfied
in interface IntPropagator
isSatisfied
in class CspLargeSConstraint
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |