Numerical & Heuristic Optimization For C
SwarmOps is a source-code library for doing numerical optimization in the C programming language. SwarmOps is aimed at practitioners who must optimize a 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 is also capable of finding the behavioural (or control) parameters that makes an optimizer perform well. This is done by employing another overlaid optimizer known as Meta-Optimization. The C version of SwarmOps does not support optimization constraints nor parallel execution on multi-core CPUs, please use other SwarmOps versions for this.
Please see the SwarmOps manual for installation instructions.
SwarmOps was developed in Microsoft Visual C++ 2005 but should be compatible with all ANSI C compilers.
The SwarmOps source-code is published under the GNU Lesser General Public License, which essentially means that you may distribute commercial programs that link with the SwarmOps library, as well as make alterations to the SwarmOps library itself. There are certain terms to be met though, please see the license for details.