Skip to content

lmarti/nsgaiii

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nsgaiii: Understanding the Implementation of NSGA-III in Python

Open In Colab nbviewer

A Python implementation of the NSGA-III selection algorithm as described in:

  • Deb, K., and Jain, H. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints. IEEE Transactions on Evolutionary Computation, 18(4), 577–601. doi: 10.1109/TEVC.2013.2281535.
  • Jain, H. and Deb, K. (2014). An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point Based Nondominated Sorting Approach, Part II: Handling Constraints and Extending to an Adaptive Approach. IEEE Transactions on Evolutionary Computation, 18(4), 602-622. doi: 10.1109/TEVC.2013.2281534.

nsgaiii can be used with -as has been developed relying on- the DEAP module.

This code is highly experimental. Contributions and bug fixes are welcome.

⚠️ Important notice: The nsgaiii code has been integrated in DEAP as their function selNSGA3. I recommend you use that implementation as it is actively maintained.

Demonstration

I have prepared a sample Jupyter/IPython notebook that illustrates NSGA-III.

Installation

So far, the only form of installation is to clone the project from GitHub,

git clone https://github.com/lmarti/nsgaiii.git

...and then installing it by running:

python setup.py install