Explaining Time-Table-Edge-Finding Propagation for the Cumulative Resource Constraint

  • Andreas Schutt
  • Thibaut Feydy
  • Peter J. Stuckey
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7874)


Cumulative resource constraints can model scarce resources in scheduling problems or a dimension in packing and cutting problems.In order to efficiently solve such problems with a constraint programming solver, it is important to have strong and fast propagators for cumulative resource constraints. Time-table-edge-finding propagators are a recent development in cumulative propagators, that combine the current resource profile (time-table) during the edge-finding propagation. The current state of the art for solving scheduling and cutting problems involving cumulative constraints are lazy clause generation solvers, i.e., constraint programming solvers incorporating nogood learning, have proved to be excellent at solving scheduling and cutting problems. For such solvers, concise and accurate explanations of the reasons for propagation are essential for strong nogood learning. In this paper, we develop a time-table-edge-finding propagator for cumulative that explains its propagations. We give results using this propagator in a lazy clause generation system on resource-constrained project scheduling problems from various standard benchmark suites. On the standard benchmark suite PSPLib, we are able to improve the lower bound of about 60% of the remaining open instances, and close 6 open instances.


Constraint Programming Project Schedule Problem Early Start Time Open Instance Compulsory Part 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Achterberg, T.: SCIP: solving constraint integer programs. Mathematical Programming Computation 1, 1–41 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  2. 2.
    Aggoun, A., Beldiceanu, N.: Extending CHIP in order to solve complex scheduling and placement problems. Mathematical and Computer Modelling 17(7), 57–73 (1993)MathSciNetCrossRefGoogle Scholar
  3. 3.
    Alvarez-Valdés, R., Tamarit, J.M.: Heuristic algorithms for resource-constrained project scheduling: A review and an empirical analysis. In: Advances in Project Scheduling, pp. 113–134. Elsevier (1989)Google Scholar
  4. 4.
    Baptiste, P., Le Pape, C.: Constraint propagation and decomposition techniques for highly disjunctive and highly cumulative project scheduling problems. Constraints 5(1-2), 119–139 (2000)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Baptiste, P., Le Pape, C., Nuijten, W.: Satisfiability tests and time-bound adjustments for cumulative scheduling problems. Annals of Operations Research 92, 305–333 (1999)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Baptiste, P., Le Pape, C., Nuijten, W.: Constraint-Based Scheduling. Kluwer Academic Publishers, Norwell (2001)zbMATHCrossRefGoogle Scholar
  7. 7.
    Berthold, T., Heinz, S., Lübbecke, M., Möhring, R., Schulz, J.: A constraint integer programming approach for resource-constrained project scheduling. In: Lodi, A., Milano, M., Toth, P. (eds.) CPAIOR 2010. LNCS, vol. 6140, pp. 313–317. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  8. 8.
    Carlier, J., Néron, E.: On linear lower bounds for the resource constrained project scheduling problem. European Journal of Operational Research 149(2), 314–324 (2003)MathSciNetzbMATHCrossRefGoogle Scholar
  9. 9.
    Feydy, T., Somogyi, Z., Stuckey, P.J.: Half reification and flattening. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 286–301. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  10. 10.
    Feydy, T., Stuckey, P.J.: Lazy clause generation reengineered. In: Gent (ed.) [11], pp. 352–366Google Scholar
  11. 11.
    Gent, I.P. (ed.): CP 2009. LNCS, vol. 5732. Springer, Heidelberg (2009)zbMATHGoogle Scholar
  12. 12.
    Heinz, S., Schulz, J.: Explanations for the cumulative constraint: An experimental study. In: Pardalos, P.M., Rebennack, S. (eds.) SEA 2011. LNCS, vol. 6630, pp. 400–409. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  13. 13.
    Jussien, N.: The versatility of using explanations within constraint programming. Research Report 03-04-INFO, École des Mines de Nantes, Nantes, France (2003)Google Scholar
  14. 14.
    Jussien, N., Barichard, V.: The PaLM system: explanation-based constraint programming. In: Proceedings of TRICS: Techniques foR Implementing Constraint Programming Systems, a Post-conference Workshop of CP 2000, Singapore, pp. 118–133 (2000)Google Scholar
  15. 15.
    Katsirelos, G., Bacchus, F.: Generalized nogoods in CSPs. In: Veloso, M.M., Kambhampati, S. (eds.) Proceedings on Artificial Intelligence – AAAI 2005, pp. 390–396. AAAI Press/The MIT Press (2005)Google Scholar
  16. 16.
    Kolisch, R., Sprecher, A.: PSPLIB – A project scheduling problem library. European Journal of Operational Research 96(1), 205–216 (1997)zbMATHCrossRefGoogle Scholar
  17. 17.
    Kolisch, R., Sprecher, A., Drexl, A.: Characterization and generation of a general class of resource-constrained project scheduling problems. Management Science 41(10), 1693–1703 (1995)zbMATHCrossRefGoogle Scholar
  18. 18.
    Koné, O., Artigues, C., Lopez, P., Mongeau, M.: Event-based MILP models for resource-constrained project scheduling problems. Computers & Operations Research 38(1), 3–13 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  19. 19.
    Liess, O., Michelon, P.: A constraint programming approach for the resource-constrained project scheduling problem. Annals of Operations Research 157(1), 25–36 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 20.
    Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an efficient SAT solver. In: Proceedings of Design Automation Conference – DAC 2001, pp. 530–535. ACM, New York (2001)Google Scholar
  21. 21.
    Nuijten, W.P.M.: Time and Resource Constrained Scheduling. Ph.D. thesis. Eindhoven University of Technology (1994)Google Scholar
  22. 22.
    Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)MathSciNetzbMATHCrossRefGoogle Scholar
  23. 23.
    Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. ACM Transactions on Programming Languages and Systems 31(1), Article No. 2 (2008)Google Scholar
  24. 24.
    Schutt, A.: Improving Scheduling by Learning. Ph.D. thesis, The University of Melbourne (2011),
  25. 25.
    Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Why cumulative decomposition is not as bad as it sounds. In: Gent (ed.) [11], pp. 746–761Google Scholar
  26. 26.
    Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Explaining the cumulative propagator. Constraints 16(3), 250–282 (2011)MathSciNetzbMATHCrossRefGoogle Scholar
  27. 27.
    Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Solving RCPSP/max by lazy clause generation. Journal of Scheduling, 1–17 (2012), online firstGoogle Scholar
  28. 28.
    Schutt, A., Stuckey, P., Verden, A.: Optimal carpet cutting. In: Lee, J. (ed.) CP 2011. LNCS, vol. 6876, pp. 69–84. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  29. 29.
    Schutt, A., Wolf, A.: A new \({\mathcal O}(n^2\log n)\) not-first/not-last pruning algorithm for cumulative resource constraints. In: Cohen, D. (ed.) CP 2010. LNCS, vol. 6308, pp. 445–459. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  30. 30.
    Somogyi, Z., Henderson, F., Conway, T.: The execution algorithm of Mercury, an efficient purely declarative logic programming language. The Journal of Logic Programming 29(1-3), 17–64 (1996)zbMATHCrossRefGoogle Scholar
  31. 31.
    Stuckey, P.J., de la Banda, M.G., Maher, M.J., Marriott, K., Slaney, J.K., Somogyi, Z., Wallace, M., Walsh, T.: The G12 project: Mapping solver independent models to efficient solutions. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 9–13. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  32. 32.
    Vilím, P.: Computing explanations for the unary resource constraint. In: Barták, R., Milano, M. (eds.) CPAIOR 2005. LNCS, vol. 3524, pp. 396–409. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  33. 33.
    Vilím, P.: Edge finding filtering algorithm for discrete cumulative resources in \({\mathcal O}(kn\log n)\). In: Gent (ed.) [11], pp. 802–816Google Scholar
  34. 34.
    Vilím, P.: Timetable edge finding filtering algorithm for discrete cumulative resources. In: Achterberg, T., Beck, J.C. (eds.) CPAIOR 2011. LNCS, vol. 6697, pp. 230–245. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  35. 35.
    Walsh, T.: Search in a small world. In: Proceedings of Artificial intelligence – IJCAI 1999, pp. 1172–1177. Morgan Kaufmann (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Andreas Schutt
    • 1
  • Thibaut Feydy
    • 1
  • Peter J. Stuckey
    • 1
  1. 1.Optimisation Research Group, National ICT Australia, and Department of Computing and Information SystemsThe University of MelbourneAustralia

Personalised recommendations