Previous Up Next

4.2  Cumulative Constraint and Resource Profiles

The library cumulative implements the cumulative scheduling constraint. It is based on the IC library and is loaded using one of

:- use_module(library(ic_cumulative)).
:- lib(ic_cumulative).
cumulative(+StartTimes, +Durations, +Resources, ++ResourceLimit)

A cumulative scheduling constraint. StartTimes, Durations and Resources are lists of equal length 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.
profile(+StartTimes, +Durations, +Resources, -Profile)

StartTimes, Durations, Resources and Profile are lists of equal length N of integer variables or integers with the same meaning as in cumulative/4. The list Profile indicates the level of resource usage at the starting point of each task.

Previous Up Next