Available Tabu Search Strategies

Tabu List based on recently made moves

The  mets::simple_tabu_list implements a recency move memory. It expects that all moves are of the type  mets::mana_move (with clone(), operator==() and hash() methods).

The behaviour of the tabu-list (e.g. refusing the same or the opposite move) can be customized implementing an ad-hoc operator==() method or deriving a new class.

Tabu List based on recently visited solutions

This is on the way, but is simple to implement (pretty the same as simple_tabu_list).

Reactive Tabu Search

The simple_tabu_list fully implements the setTenure() method. You can call setTenure() from an attached  mets::search_listener (FIXME: the observer need write access to the tabu list chain) between different tabu_search phases.