public class PropCircuit_ArboFiltering extends Propagator<IntVar>
Modifier and Type | Field and Description |
---|---|
protected CircuitConf |
conf |
protected DirectedGraph |
connectedGraph |
protected AbstractLengauerTarjanDominatorsFinder |
domFinder |
protected int |
n |
protected int |
offSet |
protected Random |
rd |
aCause, ACTIVE, constraint, LOGGER, NEW, PASSIVE, priority, reactToFineEvt, REIFIED, solver, vars
Constructor and Description |
---|
PropCircuit_ArboFiltering(IntVar[] succs,
int offSet,
CircuitConf conf) |
Modifier and Type | Method and Description |
---|---|
void |
duplicate(Solver solver,
gnu.trove.map.hash.THashMap<Object,Object> identitymap)
Duplicate the current propagator.
|
protected void |
filterFromDom(int duplicatedNode) |
ESat |
isEntailed()
Check wether
this is entailed according to the current state of its internal structure. |
void |
propagate(int evtmask)
Call the main filtering algorithm to apply to the
Domain of the Variable objects. |
addVariable, advise, arity, compareTo, contradiction, decNbPendingEvt, defineIn, dynPriority, flushPendingEvt, forcePropagate, getConstraint, getId, getNbPendingEvt, getNbVars, getPriority, getPropagationConditions, getSolver, getVar, getVars, getVIndices, hashCode, incNbPendingEvt, isActive, isCompletelyInstantiated, isPassive, isReifiedAndSilent, isStateLess, propagate, reactToFineEvent, setActive, setPassive, setReifiedSilent, setReifiedTrue, setVIndices, toString, why
protected DirectedGraph connectedGraph
protected int n
protected AbstractLengauerTarjanDominatorsFinder domFinder
protected int offSet
protected Random rd
protected CircuitConf conf
public PropCircuit_ArboFiltering(IntVar[] succs, int offSet, CircuitConf conf)
public void propagate(int evtmask) throws ContradictionException
Propagator
Domain
of the Variable
objects.
It considers the current state of this objects to remove some values from domains and/or instantiate some variables.
Calling this method is done from 2 (and only 2) steps:
propagate
in class Propagator<IntVar>
evtmask
- type of propagation event this
must consider.ContradictionException
- when a contradiction occurs, like domain wipe out or other incoherencies.protected void filterFromDom(int duplicatedNode) throws ContradictionException
ContradictionException
public ESat isEntailed()
Propagator
this
is entailed according to the current state of its internal structure.
At least, should check the satisfaction of this
(when all is instantiated).isEntailed
in class Propagator<IntVar>
public void duplicate(Solver solver, gnu.trove.map.hash.THashMap<Object,Object> identitymap)
Propagator
duplicate
in class Propagator<IntVar>
solver
- the target solveridentitymap
- a map to ensure uniqueness of objectsCopyright © 2015. All rights reserved.