public class Cumulative extends Constraint implements SatisfiedPresent
Modifier and Type | Field and Description |
---|---|
protected boolean |
doEdgeFinding
It specifies if the edge finding algorithm should be used.
|
protected 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.
|
IntVar[] |
resources
It specifies/stores resource variable for each corresponding task.
|
protected 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.
|
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, trace
queueIndex
Constructor and Description |
---|
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.
|
Cumulative(List<? extends IntVar> starts,
List<? extends IntVar> durations,
List<? extends IntVar> resources,
IntVar limit)
It creates a cumulative constraint.
|
Cumulative(List<? extends IntVar> starts,
List<? extends IntVar> durations,
List<? extends IntVar> resources,
IntVar limit,
boolean edgeFinding)
It creates a cumulative constraint.
|
Cumulative(List<? extends IntVar> starts,
List<? extends IntVar> durations,
List<? extends IntVar> resources,
IntVar limit,
boolean edgeFinding,
boolean profile)
It creates a cumulative constraint.
|
Modifier and Type | Method and Description |
---|---|
void |
consistency(Store store)
It is a (most probably incomplete) consistency function which removes the
values from variables domains.
|
int |
getDefaultConsistencyPruningEvent() |
boolean |
satisfied()
It checks if the constraint is satisfied.
|
String |
toString()
It produces a string representation of a constraint state.
|
afc, arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, impose, imposeDecomposition, increaseWeight, intArrayToString, long2int, numberArgs, queueVariable, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGrounded
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
protected boolean doEdgeFinding
protected boolean doProfile
protected boolean setLimit
public IntVar limit
public IntVar[] starts
public IntVar[] durations
public IntVar[] resources
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(List<? extends IntVar> starts, List<? extends IntVar> durations, List<? 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(List<? extends IntVar> starts, List<? extends IntVar> durations, List<? 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(List<? extends IntVar> starts, List<? extends IntVar> durations, List<? 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 void consistency(Store store)
Constraint
consistency
in class Constraint
store
- constraint store within which the constraint consistency is being checked.public int getDefaultConsistencyPruningEvent()
getDefaultConsistencyPruningEvent
in class Constraint
public boolean satisfied()
SatisfiedPresent
Implementations of this interface for constraints that are not PrimitiveConstraint may require constraint imposition and consistency check as a requirement to work correctly.
satisfied
in interface SatisfiedPresent
public String toString()
Constraint
toString
in class Constraint
Copyright © 2022. All rights reserved.