File Exchange

## pso

version 1.0 (2.67 KB) by

Easy-to-use MatLab function for PSO.

Updated

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.

shijith P T

### shijith P T (view profile)

??? Input argument "func" is undefined.

Error in ==> pso at 47
fun=inline(func);

??? Input argument "func" is undefined.
WHY THIS ERROR IS COMING

Joy Goswami

Neeraj Bhanot

### Neeraj Bhanot (view profile)

pso('sin',1,[0,pi/2],1)

Swarming...Subscripted assignment dimension mismatch.

Error in psoboundspenalize (line 32)
state.ConstrViolations(i,:) = [c,ceq] ;

Error in pso (line 407)
state = boundcheckfcn(state,Aineq,bineq,Aeq,beq,LB,UB,nonlcon,...

Thanks

Vinod

huda nawaf

### huda nawaf (view profile)

hi,
please, i want to include pso in matlab, how get it

##### MATLAB Release
MATLAB 7.9 (R2009b)

Play today