next up previous index
Next: Edge-finder Up: Additional Finite Domain Constraints Previous: Various Constraints on Lists   Index

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.



Warwick Harvey
2004-08-07