Part 2 – Evolutionary Optimisation Libraries

In this article, we will compare a number of popular optimisation frameworks.

AlgorithmPlatypus / MOEAPyGMO / PaGMOInspyredDEAPEMOOjMetalPy / jMetalPYMOO
NSGA-IIXXXXXX
NSGA-IIIXXXX
R-NSGA-IIIX
U-NSGA-IIIX
G-NSGA-IIX
R-NSGA-IIX
MOEA/DXXXX
MOEA/D-DRAX
IBEAXX
ε-MOEAXX
SPEA2XXX
G-SPEA2X
GDE3XX
G-GDE3X
OMOPSOXX
SMPSOXX
G-SMPSOX
ε-NSGA IIX
CMA-ESXXXX
PESA2X
SMS-EMOAX
PAESXX
AbySSX
Borg MOEAX
CellDEX
DBEAX
DEXXX
DENSEAX
ECEAX
ESXX
FastPGAX
FEMOX
GAXXXX
HypEXX
MoCellX
MOCHCX
MSOPSX
RandomX
RSOX
RVEAX
SEMO2X
SHVX
SIBEAX
SMPSOX
VEGAX
GACOX
jDEX
iDEX
pDEX
DEX
GWOX
IHSX
PSOXXXX
GPSOX
(N+1)ESX
ABCX
SAXX
xNESX
MHACOX
NSPSOX
DEAX
EDAXX
ACOX
GPX
MO-CMA-ESX
STGPX
BI-POP CMA-ESX
Multiswarm PSOX
Nelder-MeadX
Pattern searchX
BRK-GAX
C-TAEAX

FeaturesPlatypusMOEAPyGMOPaGMOInspyredDEAPEMOOjMetalPyPYMOO
LanguagePythonJavaPythonC++PythonPythonPythonPython
Open sourceXXXXXXXX
ParallelisationXXXX
DocumentationXXXXXXXX
Constrained PBXXX
Unconstrained PBXXX
Multi-objective PBXXX
Single-objective PBX
Continuous PBX
Integer PBX
Stochastic PBX
Deterministic PBX