Vous êtes sur la page 1sur 21

Optimisation sans contraintes

M. Bergounioux

Departement de Mathematiques

Orleans-2003-2004

Nous allons etudier le probl`eme doptimisation sans contraintes o`


u on effectue la minin
misation de la fonction J : R R sur tout lespace. Nous considerons donc le probl`eme
formule de la facon suivante

min J(x)
(P)
x Rn
o`
u J est une fonction de Rn vers R {+}.

R
esultats dexistence et dunicit
e

Avant detudier les proprietes de la solution (ou des solutions) de (P) il faut sassurer
de leur existence. Nous donnerons ensuite des resultats dunicite.
D
efinition 1.1 On dit que J : H R est coercive si
lim

kxk+

J(x) = + .

Ici k k designe la norme de lespace de Hilbert H. Dans le cas o`


u H = Rn les normes sont
toutes equivalentes et k k designe une norme quelconque de Rn . On notera k kp (p N)
la norme `p de Rn :
x = (x1 , . . . , xn ) R

kxkp =

" n
X

#1

|xi |

i=1

La norme infinie de Rn est


x = (x1 , . . . , xn ) Rn

kxk = max |xi | .


1in

Rappelons que parmi les normes ci-dessus, seule la norme `2 munit Rn dune structure
despace de Hilbert. Nous noterons (, ) le produit scalaire associe.
Exemples 1.1
J(x) = kxk est coercive.
Pour n = 2 et x = (x1 , x2 ), J definie par J(x) = x21 + x22 a x1 b x2 c, est coercive
pour tous reels a et b.
J definie par J(x) = x21 x22 nest pas coercive. En effet la suite xn = (0, n) est
telle que kxn k + (on peut prendre par exemple kxn k = kxn k1 = n) et pourtant
J(xn ) = n2 ne converge pas vers +.
De la meme mani`ere, (toujours dans le cas n=2), la fonction J definie par J(x) = x21
nest pas coercive. On peut encore choisir pour le montrer la suite (0, n) car J(0, n) =
0.

Soit A une matrice carree dordre n symetrique, definie positive et b un vecteur de


Rn . Alors J definie par
1
J(x) = (Ax, x) (b, x) ,
2
est coercive.
Une fonction affine J definie par J(x) = (, x) + , Rn , R, nest jamais
coercive.

Figure 1 : exemples de fonctions coercives

Figure 2 : exemples de fonctions non coercives

Th
eor`
eme 1.1 (Existence)
Soit J : Rn R {+} propre, continue et coercive. Alors (P) admet au moins une
solution.

Figure 3 : minima (globaux) dune fonction coercive (non convexe)


Toutefois, on na pas forcement unicite. . . Nous donnons ci-dessous un crit`ere pour
lunicite.
Th
eor`
eme 1.2 (Unicit
e)
Soit J : Rn R {+} strictement convexe. Alors le probl`eme (P) admet au plus une
solution.
Donnons pour terminer un crit`ere pour quune fonction soit strictement convexe et coercive :
Th
eor`
eme 1.3 Soit J une fonction C 1 de Rn dans R. On suppose quil existe > 0 tel
que
(x, y) Rn Rn
(J(x) J(y), x y) kx yk2 .
(1.1)
Alors J est strictement convexe et coercive; en particulier le probl`eme (P) admet une
solution unique .
Il faut maintenant donner des conditions pour pouvoir calculer la (ou les) solutions.
On va chercher `
a montrer que cette solution est solution de certaines equations, de sorte
quil sera plus facile de la calculer.

2
2.1

Conditions doptimalit
e
Conditions n
ecessaires du premier ordre

Les conditions que nous allons donner sont des conditions differentielles qui portent
sur la derivee de la fonction `
a minimiser. On va donc se restreindre au cas des fonctions
Gateaux- differentiables.
Th
eor`
eme 2.1 (Condition n
ecessaire doptimalit
e du premier ordre)
Soit J : Rn R une fonctionnelle differentiable sur Rn . Si x realise un minimum (global
ou local) de J sur Rn alors
J(x ) = 0 .
(2.1)

D
efinition 2.1 Un point x de Rn verifiant J(x ) = 0 est appele point critique ou
point stationnaire .
La relation J(x ) = 0 est aussi appelee
equation dEuler .
Ce theor`eme na pas de sens si la fonction J nest pas differentiable comme le montre la
figure 4. suivante:

Figure 4 : Minimum dune fonction non diff


erentiable

On constate que cette condition necessaire du premier ordre permet de selectionner un


certain nombre de candidats `
a etre des minima (globaux); toutefois, la reciproque du
Theor`eme 2.1 est fausse; un point critique nest pas necessairement un minimum global.
Ce peut-etre un minimum local (cf. figure 5 : point B), un maximum local (cf. figure 5 :
point C) ou ni lun, ni lautre (cf. figure 5 : point A). Le resultat du theor`eme est une
condition n
ecessaire qui nest en general pas suffisante (cf. la fonction f de R dans R
definie par f (x) = x3 ). Cest une condition du premier ordre car elle ne fait intervenir
que la derivee premi`ere de la fonction J.

C
A

Figure 5 : Points critiques non optimaux

Il existe cependant des situations o`


u la relation (2.1) est une condition n
ecessaire et
suffi- sante : en programmation convexe.
Th
eor`
eme 2.2 (CNS du premier ordre dans le cas convexe)
Soit J : Rn R G
ateaux- differentiable et convexe sur Rn . Un point x realise un minimum global de J sur Rn si et seulement si J(x ) = 0.

Exemple : r
egression lin
eaire

Nous allons illustrer les resultats de la section precedente par lexemple tr`es important
de la r
egression lin
eaire.
Considerons un nuage de n points de R2 : Mi = (ti , xi ), 1 i n. Ces donnees
sont souvent le resultat de mesures et on cherche `a decrire le comportement global de ce
nuage. En general ces points ne sont pas alignes, mais on decide de chercher une droite les
approchant au mieux...
On utilise pour cela la methode des moindres carres : comme on na pas xi = a ti + b
pour tout i, on cherche `
a minimiser le carre des differences. On veut donc trouver un
couple de reels (a, b) solution de
min J(a, b) , (a, b) R2 ,
o`
u J(a, b) =

n
X
(xi ati b)2 .
i=1

Calculons le gradient de J en un point quelconque (a, b) de R2 .


n

i=1

i=1

i=1

i=1

X
X
X
X
J
ti xi ,
ti 2
t2i + 2 b
2 (ati + b xi ) ti = 2 a
(a, b) =
a

Notons

i=1

i=1

i=1

X
X
X
J
(a, b) =
2 (ati + b xi ) = 2 a
ti + 2n b 2
xi .
b
St =

n
X

ti , S x =

n
X
i=1

i=1

xi , Sxt =

n
X

xi ti et St2 =

i=1

Ecrire que J(a, b) = 0 revient a


` ecrire le syst`eme

St2 a + St b = Sxt
St a + n b
= Sx

n
X

t2i .

i=1

La resolution de ce syst`eme donne une solution unique si (St )2 nSt2 6= 0. On obtient


a=

Sx St nSxt
Sxt St Sx St2
et b =
.
2
(St ) nSt2
(St )2 nSt2

Il faut encore verifier que le couple obtenu est bien un minimum. Calculons pour cela la
matrice Hessienne de J en (a, b) :


St2 St
2
D J(a, b) = 2
;
St n
cette matrice est toujours (semi-definie) positive. Elle est definie positive si elle est inversible (car alors aucune valeur propre nest nulle) cest-`a-dire lorsque que son determinant
(St )2 nSt2 est non nul. Dans ce cas, le couple obtenu est bien (lunique) minimum strict
de J.
La droite ainsi obtenue est appelee droite de r
egression.

Figure 6 : Droite de r
egression dun nuage de points

Algorithmes (d
eterministes)

Dans cette section, nous allons presenter quelques algorithmes permettant de calculer
(de mani`ere approchee) la ou les solutions du probl`eme (P) de depart. Bien entendu,
nous ne pouvons pas etre exhaustifs; nous presentons les methodes de base les plus
classiques. Toutefois, la plupart de ces algorithmes exploitent les conditions doptimalite
dont on a vu quelles permettaient (au mieux) de determiner des minima locaux. La
question de la determination de minima globaux est difficile et depasse le cadre que nous
nous sommes fixes. Neanmoins, nous decrirons dans la section suivante, un algorithme
probabiliste permettant de determiner un minimum global.
Remarquons aussi que nous avons fait lhypoth`ese de differentiabilite de la fonction J.
Il existe des methodes permettant de traiter le cas non differentiable (ou non regulier).
Nous nen parlerons pas ici. Le lecteur interesse peut se referer `a [2].
Nous commencerons par quelques definitions :
D
efinition 4.1 (Algorithme)
Un algorithme est defini par une application A de Rn dans Rn permettant la generation
dune suite delements de Rn par la formule :

xo Rn donne, k = 0
Etape dinitialisation
xk+1 = A(xk ), k = k + 1 Iteration k .

Ecrire un algorithme nest ni plus ni moins que se donner une suite (xk )kN de Rn ; etudier
la convergence de lalgorithme, cest etudier la convergence de la suite (xk )kN .
D
efinition 4.2 ( Convergence dun algorithme)
On dit que lalgorithme A converge si la suite (xk )kN engendree par lalgorithme converge
vers une limite x .
Il est bien entendu tr`es important dassurer la convergence dun algorithme via les
hypoth`eses ad-hoc, mais la vitesse de convergence et la complexite sont aussi des facteurs
`a prendre en compte lors de lutilisation (ou de la generation) dun algorithme; on a en
effet interet `
a ce que la methode soit la plus rapide possible tout en restant precise
et stable. Un crit`ere de mesure de la vitesse (ou taux) de convergence est levolution de
lerreur commise (ek = kxk x k).
D
efinition 4.3 ( Taux de convergence dun algorithme)
Soit (xk )kN une suite de limite x definie par la donnee dun algorithme convergent A.
On dit que la convergence de A est
lin
eaire si lerreur ek = kxk x k decroit lineairement :
C [0, 1[ , k0 , k k0

ek+1 Cek .

super-lin
eaire si lerreur ek decroit de la mani`ere suivante:
ek+1 k ek ,
o`
u k est une suite positive convergente vers 0. Si k est une suite geometrique, la
convergence de lalgorithme est dite g
eom
etrique.
dordre p si lerreur ek decroit de la mani`ere suivante:
C 0 , k0 , k k0

ek+1 C [ek ]p .

Si p = 2, la convergence de lalgorithme est dite quadratique.


Enfin, la convergence est dite locale si elle na lieu que pour des points de depart x0 dans
un voisinage de x . Dans le cas contraire la convergence est globale.
Remarque 4.1 La classification precedente des vitesses de convergence renvoie a
` la
notion de comparaison des fonctions au voisinage de +. En effet, si on suppose que
ek+1
= O(1), alors
lerreur ek ne sannule pas, une convergence lineaire revient a
` dire que
ek
ek+1
= o(1). De mani`ere analogue,
quune convergence super-lineaire est equivalente a
`
ek
ek+1
un algorithme dordre p 2 est tel que
= o(ekp2 ). On a bien entendu interet a
` ce
ek
que la vitesse de convergence dun algorithme soit la plus elevee possible (afin dobtenir la
solution avec un minimum diterations pour une precision donnee).

4.1

M
ethode du Gradient

La methode (ou algorithme) du Gradient fait partie dune classe plus grande de
methodes numeri- ques appelees m
ethodes de descente. Expliquons rapidement lidee
directrice de ces methodes.
On veut minimiser une fonction J. Pour cela on se donne un point de depart arbitraire
xo . Pour construire litere suivant x1 il faut penser quon veut se rapprocher du minimum
de J; on veut donc que J(x1 ) < J(xo ). On cherche alors x1 sous la forme x1 = xo + 1 d1
o`
u d1 est un vecteur non nul de Rn et 1 un reel strictement positif. En pratique donc, on
cherche d1 et 1 pour que J(xo +1 d1 ) < J(xo ). On ne peut pas toujours trouver d1 . Quand
d1 existe on dit que cest une direction de descente et 1 est le pas de descente. La
direction et le pas de descente peuvent etre fixes ou changer `a chaque iteration. Le schema
general dune methode de descente est le suivant :

x0 Rn donne
xk+1 = xk + k dk , dk Rn {0}, k R+ ,
o`
u k et dk sont choisis de telle sorte que J(xk + k dk ) J(xk ).
Une idee naturelle pour trouver une direction de descente est de faire un developpement
de Taylor (formel) `
a lordre 2 de la fonction J entre deux iteres xk et xk+1 = xk + k dk :
J(xk + k dk ) = J(xk ) + k (J(xk ), dk ) + o(k dk ).
Comme on veut J(xk + k dk ) < J(xk ), on peut choisir en premi`ere approximation dk =
J(xk ). La methode ainsi obtenue sappelle lalgorithme du Gradient. Le pas k est
choisi constant ou variable.

Algorithme du Gradient
1. Initialisation
k = 0: choix de x0 et de 0 > 0
2. It
eration k
xk+1 = xk k J(xk ) ;
3. Crit`
ere darr
et
Si kxk+1 xk k < , STOP
Sinon, on pose k = k + 1 et on retourne `a 2.
Dans tout ce qui suit, est un r
eel positif (petit) donn
e qui repr
esente la
pr
ecision d
esir
ee.
Cette methode a pour avantage detre tr`es facile `a mettre en uvre. Malheureusement, les conditions de convergence sont assez lourdes (cest essentiellement de la stricte
convexite) et la methode est en general assez lente. Nous donnons ci-dessous un crit`ere de
convergence :

10

Th
eor`
eme 4.1 Soit J une fonction C 1 de Rn dans R, coercive et strictement convexe.
On suppose quil existe une constante M strictement positive telle que
(x, y) Rn Rn

kJ(x) J(y)k M kx yk .

(4.1)

2
Alors, si on choisit le pas k dans un intervalle [1 , 2 ] tel que 0 < 1 < 2 <
, la
M
methode du gradient converge vers le minimum de J.
Remarque 4.2 Lorsque J verifie (1.1) et (4.1), on peut aussi interpreter lalgorithme du
gradient a
` pas constant comme la methode des approximations successives appliquee a
` la
recherche du point fixe de la fonction
S (x) = x J(x) ,
o`
u 6= 0. On peut en effet montrer que S est lipschitzienne de rapport (1- 2 + 2 M 2 ).
Cest donc une contraction stricte si ] 0, 2/M 2 [ ; elle poss`ede alors un unique point
fixe. Pour = /M 2 , le taux de contraction est (1- /M 2 ) : cest le meilleur possible. La
convergence est alors celle dune serie geometrique de raison (1- /M 2 ).
On utilise le plus souvent la methode du gradient `a pas constant (k constant).
Toutefois, on peut faire varier le pas `
a chaque iteration : on obtient alors la methode du
gradient `a pas variable.
La methode du gradient `
a pas optimal propose un choix du pas qui rend la fonction
co
ut minimale le long de la direction de descente choisie. Plus precisement, letape 2.
devient
2.- It
eration k
xk+1 = xk k J(xk )
o`
u k realise le minimum sur R+ de la fonction k definie par
k () = J(xk J(xk )) .
En pratique, on ne cherche pas le minimum de k et on determine k en effectuant une
recherche lin
eaire de pas optimal suivant une r`egle de la forme suivante par exemple :

R`egle de recherche lineaire de Wolfe


1. Initialisation = 1 (par exemple), = + = 0. On se donne 0 < 1 < 2 < 1.
2. Si k () k (0) + 1 0k (0) et k () 2 0k (0) , STOP : k = .
3. Sinon
Si k () > k (0) + 1 0k (0), on pose + =
Si k () k (0) + 1 0k (0) et k () < 2 0k (0), on pose =

11

et on va `
a 4.
4. Choix dun nouveau :
Si + = 0, on cherche > (par exemple = 2 ).
+ +
Si + > 0, on cherche ] , + [ (par exemple =
).
2
Retour `
a 2.
La r`egle apparaissant `
a letape 2. est connue sous le nom generique de r`egle dArmijo. Il
existe beaucoup dautres r`egles de recherche lineaire. Pour plus de details sur ces variantes,
on pourra se referer `
a [3, 7, 2] ou aux exercices en fin de chapitre.
Exemple 4.1 Les conditions du theor`eme peuvent paratre compliquees, aussi nous donnons un exemple. Soit J la fonction de Rn vers R dej`
a evoquee plusieurs fois (car elle joue
un r
ole important) definie par
1
(Ax, x) (b, x) ,
2
o`
u A est une matrice carree, symetrique et definie positive et b Rn (voir lexemple (1.1)).
Cette fonction J verifie les hypoth`eses du theor`eme ci-dessus avec pour constantes et M
la plus petite et la plus grande valeur propre de A (respectivement).
J(x) =

Remarque 4.3 La notion dellipticite est tr`es importante, car elle conditionne la convergence de la plupart des algorithmes qui vont etre decrits par la suite. Toutefois, les conditions de convergence que nous donnons sont toujours des conditions suffisantes. Lalgorithme converge si elles sont verifiees mais il peut
eventuellement converger, m
eme
si elles ne le sont pas ....
En pratique, on ne calcule pas et M . Pour trouver lintervalle de convergence de ,
on fait plusieurs tests pour differentes valeurs. La non convergence se traduit en general,
soit par une explosion de la solution ( elle va clairement vers +) soit par des oscillations
(periodiques ou non) qui empechent la suite des iteres de converger vers une valeur.

4.2

M
ethode de Newton

La methode de Newton nest pas une methode doptimisation `a proprement parler.


Cest en realite une methode utilisee pour resoudre des equations non lineaires de la forme
F (x) = 0 o`
u F est une fonction de Rn dans Rn . Nous allons dabord la decrire puis montrer
comment on peut lappliquer `
a la recherche de minimum.
4.2.1

M
ethode de Newton

Presentons dabord formellement cette methode dans R, pour resoudre f (x) = 0 o`


uf
est une fonction C 1 de R dans R. Nous preciserons ensuite les conditions dutilisation de
la methode et justifierons lexistence des iteres successifs dans un theor`eme general de
convergence.

Algorithme de Newton dans R

12

1. Initialisation
k = 0: choix de x0 R dans un voisinage de x .
2. It
eration k
xk+1 = xk

f (xk )
;
f 0 (xk )

3. Crit`
ere darr
et
Si |xk+1 xk | < , STOP
Sinon, on pose k = k + 1 et on retourne `a 2.
Remarquons quil faut non seulement assurer la convergence de la suite xk vers la
solution x , mais aussi montrer que cette suite est bien definie, cest-`a-dire montrer que
f 0 (xk ) 6= 0 `a letape 2.
Cette methode est aussi appelee m
ethode de la tangente. En effet chaque itere
xk+1 est obtenu `
a partir du precedent en tracant la tangente a` la courbe de f au point
(xk , f (xk )) et en prenant son intersection avec laxe des abscisses.
6

x'

-1

-2

0.2

0.4

0.6

0.8

1.2

1.4

1.6

1.8

Figure 7: Interpr
etation g
eom
etrique de la m
ethode de Newton
Nous pouvons maintenant generaliser `a Rn . Soit F une fonction de classe C 1 de Rn `a
valeurs dans Rn . On suppose que lequation
F (x) = 0 ,

(4.2)

poss`ede au moins une solution notee x et que la matrice jacobienne DF (x ) est une matrice inversible. Nous verrons que la continuite de DF permet alors dassurer linversibilite
de DF (xk ) pour tout xk dans un voisinage de x et de fait, lexistence de xk+1 `a letape
2. de lalgorithme decrit ci-dessous.

Algorithme de Newton dans Rn

13

1. Initialisation
k = 0: choix de x0 dans un voisinage de x .
2. It
eration k
xk+1 = xk [DF (xk )]1 F (xk ) ;
3. Crit`
ere darr
et
Si kxk+1 xk k < , STOP
Sinon, on pose k = k + 1 et on retourne `a 2.
Letape 2. de la methode revient `
a resoudre le syst`eme lineaire suivant:
[DF (xk )] k = F (xk )
puis `a poser xk+1 = xk k .
Nous avons le resultat de convergence suivant:
Th
eor`
eme 4.2 Soit F est une fonction de classe C 2 de Rn dans Rn et x un zero de F
(cest-`
a-dire F (x ) = 0). On suppose en outre que ce zero est isole et que DF (x ) est
inversible (DF designe la derivee premi`ere de F ).
Alors il existe une boule fermee B centree en x telle que, pour tout point x0 B, la suite
(xk ) definie par la methode de Newton est enti`erement contenue dans B et converge vers
x qui est le seul zero de F dans B.
Enfin la convergence est geometrique : il existe ] 0,1[ tel que
k 0

kxk x k k kx0 x k .

En dautres termes, si on choisit le point de depart x0 assez pr`es de x , alors lalgorithme


converge vers x .
Linconvenient majeur de la methode est sa sensibilite au choix point de depart: la
convergence est locale. Si ce point est mal choisi (trop loin de la solution) la methode
peut soit diverger, soit converger vers une autre solution. Il peut paratre surprenant de
devoir choisir le point de depart x0 assez pr`es de x puisquon ne connat pas x !! En
pratique on essaie de sapprocher de x par une methode de type gradient par exemple, puis
on applique la methode de Newton. Lavantage de cette methode est sa grande rapidite.
La convergence est quadratique, cest-`a-dire que lerreur ek = kxk+1 xk k est elevee au
carre `a chaque iteration. Concr`etement, si elle vaut 102 `a letape k elle vaudra 104 `a
letape k + 1 et 108 `
a letape k + 2.
Actuellement on developpe surtout des methodes dites quasi-Newton qui gardent la
rapidite de la methode de Newton, evitent le calcul (co
uteux) de la matrice [DF (xk )] `a
chaque iteration et sont plus robustes par rapport au du point de depart. On y trouve
les methodes dites de region de confiance qui sattachent `a rendre la methode robuste
(i.e. peu sensible) par rapport au choix du point de depart. La methode BFGS propose
un calcul de Hk+1 (approximation de [DF (xk )]) en fonction de Hk grace `a des formules
algebriques. On peut aussi decider de garder la matrice Hk pendant plusieurs iterations

14

et de lactualiser periodiquement . . . Pour plus de details, on peut consulter par exemple


[12].
Nous presentons ici une methode quasi-Newton, tr`es utilisee qui est la methode de LevenbergMarquardt couplee avec une r`egle de recherche lineaire de type Armijo, qui a lavantage
davoir une convergence quadratique globale sous des hypoth`eses standard (voir [9]).

Algorithme de Levenberg-Marquardt (avec recherche lineaire)


1. Initialisation
On se donne , , ] 0, 1 [.
Choix de x0 Rn et calcul de 0 = kF (x0 )k2 , k = 0.
2. It
eration k : trouver la solution dk du syst`eme
[k Id + DF (xk )t DF (xk )] d = DF (xk )t F (xk ) ;
Si dk verifie : kF (xk + dk )k kF (xk )k alors : xk+1 = xk + dk et on va `a 4.
Sinon, on va `
a 3.
3. Etape de recherche lin
eaire du pas : Soit mk le plus petit entier positif tel que
k(xk + m dk )k2 k(xk )k2 m (xk )t dk ,
1
o`
u (x) = kF (x)k2 .
2
On pose xk+1 = xk + mk dk et on va `a 4.
4. Crit`
ere darr
et
Si kxk+1 xk k < , STOP
Sinon, on pose k+1 = kF (xk+1 )k2 , k = k + 1, et on retourne `a 2.
Si M est une matrice (reelle), M t designe sa matrice transposee.
4.2.2

Application `
a la recherche dextrema

Nous avons vu dans la section 3.1.2 (Theor`eme 2.1) quune condition necessaire doptimalite est J(x ) = 0. Ceci est une equation non lineaire (ou plutot un syst`eme
dequations non lineaires) dans Rn et nous allons utiliser la methode de Newton pour
la resoudre. Toutefois nous nobtiendrons que les points critiques de J: il faudra
ensuite v
erifier que ce sont bien des minima.
Ici F = J est bien une fonction de Rn dans Rn . La derivee de F nest autre que la
matrice hessienne de J (voir Annexe A) : H(x) = D 2 J(x). La methode de Newton secrit
alors :

Algorithme de Newton pour la recherche de points critiques


1. Initialisation
k = 0 : choix de x0 dans un voisinage de x .

15

2. It
eration k
xk+1 = xk [H(xk )]1 J(xk ) ;
3. Crit`
ere darr
et
Si kxk+1 xk k < , STOP
Sinon, on pose k = k + 1 et on retourne `a 2.
Letape 2. de la methode revient `
a resoudre le syst`eme lineaire suivant:
Hk k = J(xk ) ,
o`
u Hk = H(xk ) puis `
a poser xk+1 = xk k .
Le calcul de Hk est letape la plus co
uteuse de la methode. L`a encore des methodes
quasi-Newton peuvent etre utilisees pour rendre le calcul moins cher.

4.3
4.3.1

M
ethode du Gradient conjugu
e
M
ethode du Gradient conjugu
e : cas lin
eaire

La presentation des deux algorithmes precedents montrent quen realite on ne calcule pas les extrema dune fonction mais les points stationnaires (ou points critiques) qui
verifient la condition doptimalite du premier ordre. Dans le cas particulier o`
u J est quadratique nous avons vu que cela revient `a resoudre un syst`eme lineaire : Ax = b . Nous
allons donc presenter ici une methode de resolution dun syst`eme lineaire issue de la theorie
de loptimisation et convergente dans le cas des matrices symetriques definies positives.
Dans ce cas lapplication qui au couple (x, y) associe le produit (A x, y) est un produit
scalaire sur Rn quon note (x, y)A . La methode qui suit est une methode de descente inspiree de la methode du gradient. La direction de descente wk nest plus egale au gradient
gk = Axk b : le gradient gk est corrige de facon que toutes les directions wk obtenues
soient orthogonales (ou conjuguees) pour le produit scalaire (, )A . Plus precisement on
pose :
wk = gk + k wk1 ,
o`
u k est tel que :(wk , wk1 )A = 0.

Algorithme du Gradient conjugue


1. Initialisation
k = 0 : choix de x0 Rn et calcul de g0 = Ax0 b.
2. It
eration k
(a) Si gk = 0 STOP;
(b) Sinon:
wk =

g0
si
gk + k wk1 si

(gk , Awk1 )
k=0
.
avec k =
k1
(Awk1 , wk1 )

16

k =

(gk , wk )
(A wk , wk )

xk+1 = xk k wk ,
gk+1 = A xk+1 b.
(c) k = k + 1.
Une fois de plus, outre la convergence de la suite des iteres, nous devons assurer son
existence cest-`a-dire wk 6= 0 `
a letape 2b. de lalgorithme, ce que nous allons faire en
demontrant le resultat suivant.
Th
eor`
eme 4.3 La methode du gradient conjugue trouve le minimum dune fonction quadratique J, o`
u A est symetrique, definie positive, en au plus n iterations o`
u n est lordre
de A.
Remarque 4.4 Cette methode est tr`es stable meme pour des matrices mal conditionnees.
Elle demande 2n3 operations dans le cas dune matrice pleine et de n iterations. Pour une
matrice creuse, le nombre doperations diminue beaucoup.
En pratique, la convergence nest pas finie `a cause des erreurs de precision dues `a la
machine. On ajoute donc en general une etape 3. Crit`ere darret analogue `a celle des
algorithmes precedents.

4.4

M
ethode de Relaxation

La derni`ere methode que nous presentons permet de ramener un probl`eme de minimisation dans Rn `
a la resolution successive de n probl`emes de minimisation dans R (`a
chaque iteration).
On cherche `
a minimiser J : Rn R ; posons X = (x1 , . . . , xn ). Le principe de la
methode est le suivant: etant donne un itere X k de coordonnees (xk1 , . . . , xkn ), on fixe
toutes les composantes sauf la premi`ere et on minimise sur la premi`ere :
min J(x, xk2 , xk3 , . . . , xkn ) , x R .
On obtient ainsi la premi`ere coordonnee de litere suivant X k+1 que lon note xk+1
1 ; on
peut, pour effectuer cette minimisation dans R, utiliser par exemple la methode de Newton
dans R. On recommence ensuite en fixant la premi`ere coordonnee `a xk+1
et les n 2
1
derni`eres comme precedemment. On minimise sur la deuxi`eme coordonnee et ainsi de
suite. Lalgorithme obtenu est le suivant:

Methode de relaxation successive


1. Initialisation
k = 0 : choix de X o Rn .

17

2. It
eration k;
pour i variant de 1 `
a n, on calcule la solution xk+1
de
i
k+1
k+1
k
k
min J(xk+1
1 , x2 , . . . , xi1 , x, xi+1 , . . . , xn ) , x R .

3. Crit`
ere darr
et
Si kxk+1 xk k < , STOP
Sinon, on pose k = k + 1 et on retourne `a 2.
Nous ne detaillerons pas les conditions de convergence de cette methode. Elles sont
analogues aux conditions de convergence de la methode du gradient et de Newton. Pour
plus de details et pour des exemples dutilisation on peut se referer `a [8].

Une m
ethode probabiliste

Cette section est consacree `


a la presentation dun algorithme stochastique , cest-`adire un algorithme qui fait intervenir des variables aleatoires. La plupart des algorithmes
decrit dans les sections precedentes fournissent des minima locaux, sauf dans des cas tr`es
particuliers (cas convexe par exemple). Lalgorithme du recuit simul
e permet dobtenir
les minimums globaux dune fonction. On ne parlera que des algorithmes sur des ensembles
finis. On suppose en effet quon a discretise lensemble des contraintes.

5.1

Dynamique de M
etropolis

Soit E un espace fini. On consid`ere une fonction V 1 de E dans R appelee fonction


d
energie ou potentiel que nous souhaitons minimiser. Lalgorithme de M
etropolis est
un algorithme de recherche des minima de V . Lidee heuristique de cette methode est la
suivante : si `
a letape n litere vaut Xn = x, on regarde la valeur de V pour un point y
voisin de x choisi al
eatoirement. Si V (y) < V (x) on sait que x nest pas bon et on
prend Xn+1 = y. Dans le cas contraire, on aurait envie de prendre Xn+1 = x. Mais on veut
eviter de rester piege en un eventuel minimum local Xn = x. Donc on posera Xn+1 = y si
V (y) V (x) est inferieur `
a une variable al
eatoire positive simul
ee, et Xn+1 = x dans
le cas contraire. Lalgorithme secrit alors:

1. Nous changeons de notations et de terminologie : la fonction V nest autre que la fonction co


ut J des
chapitres precedents restreinte au sous-ensemble fini E.

18

Dynamique de Metropolis
1. Initialisation
n = 0: choix de X0 E deterministe arbitraire.
2. It
eration n : on observe Xn = x.
On simule une variable aleatoire Yn+1 de loi Q(x, );
puis on gen`ere un nombre au hasard Un+1 (de loi uniforme sur [0, 1])
ind
ependant de Yn+1 et on pose

Yn+1 si V (Yn+1 ) log Un+1 + V (x)
Xn+1 =
x
sinon.
est un reel positif : cest la temp
erature. Q est une matrice (de transition markovienne)
sur E, symetrique : cest la r`
egle de s
election des voisins. Cette matrice exprime en
general une relation de voisinage: si chaque point x a r + 1 voisins, la relation de voisinage
1
etant symetrique, on peut prendre Q(x, y) = si x et y sont distincts et voisins.
r
Nous avons un resultat de convergence mais il necessite pour etre compl`etement detaille
la theorie des chanes de Markov. Toutefois nous allons utiliser cette simulation pour decrire
lalgorithme du recuit simul
e. Pour plus de details (en particulier sur les demonstrations
de convergence) on peut se referer `
a [5].

5.2

Recuit simul
e sur un ensemble fini

Pour fabriquer un acier de bonne qualite, on le recuit plusieurs fois en effectuant des
fusions `a des temperatures decroissantes. Le recuit simul
e reprend cette idee.
On va utiliser la dynamique de Metropolis `a des temperatures n qui seront choisies
decroissan- tes et on regarde si la suite de variables aleatoires ainsi engendrees converge
en probabilite. Precisons:

19

Recuit simule
1. Initialisation
n = 0 : choix de X0 E deterministe arbitraire et de 1 > 0.
2. It
eration n : on observe Xn = x et on choisit n < n1
On simule une variable aleatoire Yn+1 de loi Q(x, ),
puis on gen`ere un nombre au hasard Un+1 (de loi uniforme sur [0, 1])
independant de Yn+1 et on pose

Yn+1 si V (Yn+1 ) n log Un+1 + V (x)
Xn+1 =
x
sinon.
On a alors le resultat de convergence suivant ([5]):
Th
eor`
eme 5.1 Si la suite n est de la forme n =
constante liee a
` la structure geometrique de V , alors

T
avec T T0 o`
u T0 est une
log n

lim P (Xn SV ) = 1 .

n+

SV designe lensemble des minima (globaux) de V sur E.


Nous avons donc convergence en probabilite de Xn .

R
ef
erences
[1] D.P. Bertsekas,Projected Newton Method for Optimization Problems with Simple
Constraints, SIAM Journal on Control and Optimization, Vol. 20, no 2, Mars 82, pp.
221-246.
[2] J.F. Bonnans- J.C. Gilbert - C. Lemar
echal - C. Sagastizabal, Optimisation
numerique. Aspects theoriques et pratiques , Collection Mathematiques et Applications, Vol. 27, Springer-verlag, 1998.
[3] P.G. Ciarlet, Introduction a
` lanalyse numerique matricielle et a
` loptimisation,
Collection Mathematiques appliquees pour la matrise, Masson, Paris, 1988.
[4] M.Crouzeix - A.Mignot, Analyse Numerique des equations Differentielles, Collection Mathematiques appliquees pour la matrise, Masson, Paris, 1989.
[5] M. Duflo, Algorithmes stochastiques, Mathematiques et Applications 23, SpringerVerlag, 1996.
[6] F. Ecoto, Initiation a
` la Recherche Operationnelle, Ellipses, Paris, 1986.
[7] P. Faurre, Analyse Numerique- Notes doptimisation, Collection X, Ellipses, Paris,
1988.

20

[8] M. Fortin - R. Glowinski, Methodes de Lagrangien Augmente. Application a


` la
resolution de probl`emes aux limites, Dunod-Bordas, Paris, 1982.
[9] N. Yamashita - M. Fukushima,
On the rate of Convergence of the
Levenberg-Marquardt Method , preprint Octobre 2000, www-optima.amp.i.kyotou.ac.jp/ fuku/index-e.html
[10] J.B. Hiriart-Urruty, Loptimisation, Que sais-je?, PUF, Paris, 1996.
[11] B. Larrouturou - P.L. Lions, Methodes mathematiques pour les sciences de
lingenieur: optimisation et analyse numerique, Cours de lEcole Polytechnique, 1994.
[12] D.G. Luenberger, Linear and Nonlinear Programming, deuxi`eme edition, AddisonWesley, Reading, Massachusets,1984.
[13] D.G. Luenberger, Optimization by Vector Space Methods, Wiley, New York,1969.
[14] G.L. Nemhauser - A.H.G. Rinnooy Kan - M.J. Todd (eds), Optimization,
Handbook in operations research and management science, Vol.1, North-Holland ,
1989.
[15] P.A. Raviart-J.M. Thomas, Introduction a
` lanalyse numerique des EDP, Collection Mathematiques appliquees pour la matrise, Masson, Paris,1988.
[16] H. Reinhard, Equations differentielles, fondements et applications, Dunod Universite, Bordas, Paris,1989.

21

Table des mati`


eres
1 R
esultats dexistence et dunicit
e

2 Conditions doptimalit
e
2.1 Conditions necessaires du premier ordre . . . . . . . . . . . . . . . . . . . .

4
4

3 Exemple : r
egression lin
eaire

4 Algorithmes (d
eterministes)
4.1 Methode du Gradient . . . . . . . . . . . . . . . .
4.2 Methode de Newton . . . . . . . . . . . . . . . . .
4.2.1 Methode de Newton . . . . . . . . . . . . .
4.2.2 Application `
a la recherche dextrema . . . .
4.3 Methode du Gradient conjugue . . . . . . . . . . .
4.3.1 Methode du Gradient conjugue : cas lineaire
4.4 Methode de Relaxation . . . . . . . . . . . . . . .

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

.
.
.
.
.
.
.

7
9
11
11
14
15
15
16

5 Une m
ethode probabiliste
17
5.1 Dynamique de Metropolis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.2 Recuit simule sur un ensemble fini . . . . . . . . . . . . . . . . . . . . . . . 18

Vous aimerez peut-être aussi