On inferring cumulative constraints
Konstantin Sidorov
TL;DR
This work targets the inefficiency of propagating Cumulative constraints in isolation when scheduling involves multiple resources. It reframes Cumulative constraints as linear inequalities over occupancy vectors, enabling cutting-plane style inference via lifting to produce new Cumulative constraints that capture cross-resource contention. The approach enumerates cover sets, lifts their inequalities, and injects a limited number of strengthened constraints at the root, resulting in tighter bounds and faster search on RCPSP and RCPSP/max benchmarks, including 25 new lower bounds and five new best solutions (eight directly from lifted constraints). The findings demonstrate that global, occupancy-vector based inference can provide meaningful practical benefits with limited preprocessing overhead, offering a viable path to integrating multi-resource reasoning within CP solvers.
Abstract
Cumulative constraints are central in scheduling with constraint programming, yet propagation is typically performed per constraint, missing multi-resource interactions and causing severe slowdowns on some benchmarks. I present a preprocessing method for inferring additional cumulative constraints that capture such interactions without search-time probing. This approach interprets cumulative constraints as linear inequalities over occupancy vectors and generates valid inequalities by (i) discovering covers, the sets of tasks that cannot run in parallel, (ii) strengthening the cover inequalities for the discovered sets with lifting, and (iii) injecting the resulting constraints back into the scheduling problem instance. Experiments on standard RCPSP and RCPSP/max test suites show that these inferred constraints improve search performance and tighten objective bounds on favorable instances, while incurring little degradation on unfavorable ones. Additionally, these experiments discover 25 new lower bounds and five new best solutions; eight of the lower bounds are obtained directly from the inferred constraints.
