Implementing Cumulative Functions with Generalized Cumulative Constraints
Pierre Schaus, Charles Thomas, Roger Kameugne

TL;DR
This paper introduces a new implementation of generalized cumulative functions for scheduling problems using a global constraint and a novel filtering algorithm, enabling open-source solvers to handle complex conditional and producer-consumer scheduling efficiently.
Contribution
It presents a unified implementation of cumulative functions with conditional intervals and a new filtering algorithm, filling a gap in open-source solver capabilities.
Findings
Competitive performance with existing solvers
Effective scaling to large problems
Enables modeling of producer-consumer scheduling
Abstract
Modeling scheduling problems with conditional time intervals and cumulative functions has become a common approach when using modern commercial constraint programming solvers. This paradigm enables the modeling of a wide range of scheduling problems, including those involving producers and consumers. However, it is unavailable in existing open-source solvers and practical implementation details remain undocumented. In this work, we present an implementation of this modeling approach using a single, generic global constraint called the Generalized Cumulative. We also introduce a novel time-table filtering algorithm specifically designed to handle tasks defined on conditional time-intervals. Experimental results demonstrate that this approach, combined with the new filtering algorithm, performs competitively with existing solvers enabling the modeling of producer and consumer scheduling…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsConstraint Satisfaction and Optimization · Scheduling and Timetabling Solutions · Resource-Constrained Project Scheduling
