Optimisation et optimisation numérique Chapitre 2 : Méthodes de descente et gradient à pas
optimal
Lucie Le Briquer 4 février 2018
Table des matières
1 Gradient à pas optimal 2
2 Recherche linéaire 5
2.1 Recherche linéaire de Wolfe . . . 5 2.2 Convergence des méthodes de descente avec recherche linéaire de Wolfe . . . 7
Principe.(xn), on chercheρ>0 tel quef(xn+ρdn)<
f(xn),du est la direction.
On veutf0(xn)dn >0,h∇f(xn), dni>0. Par exemple si dn=−∇f(xn)alors :
h∇f(xn), dni=−|∇f(xn)|2<0 si∇f(xn)6= 0
→recherche deρpour optimiser la descente.
dn
× xn
× xn+1
dn+1
Remarque.Le choix de dn=−∇f(xn)est arbitraire car le gradient dépend complètement du produit scalaire choisi.
Pas invariant.Pour f(x) =˜ f(Ax)avecAinversible, étudier∇f et∇f˜ne revient pas du tout au même.
1 Gradient à pas optimal
require: x_0, f,\nabla f, crit_arrêt x <- x_0
while crit_arrêt d <- -\nabla f(x)
\rho <- argmin f(x+td) pour t>0 x <- x+\rho d
end while
Sif:Rn−→Rest elliptique (fortement convexe), alors(xn)définie par :
xn+1=xn−ρn∇f(xn)
avecρn= arg minf(xn−ρ∇f(xn)), converge vers l’unique minimum global ef. Théorème 1(convergence de GPO)
Preuve.L’existence et l’unicité du minimum global def sont laissées en exercice.
h∇f(x)− ∇f(y), x−yi>α|x−y|2
|∇f(x)||x−x∗|>h∇f(x)− ∇f(x∗), x−x∗i
>α|x−x∗|2
Alors, pourx6=x∗,
|x−x∗|6 |∇f(x)|
α Il suffit de montrer que∇f(xn)−−−−−→
n→+∞ 0. Or on a :
hdn+1, dni=h∇f(xn+1),∇f(xn)i= 0 carh∇f(xn+ρdn), dni= 0.
Les directions successives de descente sont donc orthogonales par rapport àh, i.
f est elliptique. Commef(xn)est décroissante et f minorée on a quef(xn)converge.
f(xn)−f(xn+1)>h∇f(xn+1), xn−xn+1i+α|xn−xn+1|2 2 Ori∇f(xn+1), xn−xn+1i= 0 (recherche exacte). Ainsi :
f(xn)−f(xn+1)
| {z }
−−−−−→
n→+∞
0
>α|xn−xn+1|2 2
Donc |xn −xn+1| −−−−−→
n→+∞ 0. De plus f est C1 (elliptique) et la suite (xn) reste dans un com- pact (f est coercive car elliptique). Par suite, ∇f est uniformément continue sur ce compact donc|∇f(xn)− ∇f(xn+1)| −−−−−→
n→+∞ 0. Enfin,0←−−−−−
n→+∞ |∇f(xn+1)− ∇f(xn)|>|∇f(xn)|. D’où
∇f(xn)−−−−−→
n→+∞ 0. On conclut que(xn)converge.
SoitA⊂Mn(R), symétrique définie positive.
J(x) =1
2hAx, xi+hb, xi+c
Alors pour toute donnée initialex0 le GPO converge et de plus on a :
|xn−x∗|6
ÅM −m M +m
ãk… M
m|xn−x0|
et
|xn−x∗|A6
ÅM −m M +m
ãk
|x0−x∗|A
oùM et msont les plus grande et plus petite valeurs propres deAet|u|A=hAu, ui.
Théorème 2(vitesse de convergence, cas quadratique)
hAx, xihA−1x, xi6 1 4
Ç…M m +
…m M
å2
|x|4 Lemme 1(de Kantorovitch)
Preuve.
4ab= Z
t>0
a t +tb2
Par suite,
4hAx, xihA−1x, xi6inf
t
Å
thAx, xi+hA−1x, xi t
ã2
= inf
t
Å
htA+A−1 t x, xi
ã2
6inf
t sup
i
Å
tλi+ 1 tλi
ã2
|x|4
Pourt∗=√ 1
λ1λn, on a :
4hAx, xihA−1x, xi6sup Å
t∗λi+ 1 t∗λi
ã
u7→u+u1 est décroissante sur]0,1]et croissante sur [1,+∞[. Le supiÄ
t∗λi+t1
∗λi
äest atteint pouri= 1eti=n, et on obtient alors comme borne :
λ1
λn + λn
λ1
!
= Ç…M
m +
…m M
å
Preuve.(du Théorème 2)
SoientM =λ1> . . . > λn=mles valeurs propres deA. Quitte à faire la translationx7→x−x∗, on peut supposerx∗= 0 etb= 0, alors J(x) =12hAx, xi. Par suitedk=−∇J(xk) =−Axk. De plus,
hdk, dk+1i= 0 =hdk, xk+1iA
De plusxk+1=xk+ρkdk avecdk =−Axk et ρk solution de :
hA(xk+ρkdk), dki= 0
i.e.
ρk = hAxk, dki
hAdk, dki =−|dk|2
|dk|2A xk =xk+1−ρkdk.
|xk|2A=|xk+1|2A+ρ2k|dk|2A
Par suite,
|xk+1|2A=|xk|2A− |dk|4
|dk|2A
|xk|2A=hAA−1dk, A−1dki=|dk|2A−1, d’où :
|xk+1|2A=|xk|2A Ç
1− |dk|2
|dk|2A|dk|2A−1
å
Ç
1− |dk|4
|dk|2A|dk|2A−1
å
61− 4
»M +pm2 61− 4M m 1 + Mm =
ÅM −m M +m
ã2
Par suite,
|xk+1|2A6
ÅM +m M −m
ã2k
|xk|2A Orm|x|26|x|2A6M|x|2, d’où :
|xk+1|26
ÅM−m M+m
ã2k M m|xk|2A
Remarque.|x−x∗|2A= 2(J(x)−J(x∗))
(J(xk)−J(x∗))6
ÅM−m M+m
ãk
(J(x0)−J(x∗)) (∗)
Remarque.(∗)est vraie pourJ melliptique, de gradientM−lipschitzienne (preuve de de Klerk en 2017).
Remarque.Pas améliorable. Prenons A = Diag(M, . . . , m), b = 0, et x0 = M1,0, . . . ,0,m1 . Alors :
∇J(x0) =Ax0= (1,0, . . . ,0,1) ρ0=M2+m.
x1=
ÅM−m M+m
ã Å
− 1
M,0, . . . ,0,−1 m
ã
De même,
x2=
ÅM−m M+m
ã2Å 1
M,0, . . . ,0, 1 m
ã
2 Recherche linéaire
2.1 Recherche linéaire de Wolfe
Soitdune direction de descente enx:f0(x)d=h∇f(x), di<0. On poseq(t) =f(x+td).
Condition d’Armijo.
y=q(0) +tm1q0(0) avec0< m1<1 q(t)
On trace une droite et on cherche un point en-dessous (par exemple, pour une droite horizontale cela revient à chercher un point plus bas queq(0)). Il ne faut pas descendre trop rapidement : si on descend plus vite queq on ne peut pas trouver de point. D’où le coefficient0< m1<1 qui assure une plus faible queq0(0).
La condition d’Armijo est :
q(t∗)6q(0) +t∗m1q0(0) avec0< m1<1 Condition de courbure.
q0(t∗)>m2q0(0)
| {z }
<0
avec0< m2<1
q(t) y=m2q0(0)t
La condition de Wolfe est la réunion des conditions d’Armijo et de courbure. Pour que tout se passe bien on doit choisir0< m1< m2<1.
Définition 1(condition de Wolfe)
On suppose queq est C1, inf(q)> −∞et q0(0) < 0. Alors la recherche linéaire de Wolfe (algorithme 2 c.f. poly) termine en un nombre fini d’itérations.
Théorème 3
Preuve.
Par l’absurde, supposons que la boucle while ne s’arrête pas. Si on a toujours q(t) 6 q(0) + tm1q0(0), on extrapole à chaque pas cartd reste à 0. On a donctn=antinit−−−−−→
n→+∞ +∞et : q(tn)6q0+tnm1
|{z}
>0
q0(0)
| {z }
<0
−−−−−→
n→+∞ −∞
ce qui contreditinf(q)>−∞.
Donc on atteint en un nombre fini d’étapes un pointttel queq(t)>q(0) +tm1q0(0).tdest alors affecté à ce point et ne peut plus revenir à 0, donc on arrête d’extrapoler. À ce moment,tq > tg
(car à chaque instantt < at). À partir de là, tant qu’une des conditions d’arrêt n’est pas vérifiée on interpole, i.e. :
® |td,n+1−tg,n+1|= |td,n−t2 g,n|
∀n, td,n> tg,n
Or, on a toujours :
q(tkg)6q(0) +tkgm1q0(0) q0(tkg)< m2q0(0)
q(tkd)> q(0) +tkdm1q0(0) D’où :
q(tkd)−q(tkg)
tk−tk > m1q0(0) en passant à la limite,q0(t∗)>m1q0(0)
Or, q0(tkg) < m2q0(0) donc en passant à la limite (car q est C1), q0(t∗) 6 m2q0(0). Ceci est contradictoire carm1< m2 etq0(0)<0.
2.2 Convergence des méthodes de descente avec recherche linéaire de Wolfe
On considère une suite xk+1 =xk+tkdk où dk est une direction de descente ettk est obtenu par Wolfe.
On suppose quef estC1, bornée inférieurement, et que∇f estL−lipschitz sur l’ensemble de niveau{f 6f(x0)}. Alors :
f(xk)−f(xk+1)>m1(1−m2)
L |∇f(xk)|2c2k>0 oùck=−|∇f(xh∇f(xk),dki
k)||dk|i. De plus siPc2k= +∞alorslim inf|∇f(xk)|= 0.
Théorème 4
Preuve.
Par la condition d’Armijo,f(xk)−f(xk+1)>m1tkh∇f(xk),−dki>0. Peut-on minorertk? Par la condition de courbure, on a :
h∇f(xk+1)− ∇f(xk), dki>(m2−1)h∇f(xk), dki Or, comme∇f estL−Lipschitz, par Cauchy-Schwarz on obtient :
h∇f(xk+1)− ∇f(xk), dki>L|xk+1−xk||dk|
Enfin,
tk =|xk+1−xk|
|dk| = L|xk+1−xk||dk|
L|dk|2 > m2−1
L|dk|2h∇f(xk), dki Par suite,
f(xk)−f(xk+1)> m1(1−m2)
L|dk|2 (h∇f(xk), dki)2= m1(1−m2)
L c2k|∇f(xk)|2
Supposonslim inf|∇f(xk)| >0, alors à partir d’un certain rang |∇f(xk)| >a pour un certain a >0. En sommant l’inégalité précédente on obtient :
f(xk0)−f(xk)>m1(1−m2)
L a2
k
X
i=k0
c2i
Doncf(xk)−−−−−→
k→+∞ −∞ce qui contredit l’hypothèse def bornée inférieurement.