class_docstr: A study corresponds to a multi-objective optimization task, i.e., a set of trials.
  
  This object provides interfaces to run a new
  :class:`~optuna.multi_objective.trial.Trial`, access trials'
  history, set/get user-defined attributes of the study itself.
  
  Note that the direct use of this constructor is not recommended.
  To create and load a study, please refer to the documentation of
  :func:`~optuna.multi_objective.study.create_study` and
  :func:`~optuna.multi_objective.study.load_study` respectively.
class_docstr_tok: ["A","study","corresponds","to","a","multi-objective","optimization","task",",","i.e.",",","a","set","of","trials",".","This","object","provides","interfaces","to","run","a","new",":","class",":","`","~optuna.multi_objective.trial.Trial","`",",","access","trials'","history",",","set\/get","user-defined","attributes","of","the","study","itself",".","Note","that","the","direct","use","of","this","constructor","is","not","recommended",".","To","create","and","load","a","study",",","please","refer","to","the","documentation","of",":","func",":","`","~optuna.multi_objective.study.create_study","`","and",":","func",":","`","~optuna.multi_objective.study.load_study","`","respectively","."]
docstr: Optimize an objective function.
  
  This method is the same as :func:`optuna.study.Study.optimize` except for
  taking an objective function that returns multi-objective values as the argument.
  
  Please refer to the documentation of :func:`optuna.study.Study.optimize`
  for further details.
  
  Example:
  
      .. testcode::
  
          import optuna
  
  
          def objective(trial):
              # Binh and Korn function.
              x = trial.suggest_float("x", 0, 5)
              y = trial.suggest_float("y", 0, 3)
  
              v0 = 4 * x**2 + 4 * y**2
              v1 = (x - 5) ** 2 + (y - 5) ** 2
              return v0, v1
  
  
          study = optuna.multi_objective.create_study(["minimize", "minimize"])
          study.optimize(objective, n_trials=3)
code: def optimize(
      self,
      objective: ObjectiveFuncType,
      timeout: Optional[int] = None,
      n_trials: Optional[int] = None,
      n_jobs: int = 1,
      catch: Tuple[Type[Exception], ...] = (),
      callbacks: Optional[List[CallbackFuncType]] = None,
      gc_after_trial: bool = True,
      show_progress_bar: bool = False,
  ) -> None:
      """Optimize an objective function.
  
      This method is the same as :func:`optuna.study.Study.optimize` except for
      taking an objective function that returns multi-objective values as the argument.
  
      Please refer to the documentation of :func:`optuna.study.Study.optimize`
      for further details.
  
      Example:
  
          .. testcode::
  
              import optuna
  
  
              def objective(trial):
                  # Binh and Korn function.
                  x = trial.suggest_float("x", 0, 5)
                  y = trial.suggest_float("y", 0, 3)
  
                  v0 = 4 * x**2 + 4 * y**2
                  v1 = (x - 5) ** 2 + (y - 5) ** 2
                  return v0, v1
  
  
              study = optuna.multi_objective.create_study(["minimize", "minimize"])
              study.optimize(objective, n_trials=3)
      """
  
      def mo_objective(trial: Trial) -> float:
          mo_trial = multi_objective.trial.MultiObjectiveTrial(trial)
          values = objective(mo_trial)
          mo_trial._report_complete_values(values)
          return 0.0  # Dummy value.
  
      # Wraps a multi-objective callback so that we can pass it to the `Study.optimize` method.
      def wrap_mo_callback(
          callback: CallbackFuncType,
      ) -> Callable[[Study, FrozenTrial], None]:
          return lambda study, trial: callback(
              MultiObjectiveStudy(study),
              multi_objective.trial.FrozenMultiObjectiveTrial(
                  self.n_objectives, trial
              ),
          )
  
      if callbacks is None:
          wrapped_callbacks = None
      else:
          wrapped_callbacks = [
              wrap_mo_callback(callback) for callback in callbacks
          ]
  
      self._study.optimize(
          mo_objective,
          timeout=timeout,
          n_trials=n_trials,
          n_jobs=n_jobs,
          catch=catch,
          callbacks=wrapped_callbacks,
          gc_after_trial=gc_after_trial,
          show_progress_bar=show_progress_bar,
      )
  
imports: import types
  from typing import Any
  from typing import Callable
  from typing import Container
  from typing import Dict
  from typing import Iterable
  from typing import List
  from typing import Optional
  from typing import Sequence
  from typing import Tuple
  from typing import Type
  from typing import Union
  from optuna import logging
  from optuna import multi_objective
  from optuna._deprecated import deprecated_class
  from optuna._deprecated import deprecated_func
  from optuna.pruners import NopPruner
  from optuna.storages import BaseStorage
  from optuna.study import create_study
  from optuna.study import load_study
  from optuna.study import Study
  from optuna.study._study_direction import StudyDirection
  from optuna.trial import FrozenTrial
  from optuna.trial import Trial
  from optuna.trial import TrialState
label_desc: Use image node_id 5 for calling the MultiObjectiveStudy obj's underlying member method code with example usage: obj.optimize(objective, timeout, n_trials, n_jobs, catch, callbacks, gc_after_trial, show_progress_bar) and returns: int, function