[ 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_cumulative : cumulative / 4, ic_edge_finder : cumulative / 4, edge_finder3 : cumulative / 4, edge_finder : cumulative / 4, ic_edge_finder3 : cumulative / 4