Module org.maxicp
Package org.maxicp.cp.engine.constraints.scheduling
package org.maxicp.cp.engine.constraints.scheduling
Constraints implementation for Scheduling over Interval Variables and Cumulative Functions
-
ClassDescriptionRepresents a scheduling activity, i.e., an interval variable that consumes an amount of resource over time.Alternative Constraint with cardinality: Enforces that if the interval a is present, then c intervals from the array alt must be present and synchronized with a.CP implementation of a Cumulative FunctionCP implementation of a Flat Cumulative FunctionCP implementation of a Minus Cumulative Function (
left - right).CP implementation of a Plus Cumulative Function (left + right).CP implementation of a Pulse Cumulative FunctionCP implementation of a Step at End Cumulative FunctionCP implementation of a Step at Start Cumulative FunctionCP implementation of a Sum Cumulative Function.Cumulative constraint with sum decomposition (very slow).Constraint enforcing that the end of an interval variable comes after or at a given integer variable:end(interval) >= varwhenintervalis present.Enforces that interval A ends at interval B end if B is present and that interval B ends at interval A end if A is presentEnforces that interval A ends at interval B start if B is present and that interval B starts at interval A end if A is presentConstraint enforcing that the end of an interval variable comes before or at a given integer variable:end(interval) <= varwhenintervalis present.Constrains interval A to end before or at the end of interval B.Constrains interval A to end before or at the start of interval B if both are present.Checker for the generalized cumulative constraint.Generalized Cumulative Constraint using Timetabling TODO Refer paper once publishedGeneralized Cumulative Constraint using Timetabling TODO Refer paper once publishedSweep-line filtering algorithm for the Generalized Cumulative constraint enforcing a maximum capacity bound.Sweep-line filtering algorithm for the Generalized Cumulative constraint enforcing a minimum capacity bound.Constraint linking the end time of an interval variablevarto an integer variableend.Constraint linking the end time of an interval variablevarto an integer variableendwhenvaris present, or fixingendto a defaultvaluewhenvaris absent.Constraint linking the length (duration) of an interval variablevarto an integer variablelength.Constraint linking the length (duration) of an interval variablevarto an integer variablelengthwhenvaris present, or fixinglengthto a defaultvaluewhenvaris absent.Constraint linking the start time of an interval variablevarto an integer variablestart.Constraint linking the start time of an interval variablevarto an integer variablestartwhenvaris present, or fixingstartto a defaultvaluewhenvaris absent.Reified constraint enforcingboolVar <=> end(intervalVar) >= varwhenintervalVaris present.Reified constraint enforcingboolVar <=> end(intervalVar) <= varwhenintervalVaris present.Reified is end before start constraintReified is end before start constraintReified temporal ordering constraint with transition times.Reified constraint enforcingboolVar <=> start(intervalVar) <= varwhenintervalVaris present.Reified is end before start constraintReified is start before start constraintNoOverlap constraint, ensures that a set of interval variables do not overlap in time.Bound Consistency filtering for the NoOverlap constraintBound Consistency filtering for the NoOverlap constraintBinary NoOverlap constraint enforcing that two interval variablesAandBdo not overlap in time when both are present.Binary NoOverlap constraint with transition times enforcing that two interval variablesAandBdo not overlap and respect minimum setup/transition timestransitionTimeAB(whenAprecedesB) andtransitionTimeBA(whenBprecedesA) when both are present.Left-to-right global filtering algorithms for theNoOverlapconstraint (Overload Checking, Detectable Precedences, Not-Last, and Edge-Finding), based on Petr Vilim's PhD thesis (2008).A global constraint that enforces a permutation (ordering) of interval variables with minimum transition times, using set-variable-based propagation for stronger filtering than the binary decompositionNoOverlapWithPositionDecomposition.A constraint that enforces a permutation (ordering) of interval variables, typically used for routing/scheduling problems such as TSP or job sequencing.Representation of a cumulated Profile data structure as a contiguous sequence ofProfile.Rectanglebuilt from a set ofProfile.Rectangleusing a sweep-line algorithm.Represents a rectangle which is part of theProfiledatastructureSpan Constraint: Enforces that if the interval span is present, then it begins with the first interval intervals from the array alt and ends with the latest.Constraint enforcing that the start of an interval variable comes after or at a given integer variable:start(interval) >= varwhenintervalis present.Enforces that interval A starts at interval B end if B is present and that interval B ends at interval A start if A is presentEnforces that interval A starts at interval B start if B is present and that interval B starts at interval A start if A is presentConstraint enforcing that the start of an interval variable comes before or at a given integer variable:start(interval) <= varwhenintervalis present.Constrains interval A to start before or at the end of interval B if both are present.Constrains interval A to start before or at the start of interval B.Data Structure described in Global Constraints in Scheduling, 2008 Petr Vilim, PhD thesis See The thesis.Data Structure described in Global Constraints in Scheduling, 2008 Petr Vilim, PhD thesis See The thesis.