Abstract
The recent success of the lazy clause generator (a hybrid of a FD and a SAT solver) on resource-constrained project scheduling problems (RCPSP) shows the importance of the global cumulative constraint to tackle these problems. A key for an efficient cumulative propagator is a fast and correct pruning of time-bounds. The not-first/not-last rule (which is not subsumed by other rules) detects activities that cannot be run at first/last regarding to an activity set and prunes their time bounds. This paper presents a new sound not-first/not-last pruning algorithm which runs in \({\mathcal O}(n^2\log n)\), where n is the number of activities. It may not find the best adjustments in the first run, but after at most n iterations. This approach of iteration fits the setup of constraint propagation quite naturally offering the opportunity that a fixed point is reached more efficiently. Moreover, it uses a novel approach of generation of some “artificial” activities in the context of triggering pruning rules correctly. In experiments on RCPSP amongst others from the well-established PSPLib we show that the algorithm runs negligible more often than a complete algorithm while taking its advantage from the lower – to the best of our knowledge the lowest known – runtime complexity.
This work was partly funded by the European Union (EFRE) and the state Berlin, grant no. 10023515 and by the German Federal Ministry of Education and Research (BMBF), grant no. 13N10598. The core of the published results is already presented in the master thesis of Schutt [11].
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
Baptiste, P., Le Pape, C., Nuijten, W.: Constraint-Based Scheduling. International Series in Operations Research & Management Science, vol. 39. Kluwer Academic Publishers, Dordrecht (2001)
Beldiceanu, N., Contejean, E.: Introducing global constraints in CHIP. Mathematical and Computer Modelling 12, 97–123 (1994)
Blazewicz, J., Lenstraand, J.K., Rinnooy Kan, A.H.G.: Scheduling subject to resource constraints: classification and complexity. Discrete Applied Mathematics 5, 11–24 (1983)
Caseau, Y., Laburthe, F.: Cumulative scheduling with task intervals. In: Maher, M.J. (ed.) Joint International Conference and Symposium on Logic Programming – JICSLP 1996, pp. 363–377. MIT Press, Cambridge (1996)
Hoche, M., Müller, H., Schlenker, H., Wolf, A.: firstCS - A Pure Java Constraint Programming Engine. In: Hanus, M., Hofstedt, P., Wolf, A. (eds.) 2nd International Workshop on Multiparadigm Constraint Programming Languages – MultiCPL 2003 (September 2003), uebb.cs.tu-berlin.de/MultiCPL03/Proceedings.MultiCPL03.RCoRP03.pdf
Kolisch, R., Sprecher, A.: PSPLIB – A project scheduling problem library. European Journal of Operational Research 96(1), 205–216 (1997)
Mercier, L., Van Hentenryck, P.: Edge finding for cumulative scheduling. INFORMS Journal on Computing 20(1), 143–153 (2008)
Nuijten, W.P.M.: Time and Resource Constrained Scheduling. PhD thesis, Eindhoven University of Technology (1994)
Ohrimenko, O., Stuckey, P.J., Codish, M.: Propagation via lazy clause generation. Constraints 14(3), 357–391 (2009)
Schutt, A.: Entwicklung suchraumeinschränkender Verfahren zur constraint-basierten Lösung kumulativer Ressourcenplanungsprobleme. In: Diplomarbeit, Humboldt Universität zu Berlin, Berlin, Germany (September 2006) (in German)
Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Explaining the cumulative propagator. To appear in Constraints
Schutt, A., Feydy, T., Stuckey, P.J., Wallace, M.G.: Why cumulative decomposition is not as bad as it sounds. In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 746–761. Springer, Heidelberg (2009)
Schutt, A., Wolf, A., Schrader, G.: Not-first and not-last detection for cumulative scheduling in \({\cal O}(n^3\log n)\). In: Umeda, M., Wolf, A., Bartenstein, O., Geske, U., Seipel, D., Takata, O. (eds.) INAP 2005. Schutt, A., Wolf, A., Schrader, G, vol. 4369, pp. 66–80. Springer, Heidelberg (2006)
Simonis, H., O’Sullivan, B.: Search strategies for rectangle packing. In: Stuckey, P.J. (ed.) CP 2008. LNCS, vol. 5202, pp. 52–66. Springer, Heidelberg (2008)
Vilím, P.: O(n logn) filtering algorithms for unary resource constraint. In: Régin, J.-C., Rueher, M. (eds.) CPAIOR 2004. LNCS, vol. 3011, pp. 335–347. Springer, Heidelberg (2004)
Vilím, P.: Edge finding filtering algorithm for discrete cumulative resources in \({\mathcal O}(kn\log n)\). In: Gent, I.P. (ed.) CP 2009. LNCS, vol. 5732, pp. 802–816. Springer, Heidelberg (2009)
Vilím, P., Barták, R., Čepek, O.: Unary resource constraint with optional activities. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 62–76. Springer, Heidelberg (2004)
Wolf, A., Schrader, G.: \({\cal O}(n \log n)\) overload checking for the cumulative constraint and its application. In: Umeda, M., Wolf, A., Bartenstein, O., Geske, U., Seipel, D., Takata, O. (eds.) INAP 2005. LNCS (LNAI), vol. 4369, pp. 88–101. Springer, Heidelberg (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schutt, A., Wolf, A. (2010). A New \({\mathcal O}(n^2\log n)\) Not-First/Not-Last Pruning Algorithm for Cumulative Resource Constraints. In: Cohen, D. (eds) Principles and Practice of Constraint Programming – CP 2010. CP 2010. Lecture Notes in Computer Science, vol 6308. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15396-9_36
Download citation
DOI: https://doi.org/10.1007/978-3-642-15396-9_36
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15395-2
Online ISBN: 978-3-642-15396-9
eBook Packages: Computer ScienceComputer Science (R0)