Features
The MOEA Framework aims to provide a comprehensive collection of algorithms and tools for 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 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 |
Borg MOEA | Adaptive Multioperator Search with ε-Dominance and ε-Progress Triggered Restarts3 |
CellDE | Cellular Genetic Algorithm with Diffential Evolution1 |
CMA-ES | Covariance Matrix Adaption Evolution Strategy |
DENSEA | Duplicate Elimination Nondominated Sorting Evolutionary Algorithm1 |
ECEA | Epsilon-Constraint Evolutionary Algorithm2 |
ε-MOEA | ε-Dominance-based Evolutionary Algorithm |
ε-NSGA-II | NSGA-II with ε-Dominance, Randomized Restarts, and Adaptive Population Sizing |
FastPGA | Fast Pareto Genetic Algorithm1 |
FEMO | Fair Evolutionary Multiobjective Optimizer2 |
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 |
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 |
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 |
VEGA | Vector Evaluated Genetic Algorithm |
1 - Algorithms provided by the JMetal library (included with the MOEA Framework).
2 - Algorithms provided by the PISA library.
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) |
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) |
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) Inverted Generational Distance (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 |