Features
The MOEA Framework aims to provide a comprehensive collection of algorithms and tools for single and multiobjective optimization. This page lists the key features of the MOEA Framework. For more information, see our online documentation.
Algorithms
The MOEA Framework has the largest collection of EAs and MOEAs of any library. In addition to these pre-defined algorithms, new algorithms can be easily constructed using existing components.
Name | Description |
---|---|
AbYSS | Multiobjective Scatter Search1 |
AGE-MOEA-II | Pareto Front Geometry Estimation |
AMOSA | Archived Multi-objective Simulated Annealing |
Borg MOEA | Adaptive Multioperator Search with ε-Dominance and ε-Progress Triggered Restarts3 |
CDG | Constrained Decomposition Approach with Grids1 |
CellDE | Cellular Genetic Algorithm with Differential Evolution1 |
CMA-ES | Covariance Matrix Adaption Evolution Strategy |
DBEA | Improved Decomposition-Based Evolutionary Algorithm |
DE | Differential Evolution (Single Objective) |
ECEA | Epsilon-Constraint Evolutionary Algorithm2 |
ES | Evolution Strategies (Single Objective) |
ESPEA | Electrostatic Potential Energy Evolutionary Algorithm1 |
ε-MOEA | ε-Dominance-based Evolutionary Algorithm |
ε-NSGA-II | NSGA-II with ε-Dominance, Randomized Restarts, and Adaptive Population Sizing |
FEMO | Fair Evolutionary Multiobjective Optimizer2 |
GA | Genetic Algorithm with Elitism (Single Objective) |
GDE3 | Generalized Differential Evolution |
HypE | Hypervolume Estimation Algorithm for Multiobjective Optimization2 |
IBEA | Indicator-Based Evolutionary Algorithm |
MOCell | Multiobjective Cellular Genetic Algorithm1 |
MOCHC | Multiobjective CHC Algorithm1 |
MOEA/D | Multiobjective Evolutionary Algorithm with Decomposition |
MSOPS | Multiple Single-Objective Pareto Sampling |
NSGA-II | Non-dominated Sorting Genetic Algorithm II |
NSGA-III | Reference-Point Based Non-dominated Sorting Genetic Algorithm |
OMOPSO | Multiobjective Particle Swarm Optimization |
PAES | Pareto Archived Evolution Strategy |
PESA2 | Pareto Envelope-based Selection Algorithm |
Random | Random Search |
RSO | Repeated Single Objective Algorithm |
RVEA | Reference Vector Guided Evolutionary Algorithm |
SEMO2 | Simple Evolutionary Multiobjective Optmimizer2 |
SHV | Sampling-Based Hypervolume-Oriented Algorithm2 |
SIBEA | Simple Indicator Based Evolutionary Algorithm2 |
SMPSO | Speed-Constrained Multiobjective Particle Swarm Optimization |
SMS-EMOA | S-Metric Selection MOEA |
SPAM | Set Preference Algorithm for Multiobjective Optimization2 |
SPEA2 | Strength-based Evolutionary Algorithm |
U-NSGA-III | Unified version of NSGA-III, with niche-based tournament selection |
VEGA | Vector Evaluated Genetic Algorithm |
1 - Algorithms provided by the JMetal library (requires jmetal-plugin).
2 - Algorithms provided by the PISA library (requires pisa-plugin).
3 - Available as a JAR plugin from borgmoea.org.
Meta-Algorithms
Meta-algorithms are wrappers around existing algorithms to provide additional functionality.
Name | Description |
---|---|
Adaptive Time Continuation | Periodically restart the algorithm, possibly adapting parameters |
Epsilon Progress Continuation | Monitor search progress, triggering a restart if search stagnates |
Checkpoints | Periodically save the state of the algorithm to resume interrupted runs |
Problem Sets
Also included are all major test problems from the literature. Additionally, new problems written in Java or other languages can be easily incorporated.
Name | Description |
---|---|
ZDT | 6 real-valued problems from Zitzler et al. (2000) |
DTLZ | 5 unconstrained, scalable real-valued problems from Deb et al. (2001) |
LZ | 9 real-valued problems from Hui Li and Qingfu Zhang (2009) |
CEC2009 | 13 unconstrained and 10 constrained real-valued problems from the CEC2009 competition |
WFG | 9 scalable, real-valued problems by Huband et al. (2005) |
LSMOP | 9 large-scale, real-valued problems by Cheng et al. (2017) |
MaF | 15 multi and many-objective objective problems by Cheng et al. (2017) |
ZCAT | 20 challenging test problems for multi- and many-objective optimization by Zapotecas-Martínez et al. (2023) |
BBOB-2016 | 55 bi-objective problems from the BBOB workshop hosted at GECCO 2016 |
Miscellaneous | 28 real-valued, binary, permutation, and program-based test problems from the literature (e.g., knapsack, NK-landscapes) |
Representations
Representation | Operators |
---|---|
Real-Valued | Simulated Binary Crossover (SBX)
Polynomial Mutation (PM) Parent-Centric Crossover (PCX) Simplex Crossover (SPX) Unimodal Normal Distribution Crossover (UNDX) Uniform Mutation (UM) Differential Evolution (DE) Adaptive Metropolis (AM) |
Binary | Bit Flip Mutation
Half-Uniform Crossover (HUX) |
Permutation | Insertion
Swap Partially Mapped Crossover (PMX) |
Subset | Replace
Subset Crossover (SSX) |
Grammars | Single-point Crossover
Uniform Mutation |
Programs | Point Mutation
Subtree Crossover |
Generic | One Point Crossover
Two Point Crossover Uniform Crossover Adaptive Multimethod Variation |
Additional Features
Feature | Description |
---|---|
Performance Indicators | Hypervolume
Generational Distance (GD) Generational Distance Plus (GD+) Inverted Generational Distance (IGD) Inverted Generational Distance Plus (IGD+) Additive ε-Indicator Contribution Maximum Pareto Front Error Spacing R1 Indicator R2 Indicator R3 Indicator |
Executor, Analyzer, and Instrumenter | Three simple Java classes for accessing 90% of the functionality of the MOEA Framework:
|
Diagnostic Tool | GUI for quickly comparing the performance of algorithms on standard test problems |
Sensitivity Analysis | Sensitivity analysis tools for identifying key parameters for an algorithm (accessible through a command-line interface) |
Parallelization | Automatic parallelization of algorithms across multiple cores, or distribute processing across a network using JPPF, GridGain, or any other supported grid computing library |
Extensible | Build new algorithms, operators, representations, or problems and integrate them into the MOEA Framework using our Service Provider Interface (SPI) |
Best Practices | Extensively documented and unit tested source code to ensure quality |