class_docstr: MVaR Approximation based on Random Scalarizations as introduced
  in [Daulton2022MARS]_.
  
  This approximates MVaR via VaR of Chebyshev scalarizations, where each
  scalarization corresponds to a point in the MVaR set. As implemented,
  this uses one set of scalarization weights to approximate a single MVaR value.
  Note that due to the normalization within the Chebyshev scalarization,
  the output of this risk measure may not be on the same scale as its inputs.
docstr: Update the Chebyshev weights.
  
  Invalidates the cached Chebyshev objective.
  
  Args:
      chebyshev_weights: The weights to use in the Chebyshev scalarization.
          The Chebyshev scalarization is applied before computing VaR.
          The weights must be non-negative. See `preprocessing_function` to
          support minimization objectives.
docstr_tok: ["Update","the","Chebyshev","weights",".","Invalidates","the","cached","Chebyshev","objective",".","Args",":","chebyshev_weights",":","The","weights","to","use","in","the","Chebyshev","scalarization",".","The","Chebyshev","scalarization","is","applied","before","computing","VaR",".","The","weights","must","be","non-negative",".","See","`","preprocessing_function","`","to","support","minimization","objectives","."]
code: def chebyshev_weights(
      self, chebyshev_weights: Union[Tensor, List[float]]
  ) -> None:
      r"""Update the Chebyshev weights.
  
      Invalidates the cached Chebyshev objective.
  
      Args:
          chebyshev_weights: The weights to use in the Chebyshev scalarization.
              The Chebyshev scalarization is applied before computing VaR.
              The weights must be non-negative. See `preprocessing_function` to
              support minimization objectives.
      """
      self._chebyshev_objective = None
      chebyshev_weights = torch.as_tensor(chebyshev_weights)
      if torch.any(chebyshev_weights < 0):
          raise UnsupportedError(
              "Negative weights are not supported in MARS."
          )
      if chebyshev_weights.dim() != 1:
          raise UnsupportedError(
              "Batched weights are not supported in MARS."
          )
      self.register_buffer("_chebyshev_weights", chebyshev_weights)
  
imports: import warnings
  from abc import ABC, abstractmethod
  from math import ceil
  from typing import Callable, List, Optional, Union
  import torch
  from botorch.acquisition.multi_objective.objective import IdentityMCMultiOutputObjective, MCMultiOutputObjective
  from botorch.acquisition.risk_measures import CVaR, RiskMeasureMCObjective, VaR
  from botorch.exceptions.errors import UnsupportedError
  from botorch.exceptions.warnings import BotorchWarning
  from botorch.models.model import Model
  from botorch.utils.multi_objective.pareto import is_non_dominated
  from botorch.utils.transforms import normalize
  from torch import Tensor
label_desc: Use image node_id 4 for calling the MARS obj's underlying member method code with example usage: obj.chebyshev_weights(chebyshev_weights) without return types