Escolar Documentos
Profissional Documentos
Cultura Documentos
3 ME ANNE MIC
Anne 2009-2010
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
7
8
8
11
12
12
14
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
15
15
16
18
18
20
22
23
23
25
29
31
31
33
34
A Complments
A.1 Rappels de calcul diffrentiel . . .
A.1.1 Diffrentiabilit et gradient
A.1.2 Drives dordre suprieur
A.1.3 Formules de Taylor . . . .
A.2 Quelques dmonstrations . . . . .
.
.
.
.
.
.
.
.
.
.
3
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
39
39
39
39
40
42
Introduction
Tout problme doptimisation comporte une tape essentielle : la modlisation mathmatique.
Elle consiste en trois tapes :
1. Identification des variables de dcisions (souvent dsignes par un vecteur x Rn dans
ce cours) : ce sont les paramtres sur lesquels lutilisateur peut agir pour faire voluer le
systme considr.
2. Dfinition dune fonction cot (appele fonction objectif) permettant dvaluer ltat du
systme (ex : rendement, performance,. . . ).
3. Description des contraintes imposes aux variables de dcision.
Le problme doptimisation consiste alors dterminer les variables de dcision conduisant aux
meilleures conditions de fonctionnement du systme (ce qui revient minimiser ou maximiser
la fonction cot), tout en respectant les contraintes dutilisation dfinies ltape 3.
Dans ce cours, nous nous intressons aux mthodes numriques pour loptimisation continue,
diffrentiable et non linaire.
Le premier chapitre traite des notions mathmatiques fondamentales matriser avant de
sintresser la rsolution proprement parler de tout problme doptimisation : la description
mathmatique dun problme doptimisation, la notion de solution locale et quelques lments
danalyse convexe.
Dans les chapitres suivants, nous entrons dans le vif du sujet en nous intressant la rsolution de problmes doptimisation sans contrainte (cf chapitre 2), puis avec contraintes (cf chapitre
3). Pour chacun de ses problmes nous tenterons de rpondre aux questions suivantes :
1. Existe-t-il une solution (mme locale) du problme considr ? si oui, a-t-on unicit ?
2. Comment la caractriser ? (cf conditions doptimalit).
3. Comment la calculer ? Quel type dalgorithme choisir ?
Chapitre 1
Formulation et analyse dun problme
doptimisation
1.1
On distinguera les notions de minimum et de maximum des notions dinfinimum et de supremum. Ces notions sont des prrequis pour les dmonstrations des rsultats dexistence et
dunicit dextrema dune fonction donne.
Dfinition 1.1 (Minorant/Majorant) Soit E un sous-ensemble de R.
m R {, +} est un minorant de E ssi
x E
m x.
M x.
xE
et
sup(x).
xE
n+
n+
La suite (xn )n est une suite minimisante et (yn )n une suite maximisante de E.
7
1.2
1.2.1
et
max(E) = sup(E).
xRn
sous la contrainte : x X.
(1.1)
i = 1, . . . , q.
Dans ce cas, on dit quil sagit dun problme doptimisation n variables de dcisions, p
contraintes dgalits et q contraintes dingalits.
Rsoudre le problme (1.1) revient chercher des points de minimum local (ou global, cest
encore mieux !) au sens de la dfinition suivante :
r > 0 | y X B(x, r) 1 ,
et
f (x) f (y).
(1.2)
y X,
et
f (x) f (y).
(1.3)
et
max f (x)
x
ou encore
Ainsi la recherche dun maximum pouvant se ramener la recherche dun minimum, nous porterons une attention plus particulire la recherche du minimum.
3.5
Maximum global
3.0
2.5
2.0
1.5
Maximum local
1.0
0.5
Minimum local
0.0
5
10
10
1.0
0.8
0.6
0.4
0.2
0.0
0.2
0.4
0.6
0.8
1.0
10
10
50
40
30
20
10
0
10
20
30
40
50
50
40
30
20
10
10
20
30
40
50
F IGURE 1.3 Fonction f : x 7 x cos(x) : infinit de minima et maxima locaux mais aucun
minimum ou maximum global.
1.2.2
11
1
,
n+1
B(x, r) F 6= .
1
).
n+1
1
Ceci peut tre traduit en kxn xk n+1
. Il suit que xn converge vers x. Comme F est ferm,
x F , ce qui est impossible car x O.
12
1.3
Convexit et optimisation
Les problmes dont les donnes sont convexes, constituent une classe importante en optimisation, car frquemment rencontrs dans les applications et la base de nombreuses mthodes
dveloppes pour des problmes plus gnraux.
1.3.1
]0, 1[,
x + (1 )y C,
cest--dire, si x et y sont deux lments de C alors le segment qui relie x y est inclus dans C.
Exemple. Rn est convexe.
Dfinition 1.8 (Fonction convexe/strictement convexe) Soit C Rn convexe et f : C R.
f est convexe ssi
(x, y) C 2 ,
]0, 1[,
(1.4)
hf (y) f (x), y xi 0.
(1.5)
soit :
hf (tx + (1 t)y), y xi
En combinant ces deux ingalits, on obtient : tf (x) + (1 t)f (y) f (tx + (1 t)y), et donc
la convexit de f .
En changeant les rles de x et y dans (1.4), puis en sommant les deux ingalits obtenues,
on dmontre sans problme que (1.4) implique (1.5). Pour montrer la rciproque, on introduit :
: t [0, 1] 7 tf (x) + (1 t)f (y) f (tx + (1 t)y),
et on montre que est positive sur [0, 1]. Dmonstration laisse en exercice (on pourra tracer le
tableau de variation de sur [0, 1]).
13
Remarque 1.1 Si f est strictement monotone i.e. si les ingalits (1.4) et (1.5) sont strictes
pour x 6= y, alors f est strictement convexe.
Si de plus, la fonctionnelle f est deux fois diffrentiable, on a alors une caractrisation dordre
deux de la convexit via la Hessienne.
Thorme 1.2 Soit f : Rn R une fonctionnelle de classe C 2 .
Si la hessienne H[f ](x) de f est une matrice symtrique dfinie positive pour tout x Rn , alors
f est strictement convexe.
Si H[f ](x) est une matrice symtrique semidfinie positive pour tout x Rn , alors f est convexe.
Pour montrer ce rsultat nous avons besoin du lemme technique suivant.
Lemme 1.1 Soit C 2 ([0, 1]).
Si (2) (x) > 0, alors () < (1 )(0) + (1) pour ]0, 1[.
Si (2) (x) 0, alors () (1 )(0) + (1).
Preuve. Comme (2) (x) > 0 (resp. ) pour 0 x 1, 0 est strictement croissante (resp.
croissante) et par consquent
Z
() (0) =
0 (t)dt < 0 () (resp. ),
Z0 1
(1) () =
0 (t)dt > (1 )0 () (resp. ).
1
cest--dire : () < (1 )(0) + (1)
(resp. );
(resp. ).
Preuve du thorme 1.2. Supposons H[f ](z) symtrique dfinie positive. Soient x et y deux
lments distincts de Rn . Introduisons la fonction : [0, 1] R de classe C 2 dfinie par
() = f (x + (1 )y).
Utilisons le dveloppement lordre deux de pour calculer la drive seconde de
( + h) = f (( + h)x + (1 h)y) = f (x + (1 )y + h(x y)).
Avec t = x + (1 )y, nous avons
1
( + h) = f (t) + [f (t)]> h(x y) + h(x y)> H[f ](t)h(x y)
2
+ h2 kx yk2 (t, h(x y)),
et, par consquent
h2
( + h) = () + h [f (t)]> (x y) +
(x y)> H[f ](t)(x y) + h2 (h)
2
14
Comme est de classe C 2 , la drive premire et la drive seconde de sont donc donnes par
0 ()
= [f (x + (1 )y)]> (x y),
Donc la fonction (2) () est strictement positive car H[f ](x + (1 )y) est symtrique dfinie
positive et x 6= y. Le lemme 1.1 scrit :
f (x + (1 )y) < (1 )f (y) + f (x).
puisque : (0) = f (y), (1) = f (x) et () = f (x + (1 )y).
Ceci prouve que f est strictement convexe. Si pour tout x, H[f ](x) est positive, une preuve
similaire nous permet de montrer que f est convexe.
1.3.2
f (y) f (x? ).
(1.6)
tel que x? ne ralise pas un minimum global, i.e. quil existe un point x+ de C tel que :
f (x+ ) < f (x? ).
(1.7)
r
On introduit le point : yr/2 = x+ + (1 )x? , avec : =
]0, 1[.
2kx+ x? k
Daprs les hypothses (1.6) et (1.7), on a : x+
/ B(x? , r), ce qui implique : r < kx+ x? k,
et : ]0, 1[. Par convexit de C, le point yr/2 appartient donc au segment [x+ , x? ] lui-mme
contenu dans C. De plus :
f (yr/2 ) f (x+ ) + (1 )f (x? )
< f (x? )
par convexit de f
daprs (1.6).
Ceci contredit (1.6) car : kyr/2 x? k = 2r . Le point yr/2 appartient donc galement la boule
ouverte B(x? , r) i.e. : f (yr/2 ) f (x? ).
ii. Raisonnons nouveau par labsurde. Soient x1 et x2 deux lments de C ralisant le
x1 + x2
minimum de f . Par convexit de C,
C, et comme f est strictement convexe, il suit
2
x1 + x2
1
1
<
f (x1 ) + f (x2 )
f
2
2
2
1
1
<
inf f (y) + inf f (y) = inf f (y),
yC
2 yC
2 yC
Ce qui est impossible.
Chapitre 2
Optimisation numrique sans contraintes
Nous nous intressons dans ce chapitre la conception de mthodes numriques pour la
recherche des points x Rn qui ralisent le minimum dune fonction f : Rn R :
(P )
min f (x),
xRn
2.1
Avant dtudier la solution (ou les solutions) de (P ), il faut sassurer de leur existence.
Dfinition 2.1 Une application f : X Rn R est dite infinie linfini (ou coercive) ssi
A R,
On note :
lim
kxk+
R > 0 | x X,
[kxk R = f (x) A]
f (x) = +.
Exemples
(2.1)
16
n+
n+
n+
Pour montrer que f est infinie linfini on utilise souvent la proposition suivante :
Proposition 2.1 Soit f : X Rn R une application et g : R R vrifiant
f (x) g(kxk)
avec
lim g(t) = +.
t+
R > 0 | t R
t R = g(t) A.
Thorme 2.1 Soit f : Rn R une fonction continue et infinie linfini. Alors il existe un
point x Rn qui ralise le minimum de f sur Rn . Autrement dit, il existe x Rn tel que
f (x) f (y),
y Rn .
Preuve. Soit d = infn f (x) < +. Soit (xn )nN une suite minimisante cest--dire telle que :
xR
(2.2)
n+
Montrons que la suite (xn )nN est borne. Par labsurde, on suppose quelle ne lest pas cest-dire quil existe une sous-suite note (x(n) )n de (xn )n telle que : lim kx(n) k = +. Par
n+
La suite (xn )nN est donc borne : il existe alors une suite extraite note (x(n) )n de (xn )n ,
qui converge vers x Rn . En utilisant maintenant la continuit de f , on a alors :
f (
x) = lim f (x(n) ) = d.
n+
2.2
Conditions doptimalit
Si, de plus, f est deux fois diffrentiable dans un voisinage ouvert de x? , alors :
H[f ](x? ) semidfinie positive
(resp. H[f ](x? ) semidfinie ngative)
17
s2 >
h H[f ](x? )h + o(s2 ).
2
s2 >
h H[f ](x? )h+o(s2 ) 0 puisque x? est un point de minimum local de f . Aprs division
2
par s2 , on fait tendre s vers 0 et on obtient : h> H[f ](x? )h 0.
soit :
La condition du premier ordre joue un rle central en optimisation numrique : elle permet
de slectionner un certain nombre de points candidats tre des extrema locaux, appels points
critiques ou points stationnaires. Parmi eux, figurent des minima locaux, des maxima locaux
et dautres qui ne sont ni lun, ni lautre, appels points selle.
Dfinition 2.2 (Points critiques) Soit f : Rn R une application diffrentiable. Tout point
x Rn vrifiant :
f (x) = 0,
est appel point critique (ou point stationnaire) de f .
Mais attention ! Les conditions du thorme 2.2 ne sont que ncessaires : tout point o le
gradient est nul nest pas ncessairement un extremum. En effet, la fonctionnelle : f : x R 7
x3 admet en x = 0 un point de drive nulle, qui nest pas un extremum mme local de f .
Thorme 2.3 (Condition Suffisante doptimalit locale) Soit O un ouvert de Rn . Soit f :
Rn R une application suppose de classe C 2 sur O. Si x O vrifie :
f (
x) = 0 et H[f ](
x) symtrique, dfinie positive (resp. dfinie ngative)
Alors x est un point de minimum local (resp. maximum local) de f .
Remarque 2.1
1. Comme f est de classe C 2 , par le thorme de Schwarz, il nest pas ncessaire de vrifier
que la matrice hessienne H[f ] est symtrique.
2. Dun point de vue gomtrique, la condition du second ordre : H[f ](
x) dfinie positive,
?
revient dire que f est localement convexe en x , i.e. convexe dans un voisinage ouvert de
x? . En pratique, elle est difficile vrifier systmatiquement car elle ncessite de calculer
les drives secondes et dtudier les valeurs propres de la matrice hessienne.
Si de plus la fonctionnelle optimiser est convexe ou strictement convexe, en appliquant le
thorme 1.3 au convexe C = Rn , on obtient :
Thorme 2.4 (Condition Suffisante doptimalit globale) Soit f : Rn R une application
diffrentiable et x un point critique de f .
i. Si f est convexe, alors x est un point de minimum global de f .
ii. Si f est strictement convexe, alors x est lunique point de minimum global de f .
18
2.3
f (xk+1 ) f (xk ).
2.3.1
Le gradient joue un rle essentiel en optimisation. Dans le cadre des mthodes doptimisation,
il sera galement important danalyser le comportement de la fonction objectif dans certaines
directions. Commenons pour cela par rappeler le concept de drive directionnelle :
Dfinition 2.3 Soit f : Rn R une application continue. Soit x Rn et d Rn .
La drive directionnelle de f en x dans la direction d est dfinie par :
df (x; d) := lim+
t0
f (x + td) f (x)
,
t
(2.3)
19
20
18
d1 = f (1, 1)
16
(t) = f (x + tdi)
14
12
1
3
1
1
d2 =
10
8
6
4
2
d3 =
0
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
F IGURE 2.1 Allure de la fonction f : x 7 12 x21 + 2x22 au point x = (1, 1)> dans plusieurs
directions.
(2.4)
(2.5)
Autrement dit, la relation (2.5) nous dit que la dcroissance de la fonction objectif f en faisant un pas de taille t dans la direction d, est dau moins le pas fois une fraction de la pente.
Preuve de la proposition 2.3. Soit d une direction de descente de f en x, soit : f (x)> d < 0.
On crit le dveloppement de Taylor-Young de t 7 f (x + td) : pour t assez petit,
f (x + td) = f (x) + tf (x)> d + t(t), avec : (t) 0.
t0
Sachant que = f (x)> d > 0, il existe > 0 tel que si |t| , alors |(t)| < . Do :
t ]0, ], f (x + td) f (x) = t f (x)> d + (t) < t f (x)> d + = 0.
20
(2.6)
Sans surprise, si loppos du gradient correspond la plus forte descente, le gradient correspond, lui, la plus forte pente :
Corollaire 2.1 Le vecteur f (x) est appele direction de plus forte pente de f au point x Rn .
On remarquera que si x? est un point de minimum local de f , alors il nexiste aucune direction
de descente pour f au point x? .
Exercice 2.3.1 Retrouver les conditions ncessaires doptimalit du thorme 2.2 en utilisant la
notion de direction de descente.
2.3.2
f (xk+1 ) f (xk )
Daprs la caractrisation de la descente (cf proposition 2.3), il sagit donc chaque itration k,
de trouver un point xk+1 dans une direction d vrifiant : f (xk )> d < 0.
Le schma gnral dun algorithme de descente est le suivant :
A LGORITHME DE DESCENTE MODLE .
Donnes: f : Rn R suppose au moins diffrentiable, x0 point initial arbitrairement
choisi.
Sortie: une approximation de la solution du problme : minn f (x).
xR
21
1. k := 0
2. Tant que test de convergence non satisfait,
(a) Trouver une direction de descente dk telle que : f (xk )> dk < 0.
(b) Recherche linaire : Choisir un pas sk > 0 faire dans cette direction et tel que :
f (xk + sk dk ) < f (xk ).
(c) Mise jour : xk+1 = xk + sk dk ; k := k + 1 ;
3. Retourner xk .
Oracle/Boite noire. Pour obtenir le prochain itr, lalgorithme aura besoin dinformations sur
la fonction objectif f : la valeur numrique de f en un point donn x, et souvent galement le
gradient f (x). Ces informations sont fournies en boite noire, i.e. par un sous-programme
indpendant de lalgorithme doptimisation choisi : routine de calcul du gradient par diffrences
finies lorsque celui-ci nest pas calculable explicitement, ou simulateur renvoyant les valeurs
numriques f (x) et f (x) sans formule mathmatique explicite par exemple.
Test de convergence/Test darrt. Soit x? un point de minimum local du critre f optimiser.
Supposons que lon choisisse comme test darrt dans lalgorithme de descente modle, le critre
idal : xk = x? . Dans un monde idal (i.e. en supposant tous les calculs exacts et la capacit
de calcul illimite), soit lalgorithme sarrte aprs un nombre fini ditrations, soit il construit
(thoriquement) une suite infinie x1 , x2 , . . . , xk , . . . de points de Rn qui converge vers x? .
En pratique, un test darrt devra tre choisi pour garantir que lalgorithme sarrte toujours
aprs un nombre fini ditrations et que le dernier point calcul soit suffisamment proche de x? .
Soit > 0 la prcision demande. Plusieurs critres sont notre disposition : tout dabord (et
cest le plus naturel), un critre doptimalit bas sur les conditions ncessaires doptimalit du
premier ordre prsentes dans la section 2.2 : on teste si
kf (xk )k < ,
(2.7)
En pratique, on prfrera travailler avec les erreurs relatives plutt quavec les erreurs absolues, trop dpendantes de lchelle.
22
2.3.3
tudier la convergence dun algorithme, cest tudier la convergence de la suite des itrs
gnrs par lalgorithme. Un algorithme de descente selon le modle prcdent, est dit convergent
si la suite de ses itrs (xk )kN converge vers un point limite x? , solution du problme :
min f (x).
xRn
De plus, la convergence est dite locale si elle na lieu que pour des points initiaux x0 dans un
voisinage de x? . Sinon elle est dite globale.
En pratique, le but dun algorithme doptimisation ne sera que de trouver un point critique
(i.e. un point vrifiant la condition doptimalit du premier ordre : f (x? ) = 0). On introduit
alors la notion de convergence globale dun algorithme doptimisation :
Dfinition 2.5 Soit un algorithme itratif qui gnre une suite (xk )kN dans Rn afin de rsoudre
le problme :
minn f (x),
xR
k+
Cette proprit garantit que le critre darrt kf (xk )k ? sera satisfait partir dun certain
rang quelle que soit la prcision > 0 demande.
Il est bien entendu trs important de garantir la convergence dun algorithme sous certaines
hypothses, mais la vitesse de convergence et la complexit sont galement des facteurs prendre
en compte lors de la conception ou de lutilisation dun algorithme ; en effet, on a tout intrt ce
que la mthode choisie soit la fois rapide, prcise et stable. Pour cela, on introduit les notions
de vitesse (ou taux) de convergence qui mesurent lvolution de lerreur commise kxk x? k.
Dfinition 2.6 Soit (xk )kN une suite ditrs gnrs par un algorithme convergent donn. On
note x? la limite de la suite (xk )kN et on suppose : k N, xk 6= x? (sinon lalgorithme
convergerait en un nombre fini ditrations). La convergence de lalgorithme est dite :
linaire si lerreur ek = kxk x? k dcrot linairement i.e. sil existe ]0, 1[ tel que :
kxk+1 x? k
= .
lim
k+ kxk x? k
superlinaire si
kxk+1 x? k
lim
= 0.
k+ kxk x? k
dordre p sil existe 0 tel que :
kxk+1 x? k
= .
k+ kxk x? kp
lim
23
Bien entendu, on a intrt ce que la convergence dun algorithme soit la plus leve possible
afin de converger vers la solution en un minimum ditrations pour une prcision donne.
= |2 2 1|
Nb ditrations
Nb chiffres sign. exacts
2
3
0.5
1
3
2 2
0.885
0.414
0.057
105
5
15
5
6
7
4
10
1
Si = , la convergence est dite superlinaire et cest la meilleure convergence pos2 2
sible de lalgorithme en question.
1
2
Soit lalgorithme : xk+1 = (xk +
) dont la convergence est quadratique. Alors 4
2
xk
itrations suffisent pour calculer une valeur approche de x? avec 5 chiffres significatifs
exacts ; en ralit, on a mme 11 chiffres significatifs exacts ds la quatrime itration.
2.4
Un algorithme de descente est dtermin par les stratgies de choix des directions de descente
successives, puis par le pas qui sera effectu dans la direction choisie. Concentrons nous dans
cette partie sur le choix de la direction de descente : lide est de remplacer f par un modle local
plus simple, dont la minimisation nous donnera une direction de descente de f .
2.4.1
Soit xk Rn litr courant. tant donns la valeur f (xk ) et le gradient f (xk ) (notre
oracle), on remplace f au voisinage de xk par son dveloppement de Taylor de premier ordre :
f (xk + d) f (xk ) + f (xk )> d.
On voudrait que la drive directionnelle f (xk )> d soit la plus petite possible dans un voisinage
de d = 0. On cherche donc rsoudre :
min f (xk )> d
dRn
s.c.
kdk = 1,
dont la solution nous ait donne par le thorme 2.5, comme la direction de plus forte descente
normalise :
f (xk )
.
dk =
kf (xk )k
24
Le choix de la direction de plus forte descente dfinit une famille dalgorithmes appels algorithmes de descente de gradient dont le schma est le suivant :
A LGORITHME DE DESCENTE DE GRADIENT.
Donnes: f , x0 premire approximation de la solution cherche, > 0 prcision demande.
Sortie: une approximation x? de la solution de : f (x) = 0.
1. k := 0 ;
2. Tant que critre darrt non satisfait,
(a) Direction de descente : dk = f (xk )/kf (xk )k.
(b) Recherche linaire : trouver un pas sk tel que : f (xk + sk dk ) < f (xk ).
f (xk )
(c) xk+1 = xk sk
; k := k + 1 ;
kf (xk )k
3. Retourner xk .
Il reste maintenant dfinir une stratgie de recherche linaire pour le calcul du pas. Nous
tudions ici en premire approche une mthode pas optimal, puis une pas fixe.
Mthode de plus profonde descente (Steepest descent)
Une ide naturelle consiste suivre la direction de plus forte descente et faire un pas qui
rende la fonction minimiser la plus petite possible dans cette direction. Cette mthode est
appele mthode de gradient pas optimal ou encore mthode de plus profonde descente.
Ltape 2(a) de lalgorithme de descente de gradient est alors remplace par :
R ECHERCHE LINAIRE EXACTE .
2.
La mthode de plus profonde descente est une sorte didalisation : dune part, nous ne savons
pas en pratique calculer de faon exacte un point minimum sk de lobjectif dans une direction
donne et le problme nest en gnral pas trivial. Dautre part, la rsolution du problme de
minimisation unidimensionnel de ltape 2 (a), mme de faon approche, cote cher en temps
de calcul. Pour ces raisons, on peut lui prfrer parfois lalgorithme de gradient pas constant.
Algorithme de gradient pas fixe
Lide est trs simple : on impose une fois pour toutes la taille du pas effectu selon la
direction de descente calcule chaque itration. Les itrations 2 (a) et (b) de lalgorithme de
descente de gradient sont alors remplaces par :
xk+1 = xk s
f (xk )
.
kf (xk )k
La question est alors : comment choisir un pas qui garantisse la convergence de lalgorithme ?
25
2.4.2
Pour construire les mthodes de gradient, nous avons remplac f par son approximation
linaire au voisinage de litr courant. Nous avons vu que ces mthodes ne sont pas trs performantes, en partie parce quelles ne tiennent pas compte de la courbure qui est une information
de second ordre.
26
F IGURE 2.2 Itrations des algos de gradient pas fixe et optimal, gnres partir du point
(7, 1.5).
Principe
Supposons maintenant que f est de classe C 2 et remplaons f au voisinage de litr courant
xk par son dveloppement de Taylor de second ordre :
1
f (y) q(y) = f (xk ) + f (xk )> (y xk ) + (y xk )> H[f ](xk )(y xk ),
2
o la valeur f (xk ), le gradient f (xk ) et la matrice hessienne H[f ](xk ) sont donns par notre
oracle (boite noire).
On choisit alors comme point xk+1 le minimum de la quadratique q lorsquil existe et est
unique, ce qui nest le cas que si H[f ](xk ) est dfinie positive. Or le minimum de q est ralis
par xk+1 solution de : q(xk+1 ) = 0, soit :
f (xk ) + H[f ](xk )(xk+1 xk ) = 0,
ou encore, en supposant que H[f ](xk ) est dfinie positive :
xk+1 = xk H[f ](xk )1 f (xk ).
(2.8)
On reconnat dans la formule (2.8) les itrations de la mthode de Newton vue en cours
danalyse numrique, applique ici la rsolution de lquation : f (x) = 0. La mthode ne
doit cependant jamais tre applique en utilisant une inversion de la matrice Hessienne (qui peut
tre de trs grande taille et mal conditionne) mais plutt en utilisant :
27
f (xk , yk )
kf (xk , yk )k2
sk
xk
yk
0
1
2
3
4
5
..
.
32.375
16.925373
8.8484403
4.6258889
2.4183752
1.2643059
..
.
10.547512
7.9786973
6.5973298
3.5448339
3.4490276
1.8532089
..
.
0.1940299
0.3513514
0.1940299
0.3513514
0.1940299
..
.
7
5.641791
3.6595401
2.9494801
1.9131763
1.541963
..
.
1.5
0.5373134
0.7841872
0.2809029
0.4099663
0.1468536
..
.
0.3513514
0.1940299
0.3513514
0.1940299
..
.
1.63 105
1.31 105
0.85 105
0.69 105
..
.
0.35 105
0.12 105
0.18 105
0.07 105
..
.
TABLE 2.1 Itrations de la mthode de plus profonde descente. Le critre doptimalit est
satisfait en 43 itrations pour une prcision = 105 et en 79 itrations si = 1010 .
pas
Nb ditrations
0.325
DV
0.25
49
0.125
101
0.05
263
0.01
1340
TABLE 2.2 Nombres ditrations de lalgorithme de gradient pas fixe pour approcher lunique
argument minimum de f 105 prs, en fonction du pas choisi - Point initial : x0 = (7, 1.5).
xk+1 = xk + dk
o dk est lunique solution du systme linaire :
H[f ](xk )dk = f (xk ).
dk est appele direction de Newton.
Cette mthode est bien dfinie si chaque itration, la matrice hessienne H[f ](xk ) est dfinie
positive : ceci est vrai en particulier au voisinage de la solution x? cherche si on suppose que
H[f ](x? ) est dfinie positive (par continuit de H[f ]).
28
Algorithme
M THODE DE N EWTON LOCALE .
Donnes: f : Rn R de classe C 2 , x0 premire approximation de la solution cherche,
> 0 prcision demande.
Sortie: une approximation x? de la solution.
1. k := 0 ;
2. Tant que kf (xk )k > ,
(a) Calculer dk solution du systme : H[f ](xk )dk = f (xk ) ;
(b) xk+1 = xk + dk ;
(c) k := k + 1 ;
3. Retourner xk ;
2.4.3
29
Mthode de Gauss-Newton
Si maintenant F dsigne une application de Rn dans Rm , avec par exemple m > n, le systme dquations F (x) = 0 na gnralement pas de solutions. Le problme de moindres carrs
associ F consiste rechercher x tel que
)
(
m
X
1
1
(2.9)
r(x ) = min r(x) =
Fi (x)2 = kF (x)k22 , x Rn .
2 i=1
2
De tels problmes se rencontrent frquemment dans le cadre de lidentification de paramtres.
Les variables xi sont les n paramtres dun modle physique non linaire. On effectue m > n
mesures, et on cherche les xi qui permettent dajuster au mieux ce modle aux mesures.
La solution de (2.9) est caractrise par r(x ) = 0. Pour appliquer la mthode de Newton,
on doit rsoudre des systmes de la forme
!
m
X
Hr (x) d = r(x) JF (x)T JF (x) +
Fi (x) HFi (x) d = JF (x)T F (x), (2.10)
i=1
>
>
La matrice Hessienne Hr (x) de r(x) a une expression assez complique. Cependant le terme
Fi (x) HFi (x) est tel que lorsque le rsidu kF (x)k devient petit, cest--dire lorsque lon se
i=1
(2.11)
30
Application aux moindres carrs linaires. Dans le cas o la fonction F est linaire, i.e. :
F (x) = A x b,
avec
A Mn,p (R),
on obtient : JF (x) = A, et lquation de Gauss-Newton (2.11) devient : A> Adk+1 = A> (Axk
b). Comme dk+1 = xk+1 xk , on obtient :
A> Axk+1 = A> b
et ceci quel que soit xk . On reconnat ici le systme dquations normales du problme de
moindres carrs linaire :
1
(2.12)
minn kAx bk22 ,
xR 2
On rappelle que daprs le thorme 2.4 du cours danalyse numrique, x? est solution du problme (2.12) si et seulement si x? vrifie les quations normales : A> Ax = A> b. De plus si A
est de rang plein, x? est lunique solution de (2.12).
Ceci signifie donc que la mthode de Gauss-Newton identifie la solution en une seule itration
lorsque la fonction F est linaire.
Exercice 2.4.2 Soit F : R3 Rn une application dfinie par :
Fi (x0 , x1 , x2 ) = ci x0 x1 ex2 ti ,
1. Calculer Fi et H[Fi ].
2. En dduire : Jr et Hr o r = 21 F (x)> F (x).
i = 1, . . . , n.
Chapitre 3
Introduction loptimisation sous
contraintes
Ce chapitre est une courte introduction loptimisation sous contrainte. On sintresse la
rsolution de problmes doptimisation de la forme :
min f (x)
s.c.
x X,
(3.1)
3.1
32
Considrons une suite minimisante dans f (X), cest--dire une suite de (xn )nN dlments de
X telle que
f (xn ) inf f (y).
yX
Comme X est ferm born, il existe une sous-suite extraite (x(n) )nN qui converge vers un
x X. Cette suite extraite vrifie
x(n) x
et
kyk > R1
f (y) > A.
f (y) > A
B(0, R) F 6= .
et
On introduit alors : K = B(0, R) F . Lensemble K est un compact non vide car il est born
(kyk R) et ferm (intersection de deux ferms).
(ii) Minimisons f sur K. Comme f est continue et K est compact, f atteint son minimum sur
K, cest--dire
x K | f (x) = inf f (y),
(3.2)
yK
(iii) Montrons que minimiser sur K revient minimiser sur F . Dune part, nous avons
inf f (y) = inf inf f (y); inf f (y) .
yF
yK
yF \K
yF \K
yF
yK
3.2
33
Conditions doptimalit
Lcriture des conditions doptimalit en prsence de contraintes est base sur la mme intuition que dans le cas sans contraintes, savoir quil est impossible de descendre partir dun
minimum. Toutefois les conditions doptimalit vues au chapitre 2 ne sont plus valables comme
le montre lexemple suivant.
Exemple 3.2.1 Soit le problme :
Minimiser f (x) = x2 , x Rn , sous la contrainte : x 1.
La solution de ce problme est : x = 1, et pourtant : f 0 (1) = 2 6= 0.
Dans le cas o le domaine des contraintes est convexe, on a la condition ncessaire doptimalit locale suivante :
Thorme 3.3 (Condition ncessaire doptimalit locale) Soit f : Rn R une fonction diffrentiable et X un convexe ferm, non vide de Rn . Soit x? Rn un point de minimum local du
problme :
minn f (x) sous la contrainte : x X.
xR
34
Autre preuve du thorme 3.3. Raisonnons par labsurde. Supposons quil existe un point x
X tel que :
f (x? )> (x x? ) < 0.
Daprs la dfinition 2.4 vue au chapitre 2, d = x x? est donc une direction de descente de f
au point x? . En utilisant la caractrisation donne par la proposition 2.3 : il existe > 0 tel que :
s ]0, ], f (x? + sd) < f (x? ).
Or : x? X. De plus, d = x x? dfinit une direction admissible du problme (3.1). Donc pour
tout s ]0, min(, 1)], x? + sd est un point admissible de (3.1).
3.3
(3.3)
1
kx yk22
2
sous la contrainte :
yX
(3.4)
(3.5)
35
>
1
d(s) 0, ou encore : f (xk )> d(s) d(s)> d(s) 0.
s
36
Il est important de remarquer que le calcul ltape 2(a) du projet sur X, peut parfois tre
aussi difficile que le problme initial. En effet yk est obtenu en rsolvant le problme :
minn
yR
s.c.
1
kxk sf (xk ) yk22
2
x X.
Il sagit donc de rsoudre un problme doptimisation sur un convexe, avec une fonction objectif
convexe. Lorsque le domaine X des contraintes est simple (contraintes de bornes en particulier),
cest faisable. Ds que les contraintes ne sont pas des contraintes de bornes, le calcul de la
projection devient beaucoup plus dlicat.
Exemple 3.3.1 On veut rsoudre par une mthode de gradient projet le problme suivant :
1
7
min 2 f (x, y) = x2 + y 2
(x,y)R
2
2
s.c. x + y = 1.
Le domaine des contraintes X = {(x, y) R2 / x + y = 1} est un convexe ferm. Pour
lavoir rsolu au chapitre 2, on sait que le problme hors contrainte admet un minimum global
en (0, 0). Cependant (0, 0) ne satisfait pas la contrainte, ce nest donc pas un point admissible
du problme avec contrainte.
Afin de mettre en oeuvre lalgorithme de gradient projet, il nous faut choisir les mthodes
de calcul des pas sk et k aux tapes 2(a) et 2(c) de notre algorithme :
tape 2(a) : on choisit une mthode de gradient pour le calcul du pas sk .
tape 2(c) : en premire approche, on choisit un pas fixe k = 1, ce qui implique : xk+1 =
yk = pX (xk sf (xk )).
Le comportement numrique de la mthode de gradient projet ainsi dfinie, est illustr par
la figure 3.1 et le tableau 3.1 des itrations. On observe une convergence de la suite ditrs
gnrs partir du point x0 = (4, 5.5) vers le point (0.875, 0.125).
Vrifions analytiquement ce rsultat. On cherche un point (x, y) R2 vrifiant la contrainte :
y = 1 + x et minimisant f , ce qui revient minimiser sans contrainte lapplication :
7
fe : x 7 f (x, 1 + x) = 4x2 + 7x + .
2
Remarquons que fe est strictement convexe ; daprs le thorme 2.3 appliqu au point x? =
7 1
( , ) = (0.875, 0.125), fe admet un point de minimum global en x? .
8 8
37
F IGURE 3.1 Itrations successives (avant et aprs projection) de lalgorithme du gradient projet - exemple 3.3.1 partir du point (4, 5.5)
k
0
1
2
3
4
5
6
7
8
9
xk
[4
[ 1.1862415
[ 0.0023285
[ 0.4990021
[ 0.7175758
[ 0.8175032
[ 0.8612538
[ 0.8738685
[ 0.8749913
[ 0.875
5.5]
2.1862415 ]
1.0023285 ]
0.5009979 ]
0.2824242 ]
0.1824968 ]
0.1387462 ]
0.1261315 ]
0.1250087 ]
0.125 ]
xk sk f (xk )
kdk k = kyk xk k
[ 3.4232925 0.0508095 ]
[ 1.0159064 0.0112495 ]
[ 0.0019958 9.462e 08 ]
[ 0.4264826 0.0086691 ]
[ 0.6037028 0.0313035 ]
[ 0.6619890 0.0605186 ]
[ 0.6636631 0.0840740 ]
[ 0.6570769 0.0929058 ]
[ 0.6562565 0.0937435 ]
[ 0.65625 0.09375 ]
4.3472097
1.6743058
0.7089885
0.3091099
0.1413186
0.0618727
0.0178399
0.0015879
0.0000123
7.301e 10
TABLE 3.1 Itrations de la mthode du gradient projet : on note yk = pX (xk sk f (xk )). Le
critre darrt kdk k < est satisfait en 10 itrations pour une prcision = 105 .
Annexe A
Complments
A.1
A.1.1
Diffrentiabilit et gradient
Dfinition A.1 Soit J : Rn R une fonctionnelle. J est diffrentiable au point x ssi il existe
J(x) Rn et h 7 (h, x) vrifiant
J(x + h) = J(x) + [J(x)]> h + khk (h, x),
h Rn ,
(A.1)
avec
(h, x) 0.
h0
Lorsquil existe, le gradient peut tre exprim laide des drives partielles
x1 J(x)
x2 J(x)
J(x) =
.
xn J(x)
(A.2)
(A.3)
A.1.2
Dfinition A.3 On dit que J : Rn R est deux fois diffrentiable au point x Rn ssi
J est diffrentiable ;
chacune des composantes de J est diffrentiable.
Dfinition A.4 Soit J : Rn R deux fois diffrentiable. La Hessienne de J dfinie laide de
ses drives partielles dordre 2
H[J](x) = [i j J(x)]1i,jn .
39
(A.4)
40
A.1.3
Formules de Taylor
g(h) = O(hp )
g(h) = o(hp )
g(h)
a > 0, M > 0, |h| < a p M :
h
g(h) tend vers 0 avec h aussi vite que hp .
g(h)
lim p = 0,
h0 h
g(h) tend vers 0 avec h plus vite que hp
1 XX
hj hk x2j xk f (x) + O(kh3 k),
f (x + h) = f (x) +
hj xj f (x) +
2
j=1
j=1 k=1
p
p
p
X
1X X
= f (x) +
hj
hk x2k xj f (x) + O(kh3 k),
hj xj f (x) +
2 j=1
j=1
k=1
Jf (x) = Matrice Jacobienne = x1 f (x), . . . , xp f (x) = (f (x))T .
Le gradient de f est le vecteur transpos de sa matrice jacobienne.
h
i
2
Mp (R). Elle est symtrique.
Hf (x) = Matrice Hessienne = xi xj f (x)
1i,jp
1 T
h Hf (x) h + O(kh3 k).
(A.6)
2
La notation A B dsigne le produit matriciel. Dans le cas du produit dune matrice ligne
par une matrice colonne, on peut utiliser une notation de produit scalaire de deux matrices
(vecteurs) colonnes
1
(A.6) f (x + h) = f (x) + hf (x), hi + hHf (x) h, hi + O(kh3 k).
(A.7)
2
f (x + h) = f (x) + Jf (x) h +
Chapitre A. Complments
41
1 T
h Hfi (x) h + O(kh3 k).
2
En rassemblant toutes les lignes et suivant les rgles du produit matrice-vecteur, on obtient
Lf (h) = Jf (x) h avec
Jf1 (x)
...
Mn,p (R).
Jf (x) = Matrice Jacobienne =
...
Jfn (x)
1
Pour chaque i, le terme quadratique du dveloppement de fi est donn par hT Hfi (x) h.
2
En rassemblant toutes les lignes et en factorisant h droite, on obtient :
p
p
X
X
hk x2k x1 f1 (x) . . .
hk x2k xp f1 (x)
h1
h Hf1 (x) h
k=1
k=1
...
...
...
...
. (A.9)
=
...
...
.
.
.
.
.
.
p
p
X
X
hp
hT Hfn (x) h
h 2 f (x) . . .
h 2 f (x)
k
k=1
xk x1 n
xk xp n
k=1
On a obtenu une expression de Qf (h) qui permet dcrire (A.8) sous la forme
Jf1 (x)
h Hf1 (x)
...
...
h + O(kh3 k).
f (x + h) = f (x) +
h
+
2
...
...
T
Jfn (x)
h Hfn (x)
42
A.2
Quelques dmonstrations
A.2.1
F1 (x1 , . . . , xp )
.
... ...
F : Rp Rn , n > p : F (x) =
Fn (x1 , . . . , xp )
1
1
r(x) = kF (x)k2 = hF (x), F (x)i.
2
2
)
(
n
X
1
F 2 (x), x Rp .
On cherche x = argmin {r(x)} r(x ) = min
2 i=1 i
Utilisation de la mthode de Newton
Condition ncessaire doptimalit du premier ordre : r(x ) = 0.
Rsolution par la mthode de Newton : pour k 0,
1
x(k+1) = x(k) Hr (x(k) )
r(x(k) ).
(A.10)
r(x + h) = r(x) + JF (x)T F (x), h + O(khk2 ).
Par identification,
r(x) = JF (x)T F (x).
(A.11)
Chapitre A. Complments
43
n
x1 r(x)
x1 F1 (x) . . . x1 Fn (x)
F1 (x)
X
... =
... =
...
...
(Fj ) Fj = JFT F.
j=1
xp r(x)
xp F1 (x) . . . xp Fn (x)
Fn (x)
Calcul de Hr (x) : on peut le faire par identification de la partie quadratique dun dveloppement au voisinage de x :
1
1
F (x) + JF (x) h + Qr (h) + O(khk3 ), F (x) + JF (x) h + QF (h) + O(khk3 ),
r(x + h) =
2
2
1
= r(x) + hr(x), hi + hJF (x) h, JF (x) hi . . .
2
1
1
. . . + hF (x), QF (h)i + hQF (h), F (x)i + O(khk3 ),
4
4
(A.12)
La partie quadratique de (A.12) sidentifie selon
1
2
1
hHr (x) h, hi = JF (x)T JF (x) h, h + hF (x), QF (h)i
2
!
n
X
Suivant (A.9), hF (x), QF (h)i =
Fi (x) hT HFi (x) h, do
i=1
Hr =
JFT
JF +
n
X
Fi HFi .
(A.13)
i=1
n
X
HFj Fj + (Fj ) JFj .
j=1
JFj = (Fj )T , et
n
X
j=1
(Fj ) (Fj )T =
F1
T
F
1
. . . Fn = JFT JF .
FnT
Calcul de Hr (x) : on peut laborieusement le faire en calculant les drives partielles secondes ; on ne le fait pas.
,