Explaining the cumulative propagator

The global cumulative constraint was proposed for modelling cumulative resources in scheduling problems for finite domain (FD) propagation. Since that time a great deal of research has investigated new stronger and faster filtering techniques for cumulative, but still most of these techniques only pay off in limited cases or are not scalable. Recently, the “lazy clause generation” hybrid solving approach has been devised which allows a finite domain propagation engine possible to take advantage of advanced SAT technology, by “lazily” creating a SAT model of an FD problem as computation progresses. This allows the solver to make use of SAT explanation and autonomous search capabilities. In this article we show how, once we use lazy clause generation, modelling the cumulative constraint by decomposition creates a highly competitive version of cumulative. Using decomposition into component parts automatically makes the propagator incremental and able to explain itself. We then show how, using the insights from the behaviour of the decomposition, we can create global cumulative constraints that explain their propagation. We compare these approaches to explaining the cumulative constraint on resource constrained project scheduling problems. All our methods are able to close a substantial number of open problems from the well-established PSPlib benchmark library of resource-constrained project scheduling problems.

[1]  Peter J. Stuckey,et al.  Lazy Clause Generation Reengineered , 2009, CP.

[2]  Patrice Boizumault,et al.  Maintaining Arc-Consistency within Dynamic Backtracking , 2000, CP.

[3]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[4]  Nicolas Beldiceanu,et al.  Extending CHIP in order to solve complex scheduling and placement problems , 1993, JFPL.

[5]  François Laburthe,et al.  Cumulative Scheduling with Task Intervals , 1996, JICSLP.

[6]  Mary Sheeran,et al.  SAT-Solving in Practice, with a Tutorial Example from Supervisory Control , 2009, Discret. Event Dyn. Syst..

[7]  Philippe Michelon,et al.  A constraint programming approach for the resource-constrained project scheduling problem , 2007, Ann. Oper. Res..

[8]  Peter J. Stuckey,et al.  Why Cumulative Decomposition Is Not as Bad as It Sounds , 2009, CP.

[9]  Jan Karel Lenstra,et al.  Scheduling subject to resource constraints: classification and complexity , 1983, Discret. Appl. Math..

[10]  Rina Dechter,et al.  Temporal Constraint Networks , 1989, Artif. Intell..

[11]  Erik Demeulemeester,et al.  New Benchmark Results for the Resource-Constrained Project Scheduling Problem , 1997 .

[12]  Petr Vilím,et al.  Edge Finding Filtering Algorithm for Discrete Cumulative Resources in O(kn log n){\mathcal O}(kn {\rm log} n) , 2009, CP.

[13]  Peter J. Stuckey,et al.  Efficient constraint propagation engines , 2006, TOPL.

[14]  Rainer Kolisch,et al.  Experimental evaluation of state-of-the-art heuristics for the resource-constrained project scheduling problem , 2000, Eur. J. Oper. Res..

[15]  Rainer Kolisch,et al.  PSPLIB - a project scheduling problem library , 1996 .

[16]  Armin Wolf,et al.  O(n log n) overload checking for the cumulative constraint and its application , 2006 .

[17]  Pascal Van Hentenryck,et al.  Edge Finding for Cumulative Scheduling , 2008, INFORMS J. Comput..

[18]  Philippe Baptiste,et al.  Constraint Propagation and Decomposition Techniques for Highly Disjunctive and Highly Cumulative Project Scheduling Problems , 1997, CP.

[19]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[20]  Philippe Baptiste,et al.  Constraint Propagation and Decomposition Techniques for Highly Disjunctive and Highly Cumulative Project Scheduling Problems , 1997, Constraints.

[21]  Peter J. Stuckey,et al.  Propagation = Lazy Clause Generation , 2007, CP.

[22]  Rainer Kolisch Serial and parallel resource-constrained project scheduling methods revisited: Theory and computation , 1994 .

[23]  Petr Vilím,et al.  Computing Explanations for the Unary Resource Constraint , 2005, CPAIOR.

[24]  Narendra Jussien,et al.  The PaLM system: explanation-based constraint programming , 2000 .

[25]  Peter J. Stuckey,et al.  Propagation via lazy clause generation , 2009, Constraints.

[26]  Peter J. Stuckey,et al.  The Design of the Zinc Modelling Language , 2008, Constraints.

[27]  Narendra Jussien,et al.  Local search with constraint propagation and conflict-based heuristics , 2000, Artif. Intell..

[28]  Eric Pinson,et al.  Jackson's pseudo-preemptive schedule and cumulative scheduling problems , 2004, Discret. Appl. Math..

[29]  Armin Wolf,et al.  Not-First and Not-Last Detection for Cumulative Scheduling in O(n3logn) , 2005, INAP.

[30]  Rainer Kolisch,et al.  PSPLIB - A project scheduling problem library: OR Software - ORSEP Operations Research Software Exchange Program , 1997 .

[31]  Philippe Laborie,et al.  Complete MCS-Based Search: Application to Resource Constrained Project Scheduling , 2005, IJCAI.

[32]  Frank Piessens,et al.  A programming model for concurrent object-oriented programs , 2008, TOPL.

[33]  Fahiem Bacchus,et al.  Generalized NoGoods in CSPs , 2005, AAAI.

[34]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[35]  Narendra Jussien,et al.  The versatility of using explanations within constraint programming , 2003 .

[36]  Rainer Kolisch,et al.  Experimental investigation of heuristics for resource-constrained project scheduling: An update , 2006, Eur. J. Oper. Res..