Source code for metaheuristic_designer.parameter_schedules.random_schedule

"""
Schedule that picks a random value at each evaluation.
"""

from typing import Optional

from ..utils import RNGLike
from ..schedulable_parameter import SchedulableParameter


[docs] class RandomSchedule(SchedulableParameter): """ Schedule that returns a uniform random value between `init_value` and `final_value` at every call, ignoring progress. Parameters ---------- init_value : float Lower bound of the random interval. final_value : float Upper bound of the random interval. random_state : RNGLike, optional Random number generator. """ def __init__(self, init_value: float, final_value: float, random_state: Optional[RNGLike] = None): super().__init__(random_state=random_state) self.init_value = init_value self.final_value = final_value
[docs] def evaluate(self, progress: float) -> float: return self.random_state.uniform(self.init_value, self.final_value)