• Aucun résultat trouvé

3.3.1 Méthodes de descente

N/A
N/A
Protected

Academic year: 2021

Partager "3.3.1 Méthodes de descente"

Copied!
11
0
0

Texte intégral

(1)

3.3 Algorithmes d’optimisation sans contrainte

SoitfC(IRn,IR). On suppose qu’il existex¯ ∈IRntel quefx) = inf

IRnf.

On cherche à calculerx¯(sifest de classeC1, on a nécessairement∇fx) = 0). On va donc maintenant dévelop- per des algorithmes (ou méthodes de calcul) du pointx¯qui réalise le minimum def. Il existe deux grandes classes de méthodes :

— Les méthodes dites “directes” ou bien “de descente”, qui cherchent à construire une suite minimisante, c.à.d.

une suite(x(k))k∈INtelle que :

f(x(k+1))≤f(x(k)), x(k)x¯quandk→+∞.

— Les méthodes basées sur l’équation d’Euler, qui consistent à chercher une solution de l’équation (dite d’Eu- ler)∇f(x) = 0(ces méthodes nécessitent donc quef soit dérivable).

3.3.1 Méthodes de descente

Définition 3.17. SoitfC(IRn,IR).

1. Soitx∈IRn, on dit quew∈IRn\ {0}est une direction de descente enxs’il existeα0>0tel que f(x+αw)f(x), ∀α∈[0, α0]

2. Soitx∈IRn, on dit quew∈IRn\ {0}est une direction de descente stricte enxsi s’il existeα0 >0tel que

f(x+αw)< f(x), ∀α∈]0, α0].

3. Une “méthode de descente" pour la recherche dex¯ tel quefx) = inf

IRnf consiste à construire une suite (xk)k∈INde la manière suivante :

(a) Initialisation :x(0)∈IRn;

(b) Itérationk: on supposex(0), . . . ,x(k)connus (k≥0) ; i. On cherchew(k)direction de descente stricte enx(k)

ii. On prendx(k+1)=x(k)+αkw(k)avecαk>0“bien choisi".

Proposition 3.18(Caractérisation des directions de descente). SoientfC1(IRn,IR),x∈IRnetw∈IRn\{0}; alors

1. siwdirection de descente enxalorsw· ∇f(x)≤0

2. si∇f(x)6= 0alorsw=−∇f(x)est une direction de descente stricte enx.

DÉMONSTRATION

Soitw∈IRn\ {0}une direction de descente enx: alors par définition,

α0>0tel quef(x+αw)f(w),α∈[0, α0].

Soitϕla fonction deIRdansIRdéfinie par :ϕ(α) =f(x+αw). On aϕC1(IR,IR)etϕ(α) =∇f(x+αw)·w.

Commewest une direction de descente, on peut écrire :ϕ(α)ϕ(0),α∈[0, α0], et donc

α∈]0, α0[, ϕ(α)ϕ(0)

α ≤0;

en passant à la limite lorsqueαtend vers 0, on déduit queϕ(0)≤0,c.à.d.∇f(x)·w≤0.

(2)

1.

2. Soitw =−∇f(x)6= 0. On veut montrer qu’il existeα0 >0tel que siα∈]0, α0]alorsf(x+αw)< f(x)ou encore queϕ(α)< ϕ(0)ϕest la fonction définie en 1 ci-dessus. On a :ϕ(0) =∇f(x)·w=−|∇f(x)|2<0.

Commeϕest continue, il existeα0>0tel que siα∈[0, α0]alorsϕ(α)<0. Siα∈]0, α0]alorsϕ(α)ϕ(0) = Rα

0 ϕ(t)dt < 0,et on a donc bienϕ(α) < ϕ(0)pour toutα∈]0, α0], ce qui prouve quewest une direction de descente stricte enx.

Algorithme du gradient à pas fixe SoientfC1(E,IR)etE = IRn. On se donneα >0.







Initialisation : x(0)E,

Itérationk: x(k)connu,(k≥0) w(k)=−∇f(x(k)), x(k+1)=x(k)+αw(k).

(3.20)

Théorème 3.19(Convergence du gradient à pas fixe). SoientE= IRnetfC1(E,IR)vérifiant les hypothèses 3.10a et 3.10b de la proposition 3.13. La fonctionf est donc strictement convexe et croissante à l’infini, et admet donc un unique minimum. De plus, si0< α <

M2 alors la suite(x(k))k∈INconstruite par(3.20)converge vers

¯

xlorsquek→+∞.

DÉMONSTRATION

Montrons la convergence de la suite construite par l’algorithme de gradient à pas fixe en nous ramenant à un algorithme de point fixe. On poseh(x) =xαf(x). L’algorithme du gradient à pas fixe est alors un algorithme de point fixe pourh.

x(k+1)=x(k)αf(x(k)) =h(x(k)).

Grâce au théorème 2.8 page 154, on sait quehest strictement contractante si 0< α <

M2.

Donc la suite(x(k))k∈INconverge vers l’unique point fixex¯deh, caractérisé par

¯

x=h(¯x) = ¯xαf(¯x) On a donc∇f(¯x) = 0, et, commefest strictement convexe,f(¯x) = inf

Ef.

Algorithme du gradient à pas optimal L’idée de l’algorithme du gradient à pas optimal est d’essayer de calculer à chaque itération le paramètre qui minimise la fonction dans la direction de descente donnée par le gradient. Soient fC1(E,IR)etE= IRn, cet algorithme s’écrit :















Initialisation : x(0)∈IRn. Itérationn: x(k)connu.

On calculew(k)=−∇f(x(k)).

On choisitαk ≥0tel que

f(x(k)+αkw(k))≤f(x(k)+αw(k)) ∀α≥0.

On posex(k+1)=x(k)+αkw(k).

(3.21)

Les questions auxquelles on doit répondre pour s’assurer du bien fondé de ce nouvel algorithme sont les suivantes : 1. Existe–t–ilαktel quef(x(k)+αkw(k))≤f(x(k)+αw(k)),∀α≥0?

2. Comment calcule–t’onαk?

3. La suite(x(k))k∈INconstruite par l’algorithme converge–t–elle?

(3)

La réponse aux questions 1. et 3. est apportée par le théorème suivant :

Théorème 3.20(Convergence du gradient à pas optimal).

SoitfC1(IRn,IR)telle quef(x)→+∞quand|x| →+∞. Alors :

1. La suite(x(k))k∈INest bien définie par (3.21). On choisitαk >0tel quef(x(k)kw(k))≤f(xk+αw(k))

α≥0(αkexiste mais n’est pas nécessairement unique).

2. La suite (x(k))k∈IN est bornée et si(x(k))∈IN est une sous suite convergente, i.e. x(k)x lorsque →+∞, on a nécessairement∇f(x) = 0. De plus sif est convexe on af(x) = inf

IRnf 3. Sifest strictement convexe on a alorsx(k)x¯quandk→+∞, avecfx) = inf

IRnf

La démonstration de ce théorème fait l’objet de l’exercice 113. On en donne ici les idées principales.

1. On utilise l’hypothèsef(x)→+∞quand|x| →+∞pour montrer que la suite(x(k))k∈INconstruite par (3.21) existe : en effet, àx(k)connu,

1er cas : si∇f(x(k)) = 0, alorsx(k+1)=x(k)et doncx(p)=x(k)pk,

2ème cas : si∇f(x(k))6= 0, alorsw(k)=∇f(x(k))est une direction de descente stricte.

Dans ce deuxième cas, il existe doncα0tel que

f(x(k)+αw(k))< f(x(k)),∀α∈]0, α0]. (3.22) De plus, commew(k) 6= 0,|x(k)+αw(k)| → +∞quandα→+∞et doncf(x(k)+αw(k))−→ +∞ quandα→+∞. Il existe doncM >0tel que siα > Malorsf(xk+αw(k))≥f(x(k)).On a donc :

α∈IRinf+f(x(k)+αw(k)) = inf

α∈[0,M]f(x(k)+αw(k)).

Comme[0, M]est compact, il existeαk ∈ [0, M]tel quef(xk +αkw(k)) = inf

α∈[0,M]f(xk+αw(k)).De plus on a grâce à (3.22) queαk >0.

2. Le point 2. découle du fait que la suite(f(x(k)))k∈IN est décroissante, donc la suite(x(k))k∈IN est bornée (car f(x) → +∞ quand|x| → +∞). On montre ensuite que si x(k)x lorsque → +∞alors

f(x) = 0(ceci est plus difficile, les étapes sont détaillées dans l’exercice 113).

Reste la question du calcul deαk, qui est le paramètre optimal dans la direction de descentew(k), c.à.d. le nombre réel qui réalise le minimum de la fonctionϕdeIR+ dansIR définie par :ϕ(α) = f(x(k)+αw(k)). Comme αk >0etϕ(αk)≤ϕ(α)pour toutα∈IR+, on a nécessairement

ϕk) =∇f(x(k)+αkw(k)w(k)= 0.

Cette équation donne en général le moyen de calculerαk.

Considérons par exemple le cas (important) d’une fonctionnelle quadratique,i.e.f(x) = 12Ax·xb·x,Aétant une matrice symétrique définie positive. Alors∇f(x(k)) =Ax(k)b, et donc

f(x(k)+αkw(k)w(k)= (Ax(k)+αkAw(k)b)·w(k)= 0.

On a ainsi dans ce cas une expression explicite deαk, avecr(k)=bAx(k), αk =(b−Ax(k)w(k)

Aw(k)·w(k) = r(k)·w(k)

Aw(k)·w(k) (3.23)

Remarquons queAw(k)·w(k)6= 0(carAest symétrique définie positive).

Dans le cas d’une fonctionf générale, on n’a pas en général de formule explicite pourαk. On peut par exemple le calculer en cherchant le zéro defpar la méthode de la sécante ou la méthode de Newton. . .

L’algorithme du gradient à pas optimal est donc une méthode de minimisation dont on a prouvé la convergence. Ce- pendant, cette convergence est lente (en général linéaire), et de plus, l’algorithme nécessite le calcul du paramètre αk optimal.

(4)

Algorithme du gradient à pas variable Dans ce nouvel algorithme, on ne prend pas forcément le paramètre optimal pourα, mais on lui permet d’être variable d’une itération à l’autre. L’algorithme s’écrit :











Initialisation : x(0) ∈IRn.

Itération : On supposex(k)connu ; soitw(k)=−∇f(x(k))où : w(k)6= 0 (siw(k)= 0l’algorithme s’arrête).

On prendαk>0tel quef(x(k)+αkw(k))< f(xk).

On posex(k+1)=x(k)+αkw(k).

(3.24)

Théorème 3.21(Convergence du gradient à pas variable).

SoitfC1(IRn,IR)une fonction telle quef(x)→+∞quand|x| →+∞, alors : 1. On peut définir une suite(x(k))k∈INpar (3.24).

2. La suite(x(k))k∈INest bornée. Six(k)xquand→+∞et si∇f(x(k))→0quand→+∞alors

f(x) = 0. Si de plusfest convexe on af(x) = inf

IRnf

3. Si∇f(x(k))→0quandk→+∞et sifest strictement convexe alorsx(k)x¯ etfx) = inf

IRnf.

La démonstration s’effectue facilement à partir de la démonstration du théorème précédent : reprendre en l’adaptant l’exercice 113.

3.3.2 Algorithme du gradient conjugué

La méthode du gradient conjugué a été découverte en 1952 par Hestenes et Steifel pour la minimisation de fonctions quadratiques, c’est-à-dire de fonctions de la forme

f(x) =1

2Ax·xb·x,

A∈Mn(IR)est une matrice symétrique définie positive etb∈IRn. On rappelle (voir le paragraphe 3.2.2) que fx) = inf

IRnfAx¯ =b.

L’idée de la méthode du gradient conjugué est basée sur la remarque suivante : supposons qu’on sache construiren vecteurs (les directions de descente)w(0),w(1), . . . ,w(n−1)libres et tels quer(n)·w(p)= 0pour toutp < n. On a alorsr(n)=0: en effet la famille(w(0),w(1), . . . ,w(n−1))engendreIRn; le vecteurr(n)est alors orthogonal à tous les vecteurs d’uneIRn, et il est donc nul.

Pour obtenir une famille libre de directions de descente stricte, on va construire les vecteursw(0), w(1), . . . , w(n−1)de manière à ce qu’ils soient orthogonaux pour le produit scalaire induit parA. Nous allons voir que ce choix marche (presque) magnifiquement bien. Mais avant d’expliquer pourquoi, écrivons une méthode de descente à pas optimal pour la minimisation def, en supposant les directions de descentew(0)connues.

On part dex(0)dansIRn donné ; à l’itérationk, on suppose quer(k)=bAx(k)6=0(sinon on ax(k)= ¯xet on a fini). On calcule le paramètreαkoptimal dans la directionw(k)par la formule (3.23). Et on calcule ensuite le nouvel itéré :

x(k+1)=x(k)+αkw(k). Notons quer(k+1)=bAx(k+1)et donc

r(k+1)=r(k)αkAw(k). (3.25)

De plus, par définition du paramètre optimalαk, on a∇f(x(k+1)w(k)= 0et donc

r(k+1)·w(k)= 0 (3.26)

(5)

Ces deux dernières propriétés sont importantes pour montrer la convergence de la méthode. Mais il nous faut maintenant choisir les vecteursw(k)qui soient des directions de descente strictes et qui forment une famille libre.

A l’étape 0, il est naturel de choisir la direction opposée du gradient : w(0)=−∇f(x(0)) =r(0).

A l’étapek ≥1, on choisit la direction de descentew(k)comme combinaison linéaire der(k)et dew(k−1), de manière à ce quew(k)soit orthogonal àw(k−1)pour le produit scalaire associé à la matriceA.

w(0)=r(0), (3.27a)

w(k)=r(k)+λkw(k−1), avecw(k)·Aw(k−1)= 0, pourk≥1. (3.27b) La contrainte d’orthogonalitéAw(k)·w(k−1)= 0impose le choix du paramètreλk suivant :

λk =− r(k)·Aw(k−1) w(k−1)·Aw(k−1).

Remarquons que sir(k)6=0alorsw(k)·r(k)>0carw(k)·r(k)=r(k)·r(k)en raison de la propriété (3.26). On a doncw(k)· ∇f(x(k))<0, ce qui montre quew(k)est bien une direction de descente stricte.

On a donc (on a déjà fait ce calcul pour obtenir la formule (3.23) du paramètre optimal) αk = r(k)·w(k)

Aw(k)·w(k) = r(k)·r(k)

Aw(k)·w(k). (3.28)

On suppose quer(k)6=0pour toutk∈ {0, . . . , n−1}. Montrons alors par récurrence que pourk= 1, . . . , n−1, on a :

(i)k r(k)·w(p)= 0sip < k, (ii)k r(k)·r(p)= 0sip < k, (iii)k Aw(k)·w(p)= 0sip < k,

Ces relations sont vérifiées pourk = 1. Supposons qu’elles le sont jusqu’au rangk, et montrons qu’elles le sont au rangk+ 1.

(i)k+1: Pourp=k, la relation(i)k+1est verifiée au rangk+ 1grâce à (3.26) ; pourp < k, on a r(k+1)·w(p)=r(k)·w(p)αkAw(k)·w(p)= 0

par (3.25) et hypothèse de récurrence.

(ii)k+1: Par les relations (3.27b) et(i)k+1, on a, pourpk,

r(k+1)·r(p)=r(k+1)·(w(p)λpw(p−1)) = 0.

(iii)k+1: Pourp=kla relation(iii)k+1est vérifiée grâce au choix deλk+1. Pourp < k, on remarque que, avec (3.27b) et(iii)k

w(k+1)·Aw(p)= (r(k+1)+λk+1w(k)Aw(p)=r(k+1)·Aw(p).

On utilise maintenant (3.25) et(i)k+1pour obtenir w(k+1)·Aw(p)= 1

αp

r(k+1)·(r(p)r(p+1)) = 0.

On a ainsi démontré la convergence de la méthode du gradient conjugué.

(6)

Mettons sous forme algorithmique les opérations que nous avons exposées, pour obtenir l’algorithme du gradient conjugué.

Algorithme 3.22(Méthode du gradient conjugué).

1. Initialisation

Soitx(0)∈IRn, et soitr(0)=bAx(0)=−∇f(x(0)).

Sir(0)=0, alors Ax(0)=bet doncx(0)= ¯x, auquel cas l’algorithme s’arrête.

Sinon, on pose

w(0) =r(0), et on choisitα0optimal dans la directionw(0).On pose alors

x(1)=x(0)+α0w(0).

2. Itérationk,1≤kn−1; on supposex(0), . . . ,x(k)etw(0), . . . ,w(k−1)connus et on pose r(k)=bAx(k).

Sir(k)=0, alors Ax(k)=bet doncx(k)= ¯x, auquel cas l’algorithme s’arrête.

Sinon on pose

w(k)=r(k)+λk−1w(k−1), avecλk−1tel que

w(k)·Aw(k−1)= 0,

et on choisitαkoptimal dans la directionw(k), donné par(3.23). On pose alors x(k+1)=x(k)+αkw(k).

Nous avons démontré plus haut la convergence de l’algorithme, résultat que nous énonçons dans le théorème suivant.

Théorème 3.23 (Convergence de l’algorithme du gradient conjugué). Soit A une symétrique définie positive, A∈Mn(IR),b∈IRnetf(x) =1

2Ax·xb·x. L’algorithme(3.22)définit une suite(x(k))k=0,...,pavecpn telle quex(p)= ¯xavecAx¯=b.On obtient donc la solution exacte de la solution du système linéaireAx=ben moins denitérations.

Efficacité de la méthode du gradient conjugué On peut calculer le nombre d’opérations nécessaires pour cal- culerx¯ (c.à.d. pour calculerx(n), sauf dans le cas miraculeux oùx(k) = ¯xpourk < n) et montrer (exercice) que :

Ngc = 2n3+O(n2).

On rappelle que le nombre d’opérations pour Choleski est n3

6 donc la méthode du gradient conjugué n’est pas intéressante comme méthode directe car elle demande 12 fois plus d’opérations que Choleski.

On peut alors se demander si la méthode est intéressante comme méthode itérative, c.à.d. si on peut espérer que x(k)soit “proche de x" pour “k¯ ≪ n". Malheureusement, si la dimensionndu système est grande, ceci n’est pas le cas en raison de l’accumulation des erreurs d’arrondi. Il est même possible de devoir effectuer plus den itérations pour se rapprocher dex. Cependant, dans les années 80, des chercheurs se sont rendus compte que ce¯ défaut pouvait être corrigé à condition d’utiliser un “préconditionnement". Donnons par exemple le principe du préconditionnement dit de “Choleski incomplet".

(7)

Méthode du gradient conjugué préconditionné par Choleski incomplet On commence par calculer une “ap- proximation" de la matrice de Choleski deAc.à.d. qu’on chercheLtriangulaire inférieure inversible telle que Asoit “proche” deLLt, en un sens à définir. Si on posey = Ltx, alors le systèmeAx= bpeut aussi s’écrire L−1A(Lt)−1y =L−1b, et le système(Lt)−1y =xest facile à résoudre carLtest triangulaire supérieure. Soit B∈Mn(IR)définie parB=L−1A(Lt)−1, alors

Bt= ((Lt)−1)tAt(L−1)t=L−1A(Lt)−1=B et doncBest symétrique. De plus,

Bx·x=L−1A(Lt)−1x·x=A(Lt)−1x·(Lt)−1x,

et donc Bx· x > 0 si x 6= 0. La matriceB est donc symétrique définie positive. On peut donc appliquer l’algorithme du gradient conjugué à la recherche du minimum de la fonctionfdéfinie par

f(y) = 1

2By·yL−1b·y.

On en déduit l’expression de la suite(y(k))k∈INet donc(x(k))k∈IN.

On peut alors montrer (voir exercice 120) que l’algorithme du gradient conjugué préconditionné ainsi obtenu peut s’écrire directement pour la suite(x(k))k∈IN, de la manière suivante :

ItérationkOn poser(k)=bAx(k), on calcules(k)solution deLLts(k)=r(k). On pose alorsλk−1= s(k)·r(k)

s(k−1)·r(k−1) etw(k)=s(k)+λk−1w(k−1). Le paramètre optimalαka pour expression :

αk= s(k)·r(k) Aw(k)·w(k), et on pose alorsx(k+1)=x(k)+αkw(k).

Le choix de la matriceLpeut se faire par exemple dans le cas d’une matrice creuse, en effectuant une factorisation

“LLt" incomplète, qui consiste à ne remplir que certaines diagonales de la matriceLpendant la factorisation, et laisser les autres à 0.

Méthode du gradient conjugué pour une fonction non quadratique. On peut généraliser le principe de l’al- gorithme du gradient conjugué à une fonctionf non quadratique. Pour cela, on reprend le même algorithme que (3.22), mais on adapte le calcul deλk−1etαk.

Itérationn:

Ax(0), . . . ,x(k)etw(0), . . . , w(k−1)connus, on calculer(k)=−∇f(x(k)).

Sir(k) = 0alors∇f(x(k)) = 0auquel cas l’algorithme s’arrête (le pointx(k)est un point critique de f et il minimisef sifest convexe).

Sir(k)6= 0, on posew(k)=r(k)+λk−1w(k−1)λk−1peut être choisi de différentes manières : 1ère méthode (Fletcher–Reeves)

λk−1= r(k)·r(k) r(k−1)·r(k−1), 2ème méthode (Polak–Ribière)

λk−1= (r(k)r(k−1)r(k) r(k−1)·r(k−1) .

(8)

On pose alorsx(k+1)=x(k)+αkw(k),αkest choisi, si possible, optimal dans la directionw(k). La démonstration de la convergence de l’algorithme de Polak–Ribière fait l’objet de l’exercice 122 page 241.

En résumé, la méthode du gradient conjugué est très efficace dans le cas d’une fonction quadratique à condition de l’utiliser avec préconditionnement. Dans le cas d’une fonction non quadratique, le préconditionnement ne se trouve pas de manière naturelle et il vaut donc mieux réserver cette méthode dans le cas “npetit".

3.3.3 Méthodes de Newton et Quasi–Newton

SoitfC2(IRn,IR)etg=∇fC1(IRn,IRn). On a dans ce cas : f(x) = inf

IRnfg(x) = 0.

Si de plusf est convexe alors on ag(x) = 0f(x) = inf

IRnf.Dans ce cas d’équivalence, on peut employer la méthode de Newton pour minimiserf en appliquant l’algorithme de Newton pour chercher un zéro deg =∇f. On aD(f) =HfHf(x)est la matrice hessienne def enx. La méthode de Newton s’écrit dans ce cas :

Initialisation x(0)∈IRn,

Itérationk Hf(x(k))(x(k+1)x(k)) =−∇f(x(k)). (3.30) Remarque 3.24. La méthode de Newton pour minimiser une fonctionf convexe est une méthode de descente.

En effet, si Hf(x(k)) est inversible, on ax(k+1)x(k) = [Hf(x(k))]−1(−∇f(x(k)))soit encore x(k+1) = x(k)+αkw(k)αk= 1etw(k)= [Hf(x(k))]−1(−∇f(x(k))).Sifest convexe,Hfest une matrice symétrique positive (déjà vu). Comme on supposeHf(x(k))inversible par hypothèse, la matriceHf(x(k))est donc symétrique définie positive.

On en déduit quew(k)= 0si∇f(x(k)) = 0et, si∇f(x(k))6= 0,

w(k)· ∇f(x(k)) = [Hf(x(k))]−1f(x(k))· ∇f(x(k))>0, ce qui est une condition suffisante pour quew(k)soit une direction de descente stricte.

La méthode de Newton est donc une méthode de descente avecw(k)=−Hf(x(k))−1(∇f(x(k)))etαk = 1.

On peut aussi remarquer, en vertu du théorème 2.19 page 169, que sifC3(IRn,IR), six¯est tel que∇fx) = 0 et siHfx) = D(f)(¯x)est inversible alors il existeε > 0tel que six0B(¯x, ε), alors la suite(x(k))k est bien définie par (3.30) etx(k)x¯lorsquek→+∞.De plus, d’après la proposition 2.16, il existeβ >0tel que

|x(k+1)x¯| ≤β|x(k)x¯|2pour toutk∈IN.

Remarque 3.25(Sur l’implantation numérique). La convergence de la méthode de Newton est très rapide, mais nécessite en revanche le calcul deHf(x), qui peut s’avérer impossible ou trop coûteux.

On va maintenant donner des variantes de la méthode de Newton qui évitent le calcul de la matrice hessienne.

Proposition 3.26. SoientfC1(IRn,IR), x ∈ IRn tel que ∇f(x) 6= 0, et soitB ∈ Mn(IR)une matrice symétrique définie positive ; alorsw=−Bf(x)est une direction de descente stricte enx.

DÉMONSTRATION– On a :w· ∇f(x) =Bf(x)· ∇f(x)<0carBest symétrique définie positive et∇f(x)6= 0 doncwest une direction de descente stricte enx. En effet, soitϕla fonction deIRdansIRdéfinie parϕ(α) =f(x+αw).

Il est clair queϕC1(IR,IR),ϕ(α) =∇f(x+αw)·wetϕ(0) =∇f(x)·w <0.Donc∃α0>0tel queϕ(α)<0 siα∈]0, α0[. Par le théorème des accroissements finis,ϕ(α)< ϕ(0)α∈]0, α0[doncwest une direction de descente stricte.

(9)

Méthode de Broyden La première idée pour construire une méthode de type quasi Newton est de prendre comme direction de descente enx(k)le vecteurw(k) =−(B(k))−1(∇f(x(k)))où la matriceB(k)est censée approcher Hf(x(k))(sans calculer la dérivée seconde def). On supposex(k),x(k−1)etB(k−1)connus. Voyons comment on peut déterminerB(k). On peut demander par exemple que la condition suivante soit satisfaite :

f(x(k))− ∇f(x(k−1)) =B(k)(x(k)x(k−1)). (3.31) Ceci est un système ànéquations etn×ninconnues, et ne permet donc pas de déterminer entièrement la matrice B(k) si n > 1. Voici un moyen possible pour déterminer entièrement B(k), dû à Broyden. On pose s(k) = x(k)x(k−1), on suppose ques(k)6= 0, et on posey(k)=∇f(x(k))− ∇f(x(k−1)).On choisit alorsB(k)telle

que :

B(k)s(k)=y(k)

B(k)s=B(k−1)s,ss(k) (3.32)

On a exactement le nombre de conditions qu’il faut avec (3.32) pour déterminer entièrementB(k). Ceci suggère la méthode suivante :

InitialisationSoientx(0)∈IRnetB(0)une matrice symétrique définie positive. On pose w(0)= (B(0))−1(−∇f(x(0)));

alorsw(0)est une direction de descente stricte sauf si∇f(x(0)) = 0.

On pose alors

x(1)=x(0)+α(0)w(0),α(0)est optimal dans la directionw(0).

ItérationkOn supposex(k),x(k−1)etB(k−1)connus,(k≥1), et on calculeB(k)par (3.32). On pose w(k)=−(B(k))−1(∇f(x(k))).

On choisitα(k)optimal enx(k)dans la directionw(k), et on posex(k+1)=x(k)+α(k)w(k).

Le problème avec cet algorithme est que si la matrice estB(k−1)symétrique définie positive, la matriceB(k)ne l’est pas forcément, et doncw(k) n’est pas forcément une direction de descente stricte. On va donc modifier cet algorithme dans ce qui suit.

Méthode de BFGS La méthode BFGS (de Broyden1, Fletcher2, Goldfarb3 et Shanno4) cherche à construire B(k) proche deB(k−1), telle queB(k)vérifie (3.31) et telle que siB(k−1) est symétrique définie positive alors B(k)est symétrique définie positive. On munitMn(IR)d’une norme induite par un produit scalaire, par exemple siA∈Mn(IR)etA= (ai,j)i,j=1,...,non prendkAk=Pn

i,j=1a2i,j1/2

.Mn(IR)est alors un espace de Hilbert.

On supposex(k),x(k−1),B(k−1)connus, et on définit

Ck={B∈Mn(IR)|Bsymétrique, vérifiant (3.31)},

qui est une partie deMn(IR)convexe fermée non vide. On choisit alorsB(k) =PCkB(k−1)PCk désigne la projection orthogonale surCk. La matriceB(k) ainsi définie existe et est unique ; elle est symétrique d’après le choix deCk. On peut aussi montrer que si B(k−1) symétrique définie positive alors B(k) est aussi symétrique définie positive.

1. Broyden, C. G., The Convergence of a Class of Double-rank Minimization Algorithms,Journal of the Institute of Mathematics and Its Applications1970, 6, 76-90

2. Fletcher, R., A New Approach to Variable Metric Algorithms, Computer Journal 1970, 13, 317-322

3. Goldfarb, D., A Family of Variable Metric Updates Derived by Variational Means, Mathematics of Computation 1970, 24, 23-26 4. Shanno, D. F.,Conditioning of Quasi-Newton Methods for Function Minimization , Mathematics of Computation 1970, 24, 647-656

(10)

Avec un choix convenable de la norme surMn(IR), on obtient le choix suivant deB(k)sis(k)6= 0et∇f(x(k))6= 0 (sinon l’algorithme s’arrête) :

B(k)=B(k−1)+ y(k)(y(k))t

(s(k))t·y(k)B(k−1)s(k)(s(k))tB(k−1)

(s(k))tB(k−1)s(k) . (3.33) L’algorithme obtenu est l’algorithme de BFGS.

Algorithme de BFGS





























































Initialisation On choisitx(0)∈IRnet B(0)symétrique définie positive ( par exempleB(0) =Id)et on pose w(0)=−B(0)f(x(0))

si∇f(x(0))6= 0, on choisitα(0)optimal dans la directionw(0), et donc

w(0)est une direction de descente stricte.

On posex(1) =x(0)+α(0)w(0). Itérationk Ax(k),x(k−1)etBk−1connus (k≥1)

On pose

s(k)=x(k)x(k−1) y(k)=∇f(x(k))− ∇f(x(k−1)) sis(k)6= 0et∇f(x(k))6= 0,

on choisitB(k)vérifiant (3.33)

On calculew(k)=−(B(k))−1(∇f(x(k))) (direction de descente stricte enx(k)).

On calculeα(k)optimal dans la directionw(k) et on posex(k+1)=x(k)+α(k)w(k).

(3.34)

On donne ici sans démonstration le théorème de convergence suivant :

Théorème 3.27(Fletcher, 1976). SoitfC2(IRn,IR)telle quef(x)→+∞quand|x| →+∞. On suppose de plus quef est strictement convexe (donc il existe un uniquex¯ ∈IRntel quefx) = infIRnf) et on suppose que la matrice hessienneHfx)est symétrique définie positive.

Alors six(0) ∈IRnet siB(0) est symétrique définie positive, l’algorithme BFGS définit bien une suitex(k)et on ax(k)x¯quandk→+∞

De plus, six(k)6= ¯xpour toutk, la convergence est super linéaire i.e.

|x(k+1)x¯

x(k)x¯ | →0quandk→+∞.

Pour éviter la résolution d’un système linéaire dans BFGS, on peut choisir de travailler sur(B(k))−1au lieu de B(k).



























InitialisationSoitx(0)∈IRnetK(0)symétrique définie positive telle queα0soit optimal dans la direction −K(0)f(x(0)) =w(0) x(1)=x(0)+α0w(0)

Itérationk: Ax(k),x(k−1), K(k−1)connus,k≥1,

on poses(k)=x(k)x(k−1),y(k)=∇f(x(k))− ∇f(x(k−1)) etK(k)=PCkK(k−1).

On calculew(k)=−K(k)f(x(k))et on choisitαk

optimal dans la directionw(k).

On pose alorsx(k+1)=x(k)+αkw(k).

(3.35)

(11)

Remarquons que le calcul de la projection dePCkK(k−1)peut s’effectuer avec la formule (3.33) où on a remplacé B(k−1) par K(k−1). Malheureusement, on obtient expérimentalement une convergence nettement moins bonne pour l’algorithme de quasi-Newton modifié (3.35) que pour l’algorithme de BFGS (3.33).

3.3.4 Résumé sur les méthodes d’optimisation

Faisons le point sur les avantages et inconvénients des méthodes qu’on a vues sur l’optimisation sans contrainte.

Méthodes de gradient :Ces méthodes nécessitent le calcul de∇f(x(k)). Leur convergence est linéaire (donc lente).

Méthode de gradient conjugué :Sifest quadratique (c.à.d.f(x) = 1

2Ax·xb·xavecAsymétrique définie positive), la méthode est excellente si elle est utilisée avec un préconditionnement (pourngrand). Dans le cas général, elle n’est efficace que sinn’est pas trop grand.

Méthode de Newton :La convergence de la méthode de Newton est excellente (convergence localement quadra- tique) mais nécessite le calcul deHf(x(k))(et de∇f(x(k))). Si on peut calculerHf(x(k)), cette méthode est parfaite.

Méthode de quasi Newton : L’avantage de la méthode de quasi Newton est qu’on ne calcule que∇f(x(k)) et pasHf(x(k))). La convergence est super linéaire. Par rapport à une méthode de gradient où on calcule w(k)=−∇f(x(k)), la méthode BFGS nécessite une résolution de système linéaire :

B(k)w(k)=−∇f(x(k)).

Quasi–Newton modifié :

Pour éviter la résolution de système linéaire dans BFGS, on peut choisir de travailler sur(B(k))−1au lieu de B(k), pour obtenir l’algorithme de quasi Newton (3.35). Cependant, on perd alors en vitesse de convergence.

Comment faire si on ne veut (ou peut) pas calculer ∇f(x(k))? On peut utiliser des “méthodes sans gradient", c.à.d. qu’on choisita prioriles directionsw(k). Ceci peut se faire soit par un choix déterministe, soit par un choix stochastique.

Un choix déterministe possible est de calculerx(k)en résolvantnproblèmes de minimisation en une dimen- sion d’espace. Pour chaque directioni= 1, . . . , n, on prendw(n,i) =ei, oùei est lei-ème vecteur de la base canonique, et pouri= 1, . . . , n, on chercheθ∈IRtel que :

f(x(k)1 , x(k)2 , . . . , θ, . . . , x(k)n )≤f(x(k)1 ,x(k)2 , . . . , t, . . . ,x(k)n ),∀t∈IR.

Remarquons que sifest quadratique, on retrouve la méthode de Gauss Seidel.

Références

Documents relatifs

Tri des éléments du jeu de données par les distances dans l’ordre croissant Sélection des k voisins les plus proches : ce sont les k premiers éléments triés à

Pour ceux qui ont fini, reprendre les programmes du TP2, et ´ ecrire une fonction qui r´ esoud un syst` eme lin´ eaire avec l’algorithme du gradient conjugu´ e.. Ecrire une fonction

3.3 Donner les mises à jour des poids d’après l’algorithme de la descente de gradient pour l’apprentissage de l’algorithme de Preceptron..

La phase I (initialisation de l'algorithme ou recherche d'un sommet d'un polyèdre convexe qui se sert de la phase II comme dans l'algorithme du simplexe) est construite sous deux

Nous avons présenté un nouvel algorithme de recherche de l'état d'équilibre d'un oligopole, qui généralise un algorithme précédemment proposé suivant deux directions : la fonction

Le cardinal de l'ensemble préfixe (u) f) suffixe (w) est proportionnel à la longueur de l'équation, et la substitution peut être réalisée en temps proportionnel à la longueur

Dans la deuxième partie, nous définissons une fonction de traduction, permettant l'obtention d'une première forme pour la série à partir d'une expression régulière.. Dans la

En déduire qu’un couplage de poids minimum sur les sommets de degré impair dans T est inférieur ou égal à la moitié du poids de C opt... Préambule : technique pour montrer