• Aucun résultat trouvé

CHAPITRE 5 CONCEPTION DES LOIS DE COMMANDE POUR LE PILOTE

5.5 Calcul des gains du pilote automatique par m´ ethode d’optimisation

5.5.1 M´ ethode d’optimisation par essaim particulaire

L’optimisation par essaim particulaire, comme l’algorithme g´en´etique, est un algorithme ´

evolutionnaire qui s’inspire de la nature, plus pr´ecis´ement du comportement d’animaux ´

evoluant en essaim comme les bancs de poissons, les insectes ou les oiseaux. Ces ˆetres vivants ne sont pas dot´es d’une grande intelligence, mais poss`edent une capacit´e de collaboration extraordinaire qui leur permet de se d´evelopper et survivre dans des environnements inconnus. Pour cela, ils utilisent des r`egles de vie et de d´eplacement tr`es simples comme par exemple rester le plus pr`es du groupe ou avoir la mˆeme vitesse que le groupe.

Le comportement d’une particule au sein d’un groupe d´epend de plusieurs facteurs. En plus d’ˆetre fonction de sa position x et sa vitesse v, son d´eplacement d´epend aussi de son r´eseau social et de son mim´etisme. En effet, chaque particule est dot´ee d’une m´emoire qui lui permet de se souvenir de la meilleure position (meilleure solution) qu’elle a visit´ee et d’une capacit´e de communication qui lui permet d’´echanger avec les autres. Ainsi, une particule peut connaˆıtre la meilleure position qu’aura occup´ee le groupe.

De ces observations, Reynolds, Heppener et Grenander [6] ont d´evelopp´e le mod`ele suivant qui permet de d´ecrire le comportement d’essaim de particules :

vi+1 = c1vi+ c2(xp− xi) + c3(xg− xi) (5.62)

xi+1 = xi+ vi+1∆t (5.63)

o`u ∆t = 1 s, (xi, vi) sont la position et la vitesse d’une particule `a l’it´eration i, xp est la

meilleure position personnelle de la particule, xg est la meilleure position connue du groupe,

c1 est le coefficient d’inertie et (c2, c3) sont les coefficients sociaux.

Le coefficient d’inertie (c1) permet de quantifier le caract`ere aventureux de la particule,

c’est-`a-dire sa tendance `a suivre une trajectoire ind´ependamment du groupe. Plus sa valeur est grande, plus la particule aura tendance `a s’´eloigner du groupe pour augmenter sa zone de recherche. Inversement, plus l’inertie est petite, plus la particule aura tendance `a rester autour du groupe. Selon [6], une fa¸con de trouver un compromis est de faire diminuer l’inertie au cours du temps de fa¸con lin´eaire entre 0.9 et 0.4. Ceci permet d’avoir une meilleure connaissance de l’espace des param`etres et donc de d’augmenter les chances de converger vers un optimum.

Les coefficients (c2, c3) repr´esentent le caract`ere social de la particule au sein du groupe.

Plus c2 est grand, plus la particule aura tendance `a ˆetre conservatrice, c’est-`a-dire `a rester

autour de sa meilleure position et donc de suivre son propre instinct. Inversement, plus c3

est grand, plus elle aura tendance `a suivre la meilleure particule et donc le groupe. Il est commun de poser :

c2 = r2ρ2 (5.64)

c3 = r3ρ3 (5.65)

o`u r2 et r3 sont des param`etres al´eatoires qui suivent une loi uniforme sur [0,1] et (ρ2, ρ3)

arbitrairement ρ2 = ρ3 = 2.

La proc´edure compl`ete de l’algorithme d’optimisation par essaim particulaire est repr´esent´e sur l’algorithme 3.

Algorithme 3 Optimisation par essaim particulaire (PSO)

1: fonction PSO(N, xmin, xmax, ε, kmax) %N = nombre de particules

2: k ← 0

3: (x, v, fp, fg) ← particulesIntiales(f, N, xmin, xmax) %(voir algorithme 4)

4: tant que k < kmax ou f (xg) ≥ ε faire

5: pour i = 1 `a N faire 6: si f (xi) < fg alors 7: fg ← f (xi) 8: xg ← xi 9: fin si 10: fin pour 11: pour i = 1 `a N faire 12: si f (xi) < fpi alors 13: fpi ← f (xi) 14: xpi ← xi 15: fin si 16: fin pour 17: pour i = 1 `a N faire 18: c1 ← −0.5k/kmax+ 0.9 19: ρ2 ← aleatoire([0, 1]) 20: ρ3 ← aleatoire([0, 1]) 21: c2 ← 2ρ2 22: c3 ← 2ρ3 23: vi ← c1vi+ c2(xpi − xi) + c3(xg− xi) 24: xi ← xi+ vi 25: fin pour 26: k ← k + 1

27: fin tant que

28: retourner xg, fg, k

29: fin fonction

Pour commencer l’algorithme, il nous faut au pr´ealable une population initiale de particules. Pour cela, il est possible de choisir N particules dont les positions sont choisies al´eatoirement dans l’espace des solutions possibles, comme illustr´e dans l’algorithme 4.

Algorithme 4 Initialisation de la position des particules

1: fonction particulesIntiales(f, N, xmin, xmax)

2: fg ← 1000

3: pour i ← 1, N faire

4: xi ← aleatoire([xmin, xmax])

5: xpi ← xi 6: fpi ← f (xi) 7: si f (xi) < fg alors 8: fg ← f (xi) 9: xg ← xi 10: fin si 11: vi ← 0 12: fin pour 13: retourner x, v, fp, fg 14: fin fonction

Pour v´erifier l’efficacit´e de l’algorithme au complet, comme dans le chapitre 3, nous l’avons appliqu´e sur la fonction d’Ackley. Nous rappelons que la fonction en question est donn´ee par l’´equation ci-dessous :

f (x, y) = −20e  −0.2√0.5(x2+y2)  − e  0.5 cos(2πx)+cos(2πy)  + 20 + e (5.66) Nous avons lanc´e algorithme plusieurs fois de suite pour avoir une id´ee du pourcentage de r´eussite. La Figure 5.20, montre les r´esultats obtenus sur 100 essais, avec 50 particules et une zone de recherche de [−100, 100] pour x et y. Comme nous pouvons le voir, sur les 100 essais, l’algorithme converge 100 fois sur le minimum global.

0 10 20 30 40 50 60 70 80 90 100 0 0.5 1 1.5 2 2.5 3 3.5 4 x 10−5

Numéros des essais

min[f]

Figure 5.20 Validation de l’algorithme PSO sur la fonction d’Ackley

la m´ethode au contrˆole externe, certain des crit`eres que l’on imposera auront tendance `a cr´eer des zones o`u la fonction `a minimiser est plate. Pour s’assurer que l’algorithme soit capable de chercher un minimum mˆeme en pr´esence de zones o`u la d´ecroissance est nulle, nous l’avons essay´e sur la fonction d’Easom d´efinie par :

f (x, y) = − cos(x) cos(y)exp − (x − π)2− (y − π)2 + 1 (5.67)

et dont la repr´esentation autour de son unique minimum est illustr´e sur la figure ci-dessous :

1 2 3 4 5 1 2 3 4 5 0 0.5 1 y x f(x,y)

Figure 5.21 Repr´esentation de la fonction d’Easom

En prenant 50 particules sur une zone de recherche de [−100, 100] × [−100, 100], sur 100 essais, nous obtenons 100% de r´eussite comme le montre le diagramme ci-dessous :

0 10 20 30 40 50 60 70 80 90 100 0 1 2 3 4 x 10−7

Numéros des essais

min[f]

Figure 5.22 Validation de l’algorithme PSO sur la fonction d’Easom

Ces deux exemples illustrent bien l’efficacit´e de l’algorithme d’optimisation par essaim particulaire, en d´emontrant sa capacit´e `a aller rechercher un minimum global l`a o`u des algorithmes classiques (m´ethodes Quasi-Newton, m´ethode du gradient, etc.) resteraient bloqu´es soit dans un minimum local soit sur une r´egion plate.