Optimisation par essaim particulaire améliorée par hybridation avec

publicité
Optimisation par essaim particulaire améliorée
par hybridation avec un algorithme à estimation
de distribution
Yann COOREN, Maurice CLERC et Patrick SIARRY
Laboratoire Images, Signaux et Systèmes Intelligents, LiSSi, E.A. 3956
Université de Paris XII, 61 avenue du Général de Gaulle, 94010 Créteil
[email protected], [email protected], [email protected]
Résumé — Dans cet article, nous présentons TRIBES, un
algorithme d’Optimisation par Essaim Particulaire (OEP) sans
paramètres. L’OEP est une "métaheuristique" d’optimisation,
qui simule le comportement social d’animaux évoluant en
essaims. L’algorithme TRIBES reprend les principes
fondamentaux de l’OEP, tout en s’affranchissant d’un des
principaux défauts des métaheuristiques : le réglage, demandé à
l’utilisateur, des paramètres de l’algorithme. TRIBES exploite à
cet effet des règles d’adaptativité concernant la structure de
l’essaim et le comportement des particules. Par ailleurs, comme
tout algorithme d’OEP, TRIBES présente le risque d’une
convergence trop rapide, qui peut se traduire par un piégeage
de la méthode dans un optimum local. Pour remédier à ce
problème, nous introduisons une nouvelle stratégie de
déplacement des particules, qui repose sur un Algorithme à
Estimation de Distribution (EDA). Cette technique permet de
renforcer le caractère explorateur de TRIBES, donc d’éviter les
convergences prématurées. Les tests, réalisés sur le jeu de
fonctions de test standards publié lors de la conférence CEC’05,
montrent que notre nouvelle stratégie de déplacement des
particules améliore sensiblement les performances de
l’algorithme.
Mots clés — Optimisation difficile, métaheuristiques,
optimisation par essaim particulaire, algorithme à estimation de
distribution.
L
I. INTRODUCTION
’optimisation par essaim particulaire (OEP) est une
technique, proposée par Kennedy et Eberhart [1], qui
s’inspire du comportement social des animaux lorsqu’ils se
déplacent en essaim. L’algorithme utilise la collaboration
entre des agents simples pour tenter de localiser l’optimum
dans un espace de recherche. On entend par là que chaque
particule utilise non seulement sa propre expérience, mais
aussi l’expérience globale de l’essaim de particules. Cette
méthode, qui est relativement récente, s’est avérée
Manuscrit présenté le 10 juillet 2007 au Journées Doctorales MACS par Y.
Cooren.
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
compétitive vis-à-vis de méthodes déjà éprouvées [2] et elle
est actuellement en plein essor.
L’OEP, comme toutes les autres "métaheuristiques",
présente le désavantage de comporter un nombre élevé de
paramètres. Les performances de la méthode face à un
problème donné étant fortement liées aux valeurs de ses
paramètres de réglage, il est souvent difficile et long de
trouver les valeurs optimales de chacun des paramètres. C’est
pourquoi, de nombreuses recherches sont menées en vue de
proposer des méthodes comportant un nombre minimal de
paramètres. L’objectif ultime est de pouvoir proposer un
algorithme dont les valeurs des paramètres s’adaptent
automatiquement en cours d’exécution de l’algorithme.
L’algorithme ne serait alors qu’une "boîte noire" à laquelle
l’utilisateur n’aurait à procurer que le critère d’arrêt et la
fonction objectif. Dans le domaine de l’OEP, Clerc a élaboré
un tel algorithme [3,4], dénommé TRIBES. Dans cet article,
on verra que TRIBES est un algorithme performant, mais que
l’absence de "guidage" par des valeurs optimales de
paramètres le rend encore inefficace sur certains problèmes.
Pour remédier à cette difficulté, on se propose de combiner
l’action de TRIBES à celle d’un algorithme à estimation de
distribution (EDA) qui apporte une certaine connaissance des
caractéristiques de l’espace de recherche.
Dans la section II, nous présenterons les principaux
principes de l’OEP. Puis, nous exposerons dans la section III
les principes des EDA. La section IV sera consacrée à la
description de TRIBES et la section V à son hybridation avec
un EDA. Quelques résultats seront présentés en section VI.
Enfin, nous conclurons en section VII.
II. L’OEP BASIQUE
L’OEP est une méthode inspirée du comportement
sociologique des animaux qui évoluent en essaims, tels que
les poissons qui se déplacent en bancs ou les oiseaux
migrateurs. L’OEP est une méthode stochastique
d’optimisation qui déplace un essaim de "particules"
candidates, qui "volent" au-dessus de l’espace de recherche.
Le déplacement de chaque particule est influencé par sa
propre vitesse, la meilleure position qu’elle a atteinte ainsi
que la meilleure position connue de toutes les particules de
l’essaim. On note xi le vecteur position de la ième particule de
l’essaim et vi son vecteur vitesse. Si D est la dimension du
problème, xi et vi sont des vecteurs à D composantes dont les
jèmes composantes sont respectivement notées xi,j et vi,j. De
même, on note pi le vecteur de dimension D qui correspond à
la meilleure position atteinte par la particule i et pi,j sa
coordonnée sur la dimension j. Enfin, on note g le vecteur de
dimension D qui correspond à la meilleure position connue de
l’essaim et gj sa coordonnée sur la dimension j. Les
déplacements des particules entre les itérations t et t+1 sont
calculés à l’aide des équations (1) et (2).
vi , j (t + 1) = w.vi , j (t ) + c1 .r 1.( pi , j − xi , j (t ))
+ c2 .r2 .( g j − xi , j (t ))
xi , j (t + 1) = xi , j (t ) + vi , j (t + 1)
(1)
(2)
avec j=1....D
i=1....N, N étant la taille de l’essaim
où :
w est le coefficient d’inertie
c1 et c2 sont les coefficients d’accélération
r1 et r2 sont des nombres aléatoires uniformément
distribués dans [0,1]
Le coefficient d’inertie w joue un rôle important dans la
convergence de l’algorithme. Il est utilisé pour contrôler
l’impact que peut avoir la vitesse d’une particule sur le
comportement de celle-ci, régulant ainsi le compromis entre
exploration et exploitation. Une valeur élevée de w permet
une exploration globale de l’espace de recherche alors qu’une
faible valeur favorise une recherche locale. De ce fait, il peut
être envisagé de commencer le processus avec une valeur
élevée de w, puis de diminuer w au fil des itérations, en vue
d’affiner la recherche au fur et à mesure de la convergence.
L’algorithme de l’OEP basique peut être résumé par le
pseudocode de l’Algorithme 1.
__________________________________________________
Initialisation aléatoire de l’essaim
Évaluation de la fonction objectif pour chaque xi
xi=pi, i=1....N
Calcul de g
Faire
Mise à jour de vi et xi à l’aide de (1) et (2)
Évaluation de la fonction objectif
Mise à jour des pi
Mise à jour de g
Tant que le critère d’arrêt n’est pas atteint
Algorithme 1. OEP basique
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
La figure 1 représente un essaim de trois particules se
déplaçant dans l’espace de recherche de la fonction Rastrigin
2D [5]. Les particules sont représentées par les carrés. Les
vecteurs vitesses sont représentés par les flèches issues de
chaque particule. L’optimum global est indiqué par la croix.
En fond et en niveaux de gris, nous figurons la topologie de la
fonction, sachant que plus la couleur est claire plus la valeur
de la fonction est faible. L’alternance de zones claires et
foncées montre que cette fonction présente un grand nombre
d’optima locaux.
Figure 1. Essaim de particules
III. LES ALGORITHMES A ESTIMATION DE DISTRIBUTION
Les algorithmes à estimation de distribution (EDA) sont
une nouvelle famille d’algorithmes qui utilisent les
informations collectées tout au long du processus
d’optimisation pour construire des modèles probabilistes des
"bonnes" régions de l’espace de recherche et s’en servent
pour engendrer de nouvelles solutions [6]. Les EDA se
différencient des algorithmes évolutionnaires par le fait qu’ils
n’utilisent pas d’opérateurs de croisement ni de mutation. La
nouvelle population est engendrée en utilisant une
distribution de probabilité estimée à partir des solutions de la
génération précédente. La distribution de probabilité ainsi
calculée caractérise le problème à résoudre.
Tout d’abord, on génère une famille X0 de solutions et on
construit son modèle probabiliste P0. Ensuite, la boucle
principale comporte quatre étapes. Tout d’abord, on choisit,
au sein de la famille de solutions courantes, les meilleures
solutions, suivant un critère donné. Ensuite, à partir des
éléments de cette sous-famille, on construit un nouveau
modèle probabiliste P1. On génère alors une nouvelle famille
de solutions X1offspring par échantillonnage du modèle P1.
Enfin, on remplace, suivant un critère de sélection prédéfini,
certains éléments de X0 par les éléments de X1offspring pour
créer X1. Le même processus est itéré jusqu’à ce que le critère
d’arrêt soit vérifié.
Les distributions de probabilité peuvent être calculées de
nombreuses manières différentes, suivant le modèle considéré
(gaussienne, etc.) et selon que l’on considère les variables du
problème corrélées ou pas [6].
Le pseudo-code de l’Algorithme 2 résume le
fonctionnement global des EDA.
Initialisation aléatoire de la population X0
Calcul du modèle P0
Xt=X0
Pt=P0
Faire
Sélection de la sous-famille Xtparent de Xt
Calcul de Pt+1 à partir de Xtparent
Échantillonnage de Pt+1 pour créer Xt+1offspring
Remplacement de certains éléments de Xt par les éléments
de Xt+1offspring pour créer Xt+1
t=t+1
Tant que le critère d’arrêt n’est pas atteint
Algorithme 2. Principe d’un EDA
IV. ALGORITHME TRIBES
TRIBES est le premier algorithme d’OEP totalement
adaptatif, dans le sens où il ne nécessite aucun paramètre.
L’utilisateur n’a qu’à définir sa fonction objectif et son critère
d’arrêt. Le caractère adaptatif de TRIBES se présente sous
deux formes:
- Adaptation structurelle : la taille de l’essaim évolue
au cours du temps
- Adaptation comportementale : les stratégies de
déplacement des particules changent au cours du
temps
Ainsi, si l’on se réfère à l’OEP basique, ces deux types
d’adaptations nous affranchissent de la définition de N, w, c1
et c2.
L’essaim est divisé en plusieurs "tribus" de tailles
variables. Le but est d’explorer différentes régions de l’espace
de recherche, généralement des optima locaux, et d’échanger
les informations entre les tribus en vue de trouver l’optimum
global. Il existe deux types de communications: une
communication intra-tribu, qui fonctionne comme dans une
OEP classique, et une communication inter-tribus, où chaque
tribu échange avec les autres les informations de son
"shaman", i.e. la meilleure particule de la tribu.
Au départ, on commence avec une seule particule formant
une tribu unique. Au fur et à mesure du traitement et suivant
le comportement de la particule initiale, on va soit ajouter,
soit enlever, des particules à l’essaim, créant ainsi de
nouvelles tribus, destinées à explorer de nouvelles régions de
l’espace de recherche. Par exemple, si une tribu est
performante, on va lui enlever une de ses particules,
logiquement la plus mauvaise, étant donné que l’on considère
qu’elle ne peut rien apporter de plus aux performances
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
globales alors que, à l’opposé, si une tribu se comporte mal,
on va avoir tendance à lui ajouter une particule, pour élargir
son espace de recherche. Ces ajouts ou retraits ne se font pas,
bien sûr, à chaque itération, l’information apportée par ces
modifications devant se propager dans l’essaim.
La figure 2 nous montre un exemple de suppression de
particule avec la redistribution des liens d’information qui en
découle. P est la plus mauvaise particule de la tribu et M est
la meilleure.
Figure 2. Suppression de particule
La figure 3 montre un exemple de composition d’un essaim
lors de deux itérations successives pour la fonction Rastrigin
2D [5]. Sur la première image, on voit un essaim composé
d’une seule tribu qui n’arrive pas à trouver l’optimum
(1.9005,-1.5644). Pour accélérer le processus, on crée à
l’itération suivante des particules sur tout l’espace de
recherche, qui vont former une nouvelle tribu chargée
d’explorer des zones pas encore explorées par la première
tribu. Les particules peuvent être générées soit aléatoirement
dans tout l’espace de recherche, soit dans une hypersphère
centrée sur la meilleure informatrice de la meilleure particule
de la tribu génératrice, ou soit dans la plus grande zone
inoccupée de l’espace de recherche.
De même, les performances de chaque particule sont
étudiées pour définir quelle stratégie de déplacement va
utiliser la particule. Il est à noter que la performance d’une
particule n’est pas jugée sur la valeur de la fonction objectif,
mais sur l’évolution de la particule entre deux itérations:
détérioration de la fonction objectif, statu quo ou
amélioration. Dans notre cas, l’indice de performance est jugé
sur les deux dernières évolutions de la particule. Comme dans
le cas des tribus, on va avoir tendance à privilégier un
déplacement de grande envergure pour les mauvaises
particules, alors que le déplacement des bonnes particules
s’assimilera davantage à une recherche locale. Les stratégies
de déplacement utilisées sont:
- la méthode des pivots,
- la méthode des pivots bruitée,
- la méthode de recherche par gaussiennes
indépendantes.
Ces stratégies sont libres de tout paramètre et sont basées
sur des tirages aléatoires dans des hypersphères ayant pour
centre un des vecteurs pi ou g. Les coefficients de pondération
sont calculés à partir des valeurs de la fonction objectif en ces
points.
L’Algorithme 3, situé en fin de document, résume le
fonctionnement global de TRIBES.
TRIBES s’avère très performant bien que dépourvu du
"guidage" qui est habituellement apporté par un réglage de
paramètres spécifique au problème traité. Des résultats
numériques complets sont disponibles dans le site Internet
[7].
V. HYBRIDATION DE TRIBES AVEC UN EDA
Une étude de TRIBES que nous avons menée a dégagé une
des caractéristiques principales de TRIBES: les tribus
convergent très rapidement vers un optimum local, puis on a
ensuite beaucoup de mal à s’extraire de celui-ci, qui n’est
généralement pas l’optimum global.
La figure 4 montre un graphe de convergence de TRIBES
pour le problème Rastrigin 10D [5]. Le graphe représente le
logarithme de l’erreur médiane sur 25 exécutions en fonction
du nombre d’évaluations de la fonction objectif. On voit bien
ici que l’on a une convergence rapide au début, puis que l’on
"stagne" sur une valeur de l’erreur loin d’être négligeable.
Toutes les particules de la tribu se concentrent sur
l’optimum local et tournent autour, sans arriver à s’en
extraire. La principale cause de ce problème, qui est commun
à toutes les méthodes d’OEP, est que le déplacement d’une
particule est fortement influencé par sa meilleure position et
la meilleure position de l’essaim. De ce fait, si ni l’une ni
l’autre de ces positions ne sont bonnes, la particule va être
attirée par une mauvaise région et ne va pas pouvoir en sortir.
En conséquence, on va calculer de nombreuses fois les valeurs
de la fonction objectif en des points rapprochés, donc de
performances semblables, d’où une perte d’efficacité de
l’algorithme.
La figure 5 montre un exemple de trajectoire d’une
particule d’une tribu qui stagne autour d’un optimum local de
la fonction Weierstrass 2D [5]. L’observation des vecteurs
vitesses indique que la particule tourne en rond autour de
l’optimum local sans arriver à s’en extraire.
Figure 3. Création de particules
Figure 5. Stagnation autour d’un optimum local
Figure 4. Graphe de convergence pour le problème Rastrigin 10D décalé
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
À l’opposé de l’OEP, les EDA sont plus propices à une
exploration de l’espace de recherche qu’à une exploitation.
En effet, un EDA va "apprendre" les caractéristiques de
l’espace de recherche par le biais de ses générations
successives. De ce fait, il va acquérir une connaissance plus
globale de l’espace de recherche, qui fait défaut à TRIBES et,
plus généralement, à toute méthode basée sur l’OEP.
Notre idée est donc de mêler la faculté d’exploitation de
l’OEP et le caractère "explorateur" des EDA pour aboutir à
un algorithme qui propose un juste équilibre de ces deux
comportements.
L’idée est d’ajouter une nouvelle stratégie de déplacement
aux trois dont nous disposons déjà. Cette stratégie ne pourra
être employée qu’au bout d’un certain nombre d’itérations,
étant donné qu’il n’est pas concevable d’estimer une
distribution avec un nombre faible de particules. Au bout d’un
certain nombre d’itérations, si les performances des particules
commencent à stagner, on élargit l’espace de recherche en
utilisant notre nouvelle stratégie. Une étude théorique sur le
nombre d’itérations nécessaires pour pouvoir utiliser cette
démarche est encore à réaliser.
La première étape consiste à choisir une sous-famille de
particules dans l’essaim. Le choix le plus logique se porte
vers les meilleures positions de chacune des particules, i.e. les
pi.
On considère que les variables sont indépendantes, donc on
effectue un traitement dimension par dimension. Pour chaque
dimension j=1....D, on calcule le modèle gaussien des pi,j,
i=1....N à l’aide des équations (3) et (4).
1 N
∑ pi , j
N i =1
1 N
σ 2j =
∑ ( pi, j − µ j )2
N − 1 i =1
µj =
(3)
(4)
Ensuite, la nouvelle coordonnée de la particule sur la
dimension j sera tirée aléatoirement, à l’aide d’une
distribution gaussienne de moyenne µj de variance σj.
Dans le cas de problèmes de la vie réelle où les variables ne
peuvent être considérées comme indépendantes, on peut
toujours se ramener à une distribution gaussienne jointe, mais
cela demande le calcul de la matrice de covariance, de son
inverse et des déterminants, ce qui est plus coûteux en temps
de calcul. Cependant, une méthode utilisant la factorisation
de Cholesky [8] permet de simuler un tirage de loi multinormale en réduisant le temps de calcul.
Par cette méthode, on garde l’esprit initial de l’OEP, la
particule utilise sa propre mémoire et la mémoire collective
pour adapter son déplacement, mais le tirage aléatoire permet
d’avoir un plus grand champ d’action, donc une exploration
plus efficace.
On voit aussi que nous n’ajoutons aucun paramètre avec
l’utilisation de cette nouvelle stratégie.
VI. RÉSULTATS EXPRÉRIMENTAUX
Dans le souci d’être le plus transparent possible sur les
performances de notre algorithme, nous avons choisi
d’utiliser la procédure de test définie lors de la conférence
2005 IEEE Congress on Evolutionary Computation [5,9].
Cette procédure de test propose un jeu de 25 fonctions ainsi
que deux tests, l’un étudiant l’erreur par rapport à l’optimum
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
global au bout d’un nombre prédéfini d’évaluations de la
fonction objectif, l’autre étudiant le nombre d’évaluations de
la fonction objectif nécessaires pour approcher la solution
optimale avec une précision donnée.
Les fonctions de test ont été choisies afin de ne présenter
aucune particularité qui pourrait être exploitable par certains
algorithmes. Par exemple, certains algorithmes sont favorisés
lorsque l’optimum est au centre de l’espace de recherche. Les
fonctions sont tournées, décalées ou telles que l’optimum se
trouve sur l’une des frontières.
Le premier test est effectué en dimension D=10 et pour 25
exécutions de l’algorithme. Le critère d’arrêt est le nombre
maximal d’évaluations de la fonction objectif. Ici, il est fixé à
100000. Les résultats sont donnés sous forme de graphes de
convergence, où sont représentés les logarithmes de l’erreur
médiane sur les différentes exécutions, en fonction du nombre
d’évaluations de la fonction objectif.
Figure 6. Graphes de convergence pour la fonction Rastrigin 10D décalée
Les courbes de la figure 6 montrent que l’utilisation des
EDA présente un réel intérêt. On voit qu’ici, non seulement
l’erreur ne stagne plus, mais en plus les performances sont
très largement améliorées.
Le deuxième test consiste à compter le nombre
d’évaluations de la fonction objectif pour atteindre une
précision donnée. Pour la fonction Rastrigrin 10D, la
précision choisie est de 3.3 [5]. Une exécution est stoppée si
la précision souhaitée n’est pas trouvée au bout de 100000
évaluations de la fonction objectif. Les résultats, en terme
d’évaluations de la fonction objectif, sont classés par ordre
croissant. Dans le tableau 1, nous présentons la meilleure (i.e.
la 1ère) et la pire (i.e. la 25ème), ainsi que trois valeurs
intermédiaires. Nous indiquons aussi la moyenne et la
variance sur les exécutions s’étant terminées par un succès.
Nous indiquons enfin le taux de succès pour chacun des
algorithmes.
Le tableau 1 montre que, comme dans le cas du test n°1, les
performances de l’algorithme hybride sont bien meilleures
que celles de l’algorithme originel. Un problème que l’on
résolvait difficilement et épisodiquement avec TRIBES est
maintenant résolu très facilement et dans tous les cas.
TABLEAU I
RESULTATS DU TEST N°2 SUR LA FONCTION RASTRIGIN 10D DECALEE
er
1
7ème
13ème
19ème
25ème
Moyenne
Variance
Taux de
succès
TRIBES
TRIBES avec EDA
85626
86358,5
752,5
13733
20487
24159
28950
42439
25085,72
747,50
0,08
1
VII. CONCLUSION
Dans cet article, nous avons proposé une amélioration d’un
algorithme d’Optimisation par Essaim Particulaire sans
paramètres de contrôle. Cette nouvelle méthode agit sur la
stratégie de déplacement des particules au sein de l’essaim
Notre but a été de rééquilibrer le compromis
exploitation/exploration en incorporant une stratégie de
déplacement basée sur un algorithme à estimation de
distribution. Cette méthode induit une possibilité de
déplacement plus large pour la particule, ce qui peut l’aider à
s’extraire d’un optimum local, pour aller explorer de
nouvelles régions de l’espace de recherche.
REFERENCES
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
J. Kennedy, R.C. Eberhart. (1995). “Particle Swarm Optimisation“. Proc.
IEEE Int. Conf. On Neural Networks, November 27-December 1, 1995,
pp.1942-1948, Perth, Australia.
R.C Eberhart, Y.V.W Shi, N.S. Porto, A.E Eiben. (1998). “Comparison
between genetic algorithms and particle swarm optimization”. Proceedings
of the 7th International Conference on Evolutionary Programming VII,
Springer Verlag, March 25-27, 1998, pp 611-616, Berlin, Germany.
M. Clerc. (2003).“TRIBES. Un exemple d'optimisation par essaim
particulaire sans paramètres de contrôle", OEP’03, 2 octobre, 2003, Paris,
France.
M. Clerc. (2006). “Particle Swarm Optimization”, International Scientific
and Technical Encyclopaedia,2006.
P.N. Suganthan and al. (2005). “Problem Definitions and Evaluation
Criteria for the CEC’2005 Special Session on Real-Parameter
Optimization”, Technical Report, Nanyang Technological University,
Singapore, May 2005, AND KanGAL Report #2005005, IT Kanpur,
India. http://www.dcs.ex.ac.uk/~dwcorne/cec2005
P. Larrañaga, J.A. Lozano. (2001). “Estimation of Distribution
Algorithms, a new tool for evolutionary computation”, Kluwer Academic
Publishers, 2001.
Site Internet de Maurice Clerc sur l’OEP: http://www.mauriceclerc.net/
Page Wikipédia concernant la loi normale :
http://fr.wikipedia.org/wiki/Loi_normale#Cas_de_la_loi_multinormale
2005 IEEE Congress on Evolutionary Computation, CEC’05, September
2-5 2005, Edinburgh, Scotland.
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
Algorithme 3. Algorithme TRIBES.
e-STA copyright © 2008 by see
Volume 5 (2008), N°1 pp 21-27
Téléchargement