class_docstr: A class for partitioning the (non-)dominated space into hyper-cells.
  
  Note: this assumes maximization. Internally, it multiplies outcomes by -1
  and performs the decomposition under minimization.
  
  This class is abstract to support to two applications of Alg 1 from
  [Lacour17]_: 1) partitioning the space that is dominated by the Pareto
  frontier and 2) partitioning the space that is not dominated by the
  Pareto frontier.
  
  :meta private:
docstr: Args:
      ref_point: A `m`-dim tensor containing the reference point.
      Y: A `(batch_shape) x n x m`-dim tensor
code: def __init__(
      self,
      ref_point: Tensor,
      Y: Optional[Tensor] = None,
  ) -> None:
      """
      Args:
          ref_point: A `m`-dim tensor containing the reference point.
          Y: A `(batch_shape) x n x m`-dim tensor
      """
      super().__init__(
          ref_point=ref_point, Y=Y, sort=ref_point.shape[-1] == 2
      )
  
imports: from __future__ import annotations
  from abc import ABC, abstractmethod
  from typing import Optional
  import torch
  from botorch.exceptions.errors import BotorchError
  from botorch.utils.multi_objective.box_decompositions.utils import _expand_ref_point, _pad_batch_pareto_frontier, update_local_upper_bounds_incremental
  from botorch.utils.multi_objective.pareto import is_non_dominated
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 1 to create a new FastPartitioning object from inherited base classes: BoxDecomposition, ABC with example: obj = FastPartitioning(ref_point, Y)