Abstract : This paper presents an approach for making local search algorithms distributed, to get speed improvements thanks to the growth both in multi-core hardware and the massive availability of distributed computing power, notably in the cloud. Local search algorithms rely on the exploration of neighborhoods on a given solution space model. Our distribution approach relies on the exploration of multiple neighborhoods in parallel, performed by different workers located on different CPU cores (locally or distributed). This approach relies on neighborhood combinators, which are composite neighborhoods built out of basic neighborhoods. Combinators allows us to introduce metaheuristics (restart, tabu search, simulated annealing), neighborhood selection (hill-climbing, round-robin) and handle search strategies. We propose some parallel search combinators that can be instantiated to build search strategies encompassing parallel neighborhood exploration. An implementation is proposed in the OscaR.cbls framework, using the Actor model of computation.
Keywords : Parallelization, multi-core, Akka, local search, combinatorial optimization, OscaR.cbls