class_docstr: A Scheduler that uses a simulated backend for Ax asynchronous benchmarks.
class_docstr_tok: ["A","Scheduler","that","uses","a","simulated","backend","for","Ax","asynchronous","benchmarks","."]
docstr: A Scheduler for Ax asynchronous benchmarks.
  
  Args:
      experiment: Experiment, in which results of the optimization
          will be recorded.
      generation_strategy: Generation strategy for the optimization,
          describes models that will be used in optimization.
      max_pending_trials: The maximum number of pending trials allowed.
      options: `SchedulerOptions` for this Scheduler instance.
docstr_tok: ["A","Scheduler","for","Ax","asynchronous","benchmarks",".","Args",":","experiment",":","Experiment",",","in","which","results","of","the","optimization","will","be","recorded",".","generation_strategy",":","Generation","strategy","for","the","optimization",",","describes","models","that","will","be","used","in","optimization",".","max_pending_trials",":","The","maximum","number","of","pending","trials","allowed",".","options",":","`","SchedulerOptions","`","for","this","Scheduler","instance","."]
code: def __init__(
      self,
      experiment: Experiment,
      generation_strategy: GenerationStrategy,
      max_pending_trials: int,
      options: SchedulerOptions,
  ) -> None:
      """A Scheduler for Ax asynchronous benchmarks.
  
      Args:
          experiment: Experiment, in which results of the optimization
              will be recorded.
          generation_strategy: Generation strategy for the optimization,
              describes models that will be used in optimization.
          max_pending_trials: The maximum number of pending trials allowed.
          options: `SchedulerOptions` for this Scheduler instance.
      """
      if not isinstance(experiment.runner, SimulatedBackendRunner):
          raise ValueError(
              "experiment must have runner of type SimulatedBackendRunner attached"
          )
      if (
          options.max_pending_trials is not None
          and options.max_pending_trials != max_pending_trials
      ):
          raise ValueError(
              f"`SchedulerOptions.max_pending_trials`: {options.max_pending_trials} "
              f"does not match argument to `Scheduler`: {max_pending_trials}."
          )
      if options.max_pending_trials is None:
          options = dataclass_replace(
              options, max_pending_trials=max_pending_trials
          )
  
      super().__init__(
          experiment=experiment,
          generation_strategy=generation_strategy,
          options=options,
          _skip_experiment_save=True,
      )
  
file_path: Ax/ax/utils/testing/backend_scheduler.py
imports: from __future__ import annotations
  from dataclasses import replace
  from logging import Logger
  from typing import Dict, Optional, Set
  from ax.core.experiment import Experiment
  from ax.modelbridge.generation_strategy import GenerationStrategy
  from ax.runners.simulated_backend import SimulatedBackendRunner
  from ax.service.scheduler import Scheduler, SchedulerOptions
  from ax.utils.common.logger import get_logger
  from ax.utils.testing.backend_simulator import BackendSimulator
label_desc: Use image node_id 1 to create a new AsyncSimulatedBackendScheduler object from inherited base classes: Scheduler with example: obj = AsyncSimulatedBackendScheduler(experiment, generation_strategy, max_pending_trials, options)