Class Cumulative
- Direct Known Subclasses:
CumulativeUnary
edge-finding (edgeFind) algorithms based on
Petr Vilim, "Edge Finding Filtering Algorithm for Discrete Cumulative Resources in O(kn log n)", Principles and Practice of Constraint Programming - CP 2009 Volume 5732 of the series Lecture Notes in Computer Science pp 802-816.
and
Joseph Scott, "Filtering Algorithms for Discrete Cumulative Resources", MSc thesis, Uppsala University, Department of Information Technology, 2010, no IT 10 048,
edge-finding algorithm with quadratic complexity (edgeFindQuad) is based on
Roger Kameugne, Laure Pauline Fotso, Joseph Scott, and Youcheu Ngo-Kateu, "A quadratic edge-finding filtering algorithm for cumulative resource constraints", Constraints, 2014, July, vol. 19, no. 3, pp. 243--269.
- Version:
- 4.8
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate int[]protected Comparator<TaskView>protected Comparator<TaskView>(package private) TaskView[]Fields inherited from class org.jacop.constraints.cumulative.CumulativeBasic
cumulativeForConstants, limit, possibleZeroTasks, taskNormalFields inherited from class org.jacop.constraints.Constraint
atomicExecution, consistencyPruningEvents, constraintScope, earlyTerminationOK, increaseWeight, numberId, scope, traceFields inherited from class org.jacop.constraints.DecomposedConstraint
queueIndex -
Constructor Summary
ConstructorsConstructorDescriptionCumulative(List<? extends IntVar> starts, List<? extends IntVar> durations, List<? extends IntVar> resources, IntVar limit) It creates a cumulative constraint.Cumulative(IntVar[] starts, IntVar[] durations, IntVar[] resources, IntVar limit) It creates a cumulative constraint. -
Method Summary
Modifier and TypeMethodDescriptionprivate voidadjustBounds(Store store, ThetaLambdaTree tree, TaskView[] t, int[] prec, long cap) voidconsistency(Store store) It is a (most probably incomplete) consistency function which removes the values from variables domains.private int[]detectOrder(ThetaLambdaTree tree, TaskView[] t, int[] lctInvOrder, long C) private longdivRoundUp(long a, long b) voiddoQuadraticEdgeFind(boolean doQEF) private voidprivate voidprivate voidedgeFindQuad(Store store) private voidedgeFindQuad(Store store, TaskView[] tn) (package private) TaskView[]filterZeroTasks(TaskView[] ts) inttoString()It produces a string representation of a constraint state.Methods inherited from class org.jacop.constraints.cumulative.CumulativeBasic
profilePropMethods inherited from class org.jacop.constraints.Constraint
afc, arguments, cleanAfterFailure, decompose, getConsistencyPruningEvent, getGuideConstraint, getGuideValue, getGuideVariable, grounded, grounded, id, impose, impose, imposeDecomposition, increaseWeight, intArrayToString, numberArgs, queueVariable, removeConstraint, requiresMonotonicity, setConsistencyPruningEvent, setConstraintScope, setScope, setScope, setScope, setScope, setScope, setWatchedVariableGrounded, supplyGuideFeedback, updateAFC, watchedVariableGroundedMethods inherited from class org.jacop.constraints.DecomposedConstraint
auxiliaryVariables, checkInput, checkInput, checkInputForDuplication, checkInputForDuplicationSkipSingletons, checkInputForNullness, checkInputForNullness, checkInputForNullness, derivative, getDubletonsSkipSingletons, imposeDecomposition
-
Field Details
-
taskReversed
TaskView[] taskReversed -
doEdgeFind
private boolean doEdgeFind -
doQuadraticEdgeFind
private boolean doQuadraticEdgeFind -
preComputedCapacities
-
preComputedCapMap
private int[] preComputedCapMap -
taskIncEstComparator
-
taskDecLctComparator
-
-
Constructor Details
-
Cumulative
It creates a cumulative constraint.- Parameters:
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.
-
Cumulative
public Cumulative(List<? extends IntVar> starts, List<? extends IntVar> durations, List<? extends IntVar> resources, IntVar limit) It creates a cumulative constraint.- Parameters:
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.
-
-
Method Details
-
doQuadraticEdgeFind
public void doQuadraticEdgeFind(boolean doQEF) -
consistency
Description copied from class:ConstraintIt is a (most probably incomplete) consistency function which removes the values from variables domains. Only values which do not have any support in a solution space are removed.- Overrides:
consistencyin classCumulativeBasic- Parameters:
store- constraint store within which the constraint consistency is being checked.
-
edgeFind
-
edgeFind
-
detectOrder
-
adjustBounds
-
edgeFindQuad
-
edgeFindQuad
-
filterZeroTasks
-
getDefaultConsistencyPruningEvent
public int getDefaultConsistencyPruningEvent()- Overrides:
getDefaultConsistencyPruningEventin classCumulativeBasic
-
toString
Description copied from class:ConstraintIt produces a string representation of a constraint state.- Overrides:
toStringin classCumulativeBasic
-
divRoundUp
private long divRoundUp(long a, long b)
-