easylocal::runners::AspirationPlusTabuSearch
Tabu Search with Glover's aspiration plus candidate strategy: each scan examines admissible moves until plus more after the first one whose cost is under the aspiration level, but at least min_moves and at most max_moves of them, and applies the best of those examined (the group candidates, candidates::AspirationPlusParameters).
Synopsis
Declared in <easylocal/runners/tabu_search.hpp>
template<
class TabuList = tabu::FixedLength,
class Aspiration = aspiration::ByObjective>
class AspirationPlusTabuSearch;
Description
The aspiration level is best + (aspiration_level - 1) * |best|, for the best cost best: aspiration_level times it when it is positive, and never below it. It is a value of the cost, so the cost is arithmetic. Requires what TabuSearch requires, with an arithmetic cost.
Type Aliases
| Name | Description |
|---|---|
parameters_type | The parameter block of the algorithm. |
search_requirements | What the algorithm asks of the services it searches with. |
Member Functions
| Name | Description |
|---|---|
AspirationPlusTabuSearch [constructor] | From its parameters and an aspiration criterion. |
run | Rejects, with a readable message, a cost that is not arithmetic. |
run | Runs the search from solution, with rng for the ties and the random choices of the list. |