mathematical-optimizationdeterministicoperations-researchtabu-search

Is Tabu Search stochastic or deterministic?


I'm doing a comparison of two conservation area design tools, namely Marxan and ConsNet, both of which use metaheuristic algorithms to solve a version of the minimum set cover problem. Marxan uses Simulated Annealing and ConsNet uses Tabu Search. Although my background is in Biology, I think I was able to grasp some of the concepts of optimization through metaheuristics.

However, there are two things I still haven't figured out about Tabu Search. The first is how it escapes local optima. I know it can't reverse its moves, and that stops it from cycling, but I don't know what makes it leave a local optimum once it finds it. I can understand how Simulated Annealing does it - it has a certain probability of accepting a worse solution which decreases over time until it no longer accepts a worse solution - but I don't know how TS does it.

The second issue is, in the ConsNet manual, the following statement is found

The search is completely deterministic, but it can make decisions about how to proceed based on the current state of the solution archive or the current state of the objective

Is TS always deterministic? From reading some sources I got the idea that moves could be random, like in SA. But then there are some papers that talk about "Deterministic Tabu Search". How does deterministic tabu search know which moves to take and how does it escape local optima? It must accept worse solutions sometimes, right?

Many thanks in advance


Solution

  • Multiple questions, so multiple answers :)

    Note: I am affiliated with OptaPlanner (java, open source).