easylocal::runners::LateAcceptanceHillClimbing
Late Acceptance Hill Climbing (Burke and Bykov): a random move is accepted if its cost is better than or equivalent to the current cost, or to the cost the current solution had history_length iterations earlier.
Synopsis
Declared in <easylocal/runners/late_acceptance_hill_climbing.hpp>
class LateAcceptanceHillClimbing;
Description
After each proposal the current cost replaces that oldest entry of the history, which starts filled with the initial cost. With history_length 1 it accepts the moves Hill Climbing accepts. It stops after max_idle_iterations consecutive proposals without improving the best cost, and returns the best solution found. Requires a neighborhood explorer with random_move() and a cost with better() and better_or_equivalent().
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 |
|---|---|
LateAcceptanceHillClimbing [constructor] | From its parameters. |
run | Runs the search from solution, drawing random moves with rng. |