Abstract
Boolean satisfiability solving is a powerful approach for testing the feasibility of propositional logic formulae in conjunctive normal form. Nowadays, Boolean satisfiability solvers efficiently handle problems with millions of clauses and hundreds of thousands of Boolean variables. But still many combinatorial problems such as resource-constrained project scheduling are beyond their capabilities. However, hybrid solution approaches have recently been proposed for resource-constrained project scheduling with generalized precedence constraints (PS | temp | C max ) that incorporate advanced Boolean satisfiability technology such as nogood learning and conflict-driven search. In this chapter, we present a generic exact method for PS | temp | C max using one of the most successful hybrid approaches called lazy clause generation. This approach combines constraint programming solving with Boolean satisfiability solving.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
In the literature, generalized precedence relations are also known as temporal precedences, arbitrary precedences, minimal and maximal time lags, or time windows.
References
Achterberg T (2009) SCIP: solving constraint integer programs. Math Program Comput 1(1):1–41
Aggoun A, Beldiceanu N (1993) Extending CHIP in order to solve complex scheduling and placement problems. Math Comput Model 17(7):57–73
Ansótegui C, Bofill M, Palahí M, Suy J, Villaret M (2011) Satisfiability modulo theories: an efficient approach for the resource-constrained project scheduling problem. In: Genesereth MR, Revesz PZ (eds) Proceedings of the ninth symposium on abstraction, reformulation, and approximation, SARA 2011. AAAI Press, Menlo Park
Baptiste P, Le Pape C, Nuijten W (2001) Constraint-based scheduling. Kluwer, Norwell
Bartusch M, Möhring RH, Radermacher FJ (1988) Scheduling project networks with resource constraints and time windows. Ann Oper Res 16(1):199–240
Bellman R (1958) On a routing problem. Q Appl Math 16(1):87–90
Berthold T, Heinz S, Lübbecke ME, Möhring RH, Schulz J (2010) A constraint integer programming approach for resource-constrained project scheduling. In: Lodi A, Milano M, Toth P (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems. Lecture notes in computer science, vol 6140. Springer, Heidelberg, pp 313–317
Brucker P, Drexl A, Möhring R, Neumann K, Pesch E (1999) Resource-constrained project scheduling: notation, classification, models, and methods. Eur J Oper Res 112(1):3–41
Davis M, Putnam H (1960) A computing procedure for quantification theory. J ACM 7:201–215
Davis M, Logemann G, Loveland D (1962) A machine program for theorem proving. Commun ACM 5(7):394–397
Dorndorf U, Pesch E, Phan-Huy T (2000) A time-oriented branch-and-bound algorithm for resource-constrained project scheduling with generalised precedence constraints. Manage Sci 46(10):1365–1384
Dutertre B, de Moura L (2006) The Yices SMT solver. http://yices.csl.sri.com/tool-paper.pdf
Feydy T (2010) Constraint programming: improving propagation. Ph.D. dissertation, University of Melbourne, Melbourne
Feydy T, Stuckey PJ (2009) Lazy clause generation reengineered. In: Gent I (ed) Proceedings of the 15th international conference on principles and practice of constraint programming. Lecture notes in computer science, vol 5732. Springer, Heidelberg, pp 352–366
Feydy T, Schutt A, Stuckey PJ (2008) Global difference constraint propagation for finite domain solvers. In: Antoy S, Albert E (eds) Proceedings of principles and practice of declarative programming – PPDP 2008. ACM, New York, pp 226–235
Feydy T, Somogyi Z, Stuckey PJ (2011) Half reification and flattening. In: Lee JHM (ed) Proceedings of principles and practice of constraint programming – CP 2011. Lecture notes in computer science, vol 6876. Springer, Heidelberg, pp 286–301
Ford LR Jr, Fulkerson DR (1962) Flows in networks. Princeton University Press, Princeton
Franck B, Neumann K, Schwindt C (2001) Truncated branch-and-bound, schedule-construction, and schedule-improvement procedures for resource-constrained project scheduling. OR Spectr 23(3):297–324
Heinz S, Schulz J (2011) Explanations for the cumulative constraint: an experimental study. In: Pardalos PM, Rebennack S (eds) Experimental algorithms. Lecture notes in computer science, vol 6630. Springer, Heidelberg, pp 400–409
Heinz S, Schulz J, Beck JC (2013) Using dual presolving reductions to reformulate cumulative constraints. Constraints 18(2):166–201
Horbach A (2010) A boolean satisfiability approach to the resource-constrained project scheduling problem. Ann Oper Res 181:89–107
Huang J (2007) The effect of restarts on the efficiency of clause learning. In: Veloso MM (ed) Proceedings of artificial intelligence – IJCAI 2007, pp 2318–2323
Kolisch R, Schwindt C, Sprecher A (1998) Benchmark instances for project scheduling problems. In: Wȩglarz J (ed) Project scheduling: recent models, algorithms and applications. Kluwer, Boston, pp 197–212
Le Pape C (1994) Implementation of resource constraints in ILOG SCHEDULE: a library for the development of constraint-based scheduling systems. Intell Syst Eng 3(2):55–66
Marriott K, Stuckey PJ (1998) Programming with constraints: an introduction. The MIT Press, Cambridge
Mercier L, Van Hentenryck P (2008) Edge finding for cumulative scheduling. INFORMS J Comput 20(1):143–153
Moskewicz MW, Madigan CF, Zhao Y, Zhang L, Malik S (2001) Chaff: engineering an efficient SAT solver. In: Design automation conference. ACM, New York, pp 530–535
Neumann K, Schwindt C (1997) Activity-on-node networks with minimal and maximal time lags and their application to make-to-order production. OR Spectr 19:205–217
Ohrimenko O, Stuckey PJ, 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
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 (ed) Principles and practice of constraint programming – CP 2010. Lecture notes in computer science, vol 6308. Springer, Heidelberg, pp 445–459
Schutt A, Feydy T, Stuckey PJ, Wallace MG (2009) Why cumulative decomposition is not as bad as it sounds. In: Gent IP (ed) Proceedings of principles and practice of constraint programming – CP 2009. Lecture notes in computer science, vol 5732. Springer, Heidelberg, pp 746–761
Schutt A, Feydy T, Stuckey PJ, Wallace MG (2011) Explaining the cumulative propagator. Constraints 16(3):250–282
Schutt A, Chu G, Stuckey PJ, Wallace MG (2012) Maximising the net present value for resource-constrained project scheduling. In: Beldiceanu N, Jussien N, Pinson E (eds) Integration of AI and OR techniques in contraint programming for combinatorial optimzation problems. Lecture notes in computer science, vol 7298. Springer, Heidelberg, pp 362–378
Schutt A, Feydy T, Stuckey P (2013a) Explaining time-table-edge-finding propagation for the cumulative resource constraint. In: Gomes CP, Sellmann M (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems. Lecture notes in computer science, vol 7874. Springer, Heidelberg, pp 234–250
Schutt A, Feydy T, Stuckey PJ, Wallace MG (2013b) Solving RCPSP/max by lazy clause generation. J Sched 16(3):273–289
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, Karlsruhe
Tsang E (1993) Foundations of constraint satisfaction. Academic, London
Vilím P (2011) Timetable edge finding filtering algorithm for discrete cumulative resources. In: Achterberg T, Beck JC (eds) Integration of AI and OR techniques in constraint programming for combinatorial optimization problems. Lecture notes in computer science, vol 6697. Springer, Heidelberg, pp 230–245
Walsh T (1999) Search in a small world. In: Proceedings of artificial intelligence – IJCAI 1999. Morgan Kaufmann, San Francisco, pp 1172–1177
Acknowledgements
NICTA is funded by the Australian Government as represented by the Department of Communications and the Australian Research Council through the ICT Centre of Excellence program. This work was partially supported by Asian Office of Aerospace Research and Development grant 10-4123.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this chapter
Cite this chapter
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. International Handbooks on Information Systems. Springer, Cham. https://doi.org/10.1007/978-3-319-05443-8_7
Download citation
DOI: https://doi.org/10.1007/978-3-319-05443-8_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-05442-1
Online ISBN: 978-3-319-05443-8
eBook Packages: Business and EconomicsBusiness and Management (R0)