Existing libraries and languages for finite domain constraint programming usually have depth-first search (with branch and bound)
built-in as the only search algorithm. Exceptions are the languages
CLAIRE and Oz, which support the programming of different search
algorithms through special purpose programming language
constructs. The goal of this work is to make abstractions for
programming search algorithms available in a language-independent
setting by using the concept of a room.
Figaro is an experimentation platform being designed to study non-standard search algorithms, different memory policies for search (trailing vs copying), consistency algorithms, failure handling and support for modeling. Figaro is conceived as a C++ library providing abstractions based on the concept of a room. This paper focuses on the use and implementation of such abstractions for investigating programmable search algorithms and memory policies in a C++ constraint programming library.
Download PDF Show BibTeX
Login to edit