class_docstr: Base class for test multi-objective test functions.
  
  TODO: add a pareto distance function that returns the distance
  between a provided point and the closest point on the true pareto front.
class_docstr_tok: ["Base","class","for","test","multi-objective","test","functions",".","TODO",":","add","a","pareto","distance","function","that","returns","the","distance","between","a","provided","point","and","the","closest","point","on","the","true","pareto","front","."]
docstr: Base constructor for multi-objective test functions.
  
  Args:
      noise_std: Standard deviation of the observation noise. If a list is
          provided, specifies separate noise standard deviations for each
          objective.
      negate: If True, negate the objectives.
docstr_tok: ["Base","constructor","for","multi-objective","test","functions",".","Args",":","noise_std",":","Standard","deviation","of","the","observation","noise",".","If","a","list","is","provided",",","specifies","separate","noise","standard","deviations","for","each","objective",".","negate",":","If","True",",","negate","the","objectives","."]
code: def __init__(
      self,
      noise_std: Union[None, float, List[float]] = None,
      negate: bool = False,
  ) -> None:
      r"""Base constructor for multi-objective test functions.
  
      Args:
          noise_std: Standard deviation of the observation noise. If a list is
              provided, specifies separate noise standard deviations for each
              objective.
          negate: If True, negate the objectives.
      """
      if isinstance(noise_std, list) and len(noise_std) != len(
          self._ref_point
      ):
          raise InputDataError(
              f"If specified as a list, length of noise_std ({len(noise_std)}) "
              f"must match the number of objectives ({len(self._ref_point)})"
          )
      super().__init__(noise_std=noise_std, negate=negate)
      ref_point = torch.tensor(self._ref_point, dtype=torch.float)
      if negate:
          ref_point *= -1
      self.register_buffer("ref_point", ref_point)
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import List, Tuple, Union
  import torch
  from botorch.exceptions.errors import InputDataError
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 1 to create a new MultiObjectiveTestProblem object from inherited base classes: BaseTestProblem with example: obj = MultiObjectiveTestProblem(noise_std, negate)