Examen Méthodes Numériques : Optimisation (L3)
25/05/2018 D. Gontier,[email protected]
Deux heures. Les documents et calculatrices ne sont pas autorisés.
Il y a 3 exercices. Les exercices sont indépendants.
Rappels
On note Sd l’ensemble des matrices symétriques réelles de Md(R), et Sd+ (resp. Sd++) le sous-ensemble des matrices symétriques positives (resp. définies positives).
Les itérations du gradient conjugué sont définies parx0=0,p0=r0=b, puis
(GC) αn= rTnArn
pTnApn, xn+1=xn+αnpn, rn+1=rn−αnApn, βn=−rTn+1rn+1
rTnrn , pn+1=rn+1+βnpn. Exercice 1 : Le gradient conjugué réduit.
SoitA∈ Sd++,b∈Rd, et soitQ(x) := 12xTAx−bTx.
SoitU := (u1, . . . ,um)∈ Md×m(R)une famille demvecteurs orthonormés, avecm≤d, et soitK:= Im (U).
On veut résoudre le problème d’optimisation sous contraintes
(∗) argmin{Q(x), x∈ K}. a/ Montrer que(∗)admet une unique solution, qu’on noterax∗∈ K.
b/ Montrer quex∈ K si et seulement si il existey∈Rmtel que x=Uy.
c/ Montrer quex∗=Uy∗, oùy∗∈Rmest solution du problème (∗∗) argmin
1
2yT(UTAU)y−(UTb)Ty, y∈Rm
. d/ Montrer queUTU =Im, puis queUTAU ∈ Sm++.
e/ En déduire quex∗=U(UTAU)−1UTb.
f/ Proposer des itérations de type (GC) pour résoudre (*). Combien d’itérations faut-il pour trouverx∗? g/ Montrer que la projectionPK surKpeut-être définie à partir d’un problème de type(∗).
h/ Montrer quePK=U UT.
Exercice 2 : Initialisation pour le critère de Wolfe
Soit F : Rd →R une fonction de classeC1 bornée inférieurement, soit x∈Rd tel que ∇F(x)6=0, et soit h∈Rd une direction de descente deF enx.
Dans cet exercice, on cherche deux nombres 0 < τ < T tel que τ vérifie le critère d’Armijo de paramètre 0< c1<1, et tel queT ne le vérifie pas,i.e.
(F(x+τh) ≤F(x) +c1τh∇F(x),hi, F(x+Th) > F(x) +c1Th∇F(x),hi.
Dans la suite, on noteg(t) := F(x+th)−F(x)
t .
a/ Montrer qu’il existeε >0 tel que pour toutt∈[0, ε), on ag(t)≤c1h∇F(x),hi.
b/ Soit l’algorithmealgo1suivant :
1 d e f a l g o 1( F , nablaF , x , h , c1 , N i t e r = 1 0 0 ) : 2 tau = n o r m ( x ) / n o r m ( h )
3 f o r n in r a n g e( N i t e r ) :
4 if F ( x + tau * h ) <= F ( x ) + c1 * tau * dot ( n a b l a F ( x ) , h ) :
5 r e t u r n tau
6 tau = tau /2
(i) Expliquez brièvement ce que fait cet algorithme, et pourquoi il devrait s’arrêter.
(ii) Combien de fois les fonctionsF et ∇F sont-elles évaluées par itération ? (iii) Comment amélioreralgo1pour qu’il exécute moins d’évaluations de fonctions ? c/ Montrer qu’il existeA >0tel que pour toutt > A, on a g(t)> c1h∇F(x),hi.
d/ Comment modifieralgo1pour qu’il renvoie un nombreT >0ne vérifiant pas le critère d’Armijo ?
Exercice 3 : Quasi-Newton pour matrices à diagonale dominante SoitA:=
6 2 2 3
et soitQ(x) := 12xTAx.
a/ Calculer les valeurs propres deA.
b/ Calculer la Hessienne deQ, et montrer quex∗:= (0,0)T est le minimum strict de Q.
c/ Soitτ >0, et soit(xn)la suite définie parx0∈R2 et
xn+1=xn−τ Axn (GP C).
(i) Montrer que si0< τ < 27, alors la suite(xn)converge versx∗.
(ii) Montrer que le pas optimal estτ∗=29. Quelle est la vitesse de convergence dans ce cas ? d/ On considère maintenant la suite(x0n)définie parx00∈R2 et
x0n+1 =x0n−
√1
6 0
0 √1
3
! A
√1
6 0
0 √1
3
!
x0n (QN1).
(i) Montrer quex0n+1=Bx0n, oùB est une matrice qu’on calculera explicitement.
(ii) Montrer quekx0nk= √ 2/3n
kx00k.
(iii) Sachant que√
2/3≈0.47, que pensez-vous de la méthode(QN1)par rapport à(GP C)? e/ On veut implémenter la méthode(QN1)avec le code suivant :
1 d e f a l g o E x o 3( x0 , tol =1 e -6 , N i t e r = 1 0 0 0 ) : 2 A = a r r a y ([[6 ,2] , [ 2 ,3 ] ])
3 d = a r r a y ( [ 1 / s q r t (6) , 1/ s q r t (3) ])
4 xn , L = x0 , []
5 f o r n in r a n g e( N i t e r ) : 6 if n o r m ( xn ) < tol :
7 r e t u r n xn , L
8 L . a p p e n d ( xn )
9 xn = xn - d * dot ( A , d * xn )
Qui estddéfini à la ligne 3, et quelles sont les différentes multiplications qu’on a utilisées à la ligne 9? f/ On regarde maintenant la suite(xfn)définie parfx0∈R2 et
x]n+1=xfn− 1
6 0 0 13
Axfn (QN2).
(i) Montrer quex]n+1=Cxfn, oùC est une matrice qu’on calculera explicitement.
(ii) Montrer quex]n+2= 29xfn.
(iii) La méthode(QN2)est-elle meilleure que(QN1)et/ou(GP C)?
2