MOEA Framework
   HOME

TheInfoList



OR:

The MOEA Framework is an
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
evolutionary computation In computer science, evolutionary computation is a family of algorithms for global optimization inspired by biological evolution, and the subfield of artificial intelligence and soft computing studying these algorithms. In technical terms, they ...
library for
Java Java (; id, Jawa, ; jv, ꦗꦮ; su, ) is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea to the north. With a population of 151.6 million people, Java is the world's List ...
that specializes in
multi-objective optimization Multi-objective optimization (also known as multi-objective programming, vector optimization, multicriteria optimization, multiattribute optimization or Pareto optimization) is an area of multiple criteria decision making that is concerned with ...
. It supports a variety of multiobjective evolutionary algorithms (MOEAs), including
genetic algorithms In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to gene ...
,
genetic programming In artificial intelligence, genetic programming (GP) is a technique of evolving programs, starting from a population of unfit (usually random) programs, fit for a particular task by applying operations analogous to natural genetic processes to t ...
, grammatical evolution,
differential evolution In evolutionary computation, differential evolution (DE) is a method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. Such methods are commonly known as metaheuristics as ...
, 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.


Features

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, its recently introduced successor NSGA-III epsilon-MOEA, GDE3., and MOEA/D. natively. In addition, it integrates with the JMetal, Platform and Programming Language Independent Interface for Search Algorithms (PISA), and Borg MOEA libraries to provide access to all popular MOEAs. Additionally, using Java's
service provider interface Service provider interface (SPI) is an API intended to be implemented or extended by a third party. It can be used to enable framework extension and replaceable components. Details From Java documentation: The concept can be extended to other pla ...
(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 In computer science, Backus–Naur form () or Backus normal form (BNF) is a metasyntax notation for context-free grammars, often used to describe the syntax of languages used in computing, such as computer programming languages, document formats ...
and programs using an internal
Turing complete Alan Mathison Turing (; 23 June 1912 – 7 June 1954) was an English mathematician, computer scientist, logician, cryptanalyst, philosopher, and theoretical biologist. Turing was highly influential in the development of theoretical com ...
programming language. Once the problem is defined, the user can optimize the problem using any of supported MOEAs.


Sensitivity analysis

The MOEA Framework is the only known framework for evolutionary computation that provides support for
sensitivity analysis Sensitivity analysis is the study of how the uncertainty in the output of a mathematical model or system (numerical or otherwise) can be divided and allocated to different sources of uncertainty in its inputs. A related practice is uncertainty anal ...
. 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. 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

*
ECJ The European Court of Justice (ECJ, french: Cour de Justice européenne), formally just the Court of Justice, is the supreme court of the European Union in matters of European Union law. As a part of the Court of Justice of the European Un ...
, a toolkit to implement evolutionary algorithms *
Paradiseo ParadisEO is a white-box object-oriented framework dedicated to the flexible design of metaheuristics. It uses EO, a template-based, ANSI-C++ compliant computation library. ParadisEO is portable across both Windows system and sequential platf ...
, a metaheuristics framework


References

{{Reflist


External links


Official site
Evolutionary algorithms Free software programmed in Java (programming language) Free mathematics software Free application software Free science software Free computer libraries