Glowwom Swarm Optimization C++ implementation

October 24, 2012 at 17:58

As a part of my PhD thesis, I developed together with my friend trikitrok a C++ implementation of the GSO (Glowworm Swarm Optimization) algorithm. This algorithm is based on the ability of a given glowworm to attract its neighbors depending on its emitting light. At the same time, emitting light is dynamic and depends on the number of neighbors of the given glowworm. This metaphor has been demonstrated to capture really well local optima in multi-modal functions. You can find more information at the Wikipedia article.

Here I show how the agents (glowworms) have found the different local maximum points after 500 iterations of the algorithm (this plot reproduces one of the test functions used in the original paper by K.N. Krishnanand and D. Ghose, 2005). Left image is the original function bounded to -6, 6 and right image represent agents positions (crosses) after 500 iterations.

Agents position after 500 iterations

The repository is public and is currently hosted by Bitbucket at glowworm++.