/MOEAFramework

Custom version of the framework which paralelizes the population evaluation using low overhead threaded code. It uses a sort of openmp foreach approach using a fixed pool of threads.

Primary LanguageJavaOtherNOASSERTION

MOEA Framework

Visit our website at http://moeaframework.org for downloads, documentation, and examples.

GitHub Actions status Maven Central

The MOEA Framework is a free and open source Java library for developing and experimenting with multiobjective evolutionary algorithms (MOEAs) and other general-purpose multiobjective optimization algorithms. The MOEA Framework supports genetic algorithms, differential evolution, particle swarm optimization, genetic programming, grammatical evolution, and more. A number of algorithms are provided out-of-the-box, including NSGA-II, NSGA-III, ε-MOEA, GDE3, PAES, PESA2, SPEA2, IBEA, SMS-EMOA, SMPSO, OMOPSO, CMA-ES, and MOEA/D. In addition, the MOEA Framework provides the tools necessary to rapidly design, develop, execute and statistically test optimization algorithms.

Its key features includes:

  • Fast, reliable implementations of many state-of-the-art algorithms
  • Extensible with custom algorithms, problems and operators
  • Supports master-slave, island-model, and hybrid parallelization
  • Tools for building and statistically testing new optimization algorithms
  • Professional support for businesses
  • Permissive open source license
  • Fully documented and tested source code

Since its initial release in 2011, the MOEA Framework has been downloaded over 38,000 times, averaging over 900 downloads per month this past year. Please contact us if you are interested in contributing!

Download

The latest release can be downloaded from our website or from the releases page. Maven users can add our dependency to their pom.xml file:

<dependency>
    <groupId>org.moeaframework</groupId>
    <artifactId>moeaframework</artifactId>
    <version>2.13</version>
</dependency>

License

Copyright 2009-2020 David Hadka and other contributors. All rights reserved.

The MOEA Framework is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The MOEA Framework is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with the MOEA Framework. If not, see http://www.gnu.org/licenses/.