EasyLocalAPI reference iolab-uniud/easylocal

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

NameDescription
parameters_type The parameter block of the algorithm.
search_requirements What the algorithm asks of the services it searches with.

Member Functions

NameDescription
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.