Scilab Home Page | Wiki | Bug Tracker | Forge | Mailing List Archives | Scilab Online Help | File Exchange
ATOMS : Particle Swarm Optimization Toolbox details
Login with GitLab

Particle Swarm Optimization Toolbox

The PSO on Scilab
(1585 downloads for this version - 24811 downloads for all versions)
Details
Version
0.2
A more recent valid version with binaries for Scilab 5.3 exists: 0.6
Author
Sébastien SALMON
Owner Organization
M3M - UTBM
Maintainers
sebastien salmon
Allan CORNET
Michael BAUDIN
Creation Date
March 8, 2011
Source created on
Scilab 5.3.x
Binaries available on
Scilab 5.3.x:
Windows 64-bit Windows 32-bit Linux 64-bit Linux 32-bit macOS
Install command
--> atomsInstall("PSO")
Description
            Purpose
-------

The PSO method, published by Kennedy and Eberhart in 1995, 
is based on a population of points at first stochastically 
deployed on a search field. 
Each member of this particle swarm could be a solution of the optimization 
problem. 
This swarm flies in the search field (of D dimensions) and each member 
of it is attracted by its personal best solution and by the best solution 
of its neighbours. Each particle has a memory storing all data relating to its 
flight (location, speed and its personal best solution). 
It can also inform its neighbours, i.e. communicate its speed and position. 
This ability is known as socialisation. For each iteration, the objective 
function is evaluated for every member of the swarm. 
Then the leader of the whole swarm can be determined: it is the particle 
with the best personal solution. The process leads at the end to the best 
global solution. 

This direct search method does not require any knowledge 
of the objective function derivatives.

The PSO is a meta-heuristic optimization process created by Kennedy and Eberhart
in 1995.
Three PSO are implanted in this toolbox : 
 * the "Inertia Weight Model" by Shi & Eberhart in 1998, 
 * the "Radius",
 * the "BSG-Starcraft" by the author.

Sébastien Salmon is a mecatronics research engeneer and a PhD. student at the
M3M - UTBM. 
He uses the PSO for actuator optimization and inverse parameter identification.

Please cite the author when using modificated PSO (Radius and/or
BSG-Starcraft).
Please contact the author if your are satisfied of this works (or not) ans if
you find some bugs ;) . 

Bibliography
------------

 * Kennedy, J. and Eberhart, R. C. (1995). Particle swarm optimization.  Proc.
IEEE Int'l. Conf. on Neural Networks, IV, 1942–1948.  Piscataway, NJ: IEEE
Service Center.
 * Shi, Y. and Eberhart, R. C. (1998a). Parameter selection in particle swarm
optimization.  In Evolutionary Programming VII: Proc. EP98, New York:
Springer-Verlag, pp. 591-600.
 * Shi, Y. and Eberhart, R. C. (1998b).  A modified particle swarm optimizer. 
Proceedings of the IEEE International Conference on Evolutionary Computation,
69-73. Piscataway, NJ: IEEE Press.

            
Files (2)
[100.18 kB]
Source code archive

[5.74 MB]
OS-independent binary for Scilab 5.3.x
Binary version
Automatically generated by the ATOMS compilation chain

News (0)
Comments (1)     Leave a comment 
Comment -- March 10, 2011, 01:59:31 PM    
Hi,

This is a nice addition to the optimization toolset.

The help pages are interesting, but incomplete. I suggest that you add the description of 
the input and the output arguments, as suggested in:

http://wiki.scilab.org/Guidelines_To_Design_a_Module.

The example in the PSO_intertial function does not work:

--
>PSO_inertial(objective,wmax,wmin,itmax,c1,c2,N,D,borne_sup,borne_inf,vitesse_min,vitesse_ma
x)
 !--error 241 
File "my_objective.sce" does not exist.
at line      20 of function PSO_inertial called by :  
PSO_inertial(objective,wmax,wmin,itmax,c1,c2,N,D,borne_sup,borne_inf,vitesse_min,vitesse_max
)

Best regards,

Michaël Baudin
Leave a comment
You must register and log in before leaving a comment.
Login with GitLab
Email notifications
Send me email when this toolbox has changes, new files or a new release.
You must register and log in before setting up notifications.