Cours Optimisation
Cours Optimisation
28 janvier 2025
Table des matières
1 Fondements de l’optimisation 9
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Définitions de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 Un problème de transport . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 Typologie des problèmes d’optimisation . . . . . . . . . . . . . . . . . . . . 12
1.5 Convexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.6 Gradient, différentielle et hessienne . . . . . . . . . . . . . . . . . . . . . . . 16
1.7 Convexité des fonctions différentiables . . . . . . . . . . . . . . . . . . . . . 19
1.8 Reconnaissance d’un minimum local . . . . . . . . . . . . . . . . . . . . . . 21
1.9 Conditions suffisantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.10 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.11 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.12 Résumé du Chapitre 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2 Algorithmes d’optimisation 33
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2 Méthode du nombre d’or . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.3 Algorithme de dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.4 Descente de gradient . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.5 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.6 Résumé du Chapitre 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
Table des matières Table des matières
L’objectif de ces notes de cours est de fournir aux étudiants une introduction concise à
l’optimisation. La majeure partie de ce document est empruntée aux manuels suivants :
Les lecteurs désirant obtenir une exposition plus complète sur divers sujets en opti-
misation sont renvoyés à ces manuels.
Fondements de l’optimisation en
1
dimension finie
Ce chapitre est consacré à l’introduction des concepts de base et des outils mathéma-
tiques utilisés en optimisation (continue).
1.1 Introduction
Les individus optimisent. Les investisseurs cherchent à créer des portefeuilles qui
évitent les risques excessifs tout en atteignant un taux de rendement élevé. Les fabri-
cants visent une efficacité maximale dans la conception de leurs processus de produc-
tion.
La nature optimise. Les systèmes physiques tendent vers un état d’énergie minimale.
Les rayons lumineux suivent des trajectoires qui minimisent leur temps de déplace-
ment.
L’optimisation est un outil important en science de la décision et dans l’analyse des
systèmes physiques. Pour utiliser cet outil, nous devons d’abord identifier un objectif,
une mesure quantitative de la performance du système étudié. Cet objectif pourrait être
le profit, le temps, l’énergie potentielle, ou toute quantité pouvant être représentée par
Définitions de base Fondements de l’optimisation
minimiser f ( x)
(1.1)
sous contrainte x ∈ Ω.
La fonction f : R p → R que nous souhaitons minimiser est une fonction réelle appelée
la fonction-objectif ou la fonction-coût. Le vecteur x est un vecteur de variables de di-
mension p : x = [ x1 ; x2 ; . . . ; x p ]⊤ ∈ R p . Les variables x1 , x2 , . . . , x p sont souvent appelées
variables de décision. L’ensemble Ω est un sous-ensemble de R p appelé l’ensemble de
contraintes ou l’ensemble admissible.
Le problème d’optimisation ci-dessus peut être vu comme un problème de décision
qui consiste à trouver le vecteur x «optimal» des variables de décision parmi tous les
vecteurs possibles dans Ω. Par «optimal», nous entendons celui qui conduit à la plus
10
Un problème de transport Fondements de l’optimisation
Ω = x ∈ R p : h( x) = 0, g( x) ⩽ 0 ,
où h et g sont des fonctions données. Nous appelons de telles contraintes des contraintes
fonctionnelles (respectivement d’égalité et d’inégalité).
Nous commençons par un exemple largement simplifié d’un problème qui pourrait
se poser dans le domaine de la fabrication et du transport. Une entreprise chimique
dispose de 2 usines F1 et F2 ainsi que d’une douzaine de points de vente R1 , R2 , . . . , R12 .
Chaque usine Fi peut produire ai tonnes d’un certain produit chimique chaque semaine ;
ai est appelée la capacité de l’usine. Chaque point de vente R j a une demande hebdo-
madaire connue de b j tonnes du produit. Le coût d’expédition d’une tonne du produit
de l’usine Fi au point de vente R j est cij .
Le problème consiste à déterminer la quantité de produit à expédier de chaque usine
vers chaque point de vente afin de satisfaire toutes les exigences et de minimiser les
coûts. Les variables du problème sont xij , i = 1, 2, j = 1, . . . , 12, où xij est le nombre de
tonnes du produit expédiées de l’usine Fi vers le point de vente R j ; voir la Fugure 1.1.
Nous pouvons formuler le problème comme suit :
11
Typologie des problèmes d’optimisation Fondements de l’optimisation
problème est un programme non linéaire car la fonction-objectif est non linéaire.
Les problèmes d’optimisation sont catégorisés selon divers critères. Dans cette sec-
tion, nous passons brièvement en revue les critères les plus fréquemment utilisés.
12
1.4.1 Continu versus discret Fondements de l’optimisation
Dans certains problèmes d’optimisation, les variables n’ont de sens que si elles prenn-
ent des valeurs entières. Par exemple, une variable xi pourrait représenter le nombre
d’usines de type i que doit construire un fournisseur d’électricité au cours des 5 pro-
chaines années, ou elle pourrait indiquer si une usine particulière doit être située dans
une ville donnée. La formulation mathématique de tels problèmes inclut des contraintes
d’intégralité, qui ont la forme xi ∈ Z, où Z est l’ensemble des entiers, ou des contraintes
binaires, qui ont la forme xi ∈ {0, 1}. Les problèmes de ce type sont appelés des pro-
blèmes de programmation entière. Si certaines des variables du problème ne sont pas
restreintes à être des variables entières ou binaires, on les appelle parfois des problèmes
de programmation entière mixte, ou MIP 1 pour faire court.
Les problèmes de programmation entière sont un type de problème d’optimisation
discret. En général, les problèmes d’optimisation discrets peuvent contenir non seule-
ment des variables à valeurs entières et des variables binaires, mais aussi des objets de
variable plus abstraits tels que des permutations d’un ensemble ordonné. La caractéris-
tique déterminante d’un problème d’optimisation discret est que l’inconnue x est tirée
d’un ensemble fini (mais souvent très grand).
En revanche, l’ensemble admissible pour les problèmes d’optimisation continus
est généralement infini et non dénombrable, notamment lorsque les composantes de
x sont autorisées à être des nombres réels. Les problèmes d’optimisation continus sont
généralement plus faciles à résoudre car la régularité des fonctions permet d’utiliser
les informations des fonctions intervenant dans l’objectif et les contraintes en un point
particulier x pour déduire des informations sur le comportement de ces fonctions à
tous les points proches de x. Dans les problèmes discrets, en revanche, le comportement
de l’objectif et des contraintes peut changer de manière significative lorsque l’on passe
d’un point admissible à un autre, même si les deux points sont «proches» selon certaines
mesures.
13
1.4.2 Optimisation globale vs. locale Fondements de l’optimisation
— Un point x∗ ∈ Ω est un minimiseur local strict de f sur Ω s’il existe ε > 0 tel que
f ( x) > f ( x∗ ) pour tout x ∈ Ω tel que 0 < ∥ x − x∗ ∥ ⩽ ε.
— Un point x∗ ∈ Ω est un minimiseur global de f sur Ω si f ( x) ⩾ f ( x∗ ) pour tout
x ∈ Ω.
14
Convexité Fondements de l’optimisation
1.5 Convexité
15
Gradient, différentielle et hessienne Fondements de l’optimisation
Définition 1.2. On dit que f est différentiable en x∗ , s’il existe un vecteur a ∈ R p tel que
f ( x) = f ( x∗ ) + a⊤ ( x − x∗ ) + o (∥ x − x∗ ∥), lorsque x → x∗ .
Il est important de noter que si f est différentiable en x∗ , alors toutes les dérivées
partielles
∂f ∗ ∂f ∗ ∂f ∗
( x ), ( x ), . . . , (x )
∂x1 ∂x2 ∂x p
existent. De plus, si toutes les dérivées partielles existent et sont continues en x∗ , alors
f est différentiable en x∗ . Plus généralement, f ∈ C1 (Ω) si et seulement si toutes les
dérivées partielles existent et sont continues dans Ω.
Cependant, il y a des fonctions qui admettent des dérivées partielles en x∗ , mais qui
ne sont pas dérivables en x∗ . Un exemple de telle fonction est
x1 x2
f : R2 → R, f ( x) = q , si x12 + x22 > 0
x12 + x22
et f (0, 0) = 0. Pour cette fonction, il est claire que les dérivées partielles existent en tout
point, même en (0, 0)⊤ , et sont données par
∂f ∗ x23 ∂f ∗ x13
(x ) = 2 , (x ) = 2 , x∗ ̸= (0, 0)⊤ ,
∂x1 ( x1 + x22 )3/2 ∂x2 ( x1 + x22 )3/2
∂f ∗ ∂f ∗
( x ) = 0, ( x ) = 0, x∗ = (0, 0)⊤ .
∂x1 ∂x2
Si f était différentiable en (0, 0)⊤ , on aurait
" ∂f #
" #
∂x1 (0, 0) 0
∇ f (0, 0) = ∂f = ,
∂x2 (0, 0)
0
et, par conséquent, on aurait que f ( x) = f (0, 0) + ∇ f (0, 0)⊤ x + o (∥ x∥) = o (∥ x∥). Or,
√
ce n’est pas le cas car f (t, t) = 2 t/2 ̸= o (t).
16
Gradient, différentielle et hessienne Fondements de l’optimisation
∂f 2x1
( x) = .
∂x1 1 + ∥ x ∥2
Cette fonction est clairement continue xans R p . Comme f est symétrique par rapport
à toutes ses variables x1 , . . . , x p , on peut montrer de la même façon que toutes les dé-
rivées partielles de f existent et sont continues. On en déduit que f est continûment
différentiable dans R p et que
2x
∇ f ( x) = .
1 + ∥ x ∥2
17
Gradient, différentielle et hessienne Fondements de l’optimisation
Le résultat de ce corollaire est souvent utilisé pour calculer les dérivées des fonctions
complexes. Considérons, par exemple, la fonction
Z t
h : R → R, h(t) = ψ(y2 + t) dy,
0
∇2 f ( x ∗ ) = D ∇ f ( x ∗ ) ∈ M p (R).
18
Convexité des fonctions différentiables Fondements de l’optimisation
Si f est deux fois différentiable, alors elle a des dérivées partielles d’ordre 2 et
∂2 f
∇2 f ( x ∗ ) ( x ∗ ).
i,j
=
∂xi ∂x j
Si ∇2 f ( x) existe et est continue en tout x ∈ Ω, on dit que f est deux fois continûment
différentiable dans Ω et on écrit f ∈ C2 (Ω).
Théorème 1.3. Si f est deux fois continûment différentiable dans un voisinage de x, alors la
hessienne ∇2 f ( x) est une matrice symétrique. Par conséquent,
∂2 f ∂2 f
( x∗ ) = ( x ∗ ), ∀i, j = 1, . . . , p.
∂xi ∂x j ∂x j ∂xi
Nous avons vu dans le Théorème 1.2 que le gradient d’une fonction différentiable
nous permettait de caractériser les accroissements de cette fonction. Si la fonction est
plus régulière, notamment si elle est deux fois différentiable, on peut aller plus loin et
caractériser l’approximation de la fonction par une fonction affine. C’est l’objectif du
théorème suivant.
Dans toute cette partie, nous supposerons que Ω est un convexe ouvert de R p et que
f : Ω → R. Dans de nombreux cas, il peut être difficile de vérifier la convexité de f
en utilisant simplement la définition présentée dans la partie 1.5. Lorsque la fonction
f est régulière, c’est-à-dire différentiable ou même deux fois différentiable, il existe des
critères plus simples pour tester la convexité d’une fonction. Le but de cette partie est
de présenter certains de ces critères.
19
Convexité des fonctions différentiables Fondements de l’optimisation
Théorème 1.5. Si la fonction f est continûment différentiable dans Ω, alors les trois assertions
suivantes sont équivalentes :
a) f est convexe,
b) on a f ( x) ⩾ f ( x0 ) + ∇ f ( x0 )⊤ ( x − x0 ) pour tout x, x0 ∈ Ω,
c) ∇ f est croissante, c’est-à-dire ( x − x0 )⊤ (∇ f ( x) − ∇ f ( x0 )) ⩾ 0 pour tout x, x0 ∈ Ω.
yα = αx + (1 − α) x0 = x0 + α( x − x0 ).
Il en découle que
α( f ( x) − f ( x0 )) − ( f (yα ) − f ( x0 ))
Z 1 ⊤
=α ∇ f (yt ) − ∇ f (yαt ) dt ( x − x0 ),
0
Z 1
α 1 ⊤
= ∇ f (yt ) − ∇ f (yαt ) (1 − α)t( x − x0 ) dt
(1 − α ) 0 t | {z }
=yt −yαt
Z 1
α 1 ⊤
= ∇ f (yt ) − ∇ f (yαt ) (yt − yαt ) dt.
(1 − α ) 0 t| {z }
⩾0 d’après c)
20
Reconnaissance d’un minimum local Fondements de l’optimisation
Comme cette inégalité est vraie pour tout α ∈]0, 1[, x, x0 ∈ Ω, on en déduit que f est
convexe.
Théorème 1.6. Si la fonction f est deux fois continûment différentiable dans Ω, alors les deux
assertions suivantes sont équivalentes :
a) f est convexe,
b) la hessienne ∇2 f ( x) de f en tout point x est positive, ∇2 f ( x) ≽ 0.
D’après les définitions précédentes, il pourrait sembler que la seule façon de déter-
miner si un point x∗ est un minimum local est d’examiner tous les points dans son
voisinage immédiat, afin de s’assurer qu’aucun d’entre eux n’a une imgae par f plus
petite que f ( x∗ ). Cependant, lorsque la fonction f est régulière, ils existent des moyens
plus efficaces et pratiques d’identifier les minima locaux. En particulier, si f est deux
fois continûment différentiable, nous pourrions être en mesure de déterminer que x∗
est un minimiseur local (et éventuellement un minimiseur local strict) en examinant
simplement le gradient ∇ f ( x∗ ) et l’hessien ∇2 f ( x∗ ).
Exercice. Soit f : R3 → R définie par f ( x1 , x2 , x3 ) = 4 + 2x1 − x3 + x12 + 3x22 + 2x1 x3 .
1. Calculer le gradient ∇ f ( x1 , x2 , x3 ).
2. Calculer l’hessien ∇2 f ( x1 , x2 , x3 ).
3. Écrire la fonction f sous une forme matricielle en utilisant le vecteur-colonne x =
[ x1 ; x2 ; x3 ] ⊤ .
21
Reconnaissance d’un minimum local Fondements de l’optimisation
Pour tout t̄ ∈ (0, T ], nous avons d’après le théorème de Taylor que f ( x∗ + t̄u) = f ( x∗ ) +
t̄u⊤ ∇ f ( x∗ + tu), pour un certain t ∈ (0, t̄). Par conséquent, f ( x∗ + t̄u) < f ( x∗ ) pour
tout t̄ ∈ (0, T ]. Nous avons trouvé une direction s’éloignant de x∗ le long de laquelle f
diminue, donc x∗ n’est pas un minimiseur local, et nous avons une contradiction.
1 2 ⊤ 2
f ( x∗ + t̄u) = f ( x∗ ) + t̄ u⊤ ∇ f ( x∗ ) + t̄ u ∇ f ( x∗ + tu)u < f ( x∗ ).
2
Comme dans le Theorem 1.7, nous avons trouvé une direction à partir de x∗ le long de
laquelle f diminue, et donc une fois de plus, x∗ n’est pas un minimiseur local.
22
Conditions suffisantes Fondements de l’optimisation
Nous décrivons maintenant des conditions suffisantes, qui sont des conditions sur
les dérivées de f en le point x∗ qui garantissent que x∗ est un minimum local.
Théorème 1.9. Supposons que ∇2 f est continue dans un voisinage ouvert de x∗ et que ∇ f ( x∗ ) =
0 et ∇2 f ( x∗ ) est défini positive. Alors x∗ est un minimum local strict de f .
Notez que les conditions suffisantes du second ordre ne sont pas nécessaires : un
point x∗ peut être un minimum local strict et peut tout de même ne pas satisfaire les
conditions suffisantes. Un exemple simple est donné par la fonction f ( x ) = x4 , pour
laquelle le point x ∗ = 0 est un minimum local strict où la matrice hessienne s’annule (et
n’est donc pas définie positive).
Lorsque la fonction-objectif est convexe, les minimiseurs locaux et globaux sont simples
à caractériser.
Théorème 1.10. Lorsque f est convexe, tout minimiseur local x∗ est un minimiseur global de
f . Si de plus f est différentiable, alors tout point stationnaire x∗ est un minimiseur global de f .
Démonstration. Supposons que x∗ est un minimiseur local mais pas global. Alors, nous
pouvons trouver un point z ∈ R p avec f (z) < f ( x∗ ). Considérons le segment de droite
qui joint x∗ à z, c’est-à-dire,
f ( x ) ⩽ λ f ( z ) + (1 − λ ) f ( x ∗ ) < f ( x ∗ ). (1.5)
Tout voisinage N de x∗ contient une partie du segment de droite (1.4), de sorte qu’il y
aura toujours des points x ∈ N pour lesquels (1.5) est satisfait. Par conséquent, x∗ n’est
pas un minimiseur local.
23
Exemples Fondements de l’optimisation
d
∇ f ( x∗ )⊤ (z − x∗ ) = f ( x∗ + λ(z − x∗ ))
dλ λ =0
f ( x + λ(z − x )) − f ( x∗ )
∗ ∗
= lim
λ ↘0 λ
λ f ( z ) + (1 − λ ) f ( x ∗ ) − f ( x ∗ )
⩽ lim
λ ↘0 λ
= f ( z ) − f ( x ∗ ).
1.10 Exemples
a) Supposons que le véhicule emprunte un chemin qui minimise le temps total né-
cessaire pour aller de A à B. Utilisez la condition nécessaire du premier ordre
pour montrer que, pour le chemin optimal ci-dessus, les angles ϑ1 et ϑ2 dans la
Figure 1.3 satisfont la loi de Snell :
sin ϑ1 v
= 1.
sin ϑ2 v2
24
Exemples Fondements de l’optimisation
x d−x
sin ϑ1 = , sin ϑ2 = .
( x2 + 1)1/2 ((d − x )2 + 1)1/2
Cela implique que
sin ϑ1 sin ϑ2
f ′ (x) = 0 ⇐⇒ = .
v1 v2
Réponse à la question b) Calculons la dérivée du deuxième ordre :
′ ′
( x − d)
′′ 1 x 1
f (x) = +
v1 ( x2 + 1)1/2 v2 [( x − d)2 + 1]1/2
1 1 1 x2
= −
v1 ( x2 + 1)1/2 v1 ( x2 + 1)3/2
1 1 1 ( x − d )2
+ −
v2 [( x − d)2 + 1]1/2 v2 [( x − d)2 + 1]3/2
1 1 1 1
= 2 3/2
+ .
v1 ( x + 1) v2 [( x − d)2 + 1]3/2
25
Exemples Fondements de l’optimisation
Nous constatons que f ′′ ( x ) > 0, cela signifie que la condition suffisante du deuxième
ordre est remplie. Par conséquent, la solution x ∗ de l’équation f ′ ( x ∗ ) = 0 est un mini-
mum local strict. De plus, la fonction f étant convexe, ce minimum local est également
un minimum global.
On vérifie facilement que f est une fonction quadratique en ( a, b) et est donnée par
26
Exercices Fondements de l’optimisation
1.11 Exercices
Exercice 1.3. On note Sn (R) et Pn (R) l’ensemble des matrices n × n à coefficients réels
symétriques et positives, respectivement. Dans Sn (R) structuré en espace euclidien
grâce au produit scalaire ⟨A, B⟩ = Tr(AB), on considère l’ensemble suivant
Exercice 1.5. Soit f : Ω → R une fonction deux fois continûment différentiable dans le
convexe ouvert Ω ⊆ R p . Montrer que
Z 1
2
∇ f ( x ) − ∇ f ( x0 ) = ∇ f ( x0 + t( x − x0 )) dt ( x − x0 ), ∀ x, x0 ∈ Ω.
0
∥∇ f ( x) − ∇ f ( x′ )∥ ⩽ M∥ x − x′ ∥, ∀ x, x′ ∈ R p .
Montrer que
f ( x + u) − f ( x) − u⊤ ∇ f ( x) ⩽ ( M/2)∥u∥2 , ∀ x, u ∈ R p .
Exercice 1.7. Soit f : R p → R une fonction convexe et de classe C1 telle que ∇ f est
Lipschitzienne de constant M : ∥∇ f ( x) − ∇ f ( x′ )∥ ⩽ M ∥ x − x′ ∥ pout tout x, x′ ∈ R p .
Alors, pour tout x, x′ ∈ R p , on a
27
Exercices Fondements de l’optimisation
1. f ( x′ ) − f ( x) − ∇ f ( x)⊤ ( x′ − x) ⩾ 2M
1
∥∇ f ( x′ ) − ∇ f ( x)∥2 ,
⊤
2. ∇ f ( x) − ∇ f ( x′ ) ( x − x′ ) ⩾ M 1
∥∇ f ( x) − ∇ f ( x′ )∥2 .
Indication : Pour la première question, on pourra commencer par appliquer l’exercice 1.6 à
u = x′ − x − M1
∇ f ( x′ ) − ∇ f ( x)
Exercice 1.8. Soit Mn (R) l’ensemble des matrices n × n à coefficients réels structuré en
espace euclidien grâce au produit scalaire ⟨A, B⟩ = Tr(A⊤ B). Soit Ω l’ouvert de Mn (R)
constitué des matrices inversibles. Déterminer le gradient de chacune des applications
suivantes :
1. f : Mn (R) → R définie par f (A) = Tr(A).
2. g : Mn (R) → R définie par g(A) = det(A).
3. h : Ω → R définie par h(A) = log det( A).
Exercice 1.9. Soit f : R p → R continue et bornée inférieurement sur R p . Soit ε > 0 et soit
u ∈ R p une solution à ε près du problème de minimisation de f dans R p , c’est-à-dire u
vérifie
f (u) ⩽ infp f ( x) + ε.
x ∈R
28
Résumé du Chapitre 1 Fondements de l’optimisation
minimiser f ( x)
sous contrainte x ∈ Ω.
Terminologie et définitions
x, y ∈ C; α ∈ [0, 1] =⇒ αx + (1 − α)y ∈ C.
• Si C est soit fermé, soit ouvert, alors pour vérifier que C est convexe, il suffit de vérifier
que
1
x, y ∈ C =⇒ ( x + y) ∈ C.
2
• Une fonction f : Ω → R définie sur un ensemble convexe Ω ⊂ R p est appelée
convexe, si
• Si Ω est soit ouvert, soit fermé, alors pour vérifier que f : Ω → R est convexe, il suffit
de vérifier que f est continue et
x+y f ( x) + f (y)
x, y ∈ Ω =⇒ f ⩽ .
2 2
29
Résumé du Chapitre 1 Fondements de l’optimisation
f ( x ) ⩾ f ( x0 ) + ( x − x0 ) ⊤ ∇ f ( x0 ), ∀ x, x0 ∈ Ω.
• Si f est deux fois continûment différentiable, alors elle est convexe si et seulement si
la hessienne est positive en tout point : ∇2 f ( x) ≽ 0 pour tout x ∈ Ω.
Conditions nécessaires
Conditions suffisantes
• SOSC : Soit x∗ un point stationnaire d’une fonction f deux fois continûment différen-
tiable. Si la hessienne de f en x∗ est définie positive, ∇2 f ( x∗ ) ≻ 0, alors x∗ est un
minimiseur local de f .
• Convexité 1 : Si f est convexe, tout minimiseur local de f est un minimiseur global.
Cela est vrai même pour des fonctions non différentiables telles que f ( x ) = | x |.
• Convexité 2 : Si f est convexe et différentiable, alors tout point stationnaire de f est
un minimiseur global.
30
Résumé du Chapitre 1 Fondements de l’optimisation
• Une matrice est positive si et seulement si toutes ses valeurs propres sont non néga-
tives.
• Une matrice est positive définie si et seulement si toutes ses valeurs propres sont
strictement positives.
• Une matrice positive est définie positive si son déterminant est positif.
• (Critère de Sylvster) Une matrice symétrique est positive si et seulement si tous ses
mineurs principaux sont non négatifs.
• (Critère de Sylvster) Une matrice symétrique est définie positive si et seulement si
tous ses mineurs principaux dominants sont positifs.
31
Algorithmes d’optimisation
2
2.1 Introduction
Les méthodes de recherche abordées dans cette section et la section suivante nous
permettent de trouver le minimum d’une fonction objectif f sur un intervalle fermé
[ a, b]. La seule hypothèse que nous faisons sur la fonction f est qu’elle est unimodale,
c’est-à-dire qu’elle possède un unique minimum local. Un exemple illustratif d’une telle
fonction est présenté dans la Figure 2.1.
Les méthodes que nous présentons se basent sur l’évaluation de la fonction objectif
à différents points de l’intervalle [ a0 , b0 ] := [ a, b]. Ces points sont choisis de manière à
obtenir une approximation du minimiseur de f avec le moins d’évaluations possible.
Notre objectif est de réduire progressivement l’intervalle jusqu’à ce que le minimiseur
soit confiné dans un intervalle suffisamment précisément déterminé.
Considérons une fonction unimodale f dont on cherche le minimum dans l’intervalle
[ a, b]. Afin d’obtenir un intervalle réduit qui contient avec certitude le minimiseur de f ,
nous proposons d’évaluer f à deux points situés à l’intérieur de [ a, b], comme illustré
dans la Figure 2.2. Nous choisissons ces points, notés A et B, de manière à ce que la
réduction de l’intervalle soit symétrique, au sens où
A − a0 = b0 − B = γ(b0 − a0 ).
où γ ∈ (0, 1/2) (cette condition est nécessaire pour avoir A < B).
2. Golden Section Search, en anglais
34
Méthode du nombre d’or Algorithmes d’optimisation
F IGURE 2.2 – Méthode du nombre d’or : le cas où f ( A) < f ( B), ce qui implique que le
minimum local x ∗ se trouve dans [ a0 , B].
Nous évaluons ensuite f aux points A et B. Si f ( A) < f ( B), alors le minimiseur doit
se situer dans l’intervalle [ a0 , B]. Si, en revanche, f ( A) ⩾ f ( B), alors le minimiseur se
trouve dans l’intervalle [ A, b0 ]. Ainsi, nous définissons le nouvel intervalle comme suit :
[ a , B], si f ( A) < f ( B),
0
[ a1 , b1 ] =
[ A, b0 ], sinon.
On vérifie facilement que dans les deux cas, la longueur du nouvel intervalle est donnée
par
b1 − a1 = (1 − γ)(b0 − a0 ).
Ainsi, le nouvel intervalle est plus petit que celui de la précédente itération et contient
toujours le minimiseur x ∗ .
Les paragraphes ci-dessus décrivent comment obtenir l’intrvalle [ a1 , b1 ] à partir de
l’intervalle [ a0 , b0 ]. Supposons maintenant que pour tout n ∈ N∗ , [ an , bn ] est obtenu à
partir de [ an−1 , bn−1 ] en utilisant la même procédure, voir le pseudo-code ci-dessous.
Soit xn le centre de l’intervalle [ an , bn ].
En utilisant les propriétés présentées ci-dessus, nous pouvons établir le théorème
suivant.
Théorème 2.1. Si f est une fonction unimodale sur [ a, b] et γ ∈ (0, 1/2), alors l’approximation
de la méthode du nombre d’or xn converge vers x ∗ et nous avons
35
Méthode du nombre d’or Algorithmes d’optimisation
| xn − x ∗ | ⩽ 0.5| an − bn |. (2.1)
36
Algorithme de dichotomie Algorithmes d’optimisation
que pour une valeur spécifique de γ, à l’itération k, l’un des deux points A et B coïncide
avec l’une de ces valeurs à l’itération précédente k − 1. Plus précisément, si à l’itération
k − 1 nous avons, par exemple, f ( A) < f ( B), alors pour les points A′ et B′ à l’itération
k nous aurons B′ = A (voir fig. 2.3). En rappelant que
A = a k − 1 + γ ( bk − 1 − a k − 1 ) ,
B = bk − 1 − γ ( bk − 1 − a k − 1 ) ,
a k = a k −1 ,
bk = B,
B ′ = bk − γ ( bk − a k ) ,
a k − 1 + γ ( bk − 1 − a k − 1 ) = B − γ ( B − a k )
= bk − 1 − γ ( bk − 1 − a k − 1 ) − γ ( bk − 1 − γ ( bk − 1 − a k − 1 ) − a k )
= bk−1 − γ(2 − γ)(bk−1 − ak−1 ).
| xn − x ∗ | ⩽ 0.5(0.618)n (b − a).
37
Descente de gradient Algorithmes d’optimisation
38
Descente de gradient Algorithmes d’optimisation
Soit f : R p → R une fonction différentiable telle que ∇ f soit continue. Pour définir
l’algorithme de descente de gradient, nous devons choisir un paramètre h > 0 appelé
pas de gradient. Ensuite, en partant d’un point x0 ∈ R p , nous définissons la séquence
{ xk }k∈N en utilisant la règle de mise à jour suivante :
x k +1 = x k − h ∇ f ( x k ), k = 0, 1, . . . .
L’algorithme est illustré dans la Figure 2.4. Les propriétés de convergence de la descente
de gradient sont données dans les théorèmes suivants.
Théorème 2.2. Soit x∗ un minimiseur local de f . Supposons qu’il existe un ε > 0 tel que :
• le point initial x0 soit dans la boule B( x∗ , ε),
• f soit convexe et de classe C2 dans B( x∗ , ε),
• il existe M ∈]0, +∞[ tel que λmax (∇2 f ( x)) ⩽ M pour tout x ∈ B( x∗ , ε).
Alors, pour le pas de taille h ⩽ 2/M, toutes les itérations xk de l’algorithme de descente de
gradient se trouvent dans la boule B( x∗ , ε) et satisfont
M
f ( xk+1 ) ⩽ f ( xk ) − h 1 − h ∥∇ f ( xk )∥2 . (2.3)
2
39
Descente de gradient Algorithmes d’optimisation
Proof of Theorem 2.2. Nous commençons par prouver que toutes les itérations xk de l’al-
gorithme de descente de gradient restent dans la boule B( x∗ , ε). Nous prouvons cette
affirmation par récurrence. L’affirmation est vraie pour k = 0. Supposons maintenant
qu’elle soit vraie pour xk , c’est-à-dire ∥ xk − x∗ ∥ ⩽ ε, et prouvons-la pour xk+1 . Soit
u ∈ R p . Le théorème fondamental d’analyse appliqué à la fonction t 7→ u⊤ ∇ f ( x∗ +
t( xk − x∗ )) implique que
Z 1
⊤ ⊤ ∗
u⊤ ∇2 f x∗ + t( xk − x∗ ) ( xk − x∗ ) dt
u ∇ f ( xk ) − u ∇ f ( x ) =
0
Z 1
= u⊤ ∇2 f x∗ + t( xk − x∗ ) dt ( xk − x∗ ).
0
Il en résulte que
La matrice H est symétrique et positive. Ses valeurs propres sont donc entre 0 et M. Il
en découle que les valeurs propres de la matrice I p − hH sont entre 1 − hM et 1. Comme
40
Descente de gradient Algorithmes d’optimisation
Il en résulte que
f ( x k +1 ) − f ( x k ) − ∇ f ( x k ) ⊤ ( x k +1 − x k ) ⩽ 1
2 M ∥ x k +1 − x k ∥ 2 .
Théorème 2.3. Supposons que les conditions du Théorème 2.2 soient remplies. Alors, pour le
pas de taille h ⩽ 1/M, la sortie xK de l’algorithme de descente de gradient en K étapes satisfait
∥ x0 − x ∗ ∥2
f ( xK ) − f ( x∗ ) ⩽ .
2hK
f ( x k ) ⩽ f ( x ∗ ) − ∇ f ( x k ) ⊤ ( x ∗ − x k ).
∗ ∥ x ∗ − x k ∥2 1
∥ x∗ − xk ∥2 + 2h∇ f ( xk )( x∗ − xk ) + h2 ∥∇ f ( xk )∥2 .
f ( x k +1 ) ⩽ f ( x ) + −
2h 2h | {z }
∥ x∗ − xk + h∇ f ( xk )∥2
41
Descente de gradient Algorithmes d’optimisation
Pour compléter la preuve, il suffit de remarquer qu’au vu du Théorème 2.2, tous les
termes f ( xk+1 ) sont supérieurs ou égaux à f ( xK ).
Il s’avère qu’on peut obtenir un résultat encore meilleur si la fonction f est fortement
convexe dans le voisinage de x∗ . La constante de forte convexité est notée m > 0.
Théorème 2.4. Supposons que les conditions du Théorème 2.2 sont remplies et, de plus, que f
est m-fortement convexe dans B( x∗ , ε), c’est-à-dire
m
f ( x) ⩾ f (y) + ∇ f (y)⊤ ( x − y) + ∥ x − y ∥2 , pour tout x, y ∈ B( x∗ , ε).
2
Alors, pour le pas h ⩽ 1/M, la sortie xK de l’algorithme de descente de gradient en K étapes
satisfait
f ( xK ) − f ( x∗ ) ⩽ (1 − mh)K f ( x0 ) − f ( x∗ ) ,
∥ xK − x∗ ∥ ⩽ (1 − mh)K ∥ x0 − x∗ ∥.
Démonstration. Nous commençons par prouver que la forte convexité de f implique que
∥∇ f ( xk )∥2 ⩾ 2m f ( xk ) − f ( x∗ ) .
(2.5)
42
Méthode de Newton Algorithmes d’optimisation
f ( xk+1 ) − f ( x∗ ) ⩽ (1 − mh) f ( xk ) − f ( x∗ ) .
∥ xk+1 − x∗ ∥ ⩽ (1 − mh)∥ xk − x∗ ∥.
Remarque 2.1. L’algorithme de descente de gradient présente des avantages et des inconvé-
nients par rapport à l’algorithme de dichotomie vu dans les sections précédentes. Les principaux
avantages sont :
A1) Il est défini au cas où la fonction objectif est multivariée f : R p → R.
A2) Il est garanti de diminuer la valeur de la fonction objectif à chaque itération.
A3) Si les conditions du dernier théorème sont satisfaites, alors il converge exponentiellement
vite et, dans le cas univarié, sa vitesse de convergence est indépendante de la taille de
l’intervalle initial [ a, b].
Supposons dans cette partie que nous sommes confrontés au problème de minimiser
une fonction f d’une seule variable réelle x. Nous supposons maintenant qu’à chaque
point xk nous pouvons déterminer f ( xk ), f ′ ( xk ) et f ′′ ( xk ). Dans un voisinage de xk , nous
pouvons approcher f par une fonction quadratique de la forme
1 ′′
q( x ) = f ( xk ) + f ′ ( xk )( x − xk ) + f ( xk )( x − xk )2 .
2
43
Méthode de Newton Algorithmes d’optimisation
0 = q′ ( x ) = f ′ ( xk ) + f ′′ ( xk )( x − xk ).
f ′ ( xk )
x k +1 = x k − . (2.6)
f ′′ ( xk )
Définition 2.1. Nous dirons que xn est l’approximation de x ∗ obtenue par la méthode
de Newton après n itérations, si (2.6) est vrai pour k = 0, . . . , n − 1.
Théorème 2.5. Soit x ∗ un minimiseur local de f . Supposons que pour un r > 0 donné,
• le point initial x0 se trouve dans l’intervalle I := [ x ∗ − r, x ∗ + r ],
• f est m-fortement convexe dans I,
• f ′′′ est bornée dans I par une constante L, c’est-à-dire | f ′′′ ( x )| ⩽ L.
| xn − x ∗ | < | xn−1 − x ∗ | ⩽ r, ∀n ∈ N
2n
∗ 2m Lr
| xn − x | ⩽ , ∀ n ∈ N.
L 2m
44
Méthode de Newton Algorithmes d’optimisation
1 ′′′
f ′ ( x ∗ ) − f ′ ( xn−1 ) − f ′′ ( xn−1 )( x ∗ − xn−1 ) = | f (t)|( x ∗ − xn−1 )2 . (2.7)
2
Puisque f a une dérivée seconde continue et est m-fortement convexe, nous avons
f ′′ ( xn−1 ) ⩾ m > 0. En divisant les deux côtés de (2.7) par le nombre positif f ′′ ( xn−1 )
et en utilisant le fait que f ′ ( x ∗ ) = 0 (la condition nécessaire de premier ordre), nous
obtenons
f ′ ( x n −1 ) ∗ | f ′′′ (t)|
+ x − x n −1 = · ( x ∗ − x n −1 )2 .
f ′′ ( xn−1 ) 2 f ′′ ( xn−1 )
| {z }
x ∗ − xn
Par conséquent, en utilisant le fait que f ′′′ est majoré par L et que f ′′ est minoré par m,
nous obtenons
L ∗
x ∗ − xn ⩽ ( x − x n −1 )2 . (2.8)
2m
À partir de cette inégalité, nous pouvons déduire les assertions du théorème par récur-
rence sur n. L’assertion est vraie pour n = 0. Supposons maintenant qu’elle soit vraie
pour n − 1, c’est-à-dire, en particulier,
| x n −1 − x ∗ | < | x n −2 − x ∗ | , (2.9)
2n −1
∗ 2m Lr
| x n −1 − x | ⩽ . (2.10)
L 2m
Nous notons d’abord que, en considérant (2.8) et (2.9), nous avons x ∗ − xn < x ∗ −
45
Résumé du Chapitre 2 Algorithmes d’optimisation
x n = x n −1 − ∇ 2 f ( x n −1 ) −1 ∇ f ( x n −1 ).
x ∗ ∈ arg min f ( x )
x ∈Ω
où Ω est un intervalle de R (Ω peut être égal à R) ou Ω est un ouvert de R p .
46
Résumé du Chapitre 2 Algorithmes d’optimisation
a ) A = a k − 1 + γ ( bk − 1 − a k − 1 ) ,
b ) B = bk − 1 − γ ( bk − 1 − a k − 1 ) ,
c) si f ( A) < f ( B)
a k = a k −1 , bk = B
sinon
ak = A, bk = bk − 1
a + bk
d) xk = k .
2
Méthode de la dichotomie
a k − 1 + bk −1
a) xk =
2
′
b) si f ( xk ) > 0 alors a k = a k −1 , bk = x k
sinon ak = xk , bk = bk − 1 .
Descente de gradient
x n +1 = x n − h ∇ f ( x n ), n = 0, 1, . . .
47
Résumé du Chapitre 2 Algorithmes d’optimisation
h
f est convexe dans B( x∗ , r ) =⇒ f ( xk+1 ) ⩽ f ( xk ) − ∥∇ f ( xk )∥2
2
∥ x0 − x ∗ ∥2
f est convexe dans B( x∗ , r ) =⇒ f ( xk ) − f ( x∗ ) ⩽
2hk
f ( xk ) − f ( x∗ ) ⩽ (1 − hm)k f ( x0 ) − f ( x∗ )
f est m-fortement convexe
=⇒
dans B( x∗ , r ) ∥ xk − x∗ ∥ ⩽ (1 − hm)k ∥ xk − x∗ ∥.
Méthode de Newton
x n +1 = x n − ∇ 2 f ( x n ) −1 ∇ f ( x n ), n = 0, 1, . . .
48
Optimisation sous contrainte : problèmes
3
avec des contraintes d’égalité
3.1 Introduction
Dans ce chapitre et le chapitre suivant, nous nous concentrerons sur une classe de
problèmes d’optimisation sous contraintes non linéaires qui peuvent être formulés comme
minimiser f ( x)
sous contrainte hi ( x) = 0, i = 1, . . . , m,
g j ( x) ⩽ 0, j = 1, . . . , n,
où x ∈ R p , f : R p → R, hi : R p → R, g j : R p → R, et m ⩽ p. En notation vectorielle, le
problème ci-dessus peut être représenté sous la forme standard suivante :
minimiser f ( x)
sous contrainte h( x) = 0,
g ( x) ⩽ 0,
Définition 3.1. Tout point satisfaisant les contraintes est appelé une solution admissible.
Points réguliers Problèmes avec des contraintes d’égalité
{ x ∈ R p : h( x) = 0, g ( x) ⩽ 0},
Nous illustrons les problèmes que nous étudions dans cette partie en considérant
l’exemple numérique simple suivant.
minimiser ( x1 − 1)2 + x2 − 2
sous contrainte x2 − x1 = 1, (3.1)
x1 + x2 ⩽ 2.
minimiser f ( x)
sous contrainte de h( x) = 0,
Définition 3.2. Un point x∗ satisfaisant les contraintes h( x∗ ) = 0 est dit être un point
régulier des contraintes si les vecteurs gradients ∇h1 ( x∗ ),. . ., ∇hm ( x∗ ) sont linéairement
indépendants. Lorsque m = 1, cela signifie que ∇h1 ( x∗ ) ̸= 0.
50
Points réguliers Problèmes avec des contraintes d’égalité
51
Condition de Lagrange et exemples Problèmes avec des contraintes d’égalité
Dans cette section, nous présentons une condition nécessaire du premier ordre pour
les problèmes d’extrémum avec contraintes. Le résultat est souvent appelé théorème de
Lagrange.
L( x, λ) = f ( x) + λ⊤ h( x).
∇L( x∗ , λ∗ ) = 0
52
Condition de Lagrange et exemples Problèmes avec des contraintes d’égalité
minimiser x
sous contrainte de h( x ) = 0,
où
2 si x < 0,
x ,
h( x ) = 0, si 0 ⩽ x ⩽ 1,
( x − 1)2 , si x > 1.
L’ensemble admissible est évidemment [0, 1]. Clairment, x ∗ = 0 est un minimiseur local.
Cependant, f ′ ( x ∗ ) = 1 et h′ ( x ∗ ) = 0. Par conséquent, x ∗ ne satisfait pas la condition
nécessaire dans le théorème de Lagrange. Notez, cependant, que x ∗ n’est pas un point
régulier, c’est pourquoi le théorème de Lagrange ne s’applique pas ici.
Exemple 3.5. Given a fixed area of cardboard, we wish to construct a closed cardboard
box with maximum volume. We can formulate and solve this problem using the La-
grange condition. Denote the dimensions of the box with maximum volume by x1 , x2 ,
and x3 , and let the given fixed area of cardboard be A. The problem can then be formu-
lated as
maximize x1 x2 x3
subject to x1 x2 + x1 x3 + x2 x3 − 0.5A = 0.
We denote f ( x) = − x1 x2 x3 and h( x) = x1 x2 + x1 x3 + x2 x3 − 0.5A. We have ∇ f ( x) =
−[ x2 x3 ; x1 x3 ; x1 x2 ]⊤ and ∇h( x) = [ x2 + x3 ; x1 + x3 ; x1 + x2 ]⊤ . Note that all feasible
points are regular in this case. By the Lagrange condition, the dimensions of the box
with maximum volume satisfy
x2 x3 − λ( x2 + x3 ) = 0,
x1 x3 − λ( x1 + x3 ) = 0,
x1 x2 − λ( x1 + x2 ) = 0,
x1 x2 + x1 x3 + x2 x3 = 0.5A,
53
Condition de Lagrange et exemples Problèmes avec des contraintes d’égalité
where λ ∈ R.
We now solve these equations. First, we show that that x1 , x2 , x3 , and λ are all non-
zero. Suppose that x1 = 0. By the constraints, we have x2 x3 = A/2. However, the
second and third equations in the Lagrange condition yield λx2 = λx3 = 0, which to-
gether with the first equation implies that x2 x3 = 0. This contradicts the constraints. A
similar argument applies to x2 and x3 .
Next, suppose that λ = 0. Then, the sum of the three Lagrange equations gives x2 x3 +
x1 x3 + x1 x2 = 0, which contradicts the constraints.
We now solve for x1 , x2 , and x3 in the Lagrange equations. First, multiply the first
equation by x1 and the second by x2 , and subtract one from the other. We arrive at
x3 λ( x1 − x2 ) = 0. Because neither x3 nor λ can be zero (see above), we conclude that
x1 = x2 . We similarly deduce that x2 = x3 . From the constraint equation, we obtain
√
x1 = x2 = x3 = A/6.
Notice that we have ignored the constraints that x1 , x2 , and x3 are positive so that we
can solve the problem using Lagrange’s theorem. However, there is only one solution
to the Lagrange equations, and the solution is positive. Therefore, if a solution exists for
the problem with positivity constraints on the variables x1 , x2 , and x3 , then this solu-
tion must necessarily be equal to the solution above obtained by ignoring the positivity
constraints.
Finally, let us underline the fact that, at this stage, the point we found is not necessa-
rily the local minimizer of f . The only claim that we can do is : if there is a local minimi-
√
zer of f in the feasible set, then this local minimizer is given by x1 = x2 = x3 = A/6.
We now consider another example showing that the set of feasible points satisfying
the Lagrange condition might contain several points. Furthermore, it contains not only
the local minimizers but also the local maximizers.
f ( x) = x12 + x22
on the ellipse
S = x = [ x1 , x2 ]⊤ : h( x) = x12 + 2x22 = 1 .
54
Condition de Lagrange et exemples Problèmes avec des contraintes d’égalité
write now the Lagrange condition ∇L( x, λ) = 0 as a system of 3 equations with three
unknowns :
2x1 + 2λx1 = 0,
2x2 + 4λx2 = 0,
x12 + 2x22 = 1.
From the first of the equations above, we get either x1 = 0 or λ = −1. For the case where
√
x1 = 0, the second and third equations imply that λ = −1/2 and x2 = ±1/ 2. For the
case where λ = −1, the second and third equations imply that x1 = ±1 and x2 = 0.
Thus, the points that satisfy the Lagrange condition for extrema are
" # " # " # " #
0 0 1 −1
x (1) = √ , x (2) = √ , x (3) = , x (4) = .
1/ 2 −1/ 2 0 0
Because
f ( x(1) ) = f ( x(2) ) = 1/2
and
f ( x (3) ) = f ( x (4) ) = 1
we conclude that if there are minimizers, then they are located at x(1) and x(2) and if
there are maximizers, then they are located at x(3) and x(4) . It turns out that, indeed, x(1)
and x(2) are minimizers and x(3) and x(4) are maximizers.
1. Assume that these points are centered so that their baricenter is the origin.
55
Directions admissibles Problèmes avec des contraintes d’égalité
To be continued.
Dans le cas de l’optimisition sous contrainte, lorsqu’on «se promève» dans le voisi-
nage très petit d’un point x0 qui se trouve dans Ω, on n’est pas garanti de rester dans Ω.
Cela peut dépendre de la direction dans laquelle le déplacement est effectué.
Proposition 3.1. Si x∗ ∈ Ω est un point régulier, alors d est une direction admissible en x∗ si
et seulement si
d⊤ ∇h j ( x∗ ) = 0, j = 1, . . . , m.
56
Preuve du Théorème de Lagrange Problèmes avec des contraintes d’égalité
Proposition 3.2. Si x∗ ∈ Ω est un minimiseur local de f dans Ω et d est une direction admis-
sible en x∗ , alors
d⊤ ∇ f ( x∗ ) ⩾ 0.
Comme t > 0, on peut diviser les deux côtés de l’inégalité ci-dessus par t sans changer
le sens de l’inégalité et faire tendre t vers 0. On obtient ainsi
( f ◦ φ)′ (0) ⩾ 0.
57
Conditions du second ordre Problèmes avec des contraintes d’égalité
(∇ f ( x∗ ) − u)⊤ ∇ f ( x∗ ) = 0. (3.5)
(∇ f ( x∗ ) − u)⊤ u = 0. (3.6)
(∇ f ( x∗ ) − u)⊤ (∇ f ( x∗ ) − u) = ∥∇ f ( x∗ ) − u∥2 = 0.
Dans le cas où les fonctions h j est la fonction-objectif f sont deux fois continûment
différentiables, on peut énoncer la condition nécessaire et la condition siffisante du
second-ordre. A noter que ces conditions sont très similaires à celles qu’on a déjà vues
dans le cas d’un problème d’optimisation sans contraine.
d⊤ ∇h j ( x∗ ) = 0, ∀ j = 1, . . . , m.
58
Conditions du second ordre Problèmes avec des contraintes d’égalité
Comme c’est une direction admissible, il existe une fonction φ : [0, 1] → Ω de classe C1
et une constante µ > 0 telles que
Ce que l’on admettra sans démonstration, c’est que sous les conditions de ce théorème,
la fonction φ peut être choisie de classe C2 . On suppose donc dans toute la suite de cette
preuve que φ est deux-fois continûment différentiable sur [0, 1].
Le théorème de Lagrange implique qu’il existe un λ∗ ∈ R tel que
m
∇ f ( x ) + ∑ λ∗j ∇h j ( x∗ ) = 0.
∗
(3.8)
j =1
On pose
m
F (t) = f ◦ φ(t) + ∑ λ∗j (h j ◦ φ)(t).
j =1
Les faits que x∗ soit un minimiseur local de f dans Ω, et que φ(0) = x∗ , impliquent qu’il
existe δ > 0 pour lequel
t2 ′′
F (0) + o (t2 ) ⩾ 0, ∀t ∈ [0, δ].
2
59
Conditions du second ordre Problèmes avec des contraintes d’égalité
F ′′ (0) ⩾ 0.
On obtient donc
m
′′
F (0) = µ d 2 ⊤
∇ f ( x )d + ∑
2 ∗
λ∗j ∇2 h j ( x∗ ) d ⩾ 0,
j =1
Exemple 3.8. L’objectif de cet exemple est de trouver la projection d’un point a dans R p
sur la sphère unitaire S = { x ∈ R p : ∥ x∥ = 1}. Cela revient à résoudre le problème
d’optimisation
minimiser ∥ x − a ∥2
sous contrainte ∥ x∥2 = 1.
Il s’agit d’un problème d’optimisation contraint avec des contraintes d’égalité. L’en-
semble admissible est la sphère unitaire S, la fonction de coût est f ( x) = ∥ x − a∥2 et
il y a seulement une contrainte donnée par la fonction h( x) = ∥ x∥2 − 1. Nous notons
d’abord que tous les points de l’ensemble admissible sont réguliers. En effet, si un point
x∗ est dans l’ensemble admissible, alors x∗ ̸= 0. Cela implique que
∇h( x∗ ) = 2x∗ ̸= 0.
Ainsi x∗ est régulier. L’étape suivante est d’écrire les conditions de Lagrange : si x∗ est
un minimiseur local, alors il existe λ∗ ∈ R tel que
∇ f ( x∗ ) + λ∗ ∇h( x∗ ) = 0.
60
Conditions du second ordre Problèmes avec des contraintes d’égalité
a
=1 ⇐⇒ 1 + λ∗ = ±∥ a∥.
1 + λ∗
61
Résumé du Chapitre 3 Problèmes avec des contraintes d’égalité
Propriétés importantes
62
Résumé du Chapitre 3 Problèmes avec des contraintes d’égalité
Théorème de Lagrange
Vocabulaire
L( x, λ) = f ( x) + λ⊤ h( x).
63
Problèmes avec des contraintes
4
d’inégalité
Dans le chapitre précédent, nous avons analysé des problèmes d’optimisation sous
contrainte contenant uniquement des contraintes d’égalité. Dans ce chapitre, nous dis-
cutons des problèmes de minimisation qui contiennent également des contraintes d’in-
égalité. Comme nous le verrons, les problèmes avec des contraintes d’inégalité peuvent
également être traités à l’aide de multiplicateurs de Lagrange.
Soit D ⊆ R p un ensemble ouvert. On considère le problème suivant
minimiser f ( x) (4.1)
sous les contraintes h( x) = 0m ,
g ( x) ⩽ 0n ,
Ω = x ∈ D : h( x) = 0m et g ( x) ⩽ 0n .
Définition 4.1. Une contrainte d’inégalité gi ( x) ⩽ 0 est dite active (ou saturée) en x∗ si
gi ( x∗ ) = 0. Elle est inactive en x∗ si gi ( x∗ ) < 0.
I0 ( x∗ ) := {i : gi ( x∗ ) = 0}.
∇ h j ( x ∗ ) , ∇ gi ( x ∗ ) , 1 ⩽ j ⩽ m, i ∈ I0 ( x∗ )
Nous énonçons maintenant une condition nécessaire de premier ordre pour qu’un
point soit un minimiseur local. Nous appelons cette condition la condition de Karush-
Kuhn-Tucker (KKT). Dans la littérature, cette condition est parfois aussi appelée la
condition de Kuhn-Tucker.
Ω0 = x ∈ D0 : h( x) = 0m ; gi ( x) = 0, ∀i ∈ I0 ( x∗ ) .
66
Théorème de Karush-Kuhn-Tucker Problèmes avec des contraintes d’inégalité
L’ensemble D0 étant défini comme une intersection d’un nombre fini d’ensembles ou-
verts, est un ouvert de R p . De plus, comme x∗ est un miniseur local de f dans Ω et
x∗ ∈ Ω0 ⊆ Ω, x∗ sera également un minimiseur local de f dans Ω0 . Or, la minimisa-
tion de f dans Ω0 est un problème d’optimisation qui ne comporte que des contraintes
d’égalité. En outre, la definition d’un point régulier dans le cas où des contraintes d’in-
égalité sont présentes implique que x∗ est un point régulier de Ω0 également. On peut
donc utiliser le théorème de Lagrange pour établir l’existance d’un vecteur λ∗ ∈ Rm et
de constantes µi∗ ∈ R pour i ∈ I0 ( x∗ ) tels que
n m o
∇ f (x ) + ∑
∗
λ∗j h j ( x∗ ) + ∑ µi∗ gi ( x∗ ) = 0p.
j =1 i ∈ I0 ( x∗ )
Dans ce problème, il n’y a pas de multiplicateur de Lagrange car il n’y a pas de contrainte
d’égalité. En revanche, il y a deux contraintes d’inégalité, ce qui implique qu’il faut in-
troduire deux multiplicateurs de KKT notés µ1 , µ2 .
Les conditions KKT pour ce problème sont
µ1 ⩾ 0, µ2 ⩾ 0,
" # " #
1 0
∇ f ( x1 , x2 ) − µ1 − µ2 = 0,
0 1
µ1 x1 + µ2 x2 = 0.
De plus
∇ f ( x) = [2x1 + x2 − 3, x1 + 2x2 ]⊤ ,
ce qui entraîne que
2x1 + x2 − µ1 = 3,
x1 + 2x2 − µ2 = 0,
µ1 x1 + µ2 x2 = 0.
67
Méthode de résolution générale Problèmes avec des contraintes d’inégalité
Nous avons donc quatre inconnues, trois équations et des contraintes d’inégalité pour
chacune des quatre inconnues. Pour trouver une solution (µ∗ , x∗ ), on considère d’abord
le cas
µ1∗ = 0, x2∗ = 0.
On a alors
3 3
x1∗ = , µ2∗ = .
2 2
Ces valeurs de x∗ et µ∗ vérifient toutes les conditions KKT.
De même, dans le cas
µ2∗ = 0, x1∗ = 0,
il vient
x2∗ = 0, µ1∗ = −3.
Ces valeurs ne vérifient pas la contrainte de positivité de µ1∗ . Donc, dans ce cas, les
conditions KKT n’ont pas de solution.
On peut donc conclure du Théorème de KKT que si le problème d’optimisation consi-
déré a une solution, celle-ci est donnée par x∗ = ( 23 ; 0).
Le but de cette partie est de décrire une méthode générale, reposant sur le Théo-
rème de KKT, qui permet de résoudre les problèmes d’optimisation sous des contraintes
d’égalité et d’inégalité. Les différentes étapes de la méthodes sont les suivantes :
1. Ecrire le problème sous la forme canonique : déterminer f , g, h et D . Rappelons
que la forme canonique est
minimiser f ( x)
x ∈ D
sous les contraintes h( x) = 0m
g ( x) ⩽ 0n .
2. Montrer que le problème a une solution. Pour cela, il peut y avoir deux cas de
figure.
Cas A : La fonction f est continue et les contraintes définissent un ensemble fermé
et borné, donc compact. Le Théorème de Weierstrass implique alors que f
admet son minimum dans Ω.
Cas B : La fonction f est continue, lim∥ x∥→∞ f ( x) = +∞ et les contraintes définissent
un ensemble fermé. Dans ce cas aussi, f admet son minimum dans Ω.
68
Méthode de résolution générale Problèmes avec des contraintes d’inégalité
3. Déterminer les points réguliers des contraintes. Mettre de côté les points qui ne le
sont pas. On les utilisera à l’étape 6.
4. Ecrire le lagrangien du problème et calculer son gradient par rapport à la variable
de minimisation.
5. Ecrire les conditions KKT et trouver tous les points réguliers qui vérifient ces
contraintes.
6. Evaluer f en tout point trouvé dans la question précédente, ainsi qu’en tout x qui
n’est pas régulier.
7. Conclure, en disant que les points considérés à l’étape précédentes qui conduisent
à la plus petite valeur de f sont les minima globaux de f dans Ω.
Appliquons cette méthode au problème suivant :
max x2 + y
sous les contraintes x ⩾ 0, y ⩾ x2 , x + y = 1.
1. On a p = 2, m = 1, n = 2,
f ( x, y) = − x2 − y,
h( x, y) = x + y − 1,
g1 ( x, y) = − x,
g2 ( x, y) = x2 − y.
69
Méthode de résolution générale Problèmes avec des contraintes d’inégalité
3e cas : x > 0 et g2 ( x, y) = 0.
La famille
" # " #
1 2x
∇h( x, y) = ; ∇h( x, y) =
1 −1
est libre car la condition x > 0 exclue le cas de colinéarité x = −1/2.
Conclusion de cette étape : tout point ( x, y) ∈ Ω est un point régulier des contraintes.
4. Le lagrangien est donné par
L( x, y; λ, µ1 , µ2 ) = − x2 − y + λ( x + y − 1) − µ1 x + µ2 ( x2 − y).
Son gradient par rapport à ( x, y) est donné par
" #
−2x + λ − µ1 + 2µ2 x
∇ x,y L( x, y; λ, µ1 , µ2 ) = .
−1 + λ − µ2
5. Les conditions KKT sont données par
µ1 ⩾ 0, µ2 ⩾ 0,
2x (µ2 − 1) + λ − µ1 = 0 (4.2)
− 1 + λ − µ2 = 0 (4.3)
µ1 x = 0 (4.4)
µ2 ( x 2 − y ) = 0 (4.5)
2
x ⩾ 0, y⩾x
x + y = 1. (4.6)
3e cas : µ1 = 0 et y = x2 .
La condition (4.6) implique alors que x2 + x − 1 = 0. Cette équation a deux solu-
tions, dont une seule vérifie la contrainte de positivité. On trouve donc
√
5−1
x= .
2
70
KKT et convexité Problèmes avec des contraintes d’inégalité
2x (λ − 2) + λ = 0.
Il en découle que
√ √
4x 2 5−2 10 − 2 5
λ= = √ = .
2x + 1 5 5
On en déduit que
√
5−2 5
µ2 = >0
5
4e cas : µ1 = 0 et µ2 = 0.
On a alors λ = 1 d’après (4.3) et x = 1/2 d’après (4.2). La condition (4.6) implique
que y = 1/2. Cela définit un autre point qui vérifie les conditions KKT :
( x ∗ , y∗ , λ∗ , µ1∗ , µ2∗ ) = 12 ; 12 ; 1; 0; 0 .
6. On a
√ √
5−1 3− 5 √
f 12 , 12 = −3/4.
f (0, 1) = −1, f ; = 5 − 3,
2 2
√ √
5−1 3− 5
Par conséquent, les points ( x, y) = 2 ; 2 et ( x, y) = ( 12 , 12 ) ne peuvent pas
être un point de minimum de f dans Ω.
7. On sait que le problème a une solution.√Le Théorème
√ KKT implique que cette
5−1 3− 5 1 1
solution appartient à l’ensemble (0, 1); 2 ; 2 ; ( 2 , 2 ) . Dans cet ensemble,
les deux derniers points ne sont pas des minimiseurs de la fonction f .
Par conséquent, le problème a une seule solution donnée par ( x ∗ , y∗ ) = (0, 1). La
valeur minimale de f est alors égale à −1.
minimiser f ( x)
x ∈ D
sous les contraintes
h( x) = 0m , g ( x) ⩽ 0n .
71
KKT et convexité Problèmes avec des contraintes d’inégalité
L’ensemble des x ∈ R p qui vérifient toutes les contraintes ci-dessus sera noté Ω. Rap-
pelons que D est un ouvert de R p alors que les fonctions f , g, h définies sur D sont de
classe C1 .
Nous nous plaçons ici dans le cas particulier où l’ensemble réalisable Ω est convexe
et la fonction f est également convexe. Nous montrerons que dans ce cas particulier les
conditions KKT sont non seulement nécessaires mais également suffisantes. Pour cela,
commençons par deux résultats auxiliaires.
∇h( x)⊤ (y − x) = 0, ∀ x, y ∈ Ω.
Par conséquent
h x + t(y − x) = 0 (4.7)
Définissons la fonction ψ : [0, 1] → R par ψ(t) = h( x + t(y − x)). D’après (4.7), il vient
ψ(t) = 0 pour tout t ∈ [0, 1]. Nous pouvons en déduire que
En remplaçant dans cette égalité t = 0, nous obtenons le résultat énoncé dans le lemme.
∇ g( x)⊤ (y − x) ⩽ 0, ∀y ∈ Ω.
Par conséquent
g x + t(y − x) ⩽ 0, ∀t ∈ [0, 1]. (4.8)
72
KKT et convexité Problèmes avec des contraintes d’inégalité
Définissons la fonction ψ : [0, 1] → R par ψ(t) = g( x + t(y − x)). D’après (4.8), il vient
ψ(t) ⩽ 0 pour tout t ∈ [0, 1]. De plus, ψ(0) = g( x) = 0. Nous pouvons en déduire que
ψ(t)
ψ′ (0) = lim ⩽ 0.
t →0 t
En remplaçant dans cette égalité t = 0, nous obtenons le résultat énoncé dans le lemme.
Ω = { x ∈ D : h( x) = 0, g ( x) ⩽ 0}
sont convexes. Si x∗ ∈ Ω satisfait les conditions KKT, alors x∗ est un minimiseur global de f
dans Ω.
f ( x ) ⩾ f ( x ∗ ) + ∇ f ( x ∗ ) ⊤ ( x − x ∗ ), ∀ x ∈ Ω. (4.9)
pour tout x ∈ Ω.
Le Lemme 4.1 implique que ∇h j ( x∗ )⊤ ( x − x∗ ) = 0 pour tout j = 1, . . . , m. De même,
étant donné que pour tout i ∈ I0 ( x∗ ) la contrainte gi ( x) ⩽ 0 est saturée en x∗ , on peut
appliquer le Lemme 4.2 pour affirmer que ∇ gi ( x∗ )⊤ ( x − x∗ ) ⩽ 0 pour tout i ∈ I0 ( x∗ )
et pour tout x ∈ Ω. Il en découle que la première somme dans (4.12) est inférieure ou
égale à zéro, alors que la seconde somme s’annule. Cela implique que
f ( x ) ⩾ f ( x ∗ ), ∀ x ∈ Ω. (4.12)
73
Liste des questions de cours dont trois
5
figurerons dans le sujet de l’examen final
Chapitre 1
1. (2 points) Donner la démonstration de la forme suivante de la formule de Taylor :
Si Ω est un convexe ouvert de R p et f : Ω → R est continûment différentiable dans Ω,
alors pour tout x, x0 ∈ Ω,
Z 1
f ( x ) − f ( x0 ) = ∇ f ( x0 + t( x − x0 ))⊤ dt( x − x0 ). (5.1)
0
f ( x ) ⩾ f ( x0 ) + ∇ f ( x0 ) ⊤ ( x − x0 )
pour tout x, x0 ∈ Ω.
Liste des questions de cours
f ( x ) ⩾ f ( x0 ) + ∇ f ( x0 ) ⊤ ( x − x0 )
76
Liste des questions de cours
Alors,
∥ x0 − x ∗ ∥2
f ( xK ) − f ( x∗ ) ⩽ .
2hK
17. (2 points) Donner la définition d’une fonction m-fortement convexe où m > 0.
Énoncer le théorème qui décrit la convergence exponentielle de l’algorithme de
descente de gradient dans le cas où f est fortement convexe.
18. (2 points) Donner la définition d’une fonction m-fortement convexe où m > 0.
Énoncer le théorème qui décrit la convergence sur-exponentielle de l’algorithme
de Newton dans le cas où f : [ a, b] → R est fortement convexe et sa dérivée
troisième est bornée.
Chapitre 3
19. (2 points) Ecrire la forme canonique d’un problème d’optimisation sous contraintes
d’égalité. Donner la définition d’un point régulier des contraintes et d’une direc-
tion admissible.
20. (3 points) On considère le problème de minimisation de f : R p → R sous la
contrainte h( x) = 0m , où f et h sont de classe C1 . Montrer que si x∗ est un point
régulier et d est une direction admissible, alors d⊤ ∇h j ( x∗ ) = 0 pour tout j =
1, . . . , m.
21. (3 points) Montrer que si x∗ est un minimiseur local de f dans Ω = { x ∈ R p :
h( x) = 0m }, où f et h sont de classe C1 , alors pour toute direction admissible d,
on a d⊤ ∇ f ( x∗ ) ⩾ 0.
22. (2 points) Enoncer le théorème de Lagrange.
23. (4 points) Enoncer et démontrer le théorème de Lagrange. On admettra les deux
résultats suivants.
(a) Si x est régulier, une direction d est admissible en x si et seulement si d est
orthogonale à tous les vecteurs ∇h j ( x), j = 1, . . . , m.
(b) Si x∗ est un minimiseur local de f et d est une direction admissible en x∗ , alors
d⊤ ∇ f ( x∗ ) = 0.
77
Liste des questions de cours
h( x) = 0m , g ( x) ⩽ 0n ,
et
µi∗ gi ( x∗ ) = 0, ∀i = 1, . . . , n.
∇h( x)⊤ (y − x) = 0, ∀ x, y ∈ Ω.
Ω = { x ∈ D : h ( x ) = 0}
sont convexes. Montrer que si x∗ ∈ Ω satisfait les conditions KKT, alors x∗ est un
minimiseur global de f dans Ω. (On admettra sans démonstration que ∇h j ( x∗ )⊤ ( x −
x∗ ) = 0 pour tout x ∈ Ω et pour tout j.)
78
Liste des questions de cours
79