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. |
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 |