|
||||||||||
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.GAC3rmLargeConstraint
public final class GAC3rmLargeConstraint
Field Summary | |
---|---|
protected int[] |
blocks
|
protected int[] |
offsets
|
protected DisposableIntIterator[] |
seekIter
|
protected int |
size
|
protected int[] |
supports
|
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 | |
---|---|
GAC3rmLargeConstraint(IntDomainVar[] vs,
LargeRelation 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. |
int[] |
getBoundSupport(int indexVar,
int idxBound)
|
int |
getFilteredEventMask(int idx)
|
int[] |
getSupport(int indexVar,
int value)
|
void |
initializeSupports(int indexVar)
initialize the supports of each value of indexVar |
boolean |
isValid(int[] tuple)
|
int[] |
lastBoundSupport(int indexVar,
int idxBound)
|
int[] |
lastSupport(int indexVar,
int value)
|
AbstractSConstraint<IntDomainVar> |
opposite(Solver solver)
Get the opposite constraint |
String |
pretty()
pretty printing of the object. |
void |
propagate()
Propagation: Propagating the constraint until local consistency is reached. |
void |
reviseVar(int indexVar)
|
int[] |
seekNextSupport(int indexVar,
int val)
|
void |
setBoundSupport(int indexVar,
int idxBound,
int[] support)
|
void |
setOneSupport(int indexVar,
int value,
int[] support)
|
void |
setSupport(int[] support)
|
Methods inherited from class choco.cp.solver.constraints.integer.extension.CspLargeSConstraint |
---|
clone, getRelation, isEntailed, isSatisfied |
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 int[] supports
protected int[] blocks
protected int size
protected int[] offsets
protected DisposableIntIterator[] seekIter
Constructor Detail |
---|
public GAC3rmLargeConstraint(IntDomainVar[] vs, LargeRelation relation)
Method Detail |
---|
public AbstractSConstraint<IntDomainVar> opposite(Solver solver)
AbstractSConstraint
opposite
in interface SConstraint<IntDomainVar>
opposite
in class CspLargeSConstraint
solver
- the current solver
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class CspLargeSConstraint
public void initializeSupports(int indexVar) throws ContradictionException
indexVar
-
ContradictionException
public void reviseVar(int indexVar) throws ContradictionException
ContradictionException
public void setSupport(int[] support)
public void setOneSupport(int indexVar, int value, int[] support)
public void setBoundSupport(int indexVar, int idxBound, int[] support)
public int[] getSupport(int indexVar, int value)
public int[] getBoundSupport(int indexVar, int idxBound)
public int[] lastSupport(int indexVar, int value)
public int[] lastBoundSupport(int indexVar, int idxBound)
public boolean isValid(int[] tuple)
public int[] seekNextSupport(int indexVar, int val)
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 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 |