L’optimisation par essaim de particules est une méthode d’optimisation
stochastique, pour des fonctions non-linéaires, basée sur la reproduction d’un comportement social.
2. Page 2
I. INTRODUCTION
II. UN PEU D’HISTOIRE
III.DEFINITIONS
III.1. Optimisation Par Essaims de Particule
III.2. Topologie du voisinage
III.3.1.Présentations informelle
III.3. Principe
IV. L’ALGORITHME PSO
V. APPLICATION DE L’ALGORITHME PSO
VI. POINTS FORTS ET LACUNES
VII. AUTRE DOMAINES D’APPLICATIONS
VIII.COCLUSION
Plan
3. Page 3
INTRODUCTION
L’optimisation par essaim de particules est une méthode d’optimisation
stochastique, pour des fonctions non-linéaires, basée sur la reproduction d’un
comportement social.
Elle est utilisée pour explorer l'espace de recherche d'un problème quelconque
pour trouver l'ensemble des paramètres qui maximise/minimise un objectif
particulier
4. Page 4
UN PEU D’HISTOIRE
Inventée par Russel Eberhart (ingénieur en électricité) et James Kennedy
(socio-psychologue) en 1995.
Née aux EtatsUnis sous le nom de Particle Swarm Optimization (PSO) .
James Kennedy
Russel Eberhart
5. Page 5
DEFINITIONS (1/3)
Optimisation Par Essaims de Particule (OEP):
Est une technique évolutionnaire qui utilise “une population” de solutions
candidates pour développer une solution optimale au problème d’optimisation.
Le degré d’optimalité est mesuré par une fonction fitness définie par l’utilisateur.
Il s’agit d’une méthode fondée sur la notion de coopérations des agents, appelés
ici ‘‘particules’’.
6. Page 6
Topologie du voisinage :
a) topologie en étoile : chaque particule est reliée
à toutes les autres;
DEFINITIONS (2/3)
b) topologie en anneau : chaque particule est reliée à
n particules;
c) topologie en rayon : les particules ne communiquent
qu’avec une seule particule centrale.
7. Page 7
L’OEP, est une méthode fondée sur la notion de coopération des agents.
Présentation informelle
on y trouve les notions essentielles :
Position
Vitesse
Mémoire très
limitéeEchange
d’informationPrendre une
décision L’idée est que tout
cela doit rester simple.
8. Page 8
Principe:
DEFINITIONS (3/3)
on considère un essaim de particules.
Chaque particule est en train de bouger et elle dispose de :
1) une vitesse.
2) une mémoire.
3) son voisinage
une particule doit décider de son prochain
mouvement
13. Page 13
vi(t) est la vitesse de particule i à l'instant t
xi(t) est la position de particule i à l'instant t
w, c1, et c2 (0 ≤ w ≤ 1.2, 0 ≤ c1 ≤ 2, et 0 ≤ c2 ≤ 2) sont des coefficients
constants fixés par l'utilisateur
r1 et r2 sont des nombres aléatoires tirés à chaque itération
g(t) est la meilleure solution trouvée jusqu'à l'instant t et xp
i(t) est la
meilleure solution trouvée par le particule i
L’ALGORITHME PSO
15. Page 15
L’algorithme doit alors s’exécuter tant que l’un des critères de convergence
suivant n’a pas été atteint :
le nombre d’itérations atteint son maximum (fixé par l’utilisateur) ;
la variation de la vitesse est proche de 0 ;
le fitness de la solution est suffisant.
Critères d’arrêt
L’ALGORITHME PSO
17. Page 17
APPLICATION
DE L’ALGORITHME PSO
• générer une population de particules réparties
aléatoirement sur le graphe.
• 20 points pour la fonctions, et 5 particules pour cette
expérience.
• r1 et r2 suivent une loi uniforme sur [0..1]
• c1 et c2 = 2
19. Page 19
Plus on avance dans le nombre d’itérations, plus les particules se rapprochent de
l’optimale, et dès qu’une des particules atteint l’optimum global, les autres ne
tardent pas à la suivre.
APPLICATION
DE L’ALGORITHME PSO
20. Page 20
Résoudre des problèmes d’optimisation;
La simplicité d’implémentation;
Temps de calcul très court;
Gestion du voisinage peu coûteuse;
Paramétrage simple.
POINTS FORTS ET LACUNES
21. Page 21
Le mauvais choix des paramètres peut avoir un effet sur le fonctionnement de
l’algorithme tout comme sur la solution obtenue.
POINTS FORTS ET LACUNES
22. Page 22
AUTRE DOMAINES D’APPLICATIONS
La restauration d’image qui est converti en un problème d’optimisation.
La solution qui donne la valeur optimale constitue l’image désirée.
Recherche de minimales dans les émissions de champs magnétique.
23. Page 23
COCLUSION
L'optimisation par essaims de particules présente un fort
potentiel d'application pratique
Les résultats obtenue par PSO sont très satisfaisant et confirment
bien la validité de l’algorithme.
Le choix des paramètres reste l'un des problèmes de
l'optimisation par particules d'essaim.
24. Page 24
Références::
Jerome Onwunalu, Louis J. Durlofsky, « Application of a particle swarm
optimization algorithm for determining optimum well location and type », Smart
Fields Meeting, [27 Mars 2014]
Maurice Clerc, « L’optimisation par essaim particulaire », [27 Mars 2014]
Antoine Dutot et Damien Olivier, « Optimisation par essaim de particules
Application au problème des n-Reines », Laboratoire Informatique du Havre,
Université du Havre, 25 rue Philippe Lebon, 76600 Le Havre. [24 Mars 2014]
James Blondin, « Particle Swarm Optimization: A Tutorial », [24 Mars 2014]
Badi Bouaoudat, Farouk Yalaoui, Lionel Amodeo ,Françoise Entzmann«
Optimisation de la fermentation submergée pour la production
d’enzymes par essaim des particules basé sur la mécanique quantique, [24
Mars 2014]
Notes de l'éditeur
Il s’agit d’une méthode fondée sur la notion de coopérations des agents, appelés aussi particules
L’origine de cette méthode vient des observations faites lors de simulations informatiques de vols groupés d’oiseaux et de bancs de poissons. Ces simulations ont mis en valeur la capacité d’individu d’un groupe en mouvement à conserver une distance optimale entre eux et à suivre un mouvement global par rapport aux mouvements locaux de leurs voisinage.
Bien sûr, il y a de nombreuses autres heuristiques utilisant des populations d ’individus
(algorithmes génétiques, colonies de fourmis, etc.)
L’origine de cette méthode vient des observations faites lors de simulations informatiques de vols groupés d’oiseaux et de bancs de poissons. Ces simulations ont mis en valeur la capacité d’individu d’un groupe en mouvement à conserver une distance optimale entre eux et à suivre un mouvement global par rapport aux mouvements locaux de leurs voisinage.
Comme d’habitude, le gros poisson est au plus profond de l’étang. A chaque pas de temps,
chaque pêcheur indique à son collègue l’endroit le plus profond qu’il a déjà trouvé.
Au début, pas de différence, et chacun suit sa propre route indépendamment.
Ensuite, le pêcheur B a trouvé un meilleur emplacement, alors le pêcheur A tend à aller vers
lui, assez vite. Ce faisant, il détériore sa position. Dès lors, il a un compromis à faire entre la
meilleure position qu’il a trouvée jusque-là et celle trouvée par B. Il continue d’aller vers B,
mais plus lentement
Le point important est que, ce faisant, il échappe au minimum local.
On considère, dans
l’espace de recherche, un essaim de particules, ici cinq. Chaque particule est en train de
bouger, c’est-à-dire qu’elle a une vitesse. Egalement, chaque particule a une petite mémoire,
lui permettant de se souvenir de sa meilleure performance, en position et en valeur.
Enfin, chaque particule dispose d’un groupe d’informatrices, historiquement appelé son
voisinage.
A partir des quelques informations dont elle dispose, une particule doit décider de son
prochain mouvement, c’est-à-dire décider de sa nouvelle vitesse.
Pour ce faire, elle combine linéairement trois informations :
- sa vitesse actuelle
- sa meilleure performance
- la meilleure performance de ses voisines (ses informatrices).
Chaque particule représente une solution potentielle dans l’espace de recherche. La nouvelle position d’une particule est déterminée en fonction de sa propre valeur et celle de ses voisines
Soit x(t) la position de la particule ….
Pour ce faire, elle combine linéairement trois informations : - sa vitesse actuelle - sa meilleure performance la meilleure performance de ses voisines (ses informatrices). à l’aide de trois paramètres parfois appelés coefficients de confiance, qui pondèrent trois tendances : -égoïste (suivre sa voie suivant sa vitesse actuelle) - conservateur (revenir en arrière en prenant en compte sa meilleure performance)) - panurgien (suivre aveuglement le meilleur de tous en considérant sa performance)
La position est modifiée en ajoutant une V(t) vitesse à sa position courante
La vitesse de chaque particule est mise à jour suivant l'équation suivante:
C’est le vecteur vitesse qui dirige le processus de recherche et reflète la "sociabilité" des particules.
Le critère de convergence peut être un nombre fixe d’itérations, suivant la fitness ou bien la variation lorsqu’elle tend vers 0.
La vitesse peut être limitée par une vitesse maximale et une vitesse minimale pour éviter que les particules se déplacent trop rapidement ou trop lentement d’une région à une autre dans l’espace de recherche.
Un facteur d’inertie peut être appliqué à la vitesse Pour contrôler l’influence de celle-ci.
Nous allons dans ce titre appliquer la notion des essaims de particules dans un problème de maximisation, on va essayer de trouver le maximum global d’une fonction en appliquant la théorie des PSO. L’implémentation de ce projet à été réaliser à l’aide du logiciel DELPHI7 qui utilise comme langage de programmation le pascal orienté objet.
La courbe décrite par cette fonction est représentée dans la figure
Pour commencer, nous allons générer une population de particules réparties aléatoirement sur le graphe.
La courbe représente la fonction sous 20 points, et nous choisissant de prendre une population de 5 particules pour cette expérience.
Comme paramètres, et qui suivent une loi uniforme sur [0..1], et on a pris la valeur de 2 pour et (accélération positive maximale)
Le paramètre qui influx sur la vitesse est très important, celui-ci noté et qui représente le facteur d’inertie comme dit précédemment a été fixé à 0.8 après plusieurs essais expérimentales.
On remarque dès le début que la population se rapproche instinctivement vers la solution optimale globale comme montré dans la figure
Plus on avance dans le nombre d’itérations plus les particules se rapprochent de l’optimale, et dès qu’une des particules l’a atteint les autres ne tardent pas a la suivre pour enfin la rejoindre dans l’optimum globale à la position 3 avec la valeur 1.03781… vers l’itération 180 comme montré dans la figure