Sie sind auf Seite 1von 2

Universit

e de Poitiers
Master de Mathematiques et Applications
MATH 2M15 Optimisation

Annee 2009-2010

TP 1 : Algorithme de gradient
Soit f : U R de classe C 1 , o`
u U est un ouvert de Rn . On veut calculer un minimiseur
de f dans U i.e. une solution x du probl`eme
f (
x) = inf f (x).
xU

(1)

Un moyen de calculer x est donc de resoudre f (


x) = 0. Pour cela on peut utiliser par
exemple lalgorithme de Newton ou un algorithme de point fixe. Mais ces algorithmes
ne garantissent pas que lon converge vers un minimiseur. Pour exploiter que x est un
minimiseur de f , une idee est de construire des algorithmes de descente, dans lesquels f
decrot `a chaque etape.
Rappelons que f (x) indique la direction et le sens dans lequel f crot le plus vite
(au premier ordre) au voisinage de x. En effet, dapr`es le dvt de Taylor, pour x Rn ,
v Rn avec kvk = 1, et t R,
f (x + tv) = f (x) + thf (x), vi + t(t),
o`
u (t) 0 dans Rn quand t 0. Dautre part, linegalite de Cauchy-Schwarz dit que
|hf (x), vi kf (x)k v Rn , kvk = 1,
f (x)
(pour f (x) 6= 0). Donc la meilleure direction v
kf (x)k
pour faire decrotre f le plus vite sur la droite x + tv est (au premier ordre en t), le choix
f (x)
. Cest le principe de lalgorithme du gradient `
a pas fixe, qui secrit
v=
kf (x)k

et quil y a egalite ssi v =

xk+1 = xk f (xk ),

(2)

o`
u > 0 est un param`etre `a fixer appele pas. Comme il ne depend pas de k, il sagit dun
pas fixe.
On peut egalement voir cet algorithme comme le schema dEuler applique `a lEDO
definissant la plus grande pente :
x (t) = f (x(t)).

(3)

On pourrait egalement consid`erer lalgorithme de gradient `


a pas optimal : x0 etant
donne, pour k = 0, 1, . . . faire :
trouver k 0 qui realise le minimum de la fonction 7 f (xk f (xk ));
poser xk+1 = xk k f (xk ).
1

Le theor`eme suivant donne une condition suffisante sur la fonction f et sur le pas
pour assurer la convergence de lalgorithme (2) vers un minimiseur de f .
Th
eor`
eme 1 (Convergence de (2)) On suppose que f C 1 (Rn , R) est -convexe et
que f (x) est L-lipschitzien sur Rn , i.e.
x, y Rn ,

kf (x) f (y)k Lkx yk.

Alors pour tout 0 < < 2/L2 , lalgorithme de gradient `a pas fixe converge : quel que
soit x0 , la suite definie par (2) converge vers lunique minimiseur x de f dans Rn . De
plus, la convergence est geometrique.
Exemple fondamental : Si A Mn (R) est une matrice symetrique definie positive et
b Rn , alors la fonction
1
f (x) = hAx, xi hb, xi
2
definie x Rn est -convexe et son unique minimiseur dans Rn est egalement lunique
solution du syst`eme lineaire Ax = b.
Dans le cas dun syst`eme lineaire, on a en fait le resultat plus precis suivant (cf. cours
sur les syst`emes lineaires) :
Th
eor`
eme 2 Soit A Mn (R) symetrique definie positive, de valeurs propres 0 < 1
2 . . . n . La methode du gradient `a pas fixe converge si et seulement si 0 < < 2/n ,
et la vitesse de convergence est optimale lorsque = 2/[1 + n ].

Exercices math
ematiques
1. Pour H = R2 et f (x, y) = ax2 +by 2 avec a, b > 0, etudier la convergence de lalgorithme
`a pas fixe : pour quelles valeurs de se produit-elle, pour quelle valeur est-elle la plus
rapide ?
2. Lalgorithme du gradient `a pas fixe converge-t-il pour des matrices symetriques qui ne
sont pas definies positives ? Pour des matrices non symetriques ?

Exercices informatiques
1. Programmer lalgorithme de gradient `a pas fixe pour f (x) = x2 + sin(x) sur R. Cette
fonction verifie-t-elle les hypoth`eses du theor`eme 1 ? Quel pas peut-on choisir ? Verifiez
cela en pratique.
Essayez dautres exemples : ch(x) sur R (1-convexe), x4 /4 x3 /3 x2 + 1 ou sin(x)
(non convexes), 1/(1 x2 ) sur ] 1, 1[ (domaine non defini partout)
2. Programmer lalgorithme de gradient `a pas fixe pour lexemple fondamental. Representer
lerreur en fonction du nombre diterations pour differents pas.
3. Meme question avec lalgorithme `a pas optimal kopt . On montrera que
kopt = hdk , dk i/hAdk , dk i avec dk = Axk b.
4. On choisit maintenant un pas k = k kopt o`
u k est choisi aleatoirement dans [0, 2].
Comparer la vitesse de convergence de cet algorithme par rapport aux precedents.
2

Das könnte Ihnen auch gefallen