class_docstr: Base class used for receiving composite operations via optimization
  
  Args:
      optimizer: optimizer generated in :class:`~fedot.core.composer.ComposerBuilder`
      composer_requirements: requirements for composition process
class_docstr_tok: ["Base","class","used","for","receiving","composite","operations","via","optimization","Args",":","optimizer",":","optimizer","generated","in",":","class",":","`","~fedot.core.composer.ComposerBuilder","`","composer_requirements",":","requirements","for","composition","process"]
docstr: Run composition process for optimal pipeline structure search
  
  Args:
      data: Data used for problem solving
  
  Returns:
      For ``single-objective optimization`` -> the best pipeline.
  
      For ``multi-objective optimization`` -> a list of the best pipelines is returned.
  
  Notes:
      Returned pipelines are ordered by the descending primary metric (the first is the best).
docstr_tok: ["Run","composition","process","for","optimal","pipeline","structure","search","Args",":","data",":","Data","used","for","problem","solving","Returns",":","For","``","single-objective","optimization","``","-",">","the","best","pipeline",".","For","``","multi-objective","optimization","``","-",">","a","list","of","the","best","pipelines","is","returned",".","Notes",":","Returned","pipelines","are","ordered","by","the","descending","primary","metric","(","the","first","is","the","best",")","."]
code: def compose_pipeline(
      self, data: Union[InputData, MultiModalData]
  ) -> Union[Pipeline, List[Pipeline]]:
      """
      Run composition process for optimal pipeline structure search
  
      Args:
          data: Data used for problem solving
  
      Returns:
          For ``single-objective optimization`` -> the best pipeline.\n
          For ``multi-objective optimization`` -> a list of the best pipelines is returned.
  
      Notes:
          Returned pipelines are ordered by the descending primary metric (the first is the best).
      """
  
      raise AbstractMethodNotImplementError
  
file_path: FEDOT/fedot/core/composer/composer.py
imports: from abc import ABC, abstractmethod
  from typing import List, Optional, Union
  from golem.core.log import default_log
  from golem.core.optimisers.opt_history_objects.opt_history import OptHistory
  from golem.core.optimisers.optimization_parameters import OptimizationParameters
  from golem.core.optimisers.optimizer import GraphOptimizer
  from fedot.core.data.data import InputData
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.pipelines.pipeline import Pipeline
  from fedot.utilities.custom_errors import AbstractMethodNotImplementError
label_desc: Use image node_id 3 for calling the Composer obj's underlying member method code with example usage: obj.compose_pipeline(data) without return types