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 theFunctionBetweenSteps
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 severallocal_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 severaltabu_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.