physbo.search.unify.nds module

class physbo.search.unify.nds.NDS(num_objectives: int, rank_max: int = 10)[ソース]

ベースクラス: object

Unified objective function based on the Non-Dominated Sorting (NDS) method.

The unified objective function of original objectives t is defined as: t_unified = 1 / rank where rank is the Pareto rank of the solution. Solutions with the rank 1 are the Pareto solutions of the original set. Solutions with the rank 2 are the Pareto solutions of the set where the solutions with the rank 1 are removed. Solutions with the rank r are the Pareto solutions of the set where the solutions with the rank 1, 2, ..., r-1 are removed.

パラメータ:

num_objectives (int) -- Number of objectives

Initialize NDS unified objective function

パラメータ:
  • num_objectives (int) -- Number of objectives

  • rank_max (int) -- Maximum rank of the NDS

num_objectives: int

Number of objectives

rank_max: int

Maximum rank of the NDS

physbo.search.unify.nds.nds_impl(t: ndarray, rank_max: int) ndarray[ソース]

NDS implementation

パラメータ:
  • t (np.ndarray) -- Training data

  • rank_max (int) -- Maximum rank of the NDS

戻り値:

t_unified -- Values of the unified objective function Shape: (N, 1)

戻り値の型:

np.ndarray

physbo.search.unify.nds.nds_impl_naive(t: ndarray, rank_max: int) ndarray[ソース]

Naive -- slow but simple -- implementation of NDS

パラメータ:
  • t (np.ndarray) -- Values of the original objective functions Shape: (N, num_objectives)

  • rank_max (int) -- Maximum rank of the NDS

戻り値:

t_unified -- Values of the unified objective function Shape: (N, 1)

戻り値の型:

np.ndarray