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.
Similar content being viewed by others
Notes
General temporal constraints are also called generalized precedence constraints or minimum and maximum time lags.
References
Aggoun, A., & Beldiceanu, N. (1993). Extending CHIP in order to solve complex scheduling and placement problems. Mathematical and Computer Modelling, 17(7), 57–73.
Ahuja, R., Magnanti, T., & Orlin, J. (1993). Network Flows. Englewood Cliffs: Prentice Hall.
Baptiste, P. (1994). Constraint-based scheduling: Two extensions. Master’s thesis, University of Strathclyde Glasgow. United Kingdom: Scotland.
Beldiceanu, N. (1998). Parallel machine scheduling with calendar rules. International Workshop on Project Management and Scheduling.
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.
Chu, G.G. (2011). Improving combinatorial optimization. PhD thesis, The University of Melbourne, http://hdl.handle.net/11343/36679.
Franck, B. (1999). Prioritätsregelverfahren für die ressourcenbeschränkte Projektplanung mit und ohne Kalender. Aachen: Shaker.
Franck, B., Neumann, K., & Schwindt, C. (2001a). Project scheduling with calendars. OR Spektrum 23:325–334.
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.
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).
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.
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).
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.
Luby, M., Sinclair, A., & Zuckerman, D. (1993). Optimal speedup of Las Vegas algorithms. Information Processing Letters, 47, 173–180.
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).
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).
Neumann, K., Schwindt, C., & Zimmermann, J. (2003). Project Scheduling with Time Windows and Scarce Resources, 2nd edn. Berlin: Springer.
Ohrimenko, O., Stuckey, P.J., & Codish, M. (2009). Propagation via lazy clause generation. Constraints, 14(3), 357–391.
Schutt, A. (2011). Improving scheduling by learning. PhD thesis, The University of Melbourne, http://hdl.handle.net/11343/36701.
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.
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).
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.
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.
Schwindt, C., & Trautmann, N. (2000). Batch scheduling in process industries: An application of resource-constrained project scheduling. OR Spektrum, 22, 501–524.
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.
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).
Zhan, J. (1992). Calendarization of timeplanning in MPM networks. ZOR – Methods and Models of Operations Research, 36, 423–438.
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
Corresponding author
Additional information
A preliminary version of this paper appears as [10].
Rights and permissions
About this article
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10601-016-9266-6