EasyLocalAPI reference iolab-uniud/easylocal

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

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

Member Functions

NameDescription
LateAcceptanceHillClimbing [constructor]From its parameters.
run Runs the search from solution, drawing random moves with rng.