Module heuristics

Source
Expand description

This module contains the implementations of the (meta)heuristics.

Modules§

common
This module contains types, traits and algorithms that are used by multiple solvers. In particular, it contains the Neighborhood trait, which is used to define the neighborhood of a solution, and the FunctionBetweenSteps type, which is used to define the function that is executed between steps of the solver.
local_search
This module contains the LocalSearchSolver implementing the local search heuristic. There are several local_improvers (neighborhood exploration stategies) to choose from.
parallel_local_search
This module contains the ParallelLocalSearchSolver implementing the local search heuristic.
parallel_tabu_search
This module contains the ParallelTabuSearchSolver implementing the tabu search metaheuristic, where the neighborhood exploration is done in parallel.
simulated_annealing
This module contains the SimulatedAnnealingSolver implementing the simulated annealing metaheuristic.
tabu_search
This module contains the TabuSearchSolver implementing the tabu search metaheuristic. There are several tabu_improvers (neighborhood exploration stategies) to choose from.
threshold_accepting
This module contains the ThresholdAcceptingSolver implementing the threshold accpeting metaheuristic.

Traits§

Solver
All local-search-based solvers implement this trait.