Introduction ` a l’optimisation : aspects th´eoriques

,
num´eriques et algorithmes
Xavier ANTOINE
1 2 3
, Pierre DREYFUSS
4
et Yannick PRIVAT
2 3
ENSMN-ENSEM 2A (2006-2007)
1
Institut National Polytechnique de Lorraine (INPL), Ecole Nationale Sup´erieure d’Electricit´e et de M´ecanique,
Bureau 402, LORIA, 2 av. de la Forˆet de Haye, BP 3 F-54501, Vandoeuvre-l`es-Nancy, France.
2
Ecole Nationale Sup´erieure des Mines de Nancy, D´epartement de G´enie Industriel, Parc de Saurupt, CS 14 234,
54042 Nancy cedex, France.
3
Institut Elie Cartan Nancy (IECN), Universit´e Henri Poincar´e Nancy 1,B.P. 239, F-54506 Vandoeuvre-l`es-Nancy
Cedex, France.
4
LAGA, Institut Galil´ee - Universit´e Paris 13, 99 av. J.B. Cl´ement, 93430 Villetaneuse, France.
Table des mati`eres
1 Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 9
1.1 Fonctions de R
n
vers R
m
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Notion de continuit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Boules ouvertes et ensembles ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2 Limite et continuit´e de champs scalaires et vectoriels . . . . . . . . . . . . . . . . . . . . 10
1.3 Diverses notions de d´erivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 La d´eriv´ee d’un champ scalaire par rapport `a un vecteur . . . . . . . . . . . . . . . . . . 13
1.3.2 D´eriv´ees directionnelles, d´eriv´ees partielles et d´eriv´ee de Gˆateaux . . . . . . . . . . . . . 14
1.3.3 D´eriv´ees partielles d’ordre sup´erieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.4 D´eriv´ees directionnelles et continuit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.5 La d´eriv´ee totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.3.6 Le gradient d’un champ scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.7 Une condition suffisante de diff´erentiabilit´e . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Quelques r`egles et r´esultats utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.4.1 Une r`egle de d´erivation en chaˆıne pour les champs scalaires . . . . . . . . . . . . . . . . 19
1.4.2 D´eriv´ee d’un champ vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.4.3 La r`egle de d´erivation en chaˆıne pour les champs de vecteurs . . . . . . . . . . . . . . . 21
1.4.4 Conditions suffisantes pour avoir l’´egalit´e des d´eriv´ees partielles mixtes . . . . . . . . . . 23
1.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2 Compl´ements en calcul diff´erentiel 29
2.1 Courbes de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.2 Maxima, minima et points-selle (`a cheval sur l’optimisation) . . . . . . . . . . . . . . . . . . . . 30
2.3 La formule de Taylor au second ordre pour les champs scalaires (un petit effort...) . . . . . . . 31
3 G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 35
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2 R´esultats d’existence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Convexit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4 Conditions d’optimalit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3
3.4.1 Cas sans contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4.2 Cas avec contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.2.1 Contraintes in´egalit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4.2.2 Contraintes ´egalit´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5 Deux exemples qui permettent de mieux saisir ce que sont les multiplicateurs de Lagrange . . . 43
3.5.1 Le premier probl`eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.2 Le second probl`eme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4 Quelques algorithmes pour l’optimisation sans contraintes 49
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2 Algorithmes unidimensionnels ou recherche du pas . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2.1 M´ethode de la section dor´ee . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.2 M´ethode d’interpolation parabolique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.3 D’autres r`egles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.3.1 R`egle de Goldstein (1967) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
4.2.3.2 R`egle de Wolfe (1969) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.3.3 Mise en oeuvre des r`egles pr´ec´edentes dans un algorithme g´en´eral utilisant des
directions de descente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.3 Quelques notions sur les algorithmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4 M´ethodes de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.5 M´ethode du gradient conjugu´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.6 Les m´ethodes de Newton et quasi-Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4.6.1 M´ethodes de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6.2 M´ethode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´eaire) . . . . . . 62
4.6.3 M´ethode de quasi-Newton DFP et BFGS . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.6.3.1 Algorithme DFP (Davidson-Fletcher-Powell) . . . . . . . . . . . . . . . . . . . 64
4.6.3.2 M´ethode de Broyden-Fletcher-Goldfarb-Shanno (BFGS) . . . . . . . . . . . . . 65
4.7 Quelques remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.8 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.9 Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.9.1 Travaux pratiques 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.9.2 Travaux pratiques 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5 Quelques algorithmes pour l’optimisation avec contraintes 79
5.1 Retour sur les conditions d’optimalit´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2 Conditions d’optimalit´e n´ecessaires du second ordre . . . . . . . . . . . . . . . . . . . . . . . . 80
5.3 M´ethode du gradient projet´e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4 M´ethode de Lagrange-Newton pour des contraintes en ´egalit´e . . . . . . . . . . . . . . . . . . . 82
5.5 M´ethode de Newton projet´ee (pour des contraintes de borne) . . . . . . . . . . . . . . . . . . . 83
5.5.1 M´ethodes de p´enalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.5.2 M´ethode de dualit´e : m´ethode d’Uzawa . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.5.3 M´ethode de programmation quadratique successive (SQP) (Sequential Quadratic Pra-
gramming) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.6 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
5.7 Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.1 Travaux pratiques 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.7.2 Travaux pratiques 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6 La m´ethode du recuit simul´e 109
6.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
6.2 L’algorithme de M´etropolis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
6.3 Travaux pratiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
.
Avant-propos
Ce cours pr´esente les bases de l’optimisation math´ematique et num´erique. Vous trouverez, lors des deux pre-
miers chapitres, des rappels de base du calcul diff´erentiel. Ces notions ont d´ej`a ´et´e vues lors de votre cursus
universitaire. Toutefois, afin de s’en assurer et pour avoir une notation et des notions auto-contenues, celles-ci
sont d´etaill´ees. Dans le troisi`eme chapitre, nous donnons quelques r´esultats th´eoriques sur l’optimisation sans
puis avec contraintes. Ces d´eveloppements sont destin´es `a mettre en place les notions utiles au d´eveloppement
d’algorithmes num´eriques. C’est le sujet du quatri`eme chapitre o` u nous introduisons les algorithmes classiques
de l’optimisation num´erique sans contrainte. Enfin, dans le dernier chapitre, nous pr´esentons un algorithme
d’optimisation globale : la m´ethode du recuit simul´e. Il en existe bien d’autres (la m´ethode du simplexe de
Nelder-Mead, les algorithmes g´en´etiques) et de plus sophistiqu´es. Ils pourraient constituer un bon approfon-
dissement des m´ethodes nume´eriques d´evelopp´ees dans ce polycopi´e.
Divers exercices et s´eances de travaux dirig´es accompagnent le pr´esent document afin d’assimiler les notions
plus th´eoriques vues en cours. Les travaux dirig´es sont d´evelopp´es pour ˆetre notamment impl´ement´es sous le
logiciel de calcul scientifique Matlab.
X. ANTOINE, P. DREYFUSS & Y. PRIVAT
Nancy, le 19 juillet 2007
8
Chapitre 1
Continuit´e et calcul diff´erentiel de
champs scalaires et vectoriels
1.1 Fonctions de R
n
vers R
m
Nous consid´erons ici des fonctions
f : V →W
o` u V et W sont des espaces vectoriels de dimensions finies. Plus pr´ecis´ement, nous consid´erons le choix :
V = R
n
et W = R
m
. Lorsque m = n = 1, une telle fonction est appel´ee fonction d’une variable r´eelle `a valeurs
r´eelles. Lorsque n = 1 et m > 1, cette fonction est appel´ee une fonction vectorielle d’une variable r´eelle `a valeurs
r´eelles. Nous faisons l’hypoth`ese ici que n > 1 et m ≥ 1. Lorsque m = 1, la fonction est appel´ee fonction `a
valeurs r´eelles d’une variable vectorielle r´eelle, ou plus bri`evement, un champ scalaire. Lorsque m > 1, elle est
appel´ee fonction `a valeurs vectorielles r´eelle d’une variable vectorielle, ou tout simplement champ de vecteurs
(r´eel).
Nous allons nous int´eresser ici `a ´etendre les concepts, connus, de limite, continuit´e, et d´eriv´ee `a des champs
scalaires et vectoriels. Nous utilisons, dans la suite du chapitre, les notations suivantes. Si f est un champ
scalaire d´efini en un point x = (x
1
, ..., x
n
) ∈ R
n
, les notations f(x) et f(x
1
, ..., x
n
) seront utilis´ees pour
d´esigner la valeur de f en ce point particulier. Si f est un champ de vecteurs, nous ´ecrivons ´egalement f (x) ou
f (x
1
, ..., x
n
).
D´efinissons le produit scalaire usuel de deux vecteurs r´eels comme
x y =
n
¸
i=1
x
k
y
k
, ∀(x, y) ∈ R
n
R
n
,
et la norme associ´ee
|x| = (x x)
1/2
.
Les points dans le plan sont g´en´eralement not´es (x, y) `a la place de (x
1
, x
2
) et (x, y, z) plutˆot que (x
1
, x
2
, x
3
)
9
10
dans le cas tridimensionnel.
Les champs scalaires et vectoriels d´efinis sur des sous-ensembles de R
2
ou R
3
(voir plus) apparaissent tr`es
souvent et de mani`ere naturelle dans les sciences de l’ing´enieur. En effet, dans de nombreux probl`emes, on
s’int´eresse aux variations d’un champ. Dans le cas unidimensionnel, c’est la d´eriv´ee qui traduit cette id´ee. La
notion de d´eriv´ee s’applique aux fonctions d´efinies sur des ouverts. G´en´eralisons cette id´ee dans le cas de R
n
.
1.2 Notion de continuit´e
1.2.1 Boules ouvertes et ensembles ouverts
Soit x
0
un point de R
n
et r > 0 un nombre r´eel donn´e, strictement positif. L’ensemble des points x de R
n
tels que : |x −x
0
| < r, est appel´e une n-boule ouverte de rayon r et de centre x
0
. On la note B(x
0
; r). Un
exemple est donn´e en dimension un par un intervalle ouvert de centre x
0
. Dans R
2
, nous retrouvons le disque
circulaire ouvert de centre x
0
et de rayon r. Dans R
3
, c’est la boule usuelle ouverte de centre x
0
et de rayon r.
D´efinition 1 (d’un point int´erieur et de l’int´erieur de o). Soit o un sous-ensemble de R
n
et soit x
0
∈ o.
Alors, x
0
est appel´e un point int´erieur de o si il existe une n-boule ouverte de centre x
0
, tous ses points
appartenant ` a o. L’ensemble de tous les points int´erieurs de o est appel´e l’int´erieur de o est est not´e into.
Un ouvert contenant un point x
0
est appel´e un voisinage de x
0
.
D´efinition 2 (d’un ouvert). Un ensemble o de R
n
est appel´e ouvert si tous ses points sont des points
int´erieurs. En d’autres termes, si et seulement si o = into.
Exemple 1 En dimension un, nous pouvons donner l’exemple d’un intervalle ouvert, ou encore d’une r´eunion
d’intervalles ouverts. Un contre-exemple est un intervalle ferm´e. En dimension deux, un disque ouvert est un
exemple (sans compter le bord). Un autre exemple est un rectangle du type ]a, b[]c, d[. Un contre-exemple est
ou ouvert de R consid´er´e dans R
2
.
Introduisons maintenant la notion d’ext´erieur et de fronti`ere.
D´efinition 3 (d’ext´erieur et de fronti`ere). Un point x est dit ˆetre ext´erieur ` a un ensemble o dans R
n
si il
existe une n-boule B(x) ne contenant aucun point de o. L’ensemble de tous les points dans R
n
ext´erieurs ` a
o est appel´e l’ext´erieur de o et est not´e exto. Un point qui n’est ni dans l’ext´erieur ou l’int´erieur de o est
appel´e un point fronti`ere de o et est not´e ∂o. Un ensemble o de R
n
est dit ferm´e si son compl´ementaire dans
R
n
(not´e −o ou encore o
c
) est ouvert.
1.2.2 Limite et continuit´e de champs scalaires et vectoriels
Les concepts de limite et continuit´e sont facilement ´etendus `a des champs scalaires et vectoriels. Nous allons
reformuler ce concept pour des champs vectoriels, celui-ci ´etant directement applicable aux champs scalaires.
Avant cela, commen¸ cons par rappeler la d´efinition de la limite puis continuit´e d’une fonction dans R.
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 11
D´efinition 4 Soit f une fonction de R dans R. Nous dirons que la fonction f admet comme limite L en un
point x
0
si
∀ε > 0, ∃η > 0, [x −x
0
[ < η ⇒ [L −f(x)[ < ε.
Nous le noterons
lim
x→x0
f(x) = L.
D´efinition 5 Soit f une fonction de R dans R. La fonction f est dite continue en x
0
si
∀ε > 0, ∃η > 0, [x −x
0
[ < η ⇒[f(x
0
) −f(x)[ < ε.
Consid´erons maintenant une fonction f : o → R
m
, o` u o est un sous-ensemble de R
n
. Soient x
0
∈ R
n
et
L ∈ R
m
. Nous ´ecrivons
lim
x→x0
f (x) = L, (1.1)
ce qui signifie que
lim
x−x0→0
|f (x) −L| = 0. (1.2)
Le symbole limite dans l’´equation (1.2) est la limite au sens usuel du calcul ´el´ementaire. Dans cette d´efinition,
il n’est pas n´ecessaire que f soit d´efinie en x
0
. Ecrivons h = x −x
0
; alors, l’´equation (1.2) devient
lim
h→0
|f (x
0
+h) −L| = 0.
Pour des points dans R
2
, nous ´ecrivons (x, y) pour x et (x
0
, y
0
) pour x
0
. Ainsi, la relation (1.1) prend la
forme
lim
(x,y)→(x0,y0)
f (x, y) = L.
Pour des points dans R
3
, nous consid´erons la notation x = (x, y, z) et x
0
= (x
0
, y
0
, z
0
). Par cons´equent, nous
avons
lim
(x,y,z)→(x0,y0,z0)
f (x, y, z) = L.
Une fonction est dite continue en x
0
si f est d´efinie en x
0
et si
lim
x→x0
f (x) = f (x
0
).
D´efinition 6 Nous dirons que f est continue en x
0
sur un ensemble o si f est continue en tout point de o.
On le note f ∈ (
0
(o).
Puisque ces d´efinitions sont des extensions directes de celles ´etablies dans le cas unidimensionnel, il n’est pas
surprenant d’apprendre que beaucoup de propri´et´es famili`eres de la limite et de la continuit´e peuvent aussi ˆetre
´etendues. Pour les champs scalaires, les th´eor`emes basiques concernant les limites et continuit´es de sommes,
produits et quotients de champs scalaires peuvent ˆetre ´etendues directement. Pour les champs vectoriels, les
quotients ne sont pas d´efinis mais nous avons les th´eor`emes suivants.
12
Th´eor`eme 1 Si lim
x→x0
f (x) = L et lim
x→x0
g(x) = M, nous avons ´egalement
a) lim
x→x0
(f +g)(x) = L +M,
b) lim
x→x0
(λf )(x) = λL, ∀λ ∈ R,
c) lim
x→x0
(f g)(x) = L M,
d) lim
x→x0
|f (x)| = |L|.
Exemple 2 (continuit´e des composantes d’un champ de vecteurs). Si un champ vectoriel f a ses valeurs dans
R
m
, chaque valeur f (x) de la fonction a m composantes et nous pouvons ´ecrire
f (x) = (f
1
(x), ..., f
m
(x)).
Les m champs scalaires f
1
,..., f
m
sont appel´es composantes du champ de vecteur f . On peut montrer que f est
continue en un point si et seulement si chaque composante f
k
est continue en ce point.
On peut construire d’autres exemples de fonctions continues grˆace au th´eor`eme suivant sur les fonctions
compos´ees.
Th´eor`eme 2 Soient f et g des fonctions telles que la fonction compos´ee f ◦ g soit d´efinie en a, o` u
(f ◦ g)(x) = f (g(x)).
Si g est continue en x
0
et si f est continue en g(x
0
), alors la compos´ee f ◦ g est continue en x
0
.
Exemple 3 Le th´eor`eme pr´ec´edent implique la continuit´e des champs scalaires h, o` u h(x, y) est donn´ee par
les formules telles que
i) sin(x
2
y)
ii) log(x
2
+y
2
)
iii)
exp(x +y)
x +y
iv) log(cos(x
2
+y
2
)).
Ces exemples conduisent ` a des fonctions continues en tout point o` u la fonction est d´efinie. La premi`ere est
continue en tous les points du plan, la seconde en tous les points en dehors de l’origine, la troisi`eme en tous
les points tels que x + y = 0, et, enfin, la quatri`eme en tous les points tels que x
2
+ y
2
n’est pas un multiple
impair de π/2. Plus pr´ecis´ement, ce dernier ensemble correspond aux points (x, y) tels que
x
2
+y
2
=
π
2
, = 1, 3, 5, ...
C’est une famille de cercles centr´es ` a l’origine. Ces exemples montrent notamment que l’ensemble des discon-
tinuit´es d’une fonction de deux variables peut ˆetre un ou des points isol´es, des courbes enti`eres ou des familles
de courbes.
Exemple 4 Une fonction de deux variables peut ˆetre continue en chacune des variables s´epar´ement et ˆetre
discontinue comme une fonction de deux variables. Vous pouvez consid´erer ` a titre d’exemple la fonction d´efinie
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 13
par
f(x, y) =
xy
x
2
+y
2
, si (x, y) = (0, 0),
f(0, 0) = 0.
1.3 Diverses notions de d´erivations
Nous introduirons dans cette section plusieurs notions de d´eriv´ee d’un champ scalaire : d´eriv´ee par rapport
`a un vecteur, directionnelle, partielle, de Gˆateaux et totale. Nous verrons que ces notions sont distinctes. Nous
´etablirons cependant un certain nombre de liens entre elles et avec la propri´et´e de continuit´e.
Dans l’exercice 1.5 nous proposons d’´etablir une synth`ese plus compl`ete.
1.3.1 La d´eriv´ee d’un champ scalaire par rapport `a un vecteur
Soit f un champ scalaire d´efini sur un ensemble o de R
n
, et soit x
0
un point int´erieur de o. Nous souhaitons
´etudier la mani`ere dont varie un champ scalaire lorsque nous bougeons de x
0
vers un point proche. Par exemple,
supposons que f(x
0
) repr´esente la temp´erature en un point x
0
donn´e dans une salle chauff´ee dont une fenˆetre
est ouverte. Si nous nous rapprochons de la fenˆetre, la temp´erature tend `a d´ecroˆıtre, si nous nous rapprochons
du chauffage, la temp´erature augmente. En g´en´eral, la mani`ere dont le champ change d´epend de la direction
selon laquelle nous nous dirigeons `a partir de x
0
.
Supposons que nous sp´ecifions cette direction par un second vecteur y. Plus pr´ecis´ement, supposons que
nous allions de x
0
vers x
0
+ y le long de la ligne joignant x
0
et x
0
+y. Chaque point de ce segment est alors
de la forme x
0
+ hy, o` u h ∈ R. La distance de x
0
`a x
0
+ hy est |hy| = [h[ |y|. Puisque x
0
est un point
int´erieur de o, il existe une n-boule B(x
0
; r) contenue enti`erement dans o. Si h est choisit tel que [h[ |y| < r,
le segment reliant x
0
`a x
0
+ y se trouve dans o. Supposons que h = 0 mais suffisamment petit pour garantir
que x
0
+hh ∈ o et formons le quotient
f(x
0
+hy) −f(x
0
)
h
. (1.3)
Le num´erateur de ce quotient nous dit comment varie la fonction lorsque nous bougeons de x
0
`a x
0
+hy. Le
quotient est appel´e le taux de variation de f sur le segment de ligne joignant x
0
`a x
0
+ hy. Int´eressons nous
au comportement de ce quotient lorsque h →0.
D´efinition 7 (de la d´eriv´ee d’un champ scalaire par rapport ` a un vecteur). Soit f : o →R un champ scalaire
donn´e. Soit x
0
un point int´erieur de o et soit y un point arbitraire dans R
n
. La d´eriv´ee de f en x
0
par rapport
` a y, not´ee f

(x
0
; y), est d´efinie par l’´equation
f

(x
0
; y) = lim
h→0
f(x
0
+hy) −f(x
0
)
h
,
lorsque la limite d´efinie dans le membre de droite de l’´equation ci-dessus existe.
Exercice 1 Calculer f

(x
0
; y) si la fonction f est d´efinie par f(x) = |x|
2
, pour tout x ∈ R
n
.
Abordons maintenant le th´eor`eme de la valeur moyenne pour les champs scalaires.
14
Th´eor`eme 3 (de la valeur moyenne pour les d´eriv´ees de champs scalaires). Supposons que la d´eriv´ee f

(x
0
+
hy; y) existe pour tout h dans l’intervalle 0 ≤ h ≤ 1. Alors, pour un certain θ r´eel dans l’intervalle ouvert
0 < θ < 1, nous avons
f(x
0
+y) −f(x
0
) = f

(z; y), o` u z = x
0
+θy.
1.3.2 D´eriv´ees directionnelles, d´eriv´ees partielles et d´eriv´ee de Gˆateaux
Dans le cas particulier o` u y est un vecteur unitaire (c’est `a dire |y| = 1), la distance entre x
0
et x
0
+hy
est [h[. Dans ce cas, le quotient (1.3) repr´esente le taux de variations de f par unit´e de distance le long du
segment joignant x
0
`a x
0
+hy ; la d´eriv´ee f

(x
0
; y) est appel´ee d´eriv´ee directionnelle.
D´efinition 8 (des d´eriv´ees directionnelles, partielles et de la d´eriv´ee de Gˆ ateaux). Si y est un vecteur unitaire,
la d´eriv´ee f

(x
0
; y) est appel´ee d´eriv´ee directionnelle de f en x
0
selon la direction y. En particulier, si y = e
k
(le k-i`eme vecteur unitaire des coordonn´ees), la d´eriv´ee directionnelle f

(x
0
; e
k
) est appel´ee la d´eriv´ee partielle
de f par rapport ` a e
k
et est ´egalement not´ee D
k
f(x
0
). Ainsi, nous avons
D
k
f(x
0
) = f

(x
0
; e
k
).
La fonction f est dite Gˆ ateaux-d´erivable en x
0
si et seulement si f est d´erivable en x
0
par rapport ` a toutes
les directions y, et que l’application y → f

(x
0
; y) est lin´eraire. Cette derni`ere application lin´eaire est alors
appel´ee d´eriv´ee de Gˆ ateaux de f en x
0
Les notations suivantes sont ´egalement utilis´ees pour les d´eriv´ees partielles en un point a
D
k
f(a
1
, ..., a
n
),
∂f
∂x
k
(a
1
, ..., a
n
), f

x
k
(a
1
, ..., a
n
).
Quelques fois, la d´eriv´ee f

x
k
est ´ecrite sans le prime comme f
x
k
. Dans R
2
, les vecteurs unitaires des coordonn´ees
s’´ecrivent i et j. Si x
0
= (x
0
, y
0
), les d´eriv´ees partielles f

(x
0
; i) et f

(x
0
; j) s’´ecrivent aussi
∂f
∂x
(x
0
, y
0
) et
∂f
∂y
(x
0
, y
0
),
respectivement. Dans R
3
, si x
0
= (x
0
, y
0
, z
0
), les d´eriv´ees partielles D
1
f(x
0
), D
2
f(x
0
) et D
3
f(x
0
) sont aussi
not´ees
∂f
∂x
(x
0
, y
0
, z
0
),
∂f
∂y
(x
0
, y
0
, z
0
) et
∂f
∂z
(x
0
, y
0
, z
0
).
1.3.3 D´eriv´ees partielles d’ordre sup´erieur
Les d´eriv´ees partielles produisent de nouveaux champs scalaires D
1
f,..., D
n
f pour un champ f donn´e. Les
d´eriv´ees partielles de D
1
f,..., D
n
f sont appel´ees d´eriv´ees secondes de f. Pour les fonctions de deux variables,
il y a quatre d´eriv´ees partielles secondes que l’on ´ecrit
D
1
(D
1
f) =

2
f
∂x
2
, D
1
(D
2
f) =

2
f
∂x∂y
, D
2
(D
1
f) =

2
f
∂y∂x
, et D
2
(D
2
f) =

2
f
∂y
2
.
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 15
On utilise quelques fois la notation D
i,j
f pour la d´eriv´ee seconde D
i
(D
j
f). Par exemple, D
1,2
f = D
1
(D
2
f).
Selon la notation ∂, on pr´ecise l’ordre de d´erivation en ´ecrivant

2
f
∂x∂y
=

∂x
(
∂f
∂y
).
Il est possible que cette quantit´e soit ´egale ou non `a l’autre d´eriv´ee mixte

2
f
∂y∂x
. Nous montrerons `a la fin de
ce chapitre que les deux d´eriv´ees mixtes sont ´egales en un point si au moins une d’entre elles est continue dans
un voisinage de ce point. Nous donnerons ´egalement un contre-exemple.
Exercice 2 Un champ scalaire f est d´efini sur R
n
par l’´equation f(x) = x
0
x, o` u x
0
est un vecteur constant.
1. Calculer f

(x; y) pour des vecteurs arbitraires x et y.
2. Mˆeme question lorsque f(x) = |x|
4
.
3. Prendre n = 2 pour cette derni`ere fonction et trouver l’ensemble des points tels que
f

(2i + 3j; xi +yj) = 6.
Exercice 3 Dans chacun des exemples suivants, calculer les d´eriv´ees partielles du premier ordre des champs
scalaires suivants
1. f(x, y) = x
2
+y
2
sin(xy),
2. f(x, y) =
x +y
x −y
, pour x = y,
3. f(x) = x
0
x, le vecteur x
0
´etant fix´e (forme lin´eaire),
4. f(x) =
n
¸
i,j=1
a
i,j
x
i
x
j
, le vecteur x
0
´etant fix´e (forme quadratique).
1.3.4 D´eriv´ees directionnelles et continuit´e
Dans le cas unidimensionnel, l’existence de la d´eriv´ee d’une fonction f en un point implique la continuit´e
en ce point. Ceci se montre facilement en prenant h = 0 et en ´ecrivant
f(x
0
+h) −f(x
0
) = (
f(x
0
+h) −f(x
0
)
h
)h.
Lorsque h →0, le membre de droite tend vers 0 (= f

(x
0
) 0) et ainsi f(x
0
+h) →
h→0
f(x
0
).
Appliquons maintenant le mˆeme argument `a un champ scalaire g´en´eral. Supposons que la d´eriv´ee f

(x
0
; y)
existe pour un certain y. Alors, si h = 0, on peut ´ecrire
f(x
0
+hy) −f(x
0
) = (
f(x
0
+hy) −f(x
0
)
h
)h.
Lorsque h tend vers 0, le membre de droite tend vers f

(x
0
; y) h = 0 ; ainsi, l’existence de f

(x
0
; y) pour un
16
y donn´e implique que
lim
h→0
f(x
0
+hy) = f(x
0
),
pour le mˆeme y. Ceci signifie que f(x) →f(x
0
) lorsque x →x
0
le long d’une ligne droite passant par x
0
et ayant
comme direction y. Si f

(x
0
; y) existe pour tout vecteur y, alors f(x) → f(x
0
) lorsque x → x
0
le long d’une
ligne droite passant par x
0
. Ceci semble sugg´erer que f est continue en x
0
. De mani`ere assez surprenante, cette
conclusion peut ˆetre fausse. Les exemples suivants d´ecrivent des champs scalaires qui poss`edent une d´eriv´ee
directionnelle selon chaque direction partant de 0 mais qui ne sont pas continus en ce point.
Un premier exemple est donn´e par la fonction f d´efinie de la mani`ere suivante
f(x, y) = 1 si x < 0 ou y > x
2
,
f(x, y) = 0 sinon.
Il est clair que ce champ admet une d´eriv´ee directionnelle (nulle) selon chaque direction. Toutefois, le champ
n’est pas continu `a l’origine.
Soit maintenant f : R
2
→R telle que
f(x, y) =
xy
2
x
2
+y
4
, si x = 0,
f(0, y) = 0, sinon.
Soit x
0
= (0, 0) et y = (a, b) un vecteur. Si a = 0 et si h = 0, nous avons
f(0 +hy) −f(0)
h
=
f(ha, hb)
h
=
ab
2
a
2
+h
2
b
4
.
Soit h → 0. Nous trouvons f

(0; y) =
b
2
a
. Si y = (0, b), nous trouvons, de mani`ere similaire que f

(0; y) = 0.
Ainsi, f

(0; y) existe pour toute direction y. De plus, f(x) → 0 lorsque x → 0 le long de toute ligne droite
partant de l’origine. Toutefois, en chaque point de la parabole x = y
2
(exept´e `a l’origine) la fonction a
comme valeur 1/2. Puisque de tels points existent arbitrairement proche de l’origine et que f(0) = 0, la
fonction f n’est pas continue en 0. Cet exemple montre que l’existence de toutes les d´eriv´ees directionnelles
n’implique pas la continuit´e en ce point. Pour cette raison, les d´eriv´ees directionnelles sont une extension
insatisfaisante du concept de d´eriv´ee. Une g´en´eralisation plus satisfaisante existe. Elle implique la continuit´e
et, simultan´ement, nous permet d’´etendre les principaux r´esultats rencontr´es dans le cas unidimensionnel `a
des dimensions sup´erieures. C’est ce que l’on appelle la d´eriv´ee totale.
1.3.5 La d´eriv´ee totale
Rappelons que, dans le cas unidimensionnel, une fonction f qui admet une d´eriv´ee en un point x
0
peut ˆetre
approch´ee pr`es de ce point par une approximation lin´eaire de Taylor. Si f

(x
0
) existe, nous notons E(x
0
; h) la
diff´erence
E(x
0
; h) =
f(x
0
+h) −f(x
0
)
h
−f

(x
0
), si h = 0. (1.4)
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 17
D´efinissons E(x
0
; 0) = 0. De (1.4), nous obtenons la formule
f(x
0
+h) = f(x
0
) +f

(x
0
)h +hE(x
0
; h),
qui a ´egalement lieu pour h = 0. C’est ce que l’on appelle le d´eveloppement de Taylor du premier ordre
pour approcher f(x
0
+ h) − f(x
0
) par f

(x
0
)h. L’erreur commise est hE(x
0
; h). De (1.4), nous voyons que
E(x
0
; h) →0 lorsque h →0. En cela, l’erreur commise sur hE(x
0
; h) est d’ordre inf´erieur `a h, pour h petit. Ce
point de vue qui consiste `a approcher une fonction diff´erentiable par une fonction lin´eaire sugg`ere une mani`ere
d’´etendre le concept de diff´erentiabilit´e `a des dimensions sup´erieures.
Soit f : o → R un champ scalaire d´efini sur un ensemble o de R
n
. Soit x
0
un point int´erieur de o et
B(x
0
; r) une n-boule se trouvant dans o. Soit v un vecteur tel que |v| < r ; ainsi, x
0
+v ∈ B(x
0
; r).
D´efinition 9 Nous dirons que f est diff´erentiable en x
0
si il existe une transformation lin´eaire
T
x0
: R
n
→R,
et une fonction scalaire E(x
0
; v) telle que
f(x
0
+v) = f(x
0
) +T
x0
(v) +|v| E(x
0
; v), (1.5)
pour |v| < r, o` u lim
h→0
E(x
0
; v) = 0. La transformation lin´eaire T
x0
est appel´ee la d´eriv´ee totale
1
de f en
x
0
.
L’´equation (1.5), qui a lieu pour |v| < r, est appel´ee formule de Taylor du premier ordre pour f(x
0
+v).
Ceci donne une approximation lin´eaire, T
x0
(v), de la diff´erence f(x
0
+v)−f(x
0
). L’erreur dans l’approximation
est |v| E(x
0
; v), un terme qui est d’ordre inf´erieur `a |v| lorsque |v| → 0 (c’est `a dire, E(x
0
; v) = o(|v|)
lorsque |v| → 0. (Rappeler la notation) Le prochain th´eor`eme montre que, si la d´eriv´ee totale existe, alors
elle est unique. Il nous dit ´egalement comment calculer la d´eriv´ee totale T
x0
(v), ∀v ∈ R
n
.
Th´eor`eme 4 Supposons que f soit diff´erentiable en x
0
et de d´eriv´ee totale T
x0
. Alors, la d´eriv´ee f

(x
0
; y)
existe pour tout y ∈ R
n
et nous avons
T
x0
(y) = f

(x
0
; y).
De plus, f

(x
0
; y) est une combinaison lin´eaire des composantes de y. En fait, en posant y = (y
1
, ..., y
n
), nous
avons
f

(x
0
; y) =
n
¸
k=1
D
k
f(x
0
)y
k
= Df(x
0
) y. (1.6)
1.3.6 Le gradient d’un champ scalaire
Nous pouvons r´ecrire (1.6) comme
f

(x
0
; y) = ∇f(x
0
) y,
1
La d´eriv´ee totale n’est pas un nombre mais une application lin´eaire. La quantit´e Tx
0
(v) est un nombre ; il est d´efini pour tout
point v de R
n
. La d´eriv´ee totale a ´et´e introduite par Young en 1908 puis par Fr´echet en 1911.
18
o` u ∇f(x
0
) est le vecteur dont les composantes sont les d´eriv´ees partielles de f en x
0
∇f(x
0
) = (D
1
f(x
0
), ..., D
n
f(x
0
)).
C’est ce que l’on appelle le gradient de f. Le gradient ∇f est un champ scalaire d´efini en chaque point x
0
o` u les d´eriv´ees partielles D
1
f(x
0
), ..., D
n
f(x
0
) existent. On trouve ´egalement quelques fois la notation gradf.
Nous pouvons, sous ces notations, r´ecrire la formule de Taylor au premier ordre
f(x
0
+v) = f(x
0
) +∇f(x
0
) v +|v| E(x
0
; v), (1.7)
o` u E(x
0
; v) →
v→0
0. Cette forme est alors similaire `a celle obtenue dans le cas unidimensionnel o` u ∇f(x
0
)
joue le rˆole de f

(x
0
). A partir de la formule de Taylor, on peut montrer que la diff´erentiabilit´e implique la
continuit´e.
Th´eor`eme 5 Si un champ f est diff´erentiable en x
0
, alors f est continue en x
0
.
Dans le cas bidimensionnel, le vecteur gradient s’´ecrit
∇f(x, y) =
∂f
∂x
(x, y)i +
∂f
∂y
(x, y)j.
En dimension trois, nous avons
∇f(x, y, z) =
∂f
∂x
(x, y, z)i +
∂f
∂y
(x, y, z)j +
∂f
∂z
(x, y, z)k.
1.3.7 Une condition suffisante de diff´erentiabilit´e
Si f est diff´erentiable en x
0
, alors toutes les d´eriv´ees partielles D
1
f(x
0
),...,D
n
f(x
0
) existent. Toutefois,
l’inverse est faux (cf. le contre-exemple pr´ec´edent).
Le prochain th´eor`eme montre que l’existence de d´eriv´ees partielles continues en un point implique la
diff´erentiabilit´e en ce point.
Th´eor`eme 6 (Une condition suffisante de diff´erentiabilit´e.) Supposons que les d´eriv´ees partielles D
1
f(x
0
),...,D
n
f(x
0
)
existent dans une n-boule B(x
0
) et sont continues en x
0
. Alors, f est diff´erentiable en x
0
.
Preuve. Soit y ∈ B fix´e, on consid`ere g : [0, 1] → R d´efinie par g(h) = f(x
0
+ h.y). On v´erifie que
g ∈ (
1
[0, 1]. En utilisant la formule des accroissements finis pour g entre 0 et 1, nous obtenons bien l’existence
de θ = θ(y) ∈]0, 1[ tel que :
f(x
0
+y) −f(x
0
) = ∇f(x
0
+θy).y
Ainsi
w(x
0
, y) := f(x
0
+y) −f(x
0
) −∇f(x
0
).y = (∇f(x
0
+θy) −∇f(x
0
)).y
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 19
Les hypoth`eses faites sur f impliquent donc que w(x
0
, y)/|y| tend vers 0 lorsque y tend vers 0. Ceci montre
encore que f est diff´erentiable en x
0
et que la diff´erentielle (i.e. la d´eriv´ee totale) est donn´ee par Df(x
0
)y =
∇f(x
0
).y.
Remarque 1 Un champ scalaire satisfaisant les hypoth`eses du th´eor`eme pr´ec´edent est appel´e continuement
diff´erentiable en x
0
.
Exercice 4 Donner les gradients en chacun des points o` u il existe pour les fonctions suivantes
1. f(x, y) = x
2
+y
2
sin(xy),
2. f(x, y, z) = x
2
−y
2
+ 2z
2
.
Exercice 5 Evaluer la d´eriv´ee directionnelle du champ scalaire f(x, y, z) = x
2
+ y
2
+ 3z
2
au point (1, 1, 0)
selon la direction y = i −j + 2k.
Exercice 6 Dans R
3
, soit r(x, y, z) = xi +yj +zk, et r = |r|.
1. Montrer que ∇r est un vecteur unitaire dans la direction de r.
2. Montrer que ∇r
n
= nr
n−2
r, avec n un entier strictement positif.
3. Montrer que la formule reste vraie pour n ≤ 0.
4. trouver un champ scalaire f tel que ∇f = r.
1.4 Quelques r`egles et r´esultats utiles
1.4.1 Une r`egle de d´erivation en chaˆıne pour les champs scalaires
Dans le cas unidimensionnel, la r`egle de calcul en chaˆıne permet de calculer la d´eriv´ee d’une fonction
compos´ee g(t) = f(r(t)) par la formule
g

(t) = f

(r(t))r

(t).
Nous allons ´etendre cette formule lorsque
• f est remplac´ee par un champ scalaire d´efini sur un ensemble d’un espace n-dimensionnel,
• r est remplac´ee par une fonction d’une variable r´eelle `a valeurs dans le domaine de f.
Nous verrons ensuite comment ´etendre la formule pour f et r des champs vectoriels.
Th´eor`eme 7 Soit f un champ scalaire d´efini sur un ensemble ouvert o dans R
n
et soit r une fonction
` a valeurs vectorielles r´eelles qui transporte un intervalle J de R dans o. D´efinissons la fonction compos´ee
g = f ◦ r sur J par la relation
g(t) = f(r(t)), si t ∈ J.
Soit t
0
un point de J o` u r

(t
0
) existe et supposons que f est diff´erentiable en r(t
0
). Alors, g

(t
0
) existe et est
´egale au produit scalaire
g

(t
0
) = ∇f(x
0
) r

(t
0
), o` u x
0
= r(t
0
).
20
Exercice 7 On suppose que toutes les d´eriv´ees des fonctions suivantes sont continues et existent. Les ´equations
u = f(x, y), x = X(t), y = Y (t), d´efinissent u comme une fonction de t, que nous notons u = F(t).
a) Utiliser la r`egle de d´erivation en chaˆıne pour montrer que
F

(t) =
∂f
∂x
X

(t) +
∂f
∂y
Y

(t),
o` u
∂f
∂x
et
∂f
∂y
sont ´evalu´ees en (X(t), Y (t)).
b) De la mˆeme mani`ere, calculer F

(t) en fonction de f, X et Y .
c) Appliquer ces r´esultats aux fonctions
f(x, y) = x
2
+y
2
, X(t) = t, Y (t) = t
2
.
1.4.2 D´eriv´ee d’un champ vectoriel
La th´eorie de la d´erivation pour les champs de vecteurs est une extension directe de celle pour les champs
scalaires. Soit f : o → R
m
un champ de vecteurs d´efini sur un sous-ensemble o de R
n
. Si x
0
est un point
int´erieur de o et si y est un vecteur de R
n
, on d´efinit la d´eriv´ee totale f

(x
0
; y) par la formule
f

(x
0
; y) = lim
h→0
f (x
0
+hy) −f (x
0
)
h
d`es que la limite existe. La d´eriv´ee f

(x
0
; y) est un vecteur de R
m
.
Soit f
k
la k-i`eme composante de f . Remarquons que la d´eriv´ee f

(x
0
; y) existe si et seulement si f

k
(x
0
; y)
existe pour chaque 1 ≤ k ≤ m, auquel cas nous avons
f

(x
0
; y) = (f

1
(x
0
; y), ..., f

m
(x
0
; y)) =
m
¸
k=1
f

k
(x
0
; y)e
k
,
o` u e
k
est le k-i`eme vecteur des coordonn´ees.
Nous dirons que f est diff´erentiable en un point x
0
si il existe une transformation lin´eaire
T
x0
: R
n
→R
m
telle que
f (x
0
+v) = f (x
0
) +T
x0
(v) +|v| E(x
0
; v), (1.8)
o` u E(x
0
; v) → 0 lorsque v → 0. La formule de Taylor au premier ordre (1.8) a lieu pour tout v tel que
|v| < r pour des r > 0. Le terme E(x
0
; v) est un vecteur de R
m
. La transformation lin´eaire T
x0
est appel´ee
d´eriv´ee totale de f en x
0
. Pour des champs scalaires, nous avons prouv´e que T
x0
(y) est le produit scalaire
du gradient ∇f(x
0
) avec y. Pour les champs de vecteurs, nous allons prouver que T
x0
est un vecteur dont la
k-i`eme composante est le produit scalaire ∇f
k
(x
0
) y.
Th´eor`eme 8 Supposons que f soit diff´erentiable en x
0
et de d´eriv´ee totale T
x0
. Alors, la d´eriv´ee f

(x
0
; y)
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 21
existe pour tout x
0
dans R
n
et nous avons
T
x0
(y) = f

(x
0
; y).
De plus, si f = (f
1
, ..., f
m
) et si y = (y
1
, ..., y
n
), nous avons
T
x0
(y) =
m
¸
k=1
∇f
k
(x
0
) ye
k
= (∇f
1
(x
0
) y, ..., ∇f
m
(x
0
) y). (1.9)
On peut en fait r´ecrire plus simplement sous forme matricielle cette derni`ere relation
T
x0
(y) = Df(x
0
)y,
o` u Df(x
0
) est la matrice m n dont la k-i`eme ligne est ∇f
k
(x
0
) et o` u y est regard´e comme un vecteur de
longueur n. La matrice Df(x
0
) est appel´ee matrice jacobienne de f en x
0
. Son j-`eme ´el´ement est la d´eriv´ee
partielle D
j
f
k
(x
0
). Ainsi, nous avons
Df(x
0
) =

¸
¸
D
1
f
1
(x
0
)...D
n
f
1
(x
0
)
................
D
1
f
m
(x
0
)...D
n
f
m
(x
0
)
¸

La matrice jacobienne Df(x
0
) est d´efinie en chacun des points o` u les mn d´eriv´ees partielles D
j
f
k
(x
0
) existent.
La d´eriv´ee totale T
x0
s’´ecrit ´egalement f

(x
0
). La d´eriv´ee f

(x
0
) est une transformation lin´eaire ; le jacobien
Df(x
0
) est une repr´esentation matricielle de cette transformation. La formule de Taylor au premier ordre
s’´ecrit
f (x
0
+v) = f (x
0
) +f

(x
0
)(v) +|v| E(x
0
; v),
o` u E(x
0
; v) → 0 lorsque v → 0. Pour calculer les composantes du vecteur f

(x
0
)(v), on peut utiliser le produit
matriciel Df(x
0
)v ou encore la formule (1.9).
De mani`ere similaire au cas scalaire, nous avons que la diff´erentiabilit´e d’un champ vectoriel implique la
continuit´e de ce champ.
Th´eor`eme 9 Si un champ de vecteurs f est diff´erentiable en x
0
, alors f est continue en x
0
.
1.4.3 La r`egle de d´erivation en chaˆıne pour les champs de vecteurs
Th´eor`eme 10 (d´erivation en chaˆıne). Soient f : R
n
→ R
m
et g : R
p
→ R
n
des champs de vecteurs tels que
la composition h = f ◦ g soit d´efinie dans un voisinage d’un point x
0
. Supposons que g soit diff´erentiable dans
un voisinage d’un point x
0
, de d´eriv´ee totale g

(x
0
). Soit y
0
= g(x
0
) et supposons que f soit diff´erentiable en
y
0
, de d´eriv´ee totale f

(y
0
). Alors, h est diff´erentiable en x
0
, et la d´eriv´ee totale h

(x
0
) est donn´ee par
h

(x
0
) = f

(y
0
) ◦ g

(x
0
).
22
Soit h = f ◦ g, o` u g est diff´erentiable en x
0
et f est diff´erentiable en y
0
= g(x
0
). La d´erivation en chaˆıne
nous donne
h

(x
0
) = f

(y
0
) ◦ g

(x
0
).
On peut en fait exprimer la r`egle de d´erivation en chaˆıne grˆace aux matrices jacobiennes Dh(x
0
), Df(y
0
)
et Dg(x
0
) qui repr´esentent les transformations lin´eaires h

(x
0
), f

(y
0
) et g

(x
0
), respectivement. Puisque la
composition d’applications correspond `a la multiplication de matrices, nous obtenons
Dh(x
0
) = Df(y
0
)Dg(x
0
), (1.10)
o` u y
0
= g(x
0
). On peut ´egalement exprimer la r`egle sous la forme d’un ensemble d’´equations scalaires.
Supposons que x
0
∈ R
p
, y
0
= g(x
0
) ∈ R
n
, et f (y
0
) ∈ R
m
. Alors, h(x
0
) ∈ R
m
et nous pouvons ´ecrire
g = (g
1
, ..., g
n
),
f = (f
1
, ..., f
m
),
g = (h
1
, ..., h
m
).
Alors, Dh(x
0
) est une matrice mp, Dh(y
0
) est une matrice mn et Dg(x
0
) est une matrice np, donn´ees
respectivement par
Dh(x
0
) = [D
j
h
i
(x
0
)]
m,p
i,j=1
,
Df(x
0
) = [D
j
f
i
(y
0
)]
m,n
i,j=1
,
Dg(x
0
) = [D
j
g
i
(x
0
)]
n,p
i,j=1
.
L’´equation (1.10) est ´equivalente `a mp ´equations scalaires
D
j
h
i
(x
0
) =
n
¸
k=1
D
k
f
i
(y
0
)D
j
g
k
(x
0
), ∀1 ≤ i ≤ m, 1 ≤ j ≤ p.
Exemple 5 (R`egle de d´erivation en chaˆıne d´evelopp´ee pour les champs scalaires). Si m = 1, f est un champ
scalaire, h aussi. Les p ´equations (une pour chaque d´eriv´ee partielle de h) s’´ecrivent
D
j
h(x
0
) =
n
¸
k=1
D
k
f(y
0
)D
j
g
k
(x
0
), ∀1 ≤ j ≤ p.
Le cas particulier p = 1 donne une ´equation
h

(x
0
) =
n
¸
k=1
D
k
f(y
0
)g

k
(x
0
).
Exemple 6 Consid´erons p = 2 et n = 2. Ecrivons x
0
= (s, t) et b = (x, y). Alors, les composantes de x et y
sont reli´ees ` a s et t par les ´equations
x = g
1
(s, t) et y = g
2
(s, t).
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 23
La r`egle de d´erivation en chaˆıne donne un couple d’´equations pour les d´eriv´ees partielles de h
D
1
h(s, t) = D
1
(f ◦ g) = D
1
f (x, y)D
1
g
1
(s, t) +D
2
f (x, y)D
1
g
2
(s, t).
De mˆeme, nous avons
D
2
h(s, t) = D
1
f (x, y)D
2
g
1
(s, t) +D
2
f (x, y)D
2
g
2
(s, t).
Selon la notation ∂, ce couple d’´equations s’´ecrit
∂f
∂s
=
∂f
∂x
∂g
∂s
+
∂f
∂y
∂g
∂s
,
∂f
∂t
=
∂f
∂x
∂g
∂t
+
∂f
∂y
∂g
∂t
.
Exercice 8 (Coordonn´ees polaires). Soit f un champ scalaire d´ependant de (x, y). En coordonn´ees polaires,
nous avons x = r cos(θ) et y = r sin(θ). Posons : ϕ(r, θ) = f(r cos(θ), r sin(θ)).
• Exprimer
∂ϕ
∂r
et
∂ϕ
∂θ
en fonction de
∂f
∂x
et
∂f
∂y
.
• Exprimer la d´eriv´ee partielle du second ordre

2
ϕ
∂θ
2
en fonction de celles de f.
1.4.4 Conditions suffisantes pour avoir l’´egalit´e des d´eriv´ees partielles mixtes
Si f est une fonction `a valeurs r´eelles de deux variables, les deux d´eriv´ees mixtes D
1,2
f et D
2,1
f ne sont
pas n´ecessairement ´egales. Un exemple est donn´e par l’exercice suivant.
Exercice 9 Soit f la fonction d´efinie par
f(x, y) = xy
x
2
−y
2
x
2
+y
2
, pour (x, y) = (0, 0),
et f(0, 0) = 0 sinon. Montrer que D
2,1
f(0, 0) = −1 et D
1,2
f(0, 0) = 1.
Dans l’exercice pr´ec´edent, les deux d´eriv´ees partielles D
2,1
f et D
1,2
f ne sont pas continues `a l’origine. On
peut montrer que les deux d´eriv´ees mixtes sont ´egales en un point (x
0
, y
0
) si au moins l’une d’entre elles est
continue en un voisinage de ce point. On peut montrer dans un premier temps qu’elles sont ´egales si elles sont
toutes deux continues. Ceci fait l’objet du th´eor`eme suivant.
Th´eor`eme 11 (Une condition suffisante pour l’´egalit´e des d´eriv´ees partielles mixtes). Supposons que f soit
un champ scalaire tel que les d´eriv´ees partielles D
1
f, D
2
f, D
1,2
f et D
2,1
f existent sur un ouvert o. Si (x
0
, y
0
)
est un point de o o` u D
1,2
f et D
2,1
f sont continues, nous avons alors
D
1,2
f(x
0
, y
0
) = D
2,1
f(x
0
, y
0
).
On peut en fait d´emontrer une version plus forte de ce th´eor`eme.
24
Th´eor`eme 12 Soit f un champ scalaire tel que les d´eriv´ees partielles D
1
f, D
2
f et D
2,1
f existent sur un
ouvert o contenant (x
0
, y
0
). Supposons de plus que D
2,1
f est continue sur o. Alors, les d´eriv´ees partielles
D
1,2
f(x
0
, y
0
) existent et nous avons
D
1,2
f(x
0
, y
0
) = D
2,1
f(x
0
, y
0
).
1.5 Exercices
Exercice 1.1 (Calcul explicite de diff´erentielles).
Calculer la diff´erentielle `a l’origine des applications suivantes :
(i) f : R
2
−→ R
(x, y) −→ f(x, y) = x
3
+

1 +x
2
+y
2
(ii) g : R
3
−→ R
(x, y, z) −→ g(x, y, z) = xyz sin(xy) + 2x + 5.
Exercice 1.2 (Lin´earit´e des op´erateurs diff´erentiels).
On d´efinit les fonctions ´ et Φ par :
´ : (

(R
2
) −→ (

(R
2
)
ϕ −→

2
ϕ
∂x
2
+

2
ϕ
∂y
2
.
et Φ : (

(R
2
) −→ (

(R
2
)
ϕ −→
∂ϕ
∂x

∂ϕ
∂y
.
´ et Φ sont-elles lin´eaires ?
Exercice 1.3 (Continuit´e et diff´erentiabilit´e d’une fonction de plusieurs variables).
Soit f, la fonction d´efinie par :
f : R
2
−→ R
(x, y) −→

0 si (x, y) = (0, 0)
[x[
3
2
y
x
2
+y
2
si (x, y) = (0, 0)
1. f est-elle continue ?
2. Calculer les d´eriv´ees partielles de f. Sont-elles continues ?
3. Calculer les d´eriv´ees directionnelles (si elles existent) de f au point de coordonn´ees (0, 0).
L’application f est-elle diff´erentiable en (0, 0) ?
Exercice 1.4 (Continuit´e et diff´erentiabilit´e d’une fonction de plusieurs variables).
Continuit´e et calcul diff´erentiel de champs scalaires et vectoriels 25
On d´efinit l’application f de la fa¸ con suivante :
f : R
2
`¦(0, 0)¦ −→ R
(x, y) −→
xy

x
2
+y
2
.
1. Montrer que l’on peut prolonger f par continuit´e. On appelle
¯
f, ce prolongement.
2.
´
Etudier la diff´erentiabilit´e de
¯
f.
3.
¯
f admet-elle des d´eriv´ees partielles ?
4. f est-elle (
1
sur son ensemble de d´efinition ?
Exercice 1.5 (Continuit´e et diff´erentiabilit´e d’une fonction de plusieurs variables).
Reprendre les questions de l’exercice pr´ec´edent avec la fonction :
g : R
2
`¦(0, 0)¦ −→ R
(x, y) −→ (x
4
+y
4
) sin

1

x
4
+y
4

.
Exercice 1.6 (Diff´erentiabilit´e d’une fonction de plusieurs variables).
La fonction suivante est-elle diff´erentiable ?
f : R
2
`¦(0, 0)¦ −→ R
(x, y) −→ f(x, y) =

y
2
−x
x
2
+y
2
si (x, y) = (0, 0)
0 sinon
Exercice 1.7 (R´egularit´e d’une fonction de plusieurs variables).
Soit f, la fonction de R
2
dans R d´efinie par :
f(x, y) = x
2
y sin

y
x

.
1. Montrer que l’on peut d´efinir un prolongement par continuit´e de la fonction f.
2. f admet-elle des d´eriv´ees partielles sur R
2
?
3. f est-elle de classe (
1
sur R
2
?
4. Calculer

2
f
∂x∂y
(0, 0) et

2
f
∂y∂x
(0, 0).
Remarque : attention `a donner un sens convenable aux deux expressions ci-dessus, avant de les calculer.
Rien ne certifie que f est de classe (
2
au voisinage de (0, 0).
Exercice 1.8 (
´
Etude compl`ete d’une fonction de plusieurs variables).
26
Le but de ce probl`eme est d’´etudier, suivant les valeurs de α > 0, la diff´erentiabilit´e au point (0, 0) de la
fonction de deux variables d´efinie par :
f(x, y) =
[x[
α
[y[
α
x
2
+y
2
−xy
.
On rappelle que le nombre a
α
est d´efini pour tout α ∈ R et a > 0 par la relation : a
α
= e
αln a
.
1. D´eterminer l’ensemble de d´efinition de f, not´e T
f
.
2. D´emontrer rapidement l’in´egalit´e v´erifi´ee pour tous (x, y) ∈ R
2
: [xy[ ≤
1
2
φ
2
(x, y). En d´eduire un
encadrement pour tous (x, y) non nuls du nombre
f(x, y)
[x[
α
[y[
α
.
3.
´
Etude de la continuit´e de f en (0, 0)
(a) Cas α > 1.
En utilisant la question pr´ec´edente, d´emontrer que pour tous (x, y) non nuls, on a :
[f(x, y)[ ≤
1
2
α−1
φ
2(α−1)
(x, y).
Conclure.
(b) Cas 0 < α ≤ 1.
Utiliser un arc param´etr´e pour prouver que f est discontinue en 0 si α ∈]0; 1].
(c) Conclure.
4.
´
Etude de la diff´erentiabilit´e de f en (0, 0)
(a) Donner un encadrement, pour (x, y) ∈ R
2
`¦(0, 0)¦ du nombre :

f(x, y)
φ(x, y)

.
(b) Prouver que si α >
3
2
, la fonction f est diff´erentiable en (0, 0).
(c) En utilisant des arcs param´etr´es, d´emontrer que la fonction f est diff´erentiable en (0, 0) si, et
seulement si α >
3
2
.
5. Application : α =
5
4
. f est-elle de classe (
1
sur R
2
?
Exercice 1.9 (Diff´erentiabilit´e d’une fonction d´efinie `a l’aide d’un max). On d´efinit la fonction f sur R
2
par : f(x, y) = max(x, y).
1. Par un syst`eme de coloriage dans le plan, trouver un moyen de repr´esenter f(x, y) en fonction de x et
y.
2. D´emontrer que : ∀(x, y) ∈ R
2
, f(x, y) =
x +y +[x −y[
2
.
3.
´
Etudier la diff´erentiabilit´e de f sur R
2
.
Exercice 1.10 Liens entre les notions de d´erivabilit´es
Soit x
0
∈ R
n
et 1 ⊂ R
n
un voisinnage ouvert de x
0
. On consid`ere f : 1 ⊂ R
n
→ R et on introduit les
Compl´ements en calcul diff´erentiel 27
propri´et´es ci-dessous :
(p
0
) : f est continue en x
0
(p
1
) : f est diff´erentiable en x
0
(p
2
) : f est Gˆateaux-d´erivable en x
0
(p
3
) : f est d´erivable en x
0
par rapport `a toutes les directions y ∈ R
n
.
(p
4
) : f admet n d´eriv´ees partielles
∂f
∂x1
, ..,
∂f
∂xn
en x
0
.
(p
5
) : f admet n d´eriv´ees partielles en x
0
qui sont continues sur un voisinnage 1

de x
0
.
On demande de montrer les relations ´enonc´ees ci-dessous. Pour prouver les non ´equivalences on pourra donner
des contre exemples.
1. Liens entre d´erivabilit´e et continuit´e
(a) (p
1
) ⇒(p
0
)
(b) (p
2
) ⇒(p
0
)
2. Liens entre les diff´erentes notions de d´erivabilit´es
(a) (p
1
) ⇒(p
2
) ⇒(p
3
) ⇒(p
4
) et Df(x
0
)y = f

(x
0
; y) = ∇f(x
0
).y
(b) (p
2
) ⇒(p
1
)
(c) (p
3
) ⇒(p
2
)
(d) (p
4
) ⇒(p
3
)
(e) (p
5
) ⇒(p
1
)
28
Chapitre 2
Compl´ements en calcul diff´erentiel
Cette partie vient en compl´ement de la partie calcul diff´erentiel propos´ee en OCI (Outils de Calculs pour
l’Ing´enieur) et enseign´ee l’ENSEM en d´ebut de premier semestre.
2.1 Courbes de niveau
Nous avons vu, pr´ec´edemment, la r`egle de d´erivation en chaˆıne pour les champs scalaires. Cette r`egle peut
ˆetre utilis´ee afin de d´eduire des propri´et´es du champ de gradient associ´e. Consid´erons f, un champ scalaire
de S dans R
n
, et d´efinissons les points x de S tels que f(x) soit constant, c’est-`a-dire, f(x) = c. Soit L(c)
cet ensemble L(c) := ¦x ∈ S /f(x) = c¦. L’ensemble L(c) est commun´ement appel´e ensemble de niveau de f.
Dans R
2
, L(c) est appel´e courbe de niveau et surface de niveau dans l’espace tridimensionnel.
Les lignes de niveau interviennent dans plusieurs domaines de la physique. Soit par exemple f(x, y) la
temp´erature en un point (x, y). Les courbes de niveau de f sont alors appel´ees isothermes. On sait que le flot
de chaleur est dirig´e selon la direction o` u la variation de temp´erature est la plus importante. Cette direction est
connue pour ˆetre normale aux isothermes, elle d´ecrit les lignes de flot, trajectoires orthogonales aux isothermes.
Consid´erons dor´enavant un champ scalaire f diff´erentiable sur un ouvert S de R
3
et analysons en d´etails
les surfaces de niveau L(c). Soit x
0
un point de cette surface et Γ une courbe se trouvant sur S qui passe par
x
0
. Alors, ∇f(x
0
) est normal `a cette courbe en x
0
, ou encore, ∇f(x
0
) est perpendiculaire au plant tangent
T
x0
de Γ en x
0
. En effet, si nous supposons Γ param´etris´ee par un champ diff´erentiable γ d´efini sur I ⊆ R,
puisque Γ se trouve sur la surface de niveau L(c), nous avons : g(t) = f(γ(t)) = c, pour tout t ∈ I. La r`egle de
d´erivation en chaˆıne (cf. le th´eor`eme 7) nous donne alors : g

(t) = ∇f(γ(t)) γ

(t). Or, puisque g(t) = c, nous
en d´eduisons que : ∇f(γ(t
0
)) γ

(t
0
) = 0, en posant γ(t
0
) = x
0
. La traduction de cette derni`ere relation est
que le gradient de f en x
0
est perpendiculaire au vecteur γ

(t
0
). Si nous balayons l’ensemble des surfaces de
niveau de type Γ, le gradient reste perpendiculaire `a tout vecteur tangent `a ces courbes. Si nous supposons que
∇f(γ(t
0
)) = 0, alors l’ensemble de ces vecteurs tangents d´efini le plan tangent `a la surface de niveau L(c) en
x
0
. Une caract´erisation simple du plan tangent en x
0
est donn´ee par l’ensemble des points x ∈ R
3
satisfaisant
l’´equation ∇f(x
0
) (x −x
0
) = 0.
29
30
2.2 Maxima, minima et points-selle (`a cheval sur l’optimisation)
Une surface qui est d´ecrite par une ´equation z = f(x, y) peut ˆetre pens´ee comme une surface de niveau en
posant F(x, y, z) = f(x, y) −z. Si nous supposons f diff´erentiable, nous avons
∇F = ∂
x
fi +∂
y
j −zk,
qui conduit, par simple d´erivation, `a l’´equation du plan tangent en un point donn´e x
0
= (x
0
, y
0
, z
0
)
z −z
0
= A(x −x
0
) +B(y −y
0
),
en posant A = ∂
x
f(x
0
, y
0
) et B = ∂
y
f(x
0
, y
0
). Lorsque ∇f(x
0
) = 0 (c’est-`a-dire lorsque A = B = 0), le point
x
0
est appel´e point stationnaire ou critique de f. Dans la situation que nous consid´erons, nous avons alors en
un point stationnaire ∇F(x
0
) = −k, ce qui signifie g´eom´etriquement que le plan tangent est horizontal en ce
point. Afin de distinguer les diff´erents types de points stationnaires, nous utilisons la classification suivante qui
est tr`es commun´ement pratiqu´ee : maxima, minima et points-selle. Si nous imaginons que la surface consid´er´ee
est un paysage montagneux, cette classification revient `a s´eparer les sommets de montagnes, les fonds de
vall´ees et finalement les passages montagneux. Nous appelons, indistinctement extremum un minimum ou un
maximum du champ f. Il est crucial en pratique de faire le distinguo entre extremum global ou local (relatif).
D´efinition 10 Un point x
0
est appel´e minimum absolu de f sur un ensemble C de R
n
si
∀x ∈ C, f(x
0
) ≤ f(x).
La fonction f poss`ede un minimum local (ou relatif ) sur C en x
0
si l’in´egalit´e pr´ec´edente est satisfaite dans
un voisinage de x
0
, c’est-` a-dire pour des points x se trouvant dans des boules B(x
0
). Finalement, l’extension
de l’appellation ` a un maximum est directe.
Si nous consid´erons un extremum de f en un point x
0
o` u f est diff´erentiable, alors : ∇f(x
0
) = 0. Dans le
cas d’une surface, cela signifie que le plan tangent est horizontal en (x
0
, f(x
0
)). Toutefois, la condition sur le
gradient n’est pas suffisante bien sˆ ur. C’est ce qui arrive lorsque notamment nous consid´erons un point-selle.
D´efinition 11 Supposons f de classe (
1
et soit x
0
un point stationnaire de f. Alors, il est appel´e point-selle
si pour toute boule B(x
0
) il existe des points x tels que f(x) < f(x
0
) et d’autres tels que f(x) > f(x
0
).
Dans le cas unidimensionnel, nous retrouvons le probl`eme de points d’inflexion.
Exemple 7 Consid´erons la surface d’´equation z = f(x, y) = 2 −x
2
− y
2
(appel´ee parabolo¨ıde de r´evolution).
Les courbes de niveau sont des cercles et puisque f(x, y) ≤ f(0, 0), ∀(x, y) ∈ R
2
, l’orgine est un point de
maximum absolu. Un exemple similaire mais pour un point de minimum absolu revient ` a ”renverser la coupe”
et ` a consid´erer par exemple la surface z = x
2
+ y
2
.
Compl´ements en calcul diff´erentiel 31
Exemple 8 Consid´erons la surface d’´equation f(x, y) = xy (appel´ee parabolo¨ıde hyperbolique). Nous avons
un point-selle ` a l’origine. En effet, le point x
0
= 0 est stationnaire puisque ∇f(x
0
) = 0. Soit par exemple
(x, y) ∈ R
∗+
R
∗+
(ou (x, y) ∈ R
∗−
R
∗−
), alors f(x, y) > 0. Par contre, si nous consid´erons un point du
deuxi`eme ou quatri`eme quadrant, c’est-` a-dire tel que (x, y) ∈ R
∗−
R
∗+
ou (x, y) ∈ R
∗+
R
∗−
, nous avons
imm´ediatement que f(x, y) < 0. Ceci correspond bien alors, selon la classification introduite ci-dessus, ` a dire
que x
0
est un point-selle.
Exercice 10 Montrer que l’origine est un point stationnaire pour les trois fonctions suivantes. Pr´eciser alors
le type de ce point stationnaire.
1. z = f(x, y) = x
3
−3xy
2
.
2. z = f(x, y) = x
2
y
2
.
3. z = f(x, y) = 1 −x
2
.
2.3 La formule de Taylor au second ordre pour les champs scalaires
(un petit effort...)
Supposons que f soit un champ diff´erentiable qui admet un point stationnaire x
0
. Il est clair, d’apr`es la
classification pr´ec´edente, que la nature du point stationnaire est d´efinie par le signe de f(x
0
+y) −f(x
0
), pour
un point x voisin de x
0
. La formule de Taylor au premier ordre (cf. l’´equation (1.7)) donne
f(x
0
+y) −f(x
0
) = |y| E(x
0
; y),
o` u lim
y→0
E(x
0
; y) = 0. Nous voyons clairement que nous ne poss´edons pas suffisamment d’informations pour
conclure sur la nature de ce point. Il faut alors pousser plus loin le d´eveloppement de Taylor.
Supposons que f soit deux fois continuement diff´erentiable et soit la forme quadratique H
x
d´efinie en un
point x par
∀y ∈ R
n
, H
x
(y, y) = H(x)y y, (2.1)
o` u H(x) est la matrice des d´eriv´ees secondes de f au point x : H(x) =


xi,xj
f(x)

n,n
i,j=1
, appel´ee matrice hes-
sienne (on la note quelques fois D
2
f). Sous les hypoth`eses de r´egularit´e ci-dessus, c’est une matrice sym´etrique.
On peut r´ecrire (2.1) sous la forme
∀y = (y
1
, ..., u
n
) ∈ R
n
, H(x)y y =
n
¸
i,j=1

xi,xj
f(x)y
i
y
j
.
On a alors la formule de Taylor au second ordre pour les champs scalaires.
Th´eor`eme 13 Soit f un champ scalaire qui admet des d´eriv´ees partielles secondes


xi,xj
f(x)

n,n
i,j=1
continues
dans une boule B(x
0
). Alors, pour tout y ∈ R
n
tel que (x
0
+ y) ∈ B(x
0
), nous avons la formule de Taylor au
second ordre
f(x
0
+y) = f(x
0
) +∇f(x
0
) y +
1
2
H(x
0
+θy)y y, (2.2)
32
o` u 0 < θ < 1, que l’on peut ´egalement r´ecrire sous la forme
f(x
0
+y) = f(x
0
) +∇f(x
0
) y +
1
2
H(x
0
)y y +|y|
2
E
2
(x
0
; y), (2.3)
o` u lim
y→0
E
2
(x
0
; y) = 0.
Preuve. On v´erifie bien que la relation (2.2) implique (2.3), car on a suppos´e que les d´eriv´ees partielles
secondes de f sont continues sur B(x
0
).
Soit y ∈ R
n
fix´e et g : [0, 1] → R d´efinie par g(h) = f(x
0
+ h.y). On v´erifie que g ∈ (
1
[0, 1] ∩ (
2
]0, 1[. En
utilisant la formule des accroissements finis `a l’ordre 2 pour g entre 0 et 1, nous obtenons bien l’existence de
θ = θ(y) tel que (2.2) ait lieu.
Remarquons que (2.2) peut s’obtenir en supposant simplement que f ∈ (
1
(B(x
0
)) et f deux fois diff´erentiable
sur la boule ouverte. Mais alors (2.2) n’implique pas clairement (2.3).
Dans le cas d’un point stationnaire, nous avons
f(x
0
+y) = f(x
0
) +
1
2
H(x
0
)y y + |y|
2
E
2
(x
0
; y), (2.4)
qui laisse esp´erer que, pour un point x suffisamment proche de x
0
, nous soyons capables de fixer la nature du
point x
0
.
En r´ealit´e, on peut relier le signe de la forme quadratique au signe du spectre de la matrice hessienne. A
cette fin, nous avons besoin de la proposition suivante.
Proposition 1 Soit A = [a
i,j
]
n,n
i,j=1,1
une matrice r´eelle sym´etrique et soit la forme quadratique / associ´ee
d´efinie par la relation /(y, y) = Ay y. Alors, nous avons
i) /(y, y) > 0, ∀y ∈ R
n
, y = 0 ⇔ toutes les valeurs propres de A sont positives strictement (et alors A
est dite d´efinie positive),
ii) /(y, y) < 0, ∀y ∈ R
n
, y = 0 ⇔ toutes les valeurs propres de A sont n´egatives strictement (et alors A
est dite d´efinie n´egative).
Preuve. Puisque A est sym´etrique elle admet n valeurs propres λ
1
, .., λ
n
. On note E
λ
l’espace propre associ´e `a
la valeur propre λ. Si λ
i
et λ
j
sont deux valeurs propres distinctes, on v´erifie que E
λi
et E
λj
sont orthogonaux.
En utilisant le proc´ed´e de Gram-Schmidt sur les espaces propres, on peut alors construire un base orthonorm´ee
1 = ¦v
1
, .., v
n
¦ de R
n
telle que A(v
i
) = λ
i
v
i
. Soit un vecteur y ∈ R
n
. On le d´ecompose dans la base 1 et les
relations i) et ii) s’obtiennent directement.
On a alors le th´eor`eme suivant qui fait le lien entre la nature des points stationnaires et le spectre de la
matrice hessienne.
Th´eor`eme 14 Soit f un champ scalaire tel que toutes ses d´eriv´ees partielles secondes ∂
xi,xj
f(x), pour 1 ≤
i, j ≤ n, soient continues dans une boule B(x
0
), et soit H(x
0
) la matrice hessienne en un point stationnaire
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 33
x
0
. Alors,
i) si toutes les valeurs propres de H(x
0
) sont positives strictement, f a un minimum relatif en x
0
,
ii) si toutes les valeurs propres de H(x
0
) sont n´egatives strictement, f a un maximum relatif en x
0
,
iii) si H(x
0
) poss`ede au moins une valeur propre strictement positive et une valeur propre strictement
n´egative, alors f a un point-selle en x
0
.
Preuve. Avec les hypoth`eses faites, la matrice hessienne H(x
0
) est sym´etrique. Soit 1 la base orthonorm´ee
construite dans la preuve du th´eor`eme pr´ec´edent. On consid`ere le d´eveloppement limit´e `a l’ordre 2 de f en x
0
(c.f. 2.3), et on d´ecompose y dans 1. Les propri´et´es i) `a iii) s’obtiennent alors facilement
Remarque 2 Le th`eor`eme ci-dessus ne couvre pas toutes les possibilit´es. Par exemple, si on suppose seulement
que toutes les valeurs propres sont positives, on ne peut pas conclure directement. Dans ce cas il faut approfondir
l’´etude.
Pour s’en convaincre on pourra reprendre les exemples 7 et 8 ainsi que l’exercice 10
34
Chapitre 3
G´en´eralit´es et ´etude th´eorique des
probl`emes d’optimisation
3.1 Introduction
On s’int´eresse dans ce cours aux probl`emes du type suivant : ”trouver le minimum d’une fonction sans ou
avec contrainte(s)”. D’un point de vue math´ematique, le probl`eme se formule de la fa¸ con suivante :
• probl`eme sans contrainte :
min
x∈R
n
J(x),
• probl`eme avec contrainte :
min
x∈C
J(x).
Le probl`eme peut ˆetre ´egalement pos´e en dimension infinie. il s’agit dans ce cas de minimiser une fonctionnelle
J sur un espace vectoriel de dimension infinie (un espace hilbertien par exemple mais non exclusivement).
Toutefois, nous adopterons, dans ce cours ´el´ementaire, le point de vue qui consiste `a traiter des probl`emes
d’optimisation en dimension finie. La raison principale est, qu’en pratique, on discr´etise le probl`eme continu,
ce qui consiste `a faire une projection sur un espace de dimension finie. En plus d’introduire les notations et
notions de l’optimisation, nous donnons ´egalement quelques r´esultats th´eoriques sur l’optimisation sans ou
avec contraintes.
Remarquons tout d’abord que
– maximiser J est ´equivalent `a minimiser −J,
– il est important de distinguer entre minimum local et global.
Les contraintes sont souvent de type in´egalit´es
C = ¦x ∈ R
n
tels que : ϕ
i
(x) ≤ 0, ∀i ∈ I¦ ,
35
36
ou ´egalit´es
C = ¦x ∈ R
n
tels que : ϕ
i
(x) = 0, ∀i ∈ I¦ ,
les fonctions ϕ
i
´etant des fonctions continues (au moins) de R
n
dans R. Introduisons maintenant la d´efinition
suivante.
D´efinition 12 Soit une contrainte in´egalit´e ϕ
i
(x) ≤ 0 et x
0
un point de R
n
. Si x
0
satisfait ϕ
i
(x
0
) < 0, on dit
que la contrainte est inactive en x
0
. Si x
0
satisfait ϕ
i
(x
0
) = 0, on dit que la contrainte est active ou satur´ee
en x
0
.
On rencontre parfois une classification des probl`emes d’optimisation, ce qui permet de choisir un algorithme
de r´esolution adapt´e. Par exemple, on parle
• de programmation lin´eaire lorsque J est lin´eaire et C est un poly`edre (convexe) d´efini par
C = ¦x ∈ R
n
, Bx ≤ b¦ ,
o` u B est une matrice mn et b un ´el´ement de R
n×1
,
• de programmation quadratique lorsque J est une fonctionnelle quadratique
J(x) =
1
2
Ax x +b x,
o` u A est une matrice sym´etrique d´efinie positive, C ´etant encore en g´en´eral un poly`edre convexe,
• de programmation convexe lorsque la fonctionnelle J et l’ensemble C sont convexes (C ´etant encore
poly´edrique),
• d’optimisation diff´erentiable lorsque J et les fonctions ϕ
i
sont une ou deux fois diff´erentiables.
3.2 R´esultats d’existence
La plupart des th´eor`emes d’existence de minimum sont des variantes du th´eor`eme classique suivant : une
fonction continue sur un compact admet un minimum. Commen¸ cons par le th´eor`eme suivant.
Th´eor`eme 15 Soit J une fonction continue sur un sous-ensemble C ferm´e de R
n
. On suppose que
– ou bien C est born´e,
– ou bien C et non born´e et lim
x→+∞
J(x) = +∞ (on dit alors que J est coercive),
alors J poss`ede un minimum sur C.
Preuve.
si i) a lieu C est compact et la conclusion est alors ´evidente.
Si ii) a lieu on peut par exemple prouver le r´esultat comme suit (voir aussi exercice 3.6). Soit (x
n
) une suite
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 37
minimisante pour J, c’est `a dire une suite telle que
J(x
n
) →
n→∞
inf
x∈C
J(x). (3.1)
Puisque J est coercive, on v´erifie que (x
n
) est born´ee et on peut donc en extraire une sous suite (x
n
k
) qui
converge vers un certain ´el´ement x

. Puisque J est continue, J(x
n
k
) converge vers J(x

). On d´eduit alors de
(3.1) que J(x

) = inf
x∈C
J(x).
3.3 Convexit´e
La convexit´e joue un rˆ ole extrˆemement important en optimisation. Donnons quelques d´efinitions.
D´efinition 13 Un ensemble C est dit convexe si, pour tous points x et y de C, le segment [x; y] est inclus
dans C, i.e., ∀t ∈ [0; 1], tx + (1 − t)y est un point de C. Une fonction J d´efinie sur un ensemble convexe C
est dite convexe si
∀(x, y) ∈ C C, ∀t ∈ [0; 1], J(tx + (1 −t)y) ≤ tJ(x) + (1 −t)J(y).
La fonction est dite strictement convexe si
∀(x, y) ∈ C C, x = y, ∀t ∈]0; 1[, J(tx + (1 −t)y) < tJ(x) + (1 −t)J(y).
Lorsqu’une fonction convexe est d´erivable, la caract´erisation suivante sera utile.
Proposition 2 Soit J une fonction diff´erentiable d´efinie sur un convexe C de R
n
, alors J est convexe si et
seulement si
∀(x, y) ∈ C C, ∇J(x) (y −x) ≤ J(y) −J(x).
Preuve.
• Soit J convexe. On consid`ere θ ∈ [0, 1], et x, y ∈ C. Puisque C est convexe x + θ(y − x) ∈ C et en utilisant
la convexit´e de J il vient : J(x +θ(y −x)) ≤ (1 −θ)J(x) +θJ(y). D’o` u :
J(y) −J(x) ≥
J(x +θ(y −x)) −J(x)
θ
. (3.2)
On conclut alors en faisant tendre θ vers 0 dans (3.2).
• R´eciproquement, on part des deux in´egalit´es :
J(y) ≥ J(y +θ(x −y)) −θJ(y +θ(x −y))(x −y)
J(x) ≥ J(y +θ(x −y)) + (1 −θ)J(y +θ(x −y))(x −y).
En combinant ces deux in´egalit´es on obtient : J(x+(1−θ)y) ≤ θJ(x) +(1−θ)J(y), ce qui ´etablit la convexit´e.

38
Remarque 3 On a une caract´erisation similaire pour les fonctions strictement convexe : remplacer convexe
par strictement convexe et l’in´egalit´e large par une in´egalit´e stricte dans la proposition 2.
Toutefois la premier sens de la preuve ne peut pas ˆetre directement adapt´ee. En effet, si l’on obtient bien (3.2)
avec une in´egalit´e stricte, cette derni`ere n’est pas n´ec´essairement conserv´ee lorsque θ tend vers 0.
Le r´esultat suivant montre l’impact de la convexit´e dans les probl`emes d’optimisation.
Proposition 3 Soit J une fonction convexe d´efinie sur un ensemble convexe C. Alors,
– tout minimum local de J sur C est un minimum global,
– si J est strictement convexe, il y a au plus un minimum global.
Preuve.
i) Soit x
0
∈ C un minimum local, i.e. il existe r > 0 tel que B := B(x
0
, r) ⊂ C et
∀x ∈ B J(x) ≥ J(x
0
). (3.3)
Soit y ∈ C. On consid`ere g d´efinie par
g(t) = J(ty + (1 −t)x
0
). (3.4)
Soit z = ∂B ∩ [xy]. Il existe ∈ [0, 1] tel que z = y + (1 −)x
0
. La relation (3.3) implique que
∀t ∈ [0, ] g(t) ≥ J(x
0
).
En utilisant cette derni`ere in´egalit´e et le caract`ere convexe de J nous obtenons :
∀t ∈ [0, ] J(x
0
) ≤ g(t) ≤ tJ(y) + (1 −t)J(x
0
),
d’o` u : t(J(y) −J(x
0
)) ≥ 0 ∀t ∈ [0, ], et en prenant t = on obtient J(y) ≥ J(x
0
).
ii) Soit J strictement convexe. On suppose que J admet deux minimums globaux distincts x, y. Soit alors
t ∈]0, 1[ et z = tx + (1 −t)y. On aboutit a la contradiction suivante : J(z) < tJ(x) + (1 −t)J(y) = min
C
J
3.4 Conditions d’optimalit´e
Nous supposons dans tout ce paragraphe que J est un ou deux fois diff´erentiable. On notera x

un minimum
(local) de J.
3.4.1 Cas sans contraintes
Ce qui suit reste valable dans le cas o` u le minimum x

se trouve `a l’int´erieur de l’ensemble des contraintes.
Nous donnons les conditions n´ecessaires de minimum, puis celles suffisantes.
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 39
Th´eor`eme 16 Conditions n´ecessaires.
Les deux conditions n´ecessaires sont les suivantes
– Condition au premier ordre : si J est diff´erentiable en x

, on a ∇J(x

) = 0,
– Condition au second ordre : si J est deux fois diff´erentiable au point x

, alors la forme quadratique
D
2
J(x

) est positive i.e.

D
2
J(x

)y, y

≥ 0,
o` u D
2
J(x

) est la matrice hessienne, d´efinie par les coefficients

2
J

xi

xj
(x

)).
Preuve.
i) on consid`ere un d´eveloppement limit´e `a l’ordre un en x

:
J(x

+h) = J(x

) +∇J(x

)h +|h|E(x

; h).
Soit t ≥ 0. On choisit h = −t∇J(x

) et on pose α = |∇J(x

)|. Il vient
J(x

+h) = J(x

) −tα
2
+tαE(x

; h).
Supposons que α > 0. Puisque E(x

; h) →
t→0
0 on v´erifie alors qu’il existe t

> 0 tel que
∀t ≤ t

: J(x

+h) < J(x

). Ceci indique que x

n’est pas un minimum. Ainsi il est n´ec´essaire que α = 0.
ii) Supposons qu’il existe y ∈ R
n
, y = 0 tel que a := 'D
2
J(x

)y, y` < 0. On consid`ere un d´eveloppement
limit´e `a l’ordre deux en x

:
J(x

+ty) = J(x

)
1
2
t
2
a +t
2
a
2
αE
2
(x

; ty).
Puisque E
2
(x

; ty) →
t→0
0, on v´erifie qu’il existe t

> 0 tel que ∀t ∈ [0, t

] : J(x

+ty) < J(x

). Ceci indique
que x

n’est pas un minimum. Ainsi il est n´ec´essaire que D
2
J(x

) soit positive.
Nous ´enon¸ cons `a pr´esent des conditions n´ec´essaires et suffisantes pour qu’un point x

soit un minimum,
dans le cas o` u J est suffisamment r´eguli`ere.
Th´eor`eme 17 Conditions suffisantes.
Soit J une fonction de classe (
1
d´efinie sur R
n
. On suppose que : ∇J(x

) = 0 et que J est deux fois
diff´erentiable en x

.
Alors, x

est un minimum (local) de J si l’une des deux conditions suivantes est v´erifi´ee
i) D
2
J(x

) est d´efinie positive,
ii) ∃r > 0 tel que J est deux fois diff´erentiable sur B(x

, r) et, la forme quadratique D
2
J(x) est positive
pour tout x ∈ B(x

, r)
Preuve.
• La condition n´ec´essaire au premier et au deuxi`eme ordre en x

est v´erifi´ee dans le deux cas i) et ii).
• On v´erifie que i) ou ii) est une condition suffisante. Pour i) : voir th´eor`eme 14. Pour ii) : on consid`ere la
40
formule de Taylor-MacLaurin en x

`a l’ordre 2. Pour tout h ∈ B(0, r) il existe λ = λ(h) ∈ (0, 1) tel que
J(x

+h) = J(x

) +
1
2
'D
2
J(x

+λh)h, h` ≥ J(x

),
ce qui montre bien que x

est un minimum.
Dans le cas o` u J est convexe, la condition suffisante s’exprime beaucoup plus facilement. En effet, nous
avons la
Proposition 4 Soit J une fonction convexe de classe (
1
, d´efinie sur R
n
et x

un point de R
n
. Alors, x

est
un minimum (global) de J si et seulement si ∇J(x

) = 0.
Preuve.
Il suffit de montrer que la condition est suffisante. Soit y quelconque. D’apr`es la proposition 2 nous avons :
J(y) −J(x

) ≥ ∇J(x

)(y −x

) = 0,
ce qui montre bien que x

est un minimum.
3.4.2 Cas avec contraintes
Dans cette seconde situation, plus complexe, nous avons le r´esultat suivant.
Proposition 5 Soit J une fonction convexe de classe (
1
, d´efinie sur un ensemble convexe C ⊆ R
n
, et x

un
point de C. Alors, x

est un minimum (global) de J sur C si et seulement si
∀y ∈ C, ∇J(x

) (y −x) ≥ 0.
3.4.2.1 Contraintes in´egalit´es
On suppose, dans cette partie, que l’ensemble C sur lequel on veut minimiser J est donn´e par des contraintes
de type in´egalit´es
C = ¦x ∈ C, g
i
(x) ≤ 0, ∀i ∈ I = ¦1, ..., m¦¦,
o` u les g
i
sont des fonctions de classe (
1
de R
n
dans R.
D´efinition 14 On dit qu’un arc de courbe γ : [0; ε] → R
n
est admissible si γ(0) = x

et γ(t) ∈ C, ∀t > 0
suffisamment voisin de 0. On appelle direction admissible au point x

les vecteurs tangents au point x

des
courbes admissibles. On note C
ad
(x

) le cˆ one des directions admissibles au point x

.
Nous notons I
0
(sous-entendu I
0
(x

) l’ensemble des contraintes satur´ees au point x

, c’est-`a-dire l’ensemble
I
0
= ¦i ∈ I, g
i
(x

) = 0¦ .
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 41
On a alors les deux propri´et´es suivantes.
Proposition 6 Si y est une direction admissible au point x

, alors nous avons l’in´egalit´e suivante sur les
contraintes satur´ees
∀i ∈ I
0
, ∇g
i
(x

) y ≤ 0. (3.5)
De plus, nous avons la seconde proposition.
Proposition 7 Si x

est un minimum de la fonction J, alors
∇J(x

) y ≥ 0,
pour toute direction admissible y. Cette derni`ere in´egalit´e porte aussi le nom d’in´egalit´e d’Euler.
Afin de pr´eciser les conditions d’optimalit´e, il est n´ecessaire de d´ecrire plus pr´ecis´ement les directions
admissibles. La relation (3.5) ne le permet pas puisque ce n’est pas une ´equivalence. Introduisons la d´efinition
suivante.
D´efinition 15 Nous dirons que les contraintes sont qualifi´ees au point x

si
• ou bien les fonctions g
i
sont affines,
• ou bien les vecteurs ∇g
i
(x

), i ∈ I
0
, sont lin´eairement ind´ependants.
Nous avons alors la caract´erisation.
Proposition 8 Si les contraintes sont qualifi´ees au point x

, alors y est une direction admissible si et seule-
ment si
∇g
i
(x

) y ≤ 0, ∀i ∈ I
0
.
On a alors le th´eor`eme fondamental suivant dˆ u `a Kuhn-Tucker.
Th´eor`eme 18 (Kuhn-Tucker (1951)). Soit J et g
i
, i ∈ I = ¦1, ..., m¦, des fonctions de classe (
1
. On sup-
pose les contraintes qualifi´ees au point x

. Alors, une condition n´ecessaire pour que x

soit un minimum
de J sur l’ensemble C = ¦x ∈ R
n
, g
i
(x) ≤ 0, i ∈ I¦, est qu’il existe des nombres positifs λ
1
, ..., λ
m
(appel´es
multiplicateurs de Kuhn-Tucker ou de Lagrange g´en´eralis´es) tels que

∇J(x

) +
m
¸
i=1
λ
i
∇g
i
(x

) = 0,
avec λ
i
g
i
(x

) = 0, ∀i ∈ I.
Attention, ce r´esultat n’est pas une ´equivalence au sens ou ce n’est pas une condition n´ecessaire et suffisante
de caract´erisation de minimum. Elle le devient par contre lorsque nous consid´erons une fonction convexe. En
effet, nous avons le
42
Th´eor`eme 19 On reprend les hypoth`eses du th´ or`eme de Kuhn-Tucker et on suppose de plus que J et les g
i
sont convexes. Alors, x

est un minimum de J sur C = ¦x ∈ R
n
, g
i
(x) ≤ 0, i ∈ I¦ si et seulement si il existe
des nombres positifs λ
1
, ..., λ
m
tels que

∇J(x

) +
m
¸
i=1
λ
i
∇g
i
(x

) = 0,
avec λ
i
g
i
(x

) = 0, ∀i ∈ I.
3.4.2.2 Contraintes ´egalit´es
Nous supposons ici que l’ensemble des contraintes est de type ´egalit´es, i.e. f
i
(x) = 0. Puisqu’une contrainte
´egalit´e est ´equivalente `a deux contraintes in´egalit´es, `a savoir f
i
(x) ≤ 0 et −f
i
(x) ≤ 0, nous allons pouvoir nous
ramener au cas pr´ec´edent. Ce qu’il faut retenir dans ce cas est que
• les contraintes sont forc´ement satur´ees (´evident),
• pour qu’une direction y soit admissible, il faut supposer ici ∇f
i
(x

) y = 0, pour tout i,
• on a la mˆeme notion de contraintes qualifi´ees : si on suppose que les vecteurs ∇f
i
(x

) sont lin´eairement
ind´ependants, alors y est admissible si et seulement si : ∇f
i
(x

) y = 0, pour tout i.
Lorsque l’on ´ecrit la condition de Kuhn-Tucker pour les contraintes ´egalit´es, nous allons avoir
∇J(x

) +
m
¸
i=1
λ
1
i
∇f
i
(x

) −λ
2
i
∇f
i
(x

) = 0,
ou encore
∇J(x

) +
m
¸
i=1
µ
i
∇f
i
(x

) = 0,
en posant µ
i
= λ
1
i
− λ
2
i
. Les multiplicateurs µ
i
ne v´erifient pas de conditions de signes (contrairement au cas
avec contraintes in´egalit´es). Ces nombres s’appellent multiplicateurs de Lagrange.
Afin de r´esumer l’ensemble de ces r´esultats, ´enon¸ cons le th´eor`eme suivant.
Th´eor`eme 20 (Kuhn-Tucker, Lagrange). Soit J, f
i
, i ∈ ¦1, ..., p¦, g
i
, i ∈ ¦1, ..., m¦, des fonctions de classe
(
1
. On veut minimiser J sur l’ensemble
C = ¦x ∈ R
n
, f
i
(x

) = 0, i ∈ ¦1, ..., p¦ , g
i
(x

) ≤ 0, i ∈ ¦1, ..., m¦¦ .
On suppose les contraintes qualifi´ees au point x

. Alors, une condition n´ecessaire pour que x

soit un minimum
de J est qu’il existe des nombres positifs λ
1
, ..., λ
m
, et des nombres r´eels µ
1
, ..., µ
p
, tels que

∇J(x

) +
m
¸
i=1
λ
i
∇g
i
(x

) =
p
¸
i=1
µ
i
∇f
i
(x

),
avec λ
i
g
i
(x

) = 0, 1 ≤ i ≤ m.
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 43
3.5 Deux exemples qui permettent de mieux saisir ce que sont les
multiplicateurs de Lagrange
3.5.1 Le premier probl`eme
On se donne une surface S ne passant pas par l’origine. On se propose de d´eterminer les points x

de S les
plus proches de l’origine.
Comment poser le probl`eme ? La fonction `a minimiser ici est la fonction distance
J(x) = |x| ,
et l’ensemble des contraintes C est la surface elle-mˆeme puisque l’on doit en effet avoir x

∈ S. On s’attaque
donc bien `a un probl`eme sous contraintes du type
min
x∈C
J(x).
D´esignons par r la distance d’un point x `a l’origine. Alors, un point est `a distance r de l’origine s’il satisfait :
|x| = r, c’est-`a-dire s’il se trouve sur la sph`ere de centre l’origine et de rayon r. Commen¸ cons `a r = 0
puis augmentons la valeur de r. A un moment donn´e, cette surface de niveau va toucher S, chaque point de
contact x

´etant alors un point que nous cherchons. Pour d´eterminer les coordonn´ees du point de contact, nous
supposons que S est d´ecrite par une ´equation cart´esienne : f
1
(x) = 0. Si maintenant S a un plan tangent en
un point de contact, ce plan tangent doit ˆetre ´egalement tangent `a la surface de niveau. En cela, le gradient
de la surface f
1
(x) = 0 doit ˆetre parall`ele au gradient de la surface de contact J(x) = r ; ceci veut dire qu’il
existe un scalaire µ tel que nous ayons : ∇J = µ∇f
1
, en tout point de contact. On voit donc que cette derni`ere
´equation correspond bien `a l’approche par multiplicateurs de Lagrange, µ ´etant le multiplicateur.
3.5.2 Le second probl`eme
Soit T(x) la temp´erature en un point x de l’espace tridimensionnel. On se pose alors la question de la
d´etermination des maxima et minima de la temp´erature sur une courbe C donn´ee de l’espace R
3
.
D’un point de vue de l’optimisation, le probl`eme se pose de la mani`ere suivante
min
x∈C
J(x),
en posant J(x) = T(x). Si nous voyons la courbe C comme l’intersection de deux surfaces, disons f
1
(x) = 0 et
f
2
(x) = 0, nous avons alors un probl`eme d’extrema avec deux contraintes ´egalit´es. Les deux vecteurs gradients
∇f
1
et ∇f
2
sont normaux `a ces surfaces, et, par cons´equent, sont ´egalement normaux `a la courbe C, courbe
intersection de ces deux surfaces.
Nous allons montrer que ∇J, le gradient de temp´erature, est ´egalement normal `a C. Dans l’imm´ediat,
supposons le. Alors, ∇J se trouve dans le plan d´efini par ∇f
1
et ∇f
2
; ainsi, si ∇f
1
et ∇f
2
sont ind´ependants,
44
nous pouvons exprimer ∇J comme une combinaison lin´eaire de ∇f
1
et ∇f
2
∇J = µ
1
∇f
1

2
∇f
2
,
qui serait donn´ee par les multiplicateurs de Lagrange. Pour montrer que ∇J est normal `a C en un extremum,
imaginons que C est d´ecrite par une fonction `a valeurs vectorielles α(t), o` u t varie dans un intervalle I = [a; b].
Sur la courbe C, la temp´erature devient une fonction de t, disons g(t) = f(α(t)). Si g a un extremum relatif
en un point int´erieur t

, nous devons avoir : g

(t

) = 0. Par ailleurs, la r`egle de d´erivation en chaˆıne nous dit
que g

(t) est donn´e par
g

(t) = ∇J(α(t)) α

(t).
Ce produit est nul si ∇J est perpendiculaire `a α

(t

). Mais, le vecteur α

(t

) est normal `a C, ce que nous
voulions. Par ailleurs, les deux gradients des contraintes ∇f
1
et ∇f
2
sont lin´eairement ind´ependants si et
seulement si ∇f
1
∧ ∇f
2
= 0, ce qui donne une condition d’ind´ependance.
Il est imp´eratif de remarquer que la m´ethode des multiplicateurs ´echoue si ∇f
1
et ∇f
2
sont lin´eairement
d´ependants. Par exemple, supposons que nous essayons d’appliquer la m´ethode `a la recherche des valeurs
extrˆemales de J(x) = x
2
+y
2
, sur la courbe d´efinie par l’intersection de deux surfaces f
1
(x) = 0 et f
2
(x) = 0,
o` u f
1
(x) = z et f
1
(x) = z
2
−(y−1)
3
. Les deux surfaces, un plan et un cylindre, s’intersectent le long de la ligne
y = 1. Le probl`eme a bien ´evidemment comme solution : x

= (0, 1, 0). Toutefois, en ce point, ∇f
1
(x

) = k
et ∇f
2
(x

) = 0. Par ailleurs, ∇J(x

) = 2j. Il est donc clair que l’on ne peut ´ecrire ∇J(x

) comme une
combinaison lin´eaire entre ∇f
1
(x

) et ∇f
2
(x

).
3.6 Exercices
Exercice 3.1
Les fonctions suivantes sont-elles coercives ?
1. J(x) = x
3
+x
2
+ 1, d´efinie de R dans R.
2. J(x) = x
2
1
+ 2x
2
2
−ax
1
−bx
2
−c, avec a, b et c, trois r´eels.
3. J(x) = x
2
1
−x
2
2
.
4. J(x) = 2x
2
1
+x
3
2
+ 2x
2
2
, d´efinie de R
2
dans R.
Exercice 3.2
Soient x et y, deux r´eels strictement positifs. Soit p, un nombre entier naturel. On appelle q son conjugu´e,
c’est `a dire le nombre v´erifiant
1
p
+
1
q
= 1.
D´emontrer qu’alors, on a : xy ≤
x
p
p
+
y
q
q
.
Indication : on utilisera pour cela la convexit´e d’une fonction judicieusement choisie. Cette in´egalit´e porte le
nom d’in´egalit´e de Young.
Exercice 3.3
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 45
Soit E, un espace vectoriel de dimension finie, et f : E −→ R, une application continue et coercive. Soit
F, un ferm´e de E.
1. D´emontrer l’existence de R > 0 tel que inf
x∈F
f(x) = inf
x∈F∩B
f
(0,R)
f(x), o` u B
f
(0, R) d´esigne la boule ferm´ee
de centre 0 et rayon R.
2. En d´eduire que f est minor´ee et qu’elle atteint sa borne inf´erieure.
Exercice 3.4
Soit A, une matrice de taille n n sym´etrique et d´efinie positive. Soit b, un vecteur de taille 1 n.
1. D´emontrer qu’il existe ν > 0 tel que pour tout vecteur x de taille n 1, (Ax, x) ≥ ν|x|
2
.
2. Soit J, la fonctionnelle d´efinie sur R
n
pour x ∈ R
n×1
par :
J(x) =
1
2
(Ax, x) −(b, x).
(a) D´emontrer que J est coercive.
(b) En utilisant le r´esultat d´emontr´e dans l’exercice pr´ec´edent, en d´eduire, en ´ecrivant les conditions
d’optimalit´e, que le probl`eme

min J(x)
x ∈ R
n×1
.
poss`ede une unique solution que l’on d´eterminera compl`etement.
Exercice 3.5
On consid`ere un nuage de points de R
2
tels que M
i
= (x
i
, t
i
), pour 1 ≤ i ≤ n. En pratique, ces points
r´esultent de mesures prises lors d’exp´eriences. On cherche alors `a d´eterminer le comportement global de ce
nuage de points. Bien sˆ ur, ceux-ci n’ont aucune raison d’ˆetre align´es. On d´ecide toutefois de chercher une droite
qui les approche au mieux...
On utilise alors ce que l’on appelle la m´ethode des moindres carr´es. Puisque l’on n’a pas x
i
= at
i
+ b,
pour tout indice i, on cherche `a minimiser la fonctionnelle J d´efinie par J(a, b) := [[x −at −b[[
2
. Nous avons
donc `a r´esoudre un probl`eme de minimisation sans contrainte

min J(a, b)
(a, b) ∈ R
2
On introduit la notation suivante : S
f(x,t)
=
n
¸
i=1
f(x
i
, t
i
).
1. Montrer que ∇J(a, b) = 0 est ´equivalent `a ´ecrire

S
t
2 a +S
t
b = S
xt
S
t
a +nb = S
x
2. Si S
2
t
−nS
t
2 = 0, donner la solution de ce syst`eme.
46
3. Cette solution est-elle, sous cette condition, un minimum?
Exercice 3.6
Soit A, une matrice de taille nn sym´etrique. Soit b, un vecteur de taille 1n. On appelle J, la fonctionnelle
d´efinie sur R
n
pour x ∈ R
n×1
par :
J(x) =
1
2
(Ax, x) −(b, x).
1. Calculer la diff´erentielle et la matrice hessienne de la fonctionnelle J.
2. En d´eduire une condition suffisante pour que J soit strictement convexe.
Exercice 3.7
1. Pour chacune des fonctions suivantes, d´efinies sur R
n
, avec n entier, d´eterminer les points critiques, puis
donner le maximum d’information sur ces points.
(a) f(x, y, z) = x
4
+y
2
+z
2
−4x −2y −2z + 4.
(b) f(x, y, z) = x
4
−2x
2
y + 2y
2
+ 2z
2
+ 2yz −2y −2z + 2.
(c) f(x, y) = x
2
+y
2
−xy.
(d) f(x, y) = x
2
−y
2
−xy.
2. Soit g, la fonction d´efinie sur (, le cercle de centre 0 et rayon R > 0, par :
g(x, y) = x
2
+xy +y
2
.
D´emontrer que g atteint ses bornes puis les d´eterminer.
Exercice 3.8
Soit J : R
n
−→R, une fonctionnelle que l’on suppose de classe (
1
.
On rappelle que J est dite α-elliptique s’il existe α > 0 tel que :
(∇J(v) −∇J(u), v −u) ≥ α|v −u|
2
, ∀(u, v) ∈ (R
n
)
2
.
On rappelle ´egalement le r´esultat suivant :
Si J(v) > J(u) + (∇J(u), v −u), ∀(u, v) ∈ (R
n
)
2
, u = v.
1. Montrer que si J est α-elliptique, alors :
J(v) −J(u) ≥ (∇J(u), v −u) +
α
2
|v −u|
2
, ∀(u, v) ∈ (R
n
)
2
.
Indication : on pourra utiliser la formule de Taylor avec reste int´egral que l’on rappelle : si f est une
fonction de classe (
n
sur le segment [a, b], alors on a :
f(b) = f(a) +
(b −a)
1!
f

(a) +... +
(b −a)
n−1
(n −1)!
f
(n−1)
(a) +

b
a
(b −t)
n−1
(n −1)!
f
(n)
(t)dt.
G´en´eralit´es et ´etude th´eorique des probl`emes d’optimisation 47
En d´eduire que J est strictement convexe et coercive.
2. On suppose que J est deux fois d´erivable en tous points de R
n
. Montrer que J est α-eliptique si, et
seulement si :
(D
2
J(u)w, w) ≥ α|w|
2
, ∀(u, w) ∈ (R
n
)
2
.
Indication : pour la r´eciproque, on pourra f : R
n
−→ R d´efinie par la relation f(ξ) = (∇J(ξ), v − u) o
u et v sont deux ´el´ements de R
n
fix´es, puis faire un d´eveloppement de Taylor-Mac Laurin.
Exercice 3.9
Soient n ≥ 1 et f
1
, ..., f
n
, n fonctions d’une variable d´efinies sur un intervalle I ⊂ R, et soit f, la fonction
de n variables d´efinie sur I
n
par :
f(x
1
, ..., x
n
) = f
1
(x
1
) +... +f
n
(x
n
) =
n
¸
i=1
f
i
(x
i
).
1. Montrer que si chaque f
i
est strictement convexe, alors f est strictement convexe.
2. On suppose dans toute la suite que les fonctions (f
i
)
1≤i≤n
sont des fonctions continues strictement
convexes, d´efinies sur ]0, +∞[ et telles que lim
t→0
+
f
i
(t) = +∞ pour tout i ∈ ¦1, ..., n¦.
(a) Montrer que le probl`eme d’optimisation

min f(x
1
, ..., x
n
)
(x
1
, ..., x
n
) ∈ Q := R

+
n
∩ ¦(x
1
, ..., x
n
) ∈ R
n
:
¸
n
i=1
x
i
≤ 1¦
(3.6)
est ´equivalent au probl`eme

min f(x
1
, ..., x
n
)
(x
1
, ..., x
n
) ∈ Q
ε
:= ¦(x
1
, ..., x
n
) ∈ R
n
: ∀i ∈ ¦1, .., n¦, x
i
≥ ε et
¸
n
i=1
x
i
≤ 1¦
(3.7)
lorsque ε > 0 est choisi suffisamment petit.
(b) Montrer que le probl`eme (3.7) poss`ede une unique solution, qui est ´egalement l’unique solution de
(3.6), lorsque ε > 0 est choisi suffisamment petit.
On notera x

= (x

1
, ..., x

n
), cette solution.
3. On suppose de plus que pour tout i ∈ ¦1, ..., n¦, les fonctions f
i
sont d´erivables et strictement d´ecroissantes.
(a) Montrer que lorsque ε > 0 est suffisamment petit, la seule contrainte active dans le probl`eme (3.7)
est
¸
n
i=1
x
i
≤ 1, autrement dit que l’on a :
n
¸
i=1
x

i
= 1 et x

i
> ε, ∀i ∈ ¦1, ..., n¦.
En d´eduire que les contraintes sont qualifi´ees.
(b) Montrer que l’on a n´ecessairement f

1
(x

1
) = ... = f

n
(x

n
).
48
4. Une application : soient p
1
, ..., p
n
, n nombres r´eels strictement positifs. Donner l’expression explicite
de x

en fonction de p
1
, ..., p
n
dans le cas :
f
i
(t) = −p
i
ln t, pour tout i ∈ ¦1, ..., n¦.
En d´eduire les solutions du probl`eme :

max x
3
y
4
z
5
(x, y, z) ∈ R

+
3

¸
(x, y, z) ∈ R
3
: x +y +z ≤ 1
¸
.
(3.8)
Chapitre 4
Quelques algorithmes pour
l’optimisation sans contraintes
4.1 Introduction
Une grande classe d’algorithmes que nous allons consid´erer pour les probl`emes d’optimisation ont la forme
g´en´erale suivante
x
(0)
´etant donn´e, calculer x
(k+1)
= x
(k)

(k)
d
(k)
. (4.1)
Le vecteur d
(k)
s’appelle la direction de descente, ρ
(k)
le pas de la m´ethode `a la k-i`eme it´eration. En pratique,
on s’arrange presque toujours pour satisfaire l’in´egalit´e
J(x
(k+1)
) ≤ J(x
(k)
).
De tels algorithmes sont souvent appel´es m´ethodes de descente. Essentiellement, la diff´erence entre ces algo-
rithmes r´eside dans le choix de la direction de descente d
(k)
. Cette direction ´etant choisie, nous sommes plus
ou moins ramen´e `a un probl`eme unidimensionnel pour la d´etermination de ρ
(k)
. Pour ces raisons, commen¸ cons
par analyser ce qui se passe dans le cas de la dimension un.
4.2 Algorithmes unidimensionnels ou recherche du pas
Soit q(ρ) la fonction coˆ ut que l’on cherche `a minimiser. On pourra prendre par exemple
q(ρ) = J(x
(k)
+ρd
(k)
)
afin d’appliquer les id´ees au cas de la m´ethode de descente. Supposons que l’on connaisse un intervalle [a; b]
contenant le minimum ρ

de q et tel que q soit d´ecroissante sur [a; ρ

] et croissante sur ]ρ

; b] (q est alors
appel´ee une fonction unimodale).
49
50
poser τ =
1 +

5
2
poser a
0
= a
poser b
0
= b
pour i = 0, ..., N
max
poser a

= a
i
+
1
τ
2
(b
i
−a
i
)
poser b

= a
i
+
1
τ
(b
i
−a
i
)
si (q(a

) < q(b

)) alors
poser a
i+1
= a
i
poser b
i+1
= b

sinon si (q(a

) > q(b

)) alors
poser a
i+1
= a

poser b
i+1
= b
i
sinon si (q(a

) = q(b

)) alors
poser a
i+1
= a

poser b
i+1
= b

fin si
fin pour i
Tab. 4.1 – Algorithme de la section dor´ee.
4.2.1 M´ethode de la section dor´ee
On construit une suite d´ecroissante d’intervalles [a
i
; b
i
] qui contiennent tous le minimum ρ

. Pour passer
de [a
i
; b
i
] `a [a
i+1
; b
i+1
], on proc`ede de la mani`ere suivante. On introduit deux nombres a

et b

de l’intervalle
[a
i
; b
i
] et tels que a

< b

. Puis, on calcule les valeurs q(a

) et q(b

). Trois possibilit´es se pr´esentent alors `a nous.
Si q(a

) < q(b

), alors, le minimum ρ

se trouve n´ecessairement `a gauche de b

. Ceci d´efinit alors le nouvel
intervalle en posant a
i+1
= a
i
et b
i+1
= b

. Consid´erons maintenant que l’in´egalit´e : q(a

) > q(b

) est satisfaite.
Dans ce second cas, il est ´evident que le minimum se trouve cette fois `a droite de a

. On pose alors : a
i+1
= a

et b
i+1
= b
i
. Enfin, le dernier cas consiste `a avoir q(a

) = q(b

). Alors, le minimum se trouve dans l’intervalle
[a

; b

]. On se restreint donc `a a
i+1
= a

et b
i+1
= b

.
La question suivante se pose : comment choisir a

et b

en pratique ? En g´en´eral, on privil´egie deux aspects :
i) on souhaite que le facteur de r´eduction τ, qui repr´esente le ratio du nouvel intervalle par rapport au
pr´ec´edent, soit constant,
ii) on d´esire r´eutiliser le point qui n’a pas ´et´e choisi dans l’it´eration pr´ec´edente afin de diminuer les coˆ uts
de calculs.
On peut montrer que la v´erification simultan´ee de ces deux contraintes conduit `a un choix unique des pa-
ram`etres a

et b

. Plus pr´ecis´ement, supposons que q est unimodale. Alors, on obtient l’algorithme de la table
4.1 dit de la section dor´ee, la m´ethode tirant son nom de la valeur du param`etre τ.
Ici, N
max
est le nombre maximal d’it´erations que l’on se fixe. A cette fin, on doit valider un crit`ere d’arrˆet
de la forme : [b
i+1
−a
i+1
[ < ε, o` u ε est l’erreur (ou tol´erance) que l’on se permet sur la solution ρ

du probl`eme.
Quelques algorithmes pour l’optimisation sans contraintes 51
choisir x
0
, y
0
et z
0
dans [a; b] tels que q(x
0
) ≥ q(y
0
) et q(z
0
) ≥ q(y
0
)
pour i = 0, ..., N
max
poser q[x
i
; y
i
] =
q(y
i
) −q(x
i
)
y
i
−x
i
poser q[x
i
; y
i
; z
i
] =
q[x
i
; z
i
] −q[x
i
; y
i
]
z
i
−x
i
poser y
i+1
=
x
i
+y
i
2

q[x
i
; y
i
]
2q[x
i
; y
i
; z
i
]
si y
i+1
∈ [x
i
; y
i
] alors
poser x
i+1
= x
i
poser z
i+1
= y
i
sinon si y
i+1
∈ [y
i
; z
i
] alors
poser x
i+1
= y
i
poser z
i+1
= z
i
fin si
fin pour i
Tab. 4.2 – Algorithme de l’interpolation parabolique.
4.2.2 M´ethode d’interpolation parabolique
L’id´ee maˆıtresse de la m´ethode d’interpolation parabolique consiste `a remplacer la fonction coˆ ut q par son
polynˆome d”interpolation p d’ordre deux (d’o` u l’appellation d’interpolation parabolique) en trois points x
0
,
y
0
et z
0
de l’intervalle [a; b]. Ces points sont choisis tels que : q(x
0
) ≥ q(y
0
) et q(z
0
) ≥ q(y
0
). On peut montrer
que si nous posons
q[x
0
; y
0
] =
q(y
0
) −q(x
0
)
y
0
−x
0
,
et
q[x
0
; y
0
; z
0
] =
q[z
0
; y
0
] −q[x
0
; y
0
]
z
0
−x
0
,
alors, le minimum est donn´e par
y
1
=
x
0
+y
0
2

q[x
0
; y
0
]
2q[x
0
; y
0
; z
0
]
.
Il est clair que ρ

∈ [x
0
; z
0
] selon les choix pr´ec´edents. On choisit ensuite les trois nouveaux points de la mani`ere
suivante
• si y
1
∈ [x
0
; y
0
], on pose alors x
1
= x
0
, y
1
= y
1
et z
1
= y
0
puisque ρ

∈ [x
0
; y
0
],
• si y
1
∈ [y
0
; z
0
], on pose alors x
1
= y
0
, y
1
= y
1
et z
1
= z
0
car ρ

∈ [y
0
; z
0
].
Puis on recommence. Ceci conduit `a l’algorithme donn´e table 4.2.
On peut montrer que la m´ethode est d’ordre 1.3. En fait, nous pouvons montrer qu’il existe une constante
strictement positive C, ind´ependante de i, telle que l’on ait l’in´egalit´e
[y
i+1
−ρ

[ ≤ C[y
i
−ρ

[
1.3
.
52
Dire que la m´ethode est d’ordre 1.3 signifie que si `a une ´etape donn´ee l’erreur de 10
−2
, elle sera de l’ordre de
(10
−2
)
1.3
≈ 2.5 10
−3
`a l’´etape suivante.
Une des difficult´es concerne l’initialisation de l’algorithme. Pratiquement, on peut proc´eder de la fa¸ con
suivante. On choisit un point α
0
de l’intervalle [a; b] ainsi qu’un pas de d´eplacement positif δ. On calcule
ensuite q(α
0
) et q(α
0
+δ). On a alors deux situations
• si q(α
0
) ≥ q(α
0
+δ), alors q d´ecroˆıt et donc ρ

est `a droite de α
0
. On continue alors `a calculer q(α
0
+2δ),
q(α
0
+ 3δ),...,q(α
0
+kδ) jusqu’`a tomber sur un entier k tel que q croˆıt : q(α
0
+ kδ) > q(α
0
+ (k − 1)δ),
avec k ≥ 2. On pose alors
x
0
= α
0
+ (k −2)δ, y
0
= α
0
+ (k −1)δ, z
0
= α
0
+kδ.
• si q(α
0
) < q(α
0
+ δ), alors ρ

est `a gauche de α
0
+ δ. On prend −δ comme pas jusqu’`a tomber sur un
entier k tel que : q(α
0
−kδ) ≥ q(α
0
−(k −1)δ). On pose alors
x
0
= α
0
−kδ, y
0
= α
0
−(k −1)δ, z
0
= α
0
−(k −2)δ.
Ceci permet d’initialiser l’algorithme d’interpolation parabolique en suivant l’algorithme de recherche d’initia-
lisation pr´esent´e table 4.3.
4.2.3 D’autres r`egles
La recherche du pas n’est qu’une ´etape d’un algorithme plus complexe pour minimiser J. La philosophie
g´en´erale est alors de plutˆ ot essayer d’avoir une approximation satisfaisante du pas optimal.
Si nous consid´erons q(ρ) = J(x +ρd), avec ρ > 0, nous avons, par application de la r`egle de d´erivation en
chaˆıne (cf. le Th´eor`eme 7)
q

(ρ) = ∇J(x +ρd) d.
Par cons´equent, puisque d est une direction de descente, q

(0) = ∇J(x) d < 0. Il s’ensuit que si nous prenons
ρ un peu `a droite de 0, on est sˆ ur de faire d´ecroˆıtre q. Toutefois, il faut faire attention car deux ´el´ements
contradictoires sont `a prendre en compte
• si ρ est trop grand, on risque de ne pas faire d´ecroˆıtre la fonction q ou son comportement peut ˆetre
oscillant,
• si ρ est trop petit, l’algorithme n’avancera pas assez vite.
Il existe deux r`egles classiques pour parvenir `a cette fin.
4.2.3.1 R`egle de Goldstein (1967)
On choisit deux nombres (m
1
, m
2
) tels que 0 < m
1
< m
2
< 1 et on recherche une valeur ρ qui v´erifie

q(ρ) ≤ q(0) +m
1
ρq

(0)
q(ρ) ≥ q(0) +m
2
ρq

(0)
Quelques algorithmes pour l’optimisation sans contraintes 53
choisir α
0
dans [a; b]
choisir δ > 0
poser q
0
= q(α
0
)
poser q
1
= q(α
0
+δ)
si (q
1
≤ q
0
) alors
poser k = 2
poser q
2
= q(α
0
+ kδ)
tant que (q
2
≤ q
1
) faire
poser k = k + 1
poser q
0
= q
1
poser q
1
= q
2
poser q
2
= q(α
0
+kδ)
fin tant que
poser x
0
= q
0
poser y
0
= q
1
poser z
0
= q
2
sinon si (q
1
> q
0
) alors
poser k = 1
poser q
2
= q(α
0
− kδ)
tant que (q
2
≤ q
0
) faire
poser k = k + 1
poser q
0
= q
2
poser q
1
= q
0
poser q
2
= q(α
0
−kδ)
fin tant que
poser x
0
= q
2
poser y
0
= q
0
poser z
0
= q
1
fin si
Tab. 4.3 – Algorithme d’initialisation de l’interpolation parabolique.
54
choisir m
1
et m
2
tels que 0 < m
1
< m
2
< 1
poser ρ = 1, ρ

= 0, ρ
+
= 0
debut 10 :
si q(ρ) ≤ q(0) +m
1
ρq

(0) et q

(ρ) ≥ m
2
q

(0) alors
poser ρ
(k)
= ρ
arr^et
sinon
si q(ρ) > q(0) +m
1
ρq

(0) alors
poser ρ
+
= ρ
sinon si q(ρ) ≤ q(0) +m
1
ρq

(0) et q

(ρ) < m
2
q

(0) alors
poser ρ

= ρ
fin si
fin si
fin 10 :
si ρ
+
= 0 alors
choisir ρ > ρ

(par exemple ρ = 2ρ

)
sinon si ρ
+
> 0 alors
choisir ρ ∈]ρ

; ρ
+
[ (par exemple ρ =
ρ


+
2
)
aller en 10 :
fin si
Tab. 4.4 – Algorithme de Wolfe dans le cadre d’une recherche de pas pour une m´ethode de descente.
4.2.3.2 R`egle de Wolfe (1969)
On choisit deux nombres m
1
et m
2
, avec 0 < m
1
< m
2
< 1 (par exemple m
1
= 0.1 et m
2
= 0.7), et on
recherche ρ qui v´erifie

q(ρ) ≤ q(0) +m
1
ρq

(0)
q

(ρ) ≥ m
2
q

(0)
4.2.3.3 Mise en oeuvre des r`egles pr´ec´edentes dans un algorithme g´en´eral utilisant des direc-
tions de descente
Soit J la fonction `a minimiser. A l’it´eration k, nous avons x = x
(k)
et d = d
(k)
, et on veut calculer
x
(k+1)
= x
(k)
+ρd
(k)
pour une valeur ρ `a d´eterminer. L’algorithme associ´e `a la r`egle de Wolfe est alors donn´e
par la table 4.4, celui pour la m´ethode de Goldstein ´etant similaire.
4.3 Quelques notions sur les algorithmes
Int´eressons nous maintenant au d´eveloppement d’algorithmes num´eriques de r´esolution des probl`emes de
minimisation destin´es `a ˆetre mis en oeuvre sur calculateurs. Nous ne verrons ici que des algorithmes de
base, l’optimisation ´etant un vaste domaine de recherches et d’applications. Nous ne nous int´eresserons ici
qu’`a l’optimisation locale, la recherche d’un extremum global ´etant hors de port´ee de cette introduction. Par
Quelques algorithmes pour l’optimisation sans contraintes 55
ailleurs, l’hypoth`ese de diff´erentiabilit´e nous suivra tout le long de cet expos´e ; encore une fois, l’optimisation
non diff´erentiable n’est pas trait´ee ici.
Un algorithme... Mais qu’est qu’un algorithme ?
D´efinition 16 Un algorithme it´eratif est d´efini par une application vectorielle A : R
n
→ R
n
qui g´en`ere une
suite de champs de vecteurs (x
(k)
)
k≥0
par une construction typiquement de la forme
choisir x
(0)
(phase d’initialisation de l’algorithme)
calculer x
(k+1)
= A(x
(k)
) (k-i`eme it´eration))
Bien sˆ ur, ce que nous esp´erons, c’est que notre suite (x
(k)
)
k≥0
converge vers une limite x

qui sera effectivement
notre point de minimum relatif. On dit que l’algorithme converge vers la solution du probl`eme de minimisation
si c’est la cas. Lorsque l’on a un algorithme donn´e, deux mesures importantes de son efficacit´e sont : d’une
part la vitesse de convergence, d’autre part, sa complexit´e calculatoire. La vitesse de convergence mesure
”la rapidit´e” avec laquelle la suite (x
(k)
)
k≥0
converge vers le point x

. La complexit´e mesure le coˆ ut des
op´erations n´ecessaires pour obtenir une it´eration, le coˆ ut global ´etant le coˆ ut d’une it´eration multipli´e par le
nombre d’it´erations pour obtenir la solution escompt´ee avec une certaine pr´ecision ε fix´ee a priori. On prend
g´en´eralement les appellations suivantes. On introduit l’erreur vectorielle sur la solution : e
(k)
= x

−x
(k)
. Si sa
norme (euclidienne) e
(k)
=

e
(k)

d´ecroˆıt lin´eairement, alors, on dit que la vitesse de convergence est lin´eaire.
Plus math´ematiquement, cette propri´et´e s’exprime par une relation du type
(∃C ∈ [0; 1[)(∃k
0
∈ N)(∀k ≥ k
0
)(e
(k+1)
≤ Ce
(k)
)
On voit bien `a ce niveau que la vitesse de convergence est un notion asymptotique. Elle n’est pas n´ecessairement
observable `a la premi`ere it´eration. Si nous observons une relation du type e
(k+1)
≤ γ
(k)
e
(k)
, nous dirons que
la vitesse est superlin´eaire si lim
k→+∞
γ
(k)
= 0, pour γ
(k)
≥ 0, pour tout k ≥ 0. On parle de convergence
g´eom´etrique lorsque la suite (γ
(k)
)
k
est une suite g´eom´etrique. La m´ethode est dite d’ordre p si l’on a une
relation du type
(∃C ∈ [0; 1[)(∃k
0
∈ N)(∀k ≥ k
0
)(e
(k+1)
≤ C(e
(k)
)
p
)
Si p = 2, nous dirons que la vitesse de convergence est quadratique. Finalement, si la convergence a lieu
seulement pour des x
(0)
voisins de x

, nous parlerons de convergence locale, sinon, nous dirons globale.
4.4 M´ethodes de gradient
La m´ethode du gradient fait partie des classes de m´ethodes dites de descente. Quelle est l’id´ee cach´ee
derri`ere ces m´ethodes ? Consid´erons un point de d´epart x
(0)
et cherchons `a minimiser une fonction J. Puisque
l’on veut atteindre x

, nous cherchons `a avoir : J(x
(1)
) < J(x
(0)
). Une forme particuli`erement simple est de
chercher x
(1)
tel que le vecteur x
(1)
−x
(0)
soit colin´eaire `a une direction de descente d
(0)
= 0. Nous le noterons :
x
(1)
− x
(0)
= ρ
(0)
d
(1)
, o` u ρ
(0)
est le pas de descente de la m´ethode. On peut alors it´erer de cette mani`ere en
56
poser k = 0
choisir x
(0)
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
calculer d
(k)
= −∇J(x
(k)
)
calculer ρ
(k)
poser x
(k+1)
= x
(k)
+ ρ
(k)
d
(k)
fin tant que
Tab. 4.5 – Algorithme du gradient.
se donnant x
(k)
, d
(k)
et ρ
(k)
pour atteindre x
(k+1)
par
choisir x
(0)
calculer x
(k+1)
= x
(k)

(k)
d
(k)
avec d
(k)
∈ R
n∗
et ρ
(k)
> 0. De nombreux choix existent pour d
(k)
et ρ
(k)
.
La premi`ere question consiste `a choisir la direction de descente. Rappelons que le d´eveloppement de Taylor
de J au premier ordre donne au voisinage de x
(k+1)
J(x
(k+1)
) = J(x
(k)

(k)
d
(k)
) = J(x
(k)
) +ρ
(k)
∇J(x
(k)
) d
(k)

(k)
)|d
(k)
|E(x
(k)
; ρ
(k)
d
(k)
),
o` u lim
ρ
(k)
d
(k)
→0
E(x
(k)
; ρ
(k)
d
(k)
) = 0. Or, puisque l’on d´esire avoir : J(x
(1)
) < J(x
(0)
), une solution ´evidente
consiste `a prendre
d
(k)
= −∇J(x
(k)
),
puisqu’`alors
J(x
(k+1)
) −J(x
(k)
) = −ρ
(k)

∇J(x
(k)
)

2
+o(ρ
(k)
).
Nous voyons que si ρ
(k)
est suffisamment petit, x
(k+1)
minimisera mieux J que ne le faisait x
(k)
. La m´ethode
obtenue avec le choix d
(k)
= −∇J(x
(k)
) est appel´ee m´ethode du gradient. Lorsque l’on travaille sur une
r´esolution num´erique d’un probl`eme, on se donne en g´en´eral un crit`ere d’arrˆet de la forme :

x
(k+1)
−x
(k)

< ε.
De plus, puisque la convergence n’est pas toujours assur´ee, une r`egle de base est de fixer un nombre maximum
d’it´erations k
max
. On obtient alors l’algorithme pr´esent´e table 4.5 et dit du gradient.
Mˆeme si ces m´ethodes sont conceptuellement tr`es simples et qu’elles peuvent ˆetre programm´ees directement,
elles sont souvent lentes dans la pratique. Elles convergent mais sous des conditions de convergence souvent
complexes. A titre d’exemple, donnons le r´esultat suivant.
Th´eor`eme 21 Soit J une fonction de classe (
1
de R
n
dans R, x

un minimum de J. Supposons que
i) J est α-elliptique, c’est-` a-dire,
(∃α > 0)(∀(x, y) ∈ R
n
R
n
)(∇J(x) −∇J(y)) (x −y) ≥ α|x −y|
2
.
Quelques algorithmes pour l’optimisation sans contraintes 57
ii) l’application ∇J est lipschitzienne
(∃M > 0)(∀(x, y) ∈ R
n
R
n
)(|∇Jx −∇Jy| ≤ M|x −y|).
S’il existe deux r´eels a et b tels que ρ
(k)
satisfasse 0 < a < ρ
(k)
< b <

M
2
, pour tout k ≥ 0, alors, la m´ethode
du gradient d´efinie par
x
(k+1)
= x
(k)
−ρ
(k)
∇J(x
(k)
)
converge pour tout choix de x
(0)
de fa¸con g´eom´etrique
∃β ∈]0; 1[,

x
(k+1)
−x

≤ β
k

x
(0)
−x

.
Le choix du pas ρ
(k)
peut ˆetre effectu´e de la mani`ere suivante
• soit ρ
(k)
= ρ est fix´e a priori : c’est ce que l’on appelle la m´ethode du gradient `a pas fixe ou constant,
• soit ρ
(k)
est choisi comme le minimum de la fonction q(ρ) = J(x
(k)
− ρ∇J(x
(k)
)) : c’est ce que l’on
appelle la m´ethode du gradient `a pas optimal,
• ou, soit ρ
(k)
est calcul´e par les m´ethodes pr´esent´ees pr´ec´edemment.
Dans le cas du gradient `a pas optimal, nous avons le mˆeme r´esultat de convergence que pr´ec´edemment sous
des hypoth`eses faibles sur J.
Th´eor`eme 22 Soit J une fonction de classe (
1
de R
n
dans R, x

un minimum de J. On suppose que J est
α-elliptique. Alors, la m´ethode du gradient ` a pas optimal converge pour tout choix du vecteur d’initialisation
x
(0)
.
Remarque 4 Mˆeme pour le gradient ` a pas optimal qui est en principe la meilleure de ces m´ethodes d’un point
de vue de la rapidit´e de convergence, celle-ci peut ˆetre lente car alt´er´ee par un mauvais conditionnement de la
matrice hessienne de J. Par ailleurs, on peut consid´erer des crit`eres de convergence sur le gradient de J en
x
(k)
:

∇J(x
(k)
)

< ε
1
4.5 M´ethode du gradient conjugu´e
Consid´erons une matrice A, d´efinie positive, et soit J la fonctionnelle quadratique d´efinie par
J : R
n
→R
x →J(x) =
1
2
Ax x −b x.
La fonction J est alors une fonctionnelle strictement convexe (`a montrer) deux fois continˆ ument diff´erentiable.
Un calcul de son gradient donne : ∇J(x) = Ax −b. Par cons´equent, le minimum (unique et global) de J est
r´ealis´e en x

tel que : Ax

= b.
Afin de d´evelopper le gradient conjugu´e, introduisons la notion de direction conjugu´ee.
58
D´efinition 17 Nous dirons que deux vecteurs (ou directions) d
1
et d
2
sont conjugu´es pour la matrice A si :
Ad
2
d
1
= 0.
Ceci signifie que ces deux vecteurs sont orthogonaux pour le produit scalaire associ´e `a la matrice A, d´efini
par
(x, y)
A
= Ax y, ∀(x, y) ∈ R
n
R
n
.
Faisons l’hypoth`ese que nous connaissons k directions conjugu´ees d
(0)
, ..., d
(k−1)
. La m´ethode de descente
consiste, en partant d’un point x
(0)
∈ R
n
, `a calculer par des it´erations successives x
(k+1)
tel qu’il satisfasse
J(x
(k+1)
) = J(x
(k)

(k)
d
(k)
) = min
ρ∈R
J(x
(k)
+ρd
(k)
).
On peut expliciter la valeur de ρ
(k)
en utilisant la condition de minimum au premier ordre, `a savoir
∇J(x
(k)

(k)
d
(k)
) d
(k)
= 0,
et plus explicitement dans notre cas
ρ
(k)
= −
(Ax
(k)
−b) d
(k)

d
(k)

2
A
= −
(x
(k)
, d
(k)
)
A

d
(k)

2
A
+
b d
(k)

d
(k)

2
A
(4.2)
en posant

d
(k)

A
= (d
(k)
, d
(k)
)
1/2
A
. Or, par d´efinition, x
(k)
−x
(0)
peut s’exprimer selon les vecteurs d
(0)
, ..., d
(k−1)
puisque
x
(k)
= x
(k−1)

(k−1)
d
(k−1)
= x
(k−2)

(k−2)
d
(k−2)

(k−1)
d
(k−1)
= ... = x
(0)
+
k−1
¸
=0
ρ
()
d
()
Ainsi, nous pouvons simplifier (4.2) par conjugaison pour ´ecrire
ρ
(k)
= −
(x
(0)
, d
(k)
)
A

d
(k)

2
A
+
b d
(k)

d
(k)

2
A
= −
(r
(0)
, d
(k)
)
A

d
(k)

2
A
,
o` u le vecteur r´esidu r
(0)
`a l’instant initial est d´efini par : r
(0)
= Ax
(0)
−b.
Le succ`es de l’algorithme du gradient conjugu´e est intimement li´e `a la proposition importante suivante.
Proposition 9 Le point x
(k)
est le minimum de J sur le sous-espace affine passant par x
(0)
engendr´e par les
vecteurs ¦d
(0)
, ..., d
(k−1)
¦.
Une cons´equence fondamentale de la proposition pr´ec´edente est que, si l’on est capable de trouver n directions
conjugu´ees ¦d
(0)
, ..., d
(n−1)
¦, on a r´esolu le probl`eme de minimisation puisque ¦d
(0)
, ..., d
(n−1)
¦ est une base de
R
n
. En fait, l’algorithme du gradient conjugu´e consiste `a construire simultan´ement ces directions conjugu´ees
par le proc´ed´e de Gram-Schmidt. Plus pr´ecis´ement, l’algorithme est d´ecrit dans la table 4.6.
Quelques algorithmes pour l’optimisation sans contraintes 59
k = 0
choisir x
(0)
∈ R
n
choisir ε > 0
choisir ε
1
> 0
poser r
(0)
= ∇J(x
(0)
)
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
si (

r
(k)

< ε
1
) alors arr^et
sinon
si (k = 0) alors
poser d
(k)
= r
(k)
sinon
calculer α
(k)
= −
(r
(k)
, d
(k−1)
)
A

d
(k−1)

2
A
poser d
(k)
= r
(k)

(k)
d
(k−1)
fin si
calculer ρ
(k)
= −
(r
(k)
, d
(k)
)

d
(k)

2
A
poser x
(k+1)
= x
(k)

(k)
d
(k)
calculer r
(k+1)
= Ax
(k+1)
−b
poser k = k + 1
fin si
fin tant que
Tab. 4.6 – Algorithme du gradient conjugu´e pour une fonctionnelle quadratique.
60
k = 0
choisir x
(0)
∈ R
n
choisir ε > 0
choisir ε
1
> 0
poser r
(0)
= ∇J(x
(0)
)
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
si (

r
(k)

< ε
1
) alors arr^et
sinon
si (k = 0) alors
poser d
(k)
= r
(k)
sinon
calculer α
(k)
=

r
(k)

2

r
(k−1)

2
poser d
(k)
= r
(k)

(k)
d
(k−1)
fin si
si (d
(k)
r
(k)
≥ 0) alors
poser d
(k)
= r
(k)
sinon
rechercher un pas ρ
(k)
approchant le minimum de J(x
(k)
+ρd
(k)
) par
∇J(x
(k)
+ρd
(k)
) d
(k)
= 0
fin si
poser x
(k+1)
= x
(k)

(k)
d
(k)
poser r
(k+1)
= ∇J(x
(k+1)
)
poser k = k + 1
fin si
fin tant que
Tab. 4.7 – Algorithme du gradient conjugu´e pour une fonctionnelle g´en´erale.
L’algorithme de Gram-Schmidt peut, dans certains cas, s’av´erer instable. Dˆ ue aux erreurs d’arrondis, la
m´ethode peut mettre un peu plus que n it´erations pour converger.
Rappelons que l’algorithme pr´esent´e ici ´etait particularis´e au cas d’une fonctionnelle quadratique. On peut
´etendre l’algorithme pour une fonctionnelle J quelconque de mani`ere efficace comme nous le d´etaillons dans
la table 4.7.
4.6 Les m´ethodes de Newton et quasi-Newton
La m´ethode de Newton n’est pas a proprement parl´e une m´ethode d’optimisation. C’est une m´ethode
de recherche de z´eros d’une fonction F : R
n
→ R
n
selon : F(x) = 0. L’id´ee de cette m´ethode ici est de
r´esoudre l’´equation ∇J(x) = 0, condition n´ecessaire de premier ordre pour la d´etection d’extrema d’une
fonction. L’´equation ∇J(x) = 0 est donn´ee par un syst`eme nn d’´equations non lin´eaires. La m´ethode s’´ecrit
Quelques algorithmes pour l’optimisation sans contraintes 61
poser k = 0
choisir x
(0)
dans un voisinage de x

choisir ε > 0
tant que ([x
(k+1)
−x
(k)
[ ≥ ε) et (k ≤ k
max
) faire
poser x
(k+1)
= x
(k)

f(x
(k)
)
f

(x
(k)
)
poser k = k + 1
fin tant que
Tab. 4.8 – M´ethode de Newton unidimensionnelle.
formellement
x
(k+1)
= x
(k)
−[D
2
J(x
(k)
)]
−1
∇J(x
(k)
).
4.6.1 M´ethodes de Newton
Cherchons `a r´esoudre, pour f : R → R, une ´equation f(x) = 0. Nous supposons que f est de classe (
1
.
L’algorithme de Newton est donn´e table 4.8.
Une interp´etation g´eom´etrique simple de cette m´ethode est donn´ee `a partir de la tangente au point x
(k)
.
La convergence de la m´ethode doit ˆetre pr´ecis´ee ainsi que la d´efinition de la suite (f

(x
(k)
))
k
.
G´en´eralisons maintenant cette m´ethode au cas d’un champ scalaire J donn´e de R
n
dans R. Soit F une
fonction de classe (
1
. On suppose que l’´equation F(x) = 0 poss`ede au moins une solution not´ee x

et que
la matrice DF(x

) est une matrice inversible. La continuit´e de DF permet en fait d’assurer l’inversibilit´e
de DF(x
(k)
) pour tout point x
(k)
se trouvant dans un voisinage de x

et permet de d´efinir l’it´er´e x
(k+1)
.
L’extension de la seconde ´etape est r´ealis´ee par la r´esolution du syst`eme lin´eaire
[DF(x
(k)
)]δ
(k)
= F(x
(k)
),
puis on pose x
(k+1)
= x
(k)
− δ
(k)
. En r´esum´e, l’algorithme de Newton peut s’´ecrire sous la forme pr´esent´ee
table 4.9.
En ce qui concerne la convergence de ce dernier algorithme, nous avons le r´esultat suivant.
Th´eor`eme 23 Soit F : R
n
→ R
n
une fonction de classe (
1
et x

un z´ero de F. On suppose que ce z´ero est
isol´e et que DF(x

) est inversible (DF d´esigne la d´eriv´ee premi`ere de F). Alors, il existe une boule B(x

) telle
que, pour tout point x
(0)
∈ B(x

), la suite (x
(k)
)
k
d´efinie par la m´ethode de Newton est enti`erement contenue
dans B et converge vers x

, seul z´ero de F dans B. De plus, la convergence est g´eom´etrique : il existe β ∈]0; 1[
tel que
∀k ≥ 0,

x
(k+1)
−x

≤ β
k

x
(0)
−x

.
Par cons´equent, si nous choisissons x
(0)
”suffisamment pr`es” de x

, la m´ethode de Newton converge.
62
poser k = 0
choisir x
(0)
dans un voisinage de x

choisir ε > 0
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
resoudre le systeme lineaire [DF(x
(k)
)]δ
(k)
= F(x
(k)
)
poser x
(k+1)
= x
(k)
− δ
(k)
poser k = k + 1
fin tant que
Tab. 4.9 – M´ethode de Newton multidimensionnelle.
Un des gros probl`emes de cette m´ethode est que le choix de x
(0)
joue un grand rˆ ole sur la convergence ou non
de la m´ethode de Newton. La m´ethode est tr`es sensible `a l’initialisation. Il peut aussi arriver que la m´ethode
converge vers un extremum qui n’est pas celui cherch´e. Une approche possible consiste `a faire tourner quelques
it´erations d’une m´ethode de gradient pour approcher x

et de consid´erer l’it´er´e r´esultant comme le point de
d´epart de la m´ethode de Newton. L’avantage de la m´ethode de Newton est sa grande rapidit´e de convergence :
la convergence de la m´ethode de Newton est quadratique. Un des inconv´enients de la m´ethode de Newton r´eside
´egalement dans le fait que nous avons `a ´evaluer et ”`a inverser” (en fait r´esoudre un syst`eme plein associ´e)
la matrice DF(x
(k)
) `a chaque it´eration. Certaines m´ethodes proposent d’utiliser non pas DF(x
(k)
) comme
matrice mais plutˆ ot une approximation de celle-ci (plus pr´ecisemment, dans les m´ethodes de quasi-Newton
d´ecrites ci-dessous, on construit une suite de matrices S
(k)
qui approchent [DF(x
(k)
)]
−1
).
Lorsque l’on utilise la m´ethode de Newton pour r´esoudre : ∇J(x

) = 0, on prend bien sˆ ur F = ∇J. La m´ethode
donnera alors les points critiques de J, la propri´et´e de minimum ´etant `a v´erifier a posteriori. Dans ce cas, DF
est la matrice hessienne D
2
J.
4.6.2 M´ethode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´e-
aire)
Nous donnons table 4.10 un algorithme de type quasi-Newton (avec recherche lin´eaire d’Armijo) qui se
trouve ˆetre `a convergence quadratique sous des hypoth`eses standards (remarquer que l’hypoth`ese de localit´e
du point de d´epart n’est plus demand´ee).
4.6.3 M´ethode de quasi-Newton DFP et BFGS
L’id´ee ici est d’imiter l’algorithme de Newton tout en ´evitant de calculer D
2
J et ”son inverse”. Plus
pr´ecis´ement, cela signifie que, `a l’it´eration k, nous allons chercher `a construire une approximation S
(k)
sym´etrique
d´efinie positive de [D
2
J(x
(k)
)]
−1
et ρ
(k)
un param`etre positif fourni par un algorithme de minimisation unidi-
mensionnel le long de la direction d
(k)
= −S
(k)
∇J(x
(k)
) tels que l’op´eration classique
x
(k+1)
= x
(k)
−[D
2
J(x
(k)
)]
−1
∇J(x
(k)
),
Quelques algorithmes pour l’optimisation sans contraintes 63
choisir (α, β, γ) ∈]0; 1[]0; 1[]0; 1[
poser k = 0
choisir x
(0)
∈ R
n
calculer µ
(0)
=

∇J(x
(0)
)

2
choisir ε > 0
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
resoudre le systeme lineaire

(k)
Id +D
2
J(x
(k)
)
T
D
2
J(x
(k)
)]d
(k)
= −D
2
J(x
(k)
)∇J(x
(k)
)
si (

∇J(x
(k)
+d
(k)
)

≤ γ

∇J(x
(k)
)

) alors
poser x
(k+1)
= x
(k)
+d
(k)
aller en 4
sinon
aller en 3
fin si
debut 3 :
soit m
k
le plus petit entier positif tel que

Ψ(x
(k)

m
d
(k)
)

2

Φ(x
(k)
)

2
≤ αβ
m
d
(k)
∇Ψ(x
(k)
)
avec Ψ(x) =
1
2
|∇(x)|
2
poser x
(k+1)
= x
(k)

m
d
(k)
aller en 4
fin 3 :
debut 4 :
calculer µ
(k+1)
=

∇J(x
(k+1)
)

2
poser k = k + 1
fin 4 :
fin tant que
Tab. 4.10 – M´ethode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´eaire).
64
choisir S
(0)
, matrice symetrique definie positive
poser k = 0
choisir x
(0)
∈ R
n
choisir ε > 0
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
calculer ρ
(k)
par une methode de recherche lineaire sur d
(k)
= −S
(k)
∇J(x
(k)
)
poser x
(k+1)
= x
(k)
+ ρ
(k)
d
(k)
poser δ
(k+1)
= ρ
(k)
d
(k)
calculer γ
(k)
= ∇J(x
(k+1)
) −∇J(x
(k)
)
calculer S
(k+1)
= S
(k)
+
δ
(k)
δ
(k)T
δ
(k)T
γ
(k)

S
(k)
γ
(k)
[S
(k)
γ
(k)
]
T
γ
(k)T
S
(k)
γ
(k)
fin tant que
Tab. 4.11 – Algorithme de Davidson-Fletcher-Powell (DFP).
soit remplac´ee par l’op´eration plus simple et beaucoup moins coˆ uteuse
x
(k+1)
= x
(k)
−ρ
(k)
S
(k)
∇J(x
(k)
).
Le but est de calculer ”une bonne approximation” S
(k)
de [D
2
J(x
(k)
)]
−1
, c’est-`a-dire telle que la diff´erence
soit petite pour une norme matricielle.
4.6.3.1 Algorithme DFP (Davidson-Fletcher-Powell)
Cette m´ethode permet notamment, pour une fonctionnelle quadratique, de construire l’inverse du hessien.
Elle engendre ´egalement des directions conjugu´ees. L’algorithme est donn´e table 4.11 (pour une matrice S
donn´ee, S
T
d´esigne la matrice transpos´ee).
Les bonnes propri´et´es de cet algorithme sont r´esum´ees dans le th´eor`eme suivant.
Th´eor`eme 24 A l’´etape k, si S
(k)
est sym´etrique d´efinie positive et si la recherche lin´eaire est exacte (ou
bien si δ
(k)T
γ
(k)
> 0), alors la matrice S
(k+1)
est sym´etrique d´efinie positive. Si J est quadratique, de hessien
D
2
J, alors la m´ethode DFP est telle que
δ
(i)T
D
2

(j)
= 0, 0 ≤ i ≤ j ≤ k,
δ
(k+1)
D
2

(i)
= δ
(i)
, 0 ≤ i ≤ k.
Dans le cas quadratique, ceci implique que la m´ethode converge en n it´erations et S
(n)
= [D
2
J]
−1
.
Remarque 5 Si S
(0)
= Id (Id est la matrice identit´e ici), on a la m´ethode du gradient conjugu´e. Cette
m´ethode est sensible ` a la pr´ecision de la recherche lin´eaire.
Quelques algorithmes pour l’optimisation sans contraintes 65
choisir S
(0)
, matrice symetrique definie positive
poser k = 0
choisir x
(0)
∈ R
n
choisir ε > 0
tant que (

x
(k+1)
−x
(k)

≥ ε) et (k ≤ k
max
) faire
calculer ρ
(k)
par une methode de recherche lineaire sur d
(k)
= −S
(k)
∇J(x
(k)
)
poser x
(k+1)
= x
(k)
+ ρ
(k)
d
(k)
poser δ
(k+1)
= ρ
(k)
d
(k)
calculer γ
(k)
= ∇J(x
(k+1)
) −∇J(x
(k)
)
calculer S
(k+1)
= S
(k)
+

1 +
γ
(k)T
S
(k)
γ
(k)
δ
(k)T
γ
(k)

δ
(k)
δ
(k)T
δ
(k)T
γ
(k)

δ
(k)
γ
(k)T
S
(k)
+S
(k)
γ
(k)
δ
(k)T
δ
(k)T
γ
(k)
fin tant que
Tab. 4.12 – Algorithme de Broyden-Fletcher-Goldfarb-Shanno (BFGS).
4.6.3.2 M´ethode de Broyden-Fletcher-Goldfarb-Shanno (BFGS)
Cette derni`ere m´ethode est consid´er´ee comme tr`es robuste et est moins sensible aux erreurs dans les
recherches lin´eaires (cf. table 4.12).
Nous pourrions aussi, dans le cas quadratique, citer un th´eor`eme de convergence. La robustesse des
pr´ec´edents algorithmes est intimement li´ee `a la recherche du pas optimal ρ
(k)
. En pratique, on utilise sou-
vent la r`egle d’Armijo.
4.7 Quelques remarques
Il existe des algorithmes permettant des recherches d’extrema pour des fonctions moins r´eguli`eres, c’est ce
que l’on appelle l’analyse non diff´erentiable. Ceci rejoint les m´ethodes li´ees `a la notion de sous-diff´erentiel. Il
existe ´egalement des algorithmes stochastiques (recuit simul´e par exemple).
4.8 Exercices
Exercice 4.1 (M´ethode du gradient `a pas constant).
On veut minimiser la fonctionnelle J(x) =
1
2
(Ax, x) − (b, x), o` u b ∈ R
n
et A est une matrice r´eelle
sym´etrique d´efinie positive. Cela revient `a r´esoudre le syst`eme Ax = b. Pour cela, nous allons employer la
m´ethode du gradient `a pas constant. Soit x

la solution de ce syst`eme. On propose l’algorithme suivant : on
se donne un vecteur initial x
(0)
, et on calcule la suite d’it´er´es par l’algorithme
r
(k)
= b −Ax
(k)
x
(k+1)
= x
(k)
+αr
(k)
(4.3)
66
o` u α est une constante r´eelle donn´ee.
1. Soit e
(k)
= x
(k)
−x

, pour k ≥ 0. Donner une relation entre e
(k)
et e
(0)
.
2. Montrer que l’agorithme converge si et seulement si
0 < α <
2
λ
n
,
o` u λ
n
est la plus grande valeur propre de A.
3. Donner le meilleur choix pour α en fonction des valeurs propres de A. Que concluez-vous ?
Exercice 4.2 (M´ethode du gradient `a pas optimal).
Soit A ∈ ´
n
(R) sym´etrique d´efinie positive et b un vecteur de R
n
. On note λ
i
, 1 ≤ i ≤ n, les valeurs
propres de A rang´ees par ordre croissant :
0 < λ
1
≤ ... ≤ λ
n
.
On d´efinit la fonctionnelle quadratique J par
J(x) =
1
2
Ax x −b x,
o` u d´esigne le produit scalaire usuel de R
n
.
On consid`ere la m´ethode it´erative suivante pour r´esoudre du syst`eme lin´eaire Ax = b : on se donne un
point initial x
(0)
de R
n
, on d´efinit le r´esidu initial r
(0)
= b − Ax
(0)
, et tant que le r´esidu r
(k)
`a l’ordre k est
non nul, on pose
α
(k)
=
r
(k)
r
(k)
Ar
(k)
r
(k)
x
(k+1)
= x
(k)

(k)
r
(k)
r
(k+1)
= b −Ax
(k+1)
(4.4)
Bien sˆ ur, si r
(k)
= 0, alors x
(k)
est solution du syst`eme lin´eaire.
Dans tout l’exercice, nous ferons l’hypoth`ese que r
(k)
= 0.
1. Montrer que J est diff´erentiable et d´eterminer sa diff´erentielle.
2. Montrer que α
(k)
est l’unique r´eel qui minimise sur R la fonction α →J(x
(k)
+αr
(k)
).
3. Evaluer la diff´erence : J(x
(k+1)
) −J(x
(k)
).
4. Montrer que l’on a
A
−1
r
(k+1)
r
(k+1)
= A
−1
r
(k)
r
(k)

(r
(k)
r
(k)
)
2
Ar
(k)
r
(k)
5. En d´eduire que l’on a
A
−1
r
(k+1)
r
(k+1)
A
−1
r
(k)
r
(k)


n
−λ
1
)
2

n

1
)
2
.
Quelques algorithmes pour l’optimisation sans contraintes 67
6. Soit x

la solution du syst`eme : Ax = b. On note | |
A
la norme associ´ee au produit scalaire (, )
A
de
R
n
d´efini par : (x, y)
A
= Ax y, pour tout vecteur x et y de R
n
. Montrer que
|x

−x
(k)
|
A

κ
2
(A) −1
κ
2
(A) + 1

k
|x

−x
(0)
|
A
,
o` u κ
2
(A) est le conditionnement de la matrice A relatif `a la norme euclidienne sur R
n
.
On utilisera notamment pour cet exercice le r´esultat suivant : soit A ∈ ´
n
(R) sym´etrique d´efinie positive. On
note λ
i
, 1 ≤ i ≤ n, les valeurs propres de A rang´ees par ordre croissant :
0 < λ
1
≤ ... ≤ λ
n
.
Alors, nous avons l’in´egalit´e de Kantorovitch
|x|
4
≤ (Ax x)(A
−1
x x) ≤

1

n
)
2

1
λ
n
|x|
4
.
Exercice 4.3 (M´ethode du gradient conjugu´e).
Soit A ∈ ´
n
(R) sym´etrique d´efinie positive et b dans R
n
. On d´esigne par x

la solution du syst`eme lin´eaire
associ´e `a A et b. Pour tout vecteur x, on introduit la norme
|x|
A
=

Ax x.
On pose J comme la fonctionnelle quadratique d´efinie par
J(x) =
1
2
Ax x −b x.
1. Soit K un convexe ferm´e non vide de R
n
. Justifier que les probl`emes de minimisation
inf ¦J(x); x ∈ K¦
et
inf ¦|x

−x|
A
; x ∈ K¦
poss´edent tous deux une seule et mˆeme solution x
K
∈ K. En d´eduire que x

est la solution du probl`eme
de minimisation
inf ¦J(x); x ∈ R
n
¦ .
2. Etant donn´e un point initial x
(0)
tel que x
(0)
= x

. On pose r
(0)
comme le r´esidu initial et, pour tout
k ∈ N

, on d´esigne par K
(k)
le sous-espace vectoriel d´efini par
K
(k)
:= Vect

r
(0)
, Ar
(0)
, ..., A
k
r
(0)
¸
.
68
Cet espace est appel´e sous-espace de Krylov d’ordre k engendr´e par r
(0)
.
(a) Montrer que
|x

−x
(k)
|
A
= inf

|P(A)(x

−x
(0)
)|
A
; P ∈ R
k
[X], P(0) = 1
¸
,
o` u R
k
[X] d´esigne l’espace vectoriel des polynˆomes `a coefficients dans R de degr´e inf´erieur ou ´egal `a
k.
(b) On note σ(A) le spectre de A. Montrer que, pour tout P ∈ R
k
[X] tel que P(0) = 1, on a
|x

−x
(k)
|
A
≤ max
λ∈σ(A)
[P(λ)[|x

−x
(0)
|
A
.
(c) En d´eduire que x
(n)
= x

.
3. On note 0 < λ
1
≤ ... ≤ λ
n
les valeurs propres de A.
(a) V´erifier que, pour tout vecteur z de R
n
, on a l’encadrement

λ
1
|z|
A
≤ |Az| ≤

λ
n
|z|
A
.
En d´eduire que, pour tout indice k tel que 0 < k ≤ n, on a les in´egalit´es
|b − Ax
(k)
| ≤

κ
2
(A)|r
(0)
|
|x

−x
(k)
|
A
|x

−x
(0)
|
A
,
o` u κ
2
(A) est le conditionnement de la matrice A relatif `a la norme euclidienne | |.
(b) Soit T
k
le polynˆome de Tchebytchev de degr´e k. On pose
Q
k
(x) :=
T
k
(
λn+λ1−2x
λn−λ1
)
T
k
(
λn+λ1
λn−λ1
)
.
Montrer que, pour tout λ ∈ σ(A), on a
[Q
k
(λ)[ ≤ 2

κ
2
(A) −1

κ
2
(A) + 1

k
.
En d´eduire que, pour tout entier k satisfaisant 0 < k ≤ n, nous avons
|x

−x
(k)
|
A
≤ 2

κ
2
(A) −1

κ
2
(A) + 1

k
|x

−x
(0)
|
A
.
Rappel. On rappelle que
T
k
(x) := cos(k arccos x),
Quelques algorithmes pour l’optimisation sans contraintes 69
pour [x[ ≤ 1. De plus, on peut montrer que
T
k
(x) =
1
2
(x +

x
2
−1)
k
+
1
2
(x −

x
2
−1)
k
,
pour x ≥ 1.
Exercice 4.4 (M´ethode de Newton).
1. V´erifier que la m´ethode de Newton appliqu´ee au calcul de l’inverse d’un scalaire α donne la m´ethode
it´erative suivante : x
(0)
est donn´e et on calcule : x
(k+1)
= x
(k)
(2 −αx
(k)
), pour k ≥ 0.
2. Donner, par analogie, un algorithme qui permet de calculer l’inverse d’une matrice A donn´ee.
Exercice 4.5
Soient a, un vecteur donn´e de R
n
, B et C, deux matrices carr´ees r´eelles de taille n. On suppose de plus B
inversible. Pour tout ´el´ement v ∈ R
n
, on pose :
q(v) = < a, v > +
1
2
|Bv|
2
;
g(v) =
1
3
|Cv|
3
;
J(v) = g(v) +q(v) =< a, v > +
1
2
|Bv|
2
+
1
3
|Cv|
3
.
1. D´emontrer que q est une fonction de classe (

sur R
n
, puis calculer la diff´erentielle de q prise en v, dans
la direction h ∈ R
n
, ainsi que la matrice hessienne de q prise en v.
2. (a)
`
A l’aide d’une majoration tr`es simple et d’un petit raisonnement, prouver que la fonctionnelle g est
deux fois diff´erentiable en 0
R
n et que les deux premi`eres d´eriv´ees sont nulles.
(b) D´eterminer la quantit´e < g

(v), h >, la diff´erentielle de g prise au point v, dans la direction h.
Pour cela, on pourra au choix utiliser un d´eveloppement de Taylor ou calculer la diff´erentielle de g
au sens de Gˆateaux.
(c) D´emontrer que la d´eriv´ee seconde de g prise en v, dans la direction h a pour expression :
< g

(v)h, h >= |Cv|.|Ch|
2
+
1
|Cv|
< Cv, Ch >
2
.
3. D´eduire des questions pr´ec´edentes que la fonctionnelle J est α-elliptique, c’est-`a-dire que : ∀v ∈ R
n
et
∀h ∈
−→
R
n
, < J

(v)h, h >≥ α|h|
2
. On donnera explicitement la constante α.
En d´eduire que J est convexe.
4. D´emontrer que le probl`eme :
({)

min J(v)
v ∈ R
n
poss`ede une solution unique.
70
Exercice 4.6
Approximation d’un syst`eme lin´eaire au sens des moindres carr´es
On consid`ere le probl`eme suivant
trouver u ∈ R
n
tel que |Bu −C|
m
= inf
v∈R
n
|Bv −C|
m
, (4.5)
o` u B est une matrice r´eelle de taille mn, c ∈ R
n
et |.|
m
d´esigne la norme euclidienne sur R
n
.
Dans la suite on note aussi par (., .)
m
le produit scalaire sur R
n
.
1.
´
Etude du probl`eme (4.5)
(a) En utilisant un th´eor`eme classique de projection, montrer que (4.5) admet toujours au moins une
solution.
(b) Montrer que cette solution est unique si et seulement si B est injective. Quelle est une condition
n´ec´essaire sur m et n pour que B soit injective ?
(c) Dans quel cas (4.5) admet une solution ´evidente ?
2.
´
Etude sur une nouvelle formulation
(a) Montrer que le probl`eme (4.5) est ´equivalent au probl`eme (4.6) ci-dessous :
trouver u ∈ R
n
tel que J(u) = inf
v∈R
n
J(v), (4.6)
o` u on a pos´e J(v) =
1
2
(B
T
Bv, v)
n
−(B
T
c, v)
n
.
(b) Quelle est la r´egularit´e de J ?
Si cela est possible, calculer le gradient et la hessienne de J.
(c) Donner la condition d’optimalit´e au premier ordre pour le probl`eme (4.6).
Cette condition est-elle suffisante ici pour obtenir un minimum?
(d) Dans le cas o` u B est de rang n, montrer que J est strictement convexe. Que peut-on alors conclure ?
3. R´esolution num´erique
(a) Un algorithme dans le cas g´en´enral
Construire un programme Matlab de r´esolution num´erique de (4.5) par la m´ethode du gradient avec
pas optimal.
• Le programme re¸ coit en arguments B, c, tol, nitmax, u
0
(voir pr´ecisions plus bas)
• Il renvoie la solution u obtenue et le nombre it d’it´erations effectu´ees.
Quelques algorithmes pour l’optimisation sans contraintes 71
• Pr´ecisions : u
0
est la solution de d´epart (re¸ cue en param`etre), tol (pour tol´erance) et nitmax sont
utilis´es pour le crit`ere d’arrˆet de l’algorithme.
Le pas optimal est recherch´e, lors de chaque it´eration, entre 0 et 1. Pr´eciser la fonction Matlab `a
utiliser.
(b) Cas particulier
On suppose que l’on sait par avance que B est injective. Ecrire alors un algorithme Matlab, le plus
simple et efficace possible pour r´esoudre (4.5). Cet algorithme doit tenir compte de l’´eventualit´e o` u
B est r´eguli`ere.
4.9 Travaux pratiques
4.9.1 Travaux pratiques 1
L’objectif de cette s´eance de travaux pratiques est de vous faire programmer quelques m´ethodes d’Optimi-
sation sans contrainte de fonctionnelles. Dans un premier temps, nous nous int´ereserons aux fonctions de R
dans R, puis aux fonctions de R
n
dans R
Exercice 4.7 (Energie rayonnante d’un corps noir).
L’´energie rayonnante d’un corps noir dans l’intervalle d’´emission [λ, λ + dλ], par unit´e de surface et de
temps, est appel´ee ´emittance monochromatique maximale du corps noir et est not´ee M(λ). Sa valeur,
exprim´ee en Wb/m
2
est donn´ee par la loi de Planck :
M(λ) =
2πhC
2
0
n
2
λ
5
.
1
exp
¸
hC0
nkTλ
¸
−1
.
Les constantes intervenant dans cette loi sont :
– C
0
· 2, 997.10
8
m/s : vitesse de la lumi`ere dans le vide.
– h · 6, 625.10
−34
J.s : constante de Planck.
– k · 1, 380.10
−23
J/K : constante de Boltzmann.
– λ : longueur d’onde (m).
– T : temp´erature absolue de la surface du corps noir (K).
– n = 1 : indice de r´efraction du milieu (ici le vide).
1. Tracer sur un mˆeme graphique la fonction M(λ) pour les valeurs suivantes de T (K) : 300, 350, 400, 450,
500, 550, 600, 650, 700, 750, 800. Associer chaque courbe trac´ee `a la valeur de T correspondante. On
prendra λ ∈ [10
−7
, 2.10
−5
].
Fonctions Matlab utiles : hold on, hold off.
2. On souhaite trouver la valeur λ

de λ qui maximise l’´emittance monochromatique pour une temp´erature
de surface T donn´ee. `a quelle contrainte est-on soumis si l’on souhaite utiliser la m´ethode de la section
dor´ee ?
Programmer alors cette m´ethode pour d´eterminer λ

suivant les diff´erentes valeurs de T.
72
3. V´erifier les lois de Wien :
λ

T = A et M(λ

) = BT
5
, o` u A et B d´esignent des constantes.
4. Reprendre la question 2 en utilisant cette fois la fonction pr´eprogramm´ee de Matlab fminsearch. Que
pensez-vous de la sensibilit´e de la m´ethode sur le point de d´epart ?
Exercice 4.8 (M´ethodes de gradient pour des fonctionnelles quadratiques).
Soit n ∈ N

. On consid`ere la matrice A ∈ ´
n
(R) et le vecteur b
n
∈ R
n
d´efinis par :
A
n
=

¸
¸
¸
¸
¸
¸
¸
¸
¸
4 −2 0 . . . 0
−2 4 −2
.
.
.
0
.
.
.
.
.
.
.
.
. 0
.
.
. −2 4 −2
0 . . . 0 −2 4
¸

et b
n
= (1, 1, . . . , 1).
On cherche `a minimiser dans R
n
, par diff´erentes m´ethodes, la fonctionnelle :
J
n
(x) =
1
2
(A
n
x, x) −(b
n
, x).
On appelle donc ({
n
) le probl`eme :
({
n
)

min J
n
(x)
x ∈ R
n
Remarque : il est important d’exploiter, dans les questions qui suivent, le format ”creux” de la matrice A
afin de diminuer les temps de calcul.
Fonctions Matlab utiles : sparse, full.
1. Programmer en Matlab la fonctionnelle J
n
, et la repr´esenter dans le cas n = 2 sur le pav´e [−10, 10]
[−10, 10].
Fonctions Matlab utiles : meshgrid, mesh.
2. V´erifier num´eriquement, pour certaines valeurs de n que A
n
est d´efinie positive.
Calculer la solution th´eorique du probl`eme ({
n
) dans le cas n = 2.
Fonction Matlab utile : eig.
3. Nous allons ´etudier trois m´ethodes de minimisation. Pour chacune de ces ´etudes, on demande :
−→ pour le cas n = 2 :
– d’afficher sur une mˆeme figure, et dans le cas n = 2, les courbes de niveau de J
n
, et son gradient.
Fonctions Matlab utiles : contour, quiver.
Quelques algorithmes pour l’optimisation sans contraintes 73
– pour un point de d´epart x
0
, de stocker la liste des x
n
obtenu, avant que le crit`ere de convergence soit
atteint.
– de tracer, sur la mˆeme courbe que pr´ec´edemment, les lignes qui relient les x
n
.
−→ lorsque n prend les valeurs 10, 20, 30, 50, 100 :
– de tester chacune des trois m´ethodes
– Enfin, de comparer `a l’aide d’un graphique ou d’un tableau, la rapidit´e de convergence de chacune de
ces m´ethodes, ainsi que le temps de calcul par Matlab, suivant les diff´erentes valeurs prises par n.
(a) La m´ethode du gradient `a pas fixe.
´
Ecrire une fonction Matlab prenant en argument ρ > 0, un pas fixe et x
0
∈ R
n
, un vecteur
d’initialisation, afin de mettre en œuvre l’algorithme du gradient `a pas fixe, puis la tester sur J
n
dans chacun des cas ci-dessus. R´epondre aux questions initiales.
Expliquer bri`evement pourquoi il est important de choisir le pas fixe, ni trop grand, ni trop petit.
(b) La m´ethode du gradient `a pas optimal.
i. Soient x ∈ R
n
, un point, et d ∈ R
n
, un vecteur.
´
Ecrire une fonction Matlab permettant de minimiser, `a l’aide de la m´ethode de la section dor´ee,
la fonction t −→J
n
(x +td).
ii. Voici l’algrithme du gradient `a pas optimal pour la minimisation d’une fonction f donn´ee :

x
0
est donn´e.
x
n+1
= x
n

n
d
n
d
n
= −∇f(x
n
)
ρ
n
= min
α∈R
J
n
(x
n
+αd
n
).
Programmer cet algorithme et r´epondre aux questions initiales. On pourra utiliser la m´ethode
de la section dor´ee pour calculer ρ
n
.
(c) La m´ethode du gradient conjugu´e dans le cas d’une fonctionnelle quadratique elliptique.
Soit
f : R
n
−→R
x −→
1
2
(Ax, x) −(b, x)
o` u A ∈ ´
n
(R) est une matrice sym´etrique d´efinie positive et b est un vecteur de R
n
. Alors, dans
74
ce cas, l’algorithme du gradient conjugu´e s’´ecrit :

x
0
est donn´e, r
0
= Ax
0
−b et d
0
= −r
0
.
x
n+1
= x
n

n
d
n
, ρ
n
= −
(r
n
, d
n
)
(Ad
n
, d
n
)
r
n+1
= Ax
n+1
−b
d
n+1
= −r
n+1

n
d
n
, β
n
:=
|r
n+1
|
2
|r
n
|
2
.
Programmer cet algorithme et r´epondre aux questions initiales.
4.9.2 Travaux pratiques 2
L’objectif de cette s´eance de travaux pratiques est d’´etendre les algorithmes ´etudi´es au cours de la s´eance
pr´ec´edente `a des fonctionnelles non quadratiques, et pour les fonctionnelles quadratiques, d’´etudier l’influence
d’un mauvais conditionnement de la matrice Hessienne.
Quelques algorithmes pour l’optimisation sans contraintes 75
Quelques brefs rappels d’Analyse Num´erique.
Conditionnement d’une matrice
On souhaite r´esoudre le syst`eme AX = b, avec :
A =

¸
¸
¸
¸
¸
10 7 8 7
7 5 6 5
8 6 10 9
7 5 9 10
¸

.
– Si b =

¸
¸
¸
¸
¸
32
33
33
31
¸

.
Il est clair que la solution de ce syst`eme est X =

¸
¸
¸
¸
¸
1
1
1
1
¸

.
– Si on modifie l´eg`erement b de la fa¸ con suivante : b =

¸
¸
¸
¸
¸
32, 1
32, 9
33, 1
30, 9
¸

.
Dans ce cas, la solution du syst`eme est grandement modifi´ee, puisque l’on trouve par des techniques
usuelles : X =

¸
¸
¸
¸
¸
92
−12, 6
4, 5
−11
¸

.
Ainsi, une toute petite modification de b engendre une grande modification de X. On se rend ainsi compte
qu’une impr´ecision dans un calcul num´erique peut conduire `a des r´esultats erron´es. On dit que la matrice
A est mal conditionn´ee. De fa¸ con plus pr´ecise, on rappelle la d´efinition :
D´efinition 18 Conditionnement d’une matrice.
Soit A ∈ ´
n,n
(R). On note |.|, la norme subordonn´ee ` a la norme euclidienne. On d´efinit κ(A), le
conditionnement de la matrice A par :
κ(A) = |A|.|A
−1
|.
Exercice 4.9 (Minimisation d’une fonctionnelle non quadratique).
On souhaite r´esoudre, dans cet exercice, un probl`eme de minimisation d’une fonctionnelle non lin´eaire et
non quadratique. On d´efinit sur R
2
la fonctionnelle de Rosenbrock, ´egalement appel´ee Rosenbrock banana, par
76
la relation :
f(x, y) = (x −1)
2
+ 10(x
2
−y)
2
.
1.
´
Etude th´eorique.
(a) Trouver les points critiques de f.
(b) D´emontrer que f admet un unique minimum global qu’elle atteint en X

:= (1, 1).
(c) On appelle H, la matrice hessienne de f calcul´ee en X

.
D´eterminer H, puis calculer son conditionnement.
Fonction Matlab utile : cond.
(d)
´
Ecrire un d´eveloppement limit´e `a l’ordre 2 de la fonction f en X

.
Expliquer pourquoi ce mauvais conditionnement risque de gˆener la convergence des algorithmes
num´eriques. Une explication intuitive sera accept´ee.
2.
´
Etude Num´erique.
(a) Repr´esenter la surface repr´esentative de la fonctionnelle de Rosenbrock sur le pav´e [−10, 10]
[−10, 10].
(b) Tracer, dans le plan xOy, cent lignes de niveaux de la fonctionnelle de Rosenbrock dans le pav´e
[0, 2] [0, 2].
Quel inconv´enient num´erique risque t-on de rencontrer ?
3. On souhaite comparer deux m´ethodes bien connues de minimisation. La m´ethode de gradient `a pas fixe,
puis `a pas optimal. Pour comparer les deux m´ethodes, on choisit de d´emarrer les algorithmes que l’on
codera au point de coordonn´ees (0, 1).
(a) M´ethode du gradient `a pas optimal.
i.
´
Ecrire une fonction pasOptimal.m, des deux variables (α, X) ∈ R R
2
qui renvoie la quantit´e
f (X−α∇f(X)). On minimisera par la suite la premi`ere variable de cette fonction, `a l’aide de
la fonction Matlab fminsearch.
ii.
´
Ecrire un programme mettant en œuvre la m´ethode du gradient `a pas optimal pour minimiser
la fonctionnelle de Rosenbrock. On utilisera un double crit`ere d’arrˆet, apr`es l’avoir justifi´e : un
crit`ere portant sur le nombre total d’it´erations de la m´ethode, et un autre crit`ere relatif `a la
pr´ecision de la m´ethode.
Fonction Matlab utile : norm.
iii. Compl´eter alors le programme pr´ec´edent afin de repr´esenter cent lignes de niveaux de la fonc-
tionnelle de Rosenbrock, et la courbe reliant les points obtenus `a chaque it´eration par la m´ethode
pr´ec´edente.
(b) M´ethode du gradient `a pas fixe.
´
Ecrire un programme PasFixe.m mettant en œuvre la m´ethode du gradient `a pas fixe. Ce programme
prendra comme arguments X et β, o` u X d´esigne le point de d´emarrage de la m´ethode et β, le pas
de la m´ethode. Pour tester cette m´ethode, on pourra choisir par exemple β = 0, 01.
Quelques algorithmes pour l’optimisation sans contraintes 77
(c) Comparaison des m´ethodes.
i. Sur la mˆeme figure que pr´ec´edemment, repr´esenter les it´er´es obtenus par la m´ethode du gradient
`a pas fixe.
ii. Quelle remarque pouvez-vous faire sur les lignes de niveaux de la fonctionnelle f, dans un
voisinage du point critique X

. Proposez une explication du ph´enom`ene observ´e pour la m´ethode
du gradient `a pas optimal.
iii. Pour l’une ou l’autre des m´ethodes, on appelle X
k
, les points obtenus en appliquant les algo-
rithmes `a chaque it´eration.
Tracer sur un graphe diff´erent, et pour chacune des deux m´ethodes, la courbe donnant ln(|X
k

X

|) en fonction de k. Pour quel type de fonction cette courbe est-elle une droite ?
Exercice 4.10 (R´esolution de syst`emes lin´eaires `a l’aide de pr´econditionneurs)
On souhaite comparer, dans cette exercice, deux m´ethodes num´eriques de r´esolution de syst`emes lin´eaires
de grande taille, utilisables dans le cas de matrices creuses. On va r´eutiliser la famille de matrices introduite
dans le TP n1. Pour n ∈ N

, on appelle A
n
, la matrice carr´ee de taille n n d´efinie par :
A
n
=

¸
¸
¸
¸
¸
¸
¸
¸
¸
2 −1 0 . . . 0
−1 2 −1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 0
.
.
. −1 2 −1
0 . . . 0 −1 2
¸

.
On souhaite r´esoudre le syst`eme d’inconnue X ∈ ´
n,1
(R) : A
n
X = b, o` u b
n
est un vecteur colonne don de
taille n donn´e. Pour les tests num´eriques, on pourra par exemple choisir :
b
n
=

¸
¸
¸
1
.
.
.
1
¸

.
1. Premi`ere m´ethode : le gradient conjugu´e.
On rappelle l’algorithme du gradient conjugu´e pour une fonctionnelle quadratique :

x
0
est donn´e, r
0
= Ax
0
−b et d
0
= −r
0
;
x
n+1
= x
n

n
d
n
, ρ
n
= −
(r
n
, d
n
)
(Ad
n
, d
n
)
;
r
n+1
= Ax
n+1
−b ;
d
n+1
= −r
n+1

n
d
n
, β
n
=
|r
n+1
|
2
|r
n
|
2
.
En utilisant une fonctionnelle quadratique judicieusement choisie, programmer l’algorithme de gra-
dient conjugu´e pour d´eterminer la solution du syst`eme A
n
X = b
n
.
78
−→ L’entier n sera plac´e dans les arguments d’entr´ee du programme, de mˆeme que x
0
, qui permet
d’initialiser l’algorithme et b
n
, le second membre du syst`eme `a r´esoudre.
−→ On testera le programme pour diff´erentes valeurs de n, en allant au maximum jusqu’`a n = 1000.
−→ On utilisera un double crit`ere pour stopper l’algorithme : un crit`ere sur le nombre maximal d’it´eration
et un autre crit`ere sur la norme du r´esidu. On notera `a chaque fois le nombre d’it´erations n´ecessaires
pour atteindre la solution.
−→ On pourra comparer la solution trouv´ee par ce programme avec la solution r´eelle de ce syst`eme
calcul´ee par Matlab.
2. La m´ethode du gradient conjugu´e pr´econditionn´e.
Cette m´ethode sert `a r´eduire le nombre d’it´erations de l’algorithme. L’id´ee de cette m´ethode est bas´ee
sur la remarque suivante : si M est une matrice inversible, alors, la solution du syst`eme A
n
X = b
n
est
la solution du syst`eme M
−1
A
n
X = M
−1
b
n
. Des difficult´es num´eriques peuvent survenir si le condition-
nement de la matrice A est mauvais. On va donc choisir M pour que le conditionnement de M
−1
A
n
soit
meilleur que le conditionnement de A
n
, et pour que l’inverse de M soit ais´ee `a calculer.
(a) Expliquer bri`evement le principe de factorisation de Cholesky.
(b) A
n
´etant une matrice creuse, on note RI, la factoris´ee incompl`ete de Cholesky de A
n
, et on pose
M =
t
RI RI. V´erifier que le conditionnement de la matrice M
−1
A
n
est meilleur que celui de A
n
et que l’inverse de M se calcule ais´ement.
Fonction Matlab utile : inv, cholinc(avec l’option

0

).
(c) En utilisant les remarques pr´ec´edentes, am´eliorer (on r´e´ecrira un programme) le programme pr´ec´edent
pour calculer la solution du syst`eme A
n
X = b. On tiendra compte des remarques faites pour la
m´ethode du gradient conjugu´e sans pr´econditionnement.
3. Comparaison des deux m´ethodes.
Compl´eter les deux programmes pr´ec´edents afin de tracer, `a chaquel appel des programmes le r´esidu
logarithmique en fonction du nombre d’it´erations. Conclure.
Chapitre 5
Quelques algorithmes pour
l’optimisation avec contraintes
Nous avons trait´e, dans le chapitre pr´ec´edent, de la r´esolution de probl`emes de minimisation sans contraintes.
Nous consid´erons maintenant le cas avec contraintes.
Plus pr´ecis´ement, soit C un ensemble non vide, ferm´e de R
n
et on s’int´eresse `a la r´esolution du probl`eme
({)

min J (x)
x ∈ C
5.1 Retour sur les conditions d’optimalit´e
Rappelons le th´eor`eme de Kuhn-Tucker :
Soit J, f
i
, i ∈ ¦1, ..., p¦, g
i
, i ∈ ¦1, ..., m¦ des fonctions de classe (
1
. On veut minimiser J sur l’ensemble :
C =
¸
x ∈ R
N
, f
i
(x) = 0, i ∈ ¦1, ..., p¦ , g
i
(x) 0, i ∈ ¦1, ..., m¦
¸
.
On suppose les contraintes qualifi´ees au point X

. Alors, une condition n´ecessaire pour que X

soit un minimum
de J est qu’il existe des nombres positifs λ

1
, ..., λ

m
, et des nombres r´eels µ

1
, ..., µ

p
tels que
(1)


x
J (x

) +
m
¸
λ

i
∇g
i
(x

) +
p
¸
i=1
µ

i
∇f
i
(x

) = 0
avec λ

i
g
i
(x

)
i=1
= 0, 1 ≤ i ≤ m.
Introduisons maintenant la d´efinition suivante :
79
80
D´efinition 19 On appelle Lagrangien du probl`eme ({) la fonction d´efinie sur R
n
R
p
R
m
par :
L (x, µ, λ) = J (x) +
p
¸
i=1
µ
i
f
i
(x) +
m
¸
j=1
λ
i
g
i
(x)
La relation (1) s’´ecrit alors :

x
L (x

, µ

, λ

) = 0
On a alors le th´eor`eme important suivant dans le cas convexe.
Theorem 5.1 (CNS dans le cas convexe).
On suppose que J, f et g sont (
1
, que J, g sont convexes, f est affine et que x

est r´egulier pour les
contraintes f et g, c’est-` a-dire :
– qu’il est r´ealisable f
i
(x

) = 0, g
i
(x

) 0.
– et que les vecteurs ∇f
i
(x

), ∇g
j
(x

), avec 1 i ≤ p, j ∈ I
0
(x

), sont ind´ependants.
Alors x

est une solution du probl`eme ({) si, et seulement si les conditions du th´eor`eme pr´ec´edent de Kuhn-
Tucker sont satisfaites.
5.2 Conditions d’optimalit´e n´ecessaires du second ordre
Les r´esultats ´enonc´es jusqu’` a pr´esent donnent des conditions n´ecessaires pour r´esoudre le probl`eme de
minimisation sous contraintes. Ils fournissent en soi des candidats valables pour r´esoudre ({), c’est-`a-dire les
points critiques du Lagrangien.
Toutefois, il est n´ecessaire, pour pouvoir conclure, d’avoir des r´esultats pr´ecisant si la solution obtenue est
effectivement un minimum. Pour cela, on peut, grˆace `a une conditon du second ordre, restreindre le nombre
de candidats. C’est l’objet du th´eor`eme suivant.
Theorem 5.2 On suppose que J, f et g sont de classe (
2
, que x

est un minimum (local) de J sur C et que
le point x

est r´egulier. Alors,
– µ

=

µ

1
, ..., µ

p

, λ

= (λ

1
, ..., λ

m
) telles que
– les relations de Kuhn-Tucker soient satisfaites
– pour toute direction d ∈ R
N
v´erifiant :
(∇f
i
(x

) , d) = 0, i = 1, ..., p
(∇g
j
(x

) , d) = 0, j ∈ I
+
0
(x

)
(∇g
j
(x

) , d) 0, j ∈ I
0
(x

) ` I
+
0
(x

)
o` u
I
+
0
(x

) =
¸
j, 1 j q/g
j
(x

) = 0 et µ

j
> 0
¸
Quelques algorithmes pour l’optimisation avec contraintes 81
Initialisation
k = 0 ; choix de x
0
et g
0
> 0
Iteration k
Tant que le critere d’arret est non satisfait
´ x
(k+1)
= x
(k)
−ρ
(k)
∇J

x
(k)

x
(k+1)
= Π
C
´ x
(k+1)
k = k + 1
fin
Tab. 5.1 – Algorithme du gradient projet´e.
on a :


2
xx
L (x

, µ

, λ

) d, d

0

2
xx
L (x, µ, λ) d´esigne la d´eriv´ee seconde de L au point (x, µ, λ) .
D´efinition 20 L’ensemble I
+
0
(x

) est l’ensemble des contraintes fortement actives. Lorsque I
+
0
(x

) = I
0
(x

),
c’est-` a-dire 0 = g
j
(x

) ⇐⇒ λ

j
> 0, on dit qu’il y a stricte compl´ementarit´e.
5.3 M´ethode du gradient projet´e
Rappelons que, dans le cas sans contrainte, l’algorithme du gradient, qui est une m´ethode de descente,
s’´ecrit sous la forme g´en´erique.

x
(0)
∈ R
n
donn´ e.
x
(k+1)
= x
(k)

(k)
d
(k)
, d
(k)
∈ R
n
` ¦0¦ , ρ
(k)
∈ R
+∗
o` u f
(k)
et d
(k)
sont choisis de telle sorte que J

x
(k+1)

J

x
(k)

. Lorsque l’on minimise sur un ensemble
de contraintes C, il n’est pas sˆ ur que x
(k)
reste sur C. Il est donc n´ecessaire de se ramener sur C. On r´ealise
cette derni`ere op´eration grˆace `a une projection sur C, l’op´erateur associ´e ´etant not´e Π
e
: R
n
→ C
x −→ Π
C
(x)
.
Ceci donne lieu alors naturellement `a l’algorithme du gradient projet´e, algorithme identique `a celui du
gradient `a la projection pr`es.
Nous avons alors le r´esultat de convergence suivant :
Theorem 5.3 Soit J une fonction (
1
de R
n
dans R. On suppose que J est elliptique de d´eriv´ee lipschitzienne.
Alors, si on choisit le pas ρ
(k)
dans un intervalle [β
1
; β
2
] tel que 0 < β
1
< β
2
<

M
2
(o` u α et M sont
respectivement les constantes d’elliplicit´e ((∇J(x) −∇J(y), x −y) ≥ α|x − y|
2
) et d’in´egalit´e lipschitzienne
82
(|J(x) −J(y)| ≤ M|x − y|). La suite

x
(k)

k
d´efinie par la m´ethode du gradient projet´e converge vers la
solution du probl`eme ({).
Cette approche paraˆıt simple au premier abord. Toutefois, il ne faut pas oublier que l’on doit connaˆıtre
l’op´erateur de projection sur C, ce qui n’est pas, `a priori simple. Il est clairement hors de question de r´esoudre
le probl`eme de minimisation pour x ∈ R
n
fix´e :

min |y −x|
2
y ∈ C
qui est lui-mˆeme un probl`eme de minimisation sur le mˆeme ensemble de contraintes. Dans quelques cas parti-
culiers, on peut expliciter l’op´erateur de projection.
Supposons que C soit une intersection de demi espaces du type :
C = ¦x = (x
1
, ..., x
n
) , x
i
a
i
, i ∈ I, x
j
b
j
, j ∈ J¦
I et J ´etant des ensembles d’indices non n´ecessairement disjoints (ceci contient notamment le cas des
pav´es).
Pour ce qui est du cas d’une contrainte du type x
i
a
i
, on peut se convaincre facilement que la i-i`eme
coordonn´ee de Π
C
x sera x
i
si x
i
a
i
et a
i
sinon. On raisonne de mˆeme pour le cas d’une contrainte du type
x
j
b
j
. On peut r´esumer cela par :

C
x)
i
= max (x
i
, a
i
) ou (Π
x
)
j
= min (x
j
, b
j
) .
Si l’ensemble des contraintes est C = ¦x ∈ R
n
[ x ∈ B
f
(x
0
, R)¦, o` u B
f
(x
0
, R) d´esigne la boule ferm´ee de
centre x
0
et de rayon R > 0, la projection Π
C
s’´ecrit alors
Π
C
x =

x , si x ∈ C ;
x
0
+R
x−x0
x−x0
, si x / ∈ C
5.4 M´ethode de Lagrange-Newton pour des contraintes en ´egalit´e
Pla¸ cons-nous dans la cas particulier d’un probl`eme quadratique avec contraintes en ´egalit´e affines.

min

1
2
x
T
Qx −c
T
x

Ax = b
o` u Q est une matrice carr´ee de ´
n×n
(R) et c un vecteur de R
n
, A ∈ ´
p×n
(R), b ∈ R
p
. Si nous ´ecrivons les
relations de Kuhn-Tucker (conditions d’optimalit´e au 1
er
ordre), nous avons :


x

1
2
x
t
Qx −c
T
x + µ
T
(Ax −b)

= 0
Ax = b
Quelques algorithmes pour l’optimisation avec contraintes 83
o` u µ ∈ R
p
est le multiplicateur de Lagrange associ´e `a la contrainte Ax − b = 0. Par cons´equent, le couple
optimal (x

, µ

) est la solution du syst`eme

Qx

− c +A
T
µ

= 0
Ax

= b
que l’on peut aussi ´ecrire :
¸
Q A
T
A 0
¸¸
x

µ

¸
=
¸
c
b
¸
Si la matrice ´ =
¸
Q A
T
A 0
¸
est inversible, ce syst`eme admet une solution que l’on peut calculer par
n’importe quelle m´ehtode pour la r´esolution des syst`emes lin´eaires.
Supposons maintenant que le probl`eme ne soit plus quadratique. On va r´esoudre le syst`eme d’optimalit´e
par la m´ethode de Newton. Consid´erons le probl`eme en ´egalit´e suivant :

min J (x)
h(x) = 0
o` u J : R
n
→R et h : R
n
→R
p
sont suffisamment r´eguli`eres.
Les conditions du premier ordre s’´ecrivent (au moins formellement)


x
LL(x, µ) = 0
h(x) = 0
o` u µ ∈ R
p
et L (x, µ) = J (x) +µ[h(x)]
T
est le Lagrangien du probl`eme. On peut alors r´esoudre ce syst`eme
d’´equations non lin´eaires par la m´ethode de Newton.
Nous obtenons alors ce que l’on appelle la m´ethode de Lagrange-Newton.
Remarquons que si l’on ajoute [∇h

x
(k)

]
T
µ
(k)
`a la premi`ere ligne de (2), on a alors la forme ´equivalente :
¸
D
2
xx
L

x
(k)
, µ
(k)

[∇h

x
(k)

]
T
∇h

x
(k)

0
¸ ¸
d
(k)
µ
(k+1)
¸
= −
¸
∇J

x
(k)

t
h

x
(k)

¸
5.5 M´ethode de Newton projet´ee (pour des contraintes de borne)
La m´ethode de Newton projet´ee rel`eve d’une id´ee analogue `a celle d´evelopp´ee lors du grandient projet´e :
puisque les it´er´es successifs ne satisfont pas les contraintes, on les projette sur l’ensemble des contraintes. Nous
84
Initialisation
k = 1, choix de

x
(0)
, µ
(0)

∈ R
n
R
p
Iteration k
Tant que le crit ere d’arret est non satisfait
Resoudre le systeme lineaire
(2)
¸
D
2
xx
L

x
(k)
, µ
(k)


x
h

x
(k)

[∇
x
h

x
(k)

]
T
0
¸
d
(k)
y
(k)

= −
¸
[∇
x
L

x
(k)
, µ
(k)

]
T
h

x
(k)

ou D
2
xx
L

x
(k)
, µ
(k)

est le Hessien par rapport a x de L.
Poser :
x
(k+1)
= x
(k)
+d
(k)
µ
(k+1)
= µ
(k)
+y
(k)
k = k + 1
fin
Tab. 5.2 – M´ethode de Lagrange-Newton.
ne nous int´eresserons ici qu’au cas o` u nous avons des contraintes de bornes de la forme :
({)

min f (x)
a x b.
Remarquons que beaucoup de probl`emes duaux (o` u µ est alors l’inconnue) sont ´egalement de cette forme.
Commen¸ cons par un probl`eme plus simple :
({
0
)

min f (x)
x 0
o` u f est (
2
sur R
n
. Si H
(k)
d´esigne la matrice Hessienne

D
2
f (x)

, une it´eration de la m´ethode de Newton
est de la forme :
x
(k+1)
= x
(k)

H
(k)

−1
∇f

x
(k)

.
On peut affiner un peu en introduisant un pas α
(k)
> 0 qui donne la nouvelle formulation :
x
(k+1)
= x
(k)
−α
(k)

H
(k)

−1
∇f

x
(k)

.
Si nous projetons sur l’ensemble des contraintes, nous obtenons alors :
x
(k+1)
=

x
(k)
−α
(k)

H
(k)

−1

x
(k)

+
o` u
(x)
+
= (max x
i
, 0)
1≤i≤n
.
Ceci donne alors la m´ethode de Newton projet´ee.
Quelques algorithmes pour l’optimisation avec contraintes 85
Initialisation
Poser le n

Choisir x
(0)
∈ R
n
, x
(0)
0
Choisir une tolerance ε > 0
Iteration k : tant que le critere d’arret est non satisfait
Application de la regle anti zig-zag :
w
(k)
=

x
(k)

x
(k)
−∇f

x
(k)

+

ε
(k)
= min

ε, ω
(k)

I
+(k)
=

i/0 x
(k)
i
ε
(k)
et
∂f
∂xi

x
(k)

> 0
¸
D
(k)
=

H
(k)

−1
o` u H
(k)
ij
=

0 si i = j et

i ∈ I
+(k)
o` u j ∈ I
+(k)

,

2
f
∂xi∂xj

x
(k)

sinon.
ρ
(k)
= D
(k)
∇f

x
(k)

(choix de la direction de descente)
choix du pas par une recherche lineairex
(k)
(α) =

x
(k)
−α ρ
(k)

+
α
(k)
est choisi avec une regle de type Armijo comme en (3)
x
(k+1)
= x
(k)

α
(k)

fin pour i
Tab. 5.3 – Algorithme de Newton projet´e : cas unilat´eral
Nous allons donner maintenant une m´ethode de type Quasi-Newton dont les propri´et´es de convergence sont
proches de celles de la m´ethode de Newton projet´ee tout en ´etant `a la fois plus souple. Nous supposons, pour
que la suite des it´er´es soit bien d´efinie, que les matrices H
(k)
sont inversibles. Donnons, pour commencer, la
r`egle du choix du pas :
– Choisir β ∈ ]0; 1[ , σ ∈ ]0; 1/2[
– Poser α
(k)
= β
m
(k)
o` u m
(k)
est le plus petit entier m tel que
f

x
(k)

−f

β
m
x
(k)

σ

¸
β
m
¸
i/ ∈I
(k)+
∂f

x
(k)

∂x
i
p
(k)
i
+
¸
i∈I
(k)+
∂f

x
(k)

∂x
i

x
(k)
i

β
m
x
(k)

i

¸

L’algorithme de Newton projet´e dans le cas unilat´eral est alors donn´e par la table suivante :
Remarques :
1. L’ensemble I
(k)+
est l’ensemble des indices des contraintes ”presque” actives `a ε
(k)
pr`es. La r`egle anti
zig-zag permet d’´eviter les oscillations de l’algorithme.
2.

D
(ω)

−1
est une approximation de la matrice hessienne plus facile `a calculer.
3. La r`egle de choix de pas est une r`egle de type Arnijo qui permet de choisir un pas ”optimal” `a moindre
coˆ ut.
86
Initialisation
k = 1
Choix de x
(0)
x
(0)
0
Choix d’une tolerance ε > 0
Iteration k
Tant que le critere de convergence n’est pas satisfait
Regle anti zig-zag
ω
(k)
=

x
(k)

x
(k)
−∇f

x
(k)

+

ε
(k)
= min

ε, ω
(k)

I
(k)#
=

i/a
i
x
(k)
i
a
i

(k)
et
∂f
∂xi

x
(k)

> 0
¸

i/b
i
−ε
(k)
x
(k)
i
b
i
et
∂f
∂xi

x
(k)

< 0
¸
D
(k)
est definie positive et diagonale par rapport a I
(k)#
x
(k)
(α) =

x
(k)
−αD
(k)
∇f

x
(k)

#
ou pour tout z ∈ R
n
, z
#
= Π
C
(z) designe le vecteur de coordonnees :
[z]
#
i
=

b
i
si b
i
≤ z
i
z
i
si a
i
≤ z
i
≤ b
i
a
i
si z
i
≤ a
i
.
α
(k)
est choisi par une regle de type Armijo avec # a la place de +.
x
(k+1)
= x
(k)

α
(k)

Tab. 5.4 – Algorithme de Newton projet´e : cas bilat´eral
On a alors le r´esultat de convergence suivant.
Theorem 5.4 On suppose que la fonction f est convexe et (
2
et que le probl`eme (P)
0
a une unique solution
x

v´erifiant
∂f
∂xi
(x

) > 0, ∀i ∈ I (x

) (ensemble actif ). On suppose, de plus, qu’on peut trouver m
1
et m
2
deux
r´eels strictement positifs tels que :
m
1
|z|
2

D
2
f (x) z, z

m
2
|z|
2
dans chacun des cas suivants :
– pour tout z ∈
¸
x [ f (x) f

x
(0)
¸
d’une part ;
– x dans une boule centr´ee en x

et z = 0 tel que z
i
= 0, pour i ∈ I (x

) d’autre part.
Alors, la suite x
(k)
engendr´ee par l’algorithme converge vers x

et le taux de convergence est superlin´eaire
(au moins quadratique si D
2
f est lipschitzienne au voisinage de x

). On peut alors g´en´eraliser l’algorithme
pr´ec´edent au probl`eme (3) qui donne l’algorithme de Newton projet´e dans le cas bilat´eral.
Quelques algorithmes pour l’optimisation avec contraintes 87
5.5.1 M´ethodes de p´enalisation
Les m´ethodes de p´enalisation sont tr`es utilis´ees en pratique car elles sont tr`es simples. Elles partent du
principe suivant : on remplace le probl`eme avec contraintes.
({)

min J (x)
x ∈ C ⊂ R
n
par un probl`eme sans contraintes
({
ε
)

min J (x) +
1
ε
α(x)
x ∈ R
n
o` u α : R
n
→R est une fonction de p´enalisation des contraintes et ε > 0. Le but est de trouver des fonctions
α telles que les probl`emes (P) et (P
ε
) soient ´equivalents, c’est-`a-dire, tels qu’ils aient les mˆemes solutions.
Dans ce cas, on dit que la p´enalisation est exacte. On peut, par exemple, choisir :
α(x) =

0 si x ∈ C
+∞ si x / ∈ C
Cette fonction n’a pas de bonnes propri´et´es math´ematiques (notamment la d´erivabilit´e) pour qu’on puisse
appliquer les techniques de r´esolution sans contraintes. Le principe intuitif des m´ethodes de p´enalisation est
que l ’on esp`ere que, lorsque ε devient petit, on aura tendance `a satisfaire la contrainte α pour compenser.
En g´en´eral, on effectue ce que l’on appelle une p´enalisation dite inexacte, telle que le probl`eme ({) `a des
solutions qui ne sont pas solutions de ({
ε
) ; l’ensemble des solutions de ({
ε
) ne couvre pas tout l’ensemble des
solutions de ({).
N´eanmoins, on peut trouver dans ce cas des fonctions α qui sont d´erivables, ce qui permet d’utiliser les
r´esultats de minimisation sans contraintes.
Donnons quelques exemples de fonctions de p´enalisation α o` u la p´enalisation est dite ext´erieure car la suite
(x
ε
)
ε>0
converge vers x

en venant de l’ext´erieur de C.
Ici, nous supposons que α v´erifie les propri´et´es suivantes :
1. α est continue sur R
n
2. ∀x ∈ R
n
, α(x) 0
3. α(x) = 0 ⇔x ∈ C
Nous donnons quelques exemples de fonction de p´enalisation pour diff´erentes contraintes :
– Contrainte x 0 : la fonction α est α(x) = |x
+
|
2
.
– Contrainte h(x) = 0 : la fonction α est α(x) = |h(x)|
2
.
– contrainte g (x) 0 : la fonction α est α(x) =

g (x)
+

2
.
88
Initialisation
k = 1
Choisir x
(0)
∈ R
n
, ε
(1)
> 0
Iteration k tant que le critere d’arret n’est pas satisfait :
a) Resoudre le sous probleme ({
ε
(k) )

min J (x) +
1
ε
(k)
α(x)
x ∈ R
n
avec x
(k−1)
le point d’initialisation.
b) k ←k + 1, prendre ε
(k+1)
< ε
(k)
.
Tab. 5.5 – Algorithme de p´enalisation ext´erieure
o` u |.| est bien sˆ ur la norme euclidienne de R
n
et x
+
=

x
+
1
, ..., x
+
n

. Nous avons alors le r´esultat de
convergence suivant :
Theorem 5.5 Soit J une fonction continue et coercive. Soit C un ensemble ferm´e non vide. On suppose que
α v´erifie les conditions suivantes :
1. α est continue sur R
n
.
2. ∀x ∈ R
n
, α(x) 0.
3. α(x) = 0 ⇔x ∈ C.
On a alors :
– ∀ε > 0, ({
ε
) a au moins une solution x
ε
– La famille (x
ε
)
ε>0
est born´ee
– Toute sous-suite convergente extraite de (x
ε
)
ε>0
converge vers une solution de ({) lorsque ε →0.
On obtient alors l’algorithme suivant de p´enalisation ext´erieure.
5.5.2 M´ethode de dualit´e : m´ethode d’Uzawa
La technique propos´ee ici provient de la partie de l’optimisation appel´ee th´eorie de la dualit´e convexe.
L’id´ee g´en´erale est de consid´erer le Lagrangien L au lieu de la fonction J ; ce choix est motiv´e (au moins) par
deux raisons :
– La fonction Lagrangienne englobe `a la fois la fonction J et les contraintes f et g et repr´esente bien le
probl`eme.
– Ensuite, nous avons vu qu’une condition n´ecessaire du premier ordre pour que x

soit un minimum de
J avec contraintes est que x

(associ´e aux multiplicateurs de Lagrange) soit un point critique de L.
Quelques algorithmes pour l’optimisation avec contraintes 89
Rappelons que le Lagrangien du probl`eme est :
L (x, µ, λ) = J (x) +
p
¸
i=1
µ
i
f
i
(x) +
m
¸
j=1
λ
j
g
j
(x)
Nous avons besoin, pour la suite, de la notion de point-selle.
D´efinition 21 On appelle point-selle de L sur R
n
R
p
R
+m
tout triplet (x

, µ

, λ

) ∈ R
n
R
p
R
+m
v´erifiant l’´equation :
L (x

, µ, λ) L (x

, µ

, λ

) L (x, µ

, λ

) ∀ (x, µ, λ) ∈ R
n
R
p
R
+m
On a alors le r´esultat suivant.
Theorem 5.6 Supposons que J, f et g soient des fonctions de classe (
1
et que le triplet (x

, µ

, λ

) ∈ R
n

R
p
R
+m
soit un point-selle de L sur R
n
R
p
R
+m
. Alors, ce triplet v´erifie les conditions de Kuhn-Tucker.
Dans le cas important convexe, nous avons une caract´erisation des points-selles grˆace aux conditions de
Kuhn-Tucker.
Theorem 5.7 Supponsons que J, f et g soient convexes et (
1
. Alors, le triplet (x

, µ

, λ

) ∈ R
n
R
p
R
+m
est point-selle de L sur R
n
R
p
R
+m
si et seulement si il v´erifie les conditions de Kuhn-Tucker.
Le th´eor`eme pr´ec´edent indique que nous allons chercher un triplet (x

, µ

, λ

) ∈ R
n
R
p
R
+m
v´erifiant
les conditions de Kuhn-Tucker de la fa¸ con suivante :
1. Pour (µ

, λ

) fix´es dans R
n
(R
+
)
m
, nous allons chercher le minimum sans contrainte (sur tout R
n
) de
la fonction x −→L (x, µ

, λ

).
2. Pour x

fix´e dans R
n
, on cherche le maximum sur R
p
R
+m
(c’est-`a-dire des contraintes de bornes
simples) de la fonction (µ, λ) −→L (x

, µ, λ)
On fait ces deux calculs simultan´ement. On obtient alors l’algorithme d’Uzawa.
L’´etape a) revient `a r´esoudre :

x
L

x, µ
(k)
, λ
(k)

= ∇J (x) +
p
¸
j=1
µ
(k)
j
∇f
j
(x) +
m
¸
i=1
λ
(k)
i
∇g
i
(x) = 0
La seconde ´etape est imm´ediate.
On a alors le th´eor`eme de convergence suivant.
90
Initialisation : k = 0, choisir µ
(0)
∈ R
p
et λ
(0)
∈ R
+m
Iteration. Tant que le critere d’arret n’est pas satisfait :
a) calculer x
(k)
∈ R
n
solution de

{
(k)

min L

x, µ
(k)
, λ
(k)

x ∈ R
n
b) calculer µ
(k+1)
et λ
(k+1)
avec

µ
(k+1)
i
= µ
(k)
i
+ρ f
i

x
(k)

, i = 1, ..., p
λ
(k+1)
j
= max

0, λ
(k)
j
+ρg
j

x
(k)

, j = 1, ...m
ou ρ > 0, est un reel fixe (par l’utilisateur).
Tab. 5.6 – Algorithme d’Uzawa
Theorem 5.8 On suppose que J est (
1
et elliptique, que f est affine, g convexe de classe (
1
et que h et g
sont lipschitziennes.
On suppose de plus que le Lagrangien L poss`ede un point-selle (x

, µ

, λ

) sur R
n
R
p
R
+m
.
Alors, il existe ρ
1
, ρ
2
, avec 0 < ρ
1
< ρ
2
tels que ∀ρ ∈ [ρ
1
, ρ
2
], la suite

x
(k)

k>0
g´en´er´ee par l’algorithme
d’Uzawa converge vers x

.
5.5.3 M´ethode de programmation quadratique successive (SQP) (Sequential Qua-
dratic Pragramming)
Nous allons nous attaquer maintenant `a une derni`ere classe de m´ethodes appel´ees SQP pour Sequential
Quadratic Programming.
Int´eressons-nous dans un premier temps au cas de contraintes en ´egalit´e. Consid´erons le probl`eme

min J (x)
x ∈ C.
o` u
C = ¦x ∈ R
n
/f
i
(x) = 0, i = 1, ..., p¦
Nous avons vu pr´ec´edemment qu’une solution x

de ce probl`eme est un point critique du Lagrangien L
mais ce n’est pas en g´en´eral un minimum de ce Lagrangien. Nous allons d´evelopper une m´ethode de descente
particuli`ere sur les conditions d’optimalit´e du syst`eme pr´ec´edent. L’id´ee essentielle consiste `a r´esoudre une
succession de probl`emes quadratiques avec contraintes lin´eaires (ces probl`emes sont relativement simples `a
r´esoudre) qui sont des approximations du probl`eme de d´epart.
Etant donn´e x
(k)
, on cherche x
(k+1)
= x
(k)

(k)
d
(k)
o` u d
(k)
∈ R
n
est une direction de descente et ρ
(k)
> 0 le pas.
Quelques algorithmes pour l’optimisation avec contraintes 91
Effectuons une approximation des contraintes f `a l’aide de la formule de Taylor du premier ordre :
f
i

x
(k)
+d

= f
i

x
(k)

+∇f
i

x
(k)

d +O

|d|
2

Si on n´eglige les termes d’ordre sup´erieur ou ´egal `a 2, on d´efinit la direction d
(k)
avec la direction permettant
d’assumer f
i

x
(k)
+d

· 0.
On pose donc :
f
i

x
(k)

+∇f
i

x
(k)

d
(k)
= 0, ∀i = 1, ..., q.
ou encore :
Df

x
(k)

d
(k)
= −f

x
(k)

o` u Df

x
(k)

est la matrice jacobienne de f en x
(k)
. Cette relation correspond `a une lin´earisation des
contraintes au voisinage de x
(k)
: c’est un syst`eme lin´eaire.
Par ailleurs, il faudrait que x
(k+1)
diminue la valeur du Lagrangien (puisque c’est le Lagrangien qui joue
le rˆole de la fonction objectif quand on a des contraintes). On va faire une approximation du Lagrangien
L

x
(k)
+d, µ

= L

x
(k)
, µ

+


x
L

x
(k)
, µ

, d

+
1
2

D
2
xx
L

x
(k)
, µ

d, d

+O

|d|
3

Si on n´eglige les termes d’ordre sup´erieur ou ´egal `a 3, on voit qu’il faut minimiser


x
L

x
(k)
, µ

, d

+
1
2

D
2
xx
L

x
(k)
, µ

d, d

pour esp´erer minimiser le Lagrangien. On cherche donc, en fin de compte x
(k)
solution du probl`eme
(QP)
e

min

∇J

x
(k)

, d

+

D
2
xx
L

x
(k)
, µ

d, d

Df

x
(k)

d
(k)
+f

x
(k)

= 0
En effet, nous avons :


x
L

x
(k)
, µ

, d
(k)

=

∇J

x
(k)

d
(k)


t
Df

x
(k)

d
(k)
=

∇J

x
(k)

, d


T
f

x
(k)

. .. .
constant
Le dernier terme ´etant constant. Il reste ensuite `a d´eterminer le pas ρ
(k)
et le multiplicateur µ
(k)
`a chaque
it´eration. Il y a bien sˆ ur, beaucoup de possibilit´es qui g´en`erent autant de variantes de la m´ethode.
Nous pr´esentons ici, la m´ethode qui est bas´ee sur le choix : ρ
(k)
= 1
92
Initialisation
k = 1, choix de x
(0)
∈ R, µ
(0)
∈ R
p
Iteration k : tant que le critere d’arret n’est pas satisfait
a) Resoudre le sous probleme quadratique :
(QP)
e

min

∇J

x
(k)

, d

+
1
2

D
2
xx
L

x
(k)
, µ
(k)

d, d

D

x
(k)

d +f

x
(k)

= 0
b) on pose alors µ
(k+1)
∈ R
p
le multiplicateur associe a la contrainte (en egalite) de (QP)
e
et x
(k+1)
= x
(k)
+d
(k)
k ←− k + 1
Tab. 5.7 – M´ethode SQP pour des contraintes en ´egalit´e
Int´eressons-nous maintenant au cas de contraintes g´en´erales en ´egalit´e et in´egalit´e ; globalement, le principe
est le mˆeme, seule la fonction Lagrangienne est modifi´ee.
Pour le probl`eme :
({)

min J (x)
x ∈ C
o` u
C = ¦x ∈ R
n
/f (x) = 0, g (x) 0¦
f = (f
i
)
1ip
, g = (g
j
)
1jm
,
elle vaut
L (x, µ, λ) = J (x) +µ
T
f (x) +λ
T
g (x)
o` u
µ ∈ R
p
et λ ∈ R
m
La m´ethode SQP s’´ecrit de la fa¸ con suivante ou lin´earise les contrainte et on fait une approximation
quadratique de L. On obtient alors l’algorithme suivant.
Il existe finalement pour ce type d’algorithme, des r´esultats de convergence de l’algorithme.
5.6 Exercices
Exercice 5.1
Soit b ∈ R
n
, α ∈ R, r > 0, et B, une matrice sym´etrique d´efinie positive d’ordre n. On appelle C, l’ensemble
d´efini par : C := ¦X ∈ R
n
:< BX, X >= r
2
¦.
On d´efinit la fonctionnelle F : R
n
−→ R, par : F(X) =< a, X > +α. On d´esigne alors par ({), le probl`eme
Quelques algorithmes pour l’optimisation avec contraintes 93
Initialisation
k = 1
Choix de x
(0)
∈ R
n
,

µ
(0)
, λ
(0)

∈ R
p
R
+m
Iteration k : faire tant que le critere n’est pas satisfait
a) Resoudre le sous probleme quadratique d’inconnue d
(QP)

min

∇J

x
(k)

, d

+
1
2

D
2
xx
L

x
(k)
, µ
(k)

d, d

Df

x
(k)

d +f

x
(k)

= 0
Dg

x
(k)

d +g

x
(k)

0
µ
(k+1)
∈ R
p
est le multiplicateur associe a la contrainte en egalite de (QP)
et λ
(k+1)
∈ R
m
le multiplicateur (positif) associe a la contrainte en inegalite
x
(k+1)
= x
(k)

(k)
k ←− k + 1
Tab. 5.8 – Algorithme SQP pour des contraintes g´en´erales
suivant :

min F(X)
X ∈ C
1. D´emontrer que le probl`eme ({) admet au moins une solution.
2. R´esoudre alors le probl`eme ({) et donner une interpr´etation g´eom´etrique.
Exercice 5.2
On consid`ere le probl`eme :
({)

min
¸
1
2
(Ax, x) −(b, x)
¸
x
1
≥ 1
x
2
−2x
3
= 1
, avec A =

¸
¸
1 −1 0
−1 2 0
0 −1 3
¸

et b =

¸
¸
−1
1
−1
¸

.
1. D´emontrer que le probl`eme ({) admet une solution. Est-elle unique ?
2. R´esoudre compl`etement ({).
3. Comparer cette solution avec la solution du probl`eme sans contrainte.
Exercice 5.3 (Utilisation du Lagrangien).
Soit f, la fonction de deux variables d´efinie par :
f(x
1
, x
2
) = (x
1
−1)
2
+x
2
−2.
94
Apr`es avoir montr´e l’existence d’une solution, r´esoudre le probl`eme :
({)

min f(x
1
, x
2
)
x
2
−x
1
−1 = 0
x
1
+x
2
−4 ≤ 0
.
Exercice 5.4 (Etude de l’efficience d’un portefeuille d’actions).
On consid`ere un portefeuille d’actions compos´e de n ≥ 3 actions ` a risque (a
1
, ..., a
n
). On note x
i
, la
proportion de l’action a
i
dans le portefeuille. Le vecteur x = (x
1
, ..., x
n
)
T
repr´esente donc la composition du
portefeuille. On d´esigne par u, le vecteur de taille n, de coordonn´ees u
i
= 1, ∀i ∈ ¦1, ..., n¦. Il est ´evident que
x v´erifie alors :
n
¸
i=1
x
i
= 1 = (u, x), et x
i
≥ 0, ∀i ∈ ¦1, ..., n¦.
Le rendement de l’action a
i
est mod´elis´e par une variable al´eatoire R
i
de moyenne e
i
= E(R
i
). On introduit
le vecteur de rendement moyen e = (e
1
, ..., e
n
)
T
, puis la matrice de covariance A = (a
i,j
)
1≤i≤n
1≤j≤n
d´efinie par la
relation :
a
i,j
= E[(R
i
−E(R
i
)) (R
j
−E(R
j
))] , ∀(i, j) ∈ ¦1, ..., n¦
2
.
La matrice A est sym´etrique et positive. On suppose, de plus, que A est d´efinie.
Le rendement du portefeuille est calcul´e par la fonctionnelle ε(x) = (e, x), avec e ∈ R
n
tel que 0 < e
1
< e
2
<
... < e
n
, tandis que le risque du portefeuille est calcul´e par la fonctionnelle σ(x) =
1
2
(Ax, x). On dit qu’un
portefeuille x est efficient s’il assure `a la fois un rendement maximal ε pour un risque donn´e σ et un risque
minimal σ pour un rendement impos´e ε.
Pour ε ∈ R et σ ∈ R
+
donn´es, on d´efinit les ensembles :
C
1
(ε) = ¦x ∈ R
n
: (u, x) = 1 et (e, x) = ε¦ ,
C
2
(σ) =

x ∈ R
n
: (u, x) = 1 et
1
2
(Ax, x) = σ

.
Dans toute la suite de l’exercice, on cherche `a r´esoudre les probl`emes :
({

)

inf
¸
1
2
(Ax, x)
¸
x ∈ C
1
(ε)
et ({
+
)

sup(e, x)
x ∈ C
2
(σ)
.
1. Montrer que pour tout ε ∈ R, l’ensemble des contraintes C
1
(ε) est non vide, ferm´e et non born´e.
En d´eduire que le probl`eme ({

) admet une solution unique.
2. Montrer que pour certaines valeurs de σ ∈ R
+
que l’on pr´ecisera, l’ensemble C
2
(σ) est non vide, ferm´e
et born´e.
En d´eduire que le probl`eme ({
+
) admet au moins une solution.
3. On appelle λ, le multiplicateur de Lagrange associ´e `a la contrainte (u, x) = 1, et µ, le multiplicateur de
Quelques algorithmes pour l’optimisation avec contraintes 95
Lagrange associ´e `a la contrainte (e, x) = ε. On d´efinit ensuite les r´eels a, b et c par :
a = (A
−1
u, u), b = (A
−1
u, e), c = (A
−1
e, e) et d = b
2
−ac.
En utilisant les conditions d’optimalit´e associ´ees `a l’ensemble C
1
(ε), montrer que le solution x du
probl`eme ({

) v´erifie :
λ =
c −bε
d
; (5.1)
µ =
aε −b
d
; (5.2)
x = −A
−1
(λu +µe). (5.3)
4. On dit qu’une solution x est efficiente si elle est solution commune aux probl`emes ({

) et ({
+
), et
on appelle fronti`ere d’efficience, la courbe, dans le plan des (ε, σ) correspondant `a l’ensemble de ces
solutions quand ε et σ varient.
D´eterminer la fronti`ere d’efficience des probl`emes ({

) et ({
+
).
Exercice 5.5 (M´ethode de p´enalisation).
Soient J : R
n
−→R, une fonction strictement convexe et coercive. Soient m, un entier naturel non nul, et
pour tout i ∈ ¦1, ..., m¦, ϕ
i
: R
n
−→R, des fonctions convexes. On d´esigne par C l’ensemble :
C := ¦X ∈ R
n
: ϕ
i
(X) ≤ 0, 1 ≤ i ≤ m¦.
Supposons que C est born´e. On note
˚
C, son int´erieur d´efini par :
˚
C = ¦X ∈ R
n
: ϕ
i
(X) < 0, 1 ≤ i ≤ m¦.
Pour ε > 0, on d´efinit la fonctionnelle p´enalis´ee J
ε
par :
J
ε
(X) = J(X) −ε
m
¸
i=1
1
ϕ
i
(X)
, X ∈
˚
C.
1. Montrer que J
ε
poss`ede sur
˚
C un unique minimum que l’on notera X
ε
. Pour l’existence du minimum,
on pensera `a introduire une suite minimisante.
2. On souhaite minimiser la fonctionnelle J sur l’ensemble des contraintes C.
(a) Montrer que, quitte `a extraire, X
ε
−−−→
ε→0
X

.
(b) Montrer que X

est la solution du probl`eme de minimisation.
3. Montrer que : 0 < ε < ε

=⇒J(X

) ≤ J(X
ε
) ≤ J(X
ε
).
Exercice 5.6 (Algorithmes d’Uzawa et d’Arrow-Hurwicz).
96
Soit A, une matrice sym´etrique et d´efinie positive, et b, un vecteur donn´e de R
n
. On d´efinit la fonctionnelle
quadratique J pour ν ∈ R
n
par :
J(ν) =
1
2
(Aν, ν) −(b, ν).
Soit C ∈ ´
m×n
(R). On appelle ({) le probl`eme :

inf J(ν)
ν ∈ U = ¦ν ∈ R
n
: Cν = 0¦ .
1. Montrer que le probl`eme ({) admet une unique solution u telle que J(u) = inf
ν∈U
J(ν).
2.
´
Ecrire l’algorithme si l’on souhaite r´esoudre ce probl`eme en utilisant la m´ethode d’Uzawa.
3. Soient ρ
1
et ρ
2
, deux param`etres strictement positifs. On d´efinit la m´ethode it´erative suivante :

(u
0
, λ
0
) donn´es dans R
n
R
m
(u
k
, λ
k
) ´etant connus, calcul de (u
k+1
, λ
k+1
) :
• u
k+1
= u
k
−ρ
1
(Au
k
−b +C
T
λ
k
) ;
• λ
k+1
= λ
k

1
ρ
2
Cu
k+1
;
(5.4)
On d´efinit le nombre r´eel β par : β = |I −ρ
1
A|.
D´emontrer que, si ρ
1
est suffisamment petit, alors β < 1.
4. (a) Soit λ, un vecteur de R
m
qui v´erifie : Au +C
T
λ = b.
Expliquer pourquoi il existe de tels vecteurs.
(b) On choisit `a pr´esent le param`etre ρ
1
pour que l’in´egalit´e β < 1 ait lieu. Montrer que, si le param`etre
ρ
2
> 0 est suffisamment petit, il existe une constante γ > 0, ind´ependante de l’entier k, telle que :
γ
¸
¸
u
k+1
−u
¸
¸
2
n

¸
¸
λ
k
−λ
¸
¸
2
m
ρ
2
−β
¸
¸
u
k
−u
¸
¸
2
n

+
¸
¸
λ
k+1
−λ
¸
¸
2
m
ρ
2

¸
¸
u
k+1
−u
¸
¸
2
n

.
(c) En d´eduire que, pour de tels choix des param`etres ρ
1
et ρ
2
, on a : lim
k→+∞
(u
k
) = u.
5. Que peut-on dire de la suite (λ
k
) lorsque le rang de la matrice C est m?
6. L’algorithme ci-dessus s’appelle l’algorithme d’Arrow-Hurwicz.
Quel avantage pr´esente cet algorithme par rapport `a la m´ethode d’Uzawa ?
Exercice 5.7
Rappel de G´eom´etrie : un cˆ one de sommet Ω est form´ee d’une famille de droites passant par Ω. Ces
droites sont les g´en´eratrices du cˆ one. Une courbe qui rencontre toutes les g´en´eratrices est une directrice.
On se place dans R
3
. On appelle (, le cˆone de r´evolution de sommet Ω(0, −1, 2) et de directrice le cercle
Γ du plan ¦y = 0¦ de centre (0, 0, 2) et de rayon 1. On consid`ere le demi espace D
µ
d’´equation −y + µ ≤ 0,
avec µ ≥ −1. On d´esigne par U, la r´egion convexe intersection de l’int´erieur de ( avec D
µ
.
Quelques algorithmes pour l’optimisation avec contraintes 97
1. Faire un dessin et ´ecrire l’´equation de (.
2. D´eterminer, en discutant suivant les valeurs de µ, le point de U r´ealisant le minimum de la distance de
O (l’origine) `a ce convexe ferm´e.
Remarque : on n’oubliera pas de justifier l’existence du minimum.
Exercice 5.8
Cet exercice a pour but l’´etude de la convergence de m´ethodes it´eratives analogues `a la m´ethode d’Uzawa.
Soit n un entier non nul et U
0
, un sous ensemble de R
n
. On note < ., . >
n
, le produit scalaire usuel de R
n
,
|.|
n
, la norme associ´ee. Soit J : R
n
−→R, une fonctionnelle, φ
1
, ..., φ
m
, m fonctions de R
n
dans R.
On fait une fois pour toutes les hypoth`eses suivantes :
(i) J est elliptique, i.e. elle est une fois continˆ ument d´erivable dans R
n
et il existe une constante α > 0
telle que :
< ∇J(v) −∇J(u), v −u >
n
≥ α|v −u|
2
n
, ∀(u, v) ∈ (R
n
)
2
.
(ii) Il existe une constante M > 0 telle que :
|∇J(v) −∇J(u)|
n
≤ M|v −u|
n
, ∀(u, v) ∈ (R
n
)
2
.
(iii) L’ensemble U
0
est un convexe ferm´e de R
n
.
(iv) L’ensemble U est non vide.
(v) Les fonctions ¦φ
i
¦
1≤i≤m
sont convexes.
(vi) Il existe une constante C > 0 telle que :
|φ(v) −φ(u)|
m
≤ M|v −u|
n
, ∀(u, v) ∈ (R
n
)
2
,
o` u φ : R
n
−→R
m
d´esigne l’application dont les composantes sont les fonctions φ
i
.
On consid`ere le probl`eme :
Trouver u ∈ R
n
tel que ({)

u ∈ U := U
0
∩ ¦v ∈ R
n
: φ
i
(v) ≤ 0, 1 ≤ i ≤ m¦
J(u) = inf
v∈U
J(v).
Partie I : ´etude th´eorique
1.
´
Etablir les in´egalit´es :
< ∇J(u), v −u >
n
+
α
2
|v −u|
2
n
≤ J(v) −J(u) ≤< ∇J(u), v −u >
n
+
M
2
|v −u|
2
n
, ∀(u, v) ∈ (R
n
)
2
.
2. D´emontrer que le probl`eme ({) poss`ede une solution et une seule.
3. On d´efinit le Lagrangien associ´e au probl`eme ({) comme ´etant la fonction :
L : U
0
R
m
+
−→ R
(v, µ) −→ J(v)+ < µ, φ(v) >
m
.
98
D´emontrer que si (u, λ) ∈ U
0
R
m
+
est un point-selle du Lagrangien L sur l’ensemble U
0
R
m
+
, alors le
point u est solution du probl`eme ({).
4. On appelle Π
+
, l’op´erateur de projection de R
m
sur R
m
+
. Soit ρ > 0 fix´e.
V´erifier l’´equivalence :
λ = Π
+
(λ +ρφ(u)) ⇐⇒

λ ∈ R
m
+
, φ(u) ≤ 0 ;
< λ, φ(u) >
m
= 0.
5. V´erifier qu’un couple (u, λ) est un point-selle du Lagrangien L si, et seulement si :

< ∇J(u), v −u >
n
+ < λ, φ(v) >
m
≥ 0, ∀v ∈ U
0
;
λ = Π
+
(λ +ρφ(u)) , ρ > 0 fix´e mais arbitraire.
Partie II : ´etude num´erique
Soient ε et ρ, deux nombres r´eels strictement n´egatifs fix´es. On d´efinit une m´ethode it´erative de la fa¸ con
suivante :
– On part d’un couple (u
0
, λ
0
) ∈ U
0
R
m
+
arbitraire.
– On d´efinit alors pour k ≥ 0 une suite de couples (u
k
, λ
k
) ∈ U
0
R
m
+
par r´ecurrence :
– Calcul de u
k+1
: u
k+1
∈ U
0
, et v´erifie :
f(u
k+1
) = inf
v∈U0
¦f(v)¦, o` u f : R
n
−→ R
v −→
1
2
|v|
2
n
+

ε∇J(u
k
) −u
k
, v

n

λ
k
, φ(v)

m
.
– Calcul de λ
k+1
: λ
k+1
= Π
+

λ
k
+ρφ(u
k+1
)

.
1. D´emontrer que le probl`eme de minimisation d´efinissant le vecteur u
k+1
`a partir du couple (u
k
, λ
k
) admet
une solution et une seule.
2. D´emontrer alors que le vecteur u
k+1
est solution de ce probl`eme si, et seulement si :
u
k+1
∈ U
0
et

u
k+1
−u
k
+ε∇J(u
k
), v −u
k+1

n

λ
k
, φ(v) −φ(u
k+1
)

m
≥ 0, ∀v ∈ U
0
.
Quelques algorithmes pour l’optimisation avec contraintes 99
3. Soit (u, λ), un point-selle du Lagrangien L.
´
Etablir les in´egalit´es suivantes :
(i) 2

λ
k
−λ, φ(u) −φ(u
k+1
)

m

1
ρ


k
−λ|
2
m
−|λ
k+1
−λ|
2
m

+ρC
2
|u
k+1
−u|
2
n
;
(ii)

u
k+1
−u
k
, u −u
k+1

n

∇J(u
k
) −∇J(u), u −u
k+1

n

λ
k
−λ, φ(u) −φ(u
k+1
)

m
≥ 0 ;
(iii)

∇J(u
k
) −∇J(u), u −u
k+1

n

M
2
|u
k
−u
k+1
|
2
n

α
2

|u
k
−u|
2
n
+|u
k+1
−u|
2
n

;
(iv)
1
2
|u
k+1
|
2
n
+

u
k+1
, u −u
k+1

n

1
2
|u
k
|
2
n
+

u
k
, u −u
k

n
+
1
2
(εM −1)|u
k
−u
k+1
|
2
n

α
2

|u
k+1
−u|
2
n
−|u
k
−u|
2
n

ρ
C
2
2
−α

|u
k+1
−u|
2
n
+
ε


k
−λ|
2
m
−|λ
k+1
−λ|
2
m

≥ 0.
4. D´eduire de la derni`ere in´egalit´e de la question pr´ec´edente que si 0 < ε ≤
1
M
, et 0 < ρ <

C
2
, alors
lim
k→+∞
(u
k
) = u et que la suite (λ
k
)
k≥0
est born´ee.
Exercice 5.9
On souhaite maximiser dans R
2
la fonction :
f : R
2
−→ R
(x, y) −→ 2x −x
2
+y.
sur l’ensemble K d´efini par :
K = ¦(x, y) ∈ R
2
: x +y ≤ 1 et xy ≥ 0¦.
On appelle g, la fonctionelle d´efinie sur R
2
par : g(x, y) = −f(x, y).
1. D´emontrer l’existence de solutions pour ce probl`eme d’optimisation.
2. R´esolution graphique du probl`eme.
(a) Quelle est, dans le plan xOy, la ligne de niveau α de la fonctionnelle g ? (autrement dit, l’ensemble
des couples (x, y) de R
2
tels que g(x, y) = α)
(b) En repr´esentant quelques lignes de niveau sur un graphique ainsi que l’ensemble des contraintes K,
d´eterminer, `a l’aide d’une m´ethode g´eom´etrique ´el´ementaire que l’on pr´ecisera, la ou les solution(s)
du probl`eme ci-dessus.
3.
´
Ecrire les conditions d’optimalit´e pour ce probl`eme puis le r´esoudre. On verifiera que l’on obtient la
mˆeme solution que dans la question pr´ec´edente.
4. Est-il possible de programmer en Matlab
c
un algorithme de r´esolution d’un tel probl`eme `a l’aide de la
m´ethode de projection? Expliquez.
Proposer une solution acceptable, compte tenu de la localisation des solutions dans le plan.
100
Exercice 5.10
Soient A, une matrice carr´ee sym´etrique d´efinie positive de taille n, b et c, deux vecteurs non nuls de R
n
,
et α ∈ R. On d´efinit la fonctionnelle F par la relation :
F(X) =
1
2
< AX, X > − < b, X > .
On d´efinit ´egalement un ensemble de contraintes C par la relation :
C = ¦X ∈ R
n
:< c, X >= α¦.
On consid`ere ici la m´ethode de dualit´e pour chercher un minimum de F sur C.
1. D´efinir le Lagrangien L associ´e `a ce probl`eme. On pr´ecisera son ensemble de d´efinition.
2. Soient λ
0
et ρ, deux nombres positifs donn´es.
´
Ecrire soigneusement l’algorithme d’Uzawa (X
k
, λ
k
) en donnant les valeurs explicites de X
k
et λ
k
en
fonction des termes d’ordre k −1.
3. (a) D´emontrer l’existence d’un valeur de ρ que l’on notera ρ
0
pour laquelle la suite (λ
k
)
k∈N
est station-
naire `a partir du rang 1.
(b) Montrer qu’alors, (X
k
)
k∈N
prend aussi une valeur constante. Quelle est cette valeur ?
4. Montrer que si ρ > ρ
0
, alors les suites (X
k
)
k∈N
et (λ
k
)
k∈N
sont convergentes.
D´eterminer leurs limites.
Exercice 5.11
Les mod`eles de croissance ´economique supposent que la production Y est fonction du capital K et du
travail L. Souvent, on fait l’hypoth`ese suivante pour la fonction de production :
Y = K
α
L
1−α
, o α ∈]0, 1[ est fix´e.
Pour simplifier, on supposera que K repr´esente les d´epenses annuelles li´ees `a l’investissement et L, le nombre
de salari´es de l’entreprise. En outre, le salaire annuel est suppos´e ´egal et fix´e `a S pour tous les salari´es. La
production est, elle aussi suppos´ee constante ´egale `a Y
0
> 0.
On souhaite r´epondre num´eriquement `a la question suivante : comment choisir K et L pour que les
d´epenses (investissement + salaires) soient les plus faibles possibles tout en produisant la quantit´e Y
0
.
1. Mod´eliser ce probl`eme sous la forme d’un probl`eme de minimisation soumis `a une contrainte ´egalit´e.
2. On souhaite r´esoudre num´eriquement ce probl`eme `a l’aide d’une m´ethode de p´enalisation.
´
Ecrire une fonction Matlab Penal.m prenant comme param`etre d’entr´ee e, la p´enalisation choisie et
alpha, le param`etre du mod`ele. On ´ecrira une condition d’arrˆet. Le programme devra renvoyer la valeur
du minimum et tracera sur un mˆeme graphe les it´er´es de l’algorithme ainsi que les lignes de niveaux de
la fonctionnelle.
3.
`
A votre avis, quel est l’inconv´enient de cet algorithme ? Quelle autre m´ethode proposez-vous pour ´eviter
cet inconv´enient ? Expliquez sans pour autant l’´ecrire, l’algorithme.
Quelques algorithmes pour l’optimisation avec contraintes 101
5.7 Travaux pratiques
5.7.1 Travaux pratiques 1
L’objectif de cette s´eance de travaux pratiques est de vous apprendre `a coder des algorithmes g´en´eraux de
minimisation avec contraintes : l’algorithme d’Uzawa et la m´ethode de p´enalisation. L’algorithme d’Uzawa est
rappel´e au d´ebut du TP.
Partie I : Quelques rappels de cours
I.1 L’algorithme du gradient projet´e.
La m´ethode du gradient projet´e s’inspire des m´ethodes usuelles de gradient. Supposons, d’une fa¸ con
g´en´erale, que l’on souhaite minimiser une fonctionnelle J : R
n
−→ R sur un ensemble de contraintes C.
Si l’on construit une suite d’it´er´es de la forme x
k+1
= x
k
+ ρ
k
d
k
, o` u d
k
est une direction de descente, on ne
peut pas ˆetre sˆ ur que si x
k
appartient `a C, alors x
k+1
appartiendra encore `a C. Il faut donc ”ramener” x
k+1
dans C, ce que l’on fait en utilisant une projection.
Algorithme du gradient projet´e
1. Initialisation.
k = 0 : on choisit x
0
∈ R
n
et ρ
0
∈ R

+
.
2. It´eration k.
x
k+1
= Π
C

x
k
−ρ
k
∇J(x
k
)

.
Π
C
d´esigne ici la projection sur C
Notons ´egalement le r´esultat de convergence :
Theorem 5.9 On suppose que J est (
1
, de d´eriv´ee Lipschitzienne, et elliptique, c’est ` a dire qu’il existe α > 0
tel que :
∀(x, y) ∈ (R
n
)
2
, (∇J(x) −∇J(y), x −y) ≥ α.|x −y|
2
.
Si l’on choisit le pas ρ
k
dans un intervalle [β
1
, β
2
] tel que 0 < β
1
< β
2
<

M
, o` u α est la constante d’ellipticit´e
de J et M, la constante de Lipschitz de la d´eriv´ee de J, alors la suite (x
n
)
n≥0
d’it´er´es par la m´ethode du
gradient projet´e converge vers la solution du probl`eme de minimisation.
I.2 L’algorithme d’Uzawa.
Supposons que l’on souhaite r´esoudre sur R
n
le probl`eme ({) min J(x), x ∈ C, o` u :
C = ¦x ∈ R
n
, h(x) = 0, g(x) ≤ 0¦, avec h = (h
i
)
1≤i≤p
et g = (g
j
)
1≤j≤q
.
Appelons L, la fonction Lagrangienne associ´ee `a ce probl`eme. Alors :
∀x ∈ R
n
, L(x, λ, µ) = J(x) + (λ, h(x))
R
p + (µ, g(x))
R
q .
102
On voit ici que la fonction Lagrangienne englobe `a la fois la fonctionnelle J et les contraintes h et g. Elle
repr´esente donc bien le probl`eme ({). Avant de poursuivre, souvenons-nous de ce que l’on appelle point selle.
D´efinition 22 On appelle point selle de L sur R
n
R
p
(R
+
)
q
, tout triplet (x

, λ, µ) v´erifiant l’´equation :
L(x

, λ, µ) ≤ L(x

, λ

, µ

) ≤ L(x, λ

, µ

), ∀(x, λ, µ) ∈ R
n
R
p
(R
+
)
q
. (5.5)
Le th´eor`eme suivant nous permettra de comprendre intuitivement l’algorithme d’Uzawa. Pour une compr´ehension
totale, il faudra s’int´eresser au probl`eme dual de ({).
Theorem 5.10 Supposons J, g et h convexes, de classe (
1
.
Alors, le triplet (x

, λ

, µ

) ∈ R
n
R
p
(R
+
)
q
est un point selle de L si, et seulement si ce triplet v´erifie les
conditions de Kuhn-Tucker.
Ce th´eor`eme nous aide `a comprendre que, pour chercher le triplet (x

, λ

, µ

) ∈ R
n
R
p
(R
+
)
q
v´erifiant les
conditions de Kuhn-Tucker, on peut proc´eder de la fa¸ con suivante :
– Pour (λ

, µ

) ∈ R
p
(R
+
)
q
, fix´es, on peut chercher le minimum sans contrainte (i.e. sur tout l’espace
R
n
) de la fonction x −→L(x, λ

, µ

). Cela traduit le terme de droite de l’´equation (5.5).
– Pour x

∈ R
n
fix´e, on cherche le maximum sur R
p
(R
+
)
q
de la fonction (λ, µ) −→L(x

, λ, µ). C’est
ce que traduit le terme de gauche de l’´equation (5.5).
C’est cette id´ee qu’utilise l’algorithme d’Uzawa :
Algorithme d’Uzawa
1. Initialisation.
k = 0 : on choisit λ
0
∈ R
p
et µ
0
∈ (R
+
)
q
.
2. It´eration k.
λ
k
= (λ
k
1
, ..., λ
k
p
) ∈ R
p
et µ
k
= (µ
k
1
, ..., µ
k
q
) ∈ R
q
sont connus.
(a) Calcul de x
k
∈ R
n
solution de :
({
k
) min
x∈R
n
L(x, λ
k
, µ
k
).
(b) Calcul de λ
k+1
et µ
k+1
par les formules :
λ
k+1
i
= λ
k
i
+ρh
i
(x
k
), i ∈ ¦1, ..., p¦
µ
k+1
j
= max(0, µ
k
j
+ρg
j
(x
k
)), j ∈ ¦1, ..., q¦.
Enfin, signalons le th´eor`eme suivant qui pourrait se r´ev´eler utile en pratique :
Theorem 5.11 On suppose que J est (
1
et elliptique. Supposons de plus que h est affine, g est convexe de
classe (
1
et lipschitziennes. On suppose de plus que le Lagrangien L poss`ede un point selle (x

, λ

, µ

) sur
Quelques algorithmes pour l’optimisation avec contraintes 103
R
n
R
p
(R
+
)
q
. Alors, il existe ρ
1
et ρ
2
, avec 0 < ρ
1
< ρ
2
tels que, pour tout ρ ∈ [ρ
1
, ρ
2
], la suite (x
k
)
k≥0
g´en´er´ee par l’algorithme d’Uzawa converge vers x

.
De plus, on sait que ρ
2
=
α
2(M
2
h
+M
2
g
)
, avec α, la constante d’ellipticit´e de J, M
h
et M
g
, les constantes de
Lipschitz associ´ees ` a h et g.
Partie II : Exercices
Exercice 5.12 (Optimisation d’un portefeuille d’actions).
On consid`ere le probl`eme de l’Optimisation d’un portefeuille. Supposons que l’on poss`ede n actions, que
l’on repr´esente par des variable al´eatoires R
1
, ..., R
n
. Chaque action rapporte en moyenne `a l’actionnaire
e
i
= E(R
i
) (esp´erance de R
i
) au bout d’un an. On suppose que l’on investit une somme S donn´ee, et l’on note
x
i
∈ R, la proportion de la somme investie dans l’action i. Ainsi, on a :
n
¸
i=1
x
i
= 1. Le portefeuille total est
repr´esent´e par la variable al´eatoire : R =
n
¸
i=1
x
i
R
i
et rapporte donc en moyenne : E(R) =
n
¸
i=1
x
i
e
i
.
On d´esire imposer un rendement donn´e r
0
> 0, ce qui se traduit par : r
0
=
n
¸
i=1
x
i
e
i
.
On mod´elise le risque du portefeuille par : σ
2
(x) = E[(R −E(R))
2
].
On note A = (a
ij
)
1≤i≤n
1≤j≤n
, la matrice de covariance d´efinie par la relation :
∀(i, j) ∈ ¦1, ..., n¦
2
, a
ij
= E[(R
i
−E(R
i
))(R
j
−E(R
j
))].
On peut alors ´ecrire que σ
2
(x) = (x, Ax). On appelle J, la fonctionnelle d´efinie sur R
n
par :
J(x) =
1
2
(x, Ax).
On appelle ´egalement K, l’ensemble des contraintes : K := ¦x ∈ R
n
: (x, u) = 1 et (x, e) = r
0
¦.
Le but de ce TP est de d´eterminer num´eriquement la solution du probl`eme :
({)

min J(x)
x ∈ K
.
1. Mettre l’ensemble des contraintes sous la forme K = ¦x ∈ R
n
: Cx = f ¦, o` u C et f d´esignent respective-
ment une matrice et un vecteur `a pr´eciser. Rappeler comment se traduisent les conditions d’Optimalit´e
de ce probl`eme et formuler l’´equation en x `a r´esoudre `a chaque it´eration.
2. On souhaite ´etudier un exemple concret. Supposons que : ∀i ∈ ¦1, ..., n¦, e
i
= i, que r
0
= 2.5. Pour les
tests num´eriques, on se placera par exemple dans le cas o` u n = 5.
´
Ecrire un programme genere.m permettant de g´en´erer la matrice A `a l’aide des instructions suivantes :
104
A=diag(e./n);
R=rand(n,n);
A=A+0.1.*R’*R;
Expliquer la derni`ere ligne du programme.
3. Pour diff´erentes matrices A, programmer l’algorithme d’Uzawa. On n’oubliera pas d’imposer un nombre
maximal d’it´erations.
4. Quel inconv´enient majeur constatez-vous ici ?
5. On appelle donc `a pr´esent
˜
K, l’ensemble d´efini par :
˜
K = ¦x ∈ R
n
: x ≥ 0, (x, u) = 1 et (x, e) = r
0
¦ .
Si l’on souhaite am´eliorer la r´esolution du probl`eme, on est amen´e `a r´esoudre : min
x∈
˜
K
J(x).
6. Comment doit-on choisir la constante ρ qui intervient dans l’algorithme d’Uzawa. Soyez pr´ecis.
7.
´
Ecrire l’algorithme d’Uzawa ´ecrit sous sa forme la plus g´en´erale, puis le tester.
Exercice 5.13 (Mise en œuvre d’une m´ethode de p´enalisation).
On consid`ere la fonctionnelle J d´efinie sur R
2
par : J(x, y) = 2x
2
+ 3xy + 2y
2
.
On appelle Q le cadrant d´efini par :
Q =

x ≤ −
1
2
, y ≤ −
1
2

1. (a) Quelle est la solution du probl`eme de minimisation de J sans contrainte ?
(b) On appelle X

, le minimum de J sous la contrainte X

∈ Q.
D´emontrer que, n´ecessairement, ∇J(X

) = 0 o` u X

∈ ∂Q.
(c) Mettre en œuvre la m´ethode du gradient projet´e pour r´esoudre le probl`eme de minimisation :
min
(x,y)∈Q
J(x, y).
Pensez-vous que la m´ethode du gradient conjugu´e peut ˆetre associ´ee `a la m´ethode de projection?
Pourquoi ?
(d) Repr´esenter les it´er´es par cette m´ehode.
2. S’il vous reste du temps. Nous allons reprendre le mˆeme probl`eme que pr´ec´edemment, et ´evaluer une
m´ethode de p´enalisation. On propose les ´etapes suivantes :
(a) Mettre en place une fonction de p´enalisation x → φ(x), en r´efl´echissant `a l’expression qu’elle aura
sur le cadrant Q. D´eterminer alors le gradient de la fonctionnelle p´enalis´ee.
Remarque : attention au choix de la p´enalisation! La fonctionnelle p´enalis´ee doit ˆetre diff´erentiable.
(b) Tracer les courbes de niveau de la nouvelle fonction coˆ ut et son gradient, pour plusieurs valeurs de
ε. Que constatez-vous quant `a la vitesse de variation de la fonction coˆ ut ? Dans la suite, on tracera
le gradient uniquement sur le domaine admissible.
Quelques algorithmes pour l’optimisation avec contraintes 105
(c) Pour une valeur petite de ε, par exemple ε = 10
−4
(p´enalisation forte), et un point de d´epart
x
0
= (−0.3, 0.5)
t
, tester la m´ethode de p´enalisation pour les m´ethodes de gradient `a pas fixe et `a
pas optimal. En visualisant les it´er´es, peut-on dire que la vitesse de convergence est satisfaisante ?
R´ep´eter le test pour ε = 0.5 (p´enalisation faible). Que peut-on dire de la convergence ? Quid de la
solution trouv´ee ?
(d) D´eduire de ces observations une m´ethode qui converge plus rapidement.
5.7.2 Travaux pratiques 2
Dans cette s´eance de travaux pratiques, on souhaite utiliser les techniques classiques d’Optimisation avec
contraintes pour r´esoudre deux probl`emes appliqu´es : une ´equation aux d´eriv´ees partielles et la d´etermination
de la distance d’un point `a un hyperplan. On utilisera en particulier les algorithmes d’Uzawa et du gradient
projet´e.
Exercice 5.14 (R´esolution d’un probl`eme d’obstacle).
Le mod`ele.
Soit g, une fonction continue donn´ee sur le segment [0, 1]. On consid`ere un probl`eme d’obstacle : trouver
une fonction u : [0, 1] −→R telle que :

−u

(x) ≥ 1 x ∈ (0, 1)
u(x) ≥ g(x) x ∈ (0, 1)
(−u

(x) −1) (u(x) −g(x)) = 0 x ∈ (0, 1)
u(0) = u(1) = 0
(5.6)
La premi`ere ´equation traduit une concavit´e minimale de la fonction u, la deuxi`eme ´equation repr´esente l’obs-
tacle : on veut ˆetre au-dessus de g(x). La troisi`eme ´equation traduit le fait que l’on a au moins ´egalit´e dans
une des deux ´equations pr´ec´edentes : soit on r´esout −u

(x) = 1, soit u(x) = g(x), et on est sur l’obstacle.
Probl`eme de minimisation associ´e.
On discr´etise ce probl`eme en introduisant un maillage uniforme : x
j
= jh, o` u h d´esigne le pas en espace
du maillage, et j ∈ ¦0, ..., n + 1¦, avec n ≥ 1 entier et h =
1
n+1
. Posons pour j ∈ ¦0, ..., n + 1¦, g
j
= g(x
j
). On
cherche des valeurs u
j
= u(x
j
), avec j ∈ ¦0, ..., n + 1¦, telles que :


u
j−1
−2u
j
+u
j+1
h
2
≥ 1 j ∈ ¦1, ..., n¦
u
j
≥ g
j
j ∈ ¦1, ..., n¦


u
j−1
−2u
j
+u
j+1
h
2
−1

(u
j
−g
j
) = 0 j ∈ ¦1, ..., n¦
u
0
= u
n+1
= 0
(5.7)
106
On rappelle que −
u
j−1
−2u
j
+u
j+1
h
2
est l’approximation de −u

(x
j
) par la m´ethode des diff´erences finies.
Introduisons `a pr´esent la matrice A ∈ ´
n
(R), d´efinie par :
A =
1
h
2

¸
¸
¸
¸
¸
¸
¸
¸
¸
2 −1 0 . . . 0
−1 2 −1
.
.
.
0
.
.
.
.
.
.
.
.
. 0
.
.
. −1 2 −1
0 . . . 0 −1 2
¸

.
On appelle ´egalement b et g, les vecteurs colonnes de R
n
d´efinis par :
b =

¸
¸
¸
1
.
.
.
1
¸

et g =

¸
¸
¸
g
1
.
.
.
g
n
¸

.
On introduit la notation x ≥ y pour des vecteur si ∀i ∈ ¦0, ..., n + 1¦, x
i
≥ y
i
.
Le r´esultat que je pr´esente maintenant est une version discr´etis´ee du th´eor`eme de Lax-Milgram que vous avez
probablement d´ej` a rencontr´e dans le cadre de l’Analyse Fonctionnelle.
Soit
u =

¸
¸
¸
u
1
.
.
.
u
n
¸

On a l’´equivalence :
u est solution de (5.7) ⇐⇒ u est solution de

min
v∈K

1
2
(Av, v) −(b, v)

K = ¦v ∈ R
n
: v ≥ g¦.
On appelle alors J, la fonctionnelle d´efinie sur R
n
par :
J(v) =
1
2
(Av, v) −(b, v).
R´esolution du probl`eme.
On se place ici dans le cas particulier o` u :
g(x) = max

0, 1 −100(x −0.7)
2

.
On souhaite r´esoudre ce probl`eme en utilisant l’algorithme du gradient projet´e. On d´esigne par Π
K
, la projec-
tion sur le convexe K. On pourra utiliser sans le d´emontrer que Π
K
(v) = (max(v
i
, g
i
))
1≤i≤n
.
Quelques algorithmes pour l’optimisation avec contraintes 107
1. (a)
´
Ecrire une m´ethode de gradient `a pas fixe pour d´eterminer le minimum de J sur R
n
. Tester cette
m´ethode et v´erifier qu’elle converge bien vers le r´esultat souhait´e.
(b) Adapter le programme pr´ec´edent pour programmer la m´ethode du gradient projet´e `a pas constant.
On testera notamment le programme pour n = 10. On se fixera un nombre maximal d’it´erations et
une tol´erance de 10
−5
.
(c) Demander `a Matlab de calculer la premi`ere valeur propre de A, ainsi que la derni`ere, et comparer
avec les r´esultats connus :
∀k ∈ ¦1, ..., n¦, λ
k
(A) =
4
h
2
sin
2

kπh
2

.
(d) Choisir ρ > 0 comme le pas optimal de la m´ethode de gradient `a pas fixe sans contrainte.
Rappel : ρ
opt
=
2
λ
1

n
.
(e) Afficher toutes les dix it´erations : k (le nombre it´erations), l’estimateur d’erreur |u
k
−u
k−1
|
2
et la
norme |J

(u
k
)|.
(f) Afficher le graphe de u
k
et de g.
2. Faire tourner le programme pour n = 100, en adaptant le nombre maximal d’it´erations.
Noter le temps de calcul et le nombre d’it´erations k n´ecessaires pour obtenir |u
k
−u
k−1
| ≥ 10
−6
.
On pourra ´egalement repr´esenter le temps de calcul en fonction de n.
3. On d´esire calculer une approximation u
k
de u avec une pr´ecsion de 10
−4
. On admet l’estimation suivante :
|u
k
−u|
2

γ
1 −γ
|u
k
−u
k−1
|
2
, avec γ := |I −ρA|
2
.
Quelle tol´erance η doit-on choisir pour assurer que |u
k
− u|
2
≤ 10
−4
?
4. Conclure l’exercice.
Exercice 5.15 (Distance d’un point `a un plan).
Dans cet exercice, je vous laisse un peu plus libre qu’` a l’ordinaire. On cherche `a d´eterminer num´eriquement
la plus courte distance entre un point x
0
∈ R
n
et un hyperplan (H) d’´equation Ax = b, o` u les lignes de la
matrice A sont lin´eairement ind´ependantes et b, un vecteur colonne de taille n. Ce probl`eme peut s’´ecrire
comme un probl`eme de programmation quadratique :
({) min
Ax=b
1
2
.
t
(x −x
0
)(x −x
0
).
1.
´
Etude th´eorique.
(a) Montrer que le multiplicateur de Lagrange, `a l’optimum est :
λ

= −(AA
t
)
−1
(b − Ax
0
).
108
(b) Montrer que la solution est :
x

= x
0
+A
t
(AA
t
)
−1
(b −Ax
0
).
(c) Montrer que, dans le cas o` u A est un vecteur ligne, la plus petite distance entre x
0
et l’hyperplan
vaut :
d(x
0
, H) =
[[b −Ax
0
[[
|A|
.
2.
´
Etude num´erique.
Faites-vous confirmer les r´esultats pr´ec´edents `a l’aide d’une ´etude num´erique. On pourra par exemple
utiliser l’algorithme d’Uzawa.
Chapitre 6
La m´ethode du recuit simul´e
Nous nous pla¸ cons dans le cas sans contrainte, mais la m´ethode du recuit simul´e s’applique aussi dans le
cas avec containtes.
Contrairement `a toutes les m´ethodes vues jusqu’ici, le recuit simul´e permet la recherche d’un minimum
global. C’est son principal avantage. Ceci est possible car elle comporte une part d’al´eatoire visant `a explorer
efficacement l’´eventail des possibilit´es.
En contrepartie, la m´ethode est lente. C’est son principal inconv´enient. Cet inconv´enient est du reste commun
`a tous les algorithmes de recherche de minimum global (recuit simul´e, algorithmes g´en´etiques,..).
6.1 Principe
Il est inspir´e de l’´evolution d’un solide vers une position d’´equilibre lors de son refroidissement.
Soit S un syst`eme physique `a la temp´erature T. On fait l’hypoth`ese que S peut avoir un nombre d´enombrable
d’´etats i ∈ N. A chaque ´etat i, correspond un niveau d’´energie E
i
. On note par X l’´etat du syst`eme. On a
alors :
Theorem 6.1 (loi de Boltzmann)
L’´equilibre thermique est caract´eris´e par la distribution
P
T
(X = i) =
1
Z(T)
e

E
i
k
B
T
,
o` u k
B
est la constante de Boltzmann et Z est une fonction de normalisation donn´ee par : Z(T) =
¸
i∈N
e

E
i
k
B
T
.
Soit i et j deux ´etats. Nous posons ∆E = E
i
−E
j
. Il vient alors
P
T
(X = i)
P
T
(X = j)
= e

∆E
k
B
T
,
109
110
et nous voyons que si ∆E < 0, l’´etat X = i est plus probable que X = j. Supposons `a pr´esent que ∆E > 0,
c’est bien sˆ ur alors la situation inverse qui a lieu. Toutefois le rapport des probabilit´es d´epend aussi de k
B
T,
et si k
B
T est grand devant ∆E, les ´etats X = i et X = j sont presque ´equiprobables.
Ainsi, `a temp´erature ´elev´ee on passe facilement d’un ´etat d’´energie `a un autre (les mol´ecules se meuvent fa-
cilement, le syst`eme pr´esente un fort caract`ere al´eatoire), mais quand on baisse progressivement la temp´erature,
on fige la situation et on tend de plus en plus vers l’´etat d’´equilibre du syst`eme (duquel on ne peut presque
pas bouger).
Nous faisons `a pr´esent l’analogie suivante entre syst`eme physique et probl`eme d’optimisation :
– ´etats physiques ↔ solutions admissibles
– ´energie du syst`eme ↔ cˆ out d’une solution
– k
B
T ↔ param`etre de contrˆole not´e T.
C’est sur cette analogie que se base l’algorithme de M´etropolis, en utilisant le principe physique ´evoqu´e
pr´ecedemment.
6.2 L’algorithme de M´etropolis
Soit (S, f) un probl`eme d’optimisation, et i, j deux solutions admissibles. Nous introduisons le crit`ere
d’acceptation de j par rapport `a i par :
P
T
(accepter j) =

1 si ∆f ≥ 0
e

∆f
T
sinon
o` u T ∈ R
+
est un param`etre de contrˆole et ∆f = f(j) −f(i).
L’algorithme est d´efini `a partir d’un ´etat initial i = i
0
donn´e, et de la r´ep´etition de deux ´etapes (corps de
l’algorithme). De plus, `a fr´equence r´eguli`ere on fait baisser la temp´erature.
La premi`ere ´etape est appel´ee d´eplacement. Il s’agit de g´en´erer une solution admissible j `a partir de i. Dans
une seconde ´etape, on met en jeu le crit`ere d’acceptation pour savoir si j est retenue ou non.
Nous donnons ci-dessous deux exemples de r`egle de d´eplacement :
– r`egle de
ˇ
Cerny : On construit un rep`ere ¦e
1
, .., e
n
¦ en j ∈ R
n
, avec e
1
pointant dans la direction du
meilleur r´esultat obtenu. On choisit une direction d al´eatoirement parmis e
1
, .., e
n
avec une probabilit´e
plus grande pour e
1
, et on se d´eplace al´eatoirement suivant d
– une autre r`egle : On tire al´eatoirement un vecteur u dont chacune des composantes suit une loi uniforme
La m´ethode du recuit simul´e 111
sur [−1, 1]. On se d´eplace de δj = qu, o` u q est un pas fix´e.
En ce qui concerne le refroidissement, on peut consid´erer par exemple l’une des r`egles suivantes :
– r`egle a : r´eduire T `a (1 − )T tous les m d´eplacements ( et m ´etant choisis par exp´erience), jusqu’`a
T < T
min
≈ 0
– r`egle b : on se fixe un nombre total K (tr`es grand) de d´eplacements et on r´eduit T apr`es chaque (k
eme
)
K/N d´eplacements en posant T = T
k
= T
0
(1 − k/N)
α
. Ici k ∈ ¦1, 2, .., N¦, et on choisit en g´en´eral
α = 1, 2 ou 4.
6.3 Travaux pratiques
Exercice 6.1 (Recuit simul´e).
On veut minimiser les fonctions
J
1,ω
(x) = 3 −xsin(ωπx)
sur l’intervalle [−1, 2], o` u ω = 2, 4, ..., 10, et, J
2
d´efinie par
10 sin(0.3xsin(1.3x
2
+ 0.00001x
4
+ 0.2x + 80))
sur [−10, 10]. Tracer le graphe de ces fonction. Que donne la fonction Matlab fminbnd?
On va programmer une m´ethode de recuit simul´e pour essayer d’atteindre le minimum global. On propose
– de d´eplacer le point par une m´ethode de type
ˇ
Cerny : pour chaque d´eplacement, on commence par choisir
la direction.
1. Avec une probabilit´e de 2/3 on se dirige en direction du meilleur point obtenu jusque l` a (avec une
proba de 1/3 dans l’autre direction). Bien sˆ ur, si le point pr´ec´edent est le meilleur point obtenu
jusque l` a, il convient d’adapter l’algorithme.
2. Ensuite, on choisit la longueur du d´eplacement par une formule du type b.rand o` u b est un param`etre
qui pourra apparaitre comme l’une des variables de la fonction et rand un nombre tir´e au hasard
dans [0, 1] par Matlab.
– de baisser la temp´erature par la formule
T
k
= T
0
(1 −
k
N
)
α
k = 1, 2, . . . , N
tous les
K
N
mouvements et α pouvant prendre les valeurs 1, 2 ou 4. Les entiers K et N (ce dernier
divisant K) seront aussi rentr´es comme variables de la fonction.
Nous proposons le programme suivant. Tester ce code sur les exemples donn´es et exp´erimenter.
112
% recuit simule avec deplacement de Cerny et un refroidissement fixe
% Entrees :
% J : fonction a minimiser sur l’intervalle [Xl ;Xr]
% T0 : temperature initiale
% alpha : ordre de la loi de refroidissement
% (N,K) : donnees du refroidissement
% b : longueur de deplacement
% Sortie
% x : minimum global approche
function x = recuit(J,Xl,Xr,T0,alpha,K,N,b);
% initialisation du point et de la temperature
x = (Xr-X1)*rand+X1; % x doit rester dans [Xl ;Xr]
Tk = T0 ;
bestpt = x ; % point qui minimise la fonction J
Jx = J(x) ; % evaluation
bestvalue = Jx ; % meilleur minimum
for k = 1 :N
% formule du refroidissement
Tk = T0*(1-k/N)∧(alpha);
display(x);
for l = 1 :max(1,K/N)
% Deplacement
if (x == bestpt)
% si x est le meilleur point : il faut en prendre
% un autre aleatoirement qui se trouve a sa gauche mais
% plus grand que Xl en partant de x comme origine
x1 = max(Xl, x - b*rand);
else % sinon on se deplace a sa gauche en partant de x de facon
% aleatoire en partant de x et en pointant vers le meilleur
% point, avec une longueur aleatoire rand * b, b fixe
p1 = rand ;
if (p1<2/3)
x1=max(Xl,min(Xr,x - sign(x-bestpt)*b*rand));
else
x1=max(Xl,min(Xr,x + sign(x-bestpt)*b*rand));
end
end
% on test ce nouveau point
Jx1 = J(x1);
DeltaJ = Jx1 - Jx ; % gradient d’energie
% si x1 est meilleur que x, on le prend
if (DeltaJ < 0)
x = x1 ;Jx=Jx1;
La m´ethode du recuit simul´e 113
% et en plus on regarde si on a la meilleure valeur
if (Jx1<bestval)
bestpt=x1;bestvalue=Jx1;
end % si x1 est moins bon que x, on se permet sous condition de le choisir!
elseif (rand < exp(-deltaJ/Tk))
x=x1 ;Jx=Jx1;
end
end
end

Table des mati`res e
1 Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 1.1 1.2 Fonctions de R vers R 1.2.1 1.2.2 1.3 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.5
n m

9 9 10 10 10 13 13 14 14 15 16 17 18 19 19 20 21 23 24 29 29 30 31 35 35 36 37 38

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Notion de continuit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Boules ouvertes et ensembles ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Limite et continuit´ de champs scalaires et vectoriels . . . . . . . . . . . . . . . . . . . . e La d´riv´e d’un champ scalaire par rapport ` un vecteur . . . . . . . . . . . . . . . . . . e e a D´riv´es directionnelles, d´riv´es partielles et d´riv´e de Gˆteaux . . . . . . . . . . . . . e e e e e e a D´riv´es partielles d’ordre sup´rieur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e e D´riv´es directionnelles et continuit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e e La d´riv´e totale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e Le gradient d’un champ scalaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Une condition suffisante de diff´rentiabilit´ . . . . . . . . . . . . . . . . . . . . . . . . . e e Une r`gle de d´rivation en chaˆ pour les champs scalaires . . . . . . . . . . . . . . . . e e ıne D´riv´e d’un champ vectoriel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e La r`gle de d´rivation en chaˆ pour les champs de vecteurs . . . . . . . . . . . . . . . e e ıne Conditions suffisantes pour avoir l’´galit´ des d´riv´es partielles mixtes . . . . . . . . . . e e e e

Diverses notions de d´rivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e

Quelques r`gles et r´sultats utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e

Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2 Compl´ments en calcul diff´rentiel e e 2.1 2.2 2.3 Courbes de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Maxima, minima et points-selle (` cheval sur l’optimisation) . . . . . . . . . . . . . . . . . . . . a La formule de Taylor au second ordre pour les champs scalaires (un petit effort...) . . . . . . .

3 G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 3.1 3.2 3.3 3.4 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . R´sultats d’existence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Convexit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e Conditions d’optimalit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e

3

. . .1 4. . e Mise en oeuvre des r`gles pr´c´dentes dans un algorithme g´n´ral utilisant des e e e e e directions de descente . . . . .1 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e e Les m´thodes de Newton et quasi-Newton . . . e e Contraintes ´galit´s . . . . . . . e 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Travaux pratiques 1 . . . .5. .1 3. . . . . . . . . .2 4. . . . . . . . . . . . . . . .3 4. . . . . Exercices . . . . . . .2.2 4. 3. . . . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . 4. . e 4. . . . . . . . . . . . . . . . . . .8 4. . . .5 Retour sur les conditions d’optimalit´ . . . . . .3. . . . . . M´thode du gradient projet´ . . . . . . .2. .3. . . . . . . . . .2 5. . .3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . M´thode de Broyden-Fletcher-Goldfarb-Shanno (BFGS) . . . . . . . 3. . . . . . . . . . . . . . . . . . . . . . . .2. . . . . . . . . . . . . . . M´thodes de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9. . . . . .2 Introduction . . . . . . . . .1 3. . . . . . . . . . . . . . . . . . . . . . . . . .6. . e e M´thode de Lagrange-Newton pour des contraintes en ´galit´ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 5. . . . . . . . . . . . .1 5. . . . . . . . . . . . . . . . . . . .2. . .3 4. . . . . . . . . . . . .5 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Contraintes in´galit´s . . . . . . . . . . . . . e R`gle de Wolfe (1969) . Cas avec contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3 M´thode de la section dor´e . . . . . . . . . e e M´thode d’interpolation parabolique . . . .2 4. .6 Exercices .4 5. . . . . . e 4. . . . . . . . . . . . . . . . . . . . . Travaux pratiques . .3. . . . . . . . . . . . . . . . .9. . . . . . . . . . . . . . . . . . . . . . . . . .2 Cas sans contraintes . . . . . . . . . . .6. . . . 4. . . . . . . . . . . .2 Le premier probl`me . . . . . . . . . e e M´thode de quasi-Newton DFP et BFGS . . . . . . e e e M´thode de Newton projet´e (pour des contraintes de borne) . . . . . . . . . . . . . . . . . . . . . . . . . . .3. . . . . . . . . . . . . . . . . Travaux pratiques 2 . e Conditions d’optimalit´ n´cessaires du second ordre e e . . . . . . . . . . . . . . . . . . . . .4. . . . . . . . . . . 5 Quelques algorithmes pour l’optimisation avec contraintes 5. . . . e M´thode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´aire) . . . . . . . . . .6 R`gle de Goldstein (1967) .4 4. . . . . . . . . . . . . . . . . . . . . . . . . . . .5. . . . . . . . . . . .1 4.4. . . . . . . . . . Quelques notions sur les algorithmes . . .1 3. . . . . . . . . . . . . .2. . . . . . . . . . . . . . . . . . . . . . e D’autres r`gles . e M´thode du gradient conjugu´ . . . . . .3. . . . . . . . . . . . .4. . . . . . . . . . . .3 M´thodes de Newton . e e . . . . . . . . . . . . . . . . . . . . . . . .1 4. . . . . . . . . . . . . . . . . .6. . . . .6. . . . . . . . e e 38 40 40 42 43 43 43 44 49 49 49 50 51 52 52 54 54 54 55 57 60 61 62 62 64 65 65 65 71 71 74 79 79 80 81 82 83 3. . . . . . . .7 4. . . . . . . . . .2. . . . . . . . . . . . . . . . . . .2 Algorithme DFP (Davidson-Fletcher-Powell) . . . . . . . . . . . .2. . . . . .6. . . . . . . . . . . . . . . . . . . . . . . . . . .1 4. . . . 4 Quelques algorithmes pour l’optimisation sans contraintes 4. . . . . . . . . . . . . .9 Quelques remarques . . . . . . . . . . . . . . . . . . . . . . . . . . . e 4. . . . . . e Le second probl`me . . . . . . . . . e 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5 Deux exemples qui permettent de mieux saisir ce que sont les multiplicateurs de Lagrange . . .4. . . . . . . . .1 4. . . . . . . . . . . . Algorithmes unidimensionnels ou recherche du pas . . . . . . . . . . . . . . .

. . . . . . . . 109 L’algorithme de M´tropolis . . . . . .1 Travaux pratiques 1 . . . .3 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 e Travaux pratiques . . . . . . . . . . . . . . . . . e e e M´thode de programmation quadratique successive (SQP) (Sequential Quadratic Prae 87 88 90 92 gramming) . . . . .7. . . . . . . . . . . . . . . . . . . . . .5. . .2 6. . . . . .5. . . . . . . . . . . . . . . . . . . 101 5. . . . e e M´thode de dualit´ : m´thode d’Uzawa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2 Travaux pratiques 2 . . . . . . . . . . . . . . . .5. . . . 111 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 109 6 La m´thode du recuit simul´ e e 6. . . . . . . . . . . . . . . . . . . . . . . . . . . .2 5. . . . .7 M´thodes de p´nalisation . . . . . . . . . . . . .5. . . . . . . . . . . . . . . . . . 101 5. Travaux pratiques . .7. . . . . . . . . . . . . . . . . . . .1 5. . . . . . . . . . . . . . . . . .1 6. . . . . . . . . . . . .3 5. . . . . . . . . . . . . Exercices . . . . . . . . . . . . . .

. .

e e e e e Divers exercices et s´ances de travaux dirig´s accompagnent le pr´sent document afin d’assimiler les notions e e e plus th´oriques vues en cours. X. Ces notions ont d´j` ´t´ vues lors de votre cursus e eae e universitaire. Il en existe bien d’autres (la m´thode du simplexe de e e e Nelder-Mead.Avant-propos Ce cours pr´sente les bases de l’optimisation math´matique et num´rique. dans le dernier chapitre. Vous trouverez. Toutefois. des rappels de base du calcul diff´rentiel. Ces d´veloppements sont destin´s ` mettre en place les notions utiles au d´veloppement e e a e d’algorithmes num´riques. le 19 juillet 2007 . Ils pourraient constituer un bon approfone e e dissement des m´thodes nume´riques d´velopp´es dans ce polycopi´. DREYFUSS & Y. Enfin. les algorithmes g´n´tiques) et de plus sophistiqu´s. nous donnons quelques r´sultats th´oriques sur l’optimisation sans e e e e e puis avec contraintes. lors des deux pree e e miers chapitres. P. afin de s’en assurer et pour avoir une notation et des notions auto-contenues. celles-ci sont d´taill´es. Dans le troisi`me chapitre. PRIVAT Nancy. C’est le sujet du quatri`me chapitre o` nous introduisons les algorithmes classiques e e u de l’optimisation num´rique sans contrainte. Les travaux dirig´s sont d´velopp´s pour ˆtre notamment impl´ment´s sous le e e e e e e e logiciel de calcul scientifique Matlab. ANTOINE. nous pr´sentons un algorithme e e d’optimisation globale : la m´thode du recuit simul´.

8 .

. x2 . D´finissons le produit scalaire usuel de deux vecteurs r´els comme e e n Nous consid´rons ici des fonctions e x·y = et la norme associ´e e i=1 xk yk . x = (x · x)1/2 . les notations f (x) et f (x1 . e Nous allons nous int´resser ici ` ´tendre les concepts.. elle est e e e appel´e fonction ` valeurs vectorielles r´elle d’une variable vectorielle. dans la suite du chapitre. ou tout simplement champ de vecteurs e a e (r´el). Si f est un champ scalaire d´fini en un point x = (x1 . z) plutˆt que (x1 . Lorsque m > 1... x3 ) e e e a o 9 . . xn ) seront utilis´es pour e e d´signer la valeur de f en ce point particulier. x2 ) et (x. les notations suivantes.Chapitre 1 Continuit´ et calcul diff´rentiel de e e champs scalaires et vectoriels 1. . connus. y) ∈ Rn × Rn . ∀(x. Les points dans le plan sont g´n´ralement not´s (x. et d´riv´e ` des champs e ae e e e a scalaires et vectoriels. nous ´crivons ´galement f (x) ou e e e f (x1 . Si f est un champ de vecteurs.. continuit´. Nous utilisons. y) ` la place de (x1 .. une telle fonction est appel´e fonction d’une variable r´elle ` valeurs e e a r´elles. un champ scalaire. Plus pr´cis´ment. xn ) ∈ Rn .1 Fonctions de Rn vers Rm f :V →W o` V et W sont des espaces vectoriels de dimensions finies. nous consid´rons le choix : u e e e V = Rn et W = Rm . Nous faisons l’hypoth`se ici que n > 1 et m ≥ 1. la fonction est appel´e fonction ` e e e a valeurs r´elles d’une variable vectorielle r´elle. Lorsque m = 1.. Lorsque m = n = 1. ou plus bri`vement. Lorsque n = 1 et m > 1.. y. de limite. . cette fonction est appel´e une fonction vectorielle d’une variable r´elle ` valeurs e e e a r´elles.. xn ).

e Exemple 1 En dimension un. dans de nombreux probl`mes. Un autre exemple est un rectangle du type ]a. commen¸ons par rappeler la d´finition de la limite puis continuit´ d’une fonction dans R. ou encore d’une r´union e d’intervalles ouverts. x0 est appel´ un point int´rieur de S si il existe une n-boule ouverte de centre x0 . b[×]c. Nous allons e e a reformuler ce concept pour des champs vectoriels. d[. on e e e s’int´resse aux variations d’un champ. L’ensemble des points x de Rn e tels que : x − x0 < r. c’est la boule usuelle ouverte de centre x0 et de rayon r. Soit S un sous-ensemble de Rn et soit x0 ∈ S. En dimension deux.2 Limite et continuit´ de champs scalaires et vectoriels e Les concepts de limite et continuit´ sont facilement ´tendus ` des champs scalaires et vectoriels. Dans le cas unidimensionnel. ` e e e e Un ouvert contenant un point x0 est appel´ un voisinage de x0 . Un ensemble S de Rn est appel´ ouvert si tous ses points sont des points e e int´rieurs. L’ensemble de tous les points dans Rn ext´rieurs a e ` S est appel´ l’ext´rieur de S et est not´ extS. nous retrouvons le disque e circulaire ouvert de centre x0 et de rayon r. est appel´ une n-boule ouverte de rayon r et de centre x0 .2 1. nous pouvons donner l’exemple d’un intervalle ouvert. G´n´ralisons cette id´e dans le cas de Rn . celui-ci ´tant directement applicable aux champs scalaires. e e D´finition 3 (d’ext´rieur et de fronti`re). La e e e e notion de d´riv´e s’applique aux fonctions d´finies sur des ouverts. En d’autres termes. e e e e e e 1. c e e . e D´finition 2 (d’un ouvert). En effet. On la note B(x0 . Un contre-exemple est un intervalle ferm´. Dans R2 . si et seulement si S = intS.1 Notion de continuit´ e Boules ouvertes et ensembles ouverts e e Soit x0 un point de Rn et r > 0 un nombre r´el donn´. e e e Alors. Les champs scalaires et vectoriels d´finis sur des sous-ensembles de R2 ou R3 (voir plus) apparaissent tr`s e e souvent et de mani`re naturelle dans les sciences de l’ing´nieur. r). D´finition 1 (d’un point int´rieur et de l’int´rieur de S). e Avant cela. e 1. c’est la d´riv´e qui traduit cette id´e. un disque ouvert est un e exemple (sans compter le bord). e e Introduisons maintenant la notion d’ext´rieur et de fronti`re.10 dans le cas tridimensionnel. Un contre-exemple est ou ouvert de R consid´r´ dans R2 . tous ses points e e appartenant a S. Un point qui n’est ni dans l’ext´rieur ou l’int´rieur de S est e e e e e n appel´ un point fronti`re de S et est not´ ∂S.2. Un point x est dit ˆtre ext´rieur a un ensemble S dans Rn si il e e e e e ` existe une n-boule B(x) ne contenant aucun point de S.2. Un ensemble S de R est dit ferm´ si son compl´mentaire dans e e e e e Rn (not´ −S ou encore S c ) est ouvert. Dans R3 . Un exemple est donn´ en dimension un par un intervalle ouvert de centre x0 . L’ensemble de tous les points int´rieurs de S est appel´ l’int´rieur de S est est not´ intS. strictement positif.

|x − x0 | < η ⇒ |f (x0 ) − f (x)| < ε. y. nous consid´rons la notation x = (x. la relation (1. Dans cette d´finition. y0 . z) et x0 = (x0 . il n’est pas e e surprenant d’apprendre que beaucoup de propri´t´s famili`res de la limite et de la continuit´ peuvent aussi ˆtre ee e e e ´tendues.1) prend la e forme (x. y. Pour les champs scalaires. z0 ). les e e quotients ne sont pas d´finis mais nous avons les th´or`mes suivants. Ainsi. o` S est un sous-ensemble de Rn . Une fonction est dite continue en x0 si f est d´finie en x0 et si e lim f (x) = f (x0 ). |x − x0 | < η ⇒ |L − f (x)| < ε. z) = L. Nous le noterons x→x0 lim f (x) = L. y) pour x et (x0 .Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 11 D´finition 4 Soit f une fonction de R dans R. les th´or`mes basiques concernant les limites et continuit´s de sommes.y)→(x0 .y0 ) lim f (x. Nous dirons que la fonction f admet comme limite L en un e point x0 si ∀ε > 0. x→x0 On le note f ∈ C 0 (S). Ecrivons h = x − x0 . y) = L.2) est la limite au sens usuel du calcul ´l´mentaire. Par cons´quent.1) lim f (x) − L = 0. Pour des points dans R2 .y. Pour les champs vectoriels. Nous ´crivons e ce qui signifie que x−x0 →0 Consid´rons maintenant une fonction f : S → Rm . D´finition 6 Nous dirons que f est continue en x0 sur un ensemble S si f est continue en tout point de S. ∃η > 0.y0 .2) Le symbole limite dans l’´quation (1. (1. e ee e il n’est pas n´cessaire que f soit d´finie en x0 . ∃η > 0. e e e e produits et quotients de champs scalaires peuvent ˆtre ´tendues directement. nous e e avons (x. Pour des points dans R3 . e e e . L ∈ Rm . Soient x0 ∈ Rn et e u x→x0 lim f (x) = L. alors. y0 ) pour x0 . D´finition 5 Soit f une fonction de R dans R. nous ´crivons (x.z)→(x0 . e Puisque ces d´finitions sont des extensions directes de celles ´tablies dans le cas unidimensionnel. (1.z0 ) lim f (x.2) devient e e e h →0 lim f (x0 + h) − L = 0. l’´quation (1. La fonction f est dite continue en x0 si e ∀ε > 0.

alors la compos´e f ◦ g est continue en x0 . b) limx→x0 (λf )(x) = λL... 2 C’est une famille de cercles centr´s a l’origine. y) est donn´e par e e e e e u e les formules telles que i) sin(x2 y) ii) log(x2 + y 2 ) exp(x + y) iii) x+y iv) log(cos(x2 + y 2 )). Si un champ vectoriel f a ses valeurs dans e m R . c) limx→x0 (f · g)(x) = L · M. e Exemple 3 Le th´or`me pr´c´dent implique la continuit´ des champs scalaires h. Exemple 2 (continuit´ des composantes d’un champ de vecteurs). des courbes enti`res ou des familles e e e e de courbes.12 e Th´or`me 1 Si limx→x0 f (x) = L et limx→x0 g(x) = M.. d) limx→x0 f (x) = L . . o` h(x. et. Ces exemples conduisent a des fonctions continues en tout point o` la fonction est d´finie. enfin. chaque valeur f (x) de la fonction a m composantes et nous pouvons ´crire e f (x) = (f1 (x). Si g est continue en x0 et si f est continue en g(x0 ). Exemple 4 Une fonction de deux variables peut ˆtre continue en chacune des variables s´par´ment et ˆtre e e e e discontinue comme une fonction de deux variables. nous avons ´galement e e a) limx→x0 (f + g)(x) = L + M. Les m champs scalaires f1 . 5.. la quatri`me en tous les points tels que x2 + y 2 n’est pas un multiple e impair de π/2. Vous pouvez consid´rer a titre d’exemple la fonction d´finie e ` e .. On peut montrer que f est e continue en un point si et seulement si chaque composante fk est continue en ce point. = 1. ∀λ ∈ R. Plus pr´cis´ment. la troisi`me en tous e les points tels que x + y = 0.. o` e e e e u (f ◦ g)(x) = f (g(x))... Ces exemples montrent notamment que l’ensemble des discone ` tinuit´s d’une fonction de deux variables peut ˆtre un ou des points isol´s.. fm sont appel´s composantes du champ de vecteur f . ce dernier ensemble correspond aux points (x. fm (x)). 3. y) tels que e e x2 + y 2 = π . e Th´or`me 2 Soient f et g des fonctions telles que la fonction compos´e f ◦ g soit d´finie en a. . la seconde en tous les points en dehors de l’origine. La premi`re est ` u e e continue en tous les points du plan. On peut construire d’autres exemples de fonctions continues grˆce au th´or`me suivant sur les fonctions a e e compos´es.

0). Supposons que h = 0 mais suffisamment petit pour garantir a f (x0 + hy) − f (x0 ) . directionnelle. il existe une n-boule B(x0 . Int´ressons nous e a e au comportement de ce quotient lorsque h → 0. Si nous nous rapprochons de la fenˆtre. de Gˆteaux et totale. Plus pr´cis´ment. 0) = 0. e e Exercice 1 Calculer f (x0 . e e e 1. not´e f (x0 . e Abordons maintenant le th´or`me de la valeur moyenne pour les champs scalaires. supposons que e e e nous allions de x0 vers x0 + y le long de la ligne joignant x0 et x0 + y. e e le segment reliant x0 ` x0 + y se trouve dans S. Nous souhaitons e e est ouverte. f (x.3 Diverses notions de d´rivations e Nous introduirons dans cette section plusieurs notions de d´riv´e d’un champ scalaire : d´riv´e par rapport e e e e a ` un vecteur. y) = 1. o` h ∈ R. Soit f : S → R un champ scalaire e e e ` donn´. est d´finie par l’´quation ` e e e f (x0 .5 nous proposons d’´tablir une synth`se plus compl`te. Chaque point de ce segment est alors de la forme x0 + hy. partielle. La distance de x0 ` x0 + hy est hy = |h| y . Si h est choisit tel que |h| y < r. Nous a ´tablirons cependant un certain nombre de liens entre elles et avec la propri´t´ de continuit´. y). La d´riv´e de f en x0 par rapport e e e e f (x0 + hy) − f (x0 ) .3. et soit x0 un point int´rieur de S. si (x. e ee e Dans l’exercice 1. Soit x0 un point int´rieur de S et soit y un point arbitraire dans Rn . y) = (0. e e supposons que f (x0 ) repr´sente la temp´rature en un point x0 donn´ dans une salle chauff´e dont une fenˆtre e e e e e Soit f un champ scalaire d´fini sur un ensemble S de Rn . x2 + y 2 f (0. h (1. pour tout x ∈ Rn . la temp´rature tend ` d´croˆ e e a e ıtre. y) si la fonction f est d´finie par f (x) = x 2 . En g´n´ral. e e . si nous nous rapprochons du chauffage. la temp´rature augmente. a Supposons que nous sp´cifions cette direction par un second vecteur y. r) contenue enti`rement dans S.Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 13 par xy . Par exemple. Puisque x0 est un point u a que x0 + hh ∈ S et formons le quotient int´rieur de S. y) = lim h→0 lorsque la limite d´finie dans le membre de droite de l’´quation ci-dessus existe.1 La d´riv´e d’un champ scalaire par rapport ` un vecteur e e a ´tudier la mani`re dont varie un champ scalaire lorsque nous bougeons de x0 vers un point proche. la mani`re dont le champ change d´pend de la direction e e e e e selon laquelle nous nous dirigeons ` partir de x0 .3) Le num´rateur de ce quotient nous dit comment varie la fonction lorsque nous bougeons de x0 ` x0 + hy. Nous verrons que ces notions sont distinctes. D´finition 7 (de la d´riv´e d’un champ scalaire par rapport a un vecteur). h a y. Le e a quotient est appel´ le taux de variation de f sur le segment de ligne joignant x0 ` x0 + hy.

j) s’´crivent aussi e e e e ∂f (x0 . an ). le quotient (1... z0 ).. nous avons f (x0 + y) − f (x0 ) = f (z.. les d´riv´es partielles f (x0 .. la d´riv´e fxk est ´crite sans le prime comme fxk . ∂x2 D1 (D2 f ) = ∂2f . ∂y 2 ... En particulier. e e e e e il y a quatre d´riv´es partielles secondes que l’on ´crit e e e D1 (D1 f ) = ∂2f .3. Dans ce cas. ∂y respectivement. y0 ) ∂x et ∂f (x0 . ek ). ∂xk fxk (a1 . Ainsi.. la d´riv´e directionnelle f (x0 . Alors. Pour les fonctions de deux variables.. Dn f sont appel´es d´riv´es secondes de f . z0 ). Dans R2 . Supposons que la d´riv´e f (x0 + e e e e e e hy. i) et f (x0 . ∂y∂x et D2 (D2 f ) = ∂ 2f . y0 ). y) est appel´e d´riv´e directionnelle de f en x0 selon la direction y. . an ).3) repr´sente le taux de variations de f par unit´ de distance le long du D´finition 8 (des d´riv´es directionnelles.. Si y est un vecteur unitaire.3 D´riv´es partielles d’ordre sup´rieur e e e Les d´riv´es partielles produisent de nouveaux champs scalaires D1 f .. y) existe pour tout h dans l’intervalle 0 ≤ h ≤ 1. la distance entre x0 et x0 + hy u a e e est |h|. y0 . ∂x ∂f ∂f (x0 . ∂y ∂z 1.. Dans R3 .3. si x0 = (x0 . ∂x∂y D2 (D1 f ) = ∂2f . y) est lin´raire. Les e e e d´riv´es partielles de D1 f . u 1. y0 ).2 D´riv´es directionnelles.. les d´riv´es partielles D1 f (x0 ). D2 f (x0 ) et D3 f (x0 ) sont aussi e e not´es e ∂f (x0 .. et que l’application y → f (x0 . y0 . les vecteurs unitaires des coordonn´es e e e s’´crivent i et j. y0 . ek ) est appel´e la d´riv´e partielle e e e e e e e de f par rapport a ek et est ´galement not´e Dk f (x0 ). o` z = x0 + θy. z0 ). y0 . y) est appel´e d´riv´e directionnelle. la d´riv´e f (x0 . La fonction f est dite Gˆteaux-d´rivable en x0 si et seulement si f est d´rivable en x0 par rapport a toutes a e e ` les directions y.14 Th´or`me 3 (de la valeur moyenne pour les d´riv´es de champs scalaires). nous avons ` e e Dk f (x0 ) = f (x0 . partielles et de la d´riv´e de Gˆteaux). Cette derni`re application lin´aire est alors e e e appel´e d´riv´e de Gˆteaux de f en x0 e e e a Les notations suivantes sont ´galement utilis´es pour les d´riv´es partielles en un point a e e e e Dk f (a1 . e e e e e a Dans le cas particulier o` y est un vecteur unitaire (c’est ` dire y = 1). y). e Quelques fois. z0 ) et (x0 . . e e e e e a la d´riv´e f (x0 . .. pour un certain θ r´el dans l’intervalle ouvert e 0 < θ < 1.. an ). Dn f pour un champ f donn´. ∂f (a1 .. d´riv´es partielles et d´riv´e de Gˆteaux e e e e e e a segment joignant x0 ` x0 + hy . Si x0 = (x0 . si y = ek e e e e e (le k-i`me vecteur unitaire des coordonn´es).

e e Selon la notation ∂. h e e e e Appliquons maintenant le mˆme argument ` un champ scalaire g´n´ral. o` x0 est un vecteur constant. l’existence de la d´riv´e d’une fonction f en un point implique la continuit´ e e e en ce point. le vecteur x0 ´tant fix´ (forme quadratique). Nous donnerons ´galement un contre-exemple. si h = 0.j xi xj . on peut ´crire e f (x0 + hy) − f (x0 ) = ( f (x0 + hy) − f (x0 ) )h. Exercice 3 Dans chacun des exemples suivants. Calculer f (x. y) · h = 0 . e e 1. e Exercice 2 Un champ scalaire f est d´fini sur Rn par l’´quation f (x) = x0 · x. le vecteur x0 ´tant fix´ (forme lin´aire). Supposons que la d´riv´e f (x0 . Ceci se montre facilement en prenant h = 0 et en ´crivant e f (x0 + h) − f (x0 ) = ( f (x0 + h) − f (x0 ) )h. le membre de droite tend vers f (x0 . D1. Par exemple. f (x) = x0 · x. y) pour un . ainsi. le membre de droite tend vers 0 (= f (x0 ) · 0) et ainsi f (x0 + h) →h→0 f (x0 ). f (x) = i. f (x.2 f = D1 (D2 f ). y) = x2 + y 2 sin(xy). 2.j=1 ai.3. y) pour des vecteurs arbitraires x et y. e e u 1. l’existence de f (x0 . x+y . Prendre n = 2 pour cette derni`re fonction et trouver l’ensemble des points tels que e f (2i + 3j. Mˆme question lorsque f (x) = x . Lorsque h tend vers 0. pour x = y. e e e n 4 4. ∂x∂y ∂x ∂y Il est possible que cette quantit´ soit ´gale ou non ` l’autre d´riv´e mixte e e a e e ∂2f . y) e a existe pour un certain y.j f pour la d´riv´e seconde Di (Dj f ).Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 15 On utilise quelques fois la notation Di. e 3. y) = x−y 3. Alors. f (x.4 D´riv´es directionnelles et continuit´ e e e Dans le cas unidimensionnel. xi + yj) = 6. 2. h Lorsque h → 0. on pr´cise l’ordre de d´rivation en ´crivant e e e ∂ ∂f ∂2f = ( ). calculer les d´riv´es partielles du premier ordre des champs e e scalaires suivants 1. Nous montrerons ` la fin de a ∂y∂x ce chapitre que les deux d´riv´es mixtes sont ´gales en un point si au moins une d’entre elles est continue dans e e e un voisinage de ce point.

nous trouvons. en chaque point de la parabole x = y 2 (exept´ ` l’origine) la fonction a e a comme valeur 1/2.4) h . f (x. nous avons f (ha. y) = 0 sinon. y) = . la fonction f n’est pas continue en 0. Puisque de tels points existent arbitrairement proche de l’origine et que f (0) = 0. b) un vecteur. Ceci semble sugg´rer que f est continue en x0 . sinon.16 y donn´ implique que e h→0 lim f (x0 + hy) = f (x0 ). De mani`re assez surprenante. Pour cette raison. Si a = 0 et si h = 0. b). h) = − f (x0 ). Si f (x0 . y) = 1 si x < 0 ou y > x2 . h) la e e e diff´rence e f (x0 + h) − f (x0 ) E(x0 . dans le cas unidimensionnel. Un premier exemple est donn´ par la fonction f d´finie de la mani`re suivante e e e f (x. Toutefois. Ceci signifie que f (x) → f (x0 ) lorsque x → x0 le long d’une ligne droite passant par x0 et ayant e conclusion peut ˆtre fausse. f (x) → 0 lorsque x → 0 le long de toute ligne droite partant de l’origine. si x = 0. nous notons E(x0 . hb) ab2 f (0 + hy) − f (0) = = 2 . le champ e e n’est pas continu ` l’origine. de mani`re similaire que f (0. Cet exemple montre que l’existence de toutes les d´riv´es directionnelles e e n’implique pas la continuit´ en ce point. e a Ainsi. Elle implique la continuit´ e e e e e et. x2 Soit x0 = (0. si h = 0. Toutefois.3. Si f (x0 ) existe. (1. y) = xy 2 . alors f (x) → f (x0 ) lorsque x → x0 le long d’une ligne droite passant par x0 . a Soit maintenant f : R2 → R telle que f (x. simultan´ment. f (0. nous permet d’´tendre les principaux r´sultats rencontr´s dans le cas unidimensionnel ` e e e e a des dimensions sup´rieures. e e e 1. comme direction y. + y4 f (0. y) existe pour tout vecteur y. Si y = (0. C’est ce que l’on appelle la d´riv´e totale.5 La d´riv´e totale e e Rappelons que. y) existe pour toute direction y. les d´riv´es directionnelles sont une extension e e e insatisfaisante du concept de d´riv´e. h h a + h2 b 4 b2 Soit h → 0. 0) et y = (a. y) = 0. y) = 0. Nous trouvons f (0. Une g´n´ralisation plus satisfaisante existe. cette e e pour le mˆme y. De plus. Il est clair que ce champ admet une d´riv´e directionnelle (nulle) selon chaque direction. une fonction f qui admet une d´riv´e en un point x0 peut ˆtre e e e approch´e pr`s de ce point par une approximation lin´aire de Taylor. Les exemples suivants d´crivent des champs scalaires qui poss`dent une d´riv´e e e e e e directionnelle selon chaque direction partant de 0 mais qui ne sont pas continus en ce point.

Tx0 (v).4). De plus. v) = o( v ) e a a lorsque v → 0. En fait. v). la d´riv´e f (x0 . pour v < r. pour h petit. (1. Soit v un vecteur tel que v < r . y) = f (x0 ) · y.5) E(x0 . E(x0 . v). La d´riv´e totale a ´t´ introduite par Young en 1908 puis par Fr´chet en 1911. Nous pouvons r´crire (1. Soit x0 un point int´rieur de S et e e B(x0 . un terme qui est d’ordre inf´rieur ` v lorsque v → 0 (c’est ` dire. qui a ´galement lieu pour h = 0.6) 1. L’´quation (1. o` lim u x0 . La transformation lin´aire Tx0 est appel´e la d´riv´e totale1 de f en e e e e elle est unique. ∀v ∈ Rn .Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 17 D´finissons E(x0 . alors e e e e h →0 (1. D´finition 9 Nous dirons que f est diff´rentiable en x0 si il existe une transformation lin´aire e e e Tx0 : Rn → R. Alors. v) = 0. r). il est d´fini pour tout e e e e e point v de Rn . nous obtenons la formule e f (x0 + h) = f (x0 ) + f (x0 )h + hE(x0 . De (1. nous e avons n f (x0 . e e e Ceci donne une approximation lin´aire. . h) est d’ordre inf´rieur ` h. La quantit´ Tx0 (v) est un nombre . est appel´e formule de Taylor du premier ordre pour f (x0 + v). l’erreur commise sur hE(x0 . qui a lieu pour v < r. de la diff´rence f (x0 +v)−f (x0 ). C’est ce que l’on appelle le d´veloppement de Taylor du premier ordre e e pour approcher f (x0 + h) − f (x0 ) par f (x0 )h. v) telle que f (x0 + v) = f (x0 ) + Tx0 (v) + v E(x0 . 0) = 0. y)... et une fonction scalaire E(x0 . e e e e e 1 La .6 Le gradient d’un champ scalaire f (x0 . x0 + v ∈ B(x0 . h) → 0 lorsque h → 0. nous voyons que E(x0 . De (1. yn ). en posant y = (y1 . ainsi. si la d´riv´e totale existe.5).3.6) comme e d´riv´e totale n’est pas un nombre mais une application lin´aire. Ce e a point de vue qui consiste ` approcher une fonction diff´rentiable par une fonction lin´aire sugg`re une mani`re a e e e e d’´tendre le concept de diff´rentiabilit´ ` des dimensions sup´rieures.. y) = k=1 Dk f (x0 )yk = Df (x0 ) · y. r) une n-boule se trouvant dans S. e e e Th´or`me 4 Supposons que f soit diff´rentiable en x0 et de d´riv´e totale Tx0 . e e ea e Soit f : S → R un champ scalaire d´fini sur un ensemble S de Rn . Il nous dit ´galement comment calculer la d´riv´e totale Tx0 (v). y) est une combinaison lin´aire des composantes de y. L’erreur dans l’approximation e est v E(x0 . f (x0 . En cela.4). h). y) e e e e e e e n existe pour tout y ∈ R et nous avons Tx0 (y) = f (x0 . (Rappeler la notation) Le prochain th´or`me montre que. L’erreur commise est hE(x0 . h).

A partir de la formule de Taylor. 1[ tel que : f (x0 + y) − f (x0 ) = f (x0 + θy). u e e e Nous pouvons. z)j + (x. Dn f (x0 ) existent. Soit y ∈ B fix´. On v´rifie que e e e e .Dn f (x0 ) e e e e e e existent dans une n-boule B(x0 ) et sont continues en x0 .y Ainsi w(x0 .. y... on peut montrer que la diff´rentiabilit´ implique la o e e continuit´. z) = ∂f ∂f ∂f (x. y) = En dimension trois..y Preuve.. v) → u v →0 f (x0 ) · v + v E(x0 . z)i + (x.7) f (x0 ) u 0.18 o` u f (x0 ) est le vecteur dont les composantes sont les d´riv´es partielles de f en x0 e e f (x0 ) = (D1 f (x0 ).. ∂x ∂y ∂z ∂f ∂f (x.. on consid`re g : [0.7 Une condition suffisante de diff´rentiabilit´ e e Si f est diff´rentiable en x0 ... e e Dans le cas bidimensionnel. (1. r´crire la formule de Taylor au premier ordre e f (x0 + v) = f (x0 ) + o` E(x0 . y.y = ( f (x0 + θy) − f (x0 )).y). Dn f (x0 )).. sous ces notations. e e Th´or`me 5 Si un champ f est diff´rentiable en x0 .. . y) := f (x0 + y) − f (x0 ) − f (x0 ).) Supposons que les d´riv´es partielles D1 f (x0 ).. f est diff´rentiable en x0 . e e Th´or`me 6 (Une condition suffisante de diff´rentiabilit´.3. 1]. En utilisant la formule des accroissements finis pour g entre 0 et 1. le contre-exemple pr´c´dent). nous obtenons bien l’existence de θ = θ(y) ∈]0.. ∂x ∂y 1. . y. le vecteur gradient s’´crit e f (x. z)k. y)j. On trouve ´galement quelques fois la notation gradf . Cette forme est alors similaire ` celle obtenue dans le cas unidimensionnel o` a joue le rˆle de f (x0 ). Alors. Le gradient f est un champ scalaire d´fini en chaque point x0 e o` les d´riv´es partielles D1 f (x0 ). y. y)i + (x.. C’est ce que l’on appelle le gradient de f . e e Le prochain th´or`me montre que l’existence de d´riv´es partielles continues en un point implique la e e e e diff´rentiabilit´ en ce point. alors toutes les d´riv´es partielles D1 f (x0 ). e e e l’inverse est faux (cf. alors f est continue en x0 . nous avons f (x. Toutefois. 1] → R d´finie par g(h) = f (x0 + h. e g ∈ C 1 [0. v).Dn f (x0 ) existent.

Montrer que 2. Montrer que r est un vecteur unitaire dans la direction de r. f (x. rn = nrn−2 r. soit r(x. la r`gle de calcul en chaˆ permet de calculer la d´riv´e d’une fonction e ıne e e compos´e g(t) = f (r(t)) par la formule e g (t) = f (r(t))r (t). Alors. 1. Ceci montre e encore que f est diff´rentiable en x0 et que la diff´rentielle (i.4 1. y)/ y tend vers 0 lorsque y tend vers 0. trouver un champ scalaire f tel que f = r.y. Remarque 1 Un champ scalaire satisfaisant les hypoth`ses du th´or`me pr´c´dent est appel´ continuement e e e e e e diff´rentiable en x0 . e Th´or`me 7 Soit f un champ scalaire d´fini sur un ensemble ouvert S dans Rn et soit r une fonction e e e a valeurs vectorielles r´elles qui transporte un intervalle J de R dans S. Nous allons ´tendre cette formule lorsque e • f est remplac´e par un champ scalaire d´fini sur un ensemble d’un espace n-dimensionnel. la d´riv´e totale) est donn´e par Df (x0 )y = e e e e e f (x0 ). y. si t ∈ J. avec n un entier strictement positif.1 Quelques r`gles et r´sultats utiles e e Une r`gle de d´rivation en chaˆ pour les champs scalaires e e ıne Dans le cas unidimensionnel. Exercice 6 Dans R3 . e e a Nous verrons ensuite comment ´tendre la formule pour f et r des champs vectoriels. o` x0 = r(t0 ). y. f (x.Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 19 Les hypoth`ses faites sur f impliquent donc que w(x0 . 3. 1. e e Exercice 5 Evaluer la d´riv´e directionnelle du champ scalaire f (x. e Exercice 4 Donner les gradients en chacun des points o` il existe pour les fonctions suivantes u 1. g (t0 ) existe et est u e ´gale au produit scalaire e g (t0 ) = f (x0 ) · r (t0 ). y. Soit t0 un point de J o` r (t0 ) existe et supposons que f est diff´rentiable en r(t0 ).4. e e • r est remplac´e par une fonction d’une variable r´elle ` valeurs dans le domaine de f . z) = xi + yj + zk. 1. 0) selon la direction y = i − j + 2k. y) = x2 + y 2 sin(xy). z) = x2 + y 2 + 3z 2 au point (1.e. 4. et r = r . u . z) = x2 − y 2 + 2z 2 . D´finissons la fonction compos´e ` e e e g = f ◦ r sur J par la relation g(t) = f (r(t)). 2. Montrer que la formule reste vraie pour n ≤ 0.

calculer F (t) en fonction de f . Y (t)). que nous notons u = F (t). Alors. Remarquons que la d´riv´e f (x0 . y = Y (t). la d´riv´e f (x0 . e Th´or`me 8 Supposons que f soit diff´rentiable en x0 et de d´riv´e totale Tx0 . X(t) = t. y).20 Exercice 7 On suppose que toutes les d´riv´es des fonctions suivantes sont continues et existent.8) o` E(x0 . e a) Utiliser la r`gle de d´rivation en chaˆne pour montrer que e e ı F (t) = ∂f ∂f X (t) + Y (t). auquel cas nous avons m f (x0 . e e ∂x ∂y b) De la mˆme mani`re. y) = (f1 (x0 .. v) est un vecteur de Rm . y)ek .4. La transformation lin´aire Tx0 est appel´e e e d´riv´e totale de f en x0 . Si x0 est un point e n int´rieur de S et si y est un vecteur de R . (1. x = X(t). y) e e e existe pour chaque 1 ≤ k ≤ m. y) existe si et seulement si fk (x0 . y)) = k=1 fk (x0 . La formule de Taylor au premier ordre (1.8) a lieu pour tout v tel que u v < r pour des r > 0. e e e Soit fk la k-i`me composante de f .. y) par la formule e e e e f (x0 . y) est un vecteur de Rm . ∂x ∂y ∂f ∂f et sont ´valu´es en (X(t). X et Y . d´finissent u comme une fonction de t. Pour les champs de vecteurs. nous allons prouver que Tx0 est un vecteur dont la k-i`me composante est le produit scalaire e fk (x0 ) · y. La d´riv´e f (x0 . y) = lim h→0 f (x0 + hy) − f (x0 ) h d`s que la limite existe. u e e Nous dirons que f est diff´rentiable en un point x0 si il existe une transformation lin´aire e e T x 0 : Rn → Rm telle que f (x0 + v) = f (x0 ) + Tx0 (v) + v E(x0 . Les ´quations e e e u = f (x.2 D´riv´e d’un champ vectoriel e e La th´orie de la d´rivation pour les champs de vecteurs est une extension directe de celle pour les champs e e scalaires. y) e e e e e e . Y (t) = t2 . Le terme E(x0 . v) → 0 lorsque v → 0. y). o` ek est le k-i`me vecteur des coordonn´es. on d´finit la d´riv´e totale f (x0 . v). 1.. fm (x0 . Soit f : S → Rm un champ de vecteurs d´fini sur un sous-ensemble S de Rn . y) = x2 + y 2 . nous avons prouv´ que Tx0 (y) est le produit scalaire e e e du gradient f (x0 ) avec y. Pour des champs scalaires. . e e c) Appliquer ces r´sultats aux fonctions e o` u f (x.

Ainsi..9) On peut en fait r´crire plus simplement sous forme matricielle cette derni`re relation e e Tx0 (y) = Df (x0 )y. ..3 La r`gle de d´rivation en chaˆ pour les champs de vecteurs e e ıne Th´or`me 10 (d´rivation en chaˆne).. le jacobien e e e e e e e Df (x0 ) est une repr´sentation matricielle de cette transformation..9).. Supposons que g soit diff´rentiable dans e e . Son j-`me ´l´ment est la d´riv´e e e ee e e partielle Dj fk (x0 ).4... nous avons  D1 f1 (x0 ).Dn f1 (x0 )   Df (x0 ) =  . La matrice Df (x0 ) est appel´e matrice jacobienne de f en x0 . o` Df (x0 ) est la matrice m × n dont la k-i`me ligne est fk (x0 ) et o` y est regard´ comme un vecteur de u e u e longueur n. nous avons m Tx0 (y) = k=1 fk (x0 ) · yek = ( f1 (x0 ) · y.Dn fm (x0 )  La matrice jacobienne Df (x0 ) est d´finie en chacun des points o` les mn d´riv´es partielles Dj fk (x0 ) existent. De mani`re similaire au cas scalaire. de d´riv´e totale g (x0 ).. alors f est continue en x0 .. fm (x0 ) · y).... La formule de Taylor au premier ordre e s’´crit e f (x0 + v) = f (x0 ) + f (x0 )(v) + v E(x0 . fm ) et si y = (y1 . e u e e La d´riv´e totale Tx0 s’´crit ´galement f (x0 ). yn ).. Soit y0 = g(x0 ) et supposons que f soit diff´rentiable en e e e y0 . Pour calculer les composantes du vecteur f (x0 )(v).Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 21 existe pour tout x0 dans Rn et nous avons Tx0 (y) = f (x0 .. la composition h = f ◦ g soit d´finie dans un voisinage d’un point x0 .. v). Soient f : Rn → Rm et g : Rp → Rn des champs de vecteurs tels que e e e ı un voisinage d’un point x0 .. La d´riv´e f (x0 ) est une transformation lin´aire . o` E(x0 .. nous avons que la diff´rentiabilit´ d’un champ vectoriel implique la e e e continuit´ de ce champ.. .. (1. et la d´riv´e totale h (x0 ) est donn´e par e e e e e e h (x0 ) = f (y0 ) ◦ g (x0 ). e Th´or`me 9 Si un champ de vecteurs f est diff´rentiable en x0 . . Alors.... v) → 0 lorsque v → 0. y)... si f = (f1 . h est diff´rentiable en x0 .. De plus. on peut utiliser le produit u matriciel Df (x0 )v ou encore la formule (1.  D1 fm (x0 )... de d´riv´e totale f (y0 ). e e e 1..

nous obtenons a Dh(x0 ) = Df (y0 )Dg(x0 ). h(x0 ) ∈ R et nous pouvons ´crire e g = (g1 . Dh(y0 ) est une matrice m × n et Dg(x0 ) est une matrice n × p.10) o` y0 = g(x0 ). Le cas particulier p = 1 donne une ´quation e n h (x0 ) = k=1 Dk f (y0 )gk (x0 ). f = (f1 . On peut en fait exprimer la r`gle de d´rivation en chaˆ grˆce aux matrices jacobiennes Dh(x0 ). o` g est diff´rentiable en x0 et f est diff´rentiable en y0 = g(x0 ). y).j=1 Df (x0 ) = [Dj fi (y0 )]m... . .. hm )..j=1 Dg(x0 ) = [Dj gi (x0 )]n. t) et b = (x. Alors. Alors. Df (y0 ) e e ıne a et Dg(x0 ) qui repr´sentent les transformations lin´aires h (x0 ). ∀1 ≤ j ≤ p. f est un champ e e ı e e scalaire. Puisque la e e composition d’applications correspond ` la multiplication de matrices. (1.p . Exemple 5 (R`gle de d´rivation en chaˆne d´velopp´e pour les champs scalaires).n . f (y0 ) et g (x0 ). g = (h1 . t).j=1 L’´quation (1. .22 nous donne Soit h = f ◦ g. y0 = g(x0 ) ∈ R . On peut ´galement exprimer la r`gle sous la forme d’un ensemble d’´quations scalaires. donn´es e Dh(x0 ) = [Dj hi (x0 )]m. u e e e p n m m Supposons que x0 ∈ R .. Si m = 1. i.10) est ´quivalente ` mp ´quations scalaires e e a e n respectivement par Dj hi (x0 ) = k=1 Dk fi (y0 )Dj gk (x0 ). Alors.. t) et y = g2 (s. et f (y0 ) ∈ R . . gn ). Ecrivons x0 = (s. Exemple 6 Consid´rons p = 2 et n = 2..p . Dh(x0 ) est une matrice m × p. 1 ≤ j ≤ p.. fm ). La d´rivation en chaˆ u e e e ıne h (x0 ) = f (y0 ) ◦ g (x0 ). ∀1 ≤ i ≤ m. i.. les composantes de x et y e sont reli´es a s et t par les ´quations e ` e x = g1 (s. respectivement. h aussi. i. Les p ´quations (une pour chaque d´riv´e partielle de h) s’´crivent e e e e n Dj h(x0 ) = k=1 Dk f (y0 )Dj gk (x0 ).

4. e e e . x2 + y 2 et f (0. y0 ) = D2. ∂r ∂θ ∂x ∂y ∂2ϕ en fonction de celles de f . D2 f . les deux d´riv´es mixtes D1. y0 ). 0) = 0 sinon. Dans l’exercice pr´c´dent. e e Th´or`me 11 (Une condition suffisante pour l’´galit´ des d´riv´es partielles mixtes). De mˆme. On e e e e a peut montrer que les deux d´riv´es mixtes sont ´gales en un point (x0 . Ceci fait l’objet du th´or`me suivant. t) = D1 f (x.1 f (0. y)D2 g1 (s. t). ce couple d’´quations s’´crit e e ∂f ∂f ∂g ∂f = + ∂s ∂x ∂s ∂y ∂f ∂g ∂f ∂f = + ∂t ∂x ∂t ∂y ∂g . t) = D1 (f ◦ g) = D1 f (x. r sin(θ)). En coordonn´es polaires. y)D1 g2 (s.2 f et D2. les deux d´riv´es partielles D2.2 f et D2.1 f ne sont a e e e pas n´cessairement ´gales. y)D2 g2 (s. y) = (0. Si (x0 .1 f (x0 . Supposons que f soit e e e e e e un champ scalaire tel que les d´riv´es partielles D1 f .2 f et D2.1 f et D1. nous avons alors u D1. ∂t Exercice 8 (Coordonn´es polaires). θ) = f (r cos(θ). Montrer que D2. 0) = 1.4 Conditions suffisantes pour avoir l’´galit´ des d´riv´es partielles mixtes e e e e Si f est une fonction ` valeurs r´elles de deux variables. On peut en fait d´montrer une version plus forte de ce th´or`me. y) = xy x2 − y 2 .1 f existent sur un ouvert S. e e e Exercice 9 Soit f la fonction d´finie par e f (x.2 f (x0 . Posons : ϕ(r. nous avons e D2 h(s. Selon la notation ∂. 0). ∂ϕ ∂ϕ ∂f ∂f • Exprimer et en fonction de et .Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 23 La r`gle de d´rivation en chaˆne donne un couple d’´quations pour les d´riv´es partielles de h e e ı e e e D1 h(s. y0 ) si au moins l’une d’entre elles est e e e continue en un voisinage de ce point.1 f sont continues. e e e nous avons x = r cos(θ) et y = r sin(θ).2 f (0. y). Un exemple est donn´ par l’exercice suivant. 0) = −1 et D1. ∂s ∂g . t).2 f ne sont pas continues ` l’origine. y0 ) e e est un point de S o` D1. Soit f un champ scalaire d´pendant de (x. t) + D2 f (x. pour (x. On peut montrer dans un premier temps qu’elles sont ´gales si elles sont e toutes deux continues. D1. y)D1 g1 (s. t) + D2 f (x. • Exprimer la d´riv´e partielle du second ordre e e ∂θ2 1.

4 (Continuit´ et diff´rentiabilit´ d’une fonction de plusieurs variables). y) = x3 + −→ R 1 + x2 + y 2 R3 (x. f est-elle continue ? 2. Sont-elles continues ? e e 3. y.24 Th´or`me 12 Soit f un champ scalaire tel que les d´riv´es partielles D1 f .5 Exercices Exercice 1. z) −→ g(x. Supposons de plus que D2. Exercice 1. e Calculer la diff´rentielle ` l’origine des applications suivantes : e a (i) f : (ii) g : R2 (x. les d´riv´es partielles e e D1. −→ ∂x ∂y : C ∞ (R2 ) ϕ et Φ sont-elles lin´aires ? e Exercice 1. 0) ? e Exercice 1.1 f est continue sur S.1 f existent sur un e e e e ouvert S contenant (x0 . e e e . 0). y) = (0. y0 ). la fonction d´finie par : e f: −→  R   0 3 (x. 0) 1.2 (Lin´arit´ des op´rateurs diff´rentiels). y) −→ R −→ f (x. e e e L’application f est-elle diff´rentiable en (0. y0 ). y) = (0. e e e e On d´finit les fonctions e et Φ par : −→ C ∞ (R2 ) et Φ : C ∞ (R2 ) 2 2 ∂ ϕ ∂ ϕ ϕ −→ + . 0) (x.2 f (x0 . y0 ) = D2.2 f (x0 .3 (Continuit´ et diff´rentiabilit´ d’une fonction de plusieurs variables). Calculer les d´riv´es partielles de f .1 f (x0 . Calculer les d´riv´es directionnelles (si elles existent) de f au point de coordonn´es (0. z) = xyz sin (xy) + 2x + 5. y0 ) existent et nous avons D1. D2 f et D2.1 (Calcul explicite de diff´rentielles). ∂x2 ∂y 2 −→ C ∞ (R2 ) ∂ϕ ∂ϕ · . y. e e e Soit f . 1. Alors. y) −→ 2  |x| y  2 x + y2 R2 si si (x.

f admet-elle des d´riv´es partielles sur R2 ? e e 3. On appelle f . f admet-elle des d´riv´es partielles ? e e 4. y) −→ (x4 + y 4 ) sin 1 x4 + y4 . Montrer que l’on peut d´finir un prolongement par continuit´ de la fonction f . e e Soit f . f est-elle C 1 sur son ensemble de d´finition ? e Exercice 1. y) =  0 si sinon (x. ce prolongement. 0)} −→ R (x. Exercice 1. 0). 0) et (0. 1. y) = x2 y sin y . y)  2  y −x x2 + y 2 −→ f (x.8 (Etude compl`te d’une fonction de plusieurs variables). ´ Exercice 1.5 (Continuit´ et diff´rentiabilit´ d’une fonction de plusieurs variables).7 (R´gularit´ d’une fonction de plusieurs variables). e e 2. y) −→ xy x2 + y 2 . 0)} −→ R (x.6 (Diff´rentiabilit´ d’une fonction de plusieurs variables). f est-elle de classe C 1 sur R2 ? ∂2f ∂ 2f (0. 4. e e La fonction suivante est-elle diff´rentiable ? e f : R2 \{(0.Continuit´ et calcul diff´rentiel de champs scalaires et vectoriels e e 25 On d´finit l’application f de la fa¸on suivante : e c f : R2 \{(0. a Rien ne certifie que f est de classe C 2 au voisinage de (0. Montrer que l’on peut prolonger f par continuit´. e e e Reprendre les questions de l’exercice pr´c´dent avec la fonction : e e g : R2 \{(0. e ´ 2. 0)} −→ R (x. x 1. 0). avant de les calculer. e . Etudier la diff´rentiabilit´ de f . Calculer ∂x∂y ∂y∂x Remarque : attention ` donner un sens convenable aux deux expressions ci-dessus. e e 3. la fonction de R2 dans R d´finie par : e f (x. y) = (0. 0) Exercice 1.

On d´finit la fonction f sur R2 e e e a e par : f (x.9 (Diff´rentiabilit´ d’une fonction d´finie ` l’aide d’un max). x2 + y 2 − xy On rappelle que le nombre aα est d´fini pour tout α ∈ R et a > 0 par la relation : aα = eα ln a . 2 ´ 3. Etude de la continuit´ de f en (0. y). 2α−1 Utiliser un arc param´tr´ pour prouver que f est discontinue en 0 si α ∈]0. (c) Conclure. x + y + |x − y| 2. D´montrer que : ∀(x. (b) Cas 0 < α ≤ 1. D´montrer rapidement l’in´galit´ v´rifi´e pour tous (x. e 1. y) . y) ∈ R2 . En utilisant la question pr´c´dente. suivant les valeurs de α > 0. not´ Df . y) non nuls du nombre ´ 3.26 Le but de ce probl`me est d’´tudier. 0) de la e e e e fonction de deux variables d´finie par : e f (x. f (x. En d´duire un e 2 (a) Cas α > 1. la fonction f est diff´rentiable en (0. y) non nuls. pour (x. y)| ≤ Conclure. 0) e e    f (x. 1. trouver un moyen de repr´senter f (x. 0). e e e (b) Prouver que si α > 3 . 0)} du nombre :   φ(x. 2 5 5. |x|α |y|α 1 2 φ (x. Etude de la diff´rentiabilit´ de f en (0. 0) si. D´terminer l’ensemble de d´finition de f . 0) e f (x. d´montrer que pour tous (x. e e e 2. Par un syst`me de coloriage dans le plan. e e Exercice 1. y) = e .10 Liens entre les notions de d´rivabilit´s e e n n Soit x0 ∈ R et V ⊂ R un voisinnage ouvert de x0 . et e e e e seulement si α > 3 . Application : α = 4 . y) = |x|α |y|α . f est-elle de classe C 1 sur R2 ? 1 φ2(α−1) (x. la diff´rentiabilit´ au point (0. ´ 4. y). On consid`re f : V ⊂ Rn → R et on introduit les e . y) . y)   (a) Donner un encadrement. Etudier la diff´rentiabilit´ de f sur R2 . (c) En utilisant des arcs param´tr´s. y). y) en fonction de x et e e y. y) = max(x. 1]. y) ∈ R2 \{(0. on a : e e e |f (x. d´montrer que la fonction f est diff´rentiable en (0. 2 Exercice 1. y) ∈ R2 : |xy| ≤ e e e e e encadrement pour tous (x.

Pour prouver les non ´quivalences on pourra donner e e e des contre exemples. . 1. y) = (b) (p2 ) ⇒ (p1 ) (c) (p3 ) ⇒ (p2 ) (d) (p4 ) ⇒ (p3 ) (e) (p5 ) ⇒ (p1 ) f (x0 ). e a ∂f ∂f (p4 ) : f admet n d´riv´es partielles ∂x1 .. ∂xn en x0 . e e On demande de montrer les relations ´nonc´es ci-dessous. e e (p5 ) : f admet n d´riv´es partielles en x0 qui sont continues sur un voisinnage V de x0 . Liens entre d´rivabilit´ et continuit´ e e e (a) (p1 ) ⇒ (p0 ) (b) (p2 ) ⇒ (p0 ) 2..Compl´ments en calcul diff´rentiel e e 27 propri´t´s ci-dessous : ee (p0 ) : f est continue en x0 (p1 ) : f est diff´rentiable en x0 e (p2 ) : f est Gˆteaux-d´rivable en x0 a e (p3 ) : f est d´rivable en x0 par rapport ` toutes les directions y ∈ Rn .y . Liens entre les diff´rentes notions de d´rivabilit´s e e e (a) (p1 ) ⇒ (p2 ) ⇒ (p3 ) ⇒ (p4 ) et Df (x0 )y = f (x0 .

28 .

la r`gle de d´rivation en chaˆ pour les champs scalaires. en posant γ(t0 ) = x0 . Une caract´risation simple du plan tangent en x0 est donn´e par l’ensemble des points x ∈ R3 satisfaisant e e l’´quation f (x0 ) · (x − x0 ) = 0. La traduction de cette derni`re relation est e e niveau de type Γ. Consid´rons f . e e Consid´rons dor´navant un champ scalaire f diff´rentiable sur un ouvert S de R3 et analysons en d´tails e e e e les surfaces de niveau L(c). L(c) est appel´ courbe de niveau et surface de niveau dans l’espace tridimensionnel. Soit par exemple f (x. y) la temp´rature en un point (x. e 29 . pour tout t ∈ I. elle d´crit les lignes de flot. nous avons : g(t) = f (γ(t)) = c. e Les lignes de niveau interviennent dans plusieurs domaines de la physique. On sait que le flot e e de chaleur est dirig´ selon la direction o` la variation de temp´rature est la plus importante.Chapitre 2 Compl´ments en calcul diff´rentiel e e Cette partie vient en compl´ment de la partie calcul diff´rentiel propos´e en OCI (Outils de Calculs pour e e e l’Ing´nieur) et enseign´e l’ENSEM en d´but de premier semestre. Les courbes de niveau de f sont alors appel´es isothermes. e e 2 Dans R . Soit L(c) e a cet ensemble L(c) := {x ∈ S /f (x) = c}. Cette r`gle peut e e e e ıne e ˆtre utilis´e afin de d´duire des propri´t´s du champ de gradient associ´. ou encore. trajectoires orthogonales aux isothermes. pr´c´demment. alors l’ensemble de ces vecteurs tangents d´fini le plan tangent ` la surface de niveau L(c) en e a x0 . y). f (x0 ) est normal ` cette courbe en x0 . puisque g(t) = c. Si nous balayons l’ensemble des surfaces de d´rivation en chaˆ (cf. En effet. e e e e puisque Γ se trouve sur la surface de niveau L(c). Or. c’est-`-dire. f (x0 ) est perpendiculaire au plant tangent a Tx0 de Γ en x0 . Soit x0 un point de cette surface et Γ une courbe se trouvant sur S qui passe par x0 . le th´or`me 7) nous donne alors : g (t) = f (γ(t)) · γ (t). le gradient reste perpendiculaire ` tout vecteur tangent ` ces courbes. f (x) = c. et d´finissons les points x de S tels que f (x) soit constant. Si nous supposons que a a f (γ(t0 )) = 0. e e e 2. si nous supposons Γ param´tris´e par un champ diff´rentiable γ d´fini sur I ⊆ R. La r`gle de e que le gradient de f en x0 est perpendiculaire au vecteur γ (t0 ). Alors. nous e ıne e e en d´duisons que : f (γ(t0 )) · γ (t0 ) = 0. L’ensemble L(c) est commun´ment appel´ ensemble de niveau de f . Cette direction est e u e connue pour ˆtre normale aux isothermes. un champ scalaire e e e ee e e n de S dans R .1 Courbes de niveau Nous avons vu.

Afin de distinguer les diff´rents types de points stationnaires. Finalement. il est appel´ point-selle e si pour toute boule B(x0 ) il existe des points x tels que f (x) < f (x0 ) et d’autres tels que f (x) > f (x0 ). f (x0 )). Un exemple similaire mais pour un point de minimum absolu revient a ”renverser la coupe” ` et a consid´rer par exemple la surface z = x2 + y 2 . Toutefois. La fonction f poss`de un minimum local (ou relatif ) sur C en x0 si l’in´galit´ pr´c´dente est satisfaite dans e e e e e un voisinage de x0 .30 2. Dans le e u e cas d’une surface. Nous appelons. nous utilisons la classification suivante qui e est tr`s commun´ment pratiqu´e : maxima. minima et points-selle. e qui conduit. en posant A = ∂x f (x0 . Si nous imaginons que la surface consid´r´e e e e e e est un paysage montagneux. Dans la situation que nous consid´rons. l’extension a de l’appellation a un maximum est directe. cette classification revient ` s´parer les sommets de montagnes. y0 ). y.2 Maxima. minima et points-selle (` cheval sur l’optimisation) a Une surface qui est d´crite par une ´quation z = f (x. ` e . y) = 2 − x2 − y 2 (appel´e parabolo¨de de r´volution). y) ≤ f (0. z) = f (x. Lorsque f (x0 ) = 0 (c’est-`-dire lorsque A = B = 0). nous retrouvons le probl`me de points d’inflexion. les fonds de a e vall´es et finalement les passages montagneux. C’est ce qui arrive lorsque notamment nous consid´rons un point-selle. c’est-`-dire pour des points x se trouvant dans des boules B(x0 ). le point a x0 est appel´ point stationnaire ou critique de f . ∀(x. par simple d´rivation. ce qui signifie g´om´triquement que le plan tangent est horizontal en ce e e point. y) ∈ R2 . alors : f (x0 ) = 0. nous avons alors en e e un point stationnaire F (x0 ) = −k. y) peut ˆtre pens´e comme une surface de niveau en e e e e posant F (x. ` Si nous consid´rons un extremum de f en un point x0 o` f est diff´rentiable. ` l’´quation du plan tangent en un point donn´ x0 = (x0 . z0 ) e a e z − z0 = A(x − x0 ) + B(y − y0 ). indistinctement extremum un minimum ou un e maximum du champ f . e Exemple 7 Consid´rons la surface d’´quation z = f (x. e e e ı e Les courbes de niveau sont des cercles et puisque f (x. l’orgine est un point de maximum absolu. f (x0 ) ≤ f (x). y) − z. Dans le cas unidimensionnel. y0 ) et B = ∂y f (x0 . 0). Si nous supposons f diff´rentiable. la condition sur le gradient n’est pas suffisante bien sˆ r. y0 . nous avons e F = ∂x f i + ∂y j − zk. u e e D´finition 11 Supposons f de classe C 1 et soit x0 un point stationnaire de f . Alors. Il est crucial en pratique de faire le distinguo entre extremum global ou local (relatif). cela signifie que le plan tangent est horizontal en (x0 . D´finition 10 Un point x0 est appel´ minimum absolu de f sur un ensemble C de Rn si e e ∀x ∈ C.

y) ∈ R∗− × R∗− ).1) sous la forme e n ∀y = (y1 . selon la classification introduite ci-dessus. si nous consid´rons un point du e deuxi`me ou quatri`me quadrant. . y) ∈ R∗− × R∗+ ou (x. y). c’est une matrice sym´trique. o` limy→0 E(x0 . Nous voyons clairement que nous ne poss´dons pas suffisamment d’informations pour u e conclure sur la nature de ce point. y) = xy (appel´e parabolo¨de hyperbolique). nous avons e e a imm´diatement que f (x. y) = 0.) Supposons que f soit un champ diff´rentiable qui admet un point stationnaire x0 . Soit par exemple ` (x. que la nature du point stationnaire est d´finie par le signe de f (x0 + y) − f (x0 ). appel´e matrice hesu e e sienne (on la note quelques fois D2 f ).. y) > 0.Compl´ments en calcul diff´rentiel e e 31 Exemple 8 Consid´rons la surface d’´quation f (x. z = f (x. Th´or`me 13 Soit f un champ scalaire qui admet des d´riv´es partielles secondes ∂xi . le point x0 = 0 est stationnaire puisque f (x0 ) = 0. e Supposons que f soit deux fois continuement diff´rentiable et soit la forme quadratique Hx d´finie en un e e point x par ∀y ∈ Rn . alors f (x.n i. pour tout y ∈ R tel que (x0 + y) ∈ B(x0 ).xj f (x) i. y) = H(x)y · y. Il faut alors pousser plus loin le d´veloppement de Taylor. H(x)y · y = ∂xi . i. y) ∈ R∗+ × R∗+ (ou (x..7)) donne e f (x0 + y) − f (x0 ) = y E(x0 .xj f (x) e e e e n n. e e e e On peut r´crire (2. pour e e e un point x voisin de x0 .xj f (x)yi yj . Nous avons e e e ı un point-selle a l’origine. 1. Exercice 10 Montrer que l’origine est un point stationnaire pour les trois fonctions suivantes. Hx (y. Alors. 3. Sous les hypoth`ses de r´gularit´ ci-dessus. y) < 0. a dire e ` que x0 est un point-selle. Ceci correspond bien alors. y) ∈ R∗+ × R∗− . y) = x2 y 2 . En effet.n (2.1) e o` H(x) est la matrice des d´riv´es secondes de f au point x : H(x) = ∂xi . z = f (x. l’´quation (1. Par contre. nous avons la formule de Taylor au second ordre 1 f (x0 + y) = f (x0 ) + f (x0 ) · y + H(x0 + θy)y · y.j=1 .. c’est-`-dire tel que (x. n.j=1 On a alors la formule de Taylor au second ordre pour les champs scalaires.j=1 continues dans une boule B(x0 ).3 La formule de Taylor au second ordre pour les champs scalaires (un petit effort. La formule de Taylor au premier ordre (cf.. z = f (x. 2. un ) ∈ Rn . 2. (2. Il est clair. d’apr`s la e e classification pr´c´dente.. Pr´ciser alors e le type de ce point stationnaire. y) = 1 − x2 .2) 2 . y) = x3 − 3xy 2 .

y). y) < 0. (2. pour 1 ≤ e e e e i. 1 f (x0 ) · y + H(x0 )y · y + y 2 2 E2 (x0 . j ≤ n. Soit un vecteur y ∈ Rn . 1[.y).xj f (x). On v´rifie bien que la relation (2. nous obtenons bien l’existence de a θ = θ(y) tel que (2.. On a alors le th´or`me suivant qui fait le lien entre la nature des points stationnaires et le spectre de la e e matrice hessienne. nous avons 1 f (x0 + y) = f (x0 ) + H(x0 )y · y + y 2 2 E2 (x0 .j ]i.2) peut s’obtenir en supposant simplement que f ∈ C 1 (B(x0 )) et f deux fois diff´rentiable e sur la boule ouverte. soient continues dans une boule B(x0 ).3). car on a suppos´ que les d´riv´es partielles e e e e secondes de f sont continues sur B(x0 ).. . Remarquons que (2. nous soyons capables de fixer la nature du e point x0 . ∀y ∈ Rn .n d´finie par la relation A(y. e ii) A(y. u Preuve.2) implique (2. y) = Ay · y. λn . pour un point x suffisamment proche de x0 . nous avons e i) A(y. . y) > 0. 1] ∩ C 2 ]0. Mais alors (2.4) qui laisse esp´rer que.3) Soit y ∈ Rn fix´ et g : [0.1 une matrice r´elle sym´trique et soit la forme quadratique A associ´e e e e n. Puisque A est sym´trique elle admet n valeurs propres λ1 . y = 0 ⇔ toutes les valeurs propres de A sont positives strictement (et alors A est dite d´finie positive). Dans le cas d’un point stationnaire. En r´alit´.2) n’implique pas clairement (2. On note Eλ l’espace propre associ´ ` e ea la valeur propre λ.. y). on peut relier le signe de la forme quadratique au signe du spectre de la matrice hessienne. on peut alors construire un base orthonorm´e e e e V = {v1 . nous avons besoin de la proposition suivante. on v´rifie que Eλi et Eλj sont orthogonaux. et soit H(x0 ) la matrice hessienne en un point stationnaire . Si λi et λj sont deux valeurs propres distinctes. que l’on peut ´galement r´crire sous la forme u e e f (x0 + y) = f (x0 ) + o` limy→0 E2 (x0 .2) ait lieu. Proposition 1 Soit A = [ai. A e e cette fin. vn } de Rn telle que A(vi ) = λi vi . On v´rifie que g ∈ C 1 [0. Alors. e e Preuve. 1] → R d´finie par g(h) = f (x0 + h.3). Th´or`me 14 Soit f un champ scalaire tel que toutes ses d´riv´es partielles secondes ∂xi . ∀y ∈ Rn . e En utilisant le proc´d´ de Gram-Schmidt sur les espaces propres. y) = 0. y = 0 ⇔ toutes les valeurs propres de A sont n´gatives strictement (et alors A e est dite d´finie n´gative).32 o` 0 < θ < 1.. On le d´compose dans la base V et les e relations i) et ii) s’obtiennent directement.j=1. En e e e utilisant la formule des accroissements finis ` l’ordre 2 pour g entre 0 et 1. (2.

Par exemple. On consid`re le d´veloppement limit´ ` l’ordre 2 de f en x0 e e e e e e ea (c. la matrice hessienne H(x0 ) est sym´trique. e iii) si H(x0 ) poss`de au moins une valeur propre strictement positive et une valeur propre strictement e n´gative. f a un minimum relatif en x0 . e Pour s’en convaincre on pourra reprendre les exemples 7 et 8 ainsi que l’exercice 10 . alors f a un point-selle en x0 . e Preuve. Les propri´t´s i) ` iii) s’obtiennent alors facilement e ee a Remarque 2 Le th`or`me ci-dessus ne couvre pas toutes les possibilit´s.G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 33 x0 .f. i) si toutes les valeurs propres de H(x0 ) sont positives strictement. ii) si toutes les valeurs propres de H(x0 ) sont n´gatives strictement.3). Dans ce cas il faut approfondir l’´tude. si on suppose seulement e e e que toutes les valeurs propres sont positives. 2. et on d´compose y dans V. f a un maximum relatif en x0 . Avec les hypoth`ses faites. Alors. on ne peut pas conclure directement. Soit V la base orthonorm´e e e e construite dans la preuve du th´or`me pr´c´dent.

34 .

D’un point de vue math´matique. e e ce qui consiste ` faire une projection sur un espace de dimension finie. 35 . En plus d’introduire les notations et a notions de l’optimisation. Les contraintes sont souvent de type in´galit´s e e C = {x ∈ Rn tels que : ϕi (x) ≤ 0.1 Introduction On s’int´resse dans ce cours aux probl`mes du type suivant : ”trouver le minimum d’une fonction sans ou e e avec contrainte(s)”. x∈C Le probl`me peut ˆtre ´galement pos´ en dimension infinie. Toutefois. ∀i ∈ I} . La raison principale est. on discr´tise le probl`me continu. le point de vue qui consiste ` traiter des probl`mes ee a e d’optimisation en dimension finie. nous donnons ´galement quelques r´sultats th´oriques sur l’optimisation sans ou e e e avec contraintes. Remarquons tout d’abord que – maximiser J est ´quivalent ` minimiser −J. dans ce cours ´l´mentaire. le probl`me se formule de la fa¸on suivante : e e c • probl`me sans contrainte : e • probl`me avec contrainte : e min J(x). il s’agit dans ce cas de minimiser une fonctionnelle e e e e J sur un espace vectoriel de dimension infinie (un espace hilbertien par exemple mais non exclusivement). nous adopterons. e a – il est important de distinguer entre minimum local et global. x∈Rn min J(x).Chapitre 3 G´n´ralit´s et ´tude th´orique des e e e e e probl`mes d’optimisation e 3. qu’en pratique.

On rencontre parfois une classification des probl`mes d’optimisation. x →+∞ alors J poss`de un minimum sur C. e Si ii) a lieu on peut par exemple prouver le r´sultat comme suit (voir aussi exercice 3. Si x0 satisfait ϕi (x0 ) < 0. Par exemple. Bx ≤ b} . ∀i ∈ I} . c e e Th´or`me 15 Soit J une fonction continue sur un sous-ensemble C ferm´ de Rn . Introduisons maintenant la d´finition e e suivante. e Preuve. D´finition 12 Soit une contrainte in´galit´ ϕi (x) ≤ 0 et x0 un point de Rn .2 R´sultats d’existence e La plupart des th´or`mes d’existence de minimum sont des variantes du th´or`me classique suivant : une e e e e fonction continue sur un compact admet un minimum. e • d’optimisation diff´rentiable lorsque J et les fonctions ϕi sont une ou deux fois diff´rentiables. on dit e e e que la contrainte est inactive en x0 . o` B est une matrice m × n et b un ´l´ment de Rn×1 . On suppose que e e e – ou bien C est born´.36 ou ´galit´s e e C = {x ∈ Rn tels que : ϕi (x) = 0. Soit (xn ) une suite e . on dit que la contrainte est active ou satur´e e en x0 . e – ou bien C et non born´ et e lim J(x) = +∞ (on dit alors que J est coercive). 2 poly´drique). Commen¸ons par le th´or`me suivant. on parle e e • de programmation lin´aire lorsque J est lin´aire et C est un poly`dre (convexe) d´fini par e e e e C = {x ∈ Rn . Si x0 satisfait ϕi (x0 ) = 0.6). si i) a lieu C est compact et la conclusion est alors ´vidente. u ee • de programmation quadratique lorsque J est une fonctionnelle quadratique J(x) = 1 Ax · x + b · x. e e o` A est une matrice sym´trique d´finie positive. ce qui permet de choisir un algorithme e de r´solution adapt´. u e e e e e e • de programmation convexe lorsque la fonctionnelle J et l’ensemble C sont convexes (C ´tant encore e 3. C ´tant encore en g´n´ral un poly`dre convexe. les fonctions ϕi ´tant des fonctions continues (au moins) de Rn dans R.

Une fonction J d´finie sur un ensemble convexe C e est dite convexe si ∀(x. on v´rifie que (xn ) est born´e et on peut donc en extraire une sous suite (xnk ) qui e e converge vers un certain ´l´ment x∗ . e o e e D´finition 13 Un ensemble C est dit convexe si. e e e e . ∀t ∈]0. y ∈ C. 1].. 1[. 1]. J(xnk ) converge vers J(x∗ ). J(tx + (1 − t)y) < tJ(x) + (1 − t)J(y). La fonction est dite strictement convexe si ∀(x. Puisque J est continue. ce qui ´tablit la convexit´. alors J est convexe si et e e seulement si ∀(x. la caract´risation suivante sera utile. 3. Puisque C est convexe x + θ(y − x) ∈ C et en utilisant e la convexit´ de J il vient : J(x + θ(y − x)) ≤ (1 − θ)J(x) + θJ(y). x = y.2).3 Convexit´ e La convexit´ joue un rˆle extrˆmement important en optimisation. Lorsqu’une fonction convexe est d´rivable. e e Proposition 2 Soit J une fonction diff´rentiable d´finie sur un convexe C de Rn . pour tous points x et y de C. Preuve. y] est inclus e dans C.e. c’est ` dire une suite telle que a J(xn ) → inf J(x). D’o` : e u J(y) − J(x) ≥ J(x + θ(y − x)) − J(x) . 1]. i. On d´duit alors de ee e (3. Donnons quelques d´finitions. ∀t ∈ [0.1) n→∞ x∈C Puisque J est coercive. • R´ciproquement. on part des deux in´galit´s : e e e J(y) ≥ J(x) ≥ J(y + θ(x − y)) − θJ(y + θ(x − y))(x − y) J(y + θ(x − y)) + (1 − θ)J(y + θ(x − y))(x − y). le segment [x. y) ∈ C × C. y) ∈ C × C. ∀t ∈ [0.1) que J(x∗ ) = inf x∈C J(x).G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 37 minimisante pour J. y) ∈ C × C. θ (3. On consid`re θ ∈ [0. On conclut alors en faisant tendre θ vers 0 dans (3. (3.2) J(x) · (y − x) ≤ J(y) − J(x). tx + (1 − t)y est un point de C. et x. • Soit J convexe. En combinant ces deux in´galit´s on obtient : J(x + (1 − θ)y) ≤ θJ(x) + (1 − θ)J(y). J(tx + (1 − t)y) ≤ tJ(x) + (1 − t)J(y).

et en prenant t = on obtient J(y) ≥ J(x0 ). En effet.e.4.3) ii) Soit J strictement convexe. En utilisant cette derni`re in´galit´ et le caract`re convexe de J nous obtenons : e e e e ∀t ∈ [0. cette derni`re n’est pas n´c´ssairement conserv´e lorsque θ tend vers 0. e – tout minimum local de J sur C est un minimum global. d’o` : t(J(y) − J(x0 )) ≥ 0 u ∀t ∈ [0. i. e . e e e Proposition 3 Soit J une fonction convexe d´finie sur un ensemble convexe C. 1] tel que z = y + (1 − )x0 . e e e e Toutefois la premier sens de la preuve ne peut pas ˆtre directement adapt´e.2) e e avec une in´galit´ stricte. 3. ] J(x0 ) ≤ g(t) ≤ tJ(y) + (1 − t)J(x0 ). On suppose que J admet deux minimums globaux distincts x. il y a au plus un minimum global.3) implique que ∀t ∈ [0. On aboutit a la contradiction suivante : J(z) < tJ(x) + (1 − t)J(y) = minC J 3. (3. Il existe ∈ [0.1 Cas sans contraintes Ce qui suit reste valable dans le cas o` le minimum x∗ se trouve ` l’int´rieur de l’ensemble des contraintes. Preuve.4 Conditions d’optimalit´ e Nous supposons dans tout ce paragraphe que J est un ou deux fois diff´rentiable. r) ⊂ C et ∀x ∈ B Soit y ∈ C. La relation (3. (3. il existe r > 0 tel que B := B(x0 . e e e e e e Le r´sultat suivant montre l’impact de la convexit´ dans les probl`mes d’optimisation. Soit alors t ∈]0. Soit z = ∂B ∩ [xy]. 1[ et z = tx + (1 − t)y. ] g(t) ≥ J(x0 ). y. ]. On notera x∗ un minimum e (local) de J. puis celles suffisantes. On consid`re g d´finie par e e g(t) = J(ty + (1 − t)x0 ). Alors.38 Remarque 3 On a une caract´risation similaire pour les fonctions strictement convexe : remplacer convexe e par strictement convexe et l’in´galit´ large par une in´galit´ stricte dans la proposition 2. si l’on obtient bien (3. – si J est strictement convexe. u a e Nous donnons les conditions n´cessaires de minimum. i) Soit x0 ∈ C un minimum local.4) J(x) ≥ J(x0 ).

on a J(x∗ ) = 0. • La condition n´c´ssaire au premier et au deuxi`me ordre en x∗ est v´rifi´e dans le deux cas i) et ii). r) Preuve.G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 39 Th´or`me 16 Conditions n´cessaires. h). On suppose que : e ∗ J(x∗ ) = 0 et que J est deux fois diff´rentiable en x . 2 Puisque E2 (x∗ . On choisit h = −t J(x∗ ) et on pose α = J(x∗ )h + h E(x∗ . e ii) ∃r > 0 tel que J est deux fois diff´rentiable sur B(x∗ . y < 0. y = 0 tel que a := D2 J(x∗ )y. e e e Les deux conditions n´cessaires sont les suivantes e – Condition au premier ordre : si J est diff´rentiable en x∗ . J(x∗ ) . Pour i) : voir th´or`me 14. ty). e – Condition au second ordre : si J est deux fois diff´rentiable au point x∗ . Ainsi il est n´c´ssaire que α = 0. Supposons que α > 0. Ceci indique que x∗ n’est pas un minimum. Puisque E(x∗ . e e Soit J une fonction de classe C 1 d´finie sur Rn . D2 J(x∗ )y. e e Nous ´non¸ons ` pr´sent des conditions n´c´ssaires et suffisantes pour qu’un point x∗ soit un minimum. e e e e e • On v´rifie que i) ou ii) est une condition suffisante. ty) → 0. Il vient ∂2J (x∗ )). r) et. h) → 0 on v´rifie alors qu’il existe t∗ > 0 tel que e ∀t ≤ t∗ : t→0 J(x∗ + h) < J(x∗ ). e Alors. y ≥ 0. x∗ est un minimum (local) de J si l’une des deux conditions suivantes est v´rifi´e e e i) D2 J(x∗ ) est d´finie positive. t∗ ] : e t→0 J(x∗ + ty) < J(x∗ ). u e e Th´or`me 17 Conditions suffisantes. on v´rifie qu’il existe t∗ > 0 tel que ∀t ∈ [0. o` D2 J(x∗ ) est la matrice hessienne. e c a e e e dans le cas o` J est suffisamment r´guli`re.e. d´finie par les coefficients u e Preuve. e e ii) Supposons qu’il existe y ∈ Rn . Ceci indique que x∗ n’est pas un minimum. Ainsi il est n´c´ssaire que D2 J(x∗ ) soit positive. ∂xi ∂xj J(x∗ + h) = J(x∗ ) − tα2 + tαE(x∗ . alors la forme quadratique e D2 J(x∗ ) est positive i. On consid`re un d´veloppement e e ∗ limit´ ` l’ordre deux en x : ea 1 J(x∗ + ty) = J(x∗ ) t2 a + t2 a2 αE2 (x∗ . la forme quadratique D2 J(x) est positive e pour tout x ∈ B(x∗ . h). i) on consid`re un d´veloppement limit´ ` l’ordre un en x∗ : e e ea J(x∗ + h) = J(x∗ ) + Soit t ≥ 0. Pour ii) : on consid`re la e e e e .

On suppose. h ≥ J(x∗ ). gi (x) ≤ 0. J(x∗ )(y − x∗ ) = 0. En effet. Soit y quelconque.. r) il existe λ = λ(h) ∈ (0. e Proposition 5 Soit J une fonction convexe de classe C 1 . x∗ est un minimum (global) de J sur C si et seulement si ∀y ∈ C.2.40 formule de Taylor-MacLaurin en x∗ ` l’ordre 2. 3. c’est-`-dire l’ensemble e a I0 = {i ∈ I. Il suffit de montrer que la condition est suffisante.4. ∀t > 0 e suffisamment voisin de 0. nous avons le r´sultat suivant. Pour tout h ∈ B(0.. et x∗ un e point de C. o Nous notons I0 (sous-entendu I0 (x∗ ) l’ensemble des contraintes satur´es au point x∗ . Alors. D’apr`s la proposition 2 nous avons : e J(y) − J(x∗ ) ≥ ce qui montre bien que x∗ est un minimum. m}} . nous u avons la Proposition 4 Soit J une fonction convexe de classe C 1 .2 Cas avec contraintes Dans cette seconde situation.4. d´finie sur Rn et x∗ un point de Rn .. o` les gi sont des fonctions de classe C 1 de Rn dans R. plus complexe. dans cette partie. 1) tel que a J(x∗ + h) = J(x∗ ) + ce qui montre bien que x∗ est un minimum. Dans le cas o` J est convexe. On appelle direction admissible au point x∗ les vecteurs tangents au point x∗ des courbes admissibles. u D´finition 14 On dit qu’un arc de courbe γ : [0. ∀i ∈ I = {1. . x∗ est e un minimum (global) de J si et seulement si J(x∗ ) = 0. ε] → Rn est admissible si γ(0) = x∗ et γ(t) ∈ C. d´finie sur un ensemble convexe C ⊆ Rn . que l’ensemble C sur lequel on veut minimiser J est donn´ par des contraintes e de type in´galit´s e e C = {x ∈ C. . la condition suffisante s’exprime beaucoup plus facilement.1 Contraintes in´galit´s e e J(x∗ ) · (y − x) ≥ 0. 1 2 D J(x∗ + λh)h. On note Cad (x∗ ) le cˆne des directions admissibles au point x∗ . 2 3. Preuve. Alors. gi (x∗ ) = 0} .

G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e

41

On a alors les deux propri´t´s suivantes. ee Proposition 6 Si y est une direction admissible au point x∗ , alors nous avons l’in´galit´ suivante sur les e e contraintes satur´es e ∀i ∈ I0 , De plus, nous avons la seconde proposition. Proposition 7 Si x∗ est un minimum de la fonction J, alors J(x∗ ) · y ≥ 0, pour toute direction admissible y. Cette derni`re in´galit´ porte aussi le nom d’in´galit´ d’Euler. e e e e e Afin de pr´ciser les conditions d’optimalit´, il est n´cessaire de d´crire plus pr´cis´ment les directions e e e e e e admissibles. La relation (3.5) ne le permet pas puisque ce n’est pas une ´quivalence. Introduisons la d´finition e e suivante. D´finition 15 Nous dirons que les contraintes sont qualifi´es au point x∗ si e e • ou bien les fonctions gi sont affines, • ou bien les vecteurs Nous avons alors la caract´risation. e Proposition 8 Si les contraintes sont qualifi´es au point x∗ , alors y est une direction admissible si et seulee ment si gi (x∗ ) · y ≤ 0, ∀i ∈ I0 . On a alors le th´or`me fondamental suivant dˆ ` Kuhn-Tucker. e e ua Th´or`me 18 (Kuhn-Tucker (1951)). Soit J et gi , i ∈ I = {1, ..., m}, des fonctions de classe C 1 . On supe e pose les contraintes qualifi´es au point x∗ . Alors, une condition n´cessaire pour que x∗ soit un minimum e e n de J sur l’ensemble C = {x ∈ R , gi (x) ≤ 0, i ∈ I}, est qu’il existe des nombres positifs λ1 , ..., λm (appel´s e multiplicateurs de Kuhn-Tucker ou de Lagrange g´n´ralis´s) tels que e e e     
m

gi (x∗ ) · y ≤ 0.

(3.5)

gi (x∗ ), i ∈ I0 , sont lin´airement ind´pendants. e e

J(x∗ ) +
i=1

λi gi (x∗ ) = 0,

avec

λi gi (x∗ ) = 0, ∀i ∈ I.

Attention, ce r´sultat n’est pas une ´quivalence au sens ou ce n’est pas une condition n´cessaire et suffisante e e e de caract´risation de minimum. Elle le devient par contre lorsque nous consid´rons une fonction convexe. En e e effet, nous avons le

42

Th´or`me 19 On reprend les hypoth`ses du th´r`me de Kuhn-Tucker et on suppose de plus que J et les gi e e e o e sont convexes. Alors, x∗ est un minimum de J sur C = {x ∈ Rn , gi (x) ≤ 0, i ∈ I} si et seulement si il existe des nombres positifs λ1 , ..., λm tels que      3.4.2.2 Contraintes ´galit´s e e
m

J(x∗ ) +
i=1

λi gi (x∗ ) = 0,

avec

λi gi (x∗ ) = 0, ∀i ∈ I.

Nous supposons ici que l’ensemble des contraintes est de type ´galit´s, i.e. fi (x) = 0. Puisqu’une contrainte e e e a ´galit´ est ´quivalente ` deux contraintes in´galit´s, ` savoir fi (x) ≤ 0 et −fi (x) ≤ 0, nous allons pouvoir nous e e e a e ramener au cas pr´c´dent. Ce qu’il faut retenir dans ce cas est que e e • les contraintes sont forc´ment satur´es (´vident), e e e • pour qu’une direction y soit admissible, il faut supposer ici

• on a la mˆme notion de contraintes qualifi´es : si on suppose que les vecteurs fi (x∗ ) sont lin´airement e e e ∗ ind´pendants, alors y est admissible si et seulement si : fi (x ) · y = 0, pour tout i. e Lorsque l’on ´crit la condition de Kuhn-Tucker pour les contraintes ´galit´s, nous allons avoir e e e
m

fi (x∗ ) · y = 0, pour tout i,

J(x∗ ) +
i=1

λ1 fi (x∗ ) − λ2 fi (x∗ ) = 0, i i
m

ou encore J(x∗ ) +

µi fi (x∗ ) = 0,
i=1

en posant µi =

λ1 i

avec contraintes in´galit´s). Ces nombres s’appellent multiplicateurs de Lagrange. e e Afin de r´sumer l’ensemble de ces r´sultats, ´non¸ons le th´or`me suivant. e e e c e e

λ2 . i

Les multiplicateurs µi ne v´rifient pas de conditions de signes (contrairement au cas e

Th´or`me 20 (Kuhn-Tucker, Lagrange). Soit J, fi , i ∈ {1, ..., p}, gi , i ∈ {1, ..., m}, des fonctions de classe e e 1 C . On veut minimiser J sur l’ensemble C = {x ∈ Rn , fi (x∗ ) = 0, i ∈ {1, ..., p} , gi (x∗ ) ≤ 0, i ∈ {1, ..., m}} . On suppose les contraintes qualifi´es au point x∗ . Alors, une condition n´cessaire pour que x∗ soit un minimum e e de J est qu’il existe des nombres positifs λ1 , ..., λm , et des nombres r´els µ1 , ..., µp , tels que e     
m p

J(x ) +
i=1

λi gi (x ) =
i=1

µi fi (x∗ ),

avec

λi gi (x∗ ) = 0, 1 ≤ i ≤ m.

G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e

43

3.5

Deux exemples qui permettent de mieux saisir ce que sont les multiplicateurs de Lagrange

3.5.1

Le premier probl`me e

On se donne une surface S ne passant pas par l’origine. On se propose de d´terminer les points x∗ de S les e plus proches de l’origine. Comment poser le probl`me ? La fonction ` minimiser ici est la fonction distance e a J(x) = x , et l’ensemble des contraintes C est la surface elle-mˆme puisque l’on doit en effet avoir x∗ ∈ S. On s’attaque e donc bien ` un probl`me sous contraintes du type a e min J(x).
x∈C

D´signons par r la distance d’un point x ` l’origine. Alors, un point est ` distance r de l’origine s’il satisfait : e a a x = r, c’est-`-dire s’il se trouve sur la sph`re de centre l’origine et de rayon r. Commen¸ons ` r = 0 a e c a puis augmentons la valeur de r. A un moment donn´, cette surface de niveau va toucher S, chaque point de e ∗ contact x ´tant alors un point que nous cherchons. Pour d´terminer les coordonn´es du point de contact, nous e e e supposons que S est d´crite par une ´quation cart´sienne : f1 (x) = 0. Si maintenant S a un plan tangent en e e e un point de contact, ce plan tangent doit ˆtre ´galement tangent ` la surface de niveau. En cela, le gradient e e a de la surface f1 (x) = 0 doit ˆtre parall`le au gradient de la surface de contact J(x) = r ; ceci veut dire qu’il e e existe un scalaire µ tel que nous ayons : J = µ f1 , en tout point de contact. On voit donc que cette derni`re e ´quation correspond bien ` l’approche par multiplicateurs de Lagrange, µ ´tant le multiplicateur. e a e

3.5.2

Le second probl`me e

Soit T (x) la temp´rature en un point x de l’espace tridimensionnel. On se pose alors la question de la e d´termination des maxima et minima de la temp´rature sur une courbe C donn´e de l’espace R3 . e e e D’un point de vue de l’optimisation, le probl`me se pose de la mani`re suivante e e min J(x),
x∈C

en posant J(x) = T (x). Si nous voyons la courbe C comme l’intersection de deux surfaces, disons f1 (x) = 0 et f2 (x) = 0, nous avons alors un probl`me d’extrema avec deux contraintes ´galit´s. Les deux vecteurs gradients e e e f1 et f2 sont normaux ` ces surfaces, et, par cons´quent, sont ´galement normaux ` la courbe C, courbe a e e a intersection de ces deux surfaces. e e a e Nous allons montrer que J, le gradient de temp´rature, est ´galement normal ` C. Dans l’imm´diat, supposons le. Alors, J se trouve dans le plan d´fini par f1 et f2 ; ainsi, si f1 et f2 sont ind´pendants, e e

f1 et f2 qui serait donn´e par les multiplicateurs de Lagrange. sur la courbe d´finie par l’intersection de deux surfaces f1 (x) = 0 et f2 (x) = 0. Par exemple. Le probl`me a bien ´videmment comme solution : x∗ = (0. Soit p. Toutefois. Par ailleurs. J(x) = x1 + 2x2 − ax1 − bx2 − c.1 Les fonctions suivantes sont-elles coercives ? 1.6 Exercices Exercice 3. e Il est imp´ratif de remarquer que la m´thode des multiplicateurs ´choue si e e e f1 et f2 sont lin´airement e d´pendants. d´finie de R2 dans R. e e Exercice 3. Mais. J(x) = 2x1 + x3 + 2x2 . deux r´els strictement positifs. 0). On appelle q son conjugu´. ce que nous a a voulions. on a : xy ≤ e + . un nombre entier naturel.44 nous pouvons exprimer J comme une combinaison lin´aire de e J = µ1 f1 + µ2 f2 . s’intersectent le long de la ligne u y = 1. un plan et un cylindre. supposons que nous essayons d’appliquer la m´thode ` la recherche des valeurs e e a extrˆmales de J(x) = x2 + y 2 . Cette in´galit´ porte le e e e nom d’in´galit´ de Young. nous devons avoir : g (t∗ ) = 0. la temp´rature devient une fonction de t. e a imaginons que C est d´crite par une fonction ` valeurs vectorielles α(t).3 . ce qui donne une condition d’ind´pendance. avec a. 2 2 4. Par ailleurs. a e p q xp yq D´montrer qu’alors. en ce point. trois r´els.2 Soient x et y. e a u Sur la courbe C. les deux gradients des contraintes f1 et f2 sont lin´airement ind´pendants si et e e seulement si f1 ∧ f2 = 0. p q Indication : on utilisera pour cela la convexit´ d’une fonction judicieusement choisie. Les deux surfaces. e 2 2. J(x) = x1 − x2 . disons g(t) = f (α(t)). 1. o` t varie dans un intervalle I = [a. e 2 2 3. J est perpendiculaire ` α (t∗ ). Par ailleurs. d´finie de R dans R. Il est donc clair que l’on ne peut ´crire J(x∗ ) comme une e f1 (x∗ ) et f2 (x∗ ). la r`gle de d´rivation en chaˆ nous dit e e e ıne que g (t) est donn´ par e g (t) = Ce produit est nul si J(α(t)) · α (t). e e 1 1 c’est ` dire le nombre v´rifiant + = 1. J(x∗ ) = 2j. b]. e 2 2 Exercice 3. e e o` f1 (x) = z et f1 (x) = z 2 − (y − 1)3. combinaison lin´aire entre e 3. Si g a un extremum relatif e ∗ en un point int´rieur t . f1 (x∗ ) = k e e ∗ et f2 (x ) = 0. Pour montrer que J est normal ` C en un extremum. b et c. le vecteur α (t∗ ) est normal ` C. J(x) = x3 + x2 + 1.

On cherche alors ` d´terminer le comportement global de ce e e a e nuage de points. e Soit E. x). D´montrer l’existence de R > 0 tel que inf f (x) = e de centre 0 et rayon R. e e e Exercice 3. ces points e r´sultent de mesures prises lors d’exp´riences. b) := ||x − at − b||2 . 2 On introduit la notation suivante : Sf (x. e . donner la solution de ce syst`me. (Ax.t) = i=1 f (xi . un vecteur de taille 1 × n. 1. Soit x∈F x∈F ∩Bf (0. ti ).. Nous avons a e donc ` r´soudre un probl`me de minimisation sans contrainte a e e min J(a. Bien sˆ r. un ferm´ de E. ceux-ci n’ont aucune raison d’ˆtre align´s. Si St − nSt2 = 0.5 On consid`re un nuage de points de R2 tels que Mi = (xi . Montrer que J(a. poss`de une unique solution que l’on d´terminera compl`tement. Soit b. b) = 0 est ´quivalent ` ´crire e ae St2 a + St b = Sxt St a + nb = Sx 2 2. o` Bf (0.R) 1. En pratique. et f : E −→ R. x) − (b. On utilise alors ce que l’on appelle la m´thode des moindres carr´s. pour 1 ≤ i ≤ n. une matrice de taille n × n sym´trique et d´finie positive. un espace vectoriel de dimension finie. ti ). e 2. une application continue et coercive.. b) ∈ R2 n Soit A. la fonctionnelle d´finie sur Rn pour x ∈ Rn×1 par : e J(x) = (a) D´montrer que J est coercive. en ´crivant les conditions e e e e e e e d’optimalit´. que le probl`me e e min J(x) x ∈ Rn×1 . En d´duire que f est minor´e et qu’elle atteint sa borne inf´rieure. inf f (x). b) (a. Puisque l’on n’a pas xi = ati + b. Soit J. D´montrer qu’il existe ν > 0 tel que pour tout vecteur x de taille n × 1. R) d´signe la boule ferm´e u e e 2. e (b) En utilisant le r´sultat d´montr´ dans l’exercice pr´c´dent. e e 1 (Ax.4 1. e e e Exercice 3. On d´cide toutefois de chercher une droite u e e e qui les approche au mieux. en d´duire. e e pour tout indice i. x) ≥ ν x 2 .G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 45 F . on cherche ` minimiser la fonctionnelle J d´finie par J(a.

x). avec n entier. e 2. ∀(u. un vecteur de taille 1×n. 2 1. d´finies sur Rn . v) ∈ (Rn )2 . (a) f (x. (c) f (x. la fonctionnelle e d´finie sur Rn pour x ∈ Rn×1 par : e J(x) = 1 (Ax.6 Soit A. sous cette condition. v − u) ≥ α v − u 2 . v − u) + α v − u 2 . y) = x2 − y 2 − xy.8 Soit J : Rn −→ R. ∀(u. 1. + f (a) + 1! (n − 1)! b a (b − t)n−1 (n) f (t)dt. 2. e Exercice 3. y. une matrice de taille n×n sym´trique. (b) f (x. z) = x4 − 2x2 y + 2y 2 + 2z 2 + 2yz − 2y − 2z + 2. En d´duire une condition suffisante pour que J soit strictement convexe. le cercle de centre 0 et rayon R > 0. e e Exercice 3. y) = x2 + xy + y 2 .. Soit b. u = v. alors on a : f (b) = f (a) + (b − a) (b − a)n−1 (n−1) f (a) + .7 e 1. 2 Indication : on pourra utiliser la formule de Taylor avec reste int´gral que l’on rappelle : si f est une e fonction de classe C n sur le segment [a. (n − 1)! . Calculer la diff´rentielle et la matrice hessienne de la fonctionnelle J. v) ∈ (Rn )2 . v − u). Soit g. un minimum ? Exercice 3. ∀(u. alors : J(v) − J(u) ≥ ( J(u). puis e donner le maximum d’information sur ces points. une fonctionnelle que l’on suppose de classe C 1 . D´montrer que g atteint ses bornes puis les d´terminer. Montrer que si J est α-elliptique. la fonction d´finie sur C. par : e g(x. On rappelle que J est dite α-elliptique s’il existe α > 0 tel que : ( J(v) − J(u). On rappelle ´galement le r´sultat suivant : e e Si J(v) > J(u) + ( J(u). y. v) ∈ (Rn )2 . On appelle J. (d) f (x. Pour chacune des fonctions suivantes. y) = x2 + y 2 − xy. Cette solution est-elle.. z) = x4 + y 2 + z 2 − 4x − 2y − 2z + 4. d´terminer les points critiques. b]. x) − (b.46 3.

. n}....7) poss`de une unique solution.9 Soient n ≥ 1 et f1 . d´finies sur ]0. Montrer que J est α-eliptique si.G´n´ralit´s et ´tude th´orique des probl`mes d’optimisation e e e e e e 47 En d´duire que J est strictement convexe et coercive. les fonctions fi sont d´rivables et strictement d´croissantes. .. Montrer que si chaque fi est strictement convexe. e e (a) Montrer que lorsque ε > 0 est suffisamment petit.. e n .. .. xn ) (x1 . n fonctions d’une variable d´finies sur un intervalle I ⊂ R. la seule contrainte active dans le probl`me (3. qui est ´galement l’unique solution de e e e (3.6). Indication : pour la r´ciproque... e 2... x∗ ). ∀(u... .6) xi ≤ 1} (3. cette solution... On notera x∗ = (x∗ . xn ) ∈ Qε := {(x1 . 2. . i i En d´duire que les contraintes sont qualifi´es. xi ≥ ε et lorsque ε > 0 est choisi suffisamment petit.. 1... (b) Montrer que le probl`me (3. . . .. la fonction e n de n variables d´finie sur I par : e n f (x1 .. lorsque ε > 0 est choisi suffisamment petit...7) e est n i=1 n i=1 n i=1 xi ≤ 1} (3. alors f est strictement convexe. on pourra f : Rn −→ R d´finie par la relation f (ξ) = ( J(ξ). puis faire un d´veloppement de Taylor-Mac Laurin... ... xn ) = f1 (x1 ) + .. ∀i ∈ {1. et e seulement si : (D2 J(u)w. xn ) ∈ Rn : ∀i ∈ {1... . .. e t→0+ (a) Montrer que le probl`me d’optimisation e min f (x1 .. w) ≥ α w 2 . On suppose que J est deux fois d´rivable en tous points de Rn . + fn (xn ) = i=1 fi (xi ). ee e e Exercice 3. n}. ....... +∞[ et telles que lim fi (t) = +∞ pour tout i ∈ {1. xn ) (x1 . autrement dit que l’on a : n i=1 x∗ = 1 et x∗ > ε. et soit f . fn . w) ∈ (Rn )2 . n}.. n}. e e ∗ (b) Montrer que l’on a n´cessairement f1 (x1 ) = . . .7) xi ≤ 1. = fn (x∗ ). v − u) o e e u et v sont deux ´l´ments de Rn fix´s.. 1 n 3. On suppose de plus que pour tout i ∈ {1. xn ) ∈ Rn : + est ´quivalent au probl`me e e min f (x1 .. On suppose dans toute la suite que les fonctions (fi )1≤i≤n sont des fonctions continues strictement convexes.. xn ) ∈ Q := R∗ n ∩ {(x1 .

pn dans le cas : fi (t) = −pi ln t. pour tout i ∈ {1.8) ... y.. .. Donner l’expression explicite e de x∗ en fonction de p1 .. z) ∈ R∗ 3 ∩ (x.48 4. n}. En d´duire les solutions du probl`me : e e max x3 y 4 z 5 (x. + (3. ... y. Une application : soient p1 . n nombres r´els strictement positifs. .. pn .. z) ∈ R3 : x + y + z ≤ 1 .

En pratique. ρ∗ ] et croissante sur ]ρ∗ .Chapitre 4 Quelques algorithmes pour l’optimisation sans contraintes 4.1 Introduction Une grande classe d’algorithmes que nous allons consid´rer pour les probl`mes d’optimisation ont la forme e e g´n´rale suivante e e x(0) ´tant donn´. e e (4. Supposons que l’on connaisse un intervalle [a. b] e e contenant le minimum ρ∗ de q et tel que q soit d´croissante sur [a. Essentiellement. la diff´rence entre ces algoe e e rithmes r´side dans le choix de la direction de descente d(k) . On pourra prendre par exemple u a q(ρ) = J(x(k) + ρd(k) ) afin d’appliquer les id´es au cas de la m´thode de descente. Pour ces raisons. De tels algorithmes sont souvent appel´s m´thodes de descente. calculer x(k+1) = x(k) + ρ(k) d(k) . b] (q est alors e appel´e une fonction unimodale).1) Le vecteur d(k) s’appelle la direction de descente. 4. commen¸ons ea e e c par analyser ce qui se passe dans le cas de la dimension un.2 Algorithmes unidimensionnels ou recherche du pas Soit q(ρ) la fonction coˆ t que l’on cherche ` minimiser. nous sommes plus e e (k) ou moins ramen´ ` un probl`me unidimensionnel pour la d´termination de ρ . e a e e on s’arrange presque toujours pour satisfaire l’in´galit´ e e J(x(k+1) ) ≤ J(x(k) ). e 49 . ρ(k) le pas de la m´thode ` la k-i`me it´ration. Cette direction ´tant choisie.

e e a Si q(a ) < q(b ). Alors. Puis. A cette fin. On peut montrer que la v´rification simultan´e de ces deux contraintes conduit ` un choix unique des pae e a ram`tres a et b . Consid´rons maintenant que l’in´galit´ : q(a ) > q(b ) est satisfaite. le dernier cas consiste ` avoir q(a ) = q(b ).. Pour passer e de [ai . qui repr´sente le ratio du nouvel intervalle par rapport au e e pr´c´dent. on obtient l’algorithme de la table e e e 4. le minimum ρ∗ se trouve n´cessairement ` gauche de b . u e . soit constant. e 4. supposons que q est unimodale. On introduit deux nombres a et b de l’intervalle a e e [ai . o` ε est l’erreur (ou tol´rance) que l’on se permet sur la solution ρ du probl`me.50 √ 1+ 5 poser τ = 2 poser a0 = a poser b0 = b pour i = 0.2. N max 1 (bi − ai ) τ2 1 poser b = ai + (bi − ai ) τ si (q(a ) < q(b )) alors poser ai+1 = ai poser bi+1 = b sinon si (q(a ) > q(b )) alors poser ai+1 = a poser bi+1 = bi sinon si (q(a ) = q(b )) alors poser ai+1 = a poser bi+1 = b fin si fin pour i poser a = ai + Tab. e e ii) on d´sire r´utiliser le point qui n’a pas ´t´ choisi dans l’it´ration pr´c´dente afin de diminuer les coˆ ts e e ee e e e u de calculs. 4. N max est le nombre maximal d’it´rations que l’on se fixe. On se restreint donc ` ai+1 = a et bi+1 = b . Ceci d´finit alors le nouvel e a e intervalle en posant ai+1 = ai et bi+1 = b . e e e Dans ce second cas. bi ] ` [ai+1 . Plus pr´cis´ment. on proc`de de la mani`re suivante.1 dit de la section dor´e.1 – Algorithme de la section dor´e. il est ´vident que le minimum se trouve cette fois ` droite de a .. bi ] et tels que a < b . la m´thode tirant son nom de la valeur du param`tre τ . le minimum se trouve dans l’intervalle a [a . b ]. bi+1 ]. Trois possibilit´s se pr´sentent alors ` nous.. on calcule les valeurs q(a ) et q(b ). . bi ] qui contiennent tous le minimum ρ∗ . On pose alors : ai+1 = a e a et bi+1 = bi .1 M´thode de la section dor´e e e On construit une suite d´croissante d’intervalles [ai . Enfin. e e e Ici. a La question suivante se pose : comment choisir a et b en pratique ? En g´n´ral. on privil´gie deux aspects : e e e i) on souhaite que le facteur de r´duction τ . on doit valider un crit`re d’arrˆt e e e ∗ e de la forme : |bi+1 −ai+1 | < ε. Alors. alors.

y0 . y0 ] = et q[x0 . N max q(yi ) − q(xi ) poser q[xi . zi ] − q[xi .. 4. z0 ] = alors.2. y1 = y1 et z1 = y0 puisque ρ∗ ∈ [x0 . y0 ]. yi ] xi + yi − poser yi+1 = 2 2q[xi . z0 ]. • si y1 ∈ [y0 . yi ] alors poser xi+1 = xi poser zi+1 = yi sinon si yi+1 ∈ [yi . Ceci conduit ` l’algorithme donn´ table 4. ind´pendante de i. y0 ] . y0 − x0 q[z0 . zi ] = zi − xi q[xi . y0 . z0 ]. y0 ] x0 + y0 − . z0 ] Il est clair que ρ∗ ∈ [x0 . 4. telle que l’on ait l’in´galit´ e e e |yi+1 − ρ∗ | ≤ C|yi − ρ∗ |1. o u y0 et z0 de l’intervalle [a.. yi . z0 ] selon les choix pr´c´dents.. Ces points sont choisis tels que : q(x0 ) ≥ q(y0 ) et q(z0 ) ≥ q(y0 ). En fait. nous pouvons montrer qu’il existe une constante e strictement positive C. yi . b].2 – Algorithme de l’interpolation parabolique. y0 et z0 dans [a. On peut montrer que si nous posons q[x0 .3 . le minimum est donn´ par e y1 = q(y0 ) − q(x0 ) . .2. b] tels que q(x0 ) ≥ q(y0 ) et q(z0 ) ≥ q(y0 ) pour i = 0. . y1 = y1 et z1 = z0 car ρ∗ ∈ [y0 .Quelques algorithmes pour l’optimisation sans contraintes 51 choisir x0 . z0 − x0 q[x0 . y0 ]. zi ] si yi+1 ∈ [xi .3. Puis on recommence. on pose alors x1 = y0 . yi ] = yi − xi q[xi . On choisit ensuite les trois nouveaux points de la mani`re e e e suivante • si y1 ∈ [x0 . yi ] poser q[xi .2 M´thode d’interpolation parabolique e L’id´e maˆ e ıtresse de la m´thode d’interpolation parabolique consiste ` remplacer la fonction coˆ t q par son e a u polynˆme d”interpolation p d’ordre deux (d’o` l’appellation d’interpolation parabolique) en trois points x0 . 2 2q[x0 . zi ] alors poser xi+1 = yi poser zi+1 = zi fin si fin pour i Tab. y0 ] − q[x0 . a e On peut montrer que la m´thode est d’ordre 1. on pose alors x1 = x0 .

Pratiquement. par application de la r`gle de d´rivation en e e e chaˆ (cf. On a alors deux situations q(α0 + 3δ). on risque de ne pas faire d´croˆ e ıtre la fonction q ou son comportement peut ˆtre e oscillant. b] ainsi qu’un pas de d´placement positif δ. l’algorithme n’avancera pas assez vite.2. z0 = α0 − (k − 2)δ. • si q(α0 ) < q(α0 + δ). nous avons. On choisit un point α0 de l’intervalle [a.5 10−3 ` l’´tape suivante. q (0) = e ρ un peu ` droite de 0. On calcule e • si q(α0 ) ≥ q(α0 + δ). avec ρ > 0. Toutefois. on peut proc´der de la fa¸on e e c suivante. y0 = α0 + (k − 1)δ..3 signifie que si ` une ´tape donn´e l’erreur de 10−2 .. J(x) · d < 0. • si ρ est trop petit. e e 4. Il existe deux r`gles classiques pour parvenir ` cette fin. puisque d est une direction de descente. alors q d´croˆ et donc ρ∗ est ` droite de α0 . Il s’ensuit que si nous prenons Par cons´quent. e a 4.3 ≈ 2. e ıt a a ensuite q(α0 ) et q(α0 + δ). a e Une des difficult´s concerne l’initialisation de l’algorithme. m2 ) tels que 0 < m1 < m2 < 1 et on recherche une valeur ρ qui v´rifie e q(ρ) ≤ q(0) + m1 ρq (0) q(ρ) ≥ q(0) + m2 ρq (0) .2. On pose alors x0 = α0 − kδ.52 Dire que la m´thode est d’ordre 1. y0 = α0 − (k − 1)δ.3.. e e o Si nous consid´rons q(ρ) = J(x + ρd). Ceci permet d’initialiser l’algorithme d’interpolation parabolique en suivant l’algorithme de recherche d’initialisation pr´sent´ table 4. z0 = α0 + kδ. On pose alors x0 = α0 + (k − 2)δ. il faut faire attention car deux ´l´ments ee contradictoires sont ` prendre en compte a • si ρ est trop grand.. a ıt avec k ≥ 2.1 R`gle de Goldstein (1967) e On choisit deux nombres (m1 .3. le Th´or`me 7) ıne e e q (ρ) = J(x + ρd) · d. on est sˆ r de faire d´croˆ a u e ıtre q. La philosophie e g´n´rale est alors de plutˆt essayer d’avoir une approximation satisfaisante du pas optimal. elle sera de l’ordre de e a e e (10−2 )1.q(α0 + kδ) jusqu’` tomber sur un entier k tel que q croˆ : q(α0 + kδ) > q(α0 + (k − 1)δ). alors ρ∗ est ` gauche de α0 + δ. On continue alors ` calculer q(α0 + 2δ). On prend −δ comme pas jusqu’` tomber sur un a a entier k tel que : q(α0 − kδ) ≥ q(α0 − (k − 1)δ).3 D’autres r`gles e La recherche du pas n’est qu’une ´tape d’un algorithme plus complexe pour minimiser J.

Quelques algorithmes pour l’optimisation sans contraintes 53 choisir α0 dans [a.3 – Algorithme d’initialisation de l’interpolation parabolique. b] choisir δ > 0 poser q0 = q(α0 ) poser q1 = q(α0 + δ) si (q1 ≤ q0 ) alors poser k = 2 poser q2 = q(α0 + kδ) tant que (q2 ≤ q1 ) faire poser k = k + 1 poser q0 = q1 poser q1 = q2 poser q2 = q(α0 + kδ) fin tant que poser x0 = q0 poser y0 = q1 poser z0 = q2 sinon si (q1 > q0 ) alors poser k = 1 poser q2 = q(α0 − kδ) tant que (q2 ≤ q0 ) faire poser k = k + 1 poser q0 = q2 poser q1 = q0 poser q2 = q(α0 − kδ) fin tant que poser x0 = q2 poser y0 = q0 poser z0 = q1 fin si Tab. . 4.

l’optimisation ´tant un vaste domaine de recherches et d’applications.7).4 – Algorithme de Wolfe dans le cadre d’une recherche de pas pour une m´thode de descente. Par a e e .2. Nous ne verrons ici que des algorithmes de e a e base.2 R`gle de Wolfe (1969) e On choisit deux nombres m1 et m2 .3 Quelques notions sur les algorithmes Int´ressons nous maintenant au d´veloppement d’algorithmes num´riques de r´solution des probl`mes de e e e e e minimisation destin´s ` ˆtre mis en oeuvre sur calculateurs. Nous ne nous int´resserons ici e e qu’` l’optimisation locale. ρ− = 0. celui pour la m´thode de Goldstein ´tant similaire.54 choisir m1 et m2 tels que 0 < m1 < m2 < 1 poser ρ = 1. ρ+ [ (par exemple ρ = − 2 aller en 10 : fin si Tab. e e 4.3.3. nous avons x = x(k) et d = d(k) . A l’it´ration k. ρ+ = 0 debut 10 : si q(ρ) ≤ q(0) + m1 ρq (0) et q (ρ) ≥ m2 q (0) alors poser ρ(k) = ρ arr^t e sinon si q(ρ) > q(0) + m1 ρq (0) alors poser ρ+ = ρ sinon si q(ρ) ≤ q(0) + m1 ρq (0) et q (ρ) < m2 q (0) alors poser ρ− = ρ fin si fin si fin 10 : si ρ+ = 0 alors choisir ρ > ρ− (par exemple ρ = 2ρ− ) sinon si ρ+ > 0 alors ρ + ρ+ ) choisir ρ ∈]ρ− . L’algorithme associ´ ` la r`gle de Wolfe est alors donn´ a e ea e e (k+1) par la table 4.2. 4. e 4. la recherche d’un extremum global ´tant hors de port´e de cette introduction. et on veut calculer a e x = x(k) + ρd(k) pour une valeur ρ ` d´terminer. avec 0 < m1 < m2 < 1 (par exemple m1 = 0.3 Mise en oeuvre des r`gles pr´c´dentes dans un algorithme g´n´ral utilisant des direce e e e e tions de descente Soit J la fonction ` minimiser.1 et m2 = 0.4. et on recherche ρ qui v´rifie e q(ρ) ≤ q(0) + m1 ρq (0) q (ρ) ≥ m2 q (0) 4.

Lorsque l’on a un algorithme donn´. On parle de convergence e g´om´trique lorsque la suite (γ (k) )k est une suite g´om´trique. pour tout k ≥ 0. On dit que l’algorithme converge vers la solution du probl`me de minimisation e si c’est la cas. d’autre part. Si sa e e norme (euclidienne) e(k) = e(k) d´croˆ lin´airement. l’optimisation e e e e non diff´rentiable n’est pas trait´e ici. Finalement. On prend e e e e g´n´ralement les appellations suivantes. e e Un algorithme. La m´thode est dite d’ordre p si l’on a une e e e e e relation du type (∃C ∈ [0. deux mesures importantes de son efficacit´ sont : d’une e e part la vitesse de convergence. pour γ (k) ≥ 0. o` ρ est le pas de descente de la m´thode. ce que nous esp´rons. La vitesse de convergence mesure e ”la rapidit´” avec laquelle la suite (x(k) )k≥0 converge vers le point x∗ . nous dirons que la vitesse de convergence est quadratique. c’est que notre suite (x(k) )k≥0 converge vers une limite x∗ qui sera effectivement u e notre point de minimum relatif.4 M´thodes de gradient e La m´thode du gradient fait partie des classes de m´thodes dites de descente. cette propri´t´ s’exprime par une relation du type e ee (∃C ∈ [0.. le coˆ t global ´tant le coˆ t d’une it´ration multipli´ par le e e e u e u e e nombre d’it´rations pour obtenir la solution escompt´e avec une certaine pr´cision ε fix´e a priori. 1[)(∃k0 ∈ N)(∀k ≥ k0 )(e(k+1) ≤ C(e(k) )p ) Si p = 2. encore une fois. Puisque e e e e a ∗ (1) (0) l’on veut atteindre x . sa complexit´ calculatoire. 4. nous dirons globale. Mais qu’est qu’un algorithme ? D´finition 16 Un algorithme it´ratif est d´fini par une application vectorielle A : Rn → Rn qui g´n`re une e e e e e suite de champs de vecteurs (x(k) )k≥0 par une construction typiquement de la forme choisir x(0) (phase d’initialisation de l’algorithme) calculer x(k+1) = A(x(k) ) (k-i`me it´ration)) e e Bien sˆ r.. sinon. l’hypoth`se de diff´rentiabilit´ nous suivra tout le long de cet expos´ . La complexit´ mesure le coˆ t des e e u op´rations n´cessaires pour obtenir une it´ration. e ıt e e Plus math´matiquement. nous dirons que la vitesse est superlin´aire si limk→+∞ γ (k) = 0. On introduit l’erreur vectorielle sur la solution : e(k) = x∗ − x(k) . Si nous observons une relation du type e a e e ≤ γ e . nous parlerons de convergence locale. Nous le noterons : e a (1) (0) (0) (1) (0) x − x = ρ d . Quelle est l’id´e cach´e e e e e derri`re ces m´thodes ? Consid´rons un point de d´part x(0) et cherchons ` minimiser une fonction J. si la convergence a lieu seulement pour des x(0) voisins de x∗ . on dit que la vitesse de convergence est lin´aire.Quelques algorithmes pour l’optimisation sans contraintes 55 ailleurs. nous cherchons ` avoir : J(x ) < J(x ). alors. 1[)(∃k0 ∈ N)(∀k ≥ k0 )(e(k+1) ≤ Ce(k) ) On voit bien ` ce niveau que la vitesse de convergence est un notion asymptotique. On peut alors it´rer de cette mani`re en u e e e . Une forme particuli`rement simple est de a e chercher x(1) tel que le vecteur x(1) −x(0) soit colin´aire ` une direction de descente d(0) = 0. Elle n’est pas n´cessairement a e (k+1) (k) (k) observable ` la premi`re it´ration.

puisque l’on d´sire avoir : J(x(1) ) < J(x(0) ).5 et dit du gradient. A titre d’exemple. a (∃α > 0)(∀(x. e e e e e e e De plus. ρ(k) d(k) ).56 poser k = 0 choisir x(0) tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire calculer d(k) = − J(x(k) ) calculer ρ(k) poser x(k+1) = x(k) + ρ(k) d(k) fin tant que Tab. x(k+1) minimisera mieux J que ne le faisait x(k) . La m´thode e (k) (k) obtenue avec le choix d = − J(x ) est appel´e m´thode du gradient. e e e e e elles sont souvent lentes dans la pratique. La premi`re question consiste ` choisir la direction de descente. d(k) et ρ(k) pour atteindre x(k+1) par choisir x(0) calculer x(k+1) = x(k) + ρ(k) d(k) avec d(k) ∈ Rn∗ et ρ(k) > 0.5 – Algorithme du gradient. c’est-`-dire. donnons le r´sultat suivant. puisqu’`lors a J(x(k+1) ) − J(x(k) ) = −ρ(k) J(x(k) ) 2 + o(ρ(k) ). Lorsque l’on travaille sur une e e J(y)) · (x − y) ≥ α x − y . puisque la convergence n’est pas toujours assur´e. On obtient alors l’algorithme pr´sent´ table 4. y) ∈ Rn × Rn )( J(x) − 2 Nous voyons que si ρ(k) est suffisamment petit. Or. x∗ un minimum de J. De nombreux choix existent pour d(k) et ρ(k) . ρ(k) d(k) ) = 0. . Supposons que e e i) J est α-elliptique. une solution ´vidente u e e consiste ` prendre a d(k) = − J(x(k) ). se donnant x(k) . r´solution num´rique d’un probl`me. e e e Mˆme si ces m´thodes sont conceptuellement tr`s simples et qu’elles peuvent ˆtre programm´es directement. Rappelons que le d´veloppement de Taylor e a e de J au premier ordre donne au voisinage de x(k+1) J(x(k+1) ) = J(x(k) + ρ(k) d(k) ) = J(x(k) ) + ρ(k) J(x(k) ) · d(k) + ρ(k) ) d(k) E(x(k) . e Th´or`me 21 Soit J une fonction de classe C 1 de Rn dans R. une r`gle de base est de fixer un nombre maximum e e d’it´rations k max . 4. Elles convergent mais sous des conditions de convergence souvent complexes. on se donne en g´n´ral un crit`re d’arrˆt de la forme : x(k+1) − x(k) < ε. o` limρ(k) d(k) →0 E(x(k) .

e e e e e e Dans le cas du gradient ` pas optimal. e Th´or`me 22 Soit J une fonction de classe C 1 de Rn dans R. alors. 1[.5 M´thode du gradient conjugu´ e e Consid´rons une matrice A. le minimum (unique et global) de J est e Afin de d´velopper le gradient conjugu´.Quelques algorithmes pour l’optimisation sans contraintes 57 ii) l’application J est lipschitzienne (∃M > 0)(∀(x. la m´thode e ∃β ∈]0. 2 La fonction J est alors une fonctionnelle strictement convexe (` montrer) deux fois continˆ ment diff´rentiable. e a (k) • ou. introduisons la notion de direction conjugu´e. d´finie positive. e e a • soit ρ(k) est choisi comme le minimum de la fonction q(ρ) = J(x(k) − ρ J(x(k) )) : c’est ce que l’on appelle la m´thode du gradient ` pas optimal. et soit J la fonctionnelle quadratique d´finie par e e e J : Rn → R x → J(x) = 1 Ax · x − b · x. celle-ci peut ˆtre lente car alt´r´e par un mauvais conditionnement de la e e e e matrice hessienne de J. on peut consid´rer des crit`res de convergence sur le gradient de J en e e x(k) : J(x(k) ) < ε1 4. Remarque 4 Mˆme pour le gradient a pas optimal qui est en principe la meilleure de ces m´thodes d’un point e ` e de vue de la rapidit´ de convergence. Alors. Par ailleurs. e e e . e e J(x) = Ax − b. la m´thode du gradient a pas optimal converge pour tout choix du vecteur d’initialisation e ` (0) x . On suppose que J est e e α-elliptique. 2α M2 . a u e Un calcul de son gradient donne : r´alis´ en x∗ tel que : Ax∗ = b. soit ρ est calcul´ par les m´thodes pr´sent´es pr´c´demment. Par cons´quent. x∗ un minimum de J. Le choix du pas ρ(k) peut ˆtre effectu´ de la mani`re suivante e e e • soit ρ(k) = ρ est fix´ a priori : c’est ce que l’on appelle la m´thode du gradient ` pas fixe ou constant. nous avons le mˆme r´sultat de convergence que pr´c´demment sous a e e e e des hypoth`ses faibles sur J. x(k+1) − x∗ ≤ β k x(0) − x∗ . S’il existe deux r´els a et b tels que ρ(k) satisfasse 0 < a < ρ(k) < b < e du gradient d´finie par e x(k+1) = x(k) − ρ(k) J(x(k) ) converge pour tout choix de x(0) de fa¸on g´om´trique c e e pour tout k ≥ 0. y) ∈ Rn × Rn )( Jx − Jy ≤ M x − y ).

u e a e Le succ`s de l’algorithme du gradient conjugu´ est intimement li´ ` la proposition importante suivante.. d(k−1) e k−1 x(k) = x(k−1) + ρ(k−1) d(k−1) = x(k−2) + ρ(k−2) d(k−2) + ρ(k−1) d(k−1) = . = x(0) + =0 ρ( ) d( ) Ainsi. ` calculer par des it´rations successives x a e tel qu’il satisfasse J(x(k+1) ) = J(x(k) + ρ(k) d(k) ) = min J(x(k) + ρd(k) )... on a r´solu le probl`me de minimisation puisque {d(0) . d(k−1) . y) ∈ Rn × Rn . d(k) )A d(k) 2 A + b · d(k) d(k) 2 A (4. d(k) )A d(k) 2 A . En fait. si l’on est capable de trouver n directions e e e (0) (n−1) conjugu´es {d . d(k) )A .. Plus pr´cis´ment.58 D´finition 17 Nous dirons que deux vecteurs (ou directions) d1 et d2 sont conjugu´s pour la matrice A si : e e Ad2 · d1 = 0.. e e ea Proposition 9 Le point x(k) est le minimum de J sur le sous-espace affine passant par x(0) engendr´ par les e vecteurs {d(0) . o` le vecteur r´sidu r(0) ` l’instant initial est d´fini par : r(0) = Ax(0) − b. ρ∈R On peut expliciter la valeur de ρ(k) en utilisant la condition de minimum au premier ordre.... . e e e e e . Une cons´quence fondamentale de la proposition pr´c´dente est que. . Ceci signifie que ces deux vecteurs sont orthogonaux pour le produit scalaire associ´ ` la matrice A. en partant d’un point x ∈ R . Or. ..... x(k) −x(0) peut s’exprimer selon les vecteurs d(0) . d´fini ea e par (x. par d´finition.2) A = (d(k) . La m´thode de descente e e e (0) n (k+1) consiste. d(n−1) } est une base de e e Rn .. ∀(x... l’algorithme est d´crit dans la table 4. d(k−1) }. y)A = Ax · y..2) par conjugaison pour ´crire e ρ(k) = − (x(0) . ` savoir a J(x(k) + ρ(k) d(k) ) · d(k) = 0. Faisons l’hypoth`se que nous connaissons k directions conjugu´es d(0) . d(k) )A d(k) 2 A + b · d(k) d(k) 2 A =− (r(0) . .. d e }.6. . nous pouvons simplifier (4. et plus explicitement dans notre cas ρ(k) = − en posant d(k) puisque 1/2 (Ax(k) − b) · d(k) d(k) 2 A =− (x(k) . l’algorithme du gradient conjugu´ consiste ` construire simultan´ment ces directions conjugu´es e a e e par le proc´d´ de Gram-Schmidt.

6 – Algorithme du gradient conjugu´ pour une fonctionnelle quadratique. d(k) ) calculer ρ(k) = − 2 d(k) A poser x(k+1) = x(k) + ρ(k) d(k) calculer r(k+1) = Ax(k+1) − b poser k = k + 1 fin si fin tant que Tab. e . d(k−1) )A calculer α(k) = − 2 d(k−1) A poser d(k) = r(k) + α(k) d(k−1) fin si (r(k) . 4.Quelques algorithmes pour l’optimisation sans contraintes 59 k=0 choisir x(0) ∈ Rn choisir ε > 0 choisir ε1 > 0 poser r(0) = J(x(0) ) tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire si ( r(k) < ε1 ) alors arr^t e sinon si (k = 0) alors poser d(k) = r(k) sinon (r(k) .

7. L’´quation J(x) = 0 est donn´e par un syst`me n × n d’´quations non lin´aires.60 k=0 choisir x(0) ∈ Rn choisir ε > 0 choisir ε1 > 0 poser r(0) = J(x(0) ) tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire si ( r(k) < ε1 ) alors arr^t e sinon si (k = 0) alors poser d(k) = r(k) sinon 2 r(k) calculer α(k) = 2 r(k−1) poser d(k) = r(k) + α(k) d(k−1) fin si si (d(k) · r(k) ≥ 0) alors poser d(k) = r(k) sinon rechercher un pas ρ(k) approchant le minimum de J(x(k) + ρd(k) ) par J(x(k) + ρd(k) ) · d(k) = 0 fin si poser x(k+1) = x(k) + ρ(k) d(k) poser r(k+1) = J(x(k+1) ) poser k = k + 1 fin si fin tant que Tab.7 – Algorithme du gradient conjugu´ pour une fonctionnelle g´n´rale.6 Les m´thodes de Newton et quasi-Newton e r´soudre l’´quation J(x) = 0. condition n´cessaire de premier ordre pour la d´tection d’extrema d’une e e e e fonction. la e u m´thode peut mettre un peu plus que n it´rations pour converger. Dˆ e aux erreurs d’arrondis. 4. La m´thode s’´crit e e e e e e e La m´thode de Newton n’est pas a proprement parl´ une m´thode d’optimisation. 4. On peut e e e ´tendre l’algorithme pour une fonctionnelle J quelconque de mani`re efficace comme nous le d´taillons dans e e e la table 4. e e e L’algorithme de Gram-Schmidt peut. s’av´rer instable. e e e Rappelons que l’algorithme pr´sent´ ici ´tait particularis´ au cas d’une fonctionnelle quadratique. L’id´e de cette m´thode ici est de e e e . dans certains cas. C’est une m´thode e e e e n n de recherche de z´ros d’une fonction F : R → R selon : F(x) = 0.

8. e dans B et converge vers x∗ . l’algorithme de Newton peut s’´crire sous la forme pr´sent´e e e e e e En ce qui concerne la convergence de ce dernier algorithme. La continuit´ de DF permet en fait d’assurer l’inversibilit´ e (k) (k) ∗ (k+1) de DF(x ) pour tout point x se trouvant dans un voisinage de x et permet de d´finir l’it´r´ x e e e . e e e e e G´n´ralisons maintenant cette m´thode au cas d’un champ scalaire J donn´ de Rn dans R. 1[ e e tel que ∀k ≥ 0.1 M´thodes de Newton e L’algorithme de Newton est donn´ table 4. e e e e e a La convergence de la m´thode doit ˆtre pr´cis´e ainsi que la d´finition de la suite (f (x(k) ))k . seul z´ro de F dans B. e . En r´sum´. x(k+1) − x∗ ≤ β k x(0) − x∗ . Alors. nous avons le r´sultat suivant. une ´quation f (x) = 0. la convergence est g´om´trique : il existe β ∈]0. si nous choisissons x(0) ”suffisamment pr`s” de x∗ . e Cherchons ` r´soudre. Nous supposons que f est de classe C 1 . pour tout point x(0) ∈ B(x∗ ). e formellement x(k+1) = x(k) − [D2 J(x(k) )]−1 J(x(k) ). a e e Une interp´tation g´om´trique simple de cette m´thode est donn´e ` partir de la tangente au point x(k) .6. De plus. puis on pose x(k+1) = x(k) − δ (k) .9. la m´thode de Newton converge. 4. la suite (x(k) )k d´finie par la m´thode de Newton est enti`rement contenue e e e e e Par cons´quent.8 – M´thode de Newton unidimensionnelle.Quelques algorithmes pour l’optimisation sans contraintes 61 poser k = 0 choisir x(0) dans un voisinage de x∗ choisir ε > 0 tant que (|x(k+1) − x(k) | ≥ ε) et (k ≤ k max ) faire f (x(k) ) poser x(k+1) = x(k) − f (x(k) ) poser k = k + 1 fin tant que Tab. isol´ et que DF(x∗ ) est inversible (DF d´signe la d´riv´e premi`re de F). Soit F une e e e e fonction de classe C 1 . L’extension de la seconde ´tape est r´alis´e par la r´solution du syst`me lin´aire e e e e e e [DF(x(k) )]δ (k) = F(x(k) ). il existe une boule B(x∗ ) telle e e e e e que. On suppose que ce z´ro est e e e e table 4. On suppose que l’´quation F(x) = 0 poss`de au moins une solution not´e x∗ et que e e e e la matrice DF(x∗ ) est une matrice inversible. pour f : R → R. e Th´or`me 23 Soit F : Rn → Rn une fonction de classe C 1 et x∗ un z´ro de F. 4.

la propri´t´ de minimum ´tant ` v´rifier a posteriori. Une approche possible consiste ` faire tourner quelques e a it´rations d’une m´thode de gradient pour approcher x∗ et de consid´rer l’it´r´ r´sultant comme le point de e e e e e e d´part de la m´thode de Newton. La m´thode e e u e donnera alors les points critiques de J.6. cela signifie que. L’avantage de la m´thode de Newton est sa grande rapidit´ de convergence : e e e e la convergence de la m´thode de Newton est quadratique. Plus e e pr´cis´ment. DF ee e a e est la matrice hessienne D2 J. e e 4. dans les m´thodes de quasi-Newton o e e (k) (k) −1 d´crites ci-dessous.62 poser k = 0 choisir x(0) dans un voisinage de x∗ choisir ε > 0 tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire resoudre le systeme lineaire [DF(x(k) )]δ (k) = F(x(k) ) poser x(k+1) = x(k) − δ (k) poser k = k + 1 fin tant que Tab. La m´thode est tr`s sensible ` l’initialisation.10 un algorithme de type quasi-Newton (avec recherche lin´aire d’Armijo) qui se e trouve ˆtre ` convergence quadratique sous des hypoth`ses standards (remarquer que l’hypoth`se de localit´ e a e e e du point de d´part n’est plus demand´e). Il peut aussi arriver que la m´thode e e e a e converge vers un extremum qui n’est pas celui cherch´. e Un des gros probl`mes de cette m´thode est que le choix de x(0) joue un grand rˆle sur la convergence ou non e e o de la m´thode de Newton. on construit une suite de matrices S e qui approchent [DF(x )] ). 4. Lorsque l’on utilise la m´thode de Newton pour r´soudre : J(x∗ ) = 0. Certaines m´thodes proposent d’utiliser non pas DF(x(k) ) comme a e e matrice mais plutˆt une approximation de celle-ci (plus pr´cisemment. on prend bien sˆ r F = J.2 M´thode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´e e aire) Nous donnons table 4.3 M´thode de quasi-Newton DFP et BFGS e L’id´e ici est d’imiter l’algorithme de Newton tout en ´vitant de calculer D2 J et ”son inverse”. nous allons chercher ` construire une approximation S (k) sym´trique e e a e a e 2 (k) −1 (k) d´finie positive de [D J(x )] et ρ un param`tre positif fourni par un algorithme de minimisation unidie e mensionnel le long de la direction d(k) = −S (k) J(x(k) ) tels que l’op´ration classique e x(k+1) = x(k) − [D2 J(x(k) )]−1 J(x(k) ). Dans ce cas.6.9 – M´thode de Newton multidimensionnelle. 4. . Un des inconv´nients de la m´thode de Newton r´side e e e e ´galement dans le fait que nous avons ` ´valuer et ”` inverser” (en fait r´soudre un syst`me plein associ´) e a e a e e e la matrice DF(x(k) ) ` chaque it´ration. ` l’it´ration k.

1[×]0. γ) ∈]0.10 – M´thode de quasi-Newton de Lenvenberg-Marquardt (avec recherche lin´aire). e e .Quelques algorithmes pour l’optimisation sans contraintes 63 choisir (α. 1[ poser k = 0 choisir x(0) ∈ Rn 2 calculer µ(0) = J(x(0) ) choisir ε > 0 tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire resoudre le systeme lineaire [µ(k) Id + D2 J(x(k) )T D2 J(x(k) )]d(k) = −D2 J(x(k) ) J(x(k) ) si ( J(x(k) + d(k) ) ≤ γ J(x(k) ) ) alors (k+1) (k) poser x = x + d(k) aller en 4 sinon aller en 3 fin si debut 3 : soit mk le plus petit entier positif tel que 2 2 Ψ(x(k) + β m d(k) ) − Φ(x(k) ) ≤ αβ m d(k) · Ψ(x(k) ) 2 (x) avec Ψ(x) = 1 2 (k+1) (k) poser x = x + β m d(k) aller en 4 fin 3 : debut 4 : 2 calculer µ(k+1) = J(x(k+1) ) poser k = k + 1 fin 4 : fin tant que Tab. β. 1[×]0. 4.

matrice symetrique definie positive poser k = 0 choisir x(0) ∈ Rn choisir ε > 0 tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire calculer ρ(k) par une methode de recherche lineaire sur d(k) = −S (k) J(x(k) ) poser x(k+1) = x(k) + ρ(k) d(k) poser δ (k+1) = ρ(k) d(k) calculer γ (k) = J(x(k+1) ) − J(x(k) ) δ (k) δ (k)T S (k) γ (k) [S (k) γ (k) ]T calculer S (k+1) = S (k) + (k)T − γ (k)T S (k) γ (k) δ γ (k) fin tant que Tab. soit remplac´e par l’op´ration plus simple et beaucoup moins coˆ teuse e e u x(k+1) = x(k) − ρ(k) S (k) J(x(k) ). δ (k+1) D Jδ 2 (i) =δ . 4. e e Remarque 5 Si S (0) = Id (Id est la matrice identit´ ici). pour une fonctionnelle quadratique. de construire l’inverse du hessien. e ` e e . Dans le cas quadratique. on a la m´thode du gradient conjugu´. 4. ee e e e e Th´or`me 24 A l’´tape k. Cette e e e m´thode est sensible a la pr´cision de la recherche lin´aire. si S (k) est sym´trique d´finie positive et si la recherche lin´aire est exacte (ou e e e e e e bien si δ (k)T γ (k) > 0). S T d´signe la matrice transpos´e).1 Algorithme DFP (Davidson-Fletcher-Powell) Cette m´thode permet notamment. de hessien e e D2 J.11 (pour une matrice S e e donn´e. e e e Les bonnes propri´t´s de cet algorithme sont r´sum´es dans le th´or`me suivant. alors la m´thode DFP est telle que e δ (i)T D2 Jδ (j) = 0.6. (i) 0 ≤ i ≤ j ≤ k. 0 ≤ i ≤ k. e e Elle engendre ´galement des directions conjugu´es.3. ceci implique que la m´thode converge en n it´rations et S (n) = [D2 J]−1 . Si J est quadratique.11 – Algorithme de Davidson-Fletcher-Powell (DFP). Le but est de calculer ”une bonne approximation” S (k) de [D2 J(x(k) )]−1 . c’est-`-dire telle que la diff´rence a e soit petite pour une norme matricielle. L’algorithme est donn´ table 4. alors la matrice S (k+1) est sym´trique d´finie positive.64 choisir S (0) .

Cela revient ` r´soudre le syst`me Ax = b. On propose l’algorithme suivant : on e a e se donne un vecteur initial x(0) .3) . on utilise soue e e a vent la r`gle d’Armijo.12). Pour cela. Il e e e a e existe ´galement des algorithmes stochastiques (recuit simul´ par exemple). o` b ∈ Rn et A est une matrice r´elle sym´trique d´finie positive.3. e 4.Quelques algorithmes pour l’optimisation sans contraintes 65 choisir S (0) .12 – Algorithme de Broyden-Fletcher-Goldfarb-Shanno (BFGS). La robustesse des e e pr´c´dents algorithmes est intimement li´e ` la recherche du pas optimal ρ(k) . Ceci rejoint les m´thodes li´es ` la notion de sous-diff´rentiel. 4. e a 1 u e On veut minimiser la fonctionnelle J(x) = 2 (Ax.7 Quelques remarques Il existe des algorithmes permettant des recherches d’extrema pour des fonctions moins r´guli`res.2 M´thode de Broyden-Fletcher-Goldfarb-Shanno (BFGS) e Cette derni`re m´thode est consid´r´e comme tr`s robuste et est moins sensible aux erreurs dans les e e e e e recherches lin´aires (cf. dans le cas quadratique.8 Exercices Exercice 4. table 4. Soit x∗ la solution de ce syst`me.1 (M´thode du gradient ` pas constant). matrice symetrique definie positive poser k = 0 choisir x(0) ∈ Rn choisir ε > 0 tant que ( x(k+1) − x(k) ≥ ε) et (k ≤ k max ) faire calculer ρ(k) par une methode de recherche lineaire sur d(k) = −S (k) J(x(k) ) poser x(k+1) = x(k) + ρ(k) d(k) poser δ (k+1) = ρ(k) d(k) calculer γ (k) = J(x(k+1) ) − J(x(k) ) γ (k)T S (k) γ (k) δ (k) δ (k)T δ (k) γ (k)T S (k) + S (k) γ (k) δ (k)T calculer S (k+1) = S (k) + 1 + − δ (k)T γ (k) δ (k)T γ (k) δ (k)T γ (k) fin tant que Tab. citer un th´or`me de convergence. nous allons employer la e e a e e m´thode du gradient ` pas constant. x) − (b. c’est ce e e que l’on appelle l’analyse non diff´rentiable. x). e Nous pourrions aussi. En pratique. e e 4. 4. et on calcule la suite d’it´r´s par l’algorithme e e r(k) = b − Ax(k) x(k+1) = x(k) + αr(k) (4.6.

u e e Dans tout l’exercice.. u e e 1. λn Exercice 4.66 o` α est une constante r´elle donn´e. Que concluez-vous ? 2 . On d´finit la fonctionnelle quadratique J par e J(x) = o` · d´signe le produit scalaire usuel de Rn . les valeurs e e propres de A rang´es par ordre croissant : e 0 < λ1 ≤ . nous ferons l’hypoth`se que r(k) = 0. u 3. e a Soit A ∈ Mn (R) sym´trique d´finie positive et b un vecteur de Rn . pour k ≥ 0.. ≤ λn . 1 ≤ i ≤ n. Montrer que l’agorithme converge si et seulement si 0<α< o` λn est la plus grande valeur propre de A. alors x(k) est solution du syst`me lin´aire. u e 1 Ax · x − b · x. e 1. e 3. on d´finit le r´sidu initial r(0) = b − Ax(0) . En d´duire que l’on a e A−1 r(k+1) · r(k+1) (λn − λ1 )2 . 2 On consid`re la m´thode it´rative suivante pour r´soudre du syst`me lin´aire Ax = b : on se donne un e e e e e e point initial x(0) de Rn . Montrer que α(k) est l’unique r´el qui minimise sur R la fonction α → J(x(k) + αr(k) ). Evaluer la diff´rence : J(x(k+1) ) − J(x(k) ). Donner une relation entre e(k) et e(0) . si r(k) = 0. on pose α(k) = r(k) · r(k) Ar(k) · r(k) x(k+1) = x(k) + α(k) r(k) r(k+1) = b − Ax(k+1) (4. 2. e 4.2 (M´thode du gradient ` pas optimal).4) Bien sˆ r. Soit e(k) = x(k) − x∗ . e e e 2. Donner le meilleur choix pour α en fonction des valeurs propres de A. Montrer que l’on a A−1 r(k+1) · r(k+1) = A−1 r(k) · r(k) − 5. Montrer que J est diff´rentiable et d´terminer sa diff´rentielle. ≤ −1 r(k) · r(k) (λn + λ1 )2 A (r(k) · r(k) )2 Ar(k) · r(k) . On note λi . et tant que le r´sidu r(k) ` l’ordre k est e e e a non nul.

4λ1 λn Exercice 4.. Soit x∗ la solution du syst`me : Ax = b. Montrer que e x∗ − x(k) A · A la norme associ´e au produit scalaire (·. les valeurs propres de A rang´es par ordre croissant : e 0 < λ1 ≤ . On pose J comme la fonctionnelle quadratique d´finie par e J(x) = 1 Ax · x − b · x. On note e n R d´fini par : (x. x ∈ Rn } . Etant donn´ un point initial x(0) tel que x(0) = x∗ . nous avons l’in´galit´ de Kantorovitch e e x 4 ≤ (Ax · x)(A−1 x · x) ≤ (λ1 + λn )2 x 4.. on d´signe par K (k) le sous-espace vectoriel d´fini par e e K (k) := Vect r(0) .. On e e e note λi . x ∈ K} poss´dent tous deux une seule et mˆme solution xK ∈ K. 2 1. pour tout vecteur x et y de Rn . . ≤ λn . On d´signe par x∗ la solution du syst`me lin´aire associ´ ` A et b. ·)A de e k ≤ κ2 (A) − 1 κ2 (A) + 1 x∗ − x(0) A. .. 2.3 (M´thode du gradient conjugu´). on introduit la norme ea x A = √ Ax · x. y)A = Ax · y. pour tout e e k ∈ N∗ . On pose r(0) comme le r´sidu initial et. Ar(0) . Soit K un convexe ferm´ non vide de Rn . Alors. Justifier que les probl`mes de minimisation e e inf {J(x).. x ∈ K} et inf { x∗ − x de minimisation A. Ak r(0) . e e e e e e e Soit A ∈ Mn (R) sym´trique d´finie positive et b dans Rn . o` κ2 (A) est le conditionnement de la matrice A relatif ` la norme euclidienne sur Rn . 1 ≤ i ≤ n. Pour tout vecteur x.Quelques algorithmes pour l’optimisation sans contraintes 67 6. u a On utilisera notamment pour cet exercice le r´sultat suivant : soit A ∈ Mn (R) sym´trique d´finie positive. En d´duire que x∗ est la solution du probl`me e e e e inf {J(x).

≤ Az ≤ λn z A. En d´duire que. On note 0 < λ1 ≤ . pour tout vecteur z de Rn . pour tout λ ∈ σ(A). Montrer que. κ2 (A) + 1 . On pose o e Qk (x) := Montrer que. (b) On note σ(A) le spectre de A. · . e e (a) Montrer que x∗ − x(k) A = inf P (A)(x∗ − x(0) ) A. pour tout entier k satisfaisant 0 < k ≤ n. pour tout indice k tel que 0 < k ≤ n. on a les in´galit´s e e e b − Ax(k) ≤ κ2 (A) r(0) x∗ − x(k) x∗ − x(0) A A ..68 Cet espace est appel´ sous-espace de Krylov d’ordre k engendr´ par r(0) . pour tout P ∈ Rk [X] tel que P (0) = 1. ∗ (k) A ≤2 κ2 (A) − 1 k κ2 (A) + 1 x∗ − x(0) A. o` Rk [X] d´signe l’espace vectoriel des polynˆmes ` coefficients dans R de degr´ inf´rieur ou ´gal ` u e o a e e e a k. En d´duire que. e 3. nous avons e x −x Rappel. . on a l’encadrement e λ1 z A A ≤ max |P (λ)| x∗ − x(0) λ∈σ(A) A. (a) V´rifier que. P (0) = 1 . o` κ2 (A) est le conditionnement de la matrice A relatif ` la norme euclidienne u a (b) Soit Tk le polynˆme de Tchebytchev de degr´ k. On rappelle que Tk (x) := cos(k arccos x). ≤ λn les valeurs propres de A. P ∈ Rk [X]. on a |Qk (λ)| ≤ 2 κ2 (A) − 1 k +λ1 −2x Tk ( λnλn −λ1 ) Tk ( λn +λ1 ) λn −λ1 . on a x∗ − x(k) (c) En d´duire que x(n) = x∗ ..

De plus. v > + = 1 Cv 3 . un algorithme qui permet de calculer l’inverse d’une matrice A donn´e. h >= Cv . e e 2. Ch >2 . (a) A l’aide d’une majoration tr`s simple et d’un petit raisonnement.Quelques algorithmes pour l’optimisation sans contraintes 69 pour |x| ≤ 1. D´duire des questions pr´c´dentes que la fonctionnelle J est α-elliptique. c’est-`-dire que : ∀v ∈ Rn et e e e a −n → 2 ∀h ∈ R .5 Soient a. deux matrices carr´es r´elles de taille n. B et C. on pose : ee q(v) g(v) J(v) = < a. 2 1 Cv 3 . pour k ≥ 0. puis calculer la diff´rentielle de q prise en v. Ch 2 la direction h ∈ Rn . prouver que la fonctionnelle g est e e e e deux fois diff´rentiable en 0Rn et que les deux premi`res d´riv´es sont nulles. dans la direction h. Exercice 4. dans e ` 2. par analogie. dans la direction h a pour expression : e e e < g (v)h. Pour tout ´l´ment v ∈ Rn . En d´duire que J est convexe. v > + + e 1. Donner. h >. e 1. D´montrer que q est une fonction de classe C ∞ sur Rn . e Exercice 4. on pourra au choix utiliser un d´veloppement de Taylor ou calculer la diff´rentielle de g e e au sens de Gˆteaux. + 1 < Cv. V´rifier que la m´thode de Newton appliqu´e au calcul de l’inverse d’un scalaire α donne la m´thode e e e e it´rative suivante : x(0) est donn´ et on calcule : x(k+1) = x(k) (2 − αx(k) ). < J (v)h. 3 = g(v) + q(v) =< a. D´montrer que le probl`me : e e (P) poss`de une solution unique. un vecteur donn´ de Rn . e e e Pour cela. e 4. la diff´rentielle de g prise au point v. 3 1 Bv 2 2 1 (x + 2 1 x2 − 1)k + (x − 2 x2 − 1)k . h >≥ α h . Cv 3. 1 Bv 2 . on peut montrer que Tk (x) = pour x ≥ 1. On suppose de plus B e e e inversible. e (b) D´terminer la quantit´ < g (v). ainsi que la matrice hessienne de q prise en v. a (c) D´montrer que la d´riv´e seconde de g prise en v.4 (M´thode de Newton). On donnera explicitement la constante α. e min J(v) v ∈ Rn .

Que peut-on alors conclure ? u 3.6). Etude du probl`me (4. ´ e 1. e Dans la suite on note aussi par (. (4. nitmax. montrer que J est strictement convexe. (c) Donner la condition d’optimalit´ au premier ordre pour le probl`me (4.5) est ´quivalent au probl`me (4. • Le programme re¸oit en arguments B. Etude sur une nouvelle formulation (a) Montrer que le probl`me (4. (b) Montrer que cette solution est unique si et seulement si B est injective.70 Exercice 4. montrer que (4. calculer le gradient et la hessienne de J.5) (a) En utilisant un th´or`me classique de projection. c ∈ Rn et . tol. Quelle est une condition n´c´ssaire sur m et n pour que B soit injective ? e e (c) Dans quel cas (4. e e . u e (4. R´solution num´rique e e (a) Un algorithme dans le cas g´n´nral e e Construire un programme Matlab de r´solution num´rique de (4. e e Cette condition est-elle suffisante ici pour obtenir un minimum ? (d) Dans le cas o` B est de rang n. c. v∈R 1 o` on a pos´ J(v) = 2 (B T Bv.5) admet toujours au moins une e e solution. v)n − (B T c. v)n .)m le produit scalaire sur Rn .6) ci-dessous : e e e trouver u ∈ Rn tel que J(u) = infn J(v).6) (b) Quelle est la r´gularit´ de J ? e e Si cela est possible. u0 (voir pr´cisions plus bas) c e • Il renvoie la solution u obtenue et le nombre it d’it´rations effectu´es. u e m m = infn Bv − C v∈R m. .6 Approximation d’un syst`me lin´aire au sens des moindres carr´s e e e On consid`re le probl`me suivant e e trouver u ∈ Rn tel que Bu − C o` B est une matrice r´elle de taille m × n.5) d´signe la norme euclidienne sur Rn ..5) par la m´thode du gradient avec e e e pas optimal.5) admet une solution ´vidente ? e ´ 2.

puis aux fonctions de R dans R Exercice 4.10−23 J/K : constante de Boltzmann. est appel´e ´mittance monochromatique maximale du corps noir et est not´e M (λ). 450. 997. λ + dλ]. 750. Dans un premier temps.Quelques algorithmes pour l’optimisation sans contraintes 71 • Pr´cisions : u0 est la solution de d´part (re¸ue en param`tre). tol (pour tol´rance) et nitmax sont e e c e e utilis´s pour le crit`re d’arrˆt de l’algorithme.10−5 ].7 (Energie rayonnante d’un corps noir). Associer chaque courbe trac´e ` la valeur de T correspondante. Sa valeur. On e a prendra λ ∈ [10−7 . 1. le plus simple et efficace possible pour r´soudre (4. 700.s : constante de Planck. e e e Le pas optimal est recherch´. L’´nergie rayonnante d’un corps noir dans l’intervalle d’´mission [λ. (b) Cas particulier On suppose que l’on sait par avance que B est injective. e e e exprim´e en W b/m2 est donn´e par la loi de Planck : e e M (λ) = 2 2πhC0 . e – n = 1 : indice de r´fraction du milieu (ici le vide). 400. Tracer sur un mˆme graphique la fonction M (λ) pour les valeurs suivantes de T (K) : 300. e e 4. 350. entre 0 et 1. On souhaite trouver la valeur λ∗ de λ qui maximise l’´mittance monochromatique pour une temp´rature e e de surface T donn´e. Fonctions Matlab utiles : hold on.9 4. 2. e 500. Les constantes intervenant dans cette loi sont : – C0 – h – k 2. e 1. 625. n2 λ5 exp 1 hC0 nkT λ −1 . Cet algorithme doit tenir compte de l’´ventualit´ o` e e e u B est r´guli`re. 800. 650. nous nous int´reserons aux fonctions de R e n dans R.9. lors de chaque it´ration. 600. 550.1 Travaux pratiques Travaux pratiques 1 L’objectif de cette s´ance de travaux pratiques est de vous faire programmer quelques m´thodes d’Optimie e sation sans contrainte de fonctionnelles. par unit´ de surface et de e e e temps. 380. – T : temp´rature absolue de la surface du corps noir (K). e e e . 2. hold off. ` quelle contrainte est-on soumis si l’on souhaite utiliser la m´thode de la section e a e dor´e ? e Programmer alors cette m´thode pour d´terminer λ∗ suivant les diff´rentes valeurs de T .10−34 J.108 m/s : vitesse de la lumi`re dans le vide. e 6. Ecrire alors un algorithme Matlab. Pr´ciser la fonction Matlab ` e e e a utiliser. – λ : longueur d’onde (m).5).

. 0  4 −2 4 .8 (M´thodes de gradient pour des fonctionnelles quadratiques). x). Que e e pensez-vous de la sensibilit´ de la m´thode sur le point de d´part ? e e e Exercice 4.. par diff´rentes m´thodes. et dans le cas n = 2. Programmer en Matlab la fonctionnelle Jn . . le format ”creux” de la matrice A afin de diminuer les temps de calcul. on demande : e e e −→ pour le cas n = 2 : – d’afficher sur une mˆme figure. Fonctions Matlab utiles : sparse. 4 −2  0 .. e 1. 10].. et la repr´senter dans le cas n = 2 sur le pav´ [−10. 2 Remarque : il est important d’exploiter.  . u 4. . On cherche ` minimiser dans Rn . x) − (bn . 2. Pour chacune de ces ´tudes.   −2  4 . et son gradient.. full.  . Reprendre la question 2 en utilisant cette fois la fonction pr´programm´e de Matlab fminsearch. quiver. . . e Fonctions Matlab utiles : contour. e ∗ Soit n ∈ N .  . mesh. 0 −2 ... . V´rifier num´riquement. . Nous allons ´tudier trois m´thodes de minimisation. e e Fonction Matlab utile : eig. pour certaines valeurs de n que An est d´finie positive. . 1. 1). 3.    0  et bn = (1. 10] × e [−10.  .. la fonctionnelle : a e e Jn (x) = On appelle donc (Pn ) le probl`me : e (Pn ) min Jn (x) x ∈ Rn 1 (An x. −2 0 . On consid`re la matrice A ∈ Mn (R) et le vecteur bn ∈ Rn d´finis par : e e   −2   An =  0   . Fonctions Matlab utiles : meshgrid. e e e Calculer la solution th´orique du probl`me (Pn ) dans le cas n = 2.72 3. . dans les questions qui suivent. V´rifier les lois de Wien : e e λ∗ T = A et M (λ∗ ) = BT 5 . o` A et B d´signent des constantes. les courbes de niveau de Jn .

e e e −→ lorsque n prend les valeurs 10.    n+1 n  x = x + ρn dn α∈R Programmer cet algorithme et r´pondre aux questions initiales. ´ Ecrire une fonction Matlab permettant de minimiser. 50. e a i. e a ´ Ecrire une fonction Matlab prenant en argument ρ > 0. un point. ainsi que le temps de calcul par Matlab. la rapidit´ de convergence de chacune de a e ces m´thodes. suivant les diff´rentes valeurs prises par n. de stocker la liste des xn obtenu. e e (a) La m´thode du gradient ` pas fixe. x) o` A ∈ Mn (R) est une matrice sym´trique d´finie positive et b est un vecteur de Rn . afin de mettre en œuvre l’algorithme du gradient ` pas fixe. e Expliquer bri`vement pourquoi il est important de choisir le pas fixe. – de tracer. un vecteur. e e Soit f : Rn x −→ R −→ 1 2 (Ax. 20. et d ∈ Rn . de comparer ` l’aide d’un graphique ou d’un tableau. un pas fixe et x0 ∈ Rn . 30. n − (b. ni trop petit. un vecteur d’initialisation. a e e la fonction t −→ Jn (x + td). ii. dans u e e . ` l’aide de la m´thode de la section dor´e. Soient x ∈ Rn . On pourra utiliser la m´thode e e de la section dor´e pour calculer ρn .Quelques algorithmes pour l’optimisation sans contraintes 73 – pour un point de d´part x0 . e (c) La m´thode du gradient conjugu´ dans le cas d’une fonctionnelle quadratique elliptique. Alors. 100 : – de tester chacune des trois m´thodes e – Enfin. puis la tester sur Jn a dans chacun des cas ci-dessus. les lignes qui relient les xn . e (b) La m´thode du gradient ` pas optimal. avant que le crit`re de convergence soit e e atteint. Voici l’algrithme du gradient ` pas optimal pour la minimisation d’une fonction f donn´e : a e  e  x0 est donn´. sur la mˆme courbe que pr´c´demment. R´pondre aux questions initiales. x)  dn = − f (xn )     ρ = min Jn (xn + αdn ). ni trop grand.

2 Travaux pratiques 2 L’objectif de cette s´ance de travaux pratiques est d’´tendre les algorithmes ´tudi´s au cours de la s´ance e e e e e pr´c´dente ` des fonctionnelles non quadratiques. d’´tudier l’influence e e a e d’un mauvais conditionnement de la matrice Hessienne. et pour les fonctionnelles quadratiques. β n := . e     n+1 (rn . dn )   = xn + ρn dn . r0 = Ax0 − b et d0 = −r0 . dn ) n+1 n+1  r = Ax −b     n+1 rn+1 2   d = −rn+1 + β n dn .9. ρn = −  x (Adn . . l’algorithme du gradient conjugu´ s’´crit : e e   x0 est donn´.  rn 2 Programmer cet algorithme et r´pondre aux questions initiales. e 4.74 ce cas.

5 .   31  32   32.Quelques algorithmes pour l’optimisation sans contraintes 75 Quelques brefs rappels d’Analyse Num´rique.9 (Minimisation d’une fonctionnelle non quadratique). Exercice 4. puisque l’on trouve par des techniques e e  92    −12.      33   – Si b =   33 . A−1 . une toute petite modification de b engendre une grande modification de X. On souhaite r´soudre. 6   usuelles : X =   4. On dit que la matrice e e a e e A est mal conditionn´e. On d´finit κ(A). un probl`me de minimisation d’une fonctionnelle non lin´aire et e e e 2 non quadratique. 1  30. 9 Dans ce cas. . On note . le e ` e conditionnement de la matrice A par : κ(A) = A . la solution du syst`me est grandement modifi´e. De fa¸on plus pr´cise. On se rend ainsi compte qu’une impr´cision dans un calcul num´rique peut conduire ` des r´sultats erron´s. e Soit A ∈ Mn. 9  . la norme subordonn´e a la norme euclidienne. 1    32.   −11 Ainsi.n (R). dans cet exercice. On d´finit sur R la fonctionnelle de Rosenbrock. on rappelle la d´finition : e c e e D´finition 18 Conditionnement d’une matrice.  – Si on modifie l´g`rement b de la fa¸on suivante : b =  e e c   33. e Conditionnement d’une matrice On souhaite r´soudre le syst`me AX = b. ´galement appel´e Rosenbrock banana. avec : e e 10 7 8 7   7 5 6 5 A=  8 6 10 9  7 5 9 10     . par e e e  1    1  Il est clair que la solution de ce syst`me est X =  . e  1    1   .

e (a) Repr´senter la surface repr´sentative de la fonctionnelle de Rosenbrock sur le pav´ [−10. e (c) On appelle H. On utilisera un double crit`re d’arrˆt. on choisit de d´marrer les algorithmes que l’on a e e codera au point de coordonn´es (0. 01. ´ 1. e e (b) M´thode du gradient ` pas fixe.m. La m´thode de gradient ` pas fixe. e a ´ Ecrire un programme PasFixe. e e a puis ` pas optimal. Pour comparer les deux m´thodes. e e . et la courbe reliant les points obtenus ` chaque it´ration par la m´thode a e e pr´c´dente. ´ ii. e a ´ i. puis calculer son conditionnement. Une explication intuitive sera accept´e. 10] × e e e [−10. 2] × [0. e (a) Trouver les points critiques de f . iii. e e ´ 2. Ecrire une fonction pasOptimal. dans le plan xOy. y) = (x − 1)2 + 10(x2 − y)2 . et un autre crit`re relatif ` la e e e e a pr´cision de la m´thode. Compl´ter alors le programme pr´c´dent afin de repr´senter cent lignes de niveaux de la fonce e e e tionnelle de Rosenbrock. Pour tester cette m´thode. (b) D´montrer que f admet un unique minimum global qu’elle atteint en X := (1. Etude Num´rique. des deux variables (α. cent lignes de niveaux de la fonctionnelle de Rosenbrock dans le pav´ e [0. On souhaite comparer deux m´thodes bien connues de minimisation. apr`s l’avoir justifi´ : un e e e e crit`re portant sur le nombre total d’it´rations de la m´thode. 10]. le pas u e e e de la m´thode. ´ (d) Ecrire un d´veloppement limit´ ` l’ordre 2 de la fonction f en X . la matrice hessienne de f calcul´e en X . (b) Tracer. ` l’aide de e a la fonction Matlab fminsearch. 2].m mettant en œuvre la m´thode du gradient ` pas fixe. e D´terminer H. o` X d´signe le point de d´marrage de la m´thode et β. Ecrire un programme mettant en œuvre la m´thode du gradient ` pas optimal pour minimiser e a la fonctionnelle de Rosenbrock. on pourra choisir par exemple β = 0.76 la relation : f (x. 1). Quel inconv´nient num´rique risque t-on de rencontrer ? e e 3. e e Fonction Matlab utile : norm. X) ∈ R × R2 qui renvoie la quantit´ e f (X − α f (X)). 1). On minimisera par la suite la premi`re variable de cette fonction. e Fonction Matlab utile : cond. Ce programme e a prendra comme arguments X et β. e (a) M´thode du gradient ` pas optimal. Etude th´orique. e ea Expliquer pourquoi ce mauvais conditionnement risque de gˆner la convergence des algorithmes e num´riques.

    n+1 rn+1 2   = −rn+1 + β n dn .  . Pour quel type de fonction cette courbe est-elle une droite ? Exercice 4. e     (rn . Sur la mˆme figure que pr´c´demment.  1  1.. repr´senter les it´r´s obtenus par la m´thode du gradient e e e e e e e a ` pas fixe. e e e . les points obtenus en appliquant les algoe rithmes ` chaque it´ration. 2 −1  0 . Proposez une explication du ph´nom`ne observ´ pour la m´thode e e e e du gradient ` pas optimal.   −1  2 . = xn + ρn dn .  . la matrice carr´e de taille n × n d´finie par : e e   −1   . .  .  bn =  . On va r´utiliser la famille de matrices introduite e dans le TP n1. o` bn est un vecteur colonne don de e e u taille n donn´.. Pour l’une ou l’autre des m´thodes. 0  2 −1 2 . Quelle remarque pouvez-vous faire sur les lignes de niveaux de la fonctionnelle f . β n = . An =  .  .. dn )  rn+1 = Axn+1 − b . programmer l’algorithme de gradient conjugu´ pour d´terminer la solution du syst`me An X = bn . utilisables dans le cas de matrices creuses. on appelle An .    0 . on appelle Xk . Premi`re m´thode : le gradient conjugu´. et pour chacune des deux m´thodes. ρn = −  (Adn . e e e On rappelle l’algorithme du gradient conjugu´ pour une fonctionnelle quadratique : e   x0 est donn´. deux m´thodes num´riques de r´solution de syst`mes lin´aires e e e e e de grande taille.  . dans un voisinage du point critique X .1 (R) : An X = b.  d rn 2 En utilisant une fonctionnelle quadratique judicieusement choisie. e i. on pourra par exemple choisir : e e  1  .  . Pour n ∈ N∗ . Pour les tests num´riques.  . r0 = Ax0 − b et d0 = −r0 . a e Tracer sur un graphe diff´rent... dn )  n+1  x .. −1 0 .Quelques algorithmes pour l’optimisation sans contraintes 77 (c) Comparaison des m´thodes. . 0 −1 .  .. . . ii. On souhaite r´soudre le syst`me d’inconnue X ∈ Mn. la courbe donnant ln( Xk − e e X ) en fonction de k.10 (R´solution de syst`mes lin´aires ` l’aide de pr´conditionneurs) e e e a e On souhaite comparer. dans cette exercice. a iii.

Des difficult´s num´riques peuvent survenir si le conditione e e nement de la matrice A est mauvais. e a −→ On utilisera un double crit`re pour stopper l’algorithme : un crit`re sur le nombre maximal d’it´ration e e e et un autre crit`re sur la norme du r´sidu. de mˆme que x0 . On notera ` chaque fois le nombre d’it´rations n´cessaires e e a e e pour atteindre la solution. L’id´e de cette m´thode est bas´e e a e e e e e e sur la remarque suivante : si M est une matrice inversible. la factoris´e incompl`te de Cholesky de An . La m´thode du gradient conjugu´ pr´conditionn´. et pour que l’inverse de M soit ais´e ` calculer. e 2. cholinc(avec l’option 0 ).78 −→ L’entier n sera plac´ dans les arguments d’entr´e du programme. on note RI. alors. e Fonction Matlab utile : inv. qui permet e e e d’initialiser l’algorithme et bn . ` chaquel appel des programmes le r´sidu e e e a e logarithmique en fonction du nombre d’it´rations. le second membre du syst`me ` r´soudre. V´rifier que le conditionnement de la matrice M −1 An est meilleur que celui de An e et que l’inverse de M se calcule ais´ment. e e e e Cette m´thode sert ` r´duire le nombre d’it´rations de l’algorithme. am´liorer (on r´´crira un programme) le programme pr´c´dent e e e ee e e pour calculer la solution du syst`me An X = b. (c) En utilisant les remarques pr´c´dentes. en allant au maximum jusqu’` n = 1000. la solution du syst`me An X = bn est la solution du syst`me M −1 An X = M −1 bn . e (b) An ´tant une matrice creuse. e a e −→ On testera le programme pour diff´rentes valeurs de n. Comparaison des deux m´thodes. On va donc choisir M pour que le conditionnement de M −1 An soit meilleur que le conditionnement de An . e Compl´ter les deux programmes pr´c´dents afin de tracer. Conclure. e . et on pose e e e M = t RI × RI. e e e 3. On tiendra compte des remarques faites pour la e m´thode du gradient conjugu´ sans pr´conditionnement. −→ On pourra comparer la solution trouv´e par ce programme avec la solution r´elle de ce syst`me e e e calcul´e par Matlab. e a (a) Expliquer bri`vement le principe de factorisation de Cholesky.

ferm´ de Rn et on s’int´resse ` la r´solution du probl`me e e e e a e e (P) min J (x) x∈C 5. dans le chapitre pr´c´dent.. i ∈ {1. e e e e e Nous consid´rons maintenant le cas avec contraintes... p} .. fi . Alors.... p}. 1 ≤ i ≤ m. On veut minimiser J sur l’ensemble : C = x ∈ RN . . µ∗ tels que e 1 m 1 p    x (1) J (x∗ ) + m λ∗ gi (x∗ ) + i p i=1 µ∗ i fi (x∗ ) = 0 avec λ∗ gi (x∗ )i=1 = 0... .Chapitre 5 Quelques algorithmes pour l’optimisation avec contraintes Nous avons trait´. λ∗ ..1 Retour sur les conditions d’optimalit´ e Rappelons le th´or`me de Kuhn-Tucker : e e Soit J.. . soit C un ensemble non vide. fi (x) = 0. i ∈ {1.. gi (x) 0. e Plus pr´cis´ment... i Introduisons maintenant la d´finition suivante : e 79 . m} des fonctions de classe C 1 .. m} . une condition n´cessaire pour que X ∗ soit un minimum e e de J est qu’il existe des nombres positifs λ∗ . . i ∈ {1. et des nombres r´els µ∗ . gi .. . i ∈ {1. . On suppose les contraintes qualifi´es au point X ∗ .. de la r´solution de probl`mes de minimisation sans contraintes..

µ∗ .1 (CNS dans le cas convexe). e e Theorem 5. . d) = 0. e – et que les vecteurs fi (x∗ ). que x∗ est un minimum (local) de J sur C et que – les relations de Kuhn-Tucker soient satisfaites ( fi (x∗ ) .. e ∗ – µ∗ = µ1 .. i = 1. f est affine et que x∗ est r´gulier pour les e contraintes f et g. λ∗ ) = 0 On a alors le th´or`me important suivant dans le cas convexe. µ.2 On suppose que J.. avec 1 i ≤ p.. 5. λ) = J (x) + i=1 µi fi (x) + j=1 λi gi (x) La relation (1) s’´crit alors : e xL (x∗ .2 Conditions d’optimalit´ n´cessaires du second ordre e e Les r´sultats ´nonc´s jusqu’` pr´sent donnent des conditions n´cessaires pour r´soudre le probl`me de e e e a e e e e minimisation sous contraintes. d’avoir des r´sultats pr´cisant si la solution obtenue est e e e effectivement un minimum. . on peut. Ils fournissent en soi des candidats valables pour r´soudre (P). 1 + 0. g sont convexes. λ∗ ) telles que 1 m p e – pour toute direction d ∈ RN v´rifiant : Theorem 5. j ∈ I0 (x∗ ). gi (x∗ ) 0. f et g sont C 1 .. sont ind´pendants. c’est-`-dire les e a points critiques du Lagrangien. Toutefois. Alors.80 D´finition 19 On appelle Lagrangien du probl`me (P) la fonction d´finie sur Rn × Rp × Rm par : e e e p m L (x. f et g sont de classe C 2 . λ∗ = (λ∗ . et seulement si les conditions du th´or`me pr´c´dent de Kuhne e e e e Tucker sont satisfaites. e e le point x∗ est r´gulier.. µ∗ ... gj (x∗ ). grˆce ` une conditon du second ordre. d) = 0. j ∈ I0 (x∗ ) \ I0 (x∗ ) j q/gj (x∗ ) = 0 et µ∗ > 0 j . que J. e Alors x∗ est une solution du probl`me (P) si. c’est-`-dire : a – qu’il est r´alisable fi (x∗ ) = 0. pour pouvoir conclure. d) o` u + I0 (x∗ ) = j. On suppose que J. C’est l’objet du th´or`me suivant. j ∈ I0 (x∗ ) ( gj (x∗ ) . il est n´cessaire.. p + ( gj (x∗ ) . . Pour cela. restreindre le nombre a a de candidats.

d(k) ∈ Rn \ {0} . Il est donc n´cessaire de se ramener sur C. ρ(k) ∈ R+∗ o` f (k) et d(k) sont choisis de telle sorte que J x(k+1) u J x(k) . µ∗ . β 2 ] tel que 0 < β 1 < β 2 < M 2 (o` α et M sont 2 respectivement les constantes d’elliplicit´ (( J(x) − J(y). d 0 (x.Quelques algorithmes pour l’optimisation avec contraintes 81 Initialisation k = 0 . l’op´rateur associ´ ´tant not´ Πe : Rn e e a a e ee e x −→ ΠC (x) Ceci donne lieu alors naturellement ` l’algorithme du gradient projet´. 2α u Alors. si on choisit le pas ρ(k) dans un intervalle [β 1 .3 M´thode du gradient projet´ e e Rappelons que. µ. l’algorithme du gradient. algorithme identique ` celui du a e a gradient ` la projection pr`s. a e Nous avons alors le r´sultat de convergence suivant : e → C . a e e j 5. x − y) ≥ α x − y ) et d’in´galit´ lipschitzienne e e e Theorem 5. e e e + + D´finition 20 L’ensemble I0 (x∗ ) est l’ensemble des contraintes fortement actives. On suppose que J est elliptique de d´riv´e lipschitzienne.3 Soit J une fonction C 1 de Rn dans R. choix de x0 et g0 > 0 Iteration k Tant que le critere d’arret est non satisfait x(k+1) = x(k) − ρ(k) J x(k) x(k+1) = ΠC x(k+1) k =k+1 fin Tab. µ. e (k+1) (k) x = x + ρ(k) d(k) . λ) . on dit qu’il y a stricte compl´mentarit´. e e e x(0) ∈ Rn donn´. dans le cas sans contrainte. Lorsque l’on minimise sur un ensemble de contraintes C. qui est une m´thode de descente. λ) d´signe la d´riv´e seconde de L au point (x.1 – Algorithme du gradient projet´. e c’est-`-dire 0 = gj (x∗ ) ⇐⇒ λ∗ > 0. e s’´crit sous la forme g´n´rique. On r´alise u e e cette derni`re op´ration grˆce ` une projection sur C. il n’est pas sˆ r que x(k) reste sur C. Lorsque I0 (x∗ ) = I0 (x∗ ). λ∗ ) d. e e . e on a : 2 xx L 2 xx L (x∗ . 5.

c e e e o` Q est une matrice carr´e de Mn×n (R) et c un vecteur de Rn . nous avons : e   1 t x Qx − cT x + µT (Ax − b) 2  Ax = b x =0 . On raisonne de mˆme pour le cas d’une contrainte du type e e xj bj . il ne faut pas oublier que l’on doit connaˆ ıt ıtre l’op´rateur de projection sur C. Si l’ensemble des contraintes est C = {x ∈ Rn | x ∈ Bf (x0 . Il est clairement hors de question de r´soudre e a e n le probl`me de minimisation pour x ∈ R fix´ : e e min y − x y∈C 2 qui est lui-mˆme un probl`me de minimisation sur le mˆme ensemble de contraintes. on peut se convaincre facilement que la i-i`me e coordonn´e de ΠC x sera xi si xi ai et ai sinon. on peut expliciter l’op´rateur de projection. i ∈ I. . Dans quelques cas partie e e culiers. ai ) ou (Πx )j = min (xj . Toutefois.4 M´thode de Lagrange-Newton pour des contraintes en ´galit´ e e e   min 1 xT Qx − cT x 2  Ax = b Pla¸ons-nous dans la cas particulier d’un probl`me quadratique avec contraintes en ´galit´ affines. la projection ΠC s’´crit alors e ΠC x = x x0 + R . j ∈ J} I et J ´tant des ensembles d’indices non n´cessairement disjoints (ceci contient notamment le cas des e e pav´s). xn ) . b ∈ Rp . La suite x(k) k d´finie par la m´thode du gradient projet´ converge vers la e e e Cette approche paraˆ simple au premier abord. .. ` priori simple. R) d´signe la boule ferm´e de u e e centre x0 et de rayon R > 0.82 solution du probl`me (P). e Pour ce qui est du cas d’une contrainte du type xi ai . e ( J(x) − J(y) ≤ M x − y ). si x ∈ C / x−x0 x−x0 5. ce qui n’est pas. bj ) . On peut r´sumer cela par : e (ΠC x)i = max (xi . A ∈ Mp×n (R). si x ∈ C . Si nous ´crivons les u e e relations de Kuhn-Tucker (conditions d’optimalit´ au 1er ordre). o` Bf (x0 .. xj bj . e Supposons que C soit une intersection de demi espaces du type : C = {x = (x1 . xi ai .. R)}.

µ) =0 h (x) = 0 o` µ ∈ Rp et L (x. On va r´soudre le syst`me d’optimalit´ e e par la m´thode de Newton.Quelques algorithmes pour l’optimisation avec contraintes 83 o` µ ∈ Rp est le multiplicateur de Lagrange associ´ ` la contrainte Ax − b = 0. on a alors la forme ´quivalente : a e e 2 Dxx L x(k) . e e e Nous obtenons alors ce que l’on appelle la m´thode de Lagrange-Newton. Nous e e . u e e Les conditions du premier ordre s’´crivent (au moins formellement) e x L L (x. On peut alors r´soudre ce syst`me u e e e d’´quations non lin´aires par la m´thode de Newton. Consid´rons le probl`me en ´galit´ suivant : e e e e min J (x) h (x) = 0 o` J : Rn → R et h : Rn → Rp sont suffisamment r´guli`res.5 M´thode de Newton projet´e (pour des contraintes de borne) e e La m´thode de Newton projet´e rel`ve d’une id´e analogue ` celle d´velopp´e lors du grandient projet´ : e e e e a e e e puisque les it´r´s successifs ne satisfont pas les contraintes. µ∗ ) est la solution du syst`me e Qx∗ − c + AT µ∗ = 0 Ax∗ = b que l’on peut aussi ´crire : e Q A AT 0 x∗ µ∗ = c b Q AT est inversible. Par cons´quent. ce syst`me admet une solution que l’on peut calculer par e A 0 n’importe quelle m´htode pour la r´solution des syst`mes lin´aires. e e e e Si la matrice M = e e e Supposons maintenant que le probl`me ne soit plus quadratique. le couple u ea e optimal (x∗ . µ(k) [ h x(k) ]T 0 d(k) µ(k+1) h x(k) =− J x(k) h x(k) t 5. on les projette sur l’ensemble des contraintes. µ) = J (x) + µ[h (x)]T est le Lagrangien du probl`me. e Remarquons que si l’on ajoute [ h x(k) ]T µ(k) ` la premi`re ligne de (2).

On peut affiner un peu en introduisant un pas α(k) > 0 qui donne la nouvelle formulation : x(k+1) = x(k) − α(k) H (k) −1 f x(k) . 0)1≤i≤n .2 – M´thode de Lagrange-Newton.84 Initialisation k = 1. e u e Commen¸ons par un probl`me plus simple : c e (P0 ) min f (x) x 0 o` f est C 2 sur Rn . µ(k) d(k) [ x h x(k) ]T (2) (k) 0 y(k) xh x 2 (k) (k) ou Dxx L x . nous obtenons alors : x(k+1) = o` u (x) = (max xi . Ceci donne alors la m´thode de Newton projet´e. une it´ration de la m´thode de Newton u e e e est de la forme : x(k+1) = x(k) − H (k) −1 f x(k) . e e + x(k) − α(k) H (k) −1 + x(k) . Si nous projetons sur l’ensemble des contraintes. µ(k) ]T h x(k) Tab. choix de x(0) . Poser : x(k+1) = x(k) + d(k) µ(k+1) = µ(k) + y(k) k =k+1 fin ere d’arret est non satisfait =− [ xL x(k) . µ(0) ∈ Rn × Rp Iteration k Tant que le crit Resoudre le systeme lineaire 2 Dxx L x(k) . Si H (k) d´signe la matrice Hessienne D2 f (x) . 5. Remarquons que beaucoup de probl`mes duaux (o` µ est alors l’inconnue) sont ´galement de cette forme. µ est le Hessien par rapport a x de L . e ne nous int´resserons ici qu’au cas o` nous avons des contraintes de bornes de la forme : e u (P) min f (x) a x b.

x(0) 0 Choisir une tolerance ε > 0 Iteration k : tant que le critere d’arret est non satisfait Application de la regle anti zig-zag : ε(k) = min ε. pour e e e a (k) que la suite des it´r´s soit bien d´finie. σ ∈ ]0. La r`gle anti a e e zig-zag permet d’´viter les oscillations de l’algorithme. ω(k) I +(k) = i/0 D(k) = H (k) xi −1 w(k) = x(k) − x(k) − (k) f x(k) ε(k) et (k) ∂f ∂xi + x(k) > 0 (k) si i = j et i ∈ I +(k) o` u x sinon. L’ensemble I (k)+ est l’ensemble des indices des contraintes ”presque” actives ` ε(k) pr`s. 1[ . ρ(k) = D(k) f x(k) (choix de la direction de descente) + choix du pas par une recherche lineairex(k) (α) = x(k) − α ρ(k) α(k) est choisi avec une regle de type Armijo comme en (3) x(k+1) = x(k) α(k) fin pour i o` Hij = u 0 ∂2 f ∂xi ∂xj j ∈ I +(k) . 1/2[ (k) o` m(k) est le plus petit entier m tel que u σ β m  ∂f x(k) (k) pi + ∂xi ∂f x(k) ∂xi (k) f x(k) − f β m x(k) xi i∈I (k)+ / i∈I (k)+ − β m x(k) i   L’algorithme de Newton projet´ dans le cas unilat´ral est alors donn´ par la table suivante : e e e Remarques : 1. Nous supposons.Quelques algorithmes pour l’optimisation avec contraintes 85 Initialisation Poser le n◦ Choisir x(0) ∈ Rn . La r`gle de choix de pas est une r`gle de type Arnijo qui permet de choisir un pas ”optimal” ` moindre e e a coˆ t.3 – Algorithme de Newton projet´ : cas unilat´ral e e Nous allons donner maintenant une m´thode de type Quasi-Newton dont les propri´t´s de convergence sont e ee proches de celles de la m´thode de Newton projet´e tout en ´tant ` la fois plus souple. 5. a 3. u . pour commencer. Tab. e 2. la r`gle du choix du pas : e – Poser α(k) = β m – Choisir β ∈ ]0. Donnons. que les matrices H e e e sont inversibles. D(ω) −1 est une approximation de la matrice hessienne plus facile ` calculer.

4 – Algorithme de Newton projet´ : cas bilat´ral e e On a alors le r´sultat de convergence suivant. On peut alors g´n´raliser l’algorithme e e pr´c´dent au probl`me (3) qui donne l’algorithme de Newton projet´ dans le cas bilat´ral. – x dans une boule centr´e en x∗ et z = 0 tel que zi = 0. 5. qu’on peut trouver m1 et m2 deux e r´els strictement positifs tels que : e 2 m1 z dans chacun des cas suivants : D2 f (x) z. x(k+1) = x(k) α(k) x(k) > 0 ∪ i/bi − ε(k) (k)# xi (k) bi et ∂f ∂xi x(k) < 0 Tab. ω (k) I (k)# = i/ai (k) ω (k) = x(k) − x(k) − xi (k) f x(k) + ai + ε(k) et ∂f ∂xi D est definie positive et diagonale par rapport a I # (k) x (α) = x(k) − αD(k) f x(k) ou pour tout z ∈ Rn . e Theorem 5. e e e e e . la suite x(k) engendr´e par l’algorithme converge vers x∗ et le taux de convergence est superlin´aire e e (au moins quadratique si D2 f est lipschitzienne au voisinage de x∗ ). ∀i ∈ I (x ) (ensemble actif ). z m2 z 2 – pour tout z ∈ x | f (x) f x(0) d’une part . z# = ΠC (z) designe le vecteur de coordonnees :   bi si bi ≤ zi zi si ai ≤ zi ≤ bi [z]# = i  ai si zi ≤ ai .86 Initialisation k=1 Choix de x(0) x(0) 0 Choix d’une tolerance ε > 0 Iteration k Tant que le critere de convergence n’est pas satisfait Regle anti zig-zag ε(k) = min ε. pour i ∈ I (x∗ ) d’autre part. de plus. e Alors. On suppose.4 On suppose que la fonction f est convexe et C 2 et que le probl`me (P )0 a une unique solution e ∂f ∗ ∗ ∗ x v´rifiant ∂xi (x ) > 0. α(k) est choisi par une regle de type Armijo avec # a la place de +.

e Ici. on aura tendance ` satisfaire la contrainte α pour compenser. Le principe intuitif des m´thodes de p´nalisation est e e e a que l ’on esp`re que. lorsque ε devient petit. choisir : e α (x) = 0 si x ∈ C +∞ si x ∈ C / o` α : Rn → R est une fonction de p´nalisation des contraintes et ε > 0. N´anmoins. on peut trouver dans ce cas des fonctions α qui sont d´rivables. Le but est de trouver des fonctions u e Cette fonction n’a pas de bonnes propri´t´s math´matiques (notamment la d´rivabilit´) pour qu’on puisse ee e e e appliquer les techniques de r´solution sans contraintes. – contrainte g (x) 0 : la fonction α est α (x) = g (x) + 2 2 .1 M´thodes de p´nalisation e e Les m´thodes de p´nalisation sont tr`s utilis´es en pratique car elles sont tr`s simples. e En g´n´ral. α (x) = 0 ⇔ x ∈ C Nous donnons quelques exemples de fonction de p´nalisation pour diff´rentes contraintes : e e – Contrainte x 0 : la fonction α est α (x) = x+ .5. nous supposons que α v´rifie les propri´t´s suivantes : e ee 1. tels qu’ils aient les mˆmes solutions. . α est continue sur Rn 2. e e a e Dans ce cas. on effectue ce que l’on appelle une p´nalisation dite inexacte. e (P) par un probl`me sans contraintes e (Pε ) min J (x) + 1 α (x) ε x ∈ Rn min J (x) x ∈ C ⊂ Rn α telles que les probl`mes (P ) et (Pε ) soient ´quivalents. ce qui permet d’utiliser les e e r´sultats de minimisation sans contraintes.Quelques algorithmes pour l’optimisation avec contraintes 87 5. l’ensemble des solutions de (Pε ) ne couvre pas tout l’ensemble des solutions de (P). On peut. par exemple. e Donnons quelques exemples de fonctions de p´nalisation α o` la p´nalisation est dite ext´rieure car la suite e u e e (xε )ε>0 converge vers x∗ en venant de l’ext´rieur de C. α (x) 0 3. c’est-`-dire. on dit que la p´nalisation est exacte. 2 – Contrainte h (x) = 0 : la fonction α est α (x) = h (x) . telle que le probl`me (P) ` des e e e e a solutions qui ne sont pas solutions de (Pε ) . ∀x ∈ Rn . Elles partent du e e e e e principe suivant : on remplace le probl`me avec contraintes.

α (x) = 0 ⇔ x ∈ C. On suppose que e α v´rifie les conditions suivantes : e 1.88 Initialisation k=1 Choisir x(0) ∈ Rn . e e e e L’id´e g´n´rale est de consid´rer le Lagrangien L au lieu de la fonction J . ∀x ∈ Rn . nous avons vu qu’une condition n´cessaire du premier ordre pour que x∗ soit un minimum de e ∗ J avec contraintes est que x (associ´ aux multiplicateurs de Lagrange) soit un point critique de L . Nous avons alors le r´sultat de u u n 1 convergence suivant : Theorem 5. avec x(k−1) le point d’initialisation. α (x) On a alors : – ∀ε > 0. Tab. x+ . 3.5 Soit J une fonction continue et coercive. 5.5 – Algorithme de p´nalisation ext´rieure e e e o` . On obtient alors l’algorithme suivant de p´nalisation ext´rieure.5. prendre ε(k+1) < ε(k) . α est continue sur Rn . e e 0. .2 M´thode de dualit´ : m´thode d’Uzawa e e e La technique propos´e ici provient de la partie de l’optimisation appel´e th´orie de la dualit´ convexe. e . ε(1) > 0 Iteration k tant que le critere d’arret n’est pas satisfait : 1 min J (x) + ε(k) α (x) a) Resoudre le sous probleme (Pε(k) ) n x∈R b) k ← k + 1. est bien sˆ r la norme euclidienne de Rn et x+ = x+ .. 5. (Pε ) a au moins une solution xε e – La famille (xε )ε>0 est born´e – Toute sous-suite convergente extraite de (xε )ε>0 converge vers une solution de (P) lorsque ε → 0. Soit C un ensemble ferm´ non vide. ce choix est motiv´ (au moins) par e e e e e deux raisons : – La fonction Lagrangienne englobe ` la fois la fonction J et les contraintes f et g et repr´sente bien le a e probl`me.. 2. e – Ensuite..

Alors. nous allons chercher le minimum sans contrainte (sur tout Rn ) de e 2. µ∗ . nous avons une caract´risation des points-selles grˆce aux conditions de e a Kuhn-Tucker. D´finition 21 On appelle point-selle de L sur Rn × Rp × R+m tout triplet (x∗ . J (x) + j=1 µj (k) fj (x) + i=1 λi (k) gi (x) = 0 La seconde ´tape est imm´diate. e L’´tape a) revient ` r´soudre : e a e p (k) . λ(k) = x L x. µ m la fonction x −→ L (x. λ) −→ L (x . e e On a alors le th´or`me de convergence suivant. λ) ∈ Rn × Rp × R+m les conditions de Kuhn-Tucker de la fa¸on suivante : c 1.7 Supponsons que J. e Le th´or`me pr´c´dent indique que nous allons chercher un triplet (x∗ . Pour (µ∗ . µ∗ . λ∗ ) ∈ Rn × Rp × R+m soit un point-selle de L sur Rn × Rp × R+m . Alors. e e . µ∗ . λ∗ ) L (x. µ∗ . Pour x∗ fix´ dans Rn . µ. de la notion de point-selle. λ∗ ) ∈ Rn × Rp × R+m e v´rifiant l’´quation : e e L (x∗ . e Theorem 5. λ∗ ). λ∗ ) ∈ Rn × Rp × R+m est point-selle de L sur Rn × Rp × R+m si et seulement si il v´rifie les conditions de Kuhn-Tucker. f et g soient convexes et C 1 . λ) = J (x) + i=1 µi fi (x) + j=1 λj gj (x) Nous avons besoin. µ.6 Supposons que J. on cherche le maximum sur Rp × R+m (c’est-`-dire des contraintes de bornes e a ∗ simples) de la fonction (µ. µ. λ∗ ) ∀ (x. µ∗ . ce triplet v´rifie les conditions de Kuhn-Tucker. µ. µ∗ . λ∗ ) ∈ Rn × Rp × R+m v´rifiant e e e e e m L (x∗ .Quelques algorithmes pour l’optimisation avec contraintes 89 Rappelons que le Lagrangien du probl`me est : e p m L (x. Theorem 5. le triplet (x∗ . e Dans le cas important convexe. f et g soient des fonctions de classe C 1 et que le triplet (x∗ . µ∗ . λ∗ ) fix´s dans Rn × (R+ ) . λ) On fait ces deux calculs simultan´ment. pour la suite. On obtient alors l’algorithme d’Uzawa. λ) On a alors le r´sultat suivant.

avec 0 < ρ1 < ρ2 tels que ∀ρ ∈ [ρ1 .. ρ2 ]. . .. sont lipschitziennes. λj + ρgj x(k) . Consid´rons le probl`me e e e e e min J (x) x ∈ C. .m ou ρ > 0. e k>0 g´n´r´e par l’algorithme e e e 5. e e e Etant donn´ x(k) .90 Initialisation : k = 0.8 On suppose que J est C 1 et elliptique. On suppose de plus que le Lagrangien L poss`de un point-selle (x∗ .. µ∗ . λ(k) x ∈ Rn b) calculer µ(k+1) et λ(k+1) avec (k+1) (k) µi = µi + ρ fi x(k) . p} Nous avons vu pr´c´demment qu’une solution x∗ de ce probl`me est un point critique du Lagrangien L e e e mais ce n’est pas en g´n´ral un minimum de ce Lagrangien.. i = 1. i = 1. ρ2 .3 M´thode de programmation quadratique successive (SQP) (Sequential Quae dratic Pragramming) Nous allons nous attaquer maintenant ` une derni`re classe de m´thodes appel´es SQP pour Sequential a e e e Quadratic Programming. est un reel fixe (par l’utilisateur). L’id´e essentielle consiste ` r´soudre une e e e e e e a e succession de probl`mes quadratiques avec contraintes lin´aires (ces probl`mes sont relativement simples ` e e e a r´soudre) qui sont des approximations du probl`me de d´part. g convexe de classe C 1 et que h et g Alors.5. la suite x(k) d’Uzawa converge vers x∗ . Tant que le critere d’arret n’est pas satisfait : a) calculer x(k) ∈ Rn solution de min L x. Int´ressons-nous dans un premier temps au cas de contraintes en ´galit´. Tab. o` u C = {x ∈ Rn /fi (x) = 0. choisir µ(0) ∈ Rp et λ(0) ∈ R+m Iteration.. que f est affine. Nous allons d´velopper une m´thode de descente e e e e particuli`re sur les conditions d’optimalit´ du syst`me pr´c´dent. on cherche x(k+1) = x(k) + ρ(k) d(k) e (k) o` d ∈ Rn est une direction de descente et ρ(k) > 0 le pas.6 – Algorithme d’Uzawa Theorem 5.... µ(k) . λ∗ ) sur Rn × Rp × R+m . p P (k) (k+1) (k) λj = max 0. 5. u . j = 1. il existe ρ1 .

µ d. x(k) .. d Df x(k) d(k) + f x(k) = 0 En effet. On pose donc : fi x(k) + ou encore : Df x(k) · d(k) = −f x(k) o` Df x(k) est la matrice jacobienne de f en x(k) . Il y a bien sˆ r. d 2 pour esp´rer minimiser le Lagrangien. d + 1 2 Dxx L x(k) . on d´finit la direction d(k) avec la direction permettant e e e a e (k) d’assumer fi x + d 0. ∀i = 1. d + Dxx L x(k) . µ .Quelques algorithmes pour l’optimisation avec contraintes 91 Effectuons une approximation des contraintes f ` l’aide de la formule de Taylor du premier ordre : a fi x(k) + d = fi x(k) + fi x(k) · d + O d 2 Si on n´glige les termes d’ordre sup´rieur ou ´gal ` 2.. µ . nous avons : xL x(k) . q. e e Par ailleurs. µ = L x(k) . µ d. d + µT f x(k) constant Le dernier terme ´tant constant. e u e e e e Nous pr´sentons ici. µ + xL fi x(k) · d(k) = 0. µ . on voit qu’il faut minimiser e e e a xL x(k) . . On cherche donc. la m´thode qui est bas´e sur le choix : ρ(k) = 1 e e e . On va faire une approximation du Lagrangien o L x(k) + d. µ d. il faudrait que x(k+1) diminue la valeur du Lagrangien (puisque c’est le Lagrangien qui joue le rˆle de la fonction objectif quand on a des contraintes).. Il reste ensuite ` d´terminer le pas ρ(k) et le multiplicateur µ(k) ` chaque e a e a it´ration. d(k) = = J x(k) d(k) + µt Df x(k) d(k) J x(k) . Cette relation correspond ` une lin´arisation des u a e contraintes au voisinage de x(k) : c’est un syst`me lin´aire. d + O 2 d 3 Si on n´glige les termes d’ordre sup´rieur ou ´gal ` 3. en fin de compte x(k) solution du probl`me e e (QP )e min 2 J x(k) . d + 1 2 Dxx L x(k) . beaucoup de possibilit´s qui g´n`rent autant de variantes de la m´thode.

X > +α. e e Pour le probl`me : e (P) o` u C = {x ∈ Rn /f (x) = 0. le principe e e e e e e e est le mˆme. X >= r2 }. le probl`me e e e e e Soit b ∈ Rn .7 – M´thode SQP pour des contraintes en ´galit´ e e e Int´ressons-nous maintenant au cas de contraintes g´n´rales en ´galit´ et in´galit´ . µ. des r´sultats de convergence de l’algorithme. r > 0. On appelle C. g (x) f = (fi )1 elle vaut L (x. On obtient alors l’algorithme suivant. une matrice sym´trique d´finie positive d’ordre n. µ(k) d. . g = (gj )1 j m Il existe finalement pour ce type d’algorithme. α ∈ R. d + 1 Dxx L x(k) .92 Initialisation k = 1. µ(0) ∈ Rp Iteration k : tant que le critere d’arret n’est pas satisfait a) Resoudre le sous probleme quadratique : 2 min J x(k) . l’ensemble .6 Exercices Exercice 5. seule la fonction Lagrangienne est modifi´e. e 5. λ) = J (x) + µT f (x) + λT g (x) o` u µ ∈ Rp et λ ∈ Rm La m´thode SQP s’´crit de la fa¸on suivante ou lin´arise les contrainte et on fait une approximation e e c e quadratique de L . et B. globalement. d 2 (QP )e D x(k) d + f x(k) = 0 b) on pose alors µ(k+1) ∈ Rp le multiplicateur associe a la contrainte (en egalite) de (QP )e et x(k+1) = x(k) + d(k) k ←− k + 1 Tab. 5. i p min J (x) x∈C 0} . choix de x(0) ∈ R. par : F (X) =< a. On d´signe alors par (P).1 d´fini par : C := {X ∈ Rn :< BX. e On d´finit la fonctionnelle F : Rn −→ R.

la fonction de deux variables d´finie par : e f (x1 . µ(0) . x) − (b. . e e 2. R´soudre alors le probl`me (P) et donner une interpr´tation g´om´trique. Est-elle unique ? e e 2.8 – Algorithme SQP pour des contraintes g´n´rales e e suivant : min F (X) X∈C 1. R´soudre compl`tement (P). e Exercice 5.2 On consid`re le probl`me : e e   min 1 (Ax. Comparer cette solution avec la solution du probl`me sans contrainte. x2 ) = (x1 − 1)2 + x2 − 2. e e e e e Exercice 5. e e 3. D´montrer que le probl`me (P) admet une solution. λ(0) ∈ Rp × R+m Iteration k : faire tant que le critere n’est pas satisfait a) Resoudre le sous probleme quadratique d’inconnue d  2  min J x(k) . −1 −1 3 1. avec A =  −1 0     −1 −1 0    2 0  et b =  1  .3 (Utilisation du Lagrangien). 5. µ(k) d. Soit f . D´montrer que le probl`me (P) admet au moins une solution. x)  2 (P) x1 ≥ 1   x2 − 2x3 = 1 1  . d 2 (k) (k) (QP ) Df x d+f x =0  Dg x(k) d + g x(k) 0 µ(k+1) ∈ Rp est le multiplicateur associe a la contrainte en egalite de (QP ) et λ(k+1) ∈ Rm le multiplicateur (positif) associe a la contrainte en inegalite x(k+1) = x(k) + λ(k) k ←− k + 1 Tab. d + 1 Dxx L x(k) .Quelques algorithmes pour l’optimisation avec contraintes 93 Initialisation k=1 Choix de x(0) ∈ Rn .

et xi ≥ 0.. le multiplicateur de ea . ∀i ∈ {1. . on cherche ` r´soudre les probl`mes : a e e (P− ) inf 1 2 (Ax.j = E [(Ri − E(Ri )) (Rj − E(Rj ))] . e e 2. ∀i ∈ {1.. que A est d´finie. ferm´ et non born´.. la e e ` proportion de l’action ai dans le portefeuille. La matrice A est sym´trique et positive. Montrer que pour certaines valeurs de σ ∈ R+ que l’on pr´cisera... on d´finit les ensembles : e e C1 (ε) = C2 (σ) = {x ∈ Rn : (u. x) = σ . . On suppose. x) = 1. x) x ∈ C1 (ε) et (P+ ) sup(e. e e 3. ferm´ e e et born´. Le rendement de l’action ai est mod´lis´ par une variable al´atoire Ri de moyenne ei = E(Ri ). 2 Dans toute la suite de l’exercice. l’ensemble des contraintes C1 (ε) est non vide. x). e e En d´duire que le probl`me (P− ) admet une solution unique. .4 (Etude de l’efficience d’un portefeuille d’actions). le vecteur de taille n. On note xi . Le vecteur x = (x1 .94 Apr`s avoir montr´ l’existence d’une solution. < en ... 1 x ∈ Rn : (u. de coordonn´es ui = 1. . x) = 1 et (Ax. e En d´duire que le probl`me (P+ ) admet au moins une solution.  2  x1 + x2 − 4 ≤ 0 Exercice 5.j ) 1≤i≤n d´finie par la e 1≤j≤n relation : ai. xn )T repr´sente donc la composition du e portefeuille. x) = 1 et (e. e e 1 ... Il est ´vident que e e e e x v´rifie alors : n i=1 xi = 1 = (u. an ). n}2 . x) x ∈ C2 (σ) . puis la matrice de covariance A = (ai.. j) ∈ {1. le multiplicateur de Lagrange associ´ ` la contrainte (u. r´soudre le probl`me : e e e e   min f (x1 . tandis que le risque du portefeuille est calcul´ par la fonctionnelle σ(x) = 2 (Ax. n}. 1. n}.. en )T . x2 )  (P) x − x1 − 1 = 0 .. de plus.. x) = ε} .. x). On dit qu’un e portefeuille x est efficient s’il assure ` la fois un rendement maximal ε pour un risque donn´ σ et un risque a e Le rendement du portefeuille est calcul´ par la fonctionnelle ε(x) = (e.. Montrer que pour tout ε ∈ R. et µ... avec e ∈ Rn tel que 0 < e1 < e2 < e minimal σ pour un rendement impos´ ε. On d´signe par u. l’ensemble C2 (σ) est non vide. On introduit e e e le vecteur de rendement moyen e = (e1 . On consid`re un portefeuille d’actions compos´ de n ≥ 3 actions a risque (a1 .. ∀(i. ... e Pour ε ∈ R et σ ∈ R+ donn´s. On appelle λ. . x).

et e on appelle fronti`re d’efficience. c = (A−1 e. σ) correspondant ` l’ensemble de ces e a solutions quand ε et σ varient. d aε − b . x) = ε.1) (5. λ= (5.. e e e Exercice 5. e).Quelques algorithmes pour l’optimisation avec contraintes 95 Lagrange associ´ ` la contrainte (e. ˚ Supposons que C est born´. On dit qu’une solution x est efficiente si elle est solution commune aux probl`mes (P− ) et (P+ ). 1 ≤ i ≤ m}. 1 ≤ i ≤ m}. a 2. et pour tout i ∈ {1.2) (5. ϕi : Rn −→ R. dans le plan des (ε. ϕi (X) ˚ 1. montrer que le solution x du e e a probl`me (P− ) v´rifie : e e c − bε . Soient m. En utilisant les conditions d’optimalit´ associ´es ` l’ensemble C1 (ε).5 (M´thode de p´nalisation). Pour ε > 0.3) 4. On d´signe par C l’ensemble : e C := {X ∈ Rn : ϕi (X) ≤ 0. Exercice 5. b = (A−1 u. D´terminer la fronti`re d’efficience des probl`mes (P− ) et (P+ ). . un entier naturel non nul. Montrer que : 0 < ε < ε =⇒ J(X ) ≤ J(Xε ) ≤ J(Xε ). Pour l’existence du minimum. (a) Montrer que.6 (Algorithmes d’Uzawa et d’Arrow-Hurwicz). son int´rieur d´fini par : e e e ˚ C = {X ∈ Rn : ϕi (X) < 0. e 3. µ= d x = −A−1 (λu + µe). e e Soient J : Rn −→ R. Xε − − X . On souhaite minimiser la fonctionnelle J sur l’ensemble des contraintes C. On note C. m}. a −→ ε→0 (b) Montrer que X est la solution du probl`me de minimisation. des fonctions convexes. b et c par : ea e e a = (A−1 u. la courbe. . on d´finit la fonctionnelle p´nalis´e Jε par : e e e m Jε (X) = J(X) − ε i=1 1 ˚ .. u). quitte ` extraire. e) et d = b2 − ac. X ∈ C. une fonction strictement convexe et coercive. On d´finit ensuite les r´els a. e on pensera ` introduire une suite minimisante. Montrer que Jε poss`de sur C un unique minimum que l’on notera Xε ..

96

Soit A, une matrice sym´trique et d´finie positive, et b, un vecteur donn´ de Rn . On d´finit la fonctionnelle e e e e quadratique J pour ν ∈ Rn par : J(ν) = 1 (Aν, ν) − (b, ν). 2

Soit C ∈ Mm×n (R). On appelle (P) le probl`me : e inf J(ν) ν ∈ U = {ν ∈ Rn : Cν = 0} . 1. Montrer que le probl`me (P) admet une unique solution u telle que J(u) = inf J(ν). e
ν∈U

´ 2. Ecrire l’algorithme si l’on souhaite r´soudre ce probl`me en utilisant la m´thode d’Uzawa. e e e 3. Soient ρ1 et ρ2 , deux param`tres strictement positifs. On d´finit la m´thode it´rative suivante : e e e e   (u0 , λ0 ) donn´s dans Rn × Rm e     (uk , λk ) ´tant connus, calcul de (uk+1 , λk+1 ) : e k+1  = uk − ρ1 (Auk − b + C T λk ) ;  •u    • λk+1 = λk + ρ ρ Cuk+1 ;
1 2

(5.4)

On d´finit le nombre r´el β par : β = I − ρ1 A . e e

D´montrer que, si ρ1 est suffisamment petit, alors β < 1. e Expliquer pourquoi il existe de tels vecteurs. (b) On choisit ` pr´sent le param`tre ρ1 pour que l’in´galit´ β < 1 ait lieu. Montrer que, si le param`tre a e e e e e ρ2 > 0 est suffisamment petit, il existe une constante γ > 0, ind´pendante de l’entier k, telle que : e γ uk+1 − u
2 n

4. (a) Soit λ, un vecteur de Rm qui v´rifie : Au + C T λ = b. e

λk − λ ρ2

2 m

− β uk − u

2 n

+

λk+1 − λ ρ2

2 m

+ β uk+1 − u

2 n

.

(c) En d´duire que, pour de tels choix des param`tres ρ1 et ρ2 , on a : lim (uk ) = u. e e
k→+∞

5. Que peut-on dire de la suite (λ ) lorsque le rang de la matrice C est m ? 6. L’algorithme ci-dessus s’appelle l’algorithme d’Arrow-Hurwicz. Quel avantage pr´sente cet algorithme par rapport ` la m´thode d’Uzawa ? e a e Exercice 5.7 Rappel de G´om´trie : un cˆne de sommet Ω est form´e d’une famille de droites passant par Ω. Ces e e o e droites sont les g´n´ratrices du cˆne. Une courbe qui rencontre toutes les g´n´ratrices est une directrice. e e o e e On se place dans R3 . On appelle C, le cˆne de r´volution de sommet Ω(0, −1, 2) et de directrice le cercle o e

k

Γ du plan {y = 0} de centre (0, 0, 2) et de rayon 1. On consid`re le demi espace Dµ d’´quation −y + µ ≤ 0, e e avec µ ≥ −1. On d´signe par U , la r´gion convexe intersection de l’int´rieur de C avec Dµ . e e e

Quelques algorithmes pour l’optimisation avec contraintes

97

1. Faire un dessin et ´crire l’´quation de C. e e e 2. D´terminer, en discutant suivant les valeurs de µ, le point de U r´alisant le minimum de la distance de e O (l’origine) ` ce convexe ferm´. a e Remarque : on n’oubliera pas de justifier l’existence du minimum. Exercice 5.8 Cet exercice a pour but l’´tude de la convergence de m´thodes it´ratives analogues ` la m´thode d’Uzawa. e e e a e n Soit n un entier non nul et U0 , un sous ensemble de R . On note < ., . >n , le produit scalaire usuel de Rn , . n , la norme associ´e. Soit J : Rn −→ R, une fonctionnelle, φ1 , ..., φm , m fonctions de Rn dans R. e On fait une fois pour toutes les hypoth`ses suivantes : e (i) J est elliptique, i.e. elle est une fois continˆ ment d´rivable dans Rn et il existe une constante α > 0 u e telle que : < J(v) − J(u), v − u >n ≥ α v − u
2 n,

∀(u, v) ∈ (Rn )2 .

(ii) Il existe une constante M > 0 telle que : J(v) − J(u)
n

≤M v−u

n,

∀(u, v) ∈ (Rn )2 .

(iii) L’ensemble U0 est un convexe ferm´ de Rn . e (iv) L’ensemble U est non vide. (v) Les fonctions {φi }1≤i≤m sont convexes.

(vi) Il existe une constante C > 0 telle que : φ(v) − φ(u)
m

≤M v−u

n,

∀(u, v) ∈ (Rn )2 ,

o` φ : Rn −→ Rm d´signe l’application dont les composantes sont les fonctions φi . u e On consid`re le probl`me : e e Trouver u ∈ Rn tel que (P) u ∈ U := U0 ∩ {v ∈ Rn : φi (v) ≤ 0, 1 ≤ i ≤ m} J(u) = inf v∈U J(v).

Partie I : ´tude th´orique e e ´ 1. Etablir les in´galit´s : e e < J(u), v − u >n + α v−u 2
2 n

≤ J(v) − J(u) ≤<

J(u), v − u >n +

M v−u 2

2 n,

∀(u, v) ∈ (Rn )2 .

2. D´montrer que le probl`me (P) poss`de une solution et une seule. e e e 3. On d´finit le Lagrangien associ´ au probl`me (P) comme ´tant la fonction : e e e e L : U0 × Rm −→ R + (v, µ) −→ J(v)+ < µ, φ(v) >m .

98

D´montrer que si (u, λ) ∈ U0 × Rm est un point-selle du Lagrangien L sur l’ensemble U0 × Rm , alors le e + + point u est solution du probl`me (P). e

e 4. On appelle Π+ , l’op´rateur de projection de Rm sur Rm . Soit ρ > 0 fix´. e + V´rifier l’´quivalence : e e λ = Π+ (λ + ρφ(u)) ⇐⇒ λ ∈ Rm , φ(u) ≤ 0 ; + < λ, φ(u) >m = 0.

5. V´rifier qu’un couple (u, λ) est un point-selle du Lagrangien L si, et seulement si : e < J(u), v − u >n + < λ, φ(v) >m ≥ 0, ∀v ∈ U0 ;

λ = Π+ (λ + ρφ(u)) , ρ > 0 fix´ mais arbitraire. e

Partie II : ´tude num´rique e e

Soient ε et ρ, deux nombres r´els strictement n´gatifs fix´s. On d´finit une m´thode it´rative de la fa¸on e e e e e e c suivante : – On part d’un couple (u0 , λ0 ) ∈ U0 × Rm arbitraire. + e – On d´finit alors pour k ≥ 0 une suite de couples (uk , λk ) ∈ U0 × Rm par r´currence : e + – Calcul de uk+1 : uk+1 ∈ U0 , et v´rifie : e u f (uk+1 ) = inf {f (v)}, o` f : Rn
v∈U0

v

−→ R 1 −→ v 2

.
2 n

+ ε J(u ) − u , v

k

k

n

+ ε λ , φ(v)

k

m

– Calcul de λk+1 : λk+1 = Π+ λk + ρφ(uk+1 ) .

1. D´montrer que le probl`me de minimisation d´finissant le vecteur uk+1 ` partir du couple (uk , λk ) admet e e e a une solution et une seule. 2. D´montrer alors que le vecteur uk+1 est solution de ce probl`me si, et seulement si : e e uk+1 ∈ U0 et uk+1 − uk + ε J(uk ), v − uk+1
n

+ ε λk , φ(v) − φ(uk+1 )

m

≥ 0, ∀v ∈ U0 .

e 1 2α . Est-il possible de programmer en Matlab c un algorithme de r´solution d’un tel probl`me ` l’aide de la m´thode de projection ? Expliquez. Etablir les in´galit´s suivantes : e e (i) (ii) 2 λk − λ. sur l’ensemble K d´fini par : e K = {(x. Soit (u. u − uk+1 n ≥0. y) = −f (x. y) −→ 2x − x2 + y. la ligne de niveau α de la fonctionnelle g ? (autrement dit. dans le plan xOy. un point-selle du Lagrangien L . e d´terminer. 2 m + ρC 2 uk+1 − u 2 n . Ecrire les conditions d’optimalit´ pour ce probl`me puis le r´soudre. y) ∈ R2 : x + y ≤ 1 et xy ≥ 0}. compte tenu de la localisation des solutions dans le plan. u − uk n n+ u n 2 2 1 α + (εM − 1) uk − uk+1 2 + ε uk+1 − u 2 − uk − u 2 n n n 2 2 2 ε C λk − λ 2 − λk+1 − λ 2 ≥ 0. λ). u − uk+1 ≤ 2 n . la ou les solution(s) e a e e e ee e du probl`me ci-dessus.Quelques algorithmes pour l’optimisation avec contraintes 99 ´ 3. 4. y). y) = α) (b) En repr´sentant quelques lignes de niveau sur un graphique ainsi que l’ensemble des contraintes K. On verifiera que l’on obtient la e e e mˆme solution que dans la question pr´c´dente. alors M C Exercice 5. e e (a) Quelle est. On appelle g. φ(u) − φ(uk+1 ) uk+1 − uk . − α uk+1 − u 2 + +ε ρ m m n 2 2ρ J(u). R´solution graphique du probl`me. φ(u) − φ(u (iii) (iv) J(uk ) − ) m n M k α u − uk+1 2 − uk − u 2 + uk+1 − u n n 2 2 1 1 k+1 2 k+1 u . ` l’aide d’une m´thode g´om´trique ´l´mentaire que l’on pr´cisera. +ε λ − λ. l’ensemble des couples (x. e e 2. . e e e e e a 4. y) de R2 tels que g(x.9 On souhaite maximiser dans R2 la fonction : f: R2 −→ R (x. e Proposer une solution acceptable. D´duire de la derni`re in´galit´ de la question pr´c´dente que si 0 < ε ≤ e e e e e e k→+∞ lim (uk ) = u et que la suite (λk )k≥0 est born´e. u − uk+1 n − uk 2 + uk . la fonctionelle d´finie sur R2 par : g(x. u − uk+1 k n m ≤ +ε k+1 1 λk − λ 2 − λk+1 − λ m ρ J(uk ) − J(u). e 1. D´montrer l’existence de solutions pour ce probl`me d’optimisation. et 0 < ρ < 2 . e ´ 3.

deux nombres positifs donn´s. D´terminer leurs limites. La e ee ea e production est. On d´finit la fonctionnelle F par la relation : e F (X) = 1 < AX. une matrice carr´e sym´trique d´finie positive de taille n. X >= α}.m prenant comme param`tre d’entr´e e. e Exercice 5. e ea e e e 2. a (b) Montrer qu’alors. 1[ est fix´. le salaire annuel est suppos´ ´gal et fix´ ` S pour tous les salari´s. A votre avis.11 Les mod`les de croissance ´conomique supposent que la production Y est fonction du capital K et du e e travail L. 2 On d´finit ´galement un ensemble de contraintes C par la relation : e e C = {X ∈ Rn :< c. 3. on supposera que K repr´sente les d´penses annuelles li´es ` l’investissement et L. ` 3. deux vecteurs non nuls de Rn . e e 1. On ´crira une condition d’arrˆt. e ´ Ecrire soigneusement l’algorithme d’Uzawa (Xk . X > . Quelle est cette valeur ? 4. D´finir le Lagrangien L associ´ ` ce probl`me. la p´nalisation choisie et e e e alpha. Mod´liser ce probl`me sous la forme d’un probl`me de minimisation soumis ` une contrainte ´galit´. Le programme devra renvoyer la valeur e e e e du minimum et tracera sur un mˆme graphe les it´r´s de l’algorithme ainsi que les lignes de niveaux de e e e la fonctionnelle. On pr´cisera son ensemble de d´finition. En outre. (a) D´montrer l’existence d’un valeur de ρ que l’on notera ρ0 pour laquelle la suite (λk )k∈N est statione naire ` partir du rang 1. elle aussi suppos´e constante ´gale ` Y0 > 0. e e e et α ∈ R. On consid`re ici la m´thode de dualit´ pour chercher un minimum de F sur C. X > − < b. Soient λ0 et ρ. Montrer que si ρ > ρ0 . l’algorithme.10 Soient A. on fait l’hypoth`se suivante pour la fonction de production : e Y = K α L1−α . o α ∈]0. On souhaite r´soudre num´riquement ce probl`me ` l’aide d’une m´thode de p´nalisation. e Pour simplifier. e e e 1. le nombre e e e a de salari´s de l’entreprise. alors les suites (Xk )k∈N et (λk )k∈N sont convergentes. le param`tre du mod`le. (Xk )k∈N prend aussi une valeur constante. Souvent. e e e a e e ´ Ecrire une fonction Matlab Penal. e e a On souhaite r´pondre num´riquement ` la question suivante : comment choisir K et L pour que les e e a d´penses (investissement + salaires) soient les plus faibles possibles tout en produisant la quantit´ Y0 .100 Exercice 5. e e e a e e 2. λk ) en donnant les valeurs explicites de Xk et λk en fonction des termes d’ordre k − 1. b et c. e e . quel est l’inconv´nient de cet algorithme ? Quelle autre m´thode proposez-vous pour ´viter e e e cet inconv´nient ? Expliquez sans pour autant l’´crire.

e e Partie I : Quelques rappels de cours I. L’algorithme d’Uzawa est e e rappel´ au d´but du TP. de d´riv´e Lipschitzienne. Appelons L .1 L’algorithme du gradient projet´. la fonction Lagrangienne associ´e a ce probl`me. µ) = J(x) + (λ. . o` α est la constante d’ellipticit´ u e M n de J et M . ΠC d´signe ici la projection sur C e Notons ´galement le r´sultat de convergence : e e Theorem 5.9 On suppose que J est C 1 . Initialisation. ce que l’on fait en utilisant une projection. + 2. x − y 2 . Supposons. Il faut donc ”ramener” xk+1 e u a a dans C. o` dk est une direction de descente. h(x) = 0. o` : e e u C = {x ∈ Rn . k = 0 : on choisit x0 ∈ Rn et ρ0 ∈ R∗ . x − y) ≥ α. tel que : Si l’on choisit le pas ρk dans un intervalle [β 1 . y) ∈ (Rn )2 .Quelques algorithmes pour l’optimisation avec contraintes 101 5.1 Travaux pratiques Travaux pratiques 1 L’objectif de cette s´ance de travaux pratiques est de vous apprendre ` coder des algorithmes g´n´raux de e a e e minimisation avec contraintes : l’algorithme d’Uzawa et la m´thode de p´nalisation. h(x))Rp + (µ. L (x. Alors : e ` e ∀x ∈ Rn . c’est a dire qu’il existe α > 0 e e ` ∀(x. λ. e xk+1 = ΠC xk − ρk J(xk ) .2 L’algorithme d’Uzawa. β 2 ] tel que 0 < β 1 < β 2 < 2α .7. e e I. avec h = (hi )1≤i≤p et g = (gj )1≤j≤q . Algorithme du gradient projet´ e 1. que l’on souhaite minimiser une fonctionnelle J : Rn −→ R sur un ensemble de contraintes C. ( J(x) − J(y). Supposons que l’on souhaite r´soudre sur Rn le probl`me (P) min J(x). x ∈ C. on ne e e u peut pas ˆtre sˆ r que si xk appartient ` C. e c La m´thode du gradient projet´ s’inspire des m´thodes usuelles de gradient. et elliptique. d’une fa¸on e e e g´n´rale. alors la suite (x )n≥0 d’it´r´s par la m´thode du e e e e e gradient projet´ converge vers la solution du probl`me de minimisation.7 5. la constante de Lipschitz de la d´riv´e de J. g(x))Rq . e e Si l’on construit une suite d’it´r´s de la forme xk+1 = xk + ρk dk . g(x) ≤ 0}. alors xk+1 appartiendra encore ` C. It´ration k.

. et seulement si ce triplet v´rifie les e conditions de Kuhn-Tucker. . i ∈ {1. λ∗ . It´ration k. g est convexe de classe C 1 et lipschitziennes. λk ) ∈ Rp et µk = (µk ..5). j ∈ {1.. (5. λk . µ). Elle a repr´sente donc bien le probl`me (P). tout triplet (x∗ . . µk ). 2.. Cela traduit le terme de droite de l’´quation (5. µ) v´rifiant l’´quation : e e e L (x∗ . µ) ≤ L (x∗ . µ∗ ) ≤ L (x. µ) ∈ Rn × Rp × (R+ )q . µ∗ ). souvenons-nous de ce que l’on appelle point selle. on peut chercher le minimum sans contrainte (i. g et h convexes... e – Pour x∗ ∈ Rn fix´. de classe C 1 . λ. µ) −→ L (x∗ . Alors. λ∗ .10 Supposons J. λ∗ . pour chercher le triplet (x∗ . n (b) Calcul de λk+1 et µk+1 par les formules : λk+1 i µk+1 j = = λk + ρhi (xk ). Initialisation. λ. µ∗ ). p} i max(0. sur tout l’espace e Rn ) de la fonction x −→ L (x. on peut proc´der de la fa¸on suivante : e c – Pour (λ∗ .5). µ∗ ) ∈ Rn × Rp × (R+ )q v´rifiant les e e a e conditions de Kuhn-Tucker.11 On suppose que J est C 1 et elliptique.102 On voit ici que la fonction Lagrangienne englobe ` la fois la fonctionnelle J et les contraintes h et g. µk ) ∈ Rq sont connus. µk + ρgj (xk ))... le triplet (x∗ . ∀(x. λ. Supposons de plus que h est affine. j Enfin. . λ∗ .. p 1 q (a) Calcul de xk ∈ Rn solution de : x∈R (Pk ) min L (x. λ∗ . Ce th´or`me nous aide ` comprendre que... e e D´finition 22 On appelle point selle de L sur Rn × Rp × (R+ )q . e e Theorem 5. . il faudra s’int´resser au probl`me dual de (P). On suppose de plus que le Lagrangien L poss`de un point selle (x∗ .e. λ. C’est e ce que traduit le terme de gauche de l’´quation (5. on cherche le maximum sur Rp × (R+ )q de la fonction (λ. e C’est cette id´e qu’utilise l’algorithme d’Uzawa : e Algorithme d’Uzawa 1. Pour une compr´hension e e e totale. µ∗ ) ∈ Rp × (R+ )q . q}. e k k λ = (λ1 . fix´s. signalons le th´or`me suivant qui pourrait se r´v´ler utile en pratique : e e e e Theorem 5.. k = 0 : on choisit λ0 ∈ Rp et µ0 ∈ (R+ )q .5) Le th´or`me suivant nous permettra de comprendre intuitivement l’algorithme d’Uzawa. µ∗ ) ∈ Rn × Rp × (R+ )q est un point selle de L si. λ∗ . µ∗ ) sur e . Avant de poursuivre.

Supposons que l’on poss`de n actions. aij = E[(Ri − E(Ri ))(Rj − E(Rj ))]. on a : n xi = 1. la constante d’ellipticit´ de J.. Ax). n}2 . on sait que ρ2 = . o` C et f d´signent respectiveu e ment une matrice et un vecteur ` pr´ciser..5. Le portefeuille total est i=1 n repr´sent´ par la variable al´atoire : R = e e e i=1 xi Ri et rapporte donc en moyenne : E(R) = n i=1 xi ei . n}. On souhaite ´tudier un exemple concret. que e e e l’on repr´sente par des variable al´atoires R1 . Ax).. et l’on note e e n xi ∈ R.. e 1≤j≤n i=1 xi ei . l’ensemble des contraintes : K := {x ∈ Rn : (x.. avec α. j) ∈ {1. On note A = (aij ) 1≤i≤n . Alors. la proportion de la somme investie dans l’action i. avec 0 < ρ1 < ρ2 tels que. que r0 = 2. Mettre l’ensemble des contraintes sous la forme K = {x ∈ Rn : Cx = f }. . e ` Rn × Rp × (R+ )q . On peut alors ´crire que σ 2 (x) = (x. . Supposons que : ∀i ∈ {1. ρ2 ]. ei = i. e Le but de ce TP est de d´terminer num´riquement la solution du probl`me : e e e (P) min J(x) x∈K . e u ´ Ecrire un programme genere. On consid`re le probl`me de l’Optimisation d’un portefeuille. e) = r0 }. Mh et Mg . On d´sire imposer un rendement donn´ r0 > 0.m permettant de g´n´rer la matrice A ` l’aide des instructions suivantes : e e a 2. il existe ρ1 et ρ2 .Quelques algorithmes pour l’optimisation avec contraintes 103 g´n´r´e par l’algorithme d’Uzawa converge vers x∗ . Chaque action rapporte en moyenne ` l’actionnaire e e a ei = E(Ri ) (esp´rance de Ri ) au bout d’un an. pour tout ρ ∈ [ρ1 .. Rappeler comment se traduisent les conditions d’Optimalit´ a e e de ce probl`me et formuler l’´quation en x ` r´soudre ` chaque it´ration.. On suppose que l’on investit une somme S donn´e. on se placera par exemple dans le cas o` n = 5.. Pour les e .. u) = 1 et (x. les constantes de e 2 2 2(Mh + Mg ) Lipschitz associ´es a h et g. la fonctionnelle d´finie sur Rn par : e e J(x) = 1 (x. e e e α De plus. On appelle J. la matrice de covariance d´finie par la relation : e ∀(i. e e a e a e tests num´riques. . ce qui se traduit par : r0 = e e On mod´lise le risque du portefeuille par : σ 2 (x) = E[(R − E(R))2 ].12 (Optimisation d’un portefeuille d’actions). Ainsi. Rn . 2 On appelle ´galement K. 1. la suite (xk )k≥0 Partie II : Exercices Exercice 5.

Que constatez-vous quant ` la vitesse de variation de la fonction coˆ t ? Dans la suite. Si l’on souhaite am´liorer la r´solution du probl`me. u) = 1 et (x. y) = 2x2 + 3xy + 2y 2 . n´cessairement. e e J(X ) = 0 o` X ∈ ∂Q. e e e e 2. e ´ 7. On propose les ´tapes suivantes : e e e (a) Mettre en place une fonction de p´nalisation x → φ(x). e e e e e (b) Tracer les courbes de niveau de la nouvelle fonction coˆt et son gradient. e e On appelle Q le cadrant d´fini par : e Q= 1 1 x≤− . e e e Exercice 5.*R’*R. e) = r0 } . on est amen´ ` r´soudre : min J(x). pour plusieurs valeurs de u ε. le minimum de J sous la contrainte X ∈ Q. Ecrire l’algorithme d’Uzawa ´crit sous sa forme la plus g´n´rale. e e On consid`re la fonctionnelle J d´finie sur R2 par : J(x. Soyez pr´cis.13 (Mise en œuvre d’une m´thode de p´nalisation). et ´valuer une e e e e e m´thode de p´nalisation. On appelle donc ` pr´sent K. (a) Quelle est la solution du probl`me de minimisation de J sans contrainte ? e (b) On appelle X . Expliquer la derni`re ligne du programme. programmer l’algorithme d’Uzawa. S’il vous reste du temps. Nous allons reprendre le mˆme probl`me que pr´c´demment. e e e ea e ˜ x∈K 6.y)∈Q Pensez-vous que la m´thode du gradient conjugu´ peut ˆtre associ´e ` la m´thode de projection ? e e e e a e Pourquoi ? (d) Repr´senter les it´r´s par cette m´hode. ./n). Pour diff´rentes matrices A. y≤− 2 2 1. u (c) Mettre en œuvre la m´thode du gradient projet´ pour r´soudre le probl`me de minimisation : e e e e min J(x. Quel inconv´nient majeur constatez-vous ici ? e ˜ 5. puis le tester. On n’oubliera pas d’imposer un nombre e maximal d’it´rations. l’ensemble d´fini par : a e e ˜ K = {x ∈ Rn : x ≥ 0. A=A+0. y). e 3.1.104 A=diag(e. D´terminer alors le gradient de la fonctionnelle p´nalis´e. (x. en r´fl´chissant ` l’expression qu’elle aura e e e a sur le cadrant Q. D´montrer que.n). e e e Remarque : attention au choix de la p´nalisation ! La fonctionnelle p´nalis´e doit ˆtre diff´rentiable. e 4. Comment doit-on choisir la constante ρ qui intervient dans l’algorithme d’Uzawa. R=rand(n. (x. on tracera a u le gradient uniquement sur le domaine admissible.

e e e e Probl`me de minimisation associ´. par exemple ε = 10−4 (p´nalisation forte). et on est sur l’obstacle.3...2 Travaux pratiques 2 Dans cette s´ance de travaux pratiques.. tester la m´thode de p´nalisation pour les m´thodes de gradient ` pas fixe et ` e e e a a pas optimal. et un point de d´part e e x0 = (−0. n} j ∈ {1. . .5 (p´nalisation faible).Quelques algorithmes pour l’optimisation avec contraintes 105 (c) Pour une valeur petite de ε.6) La premi`re ´quation traduit une concavit´ minimale de la fonction u. peut-on dire que la vitesse de convergence est satisfaisante ? e e R´p´ter le test pour ε = 0. et j ∈ {0.. On   − uj−1 − 2uj + uj+1 ≥ 1    h2    uj ≥ gj  − uj−1 − 2uj + uj+1 − 1 (uj − gj ) = 0    h2    u0 = un+1 = 0 cherche des valeurs uj = u(xj ). Posons pour j ∈ {0. e e 5. .... telles que : j ∈ {1. En visualisant les it´r´s. .7) . On consid`re un probl`me d’obstacle : trouver e e e une fonction u : [0. n} j ∈ {1. 1) x ∈ (0. e Soit g. n + 1}.... e Exercice 5. gj = g(xj ).. 1] −→ R telle que :   −u (x) ≥ 1     u(x) ≥ g(x)  (−u (x) − 1) (u(x) − g(x)) = 0     u(0) = u(1) = 0 x ∈ (0. 1) x ∈ (0.5)t . 1]. 0. n + 1}.. une fonction continue donn´e sur le segment [0. soit u(x) = g(x). e e On discr´tise ce probl`me en introduisant un maillage uniforme : xj = jh..... n} (5.14 (R´solution d’un probl`me d’obstacle). avec n ≥ 1 entier et h = n+1 .7.. e e Le mod`le. La troisi`me ´quation traduit le fait que l’on a au moins ´galit´ dans e e e e e une des deux ´quations pr´c´dentes : soit on r´sout −u (x) = 1. On utilisera en particulier les algorithmes d’Uzawa et du gradient a projet´. avec j ∈ {0. Que peut-on dire de la convergence ? Quid de la e e e solution trouv´e ? e (d) D´duire de ces observations une m´thode qui converge plus rapidement. . on souhaite utiliser les techniques classiques d’Optimisation avec e contraintes pour r´soudre deux probl`mes appliqu´s : une ´quation aux d´riv´es partielles et la d´termination e e e e e e e de la distance d’un point ` un hyperplan. la deuxi`me ´quation repr´sente l’obse e e e e e tacle : on veut ˆtre au-dessus de g(x).. . 1) (5. o` h d´signe le pas en espace e e u e 1 du maillage. n + 1}.

v) − (b. ... ..  . 0   2 −1 2 . d´finie par : a e e   −1  1  A= 2 0 h   . ea e Soit  u1  . .. .7) ⇐⇒ u est solution de  K = {v ∈ Rn : v ≥ g}.  .. . On souhaite r´soudre ce probl`me en utilisant l’algorithme du gradient projet´. n + 1}. 2 R´solution du probl`me. −1 0 . 2 −1 0      0 . On appelle ´galement b et g.   −1  2  . .  .  un  On a l’´quivalence : e On appelle alors J. 1 (Av. e . v) v∈K 2 u est solution de (5. e e On rappelle que − h2 Introduisons ` pr´sent la matrice A ∈ Mn (R). On pourra utiliser sans le d´montrer que ΠK (v) = (max(vi . .  u= .7)2 . xi ≥ yi . gi ))1≤i≤n .  gn On introduit la notation x ≥ y pour des vecteur si ∀i ∈ {0. v) − (b. On d´signe par ΠK .. .  1  g1 . . v). la projece e e e tion sur le convexe K.  et g =    . .  b =  . la fonctionnelle d´finie sur Rn par : e J(v) =   min 1 (Av.106 uj−1 − 2uj + uj+1 est l’approximation de −u (xj ) par la m´thode des diff´rences finies. e e On se place ici dans le cas particulier o` : u g(x) = max 0.. les vecteurs colonnes de Rn d´finis par : e e   1   ...   . Le r´sultat que je pr´sente maintenant est une version discr´tis´e du th´or`me de Lax-Milgram que vous avez e e e e e e probablement d´j` rencontr´ dans le cadre de l’Analyse Fonctionnelle. 1 − 100(x − 0. 0 −1 ..

On d´sire calculer une approximation uk de u avec une pr´csion de 10−4 . n}. (a) Ecrire une m´thode de gradient ` pas fixe pour d´terminer le minimum de J sur Rn . k 2 et la (f) Afficher le graphe de uk et de g.. Etude th´orique. l’estimateur d’erreur uk − uk−1 e e norme J (u ) . Tester cette e a e m´thode et v´rifier qu’elle converge bien vers le r´sultat souhait´. λk (A) = 4 sin2 h2 kπh 2 .15 (Distance d’un point ` un plan). 1t . un vecteur colonne de taille n. ainsi que la derni`re. 2 Ax=b . e e On pourra ´galement repr´senter le temps de calcul en fonction de n. 2. e e 3. Rappel : ρopt = λ1 + λn (e) Afficher toutes les dix it´rations : k (le nombre it´rations). Faire tourner le programme pour n = 100. avec γ := I − ρA 2 . e Noter le temps de calcul et le nombre d’it´rations k n´cessaires pour obtenir uk − uk−1 ≥ 10−6 . Ce probl`me peut s’´crire e e e e comme un probl`me de programmation quadratique : e (P) min ´ 1. et comparer a e e avec les r´sultats connus : e ∀k ∈ {1. je vous laisse un peu plus libre qu’` l’ordinaire.Quelques algorithmes pour l’optimisation avec contraintes 107 ´ 1. e (a) Montrer que le multiplicateur de Lagrange. e e e ea On testera notamment le programme pour n = 10. Exercice 5. (d) Choisir ρ > 0 comme le pas optimal de la m´thode de gradient ` pas fixe sans contrainte. On se fixera un nombre maximal d’it´rations et e −5 une tol´rance de 10 . e a 2 .. . 1−γ 2 Quelle tol´rance η doit-on choisir pour assurer que uk − u e 4. a ≤ 10−4 ? Dans cet exercice.. en adaptant le nombre maximal d’it´rations. On cherche ` d´terminer num´riquement a a e e la plus courte distance entre un point x0 ∈ Rn et un hyperplan (H) d’´quation Ax = b. (x − x0 )(x − x0 ). e e e e (b) Adapter le programme pr´c´dent pour programmer la m´thode du gradient projet´ ` pas constant. On admet l’estimation suivante : e e uk − u 2 ≤ γ uk − uk−1 2 . e (c) Demander ` Matlab de calculer la premi`re valeur propre de A. Conclure l’exercice. o` les lignes de la e u matrice A sont lin´airement ind´pendantes et b. ` l’optimum est : a λ∗ = −(AAt )−1 (b − Ax0 ).

dans le cas o` A est un vecteur ligne. la plus petite distance entre x0 et l’hyperplan u vaut : d(x0 . H) = ´ 2. e Faites-vous confirmer les r´sultats pr´c´dents ` l’aide d’une ´tude num´rique. Etude num´rique. A . On pourra par exemple e e e a e e utiliser l’algorithme d’Uzawa. (c) Montrer que.108 (b) Montrer que la solution est : x∗ = x0 + At (AAt )−1 (b − Ax0 ). ||b − Ax0 || .

). Ceci est possible car elle comporte une part d’al´atoire visant ` explorer e a efficacement l’´ventail des possibilit´s.1 Principe Il est inspir´ de l’´volution d’un solide vers une position d’´quilibre lors de son refroidissement. C’est son principal avantage. e e En contrepartie. On a e e e e e alors : Theorem 6. e e e 6. le recuit simul´ permet la recherche d’un minimum a e e global.Chapitre 6 La m´thode du recuit simul´ e e Nous nous pla¸ons dans le cas sans contrainte. A chaque ´tat i. C’est son principal inconv´nient. Il vient alors e PT (X = i) − ∆E = e kB T .1 (loi de Boltzmann) L’´quilibre thermique est caract´ris´ par la distribution e e e PT (X = i) = 1 − kEiT e B . la m´thode est lente.. On fait l’hypoth`se que S peut avoir un nombre d´nombrable e a e e e d’´tats i ∈ N. Cet inconv´nient est du reste commun e e e a ` tous les algorithmes de recherche de minimum global (recuit simul´. e e e Soit S un syst`me physique ` la temp´rature T . PT (X = j) e −k Ei BT . On note par X l’´tat du syst`me. Contrairement ` toutes les m´thodes vues jusqu’ici. Z(T ) i∈N o` kB est la constante de Boltzmann et Z est une fonction de normalisation donn´e par : Z(T ) = u e Soit i et j deux ´tats. Nous posons ∆E = Ei − Ej . algorithmes g´n´tiques. 109 .. correspond un niveau d’´nergie Ei . mais la m´thode du recuit simul´ s’applique aussi dans le c e e cas avec containtes.

e e e e e on fige la situation et on tend de plus en plus vers l’´tat d’´quilibre du syst`me (duquel on ne peut presque e e e pas bouger). e o e C’est sur cette analogie que se base l’algorithme de M´tropolis. On choisit une direction d al´atoirement parmis e1 . . en utilisant le principe physique ´voqu´ e e e pr´cedemment. en } en j ∈ Rn . Dans e e e e e e a une seconde ´tape. Nous faisons ` pr´sent l’analogie suivante entre syst`me physique et probl`me d’optimisation : a e e e – ´tats physiques ↔ solutions admissibles e – ´nergie du syst`me ↔ cˆut d’une solution e e o – kB T ↔ param`tre de contrˆle not´ T . les ´tats X = i et X = j sont presque ´quiprobables. ` fr´quence r´guli`re on fait baisser la temp´rature. De plus. e a e c’est bien sˆ r alors la situation inverse qui a lieu. a e e e e La premi`re ´tape est appel´e d´placement. u e o L’algorithme est d´fini ` partir d’un ´tat initial i = i0 donn´. Supposons ` pr´sent que ∆E > 0.2 L’algorithme de M´tropolis e Soit (S. Il s’agit de g´n´rer une solution admissible j ` partir de i. le syst`me pr´sente un fort caract`re al´atoire). e e Nous donnons ci-dessous deux exemples de r`gle de d´placement : e e ˇ – r`gle de Cerny : On construit un rep`re {e1 . f ) un probl`me d’optimisation.110 et nous voyons que si ∆E < 0. l’´tat X = i est plus probable que X = j. et de la r´p´tition de deux ´tapes (corps de e a e e e e e l’algorithme). ` temp´rature ´lev´e on passe facilement d’un ´tat d’´nergie ` un autre (les mol´cules se meuvent faa e e e e e a e cilement. Toutefois le rapport des probabilit´s d´pend aussi de kB T .. avec e1 pointant dans la direction du e e meilleur r´sultat obtenu... mais quand on baisse progressivement la temp´rature. et i. u e e et si kB T est grand devant ∆E. on met en jeu le crit`re d’acceptation pour savoir si j est retenue ou non. et on se d´place al´atoirement suivant d e e – une autre r`gle : On tire al´atoirement un vecteur u dont chacune des composantes suit une loi uniforme e e . e 6. e e Ainsi.. en avec une probabilit´ e e e plus grande pour e1 . Nous introduisons le crit`re e e d’acceptation de j par rapport ` i par : a PT (accepter j) = 1 e si ∆f ≥ 0 sinon − ∆f T o` T ∈ R+ est un param`tre de contrˆle et ∆f = f (j) − f (i). j deux solutions admissibles. .

J2 d´finie par u e 10 sin(0.rand o` b est un param`tre e u e qui pourra apparaitre comme l’une des variables de la fonction et rand un nombre tir´ au hasard e dans [0. Bien sˆ r. a 2.. e Nous proposons le programme suivant.00001x4 + 0. . 10.. 2].3 Travaux pratiques Exercice 6. o` q est un pas fix´. . on choisit la longueur du d´placement par une formule du type b. et.. 2. e u e En ce qui concerne le refroidissement. si le point pr´c´dent est le meilleur point obtenu u e e jusque l`.La m´thode du recuit simul´ e e 111 sur [−1. Ici k ∈ {1. . Avec une probabilit´ de 2/3 on se dirige en direction du meilleur point obtenu jusque l` (avec une e a proba de 1/3 dans l’autre direction). On se d´place de δj = qu. o` ω = 2. Ensuite.1 (Recuit simul´). Que donne la fonction Matlab fminbnd ? On va programmer une m´thode de recuit simul´ pour essayer d’atteindre le minimum global. 2 ou 4. e On veut minimiser les fonctions J1. Les entiers K et N (ce dernier divisant K) seront aussi rentr´s comme variables de la fonction.3x sin(1.. 1]. N mouvements et α pouvant prendre les valeurs 1. on peut consid´rer par exemple l’une des r`gles suivantes : e e – r`gle a : r´duire T ` (1 − )T tous les m d´placements ( et m ´tant choisis par exp´rience). 10]. e e .2x + 80)) sur [−10. 1. .. 1] par Matlab. et on choisit en g´n´ral e e e α = 1. il convient d’adapter l’algorithme. Tracer le graphe de ces fonction. 6. on commence par choisir e e e la direction. Tester ce code sur les exemples donn´s et exp´rimenter. – de baisser la temp´rature par la formule e Tk = T0 (1 − tous les K N k α ) N k = 1. N }. 2. 2 ou 4. On propose e e ˇ – de d´placer le point par une m´thode de type Cerny : pour chaque d´placement.3x2 + 0. jusqu’` e e a e e e a T < Tmin ≈ 0 – r`gle b : on se fixe un nombre total K (tr`s grand) de d´placements et on r´duit T apr`s chaque (k eme ) e e e e e K/N d´placements en posant T = Tk = T0 (1 − k/N )α .ω (x) = 3 − x sin(ωπx) sur l’intervalle [−1. 4. . .

112 % recuit simule avec deplacement de Cerny et un refroidissement fixe % Entrees : % J : fonction a minimiser sur l’intervalle [Xl . % evaluation bestvalue = Jx . % x doit rester dans [Xl . b fixe p1 = rand .b) .Xl. x .min(Xr.Xr] % T0 : temperature initiale % alpha : ordre de la loi de refroidissement % (N.T0.K/N) % Deplacement if (x == bestpt) % si x est le meilleur point : il faut en prendre % un autre aleatoirement qui se trouve a sa gauche mais % plus grand que Xl en partant de x comme origine x1 = max(Xl. . else x1=max(Xl.K) : donnees du refroidissement % b : longueur de deplacement % Sortie % x : minimum global approche function x = recuit(J. on le prend if (DeltaJ < 0) x = x1 .x + sign(x-bestpt)*b*rand)) . display(x) .K.x .sign(x-bestpt)*b*rand)) .min(Xr. % gradient d’energie % si x1 est meilleur que x. % initialisation du point et de la temperature x = (Xr-X1)*rand+X1 . % point qui minimise la fonction J Jx = J(x) . else % sinon on se deplace a sa gauche en partant de x de facon % aleatoire en partant de x et en pointant vers le meilleur % point. end end % on test ce nouveau point Jx1 = J(x1) . avec une longueur aleatoire rand * b.alpha. % meilleur minimum for k = 1 :N % formule du refroidissement Tk = T0*(1-k/N)∧(alpha) .b*rand) . for l = 1 :max(1.Jx=Jx1 . bestpt = x .N. if (p1<2/3) x1=max(Xl.Xr.Xr] Tk = T0 . DeltaJ = Jx1 .Jx .

Jx=Jx1 . end end end .bestvalue=Jx1 . end % si x1 est moins bon que x.La m´thode du recuit simul´ e e 113 % et en plus on regarde si on a la meilleure valeur if (Jx1<bestval) bestpt=x1 . on se permet sous condition de le choisir ! elseif (rand < exp(-deltaJ/Tk)) x=x1 .

Sign up to vote on this title
UsefulNot useful