Source code for metaheuristic_designer.strategies.classic.random_search
"""
Random search strategy (baseline).
"""
from __future__ import annotations
from ...initializer import Initializer
from ...operators import create_operator
from ..population_based_strategy import PopulationBasedStrategy
[docs]
class RandomSearch(PopulationBasedStrategy):
"""
Random search algorithm.
Each iteration replaces the current population with completely
new random individuals (via a ``random.random`` operator). No
perturbation of existing solutions occurs.
Parameters
----------
initializer : Initializer
Population initializer.
name : str, optional
Display name (default ``"RandomSearch"``).
\\*\\*kwargs
Forwarded to :class:`HillClimb`.
"""
def __init__(self, initializer: Initializer, name="RandomSearch", rng=None, **kwargs):
super().__init__(
initializer=initializer, operator=create_operator(method="random.random", initializer=initializer, rng=rng), name=name, **kwargs
)