MOEA Framework 4.5
API Specification
This document is the API specification for the MOEA Framework. The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose optimization algorithms and metaheuristics. It supports genetic algorithms, differential evolution, particle swarm optimization, genetic programming, grammatical evolution, and more. Problems can be defined using real or integer-valued decision variables, permutations, binary arrays (bit strings), expression trees (programs), grammars, and any combination thereof. This makes the MOEA Framework one of the most comprehensive evolutionary algorithm libraries available.
The following table lists the algorithms provided by the MOEA Framework natively:
Algorithm | Type | Real | Binary | Permutation | Subset | Grammar | Program | Constraints |
---|---|---|---|---|---|---|---|---|
AGE-MOEA-II | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
AMOSA | Simulated Annealing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
CMA-ES | Evolutionary Strategy | Yes | No | No | No | No | No | Yes |
DBEA | Decomposition | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
DE | Single Objective | Yes | No | No | No | No | No | Yes |
eMOEA | ε-Dominance | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
eNSGAII | ε-Dominance | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
ES | Single Objective | Yes | No | No | No | No | No | Yes |
GA | Single Objective | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
GDE3 | Differential Evolution | Yes | No | No | No | No | No | Yes |
IBEA | Indicator-Based | Yes | Yes | Yes | Yes | Yes | Yes | No |
MOEAD | Decomposition | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
MSOPS | Differential Evolution | Yes | No | No | No | No | No | Yes |
NSGAII | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
NSGAIII | Reference Points | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
OMOPSO | Particle Swarm | Yes | No | No | No | No | No | Yes |
PAES | Evolutionary Strategy | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
PESA2 | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
RSO | Single Objective | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
RVEA | Reference Vectors | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SA | Simulated Annealing | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SMPSO | Particle Swarm | Yes | No | No | No | No | No | Yes |
SMSEMOA | Indicator-Based | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
SPEA2 | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
UNSGAIII | Reference Points | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
VEGA | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | No |
Furthermore, extensions are available to integrate with other popular libraries, including JMetal-Plugin and PISA-Plugin.
As this project is academic in nature, every effort is taking to ensure the correctness, quality, and openness of this software. Please open an issue on our GitHub repository if you encounter any issues.