Distributed Constraint-Based Local Search

  • Laurent Michel
  • Andrew See
  • Pascal Van Hentenryck
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4204)


Distributed computing is increasingly important at a time when the doubling of the number of transistors on a processor every 18 months no longer translates in a doubling of speed but instead a doubling of the number of cores. Unfortunately, it also places significant conceptual and implementation burden on programmers. This paper aims at addressing this challenge for constraint-based local search (CBLS), whose search procedures typically exhibit inherent parallelism stemming from multistart, restart, or population-based techniques whose benefits have been demonstrated both experimentally and theoretically. The paper presents abstractions that allows distributed CBLS programs to be close to their sequential and parallel counterparts, keeping the conceptual and implementation overhead of distributed computing minimal. A preliminary implementation in Comet exhibits significant speed-ups in constraint satisfaction and optimization applications. The implementation also scales well with the number of machines. Of particular interest is the observation that generic abstractions of CBLS and CP, such as models and solutions, and advanced control structures such as events and closures, play a fundamental role to keep the distance between sequential and distributed CBLS programs small. As a result, the abstractions directly apply to CP programs using multistarts or restarts procedures.


Constraint Satisfaction Constraint Programming Model Pool Shared Object Parallel Loop 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Allen, Chase, Luchangco, Maessen, Ryu, Steele, Tobin-Hochstadt: The Fortress Language Specification, V0.866. Sun microsystems (February 2006)Google Scholar
  2. 2.
    Chandra, R., Dagum, L., Kohr, D., Maydan, D., McDonald, J., Menon, R.: Parallel Programming in OpenMP. Morgan Kaufmann, San Francisco (2000)Google Scholar
  3. 3.
    Dagum, L., Menon, R.: OpenMP: An Industry-Standard API for Shared-Memory Programming. IEEE Computational Science and Engineering 5, 46–55 (1998)CrossRefGoogle Scholar
  4. 4.
    Dorne, R., Hao, J.K.: Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization. In: Tabu Search for Graph Coloring, T-Colorings and Set T-Colorings, pp. 77–92. Kluwer Academic Publishers, Dordrecht (1998)Google Scholar
  5. 5.
    Dotu, I., Van Hentenryck, P.: A Simple Hybrid Evolutionary Algorithm for Finding Golomb Rulers. In: Evolutionary Computation, 2005, pp. 2018–2023. IEEE, Los Alamitos (2005)CrossRefGoogle Scholar
  6. 6.
    Gomes, C., Selman, B., Crato, N., Kautz, H.: Heavy-Tailed Phenomena in Satisfiability and Constraint Satisfaction Problems. Journal of Automated Reasoning 24(1/2), 67–100 (2000)MATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    Harm, G., Van Hentenryck, P.: A MultiStart Variable Neighborhood Search for Uncapacitated Warehouse Location. In: Proceedings of the 6th Metaheuristics International Conference (MIC 2005), Vienna, Austria (August 2005)Google Scholar
  8. 8.
    Ilog Solver 6.2. Documentation. Ilog SA, Gentilly, France (2006)Google Scholar
  9. 9.
    Laguna, M.: Scatter Search. In: Handbook of Applied Optimization, pp. 183–193. Oxford University Press, Oxford (2002)Google Scholar
  10. 10.
    Luby, M., Sinclair, A., Zuckerman, D.: Optimal Speedup of Las Vegas Algorithms. Inf. Process. Lett. 47(4), 173–180 (1993)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Michel, L., Van Hentenryck, P.: A Constraint-Based Architecture for Local Search. In: Conference on Object-Oriented Programming Systems, Languages, and Applications, Seattle, November 2002, pp. 101–110 (2002)Google Scholar
  12. 12.
    Michel, L., Van Hentenryck, P.: Parallel local search in comet. In: van Beek, P. (ed.) CP 2005. LNCS, vol. 3709, pp. 430–444. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  13. 13.
    Moore, G.E.: Cramming more components onto integrated circuits. Electronics 38(8), 114–117 (1965)Google Scholar
  14. 14.
    Perron, L.: Search Procedures and Parallelism in Constraint Programming. In: Proceedings of the Fifth International Conference on the Principles and Practice of Constraint Programming, Alexandria, Virginia, October 1999, pp. 346–360 (1999)Google Scholar
  15. 15.
    Philippsen, M., Zenger, M.: JavaParty - Transparent Remote Objects in Java. Concurrency: Practice & Experience 6, 109–133 (1995)Google Scholar
  16. 16.
    Resende, G., Werneck, R.: A Hybrid Multistart Heuristic for the Uncapacitated Facility Location Problem. Technical Report TD-5RELRR, AT&T Labs Research (2003); The European Journal on Operations Research (to appear)Google Scholar
  17. 17.
    Schulte, C.: Parallel search made simple. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894. Springer, Heidelberg (2000)Google Scholar
  18. 18.
    Van Hentenryck, P.: Constraint-Based Local Search. The MIT Press, Cambridge (2005)Google Scholar
  19. 19.
    Van Hentenryck, P., Michel, L.: Control abstractions for local search. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 65–80. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Yokoo, M., Durfee, E.H., Ishida, T., Kuwabara, K.: The distributed constraint satisfaction problem: Formalization and algorithms. Knowledge and Data Engineering 10(5), 673–685 (1998)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Laurent Michel
    • 1
  • Andrew See
    • 1
  • Pascal Van Hentenryck
    • 2
  1. 1.University of ConnecticutStorrs
  2. 2.Brown UniversityProvidence

Personalised recommendations