Skip to main content
Log in

Control Abstractions for Local Search

  • Original Article
  • Published:
Constraints Aims and scope Submit manuscript

Abstract

Comet is an object-oriented language supporting a constraint-based architecture for local search through declarative and search components. This paper proposes three novel and lightweight control abstractions for the search component, significantly enhancing the compositionality, modularity, and reuse of Comet programs. These abstractions, which includes events and checkpoints, rely on first-class closures as the enabling technology. They are especially useful for expressing, in a modular way, heuristic and meta-heuristics, unions of heterogeneous neighborhoods, and sequential composition of neighborhoods.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Balas, E., & Vazacopoulos, A. (1998). Guided local search with shifting bottleneck for job-shop scheduling. Manage. Sci. 44(2).

  2. Bent, R., & Van Hentenryck, P. (2004). A two-stage hybrid local search for the vehicle routing problem with time windows. Transp. Sci. 8: 515–530

    Google Scholar 

  3. Codognet, C., & Diaz, D. (2001). Yet another local search method for constraint solving. In AAAI Fall Symposium on Using Uncertainty within Computation, Cape Cod, MA.

  4. De Backer, B., et al. (2000). Solving vehicle routing problems using constraint programming and metaheuristics. Journal of Heuristics, 6: 501–523.

    MATH  Google Scholar 

  5. Dell’Amico, M., & Trubian, M. (1993). Applying tabu search to the job-shop scheduling problem. Ann. Oper. Res. 41: 231–252.

    MATH  Google Scholar 

  6. Di Gaspero, L., & Schaerf, A. (2002). Writing local search algorithms using EasyLocal++. In Optimization Software Class Libraries, Kluwer Academic Publishers, Boston, MA.

    Google Scholar 

  7. Galinier, P., & Hao, J.-K. (2000). A general approach for constraint solving by local search. In CP-AI-OR’00, Paderborn, Germany (March).

    Google Scholar 

  8. Johnson, D., Aragon, C., McGeoch, L., & Schevon, C. (1989). Optimization by simulated annealing: An experimental evaluation; part I, graph partitioning. Oper. Res. 37(6): 865–893.

    Article  MATH  Google Scholar 

  9. Kernighan, B., & Lin, S. (1970). An efficient heuristic procedure for partitioning graphs. Bell Syst. Tech. J. 49: 291–307.

    Google Scholar 

  10. Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., Loingtier, J.-M., & Irwin, J. Aspect-oriented programming. In ECOOP ‘97.

  11. Kindervater, G., & Savelsbergh, M.W. (1997). Vehicle routing: Handling edge exchanges. In Local Search in Combinatorial Optimization, Wiley, New York, NY.

    Google Scholar 

  12. Laburthe, F., & Caseau, Y. SALSA: A language for search algorithms. In CP’98.

  13. Manolescu, D. (2002). Workflow enactment with continuation and future objects. In OOPLSA’02, Seattle, WA.

  14. Michel, L., & Van Hentenryck, P. (2002). A constraint-based architecture for local search. In OOPLSA’02, Seattle, WA.

  15. Michel, L., & Van Hentenryck, P. (2000). Localizer. Constraints, 5: 41–82.

    Google Scholar 

  16. Michel, L., & Van Hentenryck, P. (2002). A decomposition-based implementation of search strategies. ACM Transactions on Computational Logic.

  17. Minton, S., Johnston, M., & Philips, A. Solving large-scale constraint satisfaction and scheduling problems using a heuristic repair method. In AAAI-90.

  18. Nareyek, A. (1998). Constraint-Based Agents, Springer Verlag, New York, NY.

  19. Nowicki, E., & Smutnicki, C. (1996). A fast taboo search algorithm for the job shop problem. Manage. Sci. 42(6): 797–813.

    MATH  Google Scholar 

  20. Perron, L. (1999). Search procedures and parallelism in constraint programming. In CP’99, Alexandra, VA.

  21. Roy, B., & Sussmann, B. (1964). Les problèmes d’ordonnancement avec contraintes disjonctives. Note DS No. 9 bis, SEMA, Paris, France.

    Google Scholar 

  22. Schmidt, K. (2001). Using tabu-search to solve the job-shop scheduling problem with sequence dependent setup times. ScM Thesis, Brown University, Providence, RI.

  23. Schulte, C. Comparing trailing and copying for constraint programming. In ICLP’99.

  24. Shaw, P., De Backer, B., & Furnon, V. (2002). Improved local search for CP toolkits. Ann. Oper. Res. 115: 31–50.

    MATH  MathSciNet  Google Scholar 

  25. Turner, C., Fuggetta, A., Lavazza, L., & Wolf, A. (1999). A conceptual basis for feature engineering. J. Syst. Softw. 49(1): 3–15.

    Google Scholar 

  26. Van Hentenryck, P., & Michel, L. (2003). Control abstractions for local search. In CP’03, Cork, Ireland.

  27. Van Hentenryck, P., & Michel, Laurent. (2004). Scheduling abstractions for local search. Proceeding 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, April 2004.

  28. Voss, S., & Woodruff, D. (2002). Optimization Software Class Libraries, Kluwer Academic Publishers, Boston, MA.

    Google Scholar 

  29. Walser, J. (1998). Integer Optimization by Local Search, Springer Verlag, New York, NY.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Pascal Van Hentenryck.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Van Hentenryck, P., Michel, L. Control Abstractions for Local Search. Constraints 10, 137–157 (2005). https://doi.org/10.1007/s10601-005-0553-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10601-005-0553-x

Keywords

Navigation