saealib.Decomposition#

class saealib.Decomposition[ソース]#

ベースクラス: ABC

Abstract base for scalarization (decomposition) functions.

A Decomposition converts a batch of objective vectors into a single scalar score per vector. Smaller scores are always better (minimization convention). The caller is responsible for applying any direction transform before passing f (i.e., f should already be in a minimization frame where smaller = better for every objective).

パラメータ:
  • f (np.ndarray) -- Objective matrix, shape (N, n_obj). All objectives are assumed to be in minimization direction (direction transform applied by the caller).

  • weights (np.ndarray) -- Non-negative weight vector, shape (n_obj,).

  • ideal_point (np.ndarray) -- Reference minimum per objective, shape (n_obj,). For methods that do not use the ideal point (e.g. WeightedSumDecomposition), this argument is accepted but ignored.

戻り値:

Scalar scores, shape (N,). Lower is better.

戻り値の型:

np.ndarray

Methods

__init__

aggregate

Scalarize a batch of objective vectors.

contract

Return the decomposition contract.

Method Details

Decomposition.__init__()#
abstractmethod Decomposition.aggregate(f, weights, ideal_point)[ソース]#

Scalarize a batch of objective vectors.

パラメータ:
  • f (np.ndarray) -- Objective matrix, shape (N, n_obj). Must be in the minimization frame (all objectives: smaller = better).

  • weights (np.ndarray) -- Non-negative weight vector, shape (n_obj,).

  • ideal_point (np.ndarray) -- Reference minimum per objective, shape (n_obj,).

戻り値:

Scalar scores, shape (N,). Lower is better.

戻り値の型:

np.ndarray

Decomposition.contract()[ソース]#

Return the decomposition contract.

戻り値の型:

ComponentContract