|
MOEA Framework 2.5 API Specification |
|||||
| PREV NEXT | FRAMES NO FRAMES | |||||
See:
Description
| Packages | |
|---|---|
| org.moeaframework | Convenience classes for using the MOEA Framework. |
| org.moeaframework.algorithm | Implementations of various algorithms and support tools for working with algorithms. |
| org.moeaframework.algorithm.jmetal | Adapters for interfacing with the JMetal library. |
| org.moeaframework.algorithm.pisa | Adapters for interfacing with the PISA framework. |
| org.moeaframework.algorithm.pso | |
| org.moeaframework.analysis | Tools for analyzing the runtime and end-of-run behavior of algorithms. |
| org.moeaframework.analysis.collector | Collectors record information periodically during the execution of an algorithm. |
| org.moeaframework.analysis.diagnostics | Diagnostic tool for analyzing the runtime behavior of algorithms. |
| org.moeaframework.analysis.sensitivity | Utilities for analyzing an algorithm using control maps and sensitivity analysis. |
| org.moeaframework.analysis.tools | Command line tools for solving optimization problems and analyzing the results. |
| org.moeaframework.core | Contains the core classes used by this framework. |
| org.moeaframework.core.comparator | Contains dominance comparators and other comparators used by this framework. |
| org.moeaframework.core.fitness | Implementations of various fitness assignment methods. |
| org.moeaframework.core.indicator | Collection of unary quality indicators for comparing the quality of non-dominated approximation sets. |
| org.moeaframework.core.operator | Package of various selection, mutation, crossover, and hybrid operators. |
| org.moeaframework.core.operator.binary | Collection of operators for binary-encoded variables. |
| org.moeaframework.core.operator.grammar | Collection of operators for grammars for use with Grammatical Evolution (GE). |
| org.moeaframework.core.operator.permutation | Collection of operators for permutation variables. |
| org.moeaframework.core.operator.program | Collection of operators for expression trees for use with Genetic Programming (GP). |
| org.moeaframework.core.operator.real | Collection of operators for real-encoded variables. |
| org.moeaframework.core.spi | Defines the service provider interfaces (SPIs) and factories for constructing problems, algorithms and operators. |
| org.moeaframework.core.variable | Defines the various decision variables that may be used. |
| org.moeaframework.problem | Package containing standardized problems and utility classes for working with problems. |
| org.moeaframework.problem.CEC2009 | Test problems used for the CEC 2009 special session and competition. |
| org.moeaframework.problem.DTLZ | Package for the scalable DTLZ test problem suite. |
| org.moeaframework.problem.LZ | Package for the complicated Pareto sets test suite by Hui Li and Qingfu Zhang. |
| org.moeaframework.problem.misc | Set of unconstrained and constrained numeric multiobjective test problems aggregated by Van Veldhuizen [1]. |
| org.moeaframework.problem.WFG | Implementation of the Walking Fish Group (WFG) test suite of scalable multiobjective problems. |
| org.moeaframework.problem.ZDT | Package for the ZDT test problem suite. |
| org.moeaframework.util | Collection of general-purpose utilities. |
| org.moeaframework.util.distributed | Classes to enable distributed computing. |
| org.moeaframework.util.grammar | Utilities for representing, parsing and building grammars for use in Grammatical Evolution (GE). |
| org.moeaframework.util.io | Collection of I/O utility classes. |
| org.moeaframework.util.progress | Collection of classes for managing progress reporting, including providing listeners for receiving progress updates and estimating remaining time. |
| org.moeaframework.util.sequence | Classes for generating sequences of real numbers. |
| org.moeaframework.util.statistics | Collection of statistical methods for determining certain properties of collected samples. |
| org.moeaframework.util.tree | Classes for representing, building and evaluating expression trees for use in Genetic Programming (GP). |
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 Executor and
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.
| Algorithm | Type | Real | Binary | Permutation | Grammar | Program | Constraints | Provider |
|---|---|---|---|---|---|---|---|---|
| AbYSS | Scatter Search | Yes | No | No | No | No | Yes | JMetal |
| CellDE | Differential Evolution | Yes | No | No | No | No | Yes | JMetal |
| CMA-ES | Evolutionary Strategy | Yes | No | No | No | No | Yes | Native |
| DENSEA | Genetic Algorithm | Yes | Yes | Yes | No | No | Yes | JMetal |
| ECEA | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | No | PISA |
| eMOEA | ε-Dominance | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| eNSGAII | ε-Dominance | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| FastPGA | Genetic Algorithm | Yes | Yes | Yes | No | No | Yes | JMetal |
| FEMO | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | No | PISA |
| GDE3 | Differential Evolution | Yes | No | No | No | No | Yes | Native |
| HypE | Indicator-Based | Yes | Yes | Yes | Yes | Yes | No | PISA |
| IBEA | Indicator-Based | Yes | Yes | Yes | Yes | Yes | No | Native |
| MOCell | Cellular | Yes | Yes | Yes | No | No | Yes | JMetal |
| MOCHC | CHC Algorithm | No | Yes | No | No | No | Yes | JMetal |
| MOEAD | Decomposition | Yes | No | No | No | No | Yes | Native |
| NSGAII | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| NSGAIII | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| OMOPSO | Particle Swarm | Yes | No | No | No | No | Yes | Native |
| PAES | Evolutionary Strategy | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| PESA2 | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| SEMO2 | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | No | PISA |
| SHV | Indicator-Based | Yes | Yes | Yes | Yes | Yes | No | PISA |
| SIBEA | Indicator-Based | Yes | Yes | Yes | Yes | Yes | No | PISA |
| SMPSO | Particle Swarm | Yes | No | No | No | No | Yes | Native |
| SMSEMOA | Indicator-Based | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| SPAM | Indicator-Based | Yes | Yes | Yes | Yes | Yes | No | PISA |
| SPEA2 | Genetic Algorithm | Yes | Yes | Yes | Yes | Yes | Yes | Native |
| VEGA | Genetic Algorithm | 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.
|
MOEA Framework 2.5 API Specification |
|||||
| PREV NEXT | FRAMES NO FRAMES | |||||