The MOEA Framework is an open-source evolutionary computation library for Java that specializes in multi-objective optimization. It supports a variety of multiobjective evolutionary algorithms (MOEAs), including genetic algorithms, genetic programming, grammatical evolution, differential evolution, and particle swarm optimization. As a result, it has been used to conduct numerous comparative studies to assess the efficiency, reliability, and controllability of state-of-the-art MOEAs.

MOEA Framework
Initial releaseNovember 21, 2011 (2011-11-21)
Stable release
4.0[1] / 5 April 2024; 18 days ago (5 April 2024)
Repository
Written inJava
PlatformCross-platform
TypeEvolutionary computation
LicenseGNU Lesser General Public License
Websitewww.moeaframework.org

Features edit

The MOEA Framework is an extensible framework for rapidly designing, developing, executing, and statistically testing multiobjective evolutionary algorithms (MOEAs). It features 25 different state-of-the-art MOEAs and over 80 analytical test problems. It supports NSGA-II,[2] its recently introduced successor NSGA-III[3] epsilon-MOEA,[4] GDE3.,[5] and MOEA/D.[6] natively. In addition, it integrates with the JMetal,[7] Platform and Programming Language Independent Interface for Search Algorithms (PISA),[8] and Borg MOEA[9] libraries to provide access to all popular MOEAs. Additionally, using Java's service provider interface (SPI), new MOEAs and problems can be introduced into the framework. This supports the use of the MOEA Framework in scientific studies, allowing new MOEAs to be tested against a suite of state-of-the-art algorithms across a large collection of test problems.

New problems are defined in the MOEA Framework using one or more decision variables of a varying type. This includes common representations such as binary strings, real-valued numbers, and permutations. It additionally supports evolving grammars in Backus–Naur form and programs using an internal Turing complete programming language. Once the problem is defined, the user can optimize the problem using any of supported MOEAs.

Sensitivity analysis edit

The MOEA Framework is the only known framework for evolutionary computation that provides support for sensitivity analysis. Sensitivity analysis in this context studies how an MOEA's parameters impact its output (i.e., the quality of the results). Alternatively, sensitivity analysis measures the robustness of an MOEA to changes in its parameters. An MOEA whose behavior is sensitive to its parameterization will not be easily controllable; conversely, an MOEA that is insensitive to its parameters is controllable.[10] By measuring the sensitivities of each MOEA, the MOEA Framework can identify the controlling parameters for each MOEA and provide guidance for fine-tuning the parameters. Additionally, MOEAs that are consistently insensitive to parameter changes across an array of problem domains are regarded highly due to their robust ability to solve optimization problems.

See also edit

  • ECJ, a toolkit to implement evolutionary algorithms
  • Paradiseo, a metaheuristics framework

References edit

  1. ^ "Release 4.0". 5 April 2024. Retrieved 23 April 2024.
  2. ^ Deb, K.; et al. (2000). "A Fast Elitist Multi-Objective Genetic Algorithm: NSGA-II". IEEE Transactions on Evolutionary Computation. 6 (2): 182–197. doi:10.1109/4235.996017. S2CID 9914171.
  3. ^ Deb, K.; Jain, H. (2014). "An Evolutionary Many-Objective Optimization Algorithm Using Reference-Point-Based Nondominated Sorting Approach, Part I: Solving Problems With Box Constraints". IEEE Transactions on Evolutionary Computation. 18 (4): 577–601. doi:10.1109/TEVC.2013.2281535. S2CID 206682597.
  4. ^ Deb; et al. (2003). "A Fast Multi-Objective Evolutionary Algorithm for Finding Well-Spread Pareto-Optimal Solutions". KanGAL Report No 2003002.
  5. ^ Kukkonen; Lampinen (2005). "GDE3: The Third Evolution Step of Generalized Differential Evolution". KanGAL Report Number 2005013.
  6. ^ Li, H.; Zhang, Q. (2009). "Multiobjective Optimization problems with Complicated Pareto Sets, MOEA/D and NSGA-II". IEEE Transactions on Evolutionary Computation. 13 (2): 284–302. doi:10.1109/TEVC.2008.925798.
  7. ^ "JMetal Website".[permanent dead link]
  8. ^ "PISA Website".
  9. ^ "Borg MOEA Website".
  10. ^ Hadka, D.; Reed, P. (2012). "Diagnostic Assessment of Search Controls and Failure Modes in Many-Objective Evolutionary Optimization". Evolutionary Computation. 20 (3): 423–452. doi:10.1162/evco_a_00053. PMID 21970448. S2CID 26097592.

External links edit