Skip to content
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

Multiobjective Fitness: NSGA-II #215

Open
wants to merge 21 commits into
base: master
Choose a base branch
from

Conversation

hugoaboud
Copy link

Hi, I've been working on an implementation of NSGA-II as a Reproduction method for NEAT, in order to allow dealing with multiple fitness values.
The readme presents all the details.

A small 2D hoverboard example was designed to benchmark the NSGA-II in comparison to the DefaultReproduction method. All the details and result comparisons are described on the hoverboard readme.

hoverboard

It has shown promising results, and was built with minimal (and backwards-compatible) modifications to the original library code. I hope you find it interesting.
I'll outline here the commits that modify the original lib files:

  • e70a068: This is not directly related to NSGA-II, but to this issue
  • 5e44755: Also not related to NSGA-II, allows a different config file for a loaded checkpoint, to modify evolution settings during evolution.
  • 2b1007a: nsga2 added to __init__.py and setup.py
  • 9dbd77b: explicit fitness conversion to float, in order to invoke NSGA2Fitness.__float__.
  • 1f1f645: call NSGA2Reproduction.sort() right after fitness evaluation, before best_genome evaluation.

@coveralls
Copy link

Coverage Status

Coverage decreased (-5.6%) to 90.53% when pulling 73618fd on hugoaboud:master into c2b79c8 on CodeReclaimers:master.

@coveralls
Copy link

coveralls commented Jan 4, 2021

Coverage Status

Coverage decreased (-5.6%) to 90.563% when pulling 73618fd on hugoaboud:master into c2b79c8 on CodeReclaimers:master.

@CodeReclaimers
Copy link
Owner

Thanks for the pull request, and sorry it's taken me so long to get around to commenting here. Adding some kind of support for multiple objectives is a good idea, and I'll see if I can get this integrated in the near future.

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.

None yet

3 participants