Introduction
Opt4J is an open source Java-based framework for evolutionary computation. It contains a set of (multi-objective) optimization algorithms such as evolutionary algorithms (including SPEA2 and NSGA2), differential evolution, particle swarm optimization, and simulated annealing. The benchmarks that are included comprise ZDT, DTLZ, WFG, and the knapsack problem.
The goal of Opt4J is to simplify the evolutionary optimization of user-defined problems as well as the implementation of arbitrary meta-heuristic optimization algorithms. For this purpose, Opt4J relies on a module-based implementation and offers a graphical user interface for the configuration as well as a visualization of the optimization process.
Hosting, Download, and Documentation
Opt4J is hosted on Github where you will find the latest builds and releases. This website additionally provides a documentation that covers how to use Opt4J, the JavaDoc, as well as a tutorial.
Reference
A technical paper about Opt4J was presented at the Genetic and Evolutionary Computing Conference (GECCO 2011). If you are using Opt4J and want to cite it, please reference the paper as follows:
@conference{opt4jpaper, title = {{Opt4J - A Modular Framework for Meta-heuristic Optimization}}, author = {Lukasiewycz, Martin and Gla{\ss}, Michael and Reimann, Felix and Teich, J{\"u}rgen}, booktitle = {Proceedings of the Genetic and Evolutionary Computing Conference (GECCO 2011)}, pages = {1723--1730}, address = {Dublin, Ireland}, year = {2011}, date = {July 12--16} }
Other Optimization Frameworks
Java-based Frameworks | Non-Java Frameworks |