Pr´eparation `a l’agr´egation externe Universit´e de Grenoble
Option calcul scientifique 2009/2010
Optimisation
Soit J ∈ C1(Rd,R) une fonctionnelle dont l’on souhaite trouver le minimum. On supposera que J est coercive, i.e. limkxk→+∞J(x) = +∞. On part d’un point x0 ∈ Rd puis on applique un algorithme donnant une suite (xn)n∈N pour laquelle on esp`ere que limn→+∞xn = x∗ existe et est telle que J(x∗) = minJ. On consid`erera ici deux classes d’algorithmes.
M´ethode du gradient `a pas constant
Soit τ >0 un petit pas `a choisir. On part de x0 ∈Rd quelconque et on pose xn+1 =xn−τ−→
∇J(xn). M´ethode de relaxation `a pas optimal
Soit (ei)i=1..d une base de Rd. Soit x0 un point de Rd. On construit par r´ecurrence une suite (xn) en posant :
• x1n=xn+t1e1 o`u t1 est tel que J(xn+t1e1) = mint∈RJ(xn+te1),
• x2n=x1n+t2e2 o`u t2 est tel que J(x1n+t2e2) = mint∈RJ(x1n+te2), ...
• xn+1 =xdn =xd−1n +tded o`u td est tel que J(xd−1n +tded) = mint∈RJ(xd−1n +ted).
NB : on peut ´evidemment aussi faire une m´ethode de gradient `a pas optimal ou une m´ethode de relaxation `a pas constant.
Exercices th´ eoriques
Exercice 1 : Montrer que J est born´ee inf´erieurement et atteint son minimum.
Exercice 2 : On suppose que
• −→
∇J est globalement lipschitzien c’est-`a-dire qu’il existeC tel que
∀x, y ∈Rd , k−→
∇J(x)−−→
∇J(y)k ≤Ckx−yk ,
• J est strictement convexe c’est-`a-dire qu’il existe η >0 tel que
∀x, y ∈Rd , h−→
∇J(x)−−→
∇J(y)|x−yi ≥ ηkx−yk2 . (1) 1) Etablir que pour tous x, y ∈Rd et t∈R,
J(y+t(x−y)) = J(y) + Z t
0
h−→
∇J(y+s(x−y))|x−yids
≥ η
2t2kx−yk2+th−→
∇J(y)|x−yi+J(y) .
Donner une interpr´etation g´eom´etrique de l’in´egalit´e pr´ec´edente justifiant l’appellation “stricte- ment convexe” pour une telle fonction.
2) En d´eduire queJ est born´ee inf´erieurement et atteint son minimum en un pointx∗. Montrer que −→
∇J ne s’annule qu’en au plus un point et en d´eduire que x∗ est unique.
3) En utilisant un th´eor`eme de point fixe, montrer que si le pas τ > 0 est choisi assez petit, alors pour tout x0, la suite (xn) donn´ee par la m´ethode du gradient `a pas constant converge vers x∗.
Exercice 3 : On utilise dans cet exercice la m´ethode de relaxation `a pas optimal.
1) Montrer que la suite (xn) est bien d´efinie. Cette suite est-elle unique ?
2) Montrer que (J(xn)) est une suite d´ecroissante qui converge vers une valeurJ0 ∈R. Montrer qu’il existe une sous-suite (xϕ(n)) qui converge vers un pointx∗ ∈Rd et que J(x∗) =J0.
3) Montrer que si J est strictement convexe au sens de (1), alors J(x∗) est le minimum deJ. Exercice 4 : Soit A∈ Md(R) une matrice sym´etrique d´efinie positive et soit b un vecteur de Rd. On souhaite r´esoudre le syst`eme Ax =b.
1) Montrer que cela ´equivaut `a minimiser sur Rd la fonctionnelleJ :x7−→ 12hAx|xi − hb|xi.
2) Justifier et appliquer la m´ethode du gradient `a pas constant.
3) Montrer que la m´ethode it´erative de Gauss-Seidel pour r´esoudre le syst`eme Ax= b est en fait une m´ethode de relaxation `a pas optimal pour trouver le minimum de J.
Exercices pratiques
Exercice 5 : Programmer la m´ethode du gradient `a pas constant pour trouver le minimum de la fonctionf(x, y) = x4−x3+ 2xy+y2−2y+ 1. Illustrer du mieux possible le chemin parcouru par les diff´erentes ´etapes de l’algorithme.
Exercice 6 : Programmer une m´ethode d’optimisation pour trouver le polynˆome de degr´e plus petit que k qui approche le mieux une fonctionf ∈ C0([0,1],R) au sens des moindres carr´es.
Exercice 7 : Soit Ω =]0,1[2 une plaque carr´ee. Une certaine temp´erature g est impos´ee au bord de la plaque. Une fois l’´equilibre thermique atteint, la temp´erature u de la plaque est
donn´ee par ½
∆u= 0 sur Ω
u=g sur ∂Ω (2)
Soitn ∈N∗. On discr´etise le probl`eme en posant rempla¸cantupar la matricen×nsch´ematiquement donn´ee par U(i, j) = u(n−1i−1,n−1j−1) (i = 1, ..., n, j = 1, ..., n). Donner la discr´etisation de l’´equation (2) sous la forme ½
D(U) = 0 U ∈E
o`uDest un op´erateur lin´eaire agissant sur les matricesn×netE un espace vectoriel `a pr´eciser.
Montrer que le probl`eme revient `a minimiser sur E la fonctionnelle suivante.
J(U) = X
i, j, i0, j0 = 1. . . n (i, j) voisin de (i0, j0)
|U(i, j)−U(i0, j0)|2 .
Utiliser la m´ethode de relaxation `a pas optimal pour r´esoudre num´eriquement ce probl`eme.