Nondeterministic Control for Hybrid Search

Hybrid algorithms combining local and systematic search often use nondeterminism in fundamentally different ways. They may differ in the strategy to explore the search tree and/or in how computation states are represented. This paper presents nondeterministic control structures to express a variety of hybrid search algorithms concisely and elegantly. These nondeterministic abstractions describe the search tree and are compiled in terms of first-class continuations. They are also parameterized by search controllers that are under user control and specify the state representation and the exploration strategy. The resulting search language is thus high-level, flexible, and directly extensible. The abstractions are illustrated on a jobshop scheduling algorithm that combines tabu search and a limited form of backtracking. Preliminary experimental results indicate that the control structures induce small, often negligible, overheads.

[1]  E. Nowicki,et al.  A Fast Taboo Search Algorithm for the Job Shop Problem , 1996 .

[2]  Pascal Van Hentenryck,et al.  A decomposition-based implementation of search strategies , 2004, TOCL.

[3]  Pascal Van Hentenryck,et al.  Control Abstractions for Local Search , 2003, Constraints.

[4]  Liyuan Liu,et al.  Constraint-Based Combinators for Local Search , 2004, CP.

[5]  Liyuan Liu,et al.  Contraint-Based Combinators for Local Search , 2005, Constraints.

[6]  Christian Schulte Comparing Trailing and Copying for Constraint Programming , 1999, ICLP.

[7]  Simon de Givry,et al.  ToOLS : A Library for Partial and Hybrid Search Methods , 2003 .

[8]  Pascal Van Hentenryck,et al.  Scheduling Abstractions for Local Search , 2004, CPAIOR.

[9]  Pascal Van Hentenryck,et al.  Search and strategies in OPL , 2000, TOCL.

[10]  Pascal Van Hentenryck,et al.  A constraint-based architecture for local search , 2002, OOPSLA '02.

[11]  Russell Bent,et al.  A Two-Stage Hybrid Local Search for the Vehicle Routing Problem with Time Windows , 2004, Transp. Sci..

[12]  Pascal Van Hentenryck The OPL optimization programming language , 1999 .

[13]  Paul Shaw,et al.  Using Constraint Programming and Local Search Methods to Solve Vehicle Routing Problems , 1998, CP.

[14]  Laurent Perron Search Procedures and Parallelism in Constraint Programming , 1999, CP.

[15]  Michel Gendreau,et al.  Using Constraint-Based Operators to Solve the Vehicle Routing Problem with Time Windows , 2002, J. Heuristics.

[16]  Christian Schulte,et al.  Programming Constraint Inference Engines , 1997, CP.

[17]  François Laburthe,et al.  SALSA: A Language for Search Algorithms , 1998, CP.

[18]  Egon Balas,et al.  Guided Local Search with Shifting Bottleneck for Job Shop Scheduling , 1998 .