
cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)

   Cumulative constraint on specified tasks.

Arguments
   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)

Type
   library(cumulative)

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, eclipse_6 : collection_to_list / 2, lists : collection_to_list / 2, gfd : cumulative / 4, ic_edge_finder3 : cumulative / 4, edge_finder3 : cumulative / 4, edge_finder : cumulative / 4, ic_edge_finder : cumulative / 4, ic_cumulative : cumulative / 4
