Optimisation par essaims particulaires
# Optimisation par essaims particulaires

L'optimisation par essaims particulaires (OEP ou PSO en anglais) est une métaheuristique d'optimisation, inventée par Russel Eberhart (ingénieur en électricité) et James Kennedy (socio-psychologue) en 1995.

## Algorithme

Cet algorithme s'inspire à l'origine du monde du vivant. Il s'appuie notamment sur un modèle développé par Craig Reynolds à la fin des années 1980, permettant de simuler le déplacement d'un groupe d'oiseaux. Une autre source d'inspiration, revendiquée par les auteurs, James Kennedy et Russel Eberhart, est la socio-psychologie.

Cette méthode d'optimisation se base sur la collaboration des individus entre eux. Elle a d'ailleurs des similarités avec les algorithmes de colonies de fourmis, qui s'appuient eux aussi sur le concept d'auto-organisation. Cette idée veut qu'un groupe d'individus peu intelligents peut posséder une organisation globale complexe.

Ainsi, grâce à des règles de déplacement très simples (dans l'espace des solutions), les particules peuvent converger progressivement vers un minimum global. Cette métaheuristique semble cependant mieux fonctionner pour des espaces en variables continues.

Au départ de l'algorithme chaque particule est donc positionnée (aléatoirement ou non) dans l'espace de recherche du problème. Chaque itération fait bouger les particules en fonction de trois composantes :

* Sa vitesse actuelle $V_{k}$ ;
* Sa meilleure solution $P_{i}$ ;
* La meilleure solution obtenue dans son voisinage $P_{g}$.

Cela donne l'équation de mouvement suivante :

* $V_{k+1}={\omega }V_{k}+b_{1}(P_{i}-X_{k})+b_{2}(P_{g}-X_{k})$.
* $X_{k+1}=X_{k}+V_{k+1}$.

Avec :

    $X_{k}$ sa position actuelle
    ${\omega }$ inertie
    $b_{1}$ tiré aléatoirement dans $[0,φ_1]$
    $b_{2}$ tiré aléatoirement dans $[0,φ_2]$
