Introduction
Opt4J is a framework for applying meta-heuristic optimization algorithms to arbitrary optimization problems written in Java.
The Opt4J framework currently includes a multi-objective Evolutionary Algorithm (including SPEA2 and NSGA2), a multi-objective Differential Evolution, a multi-objective Particle Swarm Optimizer (PSO), and a single-objective Simulated Annealing with predefined cooling schedules. The Opt4J framework also contains several benchmarks like ZDT, DTLZ, or WFG.
The framework is highly extensible such that problems (real-world and benchmarks) as well as optimizers can be implemented comfortably.
Opt4J offers a graphical user interface for the configuration as well as a visualization of the optimization tasks.
Download latest release: Opt4J 2.5 (12/22/2011)
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)},
address = {Dublin, Ireland},
year = {2011},
date = {July 12--16}
}
Opt4J is powered by
- Google Guice (Dependency Injection Framework)
- SAT4J (Satisfiability Library for Java)
- Ptolemy Plot (Plot Library for Java)
Other Optimization Frameworks
Java-based Frameworks
Non-Java FrameworksProject Stats:
