|
||||||||||
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.AbstractBinIntSConstraint
choco.kernel.solver.constraints.integer.extension.CspBinSConstraint
choco.cp.solver.constraints.integer.extension.AC3rmBinSConstraint
public final class AC3rmBinSConstraint
The AC3rm algorithm. When a support is lost, we first check is the last one
Field Summary | |
---|---|
protected int[] |
currentSupport0
|
protected int[] |
currentSupport1
|
protected int |
initDomSize0
|
protected int |
initDomSize1
|
protected int[] |
initS0
|
protected int[] |
initS1
|
protected int |
minS0
|
protected int |
minS1
|
protected int |
offset0
|
protected int |
offset1
|
protected AbstractIntDomain |
v0Domain
|
protected AbstractIntDomain |
v1Domain
|
Fields inherited from class choco.kernel.solver.constraints.integer.extension.CspBinSConstraint |
---|
relation |
Fields inherited from class choco.kernel.solver.constraints.integer.AbstractBinIntSConstraint |
---|
v0, v1 |
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 | |
---|---|
AC3rmBinSConstraint(IntDomainVar x0,
IntDomainVar x1,
BinRelation 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. |
Object |
clone()
Clone the constraint |
void |
fastInitNbSupports(int a,
int b)
|
int |
getFilteredEventMask(int idx)
|
int |
getSupportV0(int x)
|
int |
getSupportV1(int y)
|
void |
init()
|
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 |
revise(int idx)
|
void |
reviseV0()
|
void |
reviseV1()
|
void |
storeSupportV0(int support,
int x)
|
void |
storeSupportV1(int support,
int y)
|
boolean |
testDeepakConditionV0(int x,
int v1Size)
|
boolean |
testDeepakConditionV1(int y,
int v0Size)
|
Methods inherited from class choco.kernel.solver.constraints.integer.extension.CspBinSConstraint |
---|
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[] currentSupport0
protected int[] currentSupport1
protected int offset0
protected int offset1
protected int[] initS0
protected int[] initS1
protected int minS0
protected int minS1
protected int initDomSize0
protected int initDomSize1
protected AbstractIntDomain v0Domain
protected AbstractIntDomain v1Domain
Constructor Detail |
---|
public AC3rmBinSConstraint(IntDomainVar x0, IntDomainVar x1, BinRelation relation)
Method Detail |
---|
public int getFilteredEventMask(int idx)
getFilteredEventMask
in class Propagator
public void fastInitNbSupports(int a, int b)
public Object clone()
AbstractSConstraint
clone
in class AbstractSConstraint<IntDomainVar>
public AbstractSConstraint<IntDomainVar> opposite(Solver solver)
AbstractSConstraint
opposite
in interface SConstraint<IntDomainVar>
opposite
in class AbstractSConstraint<IntDomainVar>
solver
- the current solver
public boolean testDeepakConditionV1(int y, int v0Size)
public boolean testDeepakConditionV0(int x, int v1Size)
public int getSupportV1(int y)
public int getSupportV0(int x)
public void reviseV1() throws ContradictionException
ContradictionException
public void reviseV0() throws ContradictionException
ContradictionException
public void storeSupportV0(int support, int x)
public void storeSupportV1(int support, int y)
public void init()
public void awake() throws ContradictionException
Propagator
awake
in class Propagator
ContradictionException
- contradiction exceptionpublic void propagate() throws ContradictionException
Propagator
propagate
in class Propagator
ContradictionException
- contradiction exceptionpublic void awakeOnRemovals(int idx, DisposableIntIterator deltaDomain) throws ContradictionException
AbstractIntSConstraint
awakeOnRemovals
in interface IntPropagator
awakeOnRemovals
in class AbstractIntSConstraint
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 AbstractIntSConstraint
ContradictionException
public void revise(int idx) throws ContradictionException
ContradictionException
public void awakeOnInst(int idx) throws ContradictionException
AbstractIntSConstraint
awakeOnInst
in interface IntPropagator
awakeOnInst
in class AbstractIntSConstraint
ContradictionException
public String pretty()
IPretty
pretty
in interface IPretty
pretty
in class AbstractSConstraint<IntDomainVar>
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |