Skip to content

Conversation

eiro10
Copy link

@eiro10 eiro10 commented Oct 11, 2025

This pull request resolves anyoptimization/pymoo#748 by correcting the axis used for strength calculation in the SPEA2Survival._do method.
Previously, strength S was computed as S = (M == 1).sum(axis=0), which incorrectly counts the number of times each individual is dominated by others.
According to the SPEA2 algorithm (see Zitzler, E., Laumanns, M., & Thiele, L. (2001). SPEA2: Improving the Strength Pareto Evolutionary Algorithm. TIK-Report 103), strength should be calculated as the number of individuals each solution dominates: S = (M == 1).sum(axis=1).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Incorrect strength calculation axis in SPEA2Survival._do method

1 participant