SwarmOps
Numerical & Heuristic Optimization For C

All this was made by a single person without any grant-money.
If you find it useful then please donate securely using PayPal.
Even a few dollars are appreciated. Thanks!


Investing
Books
Services
Blog
S&P 500

Video Talks
Investing
Deep Learning
Optimization

Source Code
GitHub
SwarmOps
RandomOps
ArrayOps
NeuralOps

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