code: def test_skoptcv_multiple_forecaster():
      """Test ForecastingSkoptSearchCV with multiple forecasters and custom n_iter.
  
      Other behaviours are tested in test_skoptcv.
      """
      params_distributions = [
          {
              "forecaster": [NaiveForecaster(sp=12)],
              "forecaster__strategy": ["drift", "last", "mean"],
          },  # iterate twice
          (
              {
                  "imputer__method": ["mean", "median"],
                  "forecaster": [ExponentialSmoothing(sp=12)],
                  "forecaster__trend": ["add", "mul"],
              },
              3,
          ),  # iterate thrice custom iteration
      ]
      cv = CVs[-1]
      y, X = load_longley()
      pipe = TransformedTargetForecaster(
          steps=[
              ("imputer", Imputer()),
              ("forecaster", NaiveForecaster()),
          ]
      )
      sscv = ForecastingSkoptSearchCV(
          forecaster=pipe,
          param_distributions=params_distributions,
          cv=cv,
          n_jobs=-1,
          random_state=123,
          n_points=2,
          n_iter=2,
      )
      sscv.fit(y, X)
      assert len(sscv.cv_results_) == 5
  
imports: import numpy
  import pytest
  from sklearn.model_selection import ParameterGrid, ParameterSampler
  from sktime.datasets import load_airline, load_longley
  from sktime.forecasting.arima import ARIMA
  from sktime.forecasting.compose import TransformedTargetForecaster
  from sktime.forecasting.exp_smoothing import ExponentialSmoothing
  from sktime.forecasting.model_evaluation import evaluate
  from sktime.forecasting.model_selection import ForecastingGridSearchCV, ForecastingRandomizedSearchCV, ForecastingSkoptSearchCV
  from sktime.forecasting.model_selection._tune import BaseGridSearch
  from sktime.forecasting.naive import NaiveForecaster
  from sktime.forecasting.tests._config import TEST_N_ITERS, TEST_OOS_FHS, TEST_RANDOM_SEEDS, TEST_WINDOW_LENGTHS_INT
  from sktime.forecasting.trend import PolynomialTrendForecaster
  from sktime.performance_metrics.forecasting import MeanAbsolutePercentageError, MeanSquaredError
  from sktime.performance_metrics.forecasting.probabilistic import CRPS, PinballLoss
  from sktime.split import SingleWindowSplitter, SlidingWindowSplitter
  from sktime.tests.test_switch import run_test_for_class
  from sktime.transformations.series.detrend import Detrender
  from sktime.transformations.series.impute import Imputer
  from sktime.utils._testing.hierarchical import _make_hierarchical
  from sktime.utils.parallel import _get_parallel_test_fixtures
label_desc: Use image node_id 10 for calling a global function with example usage: test_skoptcv_multiple_forecaster() without return types