Vous êtes sur la page 1sur 13

J3eA - Vol. 3 - 7 (2004).

DOI : 10.1051/bib-j3ea:2004007

Une nouvelle mtaheuristique pour l'optimisation difficile : la


mthode des essaims particulaires
* **
M. Clerc et P. Siarry (France Tlcom R&D; Universit Paris 12)
Mis en ligne le 17/09/2004.

Rsum

Nous prsentons d'abord dans cet article le cadre gnral des mtaheuristiques, qui sont apparues au
dbut des annes 1980 avec une ambition commune : rsoudre au mieux les problmes dits
d'optimisation difficile. Nous essayons de cerner le domaine de l'optimisation difficile, tant pour les
problmes discrets que pour les problmes variables continues. Puis nous dgageons quelques
caractristiques communes nombre de mtaheuristiques, et nous passons en revue les principales
extensions de ces mthodes.

Nous prsentons ensuite une mtaheuristique apparue dernirement : la mthode d'optimisation par
essaim particulaire (OEP). L'OEP est une technique encore peu connue en France, fonde sur la notion
de coopration entre des agents (les particules) qui peuvent tre vus comme des animaux aux
capacits assez limites (peu de mmoire et de facults de raisonnement). L'change d'information
entre eux fait que, globalement, ils arrivent nanmoins rsoudre des problmes difficiles, comme
c'est le cas, par exemple, chez les abeilles vivant en essaim (exploitation de sources de nourriture,
construction de rayons, etc.). Aprs une prsentation succincte des origines, l'article propose une
description informelle de l'OEP, puis en dgage les principales caractristiques. Simple comprendre,
programmer et utiliser, l'OEP se rvle particulirement efficace pour les problmes
d'optimisation non linaire, variables continues, entires ou mixtes.

L'article se termine par un rsum des exposs prsents lors du premier sminaire francophone sur le
sujet (OEP'2003, Paris, octobre 2003).

Mots-cls : optimisation, mtaheuristiques, essaims particulaires.


EDP Sciences, 2004.

Niveau de connaissances requis. Connaissances gnrales en mathmatiques, physique et informatique.


Niveau des tudiants. Niveau bac + 2.

* Maurice Clerc 1 est actuellement ingnieur en R&D France Tlcom. Il tudie divers problmes
d'optimisation relatifs aux rseaux de tlphonie mobile (affectation de frquences, modlisation de trafic,
tarification, etc.). Depuis 1998, il participe activement au dveloppement de l'OEP au niveau international
(recherche, publications, colloques, sites Internet).
Site personnel : http://www.mauriceclerc.net

e-mail : maurice.clerc@writeme.com

** Patrick Siarry 2 est ingnieur de l'Ecole Suprieure d'lectricit et professeur l'universit de Paris XII Val-
de-Marne. Il dirige des travaux de recherche sur les mthodes heuristiques rcentes pour l'optimisation difficile :
recuit simul, recherche tabou, algorithmes volutionnaires, colonies de fourmis Il est co-animateur du Groupe
de Travail Meta (Mtaheuristiques : thorie et applications) commun aux GdR MACS et ALP.
Site personnel : http://www.univ-paris12.fr/leriss/Siarry/

e-mail : siarry@univ-paris12.fr (auteur de correspondance)

1
France Tlcom R&D, 12 av. de Chevne, F-74988 Annecy, France.
2
Universit de Paris 12 Val-de-Marne, LERISS (E.A. 412), 61 av. du Gnral de Gaulle, F-94010 Crteil,
France.
Article available at http://www.j3ea.org or http://dx.doi.org/10.1051/bib-j3ea:2004007
1. Les mtaheuristiques pour l'optimisation difficile

1.1. Optimisation difficile

Les ingnieurs et les dcideurs sont confronts quotidiennement des problmes de complexit grandissante, qui
surgissent dans des secteurs techniques trs divers, comme dans la conception de systmes mcaniques, le
traitement des images, l'lectronique ou la recherche oprationnelle. Le problme rsoudre peut souvent
s'exprimer comme un problme d'optimisation : on dfinit une fonction objectif, ou fonction de cot (voire
plusieurs), que l'on cherche minimiser ou maximiser par rapport tous les paramtres concerns. La
dfinition du problme d'optimisation est souvent complte par la donne de contraintes. On distingue les
contraintes impratives (ou dures ) et les contraintes indicatives (ou molles ). Tous les paramtres des
solutions retenues doivent respecter les contraintes du premier type, qui peuvent aussi tre vues comme
dfinissant l'espace de recherche, faute de quoi ces solutions ne sont pas ralisables. Les contraintes indicatives
doivent simplement tre respectes aussi bien que possible. De nouvelles mthodes, dnommes
mtaheuristiques, comprenant notamment la mthode du recuit simul, les algorithmes volutionnaires, la
mthode de recherche tabou, les algorithmes de colonies de fourmis sont apparues, partir des annes 1980,
avec une ambition commune : rsoudre au mieux les problmes dits d'optimisation difficile.

Pour tenter de cerner le domaine - mal dfini - de l'optimisation difficile, il est ncessaire de faire la distinction
entre deux types de problmes d'optimisation : les problmes discrets et les problmes variables continues.
Citons un exemple de chaque type, pour fixer les ides. Parmi les problmes discrets, on trouve le clbre
problme du voyageur de commerce : il s'agit de minimiser la longueur de la tourne d'un voyageur de
commerce , qui doit visiter un certain nombre de villes, avant de retourner la ville de dpart. Dans la catgorie
des problmes continus, un exemple classique est celui de la recherche des valeurs affecter aux paramtres d'un
modle numrique de processus, pour que ce modle reproduise au mieux le comportement rel observ. En
pratique, on rencontre aussi des problmes mixtes , qui comportent la fois des variables discrtes et des
variables continues.

Revenons sur la dfinition de l'optimisation difficile. Deux sortes de problmes reoivent, dans la littrature,
cette appellation, non dfinie strictement (et lie, en fait, l'tat de l'art en matire d'optimisation) :

certains problmes d'optimisation discrte, pour lesquels on ne connat pas d'algorithme exact
polynomial (c'est--dire dont le temps de calcul est proportionnel Nn, o N dsigne le nombre de
paramtres inconnus du problme, et n est une constante entire). C'est le cas, en particulier, des
problmes dits NP-difficiles , pour lesquels on conjecture qu'il n'existe pas de constante n telle que le
temps de rsolution soit born par un polynme de degr n.
certains problmes d'optimisation variables continues, pour lesquels on ne connat pas d'algorithme
permettant de reprer un optimum global (c'est--dire la meilleure solution possible) coup sr et en un
nombre fini de calculs.

Des efforts ont longtemps t mens, sparment, pour rsoudre ces deux types de problmes. Dans le domaine
de l'optimisation continue, il existe ainsi un arsenal important de mthodes classiques dites d'optimisation
globale [1], mais ces techniques sont souvent inefficaces si la fonction objectif ne possde pas une proprit
structurelle particulire, telle que la convexit. Dans le domaine de l'optimisation discrte, un grand nombre
d'heuristiques, qui produisent des solutions proches de l'optimum, ont t dveloppes ; mais la plupart d'entre
elles ont t conues spcifiquement pour un problme donn.

1.2. Cadre des mtaheuristiques

L'arrive des mtaheuristiques marque une rconciliation des deux domaines : en effet, celles-ci s'appliquent
toutes sortes de problmes discrets, et elles peuvent s'adapter aussi aux problmes continus. Ces mthodes ont en
commun, en outre, les caractristiques suivantes :

elles sont, au moins pour partie, stochastiques : cette approche permet de faire face l'explosion
combinatoire des possibilits ;
souvent d'origine discrte ( l'exception notable de l'OEP), elles ont l'avantage, dcisif dans le cas
continu, d'tre directes, c'est--dire qu'elles ne recourent pas au calcul, souvent problmatique, des
gradients de la fonction objectif ;
elles sont inspires par des analogies : avec la physique (recuit simul, diffusion simule), avec la
biologie (algorithmes volutionnaires, recherche tabou) ou avec l'thologie (colonies de fourmis) ;
elles partagent aussi les mmes inconvnients : les difficults de rglage des paramtres de la mthode,
et le temps de calcul lev.

Ces mthodes ne s'excluent pas mutuellement : en effet, dans l'tat actuel de la recherche, il est le plus souvent
impossible de prvoir avec certitude l'efficacit d'une mthode donne, quand elle est applique un problme
donn. Cette proprit dconcertante a mme fait l'objet d'une tentative de formalisation avec les thormes
dnomms No free lunch [2]. Un sujet thorique de recherche concerne les possibilits d'analyse
systmatique des mtaheuristiques du point de vue de la convergence, la complexit, la robustesse et les
garanties de qualit ; une voie prometteuse est l'analyse des paysages d'nergie (rugosit, caractre fractal).

De plus, la tendance actuelle est l'mergence de mthodes hybrides, qui s'efforcent de tirer parti des avantages
spcifiques d'approches diffrentes en les combinant. E.G. Talbi propose ainsi une taxinomie des
mtaheuristiques hybrides [3]. La coopration entre mtaheuristiques peut aussi prendre la forme de systmes
multi-agents, capables en principe de changer automatiquement d'outil de recherche, en fonction des difficults
rencontres.

Enfin, dans leur dmarche unificatrice de la programmation mmoire adaptative [4], E. Taillard et al.
remarquent que les mtaheuristiques reposent finalement sur un ensemble commun de concepts peu nombreux :
la mmoire, qui sauvegarde l'information recueillie par l'algorithme, l'intensification, qui tente d'amliorer la
pertinence des informations disponibles, au moyen de recherches locales, et la diversification, qui vise
accrotre la quantit de ces informations, en explorant de nouvelles rgions de l'espace de recherche. Les
associations multiples de ces concepts peuvent conduire une grande varit de mtaheuristiques : la filiation
une mtaphore donne n'est alors plus ncessairement explicite.

1.3. Extensions

Pour complter cette prsentation succincte du domaine, on peut souligner une autre richesse des
mtaheuristiques : elles se prtent toutes sortes d'extensions. Citons, en particulier :

l'optimisation multiobjectif [5], o il s'agit d'optimiser simultanment plusieurs objectifs contradictoires.


Il n'existe pas, dans ce cas, un optimum unique ; on cherche, en revanche, une gamme de solutions
optimales au sens de Pareto , qui forment la surface de compromis du problme considr. Ces
solutions peuvent tre soumises l'arbitrage final de l'utilisateur ;
l'optimisation multimodale, o l'on s'efforce de reprer tout un jeu d'optimums globaux ou locaux. Les
algorithmes volutionnaires sont particulirement bien adapts cette tche, de par leur nature
distribue. Les variantes de type multipopulation exploitent en parallle plusieurs populations, qui
s'attachent reprer des optimums diffrents ;
le recours des implmentations parallles. De multiples modes de paralllisation ont t proposs pour
les diffrentes mtaheuristiques. Certaines techniques se veulent gnrales ; d'autres, en revanche, tirent
parti de particularits du problme. Ainsi, dans les problmes de placement de composants, les tches
peuvent tre rparties naturellement entre plusieurs processeurs : chacun d'eux est charg d'optimiser
une zone gographique donne, et des informations sont changes priodiquement entre processeurs
voisins ;
l'optimisation dynamique, qui fait face des variations temporelles de la fonction objectif au cours de
l'optimisation : il faut alors approcher au mieux la solution optimale chaque pas de temps. Les
problmes d'optimisation dynamique semblent tre la cible de choix pour les algorithmes de colonies de
fourmis et d'essaims particulaires, en particulier quand on ne dispose que d'informations locales. La
structure distribue et le caractre auto-organis de ces algorithmes leur procurent en effet la flexibilit
ncessaire pour voluer dans un environnement changeant.

On voit que ces contextes particuliers requirent, de la part des mthodes de rsolution, des proprits
spcifiques qui ne sont pas prsentes dans toutes les mtaheuristiques ; de l peut dcouler un moyen de guidage
de l'utilisateur dans le choix d'une mtaheuristique.
1.4. Un sujet ouvert : le choix d'une mtaheuristique

Cette prsentation ne doit pas luder la principale difficult laquelle est confront l'ingnieur, en prsence d'un
problme d'optimisation concret : celui du choix d'une mthode efficace , capable de produire une solution
optimale - ou de qualit acceptable - au prix d'un temps de calcul raisonnable . Face ce souci
pragmatique de l'utilisateur, la thorie n'est pas encore d'un grand secours, car les thormes de convergence sont
souvent inexistants ou applicables seulement sous des hypothses trs restrictives. En outre, le rglage
optimal des divers paramtres d'une mtaheuristique, qui peut tre prconis par la thorie, est souvent
inapplicable en pratique, car il induit un cot de calcul prohibitif. En consquence, le choix d'une bonne
mthode, et le rglage des paramtres de celle-ci, font gnralement appel au savoir-faire et l' exprience de
l'utilisateur, plutt qu' l'application fidle de rgles bien tablies. Les efforts de recherche en cours, par exemple
sur l'analyse des paysages d'nergie ou sur la mise au point d'une taxinomie des mthodes hybrides, visent
remdier cette situation, prilleuse terme pour la crdibilit des mtaheuristiques

Le rglage et la comparaison des mtaheuristiques sont souvent effectus empiriquement, en exploitant des jeux
de fonctions analytiques de test, dont les minimums globaux et locaux sont connus. Nous donnons, titre
d'exemple, en figure 1, l'allure de l'une de ces fonctions de test.

a) b)

Fig. 1. Allure de la fonction de test F6.


a) Reprsentation une dimension dans le domaine [-100, 100].
b) Reprsentation deux dimensions dans le domaine [-10, 10].

1.5. Pour en savoir plus sur les mtaheuristiques

Le lecteur intress pourra consulter un ouvrage de synthse rcent : Dro et al. (2003) [6], qui a t coordonn
par l'un des auteurs de cet article, ainsi que les ouvrages : Reeves (1995) , Sat et al. (1999) , Pham et al. (2000) ,
Pirlot et al. (2002) et Pirlot et al. (2003) [7-11] dcrivant plusieurs mtaheuristiques. Il existe aussi des livres en
franais consacrs une seule mthode, comme celui de Siarry et al. (1989) [12] pour le recuit simul et celui de
Goldberg (1994) [13] pour les algorithmes gntiques, et un livre de rfrence (en anglais) de Glover et al.
(1997) sur la recherche tabou [14].
2. L'optimisation par essaim particulaire

2.1. Origines

L'optimisation par essaim particulaire (OEP) est une mthode ne en 1995 aux tats-Unis sous le nom de
Particle Swarm Optimization (PSO) [15-16].

Initialement, ses deux concepteurs, Russel Eberhart et James Kennedy, cherchaient modliser des interactions
sociales entre des agents devant atteindre un objectif donn dans un espace de recherche commun, chaque
agent ayant une certaine capacit de mmorisation et de traitement de l'information. La rgle de base tait qu'il
ne devait y avoir aucun chef d'orchestre, ni mme aucune connaissance par les agents de l'ensemble des
informations, seulement des connaissances locales. Un modle simple fut alors labor.

Ds les premires simulations, le comportement collectif de ces agents voquait celui d'un essaim d'tres vivants
convergeant parfois en plusieurs sous-essaims vers des sites intressants. Ce comportement se retrouve dans bien
d'autres modles, explicitement inspirs des systmes naturels (cf. par exemple [17] et [18]). Ici, la mtaphore la
plus pertinente est probablement celle de l'essaim d'abeilles, particulirement du fait qu'une abeille ayant trouv
un site prometteur sait en informer certaines de ses consoeurs et que celles-ci vont tenir compte de cette
information pour leur prochain dplacement [19]. Finalement, le modle s'est rvl tre trop simple pour
vraiment simuler un comportement social, mais par contre trs efficace en tant qu'outil d'optimisation.

Comme nous allons le voir, le fonctionnement de l'OEP fait qu'elle peut tre range dans les mthodes itratives
(on approche peu peu de la solution) et stochastiques (on fait appel au hasard). Sous ce terme un peu technique,
on retrouve un comportement qui est aussi vieux que la vie elle-mme : amliorer sa situation en se dplaant
partiellement au hasard et partiellement selon des rgles prdfinies.

2.2. Description informelle

La version historique peut facilement tre dcrite en se plaant du point de vue d'une particule. Au dpart de
l'algorithme, un essaim est rparti au hasard dans l'espace de recherche, chaque particule ayant galement une
vitesse alatoire. Ensuite, chaque pas de temps :

chaque particule est capable d'valuer la qualit de sa position et de garder en mmoire sa meilleure
performance, c'est--dire la meilleure position qu'elle a atteinte jusqu'ici (qui peut en fait tre parfois la
position courante) et sa qualit (la valeur en cette position de la fonction optimiser).
chaque particule est capable d'interroger un certain nombre de ses congnres (ses informatrices, dont
elle-mme) et d'obtenir de chacune d'entre elles sa propre meilleure performance (et la qualit
affrente).
chaque pas de temps, chaque particule choisit la meilleure des meilleures performances dont elle a
connaissance, modifie sa vitesse en fonction de cette information et de ses propres donnes et se
dplace en consquence.

Le premier point se comprend facilement, mais les deux autres ncessitent quelques prcisions. Les
informatrices sont dfinies une fois pour toutes de la manire suivante (Fig. 2).

Fig. 2. Le cercle virtuel pour un essaim de sept particules.


Le groupe d'information de taille trois de la particule 1 est
compos des particules 1, 2 et 7.
On suppose toutes les particules disposes (symboliquement) en cercle et, pour la particule tudie, on inclut
progressivement dans ses informatrices, d'abord elle-mme, puis les plus proches sa droite et sa gauche, de
faon atteindre le total requis. Il y a bien sr de nombreuses variantes, y compris celle consistant choisir les
informatrices au hasard, mais celle-ci est la fois simple et efficace.

Une fois la meilleure informatrice dtecte, la modification de la vitesse est une simple combinaison linaire de
trois tendances, l'aide de coefficients de confiance :

la tendance aventureuse , consistant continuer selon la vitesse actuelle ;


la tendance conservatrice , ramenant plus ou moins vers la meilleure position dj trouve ;
la tendance panurgienne , orientant approximativement vers la meilleure informatrice.

Les termes plus ou moins ou approximativement font rfrence au fait que le hasard joue un rle, grce
une modification alatoire limite des coefficients de confiance, ce qui favorise l'exploration de l'espace de
recherche. La figure 3 prsente un schma de principe rsumant les explications ci-dessus. Naturellement, pour
pouvoir tre programm, tout ceci est formalis dans des quations de mouvement. Un point intressant est que,
contrairement bien d'autres heuristiques qui restent purement exprimentales, il existe une analyse
mathmatique prcisant les conditions de convergence et le choix des paramtres [20-21].

2.3. Principales caractristiques

Ce modle prsente quelques proprits intressantes, qui en font un bon outil pour de nombreux problmes
d'optimisation, particulirement les problmes fortement non linaires, continus ou mixtes (certaines variables
tant relles et d'autres entires) :

il est facile programmer, quelques lignes de code suffisent dans n'importe quel langage volu ;
il est robuste (de mauvais choix de paramtres dgradent les performances, mais n'empchent pas
d'obtenir une solution).

Fig. 3. Schma de principe du dplacement d'une particule. Pour raliser son prochain mouvement, chaque
particule combine trois tendances : suivre sa vitesse propre, revenir vers sa meilleure performance, aller vers la
meilleure performance de ses informatrices.

Signalons, de plus, qu'il existe des versions adaptatives qui vitent mme l'utilisateur la peine de dfinir les
paramtres (taille de l'essaim, taille des groupes d'informatrices, coefficients de confiance) [22-23]. L'une de ces
mthodes (Tribes) est dcrite en dtail dans un des documents tlchargeables partir du site du sminaire
OEP'03. Son code source est disponible via le site Particle Swarm Central [PSC]. Par ailleurs, on notera que
cette heuristique se dmarque des autres mthodes volutionnaires (typiquement, les algorithmes gntiques) sur
deux points essentiels : elle met l'accent sur la coopration plutt que sur la comptition et il n'y a pas de
slection (au moins dans les versions de base), l'ide tant qu'une particule mme actuellement mdiocre mrite
d'tre conserve, car c'est peut-tre justement elle qui permettra le succs futur, prcisment du fait qu'elle sort
des sentiers battus.

2.4. Formalisation et programmation

La version de base de l'OEP peut facilement tre formalise et programme. L'espace de recherche est de
dimension D. La position courante d'une particule dans cet espace l'instant t est donne par un vecteur x(t), D
composantes, donc. Sa vitesse courante est v(t). La meilleure position trouve jusqu'ici par cette particule est
donne par un vecteur p(t). Enfin, la meilleure de celles trouves par les informatrices de la particule est indique
par un vecteur g(t). En gnral, nous crirons simplement x, v, p et g. La dime composante de l'un quelconque de
ces vecteurs est indique par l'indice d, par exemple xd. Avec ces notations, les quations de mouvement d'une
particule sont, pour chaque dimension d :

Pour une bonne convergence, les valeurs de c1 et cmax ne doivent pas tre choisies indpendamment [20-21]. En
pratique le premier doit tre un peu infrieur 1 et le second peut tre calcul par la formule

. Plus c1 est proche de 1 meilleure est l'exploration de l'espace de recherche, au


dtriment, nanmoins, de la vitesse de convergence. Le petit programme en langage C donn en annexe utilise
un tel couple de valeurs. Il inclut galement une notion de confinement dont il convient de dire quelques mots.

Lors de l'volution de l'essaim, il peut arriver qu'une particule sorte de l'espace de recherche initialement dfini.
C'est sans importance si la valeur de sa position est encore calculable sans planter le programme
informatique, mais il suffit, par exemple, d'avoir valuer la racine d'un nombre ngatif ou une division par zro
pour que cela pose problme. Plus gnralement, on souhaite souvent rester dans un espace de recherche fini
donn. Par consquent, on ajoute un mcanisme pour viter qu'une particule ne sorte de cet espace. Le plus
frquent est le confinement d'intervalle. Supposons, par simplicit, que l'espace de recherche soit [xmin, xmax]D.
Alors ce mcanisme stipule que si une coordonne xd, calcule selon les quations de mouvement, sort de
l'intervalle [xmin, xmax], on lui attribue en fait la valeur du point frontire le plus proche. En pratique, cela revient
donc remplacer la deuxime ligne des quations de mouvement par

De plus, on complte souvent le mcanisme de confinement par une modification de la vitesse, soit en
remplaant la composante qui pose problme par son oppose, souvent pondre par un coefficient infrieur 1,
soit, tout simplement, en l'annulant.

Plus gnralement, le principe mme du confinement consiste dire ceci : si une particule tend sortir de
l'espace de recherche, alors la ramener au point le plus proche qui soit dans cet espace et modifier sa vitesse en
consquence . Il permet de dfinir les confinements ncessaires des problmes granularit non nulle
(positions valeurs entires, par exemple) ou des problmes (combinatoires, en gnral) dont les solutions
doivent avoir toutes les coordonnes diffrentes.

2.5. Un petit exemple : recherche du champ minimum entre deux stations

Voici un exemple trs simplifi s'inspirant d'un problme rel. On considre deux stations A et B, mettrices d'un
champ lectromagntique sinusodal dcroissant avec la distance. On cherche le point entre ces deux stations o
le champ total reu un instant donn est minimum. La figure 4 donne une ide des champs en tout point entre
les deux stations, distantes de 2,7 km. En posant x comme tant la distance la station A, on a les quations
suivantes :
On cherche le point x o la somme champ_A+champ_B est minimale. On remarquera que la longueur d'onde
commune n'tant pas en rapport simple avec la distance entre les stations, la dtermination analytique n'est pas
vidente.

Fig. 4. Entre les deux stations A et B, un instant donn, les valeurs des champs reus se rpartissent selon des
sinusodes amorties. La distance entre les stations (ici 2,7 km) n'tant pas en rapport simple avec la longueur
d'onde, le point o le champ total est minimum n'est pas facilement calculable.

De plus, les mthodes classiques (gradients, par exemple) chouent du fait de l'existence de multiples minimums
locaux. Par contre, il est trs facile d'ajouter la fonction minimiser au programme d'OEP donn en annexe. Le
problme est de dimension 1, et l'espace de recherche est [0; 2,7]. En moins de 200 valuations, on trouve
x = 0,4555478 et, donc, un champ total de 0,06735316. C'est dj une trs bonne approximation du minimum
global. Une solution un peu meilleure peut tre obtenue avec plus d'itrations, mais le gain est trs minime. Par
exemple, aprs 20000 valuations, on a x = 0,4553560 et un champ total de 0,06735263.

A titre de comparaison, avec le solveur d'un tableur courant du march, on ne trouve pas du tout la solution si
l'on indique le mme espace de recherche. C'est seulement si l'on donne un point de dpart dj proche (par
exemple 0,4) que le minimum est trouv. Ceci suggre que, intgre d'autres logiciels, l'OEP pourrait tre un
solveur particulirement efficace.

2.6. Pour en savoir plus sur l'optimisation par essaim particulaire

ce jour, environ 250 articles sur le sujet ont t publis, mais trs peu en franais [24]. Un excellent point
d'entre est le site Particle Swarm Central [PSC, http://www.particleswarm.info], avec une bibliographie trs
complte, des liens vers des documents et des programmes tlcharger, ainsi qu'une liste de chercheurs
travaillant dans ce domaine. Le livre Swarm Intelligence [25], crit par les deux concepteurs de la mthode, y
consacre quelques chapitres et donne des aperus plus gnraux sur les questions d'intelligence collective.

2.7 Sminaire OEP'2003 (Paris, 2 octobre 2003)

Le groupe de travail META (Mtaheuristiques : thorie et applications), groupe de travail commun au GdR ALP
et au GdR MACS du CNRS, a organis, avec le soutien de la Section Automatique du Club EEA, le premier
sminaire francophone OEP'2003 sur le thme de l' Optimisation par Essaim Particulaire .

Nous indiquons ci-dessous le programme de la journe, avec un rsum succinct de chaque expos :
Tutoriel Optimisation par Essaim Particulaire , par Maurice Clerc
(tlcharger les diapositives et le texte de rfrence)

Aprs un rapide historique, M. Clerc a dtaill les principes de base de l'OEP, en insistant sur les notions de
coopration et de voisinages. La version classique , sur domaine de recherche continu et qui peut tre code
en quelques lignes seulement, a t analyse et discute, ce qui a men l'tude mathmatique des critres de
convergence. L'auteur a dgag ensuite les pr-requis minimums l'application de la mthode, ce qui permet de
la gnraliser aux domaines discrets ou mixtes, au multiobjectif et aux problmes combinatoires. Il a montr que
ces derniers se situent aux frontires de la niche cologique de l'OEP, en ce sens qu'elle ne peut les traiter
efficacement elle seule. Puis M. Clerc a comment les principales diversifications, en insistant sur les mthodes
adaptatives permettant de s'affranchir, en partie ou totalement, du paramtrage par l'utilisateur. Diverses
applications relles ont t voques en commentant des articles publis et M. Clerc a termin par l'indication
des principales sources d'information.
L'essaim de particules vu comme un systme dynamique : convergence et choix des paramtres, par Ioan
Cristian Trelea
(tlcharger les diapositives et le texte de rfrence)
Les utilisateurs de l'algorithme d'optimisation par essaim de particules (OEP) savent bien que le choix des
paramtres a une influence directe sur les performances. Un clairage intressant est apport en assimilant
l'essaim un systme dynamique, les positions et les vitesses des particules constituant l'tat du systme. Pour
l'essaim dterministe, la thorie des systmes dynamiques permet de construire facilement, dans l'espace des
paramtres, des cartes bidimensionnelles, o apparaissent le domaine de convergence, et certains domaines de
comportement dynamique des particules (mouvement asymptotique, oscillations harmoniques, zigzags). Pour
l'essaim stochastique, ces cartes restent valables qualitativement et donnent des indications sur le choix des
paramtres, en fonction du comportement dsir de l'essaim.
Comparaison de l'optimisation par essaim particulaire avec d'autres heuristiques volutionnaires utilisant des
oprateurs implicites, par Louis Gacgne
(tlcharger les diapositives et le texte de rfrence)
L'auteur a prsent une comparaison sur un certain nombre de fonctions de test, entre diffrentes heuristiques
volutionnaires, qui ont en commun de ne pas prendre alatoirement des oprateurs gntiques au hasard, mais
d'appliquer des rgles de transition fixes entre gnrations :

particle swarm optimization (PSO) ;


space partition algorithm (SPA) ;
macroevolutionary algorithm (MGA) ;
volution diffrentielle (DE) ;
self organizing migration algorithm (SOMA).

Puis il a compar ces heuristiques avec quelques algorithmes volutionnaires classiques, notamment SSGA.

Diverses techniques d'optimisation inspires de la thorie de l'auto-organisation dans les systmes


biologiques, par Johann Dro et Patrick Siarry
(tlcharger les diapositives et le texte de rfrence)
Une contribution importante de la biologie vient de la thorie de l'auto-organisation, qui permet d'expliquer les
proprits de plusieurs mtaheuristiques issues des mtaphores biologiques. Cette thorie dcrit les conditions
d'mergence de phnomnes complexes partir de systmes distribus, dont les agents font l'objet d'interactions
simples, mais nombreuses. L'intelligence en essaim est ainsi ne sur deux fronts : via une approche systmes
auto-organiss (ayant donn lieu aux algorithmes de colonies de fourmis) et via une approche systmes
socio-cognitifs (ayant donn lieu l'optimisation par essaims particulaires). En se plaant dans le cadre de la
thorie de l'auto-organisation, les auteurs ont conu un algorithme inspir des colonies de fourmis, qui insiste sur
l'importance des canaux de communication.
Atelier Optimisation par Essaim Particulaire , par Maurice Clerc
Cet atelier a permis de montrer, sur des exemples, le domaine de comptence de l'OEP, et de discuter sur des
problmes pour lesquels la mthode ne donne pas de bons rsultats.
Les transparents et les textes d'accompagnement des diffrents exposs peuvent galement tre tlchargs
partir du site du sminaire : http://www.particleswarm.info/oep_2003/.

(liens Internet jour du 6 septembre)


Annexe. Code source en C d'une version simple d'OEP

#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#define D_max 100 // Dimension maximale de l'espace de recherche
struct position {int taille;double x[D_max]; double f;}; // Position d'une
particule et sa performance
struct vecteur {int taille;double v[D_max];}; // Vitesse d'une particule
// Sous-programmes
double alea(double a,double b); // Nombre pseudo-alatoire entre a et b
double ma_fonction (struct position x, int fonction); // Fonctions
minimiser
// Variables globales
int nb_eval; // Nombre total d'valuations
//================================================= PROGRAMME PRINCIPAL
void main()
{
double c1,cmax; // Coefficients de confiance
int D; // Dimension de l'espace de recherche
int d; // Numro de la dimension courante
double eps; // Prcision souhaite
int eval_max; // Nombre max d'valuations de la fonction
double eval_moyen; // Nombre moyen d'valuations
double fmin; // Objectif atteindre
int fonction; // Numro de la fonction minimiser (cf. sous_programme
ma_fonction)
int g; // Numro de la meilleure informatrice
int k;
struct position P[D_max]; // Positions
struct position P_m[D_max]; // Meilleures positions trouves
struct position meilleure; // Toute meilleure position trouve
int K; // Taille des groupes d'informatrices
double min_f;
int N; // Taille de l'essaim
int n; // Numro de la particule courante
int n_exec,n_exec_max; // Pour excutions multiples
int rang;
int signe;
struct vecteur V[D_max]; // Vitesses
double xmin,xmax; // Intervalle pour l'espace de recherche
// Paramtres de rglage
c1=0.738; // Confiance en la tendance actuelle
cmax=1.51; // Confiance maximale en les informatrices
N=20; // Taille de l'essaim
K=3; // Nombre de liens d'information
// Problme traiter ( changer selon le problme, videmment)
fonction=4; // Cf. sous-programme ma_function()
xmin=-10; xmax=10; D=2; // Espace de recherche
eps=0.00001; // Prcision souhaite
fmin=0; // Valeur minimale atteindre, la prcision prs
eval_max=40000; // Nombre maximum d'valuations
n_exec_max=20; // Nombre d'excutions
//-------------------------------------------------------------------------
----- ------
n_exec=0;
eval_moyen=0;

init: // Initialisations des positions et vitesses


for (n=0;n<N;n++)
{
P[n].taille=D;
for (d=0;d<D;d++) P[n].x[d]=alea(xmin,xmax);

V[n].taille=D;
for (d=0;d<D;d++) V[n].v[d]=alea((xmin-xmax)/2,(xmax-xmin)/2);
}
// Evaluations initiales
nb_eval=0;
for (n=0;n<N;n++)
{
P[n].f=ma_fonction(P[n],fonction); // Evaluation de la position
P_m[n]=P[n]; // Meilleure position = position initiale
}
// Mmorisation du meilleur rsultat atteint jusqu'ici
meilleure=P_m[0];
for (n=0;n<N;n++) if (P_m[n].f<meilleure.f) meilleure=P_m[n];
boucle: // Itrations
for (n=0;n<N;n++) // Pour chaque particule
{
// Meilleure informatrice dans le i-groupe circulaire de taille K
g=n; min_f=P_m[n].f;
signe=1; k=1;
autre_informatrice:
rang=n+signe*k;
if (rang>N-1) rang=rang-N+1;
if (rang<0) rang=rang+N-1;
if (P_m[rang].f<min_f) {g=rang;min_f=P_m[rang].f;}
if (k<K) {signe=-signe;k=k+1; goto autre_informatrice;}
// Calcul de la nouvelle vitesse
for (d=0;d<D;d++) V[n].v[d]=c1*V[n].v[d]+alea(0,cmax)*(P_m[n].x[d]-
P[n].x[d])+alea(0,cmax)*(P_m[g].x[d]-P[n].x[d]);
// Dplacement
for (d=0;d<D;d++) P[n].x[d]=P[n].x[d]+V[n].v[d];
// Confinement d'intervalle
for (d=0;d<D;d++)
{
if (P[n].x[d]<xmin) {P[n].x[d]=xmin;V[n].v[d]=0;} // ou bien
V[n].v[d]=-0.5* V[n].v[d]
if (P[n].x[d]>xmax) {P[n].x[d]=xmax;V[n].v[d]=0;} // ou bien
V[n].v[d]=-0.5* V[n].v[d]
}
// Evaluation de la nouvelle position
P[n].f=ma_fonction(P[n],fonction);
// Mise jour de la meilleure position
if (P[n].f<P_m[n].f) P_m[n]=P[n];
// Mmorisation du meilleur rsultat atteint jusqu'ici
if (P_m[n].f<meilleure.f) meilleure=P_m[n];
}
// Test de fin
if (fabs(meilleure.f-fmin)>eps && nb_eval<eval_max) goto boucle;

// Affichage du meilleur rsultat trouv


printf("\n Eval= %i. Meilleure position (valeur %f). :
\n",nb_eval,meilleure.f);
for (d=0;d<D;d++) printf(" %f",meilleure.x[d]);
// Boucle d'itration
n_exec=n_exec+1;
eval_moyen=eval_moyen+nb_eval;
if (n_exec<=n_exec_max) goto init;
// Rsultat moyen
eval_moyen=eval_moyen/n_exec;
printf("\n Eval moyen = %f",eval_moyen);
}
//================================================= ALEA
double alea(double a,double b)
{ // Dlivre un nombre pseudo-alatoire entre a et b selon une distribution
simulant l'uniforme
double r;

// Normalement, RAND_MAX = 32767 = 2^15-1


r=(double)rand()/RAND_MAX; // r dans [0,1]
r=a+r*(b-a);
return r;
}
//================================================= MA_FONCTION
double ma_fonction(struct position x, int fonction)
{// Evalue la valeur de la fonction minimiser la position x
// AJOUTEZ VOTRE PROPRE FONCTION
int D,d;
double f,p,xd;

nb_eval=nb_eval+1;
D=x.taille;

switch (fonction)
{
case 1: // Sphre
f=0;
for(d=0;d<D;d++) f=f+x.x[d]*x.x[d];
break;
case 2: // Pour test du confinement. Utiliser un xmin >=0
f=0;
for(d=0;d<D;d++) f=f+sqrt(x.x[d]);
break;
case 3: // Alpine. Min 0 en (0,0 ...0)
f=0;
for( d=0;d<D;d++)
{
f=f+sqrt(fabs(x.x[d]*sin(x.x[d])));
}
break;
case 4: // Rosenbrock, fonction Banane. Min 0 en (1, ...1)
f=0;
for (d=0;d<D-1;d++)
{
xd=1-x.x[d];
f=f+xd*xd;
xd= x.x[d]*x.x[d]-x.x[d+1];
f=f+100*xd*xd;
}
break;
}
return f;
}
Rfrences bibliographiques

[1] G. Berthiau et P. Siarry, Etat de l'art des mthodes d'optimisation globale, RAIRO-Operations Research, 35
(2001) 329-365.
[2] D.H. Wolpert et W.G. Macready, No Free Lunch theorems for optimization, IEEE Transactions on
Evolutionary Computation, 1 (1) (1997) 67-82.
[3] E.G. Talbi, A taxonomy of hybrid metaheuristics, Journal of Heuristics, 8 (2002) 541-564.
[4] E. Taillard, L.M. Gambardella, M. Gendreau et J.-Y. Potvin, Adaptive Memory Programming : a unified view
of meta-heuristics. European Journal of Operational Research, 135 (1) (1998) 1-16.
[5] Y. Collette et P. Siarry, Optimisation multiobjectif (Eyrolles, 2002).
[6] J. Dro, A. Ptrowski, P. Siarry et E. Taillard, Mtaheuristiques pour l'optimisation difficile. Coord. P.
Siarry (Eyrolles, 2003).
[7] C.R. Reeves (Ed.), Modern Heuristic Techniques for Combinatorial Problems, Advances topics in computer
science series (Mc Graw-Hill, 1995).
[8] S.M. Sat et H. Youssef, Iterative computer algorithms with applications in engineering. (IEEE Computer
Society Press, 1999).
[9] D.T. Pham et D. Karaboga, Intelligent optimisation techniques. Genetic Algorithms, Tabu Search, Simulated
Annealing and Neural Networks (Springer, 2000).
[10] M. Pirlot M et J. Teghem (Eds.), Optimisation approche en recherche oprationnelle. Recherches locales,
rseaux neuronaux et satisfaction de contraintes (Herms, 2002).
[11] M. Pirlot et J. Teghem J. (Eds.), Rsolution de problmes de RO par les mtaheuristiques (Herms, 2003).
[12] P. Siarry et G. Dreyfus, La mthode du recuit simul : thorie et applications, ouvrage de synthse (diteur :
ESPCI - IDSET, 10 rue Vauquelin, 75005 Paris, 1989).
[13] D.E. Goldberg, Algorithmes gntiques. Exploration, optimisation et apprentissage automatique, (Addison-
Wesley France, 1994).
[14] F. Glover et M. Laguna, Tabu Search (Kluwer Academic Publishers, 1997).
[15] R.C. Eberhart et J. Kennedy, A New optimizer using particle swarm theory, Sixth International Symposium
on Micro Machine and Human Science, Nagoya, Japan, 1995.
[16] J. Kennedy et R.C. Eberhart, Particle Swarm Optimization, IEEE International Conference on Neural
Networks, Perth, Australia, 1995.
[17] E. Bonabeau, M. Dorigo et G. Theraulaz, Swarm Intelligence : from natural to artificial systems (Oxford
University Press, 1999).
[18] C. Reynolds, Flocks, herds, and schools : a distributed behavioral model, SIGGRAPH'87, 1987.
[19] K.V. Frish, Vie et moeurs des abeilles, (Albin Michel, 1984).
[20] M. Clerc et J. Kennedy, The Particle Swarm. Explosion, stability, and convergence in a multidimensional
complex space, IEEE Transactions on Evolutionary Computation, 6 (2002) 58-73.
[21] I.C. Trelea, The particle swarm optimization algorithm : convergence analysis and parameter selection,
Information Processing Letters, 85 (2003) 317-325.
[22] M. Clerc, Exemple de logiciel d'OEP sans paramtres de rglage. Tribes, ou la coopration de tribus,
Sminaire Optimisation par Essaim Particulaire OEP'03, Paris, France octobre 2003.
[23] X. Hu et R.C. Eberhart, Adaptive particle swarm optimization: detection and response to dynamic systems,
Congress on Evolutionary Computation, Hawaii, 2002.
[24] M. Clerc, L'optimisation par essaim particulaire. Principes, modles et usages, Technique et Science
Informatiques, 21 (2002) 941-964.
[25] J. Kennedy, R. Eberhart et Y. Shi, Swarm Intelligence (Morgan Kaufmann Academic Press, 2001).

Sites Internet
(pages consultes le 6 septembre 2004)

Mthode des essaims particulaires : http://www.particleswarm.info


Sminaire OEP'2003 : http://www.particleswarm.info/oep_2003/
Groupe de travail sur les mtaheuristiques : http://www.lifl.fr/~talbi/META

Livre rcent sur les mtaheuristiques

Mtaheuristiques pour l'optimisation difficile, J. Dro, A. Ptrowski, P. Siarry et E. Taillard, ouvrage coordonn
par P. Siarry (Eyrolles, 2003),
http://www.editions-eyrolles.com/php.accueil/Ouvrages/9782212113686.php3 (page consulte le 6 septembre
2004).