Abstract
We present a generic exact method for minimizing the project duration of the resource-constrained project scheduling problem with generalized precedence relations (Rcpsp/max). This is a very general scheduling model with applications areas such as project management and production planning. Our method uses lazy clause generation, i.e., a hybrid of finite domain and Boolean satisfiability solving, in order to apply no-good learning and conflict-driven search to the solution generation. Our experiments show the benefit of lazy clause generation for finding an optimal solution and proving its optimality in comparison to other state-of-the-art exact and non-exact methods. In comparison to other methods, our method is able to find better solutions faster on the Rcpsp/max benchmarks. Indeed, our method closes 573 open problem instances and generates better solutions in most of the remaining instances. Surprisingly, although ours is an exact method, it outperforms the published non-exact methods on these benchmarks in terms of the quality of solutions.
Similar content being viewed by others
Notes
In the literature, Rcpsp/max is also called as Rcpsp with temporal precedences, arbitrary precedences, minimal and maximal time lags, and time windows.
Conflict sets are set of activities for which their execution might overlap in time and violate at least one resource constraint if they are executed at the same time.
The missing propagators are not available in the G12 Constraint Programming Platform.
No machine details are given in Oddi and Rasconi (2009).
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.
Ballestín, F., Barrios, A., & Valls, V. (2011). An evolutionary algorithm for the resource-constrained project scheduling problem with minimum and maximum time lags. Journal of Scheduling, 14, 391–406. doi:10.1007/s10951-009-0125-9.
Bartusch, M., Möhring, R. H., & Radermacher, F. J. (1988). Scheduling project networks with resource constraints and time windows. Annals of Operations Research, 16(1), 199–240.
Bellman, R. (1958). On a routing problem. Quarterly of Applied Mathematics, 16(1), 87–90.
Blazewicz, J., Lenstra, J.K., & Rinnooy Kan, A.H.G. (1983). Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics, 5(1), 11–24.
Brucker, P., Drexl, A., Möhring, R., Neumann, K., & Pesch, E. (1999). Resource-constrained project scheduling: notation, classification, models, and methods. European Journal of Operational Research, 112(1), 3–41.
Cesta, A., Oddi, A., & Smith, S. F. (2002). A constraint-based method for project scheduling with time windows. Journal of Heuristics, 8(1), 109–136.
Davis, M., & Putnam, H. (1960). A computing procedure for quantification theory. Journal of the ACM, 7, 201–215.
Davis, M., Logemann, G., & Loveland, D. (1962). A machine program for theorem proving. Communications of the ACM, 5(7), 394–397.
De Reyck, B., & Herroelen, W. (1998). A branch-and-bound procedure for the resource-constrained project scheduling problem with generalized precedence relations. European Journal of Operational Research, 111(1), 152–174.
Dorndorf, U., Pesch, E., & Phan-Huy, T. (2000). A time-oriented branch-and-bound algorithm for resource-constrained project scheduling with generalised precedence constraints. Management Science, 46(10), 1365–1384.
Fest, A., Möhring, R. H., Stork, F., & Uetz, M. (1999). Resource-constrained project scheduling with time windows: a branching scheme based on dynamic release dates (Technical Report 596). Technische Universität Berlin.
Feydy, T. (2010). Constraint programming: improving propagation. PhD thesis, The University of Melbourne.
Feydy, T., Schutt, A., & Stuckey, P. J. (2008). Global difference constraint propagation for finite domain solvers. In S. Antoy & E. Albert (Eds.), Proceedings of principles and practice of declarative programming—PPDP 2008 (pp. 226–235). New York: ACM
Feydy, T., Somogyi, Z., & Stuckey, P. J. (2011). Half reification and flattening. In J. H. M. Lee (Ed.), Lecture notes in computer science: Vol. 6876. Proceedings of principles and practice of constraint programming—CP 2011 (pp. 286–301). Berlin: Springer.
Ford, L. R., & Fulkerson, D. R. (1962). Flows in networks. Princeton: Princeton University Press.
Franck, B., Neumann, K., & Schwindt, C. (2001). Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resource-constrained project scheduling. OR Spektrum, 23(3), 297–324.
Herroelen, W., De Reyck, B., & Demeulemeester, E. (1998). Resource-constrained project scheduling: a survey of recent developments. Computers & Operations Research, 25(4), 279–302.
Horbach, A. (2010). A boolean satisfiability approach to the resource-constrained project scheduling problem. Annals of Operations Research, 181, 89–107.
Huang, J. (2007). The effect of restarts on the efficiency of clause learning. In M. M. Veloso (Ed.), Proceedings of artificial intelligence—IJCAI 2007 (pp. 2318–2323).
Kolisch, R., Schwindt, C., & Sprecher, A. (1998). Publishers, chap benchmark instances for project scheduling problems. In Project scheduling: recent models, algorithms and applications (pp. 197–212). Dordrecht: Kluwer Academic.
Le Pape, C. (1994). Implementation of resource constraints in ILOG Schedule: a library for the development of constraint-based scheduling systems. Intelligent Systems Engineering, 3(2), 55–66.
Marriott, K., & Stuckey, P. J. (1998). Programming with constraints: an introduction. Cambridge: MIT Press.
Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L., & Malik, S. (2001). Chaff: engineering an efficient SAT solver. In Design automation conference (pp. 530–535). New York: ACM.
Neumann, K., & Schwindt, C. (1997). Activity-on-node networks with minimal and maximal time lags and their application to make-to-order production. OR Spektrum, 19, 205–217.
Oddi, A., & Rasconi, R. (2009). Iterative flattening search on RCPSP/max problems: recent developments. In A. Oddi, F. Fages, & F. Rossi (Eds.), Lecture notes in computer science: Vol. 5655. Recent advances in constraints (pp. 99–115). Berlin: Springer.
Ohrimenko, O., Stuckey, P. J., & Codish, M. (2009). Propagation via lazy clause generation. Constraints, 14(3), 357–391.
Project duration problem RCPSP/max (2010). http://www.wior.uni-karlsruhe.de/LS_Neumann/Forschung/ProGenMax/rcpspmax.html.
PSPLib (2010). Project scheduling problem library. http://129.187.106.231/psplib/.
Schutt, A., Feydy, T., Stuckey, P. J., & Wallace, M. G. (2009). Why cumulative decomposition is not as bad as it sounds. In I. P. Gent (Ed.), Lecture notes in computer science: Vol. 5732. Proceedings of principles and practice of constraint programming—CP 2009 (pp. 746–761). Berlin: Springer.
Schutt, A., Feydy, T., Stuckey, P. J., & Wallace, M. G. (2011). Explaining the cumulative propagator. Constraints, 16(3), 250–282.
Schwindt, C. (1995). ProGen/max: a new problem generator for different resource-constrained project scheduling problems with minimal and maximal time lags (WIOR 449). Universität Karlsruhe, Germany
Schwindt, C. (1998a). A branch-and-bound algorithm for the resource-constrained project duration problem subject to temporal constraints (WIOR 544). Universität Karlsruhe, Germany
Schwindt, C. (1998b). Verfahren zur lösung des ressourcenbeschränkten projektdauerminimierungsproblems mit planungsabhängigen zeitfenstern. Aachen: Shaker.
Smith, T. B., & Pyle, J. M. (2004). An effective algorithm for project scheduling with arbitrary temporal constraints. In D. L. McGuinness & G. Ferguson (Eds.), Proceedings of artificial intelligence—AAAI 2004 (pp. 544–549). Cambridge: AAAI Press/MIT Press.
Stuckey, P. J., García de la Banda, M. J., Maher, M. J., Marriott, K., Slaney, J. K., Somogyi, Z., Wallace, M. G., & Walsh, T. (2005). The G12 project: mapping solver independent models to efficient solutions. In M. Gabbrielli & G. Gupta (Eds.), Lecture notes in computer science: Vol. 3668. Proceedings of logic programming—ICLP 2005 (pp. 9–13). Berlin: Springer.
Tsang, E. (1993). Foundations of constraint satisfaction. San Diego: Academic Press.
Walsh, T. (1999). Search in a small world. In Proceedings of artificial intelligence—IJCAI 1999 (pp. 1172–1177). San Mateo: Morgan Kaufmann.
Acknowledgements
We are thankful to the reviewers for their helpful comments and suggestions. NICTA is funded by the Australian Government as represented by the Department of Broadband, Communications and the Digital Economy and the Australian Research Council through the ICT Centre of Excellence program.
Author information
Authors and Affiliations
Corresponding author
Electronic Supplementary Material
Below is the link to the electronic supplementary material.
Rights and permissions
About this article
Cite this article
Schutt, A., Feydy, T., Stuckey, P.J. et al. Solving RCPSP/max by lazy clause generation. J Sched 16, 273–289 (2013). https://doi.org/10.1007/s10951-012-0285-x
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10951-012-0285-x