Search combinators

  • Authors:
  • Tom Schrijvers;Guido Tack;Pieter Wuille;Horst Samulowitz;Peter J. Stuckey

  • Affiliations:
  • Universiteit Gent, Belgium;Katholieke Universiteit Leuven, Belgium;Katholieke Universiteit Leuven, Belgium;IBM Research, New York;National ICT Australia and University of Melbourne, Victoria, Australia

  • Venue:
  • CP'11 Proceedings of the 17th international conference on Principles and practice of constraint programming
  • Year:
  • 2011

Quantified Score

Hi-index 0.01

Visualization

Abstract

The ability to model search in a constraint solver can be an essential asset for solving combinatorial problems. However, existing infrastructure for defining search heuristics is often inadequate. Either modeling capabilities are extremely limited or users are faced with a low-level programming language and modeling search becomes unwieldy. As a result, major improvements in performance may remain unexplored. This paper introduces search combinators, a lightweight and solver -independent method that bridges the gap between a conceptually simple search language (high-level, functional and naturally compositional) and an efficient implementation (low-level, imperative and highly non-modular). Search combinators allow one to define application-tailored strategies from a small set of primitives, resulting in a rich search language for the user and a low implementation cost for the developer of a constraint solver. The paper discusses two modular implementation approaches and shows, by empirical evaluation, that search combinators can be implemented without overhead compared to a native, direct implementation in a constraint solver.