Article ID: | iaor20072582 |
Country: | United Kingdom |
Volume: | 33 |
Issue: | 10 |
Start Page Number: | 2805 |
End Page Number: | 2833 |
Publication Date: | Oct 2006 |
Journal: | Computers and Operations Research |
Authors: | Givry Simon de, Jeannin Laurent |
Keywords: | programming: constraints, graphs, programming: travelling salesman |
We present a library called ToOLS for the design of complex tree search algorithms in constraint programming (CP). We separate the description of a search algorithm into three parts: a refinement-based search scheme that defines a complete search tree, a set of conditions for visiting nodes that specifies a parameterized partial exploration, and a strategy for combining several partial explorations. This library allows the expression of most of the partial, i.e. nonsystematic backtracking, search methods, and also a specific class of hybrid local/global search methods called large neighborhood search, which are very naturally suited to CP. Variants of these methods are easy to implement with the ToOLS primitives. We demonstrate the expressiveness and efficiency of the library by solving a satellite mission management benchmark that is a mix between a traveling salesman problem with time windows and a Knapsack problem. Several partial and hybrid search methods are compared. Our results dramatically outperform CP approaches based on classical depth-first search methods.