Vous êtes sur la page 1sur 15

Autres algorithmes doptimisation

Universit de Moncton Grard J. Poitras 2013


38

Facult
dingnierie

Mthodes avances ding. II
GGEN6090
Facult dingnierie
Prof. Grard J. Poitras, ing.
Bureau : 132G2
Tl : 858-4759
Courriel :
gerard.poitras@umoncton.ca




Facult
dingnierie

Optimisation par essaim de particules
Loptimisation par essaim de particules (particle swarm
optimization, PSO) est une technique doptimisation dveloppe par
Kennedy et Eberhart, 1995.
Elle est base sur le comportement social de groupes danimaux
(poissons, oiseaux, abeilles, insectes).

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
39

Facult
dingnierie

Optimisation par essaim de particules
Le PSO appartient la classe des mthodes directes de recherche
employes pour trouver une solution optimale une fonction objective
dans un espace de recherche.
L'optimisation d'essaim de particules
est inspire par un comportement
doptimisation sociale.
Un rseau social est dfini, une
population dindividus (particules)
est initialise. Ces individus sont
des solutions aux problmes




Facult
dingnierie

Optimisation par essaim de particules
Un processus itratif pour amliorer ces solutions est utilis. Les particules
valuent itrativement la forme physique des solutions et se rappellent l'endroit
o elles ont eu leur meilleur succs.
Chaque particule rend cette information
disponible leurs voisins. Ils peuvent
galement voir o leurs voisins ont eu du
succs.
Chaque particule se dplace dans
lespace de recherche dune position
lautre selon son vecteur de vitesse.

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
40

Facult
dingnierie

Optimisation par essaim de particules
Des mouvements dans l'espace de recherche sont guids par ces succs, avec la
population convergeant habituellement, vers la fin d'une preuve, sur une
solution de problme.




Facult
dingnierie

On peut expliquer lalgorithme par une analogie:
Des abeilles sortent de la ruche pour trouver du pollen des fleurs. Elles
vont voler partout dans les alentours de la ruche. Lorsquune abeille
trouve une bonne source, toutes les autres abeilles vont converger vers
ce point.
Optimisation par essaim de particules

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
41

Facult
dingnierie

L'essaim est typiquement model par les particules qui ont une position et
une vitesse.
Optimisation par essaim de particules
Ces particules se dplacent dans lespace et ont trois possibilits
essentielles de raisonnement : garder en mmoire le meilleur global, le
meilleur individuel et les meilleurs locaux des groupes de voisins.
i
k
i
k
v x

,
meilleur
global
meilleur
individuel
meilleur
local




Facult
dingnierie

Dans un problme d'optimisation de minimisation (ou de maximisation), des
problmes sont formuls de sorte que le meilleur signifie simplement la
position avec la plus petite (ou la plus grande) valeur objective.
Les membres d'un essaim communiquent de bonnes positions entre eux et
ajustent leur propres position et vitesse bases sur ces bonnes positions.
Optimisation par essaim de particules

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
42

Facult
dingnierie

Dans un problme d'optimisation, une particule a l'information suivante pour
faire un changement appropri de sa position et vitesse :
Optimisation par essaim de particules
le meilleur global qui est connu
tous et immdiatement mis jour
quand une nouvelle meilleure
position est trouve par n'importe
quelle particule dans l'essaim.
les meilleurs locaux qui sont les
meilleures solutions obtenues des
sous-ensembles de l'essaim.
le meilleur individuel, qui est la
meilleure solution que la particule
a vue.
{




Facult
dingnierie

Lalgorithme doptimisation par essaim de particules est encore plus simple que
celui de lalgorithme gntique :
Optimisation par essaim de particules
On cre une population de particules.
Chaque particule reprsente une
solution possible au problme.
On suppose que 2 facteurs influencent
le comportement dune particule.
facteur individuel (la particule).
facteur social (les autres
particules).
Chaque particule a une position et une
vitesse: la particule se dplace dans
lespace de recherche.
Espace de recherche

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
43

Facult
dingnierie

Optimisation par essaim de particules
( ) ( ) ( )

A + =
A

+
A

+
A

+ =
+ +
+
t v x x
t
x p
r
t
x p
r
t
x p
r v v
i
k
i
k
i
k
i
k
v
k
i
k
g
k
i
k
i
k i
k k
i
k
1 1
3 3 2 2 1 1 1


e
La position et la vitesse des particules sont mises jour selon :
La position future est fonction de 4 facteurs:
la position prcdente, ;
la vitesse prcdente, ;
la meilleure position obtenue par chaque particule, ;
la meilleure position obtenue de toutes les particules, ;
la meilleure position obtenue pour un sous-ensemble de particules, .
i
k
x
i
k
v

i
k
p
g
k
p
v
k
p
i
k
x
1 +
o e
k
est le poids inertiel

1
,
2
et
3
sont des constantes, r
1
, r
2
et r
3
sont des nombres alatoires
entre 0 et 1 et At est lintervalle de temps entre les itrations.
Note : Typiquement, on limite la vitesse entre v
max
et v
min
.




Facult
dingnierie

Schma de dplacement dune particule dun PSO de type global.
Optimisation par essaim de particules
i
k k
v

e
( ) t x p r
i
k
i
k
A
1 1

( ) t x p r
i
k
g
k
A
2 2

i
k
x
g
k
p
i
k
p i
k
x
1 +
i
k
v

i
k
x

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
44

Facult
dingnierie

Le pseudo-code pour lalgorithme est:
Population initiale, x
k
et vitesses initiales v
k
(alatoires)
valuer la performance f (x
k
) de chaque particule
Identifier la particule avec la meilleure
performance = meilleur litration k (mgk)
Modifier la vitesse et la position
de toutes les particules
Optimisation par essaim de particules
k=1
k = k+1
Si k=1, meilleur global mg = mgk
Si k1, mg =max ou min (mg, mgk)
Pour chaque groupe :
Identifier les particules avec
la meilleure performance =
meilleur litration k (mvk)
Pour chaque groupe :
Si k=1
meilleur local mv = mvk
Si k1
mv =max ou min (mv, mvk)
Pour chaque particule :
Si k=1, meilleur individuel mi = mik
Si k1, mi =max ou min (mi, mik)




Facult
dingnierie

Pendant que l'essaim ritre, la forme physique de la meilleure solution globale
s'amliore.
Problmes possibles :
Il pourrait se produire que toutes les particules influences par le meilleur
global deviennent le meilleur global et la solution ne s'amliore jamais;
Les particules se dplaant proximit de l'espace de recherche du meilleur
global ne vont pas explorer le reste de l'espace de recherche.
Le choix des coefficients e
k
,
1
,
2
,
3
et At dans les quations de mise jour de
vitesse, affectent la convergence et la capacit de l'essaim de trouver l'optimum.
Il existe des variations de la mthode de PSO selon lesquelles des groupements
de particules locales communiquent aussi entre eux leur meilleure position, leur
meilleur local, et tous ces groupements de particules forment lessaim qui
communique entre ces groupements
Optimisation par essaim de particules

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
45

Facult
dingnierie

Pour un PSO de type global, toutes les particules sont voisins les uns des
autres (topologie entirement connecte). Par consquent, la position de
la meilleure globale se propage l'essaim entier. De manire gnrale,
un PSO de type global converge gnralement plus rapidement, mais
peut demeurer pig dans des optima locaux plus facilement..
Optimisation par essaim de particules
PSO de type global
Topologie globale




Facult
dingnierie

Pour les variantes de PSO de type local, les particules sont regroupes en
quartiers selon une certaine stratgie. Dans cette variante, les particules
voisines d'une particule donne peuvent influencer la vitesse de sa mise
jour. Par consquent, un PSO de type local (avec ses topologies)
converge plus lentement qu'un PSO de type global, mais est moins
susceptible d'tre captur dans des minima locaux due une plus grande
diversit de la population.
Optimisation par essaim de particules
PSO de type local
Topologie Von
Neumann
Topologie anneau

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
46

Facult
dingnierie

Les meilleurs locaux permettent l'exploration parallle de l'espace de
recherche et ramne la susceptibilit du PSO tomber dans des minimums
locaux, mais ralentit la vitesse de convergence. Souvent, les meilleurs locaux
ne sont pas utiliss dans les algorithmes.
Optimisation par essaim de particules
meilleurs
locaux
PSO de type local




Facult
dingnierie

Essaim de particules : exemple #1
2 2 2 2
) ( ) 1 ( ) , (
3 3 ) 1 ( 2 y x y x
e y x x e x y x f
+
=
Supposons quon veut trouver le maximum dune fonction deux variables:
o x et y varient entre -3 et +3.
tape 1 :
Dfinir la taille de la population, N. Avec deux variables, si on utilise la
rgle de 6 ou 7 fois le nombre de variables, on cre un minimum 12 14
individus.
Ces particules ressembleront beaucoup aux individus de lalgorithme
gntique.
Crer alatoirement les vitesses initiales des particules.
Ex: deux particules pourraient tre:
P
1
= {-0.767, -1.027}, P
2
= {2.561, -1.517}
x
1
y
1
x
2
y
2
Ex: les vitesses des deux particules pourraient tre:
P
1
= {0.573, -1.292}, P
2
= {-1.443, -0.682}
v
x1
v
y1
v
x2
v
y2

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
47

Facult
dingnierie

Essaim de particules : exemple #1
tape 2 :
valuer la performance des particules.
Ex: performance des particules:
f(P
1
) =1.378, f(P
2
) = 0.0044, f(P3)=0.5873, f(P4)= 1.3968,
f(P5)=1.1036, f(P6)=0.4591, f(P7)=1.0593, etc.
Ex: meilleure performance de la particule P7
Pour la population ci-dessus, la particule P7 aurait une meilleure
performance, f(P7)= 1.0593 (meilleur individuel, )
tape 3 :
Identifier la meilleure performance de chaque particule jusquici.
7
k
p
Identifier la particule ayant la meilleure performance depuis le dbut des
calculs.
Ex: meilleure performance de la population de particules depuis le
dbut:
Depuis le dbut des calculs, la meilleure performance, f(P)= 1.624
(meilleur global, )
g
k
p
( ): 017 . 1 ) ( si
7
=
k
p f




Facult
dingnierie

Essaim de particules : exemple #1
tape 4 :
Calculer les vitesses des particules.
Ex: vitesses de la particule P
1
{-0.767, -1.027} avec v ={0.573, -1.292}:
si e
k
= 0.4,
1
= 1.0,
2
= 1.0, r
1
= 0.5, r
2
= 0.3, At = 2.0 ,
{-0.393, -2.531}, {-0.655, -0.850}
Calculer les nouvelles positions des particules.
t
y
x
p
p
r t
y
x
p
p
r
v
v
v
v
i
k
g
k
y
x
i
k
i
k
y
x
i
k
y
x
k
i
k
y
x
A
|
|
.
|

\
|
(

+ A
|
|
.
|

\
|
(

+
(

=
(

+
2 2 1 1
1
e
0 . 2
027 . 1
767 . 0
850 . 0
655 . 0
3 . 0 0 . 1 0 . 2
027 . 1
767 . 0
531 . 2
393 . 0
5 . 0 0 . 1
027 . 1
767 . 0
4 . 0
760 . 0
197 . 0
1 1 1 1 1
1
|
|
|
.
|

\
|
(
(

(
(

+
|
|
|
.
|

\
|
(
(

(
(

+
(
(

=
(
(

+ k
g
k k k k k
i
k
p
g
k
p
t
v
v
y
x
y
x
i
k
y
x
i
k
i
k
A
(
(

+
(
(

=
(
(

+ + 1 1
(
(

(
(

+
(
(

=
(
(

+ +
0 . 2
0 . 2
760 . 0
197 . 0
027 . 1
767 . 0
547 . 2
161 . 1
1
1
1 1
1 k k k
Ex: vitesses de la particule P
1
{-0.767, -1.027}

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
48

Facult
dingnierie

0 10 20 30 40 50 60 70 80 90 100
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
Generation
F
i
t
n
e
s
s
Maximum
Moyenne
Exemple de rsultat.
Essaim de particules : exemple #1
Pour cet exemple, les rsultats obtenus sont similaires ceux de lalgorithme
gntique.
En gnral, cependant, il y a moins de calculs faire avec loptimisation par
essaim de particules, puisquon na pas les oprations de croisement, de
mutation, etc.
g
k
p
f ( ) =1.671
{-0.623, -0.828}
g
k
p




Facult
dingnierie

Il y a un certain nombre de considrations en employant PSO dans la pratique :
on pourrait maintenir les positions ou les vitesses une certaine gamme;
on pourrait donner chaque particule une dure de vie finie aprs quoi elle
aurait une position alatoire;
faire des choix intelligents de e
k
,
i
et r
i
.
les valeurs e
k
diminuent avec les itrations ; par exemple, de 0.9 une
valeur finale de 0.4.
Optimisation par essaim de particules
Des modifications significatives et non triviales ont t dveloppes pendant les
dernires annes:
optimisations multi objectives, versions conues pour trouver des solutions
de manire satisfaire des contraintes linaires ou non linaires;
versions conues pour trouver les solutions multiples aux problmes;
version modifie de l'algorithme appel l'optimisation rpulsive d'essaim de
particules, dans laquelle un nouveau facteur est ajout pour maintenir la
sparation entre les particules. Si deux particules sont trop prs lune
lautre, elles se repoussent.

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
49

Facult
dingnierie

Optimisation par essaim de particules
Le poids inertiel e
k
Il dfinit la capacit dexploration de chaque particule. Une grande valeur implique
une grande amplitude de mouvement. loppos, une faible valeur favorise une
exploration locale. Gnralement, la valeur de e
k
est fixe et comprise entre 0.7 et
1.2 inclusivement. Mais sa valeur peut galement dcrotre linairement au fil des
diffrentes itrations.
1 1
2
et 4
2 1
2 1
< <
+
s + e


Les facteurs cognitifs |
1
et social |
2
Le facteur cognitif |
1
pondre la valeur de lexploration locale tandis que le
facteur social |
2
est une mesure la tendance suivre le groupe. La convergence de
lalgorithme repose en grande partie sur le choix de ces deux paramtres.
Ruben et al. recommande que les paramtres respectent les ingalits ci-dessous
afin dassurer la convergence de lalgorithme :




Facult
dingnierie

2. Deuxime approche : rduction dynamique du poids inertiel et par consquent la
vitesse des particules.
o k
e
e[0, 1] avec une valeur initiale k
e
= 0.95.
Optimisation par essaim de particules
Choix du poids inertiel e
k
Le poids inertiel e
k
peut tre constant ou dcrotre en fonction du nombre
ditrations.
1. Premire approche : rduction linaire du poids inertiel et par consquent la
vitesse des particules.
( )k
k k
max
min max
max 1
e e
e e

+
=
o k dsigne le nombre ditrations et e
max
= 0.95, e
min
=0.55.
k k
k e e
e
=
+1

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
50

Facult
dingnierie

Optimisation par essaim de particules
Afin dviter que les particules ne se dplacent trop rapidement dans lespace
de recherche, passant ventuellement ct de loptimum, on fixe normalement
une vitesse maximale pour amliorer la convergence de lalgorithme.
Cependant, on peut sen passer si on utilise un coefficient de constriction k
introduit par Maurice CLERC et qui permet de resserrer lhyperespace de
recherche.
Lquation de la vitesse est alors :
Vitesse maximale et coefficient de constriction
2
4
1
1
2

+ =
( ) ( )
(

+
A

+ =
+

2 1 1
t
x p
t
x p
v v
i
k
g
k
i
k
i
k i
k
i
k
k

4
,
4
2 1
2 2 2 1 1 1
2 1
s +
= =
> + =



r r
o




Facult
dingnierie

Optimisation par essaim de particules
Gestion des contraintes
La gestion des contraintes pour des problmes doptimisation consiste en deux
approches :
La premire approche consiste restreindre la vitesse des particules qui ne
respectent pas les contraintes et les rediriger dans lespace de recherche.
Cependant cette approche ne garantit pas une solution optimale qui respecte toutes
les contraintes. Par ailleurs elle nest pas applicable toutes les situations.
Lautre approche consiste dprcier la valeur de la fonction objective chaque
fois quune contrainte nest pas respecte. Ruben et al. propose dappliquer
lquation suivante :
o
m dsigne le nombre de fois o les contraintes ne sont pas respectes;
k
j
dsigne le facteur de pnalit qui croit linairement en fonction du nombre
ditrations j;
( )
( )
( ) ( )

+
=

=
autrement ) (
respectes sont s contrainte les toutes si
'
1
m
j
k j k
k
k
x f g k x f
x f
x f

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
51

Facult
dingnierie

Optimisation par essaim de particules
Gestion des contraintes
1. Premire approche :
o o est une constante strictement suprieure 1.
( )
( )
( )

=
autrement
respectes sont s contrainte les toutes si
'
k
k
k
x f
x f
x f
o
2. Deuxime approche :
o m dsigne le nombre de fois o la contrainte nest pas respecte.
( )
( )
( )

=
autrement
respectes sont s contrainte les toutes si
'
k
k
k
x f m
x f
x f
3. Troisime approche :
o m dsigne le nombre de fois o la contrainte nest pas respecte et o une
constante.
( )
( )
( )

+
=
autrement
respectes sont s contrainte les toutes si
'
m
k
k
k
x f
x f
x f
o
4. Quatrime approche :
o k dsigne le nombre ditrations et o une constante.
( )
( )
( )

+
=
autrement
respectes sont s contrainte les toutes si
'
o
k x f
x f
x f
k
k
k




Facult
dingnierie

Rfrences
1. J. Kennedy, R.C. Eberhart, and Y. Shi. Swarm intelligence. Morgan Kaufmann Publishers, San Francisco, 2001.
2. K. E. Parsopoulos and M. N. Vrahatis. Recent approaches to global optimization problems through particle swarm
optimization.
Natural Computing: an international journal, 1(2-3):235-306, 2002.
3. Maurice Clerc and James Kennedy. The particle swarm - explosion, stability, and convergence in a multidimensional complex
space.
IEEE Trans. Evolutionary Computation, 6(1):58-73, 2002.
4. Frans van den Bergh. An analysis of particle swarm optimizers. PhD thesis, University of Pretoria, South Africa, 2002.
5. Loan Cristian Trelea. The particle swarm optimization algorithm: convergence analysis and parameter selection.
Inf. Process. Lett., 85(6):317-325, 2003.
6. Y. Shi and R.C. Eberhart. Parameter selection in particle swarm optimization. In Proceedings of the Seventh Annual
Conference on Evolutionary Programming, pages 591-600, 1998.
7. Y. Shi and R.C. Eberhart. Empirical study of particle swarm optimization. In Proceedings of the IEEE Congress on
Evolutionary Computation (CEC), pages 1945-1950, 1999.
8. J. Kennedy and R.C. Eberhart. A discrete binary version of the particle swarm algorithm. In Proceedings of the World
Multiconference on Systemics, Cybernetics and Informatics, pages 4104-4109, 1997.
9. Xiaohui Hu, Yuhui Shi, and Russ Eberhart. Recent advances in particle swarm. In Proceedings of IEEE Congress on
Evolutionary Computation 2004 (CEC 2004), pages 90-97, 2004.

Autres algorithmes doptimisation
Universit de Moncton Grard J. Poitras 2013
52

Facult
dingnierie

Rfrences
10. Shuyuan Yang, Min Wang, and Licheng Jiao. A quantum particle swarm optimization. In Proceedings of IEEE Congress on
Evolutionary Computation 2004 (CEC 2004), pages 320-331, 2004.
11. Tiago Sousa, Arlindo Silva, and Ana Neves. Particle swarm based data mining algorithms for classification tasks. Parallel
Comput., 30(5-6):767-783, 2004.
12. Maurice Clerc. Binary particle swarm optimisers: toolbox, derivations and mathematical insights.
http://clerc.maurice.free.fr/pso/binary_pso.
13. J.H. Holland. Adaptation. Progress in theoretical biology, pages 263-293, 1976.
14. S. B. Thrun et al. The MONK's problems: A performance comparison of different learning algorithms. Technical Report CS-
91-197, Pittsburgh, PA, 1991.
15. Shaun Saxon and Alwyn Barry. XCS and the monk's problems. In Wolfgang Banzhaf, Jason Daida, Agoston E. Eiben, Max
H. Garzon, Vasant Honavar, Mark Jakiela, and Robert E. Smith, editors, Proceedings of the Genetic and Evolutionary
Computation Conference, volume 1, page 809, Orlando, Florida, USA, 13-17 1999. Morgan Kaufmann.
16. Kenneth A. De Jong and William M. Spears. Learning concept classification rules using genetic algorithms. In Proceedings
of the Twelfth International Conference on Artificial Intelligence (IJCAI), volume 2, 1991.
17. Steward W. Wilson. Classifier fitness based on accuracy. Evolutionary Computation, 3(2):149-175, 1995.
18. Ester Bernad-Mansilla and Josep M. Garrell-Guiu. Accuracy-based learning classifier systems: models, analysis and
applications to classification tasks. Evol. Comput., 11(3):209-238, 2003.




Facult
dingnierie

Rfrences
19. T. M. Blackwell and Peter J. Bentley. Dynamic search with charged swarms. In Proceedings of the Genetic and Evolutionary
Computation Conference 2002 (GECCO), pages 19-26, 2002.
20. P. N. Suganthan. Particle swarm optimiser with neighbourhood operator. In Proceedings of the IEEE Congress on
Evolutionary Computation (CEC), pages 1958-1962, 1999.
21. Riaan Brits. Niching strategies for particle swarm optimization. Master's thesis, University of Pretoria, Pretoria, 2002.
22. X. Hu and R.C. Eberhart. Multiobjective optimization using dynamic neighborhood particle swarm optimisation. In
Proceedings of the IEEE Congress on Evolutionary Computation (CEC), pages 1677-16, 2002.
23. J. Kennedy. Stereotyping: improving particle swarm performance with cluster analysis. In Proceedings of the IEEE Congress
on Evolutionary Computation (CEC), pages 1507-1512, 2000.
24. K. E. Parsopoulos and M. N. Vrahatis. Particle swarm optimization method in multiobjective problems. In Proceedings of the
ACM Symposium on Applied Computing (SAC 2002), pages 603-607, 2002.
25. Carlos A. Coello and Maximino Salazar Lechuga. Mopso: A proposal for multiple objective particle swarm optimization. In
Proceedings of the Congress on Evolutionary Computation (CEC'2002)), pages 1051-1056, 2002.
26. Yongde Zhang and Shabai Huang. A novel multiobjective particle swarm optimization for buoys-arrangement design. In
Proceedings of the IEEE/WIC/ACM International Conference on Intelligent Agent Technology (IAT 2004), pages 24-30, 2004.
27. X. Li. Adaptively choosing neighbourhood bests using species in a particle swarm optimizer for multimodal function
optimization. Lecture Notes on Computer Science, 3102:105-116, 2004.
28. E. Ruben, Perez and Karman Behdinan. Particule swarm optimization in structural design. Vienne Autriche:. Itech Education
and Publishing, 2007.