The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other metaheuristics.
Features
- Fast, reliable implementations of over 25 MOEAs, including NSGA-III and MOEA/D.
- Suite of tools for comparing and statistically testing algorithms.
- Master-slave, island-model, and hybrid parallelization.
- Permissive open source license (LGPL)
Getting Started
Download the latest release from the GitHub Releases page. Maven users can add our
dependency to their pom.xml
file:
<dependency>
<groupId>org.moeaframework</groupId>
<artifactId>moeaframework</artifactId>
<version>5.0</version>
</dependency>
Check out our examples, online documentation, and API Specification (Javadoc) to get started.
Example
Below we solve the 2-objective DTLZ2 problem using NSGA-II:
Problem problem = new DTLZ2(2);
NSGAII algorithm = new NSGAII(problem);
algorithm.run(10000);
algorithm.getResult().display();
In addition, the MOEA Framework includes a suite of diagnostic and visualization tools:
Citation
If you use this software in your work, please cite it as follows (APA style):
Hadka, D. (2025). MOEA Framework A Free and Open Source Java Framework for Multiobjective Optimization (Version 5.0) [Computer software]. Retrieved from https://github.com/MOEAFramework/MOEAFramework.