class_docstr: Partition dominated space into axis-aligned hyperrectangles.
  
  This uses the Algorithm 1 from [Lacour17]_.
  
  Example:
      >>> bd = DominatedPartitioning(ref_point, Y)
docstr: Partition the non-dominated space into disjoint hypercells.
  
  This direct method works for `m=2` outcomes.
code: def _partition_space_2d(self) -> None:
      r"""Partition the non-dominated space into disjoint hypercells.
  
      This direct method works for `m=2` outcomes.
      """
      cell_bounds = compute_dominated_hypercell_bounds_2d(
          # flip self.pareto_Y because it is sorted in decreasing order (since
          # self._pareto_Y was sorted in increasing order and we multiplied by -1)
          pareto_Y_sorted=self.pareto_Y.flip(-2),
          ref_point=self.ref_point,
      )
      self.hypercell_bounds = cell_bounds
  
file_path: botorch/botorch/utils/multi_objective/box_decompositions/dominated.py
imports: from __future__ import annotations
  from botorch.utils.multi_objective.box_decompositions.box_decomposition import FastPartitioning
  from botorch.utils.multi_objective.box_decompositions.utils import compute_dominated_hypercell_bounds_2d, get_partition_bounds
  from torch import Tensor
label_desc: Use image node_id 1 for calling the DominatedPartitioning obj's underlying member method code with example usage: obj._partition_space_2d() without return types