Advanced search
1 file | 409.30 KB

Search combinators

(2013) CONSTRAINTS. 18(2). p.269-305
Author
Organization
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 general-purpose programming language whose features are not tailored towards writing search heuristics. As a result, major improvements in performance may remain unex- plored. This article introduces search combinators, a lightweight and solver-independent method that bridges the gap between a conceptually simple modeling language for search (high- level, functional and naturally compositional) and an efficient implementation (low-level, imperative and highly non-modular). By allowing the user to define application-tailored search strategies from a small set of primitives, search combinators effectively provide a rich domain-specific language (DSL) for modeling search to the user. Remarkably, this DSL comes at a low implementation cost to the developer of a constraint solver. The article 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.
Keywords
heuristics, constraint programming, domain specific languages, modularity, tree search, MODELING LANGUAGE, CONSTRAINT, PROLOG, ZINC

Downloads

  • (...).pdf
    • full text
    • |
    • UGent only
    • |
    • PDF
    • |
    • 409.30 KB

Citation

Please use this url to cite or link to this publication:

Chicago
Schrijvers, Tom, Guido Tack, Pieter Wuille, Horst Samulowitz, and Peter J Stuckey. 2013. “Search Combinators.” Constraints 18 (2): 269–305.
APA
Schrijvers, T., Tack, G., Wuille, P., Samulowitz, H., & Stuckey, P. J. (2013). Search combinators. CONSTRAINTS, 18(2), 269–305.
Vancouver
1.
Schrijvers T, Tack G, Wuille P, Samulowitz H, Stuckey PJ. Search combinators. CONSTRAINTS. 2013;18(2):269–305.
MLA
Schrijvers, Tom, Guido Tack, Pieter Wuille, et al. “Search Combinators.” CONSTRAINTS 18.2 (2013): 269–305. Print.
@article{3063614,
  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 general-purpose programming language whose features are not tailored towards writing search heuristics. As a result, major improvements in performance may remain unex- plored.
This article introduces search combinators, a lightweight and solver-independent method that bridges the gap between a conceptually simple modeling language for search (high- level, functional and naturally compositional) and an efficient implementation (low-level, imperative and highly non-modular). By allowing the user to define application-tailored search strategies from a small set of primitives, search combinators effectively provide a rich domain-specific language (DSL) for modeling search to the user. Remarkably, this DSL comes at a low implementation cost to the developer of a constraint solver.
The article 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.},
  author       = {Schrijvers, Tom and Tack, Guido and Wuille, Pieter and Samulowitz, Horst and Stuckey, Peter J},
  issn         = {1383-7133},
  journal      = {CONSTRAINTS},
  keyword      = {heuristics,constraint programming,domain specific languages,modularity,tree search,MODELING LANGUAGE,CONSTRAINT,PROLOG,ZINC},
  language     = {eng},
  number       = {2},
  pages        = {269--305},
  title        = {Search combinators},
  url          = {http://dx.doi.org/10.1007/s10601-012-9137-8},
  volume       = {18},
  year         = {2013},
}

Altmetric
View in Altmetric
Web of Science
Times cited: