[ library(cumulative) | Reference Manual | Alphabetic Index ]
cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)
Cumulative constraint on specified tasks.
- StartTimes
- Collection of start times for tasks (fd variables or integers)
- Durations
- Collection of duration for tasks (fd variables or integers)
- Resources
- Collection of resource uages by tasks (fd variables or integers)
- ResourceLimit
- Maximum amount of resource available (integer)
Description
   A cumulative scheduling constraint. StartTimes, Durations and Resources
   are collections (a la collection_to_list/2) of equal size N of finite
   domain variable or integers.  ResourceLimit is an integer.  The
   declarative meaning is:
   If there are N tasks, each starting at a certain start time, having
   a certain duration and consuming a certain (constant) amount of
   resource, then the sum of resource usage of all the tasks does not
   exceed ResourceLimit at any time.
   The (ic/fd)_edge_finder and (ic/fd)_edge_finder3 libraries implementation
   of this predicate can provide stronger propagations.
See Also
profile / 4, lists : collection_to_list / 2, ic_edge_finder : cumulative / 4, edge_finder3 : cumulative / 4, ic_edge_finder3 : cumulative / 4, edge_finder : cumulative / 4, ic_cumulative : cumulative / 4