Java framework for applying meta-heuristic (multi-objective) optimization algorithms like an Evolutionary Algorithm, Particle Swarm Optimizer, Differential Evolution, or Simulated Annealing to arbitrary optimization problems.(visit: http://www.opt4j.org)
Opt4J is a very intuitive optimization framework based on Java. Thanks to the detailed Javadocs and a comprehensive tutorial, it is easy to understand the basics of the framework and use it for own optimization problems. The Library also offers a GUI to (a) configure and (b) visualize the optimization process. The programmers apply Google Guice to resolve dependencies at run-time. In my opinion, the latter is the only point where understanding Opt4J gets a little more tough. However, after some happy coding based on trial-and-error, one gets comfortable with this quite useful Guice-stuff. The project already contains several state-of-the-art optimizers, such as NSGA-II, SPEA2, Simulated Annealing etc. So, it is easy to run one problem with different Optimizers and look which one performs best. Personally, I am using Opt4J to perform design space exploration for application mapping in NoC-based systems. Though I am not an expert in EA-based optimization, it was quite easy for me to get first results. Consequently, a definitive „thumbs up“!
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?