pso

Easy-to-use MatLab function for PSO.
4.8K Downloads
Updated 24 Nov 2010

View License

Easy-to-use MatLab function for PSO (Particle Swarm Optimization). Limited to optimization problems of nine variables but can easily be extended many variables.

xbest = pso(func)
xbest - solution of the optimization problem. The number of columns depends on the input func. size(func,2)=number of xi variables
func - string containing a mathematic expression. Variables are defined as xi. For instance, func='2*x1+3*x2' means that it is an optimization problem of two variables.

[xbest,fit] = pso(func)
fit - returns the optimized value of func using the xbest solution.

[xbest,fit] = pso(func,xmin)
xmin - minimum value of xi. size(xmin,2)=number of xi variables. Default -100.

[xbest,fit] = pso(func,xmin,xmax)
xmax - maximum value of xi. size(xmax,2)=number of xi variables. Default 100.

[xbest,fit] = pso(func,xmin,xmax,type)
type - minimization 'min' or maximization 'max' of the problem. Default 'min'.

[xbest,fit] = pso(func,xmin,xmax,type,population)
population - number of the swarm population. Default 50.

[xbest,fit] = pso(func,xmin,xmax,type,population,iterations)
iterations - number of iterations. Default 500.

Example: xbest = pso('10+5*x1^2-0.8*x2',[-10 -20],[20 40],'min')

Micael S. Couceiro
v1.0
15/11/2010

Original algorithm developed by:
Kennedy, J. and Eberhart, R. C. (1995).
"Particle swarm optimization".
Proceedings of the IEEE 1995 International Conference on Neural Networks, pp. 1942-1948.

Cite As

Micael Couceiro (2024). pso (https://www.mathworks.com/matlabcentral/fileexchange/29519-pso), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009b
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!
Version Published Release Notes
1.0.0.0