class_docstr: Interleave a random configuration, decreasing the fraction of random configurations over time.
  
  Parameters
  ----------
  start_modulus : float, defaults to 2.0
     Initially, every modulus-th configuration will be at random.
  modulus_increment : float, defaults to 0.3
     Increase modulus by this amount in every iteration.
  end_modulus : float, defaults to np.inf
     The maximum modulus ever used. If the value is reached before the optimization
     is over, it is not further increased. If it is not reached before the optimization is over,
     there will be no adjustment to make sure that the `end_modulus` is reached.
  seed : int, defaults to 0
      Integer used to initialize the random state. This class does not use the seed.
code: def __init__(
      self,
      start_modulus: float = 2.0,
      modulus_increment: float = 0.3,
      end_modulus: float = np.inf,
      seed: int = 0,
  ):
      super().__init__(seed)
      assert start_modulus > 0
      assert modulus_increment > 0
      assert end_modulus > 0
      assert end_modulus > start_modulus
  
      if start_modulus <= 1.0 and modulus_increment <= 0.0:
          logger.warning(
              "Using SMAC with random configurations only. ROAR is the better choice for this."
          )
  
      self._modulus = start_modulus
      self._start_modulus = start_modulus
      self._modulus_increment = modulus_increment
      self._end_modulus = end_modulus
  
file_path: SMAC3/smac/random_design/modulus_design.py
imports: from __future__ import annotations
  from typing import Any
  import numpy
  from smac.random_design.abstract_random_design import AbstractRandomDesign
  from smac.utils.logging import get_logger
label_desc: Use image node_id 1 to create a new DynamicModulusRandomDesign object from inherited base classes: AbstractRandomDesign with example: obj = DynamicModulusRandomDesign(start_modulus, modulus_increment, end_modulus, seed)