Encyclopedia of Operations Research and Management Science

2001 Edition
| Editors: Saul I. Gass, Carl M. Harris

Constraint programming

Reference work entry
DOI: https://doi.org/10.1007/1-4020-0611-X_157


Arising from research in the computer science community, constraint programming is a relatively new technique for solving optimization problems. It often is applied to difficult combinatorial optimization problems arising in configuration, sequencing, and scheduling. To apply constraint programming, users must write software that includes both a model of an optimization problem plus an algorithmic search procedure that indicates how to search for a solution.


Constraint programming is often called constraint logic programming, and originates in the artificial intelligence literature in the computer science community. Here, the word “programming” refers to computer programming. Knuth (1968)defines a computer program as “an expression of a computational method in a computer language.” A computer program can be viewed as a plan of action of operations of the computer, and hence the common concept of a “plan” is shared with the origins of linear programming. With...
This is a preview of subscription content, log in to check access.


  1. [1]
    Caseau, Y. and Laburthe, F. (1995). The Claire documentation, LIENS Report 96–15, Ecole Normale Superieure, Paris.Google Scholar
  2. [2]
    Colmerauer, A. (1990). “An introduction to PROLOG III,” Communications of the ACM 33(7), 70–90.Google Scholar
  3. [3]
    Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., and Berthier, F. (1988). “The Constraint Logic Programming Language CHIP,” Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, December. Google Scholar
  4. [4]
    Garfinkel, R. S. and Nemhauser, G. L. (1972). Integer Programming, John Wiley, New York.Google Scholar
  5. [5]
    Harvey, W. D. and Ginsberg, M. L. (1995). “Limited Discrepancy Search,” Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), volume 1, 607–613.Google Scholar
  6. [6]
    ILOG (1999). ILOG Solver 4.4 Users Manual, ILOG, Gentilly, France.Google Scholar
  7. [7]
    Jaffar, J. and Lassez, J.-L. (1987). “Constraint Logic Programming,” Conference Record of the Fourteenth Annual ACM Symposium on Principles of Programming Languages, Munich, 111–119. Google Scholar
  8. [8]
    Knuth, D. E. (1968). Fundamental Algorithms, The Art of Computer Programming, Volume 1, 2nd ed., Addison-Wesley, Reading, Massachusetts.Google Scholar
  9. [9]
    Lauriere, J.-L. (1978). “A Language and a Program for Stating and Solving Combinatorial Problems,” Artificial Intelligence 10, 29–127.Google Scholar
  10. [10]
    Lawler, E. L. and Wood, D. E. (1966). “Branch-and-Bound Methods: A Survey,” Operations Research 14, 699–719.Google Scholar
  11. [11]
    Mackworth, A. K. (1977). “Consistency in networks of relations,” Artificial Intelligence 8, 99–118.Google Scholar
  12. [12]
    Meseguer, P. (1997). “Interleaved Depth-First Search,” Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), volume 2, 1382–1387.Google Scholar
  13. [13]
    Nilsson, N. J. (1971). Problem Solving Methods in Artificial Intelligence, McGraw-Hill, New York.Google Scholar
  14. [14]
    Puget, J.-F. (1992). “Pecos: a High Level Constraint programming Language,” in Proceedings of the 1st Singapore Intl. Conf. on Intelligent Systems. Google Scholar
  15. [15]
    Puget, J.-F. (1994). “A C++ Implementation of CLP,” Proceedings of the 2nd Singapore Intl. Conf. on Intelligent Systems. (See also the current web site http://www.ilog.com/products/optimization/research/spicis94_OnlinePDF.pdf.)Google Scholar
  16. [16]
    Smolka, G. (1995). “The Oz Programming Model,” in Computer Science Today, J. van Leeuwen, ed., Lecture Notes in Computer Science 1000, Springer-Verlag, 324–343. Google Scholar
  17. [17]
    Van Hentenryck, P. (1989). Constraint Satisfaction in Logic Programming, MIT Press, Cambridge, Massachusetts.Google Scholar
  18. [18]
    Van Hentenryck, P. (1999). The OPL Optimization Programming Language, MIT Press, Cambridge, Massachusetts.Google Scholar
  19. [19]
    Van Hentenryck, P., Deville, Y., and Teng, C. M. (1992). “A generic arc-consistency algorithm and its specializations,” Artificial Intelligence 57, 291.Google Scholar
  20. [20]
    Walsh, T. (1997). “Depth-bounded discrepancy search,” Proceedings of the International Joint Conference on Artificial Intelligence (IJCAI), volume 2, 1388–1395.Google Scholar

Copyright information

© Kluwer Academic Publishers 2001

Authors and Affiliations

  1. 1.ILOGMountain ViewUSA
  2. 2.ILOG, GentillyGentillyFrance