et d’optimisation continue.
TELECOM BRETAGNE
S1, MTS 435 et préparation Master SISEA (Rennes I)
Thierry CHONAVEL
thierry.chonavel@telecom-bretagne.eu
novembre 2014
Table des matières
1 Introduction 8
2 Un exemple introductif 13
3.5.1 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1
TABLE DES MATIÈRES 2
3.6.2 Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
II Introduction
aux opérateurs linéaires 55
8 Introduction 56
9 Espaces de Hilbert 57
9.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
9.4.2 Projection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
9.4.3 Isométrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
10 Opérateurs linéaires 63
11 Interpolation et intégration 69
TABLE DES MATIÈRES 4
11.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
IV Optimisation 76
12 Introduction 77
13.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
13.3 Dérivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
14.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
14.1.1 Optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
14.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
15.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
15.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
15.4.4 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
A Master SISEA
Corrigé des examens
(printemps 2006 à 2011) 126
Chapitre 1
Introduction
La version actuelle de ces notes de cours résulte d’évolutions progressives du document depuis
une dizaine d’année.
Une fois la mise en forme d’un problme effectue et les techniques gnrales pour le rsoudre connues,
il peut tre utile, pour des implémentations spécifiques qui peuvent concerner par exemple la mise
en oeuvre sur des processeurs de traitement de signal ou pour des adaptations des algorithmes
dans le cadre d’activités de R&D, d’être capable de ’décortiquer’ le fonctionnement d’un algo-
rithme, ce qui suppose un minimum de familiarité avec les principes sur lesquels ils reposent.
Aussi, mme si l’essentiel des algorithmes n’est pas dtaill en cours ou n’est que rapidement test
lors des travaux pratiques, un certain nombre de mthodes standard est prcis dans le polycopi. Les
codes fournis visent en particulier montrer que souvent l’implmentation informatique conduit
un code simple et concis.
Ce cours vise d’abord à rappeler quelques notions élémentaires d’analyse numérique matricielle
et d’optimisation et à donner les grandes lignes de méthodes classiques importantes pour les
problèmes d’ingénierie courants. La partie relative aux matrices est complétée par une partie
d’introduction aux opérateurs linéaires qui étendent naturellement en dimension infinie les no-
tions de fonctions linéaires et de matrice. Cette dernière partie est encore incomplète et sera
développée dans les versions ultérieures du polycopié.
8
CHAPITRE 1. INTRODUCTION 9
On présente également ici quelques notions de base sur l’interpolation polynomiale des fonctions
et leur intégration numérique qui constituent des outils standards d’ingénierie. Pour l’analyse
numérique matricielle, on envisagera surtout les outils classiques de résolution des systèmes
d’équations linéaires et on donnera quelques indications sur la diagonalisation des matrices.
Pour ce qui concerne l’optimisation, on indiquera les méthodes de recherche d’optima à utiliser
selon les propriétés des critères à optimiser et la nature des contraintes.
Précisons maintenant un peu plus la nature des problèmes que l’on va envisager.
Commençons par reproduire ici la définition de l’analyse numérique fournie par l’encyclopédie
en ligne Wikipedia :
“l’analyse numérique est l’étude des algorithmes permettant de résoudre les problèmes de mathématiques
continues (distinguées des mathématiques discrètes). Cela signifie qu’elle s’occupe principale-
ment de répondre numériquement à des questions à variable réelle ou complexe comme l’algèbre
linéaire numérique sur les champs réels ou complexes, la recherche de solution numérique d’équations
différentielles et d’autres problèmes liés survenant dans les sciences physiques et l’ingénierie”.
Comme on l’a déjà indiqué plus haut, on se limite essentiellement ici à l’analyse numérique ma-
tricielle. Le premier but de ce cours est de mettre en évidence l’intérêt de la mise en forme matri-
cielle de problèmes classiques rencontrés en traitement statistique de l’information. L’étude de
la résolution exacte ou approchée des systèmes linéaires d’équations sera l’occasion de présenter
un certain nombre de résultats sur la décomposition des matrices, utiles à l’étude de nom-
breux problèmes. On distinguera, comme c’est généralement le cas dans ce genre d’exposé les
méthodes directes qui fournissent une solution au prix d’un nombre limité fixé d’opérations des
méthodes itératives qui fournissent une solution approchée à chaque itération, la solution exacte
n’étant généralement obtenue qu’asymptotiquement. On s’intéressera également au problème de
la décomposition en valeurs propres des matrices, qui n’a pas de solution numérique exacte en
général puisqu’il s’apparente au problème de recherche des racines d’un polynôme (en l’occurence
le polynôme caractéristique de la matrice).
qui consiste à rechercher les valeurs de x qui minimisent f (x) dans l’ensemble des contraintes
U = {x; fi (x) ≤ bi i = 1, . . . , m}.
CHAPITRE 1. INTRODUCTION 10
Notons ici que la recherche de la solution d’un problème d’optimisation d’un critère fonction
d’une variable vectorielle peut souvent faire appel aux outils de l’analyse numérique matri-
cielle. Considérons en effet l’exemple simple suivant : en l’absence de contrainte, un problème
d’optimisation quadratique du type f (x) =k Ax − b k, où k x k2 = xT x est la norme eu-
clidienne, le minimum du critère est donné par la résolution du système d’équations linéaires
(AT A)x = AT b. La recherche du vecteur x par ce critère fournit une approximation du vecteur
b sous la forme Ax et est connue sous le nom de méthode des moindres carrés.
Cependant, tous les problèmes d’optimisation ne se ramènent pas à des problèmes d’analyse
numérique matricielle et la théorie de l’optimisation mathématique recense des classes de problèmes
importants pour lesquels on sera en mesure de fournir des résultats théoriques en terme de condi-
tions ncessaires et/ou suffisantes sur l’existence de solutions ainsi que des algorithmes pratiques
performants permettant de les calculer.
Ces notes de cours, actualisées depuis 2006, sont essentiellement constituées de deux parties
qui traitent respectivement de d’analyse numérique matricielle (et plus particulièrement de la
résolution des systèmes d’équations linéaires) et d’optimisation, avec un accent particulier mis
sur l’optimisation convexe dont on a évoqué l’importance ci dessus. Pour ce qui concerne les
prérequis, ce cours suppose acquis un niveau de mathématiques générales bac+2. Par ailleurs,
des connaissances de bases en probabilités et en statistiques seront nécessaires pour appréhender
certains des exemples présentés.
Les résultats sont souvent justifiés de manière succinte et on pourra trouver des compléments
utiles dans la littérature et sur le WEB. Chacune des parties analyse numérique et optimisation
possède sa propre bibliographie. Aussi, les numéros de référence correspondent t’ils à la biblio-
graphie de la partie concernée. Pour ce qui concerne la partie relative à l’analyse numérique, la
référence [2] constitue une bonne référence en français dans laquelle les principaux algorithmes
d’analyse numérique matricielle sont expliqués. La référence [3] constitue un outil très utile pour
l’ingénieur qui doit implémenter des algorithmes. De nombreuses méthodes sont détaillées et les
implémentations en pseudo-code sont fournies. Notons que la référence [2] constitue une bonne
introduction à l’analyse numérique de même qu’à l’optimisation, tout comme la référence [1].
Tout comme pour l’analyse numérique, il existe de nombreux ouvrages généralistes et d’excel-
lente qualité sur l’optimisation, tels que [7], [8] ou [9]. Pour le cas important de l’optimisation
convexe, on pourra par exemple se référer à [3], [4] ou [5].
CHAPITRE 1. INTRODUCTION 11
Notations et Abréviations
sign(a) sign(x) = +1, −1, 0, selon que a est positif, négatif, nul
[v]i , [M]ij élément d’indices i, ou (i, j), d’un vecteur ou d’une matrice
O ensemble ouvert
Vx voisinage du point x
vect{(Xi )i∈I } espace vectoriel engendré par les combinaisons linéaires finies des Xi
Un exemple introductif
Dans ce chapitre, on présente un exemple introductif qui illustre un certain nombre de notions
sur lesquelles on reviendra dans les chapitres suivants. On y présente, sous la forme d’un exercice
un exemple d’application qui met en oeuvre un certain nombre de concepts d’analyse numérique
matricielle et d’optimisation dans le cadre du traitement déterministe ou statistiques de signaux.
On suppose dans un premier temps que le filtre h est connu mais que le signal x est inconnu.
On cherche à retrouver les valeurs de xn , . . . , xn+N à partir de l’observation de y sur le même
intervalle de temps, c’est à dire l’observation de yn , . . . , yn+N .
Question 1 Ecrivez la relation matricielle qui lie le vecteur observé y = [yn , . . . , yn+N ]T à
l’entrée x et vérifiez que du fait de l’étalement temporel introduit par le filtrage, elle fait intervenir
le vecteur [xn−L , . . . , xn , . . . , xn+N ]T . Cette relation matricielle est dite sous-déterminée car elle
fait intervenir plus d’inconnues que d’équations. Indiquez la forme générale de l’ensemble des
solutions pour x = [xn , . . . , xn+N ]T en montrant qu’on peut la paramétrer par xn−L , . . . , xn .
(Il s’agit d’un cas particulier d’un résultat plus général connu sous le nom de théorème des
fonctions implicites.)
13
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 14
Notons maintenant que dans un système d’équations général de la forme y = Ax où A a l lignes
et c colonnes, on peut écrire A sous la forme A = [A1 |A2 ] où A1 et A2 sont de tailles respectives
l × c1 et l × c2 , avec c1 + c2 = c. De même x s’écrit comme xT = [xT1 |xT2 ], où les sous vecteurs
sont de tailles c1 et c2 . Il résulte de cette écriture que l’on peut représenter y sous la forme
y = A1 x1 + A2 x2 .
xn−1
xn−1
Question 2 Reformulez le problème dans le cas particulier où on suppose que xn−L = . . . =
xn−1 = 0.Vérifiez qu’alors x est obtenu par la résolution d’un système linéaire d’équations
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 15
faisant intervenir une matrice triangulaire. Montrez que ce système se résoud simplement avec
un faible coût de calcul.
Réponse Lorsque xn−L = . . . = xn−1 = 0, la représentation (2.3) prend la forme plus simple
y = Hx, avec
h0 0 ... 0
h1 h0 0 ... 0
..
.
H = hL hL−1 . . . h0
0 ... 0
0 hL hL−1 . . . h0 0 . . .
..
. 0
0 ... 0 hL hL−1 . . . h0
On voit alors que les système d’équations se résoud simplement de façon itérative puisqu’on a
alors
xn = yn /h0 ,
xn+1 = [yn+1 − h1 xn ]/h0 ,
.. (2.5)
.
Pmax{k,L}
xn+k = [yn+k − i=1 hi xn+k−i ]/h0 , pour k = 1, . . . , N.
On voit que le calcul de x réclame ici de l’ordre de 1 + 2 + 3 . . . + (N + 1) multiplications, soit
environ N 2 /2 opérations.
Question 3 Plus généralement, on verra dans le cours qu’une matrice carrée A inversible
peut s’écrire sous la forme A = LU, où L et U sont respectivement triangulaire inférieure et
triangulaire supérieure. Vérifiez que A est inversible si et seulement si les diagonales de L et de
U ne contiennent pas de termes nuls. Dans ce cas, si L et U sont connues, indiquez comment
on peut résoudre le système d’équations y = Ax et donnez un ordre de grandeur du nombre
d’opérations que requiert cette résolution. En fait, on verra que c’est la mise en forme LU de
A qui représente le coût de calcul prépondérant (de l’ordre de N 3 opérations).
De même, la matrice A peut s’écrire sous la forme A = QR, où Q et R sont respectivement
orthogonale (c’est à dire que QQT = I) et triangulaire supérieure. Là encore, si Q et R sont
connues, indiquez comment on peut résoudre le système d’équations y = Ax.
Réponse |A| = |L| × |U| = Πi=1,N Lii Uii . A est inversible si et seulement si |A| 6= 0, c’est à
dire si les termes diagonaux de L et de U sont non nuls.
Si y = Ax et A = LU, alors y = L(Ux) et on voit en posant z = Ux que x peut être calculé
en résolvant successivement les deux systèmes d’équations triangulaires y = Lz puis z = Ux, ce
qui demandera environ N 2 opérations (en ne comptant que les multiplications).
Question 4 Reprenons notre problème de départ et supposons que le signal x est constitué d’un
préambule, qui reproduit les derniers symboles de la séquence xn , . . . , xn+N , c’est à dire que l’on
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 16
a
(xn−L , . . . , xn−1 ) = (xn+N −L+1 , . . . , xn+N ). (2.6)
Ce genre de technique est utilisée dans certaines méthodes de transmissions numériques, telle
l’OFDM (Orthogonal Frequency Division Multiplexing). Reformulez le problème sous forme ma-
tricielle et montrez que maintenant les inconnues xn , . . . , xn+N sont liées à y par une relation
qui fait intervenir une matrice circulante, c’est à dire que chaque ligne de la matrice se déduit
de la précédente par une permutation circulaire. Montrez que les vecteurs propres d’une matrice
circulante sont les vecteurs de la transformée de Fourier discrète, c’est à dire de la forme
Wk = [1, e2iπk/(N +1) , e2iπ2k/(N +1) , . . . , e2iπN k/(N +1) ]T /sqrtN + 1. (2.7)
On observe que C est une matrice circulante : on passe d’une ligne à l’autre de la matrice par
permutation circulaire vers la droite de ses coefficients.
En remarquant que e2iπnk/(N +1) 2iπ(n−N −1)k/(N +1) , on vérifie facilement que la tème compo-
P =e
sante du vecteur CWk vaut [ p=0,L hp e−2iπpk/(N +1) ]e2iπtk/(N +1) . Finalement, on voit que
X
CWk = [ hp e−2iπpk/(N +1) ]Wk . (2.8)
p=0,L
Remarquons que p=0,L hp e−2iπpk/(N +1) est la kème composante de la transformée de Fourier
P
C = Wdiag(ĥ)WH .
Question 5 Supposons maintenant que le signal x soit connu et que l’on observe
L
X
ym = hk xm−k + vm , m = n, n + 1, . . . , n + N, (2.10)
k=0
où les coefficients du filtre h sont maintenant inconnus, et v est un bruit d’observation. Exprimez
la relation matricielle qui lie l’observation y au vecteur h = [h0 , . . . , hL ]T sous la forme y =
Xh + v.
Réponse On a clairement
yn xn xn−1 . . . xn−L vn
yn+1 xn+1 h0
xn .. vn+1
. . . xn+1−L
.. = × . + .. , (2.11)
..
. . .
hL
yn+N xn+N −L xn+N −L+1 . . . xn+N vn+N
Question 6 Supposons que N > L. Le système comporte alors plus d’équations que d’inconnues ;
Il est dit sur-déterminé. Lorsque v est nul, il est clair que l’on obtient un système d’équations
redondantes mais il n’est cependant pas évident de savoir a priori pour un système sur-déterminé
quelles équations éliminer pour se ramener à un système carré inversible (en supposant que la
matrice intervenant dans la relation initiale soit de rang plein). De plus, lorsque v 6= 0, le
système y = Xh n’aura pas de solution en général du fait de la présence de bruit qui introduit
une erreur de modélisation dans la description de y comme un élément de l’espace image de
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 18
la matrice X. A défaut d’une solution exacte, on cherche une solution approchée et un critère
naturel consiste à chercher la valeur de h pour laquelle le modèle y = Xh est, en un certain
sens, le moins erroné possible. Dans de nombreuses situations, on cherche à minimiser la norme
de l’erreur de modélisation, c’est à dire qu’on choisi pour h la grandeur
k y − Xh k2 = (y − Xh)T (y − Xh)
= yT y − hT XT y − yT Xh + hT XT Xh (2.13)
Rappelons maintenant que la minimisation d’une fonction dérivable f d’une variable vectorielle
u ∈ Rn peut être envisagée en considérant la condition nécessaire fournie par l’annulation du
gradient de f au point où la fonction prend sa valeur minimale. Rappelons aussi que le gradient
de f est défini par
∂f ∂f T
∇f = [ ,..., ] .
∂u1 ∂up
La condition d’annulation du gradient de J(h) est donc donnée par (XT X)h − XT y = 0, soit
Les équations (XT X)h = XT y sont appelées les équations normales du critère des moindres
carrés k Xh − y k2 .
CHAPITRE 2. UN EXEMPLE INTRODUCTIF 19
Remarque Une façon plus directe d’aboutir au résultat consiste à utiliser le théorème de pro-
jection qui indique en particulier que dans Rn la différence entre un vecteur et sa projection
orthogonale sur un sous espace vectoriel quelconque est orthogonale à tous les éléments de
l’espace sur lequel la projection est effectuée. Ici, XhM C représente le vecteur de l’espace VX
engendré par les colonnes de la matrice X qui est le plus proche de y. En d’autres termes XhM C
est la projection orthogonale de y sur VX . L’orthogonalité de y − XhM C et de VX se traduit
par l’orthogonalité de y − XhM C et des colonnes de X, qui forment une base de VX . Cela se
traduit par
XT [y − XhM C ] = 0
et conduit directement à la relation (2.15).
Question 7 Supposons maintenant que v soit un vecteur de loi connue : v ∼ N (0, Σv ). Donnez
la loi du vecteur y et calculez l’estimateur du maximum de vraisemblance de h. Montrez l’intérêt
de cet estimateur par rapport à hM C dans le cas particulier où la matrice Σv est diagonale. Que
se passe t’il si Σv est proportionnelle à la matrice identité ? Déduisez en une interprétation
statistique de hM C .
Réponse
hM V = (XT Σ−1 −1 T −1
v X) X Σv y. (2.16)
Question 8 Supposons enfin que h n’est plus décrit comme un paramètre inconnu mais comme
une variable aléatoire de loi connue, appelée loi a priori. On se place donc ici dans le cadre des
méthodes dites d’estimation bayesienne. On suppose que h ∼ N (0, Σh ). Calculez, en utilisant
la formule de Bayes, la densité de probabilité p(h|y), appelée densité de probabilité de la loi a
posteriori, et donnez l’expression de l’estimateur du maximum de vraisemblance a posteriori
de h défini par
hM AP = arg max p(h|y). (2.17)
h
Réponse
−1 −1 T −1
hM V = (XT Σ−1
v X + Σh ) X Σv y. (2.18)
Première partie
20
Chapitre 3
Revenons rapidement sur les origines de la notion de matrice. On se limite ici au cas des espaces
vectoriels de type Rn , même si l’extension de la présentation à Cn est immédiate.
Soit f une application de Rm dans Rn . Soient (ei )i=1,m une base de Rm et (ki )i=1,n une base de
Rn . On suppose que f est linéaire, c’est à dire que pour tous x1 , x2 ∈ Rm et a1 , a2 ∈ R,
Si on note X
f (ej ) = Aij ki ,
i=1,n
et que l’on représente les coefficients Aij dans un tableau noté A, de taille n × m et appelé
matrice, dont le terme qui se trouve à l’intersection de la ième ligne et de la jème colonne est
précisemment Aij , il apparaı̈t que la jème colonne de A contient les composantes du vecteur ej
exprimées dans la base (ki )i=1,n .
21
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES22
P
= j=1,m xj f (ej )
P P (3.1)
= j=1,m xj [ i=1,n Aij ki ]
P P
= i=1,n [ j=1,m Aij xj ]ki .
P
Comme la représentation de y = f (x) sous la forme y = i=1,n yi ki est unique, la relation
X X X
y= yi ki = [ Aij xj ]ki
i=1,n i=1,n j=1,m
entraı̂ne que X
yi = Aij xj , pour i = 1, . . . , n. (3.2)
j=1,m
On voit que yi s’exprime comme le produit scalaire des vecteurs [Ai1 , Ai2 , . . . , Aim ]T et x, ce
qui s’exprime classiquement par l’écriture
x1
x2
yi = Ai1 Ai2 . . . Aim × . . (3.3)
.
.
xm
Notons que souvent, lorsqu’il n’y a pas d’ambiguité sur les bases choisies on identifie les vecteurs
x et y avec leurs représentations
x1 y1
x2 y2
.. et .. (3.5)
. .
xm yn
dans ces bases et on note la relation (3.4) sous la forme compacte
y = Ax. (3.6)
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES23
On a vu que la matrice A caractérise une application linéaire f pour des bases fixées des espaces
de départ et d’arrivée. On peut se demander comment l’expression de A se trouve modifiée lors
d’un changement de base.
Limitons nous ici au cas d’une application f de Rn dans Rn et supposons que A représente la
matrice de A pour la base (ei )i=1,n de Rn . Considérons une autre base de Rn , notée (e0i )i=1,n et
notons A0 la représentation matricielle de f dans cette nouvelle base.
On va voir que la relation entre A et A0 peut être exprimée en fonction des relations de passage
de la base (ei )i=1,n à la base (e0i )i=1,n . Posons
X
e0j = Pij ei . (3.7)
i=1,n
Dans la matrice P, de terme général Pij , la jème colonne contient donc les coefficients du vecteur
e0j exprimé dans la base (ei )i=1,n .
(3.8)
v = i=1,n yi ei = i=1,n yi0 e0i .
P P
0
P P
= j=1,n xj [ i=1,n Pij ei ] (3.9)
0
P P
= i=1,n [ i=1,n Pij xj ]ei .
Ainsi, xi = i=1,n Pij x0j pour i = 1, . . . , n et donc x = Px0 . De façon tout à fait identique, on
P
peut établir que y = Py0 .
Les représentations matricielles de la relation v = f (u) dans les deux bases s’écrivent y = Ax
et y0 = A0 x0 . Mais la relation y = Ax associée aux relations x = Px0 et y = Py0 conduit à
Py0 = APx0 ,
A0 = P−1 AP.
Dans le cadre de la résolution des systèmes d’équations linéaires, notons que le système d’équations
y0 = A0 x0 , où x0 est inconnue, peut être plus simple à résoudre que le système d’équations initial
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES24
y = Ax. Comme on le verra plus loin, l’idée consistant à mettre en évidence une représentation
équivalente d’un système d’équations linéaires pour laquelle la matrice mise en jeu est simple (ty-
piquement triangulaire ou diagonale) est à la base de nombreuses méthodes d’analyse numérique
matricielle.
Exercice On considère l’application linéaire donnée dans la base canonique de R3 (repère or-
thonormé orienté dans le sens direct), notée (e1 , e2 , e3 ) par
1 2 0
A = 0 1 0 . (3.10)
2 3 1
On considère maintenant la nouvelle base de R3 définie par e01 = e3 , e02 = e1 et e03 = e2 . Calculez
la matrice de passage P de la première à la seconde base et vérifiez que dans la nouvelle base
on obtient une matrice A0 triangulaire. Déduisez en l’expression du vecteur x tel que Ax = y
pour y = [1, 1, 1]T .
Etant donnée une matrice A de coefficients réels ou complexes, de terme général d’indice (i, j)
noté Aij , on notera A = (Aij ). La transposée et conjuguée hermitienne ou transposée-
conjuguée de A sont définies respectivement par
Pour une matrice carrée A, de taille n, rappelons maintenant la définition de quelques matrices
particulières importantes
Les matrices hermitiennes et unitaires peuvent être vues comme les analogues à valeurs com-
plexe des matrices symétriques et orthogonales respectivement. Les matrices orthogonales (resp.
unitaires) sont celles dont les colonnes (ai )i=1,n forment une base orthonormée, c’est à dire que
aTi aj = δi,j (resp. aH
i aj = δi,j , où δi,j = 1 si i = j, et 0 sinon).
Notons que les matrices symétriques réelles et complexes hermitiennes constituent des cas par-
ticuliers de matrices normales. De plus, les matrices symétriques (resp. hermitiennes) jouent un
rôle important dans de nombreuses situations, en particulier en probabilité et en statistiques
puisque la matrice de covariance d’un vecteur aléatoire réel X (resp. complexe), définie par
RX = E[XXT ] − E[X]E[X]T (resp. RX = E[XXH ] − E[X]E[X]H ) est clairement symétrique
(resp. hermitienne).
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES25
où Gn représente l’ensemble des permutations de l’ensemble {1, . . . , n} dans lui même, et σ la si-
gnature de la permutation σ, qui vaut +1 ou -1 selon que le nombre de permutations élémentaires
de deux coefficients successifs qu’il faut réaliser pour passer du vecteur (1, 2, . . . , n) au vecteur
(σ(1), σ(2), . . . , σ(n)) est pair ou impair. Notons une propriété importante du déterminant :
Si (et seulement si) |A| = 6 0, alors, la matrice A est inversible pour la multiplication matricielle,
c’est à dire qu’il existe une matrice, notée A−1 , telle que
Arrétons nous un instant sur cette formule. Pour calculer A−1 , il faut multiplier n − 1 termes
pour chacune des (n − 1)! permutations de chacun des n2 termes de Com(A). Au total, on
obtient de l’ordre
√ de n2 n! multiplications. Rappelons de plus que d’après la formule de Stierling,
n! = n en −n 2πn(1+ε(n)), avec limn→∞ ε(n) = 0. On dit que la complexité algorithmique du
calcul de l’inverse est exponentielle, c’est à dire que le coût de calcul croı̈t exponentiellement avec
la taille n du problème. En pratique, cela signifie que pour des problèmes même de taille réduite
(pour n de l’ordre de quelques dizaines), un ordinateur puissant serait dans l’impossibilité de
calculer l’inverse d’une matrice en un temps raisonable. En fait, les algorithmes de complexité
exponentielle sont considérés comme irréalisables en pratique et on cherche généralement des
algorithmes de complexité polynomiale. On verra qu’il est possible de réaliser l’inversion
matricielle au moyen d’algorithmes dont la complexité est de l’ordre de n3 .
Appliquez cette formule au calcul itératif de l’inverse de la matrice N −1 n=1,N xn xTn qui
P
représente l’estimateur empirique de la matrice de covariance d’un vecteur aléatoire centré X,
associée à une séquence de vecteurs d’observation (xn )n=1,N . Si les xn sont des réalisations
indépendantes de la matrice de covariance d’un vecteur aléatoire X = au + B, où u est un
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES26
Un autre opérateur qui apparaı̈t souvent en calcul matriciel est l’opérateur de trace, défini par
X
T r(A) = Aii . (3.18)
i
Les valeurs propres de la matrice A sont les racines du polynôme caractéristique de A défini
par P (A) = |A − λI|. L’ensemble des valeurs propres de A définit le spectre de la matrice
A, noté [
Sp(A) = {λi (A)} ⊂ C. (3.19)
i=1,n
Notons qu’en anglais rang(A) s’exprime par rank(A) tandis que Im(A) s’écrit range(A) et
Ker(A) s’exprime par N ull(A).
Comme on l’a vu au paragraphe 3.2, si A est une matrice carrée de taille n, correspondant à
l’expression d’une application linéaire dans une base B∞ = (x1 , . . . , xn ) et si B2 = (y1 , . . . , yn )
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES27
représente une autre base, avec [y1 , . . . , yn ] = P [x1 , . . . , xn ], alors, l’expression de la transforma-
tion linéaire dans la base B2 est A2 = P−1 AP. Le changement de base conduit donc à factoriser
la matrice A sous la forme A = PA2 P−1 .
En analyse numérique, il est souvent utile de factoriser une matrice A sous la forme d’un
produit de matrices afin d’obtenir des problèmes plus simples à résoudre. C’est en particulier
le cas, comme on le verra, pour la résolution des systèmes d’équations linéaires. Le paragraphe
suivant liste les principales factorisations de matrices utilisées pour la résolution des systèmes
d’équations linéaires, ou la décomposition en valeurs propres.
Le théorème de Schur montre que pour une matrice A il est toujours possible de trouver un
changement de base unitaire, c’est à dire pour lequel la matrice de changement de base P est
unitaire, tel que dans la nouvelle base la matrice soit triangulaire.
Notons déjà qu’un des avantages des changements de base unitaires est que le facteur P−1 qui
apparaı̂t dans la transformation se ramène simplement à P−1 = PH , ce qui fournit sans calcul
l’inverse de P.
Théorème 1 (théorème de Schur) Soit A une matrice carrée. Alors, il existe une matrice
unitaire U telle que UH AU soit une matrice triangulaire.
Corollaire 1 Soit A une matrice normale. Alors, il existe une matrice unitaire U telle que
UH AU soit une matrice diagonale.
Le corrolaire indique que les matrices normales, et en particulier les matrices symétriques réelles
et les matrices complexes hermitiennes, admettent une décomposition en valeurs propres et que
la base des vecteurs propres est une base orthonormée.
Lorsque A est une matrice non normale ou non carrée, on peut cependant toujours trouver
une factorisation de A avec des matrices unitaires et une matrice diagonale. Simplement les
facteurs unitaires de droite et de gauche ne sont plus conjugués l’un de l’autre. L’obtention
de cette décomposition, appelée décomposition en valeurs singulières, provient du fait
que les matrices AAH et AH A sont hermitiennes. Elles admettent donc respectivement des
décompositions en valeurs propres de la forme UDUH et VD0 VH et on peut établir que D = D0
et A = UDVH . Les termes diagonaux de D sont appelés valeurs singulières de la matrice A.
On pourra vérifier l’inégalité triangulaire pour la norme (encore appelée ici inégalité de Min-
kowski) à titre d’exercice. Rappelons également au passage l’inégalité de Hölder, qui généralise
l’inégalité de Cauchy Schwarz : si p−1 + q −1 = 1,
|yH x| ≤k x kp × k y kq . (3.28)
Pour les matrices, de taille n × m, où Rm (resp. Cm ) est muni de la norme la et Rn resp. Cn )
est muni de la norme lb on peut définir des normes matricielles sous la forme
k Ax k2b
k A kab = sup = sup k Ax k2b (3.29)
x k x k2a x,kxka =1
CHAPITRE 3. RAPPELS SUR LES MATRICES ET LES SYSTÈMES D’ÉQUATIONS LINÉAIRES29
On notera simplement la norme k . kaa par k . ka . Bien sûr, toutes ces normes sont équivalentes
puisqu’en dimension finie toutes les normes sont équivalentes (rappelons que deux normes
sont équivalentes si à un facteur près la première est toujours inférieure à la deuxième, et
réciproquement).
Pour des matrices carrées, k . k désignant une norme opérateur quelconque, on peut vérifier que
k AB ka ≤k A ka × k B ka . (3.30)
Indiquons maintenant la forme prise par quelques unes des normes matricielles.
P
k A k1 = maxj i |Aij |
Notons enfin que la norme k . k2 est invariante par transformation orthogonale sur les matrices :
si U est une matrice unitaire, k UA k2 =k A k2 .
3.5.1 Projection
Etant donné un sous espace vectoriel de Cn dont une base est donnée par les vecteurs {A1 , . . . , Am },
la matrice de projection sur ce sous-espace s’exprime à partir de la matrice A = [A1 , . . . , Am ]
par
ΠA = A(AH A)−1 AH . (3.32)
I − ΠA représente clairement le projecteur sur l’espace orthogonal à celui engendré par les
colonnes de A, de sorte que tout vecteur x se décompose sous la forme x = xA + x⊥ A , avec
xA = ΠA x ∈ Im(A) et x⊥ A = (I − Π A )x ∈ Im(A) ⊥.
La complexité d’un algorithme est définie comme le terme dominant de la formule qui exprime
le nombre d’opérations à réaliser lorsque la dimension caractéristique (par exemple la taille de la
matrice) du problème croit. Pour un problème de dimension n, on pourra définir cette complexité
comme une grandeur Φ(n) telle que
nombre d’opérations en dimension n
lim = 1. (3.34)
n→∞ Φ(n)
Dans de nombreuses situations, on se contente d’un ordre de grandeur de la complexité algo-
rithmique. Rappelons que g(n) = O(Φ(n)) si limn→∞ (g(n)/Φ(n)) = C, où C est une constante
finie. Notons que souvent, on ne compte que le nombre de multiplications et de divisions, les
additions et les soustraction n’étant pas prises en compte.
3.6.2 Conditionnement
Un problème sera dit bien conditionné lorsque sa solution variera peu lors d’une faible perturba-
tion de ses paramètres. Considérons plus particulièrement le cas simple et qui nous intéresse ici
des systèmes d’équations linéaires et prenons l’exemple des deux systèmes déquations suivants
2x1 + 6x2 = 8 2x1 + 6x2 = 8
− −5 et (3.35)
2x1 + (6 + 10 5)x2 = 8 + 10 2x1 + (6 − 10− 5)x2 = 8 + 2.10−5 .
On voit bien que la variation relative des paramètres entre ces deux systèmes est très faible
(inférieure à 10−5 ) et que malgrè cela les solutions obtenues sont très éloignées.
Exercice Expliquez géométriquement pourquoi les solutions des deux systèmes sont très différentes.
(A + εF)x(ε) = b + εf . (3.36)
simplement conditionnement du système sera faible. Notons que la valeur de K(A) dépend
de la norme choisie. Cependant, si on note K2 (A) la valeur du conditionnement obtenue pour
la norme k . k2 , on peut vérifier que l’on a toujours K(A) ≥ K2 (A) ≥ 1.
Lorsque K(A) est grand, on dit que le système est mal conditionné.
Exercice Vérifiez l’équation (3.38) et montrez que pour une matrice A hermitienne, K2 (A) =
λmax (A)/λmin (A).
Chapitre 4
Dans ce chapitre, on reviend rapidement sur les notions de systèmes d’équations sur-déterminés
et sous-déterminés, déjà envisagées au chapitre 2.
Par opposition à un système dit régulier d’équations linéaires Ax = b pour lequel la matrice
A est carrée et inversible, auquel cas on a clairement x = A−1 b, les systèmes sur-déterminés et
les systèmes sous-déterminés qui comportent plus de lignes que de colonnes ou au contraire plus
d’inconnues que d’équations ne permettent pas de trouver une solution exacte, ou au contraire
fournissent tout un sous espace vectoriel de solutions. On rappelle ici brièvement les approches
classiques retenues dans ce genre de stuation. On se limite ici au cas réel. Le cas complexe se
traite de façon analogue et pourra être envisagé à titre d’exercice.
Notons que la recherche des solutions envisagée ici met en oeuvre quelques notions d’optimi-
sation. Ces notions seront détaillées dans la seconde partie du cours. Pour l’instant, il suffit
de savoir qu’une condition d’optimalité nécessaire pour une fonction dérivable d’une variable
vectorielle f (x) est fournie par l’annulation de son gradient ∇f (x) aux points ou elle prend sa
valeur optimale. On pourra ici justifier du caractère suffisant du critère d’optimalité ∇f (x) = 0
en invoquant le théorème de projection qui assure qu’à tout vecteur v (resp. à tout point M ) de
Rn correspond un vecteur (resp. un point) unique de tout sous-espace vectoriel (resp. de tout
sous-espace affine) dont la distance à v (resp. à M ) est minimale parmi l’ensemble des points
du sous-espace.
Lorsque A est inversible, on a clairement x = A−1 b, mais dans de nombreusesP situations on est
conduit à une suite d’observation (bi )i=1,m issues des combinaisons linéaires i=1,n Aij xj des
quantitées inconnues (xj )j=1,n et des coefficients supposés connus de la matrice A. Dans ce type
de situation, pour un nombre important d’observations, c’est à dire pour m > n la matrice A
32
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS33
est généralement de rang plein, c’est à dire ici de rang n. Compte tenu notament des erreurs de
mesures ou des imperfections du modèle linéaire utilisé il est rare que les équations du système
soient compatibles. En d’autres termes le système d’équations Ax = b n’admet pas de solution.
Afin d’accéder à une valeur approchée de x un critère naturel consiste à rechercher le vecteur x
tel que la norme de l’erreur de reconstruction de b sous la forme Ax soit la plus faible possible.
En général, on considère la norme l2 qui a l’avantage de pouvoir être interprétée physiquement
comme une énergie, mais surtout qui conduit à une solution qui se formule très simplement. En
effet la solution de
min k Ax − b k22 (4.1)
x
Finalement la solution fournie par la méthode des moindres carrés est donnée par
Notons que même lorsque les équations du système ne sont pas incompatibles, la recherche de la
solution des moindres carrés reste utile pour caractériser la solution du système lorsque m > n et
que A est de rang plein, car il n’est pas nécessaire ici de rechercher quelles équations redondantes
peuvent être éliminées du système pour se ramener à un système carré inversible.
Exercice Montrez que la solution des moindres carrés fournit l’estimateur du maximum de
vraisemblance de x pour un modèle d’observation de la forme b = Ax + w, où w est un
vecteur aléatoire gaussien dont les composantes sont décoréllées et de même variance.
A1 x1 + A2 x2 = b, (4.4)
soit x1 = A−1 −1
1 b − A1 A2 x2 . on voit donc que l’ensemble des solutions est l’espace affine de
dimension n − m défini par
−1
−A−1
n A1 b 1 A2 n−m
E = u ∈ R |u = + y, y ∈ R . (4.5)
0 I
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS34
Parmi toutes ces solutions, on est souvent amené à choisir une solution particulière. On choisit
alors souvent de considérer la solution de norme minimale. On peut montrer que la solution du
système Ax = b dont la norme quadratique est minimale est donnée par
Notons que la solution (4.6) est celle du problème d’optimisation sous contraintes
minx xT x
(4.7)
Ax = b.
Dans le cas général la matrice A du système Ax = b n’est pas forcément de rang plein. On peut
se ramener à un système de rang plein de diverses façons. Ainsi, par exemple, la décomposition
en valeurs singulières de A s’écrit A = UDVH , où les matrices unitaires U et V sont de tailles
respectives m et n. Si A n’est pas de rang plein, certains des termes diagonaux de la matrice D
sont nuls. Considérons le système équivalent DVH x = UH b. La matrice D de taille m × n se
réécrit sous la forme
D1 D1 0
D = D1 , D = , D = D1 0 , ouD = , (4.8)
0 0 0
où D1 est une matrice diagonale inversible de taille p. La matrice A est de rang plein si p =
min{m, n} ce qui correspond aux trois premièrs cs de figure décrits par les relations (4.8). En
notant U1 et V1 les matrices constituées des p premières colonnes de U et de V respectivement,
on voit clairement que les solutions des moindres carrés vérifient
D1 V1H x = UH
1 b. (4.9)
Si n = p, x est défini de façon unique. Sinon, parmi les valeurs de x solutions de (4.9), on peut
montrer que l’approximation de norme minimale est donnée par
x = V1 D−1 H
1 U1 b. (4.10)
Exercice Vérifiez que la solution des moindres carrés de norme minimale est bien donnée par
(4.10).
CHAPITRE 4. SYSTÈMES D’ÉQUATIONS SUR-DÉTERMINÉS ET SOUS-DÉTERMINÉS35
On considère la matrice
A11 A12
A= . (4.11)
A21 A22
avec A11 inversible. On vérifie facilement que
I A−1
I 0 A11 0 11 A12
A= . (4.12)
A21 A−1
11 I 0 A22 − A21 A−1
11 A12 0 In
On suppose maintenant de plus que A22 est inversible. Le lemme d’inversion matricielle appliqué
au complément de Schur conduit à
I −A−1
A−1 = 11 A12
0 I
A−1
11 0 I 0
× .
0 A−1 −1 −1 −1 −1
22 + A22 A21 (A11 − A12 A22 A21 ) A12 A22 −A21 A−1
11 I
(4.14)
On peut également vérifier que Ces formules sont connues sous le nom de lemme d’inversion
matriciel.
Il peut arriver que dans un problème on cherche à résoudre partiellement un système d’équations
linéaires. Ainsi, si on considère le système d’équations
A11 A12 x1 b1
= , (4.15)
A21 A22 x2 b2
et que l’on cherche simplement la solution pour x1 . On vérifiera à titre d’exercice que
for k=n:-1:1,
x(k) = (b(k)-T(k,k+1:n)*x(k+1:n))/T(k,k);
end;
On distingue deux types de méthodes directes : celles qui conduisent à une factorisation de A
sous la forme A = LU, où les matrices L et U sont respectivement triangulaire inférieure et
triangulaire supérieure (de l’anglais L comme ’lower’ et U comme ’upper’), et celles de type
A = QR pour lesquelles la matrice Q est orthogonale (unitaire dans le cas complexe) et R est
triangulaire supérieure. On vérifie aisément qu’une telle écriture constitue une orthogonalisa-
tion de Gram-Schmidt des colonnes de A. En effet,
Dans la suite, on va détailler les algorithmes qui permettent d’obtenir les décompositions LU et
36
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 37
QR
for k=1:n-1,
for l=k+1:n,
A(l,k:n) = A(l,k:n) - (A(l,k)/A(k,k))*A(k,k:n);
b(l) = b(l) - (A(l,k)/A(k,k))*b(k);
end
end
A la fin de cet algorithme, la matrice A est devenue triangulaire grâce à la succession des
combinaisons de ses lignes.
Notons que la k ème boucle de l’algorithme revient à multiplier à gauche les deux membres du
système courant par la matrice Mk qui possède des 1 sur sa diagonale et des zéros partout
(k) (k)
ailleurs, sauf pour ses termes d’indice (k, l), lorsque l > k, pour lesquels [Mk ]kl = −Alk /Akk .
On construit ainsi la suite de matrices
soit,
1 0 0 ··· 0
(1) (1) .. ..
A21 /A11 1 . .
L= .. .. ..
(5.4)
.
. . 0
(1) (1) (2) (2)
An1 /A11 An2 /A22 · · · 1
On a donc bien réalisé la décomposition LU de la matrice A, avec L triangulaire inférieure et
U triangulaire supérieure.
Comme on l’a vu précédemment, la méthode de Gauss ne vaut que s’il n’y a pas de division par
(k)
0, c’est à dire si la séquence des coefficients (Akk )k=1,n−1 n’a pas de terme nul. En pratique, si
(k)
Akk a une valeur non nulle mais proche de 0, cela peut entraı̂ner des erreurs numériques qui
affectent de façon importante la solution obtenue.
où U est triangulaire supérieure. En fait, cette stratégie est appelée pivot total, par opposition
à une méthode plus simple, dite de pivot partiel, qui consiste simplement à permuter les
lignes k à n de la matrice pour venir remplacer la ligne k par la ligne j, avec j ≥ k, pour
(k)
laquelle le coefficient |Alk | est maximum. Cette stratégie moins performante vis à vis des erreurs
numériques est également moins coûteuse puisque le nombre de comparaisons entre coefficients
à effectuer est nettement plus faible.
L’obtention de la suite des systèmes d’équations A(k) x = b(k) nécessite de l’ordre de k=1,n−1 (n−
P
Dans le cas particulier où la matrice A est symétrique réelle (AT = A) positive , on peut
vérifier que A = LLT avec L triangulaire inférieure. L’adaptation de la méthode de Gauss à
cette situation conduit à l’algorithme suivant, connu sous le nom de factorisation de Cholesky.
On note que
2
L11 L11 aT1 L11 aT1
L11 0 1 0
A= = . (5.8)
L11 a1 An−1 a1 I 0 An−1 − a1 aT1 0 I
procédure dont le coût de calcul est Φ(n) = n3 /6. Notons de plus que la positivité de la matrice
A assure la stabilité de la méthode.
L = zeros(n,n);
L(1,1) = sqrt(A(1,1));
for k=1:n-1,
L(k+1:n,k) = (A(k+1:n,k) - L(k+1:n,1:k-1)*(L(k,1:k-1))’)/L(k,k);
L(k+1,k+1) = sqrt(A(k+1,k+1)-L(k+1,1:k)*L(k+1,1:k)’);
end;
La factorisation LDLT relativement proche permet d’éviter la division par L2jj et les éventuels
problèmes de stabibilité associés à cette division. Elle s’écrit
L1 aT1 d1 aT1
d1 1 0 d1 0
A= = (5.10)
L1 a1 An−1 a1 I 0 An−1 − d1 a1 aT1 0 I
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 40
Notons que pour une matrice A hermitienne complexe (AH = A), on a un résultat analogue.
Il suffit alors de remplacer les transpositions par des transpositions-conjugaisons dans ce qui
précède, et A = LLH
Rappelons que pour une matrice Q orthogonale (QQT = I) on a pour toute matrice A
Le conditionnement du système Ax = b n’est donc pas affecté par une transformation ortho-
gonale et il ne sera pas nécessaire de prendre de précautions telles que la méthode du pivot
vue dans le cadre de la factorisation LU lorsqu’on triangularise le système. On va maintenant
indiquer deux techniques importantes de triangularisation par orthonormalisation.
Hu x = ∓ k x k e1 , (5.13)
Ik−1 0
Hk = , (5.14)
0 H̃k
où Ik−1 est la matrice identité de taille k −1, et H̃k une matrice de Householder de taille n−k +1
qui annule les n − k derniers termes de la colonne k de la matrice A(k) . Ainsi,
(Hn−1 × . . . × H1 )A = QT A = R, (5.15)
Pour ce qui est du coût de calcul, pour la construction de la k ème matrice et sa multiplication
par Ak , il faut compter de l’ordre de 2(n − k)2 + O(n − k)Popérations, soit au total, pour les
n − 1 itérations de la procédure, Φ(n) = 2n3 /3 opérations ( k 2(n − k)2 ).
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 41
Au lieu d’essayer de construire des matrices qui éliminent une sous colonne d’une matrice comme
s’était le cas avec la méthode de Householder, on se limite ici à l’élimination d’un unique coef-
ficient de la matrice à chaque opération grâce à une rotation dans un sous espace de dimension
deux, appelée rotation de Givens. L’avantage de cette approche réside dans le fait que pour
des matrices A creuses, c’est à dire des matrices présentant un grand nombre de coefficients nuls,
le coût de calcul de la triangularisation de A peut devenir nettement plus faible que pour la
méthode de Householder. Pour un vecteur u de composantes (ui , uj ) dans le sous espace défini
par les indices i et j, on considère la rotation Gij (θ) qui agit dans ce sous espace et dont l’angle
θ est choisi de sorte à annuler la composante de u selon la direction j. Le vecteur transformé
v = Gij (θ)u est tel que
vi = cui − suj
vj = Gij (θ)ui : vj = sui + cuj (5.16)
vk = xk k 6= i, j.
q
avec c = cos θ et s = sin θ. Pour tan θ = −uj /ui , on aura vi = u2i + u2j et vj = 0.
On peut vérifier facilement que la complexité de la méthode est de Φ(n) = 4n3 /3 ( k (n − k)2 ).
P
Q = eye(n,n);
R = A;
for k1=1:n-1,
for k2=n-1:-1:k1,
x = R(k2,k1);
y = R(k2+1,k1);
if y~=0 then
rho = sqrt(x^2+y^2);
Cos = x/rho;
Sin = y/rho;
R(k2,k1) = rho;
CHAPITRE 5. RÉSOLUTION DIRECTE DES SYSTÈMES LINÉAIRES 42
R(k2+1,k1) = 0.0;
for u=k1+1:n,
R_aux = Cos*R(k2,u) + Sin*R(k2+1,u);
R(k2+1,u) = -Sin*R(k2,u) + Cos*R(k2+1,u);
R(k2,u) = R_aux;
end;
for v=1:n,
Q_aux = Cos*Q(v,k2) + Sin*Q(v,k2+1);
Q(v,k2+1) = -Sin*Q(v,k2) + Cos*Q(v,k2+1);
Q(v,k2) = Q_aux;
end;
end;
end;
end;
Dans cette procédure, à chaque itération, on a A = QR avec la matrice R qui devient progres-
sivement triangulaire, les rotations à gauche appliquées à chaque étape à la matrice R étant
cmpensées par des rotations à droite en sens inverse appliquées à Q.
Notons pour finir que cette approche n’est pas très stable numériquement et on lui préfère
généralement une méthode de Gram-Schmidt modifiée [3].
Chapitre 6
Les méthodes de résolution itérative des systèmes d’équations linéaires consistent à représenter
le système d’équations sous la forme d’une équation matricielle récurrente qui permet, à partir
d’un vecteur initial fixé de construire une suite de vecteurs dont on espère qu’elle converge vers
la solution du système. Plus précisemment, pour le système linéaire d’équations Ax = b, si on
décompose A sous la forme A = M − N, il apparaı̂t que la solution x de Ax = b est également
solution de Mx = Nx + b. En d’autres termes, x est un point fixe de l’équation de récurrence
pour laquelle x(0) est une valeur initiale fixée quelconque. Bien sûr, pour trouver x(t) connaissant
x(t−1) , il serait souhaitable que l’inversion de M soit simple, ce qui conduit souvent à choisir M
égale à la partie diagonale ou à la partie triangulaire, par exemple inférieure, de A. Ces choix
conduisent respectivement aux méthodes de Jacobi et de Gauss-Siedel.
On voit donc que la convergence se traduit par le fait que les valeurs propres de la matrice
M−1 N sont de modules inférieurs à un. Cela permet d’obtenir les conditions de convergence
suivantes pour les algorithmes itératifs en général et les algorithmes de Jacobi et de Gauss
Siedel en particulier [2] :
— l’algorithme (6.1) converge vers la solution de Ax = b si et seulement si les valeurs
propres de M−1 N sont de modules inférieurs à un.
— Si k M−1 NP k< 1, alors l’algorithme (6.1) converge vers la solution de Ax = b.
— Si |Aii | > | j6=i |Aij |, ∀i, la méthode de Jacobi converge.
— Si A est symétrique définie positive (A = AT et A > 0), la méthode de Gauss-Siedel
converge.
En pratique, la méthode de Jacobi peut prendre la forme du code suivant :
43
CHAPITRE 6. RÉSOLUTION ITÉRATIVE DES SYSTÈMES LINÉAIRES 44
x = zeros(n,1);
dA = diag(A);
A_ = -A+diag(dA);
for nb=1:nb_iter,
x = (A_*x +b)./dA;
end;
La méthode de Gauss-Siedel, quant à elle, peut être programmée sous la forme suivante :
x = zeros(n,1);
for nb=1:nb_iter,
for k=1:nb_symb,
x(k) = x(k) + (-A(k,:)*x+b(k))/A(k,k);
end;
end;
Il est possible d’accélerer l’algorithme de Gauss-Siedel au moyen d’une technique dite de sur-
relaxation dont le fonctionnement général est décrit ci dessous :
(t+1) P (t+1) P (t)
x̃i =− j<i Aij xj − j>i Aij xj + bi
(t+1) (t+1) (t) (6.3)
xi = ωx̃i + (1 − ω)xi
On peut montrer que si A est symétrique définie positive la convergence est assurée pour 0 <
ω < 2 et que la vitesse de convergence est optimale pour une valeur de ω comprise en un et
deux.
Chapitre 7
On s’intéresse ici au problème du calcul pratique des valeurs propres d’une matrice. On verra
que le problème de la décomposition en valeurs singulières est étroitement lié au précédent. Il
n’existe pas en général de formule qui permette de calculer de façon exacte les valeurs propres
d’une matrice puisque ce sont les racines de son polynôme caractéristique et que pour des
degrés supérieur à 4 les racines équations polynômiales n’admettent pas en général de forme
explicite. Il faut donc mettre en oeuvre des techniques itératives pour obtenir la décomposition
en valeurs propre des matrices. Notons ici qu’en général on ne cherche pas les racines du polynôme
caractéristique pour trouver les valeurs propres d’une matrice mais qu’on travaillera plutôt sur
la recherche d’un changement de base permettant d’obtenir une forme diagonale de la matrice,
ou du moins triangulaire (décomposition de Schur). Pour justifier de l’équivalence entre les
racines d’un polynôme et les valeurs propres d’une matrice, notons que les racines du polynôme
P (x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + xn coı̈ncident avec les valeurs propres de sa matrice
companion, définie par :
−an−1 −an−2 . . . a0
1 0 ... 0
0 1 0 ... 0
. (7.1)
. .
.
0 ... 0 1 0
Exercice Vérifier que les valeurs propres de la matrice (7.1) coı̈ncident bien avec les racines de
P (x) = a0 + a1 x + a2 x2 + . . . + an−1 xn−1 + xn .
45
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES46
On se limitera ci dessous au cas de matrices symétriques à valeurs rélles. L’extension au cas des
matrices hermitiennes suppose la prise en compte d’un terme exponentiel complexe supplémentaire
dans les matrices de rotation de Givens qui ne modifie pas le principe de la démarche.
La méthode repose sur l’emploi des rotations de Givens, déjà rencontrées dans le paragraphe sur
la décomposition QR des matrices. Commençons par considérer une matrice symétrique 2 × 2
A11 A12
A= . (7.2)
A21 A22
et, en appliquant les notations du paragraphe 5.2.2, appliquons la rotation G12 (θ) á gauche de
A et G12 (θ)T = G12 (−θ) à droite de A, on obtient, en prenant en compte la relation A12 = A21 ,
A11 − A22
2 2 (7.3)
A11 cos (θ) + A22 sin (θ) − A12 sin(2θ) A12 cos(2θ) +
2
sin(2θ)
A11 − A22 .
A12 cos(2θ) + sin(2θ) A11 sin2 (θ) + A22 cos2 (θ) + A12 sin(2θ)
2
On voit donc que la matrice obtenue est diagonale dès lors que
A22 − A11
cot(2θ) = . (7.4)
2A12
Exercice Afin de construire la matrice de rotation précédente, montrer que cos(θ) = (1+t2 )−1/2
et sin(θ) = t(1+t2 )−1/2 , où t est la racine de module inférieur ou égal à 1 de t2 +( A22A−A
12
11
)t−1 = 0.
Plus généralement, pour une matrice A de taille n on pourra appliquer successivement des rota-
tions à droite et à gauche dans les sous-espaces d’indice (i, j) afin d’annuler les termes d’indice
(i, j) de la matrice. On vérifie facilement que dans cette opération, la somme des carrés des
termes diagonaux est augmentée de deux fois le carré du terme précédemment situé en posi-
tion (i, j). Comme la norme de Frobenius de la matrice reste invariante par les transformations
orthogonales que sont les rotations de Givens, il apparaı̂t qu’á chaque itération l’énergie hors
diagonale dans la matrice décroit et que l’énergie de la diagonale croı̂t d’autant.
On peut soit à chaque itération chercher à annuler le terme hors diagonal le plus grand (méthode
de Jacobi classique), soit balayer successivement chaque composante hors diagonale (méthode
de jacobi cyclique), par exemple colonne par colonne. En pratique, on n’exécute la rotation que
si l’amplitude du terme diagonal considéré reste supérieure à un certain seuil. On peut établir
la convergence de la méthode de Jacobi [2].
while test>seuil,
[test,ind] = max(abs(D-diag(diag(D))));
p = ind(1); // (p,q): indices du terme hors diagonal \‘a \’eliminer
q = ind(2);
coef = (D(q,q)-D(p,p))/(2*D(p,q));
t = - coef + sqrt(coef^2+1);
Cos = 1/sqrt(1+t^2);
Sin = t*Cos;
// rotation a gauche sur D
Daux = D(p,:);
D(p,:) = Cos*D(p,:) - Sin*D(q,:);
D(q,:) = Sin*Daux + Cos*D(q,:);
// rotation a droite sur D
Daux = D(:,p);
D(:,p) = Cos*D(:,p) - Sin*D(:,q);
D(:,q) = Sin*Daux + Cos*D(:,q);
// rotation a droite sur V
Vaux = V(:,p);
V(:,p) = Cos*V(:,p) - Sin*V(:,q);
V(:,q) = Sin*Vaux + Cos*V(:,q);
end;
On va voir qu’il est particulièrement intéressant, pour calculer les valeurs propres d’une matrice
A de se ramener à la forme Hessenberg de la matrice qui consiste à appliquer un changement de
base orthonormée de telle sorte que la nouvelle matrice, notée H soit tridiagonale, c’est à dire
telle que [H]ij = 0 pour |i − j| > 1. La factorisation de Hessenberg est obtenue simplement
en appliquant une suite de rotations de Givens à droite et à gauche de la matrice A.
Cette décomposition s’applique aussi bien aux matrices symétriques qu’aux matrices carrées
quelconques. On obtient finalement une représentation de A sous la forme A = UTriVT , où
Tri est une matrice tridiagonale. Dans le cas où A est symétrique, cette représentation devient
simplement A = UTriUT .
Voici un exemple de programme permettant d’obtenir la forme Hessenberg dans le cas d’une
matrice carrée quelconque par la méthode des rotations de Givens. Dans le cas symétrique, la
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES48
U = eye(n,n);
V = eye(n,n);
Tri = A;
for p=1:n-2
for q=n:-1:p+2
// traitement de la partie sous-diagonale
if abs(Tri(q,p))>0,
rho = sqrt(Tri(q-1,p)^2+Tri(q,p)^2);
Cos = Tri(q-1,p)/rho;
Sin = -Tri(q,p)/rho;
// rotation a gauche sur Tri
Taux = Tri(q-1,:);
Tri(q-1,:) = Cos*Tri(q-1,:) - Sin*Tri(q,:);
Tri(q,:) = Sin*Taux + Cos*Tri(q,:);
// rotation a droite sur U
Uaux = U(:,q-1);
U(:,q-1) = Cos*U(:,q-1) - Sin*U(:,q);
U(:,q) = Sin*Uaux + Cos*U(:,q);
end;
// traitement de la partie sur-diagonale
if abs(Tri(p,q))>0,
rho = sqrt(Tri(p,q-1)^2+Tri(p,q)^2);
Cos = Tri(p,q-1)/rho;
Sin = -Tri(p,q)/rho;
// rotation a droite sur Tri
Taux = Tri(:,q-1);
Tri(:,q-1) = Cos*Tri(:,q-1) - Sin*Tri(:,q);
Tri(:,q) = Sin*Taux + Cos*Tri(:,q);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,q-1);
V(:,q-1) = Cos*V(:,q-1) - Sin*V(:,q);
V(:,q) = Sin*Vaux + Cos*V(:,q);
end;
end;
end;
Tri = Tri.*(abs(Tri)>1.0e-10);
Exercice Dans le cas où la matrice A est symétrique, Simplifier le programme scilab précédent.
Il existe plusieurs situations où il est utile d’exploiter la forme Hessenberg de la matrice A, en
particulier pour la réalisation des décompositionsen valeurs propres. Ainsi, pour une matrice
symétrique, la forme Hessenberg peut être exploitée pour calculer plus rapidement les valeurs
propres de la matrice A par la méthode de Jacobi. Dans le cas général, la forme Hessenberg
permet d’initialiser la méthode itérative basée sur la décomposition QR présentée ci dessous
pour le calcul de la décomposition de Schur de la matrice.
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES49
Soit A une matrice diagonalisable. La méthode des puissances permet de calculer un vecteur
propre associé à la valeur propre de module le plus élevé de façon itérative : à partir d’un vecteur
initial u0 , on construit itérativement la suite de vecteurs
Aun
un+1 = , (7.5)
k Aun k
qui converge vers un vecteur propre associé à la valeur propre de module le plus élevé. On peut
s’en convaincre en exprimant Aun en fonction de la décomposition en valeurs propres de A.
En fait, cette méthode peut se généraliser pour construire une matrice de vecteurs propres comme
limite asymptotique d’une suite de matrice. La procédure itérative est résumée ci dessous :
Zn+1 = AQn
(7.6)
Qn+1 Rn+1 = Zn+1 ( décomposition QR).
QHn AQn converge vers la décomposition de Schur de A. Cet algorithme nécessite de l’ordre de
n3 opérations par itération.
Cependant, ce coût de calcul peut être réduit en utilisant la forme Hessenberg H de la matrice A
décrite plus haut. Une fois la forme Hessenberg obtenue la complexité numérique des itérations
la décomposition de Schur se trouve réduite. La proccédure s’écrit ainsi
= QH
H0 0 AQ0 (initialisation : forme Hessenberg )
Hk−1 − µI = Qk Rk (décomposition QR ) , (7.7)
Hk = Rk Qk + µI
(k)
où µ est un coefficient qui permet d’accélerer la vitesse de convergence. En effet, si on note λi
la ième valeur propre obtenue à l’itération k, alors on peut montrer que
λi+1 (−µ) k
|(λi )(k) − λi | ∼ . (7.8)
λi (−µ)
La suite des formes Hessenberg calculées converge vers la matrice triangulaire T de la forme
Schur. Le coût de calcul de chaque itération est maintenant de l’ordre de n2 opérations dans le
cas général et de seulement n opérations si A est symétrique ou hermitienne car alors H0 est
alors une matrice tridiagonale.
Pour une matrice carrée A, il existe une matrice orthogonale Q telle que QH AQ = T avec T
triangulaire supérieure. La représentation de A sous la forme QTQH est appelée décomposition
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES50
La décomposition en valeurs propres d’une matrice carrée A peut ne pas exister (considérer
par exemple la matrice triangulaire supérieure 2 × 2 dont tous les termes non nuls sont égaux
à 1), mais que par contre il existe toujours une forme, dite de Jordan définie comme suit :
∀A ∈ Cn × Cn , ∃P, P−1 AP = J = diag(J1 , . . . , Jp ), avec
λi 1 0 ···
.. ..
Ji = 0 . .
. (7.9)
λi 1
λi
Une même valeur propre peut définir plusieurs matrices blocs Jk . Notons que le nombre d’oc-
curences d’une valeur propres dans J correspond à son degré comme solution du polynôme
caractéristique de A. Donc, si les valeurs propres sont distinctes A est diagonalisable puisque
les blocs dégénèrent alors en matrices de taille 1.
Exercice Montrez que si A est normale, alors elle est diagonalisable dans une base orthonormée.
Rappelons que pour la matrice A, il existe toujeours deux matrices unitaires, U et V telles
que la matrice UH AV soit diagonale et à valeurs positive. Les valeurs diagonales de A sont
appeleées valeurs singulières de A.
On voit donc que les valeurs singulières de A sont les racines carrées des valeurs propres de
AAH (et de AH A). De plus, U et V sont les matrices de vecteurs propres de AAH et de AH A
respectivement.
Ainsi, on peut par exemple décrire facilement le projecteur sur un espace vectoriel S = vect{x1 , ., xp }
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES51
Comme on l’a vu, on peut également formuler aisément la résolution des systèmes linéaires
d’équations sur-déterminés et sous-déterminés à partir de la décomposition en valeurs singulières
de la matrice A.
Autre intérêt de la décomposition en valeurs singulières, elle peut être employée pour approximer
une matrice par une matrice de rang plus faible. Ce type d’approximation peut être exploitée,
par exemple, en traitement d’images. Etant donnée une matrice A on cherche la matrice B de
rang r0 , inférieur au rang de A telle que k A − B k2F = T r[(A − B)(A − B)H ] soit minimale. La
solution est fournie par le résultat suivant :
La décvomposition en valeurs singulières sert aussi à décrire la distance entre sous-espaces vecto-
riels : pour deux sous espaces S1 et S2 dont des bases orthonormées sont définies
q par les colonnes
des matrices U1 et U2 est définie comme suit : d(S1 , S2 ) =k PS1 − PS2 k= 1 − mini Σii (U1H U2 )
Matrices symétriques
Pour une matrice symétrique positive, la décomposition en valeurs singulières est équivalente
et pour une matrice symétrique non positive, on passe très facilement d’une forme à l’autre (le
vérifier à titre d’exercice). Dans le cas d’une matrice symétrique, on pourra chercher à accélerer
la vitesse de convergence de la méthode de Jacobi en commençant par se ramener à forme
Hessenberg et en exploitant les spécificités du cas symétrique dans la démarche présentée ci
dessous pour le cas de matrices carrées quelconques.
Matrices quelconques
Notons d’abord qu’on pourrait obtenir la décomposition en valeurs singulières d’une matrice A
quelconque en réalisant les décompositions en valeurs propres des matrices symétriques AAT et
AT A. On peut cependant procéder de façon plus directe, comme on va le voir.
rotations de Givens transforme la matrice en une matrice triangulaire supérieure qui possède des
termes non nuls sur les deux premières sur-diagonales. On reviend à une matrice tridiagonale
en éliminant la deuxième sur-diagonale (termes d’indices (i, i + 2)) par une séquence de n − 2
rotations de Givens appliquées à droite. On applique alors de même une technique d’élimination
de la première sur-diagonale de A par une séquence de n − 1 rotations de Givens appliquées
à droite suivie de l’élimination des termes de la deuxième sous-diagonale au moyen de n − 2
rotations de Givens.
En partant de la forme Hessenberg A = UTriVT , cela peut se traduire par un code de la forme
suivante :
D = Tri;
while max(abs(D-diag(diag(D))))>1.0e-15,
// Reduction de la 1ere // sous-diagonale
for p=1:n-1,
if abs(D(p+1,p))>1.0e-15,
rho = sqrt(D(p,p)^2+D(p+1,p)^2);
Cos = D(p,p)/rho;
Sin = -D(p+1,p)/rho;
// rotation a gauche sur D
Daux = D(p,:);
D(p,:) = Cos*D(p,:) - Sin*D(p+1,:);
D(p+1,:) = Sin*Daux + Cos*D(p+1,:);
// rotation a droite sur U
Uaux = U(:,p);
U(:,p) = Cos*U(:,p) - Sin*U(:,p+1);
U(:,p+1) = Sin*Uaux + Cos*U(:,p+1);
end;
end;
// traitement de la 2eme // sur-diagonale
for p=1:n-2,
if abs(D(p,p+2))>1.0e-15,
rho = sqrt(D(p,p+1)^2+D(p,p+2)^2);
Cos = D(p,p+1)/rho;
Sin = -D(p,p+2)/rho;
// rotation a droite sur D
Daux = D(:,p+1);
D(:,p+1) = Cos*D(:,p+1) - Sin*D(:,p+2);
D(:,p+2) = Sin*Daux + Cos*D(:,p+2);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,p+1);
V(:,p+1) = Cos*V(:,p+1) - Sin*V(:,p+2);
V(:,p+2) = Sin*Vaux + Cos*V(:,p+2);
end;
end;
// traitement de la 1ere // sur-diagonale
for p=1:n-1,
CHAPITRE 7. DÉCOMPOSITIONS EN VALEURS PROPRES ET EN VALEURS SINGULIÈRES53
if abs(D(p,p+1))>1.0e-15,
rho = sqrt(D(p,p)^2+D(p,p+1)^2);
Cos = D(p,p)/rho;
Sin = -D(p,p+1)/rho;
// rotation a droite sur D
Daux = D(:,p);
D(:,p) = Cos*D(:,p) - Sin*D(:,p+1);
D(:,p+1) = Sin*Daux + Cos*D(:,p+1);
// rotation a droite sur V (a gauche sur V’)
Vaux = V(:,p);
V(:,p) = Cos*V(:,p) - Sin*V(:,p+1);
V(:,p+1) = Sin*Vaux + Cos*V(:,p+1);
end;
end;
// traitement de la 2eme // sous-diagonale
for p=1:n-2,
if abs(D(p+2,p))>1.0e-15,
rho = sqrt(D(p+1,p)^2+D(p+2,p)^2);
Cos = D(p+1,p)/rho;
Sin = -D(p+2,p)/rho;
// rotation a gauche sur D
Daux = D(p+1,:);
D(p+1,:) = Cos*D(p+1,:) - Sin*D(p+2,:);
D(p+2,:) = Sin*Daux + Cos*D(p+2,:);
// rotation a droite sur U
Uaux = U(:,p+1);
U(:,p+1) = Cos*U(:,p+1) - Sin*U(:,p+2);
U(:,p+2) = Sin*Uaux + Cos*U(:,p+2);
end;
end;
end;
D = D.*(abs(D)>1.0e-15);
On pourrait bien sûr réduire la longueur de ce code en réalisant par exemple les rotations dans
une fonction spécifique, mais les appels à cette fonction peuvent réduire la vitesse d’execution.
Notons également qu’on a supposé ici que la matrice A est carrée. On peut toujours se ramener
à ce cas, au besoin en complétant la matrice A par des lignes ou des colonnes nulles, même si
d’un point de vue pratique, il vaut mieux affiner l’écriture de l’algorithme pour éviter d’alourdir
les calculs et de stockage entraı̂nés une telle complétion de la matrice A par des 0.
Bibliographie
54
Deuxième partie
Introduction
aux opérateurs linéaires
55
Chapitre 8
Introduction
L’objectif de cette partie est d’étendre la notion de matrice au cas de transformations linéaires sur
des espaces de dimension infinie. Lorsqu’on considère des fonctions définies sur des espaces vec-
toriels de dimension infinie (c’est dire qui admettent des familles infinies de vecteurs linéairement
indépendants), on parle d’opérateur plutôt que de fonction, même s’il s’agit au fond de la même
chose ; simplement, il est un peu plus commode de parler d’un opérateur défini sur un espace de
fonctions que d’une fonction définie sur un espace de fonctions.
On se limite ici à une présentation des opérateurs sur des espaces de Hilbert. Les espaces
de Hilbert généralisent la notion d’espace hermitien, un espace hermitien étant un espace
vectoriel de dimension finie sur le corps des complexes muni d’un produit scalaire. Les espaces
hermitiens constituent eux même une généralisation au cas complexe des espaces euclidiens
qui eux sont définis sur le corps des réels. Un des intérêts des espaces de Hilbert réside dans le fait
que les propriétés géométriques usuelles des espaces euclidiens ou hermitiens s’y transposent, ce
qui contribue à faciliter la résolution de nombreux problèmes et à en fournir une interprétation
géométrique simple.
56
Chapitre 9
Espaces de Hilbert
9.1 Définition
Rappelons tout d’abord qu’un produit scalaire hermitien x, y →< x, y > sur un espace
vectoriel E sur le corps des nombres complexes est une application de E × E dans C caractrisée
par les propriétés suivantes qui généralisent celles du produit scalaire euclidien :
1. < x, x > ≥ 0, avec < x, x >= 0 ⇒ x = 0
2. < x, y >= < y, x >
3. < αx, y >= α < x, y >
4. < x + y, z >=< x, z > + < y, z >
Bien entendu, le produit scalaire hermitien induit une norme et une distance sur E :
√
d(x, y) =k x − y k= < x − y, x − y >. (9.1)
Un espace de Hilbert est un espace vectoriel normé H, complet et muni d’un produit scalaire
hermitien qui induit la norme de H. Rappelons ici que par définition H est complet si toute
suite de Cauchy (xn )n∈N de H, c’est dire telle que limm,n→∞ k xm − xn k= 0, est convergente.
Exemples
(i) L’espace l2 des suites x = (xk )k∈N telles que k∈N |xk |2 < ∞ est un espace de Hilbert pour
P
le produit scalaire hermitien défini par
X
< x, y >= xk yk∗ . (9.2)
k∈N
57
CHAPITRE 9. ESPACES DE HILBERT 58
dès lors que l’on identifie les fonctions égales presque partout par rapport à la mesure de Le-
besgue, c’est à dire égales partout sauf éventuellement sur un ensemble de mesure nulle par
rapport à la mesure de Lebesgue, car < f, f >= 0 ⇒ f = 0 p.p.
On retrouve pour le produit scalaire dans les espaces de Hilbert des propriétés analogues à
celles du produit scalaire classique. Ainsi, le théorème de projection se généralise aux espaces
de Hilbert :
Théorème 2 Si K est un sous ensemble convexe fermé d’un espace de Hilbert H, alors
est un sous-espace fermé de L2 (Ω, A, P ), ce qui assure l’existence d’un unique optimum au
problème
min k X − h(Y ) k, (9.7)
h∈L2 (PY )
p
avec k Z k= E[|Z|2 ]. Cet optimum ĥ, qui est caractérisé par les relations (voir l’équation (9.5))
Définition 1 Une famille F = (φk )k∈K de H, avec K fini ou dénombrable, est dite libre si toute
sous famille de taille finie de F est une famille libre. F est une famille orthonormée de H si ses
éléments vérifient
< φk , φl >= δk,l . (9.9)
Les résultats précédents permettent d’établir les propriétés suivantes des familles orthonormées :
Théorème 3 Si F = (φk )k∈K (K ⊂ N) est une famille orthonormée de H, alors pour tout
x ∈ H,
2
P
1. k | < x, φk > | ≤k x k (ingalité de Bessel)
P
2. k < x, φk > φk converge
2
P P
3. k ck φk converge si et seulement si k |ck | < ∞
P
4. Si x = k ck φk , alors ck =< x, φk >.
On dit qu’une famille orthonormée F = (φk )k∈K deP H est une base orthonormée si tout
élément x de H peut se représenter sous la forme x = k ck φk . Notons que d’après le théorème
précèdent ck =< x, φk > (proprité 4).
Théorème 4 Si F = (φk )k∈K de H est une famille orthonormée de H, les propriétés suivantes
sont équivalentes
1. F est une base de H
2. (∀k, < x, φk >= 0) ⇒ x = 0
3. L’ensemble vect(F ) des combinaisons linéaires finies d’élèments de F est dense dans H
CHAPITRE 9. ESPACES DE HILBERT 60
Preuve (1)⇒(5)P: Si x = ∞ et y = ∞
P P
k=1 xk φk k=1 yk φk , la continuité du produit scalaire donne,
en notant x̃n = nk=1 xk φk et ỹn = nk=1 yk φk :
P
n
X
< x, y >= lim < x̃n , ỹn >= lim x k yk , (9.10)
n→∞ n→∞
k=1
(4)⇒(3) : k x − nk=1 < x, φk > φk k=k x k − nk=1 | < x, φk > |2 et le terme de droite de
P P
l’égalité tend vers 0.
Pn Pn
(3)⇒(2) : k=1 < x, φk > φk → x et k=1 < x, φk > φk = 0, donc x = 0.
P P
(2)⇒(1) : ∀i, < x − k < x, φk > φk , φi >= 0 ⇒ x = k < x, φk > φk .
Exercice Montrer que si (φn )n∈N∗ et (ψn )n∈N∗ sont des bases de L2 ([a, b]), alors les fonctions
(Φmn )m,n∈N∗ , avec Φmn = φm ψn forment une base de L2 ([a, b] × [a, b]).
Un espace de Hilbert H est dit séparable s’il possède une famille finie ou dénombrable d’éléments
qui est dense dans H.
Notons que tous les espaces de Hilbert ne sont pas séparables. Ainsi, les fonctions définies sur
R par t 7→ eiλt , avec λ ∈ R forment une famille orthonormée non dénombrable pour le produit
scalaire Z T
1
< f, g >= lim f (t)g(t)∗ dt (9.12)
T →∞ 2T −T
et engendrent donc un espace de Hilbert non séparable. Comme en général on s’intéresse cepen-
dant essentiellement aux espaces de Hilbert séparables, les bases mises en oeuvre seront finies
ou dénombrables.
9.4.2 Projection
D’après ce qui précède, un sous espace fermé séparable H0 de H possède une base orthonormale
dénombrable (ψk )k∈K . Si y ∈ H, il est aisé de vérifier d’après le théorème de projection que la
projection de y sur H0 , notée y|H0 , est donnée par
X
y|H0 = < y, ψk > ψk . (9.13)
k
9.4.3 Isométrie
Remarque Parfois, on utilise plutôt l’isométrie de H avec l2 (Z), l’ensemble des suite indicées
par Z dont les carrés sont absolument sommables. Ceci est utile en particulier pour identifier les
CHAPITRE 9. ESPACES DE HILBERT 62
Rπ
fonctions x de L2 ([−1/2, 1/2]) à la suite de leurs coefficients de Fourier xk = −π x(t)e−2iπkt dt,
avec k ∈ Z.
Chapitre 10
Opérateurs linéaires
k Ax k
k A k= sup = sup k Ax k . (10.1)
kxk kxk kxk≤1
Notons que la norme d’un opérateur ainsi définie définit effectivement une norme sur l’espace
vectoriel L(H1 , H2 ) des opérateurs linéaires de H1 dans H2 .
Si k A k< ∞, l’opérateur est dit borné. Comme en dimension finie, la linéarité entraı̂ne une
équivalence entre le caractère borné d’un opérateur et son caractère continu :
63
CHAPITRE 10. OPÉRATEURS LINÉAIRES 64
Les espaces de Hilbert séparables de dimension infinie étant isométriques, on peut les identifier.
Considérons donc maintenant un opérateur borné A de H dans lui même. Comme
P
Ax = j < x, φj > Aφj
P P (10.2)
= j < x, φj > ( i < Aφj , φi > φi )
on a X
[Ax]i = < Aφj , φi >< x, φj > . (10.3)
j
On voit donc que l’opérateur A peut être représenté par la matrice de taille infinie de coefficient
général (i, j) égal à < Aφj , φi >. Notons que selon que la base est indicée par N∗ ou par Z, on
obtiendra respectivement une matrice ”infinie vers la droite et vers la gauche” ou ”doublement
infinie”.
Exemple On considère
Z b
Ax = k(t, s)x(s)ds, (10.4)
a
défini sur L2 ([a, b]). En utilisant l’ingalité de Cauchy Schwarz, il apparaı̂t que
Z
k A k≤ |k(t, s)|2 dsdt. (10.5)
[a,b]×[a,b]
A est donc borné dès lors que k ∈ L2 ([a, b]2 ). Dans ce cas, la matrice associée A est de terme
général Z
aij = |k(t, s)|2 φi (s)φj (t)∗ dsdt =< k, Φji >, (10.6)
[a,b]×[a,b]
où Φij (s, t) = φi (s)φj (t)∗ , est parfaitement définie. Comme (Φij )ij est une base de L2 ([a, b]2 ), il
est clair que les coefficients aij sont de carrés absolument sommables :
X X
|aij |2 = | < k, Φji > |2 =k k k2 < ∞ (10.7)
ij ij
Les notions d’image et de noyau d’un opérateur linéaire sont définies exactement comme en
dimension finie. Lorsque Im(A) est un espace de dimension n finie, on dit que A est de rang n.
Théorème 9 (Riesz) Toute forme linéaire bornée ϕ : H → C est caractrisée par un unique
élément y ∈ H tel que
ϕ(x) =< x, y >, ∀x ∈ H (10.9)
De plus, k ϕ k=k y k.
car la relation y = vϕ(v)∗ / k v k2 entraı̂ne que ϕ(y) =k y k2 . L’unicité de y provient du fait que
si y 0 vérifie également ϕ(x) =< x, y 0 > pour tout x, alors < x, y − y 0 >= 0 en particulier pour
x = y − y 0 . Par suite k y − y 0 k= 0 et y = y 0 . Enfin, k ϕ k=k y k d’après l’ingalité de Cauchy
Schwarz, ce qui achève la démonstration du théorème de représentation de Riesz.
Comme ϕk : x 7→< Ax, ψk > est une forme linéaire bornée, on peut encore écrire d’après le
théorème de représentation de Riesz que ϕk (x) =< x, φk > pour un certain élément φk de H1 ,
d’où le résultat.
67
Troisième partie
Interpolation et intégration
68
Chapitre 11
Interpolation et intégration
11.1 Introduction
En général, l’intégrale sur un intervalle [a, b] d’une fonction g(x) est approchée en considérant
l’intégration exacte d’un approximant polynomial de cette fonction. Aussi, nous allons envisager
ici quelques aspects classiques de l’interpolation polynomiale et de l’intégration. Notons qu’en
posant f (x) = g( a+b b−a
2 + 2 x), avec x ∈ [−1, 1] on transfert le problème de l’interpolation ou de
l’intégration sur [a, b] en un problème analogue sur l’intervalle [−1, 1]. Ainsi, dans la suite, on se
restreindra sans perte de généralités à des fonctions définies sur [−1, 1].
Les formules de quadrature classiques sont connues pour assurer l’intégration exacte des fonctions
polynomiales jusqu’ un degré au moins égal ‘à n − 1, où n représente le nombre de points,
ou noeuds, de la quadrature. Nous allons montrer qu’en d’autres termes cela signifie que la
quadrature
Z Xn
f (x)dx ≈ wk f (xk ) (11.1)
[−1,1] k=1
est définie de sorte à assurer l’intégration exacte de l’interpolant de Lagrange de f aux points
xk .
Afin de préciser les choses, commençons par rappeler ici la notion d’interpolant polynomial de
Lagrange d’une fonction. Etant donnés n points xk (k = 1, . . . , n) on définit les polynômes
69
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 70
suivants :
w(x) = Πk=1,n (x − xk )
wk (x)
lk (x) = wk (xk )
Il est clair que lk (xk ) = 1 et lk (xj ) = 0 pour xj 6= xk : lk (xj ) = δk,j .
Etant donnée une fonction f (x) définie sur [−1, 1] il est alors clair que le polynôme de degré n
qui passe par les points (xk , f (xk ))k=1,n est donné par
n
X
fn (x) = lk (x)f (xk ). (11.3)
k=1
Dans ces conditions, il apparaı̂t que l’emploi d’un interpolant polynomial de Lagrange calculé
sur des points régulièrement espacés pour approcher l’intégrale d’une fonction f via l’intégration
de cet interpolant ne conduit pas à de bons résultats.
Cela ne signifie cependant pas qu’on ne puisse pas utiliser d’approximant polynomial pour
intégrer une fonction de façon précise. En effet, le théorème de Weierstrass indique que
pour toute fonction f continue sur [−1, 1], si Pn représente l’ensemble des polynômes de degré
inférieur ou égal à n, alors il existe une séquence (qn )n∈N , avec qn ∈ Pn , telle que [?]
lim sup |f (x) − pn (x)| = 0. (11.4)
n→∞ p ∈P , |x|≤1
n n
Une façon d’obtenir une telle suite de polynômes consiste à considérer des interpolants de La-
grange de f (x) définis en des points xk irrégulièrement espacés. Plus précisemment, si on choisit
(n)
pour n fixé des points (xk )k=1,n tels que lorsque n augmente ces points soient asymptotique-
ment distribués dans [−1, 1] selon la densité suivante [?]
1
ρ(x) = √ , (11.5)
π 1 − x2
alors, la suite correspondante des interpolants de Lagrange converge uniformément vers f sur
[−1, 1].
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 71
Comme fn (xk ) = f (xk ), les poids de la quadrature nk=1 wk f (xk ) qui assurent une quadrature
P
exacte de l’interpolant de Lagrange sont donnés par
Z 1
wk = lk (x)dx. (11.7)
−1
soit
1 1 ... 1 w1 a1
x1 x2 ... xn w2 a2
= , (11.9)
.. .. .. .. ..
. . . . .
xn−1
1 xn−1
2 ... xnn−1 wn an
avec
1
1 − (−1)k
Z
ak = xk−1 dx = . (11.10)
−1 k
On vérifie que pour des points xk régulièrement espacés la matrice précédente est mal condi-
tionnée et que l’amplitude des coefficients wk est très fluctuante. L’amplitude des oscillations
des coefficients wk augmente d’ailleurs exponentiellement avec n [?]. Ce mauvais comportement
numérique limite l’ordre de quadrature envisageable pour la méthode de Newton-Cotes et en pra-
tique, on la met souvent en oeuvre en découpant l’intervalle [−1, 1] en plusieurs sous-intervalles
et en appliquant la quadrature de Newton Cotes avec un petit nombre de noeuds sur chacun
d’eux. De plus, compte tenu de la mauvaise qualité de l’approximation fournie par l’interpola-
tion polynomiale pour un échantillonnage régulier (phénomène de Runge), on comprend que la
quadrature de Newton-Cotes qui est basée sur cette approximation fournisse des résultats assez
médiocres. On donne ci dessous un programme Matlab simple pour réaliser la quadrature de
Newton-Cotes. On pourra y vérifier l’influence de la valeur de n sur les poids
x = linspace(-1,1,n); % noeuds
M = flipud(vander(x)’); % matrice de VanderMonde de calcul des poids
w = inv(M)*((1-(-1).^(1:n))./(1:n))’; % poids
I = f(x)*w % calcul de l’intégrale par la méthode
% de Newton Cotes
On peut chercher corriger les effets du phénomène de Runge associé au choix de noeuds régulièrement
espacés pour le polynôme d’interpolation de Lagrange d’une fonction en considérant une répartition
irrégulière des noeuds xk . Les méthodes de Gauss, basées sur le choix de noeuds de quadrature
égaux aux zéros de polynômes orthogonaux constituent un choix approprié. On se limitera ici
au cas des polynômes orthonormés sur [−1, 1] définis par
Z 1
pn (x)pm (x)dx = δm,n , (11.11)
−1
avec pn de degré n, et qui définissent les polynômes de Legendre. Ceux ci se caractérisent de
diverses manières [?]. On peut en particulier définir les versions non normalisés de ces polynômes
au moyen de la récurrence à trois termes suivante :
p0 (x) =1
p1 (x) =x (11.12)
Preuve Comme les paramètres de la quadrature satisfont aux équations (11.9), il apparaı̂t
qu’elle est exacte pour tout polynôme de degré inférieur ou égal à n − 1. Maintenant, tout
polynôme q(x) de degré inférieur ou égal à 2n − 1 pourra s’écrire
X X
q(x) = ak xk + pn (x)( bl xk ). (11.13)
k=0,n−1 l=0,n−1
puisque les xj sont les zéros de pn . Donc, la quadrature de Gauss-Legendre est encore exacte
pour la seconde intégrale du terme de droite de l’égalité (11.14), ce qui termine la démonstration.
Indiquons ici qu’une évaluation approchée des poids peut être obtenue à partir de la formule
suivante ([?] p.89)
4(n − k) − 1 n−1 4(n − k) − 1 1
xk = cos π+ cot( π) + o( ) , k = 1, . . . , n. (11.16)
4n + 2 8n3 4n + 2 n4
Ces valeurs des noeuds peuvent éventuellement être améliorées par un algorithme de Newton de
recherche des zéros de pn (x) et initialisé successivement par chacune des valeurs xk de la relation
(11.16).
Le programme suivant utilise l’approximation précédente et pourra être employé pour mettre
en évidence le meileur comportement de la méthode de Gauss-Legendre comparé à la mthode
de Newton-Cotes.
Il s’agit cependant ici d’une écriture sous-optimale du programme à objectif purement pédagogique.
Ainsi, on vérifiera que lorsque n augmente, le conditionnement de la matrice M se dégrade, ce
que l’on peut tester avec la commande Matlab ’cond(M)’.
Il est établi dans la littérature que la ércurrence (11.12) permet d’obtenir les noeuds et les poids
comme solution d’un probèlme de valeurs propres d’une matrice tridiagonale [?], pour un coût
CHAPITRE 11. INTERPOLATION ET INTÉGRATION 74
de calcul de l’ordre de O(n2 ) opérations. Sans entrer dans le détail de cet algorithme, indiquons
que sa mise en oeuvre conduit au code suivant proposé dans [?] et dont on pourra comparer la
bonne robustesse à celle du programme précédent :
On pourra vérifier qu’à la différence de ce que l’on observe avec la méthode de Newton-Cotes la
dispersion des valeurs des poids croı̂t lentement avec n. Avec ce code, on vérifie que l’erreur de
quadrature décroit rapidement vers le bruit de calcul lorsque n augmente.
Notons enfin que la méthode de Gauss Legendre se généralise pour des intégrales sur des in-
tervalles semi-infinis au moyen des polynômes de Laguerre et pour des intégrales sur R au
moyen des polynômes d’Hermite [?].
précision souvent comparable à celle de Gauss-Legendre. Le code Matlab suivant, propoés dans
[?] implémente la méthode de calcul des poids de [?].
Indiquons pour terminer que pour les méthodes précédentes il est possible d’exprimer de façon
précise l’erreur liée à la quadrature. Pour une quadrature sur n points qui est exacte pour les
polynômes de degré inférieur ou égal à M et une fonction f , au moins m fois continuement
dérivable, avec m ≤ M , on peut montrer que la fonction d’erreur de quadrature, notée E(f ),
est donnée par ([?], p. 218)
R1 Pn
E(f ) = −1 f (x)dx − k=1 wk f (xk )
(11.18)
R1 (m+1) (x)K (x)dx,
= −1 f m
Optimisation
76
Chapitre 12
Introduction
Lorsqu’on cherche à résoudre un problème de la forme inf v∈Uad f (v), on parlera de problème
d’optimisation contraint lorsque U est un sous ensemble particulier inclu dans le domaine
de définition de f . Si Uad coı̈ncide avec le plus grand domaine sur lequel on peut définir f on
parlera de problème d’optimisation non contraint.
On s’intéresse dans cette partie à des problèmes d’optimisation continue, à variables réelles ou
complexes, de forme générale
minx f (x)
(12.1)
fi (x) ≤ 0 i = 1, . . . , m.
Le problème (12.1) consiste à rechercher les valeurs de x qui minimisent f (x) dans l’ensemble
des contraintes U = {x; fi (x) ≤ 0 i = 1, . . . , m}. Notons qu’une contrainte d’égalité de la forme
fi (x) = bi peut toujours se reformuler dans ce contexte par les inégalités fi (x) − bi ≤ 0 et
−fi (x) + bi ≤ 0. Dans la suite, on sera cependant souvent amené à distinguer les situations de
contraintes de type inégalité et de type égalité.
minx 21 xT Qx + xT r
Ax = b (12.3)
Gx ≤ h
où Q est une matrice symétrique positive et u ≤ v signifie que uk ≤ vk pour chaque composante
des vecteurs u et v, sont appelés programmes quadratiques. En présence de contraintes
d’inégalité, l’obtention de la solution est généralement moins directe qu’avec les seules contraintes
d’égalité. Dans ce dernier cas on dispose d’une forme analytique directe du problème tandis que
dans le premier il faut faire appel à des algorithmes itératifs d’optimisation.
77
CHAPITRE 12. INTRODUCTION 78
Lorsque les fonctions f et (fi )i=1,m sont linéaires, le problème est appelé problème de program-
mation linéaire. Il existe des algorithmes performants pour résoudre ce genre de problème,
même si le nombre d’opérations à réaliser n’est pas bien maı̂trisé en général. Notons également
qu’il peut être un peu plus délicat d’identifier un problème de programmation linéaire qu’un
problème d’optimisation quadratique.
P Ainsi, la minimization de la norme l1 de Ax − b, définie
par f (x) =k Ax − b k1 = i |Ai x − bi |, où Ai représente ici la i-ème ligne de la matrice A peut
se reformuler sous la forme du programme linéaire suivant :
P
mint i ti
−ti ≤ 0 i = 1, . . . , m
(12.4)
A x − bi − ti ≤ 0 i = 1, . . . , m
i
−Ai x + bi − ti ≤ 0 i = 1, . . . , m.
Pour un problème pour lequel le critère f ou certaines des contraintes (fi )i=1,m ne sont pas
linéaires, on parlera d’un problème de programmation non linéaire. Une difficulté essentielle
du problème d’optimisation (12.1) dans le cas non linéaire réside dans fait que des conditions
nécessaires bien connues d’optimalité telles que l’annulation de la dérivée (du gradient dans le
cas d’une fonction de plusieurs variables) ne permettent généralement que d’établir l’optimalité
locale d’une solution.
Il existe une exception remarquable à ce fait qui est celui de l’optimisation convexe pour
lequel les fonction f et (fi )i=1,m sont convexes. Dans ce cas, non seulement on est en mesure
de caractériser la nature globale d’optima locaux, mais de plus, il existe des algorithmes per-
formants de recherche de telles solutions. En particulier, les méthodes de point intérieur,
également utilisées en programmation linéaire, ou les méthodes de plans sécants, offrent
une solution performante pour l’optimisation de problèmes d’optimisation convexe. En fait, la
difficulté essentielle des problèmes d’optimisation convexe réside souvent dans la difficulté que
l’on peut avoir à identifier le problème étudié comme un problème convexe.
Si, comme on l’a indiqué, pour un problème d’optimisation non convexe il est souvent facile de
caractériser des optima locaux dès lors que l’on dispose d’hypothèses de régularité, telle que la
différentiabilité, sur les fonctions mises en jeux, on ne pourra pas en général trouver d’algorithme
qui assure la convergence vers un optimum global. On verra cependant que l’utilisation des
résultats de l’optimisation convexe peuvent être utilisés pour fournir des approximations souvent
intéressantes de la solution.
Pour le problème minu∈U f (u) Les conditions d’optimalité dépendent de la nature de U . Pour
les conditions nécessaires, on peut citer les conditions suivantes qui seront développées dans les
chapitres suivants :
— équations d’Euler : f 0 (u) = 0
— inéquations d’Euler : f 0 (u)(v − u) ≥ 0
— multiplicateurs de Lagrange lorsque U = {v; fk (v) = 0, k = 1, m}
— conditions de Kuhn et Tucker lorsque U = {v; fk (v) ≤ 0, k = 1, m}.
Les conditions suffisantes font souvent appel à la convexité de f pour l’optimalité globale et plus
simplement au comportement de la dérivée seconde de f au voisinage de u pour l’optimalité
locale.
Outre l’étude des conditions d’optimalité on se penchera sur les aspects algorithmiques de la
CHAPITRE 12. INTRODUCTION 79
recherche d’optima. Pour les problèmes sans contraintes, on considérera en particulier les algo-
rithmes de relaxation, de Newton, du gradient ou du gradient conjugué. Pour les problèmes avec
contraintes, on envisagera la possibilité d’extension des méthodes sans contraintes ainsi que des
algorithmes généralistes tels que les méthodes d’Uzawa, les méthodes de plans sécants ou encore
les méthodes de points intérieurs. L’algorithme du simplexe important pour le cas particulier de
la programmation linéaire sera également présenté.
Le chapitre 9 présente quelques rappels de calcul différentiel sur lesquels reposent les conditions
d’optimalité développées par la suite. Le chapitre 10 traite des conditions d’optimalité pour les
problèmes non contraints et le chapitre 11 des algorithmes classiques pour traiter ce type de
problèmes. Le chapitre 12 traite des conditions d’optimalité pour les problèmes contraints et le
chapitre 13 des algorithmes correspondants. Le cas particulier de la programmation linéaire est
abordé au chapitre 14.
Les version antérieures de ces notes de cours s’inspiraient en particulier de [6] où l’optimisation
est abordée sous un angle très général. Pour l’optimisation avec contraintes, la version actuelle
emprunte plus à la présentation de [8] qui traite de façon allégée, quoi que rigoureuse, la théorie
pour des problèmes dans les espaces de type Rn . Pour les algorithmes, [9] et [4] constituent
également des références intéressantes. Les autres références indiquées constituent également
des sources d’information enrichissantes. Les notes de cours [5] ou le livre [10] constituent des
références plus approfondies sur la notion de convexité.
Chapitre 13
13.1 Introduction
Les conditions d’existence d’optima locaux pour les problèmes contraints ou non contraints font
intervenir les dérivées d’ordres un et deux de la fonction à optimiser. Ainsi, la condition de
dérivée nulle est à la base d’une méthode importante, la méthode de Newton, qui sera étudiée
plus loin.
On fait ici quelques rappels concernant la dérivation dans des espaces généraux car la variable
vis à vis de laquelle on effectue l’optimisation peut être une fonction. C’est le cas par exemple
lorsqu’on cherche la surface d’aire minimale qui s’appuye sur un contour fixé de R3 , auquel
cas la variable recherchée est la fonction qui décrit cette surface. Dans ce chapitre, on va donc
développer un formalisme général pour la notion de dérivation. Pour fixer les idées, le lecteur
pourra considérer le cas particulier d’espaces X et Y tels que X = Rn et Y = Rm . On se limitera
d’ailleurs à ce cadre dans les chapitres suivants.
L(X, Y ) est complet si Y est complet. Dans l’ensemble L2 (X, Y ) des applications bilinéaires
continues de X × X dans Y , la norme est définie par
k A(x1 , x2 ) kY
∀A ∈ L2 (X, Y ), k A k= sup . (13.2)
x1 ,x2 ∈X k x1 kX × k x2 kX
80
CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 81
13.3 Dérivation
Si f 0 (a) existe, elle est unique. Remarquons que f 0 (a)h est une notation simplifiée pour f 0 (a)(h),
c’est à dire la valeur prise par l’application linéaire f 0 (a) en h.
Exercices.
1) Si f (x) = B(x, x), où B est bilinéaire et continue, monrer que
2) Calculez le gradient de f définie sur Rn par f (x) = xT Ax. Que devient cette formule lorsque
A est symétrique ?
Si
f : O ⊂ X → Y = Y1 × . . . × Ym ; x 7→ f (x) = [f1 (x), . . . , fm (x)]T , (13.7)
f est dérivable en a ∈ O si et seulement si fk0 (a) existe pour k = 1, m.
f : O ⊂ X = X1 × . . . × Xn → Y ; x 7→ f (x) (13.9)
où h = [h1 , . . . , hn ]T et ∂k f (a) est la dérivée de la k ème application partielle (∂k f (a) ∈ L(Xk , Y )).
La réciproque est fausse ; Ainsi, pour f (x1 , x2 ) = 1 − δ0,x1 x2 , ∂1 f (0, 0) = ∂2 f (0, 0) = 0, mais f
n’est pas dérivable en 0.
Notons également que dans le cas où m = n, le déterminant |∇f | de la matrice jacobienne est
appelé jacobien.
ou encore ∇h = ∇f × ∇g.
Notons que les espaces L(X, L(X, Y )) et L(X × X, Y ), encore noté L2 (X, Y ), sont isomorphes,
c’est à dire que l’on peut passer de l’un à l’autre au moyen d’une transformation linéaire bijective.
f 00 (a) définit donc une application bilinéaire continue de X × X dans Y . On montre de plus que
cette application bilinéaire est symétrique, c’est à dire que f 00 (a)(k, h) = f 00 (a)(h, k). Pour
le calcul pratique des dérivées secondes, remarquons que f 00 (a)(h, k) est la dérivée en a de
x → f 0 (x)k, appliquée au point h.
Pn (13.20)
= i,j=1 hi kj ∂i,j f (a).
Les vecteurs ei de la base canonique sont définis par [ei ]k = δi,k . La matrice ∇2 f , de terme
général [∇2 f (a)]ij = ∂ij f (a) est appelée matrice hessienne, ou hessien de f au point a.
Ainsi,
f 00 (a)(h, k) = kT ∇2 f (a)h. (13.21)
Les formules de Taylor qui permettent d’obtenir des approximations polynomiales locales des
fonctions exprimées à partir de leurs dérivées successives et sont utiles pour justifier certaines
conditions d’optimalité présentées au chapitre suivant. Même si les preuves des conditions d’op-
timalité ne seront pas développées pour la plupart il est intéressant de comprendre les notions
auxquelles elles se rattachent, ce qui motive ce paragraphe. On pourra par exemple trouver la
démonstration des formules de Taylor dans [2, 6]
La généralisation aux dimensions supérieures n’est pas directe. Pour s’en convaincre on peut par
exemple considérer la fonctionf (t) = [cos t, sin t]T , sur [0, 2π].
CHAPITRE 13. ELÉMENTS DE CALCUL DIFFÉRENTIEL 84
Soit
f : O ⊂ X → Y , avec [a, a + h] ⊂ O. (13.23)
Des critères portant sur les dérivées première et seconde ou la convexité de f permettent d’obtenir
des conditions nécessaires mais aussi des conditions suffisantes d’optimalité et de préciser le
caractère minimum ou maximum d’un extremum, voir même de préciser si c’est un optimum
global. Les conditions portant sur la dérivée première sont classiquement appelées conditions
du premier ordre et celles portant sur les dérivées secondes conditions du second ordre.
14.1 Définitions
14.1.1 Optimalité
Si ∀v ∈ U , f (u) ≤ f (v), on parlera alors de minimum global. Un extremum local est encore
appelé extremum relatif et un extremum global est encore appelé extremum strict.
Lorsque sur un voisinage pointé Vu − {u} de u on a f (u) < f (v), ∀v ∈ Vu − {u}, on dit que u
est un minimum local strict de f .
85
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 86
Fonctions continues
Pour des fonctions dont la valeur tend vers l’infini lorsque k u k→ ∞, et définies sur Rn tout
entier on a un résultat analogue :
Fonctions dérivables
Pour les fonctions dérivables, on peut préciser une condition nécessaire pour qu’un point donné
de U soit un optimum local.
Démonstration Supposons par exemple que f est un minimum en un point u. Soit h un vecteur
fixé et g(t) = f (u + th). g doit être minimale en 0. Donc, pour t > 0, (g(t) − g(0))/t > 0 et
g(t) − g(0)
lim = g 0 (0) > 0, (14.4)
t→0 h
et de même, pour t < 0, (g(t) − g(0))/t < 0 et
g(t) − g(0)
lim = g 0 (0) < 0. (14.5)
t←0 h
Donc finalement, f 0 (u)h = g 0 (0) = 0. Cette relation étant vérifiée pour tout h fixé, on a f 0 (u) =
0.
Dans le cas où le domaine de définition de f n’est pas forcément un ouvert, on a une condition
nécessaire d’optimalité plus générale :
De la même façon que le développement de Taylor au premier ordre permet d’exprimer une condi-
tion nécessaire d’optimalité, le développement de Taylor au second ordre permet de compléter
ce résultat pour les fonctions deux fois dérivables, en précisant le caractère minimal ou maximal
de l’optimum considéré.
Notons que la condition nécessaire du théorème 16 n’est pas suffisante, comme on peut le voir
par exemple pour la fonction f : R → R, f (v) = v 3 au point v = 0.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 88
Remarque On voit que la deuxième partie de l’énoncé est rendue nécessaire car la condition
(14.7) n’est plus valable pour α = 0. En effet, il suffit pour s’en convaincre de considérer la
fonction f : R → R, f (v) = v 4 en 0.
L’objectif est ici de rappeler les définitions et propriétés de base associées à la convexité et
montrer qu’elles permettent de préciser le caractère global d’un optimum. Ce caractère glo-
bal d’optimaux locaux constitue probablement la propriété la plus remarquable des fonctions
convexes.
14.4.1 Définitions
Définition 3 On dit qu’un ensemble U est convexe si pour x, y ∈ U le segment [x, y] est dans
U , c’est à dire que
∀ x, y ∈ U, ∀α ∈ [0, 1], αx + (1 − α)y ∈ U. (14.9)
Les sous espaces vectoriels et les boules ouvertes ou fermées sont des exemples d’ensembles
convexes.
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 89
Notons que la définition de la convexité d’une fonction est généralement associée (comme s’est
ici le cas pour notre définition) à la convexité de son ensemble de définition. C’est en effet dans
ce cadre que les propriétés des fonctions convexes sont les plus riches.
On dit que f est concave si −f est convexe. Les résultats suivants permettent de caractériser la
convexité pour des fonctions une ou deux fois dérivables.
Les théorèmes suivant permettent de caractériser la convexité des fonctions à partir de propriétés
de leurs dérivées première et seconde.
Ce théorème indique que le graphe d’une fonction convexe se trouve au dessus des tangeantes
en chacun de ses points.
Notons que la réciproque de la dernière implication est fauss, comme on l’a vu dans l’exemple
de la remarque à la fin du paragraphe 14.3 (prendre par exemple f : R → R, f (v) = v4 , en
v = 0).
Les diverses propriétes des fonctions convexes énoncées plus haut permettent de vérifier la
convexité d’une fonction donnée. Notons qu’il n’est pas toujours aisé de vérifier qu’une fonc-
tion est effectivement convexe. On pourra démontrer la convexité des fonctions suivantes à titre
d’exercice.
Dans le cas des fonctions convexes, l’inégalité d’Euler f 0 (u)d ≥ 0, pour toute direction admissible
d devient simplement
f 0 (u)(v − u) ≥ 0, ∀v ∈ U. (14.14)
De plus, le théorème suivant montre le fait remarquable que dans le cas convexe le caractère
nécessaire de cette condition d’optimalité est également suffisant. Le caractère suffisant ne
nécessite pas ici de faire intervenir explicitement de condition du second ordre. Cela est bien
compréhensible car les conditions suffisantes d’optimalité du second ordre décrites au pagraphe
14.3 sont implicitement satisfaites par la convexité de la fonction f d’après le théorème (19).
Le caractère global des optima locaux dans le cas convexe est également mis en évidence par le
théorème suivant :
— Si f est strictement convexe, elle admet un minimum au plus, et c’est alors un minimum
strict.
On va maintenant s’intéresser à des fonctions convexes particulières que sont les fonctions qua-
dratiques coercive et leurs extensions que constituent les fonctions elliptiques. Les fonctions
elliptiques présentent l’avantage de pouvoir être optimisées aux moyens d’algorithmes d’optimi-
sation itératifs généraux qui seront décrits au chapitre suivant.
Fonctions quadratiques
Soit f (v) = (1/2)vT Av − vT b, avec A est définie positive, c ’est à dire que ∃α > 0, A ≥ αI.
Alors, il est clair que f est strictement convexe puisque ∇2 f = A > 0. f admet donc un minimum
global unique.
Fonctions elliptiques
Définition 5 Une fonction f : U → R, avec U convexe, est dite elliptique si f est continuement
dérivable
∃α > 0, ∀u, v ∈ U, (∇f (v) − ∇f (u))T (v − u) ≥ α k v − u k2 . (14.15)
Bien entendu, la fonction quadratique f (v) = (1/2)vT Av − vT b, avec A > 0 est elliptique.
Notons que parfois cette définition ne suppose pas la convexité de U , que l’on rajoute alors
comme hypothèse dans le théorème suivant qui montre que l’ellipticité est une propriété très
forte, impliquant en particulier la convexité :
Théorème 21 1. Si f est elliptique, elle est strictement convexe et coercive, avec de plus
α
∃α, ∀u, v ∈ U, f (v) ≥ f (u) + ∇f (u)T (v − u) + k v − u k2 . (14.16)
2
CHAPITRE 14. OPTIMISATION SANS CONTRAINTES : CRITÈRES D’OPTIMALITÉ 92
2. Si U est non vide et fermé, et f elliptique, le problème f admet une solution unique.
3. f , deux fois dérivable, est elliptique si et seulement si
Bien entendu, du fait de sa convexité une fonction elliptique bébéficie en particulier de toutes
les propriétés dévellopées au paragraphe 14.4. Notons de plus que la propriété (14.16) est une
propriété équivalente à la propriété de convexité forte[5] qui est définie par
α
∃α, ∀u, v ∈ U, ∀θ ∈ [0, 1] f (θu+(1−θ)v) ≤ θf (u)+(1−θ)f (v)+ θ(1−θ) k v−u k2 . (14.18)
2
Chapitre 15
15.1 Introduction
uk+1 = uk + αk dk , (15.1)
Les différents algorithmes présentés ci dessous seront essentiellement caractérisés par leur direc-
tion de descente.
93
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 94
Face au problème du choix d’une direction de descente, une stratégie simple consiste à considérer
itérativement chaque axe de coordonnées comme direction de déplacement. On cherche alors à
minimiser la fonction vis à vis de chacune de ses composantes itérativement puis à répéter la
procédure jusqu’à la convergence de l’algorithme qui est obtenue lorsque la valeur du critère f
n’évolue plus.
Ainsi, à l’itération k, partant d’un point courant uk = (uk,1 , . . . , uk,n ), on calcul successi-
vement uk+1,1 = arg minv f (v, u0,2 , . . . , u0,n ), uk+1,2 = arg minv f (uk+1,1 v, u0,3 , . . . , u0,n ),. . . ,
uk+1,n = arg minv f (uk+1,1 , . . . , uk+1,n−1 , v). On réitère ensuite l’opération en partant de uk+1 =
(uk+1,1 , . . . , uk+1,n ).
On verra dans le cadre de l’optimisation sous contraintes que si U 6= Rn , ce résultat n’est plus
vrai en général.
On suppose ici que f est dérivable. Le développement au premier ordre de f conduit donc à
avec limw→0 ε(w) = 0. Il apparaı̂t donc qu’en posant w = −αk ∇f (uk ), avec k w k suffisamment
petit et αk > 0, on a f (uk + w) ≤ f (uk ), et −∇f (uk ) est bien une direction de descente. Ainsi,
on obtient la forme générale de l’algorithme du gradient qui s’écrit :
Pas optimal
k Auk − b k2
αk = . (15.6)
(Auk − b)T A(Auk − b)
Quel peut être l’intérêt de l’algorithme du gadient par rapport à une inversion directe des
équations normales ?
D’autres stratégies, moins couteuses, mais conduisant généralement à un plus grand nombre
d’itérations, consistent à choisir un pas constant ou un pas décroissant.
Lorsqu’on norme le gradient à chaque itération, on dispose d’un résultat de convergence intéressant
(voir par exemple [9]) :
Théorème 24 Pour un algorithme du gradient dont la suite des pas αk décroit vers 0, avec
X
lim αk = 0, et αk = +∞, (15.7)
k→∞
k=0,∞
∇f (uk )
uk+1 = uk − αk (15.8)
k ∇f (uk ) k
Convergence
Notons que la première condition n’est autre que la condition d’ellipticité, tandis que la seconde
énonce la caractère Lipshtzien 1 du gradient ∇f qui indique que le gradient ne doit pas varier
trop rapidement.
Voici le code d’un exemple simple où on cherche le minimum de la fonction de RosenBroeck
2 2 2
√ f (x, y) = 50 ∗ (y − x ) + (1 − x) par la méthode du gradient pour un pas décroissant
définie par
αk = 1/ k. Pour ce choix, la convergence est obtenue au bout de 5000 itérations
f = @(x,y) 50*(y-x^2)^2+(1-x)^2;
grad_f = @(x,y)[-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)];
pt = [-2; 9]; % initialisation
pt_min = [1; 1]; % point où le critère est minimum
nb_iter = 1000;
err = norm(pt-pt_min);
for k=1:10000,
x = pt(1);
y = pt(2);
g = [-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)]; % gradient du critère
pas = 1/k^0.5;
pt = pt - pas*g/(norm(g)+eps);
err = [err norm(pt-pt_min)];
end;
plot(err)
15.4.1 Principe
sera optimale au point v tel que ∇f˜(v) = 0, c’est à dire pour ∇f (u) + ∇2 f (u)T (v − u) = 0. En
posant uk = u et uk+1 = v, on obtient l’expression de l’algorithme de Ne wton :
Pour rester dans les conditions de validité de l’approximation quadratique, c’est à dire pour
assurer que k uk+1 − uk k reste petit, on utilise souvent l’algorithme sous la forme uk+1 = uk −
αk [∇2 f (u)]−1 ∇f (u), avec 0 < αk < 1. Notons que pour pouvoir mettre en oeuvre l’algorithme
de Newton, il faut que f soit deux fois dérivable et que ∇2 f (u) soit inversible.
f = @(x,y) 50*(y-x.^2).^2+(1-x).^2;
grad_f = @(x,y)[-200*x*(y-x^2)-2*(1-x); 100*(y-x^2)];
hess_f = @(x,y)[-200*(y-x^2)+400*x^2+2 -200*x; -200*x 100];
pt = [-2; 9]; % initialisation
pt_min = [1; 1]; % point o le critre est minimum
err = norm(pt-pt_min);
nb_iter = 10;
for k=1:nb_iter,
x = pt(1);
y = pt(2);
pt = pt - inv(hess_f(x,y))*grad_f(x,y);
err = [err norm(pt-pt_min)];
end;
plot(err)
Supposons que Rn = R et posons g(u) = f 0 (u). L’algorithme de Newton s’écrit alors uk+1 =
uk − [g 0 (u)]−1 g(u). Un simple graphique montre clairement que uk+1 représente l’intersection
avec l’axe des x de la tangente au graphe de g au point (uk , g(uk )).L’algorithme de Newton
permet donc la recherche itérative d’une racine de l’équation g(u) = 0. C’est pourquoi les
algorithmes de Newton sont présentés soit comme des algorithmes de recherche de la solution
d’une équation, soit comme des algorithmes de recherche du minimum d’une fonction.
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 98
Exemple [6] Pour g(x) = x2 −1/4, la convergence de la méthode des approximations successives
n’est assurée que pour x0 ∈ [−1/2, 3/2]. Plus précisémment, ] − 1/2, 3/2[ représente le bassin
d’attraction de la racine 1/2 et {−1/2, 3/2} le domaine d’attraction de la racine −1/2.
Des conditions de convergence de l’algorithme (15.14) portant sur la séquence des matrices
(Ak )k≥0 pourront être trouvées par exemple dans [6].
15.4.4 Convergence
Pour décrire la convergence les diverses variantes de la méthode de newton dans un même
formalisme, on considére des algorithmes de la forme
avec Ak (x) inversible ∀x ∈ O. On indique ici des conditions suffisantes de convergence d’un tel
algorithme.
βk
k xk − a k≤ k x1 − x 0 k . (15.16)
1−β
(1/2)
sup k Ak − A k< , (15.17)
k≥0 k A−1 k
xk+1 = xk − A−1
k ∇f (xk ) (15.18)
soit contenue dans B(a, r) et converge vers a. De plus, a est la seule racine de ∇f = 0 dans
B(a, r). La convergence est géométrique :
∃β < 1, k xk − a k≤ β k k x0 − a k . (15.19)
f (xk+1 ) = f (xk ) − ∇T f (xk )[Ak (xk0 )]−1 ∇f (xk )+ k xk+1 − xk k ε(xk+1 − xk ), (15.20)
avec limx→0 ε(x) = 0. On voit donc que si on peut négliger les termes du second ordre, −[Ak ]−1 ×
∇f (xk ) est une direction de descente dès lors que ∇T f (xk )[Ak ]−1 ∇f (xk ) > 0. Il suffit pour cela
que la matrice Ak soit positive. Or, outre le coût de calcul de ∇2 f , la matrice hessienne peut,
dans le cas général, ne pas être positive à chaque itération. Une façon pratique de corriger ce
problème consiste à remplacer ∇2 f (xk ) par ∇2 f (xk )+k I, avec k > 0 tel que ∇2 f (xk )+k I > 0.
Pour tester la positivité de la matrice Ak = ∇2 f (xk ) + k I, on peut augmenter k tant que la
factorisation de Choleski ne peut pas être calculée. On a vu en effet dans la première partie,
consacrée à l’analyse numérique, que cette factorisatin n’était définie que pour des matrices
positives. De plus, la connaissance de la factorisation ∇2 f (xk ) + k I = LLT , avec L triangulaire
permet le calcul aisé de la direction de descente dk = −[Ak ]−1 ∇f (xk ), car il suffit alors de
résoudre le double système triangulaire d’équations linéaires LLT dk = −∇f (xk ).
On considère pour terminer ce chapitre une technique populaire de minimisation qui consiste à
utiliser plus d’information sur f pour calculer la direction de descente qu’avec la méthode du
gradient, sans pour autant être conduit au coût élevé de la méthode de Newton, qui nécessite
le calcul du hessien et son inversion. A partir du point courant uk , on cherche ici uk+1 tel que
f (uk+1 ) = minv∈Gk f (uk + v), avec
X
Gk = { αi ∇f (ui ); α1 , . . . , αk ∈ R}. (15.21)
i=1,k
CHAPITRE 15. ALGORITHMES D’OPTIMISATION SANS CONTRAINTES 100
Pour une fonction quadratique elliptique f (v) = (1/2)vT Av − bT v, on peut vérifier que uk+1 =
uk − ρk dk , avec
dT ∇f (uk )
ρk = k T
dk Adk
(15.22)
k ∇f (uk ) k2
et dk = ∇f (uk ) + dk−1 .
k ∇f (uk−1 ) k2
Dans le cas général, pour une fonction f non nécesairement quadratique, on préfère souvent
utiliser la méthode de gradient conjugué de Polak et Ribière pour laquelle
Le théorème des fonctions implicites [2, 6] joue un rôle important dans la justification
de l’introduction du Lagrangien qui sera présenté un peu plus loin et constitue un outil de
base pour l’étude des conditions nécessaires et suffisantes des problèmes d’optimisation sous
contraintes d’égalité ou d’inégalité.
Soit g : Rn → Rm . On cherche ici à savoir si étant donné un point a = (a1 , a2 ), avec f (a1 , a2 ) =
b, il existe un voisinage Va1 × Va2 de ce point tel que la courbe de niveau g(x1 , x2 ) = b sur ce
voisinage soit paramétrée par une fonction h telle que x2 = h(x1 ) ; C’est à dire que pour tous
les couples (x1 , x2 ) de ce voisinage tels que g(x1 , x2 ) = b, on ait x2 = h(x1 ).
On considère dans la suite deux ensembles de fonctions dérivables {f1 , . . . , fm } et {fm+1 , . . . , fm+p }
et on notera f e = (f1 , . . . , fm )T et f i = (fm+1 , . . . , fm+p )T les vecteurs de fonctions associés res-
101
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ102
L’ensemble V = {x; f1 (x) = 0, . . . , fm (x) = 0}, où les fonctions fk sont de classe C 1 est appelé
variété différentielle. et on définira la notion de point régulier comme suit
Définition 7 L’espace tangent à V au point u est l’espace engendré par les tangentes en u aux
courbes dérivables de V passant par u.
Preuve Soit v un vecteur du plan tangent au point u. Il existe une courbe x(t), t ∈ R telle que
x(0) = u et x0 (0) = v. Comme f e (x(t)) = 0, [f e (x(t))]0 = (f e )0 (x(t))x0 (t) = 0. En particulier,
pour t = 0, on obtient (f e )0 (u)v = 0, soit v ∈ Ker((f e )0 (u)).
Réciproquement, soit v ∈ Ker((f e )0 (u)). Montrons que v appartient au plan tangent à V en u.
Soit
g : R × Rm → Rm ; t × w 7→ g(t, w) = f e (u + tv + ∇f e (u)w). (16.4)
Notons que g(0, 0) = f e (u) et que ∇w g(t, w)|(t,w)=(0,0) = [∇f e (u)]T ∇f e (u). Comme u est un
point régulier, la matrice [∇f e (u)]T ∇f e (u) est inversible. On peut donc appliquer le théorème
des fonctions implicites : il existe une fonction w(t) définie sur un voisinage de 0, sur lequel on
a g(t, w(t)) = g(0, 0) = 0.
Posons maintenant
u(t) = u + tv + ∇f e (u)w(t). (16.5)
Comme g(t, w(t)) = f e (u(t)) = 0,
d e
f (u(t))|t=0 = [∇f e (u)]T [v + ∇f e (u)ẇ(0)] = 0. (16.6)
dt
Donc, ẇ(0) = [(∇f e (u))T ∇f e (u)]−1 [∇f e (u)]T v. Mais, comme v ∈ Ker((f e )0 (u)), [∇f e (u)]T v =
0 et donc ẇ(0) = 0. Par suite, u̇(t)(0) = v, ce qui montre que v appartient au plan tangent à
V en u puisque u(t) est une courbe de V dérivable sur un voisinage de u(0) = u.
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ103
Dans le cas où on est en présence de contraintes d’égalité f e (x) = 0 et d’inégalité f i (x) ≤ 0, la
notion de point régulier est définie de façon plus générale que précédemment. En effet, pour les
contraintes de la forme f i (x) ≤ 0, en un point u fixé l’égalité peut être atteinte pour certaines
des composantes de f i , auquel cas on dira que les contraintes sont actives, ou encore saturées,
et on aura une inégalité stricte pour les autres équations de contrainte de f i (x). Dans ce dernier
cas, on voit que le point u apparaı̂t comme un point intérieur vis à vis des contraintes inactives
en ce point, ce qui conduira a prendre en compte cette particularité dans la description des
conditions d’optimalité, en particulier en modifiant la définition de la régularité en présence de
contraintes d’inégalité.
des indices des contraintes d’inégalité actives. La régularité d’un point est alors définie comme
suit
Définition 8 On dira qu’un point u ∈ {x; f e (x) = 0, f i (x) ≤ 0} est un point régulier si
l’ensemble des vecteurs {∇fi (u); i ∈ {1, . . . , m} ∪ A(u)} est une famille libre.
Un résultat important réside dans le fait que si un point u estune solution du problème (16.8),
alors le gradient de f en ce point doit être orthogonal au plan tangent. Cela ce traduit par le
théorème suivant :
Preuve Considérons le plan tangent à V au point régulier u. Pour tout vecteur v de cet hyper-
plan, on peut construire sur V une courbe y(t) de tangente v au point u. La condition d’opti-
d
malité dt f (y(t))|t=0 = ∇f (u)T v = 0 montre que ∇f (u) est orthogonal à l’hyperplan tangent,
et donc appartient à l’espace engendré par les vecteurs colonnes de ∇f e (u), d’après le théorème
30. Puisque ∇f (u) est dans l’espace image de la matrice ∇f e (u), il existe une vecteur d ∈ Rm
tel que ∇f (u) = ∇f e (u)d et en posant λ = −d, on obtient finalement ∇f (u) + ∇f e (u)λ = 0.
(16.12)
U = {v ∈ Rn ; Cv = d},
où A est une matrice symétrique (AT = A), la condition nécessaire d’optimalité (16.9) s’écrit
A CT
u b
= . (16.13)
C 0 λ d
∃λ ⊂ Rm , ∇u L(u, λ) = 0
(16.15)
∀v ∈ Ker((f e )0 (u)), vT [∇2u L(u, λ)]v ≥ 0.
Preuve Soit x(t) une courbe de V = {v; f e (v) = 0}, avec x(0) = u et = ẋ(0) = v. La condition
nécessaire du second ordre pour l’optimisation sans contrainte montre que l’on doit avoir
d2 d
2
[f (x(t))]t=0 = [(ẋ(t))T ∇f (x(t))]t=0 = vT ∇2 f (u)v + [ẍ(0)]T ∇f (u) ≥ 0. (16.16)
dt dt
En dérivant par ailleurs deux fois la relation λT f e (x(t)) en 0, on obtient
d2 T e d dx X
2
[λ f (x(t))]t=0 = [( )T ∇f e (x(t))λ]t=0 = vT λi ∇2 fi (u) + [ẍ(0)]T ∇f e (u)λ ≥ 0.
dt dt dt
i=1,m
(16.17)
En additionnant les relations (16.16) et (16.17) et en prenant en compte la relation ∇u L(u, λ) =
0, déjà établie dans le théorème 31, on obtient directement la relation vT [∇2u L(u, λ)]v ≥ 0.
Comme pour le cas non contraint, la condition nécessaire de positivité de la matrice hessienne
devient là encore une condition suffisante dès lors qu’on peut en assurer la positivité stricte. Ici
comme pour la condition nécessaire ce dessus il s’agit de la positivité du hessien du lagrangien
restreinte au sous espace tangent.
Preuve On va faire une démonstration par l’absurde. Si u satisfait aux hypothèses du théorème
mais n’est pas un minimum local strict, il existe une suite (uk )k≥1 de V qui converge vers u et
telle que f (uk ) ≤ f (u). On pose uk = u + ρk dk , avec k dk k= 1. La suite (dk )k≥1 étant bornée,
elle admet une sous suite convergente. Pour simplifier les écritures et sans perte de généralité,
on pourra supposer ici que la suite (dk )k≥1 est elle même convergente vers une certaine valeur,
notée d. On considère ici les formules de Taylor du second ordre appliquées aux fonctions f et
(fi )i=1,m et données par
ρ2k T 2
0 = fi (uk ) − fi (u) = ρk ∇fi (u)T dk + d [∇ fi (u)]dk + ρ2k εi (ρk )
2 k
(16.19)
ρ2k
0 ≥ f (uk ) − f (u) = ρk ∇f (u)T dk + dTk [∇2 f (u)]dk + ρ2k ε(ρk )
2
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ106
avec limρ→0 εi (ρ) pour i = 0, 1, . . . , m. En multipliant les premières relations par les coefficients
λi correspondants, en les additionnant à la dernière relation, et en prenant enP compte la relation
∇u L(u, λ) = 0, il vient que dTk ∇2u L(u, λ)dk + ε(ρk ) ≤ 0, avec ε(ρ) = ε0 (ρ) + i=1,m λi εi (ρ). En
passant à la limite, il vient que limk→∞ dTk ∇2u L(u, λ)dk + ε(ρk ) = dT ∇2u L(u, λ)d ≤ 0.
Notons maintenant que [fi (uk ) − fi (u)]/ρk = ∇fi (u)T dk + α(ρk ) = 0, avec limk→∞ ρk = 0 et
limρ→0 α(ρ) = 0. Il apparaı̂t donc en passant à la limite que limk→∞ ∇fi (u)T dk = ∇fi (u)T d = 0.
Donc d ∈ Ker((f e )0 (u)) et dT ∇2u L(u, λ)d ≤ 0, ce qui contradictoire avec les hypothèses du
théorème, CQFD.
Remarque En pratique, la propriété ∀v ∈ Ker((f e )0 (u)), vT [∇2u L(u, λ)]v > 0 peut être vérifiée
en considérant une base {v1 , . . . , vn−m } de l’espace tangent à V au point u et en construisant la
matrice V = [v1 , . . . , vn−m ] puis la matrice VT ∇2u L(u, λ)V dont il suffit alors de tester la positi-
vité des valeurs propres. En effet, l’espace tangent s’écrit encore {Vα; α ∈ Rn−m } et la positivité
de la restriction de ∇2u L(u, λ) à cet espace s’écrit donc ∀α ∈ Rn−m −{0}, αVT ∇2u L(u, λ)Vα > 0,
soit VT ∇2u L(u, λ)V > 0.
De plus, soit il est facile de construire de façon directe une telle base V de l’orthogonal de
l’espace engendré par {∇f1 (u), . . . ∇fm (u)}, soit on peut en construire une par un procédé
systématique par exemple à partir de la matrice de projection sur Ker((f e )0 (u)). Rappelons ici
que la matrice de projection sur l’espace engendré par les colonnes d’une certaine matrice M
s’écrit M(MT M)−1 MT (voir Eq. (3.32) de la première partie de ce document). par suite, la ma-
−1 e 0
trice de projection sur Ker((f e )0 (u)) est I − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) [(f ) (u)]T . On peut
en déduire une base de Ker((f e )0 (u)) en extrayant par exemple une famille libre de dimension
maximale (n − m) de la famille des vecteurs
−1 e 0
vk = I − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) [(f ) (u)]T ek
−1 (16.20)
= ek − (f e )0 (u) [(f e )0 (u)]T (f e )0 (u) ∇fke (u),
Exemple
min(x,y) x2 + y 2 − xy
(16.21)
x2 + y 2 − 4x − 4y + 6 = 0
Les solutions des conditions du premier ordre sont donc (x, y, λ) = (1, 1, −1/2), (x, y, λ) =
(3, 3, −1/2) et (x, y, λ) = (3, −3, −3/2). La matrice hessienne s’écrit pour λ = −1/2
2 2(1 + λ) −1 1 −1
∇(x,y) L(x, y, λ) = = (16.23)
−1 2(1 + λ) −1 1
qui est positive, les valeurs propres valant 0 et 2. Le gradient de la fonction de contrainte vaut
(2x − 4, 2y − 4)T . Il est donc colinéaire à (1, 1)T pour x = y et l’espace tangent est engendré
par le vecteur (1, −1)T .Comme (1, −1)T est le vecteur propre associé à la valeur propre nulle,
la condition suffisante du second ordre n’est pas vérifiée ici. De même, pour λ = −3/2, la
matrice hessienne a tous ses termes égaux à -1 et ses valeurs propres sont 0 et -2 ; Les conditions
suffisantes du second ordre ne sont donc pas vérifiées ici non plus.
Finalement, il apparaı̂t que les conditions nécessaires du premier ordre sont satisfaites pour (x, y)
égal à (1, 1), (3, 3) ou (3, −3). Pour ces trois couples, le critère à optimiser vaut respectivement
1, 9 et 27. Donc seul le point (1, 1) peut représenter le minimum global du problème. (1, 1) est
effectivement la solution du problème d’après le théorème de Weierstrass (le critère est continu
et la contrainte qui est une ellipse est bien un ensemble compact).
Preuve Pour les contraintes inactives, on a fk (u) < 0 et on fixe µk = 0. Ainsi, on a bien
f i (u)µ = 0. D’après le théorème 31, on a alors également
∃λ ∈ Rm , ∃µ ∈ Rp , ∇f (u) + ∇f e (u)λ + ∇f i (u)µ = 0. (16.26)
Il reste à vérifier la positivité des composantes de µk pour k ∈ A(u). Effectuons une démonstration
par l’absurde en supposant qu’il existe k ∈ A(u) tel que µk < 0, Notons V−k (u) = {v; f e (v) =
0, j ∈ A(u) − {k} ⇒ fji (v) = 0}. Comme u est un point régulier, ∇fk (u) n’appartient pas à l’es-
pace normal au plan tangent au point u à la variété V−k (u), défini par {v; [∇fj (u)]T v = 0, j ∈
{1, . . . , m} ∪ (A(u) − {k})}. Il existe donc un vecteur v de ce plan tangent tel que ∇fk (u)T v < 0.
Comme ∇fj (u)T v = 0 pour j ∈ {1, . . . , m} ∪ (A(u) − {k}) et µj = 0 pour j ∈ / A(u), on trouve
que
[∇f (u) + ∇f e (u)λ + ∇f i (u)µ]T v = ∇f (u)T v + µk ∇fk (u)T v = 0. (16.27)
Mais, puisque ∇fk (u)T v < 0 et µk < 0, on doit alors avoir ∇f (u)T v < 0. En utilisant le
théorème des fonctions implicites, on peut alors construire une courbe x(t) de V−k (u), et donc
de l’ensemble des contraintes, avec t ≥ 0, telle que x(0) = u et ẋ(0) = v. On aurait alors
d
l’inégalité dt f (x(t)) = ∇f (u)T v < 0, qui est contraire à l’hypothèse de minimalité locale de u,
CQFD.
Condition nécessaire
D’après le paragraphe précédent, il est clair que le théorème de condition nécessaire du second
ordre présenté dans le cas de contraintes d’égalité s’étend directement au cas de contraintes
d’inégalité en intégrant à la condition les contraintes d’inégalité actives, ce qui conduit au
théorème suivant :
f i (u)µ = 0.
(16.28)
Ici, le lagrangien L(u, λ, µ) est défini par L(u, λ, µ) = f (u) + f e (u)T λ + f i (u)T µ, et son hessien
est donné par
X X
∇2u L(u, λ, µ) = ∇2u f (u) + λk ∇2u fke (u) + µk ∇2u fki (u). (16.29)
k=1,m k=1,p
Remarques
i) Il se peut que pour une solution (u, λ, µ) des conditions de Khun et Tucker une contrainte
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ109
d’inégalité fk (u) ≤ 0 soit active, c’est à dire que fk (u) = 0, et que simultanément on ait µk = 0.
2
ii)
Pour traduire
T
la positivité de la matrice ∇u L(u, λ, µ) pour les vecteurs de l’espace E(u) =
v ∇fk (u) v = 0, k ∈ {1, . . . , m} ∪ A(u) , il suffit de définir une base {v1 , . . . , vl } de cet es-
pace et la matrice V dont les colonnes sont constituées de ces vecteurs : V = [v1 . . . vl ].
On pourra alors montrer à titre d’exercice que la positivité (resp. la positivité stricte) de
∇2u L(u, λ, µ) restreinte à E(u) est équivalente à la positivité (resp. la positivité stricte) de la
matrice VT [∇2u L(u, λ, µ)]V. Cette propriété est utile en pratique pour vérifier la condition suf-
fisante énoncée ci dessous.
Condition suffisante
f i (u)µ = 0.
(16.30)
alors u est un minimum local strict du problème (16.24).
Preuve On pourra faire la démonstration à titre d’exercice en reprenant, avec des notations
analogues, la démonstration par l’absurde du théorème 33.
Considérons le problème
min f (x)
(P ) (16.31)
f i (x) ≤ 0.
Le lagrangien L(u, µ) est une fonction de Rn × Rp dans R. On dit que (u, µ) est un point selle
de L si v → L(v, µ) a un minimum en u et si ν → L(u, ν) a un maximum en µ.
2. Si f et (fki )i=1,p sont convexes et dérivables en un point régulier u qui est un minimum
local du problème (16.31), alors ∃µ ∈ Rp+ , (u, µ) est un point selle de L.
(D) ν ∈ Rp+ , G(µ) = sup G(ν), avec G(µ) = inf L(v, ν). (16.34)
ν∈Rp+ v
1 T
Exemple. f (v) = 2 v Av − vT b, et U = {v; Cv ≤ d}, C ∈ Rm × Rn . On a les relations
suivantes
L(v, µ) = 21 vT Av − vT (b − CT µ) − µT d
uµ = A−1 (b − CT µ)
(16.35)
G(µ) = − 12 (b − CT µ)A−1 (b − CT µ) − µT d
CA−1 CT ≥ 0.
Donc −G(µ) admet un minimum, unique si C est de rang p, qui annule
Dans ce paragraphe, on montre avec deux exemples simples comment on peut obtenir une
solution avec le language Sage (http ://www.sagemath.org/) qui au travers d’une interface de
programmation basée sur le langage Python (http ://www.python.org) permet d’accéder à de
très nombreuses librairies de calcul mathématiques. Le but de Sage est de fournir les possibilités
de langages payants de calcul formels tels que Mathematica ou Mapple, ou de calcul algébrique
tels que Matlab, avec l’accès au code source des fonctions qui permet la vérification approfondie
des codes employés.
Notons que pour les exemples ci dessous, on pourrait aussi utiliser la librairie sympy libre-
ment disponible sous python (www.sympy.org) qui fait partie de la pile logicielle scipy (voir
www.scipy.org) et constitue un ensemble de ressources intéressantes pour le calcul scientifique
# optimiser f(x,y) = xy
# sous la contrainte h(x,y)=(x/a)^2 + (y/b)^2-1=0
#----------------------------------------
# Déclaration des paramètres et fonctions
#----------------------------------------
a, b, x, y, lam = var(’a, b, x, y, lam’)
assume(a>=0,b>=0,x>= 0)
f(x,y) = x*y
h(x,y) = x^2/a^2 + y^2/b^2-1
# Résolution
#-----------
L(x,y) = f(x,y) + h(x,y) * lam
DL = L(x,y).gradient([x, y])
sol = solve([DL[k] == 0 for k in range(len(DL))]+[ h == 0],x, y, lam,
solution_dict=True)
# visualisation des solutions
html.table([["$\lambda$","$x$", "$y$", "$f(x, y)$"]] + [(sol[j]
[lam],sol[j][x], sol[j][y],f(x=sol[j][x], y=sol[j][y])) for j in
range(4)], header = True)
CHAPITRE 16. OPTIMISATION SOUS CONTRAINTES : CRITÈRES D’OPTIMALITÉ112
Ce chapitre, en cours de rédaction, présente quelques techniques d’optimisation pour les problèmes
contraints.
Une première idée consiste, pour les problèmes contraints, à chercher à généraliser les techniques
développées pour les problèmes non contraints.
L’extension du théorème à des ensembles plus généraux n’est pas immédiate (considérer par
exemple le cas où f (v) = v12 + v22 , et U = {(v1 , v2 ); v1 + v2 ≥ 2}).
Le théorème de projection est un outil d’usage courant pour l’optimisation dans les espaces de
Hilbert. Rappelons qu’un espace de Hilbert H est un espace vectoriel normé complet (c’est à
dire tel que toute suite de Cauchy y est convergente) muni d’un produit scalaire. Dans un tel
espace, on a le résultat fondamental suivant appelé théorème de projection. On en donne ici
un énonc{e retreint à Rn .
114
CHAPITRE 17. OPTIMISATION SOUS CONTRAINTES : ALGORITHMES 115
∀y ∈ U, yT (xP x) = 0. (17.3)
et a, b > 0 tels que 0 < a < ρk ≤ b < (2α/M 2 ), la méthode du gradient projeté converge et
∃β < 1, k uk − u k≤ β k k u0 − u k . (17.5)
Les méthodes de point intérieur visent à remplacer les contraintes du critère par un terme additif
qui tend vers l’infini à la frontière du domaine des contraintes lorsqu’on augmente un paramètre
de réglage d’adéquation aux contraintes que l’on notera ici t. Ainsi, au problème
minx f (x)
(17.6)
i
f (x) ≤ 0, i = 1, . . . , p,
où ψ(z) est une fonction décroissante sur R+ qui présente une divergence en 0. En pratique,
on cherchera à minimiser itérativement cette fonction tout en faisasnt croı̂tre la valeur de t.
Typiquement, on prendra ψ(z) = log z.
La méthode de point intérieur constitue une technique de pénalisation interne qui conduit à
des algorithmes itératifs qui doivent être initialisés à l’intérieur du domaine des contraintes.
CHAPITRE 17. OPTIMISATION SOUS CONTRAINTES : ALGORITHMES 116
On peut aussi envisager des méthodes de pénalisation externe qui consistent à remplacer
les contraintes d’inégalité par une fonction nulle dans le domaine des contraintes et strictement
positive à l’extérieur. Indiquons ici un résultat de convergence pour une telle méthode.
Notons qu’à la différences des méthodes de points intérieur, la construction pratique de la fonc-
tion ψ peut s’avérer délicate pour une pénalisation externe.
Notons P+ la projection sur Rm+ : [P+ µ]i = max{µi , 0}. Le problème dual (D) peut être résolu
par la méthode du gradient projeté :
Notons uµ = arg minv [f (v)+ i=1,p µi f i (v)]. La méthode d’Uzawa consiste à calculer itérativement,
P
à partir de µ0 fixé, uk = uµk , puis µk+1 par la relation (17.10). On remplace ainsi le problème
contraint par une suite de problèmes non contraints.
uk = A−1 (b − CT µk )
Programmation linéaire
18.1 Le problème
On cherche à résoudre le problème d’estimation d’une fonction linéaire sous des contraintes
linéaires de type égalité ou inégalité :
P P
Pmax j=1,n cj xj max j=1,n+m cj xj
P
(I) j=1,n A ij x j ≤ b i , i = 1, m ⇔ j=1,n+m Aij xj = bi , i = 1, m
≥ 0 i = 1, n xi ≥ 0 i = 1, n + m
x i
(18.1)
max z = cx
maxx∈U z = cx
⇔ Ax = b ⇔
U = {x ∈ Rm+n ; Ax = b, x ≥ 0}
x≥0
où on a posé, pour j > 0 Aij = δi,n+i . U est un polytope convexe, c’est à dire un sous ensemble
convexe de Rm+n dont la frontière est définie par un nombre fini d’hyperplans. U a un nombre
fini de points extrèmes, c’est à dire de points qui ne se trouvent pas sur un segment ]a, b[ où a
et b appartiennent à U .
Théorème 45 Si U est non vide et borné, minx∈U cx est atteint en au moins un point extrème
de U . Si le minimum est atteint en plusieurs points extrèmes, le convexe qu’ils engendrent est
un ensemble de solutions du problème.
On peut supposer que A est de rang m (sinon le système Ax = b n’a pas de solution ou est
redondant, auquel cas on peut éliminer les équations redondantes). On appelle base une sous ma-
trice AB de de taille m extraite de A et inversible. On note xB les composantes correspondantes
de x. On a alors
z = cB xB + cB xB et Ax = AB xB + AB xB = b (18.2)
118
CHAPITRE 18. PROGRAMMATION LINÉAIRE 119
Le problème (I) se ramène donc à celui de la recherche des solutions de base réalisables optimales.
Notons A = [AB AB ] = [A1 , . . . , Am , Am+1 , . . . , Am+n ].
xB + (A−1 −1
B AB )xB = AB b, (18.3)
donc
z = cB [A−1 −1
B b − (AB AB )xB ] + cB xB
(18.4)
cB A−1 −1
P
= B b − j∈B [cB AB Aj − cj ]xj .
Notons αj = cB A−1
B Aj . On a alors le résultat suivant :
Théorème 47
A−1
[∀i ∈ B, αj − cj ≥ 0] ⇒ B b est une solution optimale. (18.5)
0
Comme la base B est réalisable et que x0s = 0 est nulle pour la nouvelle solution de base,
x0r = (A−1 −1 −1
B Ar )s (AB b)s . (18.9)
Comme la base B est réalisable, (A−1 −1
B b)s ≥ 0 et il faut que (AB Ar )s soit positif pour que xr
0
Donc,
x0i = (A−1 −1 0
B b)i − (AB Ar )i xr , i 6= r. (18.11)
r étant fixé, on choisit s tel que x0r = (A−1 −1 −1
B Ar )s (AB b)s soit minimal. comme d’après les
relations (18.9) et (18.11) on a
!−1
(A−1
B b)i
x0i = (A−1 0
B b)i 1 − xr −1
(18.12)
(AB Ar )i
et il apparaı̂t que le facteur de droite de légalité précédente est positif. De plus, xi = (A−1
B b)i ≥ 0.
POur le choix de s retenu, on assure bien la positivité de du vecteur de base x . 0
Pour la valeur de s fixée comme précédemment, cherchons r telle que B 0 soit meilleure que B.
B 0 est meilleure que B si αr − cr > 0 (αr = cB (A−1
B Ar )). En effet, d’aprés (18.4), la solution x
0
Notons que tous les xi de la solution de base sont alors positifs à chaque itération.
CHAPITRE 18. PROGRAMMATION LINÉAIRE 121
Considérons le programme
min cT x
Ax = b (18.14)
x≥0
On voit que l’existence d’un point selle (x, λ) se traduit par le fait que pour xi > 0 on doit avoir
(cT − λT A)i ≥ 0, car sinon l’augmentation de xi se traduirait par la diminution du critère ce
qui est incompatible avec la définition du point selle.
max bT x
AT λ ≤ c (18.16)
x≥0
Dans la suite, on va établir les propriétés de dualité pour les progralmes linéaires qui ont servi
à la démonstration du théorème (31). Mais auparavant, on va indiquer les liens existants entre
problème primal et problème dual.
min cT x
max bT x
(P ) : Ax = b (D) : (18.17)
AT λ ≤ c
x≥0
Proposition 4 L’ensemble des problèmes primaux coı̈ncide avec l’ensemble des problèmes duaux
CHAPITRE 18. PROGRAMMATION LINÉAIRE 122
Preuve Considérons le problème (P ), et notons que Ax = b peut se reformular comme les deux
inégalités Ax ≤ b et −Ax ≤ −b. Donc (P ) se reformule comme le programme dual suivant :
T
−c
max x
A b
−A x ≤ −b (18.19)
I 0
qui est bien la forme d’un programme primal. Donc l’ensemble des programmes primaux coı̈ncide
avec l’ensemble des programmes duaux.
Montrons enfin que le dual du programme (D) est le programme (P ). Le dual du programme
dual (D) réécrit sous la forme (18.20) est
T
max
c u
A −b
−A u ≤ b . (18.21)
I 0
Notons maintenant que si x et λ sont des valeurs réalisables (c’est à dire satisfaisant qux
contraintes) pour les problèmes (P ) et (D) respectivement, alors les conditions Ax = b, AT λ ≤ c
et x ≥ 0 conduisent aux relations
λT b = λT Ax ≤ cT x. (18.22)
Proposition 5 L’ensemble des points réalisables du dual conduit à des valeurs du critère dual
inférieures à l’ensemble des valeurs prises par le critère primal pour ses points réalisables. En
termes mathématiques, on a donc :
Cette propritété permet d’étabir le théorème suivant qui montre l’équivalence des problèmes (P )
et (D).
Théorème 48 Si l’un des problèmes (P ) ou (D) admet une solution, il en est de même pour
l’autre et les valeurs de l’optimum sont identiques. Inversement (P ) n’est pas borné inférieurement
ou (D) n’est pas borné supérieurement, alors l’autre problème n’admet pas de valeur réalisable.
Supposons donc que le problème primal admet une solution et notons z la valeur de l’optimum.
L’existence d’une valeur réalisable optimale pour le problème dual (D) qui conduirait à un
optimum égal à z peut se reformuler sous la forme
Pour montrer (18.24), notons que cette propriété se réécrit encore comme
H = (α, β) ⊂ Rm+1 ; sα + λT β = 0
(18.27)
la valeur minimale prise par le critère (P ). Pour t = 0, on aurait Ax = 0 et −cT x > 0 et donc,
pour tout vecteur y ≥ 0 tel que Ay = b, on aurait
∀α ≥ 0, y + αx ≥ 0, A(y + αx) = b, et lim cT (y + αx) = −∞, (18.29)
α→ ∞
ce qui est contradictoire avec la valeur optimale finie z de (P ). On a donc bien (1, 0) ∈
/ C.
Commençons donc par établir que [∇f e (u)]T v = 0 ⇒ ∇f (u)T v = 0. Si [∇f e (u)]T v = 0, v
appartient au plan tangent à la variété f eT (x) = 0 au point x = v. Il existe donc une courbe
t → y(t) de V = {x; f e (x) = 0}, avec y(0) = u et ẏ(0) = v. L’optimalité de u pour le problème
(18.32) entraine en particulier l’optimalité de f (y(t)) en t = 0. Donc ẏ(0) = [∇f (u)]T v =
0. Le problème (P L) admet donc une solution et la valeur optimale du critère vaut donc 0.
Comme indiqué plus haut, le problème dual admet donc au moins une valeur λ qui satisfait aux
contraintes. Pour écrire ce programme dual, commençons par remttre le problème (P L) sous
une forme standard équivalente en posant v = v1 − v2 , avec v1 ≥ 0 et v2 ≥ 0, et x = [v1T v2T ]T .
On obtient ainsi la forme
min −∇f (u) ∇f (u) x
(∇f e (u))T (−∇f e (u))T x = 0
(P L) : (18.33)
x≥0
CHAPITRE 18. PROGRAMMATION LINÉAIRE 125
Il apparaı̂t donc, en considérant les contraintes de ce problème, qu’il existe λ ∈ Rm tel que
Master SISEA
Corrigé des examens
(printemps 2006 à 2011)
126
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 127
Janvier 2010
I On veut construire une boite rectangulaire ouverte avec une surface de 192cm2 de carton.
i) Si la base doit être carrée, quelles dimensions donnent le plus grand volume ?
max V = a2 h
(A.1)
a2 + 4ah = 192cm2
a ≥ 0, h ≥ 0
Les contraintes d’ingalité devront bien sûr être√inactives. Sinon on obtiendrait V = 0 qui est le
minimum du problème (obtenu pour (a, h) = ( 192, 0)).
Les conditions nécessaires du premier ordre conduisent donc à la solution (a, h, λ) = (8, 4, −2).
Cette condition est suffisante car on cherche ici maximiser V = a2 h qui est une fonction continue
et coercive sur la courbe de de contrainte fermée {(a, h); a2 + 4ah = 192, a ≥ 0, h ≥ 0}.
D’après le théorème de Weierstrass le problème admet donc une solution qui ne peut donc être
que (a, h) = (8, 4).
Là encore le maximum est atteint lorsque les contraintes d’inégalité sont inactives. Le lagrangien
s’écrit L(a, h, λ) = abh + λ(ab + 2(a + b)h − 192) et son gradient
bh + λ(b + 2h)
∇(a,h) L(a, h, λ) = = 0. (A.4)
ah + λ(a + 2h)ab + 2λ(a + b)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 128
la différence des deux premières équations donne (b − a)(h + λ) = 0. Si λ = −h, bh + λ(b + 2h) =
0 = −2h2 et le volume serait nulle. Donc a = b et le problème est équivalent à celui de la question
précédente. La solution est encore (a, b, h) = (8, 8, 4)cm.
Le lagrangien s’écrit
1
L(x, y, µ) = x2 + y 2 + µ1 (2 − 2x − y) + µ2 (x − y − 1)
2
avec µi ≥ 0 (i = 1, 2), et les conditions de Khun et Tucker sont données par
x − 2µ1 + µ2
=0
2y − µ1 − µ2
(A.6)
µ (2 − 2x − y) =0
1
µ2 (x − y − 1) =0
Le point (x, y) = (8/9, 2/9) est donc le point qui parmi ceux qui assurent les conditions
nécessaires de Khun et Tucker conduit à la valeur minimale du critêre. La condition nécessaire
est ici suffisante car en tout point
2 1 0
∇ L= > 0. (A.7)
0 2
III Trouvez l’optimum du problème suivant en passant par les conditions de Khun et Tucker :
miny ni=1 yi
P
(A.8)
Πn y = 1
i=1 i
yi ≥ 0 i = 1, . . . , n.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 129
Notons que les contraintes yi ≥ 0 ne peuvent pas être actives puisqu’on doit avoir Πni=1 yi = 1.
On va donc chercher simplement à résoudre le problème sans les contraintes d’ingalité en se
restreignant ensuite aux solutions positives. Le lagrangien s’écrit alors
∇2y L = (Πni=1 yi ) diag(1/y12 , . . . , 1/yn2 ) − [1/y1 , . . . , 1/yn ]T [1/y1 , . . . , 1/yn ] = I − 1I1IT (A.11)
Le gradient de Πni=1 yi −1 au point (1, . . . , 1) est le vecteur 1I et tout vecteur v de l’espace tangent
à la contrainte en ce point vérifie donc vT 1I = 0. Il en résulte que vT (∇2y L)v = vT (I − 1I1IT )v =k
v k2 . La restriction du hessien du lagrangien au point (1, . . . , 1) est donc strictement positive,
ce qui établit que la condition nécessaire d’annulation Pn du lagrangien en ce point est également
suffisante. Finalement, la valeur du minimum est i=1 = n.
L’inégalité est clairement vérifiée si un des xi est nul. Maintenant, si tous les xi sont non nuls,
en posant n 1/n n
Pn yi = xi /(Πj=1 xj ) , comme Πi=1 yi = 1, il est clair d’après la question précédente
que i=1 yi ≥ n, ce qui conduit immédiatement au résultat désiré.
La contrainte d’égalité ne pourrait pas être satisfaite si un des nombres x, y ou z était nul.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 130
ii) Trouver la solution en passant par la méthode des multiplicateurs de Lagrange et justifiez
votre réponse.
Puisque les contraintes de positivité ne sont pas actives, le problème se résume à la recherche
des solutions positives parmi les solutions du problème d’optimisation sous la seule contrainte
d’égalité. Le lagrangien s’écrit alors
a b c
L(x, y, z, λ) = x + y + z + λ ( + + − 1) (A.14)
x y z
et son gradient est
∇xyz L(x, y, z, λ) = 1I − λ [a/x2 , b/y 2 , c/z 2 ]T . (A.15)
En considérant
p les conditions nécessaires du premier ordre ∇L = 0, on trouve donc que λ > 0 et
√ √ √
(x, y,√z) = (λ)(√ a, b, c). En réinjectant ces valeurs dans l’équation de contrainte, on trouve
√ √
que λ = a + b + c. La matrice hessienne en ce point vaut
La condition suffisante est donc également satisfaite et la solution du problème est obtenue en
√ √ √ √ √ √
(x, y, z) = ( a + b + c)( a, b, c) (A.17)
√ √ √
et en ce point, le critêre vaut x + y + z = ( a + b + c)2 .
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 131
Janvier 2009
I Trouver la solution de
min (x + y − z − 1)2 + (x + y)2 + 5x2
(A.18)
2x + z = 0
Le gradient de f est
15x + 4y − 3
∇f (x, y) = 2 . (A.20)
4x + 2y − 1
L’annulation du gradient conduit à (x, y) = (1/7, 3/14). De plus, la matrice hessienne de f vaut
2 15 4
∇ f (x, y) = 2 . (A.21)
4 2
La trace et le déterminant de cette matrice valent respectivement 17 et 14 et correspondent à la
somme et au produit de ses valeurs propres, qui sont donc positives. Donc la matrice ∇2 f (x, y)
est positive en tout point (x, y) et f est convexe. (x, y) = (1/7, 3/14) réalise donc le minimum
(global strict) de f . On en déduit z = −2x = −2/7.
Le lagrangien s’écrit
En tout point, le gradient de 2x + z est u = [2, 0, 1]T . Donc l’espace tangent à la contrainte
est engendré par les vecteurs v = [0, 1, 0]T et w = [1, 0, −2]T . Pour vérifier que la restiction de
∇2xyz L(x, y, z, λ) l’espace tangent la contrainte est positive, il est équivalent de montrer que la
matrice
7 2 −1 0 1
0 1 0 2 4
[v w]T ∇2xyz L(x, y, z, λ)[v w] = 2 2 −1 . 1 0 = (A.25)
1 0 −2 4 15
−1 −1 1 0 −2
est positive, ce qui est le cas d’après la question précédente (trace=17, déterminant=14). Le
minimum est donc atteint (x, y, z) = (1/7, 3/14, −2/7) et c’est un minimum global strict.
ii) Montrer que (0, 0, 0) et (1, 1, 1) sont des points stationnaires de f et indiquer pour chacun
d’eux s’il s’agit d’un minimum local, d’un maximum local ou ni l’un ni l’autre.
x − yz
∇f (x, y, z) = 2 y − xz (A.26)
z − xy
∇f est nul en (0, 0, 0) et (1, 1, 1). Ce sont donc des points stationnaires.
0 z y
∇2 f (x, y, z) = 2(I − z 0 x) (A.27)
y x 0
En (0, 0, 0), ∇2 f = 2I. Donc (0, 0, 0) est un minimum local de f . En (1, 1, 1), le développement
au second ordre de f s’écrit
f (1 + δx , 1 + δy , 1 + δz ) − f (1, 1, 1) = [δx δy δz ]∇2 f (1, 1, 1)[δx δy δz ]T + o(k δ k2 )
min x2 + y 2
(A.29)
(x − 1)3 − y2 =0
C’est la courbe en rouge ci dessous. Le point(1,0) n’est pas régulier car la courbe de contrainte
n’y est pas dérivable (point de rebroussement).
ii) Montrer qu’aucun point ne satisfait les conditions nécessaires du premier ordre.
Le lagrangien s’crit
L(x, y, λ) = x2 + y 2 + λ((x − 1)3 − y 2 ) (A.30)
et son gradient vaut
3(x − 1)2
x
∇xy L(x, y, λ) = 2 +λ . (A.31)
y −2y
Le gradient s’annule pour (1 − λ)y = 0. La condition λ = 1 est impossible car alors, le premier
terme du gradient vaut 2x + 3(x − 1)2 et est strictement positif sur la courbe de contrainte
(x ≥ 1) ; Donc y = 0. Mais la contrainte impose alors x = 1, valeur pour laquelle le premier
terme du gradient est non nul. Donc le gradient du lagrangien ne s’annule pas sur le domaine
de contrainte et aucun point ne satisfait les conditions nécessaires du premier ordre.
ii) Trouver le (les) point qui satisfait les conditions nécessaires du premier ordre. En reformulant
le problème comme un problème de minimisation de −(x2 + 4xy + y 2 ) le lagrangien s’écrit
avec µi ≥ 0, i = 1, 2, 3, 4.
Considérons les différents cas possibles concernant les contraintes actives, directement obser-
vables sur la figure :
1. µ3 > 0, µ4 > 0 et µ1 = µ2 = 0 : x = y = 0 et en fait on doit aussi avoir µ3 = µ4 = 0.
En (x, y) = (0, 0) le critêre vaut 0. C’est clairement un minimum global de x2 + 4xy + y 2
puisque sur R+ ×R+ ce critêre est toujours positif (c’est même un minimum global strict).
2. µ4 > 0 et µ1 = µ2 = µ3 = 0 : y = 0 et −4x − 2y = 0. On retrouve (x, y) = (0, 0)
3. µ4 > 0, µ1 > 0 et µ2 = µ3 = 0 : (x, y) = (8, 0) mais l’annulation du premier terme du
gradient donne µ1 = −16, ce qui est impossible.
4. µ1 > 0 et µ2 = µ3 = µ4 = 0 : −2x − 4y + µ1 = 0,−4x − 2y + µ1 = 0 et x + y − 8 = 0 d’où
on déduit que (x, y, µ1 ) = (4, 4, 24) et les conditions nécessaires sont satisfaites.
5. µ1 > 0, µ2 > 0 et µ3 = µ4 = 0 : −2x − 4y + µ1 − µ2 = 0, −4x − 2y + µ1 + 2µ2 , x + y − 8 = 0
et −x + 2y − 4 = 0. On trouve (x, y, µ1 , µ2 ) = (4, 4, 24, 0) comme précédemment.
6. µ2 > 0 et µ1 = µ3 = µ4 = 0 : −2x − 4y − µ2 = 0, −4x − 2y + 2µ2 = 0 et −x + 2y − 4 = 0.
On trouve (x, y, µ2 ) = (−20/13, 16/13, −24/13), ce qui est impossible.
7. µ2 > 0, µ3 > 0 et µ1 = µ4 = 0 : −2x−4y −µ2 −µ3 = 0, −4x−2y +2µ2 = 0 −x+2y −4 = 0
et x = 0. Alors (x, y, µ2 , µ4 ) = (0, 2, 2, −10), ce qui est impossible.
8. µ3 > 0 et µ1 = µ1 = µ4 = 0 : 2x + 4y − µ3 = 0, 4x + 2y = 0 et x = 0. Donc
(x, y, µ3 ) = (0, 0, 0).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 135
iii) Le point retenu satisfait-il les conditions suffisantes du second ordre ? Conclure.
Comme on optimise ici une fonction continue sur un fermé borné le problème admet un point qui
réalise le minimum et un point qui réalise le maximum. Les conditions nécessaires d’optimalité
sont donc ici également des conditions suffisantes, le minimum tant ralisé en (0, 0) où le critère
vaut 0 et le maximum en (4, 4) où le critère vaut 96.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 136
Janvier 2008
(A.35)
x2 + y 2 ≤ 1.
Le lagrangien s’écrit :
L(x, y, µ) = y 2 − x + µ(x2 + y 2 − 1). (A.36)
Les conditions de Khun et Tucker sont données par
−1 + 2µx
∇(x,y) L(x, y, µ) = =0
2(µ + 1)y (A.37)
µ(x2 + y 2 − 1) = 0, et µ ≤ 0
L’espace tangent la contrainte est engendré par le vecteur v = [0 1]T . vT [∇2 L]v = 1. ¿Donc
P3 = (−1, 0) ne représente pas un maximum.
II Montrer que tous les points du domaine caractrisé par les 3 contraintes
2
x + y2 ≤ 1
(A.40)
y ≤ 1/2
y ≥ −1/2
Les points intérieurs au domaine (en marron sur la figure) sont réguliers. De plus, les gradients
pour les trois contraintes sont respectivement engendrés par v1 = [y − x]T , v2 = [1 0]T et
v3 = [1 0]T . Notons que si une seule contrainte est active on obtient un vecteur non nul (en
particulier v1 6= 0 car x2 + y 2 = 1 lorsque la première contrainte est active). Lorsque deux
contraintes sont actives ce sont soit la première et la seconde, soit la première et la troisième, √
car les frontières des contraintes 1 et 3 n’ont pas de point commun. Comme |y| = 1/2 |x| = 3/2
dans ces deux situations, il est alors clair que (v1 , v2 ) et (v1 , v3 ) forment des familles libres et les
points pour lesquels deux contraintes sont satisfaites sont réguliers. Enfin, comme on l’a vu les
trois contraintes ne peuvent pas être satisfaites simultanément. Donc, tous les points du domaine
sont réguliers.
Si seule
√ la√première contrainte est active, les conditions de Khun et Tucker conduisent à (x, y) =
(1/ 2, 1/ 2) et si les deux contraintes sont actives, x = y 2 et x2 + y 2 = 1 soit x2 + x − 1 = 0
2
√ q √
et, comme x = y > 0, (x, y) = ((−1 + 5)/2, ± (−1 + 5)/2). De ces trois points, le point
√ √
(x, y) = (1/ 2, 1/ 2) réalise le minimum. C’est donc nécessairement le minimum du problème.
IV Un importateur dispose de Q unités d’un produit qu’il propose de vendre dans n magasins.
Chaque
P magasin i propose d’acheter di unités à un prix pi . L’importateur maximise son revenu
p x P la quantité xi qu’il vend au magasin i, avec 0 ≤ xi ≤ di . On suppose que
j j j en jouant sur
∀i, di > 0, pi > 0, di > Q et pour simplifier que p1 > p2 > . . . > pn−1 > pn .
1) Décrire la procédure qui permet d’obtenir les quantités optimales x∗i pour i = 1, 2, 3, . . .
x∗1 = min(d1 , Q)
x∗2 = min(d2 , Q − x∗1 )
.. (A.43)
.
x∗n = min(dn , Q − n−1 ∗
P
k=1 xk ).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 139
2) Démontrer que la procédure précédente est optimale en indiquant les valeurs à donner aux
3n + 1 inconnues Px∗i , λi , µi , pour i = 1, . . . , n, et λ0 , où λi est associé la contrainte xi ≥ 0, µi
xi − di ≤ 0 et λ0 xi = Q, dans les conditions nécessaires et suffisantes d’optimalité.
∇x L = p + λ0 1In − λ + µ = 0
λ i xi =0
µi xi = µi di (A.45)
λi ≥0
µi ≥0
qui correspond à la solution fournie par la procédure décrite dans la question précédente.
De plus, on notera que le problème étudié consiste à minimiser une fonction linéaire sur un
ensemble convexe (c’est même un problème de programmation linéaire) qui de plus est fermé,
ce qui établit que les conditions nécessaires du premier ordre sont également suffisantes.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 140
janvier 2007
I On considère le problème
opt 2xy
(A.47)
x2 + y 2 = 1.
Le lagrangien s’écrit :
L(x, y, λ) = 2xy + λ(x2 + y 2 − 1). (A.48)
Les conditions nécessaires du premier ordre s’écrivent :
2y + 2λx 0
∇(x,y) L = = (A.49)
2x + 2λy 0
2) Avec les conditions du second ordre, trouver la nature des points précédents.
λ 1
∇2(x,y) L = 2 (A.51)
1 λ
Si λ = −1, comme l’espace tangent au domaine des contraintes aux points ±( √12 , √12 ) est en-
gendré par t = (1, −1), la restriction de la matrice hessienne à cet espace tangent en ces points
est donnée par
λ 1 1
2 1 −1 = 4(λ − 1) = −8 < 0.
1 λ −1
Donc en (− √12 , − √12 ) et en ( √12 , √12 ) le problème possède un maximum local (qui est global
puisque ces maxima locaux ont la même valeur).
Si λ = 1, comme l’espace tangent au domaine des contraintes aux points ±( √12 , − √12 ) est en-
gendré par t = (1, 1), la restriction de la matrice hessienne à cet espace tangent en ces points
est donnée par
λ 1 1
2 1 1 = 4(λ + 1) = 8 > 0.
1 λ 1
Donc en (− √12 , √12 ) et en ( √12 , − √12 ) le problème possède un minimum local (qui est global
puisque ces minima locaux ont la même valeur).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 141
min(x − 94 )2 + (y − 2)2
x+y ≤6
(A.54)
y − x2 ≥ 0
x≥0
y ≥ 0.
µ1 (x + y − 6) = µ2 (x2 − y) = µ3 x = µ4 y = 0.
µi ≥ 0, i = 1, . . . , 4.
Graphiquement, on voit qu’au point (3/2, 9/4) la courbe y = x2 est tangente à la courbe de
niveau à la fonction (x, y) → (x − 94 )2 + (y − 2)2 qui passe par ce point, c’est à dire au cercle
centré sur ( 49 , 2) qui passe par (3/2, 9/4). En d’autre termes, (3/2, 9/4) est la projection de ( 49 , 2)
sur l’ensemble convexe fermé défini par les contraintes. On sait que cette projection existe et est
unique. Enfin, le problème étudié est celui de la minimisation d’une fonction strictement convexe
sur un ensemble de contraintes convexes, ce qui établit ici le caractère suffisant de la solution
trouvée à partir des conditions nécessaires.
Pour µ2 = 1/2,
1 + 2µ2 0
∇2(x,y) L(x, y, (µi )i=1,4 ) = = 2I > 0,
0 2
donc la condition suffisante du second ordre est également vérifiée en (3/2, 9/4).
IV Soit le problème
max(1/3) i=1,n x3i
P
P (A.55)
xi = 0
Pi=1,n 2
i=1,n xi = n
On a
x21
x2n
avec 1I = (1, . . . , 1)T . Comme i=1,n xi = 0, on en déduit que 1IT ∇Lx (x, λ, µ) = n + nλ = 0,
P
soit λ = −1. De plus, xT ∇Lx (x, λ, µ) = i=1,n x3i + 2µn = 0, donc i=1,n x3i = −2µn.
P P
x2i + 2µxi − 1 = 0.
p
On trouve xiP= −µ + εi µ2 + 1, avec ε = ±1. Comme les xi ainsi définis vérifient i x2i = n
P
dès lors que i=1,n xi = 0, le problème se réécrit finalement
min µ p
xi = −µ + εi µ2 + 1
(A.56)
εi = ±1
P
i=1,n xi = 0
p
1 + µ2 )−1pqui peut prendre les valeurs entières
P
Les contraintes conduisent à i ε i = nµ(
−n, −nP+ 2, −np+ 4, . . .P
, n. Comme la fonction µ → nµ( 1 P + µ2 )−1 est croissante et que µ vaut
2 2
µ = ±( i εi )/ n − ( i εi ) et n’est donc défini
p que pour i εi ∈ {−n+2, −n+4, . . . , √ n−2}, le
2 −1
minimum possible pour µ est atteint pour nµ( 1 + µ ) = −n+2, soit µ = −(n−2)/(2 n − 1).
p √
2 + 1 = −µ − (nµ)/(2 − n) = −1/ n − 1
Alors, n − 1 des coefficients xi sont égaux
p à −µ − √µ
et le coefficient restant est égal à −µ + µ2 + 1 = n − 1.
La pmatrice hessienne du lagrangien est une matrice diagonale D de i-ème terme diagnal 2xi +2µ =
2εi µ2 + 1. Pour fixer les idées on supposera sans perte de généralité que ε1 = . . . = εn−1 = −1
et εn = 1. L’espace tangent aux contraintes est défini par la normale aux gradients des fonctions
de contrainte. Ces derniers valent respectivement 1I et x et définissent l’espace orthogonal à
l’espace tangent aux surfaces de contrainte. Comme le n-ème vecteur de la base canonique en
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 144
p 1
est le vecteur propre associé à la valeur propre positive −2 µ2 + 1 et que en ∝ √n−1 1I + x, il est
clair que l’espace tangent aux contraintes réside dans l’espace engendré par les valeurs propres
négatives de la matrice et donc que la restriction de la matrice hessienne du Lagrangien aux
vecteurs de l’espace tangent aux contraintes est une matrice strictement négative. Il en résulte
que l’on a bien trouvé un maximum du problème posé.
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 145
janvier 2006
max xy(x − y)
x+y =8 (A.57)
x ≥0
y≥0
Notons que, par exemple, (x, y) = (5, 3) est un point admissible pour lequel xy(x − y) > 0. Donc
à l’optimum les contraintes d’inégalité ne sont pas actives (on aurait sinon xy(x − y) = 0). Il
suffit donc d’étudier les conditions nécessaires du premier ordre sans les contraintes de positivité.
Dans ces conditions, le lagrangien s’écrit,
2xy − y 2 + λ
∇xy L(x, y, λ) = = 0. (A.59)
x2 − 2xy + λ
√ √ √
La solution pour laquelle x > 0 et y > 0 est (x, y, λ) = (4(1 + 1/ 3), 4(1 − 1/ 3), −32/ 3).
Etudier la régularité des points suivants : X1 = (0, 0), X2 = (0, 1), X3 = (0, 2)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 146
Ces deux vecteurs forment une famille libre donc le point est régulier.
X2 est un point intérieur du domaine des contraintes où toutes les contraintes sont inactives.
Donc X2 est un point régulier.
Ces deux vecteurs forment une famille liée, donc le point n’est pas régulier.
max y
(3 − x)3 − (y − 2) ≥ 0 (A.63)
3x + y ≥ 9
2x − 3y ≥ 0
Ecrivez les conditions de Khun et Tucker et trouvez le point qui les satisfait en faisant le bon
choix des contraintes actives et inactives
Le lagrangien s’écrit
avec µi ≥ 0 (i = 1, 2, 3).
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 147
L’étude graphique conduit à choisir les contraintes 1 et 3 actives et la deuxième inactive. Les
conditions de Khun et Tucker s’écrivent alors
−3µ1 (3 − x)2 + 3µ3
∇xy L(x, y, µ) = =0
1 − µ1 − 3µ3
(3 − x)3 − (y − 2) = 0 (A.65)
µ = 0
2
2x − 3y = 0
La solution des conditions nécessaires du premier ordre est donnée par (x, y, µ) = (3, 2, 1, 0, 0).
Le domaine des contraintes étant compact et le critêre continu, on sait que le problème admet une
solution. De plus, en posant y = x−3 les contraintes 1 et 3 deviennent respectivement y ≤ 2+u3
et y ≤ 2 − (2/3)u. On notera que la première condition entraı̂ne y ≤ 2 pour u ≤ 0 et la seconde
y ≤ 2 pour u ≥ 0. On a donc nécessairement y ≤ 2 dans tout le domaine des contraintes, ce qui
établit que (x, y) = (3, 2) fournit bien la valeur maximale de y dans le domaine des contraintes.
3) Répétez l’analyse en enlevant la dernière contrainte. Cherchez explicitement tous les points
satisfaisant les conditions nécessaires du premier ordre. Commentez.
Ici le domaine n’est pas borné. Ainsi, par exemple, les points de coordonnées (x = 3 − y/3, y)
appartiennent tous au domaine pour y > 3 (il est alors clair que (3−x)3 −(y−2) ≥ (y/3)3 −y+2 >
0). Donc le critêre n’est pas supérieurement borné et le problème n’a pas de solution finie.
Le lagrangien s’écrit
L(x, y, µ) = y + µ1 ((3 − x)3 − (y − 2)) + µ2 (3x + y − 9) (A.66)
ANNEXE A. MASTER SISEA CORRIGÉ DES EXAMENS (PRINTEMPS 2006 À 2011) 148
Les deux contraintes sont simultanément actives en (x, y, µ1 , µ2 ) = (5, −6, 1/5, 6/5). Ce point
représente le minimum global du critêre. En (x, y, µ1 , µ2 ) = (3, 2, 1, 0) seule la première contrainte
est active On ne peut pas avoir une seule contrainte active en un autre point car alors les
équations ∇xy L(x, y, µ) = 0 sont incompatibles entre elles. Le point (x, y) = (2, 3) est singulier
mais ne correspond pas une solution du problème comme on l’a vu. Les points intérieurs du
domaine ne satisfont pas aux conditions de Khun et Tucker.
IV Soit
1
C(x, h) = (ax − b)2 + h|x|, h≥0 (A.68)
2
o a et b sont des réels positifs. On demande de trouver x∗ (h) le minimum de C(x, h) en fonction
de h
Pour x 6= 0,
d
C 0 (x, h) = C(x, h) = a(ax − b) + hsign(x). (A.69)
dx
Sur R− on a toujours
C 0 (x, h) = a(ax − b) − h < 0. (A.70)
Sur R+ , C 0 (x, h) = 0 pour
ab − h
x∗ (h) = , si ab > h, (A.71)
a2
sinon, on a toujours C 0 (x, h) > 0.
Comme C(x, h) est continue, il apparaı̂t donc que le minimum est obtenu en 0 si ab < h et en
x = ab−h
a2
si ab > h.
Bibliographie
149