class_docstr: 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
class_docstr_tok: ["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"]
code: def __init__(
      self,
      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,
  ) -> None:
      super().__init__(
          configspace,
          acquisition_function,
          challengers=challengers,
          seed=seed,
      )
  
      self._max_steps = max_steps
      self._n_steps_plateau_walk = n_steps_plateau_walk
      self._vectorization_min_obtain = vectorization_min_obtain
      self._vectorization_max_obtain = vectorization_max_obtain
  
file_path: SMAC3/smac/acquisition/maximizer/local_search.py
imports: from __future__ import annotations
  from typing import Any
  import itertools
  import time
  import numpy
  from ConfigSpace import Configuration, ConfigurationSpace
  from ConfigSpace.exceptions import ForbiddenValueError
  from smac.acquisition.function import AbstractAcquisitionFunction
  from smac.acquisition.maximizer.abstract_acqusition_maximizer import AbstractAcquisitionMaximizer
  from smac.utils.configspace import convert_configurations_to_array, get_one_exchange_neighbourhood
  from smac.utils.logging import get_logger
label_desc: Use image node_id 1 to create a new LocalSearch object from inherited base classes: AbstractAcquisitionMaximizer with example: obj = LocalSearch(configspace, acquisition_function, challengers, max_steps, n_steps_plateau_walk, vectorization_min_obtain, vectorization_max_obtain, seed)