https://github.com/wandmalfarbe/glowworm-swarm-optimization-java
A Java implementation and visualization of the glowworm swarm optimization (GSO) algorithm invented by Krishnanand N. Kaipa and Debasish Ghose.
https://github.com/wandmalfarbe/glowworm-swarm-optimization-java
glow-worm glowworm-swarm-optimization java javafx metaheuristics nature-inspired-computation optimization-algorithms swarm-intelligence swarm-intelligence-algorithms visualization
Last synced: 4 months ago
JSON representation
A Java implementation and visualization of the glowworm swarm optimization (GSO) algorithm invented by Krishnanand N. Kaipa and Debasish Ghose.
- Host: GitHub
- URL: https://github.com/wandmalfarbe/glowworm-swarm-optimization-java
- Owner: Wandmalfarbe
- License: bsd-3-clause
- Created: 2016-06-03T16:05:28.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2018-10-02T13:28:10.000Z (over 6 years ago)
- Last Synced: 2025-02-24T02:15:31.150Z (4 months ago)
- Topics: glow-worm, glowworm-swarm-optimization, java, javafx, metaheuristics, nature-inspired-computation, optimization-algorithms, swarm-intelligence, swarm-intelligence-algorithms, visualization
- Language: Java
- Homepage:
- Size: 34.1 MB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Glowworm Swarm Optimization Java
A Java implementation and visualization of the glowworm swarm optimization (GSO) algorithm invented by Krishnanand N. Kaipa and Debasish Ghose for the capturing of multiple optima of multimodal functions.

This app was created as part of a seminar work and served as an aid to understand the glowworm swarm optimization. It is a simple visualization of the glowworm movement with the target function in the background. You can choose between several target functions from the paper:
- Peaks
- Rastrigin
- Circles
- Staircase
- Plateaus
- Sky Blue
- Equal PeaksThe parameters *population size*, *iterations*, and *the initial neighborhood range* can be set in the graphical interface. Further parameters, e.g. *the initial luciferin level*, *rho* or *gamma* can easily be adjusted in the program code.
## Preview GIF


## Credits
- This Program contains code from [CircleSkinner](https://github.com/tinevez/CircleSkinner/blob/master/src/main/java/net/imagej/circleskinner/util/ColorMap.java) made by [Jean-Yves Tinevez](https://github.com/tinevez).
- The GSO Algorithm was invented by Krishnanand N. Kaipa and Debasish Ghose.## Known Bugs
1. The new calculated position of the glowworms from the iteration *t* should be applied at iteration *t+1* and not at the same iteration (see GSOAlgorithm.java, Lines 127 and 128).
## License & Credit
This project is open source licensed under the BSD 3-Clause License. Please see the [LICENSE file](LICENSE.md) for more information.
If you use this app or the code in a presentation or lecture you could credit me like this:
```
Pascal Wagler (2017). "Glowworm Swarm Optimization Java" (https://github.com/Wandmalfarbe/Glowworm-Swarm-Optimization-Java)
```Users of LaTeX are encouraged to cite with the following BibLaTeX entry:
```
@software{WaglerGlowwormSwarmOptimization2017,
title = {Glowworm {{Swarm Optimization Java}}},
url = {https://github.com/Wandmalfarbe/Glowworm-Swarm-Optimization-Java},
abstract = {A Java implementation and visualization of the glowworm swarm optimization (GSO) algorithm invented by K.N. Krishnanand and Debasish Ghose.},
author = {Wagler, Pascal},
date = {2017-10-27}
}
```