, Volume 5, Issue 1–2, pp 43–84 | Cite as


  • Laurent Michel
  • Pascal Van Hentenryck


Local search is a traditional technique to solve combinatorial search problems which has raised much interest in recent years. The design and implementation of local search algorithms is not an easy task in general and may require considerable experimentation and programming effort. However, contrary to global search, little support is available to assist the design and implementation of local search algorithms. This paper describes the design and implementation of Localizer, a modeling language for implementing local search algorithms. Localizer makes it possible to express local search algorithms in a notation close to their informal descriptions in scientific papers. Experimental results on Boolean satisfiability, graph coloring, graph partitioning, and job-shop scheduling show the feasibility of the approach.

modeling language local search incremental algorithms 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bisschop, J., and Meeraus, A. (1982). On the Development of a General Algebraic Modeling System in a Strategic Planning Environment. Mathematical Programming Study, 20:1-29.Google Scholar
  2. 2.
    Borning, A. (1981). The Programming Language Aspects of Thing-Lab, a Constraint-Oriented Simulation Laboratory. ACM Transaction on Programming Languages and Systems, 3(4):353-387.Google Scholar
  3. 3.
    Caseau, Y., and Laburthe. F. (1995). Claire: A Brief Overview. Technical report, LIENS, École normale supérieure.Google Scholar
  4. 4.
    Colmerauer, A. (1990). An Introduction to Prolog III. Commun. ACM, 28(4):412-418.Google Scholar
  5. 5.
    Dell'Amico, M., and Trubian, M. (1993). Applying Tabu Search to the Job-Shop Scheduling Problem. Annals of Operations Research, 41:231-252.Google Scholar
  6. 6.
    Dincbas, M., Van Hentenryck, P., Simonis, H., Aggoun, A., Graf, T., and Berthier, F. (1988). The Constraint Logic Programming Language CHIP. In Proceedings of the International Conference on Fifth Generation Computer Systems, Tokyo, Japan, December.Google Scholar
  7. 7.
    Fourer, R., Gay, D., and Kernighan, B. W. (1993). AMPL: A Modeling Language for Mathematical Programming. The Scientific Press, San Francisco, CA.Google Scholar
  8. 8.
    Henz, M., Smolka, G., and W¨urtz, J. (1993). Oz-A Programming Language for Multi-Agent Systems. In Ruzena Bajcsy, editor, 13th International Joint Conference on Artificial Intelligence, volume 1, pages 404-409, Chambéry, France, 30 August-3 September. Morgan Kaufmann Publishers.Google Scholar
  9. 9.
    Jaffar, J., Michaylov, S., Stuckey, P. J., and Yap, R. (1992). The CLP(ℜ) Language and System. ACM Trans. on Programming Languages and Systems, 14(3):339-395.Google Scholar
  10. 10.
    Johnson, D., Aragon, C., McGeoch, L., and Schevon, C. (1989). Optimization by Simulated Annealing: An Experimental Evaluation; Part I, Graph Partitioning. Operations Research, 37(6):865-893.Google Scholar
  11. 11.
    Johnson, D., Aragon, C., McGeoch, L., and Schevon, C. (1991). Optimization by Simulated Annealing: An Experimental Evaluation; Part II, Graph Coloring and Number Partitioning. Operations Research, 39(3):378-406.Google Scholar
  12. 12.
    Michel, L. (1998). Localizer: A Modeling Language for Local Search. PhD thesis, Brown University, October.Google Scholar
  13. 13.
    Michel, L., and Van Hentenryck, P. (1997). Localizer: A Modeling Language for Local Search. In Second International Conference on Principles and Practice of Constraint Programming (CP'97), Linz, Austria, October.Google Scholar
  14. 14.
    Paige, R. (1981). Formal Differentiation. PhD thesis, Dept. of Computer Science, New York University.Google Scholar
  15. 15.
    Paige, R. (1986). Programming with Invariants. IEEE Software, January:56-69.Google Scholar
  16. 16.
    Paige, R., and Koenig, S. (1982). Finite Differencing of Computable Expressions. ACM Transactions on Programming Languages and Systems, 4(3):402-454.Google Scholar
  17. 17.
    Papadimitriou, C. H., and Steiglitz, K. (1982). Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Englewood Cliffs, NJ.Google Scholar
  18. 18.
    Pesant, G., Gendreau, M., and Rousseau, J. M. (1997). Genius-cp: A Generic Single-Vehicle Routing Algorithm. In Gert Smolka, editor, Principle and Practice of Constraint Programming-CP97, Lecture Notes in Computer Science, pages 420-434. Springer, October.Google Scholar
  19. 19.
    Puget, J. F. (1994). A C++ Implementation of clp. In Proceedings of SPICIS, November.Google Scholar
  20. 20.
    Ramalingan, G., and Reps, T. (1991). On the Computational Complexity of Incremental Algorithms. Technical report, University of Wisconsin-Madison.Google Scholar
  21. 21.
    Schrage, L. E. (1997). Optimization Modeling with LINDO. Duxbury, 5th edition, February.Google Scholar
  22. 22.
    Selman, B., Levesque, H., and Mitchell, D. (1992). A New Method for Solving Hard Satisfiability Problems. In AAAI-92, pages 440-446.Google Scholar
  23. 23.
    Stuckey, P., and Tam, V. (1996). Models for Using Stochastic Constraint Solvers in Constraint Logic Programming. In PLILP-96, Aachen, August.Google Scholar
  24. 24.
    Sutherland, I. E. (1963). SKETCHPAD: A Man-Machine Graphical Communication System. MIT Lincoln Labs, Cambridge, MAGoogle Scholar
  25. 25.
    Van Hentenryck, P. (1999). OPL: The Optimization Programming Language. The MIT Press, Cambridge, Mass.Google Scholar
  26. 26.
    Van Hentenryck, P., Michel, L., and Deville, Y. (1997). Numerica: a Modeling Language for Global Optimization. The MIT Press, Cambridge, Mass.Google Scholar
  27. 27.
    Yellin, D. M., and Strom, R. E. (1988). INC: A Language for Incremental Computations. In Proceedings of the ACM SIGPLAN'88 Conference on Programming Language Design and Implementation (PLDI), pages 115-124, Atlanta, Georgia, 22-24 June.Google Scholar

Copyright information

© Kluwer Academic Publishers 2000

Authors and Affiliations

  • Laurent Michel
    • 1
  • Pascal Van Hentenryck
    • 1
  1. 1.Brown UniversityProvidence

Personalised recommendations