• Aucun résultat trouvé

3.3 Algorithme MOPSO propos´ e

3.3.1 Description de l’approche

Dans cette section, on d´etaille l’algorithme d’optimisation MOPSO propos´e dans un

formalisme d’optimisation multi-objectif. Comme on a d´ej`a mentionn´e, on s’est inspir´e des

concepts de base de l’algorithme PSO monobjectif pour le d´eveloppement de la technique

MOPSO. Afin d’appliquer la strat´egie PSO pour r´esoudre des probl`emes d’optimisation

multi-objectif, plus particuli`erement le probl`eme de synth`ese de la commande polynomiale

RST. La solution d’un probl`eme d’optimisation multi-objectif ne consiste pas en une

solution unique, comme pour le cas des probl`emes monocrit`eres, mais plutˆot un ensemble

des solutions [Coello.Coello & Lechuga, 2002 ; Collette & Siarry, 2004].

En effet, l’optimisation multi-objectif m`ene `a l’obtention d’un ensemble des solutions

diff´erentes dites ensemble de Pareto optimal, ou optimal au sens de Pareto. En g´en´eral,

lors de la r´esolution d’un probl`eme d’optimisation multicrit`eres `a base de la technique

PSO, les principaux objectifs `a atteindre sont les suivants [Reyes-Sierra & Coello.Coello,

2006 ; Coello.Coello et al., 2004] :

– maximiser le nombre d’´el´ements de l’ensemble optimum de Pareto trouv´e ;

– minimiser la distance entre le front Pareto produit par l’algorithme MOPSO par

rapport au front de Pareto optimal pr´ealablement connu ;

3.3. Algorithme MOPSO propos´e 77

– maximiser la distribution des solutions trouv´ees.

Compte tenu que l’algorithme PSO est bas´e sur le concept de population, il est souhaitable

de produire plusieurs solutions non domin´ees `a chaque it´eration. Donc, comme avec tout

autre algorithme ´evolutionnaire, les trois principaux points, `a prendre en consid´eration

lors de l’extension de l’algorithme PSO `a l’optimisation multi-objectif, sont les suivants :

– comment s´electionner les particules, `a utiliser en tant que dirigeants, afin de donner

la pr´ef´erence `a des solutions non domin´ees par rapport `a ceux qui sont domin´ees ?

– comment conserver les solutions non domin´ees, trouv´ees au cours du processus de

recherche, en tenant compte de toutes les solutions non domin´ees par rapport `a toutes

les solutions `a l’it´eration pr´ec´edente ? En outre, il est souhaitable que ces solutions

soient bien r´eparties le long du front Pareto ;

– comment maintenir la diversit´e dans l’essaim afin d’´eviter la convergence vers une

solution unique ?

Comme nous l’avons mentionn´e dans la section pr´ec´edente, la r´esolution des probl`emes

d’optimisation monobjectif, le leader que chaque particule utilise pour mettre `a jour sa

position est d´etermin´e une fois une topologie de voisinage est ´etablie. Cependant, dans le

cas des probl`emes d’optimisation multi-objectif, chaque particule peut avoir un ensemble

de diff´erents leaders dont un seul peut ˆetre s´electionn´e dans le but de mettre `a jour sa

position. Cet ensemble des leaders est g´en´eralement stock´e dans un endroit diff´erent de

l’essaim, que nous appellerons archive externe. Toutes les solutions non domin´ees trouv´ees

sont stock´ees dans cette archive. Les solutions contenues dans l’archive externe sont

uti-lis´ees en tant que dirigeants lorsque les positions des particules de l’essaim doivent ˆetre

mises `a jour. En outre, le contenu de l’archive externe sera la sortie finale de l’algorithme

MOPSO.

Plus pr´ecis´ement, nous d´ecrivons ci-dessous toutes les ´etapes de l’algorithme MOPSO

propos´e pour la r´esolution de probl`emes d’optimisation multi-objectif formul´es plus loin

dans nos travaux [Martinez & Coello Coello, 2011 ; Carvalho & Pozo, 2012 ; Moslemi &

Zandieh, 2011] :

1. initialiser la population des particules,

(a) Pour i de 1 `a P opfaire

(b) Initialiserxi

2. initialiser la vitesse de chaque particulevi,

(b) Initialiser vi = 0

3. ´evaluer chaque particule dans la populationP op,

4. m´emoriser les postions des particules qui pr´esentent des vecteurs non domin´es dans

l’archiveA,

5. g´en´erer les hyper-cubes de l’espace de recherche explor´e. Il s’agit de localiser les

particules en utilisant des hyper-cubes comme un syst`eme de coordonn´es dans lequel

les coordonn´es de chaque particule sont d´efinis selon les valeurs de ses fonctions

objectifs,

6. initialiser la m´emoire de chaque particule. Cette m´emoire, qui sert `a guider les

particules pour se d´eplacer `a travers l’espace de recherche, est stock´ee dans l’archive :

Pouri de 1 `a P op faire

P besti =xi

7. Tant que le nombre maximum d’it´erations n’est pas atteint Faire

(a) Calculer la vitesse de chaque particule :

vi =wvi+c1r1(P bestixi) +c2r2(Ahxi) (3.17)

avec Ah est une valeur prise `a partir de l’archive.

L’indicehest choisi de la fa¸con suivante : les hyper-cubes contenant plus d’une

particule se voient attribuer une fitness ´egale au r´esultat de la division d’un

nombre N > 1 par le nombre des particules qu’ils contiennent. Ensuite, on

applique la s´election par roulette en utilisant les valeurs de la fitness pour

choisir l’hyper-cube dont nous prendrons la particule correspondante. Une fois

l’hyper-cube est s´electionn´e, on choisit au hasard une particule. [Chiu et al.,

2007 ; Reyes-Sierra & Coello.Coello, 2006].

(b) Calculer les nouvelles positions des particules en ajoutant les vitesses produites

trouv´ees aux positions de l’´etape pr´ec´edente :

xi =xi+vi (3.18)

(c) Maintenir les particules dans l’espace de recherche dans le cas o`u elles vont

au-del`a de leurs fronti`eres et ´eviter de g´en´erer des solutions qui ne se trouvent pas

dans l’espace de recherche valide. Quand une variable de d´ecision va au-del`a

de fronti`eres de l’espace de recherche, alors soit on prend la valeur de la limite

3.3. Algorithme MOPSO propos´e 79

correspondante (limite inf´erieure ou limite sup´erieure) ou bien, la vitesse de la

particule sera multipli´ee par 1 de sorte qu’elle effectuera des recherches dans

le sens oppos´e.

(d) Evaluer chacune des particules dans la population.

(e) Mettre `a jour le contenu de l’archive avec la repr´esentation g´eographique des

particules dans les hyper-cubes [Herrero et al., 2008 ; Reyes-Sierra & Coello.Coello,

2006]. Cette mise `a jour consiste `a ins´erer toutes les positions actuellement

non-domin´ees dans l’archive. Toutes les positions, solutions domin´ees du r´ef´erentiel,

sont ´elimin´ees dans le processus de recherche. Comme la taille de l’archive est

li-mit´ee, chaque fois qu’il est plein on applique un crit`ere secondaire de r´etention.

Les particules situ´ees dans les zones les moins peupl´ees de l’espace de recherche

sont prioritaires par rapport `a ceux situ´ees dans les r´egions tr`es peupl´ees.

(f ) Lorsque la position actuelle de la particule est meilleure que la position m´emoris´ee,

elle sera mise `a jour comme suit :

P besti =xi (3.19)

Le crit`ere utilis´e pour d´ecider quelle position, d´ej`a m´emoris´ee, devrait ˆetre

retenue consiste tout simplement `a appliquer la dominance de Pareto [Shokrian

& Ann Highb, 2014]. Si la position actuelle est domin´ee par celle m´emoris´ee,

alors la position dans la m´emoire est conserv´ee. Sinon, cette position actuelle

remplace celle en m´emoire. Si aucune des positions n’est domin´ee, alors on

s´electionne au hasard une position parmi l’ensemble m´emoris´e.

(g) Incr´ementer le compteur de boucle et refaire les ´etapes pr´ec´edentes.

8. Fin tant que