Optimisation et optimisation numérique Chapitre 3 : Méthodes de Newton et quasi-Newton
Lucie Le Briquer 4 février 2018
Table des matières
1 Introduction 2
2 Méthodes de quasi-Newton 3
2.1 Méthode de mise à jour de la métrique . . . 3
3 Gradient conjugué 5
3.1 Cas quadratique,Adéfinie positive . . . 5
1 Introduction
f(x+h) =f(x) +f0(x)h+1
2f00(x)(h, h) +o(|h|2) f0(x+h) = 0 =f0(x) +f00(x)h+o(|h|)
Idée.h=−f00(x)−1f0(x). Problème : inversibilité def00(x)? Point critique ou minimum local ?
SoitE un e.v.n.,(xn)n∈N∈EN. On noteqn=|x|xn+1−x∗|
n−x∗| avec la convention 00 = 0.
• On dit que(xn)convergeQ−linéairement versx∗ si lim
n→+∞qn<1
• On dit que(xn)convergeQ−superlinéairement versx∗si lim
n→+∞qn = 0
• On dit que(xn)convergeQ−quadratiquement versx∗ siqn =O(|xn−x∗|) Définition 1(Q−convergence)
On suppose que f est C2 elliptique (f:Rn −→ R). Alors, la méthode de Newton es bien définie et si elle converge, alors elle convergeQ−superlinéairement. Si de plusf estC3, alors la convergence, si elle a lieu estQ−quadratique.
Théorème 1
Preuve.
Si f est C2 elliptique, il existe α > 0 tel que f00(x)(h, h) > α|x|2. En particulier, f00(x) est inversible∀x∈Rn et|f00(x)−1|< α1. Quitte à translater on peut supposer quex∗= 0et on pose F(x) =x−f00(x)−1f0(x). Or0 =f0(0) =f0(x)−f00(x)x+r(x)oùr(x) =o(|x|)si f est C1 et
=O(|x|2)sif estC3.
f00(x)−−1f0(x)−x=−f00(x)−1r(x)
2 Méthodes de quasi-Newton
Une approximation de l’inverse du hessien :
Hk ' ∇2f(xk)−1
| {z }
matrice hessienne
dk=−Hk∇f(xk) Conditions :
1. Hk est définie positive.
Z 1
0
f00(xk−t(xk+1−xk))(xk+1−xk)
| {z }
sk
dt=f0(xk+1)−f0(xk)
G¯k = Z 1
0
∇2f(xk+t(xk+1−xk)) G¯ksk=∇f0(xk+1)− ∇f0(xk)
2. Hk+1yk=sk (CQN) Conditions de Quasi-Newton
2.1 Méthode de mise à jour de la métrique
Hk+1= Hk
|{z}
val. courante
+ Bk
|{z}
correction
H+=H+B avecB de rang faible.
(DFP) Davidan-Fletcher-Powell
B= ssT hy, si (BFGS) Broyder-Fletcher-Golfarb-Shannno
B=−syTH+HysT hy, si +
Å
1 + hy, Hyi hy, si
ã ssT hy, si On vérifie (TD) que :
H+= Å
I− syT hy, si
ã
| {z }
πT
H Å
I− ysY hy, si
ã
| {z }
π
+ ssT hy, si
oùπ=pRsT//Ry.
On vérifie (TD) queH+y=s, la condition 2 est donc vérifiée.
Soienty6= 0etH >0. AlorsH+=H+B(DFP ou BFGS) est définie positive ssihy, si>0.
Théorème 2
Remarque.Mise à jour de Wolfe.
hyk, ski=h∇f(xk+1)− ∇f(xk)tkdki=tk(q0(tk)−q0(0))>tk(M2−1)q0(0)>0 Convergence ? Ouvert en toute généralité.
Sif(x) =12hAx, xi − hb, xi+cavecAdéfinie positive∈Mn(R). On applique un algorithme quasi-Newton (DFP ou BFGS) ainsi qu’une recherche linéaire exacte. Alors, pour tout06 j < ktel que∇f(xk)6= 0, on a :
1. h∇f(xk), sji= 0(orthogonalité) 2. Hkyj=sj (CQN vérifiées)
3. hsk, sjiA= 0(les directionsdk sontAconjuguées)
De plus, siτ = inf{k>0 | ∇f(xk) = 0}, alorsτ6net siτ =n,Hn=A−1. Théorème 3
Preuve.
On peut supposerx∗=A−1b= 0 (translationx7→f(x+x∗)sinon) si bien que ∇f(x) =Axet yj =Asj. Montrons alors le résultat par récurrence surk < τ.
• k= 0: rien à montrer
• Si (1),(2),(3)vraie au rangk et ∇f(xk+1)6= 0montrons qu’elles sont toujours vraies au rangk+ 1.
1. Comme on fait une recherche linéaireexacte, on a :
h∇f(xk+1), dki= 0 =h∇f(xk+1), ski carsk =tkdk. De plus,
h∇f(xk+1, sj)i=h∇f(xj+1), sji+
k
X
h=j+1
h∇f(xh+1)− ∇f(xh)
| {z }
Ash
, sji
=h∇f(xj+1), sji+
k
X
h=j+1
hsh, sjiA
= 0 par récurrence
2. Hk+1yk =sk est vrai par construction. Étudions le cas DFP.
Hk+1yj=Hkyj+ sksTkyj
hyk, ski−HykykTHyj hsk, yki
=sj+ sksTkyj
hyk, ski−HkykykTHkyj
hsk, yki
=
(∗)sj−HkykykTHkyj
hsk, yki =
(∗∗)sj
(∗)carhsk, yji=hsk, Asji=hsk, sjiA= 0.
(∗∗)carykTHkyj=hHkyj, yki=hsj, yki=−hsj, Aski=hsj, skiA= 0 Donc(2)est vérifiée. Idem pour (BFGS).
3. sk+1=tk+1dk+1=−tk+1Hk+1∇f(xk+1). Ainsi,
hsk+1, sjiA=−tk+1hHk+1∇f(xk+1), Asj
|{z}yj
i
=−tk+1h∇f(xk+1), Hk+1yji
=−tk+1h∇f(xk+1), sji= 0 par(1)
Enfin siτ > n−1, (sj)06j<n est un famille A−orthogonale de vecteurs non nuls i.e. une base.
Comme on aHnAsj=Hnyj=sj on a Hn=A−1.
On va supposer queC= (f 6f(x0))est convexe, f C2 et quemI 6∇2f(x)6M I et que
∇f etL−lipschitz. Alors la convergence est quadratique avec Wolfe.
Propriété 1
3 Gradient conjugué
Intérêt.Pas de construction d’une approximation de∇2f−1. dk =− gk
|{z}
∇f(xk)
+ck−1dk−1
oùck+1 doit être calculable itérativement.
3.1 Cas quadratique, A définie positive
f(x) = 1
2hAx, xi − hb, xi+c
On note Dk = Vect(g0, . . . , dk). Regardons la variété affine Vk = xk +Dk et prenons comme point suivantxk =argminVkf. On noteτ = inf{k>0 | ∇f(xk) = 0}.
∀06k < τ, on a : 1. dimDk=k+ 1 2. xk+1=xk+tk où :
tk=− gk
hgk, dkiA = |gk|2
|dk|2A >0
etdk =−gk+pDk−1(gk)avecpla projectionA−orthogonale sur Dk−1. 3. Sik>1,
dk =−gk+ck−1dk−1 avecck−1= hg|dk,dk−1iA
k−1|2A = |g|gk|2
k−1|2. 4. De plus,∀06i < j 6k,
hdi, djiA=hgi, gji= 0 Théorème 4
Preuve.
Supposons que c’est vrai pour toutl06l < k < τ et montrons que c’est vrai enk.
Par construction, xk+1 = pVk(x∗) (projection orthogonale sur la métrique A). Comme pVk−1 ◦ pVk=pVk−1, on axk=pVk−1(x∗) =pVk−1(xk+1)et :
sk =xk+1−xk=xk+1−pVk−1(xk+1) =pD⊥A k−1
(xk+1)∈D⊥k−1A
• sk 6= 0, en effet :
h∇f(xk+1), wi= 0 ∀w∈Dk (CN1)
et sisk= 0alorsxk+1=xket∇f(xk+1) =∇f(xk)et∇f(xk)∈Dk⊥A∩Dk ={0}, absurde.
• Montrons que :
Rsk⊥⊕ADk−1=Rgk⊕⊥Dk−1
En effet, commesk ∈Dk−1⊥A\{0}, on a ueDk−16⊆Rsk
⊥A
⊕Dk−1⊂Dk doncdimDk 6k+ 1.
Or par récurrence dimDk−1 = k, ainsi dim(Dk) = k+ 1 et Rsk
⊥A
⊕ Dk−1 = Dk. Enfin, gk ∈Dk−1⊥ (CN1), d’oùRgk⊕⊥Dk−1=Dk.
• Soitdk=−pD⊥A k−1
(gk) =−gk+pDk−1(gk). On aDk =Rdk
⊥A
⊕Dk−1etd0, . . . , dkest obtenue par orthogonalisation de g0, . . . , gk pour la métrique A. En particulier, dk ∈D⊥k−1A, et les directionsdj sontA−orthogonales. Et commegk∈D⊥k−1, on a (4).
• Montrons que∃tk >0 tel quesk =xk−1−xk =tkdk. En effet Dk∩Dk−1⊥A est une droite contenantsk etdk (6= 0).∃tk∈Rtel que sk=tkdk. Or :
0 =hgk+1, gki=hgk+1−gki+hgk, gki
=hAsk, gki − |gk|2
=tkhAdk, gki+|gk|2
avectk =−hd|gk|2
k,gkiA.
• Reste le calcul explicite de dk.
dk =−gk+pDk−1(gk) Or pourl < k−1,
hgk, tldliA=hgk, tlAdli=hgk, Asli=hgk, gl+1−gli= 0 (réc)
d’où pDk−1(gk) = ck−1dk−1. Or hdk, dk−1iA = 0. Ainsi h−gk +ck−1dk−1, dk−1iA = 0.
Finalement,
ck= hgk, dk−1iA
hdk−1, dk−1iA
L’autre forme s’obtient en remarquant qu’on peut écrire dk−1= stk−1
k−1 : ck = hgk, sk−1iA
hdk−1, sk−1iA
= hgk, Ask−1i
hdk−1, Ask−1i= hgk, gk−gk−1i
hdk−1, gk−gk−1i = hgk, gki hdk−1,−gk−1i Or,dk−1=−gk−1+PDk−2(gk−1)donchdk−1,−gk−1i=|gk−1|2