III.2.B Optimisation par Essaim de Particule

Le biologiste Heppner avait réalisé des simulations informatiques du vol des oiseaux, lesquelles s’envolaient en meute mais revenaient toujours au même point précis. Les agents de Heppner étaient incapables de simuler la recherche de nourriture par exemple. Le psychologue Kennedy, spécialiste en psychologie sociale, s’est intéressé à ce problème. Kennedy & Eberhart (1995) ont posé l’hypothèse que la recherche de nourriture dépendait de deux formes de connaissances prises en compte à chaque décision de déplacement des oiseaux. A savoir :

  1. 1.L’endroit où l’oiseau a trouvé de la nourriture la dernière fois ;
  2. 2.L’endroit où l’un de ses compagnons a trouvé le plus de nourriture la dernière fois.

Dans la perspective de Kennedy, la recherche de nourriture ou d’un point de repos chez les oiseaux dépend des connaissances individuelles et des connaissances sociales. Avec Eberhart, ils ont formalisé et standardisé ces idées pour la résolution de problèmes d’optimisation.

Au lieu de chercher de la nourriture, les agents cherchent le minimum d’une fonction objective. Dans ce sens :

  1. 1.L’agent exploite une information interne concernant la meilleure solution des itérations passées.
  2. 2.L’agent explore une information externe qui appartient à un autre agent du groupe concernant sa meilleure solution.

La figure 57 illustre le mécanisme par lequel chaque agent « oiseau » (particule) décide de son déplacement. Chacun des quatre quadrants possède un plan XY, la même fonction objective et des particules figurant un oiseau. La partie (1) de la figure illustre le système initial. Les particules sont dispersées dans l’espace de solutions. Remarquons la particule en rouge. La partie (2) montre le calcul vectoriel effectué par la particule rouge afin d’effectuer son déplacement. Les quadrants (3) et (4) montrent la convergence du groupe de particules vers le minimum global suite à l’exécution de ce calcul vectoriel par chacune des particules pendant quelques itérations.

Figure 57. Illustration du mécanisme du PSO (
Figure 57. Illustration du mécanisme du PSO (Particle Swarm Optimization) de Kennedy & Eberhart (1995), inspiré du comportement collectif de recherche de nourriture des oiseaux.

Dans le formalisme de Kennedy & Eberhart (1995) nous avons :

presentx pour la valeur d’un x dans l’itération courante i,

presenty pour la valeur d’un y dans l’itération courante i.

L’agent se souvient de la meilleure valeur obtenue dans des itérations précédentes.

pbest point P dont la valeur de x est la meilleure,

pbestx la valeur de x concernant le point P,

pbesty la valeur de y concernant le point P.

Chaque agent possède en mémoire le pbest et aussi la meilleure position d’un membre du groupe d’agents.

gbest pour la meilleure position d’un membre du groupe d’agents,

pbestx [gbest] pour la valeur x du point gbest,

pbesty [gbest] pour la valeur y du point gbest.

Le vecteur de vitesse a été appelé vx. La règle d’action des agents PSO est présentée de la façon suivante par Kennedy & Eberhart (1995, p. 1944) :

« if presentx[] > pbestx[gbest] then vx[] = vx[] – rand()*g_increment

if presentx[] < pbestx[gbest] then vx[] = vx[] + rand()*g_increment

if presenty[] > pbestx[gbest] then vx[] = vx[] – rand()*g_increment

if presenty[] < pbestx[gbest] then vx[] = vx[] + rand()*g_increment »

Pour chaque agent sur l’espace de solutions, sa position est ainsi ajustée simplement. Quand presentx est inférieur à pbestx[gbest] alors on soustrait du vecteur de vitesse rand()*g_increment qui signifie une valeur aléatoire de [0 1] multipliée par une constante g_increment qui est un simple amplificateur. Une valeur de rand()*g_increment est soustraite car presentx est inférieur à pbestx[gbest] et cela veut dire que l’agent est à droite du pbestx. Ainsi la soustraction fait que l’agent aille en direction du pbestx. L’inverse se passe quand presentx est supérieur à pbestx[gbest]. Ce même raisonnement a lieu pour l’ajustement de la valeur de position y.

La rapidité du déplacement d’un agent est aussi prise en compte sur le modèle PSO. Le souvenir que l’agent possède de sa propre expérience, la valeur du pbest, est utilisé pour augmenter ou réduire la vitesse de déplacement. Ainsi, Kennedy & Eberhart (1995, p. 1945) réalisent :

« if presentx < bestx, make it bigger,

if presentx > pbestx, make it smaller »

De ce fait, la formule finale devient (Kennedy & Eberhart, 1995, p. 1945) :

« vx[][] = vx[][] + rand()*p_increment*(pbestx[][] – presentx[][]) »

Cette heuristique a été appliquée à l’optimisation de l’apprentissage de la fonction logique XOR (ou exclusif) par réseau de neurones avec une très grande performance (Kennedy & Eberhart, 1995). Le PSO possède un grand intérêt en psychologie comme en ingénierie Kennedy (1998 ; 2005), car il montre des propriétés cognitives et sociales. De plus, il est devenu une technique ou outil pour les ingénieurs et informaticiens.