SwarmOps
Numerical & Heuristic Optimization For C

TensorFlow
Videos
Source-Code

Investing
Books
Blog
Videos

Source Code
FinanceOps
MetaOps
SwarmOps
RandomOps
ArrayOps

Author
Publications
Thesis
Citations
Schoolwork
Contact

Hvass Labs

Introduction

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.

Download

Requirements

  • RandomOps for C v1.2 or later. Please see the SwarmOps manual for instructions on how to use a custom Pseudo-Random Number Generator.

Installation

Please see the SwarmOps manual for installation instructions.

Compatibility

SwarmOps was developed in Microsoft Visual C++ 2005 but should be compatible with all ANSI C compilers.

License

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.


Hvass Laboratories