Vous êtes sur la page 1sur 1

Master M2S, module M3, 2me anne

Anne 2012-2013
Mr DUMAS

TP SCILAB/MATLAB : la mthode PSO

La mthode Particle Swarm Optimization (ou PSO) est une mthode doptimisation sans gradient,
de type volutionnaire faisant voluer une population (ou essaim) dlments de Rn (appels aussi
particules) en adaptant leur vitesse de manire collective afin de minimiser une fonction J : Rn R.
Pour tout 1 i Npop et pour une gnration gen donne, on note

(i) xi : la position actuelle de la i-eme particule de la population,

(ii) vi la vitesse de la i-me particule,

(iii) pi : la meilleure position de la i-me particule jamais trouve (cest dire o J tait minimale),

(iv) pg : la meilleure position jamais trouve par une particule de lessaim.

Lessaim est initialis de manire alatoire. De la gnration gen la gnration gen+1, on effectue les
oprations suivantes :

vi := wvi + c1 1 (pi xi ) + c2 2 (pg xi )


et
xi := xi + vi
o 1 et 2 sont deux vecteurs alatoires suivant une loi uniforme de [0, 1]n . Les constantes positives w,
c1 et c2 sont respectivement appeles coefficient dinertie et dacclration. Le symbole signifie une
multiplication terme terme. Une vitesse maximale Vmax est galement impose pour toute particule.

1. Programmer avec Scilab la mthode PSO prcdente.

2. Appliquer la mthode PSO lexemple simple n = 1, J(x) = x2 et avec w = c1 = c2 = 0.7. Tracer


les trajectoires correspondantes des particules sur la parabole.

3. Appliquer la mthode PSO au cas de la fonction de Rastrigin sur [5, 5]2 cest dire
2
X
J(x1 , x2 ) = (x2i cos(2xi )) + 2
i=1

avec 10 particles. Quobserve t-on ?

Vous aimerez peut-être aussi