Poly GMM4
Poly GMM4
Poly GMM4
Modélisation
4ème année, 2017-2018.
Aude Rondepierre
Table des matières
3
4 TABLE DES MATIÈRES
min f (x),
xœRn
Pour conclure, nous indiquons quelques références utiles pour aller plus loin. Le livre [5]
est une excellente référence en optimisation numérique différentiable, à la fois pédagogique
et bien documentée. Plusieurs exemples et points de vue présentés dans ces notes sont
inspirés de cet ouvrage. Les livres [12, 27] sont de très bonnes références pour découvrir les
nombreux détails de l’analyse convexe en dimension finie. La référence [2] propose est une
très bonne introduction à l’analyse convexe dans des espaces de Hilbert. Enfin, indiquons
une référence dans les espaces de Banach [30]. Cette référence apporte des informations
intéressantes même pour des questions d’analyse numérique en dimension finie. Au niveau
algorithmique, ce cours est essentiellement inspiré des références [24].
7
Chapitre 1
Dans ce chapitre, nous présentons quelques propriétés remarquables des fonctions convexes.
Elle permettront de construire des algorithmes de minimisation dans la suite du cours.
Dans toutes ces notes, on se place sur l’espace vectoriel Rn , n œ N. On le munit d’un
produit scalaire È·, ·Í. La norme
Ò associée au produit scalaire est notée Î · Î2 . Elle est définie
pour tout x œ R par ÎxÎ2 = Èx, xÍ.
n
Définition 1.1 (Domaine d’une fonction) Le domaine d’une fonction f est noté
dom(f ). Il est défini par
Dans toute la suite de ce cours, on supposera (sans le préciser) que nos fonctions n’ont
pas un domaine vide : dom(f ) ”= ÿ.
9
10 1.1. Définitions et propriétés géométriques élémentaires
’(x, y) œ dom(f )2 , ’⁄ œ [0, 1], f ((1 ≠ ⁄)x + ⁄y) Æ (1 ≠ ⁄)f (x) + ⁄f (y).
Cette définition est illustrée sur la Figure 1.1. Elle implique que le domaine d’une
fonction convexe est convexe (exercice). Notons qu’une fonction convexe peut ne pas être
dérivable. On peut cependant montrer qu’elle est dérivable presque partout.
La définition de la convexité permet d’obtenir un lemme souvent utile (notamment en
probabilités) :
Démonstration. Par récurrence, on vérifie d’abord que pour m = 2, l’inégalité n’est rien
d’autre que la définition de la convexité. Puis on suppose le résultat vrai au rang k et on
le montre au rang k + 1 en réutilisant l’inégalité de convexité. 2
Démonstration. En exercice. 2
est convexe.
Démonstration. En exercice. 2
Remarque 1.1 La réciproque est fausse ! Une fonction dont les ensembles
Ò de niveaux sont
convexes n’est pas convexe en général (exemple en 1D : f (x) = |x|). Une telle fonction
12 1.1. Définitions et propriétés géométriques élémentaires
est appelée quasi-convexe. Un exemple de fonction quasi-convexe (non convexe) est donné
sur la Figure 1.2.
Figure 1.2 – Un exemple de fonction quasi-convexe. Ses lignes de niveaux sont des seg-
ments (donc des ensembles convexes), mais la fonction n’est pas convexe.
’x œ Rn , H[f ](x) ≤ 0
Figure 1.3 – Hyperplans tangents d’une fonction convexe (1D) et d’une fonction concave
(2D). Notez que l’hyperplan tangent est un minorant pour la fonction convexe et un ma-
jorant pour la fonction concave.
Attention ! Toute fonction continue sur son domaine n’est pas nécessairement s.c.i. ! Une
fonction continue f est s.c.i. à condition que son domaine dom(f ) soit fermé.
Exercice 1.1.1 A quelle condition la fonction f définie ci-après est-elle fermée ?
I
0 si x œ [0, 1[
f (x) =
a Ø 0 si x = 1
14 1.2. Continuité et différentiabilité des fonctions convexes
Exercice 1.1.2 Montrer que la fonction plafond (qui, évaluée en x, retourne le plus petit
entier supérieur ou égal à x) est s.c.i. alors que la fonction partie entière E ne l’est pas.
Théorème 1.4 Soient f1 et f2 deux fonctions convexes s.c.i. et — > 0. Les fonctions
suivantes sont convexes s.c.i. :
1. f (x) = —f1 (x).
2. f (x) = (f1 + f2 )(x) et dom(f ) = dom(f1 ) fl dom(f2 ).
3. f (x) = max{f1 (x), f2 (x)} et dom(f ) = dom(f1 ) fl dom(f2 ).
Une conséquence importante de ce théorème est que toute fonction convexe dont le
domaine est Rn tout entier est continue sur Rn . Pour démontrer le Théorème 1.6, nous
avons besoin du résultat intermédiaire suivant :
Lemme 1.2 Soit f une fonction convexe et x0 œ int(dom(f )). Alors f est majorée loca-
lement en x0 1 .
1. Note : elle peut exploser au voisinage du bord. Il suffit par exemple de considérer la fonction x ‘æ 1/x
sur ]0, 1] pour s’en convaincre.
Chapitre 1. Eléments d’analyse convexe 15
Démonstration. Soit ‘ > 0 tel que les points x0 ± ‘ei œ int(dom(f )). D’après le corollaire
1.1 on a ’x œ conv({x0 ± ‘ei }) = BŒ (x0 , ‘), f (x) Æ max f (x0 ± ‘ei ) < +Œ. 2
1ÆiÆn
Ce lemme implique la continuité d’une fonction convexe sur l’intérieur de son domaine.
Démonstration du théorème 1.6. D’après le lemme 1.2, il existe M < +Œ et ‘ > 0
tels que f (x) Æ M, ’x œ B2 (x0 , ‘). Soit y œ B2 (x0 , ‘) et z œ ˆB2 (x0 , ‘) un point de la
frontière tel que z = x0 + –1 (y ≠ x0 ) avec – = 1‘ Îy ≠ x0 Î2 . Par construction – Æ 1 et
y = –z + (1 ≠ –)x0 . Par convexité de f on a donc :
M ≠ f (x0 )
|f (y) ≠ f (x0 )| Æ Îy ≠ x0 Î2 .
‘
2
Intéressons nous maintenant à la différentiabilité des fonctions convexes. On rappelle
pour cela la définition de la dérivée directionnelle :
Lemme 1.3 Soit f une fonction convexe et x œ int(dom(f )). Alors p ‘æ f Õ (x, p) est
une fonction convexe, homogène de degré 1. Pour tout y œ dom(f ) on a
Démonstration. En exercice. 2
16 1.3. Eléments d’analyse pour l’algorithmie
Théorème 1.7 Une fonction convexe est différentiable dans toutes les directions sur
tous les points de l’intérieur de son domaine.
Ainsi
1 1
„(–—) = (f (x + –—p) ≠ f (x0 )) Æ (f (x + –p) ≠ f (x)) = „(–).
–— –
La fonction „ est donc décroissante au voisinage de 0+ . Pour “ > 0 tel que x≠“p œ dom(f )
on a par convexité :
1
„(–) Ø (f (x) ≠ f (x ≠ “p)).
“
La limite quand – æ 0+ existe donc. 2
par une fonction strictement convexe. Il faut donc introduire des classes de fonctions plus
régulières pour développer des algorithmes efficaces. Les deux classes présentées ci-après
sont les plus naturelles : les fonctions différentiables à gradient Lipschitz et les fonctions
fortement convexes.
Figure 1.4 – Fonction à gradient Lipschitz : le graphe de la courbe ne peut pas s’éloigner
trop rapidement de la tangente. Ici (x, y) Æ L2 Îy ≠ xÎ22 . La fonction affine de droite
satisfait L = 0 puisque la tangente est identique à la fonction.
3. La fonction f (x) = exp(x) est convexe sur R, mais son gradient n’est pas Lipschitz.
Par contre sur tout intervalle borné du type [a, b], on a f ÕÕ (x) Æ exp(b).
Notez que le signe dans l’inégalité (1.4) est juste inversé par rapport aux fonctions
différentiables à gradient Lipschitz. La forte convexité indique donc que le graphe de la
courbe s’éloigne suffisamment rapidement de la tangente.
Proposition 1.4 Une fonction fortement convexe est strictement convexe, elle ad-
met donc un minimiseur unique.
En revanche, une fonction strictement convexe n’est pas forcément fortement convexe
(exemple : f (x) = ≠ log(x)). Les fonctions fortement convexes de classes C 2 sont caracté-
risées par leur hessienne.
Chapitre 1. Eléments d’analyse convexe 19
La proposition suivante est un des éléments qui permet d’obtenir des taux de conver-
gence en norme :
Proposition 1.6 Soit f une fonction µ-fortement convexe qui admet pour minimi-
seur xú . Pour tout x œ Rn , on a :
µ
f (x) Ø f (xú ) + Îx ≠ xú Î2 .
2
4. La fonction f (x) = ≠ log(x) n’est pas fortement convexe sur Rú+ . Par contre, elle
l’est sur tout intervalles [a, b], 0 < a < b. Sa constante de forte convexité est b12 .
Définition 1.9 Soit f une fonction µ-fortement convexe, différentiable, telle que
Òf est L-Lipschitz. Le conditionnement de f est défini par la quantité :
L
Qf =
µ
Qf œ [1, +Œ]
. Le conditionnement est infini dès lors que la fonction f est non différentiable ou non
fortement convexe. De façon assez générale, les problèmes mal conditionnés tels que Qf >>
1 sont plus difficile à résoudre que les problèmes bien conditionnés. La Figure 1.6 montre
les lignes de niveau de la fonction : f– (x) = 12 ÎD– xÎ22 avec
A B
1 0
D– =
0 –
Figure 1.6 – Lignes de niveau de la fonction f– pour – œ {1, 5, 10}. La courbe rouge
indique la trajectoire d’une descente de gradient. Plus le conditionnement – est élevé, plus
les courbes de niveau sont allongées et plus la méthode de descente de gradient oscille.
Chapitre 2
Introduction à l’optimisation
numérique
Optimiser : rendre optimal, donner à quelque chose les meilleures conditions d’utilisa-
tion, de fonctionnement ou de rendement au regard de certaines circonstances.
(Déf. du LAROUSSE).
A noter que tout point de minimum global est aussi local. Les notions de maximum
local et global sont définies de façon tout à fait similaire. Ces définitions sont illustrées sur
la Figure 2.1
21
22 2.1. Qu’est-ce qu’un problème d’optimisation ?
3.5
Maximum global
3.0
2.5
2.0
1.5
Maximum local
1.0
0.5
Minimum local
0.0
−5 0 5 10
2 2
Figure 2.1 – Minima et maxima locaux et globaux de la fonction x ‘æ 3e≠x + e≠(x≠3) .
On peut facilement démontrer que les problèmes (avec ou sans contraintes) min f (x) et
x
max ≠f (x) sont équivalents dans le sens où ils ont même ensemble de solutions et :
x
Ainsi la recherche d’un maximum pouvant se ramener à la recherche d’un minimum, nous
porterons une attention plus particulière à la recherche du minimum.
Programmation linéaire
Méthode du simplexe
Algorithme des points intérieurs
Programmation non linéaire
Sans contrainte Avec dérivées Méthodes de type gradient
Méthodes de Newton et quasi-Newton
Gauss-Newton, Levenberg-Marquardt
(pbs de moindres carrés)
Sans dérivées (DFO, NEWUOA, MADS, NOMADS,...)
Méthodes heuristiques : Nelder-Mead, surfaces
de réponses (réseaux de neurones, krigeage)
Méthodes stochastiques : méthodes à 2 phases
algos génétiques, algos évolutionnaires,
recuit simulé, recherche tabou
Non-diff. Méthodes de sous-gradient
Méthodes de faisceaux
Méthodes d’échantillonnage de gradient
Algorithmes proximaux
f (x) = g(x) + h(x) Algorithmes de splitting : descente de
avec g convexe diff. gradient proximale (+variante accélérée)
h convexe non diff. Douglas Rachford, ADMM
Avec contraintes Avec dérivées Gradient projeté, algorithme de Uzawa
Méthode SQP (Newton)
Points intérieurs
Méthodes de pénalisation, Lagrangien
augmenté
24 2.2. Résultats d’existence et d’unicité en optimisation
’y œ X, f (x) Æ f (y),
’y œ X, f (x̄) Ø f (y).
2. f2 (x) = x21 ≠x22 n’est pas coercive : en effet, la suite de terme général xn = (0, n), n œ
N, est telle que : lim Îxn Î = lim n = +Œ mais : lim f2 (xn ) = lim ≠n2 =
næ+Œ næ+Œ næ+Œ næ+Œ
≠Œ.
Comme la définition 2.2 n’est pas facile à manier en pratique, on utilise souvent la propo-
sition suivante, qui est une hypothèse un peu plus forte, pour montrer que la fonction est
infinie à l’infini.
Proposition 2.1 Soit f : X µ Rn ≠æ R une application et g : R ≠æ R vérifiant
X = {x œ Rn : h(x) = 0, g(x) Æ 0}
gi (x) Æ 0, i = 1, . . . , q.
Algorithmes classiques en
optimisation différentiable
27
Chapitre 3
Conditions d’optimalité
X = {x œ Rn : h(x) = 0, g(x) Æ 0} .
29
30 3.1. Cas général : condition d’optimalité géométrique
Dans le cas particulier où le domaine des contraintes est convexe, déterminer une direc-
tion d admissible en x revient à déterminer un point admissible y, différent de x : d = y ≠ x
est alors une direction admissible.
Définition 3.2 (Cône tangent) Soit x œ X. Le cône tangent (ou cône des direc-
tions admissibles) à X en x, noté Tx (X), est l’ensemble des vecteurs v œ Rn tels qu’il
existe une suite (vn )nœN de limite v et une suite (Án )nœN de réels strictement positifs
de limite nulle telles que :
x + Án vn œ X.
Autrement dit, le cône admissible est l’ensemble des directions admissibles dans X
au point x, ainsi que les limites de ces directions.
Le passage à la limite est essentiel, sous peine d’appauvrir radicalement le cône Tx (X)
et de le rendre ainsi inutilisable. On remarquera que Tx (X) est un cône fermé, et que les
seuls cas intéressants sont ceux où le point x est sur la frontière de X.
Exercice 3.1.2 Soit X = {x œ R2 |x21 Æ x22 }. Dessiner X dans R2 et calculer T(0,0) (X) et
T(1,1) (X)
Òf (xı) Òf (xı)
0 0
Si f est convexe sur le convexe X, alors la condition (3.3) est suffisante pour que xı
soit un point de minimum global de f sur X.
Òf (xú ) = 0.
Exercice 3.2.1 Les problèmes min x2 s.t. |x| < 1 et min x2 s.t. x > 1 ont-ils des solu-
xœR xœR
tions ?
X = {x œ Rn : hi (x) = 0, i = 1, . . . , p, gj (x) Æ 0, j = 1, . . . , q}
noté également :
X = {x œ Rn : h(x) = 0, g(x) Æ 0}
(P ) minn f (x)
xœR
s.c. hi (x) = 0, i = 1, . . . , p
gj (x) Æ 0, j = 1, . . . , q.
L’essentiel de notre travail dans ce chapitre consistera donc à trouver une expression
plus “pratique” de la condition (3.2), et donc du cône tangent associé à un ensemble
d’égalités et/ou d’inégalités fonctionnelles.
Proposition 3.4 Le point x œ X est régulier ssi les vecteurs Òhi (x), i = 1, . . . , p,
sont linéairement indépendants.
Par passage à la limite quand n tend vers +Œ, on obtient alors : ÈÒhi (x), vÍ = 0 et ce
pour tout i œ {i = 1, . . . , p}. Donc v œ Ker Dh(x), et : Tx (X) µ Ker Dh(x).
h : Rn≠p ◊ Rp æ Rp
y = (u, v) ‘æ h(y) = h(u, v)
Notons : x = (u0 , v0 ). On a :
• h est de classe C 1 au voisinage de x,
• h(x) = 0,
• la jacobienne de h par rapport à v, notée Dv h(x), est la matrice carrée d’ordre p
extraite de Dh(x) en sélectionnant les p dernières colonnes :
Ë È
Dv h(x) = Dh(x) .
1ÆiÆp, n≠p+1ÆjÆn
On pose alors : Â(u) = (u, Ï(u)) dont l’image Im  décrit l’ensemble des points vérifiant
les contraintes :
I I
Â(u0 ) = (u0 , Ï(u0 )) = (u0 , v0 ) = x, Â(u0 ) = x,
i.e. :
’u œ U0 , Â(u) œ X, ’u œ U0 , h(Â(u)) = 0
est de rang (n ≠ p), ainsi que Ker Dh(x). Donc : Im Â(u0 ) = Ker Dh(x).
Étape 3 : soit v œ Ker Dh(x) = Im DÂ(u0 ) : il existe z œ Rn≠p tel que : v = DÂ(u0 )(z).
Soit (Án )nœN une suite de réels strictement positifs, de limite nulle. Au voisinage de u0 , on
écrit le développement de Taylor d’ordre 1 de Â, soit :
= x + Án v + Án “(n).
On pose : xn = Â(u0 + Án z). Par construction (cf étape 1), les xn sont des éléments de X.
On définit maintenant la suite (vn )nœN de la façon suivante :
xn ≠ x
vn = = v + “(n),
Án
Terminologie :
• Le vecteur ⁄ı est aussi appelé solution duale du problème (PE ), xı solution primale
de (PE ) et (xı , ⁄ı ) solution primate-duale de (PE ).
• On appelle point stationnaire du problème (PE ) tout point x̄ vérifiant les conditions
nécessaires d’optimalité du premier ordre :
Y p
_ ÿ
] Òf (x̄) + ⁄̄i Òhi (x̄) = 0
_
[ i=1
h(x̄) = 0
Nous admettrons sans démonstration que les conditions nécessaire et suffisante d’opti-
malité du second ordre s’obtiennent en étudiant le Hessien du Lagrangien calculé selon la
composante x uniquement :
Remarquons que si la matrice hessienne Hx [L](x; ⁄) est définie positive, alors il est
inutile de calculer le cône tangent au point x puisque dans ce cas :
et donc :
’v œ Tx (X), v ”= 0, Hx [L](x) v, vÍ > 0.
La condition suffisante d’optimalité du second ordre est automatiquement satisfaite.
On a :
(CS 2) =∆ (CS 1).
Exercice 3.3.2 Trouver tous les rectangles de R2 de surface maximale pour un périmètre
p fixé.
38 3.3. Cas différentiable avec contraintes fonctionnelles
— soit : ÈÒgj (x), uÍ < 0. Sachant que : gj (x) = 0, le développement de Taylor d’ordre
1 de gj au voisinage de x, s’écrit :
gj (xn ) = Án ÈÒgj (x), v + ÷uÍ + o(Án ) = Án ÈÒgj (x), vÍ + ÷Án ÈÒgj (x), uÍ + o(Án )
< ÷Án ÈÒgj (x), uÍ + o(Án ) Æ 0 à partir d’un certain rang.
Dans tous les cas : xn œ X à partir d’un certain rang, soit : v + ÷u œ Tx (X) pour tout
÷ > 0. Par passage à la limite quand ÷ tend vers 0+ , le cône Tx (X) étant fermé, on en
conclut : v œ Tx (X). 2
Une autre condition suffisante (un peu plus restrictive) est souvent utilisée en pratique :
A noter que, dans le cas convexe, ces conditions de qualification des contraintes s’écrivent
plus simplement sous la forme :
Terminologie :
• Le vecteur ⁄ı est aussi appelé solution duale du problème (PI ), xı solution primale
de (PI ) et (xı , ⁄ı ) solution primate-duale de (PI ).
• On appelle point stationnaire du problème (PI ) tout point x̄ vérifiant les conditions
nécessaires d’optimalité du premier ordre :
Y q
_ ÿ
_
_
_
_ Òf (x̄) + ⁄i Ògj (x̄) = 0
] j=1
_
_ ⁄j Ø 0, j = 1, . . . , q,
_
_
_
[
⁄j gj (x̄) = 0, j = 1, . . . , q.
pour un certain multiplicateur ⁄ œ Rq .
• Les relations : ⁄j gj (x̄) = 0 sont appelées relations de complémentarité et signifie :
Soit : ⁄j = 0, soit : gj (x̄) = 0.
Ces relations sont trivialement satisfaites par toute contrainte j active en x̄ et in-
diquent que pour toute contrainte inactive, le multiplicateur ⁄j correspondant est
nul. Cela signifie que toute contrainte inactive à l’optimum aurait pu être relaxée.
Cette condition est rarement utilisée en pratique car difficile à vérifier. Il existe plu-
sieurs conditions suffisantes de qualification des contraintes utilisées dans la littérature (cf
qualification de Slater, de Mangasarian-Fromovitz e.g.) ; la plus simple est la suivante :
Si de plus le problème (P ) est convexe, alors les conditions de KKT sont suffisantes
pour que xı soit un point de minimum global de f sur X.
Remarque 3.3 Attention ! Le signe des multiplicateurs associés aux contraintes d’inégalité
peut changer si le problème n’est pas sous forme standard !
Chapitre 4
Méthodes de descente en
optimisation différentiable sans
contrainte
(P ) min f (x).
xœRn
où f est une fonction définie sur Rn à valeurs réelles supposée différentiable, voire même
deux fois différentiable. Les conditions nécessaires d’optimalité du premier et du second
ordre expriment le fait qu’il n’est pas possible de “descendre” à partir d’un point de mini-
mum (local ou global). Cette observation va servir de point de départ à l’élaboration des
méthodes dites de descente étudiées dans ce chapitre.
xk+1 = xk + sk dk
et telle que :
’k œ N, f (xk+1 ) Æ f (xk ).
Un tel algorithme est ainsi déterminé par deux éléments : le choix de la direction dk appelée
direction de descente, et le choix de la taille du pas sk à faire dans la direction dk . Cette
étape est appelée recherche linéaire.
43
44 4.1. Principe général des méthodes de descente
Dans le cas où f est différentiable, on obtient une définition plus pratique d’une direction
de descente :
’t œ]0, ÷¯], f (x + td) < f (x) + t—Òf (x)€ d < f (x). (4.3)
1. k := 0
2. Tant que “test d’arrêt” non satisfait,
(a) Trouver une direction de descente dk telle que : Òf (xk )€ dk < 0.
(b) Recherche linéaire : Choisir un pas sk > 0 à faire dans cette direction et tel que :
Critère d’arrêt
Soit xı un minimum local du critère f à optimiser. Supposons que l’on choisisse comme
test d’arrêt dans l’algorithme de descente modèle, le critère idéal : “xk = xı ”. Dans un
monde idéal (i.e. en supposant tous les calculs exacts et la capacité de calcul illimitée), soit
l’algorithme s’arrête après un nombre fini d’itérations, soit il construit (théoriquement) une
suite infinie x0 , x1 , . . . , xk , . . . de points de Rn qui converge vers xı .
En pratique, un test d’arrêt devra être choisi pour garantir que l’algorithme s’arrête
toujours après un nombre fini d’itérations et que le dernier point calculé soit suffisamment
proche de xı .
Soit Á > 0 la précision demandée. Plusieurs critères sont à notre disposition : tout
d’abord (et c’est le plus naturel), un critère d’optimalité basé sur les conditions nécessaires
d’optimalité du premier ordre présentées dans le chapitre 3 : en optimisation différentiable
sans contrainte, on testera si
ÎÒf (xk )Î < Á, (4.4)
auquel cas l’algorithme s’arrête et fournit l’itéré courant xk comme solution.
En pratique, le test d’optimalité n’est pas toujours satisfait et on devra faire appel à
d’autres critères (fondés sur l’expérience du numérique) :
• Stagnation de la solution : Îxk+1 ≠ xk Î < Á(1 + Îxk Î).
• Stagnation de la valeur courante : Îf (xk+1 ) ≠ f (xk )Î < Á(1 + |f (xk )|).
• Nombre d’itérations dépassant un seuil fixé à l’avance : k < IterMax.
et généralement une combinaison de ces critères :
Illustrées par les méthodes de descente de gradient, aucune de ces deux stratégies ne
s’est révélée réellement convaincante : si la première peut être “risquée” du point de vue de
la convergence, la seconde est souvent loin d’être triviale à mettre en oeuvre (sauf dans le
cas quadratique) et généralement inutilement coûteuse : en effet, à quoi bon calculer très
précisément un pas optimal dans une direction qui n’est peut-être pas la bonne ? (comme
c’est par exemple le cas pour la méthode de plus profonde descente). Les recherches li-
néaires modernes reposent sur l’idée qu’un pas de descente acceptable est un pas qui fait
“suffisamment” décroître la fonction objectif. Reste alors à définir les pas qui sont accep-
tables et ceux qui ne le sont pas.
Exemple numérique
Soit f : x œ R ‘æ 12 x2 à minimiser sur R. Appliquons une méthode de descente de
gradient normalisée à pas variable, à partir du point x0 = 2, définie par :
(A1 ) • Direction de descente normalisée : dk = ≠f Õ (xk )/|f Õ (xk )| = ≠sgn(xk ).
3
• Pas de descente : sk = 2 + k+1 .
2
Figure 4.1 – 1000 premiers itérés (f (xk ))k générés par l’algorithme de gradient (A1 ).
Les résultats sont présentés sur la figure 4.1. On “voit” qu’il s’agit bien d’un algorithme
de descente puisque la suite (f (xk ))k est décroissante, mais la convergence ne semble pas
vérifiée.
48 4.2. La recherche linéaire
Condition de Armijo
Au lieu de chercher à minimiser Ï, on préfère imposer des conditions moins restrictives
(et moins coûteuses à mettre en oeuvre) : une première condition est dû à Armijo (1966) :
1 2
f (x + sd) Æ f (x) + Ás Òf (x)€ d , 0<Á<1 (4.6)
1
Ï(0)
ÁÏÕ(0)
Ï(s)
s
0 pas s acceptables
Ï(0) + ÁÏÕ(0)s
Autrement dit, on demande à ce que f décroisse au moins autant que ce que ferait
son modèle linéaire en x. En pratique la constante Á est choisie très petite de manière à
satisfaire (4.6) le plus facilement possible ; typiquement : Á = 10≠4 .
Remarque 4.2 D’après la définition (4.1) d’une direction de descente, il existe tout un
intervalle de pas satisfaisant la condition d’Armijo (4.6).
Chapitre 4. Méthodes de descente en optimisation différentiable sans contrainte 49
Figure 4.3 – 1000 premiers itérés (f (xk ))k générés par l’algorithme de gradient (A2 ).
Vérifions analytiquement ces observations numériques. Les itérés générés par l’algo-
rithme (A2 ) à partir de x0 = 2, sont tous positifs et vérifient :
1 1
’k œ N, xk+1 = xk ≠ sgn(xk ) = xk ≠ .
2k+1 2k+1
On en déduit alors la suite des itérés est décroissante, d’où : ’k œ N, f (xk+1 ) < f (xk ).
L’algorithme (A2 ) est donc bien un algorithme de descente. Calculons maintenant par
récurrence l’expression explicite des xk :
1 1 1 ÿk
1
xk = xk≠1 ≠ = x ≠ ≠ = · · · = x 0 ≠
2 2 2 i=1 2
k k≠2 k≠1 k i
1 1
= 2 ≠ (1 ≠ k ) = 1 + k
2 2
50 4.2. La recherche linéaire
ce qui prouve bien la convergence de la suite des itérés vers le point x = 1 qui n’est pas
un extremum local de f . La raison de ce second échec réside dans le fait que les pas de
descente deviennent arbitrairement proches de 0, ce qui fait que la méthode ne peut plus
progresser.
En plus de la condition d’Armijo, il est donc important d’imposer une condition qui
permettent d’éviter les pas trop petits. Remarquons que si on note sı le pas optimal à faire
en x dans la direction d, on a :
Ces deux conditions sont regroupées sous le nom de conditions de Wolfe et consti-
tuent les fondamentaux de la recherche linéaire moderne :
1 2
f (x + sd) Æ f (x) + Á1 s Òf (x)€ d (4.7)
1 2
Òf (x + sd)€ d Ø Á2 Òf (x)€ d (4.8)
pente ÏÕ(0)
pas s acceptables
Ï(s)
0 s
Ï(0) + ÁÏÕ(0)s
pente Á2 ÏÕ(0)
Remarque 4.3 La seconde condition de Wolfe n’est pas vérifiée pour s = 0, ce qui implique
par la continuité supposée de la fonction mérite ÏÕ , qu’elle n’est pas non plus vérifiée par
de trop petits pas sk > 0.
L’algorithme présenté ci dessus est très simple (interpolation par dichotomie) mais aussi
très lent. La recherche linéaire étant exécutée à chaque itération de minimisation, il est es-
sentiel d’accélérer le procédé. L’idée générale est de sélectionner des valeurs précédemment
testées du pas s, puis d’interpoler la fonction mérite Ï : s ‘æ f (x + sd) par une fonction
simple (un polynôme) passant par les points sélectionnés pour enfin calculer sú qui mini-
mise cette fonction. Cette recherche linéaire de Wolfe par interpolation cubique sera vue
en TP.
52 4.2. La recherche linéaire
Ce résultat signifie que tout point d’accumulation x̄ de la suite (xk )kœN est un point critique
de f (Òf (x̄) = 0) (le démontrer !).
Remarque 4.4 La convergence globale des méthodes de descente avec recherche linéaire
ne garantit que la convergence de sous-suites des itérés vers un point critique, alors que la
convergence de la suite elle-même n’est pas garantie, cf [4, Proposition 1.2.1] ou [25, Theo-
rem 3.2]. Ces résultats ont été obtenus pour les fonctions de classe C 1,1 ou C 2 . Récemment,
P.A. Absil, R. Mahoney et B. Andrews [1] ont démontré la convergence des itérés générés
par une méthode de descente, vers un point limite pour des fonctions analytiques.
Principe de démonstration
Une technique classique en optimisation pour obtenir des résultats de convergence glo-
bale consiste à montrer que l’algorithme de descente considéré vérifie une inégalité du
type :
f (xk ) ≠ f (xk+1 ) Ø cÎÒf (xk )Î2 , (4.9)
où c > 0 est une constante réelle. En sommant ces inégalités pour k variant de 0 à N ≠ 1,
on obtient :
N
ÿ ≠1
’N œ N, f (x0 ) ≠ f (xN ) Ø c ÎÒf (xk )Î2 .
n=0
¸ ˚˙ ˝
somme partielle d’une série à termes positifs
Si f est bornée inférieurement, alors nécessairement f (x0 ) ≠ f (xN ) est majorée et donc la
q
somme partielle est majorée, et donc la série ÎÒf (xk )Î2 converge, ce qui implique :
lim Òf (xk ) = 0.
kæ+Œ
È≠Òf (xk ), dk Í
cos(◊k ) = .
ÎÒf (xk )ÎÎdk Î
Chapitre 4. Méthodes de descente en optimisation différentiable sans contrainte 53
÷c > 0, ’k œ N, cos(◊k ) Ø c,
q
alors la série ÎÒf (xk )Î2 converge, et on obtient ainsi la convergence globale de l’algo-
rithme de descente considéré.
où le pas sk > 0 est déterminé par l’une des stratégies de recherche linéaire présentées au
paragraphe précédent. On rappelle que dk = ≠Òf (xk ) est bien une direction de descente
de f en xk , et que c’est la direction de “plus forte pente” de f en xk .
Exercice 4.3.1 (Rappels de 3ème année) Démontrer que dk = ≠Òf (xk ) est bien une
direction de descente de f en xk , et que c’est la direction de “plus forte pente” de f en xk .
Démonstration. En exercice.
2
Sans trop d’effort, on vérifie que la fonction f est deux fois différentiable sur R2 , strictement
convexe et qu’elle admet un unique point de minimumÔ (global) en (0, 0). De plus, le gradient
Òf est bien Lipschitzien de constante L = 5 2 (le vérifier !).
D’un point de vue numérique, soit Xk = (xk , yk ) œ R2 l’itéré courant supposé non
stationnaire (i.e. : Òf (xk , yk ) ”= 0). La direction de recherche est donnée :
A B
≠xk
dk = ≠Òf (Xk ) = .
≠7yk
Les algorithmes de gradient à pas fixe et à pas optimal sont définis de la façon suivante :
• Descente de gradient à pas fixe. On fixe sk = s et à chaque itération de l’algo-
rithme on a :
xk+1 = xk ≠ sÒf (xk ).
Rappelons que, d’après la proposition 4.4, l’algorithme de gradient à pas fixe est un
algorithme de descente si le pas s est choisi inférieur à L2 ƒ 0.2828. Le Tableau 4.1
illustre le comportement de cet algorithme pour différentes valeurs du pas s.
Table 4.1 – Nombres d’itérations de l’algorithme de gradient à pas fixe pour approcher le
point de minimum global de f à 10≠5 près, en fonction du pas - Point initial : x0 = (7, 1.5).
Figure 4.5 – Itérations des algos de gradient pas fixe et optimal, générées à partir du
point (7, 1.5).
Figure 4.6 – 23 it. de l’algorithme de plus profonde descente (en rouge) vs 3 it. l’algorithme
de gradient avec recherche linéaire de Wolfe (en bleu) à partir de (x0 , y0 ) = (4, 1.5).
Chapitre 4. Méthodes de descente en optimisation différentiable sans contrainte 57
A condition que la matrice H[f ](xk ) soit définie positive à chaque itération, la méthode
de Newton est bien une méthode de descente à pas fixe égal à 1. Les propriétés remarquables
de cet algorithme sont :
, sa convergence quadratique (le nombre de décimales exactes est multiplié par 2 à
chaque itération).
/ les difficultés et le coût de calcul de la hessienne H[f ](xk ) : l’expression analytique
des dérivées secondes est rarement disponible dans les applications.
/ le coût de résolution du système linéaire H[f ](xk )(xk+1 ≠ xk ) = Òf (xk ).
/ l’absence de convergence si le premier itéré est trop loin de la solution, ou si la
hessienne est singulière.
/ Pas de distinction entre minima, maxima et points stationnaires.
La question que l’on se pose dans cette partie est donc : comment forcer la convergence glo-
bale de l’algorithme de Newton ? L’idée des méthodes de type Newton consiste à reprendre
l’algorithme de Newton en remplaçant les itérations par :
xk+1 = xk ≠ sk Hk≠1 Òf (xk ),
où
• la matrice Hk est une approximation de la hessienne H[f ](xk ).
• sk > 0 est le pas calculé par une recherche linéaire bien choisie.
Plusieurs questions se posent alors : comment déterminer une matrice Hk qui soit une
“bonne” approximation de la hessienne à l’itération k sans utiliser les informations de
second ordre et garantir que ≠Hk≠1 Òf (xk ) soit bien une direction de descente de f en
xk , sachant que la direction de Newton, si elle existe, n’en est pas nécessairement une ?
Comment conserver les bonnes propriétés de l’algorithme de Newton ?
58 4.4. Méthodes de type Newton
On veut imposer à Hk d’être définie positive afin de garantir que ≠Hk≠1 Òf (xk ) est bien
une direction de descente de f en xk .
1. Si la matrice H[f ](xk ) est définie positive, alors :
Hk = H[f ](xk ).
Si le pas de Newton (sk = 1) est acceptable au sens des conditions de Wolfe, alors
l’algorithme effectue une itération de Newton ; sinon il exécute une recherche linéaire
de Wolfe initialisée par un pas égal à 1.
2. Sinon la technique la plus utilisée consiste à générer une matrice E telle que :
Hk = H[f ](xk ) + E
soit définie positive. Remarquons que ceci est toujours possible si l’on choisit E de
la forme –I.
Remarque 4.5 Effectuer une itération de Newton dès que c’est possible, permet de béné-
ficier de la rapidité de convervence de cet algorithme.
Pour terminer appliquons les algorithmes de Newton avec et sans recherche linéaire aux
problèmes suivants :
Le problème (P1 ) admet un unique point critique au point (1, 1) qui est un point de
minimum global de f , tandis que le problème (P2 ) admet une infinité de points critiques :
Figure 4.7 – Itérations des algorithmes de gradient optimal (stoppé à 10000 itérations !),
de Newton (5 itérations), de gradient avec pas de Wolfe (8080 itérations) et de Newton
avec pas de Wolfe (19 itérations) pour la minimisation de la fonction de Rosenbrock.
Figure 4.8 – Itérations des algorithmes de Newton (10 itérations) et de Newton avec
recherche linéaire de Wolfe (6 itérations) pour la minimisation de la fonction g : (x, y) ‘æ
1 2
x + x cos y.
2
60 4.4. Méthodes de type Newton
Remarque 4.6 D’un point de vue algorithmique, on calcule en général une factorisation
de Cholesky Lk L€ k de H[f ](xk ) + –I où le paramètre – > 0 est augmenté jusqu’à ce que la
factorisation soit rendue possible : on initialise – de la façon suivante :
1
–0 = 0 si H[f ](xk ) est définie positive, = ÎH[f ](xk )Î2F sinon.
2
On résout ensuite :
Lk zk = Òf (xk ) et k dk = ≠zk .
L€
L’avantage est que la hessienne au point courant devient définie positive, et on retrouve
l’algorithme de Newton et la convergence quadratique de cette méthode.
dk = ≠Hk≠1 Òf (xk ),
où Hk est une matrice symétrique définie positive. Couplée avec une recherche linéaire de
Wolfe, nous sommes exactement dans le cadre d’application du théorème de Zoutendijk
qui nous donne le résultat suivant :
D’où :
H[f ](xk+1 )(xk ≠ xk+1 ) ƒ Òf (xk+1 ) ≠ Òf (xk ).
On construit une approximation Hk+1 de H[f ](xk+1 ) comme solution de l’équation :
Dans les deux cas, les équations de quasi-Newton forment un système sous-déterminé à
n équations et n2 inconnues. Il existe donc une infinité de matrices Hk+1 pouvant convenir.
Le problème de cette méthode est que la matrice Hk ainsi construite, n’est en général pas
symétrique, ni définie positive. La hessienne d’une fonction de classe C 2 étant symétrique,
il est naturel d’imposer à son approximation de l’être également. Nous cherchons donc
Hk+1 comme solution du problème :
1
min 2
ÎH ≠ Hk Î2
(P ) H
s.t. yk = H‡k , H € = H.
yk yk€ Hk ‡k ‡k€ Hk
Hk+1 = Hk + ≠ .
yk€ ‡k ‡k€ Hk ‡k
Ces deux formules sont duales l’une de l’autre dans le sens où l’on obtient la formule
BFGS en inversant la relation DFP avec : Hk = Bk≠1 . On a alors également : Hk+1 = Bk+1
≠1
.
Exercice 4.4.1 Vérifier que les matrices Hk+1 et Bk+1 sont bien symétriques et satisfont
leurs équations de quasi-Newton respectives :
Il reste donc maintenant à vérifier que les directions de quasi-Newton ainsi définies sont
bien des directions de descente.
Proposition 4.6 Si Bk est définie positive et yk€ ‡k > 0, alors Bk+1 est définie
positive.
yk€ ‡k > 0,
(‡k€ x)2
x€ Bk+1 x = 0 ∆ u€ Bk u + =0
yk€ ‡k
∆ u€ Bk u = 0 et ‡k€ x = 0 ∆ u = 0 et ‡k€ x = 0
Chapitre 4. Méthodes de descente en optimisation différentiable sans contrainte 63
A B
‡k y €
puisque Bk est supposée définie positive. Or : u = I ≠ € k x. Donc :
yk ‡k
yk€
x€ u = 0 et x€ u = x€ x ≠ x€ ‡k = x€ x.
¸ ˚˙ ˝ y € ‡k
k
=0
Remarquons que cette inégalité est satisfaite dès lors qu’on utilise la recherche linéaire de
Wolfe pour le calcul du pas (le démontrer !).
Algorithme BFGS.
Données: f : Rn æ R , x0 point initial et H0 matrice symétrique définie positive
arbitraires.
Sortie: une approximation de la solution du problème : minn f (x).
xœR
1. k := 0
2. Tant que “test d’arrêt” non satisfait,
(a) Choix de la direction : dk = ≠Hk≠1 Òf (xk ).
(b) Recherche linéaire de Wolfe pour calculer un pas sk > 0.
(c) Nouvel itéré :
xk+1 = xk ≠ sk Hk≠1 Òf (xk )
(d) Mise à jour de la matrice Hk en Hk+1 par la formule BFGS ; k := k + 1 ;
3. Retourner xk .
Cet algorithme est considéré de nos jours comme le plus performant. Bien qu’il n’existe
pas de résultat de convergence de cet algorithme dans le cas non convexe, rien n’interdit
son utilisation : les itérations restent bien définies et les résultats numériques sont souvent
remarquables.
64 4.5. Algorithmes pour la régression non-linéaire
La hessienne de r est positive en tout point, le problème de moindres carrés linéaire est
donc convexe. Cherchons les points critiques du problème (4.15) i.e. vérifiant : Òr(x) = 0,
d’où le système suivant à résoudre :
A€ Ax = A€ b Equations normales
appelé système d’équations normales du problème de moindres carrés linéaire (4.15). Ainsi :
De plus si A est de rang plein, alors la fonction r est strictement convexe et xı est
l’unique solution de (4.15).
et ceci quel que soit xk . On reconnaît ici le système d’équations normales du problème
(4.15). Ceci signifie donc que la méthode de Gauss-Newton identifie la solution en une
seule itération lorsque la fonction F est linéaire.
Fi (x0 , x1 , x2 ) = ci ≠ x0 ≠ x1 e≠x2 ti , i = 1, . . . , n.
est souvent prépondérant par rapport au second terme à cause de la presque linéarité du
modèle au voisinage de la solution (i.e. HFi (x) petit), et/ou du résidu Fj petit au voisinage
de la solution. Nous ne reviendrons pas sur cette approche, nous nous intéressons ici à
une autre : l’idée est de remplacer à chaque itération le problème de moindres carrés non
linéaire par un problème approché de moindres carrés linéaires.
Soit xk œ Rn le point courant. Remplaçons au voisinage de xk le problème (4.14) par :
1
min rÂ(y) = ÎF (xk ) + JF (xk )(y ≠ xk )Î22 , (4.16)
yœRn 2
où l’on a remplacé F par une approximation du premier ordre en xk . Le problème (4.16)
est un problème de moindres carrés linéaire dont les solutions xk+1 vérifient les équations
normales associées, à savoir :
Algorithme de Gauss-Newton.
Données: F fonction différentiable, x0 point initial, Á > 0 précision demandée.
Sortie: une approximation de la solution du problème de moindres carrés :
1
minn r(x) = F (x)€ F (x).
xœR 2
.
1. k := 0 ;
2. Tant que critère d’arrêt à définir,
(a) Calcul d’une direction de recherche : calculer dk solution de :
(b) xk+1 = xk + dk ;
(c) k := k + 1 ;
3. Retourner xk .
Les avantages de cette méthode par rapport à la méthode de Newton sont les suivants :
1. L’approximation faite ne nécessite pas le calcul des dérivées secondes.
2. Dans de nombreuses applications, cette approximation est de bonne qualité.
3. Si JF (xk ) est de rang plein et si Òr(xk ) est non nul, alors la direction de Gauss-
Newton est une direction de descente de r en xk et donc adaptée pour l’utilisation
d’un algorithme de recherche linéaire.
La vitesse de convergence de l’algorithme de Gauss-Newton dépend de la qualité de
l’approximation faite du problème initial. Dans le cas où le résidu est effectivement petit
au voisinage de la solution, la convergence est rapide. Si la hessienne de F est nulle à la
solution, alors la convergence est quadratique.
Sous des hypothèses supplémentaires (par exemple dans [25], valeurs singulières de
JF (xk ) uniformément bornées hors d’un voisinage de l’origine et pas de Wolfe), on peut
démontrer la convergence globale des itérés vers un point stationnaire de r. Un désavantage
de la méthode de Gauss-Newton est que l’on n’a pas de résultat de convergence lorsque la
jacobienne de F en xk n’est pas de rang plein. Pour pallier cet inconvénient, on a recours
à la méthode de Levenberg-Marquardt.
گ0
Dans le cas où la contrainte de région de confiance est inactive (i.e. Îy ≠ xk Î < k et
⁄ = 0), on retrouve une itération de l’algorithme de Gauss-Newton. Dans le cas contrainte
(Îy ≠ xk Î = k ), la solution est sur le bord de la région de confiance. Le pas effectué
peut être vu comme une régularisation du pas de Gauss-Newton dans le sens où la matrice
(JF (xk )€ JF (xk ) + ⁄I) est maintenant définie positive : le pas effectué est alors un pas de
descente de la fonction r en xk .
Algorithme de Levenberg-Marquardt.
Données: F fonction différentiable, x0 point initial, Á > 0 précision demandée.
Sortie: une approximation de la solution du problème de moindres carrés :
1
minn r(x) = F (x)€ F (x).
xœR 2
.
1. k := 0 ;
2. Tant que critère d’arrêt à définir,
(a) Calcul d’une direction de recherche : calculer dk solution de :
(JF (xk )T JF (xk ) + ⁄I) d = ≠JF (xk )€ F (xk ).
(b) xk+1 = xk + dk ;
(c) Mise à jour du paramètre ⁄.
(d) k := k + 1 ;
3. Retourner xk .
Le paramètre ⁄ Ø 0 peut être choisi fixe ou ajusté de manière heuristique : augmenté
ou diminué d’un facteur suivant la qualité du pas proposé.
Chapitre 5
(P ) min f (x)
xœRn
s.t. : gj (x) Æ 0, j = 1, . . . , q
hi (x) = 0, i = 1, . . . , p.
L : Rn ◊ Rp ◊ (R+ )q æ R
p
ÿ q
ÿ
(x, ⁄, µ) ‘æ L(x; ⁄, µ) = f (x) + ⁄i hi (x) + µj gj (x),
i=1 j=1
69
70 5.1. Introduction à la dualité lagrangienne
On définit alors :
• la fonction primale f¯ : Rn æ R fi {+Œ} associée au problème (P ) :
I
f (x) si x œ X
f¯(x) = sup L(x; ⁄, µ) =
(⁄,µ)œRp ◊(R+ )q +Œ sinon.
où l’on définit :
• la fonction duale du problème (P ) :
Si le saut de dualité est non nul, cela signifie que les solutions des problèmes primal et dual
n’ont a priori rien à voir entre elles. En l’absence de saut de dualité, les problèmes sont
équivalents (même ensemble de solutions) et l’existence de solutions primale et duale dans
ce cas est étroitement liée à l’existence de points selle du Lagrangien.
Autrement dit, si :
f (x̄) = sup L(x̄; ⁄, µ) = L(x̄; ⁄̄, µ̄) = minn L(x; ⁄̄, µ̄) = f ı (⁄̄, µ̄).
(⁄,µ)œRp ◊(R + )q xœR
Théorème 5.1 (Théorème de dualité) Le point (x̄, ⁄̄, µ̄) est un point-selle du
Lagrangien si et seulement si :
i. x̄ est solution du problème primal.
ii. (⁄̄, µ̄) est solution du problème dual.
iii. le saut de dualité est nul c’est-à-dire :
3 4 A B
sup inf L(x; ⁄, µ) = inf sup L(x; ⁄, µ) .
(⁄,µ)œX ı xœRn xœX (⁄,µ)œRp ◊(R+ )q
Théorème 5.2
1. Si le problème primal (P ) admet une solution optimale, alors le problème dual
associé admet une solution optimale de coût égal.
2. Pour que x̄ soit une solution optimale du problème primal et que (⁄̄, µ̄) soit
une solution optimale du problème dual associé, il est nécessaire et suffisant
d’avoir les trois conditions suivantes :
(a) x̄ soit admissible pour (P ) (i.e. x̄ œ X).
(b) µ̄ Ø 0.
(c) f (x̄) = L(x̄; ⁄̄, µ̄) = infn L(x; ⁄̄, µ̄).
xœR
Démonstration. En exercice. 2
L’intérêt du problème dual est double : il est concave et les contraintes sont simples à
prendre en compte (contraintes de positivité dans le cas général, pas de contrainte dans le
cas de contraintes d’égalité). Pour le résoudre, on peut par exemple utiliser :
• une méthode de gradient dans le cas de contraintes d’égalité : c’est l’algorithme
d’Uzawa.
• une méthode de gradient projeté dans le cas de contraintes d’inégalité.
• des méthodes de type Newton.
’j = 1, . . . , q, gj (x0 ) < 0,
’i = 1, . . . , p, hi (x0 ) = 0.
Chapitre 5. Algorithmes pour l’optimisation différentiable sous contrainte 73
Principe de l’algorithme.
Remarque 5.1 Il est important de remarquer que le calcul à l’étape 2(a) du projeté sur X,
peut parfois être aussi difficile que le problème initial. En effet yk est obtenu en résolvant
le problème :
1
min Îxk ≠ sÒf (xk ) ≠ yÎ22
yœRn 2
s.c. x œ X.
Il s’agit donc de résoudre un problème d’optimisation sur un convexe, avec une fonction
objectif convexe. Lorsque le domaine X des contraintes est simple (contraintes de bornes
en particulier), c’est faisable. Dès que les contraintes ne sont pas des contraintes de bornes,
le calcul de la projection devient beaucoup plus délicat.
Vérifions que la direction dk = xk+1 ≠ xk , si elle est non nulle, est bien une direction de
descente de f en xk .
Si d(s) est non nulle, alors d(s) est une direction de descente pour tout s > 0.
Démonstration. En exercice. 2
1. Si d(s) = 0, alors : pX (xk ≠ sÒf (xk )) = xk . Cela signifie que la direction choisie
par l’algorithme de gradient est orthogonale à l’ensemble X des contraintes en xk .
Le point xk est alors un point stationnaire car la condition nécessaire d’optimalité
(3.3) est satisfaite.
2. Supposons d(s) ”= 0. Alors xk et pX (xk ≠ sÒf (xk )) sont des points admissibles du
problème (P). La convexité de X nous garantit alors : ’– œ [0, 1], xk + –d(s) œ X.
Contraintes d’égalité
Considérons un problème d’optimisation (différentiable) avec contraintes d’égalité :
min f (x)
xœRn (5.3)
s.t. : hi (x) = 0, i = 1, . . . , p.
Pour résoudre ce système d’équations, utilisons la méthode de Newton dont une itéra-
tion s’écrit ici : A B
k+1 k
x ≠ x
H[L](xk ; ⁄k ) = ≠ÒL(xk ; ⁄k ), (5.4)
⁄k+1 ≠ ⁄k
soit : A BA B A B
Hx [L](xk ; ⁄k ) Dh(xk )€ xk+1 ≠ xk Òx L(xk ; ⁄k )
=≠
Dh(xk ) 0 ⁄k+1 ≠ ⁄k h(xk )
où Dh(x) désigne la matrice jacobienne de l’application h : Rn æ Rp définie par :
et est bien définie à condition que la matrice H[L](xk ; ⁄k ) soit inversible. Ce sera le cas si :
(i) Les colonnes Òh1 (x), . . . , Òhp (x) de Dh(xk )€ sont linéairement indépendants : c’est
l’hypothèse de qualification des contraintes.
(ii) Quel que soit d ”= 0 tel que Dh(xk )d = 0, d€ Hk d > 0 : c’est la condition suffisante
d’optimalité du second ordre dans le cas de contraintes d’égalité.
1
min Òf (xk )€ d + d€ Hk d
(QPk ) dœRn 2
s.t. hi (xk ) + Òhi (xk )€ d = 0.
Contraintes d’inégalité
Intéressons nous maintenant aux problèmes avec contraintes d’égalité et d’inégalité :
min f (x)
xœRn
s.t. : gj (x) Æ 0, j = 1, . . . , q, (5.5)
hi (x) = 0, i = 1, . . . , p.
Selon le même principe qu’avec contraintes d’égalité seules, on linéarise les contraintes
et on utilise une approximation quadratique du lagrangien :
1
minn Òf (xk )€ d + d€ Hk d
dœR 2
(QPk )
s.t. gj (xk ) + Ògj (xk )€ d = 0, i = 1, . . . , q,
hi (xk ) + Òhi (xk )€ d = 0, i = 1, . . . , p.
3. Retourner xk .
Afin que le sous-programme quadratique (QP ) admette une unique solution, la plupart des
implémentations actuelles de SQP utilisent une approximation du hessien Hk du Lagrangien
qui soit définie positive, en particulier celle fournie par les techniques quasi-newtonienne
(BFGS) par exemple.
Définition 5.3 Une pénalisation est dite exacte si toute solution du problème (P ) initial
est solution du problème pénalisé (Pc ), et inexacte dans le cas contraire.
optimal.
L’intérêt de cette approche est qu’il existe une valeur seuil c̄ du paramètre de pénalité
telle que pour tout c > c̄, tout minimum local du problème initial est un minimum local
du Lagrangien augmenté.
Théorème 5.4 ([6], chapitre 16) Soit x̄ un point de minimum local de f sur X.
On suppose qu’il existe ⁄̄ œ Rp tel que : Òx Lc (x̄, ⁄̄) = 0 et tel que la condition
suffisante de second ordre soit satisfaite, i.e. :
Alors il existe c̄ > 0 tel que pour tout c Ø c̄, le Lagrangien augmenté Lc admet un
minimum local strict en x̄.
Supposons que le problème minn Lck (x; ⁄) admette une solution x(⁄) différentiable par
xœR
rapport à ⁄. Alors :
fcık (⁄) = Lck (x(⁄); ⁄).
Sachant que x(⁄) minimise Lck (x; ⁄) par rapport à x, on a nécessairement : Òx Lck (x(⁄); ⁄) =
0. Calculons maintenant le gradient de la fonction duale :
La direction Òfcık (⁄) = h(x(⁄)) est la direction de plus forte pente de la fonction duale en
⁄, ce qui justifie une itération de la forme :
L’algorithme est le suivant : étant donnée une suite (ck )kœN croissante de réels stricte-
ment positifs telle que : lim ck = +Œ :
kæ+Œ
1. Initialisation : x0 et ⁄0 arbitraires, Á > 0 précision.
2. Tant que ÎÒLck (xk ; ⁄k )Î > Á,
(a) Approximation de la fonction duale en ⁄k . Résoudre approximativement :
⁄k+1 = ⁄k + ck h(xk );
Troisième partie
83
Chapitre 6
Dans ce chapitre, nous nous introduisons les outils spécifiques à l’optimisation non
différentiable tels que le sous-différentiel et l’opérateur proximal. Nous verrons également
comment s’écrivent les conditions nécessaires d’optimalité dans le cadre non lisse.
Démonstration. En exercice. 2
Théorème 6.1 Soit f une fonction convexe s.c.i. et x0 œ int(dom(f )). Alors ˆf (x0 )
est un ensemble non vide, convexe, borné.
85
86 6.1. Sous-différentiel d’une fonction convexe
ÎdÎ22 + –2 = 1. (6.3)
Puisque pour tout · Ø f (x0 ) le point (·, x0 ) appartient à epi(f ), on conclut que – Ø 0.
D’après le lemme 1.2, il existe ‘ > 0 et M > 0 tels que B2 (x0 , ‘) ™ dom(f ) et
f (x) ≠ f (x0 ) Æ M Îx ≠ x0 Î
pour tout x œ B2 (x0 , ‘). Ainsi, d’après (6.2), pour tout x dans cette boule on a
iv. Soit g : Rfi+Œ æ Rfi+Œ une fonction convexe croissante. Notons : h = g¶f .
Alors ’x œ int(dom(f )),
Exemple 6.1.2 Soit f (x) = ÎxÎ2 , g(t) = 12 t2 et h(x) = g(f (x)) = 12 ÎxÎ22 . Démontrer que :
I Ó Ô
x
si x ”= 0,
ˆf (x) = ÎxÎ2 (6.5)
{x, ÎxÎ2 Æ 1} sinon.
En déduire le résultat connu : ˆh(x) = {x}.
Lemme 6.3 Soit (fi )i=1..m un ensemble de fonctions convexes s.c.i. Alors la fonction
Le lemme suivant se révèle souvent utile pour étudier les fonctions définies comme des
suprema 1 .
1. En réalité, toutes les fonctions convexes peuvent êtres représentées comme un supremum en utilisant
la transformée de Fenchel. Ce résultat est donc central. Le cours est trop court pour présenter cette théorie.
88 6.1. Sous-différentiel d’une fonction convexe
Lemme 6.4 Soit „(x, y) une fonction telle que ’y œ , la fonction x ‘æ „(x, y) est
convexe s.c.i. Alors la fonction
ˆf (x) ´ conv (ˆx „(x, y), y œ I(x), I(x) = {y, „(x, y) = f (x)}) .
Définition 6.3 (Norme duale) Soit Î · ÎX une norme sur Rn . On appelle norme
duale et on note Î · ÎX ú la fonction définie par :
On peut montrer que la fonction Î · ÎX ú définit bien une norme sur Rn . De plus, par
définition, on obtient pour tout (x, y) œ Rn◊n :
Exemple 6.1.3 Soit ÎxÎX = ÎxÎp où ÎxÎp est la norme ¸p usuelle sur Rn . Montrer que :
ÎyÎX ú = ÎxÎq ,
0 œ ˆf (xú ).
Démonstration. En exercice. 2
Chapitre 7
Dans ce chapitre, nous nous intéressons aux méthodes d’optimisation adaptées au cas
où la fonction f à minimiser est convexe mais non différentiable. De manière générale,
les méthodes pour l’optimisation non différentiable s’inspirent largement des méthodes
différentiables. Pourquoi alors étudier des méthodes spéciales ? L’optimisation différentiable
présente des pièges dans lesquels un utilisateur non averti pourrait tomber :
1. Piège du test d’arrêt. La condition “Îgk Î Æ Á, gk œ ˆf (xk )", traduite directement
de la condition “Òf (xk ) Æ Á" dans le cas différentiable, peut ne jamais être vérifiée.
2. Piège des sous-gradients approchés. En pratique, le gradient (et même la fonc-
tion elle-même) n’est pas toujours calculé exactement : il est souvent obtenu par
différences finies. Cette approche n’est plus valable quand le sous-gradient n’est pas
continu.
3. Malédiction du sous-différentiable. L’application x ‘æ ˆf (x) n’étant pas conti-
nue une petite variation de xk peut entrainer de grandes variations de ˆf (xk ).
Basé sur l’information disponible du sous-différentiel, le calcul d’une direction de
recherche dk peut varier énormément et produire des xk+1 très différents.
91
92 7.1. Un rapide tour d’horizon en optimisation non lisse
f (y)
„k (y)
Figure 7.1 – Méthode des plans sécants - Construction d’un modèle convexe linéaire par
morceaux d’une fonction f convexe, non différentiable.
l’optimisation non lisse” [22], elles ont été largement éprouvées et ont fait leurs preuves
dans le cas convexe [16, 31, 18, 11, 22, 6]. L’hypothèse de convexité étant un élément clé
de ces méthodes, leur généralisation au cas non convexe est loin d’être immédiate et fait
l’objet de recherche actuelles.
Depuis 2002, une nouvelle approche basée sur des algorithmes d’échantillonnage de
gradient (ou sous-gradients) et développée par J.V. Burke, A.S. Lewis et M.L. Overton
[7, 8], s’est peu à peu imposée en méthode concurrente des méthodes de faisceaux, tant
sur le plan théorique que sur le plan des performances numériques. Cette méthode, qui
peut être vue comme une version stabilisée de l’algorithme de plus profonde descente, est
dédiée à la minimisation de fonctions localement lipschitziennes, supposées de classe C 1
sur un sous-ensemble ouvert dense de Rn . La fonction objectif est possiblement non lisse,
non convexe. L’idée centrale est d’approcher le sous-différentiel de la fonction objectif par
l’enveloppe convexe d’un échantillonnage aléatoire de gradients calculés dans un voisinage
du point courant. Un premier résultat de convergence avec une probabilité 1 a été démontré
dans [7, 8], puis généralisé par K.C. Kiwiel dans [14]. A noter également une extension de
cet algorithme au cas sans dérivée [15].
Une implémentation de ces méthodes est en accès libre 1 sous la forme d’un package
Matlab HANSO (Hybrid Algorithm for Non-Smooth Optimization). Sans entrer dans les
détails, les algorithmes utilisés dans HANSO mettent en œuvre en première phase un al-
gorithme de type BFGS (Broyden-Fletcher-Goldfarb-Shannon). Cet algorithme, appliqué
à des problèmes d’optimisation non lisses, se comporte relativement bien en pratique : la
convergence est rapide et conduit souvent à une approximation raisonnablement satisfai-
sante de l’optimum. Ce phénomène a tout d’abord été observé par plusieurs auteurs : C.
Lemaréchal en 1982 [17], L. Luköan et J. Vl ek en 1999 et 2001 [21, 29] avant d’être étudié
de façon plus approfondie par A. Lewis et M. Overton [20] très récemment. L’idée est que
les fonctions localement lipschitziennes sont différentiables presque partout et qu’en pra-
tique les itérés ne tombent pas sur les points de non-différentiabilité. C’est pour cela que
la plupart des codes existants applique en première phase un algorithme de type BFGS,
avant d’utiliser des méthodes plus sophistiquées de type faisceaux ou échantillonnage de
gradients.
Cet oracle fournira dans les algorithmes des candidats à la descente (et non pas nécessai-
rement des directions de descente.
1. http ://www.cs.nyu.edu/faculty/overton/software/hanso
94 7.2. Méthodes de sous-gradients
Dans cette partie, on s’intéresse aux méthodes de premier ordre appliquées à la classe
de problèmes suivante :
Théorème 7.1
1. Si la suite (sk )k vérifie :
+Œ
ÿ
lim sk = 0, sk = +Œ,
kæ+Œ
k=0
alors : lim inf f (xk ) = f (xú ). Si, de plus, l’ensemble des minimiseurs de f est
borné, alors : limkæ+Œ f (xk ) = f (xú ).
2. Si la suite (sk )k vérifie :
+Œ
ÿ +Œ
ÿ
sk = +Œ, s2k < +Œ,
k=0 k=0
min f (x).
xœX
LR
fkú ≠ f ú Æ Ô .
N +1
96 7.2. Méthodes de sous-gradients
Démonstration. On commence par montrer que le fait que f soit Lispchitz implique que
les sous-gradients de f sont bornés. On a ’(x, y) œ X 2 :
En particulier pour y = ÷ + x, on obtient Î÷Î Æ L. Les sous-gradients ont donc une norme
majorée par L.
Contrairement aux descentes de gradient, la preuve de convergence ne repose pas ici sur
la décroissance monotone de la fonction coût, mais sur le fait que la distance au minimiseur
diminue. On a :
÷k 2
Îxk+1 ≠ xú Î2 = Îxk ≠ xú ≠ hk Î
Î÷k Î
÷k
= Îxk ≠ xú Î2 + h2k ≠ 2hk Èxk ≠ xú , Í.
Î÷k Î
hk
Îxk+1 ≠ xú Î2 Æ Îxk ≠ xú Î2 + h2k ≠ 2 (f (xk ) ≠ f (xú )).
Î÷k Î
Chapitre 7. Algorithmes pour l’optimisation non différentiable 97
N
ÿ 2hk
ÎxN +1 ≠ xú Î2 Æ Îx0 ≠ xú Î2 + h2k ≠ (f (xk ) ≠ f (xú ))
k=0 L
D’où :
N
ÿ ÿN
hk
2 (f (xk ) ≠ f (xú )) Æ ≠ÎxN +1 ≠ xú Î2 + Îx0 ≠ xú Î2 + h2k
k=0 L k=0
N
ÿ
Æ R2 + h2k .
k=0
min L(x; ⁄k , µk ).
xœRn
L’approche duale est particulièrement intéressante pour des problèmes de grande taille
(le nombre de variables duales étant le nombre de contraintes dans le primal). Le point
clé de ces approches est de savoir calculer efficacement la fonction duale. En pratique, ce
calcul peut poser problème, en particulier quand la solution du problème minx L(x; ⁄k , µk )
n’est pas unique. Cette situation arrive typiquement en programmation linéaire.
Théorème 7.3 Supposons que la suite (sk )kœN est décroissante et vérifie :
+Œ
ÿ
lim sk = 0 et sk = +Œ.
kæ+Œ
k=1
Démonstration. En exercice. 2
Ces opérateurs ont des propriétés très intéressantes qui les rend particulièrement adap-
tés pour la mise en place d’algorithmes de minimisation. En particulier, on peut démontrer
que les points de minimum global de f sont exactement les points fixes de l’opérateur
proximal associé à f :
100 7.3. Opérateur proximal
Démonstration. En exercice. 2
Èproxf (x1 ) ≠ proxf (x2 ), x1 ≠ x2 Í Ø Îproxf (x1 ) ≠ proxf (x2 )Î22 . (7.5)
Démonstration. On a :
et
x2 ≠ proxf (x2 ) œ ˆf (proxf (x2 )) (7.8)
or si f est convexe fermée, l’opérateur multivalué ˆf est monotone, ce qui signifie que :
È÷1 ≠ ÷2 , u1 ≠ u2 Í Ø 0, ’÷1 œ ˆf (proxf (x1 )), ’÷2 œ ˆf (proxf (x2 )). (7.9)
(Cette inégalité permet d’exprimer le fait que dans le cas C 2 , la hessienne d’une fonction
convexe est semi-définie positive). L’inégalité (7.6) est obtenue en appliquant le théorème
de Cauchy-Schwartz. 2
Figure 7.2 – f ú (u) est le supremum de la différence signée verticale entre le graphe de f
et celui de l’hyperplan défini par la fonction linéaire È·, uÍ.
lim Îxk+1 ≠ xk Î = 0.
kæ+Œ
où :
• g : Rn æ R est une fonction convexe, différentiable à gradient L-Lipschitz :
Démonstration. En exercice. 2
L’algorithme Forward-Backward (aussi appelé algorithme de descente proximale) dans
sa version simple est défini de la façon suivante :
Chapitre 7. Algorithmes pour l’optimisation non différentiable 103
Démonstration. En exercice. 2
La fonction F n’est pas contractante en général, seulement non expansive. Les preuves
de convergence linéaires qui reposent sur des itérés de contractions ne fonctionnent donc
pas pour analyser ce schéma. De façon générale, on obtient tout de même des résultats de
convergence sous-linéaire :
Théorème 7.5 (admis) Le schéma de descente (7.15) assure que f (xk ) ≠ f (xú ) Æ
LÎx0 ≠xú Î22
k
pour t = L1 .
[1] P.-A. Absil, R. Mahony, and B. Andrews. Convergence of the iterates of descent
methods for analytic cost functions. SIAM Journal on Optimization, 16(2) :531–547,
2005.
[2] H. H. Bauschke and P. L. Combettes. Convex analysis and monotone operator theory
in Hilbert spaces. Springer Science & Business Media, 2011.
[3] A. Beck and M. Teboulle. A fast iterative shrinkage-thresholding algorithm for linear
inverse problems. SIAM journal on imaging sciences, 2(1) :183–202, 2009.
[4] D. Bertsekas. Nonlinear Programming. Athena Scientific, 2nd edition, 1999.
[5] M. Bierlaire. Introduction à l’optimisation différentiable. PPUR presses polytech-
niques, 2006.
[6] J. Bonnans, J. Gilbert, C. Lemaréchal, and C. Sagastizábal. Numerical optimization.
Universitext. Springer-Verlag, Berlin, second edition, 2006. Theoretical and practical
aspects.
[7] J. Burke, A. Lewis, and M. Overton. Approximating subdifferentials by random sam-
pling of gradients. Mathematics of Operations Research, 27(3) :567–584, 2002.
[8] J. Burke, A. Lewis, and M. Overton. A robust gradient sampling algorithm for nons-
mooth, nonconvex optimization. SIAM Journal on Optimization, 15(3) :751–779,
2005.
[9] E. W. Cheney and A. A. Goldstein. Newton’s method for convex programming and
Tchebycheff approximation. Numerische Mathematik, 1 :253–268, 1959.
[10] Y. Ermoliev. Stochastic programming methods. Nauka, Moscow, 7(136), 1976.
[11] J.-B. Hiriart-Urruty and C. Lemaréchal. Convex analysis and minimization algo-
rithms. II, volume 306 of Grundlehren der Mathematischen Wissenschaften [Funda-
mental Principles of Mathematical Sciences]. Springer-Verlag, 1993. Advanced theory
and bundle methods.
[12] J.-B. Hiriart-Urruty and C. Lemaréchal. Convex analysis and minimization algo-
rithms I : fundamentals, volume 305. Springer Science & Business Media, 2013.
[13] J. E. Kelley, Jr. The cutting-plane method for solving convex programs. Journal of
the Society for Industrial and Applied Mathematics, 8 :703–712, 1960.
[14] K. Kiwiel. Convergence of the gradient sampling algorithm for nonsmooth nonconvex
optimization. SIAM Journal on Optimization, 18(2) :379–388, 2007.
105
106 BIBLIOGRAPHIE
[15] K. Kiwiel. A nonderivative version of the gradient sampling algorithm for nonsmooth
nonconvex optimization. SIAM Journal on Optimization, 20(4) :1983–1994, 2010.
[16] K. C. Kiwiel. Methods of descent for nondifferentiable optimization, volume 1133 of
Lecture Notes in Mathematics. Springer-Verlag, Berlin, 1985.
[17] C. Lemaréchal. Numerical experiments in nonsmooth optimization. In E. e. Nur-
minski, editor, Progress in Nondifferentiable Optimization, pages 61–84. International
Institute for Applied Systems Analysis, 1982.
[18] C. Lemaréchal. Chapter VII Nondifferentiable optimization. In Optimization, vo-
lume 1 of Handbooks in Operations Research and Management Science, pages 529–
572. Elsevier, 1989.
[19] C. Lemaréchal and F. Oustry. Nonsmooth Algorithms to Solve Semidefinite Programs.
In L. El Ghaoui and S.-I. Niculescu, editors, Advances in Linear Matrix Inequality
Methods in Control, chapter 3. SIAM, 2000.
[20] A. Lewis and M. Overton. Nonsmooth optimization via quasi-newton methods. Ma-
thematical Programming, 141(1) :135–163, 2013.
[21] L. Luköan and J. Vl ek. Globally convergent variable metric method for convex nons-
mooth unconstrained minimization. Journal of Optimization Theory and Applications,
102(3) :593–613, 1999.
[22] M. M. Mäkelä. Survey of bundle methods for nonsmooth optimization. Optim. Me-
thods Softw., 17(1) :1–29, 2002.
[23] A. Nemirovskii and D. Yudin. Problem complexity and method efficiency in optimiza-
tion. In Discrete Mathematics (Original Russian : Nauka 1979). Wiley-Intersciences
Series, 1983.
[24] Y. Nesterov. Gradient methods for minimizing composite functions. Mathematical
Programming, 140(1) :125–161, 2013.
[25] J. Nocedal and S. Wright. Numerical optimization. Springer Series in Operations
Research. Springer-Verlag, New York, 1999.
[26] B. Polyak. Subgradient methods : a survey of Soviet research. In Nonsmooth opti-
mization (Proc. IIASA Workshop, Laxenburg, 1977), volume 3 of IIASA Proc. Ser.,
pages 5–29. Pergamon, Oxford-New York, 1978.
[27] R. T. Rockafellar. Convex analysis. Princeton university press, 2015.
[28] N. Z. Shor. Minimization methods for nondifferentiable functions, volume 3 of Sprin-
ger Series in Computational Mathematics. Springer-Verlag, Berlin, 1985. Translated
from the Russian by K. C. Kiwiel and A. RuszczyÒski.
[29] J. Vl ek and L. Luköan. Globally convergent variable metric method for nonconvex
nondifferentiable unconstrained minimization. Journal of Optimization Theory and
Applications, 111(2) :407–430, 2001.
[30] C. Zalinescu. Convex analysis in general vector spaces. World Scientific, 2002.
[31] J. Zowe. Nondifferentiable optimization. In Computational mathematical program-
ming (Bad Windsheim, 1984), volume 15 of NATO Advanced Science Institutes Series
F : Computer and Systems Sciences, pages 323–356. Springer, Berlin, 1984.