Features
High Flexibility
The loose coupling induced by the usage of Google Guice allows a separated development of optimizers and problems. By using a modules structure, the combination of optimizers and problems is highly simplified.
The Opt4J framework already ships with several optimizers such as an Evolutionary Algorithm (SPEA2 and NSGA2), Differential Evolution, and Simulated Annealing. The following predefined benchmarks are also included: ZDT, DTLZ, WFG, and LOTZ.
Easy Development
The latest Java features like Generics and Annotations simplify the development of new optimizer, problems, operators, and modules. The code is pure Java and free of any text-based configuration files or boilerplate code.
Comfortable Use
The configuration of the modules and parameters is comfortably done with a graphical user interface (GUI). This GUI allows saving and loading configurations as an XML file as well as directly starting and monitoring the optimization tasks. Each module is automatically listed and can be selected and configured in the GUI:
Demonstrative Visualization
The framework contains GUI modules for the visualization of the optimization process that can be integrated in proprietary software projects.
Open Source
The framework is open source and released under the LGPL license allowing the integration into scientific, educational, and commercial projects.
