Local search
smac.acquisition.maximizer.local_search
#
LocalSearch
#
LocalSearch(
configspace: ConfigurationSpace,
acquisition_function: (
AbstractAcquisitionFunction | None
) = None,
challengers: int = 5000,
max_steps: int | None = None,
n_steps_plateau_walk: int = 10,
vectorization_min_obtain: int = 2,
vectorization_max_obtain: int = 64,
seed: int = 0,
)
Bases: AbstractAcquisitionMaximizer
Implementation of SMAC's local search.
Parameters#
configspace : ConfigurationSpace acquisition_function : AbstractAcquisitionFunction challengers : int, defaults to 5000 Number of challengers. max_steps: int | None, defaults to None Maximum number of iterations that the local search will perform. n_steps_plateau_walk: int, defaults to 10 Number of steps during a plateau walk before local search terminates. vectorization_min_obtain : int, defaults to 2 Minimal number of neighbors to obtain at once for each local search for vectorized calls. Can be tuned to reduce the overhead of SMAC. vectorization_max_obtain : int, defaults to 64 Maximal number of neighbors to obtain at once for each local search for vectorized calls. Can be tuned to reduce the overhead of SMAC. seed : int, defaults to 0
Source code in smac/acquisition/maximizer/local_search.py
acquisition_function
property
writable
#
acquisition_function: AbstractAcquisitionFunction | None
The acquisition function used for maximization.
maximize
#
maximize(
previous_configs: list[Configuration],
n_points: int | None = None,
random_design: AbstractRandomDesign | None = None,
) -> Iterator[Configuration]
Maximize acquisition function using _maximize
, implemented by a subclass.
Parameters#
previous_configs: list[Configuration]
Previous evaluated configurations.
n_points: int, defaults to None
Number of points to be sampled & number of configurations to be returned. If n_points
is not specified,
self._challengers
is used. Semantics depend on concrete implementation.
random_design: AbstractRandomDesign, defaults to None
Part of the returned ChallengerList such that we can interleave random configurations
by a scheme defined by the random design. The method random_design.next_iteration()
is called at the end of this function.
Returns#
challengers : Iterator[Configuration] An iterable consisting of configurations.