You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm currently using version 3.3.1 with the nsga2 model on a multi-objective problem, and I had some questions and confusion on how the pareto_fronts list is being created.
In the nsga2 module, the method get_non_dominated_set returns the sets in the order: return dominated_set, non_dominated_set, which seems correct. But then in the next method non_dominated_sorting which actually returns the pareto fronts for the solution space, it pulls them using this block of code:
This seems to indicate that the pareto_front is being created based off the dominated set of solutions and not the non-dominated set like I believed it should be. My understanding of the algorithm was that the dominated set was the solutions that were clearly worse than another solution, am I missing something here?
The Pareto-front assignment is corrected in the current code. I checked a population with an unambiguous dominance order: the dominating solution is in the first front and the dominated solutions follow in later fronts. See current implementation. I am closing this as fixed.
Activity
ahmedfgad commentedon Jul 9, 2025
You are absolutely right. The bug is fixed and will be available in the next release soon.
ahmedfgad commentedon Oct 8, 2026
The Pareto-front assignment is corrected in the current code. I checked a population with an unambiguous dominance order: the dominating solution is in the first front and the dominated solutions follow in later fronts. See current implementation. I am closing this as fixed.