Search papers, labs, and topics across Lattice.
The paper introduces a preprocessing technique to infer additional cumulative constraints in scheduling problems, addressing the limitations of per-constraint propagation. It formulates cumulative constraints as linear inequalities and generates valid inequalities by discovering covers (sets of tasks that cannot run in parallel), strengthening them with lifting, and injecting them back into the problem. Experiments on RCPSP and RCPSP/max benchmarks demonstrate improved search performance, tighter objective bounds, and the discovery of new lower bounds and best solutions.
Uncover hidden bottlenecks in scheduling problems by automatically inferring cumulative constraints, leading to faster solutions and tighter bounds.
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.