Vous êtes sur la page 1sur 69

Université Moulay Ismail Meknès

Faculté des Sciences et Techniques Errachidia


Département : Informatique
Filière Master : Systèmes d’Information Décisionnels et Imagerie
Module (M16) : Théorie des graphes et Techniques d’optimisation

Polycopié de cours :
Méthodes d’optimisation non linéaire

Pr. Youssef QARAAI


Email : y.qaraai@fste.umi.ac.ma

2022-2023
Sommaire

1 Bases théoriques de l’optimisation 3


1.1 Calcul différentiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.1 Topologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.2 Gradient et hessien . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Convexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Analyse d’un problème d’optimisation . . . . . . . . . . . . . . . . . . . . . 13
1.3.1 Formulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3.2 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.3 Résultats d’existence et d’unicité . . . . . . . . . . . . . . . . . . . 18

2 Méthodes d’optimisation sans contraintes 20


2.1 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Généralités sur les algorithmes de descente . . . . . . . . . . . . . . . . . . 22
2.2.1 Notion de direction de descente . . . . . . . . . . . . . . . . . . . . 23
2.2.2 Algorithme de descente . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2.3 Convergence et vitesse de convergence . . . . . . . . . . . . . . . . 27
2.3 Premiers algorithmes de descente . . . . . . . . . . . . . . . . . . . . . . . 29
2.3.1 Algorithmes de gradient à pas fixe / optimal . . . . . . . . . . . . . 29
2.3.2 Directions conjuguées . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.3 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3 Méthodes d’optimisation avec contraintes 44


3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.2 Conditions d’optimalité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.2.1 Cas d’une contrainte d’inégalité . . . . . . . . . . . . . . . . . . . . 46

1
SOMMAIRE 2

3.2.2 Cas de contraintes d’inégalité et d’égalité . . . . . . . . . . . . . . . 48


3.3 Lagrangien du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4 Méthode du gradient projeté . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.5 Méthodes Lagrange - Newton . . . . . . . . . . . . . . . . . . . . . . . . . 59
3.6 Méthodes Newton projetée . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.7 Méthodes de pénalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8 Programmation Quadratique Successive (PQS) . . . . . . . . . . . . . . . . 64
Introduction

Ce polycopié de cours, destiné aux étudiants de la filière Master, est une introduction
aux méthodes d’optimisation, et plus particulièrement l’optimisation numérique. Vu le
fait qu’il s’agit d’une discipline trop vaste ; c’est à dire qu’il existe plusieurs types de pro-
blèmes d’optimisation, nous nous limiterons notre étude aux cas de l’optimisation continue,
différentiable et non linéaire.
Ainsi l’objectif principal de ce cours, est de permettre aux étudiants, en un premier lieu de
modéliser et formuler un problème d’optimisation avec et sans contraintes. C’est la phase
primordiale où le respect et le suivi de certaines étapes est nécessaire :
— Identification des inconnues du problème (appelées variables de décision).
— Identification du critère à optimiser (appelé aussi fonction objectif, économique,
coût,...).
— Identification de l’ensemble des conditions imposées sur les variables de décision
(on l’appelle ensemble des contraintes).
Ensuite, une analyse du problème ainsi formulé est importante. Il s’agit de discuter l’exis-
tence et l’unicité de la solution (même localement), et aussi de pouvoir la caractériser : on
parle dans ce cas de ce qu’on appelle les conditions d’optimalité.
La phase finale de ce manuscrit concerne l’introduction de quelques méthodes numériques
itératives de résolution du problème d’optimisation avec ou sans contraintes. Plusieurs
algorithmes seront présentés tels que ceux de : descente, gradient, gradient conjugué, new-
ton, gradient projeté, pénalisation, programmation quadratique successive, etc.
Le présent cours est constitué de trois chapitres. Le premier concerne un rappel mathé-
matique des concepts de calcul différentiel et d’analyse convexe, utiles pour l’étude et le
traitement d’un problème d’optimisation. Le second chapitre traite quelques méthodes nu-
mériques de résolution d’un problème d’optimisation non linéaire sans contraintes tandis
que le troisième aborde le cas de l’optimisation avec contraintes.

3
Chapitre 1

Bases théoriques de l’optimisation

Dans ce chapitre nous allons rappeler quelques notions mathématiques théoriques en faveur
de l’étude et l’analyse d’un problème d’optimisation. Il s’agit d’un ensemble de résultats
en calcul différentiel, calcul matriciel et analyse convexe. Ensuite, après avoir présenté une
formulation du problème, quelques résultats fondamentaux de discussion du comportement
de la solution seront aussi donnés.

1.1 Calcul différentiel

1.1.1 Topologie
Pour tout n ∈ N∗ , Rn désigne l’espace euclidien R × R × · · · R (produit n fois). En général
un vecteur x ∈ Rn sera noté x = (x1 , x2 , · · · xn )T . On note e1 , e2 , · · · en les éléments de la
base canonique de Rn , où ei est le vecteur de Rn donné par (symbole de Kronecker) :
(
0 si j 6= i
∀i, j = 1, 2 · · · n (ei )j = δij =
1 si j = i
Pour tous x, y ∈ Rn on note par < x, y > le produit scalaire de x et y, qui est donné par
n
X
< x, y >= xi y i
i=1

Pour tout x ∈ Rn on note par kxk ≥ 0 la norme euclidienne de x, donnée par


v
u n
√ uX
kxk = < x, x > = t x2i
i=1

4
1.1. CALCUL DIFFÉRENTIEL 5

Pour x ∈ Rn et r > 0 on notera par B(x, r) la boule ouverte du centre x et rayon r, donnée
par
B(x, r) = {y ∈ Rn , ky − xk < r}.

Si a, b ∈ Rn on note [a, b] le sous-ensemble de Rn donné par

[a, b] = {(1 − t)a + tb, t ∈ [0, 1]}

L’ensemble [a, b] est aussi appelé le segment reliant a à b

Remarque 1.1.1.
[a, b] = [b, a]
Si a, b ∈ R avec a < b alors on retrouve le fait que [a, b] désigne l’intervalle des nombres
x ∈ R tels que a ≤ x ≤ b

On a
< Bx, y >=< x, B T y > ∀x ∈ Rn , y ∈ Rm , B ∈ Mm,n (R)

Rappelons aussi l’inégalité de Cauchy-Schwarz :

| < x, y > | ≤ kxk · kyk ∀x, y ∈ Rn

1.1.2 Gradient et hessien


Soit Ω ⊂ Rn un ouvert et f : Ω → R
1. On dit que f est de classe C m sur Ω (f ∈ C m (Ω)) si toutes les dérivées partielles jusqu’à
l’ordre m existent et sont continues.
2. Pour tout x ∈ Ω et tout i ∈ {1, 2, · · · , n} on note, quand elle existe,

∂f f (x + tei ) − f (x)
(x) = lim .
∂xi t→0 t
(c’est la dérivée partielle de f en x dans la direction xi )
3. Pour tout x ∈ Ω on note, lorsqu’il existe,
∂f ∂f ∂f T
∇f (x) = ( , ,··· ) ∈ Rn , ∀x ∈ Ω
∂x1 ∂x2 ∂xn
(le gradient de f en x).

Youssef Qaraai E-MMIS, FSTE, UMI


1.1. CALCUL DIFFÉRENTIEL 6

On note aussi
∂f ∂f ∂f
Jf (x) = ( , ,··· ) ∈ M∞,\ , ∀x ∈ Ω
∂x1 ∂x2 ∂xn
(la Jacobienne de f en x). On a :
∇f = (Jf )T

Pour tous x ∈ Ω et h ∈ Rn on note, quand elle existe,


∂f 1 0
(x) = lim [f (x + th) − f (x)] = g (0).
∂h t→0 t

où g(t) = f (x + th). C’est la dérivée directionnelle de f en x de direction h.

Remarque 1.1.2.
∂f
(x) = 0
∂0
∂f ∂f
(x) = (x)
∂xi ∂ei
Nous rappelons aussi la formule :
∂f
(x) =< ∇f (x), h >, ∀x ∈ Ω ∀h ∈ Rn
∂h
Pour x ∈ Ω on note (quand ∃) ∇2 f (x) la matrice carrée de Mn (R) donnée par

∂ 2f
(∇2 f (x))ij = (x), ∀i, j = 1, 2, · · · n.
∂xi ∂xj

∇2 f (x) s’appelle aussi la matrice hessienne de f en x.


Si f ∈ C 2 (Ω) alors ∇2 f (x) est une matrice symétrique ∀x ∈ Ω (c’est le Théorème de
Schwarz).

Proposition 1.1.1. (Gradient de la composée)


Supposons qu’on a deux ouverts Ω ⊂ Rn et U ⊂ R et deux fonctions f : Ω → R et
g : U → R avec en plus f (Ω) ⊂ U (on peut alors définir g ◦ f : Ω → R). Supposons que f ,
g sont de classe C 1 . Alors g ◦ f est aussi de classe C 1 avec en plus
0
∇(g ◦ f )(x) = g (f (x))∇f (x)∀x ∈ Ω

Proposition 1.1.2. (lien entre ∇ et ∇2 )


a) La i-ème ligne de ∇2 f (x) est la Jacobienne du i-ème élément de ∇f
b) On a :
∇2 f (x)h = ∇ < ∇f (x), h >, ∀x ∈ Ω, ∀h ∈ Rn

Youssef Qaraai E-MMIS, FSTE, UMI


1.1. CALCUL DIFFÉRENTIEL 7

En effet, On a :
n n
∂ ∂ X ∂f X ∂ 2f
< ∇f (x), h >= ( (x)hj ) = (x)hj = (∇2 f (x)h)i .
∂xi ∂xi j=1 ∂xj j=1
∂xi xj

Exemple 1.1.1. 1. Si f : Rn → R est une fonction constante alors ∇f = ∇2 f = 0.


2. Soit f : Rn → R définie par f (x) =< a, x > ∀x ∈ Rn où a ∈ Rn est un vecteur donné
(c’est à dire, f est une fonction linéaire).
∂f
Alors on calcule facilement : = ak , donc
∂xk
∇f = a (le gradient est constant), ce qui donne ∇2 f = 0.

3. Soit f : Rn → R donnée par

f (x) =< Ax, x > ∀x ∈ Rn ,

où A ∈ Mn (R) est un matrice carrée, réelle, de taille n (c’est à dire, f est la fonction
quadratique associée à la matrice A). Alors pour tout p ∈ {1, 2, ..., n} fixé, on peut écrire

n
X
f (x) = Aij xi xj
i,j=1
n
X n
X n
X
= App x2p + Apj xp xj + Aip xi xp + Aij xi xj
j=1,j6=p i=1,i6=p i,j=1,i6=p,j6=p

ce qui nous donne


n n
∂f X X
= 2App xp + Apj xj + Aip xi
∂xp j=1,j6=p i=1,i6=p
n
X n
X
= Apj xj + Aip xi
j=1 i=1

= (Ax)p + (AT x)p

Nous obtenons donc :


∇f (x) = (A + AT )x, ∀x ∈ Rn

On peut aussi écrire :


n
∂f X
(x) = (A + AT )ik xk , ∀i = 1, 2, ..., n
∂xi k=1

Youssef Qaraai E-MMIS, FSTE, UMI


1.1. CALCUL DIFFÉRENTIEL 8

On a alors immédiatement :
∂ 2f
(x) = (A + AT )ij , ∀i, j = 1, 2, ..., n
∂xi ∂xj
c’est à dire
∇2 f (x) = A + AT , ∀x ∈ Rn
donc la hessienne de f est constante.
En particulier, si A est symétrique (c’est à dire A = AT ) alors

∇ < Ax, x >= 2Ax et ∇2 < Ax, x >= 2A ∀x ∈ Rn

Formules de Taylor

Proposition 1.1.3. Soit Ω ⊂ Rn un ouvert, f : Ω → R et h ∈ Rn tel que [a, a + h] ⊂ Ω,


alors :
1. Si f ∈ C 1 (Ω) alors on a :
— formule de Taylor à l’ordre 1 avec reste intégral.
Z 1
f (a + h) = f (a) + < ∇f (a + th), h > dt
0

— formule de Taylor-Maclaurin à l’ordre 1

f (a + h) = f (a)+ < ∇f (a + θh, h > avec 0<θ<1

— formule de Taylor-Young à l’ordre 1

f (a + h) = f (a)+ < ∇f (a), h > +o(khk)

2. Si f ∈ C 2 (Ω) alors on a :
— formule de Taylor à l’ordre 2 avec reste intégral
Z 1
f (a + h) = f (a)+ < ∇f (a), h > + (1 − t) < ∇2 f (a + th)h, h > dt
0

— formule de Taylor-Maclaurin à l’ordre 2


1
f (a + h) = f (a)+ < ∇f (a), h > + < ∇2 f (a + θh)h, h >, θ ∈ [0, 1]
2
— formule de Taylor-Young à l’ordre 2
1
f (a + h) = f (a)+ < ∇f (a), h > + < ∇2 f (a)h, h > +o(khk2 )
2

La notation okhk pour k ∈ N signifie une expression qui tend vers 0 plus vite que khkk ,
k

c’est à dire, si on la divise par khkk , le résultat tend vers 0 quand khk tend vers 0.

Youssef Qaraai E-MMIS, FSTE, UMI


1.2. CONVEXITÉ 9

1.2 Convexité
Définition 1.2.1.

1. Un ensemble U ⊂ Rn est dit convexe si ∀x, y ∈ U on a [x, y] ⊂ U ; quelque soit


deux points dans U , tout le segment qui les unit reste dans U .
2. Soit U ⊂ Rn un ensemble convexe et f : U → R une fonction.
— On dit que f est convexe sur U si
f [tx + (1 − t)y] ≤ tf (x) + (1 − t)f (y) ∀x, y ∈ U, ∀t ∈ [0, 1]
— On dit que f est strictement convexe sur U si
f [tx + (1 − t)y] < tf (x) + (1 − t)f (y) ∀x, y ∈ U, x 6= y, ∀t ∈ [0, 1]
— On dit que f est concave (respectivement strictement concave) si −f est convexe
(respectivement strictement convexe).

Remarque 1.2.1. Toute fonction strictement convexe est convexe, mais la réciproque
n’est pas vraie en général.

A partir de la définition ci-dessus, on rappelle le résultat suivant :

Proposition 1.2.1. Soit U ⊂ Rn un ensemble convexe, p ∈ N∗ , f1 , f2 , · · · , fp : U → R


des fonctions convexes et γ1 , γ2 , · · · , γn des constantes strictement positives. Si on pose
f = pj=1 γj fj , alors on a :
P

— La fonction f est convexe (i.e. toute combinaison linéaire avec des coefficients stric-
tement positifs de fonctions convexes est convexe).
— Si au moins une des fonctions f1 , · · · , fp est strictement convexe alors f est stric-
tement convexe.

Il est en général difficile de vérifier la convexité d’une fonction en utilisant uniquement la


définition (exemples avec f (x) = x2 ou avec f (x) = x4 ). La proposition suivante donne
des critères de convexité plus faciles à utiliser pour montrer la convexité ou la convexité
stricte d’une fonction.

Proposition 1.2.2.
Soit Ω ⊂ Rn ouvert, U ⊂ Ω avec U convexe et f : Ω → R une fonction. Alors on a :
1. (Caractérisation de la convexité avec ∇). Supposons que f est de classe C 1 , alors
— la fonction f est convexe sur U ⇔ f (y) ≥ f (x)+ < ∇f (x), y − x >, ∀x, y ∈ U

Youssef Qaraai E-MMIS, FSTE, UMI


1.2. CONVEXITÉ 10

— la fonction f est strictement convexe sur U ⇔ f (y) > f (x)+ < ∇f (x), y − x >,
∀x, y ∈ U avec x 6= y
— la fonction f est convexe sur U ⇔ ∇f est monotone sur U , c’est à dire <
∇f (y) − ∇f (x), y − x >≥ 0 ∀x, y ∈ U
— si ∇f est strictement monotone sur U c’est à dire : < ∇f (y)−∇f (x), y−x >> 0
∀x, y ∈ U avec x 6= y alors f est strictement convexe sur U .
2. (Caractérisation de la convexité avec ∇2 ). Supposons que f est de classe C 2 , alors
— la fonction f est convexe sur U ⇔ < ∇2 f (x)(y − x), y − x >≥ 0, ∀x, y ∈ U
— si < ∇2 f (x)(y − x)y − x >> 0, ∀x, y ∈ U avec x 6= y alors f est strictement
convexe sur U .

Remarque 1.2.2. 1. Dans le cas particulier où Ω = U = Rn alors les deux inégalités de


la partie 2 de la proposition précédente peuvent s’écrire :

< ∇2 f (x)h, h >≥ 0, ∀x, h ∈ Rn

< ∇2 f (x)h, h >> 0, ∀x, h ∈ Rn , h 6= 0.


00
2. Dans le cas particulier n = 1 et Ω un intervalle ouvert dans R, on a ∇2 f (x) = f (x)
00
, donc < ∇2 f (x)(y − x), y − x >= f (x)(y − x)2 . Alors les deux inégalités de la partie 2
peuvent s’écrire :
00
f (x) ≥ 0, et f 00 (x) > 0 ∀x ∈ U

On retrouve un résultat bien connu.


0
Exemple 1.2.1. Soit f : R → R donnée par f (x) = x2 . Comme ∇f (x) = f (x) = 2x on
a ∀x, y ∈ R :
f (y) − f (x)− < ∇f (x), y − x >= y 2 − x2 − 2x(y − x) = y 2 + x2 − 2xy = (y − x)2 > 0 si
x 6= y
et ceci montre la stricte convexité de cette fonction , en utilisant la partie 2. On peut aussi
utiliser la partie 1 :

< ∇f (y) − ∇f (x), y − x >= 2(y − x)2 > 0 si y 6= x

donc f est strictement convexe.


00
C’est encore plus facile si on utilise la dérivée seconde : f (x) = 2 > 0, donc f est
strictement convexe.

Youssef Qaraai E-MMIS, FSTE, UMI


1.2. CONVEXITÉ 11

Fonctions elliptiques, fonctions coercives

Définition 1.2.2.
1. Soit f : Rn → R. On dit que f est une fonction elliptique si elle est de classe C 1 et si
α > 0 telle que

< ∇f (x) − ∇f (y), x − y >≥ αkx − yk2 , ∀x, y ∈ Rn

2. Ω ⊂ Rn un ensemble non borné et f : Ω → R. On dit que f est coercive sur Ω si on a

lim f (x) = +∞.


x∈Ω,kxk→+∞

Proposition 1.2.3. Soit f : Rn → R une fonction elliptique. Alors elle est strictement
convexe et coercive. Elle vérifie en plus l’inégalité :
α
f (y) ≥ f (x)+ < ∇f (x), y − x > + ky − xk2 , ∀x, y ∈ Rn (1.2.1)
2
Démonstration. Montrons d’abord l’inégalité (1.2.1). Par la formule de Taylor à l’ordre 1
avec reste intégral, on a
Z 1
f (y) = f (x) + < ∇f (x + t(y − x)), y − x > dt
0

ce qui nous donne

Z 1
1
f (y) − f (x)− < ∇f (x), y − x >= < ∇f (x + t(y − x)) − ∇f (x), t(y − x) > dt
0 t
En utilisant le fait que f est elliptique on en déduit :

< ∇f (x + t(y − x)) − ∇f (x), t(y − x) >≥ αkt(y − x)k2

ce qui nous donne (car t > 0) :


Z 1
2 α
f (y) − f (x)− < ∇f (x), y − x >≥ αk(y − x)k tdt = ky − xk2
0 2
Montrons la stricte convexité de f . De la définition de l’ellipticité on déduit

< ∇f (x) − ∇f (y), x − y >> 0, ∀x, y ∈ Rn avec x 6= y

Youssef Qaraai E-MMIS, FSTE, UMI


1.2. CONVEXITÉ 12

A l’aide de la partie 1 de la Proposition 1.2.2 f strictement convexe


Montrons la coercivité de f . En prenant x = 0 dans (1.2.1) on obtient :

α
f (y) ≥ f (0)+ < ∇f (0), y > + kyk2
2
Nous utilisons l’inégalité de Cauchy-Schwarz

| < ∇f (0), y > | ≤ k∇f (0)kkyk

qui nous donne


< ∇f (0), y >≥ −k∇f (0)kkyk∀y ∈ Rn

En utilisant cette dernière inégalité dans 1.2.1 on déduit


α
f (y) ≥ f (0) − k∇f (0)kkyk + kyk2
2
ce qui nous donne
f (y) → +∞ si kyk → +∞

Proposition 1.2.4. (Caractérisation de l’ellipticité avec ∇2 ). Soit f une fonction de


classe C 2 . Alors f est elliptique si et seulement si ∃β > 0 tel que

< ∇2 f (x)h, h >≥ βkhk2 , ∀x, h ∈ Rn (1.2.2)

Démonstration. a) Supposons que f est elliptique. Soit h ∈ Rn fixé et g : Rn → R la


fonction donnée par g(x) =< ∇f (x), h >, ∀x ∈ Rn , nous avons

∂g
< ∇2 f (x)h, h > =< ∇g(x), h >= (x)
∂h
< ∇f (x + th), h > − < ∇f (x), h >
= lim
t→0 t
En utilisant la bilinéarité du produit scalaire et ensuite le fait que f est elliptique, on
obtient :

< ∇f (x + th) − ∇f (x), th > kthk2


< ∇2 f (x)h, h >= lim ≥ α = αkhk2
t→0 t2 t2
ce qui nous donne 1.2.2 avec α = β.

Youssef Qaraai E-MMIS, FSTE, UMI


1.2. CONVEXITÉ 13

b) Supposons maintenant que 1.2.2 est satisfaite et montrons que f est elliptique. Soit
x, y ∈ Rn fixés arbitraires, et considérons la fonction g1 : Rn → R donnée par

g1 (z) =< ∇f (z), x − y >, ∀z ∈ Rn


Alors

< ∇f (x) − ∇f (y), x − y >= g1 (x) − g1 (y) =< ∇g1 (y + θ(x − y)), x − y >

avec θ ∈]0, 1[ (formule de Taylor). D’autre part, nous avons

∇g1 (z) = ∇2 f (z)(x − y)

et ceci nous permet de déduire, par hypothèse :

< ∇f (x) − ∇f (y), x − y >=< ∇2 f (y + θ(x − y))(x − y), x − y >≥ βkx − yk2
On a donc obtenu l’ellipticité de f avec θ → 0+ et α = β. 

Nous avons aussi le résultat suivant.

Proposition 1.2.5. Soit p ∈ N∗ , f1 , f2 , · · · , fp : Rn → R des fonctions convexes de classe


C 1 et γ1 , γ2 , · · · , γn des constantes strictement positives. Si au moins une des fonctions
f1 , f2 , · · · , fp est elliptique alors f = pj=1 γj fj est aussi elliptique
P

Démonstration. Soit i ∈ {1, 2, · · · , p} tel que fi soit elliptique. Alors il existe α > 0 tel
que

< ∇fi (y) − ∇fi (x), y − x >≥ αkx − yk2 , ∀x, y ∈ Rn


D’autre part, comme toutes les fk sont convexes on a

< ∇fk (y) − ∇fk (x), y − x >≥ 0, ∀x, y ∈ Rn , ∀k 6= i.

En multipliant la première inégalité par γi et les autres par γk et en sommant sur k, on


obtient immédiatement le résultat. 

Exemple 1.2.2. 1. Si n = 1, toute fonction f : R → R de classe C 2 :


00
∃α > 0, f (x) ≥ α, ∀x ∈ R

est une fonction elliptique (c’est une conséquence immédiate de la Proposition


1.2.2). Considérons par exemple les deux fonctions suivantes.

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 14

f (x) = ax2 + bx + c avec a > 0


00
f (x) = x2 + sin(x) (car f (x) = 2 − sin(x) ≥ 1, ∀x ∈ R).
2. Si (n ∈ N∗ ) quelconque. Soit f : Rn → R donnée par
1
f (x) = < Ax, x > + < b, x > +c, ∀x ∈ Rn
2
avec A ∈ Mn (R) une matrice carrée réelle et symétrique de taille n, avec b ∈ Rn un
vecteur et c ∈ R un scalaire (on appelle encore forme quadratique). On a bien :

∇f (x) = Ax + b et ∇2 f (x) = A

donc la hessienne de f est constante. Comme A est symétrique alors on sait que
toutes les valeurs propres de A sont réelles et que

< Ah, h >≥ λmin khk2 , ∀h ∈ Rn

où λmin ∈ R est la plus petite valeur propre de A.


Remarquons que l’inégalité précédente devient égalité si h est un vecteur propre
associé à la valeur propre λmin .
Rappelons aussi que A est une matrice définie positive si et seulement si λmin > 0 (par
définition une matrice carrée réelle B ∈ Mn (R) est définie positive si

< Bx, x >> 0, ∀x ∈ Rn , x 6= 0.

En utilisant la proposition 1.2.2 on déduit que f est une fonction elliptique si et seulement
si A est une matrice définie positive.

1.3 Analyse d’un problème d’optimisation

1.3.1 Formulation
La modélisation mathématique sous forme d’un problème d’optimisation, nécessite l’éta-
blissement d’au moins trois étapes fondamentales :
1. Identification des variables de décisions : ce sont les paramètres sur lesquels l’uti-
lisateur peut agir pour faire évoluer le système considéré. On parle des inconnues
du problème.

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 15

2. Définition d’une fonction coût ou fonction objectif permettant d’évaluer l’état du


système étudié (exemple : rendement, performance, coût, énergie, etc). On l’appelle
parfois critère à optimiser.
3. Description des contraintes imposées aux variables de décision. Souvent, au moins
l’une des inconnues du problème est soumises à au moins une condition ou limita-
tion. Dans ce cas, on parle en général du système ou l’ensemble des contraintes.
Le problème d’optimisation consiste alors à déterminer les variables de décision conduisant
aux meilleures conditions de fonctionnement du système (ce qui revient à minimiser ou
maximiser la fonction coût), tout en respectant les contraintes d’utilisation.
Mathématiquement parlant, un tel problème peut être formulé comme suit :

(P ) : {min f (x), avec x ∈ X}

En ce qui concerne le sens d’optimisation, (P ) ne présente aucune restriction. En effet, on


a max(f ) = − min(−f ).
Dans tout ce qui suit, nous nous intéresserons aux cas d’optimisation dite continue, contrai-
rement au cas discret, et que l’ensemble des contraintes X est une partie de Rn (ou Rn
tout entier). Dans ce cas, on parle d’optimisation avec contraintes (respectivement sans
contraintes).

Exemple 1.3.1. : Considérons un étudiant qui doit réviser ses examens. Nous supposerons
qu’il a trois matières à passer et qu’il révise xi heures pour la ieme matière, i = 1, 2, 3.
Nous supposons que la note ni de la matière i dépend uniquement du temps passé xi . Pour
se fixer les idées supposons que

n1 (x1 ) = 3x1 , n2 (x2 ) = x22 , n3 (x3 ) = x3 (100 − x3 )

Cet étudiant veut passer au plus 10 heures au total à réviser et veut optimiser sa moyenne
totale. On note x = (x1 , x2 , x3 ) le triplet qui correspond aux heures passées à travailler, et
1
on note f (x) = (3x1 + x22 + x3 (100 − x3 )) sa moyenne.
3
D’après les données du problème, x ne peut pas prendre n’importe quelles valeurs réelles. On
dit que le problème est contraint. En effet x doit appartenir à X, l’ensemble des contraintes
donné par :

X = (x1 , x2 , x3 ) ∈ R3 : ∀i, xi ≥ 0 et x1 + x2 + x3 ≤ 10


Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 16

On note le problème de l’étudiant


max f (x)
x∈X

Cela étant, la suite de ce chapitre sera dédiée à la présentation des conditions dites d’op-
timalité ainsi qu’aux résultats d’existence et d’unicité de la solution d’un problème d’op-
timisation.

1.3.2 Conditions d’optimalité


Définition 1.3.1. Soit U ⊂ Rn , u∗ ∈ U et f : U → R.

1. On dit que u∗ est un point de minimum absolu (ou global) de f sur U si

f (u) ≥ f (u∗ ), ∀u ∈ U.

2. On dit que u∗ est un point de minimum relatif (ou local) de f sur U si ∃V voisinage
de u∗ dans Rn , tel que
f (u) ≥ f (u∗ ), ∀u ∈ U ∩ V.

3. On dit que u∗ est un point de maximum absolu (respectivement relatif ) de f sur U


si u∗ est un point de minimum absolu (respectivement relatif ) de −f sur U .
4. On dit que u∗ est un point d’extremum absolu (respectivement relatif ) de f sur U
si u∗ est : soit un point de minimum absolu (respectivement relatif ) de f sur U ,
soit un point de maximum absolu (respectivement relatif ) de f sur U .

Dans toute la suite on parlera uniquement de la minimisation d’une fonction f ; pour la


maximisation, il suffit de faire max f = − min(−f ).
Un point de minimum absolu est clairement un point de minimum relatif. Si on dit sim-
plement minimum on comprends minimum absolu. Commençons par le résultat suivant.

Lemme 1.3.1. Soit U ⊂ Rn , a ∈ Rn et u∗ un élément appartenant à l’intérieur de U .


Alors on a l’équivalence suivante :

< a, u − u∗ >≥ 0, ∀u ∈ U ⇔ a=0

Démonstration. Si a = 0, alors l’inégalité de gauche est évidente. Pour montrer l’implica-


tion inverse, soit w ∈ Rn arbitraire, avec w 6= 0. Alors il existe θ0 > 0 tel que u + wθ ∈ U ,

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 17

r
∀θ ∈ [−θ0 , θ0 ] (il suffit de prendre θ0 = où r > 0 est tel que B(u∗ , r) ⊂ U ).
2kwk
Alors en prenant u∗ + θw à la place de u dans l’inégalité du lemme on déduit

< a, θw >≥ 0, ∀θ ∈ [−θ0 , θ]


En prenant d’abord θ = θ0 et ensuite θ = −θ0 dans l’inégalité précédente, on déduit
< a, w >= 0 et ceci quelque soit w ∈ Rn , w 6= 0.
Comme l’égalité précédente est évidemment valable aussi pour w = 0 alors elle est valable
pour tout w ∈ Rn . Ceci donne immédiatement le résultat souhaité (il suffit de prendre
w = a). 

On utilisera dans la suite la définition suivante

Définition 1.3.2. Soit U ⊂ Rn un ensemble et u∗ ∈ U . On dit que w ∈ Rn est une


direction admissible pour u∗ en U s’il existe t0 > 0 tel que u∗ + tw ∈ U , ∀t ∈ [0, t0 ]

Exemples :
1. Si u∗ un point intérieur de U alors tout vecteur w ∈ Rn est une direction admissible
pour u∗ en U .
2. Si U est convexe alors pour tout v ∈ U le vecteur v − u∗ est une direction admissible
pour u∗ en U .

Lemme 1.3.2. Soit Ω ⊂ Rn un ouvert, U ⊂ Ω, f : Ω → R une fonction de classe C 1 et


u∗ ∈ U un point de minimum relatif de f sur U . Soit w ∈ Rn une direction admissible
pour u∗ en U . Alors :
< ∇f (u∗ ), w >≥ 0

Démonstration. Soit V un voisinage de u∗ en Rn tel que f (u) ≥ f (u∗ ), ∀u ∈ U ∩ V . Soit


t1 > 0 tel que
u∗ + tw ∈ V, ∀t ∈ [−t1 , t1 ]
r
(pour w 6= 0 il suffit de prendre t1 = où r > 0 est tel que B(u∗ , r) ⊂ V ; pour w = 0
2kwk
tout t1 convient).
D’autre part on a
u∗ + tw ∈ U, ∀t ∈ [0, t0 ]
où t0 est la constante donnée comme dans la définition ci-dessus. On déduit alors que

f (u∗ + tw) − f (u∗ ) ≥ 0, ∀t ∈ [0, min{t0 , t1 }].

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 18

En divisant par t et en passant à la limite pour t → 0, t > 0, on obtient :


∂f ∗
(u ) ≥ 0
∂w
ce qui est exactement l’inégalité demandée. 

Nous pouvons alors énoncer le résultat fondamental suivant.

Théorème 1.3.1. Soit Ω ⊂ Rn un ouvert, U ⊂ Ω un ensemble convexe et f : Ω → R une


fonction de classe C 1 . Soit u∗ ∈ U un point de minimum relatif de f sur U. Alors
1. < ∇f (u∗ ), u − u∗ >≥ 0, ∀u ∈ U c’est l’inéquation d’Euler.
2. Si en plus u∗ est dans l’intérieur de U alors la condition est équivalente à

∇f (u∗ ) = 0

c’est l’équation d’Euler.

Démonstration. 1. C’est une conséquence immédiate du lemme 1.3.2 et du fait que u − u∗


est une direction admissible pour u∗ en U (car U est convexe).
2. Cette partie est une conséquence immédiate du Lemme 1.3.1 avec a = ∇f (u∗ ). 

Ces relations respectives donnent seulement des conditions nécessaires de minimum relatif,
qui ne sont pas en général suffisantes. de plus, si U est un ensemble ouvert (par exemple
si U est l’espace entier, U = Rn ) alors u∗ est forcément dans l’intérieur de U et donc
l’équation d’Euler peut être utilisée comme condition nécessaire de minimum relatif. Le
résultat suivant nous donne aussi des conditions suffisantes de minimum.

Théorème 1.3.2. Soit Ω ⊂ Rn un ouvert, U ⊂ Ω un ensemble convexe, f : Ω → R


une fonction convexe de classe C 1 et u∗ ∈ U . Alors les trois assertions suivantes sont
équivalentes :
1. u∗ est un point de minimum absolu de f sur U
2. u∗ est un point de minimum relatif de f sur U
3. < ∇f (u∗ ), u − u∗ >≥ 0, ∀u ∈ U

Démonstration. 1 ⇒ 2 est évidente et 2 ⇒ 3 est une conséquence immédiate du théorème


1.3.1. Montrons 3 ⇒ 1. Grâce à la convexité de f et à l’aide de la proposition 1.2.2 nous
avons
f (u) − f (u∗ ) ≥< ∇f (u∗ ), u − u∗ >, ∀u ∈ U
De 3. nous obtenons alors 1. 

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 19

Remarquons que dans le cas où u∗ est un point intérieur de U alors l’assertion 3. du


théorème peut être remplacée (grâce au Lemme 1.3.1) par l’équation d’Euler : ∇f (u∗ ) = 0

1.3.3 Résultats d’existence et d’unicité


Théorème 1.3.3. (Existence)
Soit U ⊂ Rn un ensemble non vide et fermé, et f : U → R une fonction continue. On
suppose que U est borné ou bien U est non bornée et f est une fonction coercive sur U .
Alors il existe au moins un point de minimum de f sur U (c’est à dire, ∃u∗ ∈ U tel que
f (u∗ ) ≤ f (u), ∀u ∈ U )

Démonstration.
1) Cas où l’ensemble U est borné. Comme U est aussi fermé, U est compact. Or f est
continue, le théorème de Weierstrass nous assure que f est bornée sur U et elle atteint ses
bornes. Donc il existe au moins un point de minimum absolu de f sur U .
2) Cas où l’ensemble U est non borné. Soit a ∈ U et considérons l’ensemble

E = {x ∈ U, f (x) ≤ f (a)}

E 6= ∅ car a ∈ E. On montre que :


1. E est fermé (car E = f −1 (] − ∞, f (a)])), donc E est l’image réciproque d’un
intervalle fermé par une fonction continue).
2. E est borné (supposons le contraire : alors il existe une suite xk ∈ E avec kxk k →
+∞ pour k → +∞. Comme f est coercive sur U , ceci entraîne f (xk ) → +∞ ce
qui est absurde, car f (xk ) ≤ f (a), ∀k ∈ N).
On déduit alors que E est un ensemble compact dans Rn . Du théorème de Weierstrass,
∃u∗ ∈ E tel que
f (u∗ ) ≤ f (u), ∀u ∈ E.

Mais d’autre part, on a


f (u∗ ) < f (u), ∀u ∈ U − E

(car f (u∗ ) ≤ f (a) < f (u), ∀u ∈ U − E). Ceci prouve que u∗ est un point de minimum
absolu de f sur U , ce qui finit la preuve. 

Youssef Qaraai E-MMIS, FSTE, UMI


1.3. ANALYSE D’UN PROBLÈME D’OPTIMISATION 20

Théorème 1.3.4. (Unicité)


Soit U ⊂ Rn un ensemble convexe et f : U → R une fonction strictement convexe. Alors
il existe au plus un point de minimum de f sur U .

Démonstration. On va raisonner par absurde. Soient u1 , u2 ∈ U avec u1 6= u2 deux points


de minimum de f sur U . Nous avons donc :

f (u1 ) = f (u2 ) ≤ f (u), ∀u ∈ U

Comme f est strictement convexe, on a


1 1 1 1
f ( u1 + u2 ) < f (u1 ) + f (u2 ) = f (u1 )
2 2 2 2
(car f (u1 ) = f (u2 )) et ceci contredit la relation ci-dessus. 

Corollaire 1.3.1. (Existence et unicité)


Soit U ⊂ Rn un ensemble fermé et convexe, et f : U → R une fonction elliptique. Alors il
existe un unique point de minimum de f sur U .

Démonstration.
Remarquons d’abord que f est continue, car elle est C 1 . On a alors deux situations :
1. Si U est borné alors l’existence est immédiate du théorème 1.3.3.
2. Si U est non borné alors comme conséquence de la proposition 1.2.1 f est coercive sur
Rn donc sur U ; alors l’existence résulte encore du théorème 1.3.3.
Toujours de la proposition 1.2.1 on déduit que f est strictement convexe. Alors l’unicité
est une conséquence immédiate du théorème 1.3.4. 

Youssef Qaraai E-MMIS, FSTE, UMI


Chapitre 2

Méthodes d’optimisation sans


contraintes

Nous nous intéressons dans ce chapitre à quelques méthodes numériques pour la recherche
des points x ∈ Rn qui réalisent le minimum d’une fonction f : Rn → R :

(P ) minn f (x) ,
x∈R

où f est une fonction donnée. On parle d’optimisation sans contrainte.

2.1 Conditions d’optimalité


Nous commençons dans cette section à étudier ce que l’on appelle les conditions d’opti-
malité qui sont des caractérisations des points de minimum.

Théorème 2.1.1. Soit f : Rn → R une application différentiable.


— CN d’optimalité du 1er ordre Si x? ∈ Rn réalise un minimum local (resp. maximum
local) de f , alors : ∇f (x? ) = 0 .
— CN d’optimalité du 2nd ordre Si de plus f est deux fois différentiable dans un voi-
sinage ouvert de x? , alors : H[f ](x? ) est semi-définie positive (resp. H[f ](x? ) est
semi-définie négative)

Démonstration. Soit h ∈ Rn , h 6= 0. Pour s assez petit, on définit φ : s ∈ R → f (x? + sh)


. La fonction φ admet donc un minimum local en s = 0, d’où : φ0 (0) = ∇f (x? )T h = 0.
Ceci étant vrai pour tout h, on en déduit : ∇f (x? ) = 0.

21
2.1. CONDITIONS D’OPTIMALITÉ 22

Supposons maintenant f deux fois différentiable. On écrit le développement de Taylor


d’ordre 2 de la fonction φ. Comme ∇f (x? ) = 0, on obtient :

s2 T
f (x? + sh) − f (x? ) = h H[f ](x? )h + o(s2 )
2
s2 T
soit : h H[f ](x? )h + 0(s2 ) ≥ 0 puisque x? est un point de minimum local de f . Après
2
division par s2 , on fait tendre s vers 0 et on obtient : hT H[f ](x? )h ≥ 0. 

La condition d’optimalité du premier ordre montre que les points où le gradient s’annule
sont des points importants. Ils sont appelés points critiques et sont définis comme suit :

Définition 2.1.1. Soit f : Rn → R une application différentiable. Tout point x ∈ Rn


vérifiant : ∇f (x) = 0 est appelé point critique ou point stationnaire de f .

Les conditions du théorème 2.1.1 ne sont que nécessaires : tout point où le gradient est
nul n’est pas nécessairement un extremum. Les exemples suivants montrent les différents
types de cas qui peuvent se produire.

Exemple 2.1.1.
- La fonction x → x2 admet un point critique en x = 0 qui est aussi minimum local.
- La fonction x → −x2 admet un point critique en x = 0 qui est aussi maximum local.
- La fonction x → x3 admet un point critique en x = 0 qui n’est ni minimum local ni
maximum local, il s’agit ici d’un point d’inflexion.
- La fonction x → x2 − y 2 admet un point critique en (x, y) = (0, 0) qui n’est ni minimum
local ni maximum local, on l’appelle un point-selle.

Cependant, la condition du premier ordre joue un rôle central en optimisation : elle permet
de sélectionner un certain nombre de points candidats à être des extremums locaux, même
il faut vérifier que les points critiques que l’on a sélectionné sont bien des extremums
locaux.

Exemple 2.1.2.
Trouver les minimaux globaux de f (x) = ax2 + bx + c avec a, b, c ∈ R
- Si a > 0 alors la fonction est infinie à l’infini et admet un minimum global
- Si a < 0 la fonction vaut −∞ en ±∞
- Si a = 0 et b 6= 0 la fonction vaut −∞ en +∞ ou −∞ selon le signe de b et dans tous
ces cas n’admet pas de minimum global.

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 23

- Si a = 0 et b = 0, la fonction est constante et tout point est minimum global.

Nous nous intéressons donc au seul cas a > 0. L’équation des points critiques est 2ax+b =
0, il existe un seul point critique x = −b/2a et dans le cas a > 0 nous savons qu’il existe
un minimum global qui est donc point critique donc c’est −b/2a.

Nous avons vu que la recherche des points qui annulent le gradient est une condition
nécessaire d’extremums, nous voyons maintenant une condition suffisante.

Théorème 2.1.2. Soit O un ouvert de Rn . Soit f : Rn → R une application supposée de


classe C 2 sur O. Si x ∈ O vérifie :
— ∇f (x) = 0
— H[f ](x) symétrique, définie positive (resp. définie négative)
alors x est un point de minimum local (resp. maximum local) de f .

Remarque 2.1.1.
- D’un point de vue géométrique, la condition du second ordre : H[f ](x) définie positive,
revient à dire que f est localement convexe en x, i.e. convexe dans un voisinage ouvert de
x. En pratique, elle est difficile à vérifier systématiquement car elle nécessite de calculer
les dérivées secondes et d’étudier les valeurs propres de la matrice hessienne.
- Condition suffisante mais non nécessaire : on montrer que 0 est un minimum global de
f : x → x4 , que c’est bien un point critique de f mais que la Hessienne de f en ce point
est semi-définie positive mais n’est pas définie positive (elle est nulle).

Si de plus la fonctionnelle à optimiser est convexe ou strictement convexe, en appliquant


le Théorème 1.3 au convexe X = Rn , on obtient :

Théorème 2.1.3. Soit f : Rn → R une application différentiable et x un point critique


de f .
(i) Si f est convexe, alors x est un point de minimum global de f .
(ii) Si f est strictement convexe, alors x est l’unique point de minimum global de f .

2.2 Généralités sur les algorithmes de descente


Nous allons maintenant se focaliser sur les algorithmes de calcul de minimum et plus par-
ticulièrement aux algorithmes de descente. L’algorithme est itératif et procède donc par

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 24

améliorations successives. Au point courant, un déplacement est effectué le long d’une


direction de descente, de manière à faire décroître la fonction. Le déplacement le long de
cette direction est déterminé par la technique numérique connue sous le nom de recherche
linéaire. Cette approche algorithmique peut être vue comme une technique de globalisa-
tion, c’est-à-dire une méthode permettant d’obtenir la convergence des itérés (sous cer-
taines conditions) quel que soit l’itéré initial choisi.
Partant d’un point x0 arbitrairement choisi, un algorithme de descente va chercher à gé-
nérer une suite des itérés (xk )k∈N telle que :

∀k ∈ N, f (xk+1 ) ≤ f (xk )

Commençons par définir plus précisément la notion de descente.

2.2.1 Notion de direction de descente


Le gradient joue un rôle essentiel en optimisation. Dans le cadre des méthodes d’optimisa-
tion, il sera également important d’analyser le comportement de la fonction objectif dans
certaines directions. Commençons pour cela par rappeler le concept de dérivée direction-
nelle.

Définition 2.2.1. Soit f : Rn → R une application continue. Soit x ∈ Rn et d ∈ Rn . La


dérivée directionnelle de f en x dans la direction d est définie par :

f (x + td) − f (x)
df (x, d) := lim
t→0 t
si cette limite existe.

Proposition 2.2.1. Si f est différentiable en un point x ∈ Rn , alors pour tout d 6= 0, f


admet une dérivée dans la direction d en x et que :

df (x, d) = Df (x)(d) = ∇f (x)T d.

On rappelle que la réciproque est fausse ! La dérivabilité selon tout vecteur en x n’implique
pas nécessairement la différentiabilité de f en x.
La dérivée directionnelle donne des informations sur la pente de la fonction dans la di-
rection d, tout comme la dérivée donne des informations sur la pente des fonctions à une
variable. En particulier,

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 25

— Si df (x, d) > 0 alors f est croissante dans la direction d.


— Si df (x, d) < 0 alors f est décroissante dans la direction d, dans ce cas, on dit que
d est une direction de descente de f .

Définition 2.2.2. Soient f : Rn → R et x ∈ Rn . Le vecteur d ∈ Rn est une direction de


descente pour f à partir du point x si t → f (x + td) est décroissante en t = 0, c’est-à-dire
s’il existe η > 0 tel que : ∀t ∈]0, η], f (x + td) < f (x)
1
Ci-dessous l’allure de la fonction f : x → x2 + 2y 2 et sa restriction au point x = (1, 1)T
2
dans trois directions : d1 = −∇f (1, 1), d2 = (1, −3)T et d3 = (−1, −1)T .

Proposition 2.2.2. Soient f : Rn → R différentiable et x ∈ Rn tel que : ∇f (x) 6= 0. Soit


d ∈ Rn un vecteur.
— Si ∇f (x)T d < 0 alors d est une direction de descente.
— Si d est une direction de descente alors ∇f (x)T d ≤ 0.

Démonstration. Soit d telle que ∇f (x)T d < 0. On écrit le développement de Taylor Young
de t → f (x + td) : pour t assez petit, f (x + td) = f (x) + t∇f (x)T d + t(t), avec : (t) → 0 si
t → 0. Comme −∇f (x)T d > 0, il existe η > 0 tel que si |t| ≤ η, alors |(t)| < −∇f (x)T d.
D’où : ∀t ∈]0, η], f (x + td) − f (x) = t[∇f (x)T d + (t)] < 0. Ce qui montre la première
partie de la proposition.
Soit maintenant d une direction de descente, supposons que ∇f (x)T d > 0, en appliquant
le même raisonnement que ci-dessus, on montre qu’il existe un η tel que pour tout t tel
que t ≤ η on a (t) > −∇f (x)T d et ainsi f (x + td) − f (x) > 0, ce qui contredit le fait que
d soit une direction de descente. 

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 26

Parmi toutes les directions de descente existantes en un point x donné, il est naturel de
s’intéresser à celle où la pente est la plus forte. Un résultat remarquable montre que cette
direction est donnée par le gradient (ou plus exactement son opposé). Pour le démontrer,
il suffit de comparer les dérivées directionnelles.

Théorème 2.2.1. (Direction de plus forte descente)


Soit f : Rn → R une fonction différentiable et x ∈ Rn . Alors pour toute direction d de
norme constante égale à kdk = k∇f (x)k, on a :

(−∇f (x))T ∇f (x) ≤ dT ∇f (x)

Ainsi, la direction d? = −∇f (x) est appelée direction de plus forte descente.

Démonstration. Soit d ∈ Rn une direction de norme kdk = k∇f (x)k. On a alors :


(−d)T ∇f (x) ≤ k − dk.k∇f (x)k ≤ k∇f (x)k2 = ∇f (x)T ∇f (x) (d’après l’inégalité de
Cauchy-Schwarz et puisque kdk = k∇f (x)k). 

Si l’opposé du gradient correspond à la plus forte descente, le gradient correspond, lui, à


la plus forte pente de montée :

Corollaire 2.2.1. Le vecteur ∇f (x) est appelé direction de plus forte pente de f au point
x ∈ Rn et si d? = ∇f (x) alors :
(d? )T ∇f (x) = maxn (dT ∇f (x)) sous la contrainte kdk = k∇f (x)k.
d∈R

2.2.2 Algorithme de descente


Partant d’un point x0 arbitrairement choisi, un algorithme de descente va chercher à
générer une suite des itérés (xk )k∈N telle que :

∀k ∈ N, f (xk+1 ) ≤ f (xk )

D’après la caractérisation de la descente (proposition 2.2.2), il s’agit donc à chaque itéra-


tion k, de trouver un point xk+1 dans une direction d vérifiant : ∇f (xk )T d < 0. Le schéma
général d’un algorithme de descente (Algorithme descente modèle) est le suivant :

Algorithme 2.2.1.
Données : f : Rn → R supposée au moins différentiable, x0 point initial arbitrairement
choisi.

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 27

Sortie : une approximation de la solution du problème : minn f (x)


x∈R
1. k := 0
2. Tant que le test de convergence n’est pas satisfait,
— (a) Trouver une direction de descente dk telle que : ∇f (xk )T dk < 0.
— (b) Recherche linéaire : Choisir un pas sk > 0 à faire dans la direction dk et tel
que : f (xk + sk dk ) < f (xk )
— (c) Mise à jour : xk+1 = xk + sk dk ; k := k + 1 ;
3. Retourner xk .

Pour obtenir le prochain itéré, l’algorithme aura besoin d’informations sur la fonction ob-
jectif f : la valeur numérique de f en un point donné x, et souvent également du gradient
∇f (x). Ces informations sont fournies par un sous-programme indépendant de l’algorithme
d’optimisation choisi : routine de calcul du gradient par différences finies lorsque celui-ci
n’est pas calculable explicitement, ou simulateur renvoyant les valeurs numériques f (x) et
∇f (x) sans formule mathématique explicite par exemple.

Test de convergence (Test d’arrêt) : Soit x? un point de 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 x1 , x2 , . . . , 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 tou-
jours 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 disposi-
tion : 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 : on teste si

k∇f (xk )k < ε (2.2.1)

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 : kxk+1 − xk k < εkxk k
— Stagnation de la valeur courante : |f (xk+1 ) − f (xk )| < ε|f (xk )|

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 28

— Nombre d’itérations dépassant un seuil fixé à l’avance : k < IterM ax


et généralement on peut considérer une combinaison de ces critères.
En pratique, on préférera travailler avec les erreurs relatives plutôt qu’avec les erreurs
absolues, trop dépendantes de l’échelle.

2.2.3 Convergence et vitesse de convergence


Étudier la convergence d’un algorithme, c’est étudier la convergence de la suite des itérés
générés par l’algorithme. Un algorithme de descente selon le modèle précédent, est dit
convergent si la suite de ses itérés (xk )k∈N converge vers un point limite x? , solution du
problème :
min f (x)
x∈Rn

De plus, la convergence est dite locale si elle n’a lieu que pour des points initiaux x0 dans
un voisinage de x? . Sinon elle est dite globale.
En pratique, le but d’un algorithme d’optimisation ne sera que de trouver un point critique
(i.e. un point vérifiant la condition d’optimalité du premier ordre : ∇f (x? ) = 0). On
introduit alors la notion de convergence globale d’un algorithme d’optimisation :

Définition 2.2.3. Soit un algorithme itératif qui génère une suite (xk )k∈N dans Rn afin
de résoudre le problème :
min f (x)
x∈Rn

où f : Rn → R est une application de classe C 1 . L’algorithme est dit globalement convergent


si quel que soit le point initial x0 ∈ Rn ,

lim k∇f (xk )k = 0.


k→+∞

Cette propriété garantit que le critère d’arrêt k∇f (xk )k ≤ ε sera satisfait à partir d’un
certain rang quelle que soit la précision ε > 0 demandée.

Remarque 2.2.1. Attention, la notion de convergence que l’on a vu ne suppose pas que
l’algorithme converge vers un minimum, même un minimum local. Prenons par exemple la
fonction f (x, y) = x2 −y 2 +y 4 qui est infinie à l’infini. Son minimum global est obtenu pour

les points (x, y) = (0, ±1/ 2) . On peut montrer cependant que l’algorithme qui consiste
à poser
dk = (−2xk , 2yk − 4yk3 )

Youssef Qaraai E-MMIS, FSTE, UMI


2.2. GÉNÉRALITÉS SUR LES ALGORITHMES DE DESCENTE 29

est bien un algorithme de descente. Il converge au sens de la définition ci-dessus, cependant,


si on part du point (1, 0), l’algorithme converge vers le point (0, 0) qui est bien un point
de gradient nul mais pas un point de minimum (même local).

Il est bien entendu très important de garantir la convergence d’un algorithme sous certaines
hypothèses, mais la vitesse de convergence et la complexité sont également des facteurs à
prendre en compte lors de la conception ou de l’utilisation d’un algorithme ; en effet, on a
tout intérêt à ce que la méthode choisie soit à la fois rapide, précise et stable. Pour cela,
on introduit les notions de vitesse (ou taux) de convergence qui mesurent l’évolution de
l’erreur commise kxk − x? k.

Définition 2.2.4. Soit (xk )k∈N une suite des itérés générées par un algorithme convergent
donné. On note x? la limite de la suite (xk )k∈N et on suppose : ∀k ∈ N, xk 6= x? (sinon
l’algorithme convergerait en un nombre fini d’itérations). La convergence est dite :
— linéaire si l’erreur ek = kxk − x? k décroît linéairement i.e. ∃τ ∈]0, 1[ :

kxk+1 − x? k
lim =τ
k→+∞ kxk − x? k

— super-linéaire si
kxk+1 − x? k
lim = 0.
k→+∞ kxk − x? k

— d’ordre p s’ il existe τ ∈]0, 1[ tel que :

kxk+1 − x? k
lim =τ
k→+∞ ||xk − x? ||p

En particulier, si p = 2, la convergence est dite quadratique (généralement partir


d’un certain rang, le nombre de chiffres significatifs exacts double à chaque itéra-
tion).

Bien entendu, on a intérêt à ce que la convergence d’un algorithme soit la plus élevée
possible afin de converger vers la solution en un minimum d’itérations pour une précision
donnée.

Exemple 2.2.1.

La fonction f : x → x3 −6x+1 admet un minimum local sur R en x? = 2. Partant d’une
approximation grossière x0 = 2 de x? , comparons plusieurs algorithmes de calcul approché

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 30

de x? :

1
• Soit l’algorithme xk+1 = xk − α(x2k − 2). Vérifier que pour 0 < α < √ cet algorithme
√ 2
converge linéairement avec un taux τ = |2α 2 − 1|.

2 1 1
α 0.5 √
3 3 2 2

τ = |2α 2 − 1| 0.885 0.414 0.057 0
Nb d’itérations 105 15 6 4
Nb chiffres significatifs 5 5 7 10

1
Si α = √ , la convergence est dite super-linéaire et c’est la meilleure convergence pos-
2 2
sible de l’algorithme en question.

1 2
• Soit l’algorithme : xk+1 = (xk + ) dont la convergence est quadratique. On peut
2 xk
montrer que 4 itérations suffisent pour calculer une valeur approchée de x? .

2.3 Premiers algorithmes de descente


Un algorithme de descente est déterminé par les stratégies de choix des directions de
descente successives, puis par le pas qui sera effectué dans la direction choisie. Concentrons
nous dans cette partie sur le choix de la direction de descente : l’idée est de remplacer
f par un modèle local plus simple, dont la minimisation nous donnera une direction de
descente de f .

2.3.1 Algorithmes de gradient à pas fixe / optimal


Soit xk ∈ Rn l’itéré courant. Étant donnés la valeur f (xk ) et le gradient ∇f (xk ), on
remplace f au voisinage de xk par son développement de Taylor au premier ordre :

f (xk + d) ∼ f (xk ) + ∇f (xk )T d.

On voudrait que la dérivée directionnelle ∇f (xk )T d soit la plus petite possible dans un
voisinage de d = 0. On cherche donc à résoudre :

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 31

min ∇f (xk )T d s.c. kdk = k∇f (xk )k


d∈Rn

dont la solution nous a été donnée à l’aide du théorème 2.2.1, par :

dk = −∇f (xk )

Le choix de la direction de plus forte descente définit une famille d’algorithmes appelés
algorithmes de descente de gradient dont le schéma est le suivant :

Algorithme 2.3.1.
Données : f, x0 , ε
Sortie : une approximation x? de la solution de : ∇f (x) = 0
1. k := 0
2. Tant que critère d’arrêt non satisfait
— (a) Direction de descente : dk = −∇f (xk )
— (b) Recherche linéaire : trouver un pas sk tel que : f (xk + sk dk ) < f (xk )
— (c) xk+1 = xk − sk ∇f (xk ) ; k := k + 1
3. Retourner xk

Il reste maintenant à définir une stratégie de recherche linéaire pour le calcul du pas. Nous
étudions ici en première approche une méthode à pas optimal, puis une à pas fixe. Une
idée naturelle consiste à suivre la direction de plus forte descente et à faire un pas qui rend
la fonction à minimiser la plus petite possible dans cette direction. Cette méthode est
appelée méthode de gradient à pas optimal ou encore méthode de plus profonde descente.
L’étape 2(b) de l’algorithme de descente de gradient est alors remplacée par (Recherche
Linéaire Exacte) :
— 2.(b) Calculer un pas optimal sk solution de : min f (xk + sdk ).
s>0
La méthode de plus profonde descente est une sorte d’idéalisation : d’une part, nous ne
savons pas en pratique calculer de façon exacte un minimum sk de l’objectif dans une
direction donnée et le problème n’est en général pas trivial. D’autre part, la résolution
du problème de minimisation unidimensionnel de l’étape 2(a), même de façon approchée,
est coûteuse. Pour ces raisons, on peut lui préférer parfois l’algorithme de gradient à pas
constant (ou à pas fixe).

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 32

Algorithme de gradient à pas fixe :


L’idée est très simple, on impose une fois pour toutes la taille du pas effectué selon la
direction de descente calculée à chaque itération. Les itérations 2 (b) et (c) de l’algorithme
de descente de gradient sont alors remplacées par :

xk+1 = xk − s∇f (xk ) .

La question est alors : comment choisir un pas qui garantisse la convergence de l’algo-
rithme ?
Quelques observations numériques : On souhaite minimiser la fonction f (x, y) = 21 x2 + 27 y 2
sur R2 en utilisant les algorithmes de descente de gradient à pas fixe et pas optimal.
Commençons par analyser le problème de minimisation : d’une part, la fonction f est
deux fois différentiable sur R2 et strictement convexe. D’autre part, le point (0, 0) vérifie
les conditions suffisantes d’optimalité du théorème 2.1.2. Donc (0, 0) est l’unique point de
minimum global de f . Soit Xk = (xk , yk ) ∈ R2 l’itéré courant tel que : ∇f (xk , yk ) 6= 0.
Calculons par la méthode de plus profonde descente, l’itéré suivant :

Figure 2.3.1 – Itérés des algos de gradient générés à partir du point (7, 1.5)
!
−xk
- Direction de plus forte descente : dk = −∇f (Xk ) = .
−7yk

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 33

- Calcul du pas optimal sk solution, si elle existe, du problème à une dimension :


1 7
min f (Xk + sdk ) = min x2k (1 − s)2 + yk2 (1 − 7s)2
s>0 s>0 2 2
La solution se calcule de façon immédiate : sk = (x2k + 72 yk2 )/(x2k + 73 yk2 ).
A chaque itération, la méthode génère donc le point :
!
x2 + 72 yk2 −xk
xk+1 = xk + 2k
xk + 73 yk2 −7yk

Appliquons maintenant ces deux méthodes à partir du point x0 = (7, 1.5). Leurs compor-
tements sont illustrés par la figure 2.3.1 et les itérations sont décrites dans les tableaux
2.3.1 et 2.3.2.

Table 2.3.1 – Itérations de la méthode de plus profonde descente. Le critère d’optimalité


est satisfait en 43 itérations pour une précision ε = 10−5 et en 79 itérations si ε = 10−10 .

Pas 0.325 0.25 0.125 0.05 0.01


Itérations divergence 49 101 263 1340

Table 2.3.2 – Nombres d’itérations de l’algorithme de gradient à pas fixe pour approcher
le minimum de f à 10−5 près, en fonction du pas choisi - Point initial : x0 = (7, 1.5)

Cet exemple met en évidence la lenteur de la méthode de plus profonde descente, ca-
ractérisée par le comportement en zigzag des itérés. Essayons de comprendre d’où vient

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 34

ce phénomène. A l’itération k + 1, l’algorithme de plus profonde descente minimise φ :


s ∈ R → f (xk − s∇f (xk )). L’objectif f étant supposé différentiable, la fonction φ est
dérivable sur R de dérivée :
0
φ (s) = −h∇f (xk ), ∇f (xk − s∇f (xk ))i.
0
Soit sk le pas optimal calculé, nécessairement sk vérifie : φ (sk ) = 0, soit :

h∇f (xk ), ∇f (xk − sk ∇f (xk ))i = 0.

Le point xk+1 = xk − sk ∇f (xk ) vérifie donc : h∇f (xk ), ∇f (xk+1 )i = 0.

Deux directions de descentes successives calculées par l’algorithme de plus profonde des-
cente sont orthogonales ce que traduisent les zigzags des itérés, observés sur la figure 2.3.1.
Enfin, les données du tableau 2.3.2 illustrent l’importance du choix du pas dans l’algo-
rithme à pas fixe : un pas bien choisi donne des résultats comparables à ceux obtenus par
la plus profonde descente, un pas plus petit atténue les zigzag des itérés mais augmente le
nombre d’itérations et enfin, un pas trop grand fait diverger la méthode.

2.3.2 Directions conjuguées


Même si la direction opposée au gradient est localement la direction de plus grande des-
cente locale, ce n’est pas en appliquant une méthode de descente du type gradient que
l’on converge le plus rapidement vers un minimum. Et ce n’est pas ce que l’on peut faire
de mieux à l’ordre 1. L’idée de la méthode du gradient conjugué est de construire xk+1
comme le minimum de la fonction sur l’espace affine xk + < d0 , ..., dk >. Dans le cas d’une
fonction quadratique la méthode converge en au plus n itérations : c’est une méthode
exacte particulièrement rapide. Le point essentiel réside dans le fait que dans ce cas la
famille des directions successives d0 , ... , dk est orthogonale pour le produit scalaire associé
à la matrice A de la forme quadratique, et en particulier est une famille libre dans un
espace vectoriel de dimension finie. Cette méthode ingénieuse prend en compte la géomé-
trie globale de la nappe représentative de la fonction. Cette propriété n’est plus vérifiée
pour une fonction quelconque. Elle se généralise à des fonctions non quadratiques par des
méthodes telles que Fletcher-Reeves ou Polak-Ribier.
1 T
Soit f une fonction quadratique de la forme, f (x) = x Ax − bT x + c. La méthode du
2
gradient conjugué est la méthode de descente définie par :

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 35

Algorithme 2.3.2.
Étape 1 :
d0 = ∇f (x0 ) = Ax0 − b
kd0 k2
ρ0 =
hAd0 , d0 i
x1 = x0 − ρ 0 d 0

Étape k + 1 :

k∇f (xk )k2 kAxk − bk2


dk = ∇f (xk ) + d k−1 = Ax k − b + dk−1
k∇f (xk−1 )k2 kAxk−1 − bk2
h∇f (xk ), dk i hAxk − b, dk i
ρk = =
hAdk , dk i hAdk , dk i
xk+1 = xk − ρk dk

Et ce tant que ∇f (xk ) = Axk − b 6= 0

Théorème 2.3.1. (Convergence de la méthode du gradient conjugué)


La méthode du gradient conjugué appliquée à une fonction quadratique associée à une
matrice A ∈ Mn symétrique définie positive, converge en au plus n itérations.

Démonstration. Puisque f est elliptique, il existe un unique minimum x caractérisé par


l’équation d’Euler ∇f (x) = Ax − b = 0. Aussi lorsque ∇f (xk ) = 0 l’algorithme s’arrête
(devient stationnaire) en xk minimum de f . La démonstration se base essentiellement sur la
vérification par récurrence pour montrer l’hypothèse suivante : ∀k ∈ N tel que ∇f (xl ) 6= 0
et ρl 6= 0 pour l < k :

1
 h∇f (xk ), ∇f (xj )i = 0 ∀0 ≤ j < k(Hk )


(Hk ) : h∇f (xk ), dj i = 0 ∀0 ≤ j < k(Hk2 )

 hd , Ad i = 0 ∀0 ≤ j < k(Hk3 )

k j

Puisque A est définie positive, (x, y) → xT Ay est un produit scalaire. Avec (Hk3 ) les
directions d0 , ..., dk sont orthogonales pour ce produit scalaire, en particulier ils forment
une famille libre tant qu’ils sont non nulles. Ainsi après au plus n itérations l’algorithme
s’arrête en un point critique, et donc en un minimum. 

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 36

Rappelons que l’algorithme présenté ici était particularisé au cas d’une fonctionnelle qua-
dratique. On peut étendre l’algorithme pour une fonctionnelle J quelconque de manière
efficace comme nous le détaillons dans l’algorithme ci-dessous.

Algorithme 2.3.3.
Initialisation, k = 0 :
choisir x(0) ∈ Rn , ε, ε1 > 0 et poser r(0) = ∇f (x(0) )
Étape k :
Tant que kx(k+1) − x(k) k > ε et (k ≤ k max ) faire

— Si kr(k) k < ε1 alors arrêt,


— Sinon
— Si (k = 0) alors poser d(k) = r(k)
— Sinon :
kr(k) k2
- calculer α(k) =
kr(k−1) k2
- poser d(k) = r + α(k) + d(k−1)
(k)

— Fin Si
— Si (d(k) r(k) ≥ 0), alors poser d(k) = r(k)
— Sinon : rechercher un pas ρ(k) approchant le minimum de
f (x(k) + ρd(k) ) par ∇f (x(k) + ρd(k) )d(k) = 0
— Fin Si
— Poser x(k+1) = x(k) + ρ(k) d(k)
— Poser r(k+1) = ∇f (x(k+1) )
— Poser k = k + 1
— Fin Si
Fin Tant que

Exemple : Comparaison de la méthode du gradient à pas optimal (à gauche) et de la


x2 y2
méthode du gradient conjugué (à droite) pour minimiser f (x, y) = 2 + 2 . Lorsque
a b
a2 6= b2 , la méthode du gradient conjugué converge en deux étapes, tandis que la méthode
du gradient à pas optimal peut converger mais en un très grand nombre fini d’étapes.

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 37

Exemple 2.3.1. : Minimisation de la fonction quadratique suivante :

f (x, y, z) = x2 + y 2 + z 2 + xy + xz + yz + x − y + 3z

k Gradient conjugué Gradient optimal


0 (1,2,3) (1,2,3)
1 (-0.5454,-0.318,1.4545) (-0.5454,-0.318,1.4545)
2 (0.25,-1.75,2.25) (0.3086,-1.4569,2.3086)
3 (0.1878,-16381,2.1878)
5 (0.2451,-1.7412,2.2451)
10 (0.25,-1.7499,2.25)
20 (0.25,-1.7499,2.25)
30 (0.25,-1.75,2.25)
50
80

k Gradient fixe Relaxation


0 (1,2,3) (1,2,3)
1 (-1.4,-1.6,0.6) (-2,-1,3)
2 (0.52,-0.4,2.52) (-0.5,-1.75,2.625)
3 (-0.344,-1.696,1.656) (0.0625,-1.8437,2.39)
5 (0.0361,-1.73,2.0361) (0.2585,-1.775,2.258)
10 (0.2545,-1.727,2.2545) (0.25,-1.7499,2.2499)
20 (0.25,-1.7498,2.25) (0.25,-1.75,2.2499)
30 (0.25,-1.7499,2.25) (0.2499,-1.75,2.25)
50 (0.25,-1.7499,2.25) (0.25,-1.75,2.25)
80 (0.25,-1.75,2.25)

Les tableaux ci-dessus présentent une comparaison des quatre méthodes utilisées pour la
minimisation de l’application quadratique f . En partant du point initial u = [1, 2, 3]t , son

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 38

minimum est (0.25, −1.75, 2.25) en lequel la fonction vaut −4.375. Des extraits de codes
implémentées sous Matlab sont donnés comme suit.

%% METHODES DE RELAXATION %%
A=[2 1 1;1 2 1;1 1 2]; % matrice A
b=[1;-1;3]; % vecteur b
% Initialisation
n=3 % dimension
N=50; % Nbre iterations
u=[1;2;3]; % point initial u0
% Implementation
for i=1:N
for j=1:n % calcul de uk
a=[A(j,1:j-1) A(j,j+1:n)];
v=[u(1:j-1) ; u(j+1:n)];
u(j)=(b(j)-a*v)/A(j,j);
end
end
umin=u % minimum de f
fmin=0.5*u’*A*u-b’*u % valeur min de f
grad=A*u-b % gradient de f au min

%% METHODE DU GRADIENT A PAS FIXE %%


A=[2 1 1;1 2 1;1 1 2]; % matrice A
b=[1;-1;3]; % vecteur b
% Initialisation
N=80; % Nbre iterations
u=[1;2;3]; % point u0
r=2/(1+4); % pas de descente
% Implementation
for i=1:N
d=A*u-b; % dk
if d==0
break;

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 39

end
u=u-r*d; % uk+1
end
umin=u
fmin=0.5*u’*A*u-b’*u
grad=A*u-b

%% METHODE DU GRADIENT A PAS OPTIMAL %%


A=[2 1 1;1 2 1;1 1 2]; % matrice A
b=[1;-1;3]; % vecteur b
% Initialisation
N=30; % Nbre iterations
u=[1;2;3]; % point initial u0
% Implementation
for i=1:N
d=A*u-b; % dk
if d==0
break;
end
r=(d’*d)/(d’*A*d); % rk
u=u-r*d; % uk+1
end
umin=u % minimum de f
fmin=0.5*u’*A*u-b’*u % valeur min de f
grad=A*u-b % gradient de f au min

%% METHODE DU GRADIENT CONJUGUE %%


A=[2 1 1;1 2 1;1 1 2]; % matrice A
b=[1;-1;3]; % vecteur b
% etape 1
u=[1;2;3]; % point initial u0
d=A*u-b; % d0
r=(d’*d)/(d’*A*d); % r0
v=u; % u0

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 40

u=u-r*d; % u1
% etape k > 1
for i=1:2
Gu=A*u-b; Gv=A*v-b;
d=Gu+(Gu’*Gu)/(Gv’*Gv)*d;
if d==0
break;
end
r=((A*u-b)’*d)/(d’*A*d);
v=u;
u=u-r*d; % uk+1
end
umin=u % minimum de f
fmin=0.5*u’*A*u-b’*u % valeur min de f
grad=A*u-b % gradient de f au min

2.3.3 Méthode de Newton


Pour construire les méthodes de gradient, nous avons remplacé f par son approximation
linéaire au voisinage de l’itéré courant. Nous avons vu que ces méthodes ne sont pas très
performantes, en partie parce qu’elles ne tiennent pas compte de la courbure (ou de la
Hessienne) qui est une information de second ordre.
Principe : Supposons que f est de classe C 2 et remplaçons f au voisinage de l’itéré courant
xk par son développement de Taylor de second ordre :
1
f (y) ∼ q(y) = f (xk ) + h∇f (xk ), y − xk i + hH[f ](xk )(y − xk ), y − xk i,
2
où la valeur f (xk ), le gradient ∇f (xk ) et la matrice hessienne H[f ](xk ) sont calculés par
un sous programme.
On choisit alors comme point xk+1 le minimum de la forme quadratique q, lorsqu’il existe
et est unique, ce qui n’est le cas que si H[f ](xk ) est définie positive. Or le minimum de q
est réalisé par xk+1 solution de : ∇q(xk+1 ) = 0, soit :

∇f (xk ) + H[f ](xk )(xk+1 − xk ) = 0,

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 41

ou encore, en supposant que H[f ](xk ) est définie positive :

xk+1 = xk − H[f ](xk )−1 ∇f (xk )

On reconnaît les itérations de la méthode de Newton appliquée à la résolution de l’équa-


tion : ∇f (x) = 0. La méthode ne doit cependant jamais être appliquée en utilisant une
inversion de la matrice Hessienne (qui peut être de très grande taille et mal conditionnée)
mais plutôt en utilisant :
xk+1 = xk + dk

où dk est l’unique solution du système linéaire :

H[f ](xk )dk = −∇f (xk ).

dk est appelée direction de Newton.


Cette méthode est bien définie si à chaque itération, la matrice hessienne H[f ](xk ) est
définie positive : ceci est vrai en particulier au voisinage de la solution x? cherchée si on
suppose que H[f ](x? ) est définie positive (par continuité de H[f ]).

Algorithme 2.3.4. (Méthode de Newton Locale)


Données : f : Rn → R de classe C 2 , x0 première approximation de la solution cherchée,
ε > 0 précision demandée.
Sortie : une approximation x? de la solution.
1. k := 0
2. Tant que k∇f (xk )k > ε
— (a) Calculer dk solution du système : H[f ](xk )dk = −∇f (xk )
— (b) xk+1 = xk + dk
— (c) k := k + 1
3. Retourner xk

Remarque 2.3.1.
1. La méthode de Newton est un algorithme de descente à pas fixe égal à s = 1.
2. Si la fonctionnelle f est quadratique, strictement convexe, alors l’algorithme converge
en une seule itération.

Convergence de la méthode de Newton locale :


L’algorithme hérite des propriétés de l’algorithme de Newton pour la résolution des équa-
tions non-linéaires.

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 42

Proposition 2.3.1.
Soit f de classe C 2 et x? un point de minimum local de f . On suppose en outre que la
matrice Hessienne H[f ](x? ) est définie positive.
1. Il existe un voisinage V ? de x? tel que si x0 ∈ V ? , alors la suite des itérés (xk )k∈N
générés à partir de x0 par la méthode de Newton locale, converge vers x? .
2. La convergence est quadratique.

La méthode peut diverger si le point initial n’est pas suffisamment proche d’un point
de minimum local, et elle n’est pas définie si les matrices H[f ](xk ) ne sont pas définies
positives. Utilisée dans le cadre de l’optimisation, la méthode de Newton locale présente
un autre inconvénient : la solution identifiée à la fin de l’algorithme n’est pas forcément
un point de minimum local, mais uniquement un point critique de f .

Méthode de Gauss-Newton
Si maintenant F désigne une application de Rn dans Rm , avec par exemple m > n,
le système d’équations F (x) = 0 n’a généralement pas de solutions. Le problème des
moindres carrés associé à F consiste à rechercher x∗ tel que
m
∗ 1X 1
r(x ) = min{r(x) = Fi (x)2 = kF (x)k22 , x ∈ Rn } (2.3.2)
2 i=1 2

De tels problèmes se rencontrent fréquemment dans le cadre de l’identification de para-


mètres. Les variables xi sont les n paramètres d’un modèle physique non linéaire. On
effectue m > n mesures, et on cherche les xi qui permettent d’ajuster au mieux ce modèle
aux mesures.
La solution de (2.3.2) est caractérisée par ∇r(x∗ ) = 0. Pour appliquer la méthode de
Newton, on doit résoudre des systèmes de la forme
m
X
T
Hr (x)d = −∇r(x) ⇐⇒ (JF (x) JF (x) + Fi (x)HFi (x))d = −JF (x)T F (x) (2.3.3)
i=1

où JF (x) = ∇F (x)T = [∇F1 (x), ., ., ., ∇Fm (x)]T désigne la matrice Jacobienne de F en x.


La matrice Hessienne Hr (x) de r(x) a une expression assez compliquée. Cependant le terme
Xm
Fi (x)HFi (x) est tel que lorsque le résidu kF (x)k devient petit, c’est-à-dire lorsque l’on
i=1
se rapproche de la solution, il devient lui même négligeable.

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 43

La méthode de Gauss-Newton consiste à remplacer (2.3.3) par :

JF (x)T JF (x)d = −JF (x)T F (x) (2.3.4)

Une autre façon de voir les choses consiste à remplacer dans l’expression de r, la fonction
F par une approximation linéaire au voisinage du point courant x. Autrement dit, on
s’intéresse au problème approché :
1
min r(y) = kF (x) + JF (x)(y − x)k2
2
La solution de ce problème est caractérisée par la relation : ∇r(y) = 0 i.e. :

JF (x)T (F (x) + JF (x)(y − x)) = 0

soit :
JF (x)T JF (x)(y − x) = −JF (x)T F (x)

On retrouve ainsi la direction de Gauss-Newton trouvée précédemment.

Algorithme 2.3.5. (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)T F (x).
x∈R 2
1. k := 0
2. Tant que critère d’arrêt n’est pas satisfait

— (a) Calcul d’une direction de recherche : calculer dk+1 solution de :

JF (xk )T JF (xk )d = −JF (xk )T F (xk )

— (b) xk+1 = xk + dk+1


— (c) k := k + 1
3. Retourner xk .

Application aux moindres carrés linéaires. Dans le cas où la fonction F est linéaire, i.e. :
F (x) = Ax − b, avec A ∈ Mn,p (R), on obtient : JF (x) = A, et l’équation de Gauss-Newton
(2.3.3) devient :
AT Adk+1 = −AT (Axk − b)

Youssef Qaraai E-MMIS, FSTE, UMI


2.3. PREMIERS ALGORITHMES DE DESCENTE 44

Comme dk+1 = xk+1 − xk , on obtient :

AT Axk+1 = AT b

et ceci quel que soit xk . On reconnaît ici le système d’équations normales du problème de
moindres carrés linéaire :
1
minn kAx − bk22 (2.3.5)
x∈R 2

On rappelle que d’après un résultat fondamental d’analyse numérique, x? est solution du


problème (2.3.5) si et seulement si x? vérifie les équations normales : AT Ax = AT b. De
plus si A est de rang plein, x? est l’unique solution de (2.3.5). 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.

Il existe plusieurs autres variantes inspirées de la méthodes de Newton comme par exemple
celles développées par Lenvenberg et Marquardt, Davidson Fletcher et Powell (DFP) et
Méthode de Broyden Fletcher Goldfarb et Shanno (BFGS).

Youssef Qaraai E-MMIS, FSTE, UMI


Chapitre 3

Méthodes d’optimisation avec


contraintes

3.1 Introduction
Contrairement au cas sans contraintes, nous mettons l’accent dans ce chapitre sur l’in-
troduction des méthodes de résolution adaptées à un problème d’optimisation dont les
variables de décisions sont soumises à un ensemble de contraintes.
L’objectif étant de traiter et résoudre des problèmes d’optimisation de la forme :

min f (x) (3.1.1)


x∈X

où X est un sous-ensemble non vide de Rn défini par des contraintes d’égalité ou d’inéga-
lités de fonctions :
X = {x ∈ Rn : h(x) = 0, g(x) ≤ 0} (3.1.2)

où h : Rn → Rp et g : Rn → Rq sont continues.
Dans l’expression de X, les écritures h(x) = 0 et g(x) ≤ 0 signifient :
(
∀i = 1, . . . , p, hi (x) = 0
∀j = 1, . . . q, gj (x) ≤ 0.
L’ensemble X est appelé ensemble ou domaine des contraintes. Tout point x ∈ Rn véri-
fiant : x ∈ X, est appelé point admissible du problème (3.1.1).
Rappelons que si g et h sont continues alors X est un ensemble fermé (mais non néces-

45
3.1. INTRODUCTION 46

sairement borné). Dans la suite nous travaillerons toujours avec un problème sous forme
standard c’est-à-dire un problème écrit sous la forme suivante :
 
(P ) minn f (x), s.c. hi (x) = 0, i = 1, ..., p, gj (x) ≤ 0, j = 1, ..., q
x∈R

Par exemple, la forme standard du problème

max f (x, y) s.c. x2 + y 2 ≥ 1 et x + y = 5


(x,y)∈R2

est :

min −f (x, y) s.c. 1 − x2 − y 2 ≤ 0 et x + y − 5 = 0


(x,y)∈R2

Proposition 3.1.1. Le problème (P ), écrit sous forme standard, est dit convexe si h est
affine, g convexe et si la fonction objectif f est convexe sur X.

Concernant les contraintes d’inégalités, nous aurons également besoin de la notion de


contrainte active.

Définition 3.1.1. Une contrainte d’inégalité gj (x) ≤ 0, j ∈ {1, ..., q}, est dite active (ou
saturée) en x si :
gj (x) = 0

et inactive en x si :
gj (x) < 0.

Ce qui rend la notion de contrainte active attrayante, c’est le fait qu’au point de minimum
local x? ∈ X, les contraintes actives peuvent être remplacées par des contraintes d’égalité
et les contraintes inactives peuvent être ignorées. Si l’intérêt de cette simplification reste
essentiellement théorique (on ne connaît pas x? à l’avance), un intérêt pratique est que
si l’on trouve un point de minimum local du problème sans contrainte, c’est également
un point de minimum local du problème contraint. En un point x ∈ X, l’ensemble des
contraintes actives est l’ensemble des j tel que gj (x) = 0.
Remarquons également que si en un point x ∈ X, la contrainte gk (x) n’est pas active,
0
alors gk (x) < 0 et ainsi, par continuité de g, pour tout x dans un voisinage de x, on aura
0
encore gk (x ) < 0. Donc localement, on est sûr que la contrainte est vérifiée.

Youssef Qaraai E-MMIS, FSTE, UMI


3.2. CONDITIONS D’OPTIMALITÉ 47

3.2 Conditions d’optimalité


Les conditions d’optimalité dans le cadre de l’optimisation sous contraintes sont de la
même forme que les conditions d’Euler du premier ordre vues précédemment ; à savoir des
conditions sur le gradient de f aux points réalisant des extremums locaux. Il est à noter
que la condition d’Euler (le gradient s’annule en ces points extremums) n’est plus valable
telle quelle, comme le montre l’exemple suivant :

Exemple 3.2.1. Soit à minimiser f (x) = x2 , x ∈ Rn , sous la contrainte x ≥ 1.


La solution de ce problème est : x = 1, et pourtant : f 0 (1) = 2 6= 0.

3.2.1 Cas d’une contrainte d’inégalité


Le cas le plus simple que nous saurons prouver est celui d’une seule contrainte d’inégalité,
c’est-à-dire un problème du type
min f (x)
g(x)≤0

où f et g sont des fonctions de Rn dans R.


La condition d’optimalité du premier ordre est s’énonce comme suit.

Théorème 3.2.1. Si f et g sont des fonctions différentiables de Rn dans R et si x∗ est


un minimum local de f sur l’ensemble X = {x : g(x) ≤ 0}, si on suppose de plus que soit
∇g(x∗ ) 6= 0 soit g est non-active en x∗ , alors il existe γ ≥ 0 tel que

∇f (x∗ ) + γ∇g(x∗ ) = 0 et γg(x∗ ) = 0 (3.2.3)

De plus si f et g sont convexes, alors l’équation (3.2.3) est suffisante pour assurer que x∗
est un minimum local (et même global) de f sur l’ensemble X.

On remarque que l’on a besoin d’une hypothèse qui est ∇g(x∗ ) 6= 0 quand g est active en
x∗ . Cette hypothèse s’appelle qualification des contraintes.

Démonstration. elle se fait dans le même ordre d’idée que dans le cas sans contraintes,
c’est-à-dire que les directions admissibles ne peuvent pas être directions de descente. On
rappelle qu’une direction d est admissible en un point x si il existe ε > 0 tel que pour
tout α dans [0, ε[, x + αd appartient à X. De même une direction est dite de descente au
point x s’il existe ε > 0 tel que pour tout α dans ]0, ε[, f (x + αd) < f (x). Dire que x∗ est
un minimum local sur X entraîne donc qu’une direction admissible ne peut pas être une

Youssef Qaraai E-MMIS, FSTE, UMI


3.2. CONDITIONS D’OPTIMALITÉ 48

direction de descente. On rappelle que si d est telle que h∇f (x), di < 0, alors un DL de
Taylor montre que d est une direction de descente au point x.
Nous pouvons distinguer deux cas, si la contrainte est active ou non en x∗
Premièrement, si la contrainte est non-active alors g(x∗ ) < 0 et, par continuité, toute
direction est direction admissible et en particulier ne peut être direction de descente. On
a ainsi h∇f (x∗ ), di ≥ 0 pour tout d ∈ Rn et on peut conclure comme dans le cas sans
contrainte que ∇f (x∗ ) = 0.
Si la contrainte est active en x∗ , alors g(x∗ ) = 0, toutes les directions ne sont pas forcément
admissibles (effectivement pour certaines directions, g peut devenir positive), cependant
tous les d tel que h∇g(x∗ ), di < 0 sont directions admissibles (un DL de Taylor montre
que dans ces directions, g devient strictement négative). Comme une direction admissible
ne peut pas être direction de descente, on en conclut que h∇f (x∗ ), di ≥ 0 pour tout d tel
que h∇g(x∗ ), di < 0
Le fameux lemme dit de Farkas permet de conclure que si ∇g(x∗ ) 6= 0, alors ∇f (x∗ ) doit
être colinéaire et de sens opposé à g, ce qui se traduit par l’existence d’un γ ≥ 0 tel que :

∇f (x∗ ) + γ∇g(x∗ ) = 0.

Le lemme de Farkas peut être démontré graphiquement en dimension 2 comme suit. Si


on suppose (quitte à effectuer un changement de coordonnées) que ∇g(x∗ ) est le vecteur
(1, 0), alors l’ensemble des directions admissibles est l’ensemble des directions pointant
vers le demi-plan x < 0 et si toutes ces directions doivent avoir un produit scalaire positif
avec ∇f (x∗ ), on voit graphiquement que ∇f (x∗ ) doit être colinéaire et de sens opposé à
g.

Finalement la formulation de (3.2.3) n’est qu’une formulation subtile des deux cas traités
(soit γ = 0 dans le cas de la contrainte non-active, soit g(x∗ ) = 0 dans le cas de la
contrainte active). 

On peut se servir de ce théorème pour chercher les minimums locaux d’une fonction.

Exemple 3.2.2. Soit le problème : Minimiser f (x) = x2 , x ∈ Rn , sous la contrainte :


x ≥ 1. Ici g(x) = 1 − x, et ∇g(x) = −1 6= 0. On cherche les points x tel qu’il existe γ ≥ 0
vérifiant 2x − γ = 0 et γ(1 − x) = 0. Donc on aura, soit x = 1, soit γ = 0. Le cas x = 1,
entraîne que γ = 2 et par conséquent x = 0 qui n’est pas un point admissible, et l’autre
cas donne γ = 0 donc il existe un seul minimum local qui est x = 1 pour γ = 2.

Youssef Qaraai E-MMIS, FSTE, UMI


3.2. CONDITIONS D’OPTIMALITÉ 49

Il est très utile d’étudier un exemple où les contraintes ne sont pas qualifiées (c’est-à- dire
∇g(x∗ ) 6= 0) et où la conclusion du théorème ci-dessus est fausse :

Exemple 3.2.3. Soit le problème : Minimiser f (x) = x, x ∈ Rn , sous la contrainte x3 ≥ 0.


Ici g(x) = −x3 , la solution de ce problème est : x = 0, et pourtant il n’existe pas de γ ≥ 0
0 0 0
tel que f (0) + γg (0) = 0 car g (0) = 0 et le théorème ne s’applique pas.

3.2.2 Cas de contraintes d’inégalité et d’égalité


En présence des contraintes d’égalité et/ou d’inégalité, le théorème devient.

Théorème 3.2.2. Soit X donné par (3.1.2). Si f , g, h sont des fonctions différentiables
et si x? est un minimum local de f sur X et si les contraintes sont qualifiées, alors il existe
λ∗ ∈ Rp , γ ∗ ∈ Rq tels que

∇f (x? ) + pi=1 λ∗i ∇hi (x? ) + qj=1 γj∗ ∇gj (x? ) = 0
P P



 h (x? ) = 0,

i = 1, ..., p
i
(3.2.4)
∗ ?


 γj gj (x ) = 0, j = 1, ...q

 ∗
γj ≥ 0, j = 1, ...q

Les points qui vérifient ces conditions sont appelés points KKT (Karush, Kuhn, Tucker).

Concernant les contraintes d’inégalité, ce théorème est effectivement une extension raison-
nable du théorème précédent. On peut aussi comprendre les contraintes d’égalité en scin-
dant chaque contrainte d’égalité en deux contraintes d’inégalité : effectivement h(x) = 0
est équivalent à dire que h(x) ≤ 0 et −h(x) ≤ 0. Comme dans le cas d’une contrainte
d’inégalité, il y a une hypothèse supplémentaire à ajouter, qui est la qualification des
contraintes . Il y a plusieurs types de qualifications différentes, mais une des plus générales
est :

Définition 3.2.1. En un point x ∈ X, les contraintes sont dites qualifiées si et seulement


si les vecteurs (∇h(x)i )i sont linéairement indépendants et s’il existe une direction d or-
thogonale à tous les vecteurs ∇h(x)i telle que ∇gj (x)T d < 0 pour toutes les contraintes
actives.

S’il y a une seule contrainte d’inégalité, cette contrainte est qualifiée en un point si et
seulement si son gradient est non nul quand elle est active. On retrouve les conditions

Youssef Qaraai E-MMIS, FSTE, UMI


3.2. CONDITIONS D’OPTIMALITÉ 50

du théorème précédent. Dans la définition ci-dessus, la direction d est appelée direction


ré-entrante. Ce théorème sera utilisé dans le cadre de la recherche de minimums qui sont
soit des points de KKT soit des points où les contraintes ne sont pas qualifiées. Il faut
faire attention cependant, tous les points de KKT ne sont pas des minimums locaux de la
même manière que tous les points critiques ne sont pas minimums locaux.

Exemple 3.2.4. Résoudre le problème :


min[2x + 3y] s.c. x ≥ 0 et x2 + y 2 ≤ 1
Ici f (x, y) = 2x + 3y, g1 (x, y) = −x et g2 (x, y) = x2 + y 2 − 1 leurs gradients valent respec-
tivement (2, 3), (1, 0) et (2x, 2y). La recherche des minima globaux se fait en trois étapes :
– Points où les contraintes ne sont pas qualifiées : Les points où ni g1 ni g2 ne sont ac-
tives sont des points où les contraintes sont qualifiées. Les points où une seule des deux
contraintes est active et pas l’autre sont aussi des points où les contraintes sont qualifiées
car leur gradient n’est jamais nul. Il ne reste plus que les points (0, 1) et (0, −1) où les
deux contraintes sont actives en même temps. Comme les gradients des contraintes en ces
points sont non-colinéaires, il existe une direction ré-entrante. Ainsi, les contraintes sont
qualifiées en tout point.

— Points de KKT : on doit résoudre le système





 2 − γ1 + 2γ2 x = 0

 3 + 2γ2 y = 0







 γ1 x = 0

 γ (x2 + y 2 − 1) = 0

2


 γ1 ≥ 0

γ2 ≥ 0





x≥0





 x2 + y 2 ≤ 1

L’unique solution est (x, y, γ1 , γ2 ) = (0, −1, 2, 1.5)


— Comparaison des points trouvés : On doit calculer la valeur de f pour tous les points
trouvés, ici on n’en a qu’un, c’est donc le minimum global trouvé.

Il est important de connaître un exemple où les contraintes sont non qualifiées et où le


minimum global n’est pas un point de KKT.

Youssef Qaraai E-MMIS, FSTE, UMI


3.3. LAGRANGIEN DU PROBLÈME 51

Exemple 3.2.5. Résoudre le problème :


min[f (x, y) = y] s.c. (x − 1)2 + y 2 ≤ 1 et (x + 1)2 + y 2 ≤ 1.
Ici l’ensemble des contraintes est l’intersection de deux disques de rayon 1 et de centres
(0, −1) et (0, 1) , ce qui donne l’unique point (0, 0). Le minimum de f vaut donc f (0, 0) = 0
mais ∇f = (0, 1) = 1 alors qu’en ce point ∇g1 = (−2, 0) et ∇g2 = (2, 0), il est impossible
d’écrire ∇f comme combinaison linéaire de ∇g1 et ∇g2 , donc le point n’est pas de KKT.
Ceci est du au fait que les contraintes ne sont pas qualifiées.

3.3 Lagrangien du problème


Le Lagrangien d’un problème d’optimisation sous contraintes d’égalités et d’inégalités joue
un rôle très important dans le traitement d’un problème en présence des contraintes.

Définition 3.3.1. Soit λ ∈ Rp et γ ∈ Rq+ . On définit :


p q
X X
L(x, λ, γ) = f (x) + λi hi (x) + γj gj (x)
i=1 j=1

ou plus généralement

L(x, λ, γ) = f (x) + hλ, h(x)iRp + hγ, g(x)iRq+

le Lagrangien associé au problème (P ).

Les paramètres λ et γ sont appelés multiplicateurs de Lagrange. A noter que le Lagran-


gien fait intervenir autant de multiplicateurs que de contraintes, et les multiplicateurs γj
associés aux contraintes d’inégalité gj (x) ≤ 0 sont positifs ou nuls.
L’intérêt du Lagrangien est de ramener le problème (3.1.1)-(3.1.2) de minimisation sous
contraintes de f sur X à un problème sans contrainte.

Proposition 3.3.1. Le point x? est un minimum global de f sur X (i.e. solution du


problème min f (x)) si et seulement s’il est aussi une solution de
h(x)=0,g(x)≤0

min max L(x, λ, γ)


x∈Rn (λ,γ)∈Rp ×Rq+

Démonstration. Si x ∈ X alors L(x, λ, γ) = f (x) + hγ, g(x)i et le maximum de cette


expression par rapport à γ est donné pour γ = 0 car g(x) ≤ 0 et γ ≥ 0. Si x 6∈ X alors le
maximum de L par rapport au couple (λ, γ) vaut +∞.

Youssef Qaraai E-MMIS, FSTE, UMI


3.3. LAGRANGIEN DU PROBLÈME 52

Ainsi (
f (x) si x ∈ X
max L(x, λ, γ) =
(λ,γ)∈Rp ×Rq+ +∞ si x 6∈ X
d’où :
max L(x, λ, γ) = min f (x)
(λ,γ)∈Rp ×Rq+ x∈X

et ainsi l’équivalence des deux problèmes considérés. 

Point-selle du Lagrangien

L’idée générale de l’introduction du Lagrangien est que l’on doit maximiser par rapport
à sa deuxième variable et le minimiser par rapport à sa première variable, cela ressemble
à la recherche d’un point selle.

Définition 3.3.2. Soit L : U × V → R une fonction à deux variables. Le point (x? , p? ) ∈


U × V est dit point-selle de L sur U × V si et seulement si

L(x? , p) ≤ L(x? , p? ) ≤ L(x, p? ), ∀(x, p) ∈ U × V

Exemple 3.3.1. Un point-selle d’une fonction à deux variables L est donc un minimum
en la première variable et un maximum en la deuxième variable. L’archétype de tous les
points-selles est le point (0, 0) de la fonction de R2 dans R : L(u, v) = u2 − v 2 .

Théorème 3.3.1. Considérons le problème (3.1.1) sous contraintes fonctionnelles (3.1.2) :

min f (x), s.c., h(x) = 0, g(x) ≤ 0


x∈Rn

où f, g et h sont supposées différentiables. Soit L le Lagrangien associé à f et au domaine


de contraintes X. Si (x? , p? ) est un point-selle de L sur Rn × Rp × Rq+ , alors
• x? est un minimum global de f sur X.
• On a l’équation suivante reliant x? et p? = (λ∗ , γ ∗ ) :
p q
X X
?
∇f (x ) + λ?i ∇hi (x? ) + γj? ∇gj (x? ) = 0 et ∀j, γj? gj (x? ) = 0 (3.3.5)
i=1 j=1

Dans ce cas p? est appelé le multiplicateur de Lagrange du point-selle (x? , p? )

Youssef Qaraai E-MMIS, FSTE, UMI


3.3. LAGRANGIEN DU PROBLÈME 53

Avant de démontrer ce théorème, il faut bien en comprendre les implications. Ce théo-


rème ne dit pas que tous les minimums globaux de f sur X viennent du point-selle, (ou
même que les points-selles du Lagrangien existent), il dit seulement que si on trouve un
point-selle (x? , p? ), alors x? est un minimum global de f sur X. De plus, on ne sait pas
si tous les minima globaux obéissent à l’équation (3.3.5) (car il faut rajouter l’hypothèse
de qualification des contraintes). En ce sens, ce théorème n’est pas un théorème de carac-
térisation des minima, au sens où on donne une condition suffisante mais non nécessaire.
Il va de soit que ce théorème ne dit pas que tout (x? , p? ) qui vérifie (3.3.5) est forcément
point-selle (ce qui entraînerait que x? est minimum global).

Démonstration. On note p = (λ, γ). On rappelle que les conditions du point-selle sont

L(x? , p) ≤ L(x? , p? ) ≤ L(x, p? ), ∀(x, p) ∈ U × V

En récrivant la première inégalité on obtient

f (x? ) + hλ, h(x? )iRp + hγ, g(x? )iRq+ ≤ L(x? , p? ) ∀(λ, γ) ∈ Rp × Rq+

On en conclut que h(x? ) = 0 et g(x? ) ≤ 0, sinon en choisissant des λ et des γ très grand,
on peut rendre le terme de gauche aussi grand que l’on veut. Ainsi x? appartient bien à
X. De plus, on obtient, en prenant λ = γ = 0 :

f (x? ) ≤ f (x? ) + hγ ? , g(x? )i

et comme γ ? est positif et g(x? ) négatif, on en conclut que hγ ? , g(x? )i = 0. En récrivant la


deuxième inégalité, on obtient, en se limitant à des x dans X :

f (x? ) = L(x? , p? ) ≤ f (x) + hγ ? , g(x)i, ∀x ∈ X

et comme γ ? est positif et g(x) est négatif pour tout x dans X, alors f (x)+hγ ? , g(x)i ≤ f (x)
et ainsi
f (x? ) ≤ f (x) ∀x ∈ X.

Ainsi x? est bien un minimum global de f sur X.


Maintenant en reprenant la deuxième inégalité du Lagrangien :

L(x? , p? ) ≤ L(x, p? ), ∀x ∈ Rn

Youssef Qaraai E-MMIS, FSTE, UMI


3.3. LAGRANGIEN DU PROBLÈME 54

On voit que x? est un minimum sans contrainte de la fonction différentiable g : x →


L(x, p? ) donc vérifie l’égalité d’Euler, ∇g(x? ) = 0 qui est exactement la formule (3.3.5).
On remarquera que pour l’établissement de cette formule, p? est fixé et on ne doit dériver
que par rapport à x. 

Le théorème précédent assure que tout point-selle du Lagrangien est un minimum global
de la fonction initiale et que tout point-selle vérifie l’équation (3.3.5). De plus on sait que
si les contraintes sont qualifiées alors tout minimum local vérifie (3.3.5). La question qui
se pose est de savoir quelles hypothèse ajouter pour qu’un point qui vérifie (3.3.5) soit
un point-selle. La réponse est donnée en partie par le théorème de Kuhn-Tucker (aussi
quelquefois appelé Karush, Kuhn, Tucker).

Théorème 3.3.2. (Kuhn-Tucker)


Supposons que X est donné par des contraintes d’inégalité uniquement :

X = {x ∈ Rn : g(x) ≤ 0}

On note : L(x, γ) = f (x) + hγ, g(x)i le Lagrangien associé à f avec les contraintes X. On
suppose toutes les fonctions f et gj convexes et différentiables.
Si x? est un point de X où les contraintes sont qualifiées, alors les propositions suivantes
sont équivalentes :
1. x? est un minimum global de f sur X
2. Il existe γ ? ∈ Rq+ tel que (x? , γ ? ) est un point-selle du Lagrangien L
3. Il existe γ ? ∈ Rq+ tel que (x? , γ ? ) vérifie :
q
X
?
∇f (x ) + γ ? ∇gj (x? ) = 0 et ∀j = 1, ..., q, γ ? gj (x? ) = 0
j=1

Démonstration. Comme la deuxième assertion entraîne la première (Théorème 3.3) et que


la première entraîne la troisième (Proposition 3.2), il suffit de montrer que la troisième
assertion entraîne la première pour conclure. Soit un x? tel que
q
X
? ?
hγ, g(x )i = 0 et ∇f (x ) + γ ? ∇gj (x? ) = 0
j=1

Comme les gj sont convexes et γ ? ≥ 0, alors la fonction l : x → L(x, γ ? ) est convexe, alors
x? est le minimum global de l et on a bien :

Youssef Qaraai E-MMIS, FSTE, UMI


3.3. LAGRANGIEN DU PROBLÈME 55

L(x? , γ ? ) ≤ l(x) = L(x, γ ? ), ∀x ∈ Rn .


De plus, comme hg(x? ), γ ? i = 0 et g(x? ) ≤ 0, alors pour tout γ ≥ 0
L(x? , γ) = f (x? ) + hg(x? ), γi ≤ f (x? ) = L(x? , γ ? ). Ainsi nous avons

L(x? , γ) ≤ L(x? , γ ? ) ≤ L(x, γ ? ), ∀x ∈ Rn , γ ∈ Rq+

Ce qui prouve que (x? , γ) est bien un point selle. 

En résumé : Les conditions nécessaires d’optimalité d’un problème d’optimisation avec


contraintes d’inégalité et d’égalités, s’écrivent :

Proposition 3.3.2. (Conditions nécessaires d’optimalité)


Considérons le problème suivant :

(P ){minn f (x), s.c. h(x) = 0, g(x) ≤ 0}


x∈R

où f, g et h sont supposées différentiables.


Soit L le Lagrangien associé à f et au domaine des contraintes X.
Si x? est un minimum local de f sur X et si les contraintes sont qualifiées en x? alors il
existe des multiplicateurs (λ? , γ ? ) ∈ Rp × Rq+ tel que :
1. ∇x L(x, λ? , γ ? ) = 0, soit :
p q
X X
?
∇f (x ) + λ?i ∇hi (x? ) + γj? ∇gj (x? ) = 0.
i=1 j=1

2. ∀j = 1, ..., q, γj? gj (x? ) = 0 i.e. pour tout j = 1, ..., q :

γj? = 0 ou gj (x? ) = 0

Ces conditions sont appelées relations de complémentarité.


3.
∀i = 1, ..., p, hi (x? ) = 0.

4.
∀j = 1, ..., q, gj (x? ) ≤ 0.

5.
∀j = 1, ..., q, γj? ≥ 0.

Youssef Qaraai E-MMIS, FSTE, UMI


3.4. MÉTHODE DU GRADIENT PROJETÉ 56

Terminologie :
• (λ? , γ ? ) est aussi appelé solution duale, x? solution primale, et (x? , λ? , γ ? ) solution
primale-duale respectivement du problème (P ).

• On appelle point stationnaire du problème (P ) tout point x vérifiant les conditions


nécessaires d’optimalité du premier ordre :


 ∇x L(x, λ, γ) = 0


 γ g (x) = 0, j = 1, ..., q
j j


 hi (x) = 0, i = 1, ..., p

γ j ≥ 0, j = 1, ..., q.

pour un certain multiplicateur (λ, γ) ∈ Rp × Rq .


• Les relations : γj gj (x) = 0 sont appelées relations de complémentarité. Elles sont trivia-
lement satisfaites par toute contrainte j active en x et indiquent que pour toute contrainte
inactive, le multiplicateur γj correspondant est nul. Cela signifie que toute contrainte in-
active à l’optimum aurait pu être relaxée. On remarquera qu’il n’y a pas de condition sur
les multiplicateurs λ?i associés aux contraintes d’égalité.

3.4 Méthode du gradient projeté


Le but de cette section est d’élaborer un algorithme de résolution du problème d’optimi-
sation sous contraintes (P ) donné par :

(P ) min f (x)
x∈X

où X est un sous-ensemble convexe fermé non vide de Rn , non nécessairement défini par
des égalités ou des inégalités. La condition nécessaire d’optimalité locale est alors un peu
plus générale que ce qui a été vu au paragraphe précédent.
Théorème 3.4.1. (Condition nécessaire d’optimalité locale) Soit f : Rn → R une fonction
différentiable et X un convexe fermé, non vide de Rn . Soit x? ∈ Rn un point de minimum
local de f sur l’ensemble admissible X, alors

h∇f (x? ), x − x? i ≥ 0, ∀x ∈ X (3.4.6)

Si de plus f est convexe alors la condition précédente devient suffisante, c’est-à-dire que
tout x? ∈ X vérifiant l’équation (3.4.6) est un minimum global de f sur X.

Youssef Qaraai E-MMIS, FSTE, UMI


3.4. MÉTHODE DU GRADIENT PROJETÉ 57

La méthode du gradient projeté s’inspire des méthodes de gradient décrites dans le chapitre
précédent. L’idée de base consiste à suivre la direction de plus profonde descente, comme
dans le cas sans contraintes :
xk+1 = xk − sk ∇f (xk )

où sk > 0 est choisi de sorte que : f (xk + sk dk ) < f (xk ). Toutefois, si xk ∈ X, rien ne
garantit que xk+1 appartienne également à X. Pour résoudre ce problème, si d’aventure
on obtient un point xk+1 non admissible, on projette celui-ci sur l’ensemble de contraintes
X.

Proposition 3.4.1. (Projection sur un convexe) Soit X un convexe fermé, non vide de
Rn . La projection d’un point x ∈ Rn sur X, notée pX (x) , est définie comme l’unique
solution de l’équation :
1
min kx − yk22 (3.4.7)
y∈X 2

De plus pX (x) est l’unique élément de X qui vérifie :

hpX (x) − x, y − pX (x)i ≥ 0, ∀y ∈ X (3.4.8)


1
Démonstration. On définit la fonctionnelle f : y ∈ Rn → kx − yk22 , dont le gradient
2
vaut ∇f (y) = y − x et la Hessienne H[f ](x) = Id. La fonctionnelle f est strictement
convexe. Comme l’ensemble des contraintes est fermé borné et f est continue, alors f
admet un minimum global. Comme l’ensemble des contraintes est convexe et la fonction
f est strictement convexe, ce minimum est nécessairement unique. Or f est strictement
convexe et que l’ensemble des contraintes est convexe, la condition (3.4.8) est nécessaire
et suffisante pour déterminer l’unique point minimisant (3.4.7). 

On remarque en particulier que si x ∈ X, alors nécessairement : pX (x) = x.


Cela étant, nous présentons l’algorithme du gradient projeté comme suit.

Algorithme 3.4.1. (Gradient projeté)


Données : f , pX projection sur X, x0 un point initial et ε > 0 la précision demandée.
Sortie : une approximation x? de la solution.
1. k := 0
2. Tant que critère d’arrêt non satisfait

— (a) yk = xk − s∇f (xk ) où s est le pas calculé comme pour la méthode du gradient

Youssef Qaraai E-MMIS, FSTE, UMI


3.4. MÉTHODE DU GRADIENT PROJETÉ 58

— (b) Projection sur X : xk+1 = pX (yk ) ;


— (c) k := k + 1
3. Retourner xk .

Remarque 3.4.1. Il est important de remarquer que le calcul à l’étape 2(b) 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
minn kxk − s∇f (xk ) − yk22 , s.c. x ∈ X
y∈R 2

Il s’agit donc de résoudre un problème d’optimisation sur un convexe, avec une fonction
objectif convexe. Lorsque le domaine X est simple 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 .

Lemme 3.4.1. Soit f : Rn → R supposée différentiable et X ⊂ Rn un convexe fermé, non


vide. Notons xk l’itéré courant et :

d(s) = pX (xk − s∇f (xk )) − xk , s > 0

Si d(s) est non nulle, alors d(s) est une direction de descente pour tout s > 0.

Démonstration. Soit s > 0 fixé. Supposons : d(s) = pX (xk − s∇f (xk )) − xk 6= 0. Il


s’agit de démontrer que d(s) est une direction de descente de f en xk , autrement dit que
∇f T (xk )d(s) < 0
D’après la caractérisation (3.4.8) de la projection sur un convexe, on peut écrire :

∀y ∈ X, hpX (xk − s∇f (xk )) − (xk − s∇f (xk )), y − pX (xk − s∇f (xk ))i ≥ 0

D’où, pour tout y ∈ X : hd(s) + s∇f (xk ), y − xk − d(s)i ≥ 0. Puisque xk ∈ X, on choisit


y = xk , soit :
1
−hd(s) + s∇f (xk ), d(s)i ≥ 0, ou encore : h∇f (xk ), d(s)i ≤ − hd(s), d(s)i ≤ 0.
s
Par hypothèse, d(s) 6= 0 ce qui implique : h∇f (xk ), d(s)i < 0. 

Remarque 3.4.2. La direction d(s) possède les propriétés suivantes :

Youssef Qaraai E-MMIS, FSTE, UMI


3.4. MÉTHODE DU GRADIENT PROJETÉ 59

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é
est satisfaite.
2. Supposons d(s) 6= 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.

Exemple 3.4.1. On cherche à résoudre par la méthode du gradient projeté le problème


suivant :
1 7
min 2 f (x, y) = x2 + y 2 sous contrainte : −x + y = 1
(x,y)∈R 2 2
Le domaine des contraintes X = {(x, y) ∈ R2 / − x + y = 1} est un convexe fermé. Pour
l’avoir résolu au chapitre précédent, on sait que le problème sans contrainte admet un
minimum global en (0, 0). Cependant (0, 0) ne satisfait pas la contrainte, ce n’est donc pas
un point admissible du problème avec contrainte.
Afin de mettre en œuvre l’algorithme de gradient projeté, il faut choisir les méthodes de
calcul des pas sk et αk aux étapes 2(a) et 2(c) de l’algorithme :
— Étape 2(a) : on choisit une méthode de gradient pour le calcul du pas sk .
— Étape 2(b) : en première approche, on choisit un pas fixe αk = 1, ce qui implique :

xk+1 = yk = pX (xk − s∇f (xk )).

Le comportement numérique de la méthode de gradient projeté ainsi définie, est illustré


par le tableau 3.4.1. On observe la convergence de la suite des itérés générés à partir du
point x0 = (4, 5.5) vers le point (−0.875, 0.125).
Le critère d’arrêt kdk k < ε est satisfait en 10 itérations pour une précision ε = 10−5 .
Vérifions analytiquement ce résultat. On cherche un point (x, y) ∈ R2 vérifiant la contrainte :
y = 1 + x et minimisant f , ce qui revient à minimiser sans contrainte l’application :
7
f : x → f (x, 1 + x) = 4x2 + 7x + .
2
Remarquons que f est strictement convexe ; d’après le théorème (2.1.2) appliqué au point
7 1
x? = (− , ) = (−0.875, 0.125) , f admet un minimum global en x? .
8 8

Youssef Qaraai E-MMIS, FSTE, UMI


3.5. MÉTHODES LAGRANGE - NEWTON 60

Table 3.4.1 – Méthode du gradient projeté : yk = pX (xk − sk ∇f (xk ))

3.5 Méthodes Lagrange - Newton


Dans cette section nous introduisons la méthode de Lagrange-Newton qui permet à son
tour de résoudre un problème d’optimisation avec contraintes. Au départ, on commence
par le cas où la fonction objectif est quadratique et avec des contraintes en égalité affines.
(
min( 12 xt Qx − ct x)
Ax = b

où Q est une matrice carrée de Mn×n (R) et c un vecteur de Rn , A ∈ Mp×n (R), b ∈ Rp .


Si nous écrivons les relations KKT au 1ier ordre, nous obtenons :
(
∇x ( 21 xt Qx − ct x + µt (Ax − b)) = 0
Ax = b
où µ ∈ Rp est le multiplicateur de Lagrange associé à la contrainte Ax − b = 0.
Par conséquent, le couple optimal (x∗ , µ∗ ) est la solution du système :

Youssef Qaraai E-MMIS, FSTE, UMI


3.5. MÉTHODES LAGRANGE - NEWTON 61

(
Qx∗ − c + Aµ∗ = 0
Ax∗ = b
que l’on peut aussi écrire :
! ! !
Q At x∗ c
=
A 0 µ∗ b
Si la matrice !
Q At
M=
A 0
est inversible, ce système admet une solution que l’on peut calculer par n’importe quelle
méthode pour la résolution des systèmes linéaires.
Supposons maintenant que le problème ne soit plus quadratique. On va résoudre le système
d’optimalité par la méthode de Newton. Considérons le problème en contraintes d’égalité :
(
min f (x)
h(x) = 0
où f : Rn → R et h : Rn → Rp sont suffisamment régulières.
Les conditions d’optimalité du premier ordre s’expriment par :
(
∇x L(x, µ) = 0
h(x) = 0
où µ ∈ Rp et L(x, µ) = f (x)+µh(x) est le Lagrangien du problème. On peut alors résoudre
ce système d’équations non linéaires par la méthode de Newton. Nous obtenons alors ce
que l’on appelle la méthode de Lagrange-Newton.
Lorsqu’on ajoute le terme ∇h(x(k) )t µk , on obtient la forme équivalente :
! ! !
2
Dxx L(x(k) , µ(k) ) ∇h (x(k) )t d(k) ∇J(x(k) )t
=−
∇h(x(k) ) 0 µ(k+1) h(x(k) )

Algorithme 3.5.1. (Lagrange-Newton)


Initialisation : k = 1, choix de (x(0) , µ(0) ) ∈ Rn × Rp
Itération k : Tant que le critère d’arrêt est non satisfait résoudre le système linéaire
! ! !
2
Dxx L(x(k) , µ(k) ) ∇x h(x(k) )t d(k) ∇x L(x(k) , µ(k) )t
=−
∇x h(x(k) ) 0 y (k) h(x(k) )

Youssef Qaraai E-MMIS, FSTE, UMI


3.6. MÉTHODES NEWTON PROJETÉE 62

2
où Dxx L(x(k) , µ(k) ) est le Hessien par rapport à x de L.
Poser :
x(k+1) = x(k) + d(k)
µ(k+1) = µ(k) + y (k)
k =k+1
Fin.

3.6 Méthodes Newton projetée


La méthode de Newton projetée relève d’une idée analogue a celle développée lors du
gradient projeté : puisque les itérés successifs ne satisfont pas les contraintes, on les projette
sur l’ensemble des contraintes. Nous ne nous intéresserons ici qu’au cas où nous avons des
contraintes de bornes de la forme :
(
min f (x)
(P)
a ≤ x ≤ b.
Remarquons que beaucoup de problèmes duaux (ou µ est alors l’inconnue) sont également
de cette forme. Considérons le problème suivant.
(
min f (x)
(P)0
x≥0
ou f est C2 sur Rn . Si H (k) désigne la matrice Hessienne [D2 f (x)], une itération de la
méthode de Newton est de la forme :

x(k+1) = x(k) − (H (k) )−1 ∇f (x(k) )

On peut affiner un peu en introduisant un pas α(k) > 0 qui donne la nouvelle formulation :

x(k+1) = x(k) − α(k) [H (k) ]−1 ∇f (x(k) )


Si nous projetons sur l’ensemble des contraintes, nous obtenons alors :

x(k+1) = (x(k) − α(k) [H (k) ]−1 (x(k) ))+

où (t)+ = max(t, 0).


Pour résumer, nous avons l’algorithme de Newton projeté suivant.

Youssef Qaraai E-MMIS, FSTE, UMI


3.7. MÉTHODES DE PÉNALISATION 63

Algorithme 3.6.1. (Algorithme de Newton projeté)


Initialisation : Choisir x(0) ∈ Rn , x(0) ≥ 0 et une tolérance ε > 0
Itération k : tant que le critère d’arrêt est non satisfait, faire :
w(k) = kx(k) − (x(k) − ∇f (x(k) ))+ k
ε(k) = min(ε, w(k) )
(k) ∂f
I +(k) = {i : 0 ≤ xi ≤ ε(k) et ∂xi
(x(k) ) > 0}
(k) (k) −1
D = [H ] avec
(
(k) 0 si i 6= j et (i ∈ I +(k) ou j ∈ I +(k) ),
Hij = ∂2f
∂xi ∂xj
(x(k) ) sinon.

p(k) = D(k) ∇f (x(k) ) (choix de la direction de descente)


choix du pas α(k) par une recherche linéaire :

xk (α) = (x(k) − αp(k) )+

x(k+1) = x(k) (α(k) )

Fin

3.7 Méthodes de pénalisation


Fréquemment utilisées en pratique pour résoudre un problème d’optimisation avec contraintes,
les méthodes de pénalisation partent du principe suivant : remplacer le problème contraint
(
min f (x)
(P)
x ∈ X ⊂ Rn

par un problème sans contraintes


(
min f (x) − 1ε α(x)
(Pε )
x ∈ Rn

où α : Rn → R est une fonction de pénalisation des contraintes et ε > 0. Le but est de


trouver des fonctions α telles que les problèmes (P) et (Pε ) soient équivalents, c’est à dire,
tels qu’ils aient les mêmes solutions. Dans ce cas, on dit que la pénalisation est exacte.
On peut par exemple choisir :

Youssef Qaraai E-MMIS, FSTE, UMI


3.7. MÉTHODES DE PÉNALISATION 64

(
0 si x ∈ X
α(x) =
+∞ si x 6∈ X
Cette fonction n’a pas de bonnes propriétés mathématiques (notamment la dérivabilité)
pour qu’on puisse appliquer les techniques de résolution sans contraintes. Le principe
intuitif des méthodes de pénalisation est que l’on espère que, lorsque ε devient petit, on
aura tendance à satisfaire la contrainte α pour compenser.
En général, on effectue ce que l’on appelle une pénalisation dite inexacte, telle que le
problème (P) a des solutions qui ne sont pas solutions de (Pε ) ; l’ensemble des solutions
de (Pε ) ne couvre pas tout l’ensemble des solutions de (P).
Néanmoins, on peut trouver dans ce cas des fonctions α qui sont dérivables, ce qui permet
d’utiliser les résultats de minimisation sans contraintes.
Donnons quelques exemples de fonctions de pénalisation α où la pénalisation est dite
extérieure car la suite (xε )ε>0 converge vers x∗ en venant de l’extérieur de X.
Ici, nous supposons que α vérifie les propriétés suivantes :

1. α est continue sur Rn


2. ∀x ∈ Rn , α(x) ≥ 0
3. α(x) = 0 ⇔ x ∈ X

Voici quelques exemples de fonctions de pénalisation :


- Contrainte x ≤ 0 : la fonction α est α(x) = kx+ k2
- Contrainte h(x) = 0 : la fonction α est α(x) = kh(x)k2
- Contrainte g(x) ≤ 0 : la fonction α est α(x) = kg(x)+ k2
avec k.k est la norme euclidienne de Rn et x+ = (x+ +
1 , · · · , xn ).

Nous avons alors le résultat de convergence suivant :

Théorème 3.7.1. Soit f une fonction continue et coercive. Soit X un ensemble fermé
non vide. On suppose que α vérifie les conditions suivantes :
1. α est continue sur Rn
2. ∀x ∈ Rn , α(x) ≥ 0
3. α(x) = 0 ⇔ x ∈ X
on a alors :

Youssef Qaraai E-MMIS, FSTE, UMI


3.8. PROGRAMMATION QUADRATIQUE SUCCESSIVE (PQS) 65

— (i) ∀ε > 0, (Pε ) a au moins une solution xε


— (ii) la famille (xε )ε>0 est bornée
— (iii) Toute sous-suite convergente extraite de (xε )ε>0 converge vers une solution de
(P) lorsque ε → 0.

On obtient alors l’algorithme suivant de pénalisation extérieure.

Algorithme 3.7.1. (Pénalisation extérieure)


Initialisation : k = 1, choisir x(0) ∈ Rn , ε1 > 0

Itération k : tant que le critère d’arrêt n’est pas satisfait :


a) Résoudre le sous problème
(
1
min f (x) + εk
α(x)
(Pεk )
x ∈ Rn

avec x(k−1) le point d’initialisation.


b) k ← k + 1, prendre ε(k+1) < ε(k)
Fin

3.8 Programmation Quadratique Successive (PQS)


Afin de mieux comprendre comment s’écrit un algorithme PQS, nous allons nous limiter
aux contraintes d’égalité et ceci sans véritable perte de généralité. En effet, on peut estimer
qu’en étant assez proche de l’optimum, l’état d’activation des contraintes d’inégalité ne
change plus et on peut les traiter comme des contraintes d’égalité.
Rappelons qu’un problème d’optimisation avec contraintes s’écrit comme :

min F (x)
x∈Rn

cE (x) = 0 (3.8.9)
cI (x) ≤ 0, (3.8.10)

avec cE (x) : Rn → RmE et cI (x) : Rn → RmI , et m = mE + mI .


Les conditions d’optimalité du premier ordre d’un problème d’optimisation sous contraintes
s’expriment par :

Youssef Qaraai E-MMIS, FSTE, UMI


3.8. PROGRAMMATION QUADRATIQUE SUCCESSIVE (PQS) 66

∇x F (x∗ ) + ∇x cE (x∗ )T λ∗E + ∇x cI (x∗ )T λ∗I = 0 (3.8.11)


cE (x∗ ) = 0 (3.8.12)
cI (x∗ ) ≤ 0 (3.8.13)
λ∗I ≥ 0 (3.8.14)
cI (x∗ )T λ∗I = 0 (3.8.15)

avec λE et λI sont les multiplicateurs de Lagrange.


En posant λ = (λE , λI )T et c(x) = (cE (x), cI (x))T et le lagrangien est :

L(x, λ) = F (x) + c(x)λT (3.8.16)

alors les conditions (3.8.11) et (3.8.12) expriment que :

∇(x,λE ) L(x, λ) = 0. (3.8.17)

La condition de complémentarité (3.8.15) peut être vue comme une condition d’activation
des contraintes, en effet si ckI (x) < 0 alors λkI = 0 et si ckI (x) = 0 alors λkI ≥ 0, et ceci pour
tout 1 ≤ k ≤ m. Tout comme pour l’optimisation sans contrainte, on peut trouver une
explication intuitive de ces conditions. En effet si x∗ est un minimum local alors dF ≥ 0
dans toutes les directions autorisées par les contraintes d’égalités et d’inégalités actives.
La condition d’optimalité du second ordre est que la hessienne du Lagrangien doit être
semi-définie positive.
De manière identique au cas sans contraintes on fait un développement de Taylor au
premier ordre des conditions d’optimalité (3.8.17), on obtient

∇x L(xk + dx, λk + dλ) = ∇x L(xk , λk ) + ∇2xx L(xk , λk )dx + ∇2xλ L(xk , λk )dλ

∇λ L(xk + dx, λk + dλ) = ∇λ L(xk , λk ) + ∇2λx L(xk , λk )dx + ∇2λλ L(xk , λk )dλ
En écrivant que ceci doit être nul, on obtient alors le système linéaire :

∇x L(xk , λk ) + ∇2xx L(xk , λk )dx + ∇x c(xk )T dλ = 0 (3.8.18)


c(xk ) + ∇x c(xk )dx = 0 (3.8.19)

Remarquons que ∇x L(xk , λk ) est linéaire par rapport à λk , donc l’équation (3.8.18) de-
vient :
∇x F (xk ) + ∇2xx L(xk , λk )dx + ∇x c(xk )T (λk + dλ) = 0 (3.8.20)

Youssef Qaraai E-MMIS, FSTE, UMI


3.8. PROGRAMMATION QUADRATIQUE SUCCESSIVE (PQS) 67

Comme λk+1 = λk + dλ, on obtient alors le nouveau système linéaire :


! ! !
∇2xx L(xk , λk ) ∇x c(xk )T dx ∇x F (xk )
=− (3.8.21)
∇x c(xk ) 0 λk+1 c(xk )

Remarque 3.8.1. La matrice de ce système est inversible si

— (i) ∇x c(xk ) est de rang plein


— (ii) ∇2xx L(xk , λk ) est définie positive

Dans le cas où il n’y a que des contraintes d’égalité, le système d’équations (3.8.21) n’est
autre que les conditions d’optimalité du programme quadratique suivant :

 min ∇ F (x )T dx + 1 dxT ∇2 L(x , λ )dx



x k k k k k
dk ∈Rn 2 k xx (3.8.22)
cE (xk ) + ∇x cE (xk )dxk = 0

Sans rentrer dans les détails dans ce document, on peut étendre ce résultat aux contraintes
d’inégalité et écrire le problème quadratique associé au problème d’optimisation avec
contraintes d’égalité et d’inégalité :


T 1 T 2
 min ∇ x F (x k ) dx k + dx ∇ L(xk , λk )dxk
2 k xx

 dk ∈Rn

(PQT ) cE (xk ) + ∇x cE (xk )dxk = 0 (3.8.23)



 c (x ) + ∇ c (x )dx ≤ 0
I k x I k k

Le problème d’activation des contraintes d’inégalités est donc renvoyé au niveau de la


résolution du problème quadratique associé. On peut alors écrire un PQS à hessienne
exacte comme dans le schéma numérique ci-dessous.

Algorithme 3.8.1. (Algorithme SQP)

(i) Initialiser k ← 0, l’itéré initial (x0 , λ0 ) et la tolérance d’arrêt 


(ii) Calculer ∇x F (xk ) et ∇2xx L(xk , λk )
(ii) Calculer dxk et λk+1 en résolvant (PQT ) (3.8.23)
(iii) xk+1 ← xk + dk
(iv) Si k∇(x,λ) L(xk+1 , λk+1 )k >  aller au pas (ii) sinon s’arrêter

Youssef Qaraai E-MMIS, FSTE, UMI


3.8. PROGRAMMATION QUADRATIQUE SUCCESSIVE (PQS) 68

Le pas (ii) est l’étape non triviale de cet algorithme. La résolution d’un programme qua-
dratique est basée sur le système linéaire (3.8.21), cependant ce système ne traduit pas le
problème lié à l’activation des contraintes.
Comme pour les méthodes de Newton sans contraintes le noyau du schéma (3.8.1) est le
calcul de la hessienne exacte qui peut être lourd, et elle peut ne pas être définie positive
si on est loin du minimum.

En outre de la théorie et algorithmes de graphes, nous avons présenté jusqu’à présent un


ensemble (non exhaustif) de méthodes permettant de résoudre un problème d’optimisation
d’une manière exacte ou approchée. Le contexte de manipulation et de fonctionnement de
telles méthodes diffère d’une situation de problème à l’autre. Mais la majorité d’entre elles
présentent des points communs en termes d’hypothèses et des considérations du départ.
En effet, cela concerne plus particulièrement la fonction objectif et éventuellement les
contraintes imposées.
Dans la partie suivante nous introduirons un autre type de méthodes qui s’inscrivent,
comme pour le cas non linéaire, dans le cadre de l’optimisation difficile, et qui ne nécessi-
teront pas plus d’informations sur les éléments définissant le problème étudié. On parlera
des métaheuristiques.

Youssef Qaraai E-MMIS, FSTE, UMI

Vous aimerez peut-être aussi