Class solver::Tabu
Defines a tabu search solver. We are implementing the simple tabu search found in the following papers:
- J.E Beasley's 1998 paper "Heuristic algorithms for the unconstrained binary quadratic programming problem"
- GINTARAS PALUBECKIS 2004 paper "Multistart Tabu Search Strategies for the Unconstrained Binary Quadratic Optimization Problem" with the following adjustments:
local delta calculations (as opposed to full re-calculation of the cost function)
- different starting configurations running in parallel
Inherited Members
Constructors
Tabu()
Declaration
solver::Tabu<Model_T>::Tabu()
Tabu()
Declaration
solver::Tabu<Model_T>::Tabu(const Tabu&)=delete
Methods
operator=()
Declaration
Tabu&solver::Tabu<Model_T>::operator=(const Tabu&)=delete
get_identifier()
Identifier of this solver (target
in the request)
Declaration
std::string solver::Tabu<Model_T>::get_identifier() const override
init_memory_check_error_message()
Declaration
std::string solver::Tabu<Model_T>::init_memory_check_error_message() const override
target_number_of_states()
Declaration
size_t solver::Tabu<Model_T>::target_number_of_states() const override
init()
Initialize the solver.
Declaration
void solver::Tabu<Model_T>::init() override
make_step()
Declaration
void solver::Tabu<Model_T>::make_step(uint64_t) override
get_solutions()
Get the structured result description.
Declaration
utils::Structure solver::Tabu<Model_T>::get_solutions() const override
configure()
Read the maximum number of steps from configuration.
Declaration
void solver::Tabu<Model_T>::configure(const utils::Json&json) override
finalize()
Declaration
void solver::Tabu<Model_T>::finalize() override