class_docstr: A class for partitioning the non-dominated space into hyper-cells.
  
  Note: this assumes maximization. Internally, it multiplies by -1 and performs
  the decomposition under minimization.
  
  This class is far more efficient than NondominatedPartitioning for exact box
  partitionings
  
  This class uses the two-step approach similar to that in [Yang2019]_, where:
      a) first, Alg 1 from [Lacour17]_ is used to find the local lower bounds
          for the maximization problem
      b) second, the local lower bounds are used as the Pareto frontier for the
          minimization problem, and [Lacour17]_ is applied again to partition
          the space dominated by that Pareto frontier.
docstr: Set the partitioning to be a single cell in the case of no Pareto points.
docstr_tok: ["Set","the","partitioning","to","be","a","single","cell","in","the","case","of","no","Pareto","points","."]
code: def _get_single_cell(self) -> None:
      r"""Set the partitioning to be a single cell in the case of no Pareto points."""
      cell_bounds = torch.full(
          (2, *self._neg_pareto_Y.shape[:-2], 1, self.num_outcomes),
          float("inf"),
          dtype=self._neg_pareto_Y.dtype,
          device=self._neg_pareto_Y.device,
      )
      cell_bounds[0] = self.ref_point
      self.hypercell_bounds = cell_bounds
  
imports: from __future__ import annotations
  from typing import Optional
  import torch
  from botorch.utils.multi_objective.box_decompositions.box_decomposition import BoxDecomposition, FastPartitioning
  from botorch.utils.multi_objective.box_decompositions.utils import _expand_ref_point, compute_non_dominated_hypercell_bounds_2d, get_partition_bounds, update_local_upper_bounds_incremental
  from torch import Tensor
label_desc: Use image node_id 2 for calling the FastNondominatedPartitioning obj's underlying member method code with example usage: obj._get_single_cell() without return types