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

   Cumulative constraint on specified tasks.

Arguments
   StartTimes          List of start times for tasks (integer variables or integers)
   Durations           List of duration for tasks (integer variables or integers)
   Resources           List of resource uages by tasks (integer variables or integers)
   ResourceLimit       Maximum amount of resource available (integer)

Type
   library(edge_finder)

Description

   A cumulative scheduling constraint. StartTimes, Durations and Resources
   are collections (a la collection_to_list/2) of equal size N of integer
   variables 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.

   Any input variables which do not already have finite bounds will be
   given default bounds of -10000000 to 10000000.

   This constraint can propagate more information than the implementation
   in library(ic_cumulative) and library(cumulative).


See Also
   disjunctive / 2, cumulative / 5, eclipse_6 : collection_to_list / 2, lists : collection_to_list / 2, ic_edge_finder : cumulative / 4, ic_edge_finder3 : cumulative / 4, gfd : cumulative / 4, edge_finder3 : cumulative / 4, cumulative : cumulative / 4, ic_cumulative : cumulative / 4
