The CLP Procedure
CUMULATIVE Statement
CUMULATIVE cumulative_constraint-1 <…cumulative_constraint-n>;
Each cumulative_constraint is specified in the following form, where the options can be specified in any order and are subject to the restrictions that follow:
(<START=(list)> <DURATION=(list)> <END=(list)> <DEMAND=(list)> <CAPACITY=capacity> )
You must specify at least two of the START=, DURATION=, and END= options.
At least one of the START=, DURATION=, and END= options must specify a list of numeric variables.
The number of values in the lists that are specified in the START=, DURATION=, END=, and DEMAND= options must be the same.
The CUMULATIVE statement specifies one or more cumulative (scheduling) constraints. A cumulative constraint conveys that a collection of tasks (activities) is to be executed on a resource that has limited capacity. Each task is defined by its start time, duration (processing time), end time (finish time), and demand (resource usage). A task i is said to overlap a time point t if and only if its start time is less than or equal to t and its end time is strictly greater than t. The cumulative constraint enforces that at each point in time, the accumulated demand (resource usage) of the tasks that overlap the time point does not exceed the specified capacity of the resource.
A cumulative constraint also enforces the following equation for all tasks i:
You can specify the following options (you must specify at least two of the START=, END=, and DURATION= options):