public class Cumulative extends Constraint
Modifier and Type | Field and Description |
---|---|
boolean |
doEdgeFinding
It specifies if the edge finding algorithm should be used.
|
boolean |
doProfile
It specifies if the profiles should be computed to propagate
onto limit variable.
|
IntVar[] |
durations
It specifies/stores duration variables for each corresponding task.
|
IntVar |
limit
It specifies the limit of the profile of cumulative use of resources.
|
Profile |
maxProfile
It contains information about maximal profile contributed by tasks.
|
Profile |
minProfile
It contains information about minimal profile contributed by regions
for certain occupied by tasks.
|
IntVar[] |
resources
It specifies/stores resource variable for each corresponding task.
|
boolean |
setLimit
It specifies if the data from profiles should be used to propagate
onto limit variable.
|
IntVar[] |
starts
It specifies/stores start variables for each corresponding task.
|
static String[] |
xmlAttributes
It specifies the arguments required to be saved by an XML format as well as
the constructor being called to recreate an object from an XML format.
|
atomicExecution, consistencyPruningEvents, earlyTerminationOK, id, increaseWeight, numberArgs, numberId, trace
queueIndex
Constructor and Description |
---|
Cumulative(ArrayList<? extends IntVar> starts,
ArrayList<? extends IntVar> durations,
ArrayList<? extends IntVar> resources,
IntVar limit)
It creates a cumulative constraint.
|
Cumulative(ArrayList<? extends IntVar> starts,
ArrayList<? extends IntVar> durations,
ArrayList<? extends IntVar> resources,
IntVar limit,
boolean edgeFinding)
It creates a cumulative constraint.
|
Cumulative(ArrayList<? extends IntVar> starts,
ArrayList<? extends IntVar> durations,
ArrayList<? extends IntVar> resources,
IntVar limit,
boolean edgeFinding,
boolean profile)
It creates a cumulative constraint.
|
Cumulative(IntVar[] starts,
IntVar[] durations,
IntVar[] resources,
IntVar limit)
It creates a cumulative constraint.
|
Cumulative(IntVar[] starts,
IntVar[] durations,
IntVar[] resources,
IntVar limit,
boolean edgeFinding)
It creates a cumulative constraint.
|
Cumulative(IntVar[] starts,
IntVar[] durations,
IntVar[] resources,
IntVar limit,
boolean doEdgeFinding,
boolean doProfile)
It creates a cumulative constraint.
|
Cumulative(IntVar[] starts,
IntVar[] durations,
IntVar[] resources,
IntVar limit,
boolean doEdgeFinding,
boolean doProfile,
boolean setLimit)
It creates a cumulative constraint.
|
Modifier and Type | Method and Description |
---|---|
ArrayList<Var> |
arguments()
It returns the variables in a scope of the constraint.
|
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
int |
getConsistencyPruningEvent(Var var)
It retrieves the pruning event which causes reevaluation of the
constraint.
|
void |
impose(Store store)
It imposes the constraint in a given store.
|
void |
increaseWeight()
It increases the weight of the variables in the constraint scope.
|
void |
removeConstraint()
It removes the constraint by removing this constraint from all variables.
|
boolean |
satisfied()
It checks if the constraint is satisfied.
|
String |
toString()
It produces a string representation of a constraint state.
|
cleanAfterFailure, decompose, getGuideConstraint, getGuideValue, getGuideVariable, id, impose, imposeDecomposition, numberArgs, queueVariable, removeLevel, removeLevelLate, requiresMonotonicity, setConsistencyPruningEvent, supplyGuideFeedback
auxiliaryVariables, derivative, imposeDecomposition
public Profile maxProfile
public Profile minProfile
public boolean doEdgeFinding
public boolean doProfile
public boolean setLimit
public IntVar limit
public IntVar[] starts
public IntVar[] durations
public IntVar[] resources
public static String[] xmlAttributes
public Cumulative(IntVar[] starts, IntVar[] durations, IntVar[] resources, IntVar limit, boolean doEdgeFinding, boolean doProfile)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.doEdgeFinding
- true if edge finding algorithm should be used.doProfile
- specifies if the profiles should be computed in order to reduce limit variable.public Cumulative(IntVar[] starts, IntVar[] durations, IntVar[] resources, IntVar limit, boolean doEdgeFinding, boolean doProfile, boolean setLimit)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.doEdgeFinding
- true if edge finding algorithm should be used.doProfile
- specifies if the profiles should be computed in order to reduce limit variable.setLimit
- specifies if limit variable will be prunded.public Cumulative(ArrayList<? extends IntVar> starts, ArrayList<? extends IntVar> durations, ArrayList<? extends IntVar> resources, IntVar limit)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.public Cumulative(ArrayList<? extends IntVar> starts, ArrayList<? extends IntVar> durations, ArrayList<? extends IntVar> resources, IntVar limit, boolean edgeFinding)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.edgeFinding
- true if edge finding algorithm should be used.public Cumulative(ArrayList<? extends IntVar> starts, ArrayList<? extends IntVar> durations, ArrayList<? extends IntVar> resources, IntVar limit, boolean edgeFinding, boolean profile)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.edgeFinding
- true if edge finding algorithm should be used.profile
- specifies if the profiles should be computed in order to reduce limit variable.public Cumulative(IntVar[] starts, IntVar[] durations, IntVar[] resources, IntVar limit)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.public Cumulative(IntVar[] starts, IntVar[] durations, IntVar[] resources, IntVar limit, boolean edgeFinding)
starts
- variables denoting starts of the tasks.durations
- variables denoting durations of the tasks.resources
- variables denoting resource usage of the tasks.limit
- the overall limit of resources which has to be used.edgeFinding
- true if edge finding algorithm should be used.public ArrayList<Var> arguments()
Constraint
arguments
in class Constraint
public void consistency(Store store)
Constraint
consistency
in class Constraint
store
- constraint store within which the constraint consistency is being checked.public int getConsistencyPruningEvent(Var var)
Constraint
getConsistencyPruningEvent
in class Constraint
var
- variable for which pruning event is retrievedpublic void impose(Store store)
Constraint
impose
in class Constraint
store
- the constraint store to which the constraint is imposed to.public void removeConstraint()
Constraint
removeConstraint
in class Constraint
public boolean satisfied()
Constraint
satisfied
in class Constraint
public String toString()
Constraint
toString
in class Constraint
public void increaseWeight()
Constraint
increaseWeight
in class Constraint
Copyright © 2015. All rights reserved.