Constraint Logic Programming

  • Mark Wallace
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2407)


Constraint Logic Programming (CLP) extends logic programming in two ways. Firstly it admits special predicates called constraints, which are not defined by clauses, but which are handled instead by specific constraint solvers built into the CLP system. This extension has been formalised as the CLP Scheme. Secondly CLP admits other forms of processing than backwards reasoning by unfolding, in particular constraint propagation. This extension has been formalised in terms of Information Systems. These two extensions are now widely applied in industry, in particular to large scale combinatorial optimisation problems. The success of CLP has inspired a great deal of ongoing research into algorithms (especially hybrid and incremental), languages and applications.


Logic Program Logic Programming Constraint Programming Master Problem Constraint System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    S. Abdennadher and H. Schlenker. INTERDIP-an interactive constraint based nurse scheduler. In PACLP’99. The Practical Applications Company, April 1999.Google Scholar
  2. [2]
    Abderrahmane Aggoun and Nicolas Beldiceanu. Extending CHIP in order to solve complex scheduling and placement problems. Journal of Mathematical and Computer Modelling, 17(7):57–73, 1993.CrossRefGoogle Scholar
  3. [3]
  4. [4]
    L. H. Appelgren. A column generation algorithm for a ship scheduling problem. Transportation Science, 3:53–68, 1969.CrossRefGoogle Scholar
  5. [5]
    Krzysztof Apt. The essence of constraint propagation. TCS: Theoretical Computer Science, 221, 1999.Google Scholar
  6. [6]
    Greg J. Badros, Alan Borning, Kim Marriott, and Peter Stuckey. Constraint cascading style sheets for the web. In Proceedings of the 12th Annual ACM Symposium on User Interface Software and Technology, pages 73–82, N.Y., November 7–10 1999. ACM Press.Google Scholar
  7. [7]
    P. Baptiste and C. Le Pape. A theoretical and experimental comparison of constraint propagation techniques for disjunctive scheduling. In C. Mellish, editor, Proc. IJCAI, volume 1, pages 600–606, 1995.Google Scholar
  8. [8]
    N. Beldiceanu. New global constraints in chip. Presented at the CHIP Users’ Club 95, 1995.Google Scholar
  9. [9]
    N. Beldiceanu. Global constraints as graph properties on a structured network of elementary constraints of the same type. In R. Dechter, editor, Proc. Conf. on Principles and Practice of Constraint Programming, CP’2000, volume 1894 of Lecture Notes in Computer Science, pages 52–66. Springer Verlag, 2000.Google Scholar
  10. [10]
    N. Beldiceanu and E. Contjean. Introducing global constraints in CHIP. Mathematical and Computer Modelling, 12:97–123, 1994. Scholar
  11. [11]
    P. Boizumault, P. David, and H. Djellab. A repair algorithm for allocating resources in a mobile telephone network. In PACLP’99. The Practical Applications Company, April 1999.Google Scholar
  12. [12]
    Alex Brodsky. Constraint databases: promising technology or just intellectual exercise? CSURVES: Computing Surveys Electronic Section, 28, 1996.Google Scholar
  13. [13]
    Y. Caseau and F. Laburthe. Heuristics for large constrained vehicle routing problems. Journal of Heuristics, 5(3):281–303, 1999.zbMATHCrossRefGoogle Scholar
  14. [14]
    Yves Caseau and Francois Laburthe. Improved clp scheduling with task intervals. In P. Van Hentenryck, editor, Proceedings of the 11th International Conference on Logic Programming, Santa Margherita, 1994. MIT Press.Google Scholar
  15. [15]
  16. [16]
    K. L. Clark. Negation as failure. In H. Gallaire and J. Minker, editors, Logic and Data Bases, pages 293–322. Plenum Press, 1978.Google Scholar
  17. [17]
    A. Colmerauer. Equations and Inequations on Finite and Infinite Trees. In Proceedings of the International Conference on Fifth Generation Computer Systems (FGCS-84), pages 85–99, Tokyo, Japan, November 1984. ICOT.Google Scholar
  18. [18]
    M.-M. Corsini, K. Musumbu, A. Rauzy, and B. L. Charlier. Efficient bottom-up abstract interpretation of Prolog by means of constraint solving over symbolic finite domains. Lecture Notes in Computer Science, 714, 1993.Google Scholar
  19. [19]
  20. [20]
    J. de Kleer. A comparison of ATMS and CSP techniques. In Proc. 11th International Joint Conference on Artificial Intelligence, IJCAI’89, 1989.Google Scholar
  21. [21]
    M. Dincbas and H. Simonis. APACHE-a constraint-based, automated stand allocation system. In Proc. of Advanced Software Technology in Air Transport (ASTAIR’91, 1991.Google Scholar
  22. [22]
    M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The constraint logic programming language CHIP. In Proceedings Intl. Conf. on Fifth Generation Computer Systems, Tokyo, Japan, Dec 1988, pages 693–702. Ohmsha Publishers, Tokyo, 1988.Google Scholar
  23. [23]
    T. Filkhorn, H.-A. Schneider, A. Scholz, A. Strasser, and P. Warkentin. SVE system verification environment. Technical Report SVE, ZFE BT SE Siemens AG, 1995.Google Scholar
  24. [24]
    M. Fisher. An applications oriented guide to lagrangian relaxation, 1985.Google Scholar
  25. [25]
    F. Focacci, A. Lodi, and M. Milano. Embedding relaxations in global constraints for solving TSP and its time constrained variant. Annals of Mathematics and Artificial Intelligence, Special issue on Large Scale Combinatorial Optimization, 2001. To appear.Google Scholar
  26. [26]
    E.C. Freuder. Synthesizing constraint expressions. Communications of the ACM, 21:958–966, November 1978.Google Scholar
  27. [27]
    M. P. J. Fromherz, V. A. Saraswat, and D. G. Bobrow. Model-based computing: Developing flexible machine control software. Artificial Intelligence, 114(1–2):157–202, 1999.zbMATHCrossRefGoogle Scholar
  28. [28]
    T. Fruhwirth. Theory and practice of constraint handling rules, 1998.Google Scholar
  29. [29]
    V. Gaede, A. Brodsky, O. Guenther, D. Srivastava, V. Vianu, and M. G. Wallace. Constraint Databases and Applications. Number 1191 in LNCS. Springer Verlag, 1998.Google Scholar
  30. [30]
    Carmen Gervet and Mark Wallace. Third international workshop on integration of AI and OR techniques in constraint programming for combinatorial optimization problems. Programme and papers presented at CPAIOR’01: http://www., 2001.
  31. [31]
    Matt Ginsberg. Dynamic backtracking. Technical report, 1992.
  32. [32]
    Weiqing He and Kim Marriott. Constrained graph layout. Constraints, 3(4), 1998.Google Scholar
  33. [33]
    P. Van Hentenryck, Y. Deville, and C.-M. Teng. A generic arc-consistency algorithm and its specializations. Artificial Intelligence, 57(2–3): 291–321, October 1992.Google Scholar
  34. [34]
  35. [35]
  36. [36]
  37. [37]
    J. Jaffar and J.-L. Lassez. Constraint logic programming. In ACM, editor, POPL’ 87. Fourteenth Annual ACM SIGACT-SIGPLAN Symposium on Principles of programming languages, January 21–23, 1987, Munich, W. Germany, pages 111–119, New York, NY, USA, 1987. ACM Press.Google Scholar
  38. [38]
    J. Jaffar, S. Michaylov, P. J. Stuckey, and R. H. C. Yap. The CLP(R) language and system. ACM Trans. Prog. Lang. and Sys., 14(3), July 1992.Google Scholar
  39. [39]
    Joxan Jaffar and Michael J. Maher. Constraint logic programming: A survey. The Journal of Logic Programming, 19 & 20:503–582, May 1994.Google Scholar
  40. [40]
    U. Junker, S. E. Karisch, N. Kohl, B. Vaaben, T. Fahle, and M. Sellmann. A framework for constraint programming based column generation. In Proceedings of the 5th International Conference on Principles and Practice of Constraint Programming-LNCS 1713, pages 261–274. Springer-Verlag, 1999.Google Scholar
  41. [41]
    Bob Kowalski. Logic for Problem Solving. North Holland, 1979.Google Scholar
  42. [42]
    R. Kowalski, F. Toni, and G. Wetzel. Executing suspended logic programs. FUND-INF: Fundamenta Informatica, 34, 1998.Google Scholar
  43. [43]
    G. Kuper, L. Libkin, and J. Paradeans. Constraint Databases. Springer Verlag, 2000.Google Scholar
  44. [44]
    F. Laburthe and Y. Caseau. SALSA: A language for search algorithms. Lecture Notes in Computer Science, 1520, 1998.Google Scholar
  45. [45]
    C. Le Pape and P. Baptiste. Resource constraints for preemptive job-shop scheduling. Constraints, 3(4):263–287, 1998.zbMATHCrossRefMathSciNetGoogle Scholar
  46. [46]
    Claude Le Pape and Mark Wallace. From constraint programming to hybrid problem-solving algorithms. Tutorial at CP98, Pisa., 1998.
  47. [47]
    Thierry Le Provost and Mark Wallace. Generalized constraint propagation over the CLP scheme. Journal of Logic Programming, 16(3–4):319–359, August 1993.Google Scholar
  48. [48]
    V. Liatsos and E. B. Richards. Scaleability in planning. In Proceedings of the 5th European Conference on Planning, Durham, UK, September 1999.Google Scholar
  49. [49]
    A.K. Mackworth. Consistency in network of relations. Artificial Intelligence, 8(1):99–118, 1977.zbMATHCrossRefMathSciNetGoogle Scholar
  50. [50]
    A.K. Mackworth and E.C. Freuder. The complexity of some polynomial network consistency algorithms for constraint satisfaction problems. Artificial Intelligence, 25:65–74, 1985.CrossRefGoogle Scholar
  51. [51]
    L. Michel and P. Van Hentenryck. Localizer: A modeling language for local search. Lecture Notes in Computer Science, 1330, 1997.Google Scholar
  52. [52]
    M. Milano, G. Ottosson, P. Refalo, and E. Thorsteinsson. Global constraints: When constraint programming meets operations research. Under Submission, 2001.Google Scholar
  53. [53]
    R. Mohr and T.C. Henderson. Arc and path consistency revisited. Artificial Intelligence, 28:225–233, 1986.CrossRefGoogle Scholar
  54. [54]
    U. Montanari. Networks of constraints: fundamental properties and applications to picture processing. Information Science, 7(2):95–132, 1974.CrossRefMathSciNetGoogle Scholar
  55. [55]
    Dash Optimization. XPRESS-MP., 2001.
  56. [56]
  57. [57]
  58. [58]
    Gilles Pesant and Michel Gendreau. A view of local search in constraint programming. In Principles and Practice of Constraint Programming, pages 353–366, 1996.
  59. [59]
  60. [60]
  61. [61]
    J.-C. Regin. A filtering algorithm for constraints of difference in CSPs. In Proc. 12th Conf. American Assoc. Artificial Intelligence, volume 1, pages 362–367. Amer. Assoc. Artificial Intelligence, 1994.Google Scholar
  62. [62]
    E. Thomas Richards and Barry Richards. Nonsystematic search and no-good learning. Journal of Automated Reasoning, 24(4):483–533, 2000. Scholar
  63. [63]
    R. Rodosek, M. G. Wallace, and M. T. Hajian. A new approach to integrating mixed integer programming and constraint logic programming. Annals of Operations Research, 86:63–87, 1999. Special issue on Advances in Combinatorial Optimization.zbMATHCrossRefMathSciNetGoogle Scholar
  64. [64]
    H. El Sakkout, T. Richards, and M. G. Wallace. Minimal perturbance in dynamic scheduling. In Henri Prade, editor, Proceedings of the 13th European Conference on Artificial Intelligence (ECAI-98), pages 504–508, Chichester, August 23–28 1998. John Wiley & Sons.Google Scholar
  65. [65]
    Hani El Sakkout and Mark Wallace. Probe backtrack search for minimal perturbation in dynamic scheduling. Constraints, 5(4):359–388, 2000.zbMATHCrossRefMathSciNetGoogle Scholar
  66. [66]
    V. Saraswat, Rinard M., and P. Panangaden. Semantic foundations of concurrent constraint programming. In Proc. 18th ACM POPL, Jan 1991.Google Scholar
  67. [67]
    Vijay A. Saraswat, Martin Rinard, and Prakash Panangaden. Semantic foundations of concurrent constraint programming. In Conf. Record 18th Annual ACM Symp. on Principles of Programming Languages, Orlando, FL, USA, 1991, pages 333–52. 1990.Google Scholar
  68. [68]
    Joachim Schimpf and Mark Wallace. Finding the right algorithm-a combinatorial meta-problem. Electronic Notes in Discrete Mathematics, 4:80–92, 1999.Google Scholar
  69. [69]
    M. Sellmann and T. Fahle. Cp-based lagrangian relaxation for a multimedia application. Programme and papers presented at CPAIOR’01:, 2001.
  70. [70]
    E. Shapiro. The family of concurrent logic programming languages. ACM Computing Surveys, 21(3), 1989.Google Scholar
  71. [71]
    Paul Shaw. Using constraint programming and local search methods to solve vehicle routing problems. In Principles and Practice of Constraint Programming, pages 417–431, 1998.
  72. [72]
  73. [73]
    H. Simonis. Application development with the CHIP system. In Gabriel Kuper and Mark Wallace, editors, Proc. 1st Int. Database Workshop on Constraint Database Systems (CDB’95), pages 1–21, Friedrichshafen, Germany, 1995. LNCS No. 1034.Google Scholar
  74. [74]
    H. Simonis. More standard constraint models. Tutorial presented at PAPACT98, 1998.Google Scholar
  75. [75]
    Peter J. Stuckey. Constraint search trees. In Lee Naish, editor, Proceedings of the 14th International Conference on Logic Programming, pages 301–315, Cambridge, July 8–11 1997. MIT Press.Google Scholar
  76. [76]
    A. V. Moura T. H. Yunes and C. C. de Souza. A hybrid approach for solving large scale crew scheduling problems. In Proceedings of the Second International Workshop on Practical Asp ects of Declarative Languages (PADL’00), pages 293–307, Boston, MA, USA, 2000.Google Scholar
  77. [77]
  78. [78]
    P. Van Hentenryck, H. Simonis, and M. Dincbas. Constraint satisfaction using constraint logic programming. Artificial Intelligence, 58, 1992.Google Scholar
  79. [79]
    Pascal Van Hentenryck. The OPL Optimization Programming Language. The MIT Press, 1999.Google Scholar
  80. [80]
    M. G. Wallace, S. Novello, and J. Schimpf. Eclipse-a platform for constraint programming. ICL Systems Journal, 12(1):159–200, 1997. Scholar
  81. [81]
    Mark Wallace. Practical applications of constraint programming. Constraints Journal, 1(1), 1996.Google Scholar
  82. [82]
    D. Waltz. Generating semantic descriptions from drawings of scenes with shadows. Technical Report AI271, MIT, Massachusetts, November 1972.Google Scholar
  83. [83]
    Makoto Yokoo. Weak-commitment search for solving constraint satisfaction problems. In AAAI, Vol. 1, pages 313–318, 1994.Google Scholar
  84. [84]
    Tallys H. Yunes, Arnaldo V. Moura, and Cid C. de Souza. A hybrid approach for solving large scale crew scheduling problems. In Proc. 2nd International Workshop on Practical Aspects of Declarative Languages (PADL’ 00). Springer Verlag, January 17–18 2000. LNCS 1753.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Mark Wallace
    • 1
  1. 1.IC-ParcWilliam Penney Laboratory, Imperial CollegeLondon

Personalised recommendations