image thumbnail

Particle Swarm Optimization (PSO) - GUI Simulator

version 1.1.0.0 (103 KB) by Víctor Martínez-Cagigal
GUI that provides a highly-customized Particle Swarm Optimization simulator.

2.1K Downloads

Updated 29 Jan 2016

View License

This Graphic User Interface (GUI) provides a highly customized simulator of a classical collective intelligence algorithm: Particle Swarm Optimization (PSO).
Execute ‘main.m’ for running the main GUI program. As shown in the thumbnail, the program allows the user to configure the most important parameters of the PSO.
First of all, it is necessary to set the target search function. The GUI offers twelve different benchmark functions: a paraboloid, Griewank, Rastrigin, Rosenbrock, Bukin, Log-sumcan, Ackley, Drop-wave, Holder-table and Levy. Also, if ‘custom’ is selected, a new window will appear in order to configure the customized function in terms of a two-dimensional MATLAB expression @(x,y).
Once the target function is plotted, it is time to set the swarm parameters, such as the population size, the generation limit, the precision (error tolerance), and the velocity factors (percentage of the region of interest limits): inertia weight, individual confidence factor and swarm confidence factor.

Finally, pressing the ‘run’ button, the algorithm will start. Depending on the type of optimization previously selected, the fitness is the inverse of the function evaluation (minimization) or not (maximization). The GUI presents 3 different graphs: 3D-function graph (upper left), contour function with swarm evolution (upper right) and fitness monitoring (bottom). Swarm particles are displayed as black dots, while the best position ever found by the swarm is displayed as a red cross-hair.

Cite As

Víctor Martínez-Cagigal (2021). Particle Swarm Optimization (PSO) - GUI Simulator (https://www.mathworks.com/matlabcentral/fileexchange/55162-particle-swarm-optimization-pso-gui-simulator), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!