Numerical & Heuristic Optimization for Java
SwarmOps is a source-code library for doing numerical optimization in the Java programming language. SwarmOps is aimed at practitioners who must optimize some mathematical problem but wish to avoid the hassle of doing a lot of research to find out which optimizers work well.
SwarmOps implements Particle Swarm Optimization, Differential Evolution, Pattern Search, Local Unimodal Sampling, and Gradient Descent. A number of common benchmark problems are also provided, including: Sphere, Griewank, Ackley, Rosenbrock, and so on.
SwarmOps supports optimization constraints and can find the behavioural (or control) parameters that makes an optimizer perform well, which is done by employing another overlaid optimizer known as Meta-Optimization.
Please see the readme-file in the source-code archive for installation instructions.
SwarmOps was developed in Eclipse build 20100917-0705 using JavaSE 1.6. SwarmOps should be compatible with all newer versions of Java.
The SwarmOps source-code is published under this license.