Code covered by the BSD License  

Highlights from
Particle Swarm Optimization


5.0 | 1 rating Rate this file 85 Downloads (last 30 days) File Size: 8.01 KB File ID: #41708
image thumbnail

Particle Swarm Optimization



13 May 2013 (Updated )

[xMin,yMin] = pso(fun,np,lb,ub);

| Watch this File

File Information

fun: function handle (y = fun(x), x is column vector)
np: number of particles
lb, ub: lb<x<ub
xMin: yMin = fun(xMin)
yMin: minimum value of the cost function fun
pso finds the global minimum for a constraint function (convex or non-con) with multiple variables.

Required Products MATLAB
MATLAB release MATLAB 7.14 (R2012a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (11)
12 Sep 2014 Maria Esmeral

Good Morning.

I want to know if for using this function should I have instaled the optimization toolbox.

Thank you

03 Mar 2014 Quan Wang

Very elegant implementation.

29 Jan 2014 Yan Ou

It dose constrain stuff. lb, ub: lb<x<ub

16 Jan 2014 li jian

Hi,thanks for your contribution. The pso algorithm does not deal with constrained problems which makes it powerless to deal with practical problems.

18 Dec 2013 Sukhoon

oops...I may control the different LB & UB at the inside of my own test function. Sorry to make you confused. Thanks!

18 Dec 2013 Sukhoon

How many different lb & ub can I set for your PSO? If it is 1 set, so far, then I wonder if you hava a plan to update your PSO for that. Thanks!

09 Dec 2013 Yan Ou

Hello Sanjaya:

The pso algorithm I posted does not deal with the integer programming issue as you mention.
But there should be two way to solve your problem.
1, Your problem have 5 variable restrict in integer domain. You can try all the combination of the 5 variable and use pso to solve the continuous optimization problem for the rest 9 variables. Then choose the smallest one from the 5 variables.
2, Try to relax your integer programming issue to a continuous programming issue.

09 Dec 2013 sanjaya

Dear sir,
I have a problem with 16 variables, out of which 9 variables are in decimals with range 0 to 1 and the rest are integers with range 1 to 4. Can I use your codings of pso?

04 Dec 2013 Ahmed ali


16 May 2013 Yan Ou

Please let me know if you guys can run the function or not

16 May 2013 Yan Ou

Please let me know if you guys can run the function or not

14 May 2013

change the summary part to make user immediately understand the usage of function

14 May 2013

add screen shot and summary

06 Nov 2013

updated version

25 Nov 2013


05 Dec 2013

Add demo file

06 Dec 2013

update pso

09 Dec 2013


17 Dec 2013

add warm start

18 Dec 2013

update stop criteria

24 Dec 2013


Contact us