saealib.PBIDecomposition#
- class saealib.PBIDecomposition(theta=5.0)[ソース]#
ベースクラス:
DecompositionPenalty-Based Boundary Intersection (PBI) scalarization.
score_i = d1_i + theta * d2_iwhere:
d1_i = |(f_i - z*) · (w / ‖w‖)|— distance along the weight vector.d2_i = ‖(f_i - z*) - d1_i * (w / ‖w‖)‖— perpendicular distance.
theta(default5.0) penalizes deviation from the weight vector direction, controlling the trade-off between convergence and diversity.- パラメータ:
theta (float) -- Penalty weight for the perpendicular component. The original MOEA/D paper (Zhang & Li, 2007) uses
theta = 5.
参照
[9]: Zhang, Q., & Li, H. (2007). MOEA/D: A multiobjective evolutionary algorithm based on decomposition. IEEE Transactions on Evolutionary Computation, 11(6), 712-731.
Methods
Method Details
- PBIDecomposition.aggregate(f, weights, ideal_point)[ソース]#
Compute the PBI scalar score.
- パラメータ:
f (np.ndarray) -- Objective matrix, shape
(N, n_obj).weights (np.ndarray) -- Non-negative weight vector, shape
(n_obj,).ideal_point (np.ndarray) -- Ideal (reference minimum) point, shape
(n_obj,).
- 戻り値:
Scores, shape
(N,). Lower is better.- 戻り値の型:
np.ndarray
- PBIDecomposition.contract()#
Return the decomposition contract.
- 戻り値の型: