Académique Documents
Professionnel Documents
Culture Documents
Polycopié de cours :
Méthodes d’optimisation non linéaire
2022-2023
Sommaire
1
SOMMAIRE 2
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
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.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
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}.
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)
∂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).
On note aussi
∂f ∂f ∂f
Jf (x) = ( , ,··· ) ∈ M∞,\ , ∀x ∈ Ω
∂x1 ∂x2 ∂xn
(la Jacobienne de f en x). On a :
∇f = (Jf )T
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
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
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
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
Formules de Taylor
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
c’est à dire, si on la divise par khkk , le résultat tend vers 0 quand khk tend vers 0.
1.2 Convexité
Définition 1.2.1.
Remarque 1.2.1. Toute fonction strictement convexe est convexe, mais la réciproque
n’est pas vraie en général.
— 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.
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
— 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 .
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
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
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 (y) ≥ f (0)+ < ∇f (0), y > + kyk2
2
Nous utilisons l’inégalité de Cauchy-Schwarz
∂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 :
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
< ∇f (x) − ∇f (y), x − y >= g1 (x) − g1 (y) =< ∇g1 (y + θ(x − y)), x − y >
< ∇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 α = β.
Démonstration. Soit i ∈ {1, 2, · · · , p} tel que fi soit elliptique. Alors il existe α > 0 tel
que
∇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
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.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.
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
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
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.
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.
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
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 .
∇f (u∗ ) = 0
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.
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)}
(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.
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.
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
21
2.1. CONDITIONS D’OPTIMALITÉ 22
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 :
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.
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.
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).
∀k ∈ N, f (xk+1 ) ≤ f (xk )
f (x + td) − f (x)
df (x, d) := lim
t→0 t
si cette limite existe.
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,
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.
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.
Ainsi, la direction d? = −∇f (x) est appelée direction de plus forte descente.
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
∀k ∈ N, f (xk+1 ) ≤ f (xk )
Algorithme 2.2.1.
Données : f : Rn → R supposée au moins différentiable, x0 point initial arbitrairement
choisi.
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.
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
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 )
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
kxk+1 − x? k
lim =τ
k→+∞ ||xk − x? ||p
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é
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? .
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 :
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).
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
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.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
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.
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 :
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.
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
— 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
f (x, y, z) = x2 + y 2 + z 2 + xy + xz + yz + x − y + 3z
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
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
end
u=u-r*d; % uk+1
end
umin=u
fmin=0.5*u’*A*u-b’*u
grad=A*u-b
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
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.
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
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. :
soit :
JF (x)T JF (x)(y − x) = −JF (x)T F (x)
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)
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
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).
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 :
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
est :
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.
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.
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
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.
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.
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 :
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 :
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
ou plus généralement
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
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.
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 .
Démonstration. On note p = (λ, γ). On rappelle que les conditions du point-selle sont
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 :
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.
L(x? , p? ) ≤ L(x, p? ), ∀x ∈ Rn
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).
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
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 :
γj? = 0 ou gj (x? ) = 0
4.
∀j = 1, ..., q, gj (x? ) ≤ 0.
5.
∀j = 1, ..., q, γj? ≥ 0.
Terminologie :
• (λ? , γ ? ) est aussi appelé solution duale, x? solution primale, et (x? , λ? , γ ? ) solution
primale-duale respectivement du problème (P ).
(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
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.
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
— (a) yk = xk − s∇f (xk ) où s est le pas calculé comme pour la méthode du gradient
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 .
Si d(s) est non nulle, alors d(s) est une direction de descente pour tout s > 0.
∀y ∈ X, hpX (xk − s∇f (xk )) − (xk − s∇f (xk )), y − pX (xk − s∇f (xk ))i ≥ 0
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.
(
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) )
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.
On peut affiner un peu en introduisant un pas α(k) > 0 qui donne la nouvelle formulation :
Fin
(
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 :
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 :
min F (x)
x∈Rn
cE (x) = 0 (3.8.9)
cI (x) ≤ 0, (3.8.10)
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 :
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)
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 :
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 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.