code: def sobol_gpei_generation_node_gs() -> GenerationStrategy:
      """Returns a basic SOBOL +GPEI GS usecase using GenerationNodes for testing"""
      sobol_criterion = [
          MaxTrials(
              threshold=5,
              transition_to="GPEI_node",
              block_gen_if_met=True,
              only_in_statuses=None,
              not_in_statuses=[
                  TrialStatus.FAILED,
                  TrialStatus.ABANDONED,
              ],
          )
      ]
      gpei_criterion = [
          MaxTrials(
              threshold=2,
              transition_to=None,
              block_gen_if_met=True,
              only_in_statuses=None,
              not_in_statuses=[
                  TrialStatus.FAILED,
                  TrialStatus.ABANDONED,
              ],
          ),
          # Here MinTrials and MaxParallelism don't enforce anything, but
          # we wanted to have an instance of them to test for storage compatibility.
          MinTrials(
              threshold=0,
              transition_to=None,
              block_gen_if_met=False,
              only_in_statuses=[TrialStatus.CANDIDATE],
              not_in_statuses=None,
          ),
          MaxGenerationParallelism(
              threshold=1000,
              transition_to=None,
              block_gen_if_met=True,
              only_in_statuses=[TrialStatus.RUNNING],
              not_in_statuses=None,
          ),
      ]
      step_model_kwargs = {"silently_filter_kwargs": True}
      sobol_model_spec = ModelSpec(
          model_enum=Models.SOBOL,
          model_kwargs=step_model_kwargs,
          model_gen_kwargs={},
      )
      gpei_model_spec = ModelSpec(
          model_enum=Models.GPEI,
          model_kwargs=step_model_kwargs,
          model_gen_kwargs={},
      )
      sobol_node = GenerationNode(
          node_name="sobol_node",
          transition_criteria=sobol_criterion,
          model_specs=[sobol_model_spec],
          gen_unlimited_trials=False,
      )
      gpei_node = GenerationNode(
          node_name="GPEI_node",
          transition_criteria=gpei_criterion,
          model_specs=[gpei_model_spec],
          gen_unlimited_trials=False,
      )
  
      sobol_GPEI_GS_nodes = GenerationStrategy(
          name="Sobol+GPEI_Nodes",
          nodes=[sobol_node, gpei_node],
          steps=None,
      )
      return sobol_GPEI_GS_nodes
  
imports: from logging import Logger
  from typing import Any, Dict, List, Optional, Type
  import numpy
  from ax.core.base_trial import TrialStatus
  from ax.core.experiment import Experiment
  from ax.core.observation import Observation, ObservationData, ObservationFeatures
  from ax.core.optimization_config import OptimizationConfig
  from ax.core.parameter import FixedParameter, RangeParameter
  from ax.core.search_space import SearchSpace
  from ax.modelbridge.base import ModelBridge
  from ax.modelbridge.dispatch_utils import choose_generation_strategy
  from ax.modelbridge.factory import get_sobol
  from ax.modelbridge.generation_node import GenerationNode
  from ax.modelbridge.generation_strategy import GenerationStep, GenerationStrategy
  from ax.modelbridge.model_spec import ModelSpec
  from ax.modelbridge.registry import Models
  from ax.modelbridge.transforms.base import Transform
  from ax.modelbridge.transforms.int_to_float import IntToFloat
  from ax.modelbridge.transition_criterion import MaxGenerationParallelism, MaxTrials, MinimumPreferenceOccurances, MinTrials
  from ax.models.torch.botorch_modular.surrogate import Surrogate
  from ax.utils.common.logger import get_logger
  from ax.utils.testing.core_stubs import get_experiment, get_search_space, get_search_space_for_value
  from botorch.acquisition.monte_carlo import qNoisyExpectedImprovement
  from botorch.models.fully_bayesian import SaasFullyBayesianSingleTaskGP
  from botorch.models.transforms.input import InputTransform, Normalize
  from botorch.models.transforms.outcome import OutcomeTransform, Standardize
label_desc: Use image node_id 10 for calling a global function with example usage: sobol_gpei_generation_node_gs() and returns: sobol_GPEI_GS_nodes