esa / pagmo2

A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.
https://esa.github.io/pagmo2/
GNU General Public License v3.0
823 stars 161 forks source link

Implement the NSGA-III algorithm #569

Open pmslavin opened 6 months ago

pmslavin commented 6 months ago

This merge adds the NSGA-III algorithm to PagMo2, as described in Deb & Jain, 2014 doi: 10.1109/TEVC.2013.2281535.

The algorithm's behavior has been verified with a range of problems from the DTLZ and ZDT test suites along with a real-world water resource allocation problem. Unit tests are provided.

Note that this is in Draft status at the moment:

jschueller commented 2 months ago

sounds cool, maybe rebase to current master so it could pass the tests

pmslavin commented 1 month ago

Thanks Julien, I'll do that. There are also some docstrings missing and a few inconsistencies in the nsga3 constructor arguments with respect to other algorithms, so I'll correct those at the same time.