class_docstr: Hypervolume computation dimension sweep algorithm from [Fonseca2006]_.
  
  Adapted from Simon Wessing's implementation of the algorithm
  (Variant 3, Version 1.2) in [Fonseca2006]_ in PyMOO:
  https://github.com/msu-coinlab/pymoo/blob/master/pymoo/vendor/hv.py
  
  Maximization is assumed.
  
  TODO: write this in C++ for faster looping.
class_docstr_tok: ["Hypervolume","computation","dimension","sweep","algorithm","from","[","Fonseca2006","]","_",".","Adapted","from","Simon","Wessing","'s","implementation","of","the","algorithm","(","Variant","3",",","Version","1.2",")","in","[","Fonseca2006","]","_","in","PyMOO",":","https",":","\/\/github.com\/msu-coinlab\/pymoo\/blob\/master\/pymoo\/vendor\/hv.py","Maximization","is","assumed",".","TODO",":","write","this","in","C++","for","faster","looping","."]
docstr: Sets up the multilist data structure needed for calculation.
  
  Note: this assumes minimization.
  
  Args:
      pareto_Y: A `n x m`-dim tensor of pareto optimal objectives.
docstr_tok: ["Sets","up","the","multilist","data","structure","needed","for","calculation",".","Note",":","this","assumes","minimization",".","Args",":","pareto_Y",":","A","`","n","x","m","`","-dim","tensor","of","pareto","optimal","objectives","."]
code: def _initialize_multilist(self, pareto_Y: Tensor) -> None:
      r"""Sets up the multilist data structure needed for calculation.
  
      Note: this assumes minimization.
  
      Args:
          pareto_Y: A `n x m`-dim tensor of pareto optimal objectives.
  
      """
      m = pareto_Y.shape[-1]
      nodes = [
          Node(
              m=m,
              dtype=pareto_Y.dtype,
              device=pareto_Y.device,
              data=point,
          )
          for point in pareto_Y
      ]
      self.list = MultiList(
          m=m, dtype=pareto_Y.dtype, device=pareto_Y.device
      )
      for i in range(m):
          sort_by_dimension(nodes, i)
          self.list.extend(nodes, i)
  
imports: from __future__ import annotations
  import warnings
  from copy import deepcopy
  from itertools import combinations
  from typing import Callable, List, Optional, Union
  import torch
  from botorch.acquisition.cached_cholesky import CachedCholeskyMCSamplerMixin
  from botorch.acquisition.multi_objective.objective import MCMultiOutputObjective
  from botorch.acquisition.multi_objective.utils import prune_inferior_points_multi_objective
  from botorch.exceptions.errors import BotorchError, BotorchTensorDimensionError, UnsupportedError
  from botorch.exceptions.warnings import BotorchWarning
  from botorch.models.model import Model
  from botorch.sampling.base import MCSampler
  from botorch.utils.multi_objective.box_decompositions.box_decomposition_list import BoxDecompositionList
  from botorch.utils.multi_objective.box_decompositions.dominated import DominatedPartitioning
  from botorch.utils.multi_objective.box_decompositions.non_dominated import FastNondominatedPartitioning, NondominatedPartitioning
  from botorch.utils.multi_objective.box_decompositions.utils import _pad_batch_pareto_frontier
  from botorch.utils.objective import compute_feasibility_indicator
  from botorch.utils.torch import BufferDict
  from torch import Tensor
label_desc: Use image node_id 6 for calling the Hypervolume obj's underlying member method code with example usage: obj._initialize_multilist(pareto_Y) without return types