Constraint Languages for Combinatorial Optimization

  • Pascal Van Hentenryck
  • Laurent Michel
Part of the International Series in Operations Research & Management Science book series (ISOR, volume 76)


This tutorial reviews recent developments in the design and implementation of constraint languages for combinatorial optimization. In particular, it argues that constraint-based languages are a unifying technology to express combinatorial optimization problems, supporting a variety of solvers including constraint programming, local search, and mathematical programming.


Neighborhood Search Precedence Constraint Jobshop Schedule Incremental Variable Constraint Language 
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.


  1. [1]
    P. Baptiste, C. Le Pape, and W. Nuijten. Constraint-Based Scheduling. Kluwer Academic Publishers, 2001.Google Scholar
  2. [2]
    N. Beldiceanu and M. Carlsson. Revisiting the cardinality Operator. In ICLP-01, Cyprus, 2001.Google Scholar
  3. [3]
    N. Beldiceanu and E. Contejean. Introducing Global Constraints in CHIP. Journal of Mathematical and Computer Modelling, 20(12):97–123, 1994.CrossRefzbMATHGoogle Scholar
  4. [4]
    R. Bent and P. Van Hentenryck. A Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows. Transportation Science, 2001. (To Appear).Google Scholar
  5. [5]
    J. Bisschop and A. Meeraus. On the Development of a General Algebraic Modeling System in a Strategic Planning Environment. Mathematical Programming Study, 20:1–29, 1982.Google Scholar
  6. [6]
    Amedeo Cesta, Angelo Oddi, and Stephen F. Smith. Iterative flattening: A scalable method for solving multi-capacity scheduling problems. In AAAI/IAAI, pages 742–747, 2000.Google Scholar
  7. [7]
    C. Codognet and D. Diaz. Yet Another Local Search Method for Constraint Solving. In AAAI Fall Symposium on Using Uncertainty within Computation, Cape Cod, MA., 2001.Google Scholar
  8. [8]
    B. De Backer, V. Furnon, P. Shaw, P. Kilby, and P. Prosser. Solving Vehicle Routing Problems Using Constraint Programming and Metaheuristics. Journal of Heuristics, 6:501–523, 2000.CrossRefzbMATHGoogle Scholar
  9. [9]
    I.R. de Farias, E.L. Johnson, and G.L. Nemhauser. Branch-and-Cut for Combinatorial Optimization Problems without Auxiliary Binary Variables. Knowledge Engineering Review, 16:25–39, 2001.CrossRefzbMATHGoogle Scholar
  10. [10]
    L. Di Gaspero and A. Schaerf. Optimization Software Class Libraries, chapter Writing Local Search Algorithms Using EasyLocal++. Kluwer, 2002.Google Scholar
  11. [11]
    M. Dincbas, H. Simonis, and P. Van Hentenryck. Solving a Cutting-Stock Problem in Constraint Logic Programming. In Fifth International Conference on Logic Programming, Seattle, WA, August 1988.Google Scholar
  12. [12]
    M. Dincbas, H. Simonis, and P. Van Hentenryck. Solving the Car Sequencing Problem in Constraint Logic Programming. In ECAI-88, August 1988.Google Scholar
  13. [13]
    M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The Constraint Logic Programming Language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, December 1988.Google Scholar
  14. [14]
    R. Fourer, D. Gay, and B.W. Kernighan. AMPL: A Modeling Language for Mathematical Programming. The Scientific Press, San Francisco, CA, 1993.Google Scholar
  15. [15]
    R. Fourer and D.M. Gay. Extending an Algebraic Modeling Language to Support Constraint Programming. Informs Journal on Computing, 14(4), 2002.Google Scholar
  16. [16]
    P. Galinier and J.-K. Hao. A General Approach for Constraint Solving by Local Search. In CP-AI-OR’00, Paderborn, Germany, March 2000.Google Scholar
  17. [17]
    I.P. Gent and T. Walsh. CSPLib: a benchmark library for constraints. In CP’99 (Short Paper), Alexandra, VA, October 1999.Google Scholar
  18. [18]
    W.D. Harvey and M.L. Ginsberg. Limited Discrepancy Search. In Proceedings of the 14th International Joint Conference on Artificial Intelligence, Montreal, Canada, August 1995.Google Scholar
  19. [19]
    J.N. Hooker. Logic-Based Methods for Optimization: Combining Optimization and Constraint Satisfaction. John Wiley and Sons, 2000.Google Scholar
  20. [20]
    Kindervater, G. and Savelsbergh, M.W. Vehicle routing: Handling edge exchanges. In E. Aarts and J.K. Lenstra, editors, Local Search in Combinatorial Optimization, pages 482–520. Wiley-Interscience Series in Discrete Mathematics and Optimization, John Wiley & Sons Ltd, England, 1997.Google Scholar
  21. [21]
    W. Kreipl. A large step random wlak for minimizing total weighted tardiness in a job shop. Journal of Scheduling, 3:125–138, 2000.zbMATHMathSciNetCrossRefGoogle Scholar
  22. [22]
    F. Laburthe and Y. Caseau. SALSA: A Language for Search Algorithms. In Fourth International Conference on the Principles and Practice of Constraint Programming (CP’98), Pisa, Italy, October 1998.Google Scholar
  23. [23]
    Dell’Amico M. and Trubian M. Applying Tabu Search to the Job-Shop Scheduling Problem. Annals of Operations Research, 41:231–252, 1993.CrossRefzbMATHGoogle Scholar
  24. [24]
    A.K. Mackworth. Consistency in Networks of Relations. Artificial Intelligence, 8(1):99–118, 1977.zbMATHMathSciNetCrossRefGoogle Scholar
  25. [25]
    M. Mastrolilli and L.M. Gambardella. Effective neighborhood functions for the flexible job shop problem. Journal of Scheduling, 3(1):3–20, 2000.MathSciNetCrossRefzbMATHGoogle Scholar
  26. [26]
    L. Michel and P. Van Hentenryck. Localizer: A Modeling Language for Local Search. Informs Journal on Computing, 11(1):1–14, 1999.MathSciNetzbMATHGoogle Scholar
  27. [27]
    L. Michel and P. Van Hentenryck. Localizer. Constraints, 5:41–82, 2000.CrossRefGoogle Scholar
  28. [28]
    L. Michel and P. Van Hentenryck. A constraint-based architecture for local search. In Conference on Object-Oriented Programming Systems, Languages, and Applications., pages 101–110, Seattle, WA, USA, November 4–8 2002. ACM.Google Scholar
  29. [29]
    L. Michel and P. Van Hentenryck. Iterative Relaxations for Iterative Flattening in Cumulative Scheduling. In 14th International Conference on Automated Planning & Scheduling (ICAPS’04), Whistler, BC, Canada, 2004.Google Scholar
  30. [30]
    S. Minton, M.D. Johnston, and A.B. Philips. Solving Large-Scale Constraint Satisfaction and Scheduling Problems using a Heuristic Repair Method. In AAAI-90, August 1990.Google Scholar
  31. [31]
    U. Montanari. Networks of Constraints: Fundamental Properties and Applications to Picture Processing. Information Science, 7(2):95–132, 1974.zbMATHMathSciNetCrossRefGoogle Scholar
  32. [32]
    A. Nareyek. Constraint-Based Agents. Springer Verlag, 1998.Google Scholar
  33. [33]
    E. Nowicki and C. Smutnicki. A Fast Taboo Search Algorithm for the Job Shop Problem. Management Science, 42(6):797–813, 1996.CrossRefzbMATHGoogle Scholar
  34. [34]
    B.D. Parrello, W.C. Kabat, and L. Wos. Job-Shop Scheduling Using Automated Reasoning: A Case Study of the Car-Sequencing Problem. Journal of Automated Reasoning, 2(1):142, 1986.MathSciNetCrossRefGoogle Scholar
  35. [35]
    L. Perron. Search Procedures and Parallelism in Constraint Programming. In Fifth International Conference on the Principles and Practice of Constraint Programming (CP’99), Alexandra, VA, October 1999.Google Scholar
  36. [36]
    P. Refalo. Tight Cooperation and its Application in Piecewise Linear Optimization. In Fifth International Conference on the Principles and Practice of Constraint Programming (CP’99), Alexandra, VA, October 1999.Google Scholar
  37. [37]
    J-C. Régin. A filtering algorithm for constraints of difference in CSPs. In AAAI-94, proceedings of the Twelth National Conference on Artificial Intelligence, pages 362–367, Seattle, Washington, 1994.Google Scholar
  38. [38]
    J.-C. Regin and J.-F. Puget. A Filtering Algorithm for Global Sequencing Constraints. In Third International Conference on the Principles and Practice of Constraint Programming (CP’97), Lintz, Austria, October 1997.Google Scholar
  39. [39]
    K. Schmidt. Using Tabu-search to Solve the Job-Shop Scheduling Problem with Sequence Dependent Setup Times. ScM Thesis, Brown University, 2001, 2001.Google Scholar
  40. [40]
    C. Schulte. Programming Constraint Inference Engines. In Proceedings of the Third International Conference on Principles and Practice of Constraint Programming, volume 1330, pages 519–533, Schloss Hagenberg, Linz, Austria, October 1997. Springer-Verlag.Google Scholar
  41. [41]
    Christian Schulte. Comparing trailing and copying for constraint programming. In Danny De Schreye, editor, Proceedings of the Sixteenth International Conference on Logic Programming, pages 275–289, Las Cruces, NM, USA, November 1999. The MIT Press.Google Scholar
  42. [42]
    B. Selman, H. Kautz, and B. Cohen. Noise Strategies for Improving Local Search. In AAAI-94, pages 337–343, 1994.Google Scholar
  43. [43]
    P. Shaw, B. De Backer, and V. Furnon. Improved local search for CP toolkits. Annals of Operations Research, 115:31–50, 2002.MathSciNetCrossRefzbMATHGoogle Scholar
  44. [44]
    P. Van Hentenryck. Constraint Satisfaction in Logic Programming. Logic Programming Series, The MIT Press, Cambridge, MA, 1989.Google Scholar
  45. [45]
    P. Van Hentenryck. The OPL Optimization Programming Language. The MIT Press, Cambridge, Mass., 1999.Google Scholar
  46. [46]
    P. Van Hentenryck. Constraint and Integer Programming in OPL. Informs Journal on Computing, 14(4):345–372, 2002.MathSciNetCrossRefGoogle Scholar
  47. [47]
    P. Van Hentenryck and J-P. Carillon. Generality Versus Specificity: An Experience with AI and OR Techniques. In Proceedings of the American Association for Artificial Intelligence (AAAI-88), (St. Paul, MN), August 1988. AAAI, Menlo Park. Calif.Google Scholar
  48. [48]
    P. Van Hentenryck and Y. Deville. The Cardinality Operator: A New Logical Connective and its Application to Constraint Logic Programming. In ICLP-91, pages 745–759, June 1991.Google Scholar
  49. [49]
    P. Van Hentenryck and M. Dincbas. Domains in Logic Programming. In AAAI-86, Philadelphia, PA, August 1986.Google Scholar
  50. [50]
    P. Van Hentenryck and L. Michel. Control Abstractions for Local Search. In Ninth International Conference on Principles and Practice of Constraint Programming, Cork, Ireland, 2003. (Best Paper Award).Google Scholar
  51. [51]
    P. Van Hentenryck and L. Michel. Scheduling Abstractions for Local Search. In Proceedings of the First International Conference on the Integration of AI and OR Techniques in Constraint Programming for Combinatorial Optimisation Problems (CP-AI-OR’04), Nice, France, 2004.Google Scholar
  52. [52]
    P. Van Hentenryck, L. Michel, P. Laborie, W. Nuijten, and J. Rogerie. Combinatorial Optimization in OPL Studio. In Proceedings of the 9th Portuguese Conference on Artificial Intelligence International Conference (EPIA’ 99), pages 1–15, Evora, Portugal, September 1999. (Invited Paper).Google Scholar
  53. [53]
    P. Van Hentenryck, L. Perron, and J-F. Puget. Search and Strategies in OPL. ACM Transactions on Computational Logic, 1(2):1–36, October 2000.Google Scholar
  54. [54]
    S. Voss and D. Woodruff. Optimization Software Class Libraries. Kluwer Academic Publishers, 2002.Google Scholar
  55. [55]
    J. Walser. Integer Optimization by Local Search. Springer Verlag, 1998.Google Scholar
  56. [56]
    D. Waltz. Generating Semantic Descriptions from Drawings of Scenes with Shadows. Technical Report AI271, MIT, MA, November 1972.Google Scholar

Copyright information

© Springer Science + Business Media, Inc. 2005

Authors and Affiliations

  • Pascal Van Hentenryck
    • 1
  • Laurent Michel
    • 2
  1. 1.Computer Science DepartmentBrown UniversityUSA
  2. 2.Department of Computer Science & EngineeringUniversity of ConnecticutUSA

Personalised recommendations