Skip to content

Incorrect Pareto Front Assignment #320

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
rtcameron opened this issue Apr 30, 2025 · 0 comments
Open

Incorrect Pareto Front Assignment #320

rtcameron opened this issue Apr 30, 2025 · 0 comments

Comments

@rtcameron
Copy link

Hello!

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:

pareto_front, remaining_set = self.get_non_dominated_set(curr_solutions=remaining_set)
pareto_front = numpy.array(pareto_front, dtype=object)
pareto_fronts.append(pareto_front)

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?

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

No branches or pull requests

1 participant