Abstract
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.
Similar content being viewed by others
References
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.
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.
Caseau, Y., and Laburthe. F. (1995). Claire: A Brief Overview. Technical report, LIENS, École normale supérieure.
Colmerauer, A. (1990). An Introduction to Prolog III. Commun. ACM, 28(4):412-418.
Dell'Amico, M., and Trubian, M. (1993). Applying Tabu Search to the Job-Shop Scheduling Problem. Annals of Operations Research, 41:231-252.
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.
Fourer, R., Gay, D., and Kernighan, B. W. (1993). AMPL: A Modeling Language for Mathematical Programming. The Scientific Press, San Francisco, CA.
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.
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.
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.
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.
Michel, L. (1998). Localizer: A Modeling Language for Local Search. PhD thesis, Brown University, October.
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.
Paige, R. (1981). Formal Differentiation. PhD thesis, Dept. of Computer Science, New York University.
Paige, R. (1986). Programming with Invariants. IEEE Software, January:56-69.
Paige, R., and Koenig, S. (1982). Finite Differencing of Computable Expressions. ACM Transactions on Programming Languages and Systems, 4(3):402-454.
Papadimitriou, C. H., and Steiglitz, K. (1982). Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall, Englewood Cliffs, NJ.
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.
Puget, J. F. (1994). A C++ Implementation of clp. In Proceedings of SPICIS, November.
Ramalingan, G., and Reps, T. (1991). On the Computational Complexity of Incremental Algorithms. Technical report, University of Wisconsin-Madison.
Schrage, L. E. (1997). Optimization Modeling with LINDO. Duxbury, 5th edition, February.
Selman, B., Levesque, H., and Mitchell, D. (1992). A New Method for Solving Hard Satisfiability Problems. In AAAI-92, pages 440-446.
Stuckey, P., and Tam, V. (1996). Models for Using Stochastic Constraint Solvers in Constraint Logic Programming. In PLILP-96, Aachen, August.
Sutherland, I. E. (1963). SKETCHPAD: A Man-Machine Graphical Communication System. MIT Lincoln Labs, Cambridge, MA
Van Hentenryck, P. (1999). OPL: The Optimization Programming Language. The MIT Press, Cambridge, Mass.
Van Hentenryck, P., Michel, L., and Deville, Y. (1997). Numerica: a Modeling Language for Global Optimization. The MIT Press, Cambridge, Mass.
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.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Michel, L., Hentenryck, P.V. Localizer. Constraints 5, 43–84 (2000). https://doi.org/10.1023/A:1009818401322
Issue Date:
DOI: https://doi.org/10.1023/A:1009818401322