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