Skip to main content
Log in

Using constraint programming for solving RCPSP/max-cal

  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Resource-constrained project scheduling with the objective of minimizing project duration (RCPSP) is one of the most studied scheduling problems. In this paper we consider the RCPSP with general temporal constraints and calendar constraints. Calendar constraints make some resources unavailable on certain days in the scheduling period and force activity execution to be delayed while resources are unavailable. They arise in practice from, e.g., unavailabilities of staff during public holidays and weekends. The resulting problems are challenging optimization problems. We develop not only six different constraint programming (CP) models to tackle the problem, but also a specialized propagator for the cumulative resource constraints taking the calendar constraints into account. This propagator includes the ability to explain its inferences so it can be used in a lazy clause generation solver. We compare these models, and different search strategies on a challenging set of benchmarks using the lazy clause generation solver chuffed and IBM CPLEX CP Optimizer, respectively. We close all but 8 of the open problems of the benchmark set, extend the benchmark set by instances with up to 500 activities, and show that CP solutions are highly competitive with existing Mip models of the problem.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

Notes

  1. General temporal constraints are also called generalized precedence constraints or minimum and maximum time lags.

References

  1. Aggoun, A., & Beldiceanu, N. (1993). Extending CHIP in order to solve complex scheduling and placement problems. Mathematical and Computer Modelling, 17(7), 57–73.

    Article  MathSciNet  Google Scholar 

  2. Ahuja, R., Magnanti, T., & Orlin, J. (1993). Network Flows. Englewood Cliffs: Prentice Hall.

    MATH  Google Scholar 

  3. Baptiste, P. (1994). Constraint-based scheduling: Two extensions. Master’s thesis, University of Strathclyde Glasgow. United Kingdom: Scotland.

    Google Scholar 

  4. Beldiceanu, N. (1998). Parallel machine scheduling with calendar rules. International Workshop on Project Management and Scheduling.

  5. Cheng, J., Fowler, J., Kempf, K., & Mason, S. (2015). Multi-mode resource-constrained project scheduling problems with non-preemptive activity splitting. Computers & Operations Research, 53, 275–287.

    Article  MathSciNet  MATH  Google Scholar 

  6. Chu, G.G. (2011). Improving combinatorial optimization. PhD thesis, The University of Melbourne, http://hdl.handle.net/11343/36679.

  7. Franck, B. (1999). Prioritätsregelverfahren für die ressourcenbeschränkte Projektplanung mit und ohne Kalender. Aachen: Shaker.

    Google Scholar 

  8. Franck, B., Neumann, K., & Schwindt, C. (2001a). Project scheduling with calendars. OR Spektrum 23:325–334.

  9. Franck, B, Neumann, K, & Schwindt, C (2001b). Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resource-constrained project scheduling. OR Spektrum 23:297–324.

  10. Kreter, S., Schutt, A., & Stuckey, P.J. (2015). Modeling and solving project scheduling with calendars. In Pesant, G. (Ed.) Principles and Practice of Constraint Programming, Springer International Publishing, Lecture Notes in Computer Science. doi:10.1007/978-3-319-23219-5_19, (Vol. 9255 pp. 262–278).

  11. Kreter, S., Rieck, J., & Zimmermann, J. (2016). Models and solution procedures for the resource-constrained project scheduling problem with general temporal constraints and calendars. European Journal of Operational Research, 251(2), 387–403.

    Article  MathSciNet  MATH  Google Scholar 

  12. Laborie, P. (2009). IBM ILOG CP Optimizer for detailed scheduling illustrated on three problems. In Hoeve, W.J., & Hooker, J.N. (Eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Springer Berlin Heidelberg, Lecture Notes in Computer Science. doi:10.1007/978-3-642-01929-6_12, (Vol. 5547 pp. 148–162).

  13. Lahrichi, A. (1982). Scheduling: The notions of hump, compulsory parts and their use in cumulative problems. Comptes Rendus de l’Académie des Sciences Paris, Série 1. Matématique, 294(2), 209–211.

    Google Scholar 

  14. Luby, M., Sinclair, A., & Zuckerman, D. (1993). Optimal speedup of Las Vegas algorithms. Information Processing Letters, 47, 173–180.

    Article  MathSciNet  MATH  Google Scholar 

  15. Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: Engineering an efficient SAT solver. In Proceedings of Design Automation Conference – DAC 2001, ACM, New York, NY, USA. doi:10.1145/378239.379017 (pp. 530–535).

  16. Nethercote, N., Stuckey, P.J., Becket, R., Brand, S., Duck, G.J., & Tack, G. (2007). MiniZinc: Towards a standard CP modelling language. In Bessière, C. (Ed.) Principles and Practice of Constraint Programming – CP 2007, Springer Berlin Heidelberg, Lecture Notes in Computer Science. doi:10.1007/978-3-540-74970-7_38, (Vol. 4741 pp. 529–543).

  17. Neumann, K., Schwindt, C., & Zimmermann, J. (2003). Project Scheduling with Time Windows and Scarce Resources, 2nd edn. Berlin: Springer.

    Book  MATH  Google Scholar 

  18. Ohrimenko, O., Stuckey, P.J., & Codish, M. (2009). Propagation via lazy clause generation. Constraints, 14(3), 357–391.

    Article  MathSciNet  MATH  Google Scholar 

  19. Schutt, A. (2011). Improving scheduling by learning. PhD thesis, The University of Melbourne, http://hdl.handle.net/11343/36701.

  20. Schutt, A., Feydy, T., Stuckey, P.J., & Wallace, M.G. (2011). Explaining the cumulative propagator. Constraints, 16(3), 250–282. doi:10.1007/s10601-010-9103-2.

    Article  MathSciNet  MATH  Google Scholar 

  21. Schutt, A., Feydy, T., & Stuckey, P.J. (2013a). Explaining time-table-edge-finding propagation for the cumulative resource constraint. In Gomes, C.P., & Sellmann, M. (Eds.) Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems, Springer Berlin Heidelberg, Lecture Notes in Computer Science. doi:10.1007/978-3-642-38171-3_16, (Vol. 7874 pp. 234–250).

  22. Schutt, A., Feydy, T., Stuckey, P.J., & Wallace, M.G. (2013b). Solving RCPSP/max by lazy clause generation. Journal of Scheduling, 16(3), 273–289. doi:10.1007/s10951-012-0285-x.

  23. Schutt, A., Feydy, T., Stuckey, P.J., & Wallace, M.G. (2015). A satisfiability solving approach. In Schwindt, C., & Zimmermann, J. (Eds.) Handbook on Project Management and Scheduling, (Vol. 1 pp. 135–160): Springer International Publishing.

  24. Schwindt, C., & Trautmann, N. (2000). Batch scheduling in process industries: An application of resource-constrained project scheduling. OR Spektrum, 22, 501–524.

    Article  MathSciNet  MATH  Google Scholar 

  25. Trautmann, N. (2001). Calendars in project scheduling. In Fleischmann, B., Lasch, R., Derigs, U., Domschke, W., & Rieder, U. (Eds.) Operations Research Proceedings, (Vol. 2000 pp. 388–392). Berlin: Springer.

  26. Vilím, P. (2011). Timetable edge finding filtering algorithm for discrete cumulative resources. In Achterberg, T., & Beck, J. (Eds.) Proceedings of Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimization Problems – CPAIOR 2011, Springer Berlin / Heidelberg, Lecture Notes in Computer Science. doi:10.1007/978-3-642-21311-3_22, (Vol. 6697 pp. 230–245).

  27. Zhan, J. (1992). Calendarization of timeplanning in MPM networks. ZOR – Methods and Models of Operations Research, 36, 423–438.

    Article  MATH  Google Scholar 

Download references

Acknowledgments

This work was partially supported by Asian Office of Aerospace Research and Development (AOARD) grant FA2386-12-1-4056. We thank Petr Vilím for his insights and suggestions that he provided us for our initial CP Optimizer model. We also thank for the anonymous reviewers who help to improve the manuscript, especially for the suggestions of model variants of the CP Optimizer model.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefan Kreter.

Additional information

A preliminary version of this paper appears as [10].

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Kreter, S., Schutt, A. & Stuckey, P.J. Using constraint programming for solving RCPSP/max-cal. Constraints 22, 432–462 (2017). https://doi.org/10.1007/s10601-016-9266-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-016-9266-6

Keywords

Navigation