Compositional Abstractions for Search Factories

  • Guido Tack
  • Didier Le Botlan
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3389)


Search is essential for constraint programming. Search engines typically combine several features like state restoration for backtracking, best solution search, parallelism, or visualization. In current implementations like Mozart, however, these search engines are monolithic and hard-wired to one exploration strategy, severely complicating the implementation of new exploration strategies and preventing their reuse.

This paper presents the design of a search factory for Mozart, a program that enables the user to freely combine several orthogonal aspects of search, resulting in a search engine tailored to the user’s needs. The abstractions developed here support fully automatic recomputation with last alternative optimization. They present a clean interface, making the implementation of new exploration strategies simple. Conservative extensions of the abstractions are presented that support best solution search and parallel search as orthogonal modules. IOzSeF, the Interactive Oz Search Factory, implements these abstractions and is freely available for download.


Search Engine Tree Node Exploration Strategy Parallel Search Alternative Optimization 
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.
    The Alice Project, Homepage at the Programming Systems Lab, Universität des Saarlandes, Saarbrücken, Germany (2004),
  2. 2.
    Chew, T.Y., Henz, M., Ng, K.B.: A toolkit for constraint-based inference engines. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 185–199. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  3. 3.
    Choi, C.W., Henz, M., Ng, K.B.: Components for state restoration in tree search. In: Walsh, T. (ed.) CP 2001. LNCS, vol. 2239, p. 240. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Gecode, the generic constraint development environment (2004),
  5. 5.
    Harvey, W.D., Ginsberg, M.L.: Limited discrepancy search. In: Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence (IJCAI 1995), Montréal, Québec, Canada, August 1995, vol. 1, pp. 607–615 (1995)Google Scholar
  6. 6.
    ILOG Inc., Mountain View, CA, USA. ILOG Solver 5.0 reference Manual (2000)Google Scholar
  7. 7.
    Kennedy, A.J.: Functional pearls: Drawing trees. Journal of Functional Programming 6(3), 527–534 (1996)zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Korf., R.E.: Iterative-deepening–an optimal admissible tree search. In: Joshi, A. (ed.) Proceedings of the 9th International Joint Conference on Artificial Intelligence, Los Angeles, CA, August 1985, pp. 1034–1036. Morgan Kaufmann, San Francisco (1985)Google Scholar
  9. 9.
    Lustig, I.J., Puget, J.-F.: Program does not equal program: Constraint programming and its relationship to mathematical programming. White paper, ILOG Inc. (1999) Available at,
  10. 10.
    Russel, S.J., Norvig, P.: Artificial Intelligence - A Modern Approach, 2nd edn. Prentice Hall, Englewood Cliffs (2003)Google Scholar
  11. 11.
    Schulte, C.: Oz explorer: A visual constraint programming tool. In: Naish, L. (ed.) Proceedings of the Fourteenth International Conference on Logic Programming, Leuven, Belgium, July 1997, pp. 286–300. The MIT Press, Cambridge (1997)Google Scholar
  12. 12.
    Schulte, C.: Comparing trailing and copying for constraint programming. In: Schreye, D.D. (ed.) Proceedings of the Sixteenth International Conference on Logic Programming, December 1999, pp. 275–289. The MIT Press, Cambridge (1999)Google Scholar
  13. 13.
    Schulte, C.: Programming Constraint Services. LNCS (LNAI), vol. 2302. Springer, Heidelberg (2002)zbMATHCrossRefGoogle Scholar
  14. 14.
    Schulte, C., Stuckey, P.J.: Speeding up constraint propagation. In: Wallace, M. (ed.) CP 2004. LNCS, vol. 3258, pp. 619–633. Springer, Heidelberg (2004)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Guido Tack
    • 1
  • Didier Le Botlan
    • 1
  1. 1.Programming Systems LabSaarland UniversityGermany

Personalised recommendations