×

Nondeterministic control for hybrid search. (English) Zbl 1112.68039

Summary: 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.

MSC:

68P10 Searching and sorting

Software:

OPL; ToOLS; COMET; SALSA
Full Text: DOI

References:

[1] Balas, A., & Vazacopoulos, E. (1998). Guided local search with shifting bottleneck for job shop scheduling. Manage. Sci. 44(2): 262–275. · Zbl 0989.90057 · doi:10.1287/mnsc.44.2.262
[2] Bent, R., & Van Hentenryck, P. (2004). A two-stage hybrid local search for the vehicle routing problem with time windows. Transp. Sci. 8(4): 515–530. · doi:10.1287/trsc.1030.0049
[3] de Givry, S., & Jeannin, L. (2003). Tools: A library for partial and hybrid search methods. In CP-AI-OR’03, Montreal, Canada. · Zbl 1086.90051
[4] Laburthe, F., & Caseau, Y. (1998). SALSA: A language for search algorithms. In CP’98, Pisa, Italy. · Zbl 1020.68028
[5] Michel, L., & Van Hentenryck, P. (2002). A constraint-based architecture for local search. In OOPSLA’02., pages 101–110. Seattle, Washington.
[6] Michel, L., & Van Hentenryck, P. (2002). A decomposition-based implementation of search strategies. ACM Trans. Comput. Log., 5(2): 351–383. · doi:10.1145/976706.976714
[7] Nowicki, E., & Smutnicki, C. (1996). A fast taboo search algorithm for the job shop problem. Manage. Sci. 42(6): 797–813. · Zbl 0880.90079 · doi:10.1287/mnsc.42.6.797
[8] Perron, L. (1999). Search procedures and parallelism in constraint programming. In CP’99, pages 346–360. Alexandra, Virginia.
[9] Rousseau, L. M., Gendreau, M., & Pesant, G. (2002). Using constraint-based operators to solve the vehicle routing problem with time windows. Journal of Heuristics, 8: 43–58 · Zbl 1073.90056 · doi:10.1023/A:1013661617536
[10] Schulte, C. (1997). Programming constraint inference engines. In CP’97, pages 519–533. Linz, Austria.
[11] Schulte, C. (1999) Comparing trailing and copying for constraint programming. In ICLP-99, pages 275–289. Las Cruces, New Mexico.
[12] Shaw, P. (1998). Using constraint programming and local search methods to solve vehicle routing problems. In CP’98, pages 417–431. Pisa, Italy.
[13] Van Hentenryck, P. (1999). The OPL Optimization Programming Language. Cambridge, Massachusetts: MIT.
[14] Van Hentenryck, P., & Michel, L. (2003). Control abstractions for local search. In CP’03, pages 65–80. Cork, Ireland. · Zbl 1084.68033
[15] Van Hentenryck, P., & Michel, L. (2004). Scheduling abstractions for local search. In CP-AI-OR’04, pages 319–334. Nice, France. · Zbl 1094.90565
[16] Van Hentenryck, P., Michel, L., & Liu, L. (2004). Constraint-based combinators for local search. In CP’04. Toronto, Canada. · Zbl 1152.68589
[17] Van Hentenryck, P., Perron, L. & Puget, J-F. (2000). Search and strategies in OPL. ACM Trans. Comput. Log. 1(2): 1–36. · Zbl 1365.90281
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.