Vous êtes sur la page 1sur 15

Loptimisation par essaim particulaire

Tutoriel pour OEP 2003


Maurice Clerc France Tlcom R&D
courriel : Maurice.Clerc@WriteMe.com

Partie I : mtaphores, premires formulations, paramtrages


Diapositive 1

-\MNRGKGQ?RGMLN?PCQQ?GK N?PRGASJ?GPC

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

LOEP est relativement rcente, puisque les premiers articles la concernant datent de 1995, lappellation dorigine tant, en anglais, Particle Swarm Optimization. Il sagit dune mthode faisant appel une population dagents, appels ici particules, mais, comme on le verra, par rapport dautres heuristiques de la mme famille, elle prsente quelques particularits intressantes, entre autres la notion que lefficacit est due la collaboration plutt qu la comptition. On fait parfois la confusion entre lOEP et le filtrage particulaire (cas particulier des Systmes Particulaires Interactifs) qui, comme chacun sait (!) est une mthode optimale d'estimation de processus non linaires observs au travers de capteurs. Il y a des ressemblances (population de particules, dplacements alatoires), mme si le filtrage est plus spcifique. Nanmoins, les deux domaines de recherche signorent encore largement. Ce sminaire sera peut-tre loccasion dun rapprochement fructueux. Diapositive 2

"SKCLS
 1?P?K}RP?ECCRK?RF}K?RGOSCQ
7?PG?LRCQBGTCPQCQ  7?PG?LRCQ?B?NR?RGTCQ 5PG@CQ  &VCKNJCQCR?NNJGA?RGMLQ .}R?NFMPCQCRNPCKG|PCQDMPKSJ?RGMLQ
-2 -1 6 5 4 3 2 1 0 00 1 2 -4 -2

2 4

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Cette prsentation comporte trois grandes parties. Aprs chacune dentre elles, vous pourrez poser quelques questions auxquelles jessaierai de donner une rponse, mme si, comme il est probable, ce sera simplement ce point sera voqu un peu plus tard . La premire partie traite des principes de base de la mthode et de sa formalisation. Dans la seconde, jessaierai de prsenter un panorama, forcment incomplet, des principales variantes, en particulier les variantes adaptatives. Je dirai quelques mots du programme Tribes, qui sera utilis dans latelier de cet aprs-midi. Les exemples concernent des problmes plus ou moins artificiels, alors que les applications sintressent des problmes rels. Comme nous le verrons, la force de lOEP est que lon peut traiter des applications trs varies dune manire uniforme. Diapositive 3

-\SLGMLD?GRJ?DMPAC

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Si vous devez effectuer une certaine tche, comme explorer un espace de recherche et que, pour ce faire, vous navez votre disposition quun agent fort peu intelligent, cest pratiquement sans espoir. Maintenant, si vous en avez plusieurs, on peut envisager diffrentes stratgies pour quune telle quipe dimbciles se comporte, globalement, de manire astucieuse. Avec lOEP les rgles appliquer sont trs simples et, de plus, il nest mme pas ncessaire davoir un contrematre pour diriger lquipe. Bien sr, il y a de nombreuses autres heuristiques utilisant des populations d individus (algorithmes gntiques, colonies de fourmis, etc.), toutes fondes sur des proprits dautoorganisation, mais ayant chacune son domaine de comptence. Lexpos de Johann Dro et Patrick Siarry prcisera ces aspects. Notons demble, mais nous en reparlerons, que lOEP, quant elle, est particulirement efficace dans des espaces de recherche continus ou mixtes (certaines variables tant discrtes). Toutes ces mthodes ne sont dailleurs peut-tre que des facettes partielles dune mme mtaheuristique qui reste dcouvrir. On peut dj, dans certains cas, tablir des correspondances formelles, mais surtout, envisager des enrichissements rciproques, par exemple autour des notions de mmoire ou de probabilits conditionnelles.

Diapositive 4

-CQGLTCLRCSPQ 

Russell Eberhart
eberhart@engr.iupui.edu

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

En fait, lOEP est ne presque par hasard. Au dpart, les inventeurs souhaitaient simuler des interactions sociales, essentiellement en sappuyant sur la technique des algorithmes culturels adaptatifs de Robert Reynolds et Robert Axelrod. Cette technique est souvent dcrite comme une sorte dalgorithme volutionnaire, avec une population dindividus (les agents), dans laquelle, chaque pas de temps, les meilleurs (selon un critre prdfini) sont plus ou moins imits par les autres. Un aspect essentiel, qui la diffrencie, par exemple, des algorithmes gntiques classiques, est lexistence dune mmoire, laquelle ne contribuent que les meilleurs lments. Le modle est cens expliquer et reproduire certains comportements sociaux, mais sest rvl un peu simpliste. Par contre, convenablement modifi, il peut rsoudre des problmes doptimisation, car le processus fait apparatre des individus de plus en plus performants : cest ainsi que lOEP est ne, sous le nom, donc, de Particle Swarm Optimization (PSO), grce la collaboration de deux personnes de profils trs diffrents, Russ Eberhart et Jim Kennedy. En particulier, comme on le verra, il sest demble rvl trs efficace pour lducation (ou lapprentissage) de rseaux neuronaux, ce que Russ, en tant quingnieur et enseignant lUniversit Purdue Indianapolis, sest empress de mettre en application.

Diapositive 5

-CQGLTCLRCSPQ 

James Kennedy
Kennedy_Jim@bls.gov
0&1  5SRMPGCJ .?SPGAC$JCPA!8PGRC.CAMK

Jim Kennedy est psychologue social et statisticien, travaillant pour le compte du gouvernement Washington DC. En 2001, Russ et lui ont publi un livre, Swarm Intelligence, qui, comme vous le voyez, a lair de passionner ses enfants, Bonnie et Jamey. Ce livre, en fait essentiellement crit par Jim, comporte un peu plus de 500 pages, dont environ 130 (la seconde partie) sont consacres lOEP proprement dite. Dans toute la premire partie et galement dans les conclusions, sont prsentes des ides gnrales sur loptimisation, sur ses relations avec les comportements sociaux, sur les techniques volutionnaires, etc. Elles nont pas toutes contribues lOEP, loin de l, mais sont toutes intressantes. On notera lannexe, qui rsume des mthodes statistiques lmentaires qui devraient tre systmatiquement utilises lorsque lon tudie le comportement dun algorithme comportant une part dalatoire. Ce nest pas toujours le cas et lon voit rgulirement des articles prconisant telle ou telle mthode doptimisation, sur la seule base de quelques tests bien insuffisants. Diapositive 6

&VCKNJCBCAMMN}P?RGML

"

"

"

"

# # #

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Pour illustrer ce que coopration signifie en OEP, voici un exemple trs simple. Jutilise ici volontairement une autre mtaphore que celle des insectes sociaux, pour insister sur le fait que ce sont les principes qui comptent et non pas leur habillage, biologique ou autre. Comme dhabitude, le gros poisson est au plus profond de ltang. A chaque pas de temps, chaque pcheur indique son collgue lendroit le plus profond quil a dj trouv. Au dbut, pas de diffrence, et chacun suit sa propre route indpendamment. Ensuite, le pcheur B a trouv un meilleur emplacement, alors le pcheur A tend aller vers lui, assez vite. Ce faisant, il dtriore sa position. Ds lors, il a un compromis faire entre la meilleure position quil a trouve jusque-l et celle trouve par B. Il continue daller vers B, mais plus lentement, et de mme le pas de temps suivant Le point important est que, ce faisant, il chappe au minimum local. Naturellement, cest un exemple un peu caricatural, mais on y trouve les notions essentielles : position, vitesse (ou, plus prcisment, un oprateur modificateur de position), change dinformations, mmoire (trs limite), capacit rudimentaire combiner les informations pour prendre une dcision. Lide est que tout cela doit rester simple. Diapositive 7

.}KMGPCCRGLDMPK?RCSPQ

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Faisons maintenant une premire prsentation informelle du modle. On considre, dans lespace de recherche, un essaim de particules, ici cinq. Chaque particule est en train de bouger, cest--dire quelle a une vitesse. Egalement, chaque particule a une petite mmoire, lui permettant de se souvenir de sa meilleure performance, en position et en valeur. Enfin, chaque particule dispose dun groupe dinformatrices, historiquement appel son voisinage.

Diapositive 8

$MKNPMKGQNQWAFMQMAG?J
.? KCGJJCSPC NCPD

pi
.MG K?GLRCL?LR -? KCGJJCSPC

c1

c2

NCPD BC KCQ

c3 v pg

TMGQGLQ

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

A partir des quelques informations dont elle dispose, une particule doit dcider de son prochain mouvement, cest--dire dcider de sa nouvelle vitesse. Pour ce faire, elle combine linairement trois informations : - sa vitesse actuelle - sa meilleure performance - la meilleure performance de ses voisines (ses informatrices). laide de trois paramtres parfois appels coefficients de confiance, qui pondrent trois tendances : - tendance suivre sa propre voie - tendance conservatrice (revenir sur ses pas) - tendance panurgienne (suivre le meilleur voisin) Reprenons tout le processus de manire plus formelle. Diapositive 9

*LGRG?JGQ?RGMLQ

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Premire tape, on initialise lessaim de particules dans lespace de recherche. On peut soit le faire de manire alatoire (ce qui nest pas forcment si simple selon la forme de lespace de recherche), soit de manire rgulire, en particulier sur la frontire. En gnral, le plus efficace est une combinaison des deux. Deuxime tape, on initialise galement les vitesses, de manire alatoire. On suppose pour linstant que lessaim est de taille constante. Il sagit donc galement dun paramtre du modle, dfinir. Diapositive 10

7MGQGL?ECQ

1FWQGOSC E}MEP?NFGOSC QMAG?J

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Ensuite, pour chaque particule, on dfinit son voisinage. Il y a deux grandes mthodes. Soit un voisinage gographique, qui doit tre recalcul chaque pas de temps, et qui suppose lexistence dune distance dans lespace de recherche, soit un voisinage social dfini une fois pour toutes. Cest le voisinage social qui est le plus utilis, pour plusieurs raisons : - il est plus simple programmer, - il est moins coteux en temps calcul, - de toutes faons, en cas de convergence, un voisinage social tend devenir un voisinage gographique.

Diapositive 11

1PCKG|PCDMPKSJ?RGML
v(t + 1) = c1v(t ) + c2 ( pi x(t )) + c3 (p g x(t )) x(t + 1) = x(t ) + v(t + 1)

c2 = alea([0, 1 ]) c3 = alea([0, 2 ])

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Les quations compltes du mouvement dune particule peuvent alors scrire ainsi. La nouvelle vitesse est calcule comme combinaison linaire de trois lments, comme vu auparavant, puis applique la position courante pour donner la nouvelle position. Lefficacit de la mthode tient en particulier au caractre alatoire des deux derniers coefficients. Voyons tout de suite le premier algorithme qui, historiquement, rsulte de cette formulation. Diapositive 12

-\?JEMPGRFKCFGQRMPGOSC
A chaque pas de temps t pour chaque particule pour chaque dimension d

puis dplacer x(t + 1) = x(t ) + v(t + 1)


0&1  5SRMPGCJ

vd (t + 1) = modifier c1vd (t ) la vitesse+ alea([0, 1 ])( pi ,d xd (t )) + alea([0, 2 ])(pg ,d xd (t ))


.?SPGAC$JCPA!8PGRC.CAMK

"J}?RMGPC B?LQJ? @MSAJC

En dfinitive, le pseudo code de cet algorithme ne comprend que quelques lignes. Le programme complet inclut galement la recherche du meilleur voisin, chaque pas de temps, mais reste quand mme trs court, puisquil sagit dune simple boucle de parcours dun voisinage. Egalement, toujours chaque pas de temps, il faut mmoriser, pour chaque particule, sa meilleure performance.

On notera ici un point important, savoir que les deux coefficients alatoires sont recalculs pour chaque dimension. Ceci va nous donner linterprtation gomtrique du choix de la nouvelle vitesse. Diapositive 13

-CQNPMVGKGR}Q?J}?RMGPCQ
)WNCPN?P?JJ}J}NGN|BC#G?GQ GR} GNPMVGK
pi x pg v

GR} ENPMVGK

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Le premier rectangle (plus prcisment hyperparalllpipde), appel i-proximit, nous donne toutes les positions possibles pour le terme alatoire correspondant au retour proximit de la meilleure performance de la particule. Lune delles est choisie au hasard, selon une distribution uniforme. De la mme manire, une autre position est choisie dans un hyperparalllpipde (gproximit) autour de pg, meilleure performance des voisines. Telle quelle, la mthode est dj efficace, mais on voit tout de suite une amlioration possible. Lutilisation dhyperparalllpipdes implique en effet un biais, puisque le domaine des choix possibles dpend du systme de coordonnes. De plus, il sagit dune forme assez arbitraire, qui rsulte seulement de la facilit de codage dune distribution uniforme sur un intervalle. Nous verrons dans les variantes comment on peut amliorer cet aspect.

Diapositive 14

*JJSQRP?RGML?LGK}C
0NRGKSK EJM@?J

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Quoiquil en soit, la mthode originelle telle quelle vient dtre prsente fonctionne dj de faon trs satisfaisante et est encore couramment utilise. Pour terminer cet aperu du modle historique, voici une petite animation, qui illustre non seulement comment lessaim trouve loptimum global, mais aussi comment il se dcompose temporairement en sous-essaims sur des minimums locaux, particularit qui peut tre mise profit dans certaines applications. Diapositive 15

1?P?K}RP?ECQCRK?RF}K?RGOSCQ
-C @ML AFCK GL

1?P GAG

0S N?P Jx

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

La version historique , comme on la vu, comporte un certain nombre de paramtres que lutilisateur est contraint de dfinir a priori : - la taille de lessaim (le nombre de particules) - la dfinition des voisinages - les coefficients de confiance de la pondration linaire. Dans un premier temps, des rgles empiriques ont t dtermines. En particulier, on sest aperu quil tait ncessaire de limiter la vitesse une valeur Vmax (un nouveau paramtre, donc), faute de quoi, dans certains cas, le systme pouvait exploser .

Diapositive 16

7MGQGL?ECQ RMNMJMEGCQ

GR KMLBC c Q RWNC b NCR (P?NFC


0&1  5SRMPGCJ

MS
GLDMPK?RCSPQ

.?SPGAC$JCPA!8PGRC.CAMK

En ce qui concerne les voisinages, on peut envisager diffrentes topologies pour les relations entre particules, par exemple un graphe rgulier de type quadrillage ou tore. Une voie de recherche actuelle concerne les graphes de type petit monde , cest--dire ayant les caractristiques suivantes : - un rapport nombre de nuds/nombre darcs lev - un diamtre et une longueur caractristique faibles - un coefficient dagglomration lev car on les retrouve souvent (relations sociales, liens Internet, etc.) Si les liens sont symtriques, on parlera effectivement de voisinage, sinon, on tendra prfrer le terme dinformatrices. Diapositive 17

-CTMGQGL?ECAGPASJ?GPC
TMGQGL?ECBC J?N?PRGASJC
 

$CPAJCTGPRSCJ
0&1 

 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Le voisinage le plus utilis est celui dit circulaire . Les particules sont numrotes, disposes virtuellement sur un cercle et la dfinition des voisinages se fait une fois pour toutes en fonction des numros. Si les voisinages sont de taille k (y compris la particule elle-mme), le graphe correspondant est rgulier de degr k-1.

Le voisinage de taille 3 de la particule 1 est (8,1,2), celui de taille 4 serait soit (7,8,1,2) soit (8,1,2,3) etc. Diapositive 18

1?P?K|RPCQ AMLQRPGARGML

v (t +1) = v(t ) + (p x (t)) x (t + 1) = x (t) + v (t + 1) y(t) = p x (t)


GOSC C A?LML 4WQR|K

1 M= 1 1
2 4 e1 = 1 + 2 2 2 4 e 2 = 1 2 2

v (t +1) = v(t ) + y(t) 1 y(t + 1) = v(t) + ( )y(t )


0&1  5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Ce nest pas ici le lieu de faire une prsentation mathmatique dtaille dautant que lexpos de Ioan Cristian Trelea concernera prcisment le choix des coefficients. Le point le plus important retenir est quil est possible de rcrire les systmes dquations sous une forme canonique, mettant en vidence une matrice correspondant un systme oscillatoire amorti, dont on examine les valeurs propres. Ltude peut se faire soit algbriquement, soit analytiquement (il sagit en fait dun systme diffrentiel du second degr). Diapositive 19

-CQN?ACB}R?R% 

6LC QCARGML %
6 5 4 3 2 -1 1 0 00 1 2

}
-4 -2

$MLTCPECLAC

-2

/ML BGTCPECLAC ?RRP?ARCSPQ

2 4

Re(v)
0&1  5SRMPGCJ

Re(y)
.?SPGAC$JCPA!8PGRC.CAMK

On peut alors reprsenter la trajectoire dune particule dans un espace dtat deux dimensions complexes et une relle, cest--dire cinq dimensions relles.

En particulier, on peut mettre en vidence, selon les valeurs du coefficient , les zones de convergence et de non-divergence. Ce dernier terme signifie que la particule tend vers un attracteur non rduit un point. Diapositive 20

-CQN?ACB}R?R% 

6LC QCARGML % x ?RRP?ARCSP AGPASJ?GPC

Im(v) 0.8 0.6 0.4 0.2

-1

-0.5

0 0 0.5 -0.2 -0.4 -0.6 -0.8

1 Re(v)

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Une des sections de cet attracteur est trs simple, puisquil sagit dun cercle, dont le rayon peut tre calcul en fonction des valeurs propres de la matrice M vue plus haute. Do lide de manipuler ces valeurs propres pour que la taille du cercle corresponde lerreur admissible sur la solution. Diapositive 21

ARGMLEJM@?J 7?JCSPQAMSP?LRCQ x (t + 1) = v (t + 1) + x(t )  ?TCA   = alea (0, ) + alea (0, ) = ' + '   ' p + ' p p= CQQ?GK ' + ' TMGQGL?ECAGPASJ 2 pour > 4 C = 2 + 4 BGTCPECLA BCLML  sinon $PGR|PC R AMLQRPG M $+ 1CD=DGAGCL+ (BC(t ))) v (t ) (v(t ) px
1 2 1 2 1 i 2 g 1 2

'MPKSJ?RGML5WNC^

0&1 

5SRMPGCJ

.?SPGAC$JCPA!8PGRC.CAMK

Il y a une infinit de manires de le faire, qui peuvent tre regroupes en quelques grands types de formulations. La plus simple est celle appele Type 1. Elle consiste multiplier la formule donnant la nouvelle vitesse par un coefficient dit de constriction , essentiellement calcul partir du paramtre .

On est alors certain que le systme ne divergera pas, sans avoir imposer une vitesse maximale. Nanmoins, bien sr, lutilisateur doit toujours dfinir quatre paramtres. Les valeurs les plus couramment utilises, trouves empiriquement, sont une taille dessaim de lordre de vingt, un voisinage circulaire de petite taille, et un coefficient juste au-dessus de la valeur critique 4.

Vous aimerez peut-être aussi