public class PropFullCumulative extends Propagator<IntVar>
Modifier and Type | Field and Description |
---|---|
protected Cumulative.Filter[] |
_filters |
protected ISet |
allTasks |
protected IntVar |
capa |
protected IntVar[] |
d |
protected IntVar[] |
e |
protected boolean |
fast |
protected CumulFilter[] |
filters |
protected IntVar[] |
h |
protected IStateInt |
lastCapaMax |
protected int |
n |
protected IntVar[] |
s |
ACTIVE, constraint, NEW, PASSIVE, priority, reactToFineEvt, REIFIED, solver, vars
Modifier | Constructor and Description |
---|---|
protected |
PropFullCumulative(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
boolean reactToFineEvt,
boolean fast,
Cumulative.Filter... filters)
protected constructor, should not be called by a user
|
|
PropFullCumulative(IntVar[] s,
IntVar[] d,
IntVar[] e,
IntVar[] h,
IntVar capa,
boolean fast,
Cumulative.Filter... filters)
Classical cumulative propagator
|
Modifier and Type | Method and Description |
---|---|
void |
filter(ISet tasks) |
int |
getPropagationConditions(int idx)
Returns the specific mask indicating the variable events on which this
Propagator object can react. |
ESat |
isEntailed()
Check wether
this is entailed according to the current state of its internal structure. |
protected void |
linkVariables()
Creates links between this propagator and its variables.
|
void |
propagate(int evtmask)
Call the main filtering algorithm to apply to the
Domain of the Variable objects. |
protected void |
propIni() |
String |
toString() |
protected void |
updateMaxCapa() |
addVariable, arity, compareTo, contradiction, decNbPendingEvt, defineIn, dynPriority, fails, flushPendingEvt, forcePropagate, getConstraint, getId, getNbPendingEvt, getNbVars, getPriority, getSolver, getVar, getVars, getVIndices, hashCode, incNbPendingEvt, isActive, isCompletelyInstantiated, isPassive, isReifiedAndSilent, isStateLess, propagate, reactToFineEvent, setActive, setPassive, setReifiedSilent, setReifiedTrue, setVIndices, why
protected final int n
protected final IntVar[] s
protected final IntVar[] d
protected final IntVar[] e
protected final IntVar[] h
protected final IntVar capa
protected CumulFilter[] filters
protected ISet allTasks
protected final boolean fast
protected final IStateInt lastCapaMax
protected final Cumulative.Filter[] _filters
protected PropFullCumulative(IntVar[] s, IntVar[] d, IntVar[] e, IntVar[] h, IntVar capa, boolean reactToFineEvt, boolean fast, Cumulative.Filter... filters)
public PropFullCumulative(IntVar[] s, IntVar[] d, IntVar[] e, IntVar[] h, IntVar capa, boolean fast, Cumulative.Filter... filters)
s
- start variablesd
- duration variablese
- end variablesh
- height variablescapa
- capacity variablefast
- optimization parameter: reduces the amount of filtering calls when set to true
(only reacts to instantiation events)filters
- filtering algorithm to useprotected void linkVariables()
Propagator
linkVariables
in class Propagator<IntVar>
public int getPropagationConditions(int idx)
Propagator
Propagator
object can react.IEventType
this can react on.
For example, consider a propagator that can deduce filtering based on the lower bound of the integer variable X.
Then, for this variable, the mask should be equal to :
int mask = IntEventType.INCLOW.getMask() | IntEventType.INSTANTIATE.getMask();or, in a more convenient way:
int mask = IntEvtType.combine(IntEventType.INCLOW,IntEventType.INSTANTIATE);That indicates the following behavior:
IntEventType.VOID
which states
that this propagator should not be aware of modifications applied to the variable in position vIdx.getPropagationConditions
in class Propagator<IntVar>
idx
- index of the variable within the propagatorREMOVE
and/or INSTANTIATE
and/or DECUPP
and/or INCLOW
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 propIni() throws ContradictionException
ContradictionException
protected void updateMaxCapa() throws ContradictionException
ContradictionException
public void filter(ISet tasks) 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 String toString()
toString
in class Propagator<IntVar>
Copyright © 2015. All rights reserved.