code: def test_complex_search_space_tuning_correct(tuner):
      """Tests SimultaneousTuner for time series forecasting task with GLM model that has a complex glm search space"""
      train_data, test_data = get_ts_data(
          n_steps=700, forecast_length=20
      )
  
      glm_pipeline = Pipeline(PipelineNode("glm"))
      initial_parameters = glm_pipeline.nodes[0].parameters
      tuner = (
          TunerBuilder(train_data.task)
          .with_tuner(tuner)
          .with_metric(RegressionMetricsEnum.MSE)
          .with_iterations(100)
          .build(train_data)
      )
      tuned_glm_pipeline = tuner.tune(glm_pipeline)
      found_parameters = tuned_glm_pipeline.nodes[0].parameters
      if tuner.init_metric == tuner.obtained_metric:
          # TODO: (YamLyubov) Remove the check when IOptTuner will be able to tune categorical parameters.
          assert initial_parameters == found_parameters
      else:
          assert initial_parameters != found_parameters
  
imports: import os
  from time import time
  import pytest
  from fedot.core.repository.dataset_types import DataTypesEnum
  from golem.core.tuning.hyperopt_tuner import get_node_parameters_for_hyperopt
  from golem.core.tuning.iopt_tuner import IOptTuner
  from golem.core.tuning.optuna_tuner import OptunaTuner
  from golem.core.tuning.sequential import SequentialTuner
  from golem.core.tuning.simultaneous import SimultaneousTuner
  from golem.utilities.data_structures import ensure_wrapped_in_sequence
  from hyperopt import hp
  from hyperopt.pyll.stochastic import sample
  from examples.simple.time_series_forecasting.ts_pipelines import ts_complex_ridge_smoothing_pipeline, ts_glm_pipeline
  from fedot.core.data.data import InputData
  from fedot.core.data.data_split import train_test_data_setup
  from fedot.core.operations.evaluation.operation_implementations.models.ts_implementations.statsmodels import GLMImplementation
  from fedot.core.pipelines.node import PipelineNode
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.core.pipelines.tuning.search_space import PipelineSearchSpace
  from fedot.core.pipelines.tuning.tuner_builder import TunerBuilder
  from fedot.core.repository.metrics_repository import RegressionMetricsEnum, ClassificationMetricsEnum
  from fedot.core.repository.tasks import Task, TaskTypesEnum
  from fedot.core.utils import fedot_project_root, NESTED_PARAMS_LABEL
  from test.unit.multimodal.data_generators import get_single_task_multimodal_tabular_data, get_multimodal_pipeline
  from test.unit.tasks.test_forecasting import get_ts_data
label_desc: Use image node_id 35 for calling a global function with example usage: test_complex_search_space_tuning_correct(tuner) without return types