Introduction
Constraint programming (CP) is a methodology for modeling and solving (combinatorial) optimization and satisfaction problems [37]. Its origins are in artificial intelligence, computer science, and operations research. The classical constraint satisfaction problem is represented by a set of variables X over a domain of possible values D and a set of constraints (or relations) C over X. The goal is to find one or all solutions (variable assignments) that satisfy all constraints. A constraint optimization problem additionally has an objective function over X to be optimized.
In its purest form, the constraint programming solution process involves a combination of search and inference. These are both foundational concepts in artificial intelligence [38]. In the context of CP, the search process requires the definition of the search space (e.g., creating subproblems by splitting variable domains), as well as a method to traversethe search space (e.g., depth-first search with...
References
Allouche D, Barbe S, Givry Sd, Katsirelos G, Lebbah Y, Loudni S, Ouali A, Schiex T, Simoncini D, Zytnicki M (2021) Cost function networks to solve large computational protein design problems. In: Masmoudi M, Jarboui B, Siarry P (eds) Operations research and simulation in healthcare. Springer International Publishing, pp 81–102
Apt KR (1999) The essence of constraint propagation. Theor Comput Sci 221(1–2):179–210
Backofen R, Gilbert D (2006) Bioinformatics and constraints. In: Rossi F, van Beek P, Walsh T (eds) Handbook of constraint programming, chap 26. Elsevier, pp 905–944
Baptiste P, Le Pape C, Nuijten W (2001) Constraint-based scheduling – applying constraint programming to scheduling problems. Springer
Benchimol P, van Hoeve WJ, Régin J, Rousseau L, Rueher M (2012) Improved filtering for weighted circuit constraints. Constraints 17(3):205–233
Benhamou F (1996) Heterogeneous constraint solving. In: Hanus M, RodrÃguez-Artalejo M (eds) Algebraic and logic programming. Springer, pp 62–76
Benhamou F, McAllester D, Van Hentenryck P (1994) CLP(Intervals) revisited. In: Proceedings of the International Symposium on Logic Programming (ILPS-94), Ithaca, NY, pp 124–138
Bent R, Van Hentenryck P (2004) A two-stage hybrid local search for the vehicle routing problem with time windows. Transp Sci 8(4):515–530
Bent R, Van Hentenryck P (2006) A two-stage hybrid algorithm for pickup and delivery vehicle routing problems with time windows. Comput Oper Res (Special Issue on Applications in Combinatorial Optimization) 33(4):875–893
Bergman D, Cire AA, Hoeve WJv, Hooker J (2016) Decision diagrams for optimization, 1st edn. Springer Publishing Company, Incorporated
Bessiere C (2006) Constraint propagation. In: Rossi F, van Beek P, Walsh T (eds) Handbook of constraint programming, chap 3. Elsevier, pp 29–83
Dechter R (1999) Bucket elimination: a unifying framework for reasoning. Artif Intell 113:41–85
Dechter R (2003) Constraint processing. Morgan Kaufmann
Fahle T, Junker U, Karisch SE, Kohl N, Sellmann M, Vaaben B (2002) Constraint programming based column generation for crew assignment. J Heuristics 8(1):59–81
Focacci F, Lodi A, Milano M (2002) A hybrid exact algorithm for the TSPTW. INFORMS J Comput 14(4):403–417
Freuder E, Wallace M (2000) Constraint technology and the commercial world. IEEE Intell Syst 15(1):20–23
Freuder EC (1985) A sufficient condition for backtrack-bounded search. J ACM 32(4):755–761
Gargani A, Refalo P (2007) An efficient model and strategy for the steel mill slab design problem. In: Proceedings of the 13th International Conference on Principles and Practice of Constraint Programming (CP’07)
Goel V, Slusky M, van Hoeve WJ, Furman K, Shao Y (2015) Constraint programming for LNG ship scheduling and inventory management. Eur J Oper Res 241(3):662–673
van Hoeve W, Katriel I (2006) Global constraints. In: Rossi F, van Beek P, Walsh T (eds) Handbook of constraint programming, chap 6. Elsevier, pp 169–208
Hooker JN (2007) Planning and scheduling by logic-based benders decomposition. Oper Res 55(3):588–602
Hooker JN, van Hoeve WJ (2018) Constraint programming and operations research. Constraints 23:172–195
Junker U (2006) Configuration. In: Rossi F, van Beek P, Walsh T (eds) Handbook of constraint programming, chap 24. Elsevier, pp 837–873
Jussien N, Barichard V (2000) The PaLM system: explanation-based constraint programming. In: TRICS: techniques for Implementing Constraint programming Systems, a post-conference of CP 2000, Singapore, Singapore, pp 118–133. https://univ-angers.hal.science/hal-04031165
Kilby P, Shaw P (2006) Vehicle routing. In: Rossi F, van Beek P, Walsh T (eds) Handbook of constraint programming, chap 23. Elsevier, pp 801–836
Kroon L, Huisman D, Abbink E, Fioole PJ, Fischetti M, Maróti G, Schrijver A, Steenbeek A, Ybema R (2009) The new Dutch timetable: the or revolution. Interfaces 39(1):6–17
Laborie P, Rogerie J, Shaw P, VilÃm P (2018) IBM ILOG CP optimizer for scheduling. Constraints 23:210–250
Laburthe F, Caseau Y (1998) SALSA: a language for search algorithms. In: Fourth International Conference on the Principles and Practice of Constraint Programming (CP’98), Pisa, Italy
McAloon K, Tretkoff C, Wetzel G (1997) Sport league scheduling. In:Proceedings of the 3th Ilog International Users Meeting, Paris, France
Naveh Y, Richter Y, Altshuler Y, Gresh DL, Connors DP (2007) Workforce optimization: identification and assignment of professional workers using constraint programming. IBM J Res Dev 51(3.4):263–279
Ohrimenko O, Stuckey PJ, Codish M (2007) Propagation = lazy clause generation. In: Proceedings of 13th International Conference on the Principles and Practice of Constraint Programming, Providence, RI, USA, 23–27 Sept, pp 544–558
Older W, Benhamou F (1993) Programming in CLP(BNR). In: PPCP’93, Newport, RI (USA)
Puranik Y, Sahinidis NV (2017) Domain reduction techniques for global NLP and MINLP optimization. Constraints 22(3):338–376
Régin J (1994) A filtering algorithm for constraints of difference in CSPs. In: Proceedings of the 12th National Conference on Artificial Intelligence, vol 1, Seattle, WA, USA, 31 July–4 Aug 1994. AAAI Press/The MIT Press, pp 362–367
Régin JC (1998) Sport league scheduling. In: INFORMS, Montreal, Canada
Régin JC (2011) Global constraints: a survey. In: van Hentenryck P, Milano M (eds) Hybrid optimization: the ten years of CPAIOR. Springer, pp 63–134
Rossi F, van Beek P, Walsh T (eds) (2006) Handbook of constraint programming. Elsevier
Russell SJ, Norvig P (2020) Artificial intelligence: a modern approach, 4th edn. Prentice Hall
Schrijvers T, Tack G, Wuille P, Samulowitz H, Stuckey P (2013) Search combinators. Constraints 18(2):269–305. https://doi.org/10.1007/s10601-012-9137-8
Schutt A, Feydy T, Stuckey PJ, Wallace MG (2011) Explaining the cumulative propagator. Constraints 16(3):250–282
Shaw P (1998) Using constraint programming and local search methods to solve vehicle routing problems. In: Principles and practice of constraint programming, vol 1520. Lecture Notes in Computer Science. Springer, pp 417–431
Tawarmalani M, Sahinidis NV (2002) Convexification and global optimization in continuous and mixed-integer nonlinear programming: theory, algorithms, software, and applications. Springer
Trick MA (2003) A dynamic programming approach for consistency and propagation for knapsack constraints. Ann Oper Res 118(1–4):73–84
Van Hentenryck P (1999) The OPL optimization programming language. The MIT Press, Cambridge, Mass
Van Hentenryck P, Michel L (2013) The objective-CP optimization system. In: Schulte C (ed) Principles and practice of constraint programming. Springer Berlin/Heidelberg, pp 8–29
Van Hentenryck P, Michel L, Deville Y (1997) Numerica: a modeling language for global optimization. MIT Press
Van Hentenryck P, Michel L, Perron L, Regin J (1999) Constraint programming in OPL. In: Proceedings of the International Conference on the Principles and Practice of Declarative Programming (PPDP’99), Paris, France, pp 98–116 (Invited Paper)
Van Hentenryck P, Flener P, Pearson J, Ågren M (2003) Tractable symmetry breaking for CSPS with interchangeable values. In: International Joint Conference on Artificial Intelligence (IJCAI’03)
Wallace M (1996) Practical applications of constraint programming. Constraints 1:139–168
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 Springer Nature Switzerland AG
About this entry
Cite this entry
Van Hentenryck, P., van Hoeve, WJ. (2023). Constraint Programming. In: Pardalos, P.M., Prokopyev, O.A. (eds) Encyclopedia of Optimization. Springer, Cham. https://doi.org/10.1007/978-3-030-54621-2_713-1
Download citation
DOI: https://doi.org/10.1007/978-3-030-54621-2_713-1
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-54621-2
Online ISBN: 978-3-030-54621-2
eBook Packages: Springer Reference MathematicsReference Module Computer Science and Engineering