MOEAFramework-3.7.src.overview.html Maven / Gradle / Ivy
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.
For most users, the {@link org.moeaframework.Executor} and
{@link org.moeaframework.Analyzer} classes provide sufficient functionality
to execute and analyze MOEAs. The following table lists the algorithms
provided by the MOEA Framework and supported third-party libraries.
List of algorithms
Algorithm
Type
Real
Binary
Permutation
Subset
Grammar
Program
Constraints
Provider
AbYSS
Scatter Search
Yes
No
No
No
No
No
Yes
JMetal
AMOSA
Simulated Annealing
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
CDG
Differential Evolution
Yes
No
No
No
No
No
Yes
JMetal
CellDE
Differential Evolution
Yes
No
No
No
No
No
Yes
JMetal
CMA-ES
Evolutionary Strategy
Yes
No
No
No
No
No
Yes
Native
DBEA
Decomposition
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
DE
Single Objective
Yes
No
No
No
No
No
Yes
Native
ECEA
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
ESPEA
Genetic Algorithm
Yes
Yes
Yes
No
No
No
Yes
JMetal
eMOEA
ε-Dominance
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
eNSGAII
ε-Dominance
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
ES
Single Objective
Yes
No
No
No
No
No
Yes
Native
FEMO
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
GA
Single Objective
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
GDE3
Differential Evolution
Yes
No
No
No
No
No
Yes
Native
HypE
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
IBEA
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
No
Native
MOCell
Cellular
Yes
Yes
Yes
No
No
No
Yes
JMetal
MOCHC
CHC Algorithm
No
Yes
No
No
No
No
Yes
JMetal
MOEAD
Decomposition
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
MSOPS
Differential Evolution
Yes
No
No
No
No
No
Yes
Native
NSGAII
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
NSGAIII
Reference Points
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
OMOPSO
Particle Swarm
Yes
No
No
No
No
No
Yes
Native
PAES
Evolutionary Strategy
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
PESA2
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
RSO
Single Objective
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
RVEA
Reference Vectors
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
SA
Simulated Annealing
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
SEMO2
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
SHV
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
SIBEA
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
SMPSO
Particle Swarm
Yes
No
No
No
No
No
Yes
Native
SMSEMOA
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
SPAM
Indicator-Based
Yes
Yes
Yes
Yes
Yes
Yes
No
PISA
SPEA2
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Native
VEGA
Genetic Algorithm
Yes
Yes
Yes
Yes
Yes
Yes
No
Native
While the MOEA Framework provides a large collection of built-in algorithms,
operators and problems, advanced users can take advantage of its object-oriented
design to extend existing features or add new functionality. In addition, the
service provider interface allows extending the software with algorithms and
problems provided by third-party libraries. Any algorithms and problems working
within the MOEA Framework can take advantage of its suite of diagnostic and
statistical testing tools. As this project is academic in nature, every effort
is taken to ensure the correctness, quality and openness of the codes.