Programs


Last check
PSO Demo/Fun,  (in Math stuff about PSO) By Maurice Clerc . Adaptive version. ANSI C source. Continuous (De Jong, Banana...) and discrete (Fifty/fifty, integer factorization, graph coloring, combinatorial) functions. Options: granularity, local queens, Guided Random Generation etc... TRIBES (a parameter free PSO). Binary PSOs.
2012-04
Particle Swarm Optimisation Java applet by Mark C. Sinclair 2000-08
BinaryPS and NKPS (for Windows) "Games" by Jim Kennedy. When a swarm of stupid particles beats you... Frustrating! 2012-05
Particle Swarm Optimizer Related to the book "Swarm Intelligence" (J. Kennedy, R. Eberhart). C source 2001-08
Code for Particle Swarm Tester
A quite old one, for beginners ...
2003-01
Berkeley Lab
Search for "particle swarm". Several Java classes.
2003-07
The PSO TOOLBOX
A collection of Matlab (.m) files that can be used to implement the Particle Swarm Optimization Algorithm (PSO) to optimize your system.
WARNING
2003-08
2004-05
GenOpt, Generic Optimization Program. Berkeley Lab
Amongst some others:
# Particle Swarm Optimization algorithms (for continuous and/or discrete independent variables), with inertia weight or constriction coefficient and velocity clamping, and with a modification that constricts the continuous independent variables to a mesh to reduce computation time.
# A hybrid global optimization algorithm that uses Particle Swarm Optimization for the global optimization, and Hooke-Jeeves for the local optimization.
2004-03
PSO visualisation applet
By Ken Fitch, Project Computing. Generates a semi-random 3-D landscape. A randomly generated particle swarm of 12 particles attempts to find the "global maximum" on the landscape. Runs under Java 1.1.
2004-04
Auto2fit (shareware)
1. Genetic Algorithm (GA): both encode/decode mode and real-value based mode, six crossover types and seven selection types 2. Particle Swarm Optimization (PSO): six schemes (2 standard and 4 new) 3. Differential Evolution (DE): ten schemes (5 new) 4. Maximum Inherit Optimization (MIO): four schemes
2004-08
Standard PSO 2006 Quite often some authors say they compare their PSO versions to the "standard one" ... which is never the same! So the idea is to define a real standard at least for one year, validated by some
researchers of the field, in particular James Kennedy and Maurice Clerc.
2006-02
PSOpt Visualisation of the process for some 2D functions. Written in Java 2006-03
Matlab PSO Toolbox Robust Particle Swarm toolbox implementing Trelea, Common, and Clerc types along with an alpha version of change detection. 2006-04
Global Optimization by PSO: A Fortran Program A FORTRAN program to find the global optimum by the Repulsive Particle Swarm method 2007-01
Multiobjective Particle Swarm with Crowding Distance (MOPSOCD) R-package

Source Code (C language) for MOPSO-CD as described in
C. R. Raquel and P.C. Naval, "An Effective use of Crowding Distance in Multiobjective Particle Swarm Optimization", Proceedings of Genetic and Evolutionary Computation Conference (GECCO 2005), Washington, D.C., June 25-29, 2005.
2013-06



2012-10
PSO with Mathematica (.nb file) By Namrata Khemka and Christian Jacob. Needs Mathematica Player 2007-07
Standard PSO 2007 (SPSO-07) Quite often, researchers claim to compare their version of PSO  with the "standard one", but the"standard one" itself seems to vary!  Thus, it is important to define a real standard that would stay  unchanged for at least one year. More functions have been added in 2009-2010. Written in C. There is also a R version, slightly different, but with more options, by Claus Bendtsen, here. 2010-09
SPSO 2007, Matlab
Matlab version, by Mahamed Omran
2011-05
SPSO 2007, Matlab
by Stephen Chen. An implementation of Standard Particle Swarm Optimization with results available for the CEC2013 Real-Parameter Optimization Benchmark Functions
2013-10
ParadisEO (PARallel and DIStributed Evolving Objects) Provides tools for the development of population-based metaheuristic: evolutionary algorithms, particle swarm optimization
2013-06
Java Based PSO Framework Part of the open-source project  CIlib (Computational Intelligence Library) 2007-12
TRIBES-D By Maurice Clerc. A simplified version of his parameter-free particle swarm optimiser TRIBES, for real heterogeneous problems. For example, it easily finds the best known solution for the classical "Pressure vessel" problem.  For multiobjective problems, it is also far better than the previous version. 2008-01
PSO-package for the free computing environment R By Till Francke. Particle Swarm Optimization and Dynamically Dimensioned Search for R, optionally using parallel computing based on Rmpi 2009-09
SwarmOps source-code library By Magnus Pedersen. C# and ANSI C codes for several optimization methods, including a few global best PSO variants 2009-09
Balanced PSO By Maurice Clerc.  C code with a lot of options, to "simulate" many PSO variants. A stable version (for the Swarm Intelligence Handbook, and a Research version). There are still some bugs, though
2009-09
PSO Research Toolbox
By George Evers. An extensive PSO toolbox suitable for industrial, academic, and personal use.
2012-05
NetLogo Models Library: Sample Models/Computer Science
By Stonedahl, F. and Wilensky, U. (2008). NetLogo Particle Swarm Optimization model
. Based on the algorithm presented in the following paper: Kennedy, J. & Eberhart, R. (1995)
2010-05
Variable PSO
By Maurice Clerc. A simple PSO with adaptive swarm size and topology.
2010-05
Python code
By F.-A. Fortin. One of the features of DEAP (Distributed Evolutionary Algorithms in Python), . Warning:  at this date (2010-10-15) this is just the original (global best) PSO, which is bad for multimodal functions, but it is easy to transform it into a local best one (like, say, Standard PSO).
2010-10
Python code
By  James D. McCaffrey  (demo program on Rastrigin function) 2015-06
Robots Routing using Swarm Intelligence
A C# project to simulate and test a multiagent algorithm for finding multiple noisy radiation sources with spatial and communication constraints with an emulated environment. The robots cooperate and communicate with each other to locate the source based on the sensors readings using concepts from particle swarm optimization algorithm.
2011-01
Standard PSO 2011 (SPSO-2011)
As simple as SPSO-07, but not coordinate dependent. A few optional "bells and whistles" for better performance.
Note: a short paper about the differences between SPSO 2006, 2007, 2011 is available here.
There is also a R version, slightly different, with less options, by Claus Bendtsen, here.
2011-01
2012-09
SPSO 2011, Matlab
Matlab version, by Mahamed Omran
2011-05
TribesPSO
By Peter Baughman. A managed implementation of the Tribes particle swarm optimization technique. It is designed to be extensible without recompilation to enable testing of variations on the Tribes algorithm. The project is written in C#
2011-07
SimPSOLib
By Tomas Arredondo. A small and simple implementation in C++ (global best PSO, with Vmax)
2011-07
MATLAB PSO Research Toolbox
By Georges Evers.  This site also presents some papers, and a thesis
2011-08
PyGMO
By Dario Izzo. Python Parallel Global Multiobjective Optimizer. Include DE, PSO, CMAES, ...
2011-11
SwarmNLP
By John Marshall. SwarmNLP is a program for Windows that visualizes particle swarm optimization (PSO) over multiple criteria and multiple objectives. This program is a good teaching tool for showing how PSO runs and quickly visualizing a solution space.
2012-04
hydroPSO
By Mauricio Zambrano-Bigiarini and Rodrigo Rojas. A newly developed package for the calibration/optimisation of environmental and other real-world models that need to be executed from the system console. hydroPSO is model-independent, allowing the user to easily interface any computer simulation model with the optimisation engine, through the model's own input and output files. It implements a state-of-the-art PSO algorithm (SPSO-2011 and SPSO-2007 capable), with several fine-tuning options (topologies, boundary conditions, initialisations, etc) and PSO variants available to customise the optimisation engine to different applications. User-friendly plotting functions facilitate the interpretation and assessment of the optimisation results. hydroPSO is parallel-capable, to alleviate the computational burden of complex models with "long" execution time. 2012-12-21
EPSO
By INESC (Porto, Portugal). Evolutionary Particle Swarm Optimization, a method based on a hybrid of two established optimization techniques belonging to the meta-heuristic family: evolutionary computing and particle swarm optimization. 2012-05
PSO (global best, Haskell language)
By P. Rabanal, I. Rodriguez, F. Rubio. Our aim is to provide a library of generic Haskell versions of the most common bioinspired metaheuristics, as well as a library containing the corresponding Eden (a parallel version of Haskell) skeletons for each metaheuristic. By doing so, we will simplify the task of using these metaheuristics in functional settings, and we will also simplify the task of improving their performance by means of parallelizing them. Moreover, as several metaheuristics will be provided in the same environment, the programmer will be able to check more easily what metaheuristics fits better for each concrete problem.
2012-06
 popot, C++ POPulation Based Optimization Toolbox
By Jeremy Fix. Particle Swarm Optimization:  SPSO 2006, 2007 and 2011  are implemented but you can also play by combining different topologies,  initialization schemes, position or velocity update rules, confinement methods, random number generators. Artificial Bee Colony
2012-08
Squads: Global Optimization technique coupling Particle Swarm and Levenberg-Marquardt optimization techniques
By Velimir V. Vesselinov, and Dylan R. Harp. An adaptive global hybrid optimization strategy based on TRIBES, for complex inverse analysis of computationally intensive physics-based models.
2013-01
A PSO in C
By Kyriakos Kentzoglanakis. A small and efficient piece of C code that can be "plugged into" any project. It implements a standard PSO algorithm and  supports thespecification of arbitrary user-defined objective functions, different swarm topologies, inertia weight update strategies, boundary conditions etc.
2013-03
Standard PSO 2011 in Objective-C By Ivan Rublev. To make PSO algorithm easily available for people who write apps for Macs and iPhones 2015-11
Particle Swarm Optimization with 5, 50, 500, 5000 particles By Cody Irons. A nice 2009 video of swarms tracking a moving goal 2017-04
COMPARE A slightly improved SPSO 2007 2022