This is a simulator I built as part of my Final Year Project for my Bachelors degree in Electronic and Computer Engineering at the National University of Ireland, Galway.
It is quite comprehensive - including methods to perform 32 common optimization functions using multi-threading to enhance performance. Included are implementations for a number of popular published algorithm variations, alongside some of the variations I created during my research. A full set of stats tracking and plotting allows users to see the convergence, the networks average path length and number of infinite path lengths.
As I was under time pressure to complete this project and this simulator simply acted as a means to the end research, I am not pleased with the overall code quality. It lacks proper testing and some basic CS patterns in particular. In this vein, I am open to receiving contributions but mostly wanted to open source this project for the benefit of other future PSO researchers.
Also included in this repository is a copy of the thesis written as part of my research.