Vous êtes sur la page 1sur 63

Plan du cours Support de cours

• Introduction
• Analyse de la fonction objectif
• Conditions d’optimalité sans contrainte
• Résolution d’équations
• Optimisation sans contrainte
• Analyse des contraintes
• Conditions d’optimalité avec contraintes
• Optimisation avec contraintes

Introduction – p.2 Introduction – p.3

Introduction Introduction

Optimum Modèle mathématique


(du latin optimus, le meilleur) Etat, degré de développement de quelque chose Représentation mathématique d’un phénomène physique, économique, hu-
jugé le plus favorable au regard de circonstances données main, etc., réalisée afin de pouvoir mieux étudier celui-ci.

• Pour obtenir une définition plus formelle : 1. Variables de décision : x ∈ Rn , x = (x1 , x2 , . . . , xn )T


Modélisation mathématique 2. Fonction objectif : f (x) ∈ R
3. Contraintes: x ∈ X ⊆ Rn

Introduction – p.5 Introduction – p.6

Swisscom Swisscom

• Positionnement d’une antenne 3


"
• Connexion de 4 nouveaux clients ! 1
• Priorité aux meilleurs clients
• Antennes existantes : (-5,10) et (5,0)
• Interdiction de placer la nouvelle à moins de 10 km des 2
antennes existantes Client Coord. Heures
1 (5,10) 200 (x, y)
2 (10,5) 150 ! !4
3 (0,12) 200
4 (12,0) 300

Introduction – p.9 Introduction – p.10


Swisscom Geppetto

! Fabricants de jouets en bois : soldats et trains


min(x1 ,x2 ) f (x1 , x2 ) = 200 (x1 − 5)2 + (x2 − 10)2 +
!
150 (x1 − 10)2 + (x2 − 5)2 + • Prix de vente : soldats 27 e, trains 21 e
• Matériel brut : soldats 10 e, trains 9 e
!
200 x21 + (x2 − 12)2 +
!
300 (x1 − 12)2 + x22 • Coûts généraux : soldats 14 e, trains 10 e

sous contraintes • Menuiserie : soldats 1h, trains 1h


! • Finissage : soldats 2h, trains 1h
(x + 5)2 + (x2 − 10)2 ≥ 10
! 1 • Main d’oeuvre disponible : menuiserie 80h, finissage 100h
(x1 − 5)2 + (x2 − 10)2 ≥ 10.
• Maximum de 40 soldats

Introduction – p.11 Introduction – p.28

Geppetto Transformations du problème

max f (x) = 3x1 + 2x2 , Equivalence


x
Deux problèmes d’optimisation P1 et P2 sont dits équivalents si l’on peut con-
sous contraintes struire un point admissible de P2 à partir d’un point admissible de P1 (et
2x1 + x2 ≤ 100 réciproquement), avec la même valeur pour la fonction objectif. En particulier,
x1 + x2 ≤ 80 les deux problèmes ont le même coût optimal, et on peut construire une solu-
tion optimale de P2 à partir d’une solution optimale de P1 (et réciproquement).
x1 ≤ 40
x1 ≥ 0
x2 ≥ 0
x1 ∈ N
x2 ∈ N

Introduction – p.29 Introduction – p.30

Transformations du problème Transformations du problème

• Constante • Inégalités
g(x) ≤ 0 ⇐⇒ −g(x) ≥ 0.
argminx∈X⊆Rn f (x) = argminx∈X⊆Rn (f (x) + c) ∀c ∈ R,
• Egalité - Inégalités
et "
min (f (x) + c) = c + min f (x) ∀c ∈ R. g(x) ≤ 0
x∈X⊆Rn x∈X⊆Rn g(x) = 0 ⇐⇒
g(x) ≥ 0
• Minimum - Maximum
• Variables non négatives
max f (x) ⇐⇒ − min −f (x).
x x
x = x+ − x− , avec x+ ≥ 0 et x− ≥ 0.
min f (x) ⇐⇒ − max −f (x).
x x

Introduction – p.31 Introduction – p.32


Transformations du problème Variables d’écart

• Changement de variable Variable d’écart


Une variable d’écart est une variable de décision introduite dans un problème
x = x̃ + a d’optimisation afin de transformer une contrainte d’inégalité en une contrainte
d’égalité.
transforme la contrainte x ≥ a en
"
g(x) + y = 0
x̃ ≥ 0. g(x) ≤ 0 ⇐⇒ g(x) + z 2 = 0 ⇐⇒
y ≥ 0.

Introduction – p.33 Introduction – p.36

Hypothèses de travail Définition du problème

Trois hypothèses dans le cadre de ce cours


min f (x)
x∈Rn
• continuité opt. combinatoire
• différentiabilité opt. non différentiable sous contraintes
h(x) = 0,
• déterminisme opt. stochastique
g(x) ≤ 0,
x ∈ X.
• f : Rn → R, n > 0
• h : Rn → Rm , m ≥ 0
• g : Rn → Rp , p ≥ 0
• X ⊆ Rn ensemble convexe

Introduction – p.37 Analyse du problème – p.1

Définition du problème Définition du problème

Minimum local Minimum local strict


Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X} Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X}
l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur
x∗ ∈ Y est appelé minimum local s’il existe ε > 0 tel que x∗ ∈ Y est appelé minimum local strict s’il existe ε > 0 tel que

f (x∗ ) ≤ f (x) ∀x ∈ Y tel que 'x − x∗ ' < ε. f (x∗ ) < f (x) ∀x ∈ Y, x )= x∗ tel que 'x − x∗ ' < ε.

Analyse du problème – p.2 Analyse du problème – p.3


Définition du problème Définition du problème

Minimum global Minimum global strict


Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X} Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X}
l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur
x∗ ∈ Y est appelé minimum global si x∗ ∈ Y est appelé minimum global strict si

f (x∗ ) ≤ f (x) ∀x ∈ Y. f (x∗ ) < f (x) ∀x ∈ Y, x )= x∗ .

Analyse du problème – p.4 Analyse du problème – p.5

Définition du problème Définition du problème

Exemple : Attention : minx∈Rn f (x) = x n’a pas de solution


5 7 11
f (x) = − x3 + x2 − x + 3. Fonction bornée inférieurement
6 2 3 Soit une fonction f : Rn −→ R et un ensemble Y ⊆ Rn . La
fonction f est bornée inférieurement sur Y s’il existe un réel M tel
que
f (x) ≥ M ∀x ∈ Y.
x∗ x∗

.
Analyse du problème – p.6 Analyse du problème – p.7

Définition du problème Définition du problème

Infimum Soit f (x) = ex et Y = R. Nous avons


f : Rn −→ R bornée inférieurement sur un
Soit une fonction
inf f (y) = 0.
n
ensemble Y ⊆ R . L’infimum de f sur Y est noté y∈Y

En effet,
inf f (y) 0 = inf f (y) ≤ f (x) = ex ∀x ∈ R.
y∈Y
y∈Y

et est tel que Prenons M > 0 arbitraire, et x = ln M/2. Alors,


inf f (y) ≤ f (x) ∀x ∈ Y M
y∈Y f (x) = < M,
2
et
∀M > inf f (y), ∃x ∈ Y tel que f (x) < M. et la définition est vérifiée.
y∈Y

Analyse du problème – p.8 Analyse du problème – p.9


Définition du problème Rappels

Théorème: Théorème de Weierstrass Soit Y ⊂ Rn un sous-ensemble Semi-continuité


fermé et non-vide de Rn , et soit f : Y −→ R une fonction semi-continue Soit X ⊆ Rn , et soit f : X −→ R une fonction à valeurs réelles.
inférieurement en chaque point de Y . Alors, si Y est compact ou si f est
coercitive, il existe x∗ ∈ Y tel que f est dite semi-continue inférieurement en x ∈ X si pour toute
suite (xk )k d’éléments de X convergeant vers x, on a
f (x∗ ) = inf f (y).
y∈Y
f (x) ≤ lim inf f (xk )
k→∞
(sans preuve - voir p. 26)

Analyse du problème – p.10 Analyse du problème – p.11

Rappel Définition du problème

Fonction coercitive Point intérieur


Soit X ⊆ Rn , et soit f : X −→ R une fonction à valeurs réelles. Soit Y ⊂ Rn et y ∈ Y . On dit que y est intérieur à Y s’il existe
f est dite coercitive si pour toute suite (xk )k d’éléments de X telle un voisinage de y contenu dans Y . D’une manière équivalente, y
que 'xk ' → ∞ pour une norme quelconque, on a est intérieur à Y s’il existe ε > 0 tel que

lim f (xk ) = ∞ z∈Y ∀z tel que 'z − y' ≤ ε.


k→∞

Analyse du problème – p.12 Analyse du problème – p.13

Définition du problème Fonction objectif

Théorème: Solution optimale à l’intérieur des contraintes Soit x∗ Fonction convexe


un minimum local. Si x∗ est un point intérieur à l’ensemble des contraintes, alors Une fonction f : Rn −→ R est dite convexe si, pour tout x, y ∈
x∗ est un minimum local du problème sans contrainte n
R , on a
min f (x)
x∈Rn
f (λx + (1 − λ)y) ≤ λf (x) + (1 − λ)f (y) ∀λ ∈ [0, 1]
(p. 27)

(z, λf(x) + (1 − λ)f(y))

(z, f(z))

x z= y
λx + (1 − λ)y

Analyse du problème – p.14 Analyse du problème – p.15


Fonction objectif Fonction objectif

Fonction non convexe : Fonction strictement convexe


Une fonction f : Rn −→ R est dite strictement convexe si, pour
tout x, y ∈ Rn , on a
(y, f(y))
f (λx + (1 − λ)y) < λf (x)+(1−λ)f (y) ∀x )= y, ∀λ ∈]0, 1[

Fonction concave
Une fonction f : Rn −→ R est dite concave si −f est une fonc-
(x, f(x))
∈ Rn , on a
tion convexe, c’est-à-dire si, pour tout x, y

f (λx + (1 − λ)y) ≥ λf (x) + (1 − λ)f (y) ∀λ ∈ [0, 1].

Analyse du problème – p.16 Analyse du problème – p.17

Différentiabilité : 1er ordre Différentiabilité : 1er ordre

Dérivée partielle Gradient


Soit f : Rn −→ R une fonction continue. La fonction notée Soitf : Rn −→ R une fonction différentiable. La fonction notée
∇i f (x) : Rn −→ R, également notée ∂f∂x(x) est appelée ième ∇f (x) : Rn −→ Rn est appelée le gradient de f et est définie
i
dérivée partielle de f et est définie par par
 ∂f (x)

f (x1 , . . . , xi + α, . . . , xn ) − f (x1 , . . . , xi , . . . , xn ) ∂x1
lim . 
∇f (x) = 
.. 
.
α→0 α  . 
∂f (x)
Cette limite peut ne pas exister. ∂xn

Analyse du problème – p.18 Analyse du problème – p.19

Gradient : exemple Dérivée directionnelle

Soit f (x1 , x2 , x3 ) = ex1 + x21 x3 − x1 x2 x3 . Le gradient de f est donné Dérivée directionnelle


par Soitf : Rn −→ R une fonction continue. Soient x ∈ Rn et
 
ex1 + 2x1 x3 − x2 x3 d ∈ Rn . La dérivée directionnelle de f en x dans la direction d est
∇f (x1 , x2 , x3 ) =  −x1 x3 .
 
2 donnée par
x1 − x1 x2
f (x + αd) − f (x)
lim ,
>
α→0 α
si la limite existe. De plus, lorsque le gradient existe, la dérivée
directionnelle est le produit scalaire entre le gradient de f et la di-
rection d, i.e.
∇f (x)T d.

Analyse du problème – p.20 Analyse du problème – p.21


Différentiabilité Dérivée directionnelle

Fonction différentiable Soit f (x1 , x2 , x3 ) = ex1 + x21 x3 − x1 x2 x3 , et soit


n n
Soit f : R −→ R une fonction continue. Si, pour tout d ∈ R ,  
d1
la dérivée directionnelle de f dans la direction d existe, alors la
d =  d2  .
 
fonction f est dite différentiable. d3

La dérivée directionnelle de f dans la direction d est

(d1 d2 d3 )∇f (x1 , x2 , x3 ) =


d1 (ex1 + 2x1 x3 − x2 x3 ) − d2 x1 x3 + d3 (x21 − x1 x2 )

Analyse du problème – p.22 Analyse du problème – p.23

Dérivée directionnelle Dérivée directionnelle

Dérivées partielles = dérivées directionnelles dans la direction des Direction de descente


axes de coordonnées Soit f : Rn −→ R une fonction différentiable. Soient x, d ∈ Rn .
∂f (x) La direction d est une direction de descente en x si
= ∇f (x)T ei
∂xi
  dT ∇f (x) < 0.
0
 .. 

 . 

ei =  1  ième ligne
 

.. 
.
 
 
0

Analyse du problème – p.24 Analyse du problème – p.25

Rappels Rappels

Théorème: Taylor au premier ordre Soit f : Rn −→ R une fonction Notation de Landau o(·)
différentiable sur une sphère ouverte S centrée en x. Alors,
Soient f et g deux fonctions de R −→ R, avec f (x) )= 0, ∀x. La
• pour tout d tel que x + d ∈ S , on a
notation de Landau g(x) = o(f (x)) signifie que
f (x + d) = f (x) + dT ∇f (x) + o('d'),
g(x)
• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que
lim = 0.
x→0 f (x)
f (x + d) = f (x) + dT ∇f (x + αd). Par abus de language, on dit que g(x) tend vers zéro plus vite que
(sans preuve) f (x).

Analyse du problème – p.26 Analyse du problème – p.27


Direction de descente Plus forte pente

Théorème: Direction de descente Soit f : Rn −→ R une fonction Théorème: Plus forte pente Soit f : Rn −→ R une fonction différentiable.
différentiable. Soient x ∈ Rn tel que ∇f (x) )= 0 et d ∈ Rn . Si d est une Soient x ∈ Rn , et d∗ = ∇f (x). Alors, pour tout d ∈ Rn tel que
direction de descente, alors il existe η > 0 tel que 'd' = '∇f (x)', on a

f (x + αd) < f (x) ∀0 < α ≤ η. dT ∇f (x) ≤ d∗ T ∇f (x) = ∇f (x)T ∇f (x),


De plus, pour tout β < 1, il existe η
' > 0 tel que
et la direction du gradient est celle dans laquelle la fonction a la plus forte pente. (p.
f (x + αd) < f (x) + αβ∇f (x)T d,
37)
pour tout 0 < α ≤ η
'.(p. 36)

Analyse du problème – p.28 Analyse du problème – p.29

Plus forte descente Gradient

Théorème: Plus forte descente Soit f : Rn −→ R une fonction • Information sur la pente
différentiable. Soient x ∈ Rn , et d∗ = −∇f (x). Alors, pour tout d ∈ Rn tel que
• Information sur la convexité / concavité
'd' = '∇f (x)', on a

−∇f (x)T ∇f (x) = d∗ T ∇f (x) ≤ dT ∇f (x).

et la direction opposée au gradient est donc celle dans laquelle la fonction a la plus

forte descente. (Immédiat - p. 38)

Analyse du problème – p.30 Analyse du problème – p.33

Convexité Convexité par le gradient

Théorème: Convexité par le gradient Soit f : X ⊆ Rn −→ R une Interprétation géométrique : le graphe de la fonction se trouve au
fonction différentiable sur un ensemble convexe X . f est convexe sur X si et dessus des hyperplans tangents
seulement si
f (y) ≥ f (x) + (y − x)T ∇f (x), ∀x, y ∈ Rn ,
f (y) − f (x) ≥ (y − x)T ∇f (x), ∀x, y ∈ X.

f est strictement convexe sur X si et seulement si

f (y) − f (x) > (y − x)T ∇f (x), ∀x, y ∈ X.

(p. 40)

f(x) + (y − x)T ∇f(x)

Analyse du problème – p.34 Analyse du problème – p.35


Fonctions de Rn −→ Rm Fonctions de Rn −→ Rm

Matrice gradient
 
∂f1 ∂f2 ∂fm
∂x1 ∂x1 ··· ∂x1
n m n
Soitf : R −→ R telle que fi : R −→ R est différentiable, ∇f (x)

= 
.. .. .. .. 
. . . .

pour i = 1, . . . , m. Dans ce cas, f est différentiable, et la fonction
 
∂f1 ∂f2 ∂fm
∂xn ∂xn ··· ∂xn
∇f (x) : Rn −→ Rn×m est appelée matrice gradient, et est
définie par
 
 
∇f (x) = 
 ∇f1 (x) · · · ∇fm (x) 

Analyse du problème – p.36 Analyse du problème – p.37

Fonctions de Rn −→ Rm Différentiabilité : le 2ième ordre

Matrice jacobienne • Le gradient de f est une fonction de Rn −→ Rn


n m n m×n • On peut donc calculer sa matrice gradient dont les
Soit f : R −→ R . La fonction J(x) : R −→ R est
composantes sont
appelée matrice jacobienne, et est définie par
∂∇i f (x) ∂(∂f (x)/∂xi ) ∂ 2 f (x)
= = .
 
∇f1 (x)T ∂xj ∂xj ∂xi ∂xj
..
J(x) = ∇f (x)T = 
 
. .
  • Il s’agit de la matrice des dérivées secondes de f , ou matrice
∇fm (x)T hessienne

Analyse du problème – p.38 Analyse du problème – p.39

Différentiabilité : le 2ième ordre Différentiabilité : le 2ième ordre

Matrice Hessienne Soit f (x1 , x2 , x3 ) = ex1 + x21 x3 − x1 x2 x3 . Le gradient de f est donné


Soit f : Rn −→ R une fonction deux fois différentiable. La fonc- par
 
tion notée ∇2 f (x) : Rn −→ Rn×n est appelée la matrice hessi- ex1 + 2x1 x3 − x2 x3
∇f (x1 , x2 , x3 ) =  −x1 x3 .
 
enne ou Hessien de f et est définie par 2
x1 − x1 x2
 
∂ 2 f (x) ∂ 2 f (x) ∂ 2 f (x) Le Hessien de f est donné par
∂x 2 ∂x 1 ∂x 2
· · · ∂x 1 ∂x n 
 1
 ∂ 2 f (x) ∂ 2 f (x) ∂ 2 f (x)   
2
 ∂x2 ∂x1 ∂x22
··· ∂x2 ∂xn 
 ex1 + 2x3 −x3 2x1 − x2
∇ f (x) =  
. .. . . 2
∇ f (x1 , x2 , x3 ) = 

−x3 0 −x1 .

 .
. . .
. 
 2  2x1 − x2 −x1 0
∂ f (x) ∂ 2 f (x) ∂ 2 f (x)
∂xn ∂x1 ∂xn ∂x2
· · · ∂x2 n

La matrice hessienne est toujours symétrique.

Analyse du problème – p.40 Analyse du problème – p.41


Convexité par le hessien Rappels

Théorème: Convexité par le Hessien Soit f : X ⊆ Rn −→ R une Matrice semi définie positive
fonction deux fois différentiable sur un ensemble convexe X . Si ∇2 f (x) est semi La matrice carrée A ∈ Rn×n est dite semi définie positive lorsque
définie positive (resp. définie positive) pour tout x dans X , alors f est convexe xT Ax ≥ 0 ∀x ∈ Rn .
(resp. strictement convexe).(p. 44)
Si de plus A est symétrique, alors aucune de ses valeurs propres
ne sont négatives.

Analyse du problème – p.42 Analyse du problème – p.43

Rappels Rappels

Matrice définie positive Théorème: Taylor au second ordre Soit f : Rn −→ R une fonction deux
n×n fois différentiable sur une sphère ouverte S centrée en x. Alors,
La matrice carrée A ∈R est dite définie positive lorsque
• pour tout d tel que x + d ∈ S , on a
xT Ax > 0 ∀x ∈ Rn , x )= 0. 1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x)d + o('d'2 ),
2
Si de plus A est symétrique, toutes ses valeurs propres sont stricte-
• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que
ment positives.
1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x + αd)d
2

(sans preuve)

Analyse du problème – p.44 Analyse du problème – p.45

Analyse directionnelle Analyse directionnelle

Analysons la fonction f dans la direction d à partir de x Courbure


Soit f : Rn −→ R une fonction deux fois différentiable. Soient
g : R → R : α ! f (x + αd).
x, d ∈ Rn . La quantité
Règle de différentiation en chaîne :
dT ∇2 f (x)d
g # (α) = dT ∇f (x + αd). dT d
Notons que g # (0) est la dérivée directionnelle. Nous avons aussi représente la courbure de la fonction f en x dans la direction d.
## T 2
g (α) = d ∇ f (x + αd)d.

La dérivée seconde informe sur la courbure

Analyse du problème – p.46 Analyse du problème – p.47


Linéarité Linéarité

Fonction linéaire En optimisation, on utilise souvent le terme linéaire pour affine


Une fonction f : Rn −→ R est dite linéaire si elle s’écrit
n
(
f (x) = cT x = ci xi ,
i=1

où c ∈ Rn est un vecteur constant, i.e. indépendant de x. Une


fonctionf : Rn −→ Rm est linéaire si chacune de ses com-
posantes fi : Rn −→ R, i = 1, . . . , m, est linéaire. Dans ce
cas, elle peut s’écrire
f (x) = Ax
m×n
où A ∈R est une matrice de constantes.

Analyse du problème – p.48 Analyse du problème – p.49

Linéarité Linéarité

Fonction affine Minimiser cT x + d ou cT x est équivalent


Une fonction f : Rn −→ R est dite affine si elle s’écrit

f (x) = cT x + d,

où c ∈ Rn est un vecteur de constantes et d ∈ R. Une fonction


f : Rn −→ Rm est affine si chacune de ses composantes fi :
Rn −→ R, i = 1, . . . , m, est affine. Dans ce cas, elle peut
s’écrire
f (x) = Ax + b
m×n
où A ∈R est une matrice et b ∈ Rm un vecteur.

Analyse du problème – p.50 Analyse du problème – p.51

Linéarité Fonction quadratique

Fonction non linéaire Fonction quadratique


Toute fonction qui n’est pas affine est dite non linéaire. Une fonction f : Rn → R sera dite quadratique si elle peut s’écrire
1
f(x) = e (e−x ) f (x) = xT Qx + g T x + c
f(x) = x2
+ 3x + 1
2
100

où Q est une matrice symétrique n × n, g ∈ Rn et c ∈ R. Nous


avons
∇f (x) = Qx + g et ∇2 f (x) = Q.

Il est important de caractériser la non linéarité

Analyse du problème – p.52 Analyse du problème – p.55


Fonction quadratique Conditionnement et préconditionnement

• L’hypothèse Q symétrique n’est pas restrictive. En effet, Nombre de conditionnement


n (
n n (
n Soit A ∈ Rn×n une matrice symétrique non singulière. Le nombre
( ( 1
xT Qx = Qij xi xj = (Qij + Qji )xi xj de conditionnement de A est
i=1 j=1 i=1 j=i
2

κ(A) = 'A''A−1 '.


• Soit Q# telle que Q#ij = Q#ji = 21 (Qij + Qji ).
• Ainsi, xT Qx = xT Q# x avec Q# symétrique.

Analyse du problème – p.56 Analyse du problème – p.57

Conditionnement et préconditionnement Conditionnement et préconditionnement

Nombre de conditionnement (suite) • Soit f : Rn −→ R


Si la norme matricielle utilisée est la norme 2, nous avons • Soit x ∈ Rn

σ1 • Supposons ∇2 f (x) définie positive


κ2 (A) = 'A'2 'A−1 '2 = , • Soient λ1 sa plus grande valeur propre, et d1 le vecteur propre
σn
associé.
où σ1 est la plus grande valeur singulière de A, et σn la plus pe- • Comme Ad1 = λ1 d1 , nous avons
tite. Par extension, nous considérerons que le nombre de condi-
dT1 Ad1
tionnement d’une matrice singulière est +∞. Si A est symétrique λ1 = .
dT1 d1
définie positive, les valeurs singulières de A sont ses valeurs pro-
• λ1 : courbure de f dans la direction d1
pres.

Analyse du problème – p.58 Analyse du problème – p.59

Conditionnement et préconditionnement Conditionnement et préconditionnement

Théorème: Rayleigh-Ritz Soit A ∈ Rn×n une matrice réelle symétrique. Interprétation géométrique
Soit λ1 la plus grande valeur propre de A et λn la plus petite. Alors,
• λ1 plus grande courbure de f en x
xT Ax • λn plus petite courbure de f en x
λ1 = max T ,
x%=0 x x • Nombre de conditionnement : rapport entre la plus grande et la
plus petite des courbures parmi les directions partant de x.
et
xT Ax • Si proche de 1, fonction bien conditionnée
λn = min .
x%=0 xT x
(sans preuve)

Analyse du problème – p.60 Analyse du problème – p.61


Conditionnement et préconditionnement Conditionnement et préconditionnement

1.5

45 1
40

35
0.5
30

25

20
0

15

10 !0.5
5 2

0 1
2 !1
1.5 0
1
0.5
0 !1
!0.5
!1
!1.5 !2 !1.5
!2

!2
Analyse du problème – p.62 !2 !1.5 !1 !0.5 0 0.5 1 1.5 2 Analyse du problème – p.63

Conditionnement et préconditionnement Conditionnement et préconditionnement

1.5

8 1

6 0.5
5

4 0
3

2
!0.5
1 2

0 1
2 !1
1.5 0
1
0.5
0 !1
!0.5
!1
!1.5 !2 !1.5
!2

!2
Analyse du problème – p.64 !2 !1.5 !1 !0.5 0 0.5 1 1.5 2 Analyse du problème – p.65

Conditionnement et préconditionnement Conditionnement et préconditionnement

• Soit • Changement de variable


f (x1 , x2 ) = 2x21 + 9x22 ) * ) *) *
1
x1 0 x#1
• Nombre de conditionnement = 9/2, ∀x, car = 2 √ .
2
x2 0 6
x#2
) *
4 0
∇2 f (x1 , x2 ) = . • Nous obtenons
0 18
1 #2 1 #2
f (x#1 , x#2 ) = x + x2 ,
• Appliquons maintenant le changement de variable 2 1 2

dont le Hessien est la matrice identité, et le nombre de


) * ) *) *
x#1 2 0 x1
= √ conditionnement est 1, pour tout (x#1 , x#2 ).
x#2 0 3 2 x2

Analyse du problème – p.66 Analyse du problème – p.67


Conditionnement et préconditionnement Conditionnement et préconditionnement

Changement de variable • Conditionnement de f˜ en x# = conditionnement de


Soit x∈ Rn . Soit M ∈ Rn×n une matrice inversible. Le change-
M −T ∇2 f (M −1 x# )M −1
ment de variable est l’application linéaire définie par M et transfor-
mant x en x' = M x. • Objectif : choisir M tel que ce conditionnement soit le plus
proche possible de 1
• Soit f (x) et un changement de variables x# = M x
• Nous obtenons

f˜(x# ) = f (M −1 x# )
∇f˜(x# ) = M −T ∇f (M −1 x# )
∇2 f˜(x# ) = M −T ∇2 f (M −1 x# )M −1 .

Analyse du problème – p.68 Analyse du problème – p.69

Conditionnement et préconditionnement Optimisation sans contrainte :conditions d’optimalité

Préconditionnement • Problème :
Soit f : Rn −→ R une fonction deux fois différentiable, et soit min f (x)
x∈Rn
un vecteur x ∈ Rn . Le préconditionnement de f en x revient • Soit x∗ un minimum local
à définir un changement de variable x' = M x et une fonction • Comment caractériser x∗ ?
f˜(x' ) = f (M −1 x' ), tels que le conditionnement de f˜ en M x soit
meilleur que le conditionnement de f en x.

Analyse du problème – p.70 Conditions d’optimalité – p.1

Conditions nécessaires Conditions nécessaires

Conditions nécessaires d’optimalité Soit x∗ un minimum local d’une f (x1 , x2 ) = 100(x2 − x21 )2 + (1 − x1 )2
fonction f : Rn −→ R. Si f est différentiable dans un voisinage ouvert V de x∗ ,
alors,
∇f (x∗ ) = 0.
Il s’agit de la condition nécessaire du premier ordre. Si, de plus, f est deux fois
différentiable sur V , alors

∇2 f (x∗ ) est semi définie positive.

et f est localement convexe en x∗ . Il s’agit de la condition nécessaire du second


x1 x2
ordre(p. 127).

Conditions d’optimalité – p.2 Conditions d’optimalité – p.3


Conditions nécessaires Conditions nécessaires

x∗ = (1, 1) minimum local • Valeurs propres positives : 0.39936 et 1001.6


! " • Mauvais conditionnement : 2508
400x31 − 400x1 x2 + 2x1 − 2
∇f (x1 , x2 ) =
200x2 − 200x21

et ∇f (1, 1) = 0.
! "
1200x21 − 400x2 + 2 −400x1
∇2 f (x1 , x2 ) =
−400x1 200

et ! "
802 −400
∇2 f (1, 1) =
−400 200

Conditions d’optimalité – p.4 Conditions d’optimalité – p.5

Conditions nécessaires Conditions nécessaires

x∗ = (0, 0) vérifie les cond. néc. d’optimalité


f (x1 , x2 ) = −x41 − x42
! "
−4x31
∇f (x1 , x2 ) =
−4x32

et ∇f (0, 0) = 0
! "
−12x21 0
∇2 f (x1 , x2 ) =
0 −12x22
x2
x1 et ∇2 f (0, 0) est semi défini positif.
(0, 0) n’est pas un minimum local

Conditions d’optimalité – p.6 Conditions d’optimalité – p.7

Conditions nécessaires Conditions nécessaires

x∗ = (0, 0) vérifie les cond. néc. d’optimalité


f (x1 , x2 ) = 50x21 − x32
! "
100x1
∇f (x1 , x2 ) =
−3x22

et ∇f (0, 0) = 0
! "
100 0
∇2 f (x1 , x2 ) =
0 −6x2
x2 x1
et ∇2 f (0, 0) est semi déf. pos.

Conditions d’optimalité – p.8 Conditions d’optimalité – p.9


Conditions nécessaires Conditions nécessaires

• Considérons la direction d = (0, 1)T en (0, 0). • Considérons la direction d = (0, −1)T en (0, 0).
• Avançons d’un pas α. On obtient • Avançons d’un pas α. On obtient
! " ! " ! " ! " ! " ! "
0 0 0 0 0 0
+α = +α =
0 1 α 0 −1 −α

et ! " ! " et ! " ! "


0 0 0 0
f = −α3 < 0 = f f = α3 > 0 = f
α 0 −α 0

(0, 0) n’est pas un minimum local (0, 0) est un point de selle

Conditions d’optimalité – p.10 Conditions d’optimalité – p.11

Conditions nécessaires Conditions suffisantes

Point critique Conditions suffisantes d’optimalité Soit une fonction f : Rn −→ R


deux fois différentiable dans un sous-ensemble ouvert V de Rn , et soit x∗ ∈ V
Soit f : Rn −→ R une fonction différentiable. Tout vecteur x ∈ Rn tel que
qui vérifie les conditions
∇f (x) = 0 est appelé point critique ou point stationnaire de f
∇f (x∗ ) = 0.
• En pratique les algorithmes cherchent les points critiques et
• Ils seront conçus pour se diriger vers les minima, et pas vers ∇2 f (x∗ ) est définie positive.
les autres points critiques Alors, x∗ est un minimum local strict de f .(p. 132)

Conditions d’optimalité – p.12 Conditions d’optimalité – p.13

Conditions suffisantes Conditions suffisantes

1 2
! "
f (x1 , x2 ) = x + x1 cos x2 , x1 + cos x2
2 1 ∇f (x1 , x2 ) = .
−x1 sin x2

Le gradient s’annule pour


• x∗k = ((−1)k+1 , kπ)T , k ∈ Z,
• x̄k = (0, π2 + kπ)T , k ∈ Z.

Utilisons les cond. d’opt. pour identifier les minima locaux

Conditions d’optimalité – p.14 Conditions d’optimalité – p.15


Conditions suffisantes Conditions suffisantes

! " • x∗k vérifie les conditions suffisantes d’optimalité pour tout k


1 − sin x2
∇2 f (x1 , x2 ) = . • x̄k ne vérifie les conditions nécessaires d’optimalité pour aucun
− sin x2 −x1 cos x2
k.
! "
1 0
∇2 f (x∗k ) = ,
0 1
! "
1 (−1)k+1
∇2 f (x̄k ) = .
(−1)k+1 0

Conditions d’optimalité – p.16 Conditions d’optimalité – p.17

Conditions suffisantes Problèmes quadratiques

Conditions suffisantes d’optimalité globale Soit une fonction f : Conditions d’optimalité pour les problèmes quadratiques
Condidérons le problème
n n ∗ n
R −→ R deux fois différentiable dans R , et soit x ∈ R un minimum local
1 T
de f . Si f est une fonction convexe, alors x∗ est un minimum global de f . Si de min f (x) = x Qx + g T x + c
x∈Rn 2
plus f est strictement convexe, x∗ est l’unique minimum global de f .(p. 134)
où Q est une matrice symétrique n × n, g ∈ Rn et c ∈ R.
1. Si Q n’est pas semi définie positive, alors le problème ne possède pas de
solution, c’est-à-dire qu’il n’existe aucun x ∈ Rn qui soit un minimum local.
2. Si Q est définie positive, alors x∗ = −Q−1 g est l’unique minimum global.

(p. 136 )

Conditions d’optimalité – p.18 Conditions d’optimalité – p.19

Résolution d’équations Algorithme

• L’identification des points critiques revient à résoudre

∇f (x) = 0.
• Abu Ja’far Muhammad ibn Musa Al-Khwarizmi (780—840)
• Il s’agit d’un système de n équations à n inconnues. • Traité al Kitab almukhtasar fi hisab al-jabr w’al muqabala, qui
est à l’origine de l’algèbre
• On verra que les conditions d’optimalité pour les problèmes
avec contraintes se ramènent également à un système • traduction latine de cet ouvrage, intitulée Algoritmi de numero
d’équations. Indorum
• Analysons d’abord les algorithmes permettant de résoudre ces
systèmes d’équations.
• Ils seront ensuite adaptés pour les problèmes d’optimisation.

Systèmes d’équations – p.1 Systèmes d’équations – p.2


Méthode de Newton Equation à une inconnue

f (x) = x2 − 2, x
!=2
Théorème de Taylor

f (!
x + d) x) + df ! (!
= f (! x) + o(|d|)
!2 − 2 + 2!
= x xd + o(|d|)
Idée : = 2 + 4d + o(|d|).

• Méthode itérative
• A chaque itération, simplification du problème
• Technique : linéarisation

Systèmes d’équations – p.3 Systèmes d’équations – p.4

Equation à une inconnue Equation à une inconnue

Ignorons le terme d’erreur pour obtenir un modèle : f(x)


m(x)

x + d) = 2 + 4d.
m(!

En posant x = x
! + d, nous obtenons

m(x) = 2 + 4(x − 2) = 4x − 6.
x

f(x)
m(x)

Systèmes d’équations – p.5 Systèmes d’équations – p.6

Equation à une inconnue Equation à une inconnue

Modèle linéaire d’une fonction à une variable Algorithme :


Soit f : R → R une fonction différentiable. Le modèle linéaire de f en x
! est 1. Calculer le modèle linéaire en x
!:
b : R → R définie par
une fonction mx
f (! !)f ! (!
x) + (x − x x) = 0,
mxb(x) = f (! !)f ! (!
x) + (x − x x).
2. Calculer sa racine x+

f (! x)
x+ = x
!− ,
f ! (!
x)

3. Si x+ n’est pas une racine du problème de départ, considérer


x+ comme nouvelle approximation, et recommencer.

Systèmes d’équations – p.7 Systèmes d’équations – p.8


Equation à une inconnue Algorithme : Méthode de Newton — une variable

Critère d’arrêt : Objectif


Trouver une approximation de la solution de l’équation
• En théorie f (x+ ) = 0.
• En pratique, arithmétique finie. f (x) = 0.
• On définit une précision ε, et la condition est
Input

|f (x+ )| ≤ ε. • La fonction f : R → R;
• La dérivée de la fonction f ! : R → R;
• Une première approximation de la solution x0 ∈ R;
• La précision demandée ε ∈ R, ε > 0.

Systèmes d’équations – p.9 Systèmes d’équations – p.10

Algorithme : Méthode de Newton — une variable Méthode de Newton — une variable

Output
f (x) = x2 − 2 = 0, x0 = 2, ε = 10−15
Une approximation de la solution x∗ ∈ R
Initialisation k xk f (xk ) f ! (xk )
k=0 0 +2.00000000E+00 +2.00000000E+00 +4.00000000E+00

Itérations 1 +1.50000000E+00 +2.50000000E-01 +3.00000000E+00


2 +1.41666667E+00 +6.94444444E-03 +2.83333333E+00
1. xk+1 = xk − f (xk )/f ! (xk ),
3 +1.41421569E+00 +6.00730488E-06 +2.82843137E+00
2. k = k + 1.
4 +1.41421356E+00 +4.51061410E-12 +2.82842712E+00
Critère d’arrêt 5 +1.41421356E+00 +4.44089210E-16 +2.82842712E+00
Si |f (xk )| ≤ ε, alors x∗ = xk .

Systèmes d’équations – p.11 Systèmes d’équations – p.12

Méthode de Newton — une variable Méthode de Newton — une variable

• • La méthode semble très rapide


• Malheureusement, elle ne fonctionne pas toujours bien


• •

• •

x
Systèmes d’équations – p.13 Systèmes d’équations – p.14
Méthode de Newton — une variable Méthode de Newton — une variable

f (x) = x − sin x = 0, x0 = 1, ε = 10−15



k xk f (xk ) f ! (xk )

0 +1.00000000E+00 +1.58529015E-01 +4.59697694E-01

1 +6.55145072E-01 +4.58707860E-02 +2.07040452E-01 • •
2 +4.33590368E-01 +1.34587380E-02 +9.25368255E-02
3 +2.88148401E-01 +3.97094846E-03 +4.12282985E-02
4 +1.91832312E-01 +1.17439692E-03 +1.83434616E-02 x

..
. •

23 +8.64386893E-05 +1.07639890E-13 +3.73582354E-09


24 +5.76257947E-05 +3.18933045E-14 +1.66036607E-09
• •
25 +3.84171966E-05 +9.44986548E-15 +7.37940486E-10
26 +2.56114682E-05 +2.79996227E-15 +3.27973648E-10
27 +1.70743119E-05 +8.29617950E-16 +1.45766066E-10

x
Systèmes d’équations – p.15 Systèmes d’équations – p.16

Méthode de Newton — une variable Méthode de Newton — une variable

f (x) = arctan x = 0, x0 = 1.5, ε = 10−15


k xk f (xk ) f ! (xk )
0 +1.50000000E+00 +9.82793723E-01 +3.07692308E-01
1 -1.69407960E+00 -1.03754636E+00 +2.58404230E-01
2 +2.32112696E+00 +1.16400204E+00 +1.56552578E-01
3 -5.11408784E+00 -1.37769453E+00 +3.68271300E-02
4 +3.22956839E+01 +1.53984233E+00 +9.57844131E-04 x3 x1 x0 x2
5 -1.57531695E+03 -1.57016153E+00 +4.02961851E-07
6 +3.89497601E+06 +1.57079607E+00 +6.59159364E-14
7 -2.38302890E+13 -1.57079633E+00 +1.76092712E-27
8 +8.92028016E+26 +1.57079633E+00 +1.25673298E-54
9 -1.24990460E+54 -1.57079633E+00 +6.40097701E-109
10 +2.45399464E+108 +1.57079633E+00 +1.66055315E-217

x
Systèmes d’équations – p.17 Systèmes d’équations – p.18

Méthode de Newton — une variable Méthode de Newton — une variable

Performance de la méthode de Newton Erreur du modèle linéaire — une variable Soit un intervalle ouvert
• Si la fonction n’est pas trop non-linéaire; X ⊆ R, et une fonction f dont la dérivée est continue au sens de Lipschitz sur X ,
!, x+ ∈ X ,
la constante de Lipschitz étant M . Alors, pour tout x
• Si la dérivée de f à la solution n’est pas trop proche de 0;
• Si x0 n’est pas trop éloigné de la racine; (x+ − x
!)2
|f (x+ ) − mxb(x+ )| ≤ M .
2
• Alors la méthode de Newton converge très vite vers la solution.
(p. 196)

Systèmes d’équations – p.19 Systèmes d’équations – p.20


Rappel Méthode de Newton — une variable

Borne pour l’intégrale Soit f : X ⊂ Rn −→ Rm×n , où X est un Convergence de la méthode de Newton — une variable Soit un
ensemble ouvert convexe, et soient x et x + d dans X . Alors, si f est intégrable intervalle ouvert X ⊆ R, et une fonction f dont la dérivée est continue au sens de
sur [x, x + d], Lipschitz sur X , la constante de Lipschitz étant M . Supposons qu’il existe ρ > 0
tel que |f ! (x)| ≥ ρ ∀x ∈ X. Supposons qu’il existe x∗ ∈ X tel que f (x∗ ) = 0.
"#
" 1 "
"
# 1
f (x + td)d dt" (f (x + td)d( dt ()
" ≤
"
"
0 0

# 1
≤ (f (x + td)( (d( dt
0

où ( · ( est une norme sur Rm×n .

(sans preuve)

Systèmes d’équations – p.21 Systèmes d’équations – p.22

Méthode de Newton — une variable Méthode de Newton — une variable

Convergence de la méthode de Newton — une variable (suite) • Fonction pas trop non-linéaire M petit
Alors, il existe η > 0 tel que, si |x0 − x∗ | < η avec x0 ∈ X , la suite (xk )k • Dérivée pas trop proche de 0 |f ! (x)| ≥ ρ ∀x ∈ X.
définie par
f (xk ) • x0 n’est pas trop éloigné de la racine |x0 − x∗ | < η , avec
xk+1 = xk − k = 0, 1, . . .
f ! (xk ) 2ρ
∗ 2
η = min(r, τ ).
est bien définie et converge vers x∗ . De plus, |xk+1 − x∗ | ≤ M
2ρ |xk − x | .
M
(p. 197) M petit ⇒ η grand

Systèmes d’équations – p.23 Systèmes d’équations – p.24

Méthode de Newton — une variable Méthode de Newton — une variable

• Convergence quadratique Convergence q -quadratique


Soit une suite (xk )k dans Rn convergeant vers x∗ . On dit que la suite con-
M

|xk+1 − x | ≤ |xk − x∗ |2 . verge q -quadratiquement vers x∗ s’il existe c ≥ 0 et !
k ∈ N tels que

(xk+1 − x∗ ( ≤ c(xk − x∗ (2 ∀k ≥ !
k.

Systèmes d’équations – p.25 Systèmes d’équations – p.26


Méthode de Newton — n variables Méthode de Newton — n variables

Modèle linéaire d’une fonction à n variables Erreur du modèle linéaire — n variables Soit f : Rn → Rm une
Soit f : Rn → Rm une fonction différentiable. Le modèle linéaire de f en x
! fonction différentiable sur un ensemble ouvert convexe X ⊂ Rn , dont la matrice
n m jacobienne est continue au sens de Lipschitz sur X , où M est la constante de
b : R → R définie par
est une fonction mx
!, x+ ∈ X ,
Lipschitz. Alors, pour tout x
mxb(x) = f (! x)T (x − x
x) + ∇f (! !) = f (!
x) + J(!
x)(x − x
!)
(x+ − x
!(2
(f (x+ ) − mxb(x+ )( ≤ M .
où ∇f (!
x) est la matrice gradient de f en x x)T la matrice
x) = ∇f (!
! et J(! 2
Jacobienne.
(p. 200)

Systèmes d’équations – p.27 Systèmes d’équations – p.28

Algorithme : Méthode de Newton — n variables Algorithme : Méthode de Newton — n variables

Objectif Initialisation
Trouver une approximation de la solution du système k=0
d’équations Itérations
f (x) = 0. (1)
1. Calculer dk+1 solution de J(xk )dk+1 = −f (xk ).
Input 2. xk+1 = xk + dk+1 .
• La fonction f : Rn → Rn ; 3. k = k + 1.
• La matrice jacobienne de la fonction J : Rn → Rn×n ; Critère d’arrêt
• Une première approximation de la solution x0 ∈ Rn ; Si (f (xk )( ≤ ε, alors x∗ = xk .
• La précision demandée ε ∈ R, ε > 0.
Output
Une approximation de la solution x∗ ∈ Rn

Systèmes d’équations – p.29 Systèmes d’équations – p.30

Méthode de Newton — n variables Méthode de Newton — n variables

k xk f (xk ) !f (xk )!
(x1 + 1)2 + x22 = 2
ex1 + x32 = 2. 0 1.00000000e+00 3.00000000e+00 3.45723768e+00

$ % $ % 1.00000000e+00 1.71828182e+00
(x1 + 1)2 + x22 − 2 2(x1 + 1) 2x2 1 1.52359213e-01 7.56629795e-01 1.15470870e+00
f (x) = x1 3
J(x) = x1 2
e + x2 − 2 e 3x2 1.19528157e+00 8.72274931e-01
2 -1.08376809e-02 5.19684443e-02 1.14042557e-01
Si x0 = (1 1)T , nous avons 1.03611116e+00 1.01513475e-01
$ % $ % $ % 3 -8.89664601e-04 1.29445248e-03 3.94232975e-03
3 3 4 2
f (x0 ) = ≈ , J(x0 ) = 1.00153531e+00 3.72375572e-03
e−1 1.7182 e 3 4 -1.37008875e-06 3.13724882e-06 8.07998556e-06
1.00000293e+00 7.44606181e-06
5 -5.53838974e-12 1.05133679e-11 2.88316980e-11
1.00000000e+00 2.68465250e-11
6 -1.53209346e-16 -2.22044604e-16 2.22044604e-16
1.00000000e+00 0.00000000e+00
Systèmes d’équations – p.31 Systèmes d’équations – p.32
Méthode de Newton — n variables Méthode de Newton — n variables

Convergence de la méthode de Newton — n variables Soit un Convergence de la méthode de Newton — n variables (suite)
ensemble convexe ouvert X ⊆ Rn , et une fonction f : X → Rn . Supposons qu’il Alors, il existe η > 0 tel que si
existe x∗ ∈ X , une boule B(x∗ , r) centrée en x∗ de rayon r , et une constante
ρ > 0 tels que f (x∗ ) = 0, B(x∗ , r) ⊂ X , J(x∗ ) est inversible, x0 ∈ B(x∗ , η), (2)

1 alors la suite (xk )k définie par


(J(x∗ )−1 ( ≤ ,
ρ
xk+1 = xk − J(xk )−1 f (xk ) k = 0, 1, . . . (3)
et J est continue au sens de Lipschitz sur B(x∗ , r), la constante de Lipschitz
étant M . est bien définie et converge vers x∗ . De plus,

(suite...) M
(xk+1 − x∗ ( ≤ (xk − x∗ (2 . (4)
ρ

(p. 204 )

Systèmes d’équations – p.33 Systèmes d’équations – p.34

Exemple

$ %
x3 − 3xy 2 − 1
f (x, y) = =0
y 3 − 3x2 y

Solutions : $ % $ % $ %
1
1 −
√2
−√12
3
0 2 − 23

En fonction du point de départ, la méthode de Newton converge vers

une racine ou l’autre

Systèmes d’équations – p.35


Méthode de Newton — n variables Quasi-Newton — une variable

Inconvénients de la méthode de Newton : f (x + s) − f (x)


f ! (x) = lim .
• Importance du point de départ. Solution : techniques de s→0 s
globalisation (seront vues dans le cadre de l’optimisation)
Si l’on prend s petit
• Nécessite le calcul de la matrice des dérivées. Solution :
méthodes quasi-Newton. f (x + s) − f (x)
as (x) = .
s

Reprenons les idées de la méthode de Newton, en utilisant cette


approximation

Systèmes d’équations – p.36 Systèmes d’équations – p.37

Quasi-Newton — une variable Quasi-Newton — une variable

Modèle linéaire sécant d’une fonction à une variable


Soit f : R → R une fonction différentiable. Le modèle linéaire sécant de f
! est une fonction mxb;s : R → R définie par
en x

mxb;s (x) x) + f (xb+s)−f


= f (! s
b)
(x
(x − x
!)
= f (!
x) + as (!x)(x − x !),

où s > 0.
b)
f (x
Itération quasi-Newton : x+ = x
!− b) .
as (x

s
x! x! + s

Systèmes d’équations – p.38 Systèmes d’équations – p.39

Quasi-Newton — une variable Algorithme : Différence finie — une variable

• Pour avoir une bonne approximation, choisir s petit. Objectif


&
Trouver une approximation de la solution de l’équation
τx! si |!
x| ≥ 1,
s= f (x) = 0.
τ sinon
Input
où τ = 10−7 .
• La fonction f : R → R;
• On obtient la méthode de Newton par différence finie • Une première approximation de la solution x0 ∈ R;
• Un paramètre τ > 0.
• La précision demandée ε ∈ R, ε > 0.

Systèmes d’équations – p.40 Systèmes d’équations – p.41


Algorithme : Différence finie — une variable Algorithme : Différence finie — une variable

Output Itérations
Une approximation de la solution x∗ ∈ R 1. &
Initialisation τ xk si |xk | ≥ 1,
k=0 s=
τ sinon

2.
sf (xk )
xk+1 = xk −
f (xk + s) − f (xk )
3. k = k + 1.
Critère d’arrêt
Si |f (xk )| ≤ ε, alors x∗ = xk .

Systèmes d’équations – p.42 Systèmes d’équations – p.43

Quasi-Newton — une variable Quasi-Newton — une variable

f (x) = x2 − 2 = 0 τ = 10−7 f (x) = x2 − 2 = 0 τ = 0.1


Diff. finie Newton k xk f (xk )
k xk f (xk ) xk f (xk ) 0 +2.00000000E+00 +2.00000000E+00
0 +2.00000000E+00 +2.00000000E+00 +2.00000000E+00 +2.00000000E+00 1 +1.52380952E+00 +3.21995465E-01
1 +1.50000003E+00 +2.50000076E-01 +1.50000000E+00 +2.50000000E-01 2 +1.42318594E+00 +2.54582228E-02
2 +1.41666667E+00 +6.94446047E-03 +1.41666667E+00 +6.94444444E-03 3 +1.41466775E+00 +1.28485582E-03
3 +1.41421569E+00 +6.00768206E-06 +1.41421569E+00 +6.00730488E-06 ..
.
4 +1.41421356E+00 +4.81081841E-12 +1.41421356E+00 +4.51061410E-12
9 +1.41421356E+00 +1.50284230E-11
5 +1.41421356E+00 +4.44089210E-16 +1.41421356E+00 +4.44089210E-16
10 +1.41421356E+00 +7.15427717E-13
11 +1.41421356E+00 +3.41948692E-14
12 +1.41421356E+00 +1.33226763E-15
13 +1.41421356E+00 +4.44089210E-16

Systèmes d’équations – p.44 Systèmes d’équations – p.45

Quasi-Newton — une variable Quasi-Newton — une variable

• On peut se permettre une valeur de s relativement grande



• Il y a perte d’efficacité
• Idée : économiser un calcul de f (xk + s) en choisissant

• s = xk−1 − xk

• Ainsi,
x1 x1 + s x0 x0 + s
f (xk−1 ) − f (xk )
as (xk ) = .
xk−1 − xk

× • On obtient la méthode de Newton sécante

Systèmes d’équations – p.46 Systèmes d’équations – p.47


Algorithme : Méthode sécante — une variable Algorithme : Méthode sécante — une variable

Objectif Output
Trouver une approximation de la solution de l’équation Une approximation de la solution x∗ ∈ R
Initialisation
f (x) = 0. k = 0.
Input
• La fonction f : R → R;
• Une première approximation de la solution x0 ∈ R;
• Une première approximation de la dérivée a0 (par défaut:
a0 = 1).
• La précision demandée ε ∈ R, ε > 0.

Systèmes d’équations – p.48 Systèmes d’équations – p.49

Algorithme : Méthode sécante — une variable Quasi-Newton — une variable

Itérations
f (x) = x2 − 2 = 0 a0 = 1
1.
f (xk ) k xk f (xk ) as (xk )
xk+1 = xk −
ak 0 +2.00000000E+00 +2.00000000E+00 +1.00000000E+00
1 +0.00000000E+00 -2.00000000E+00 +2.00000000E+00
2.
f (xk ) − f (xk+1 ) 2 +1.00000000E+00 -1.00000000E+00 +1.00000000E+00
ak+1 = 3 +2.00000000E+00 +2.00000000E+00 +3.00000000E+00
xk − xk+1
4 +1.33333333E+00 -2.22222222E-01 +3.33333333E+00
3. k = k + 1. 5 +1.40000000E+00 -4.00000000E-02 +2.73333333E+00
Critère d’arrêt 6 +1.41463415E+00 +1.18976800E-03 +2.81463415E+00

Si |f (xk )| ≤ ε, alors x = xk . 7 +1.41421144E+00 -6.00728684E-06 +2.82884558E+00
8 +1.41421356E+00 -8.93145558E-10 +2.82842500E+00
9 +1.41421356E+00 +8.88178420E-16 +2.82842706E+00

Systèmes d’équations – p.50 Systèmes d’équations – p.51

Quasi-Newton — une variable Quasi-Newton — nvariables

Modèle linéaire sécant d’une fonction à n variables


Soit f : Rn → Rm une fonction différentiable, et A ∈ Rm×n . Le modèle
! est une fonction mxb;A : Rn → Rm définie par
linéaire sécant de f en x

mxb;A (x) = f (!
x) + A(x − x
!).

x2 x3 x1 = x4

Systèmes d’équations – p.52 Systèmes d’équations – p.53


Algorithme : Différence finie — n variables Algorithme : Différence finie — n variables

Objectif Output
Trouver une approximation de la solution du système Une approximation de la solution x∗ ∈ Rn
d’équations Initialisation
f (x) = 0. (5) k=0
Input
• La fonction f : Rn → Rn ;
• Une première approximation de la solution x0 ∈ Rn ;
• Un paramètre τ > 0;
• La précision demandée ε ∈ R, ε > 0.

Systèmes d’équations – p.54 Systèmes d’équations – p.55

Algorithme : Différence finie — n variables Algorithme : Différence finie — n variables

Itérations Itérations(suite)
• Former le vecteur s ∈ Rn en posant • Calculer dk+1 solution de Ak dk+1 = −f (xk ),
 • xk+1 = xk + dk+1 ,
 τ (xk )j
 si |(xk )j | ≥ 1, • k = k + 1.
sj = τ si 0 ≤ (xk )j ≤ 1 j = 1, . . . , n, Critère d’arrêt

 −τ si − 1 ≤ (xk )j ≤ 0 Si (f (xk )( ≤ ε, alors x∗ = xk .

• Former la matrice Ak dont la colonne j est

f (xk + sj ej ) − f (xk )
(Ak )j = j = 1, . . . , n,
sj

Systèmes d’équations – p.56 Systèmes d’équations – p.57

Quasi-Newton — n variables Quasi-Newton — n variables

• Désavantage : nécessite n + 1 évaluations de la fonction par Equation sécante


itération. Un modèle linéaire vérifie l’équation sécante en xk et xk−1 si la matrice A le
• Préférable d’utiliser une méthode sécante, c’est-à-dire utiliser définissant est telle que
un modèle qui interpole la fonction en xk et xk−1 .
A(xk−1 − xk ) = f (xk−1 ) − f (xk ).
• Par définition du modèle linéaire, on a toujours
En posant
mxk ;Ak (xk ) = f (xk )
dk−1 = xk − xk−1
• Il faut donc imposer yk−1 = f (xk ) − f (xk−1 ),

mxk ;Ak (xk−1 ) = f (xk ) + Ak (xk−1 − xk ) = f (xk−1 ). elle s’écrit


Adk−1 = yk−1 .

Systèmes d’équations – p.58 Systèmes d’équations – p.59


Quasi-Newton — n variables Quasi-Newton — n variables

• L’équation sécante est un système de n équations à n2 Lemme 1 Soient mxk ;Ak (x) et mxk−1 ;Ak−1 (x) les modèles linéaires sécants
inconnues. d’une fonction f : Rn → Rn en xk et xk−1 , respectivement. Alors,
• Il y a un nombre infini de solutions.
mxk ;Ak (x) − mxk−1 ;Ak−1 (x) = (Ak − Ak−1 )(x − xk−1 ).
• Idée de Broyden : privilégier, parmi ce nombre infini de
modèles linéaires, celui qui est le plus proche du modèle établi (p. 219)
lors de l’itération précédente.

Systèmes d’équations – p.60 Systèmes d’équations – p.61

Quasi-Newton — n variables Quasi-Newton — n variables

Mise à jour de Broyden Soit mxk−1 ;Ak−1 (x) le modèle linéaire sécant Optimalité de Broyden Soit Ak−1 ∈ Rn×n , dk−1 et yk−1 ∈ Rn ,
d’une fonction f : Rn → Rn en xk−1 , et soit xk ∈ Rn , xk .= xk−1 . Le modèle dk−1 .= 0. Soit S = {A|Adk−1 = yk−1 } l’ensemble des matrices vérifiant
linéaire sécant de f en xk qui vérifie l’équation sécante, et qui est le plus l’équation sécante. Alors
semblable au modèle mxk−1 ;Ak−1 (x) est
(yk−1 − Ak−1 dk−1 )dTk−1
Ak = Ak−1 +
mxk ;Ak (x) = f (xk ) + Ak (x − xk ), dTk−1 dk−1

avec est la solution de minA∈S (A − Ak−1 (2 et l’unique solution de


(yk−1 − Ak−1 dk−1 )dTk−1 minA∈S (A − Ak−1 (F .
Ak = Ak−1 + .
dTk−1 dk−1
(p. 221)
(p. 220 )

Systèmes d’équations – p.62 Systèmes d’équations – p.63

Rappels Rappels

Norme de Frobenius Norme induite


Soit A ∈ Rm×n . La norme de Frobenius de A est Soit ( · ( une norme vectorielle sur Rn . La norme matricielle
+ ( · (m×n sur Rm×n définie par
,m . n
,.
(A(F = - a2ij (Ax(
i=1 j=1
(A(m×n = max
x∈Rn ,x(=0 (x(

est appelée norme induite par la norme vectorielle.

Systèmes d’équations – p.64 Systèmes d’équations – p.65


Rappels Algorithme : Méthode sécante — n variables

Normes matricielles Les normes matricielles ( · (2 et ( · (F vérifient les Objectif


propriétés suivantes : Trouver une approximation de la solution du système
1. Soient A, B ∈ Rn×n . Alors (AB(F ≤ (A(F (B(F
d’équations
f (x) = 0.
2. Soient A, B ∈ Rn×n . Alors (AB(2 ≤ (A(2 (B(2
Input
3. Soient A, B ∈ Rn×n . Alors (AB(F ≤ min ((A(2 (B(F , (A(F (B(2 )
n×n n • La fonction f : Rn → Rn ;
4. Soient A ∈ R et x ∈ R . Alors (Ax(2 ≤ (A(F (x(2 .
• Une première approximation de la solution x0 ∈ Rn ;
5. Soient x, y ∈ Rn . Alors (xy T (F = (xy T (2 = (x(2 (y(2 .
• Une première approximation de la matrice jacobienne A0
(sans preuve) (par défaut A0 = I );
• La précision demandée ε ∈ R, ε > 0.

Systèmes d’équations – p.66 Systèmes d’équations – p.67

Algorithme : Méthode sécante — n variables Algorithme : Méthode sécante — n variables

Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Mise à jour de Broyden :
Initialisation
1. x1 = x0 − A−1 (yk−1 − Ak−1 dk−1 )dTk−1
0 f (x0 ) Ak = Ak−1 +
2. d0 = x0 − x1 , y0 = f (x0 ) − f (x1 ) dTk−1 dk−1
3. k = 1
2. Calculer dk solution de Ak dk = −f (xk ),
3. Calculer yk = f (xk−1 ) − f (xk )
4. xk+1 = xk + dk , k = k + 1.

Systèmes d’équations – p.68 Systèmes d’équations – p.69

Algorithme : Méthode sécante — n variables Méthode sécante — n variables

Critère d’arrêt
Si (f (xk )( ≤ ε, alors x∗ = xk . (x1 + 1)2 + x22 = 2
ex1 + x32 = 2.

k xk f (xk ) !f (xk )!
0 1.00000000e+00 3.00000000e+00 3.45723768e+00
1.00000000e+00 1.71828182e+00
1 -2.00000000e+00 -4.84071214e-01 2.28706231e+00
-7.18281828e-01 -2.23524698e+00
2 -1.66450025e+00 -8.68008706e-01 1.51117836e+00
8.30921595e-01 -1.23702099e+00
3 -2.42562564e-01 2.72598221e+00 7.74156513e+00
2.03771213e+00 7.24574714e+00
4 -1.24155582e+00 -1.34676047e+00 1.83898030e+00
7.71291329e-01 -1.25223192e+00
..
.
Systèmes d’équations – p.70 Systèmes d’équations – p.71
Méthode sécante — n variables Méthode sécante — n variables

k xk f (xk ) !f (xk )! k J(xk ) Ak


15 -1.71374738e+00 -1.15696833e-07 1.85422885e-07 0 4.00000000e+00 2.00000000e+00 1.00000000e+00 0.00000000e+00
1.22088678e+00 -1.44899582e-07 2.71828182e+00 3.00000000e+00 0.00000000e+00 1.00000000e+00
16 -1.71374741e+00 -2.43091768e-10 3.89249065e-10 1 -2.00000000e+00 -1.43656365e+00 1.12149881e+00 6.95897342e-02
1.22088682e+00 -3.04008596e-10 1.35335283e-01 1.54778635e+00 5.61032855e-01 1.32133752e+00
17 -1.71374741e+00 8.17124146e-14 1.30803685e-13 2 -1.32900051e+00 1.66184319e+00 1.00559588e+00 -4.65603572e-01
1.22088682e+00 1.02140518e-13 1.89285227e-01 2.07129209e+00 3.95856681e-01 5.58620104e-01
18 -1.71374741e+00 -2.22044604e-16 2.22044604e-16 3 1.51487487e+00 4.07542427e+00 2.12000014e+00 4.80185068e-01
1.22088682e+00 0.00000000e+00 7.84614657e-01 1.24568122e+01 3.35797853e+00 3.07255629e+00
4 -4.83111643e-01 1.54258265e+00 2.63710364e+00 1.13571564e+00
2.88934337e-01 1.78467094e+00 3.83878676e+00 3.68207545e+00
.
..

Systèmes d’équations – p.72 Systèmes d’équations – p.73

Méthode sécante — n variables Plan

k J(xk ) Ak • Problèmes quadratiques


17 -1.42749482e+00 2.44177364e+00 -1.06423011e+00 2.70386672e+00 • Méthode de Newton pure
1.80189282e-01 4.47169389e+00 6.34731480e-01 4.79964153e+00 • Méthodes de descente avec recherche linéaire
18 -1.42749482e+00 2.44177364e+00 -1.06870996e+00 2.71006685e+00
• Méthodes de région de confiance
1.80189282e-01 4.47169389e+00 6.34731480e-01 4.79964153e+00
• Méthodes quasi-Newton

Systèmes d’équations – p.74 Gradients conjugués – p.1

Problèmes quadratiques Algorithme : Résolution directe

1 T Objectif
min f (x) = x Qx + bT x+c Trouver le minimum global de minx∈Rn f (x) = 12 xT Qx + bT x
x∈Rn 2
Input
• Q symétrique définie positive
• La matrice Q symétrique définie positive.
• Minimum global unique
• Le vecteur b.
• Comme ∇f (x) = Qx + b, nous avons
Output
x∗ = −Q−1 b La solution x∗ ∈ Rn .

• Algorithme direct: résoudre Qx = −b


Equivalent à la résolution d’un système d’équations linéaires

Gradients conjugués – p.2 Gradients conjugués – p.3


Algorithme : Résolution directe Méthode des gradients conjugués

Résolution • Méthode itérative


1. Calculer la factorisation de Cholesky Q = LLT . • Appropriée pour les problèmes de grande taille
2. Calculer y ∗ solution du système triangulaire inférieur
Ly = −b. Directions conjuguées
3. Calculer x∗ solution du système triangulaire supérieur Soit une matrice Q ∈ Rn×n , définie positive. Les vecteurs non nuls de Rn
LT x = y ∗ . d1 ,. . . ,dk sont dits Q-conjugués si

dTi Qdj = 0 ∀i, j tels que i %= j.

Si Q = I , alors conjugués ⇐⇒ orthogonaux

Gradients conjugués – p.4 Gradients conjugués – p.5

Directions conjuguées Directions conjuguées

Indépendance des directions conjuguées Soit d1 ,. . . , dk un Idée de la méthode :


ensemble de directions non nulles et Q-conjuguées. Alors les vecteurs d1 ,. . . , dk • Considérons n directions conjuguées d1 , . . . , dn
sont linéairement indépendants.
• A chaque itération k = 1, . . . , n
(p. 231)
Corollaire immédiat : il y a toujours au maximum n directions Q-conjuguées xk+1 = xk + αk dk

avec
αk = argminα f (xk + αdk ).

Gradients conjugués – p.6 Gradients conjugués – p.7

Directions conjuguées Directions conjuguées

Lemme : Soient d1 , . . . , dn un ensemble de directions Q-conjuguées dans Rn . Lemme :


Soient x1 , . . . , xn+1 les itérés générés par une méthode de directions • ∇f (xn+1 ) = 0
conjuguées. Alors, pour tout k = 1, . . . , n,
• Pour tout k tel que ∇f (xk ) = 0, alors
k (Qxk +b)
dT k ∇f (xk )
dT
• Le pas αk est défini par αk = − dT
=−
k Qdk dTk Qdk
∇f (xi ) = 0 i = k, . . . , n + 1.
• ∇f (xk ) est orthogonal à d1 , . . . , dk−1 , c’est-à-dire
(p. 231)
∇f (xk )T di = 0, i = 1, . . . , k − 1.

()

Gradients conjugués – p.8 Gradients conjugués – p.9


Directions conjuguées Directions conjuguées

Méthode des directions conjuguées Soient d1 ,. . . ,d" , " ≤ n, un Méthode des directions conjuguées (suite)
ensemble de directions Q-conjuguées, soit x1 ∈ Rn et soit
"
!
"
! x"+1 = x1 + αk dk
M" = x1 + )d1 , . . . , d" * = {x|x = x1 + λk d k } k=1
k=1
avec
le sous-espace affine engendré par les directions d1 ,. . . ,d" . Alors, le minimum dTk (Qxk + b)
αk = min f (xk + αdk ) = −
global du problème α dTk Qdk
1 T
min f (x) = x Qx + bT x (p. 235)
x∈M! 2
est...

(suite...)

Gradients conjugués – p.10 Gradients conjugués – p.11

Directions conjuguées Générer les directions conjuguées

Convergence de la méthode des directions conjuguées Soit • Idée : généralisation de Gram-Schmidt


Q ∈ Rn×n définie positive. Soient d1 ,. . . ,dn , un ensemble de directions • Soient " vecteurs ξ1 , . . . ξ" , linéairement indépendants
Q-conjuguées. Soit x1 ∈ Rn arbitraire. L’algorithme basé sur la récurrence
xk+1 = xk + αk dk avec • Générer " vecteurs d1 , . . . , d" , Q-conjugués, tels que, pour tout i
=1, . . . , ",
dTk (Qxk + b) )ξ1 , . . . ξi * = )d1 , . . . , di *.
αk = −
dTk Qdk • On choisit d1 = ξ1 et
identifie le minimum global du problème i−1
!
di = ξi + αki dk .
1 T
minn f (x) = x Qx + bT x k=1
x∈R 2
• Calcul de αki (p. 233)
en au plus n itérations.

(corollaire)

Gradients conjugués – p.12 Gradients conjugués – p.13

Gradients conjugués Gradients conjugués

Lemme : Considérons la méthode de directions conjuguées où chaque direction


ξi = −∇f (xi ) = −Qxi − b
di est générée par la méthode de Gram-Schmidt appliquée aux directions
On peut appliquer Gram-Schmidt, car les ∇f (xi ), i = 1, . . . , n sont −∇f (x1 ), . . . , −∇f (xi ), c’est-à-dire
orthogonaux, et donc linéairement indépendants.
i−1 T
! d Q∇f (xi )
k
di = −∇f (xi ) + dk .
k=1
dTk Qdk

Alors,
)∇f (x1 ), . . . , ∇f (xi )* = )d1 , . . . , di *
et
∇f (xi )T ∇f (xk ) = 0 k = 1, . . . , i − 1.

(p. 236)

Gradients conjugués – p.14 Gradients conjugués – p.15


Gradients conjugués Algorithme : Gradients conjugués

Lemme : Considérons la méthode de directions conjuguées où chaque direction Objectif


di est générée par la méthode de Gram-Schmidt appliquée aux directions Trouver le minimum global de minx∈Rn f (x) = 12 xT Qx + bT x.
−∇f (x1 ), . . . , −∇f (xi ). Si ∇f (xi ) %= 0, alors Input

di = −∇f (xi ) + βi di−1 • Une première approximation x1 de la solution.


• La matrice Q symétrique définie positive.
avec • Le vecteur b.
∇f (xi )T ∇f (xi )
βi = Output
∇f (xi−1 )T ∇f (xi−1 )
La solution x∗ ∈ Rn .
(p. 237)

Gradients conjugués – p.16 Gradients conjugués – p.17

Algorithme : Gradients conjugués Algorithme : Gradients conjugués

Initialisation Itérations (suite)


k = 1, d1 = −Qx1 − b.
• Calculer
Itérations
∇f (xk+1 )T ∇f (xk+1 ) (Qxk+1 + b)T (Qxk+1 + b)
• Calculer le pas βk+1 = =
∇f (xk )T ∇f (xk ) (Qxk + b)T (Qxk + b)
dT (Qxk + b)
αk = − k T
dk Qdk • Calculer la nouvelle direction
• Calculer l’itéré suivant xk+1 = xk + αk dk
dk+1 = −Qxk+1 − b + βk+1 dk

• k =k+1
Critère d’arrêt
Si +∇f (xk )+ = 0 ou k = n + 1, alors x∗ = xk .

Gradients conjugués – p.18 Gradients conjugués – p.19

Gradients conjugués

k xk ∇f (xk ) dk αk βk
Exemple : 1 +5.00000e+00 +1.60000e+01 -1.60000e+01 +1.20766e-01
    +5.00000e+00 +2.80000e+01 -2.80000e+01
1 1 1 1 −4 +5.00000e+00 +3.60000e+01 -3.60000e+01
 1 +5.00000e+00 +4.00000e+01 -4.00000e+01
2 2 2   −7 
2 +3.06775e+00 +1.50810e+00 -1.52579e+00 +1.02953e+00 +1.10547e-03
Q= b=
   
 1 2 3 3 +1.61856e+00 +9.48454e-01 -9.79407e-01
 
  −9 
+6.52430e-01 -2.29750e-01 +1.89953e-01
1 2 3 4 −10 +1.69367e-01 -1.06038e+00 +1.01616e+00
3 +1.49690e+00 +1.70656e-01 -1.97676e-01 +2.37172e+00 +1.77089e-02
+6.10224e-01 -1.55585e-01 +1.38241e-01
+8.47993e-01 -9.20500e-02 +9.54138e-02
+1.21554e+00 +1.23492e-01 -1.05497e-01
4 +1.02806e+00 +5.77796e-03 -8.27569e-03 +3.39118e+00 +1.26355e-02
+9.38093e-01 -1.65085e-02 +1.82552e-02
+1.07429e+00 +2.31118e-02 -2.19062e-02
+9.65332e-01 -1.15559e-02 +1.02229e-02
5 +1.00000e+00 -1.66356e-12
+1.00000e+00 -3.12639e-12
+1.00000e+00 -4.21174e-12
+1.00000e+00 -4.78906e-12

Gradients conjugués – p.20


Newton locale Algorithme : Newton locale

• Conditions nécessaires d’optimalité Objectif


Trouver une approximation de la solution du système
∇f (x) = 0
∇f (x) = 0.
• Il s’agit d’un système d’équations non linéaires
Input
• Appliquons la méthode de Newton
• Le gradient de la fonction ∇f : Rn → Rn ;
• Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.

Newton locale – p.1 Newton locale – p.2

Algorithme : Newton locale Algorithme : Newton locale

Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Calculer dk+1 solution de ∇2 f (xk )dk+1 = −∇f (xk ),
Initialisation 2. xk+1 = xk + dk+1 ,
k=0
3. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .

Newton locale – p.3 Newton locale – p.4

Newton locale Newton locale

Mêmes propriétés que pour les équations 1 2


min f (x1 , x2 ) = x + x1 cos x2 ,
1. convergence q -quadratique dans les conditions favorables 2 1
2. divergence possible si le point de départ est trop éloigné de la
solution,
3. méthode non définie si ∇2 f (xk ) n’est pas inversible.
Inconvénient supplémentaire :
incapacité à distinguer minimum, maximum et point de selle

Point de départ x0 = (1 1)T . Convergence rapide.

Newton locale – p.5 Newton locale – p.6


Newton locale Newton locale

Solution: • Méthode rapide mais peu fiable


! " ! " ! " • Interprétation géométrique
0 0 1 −1
x∗ = π ∇f (x∗ ) = ∇2 f (x∗ ) = • Equations : modèle linéaire à chaque itération
2 0 −1 0
• Optimisation : modèle quadratique

x2
x2

x1 x1

Newton locale – p.7 Newton locale – p.8

Newton locale Newton locale

Modèle quadratique d’une fonction


Soit f : Rn → R une fonction deux fois différentiable. Le modèle quadratique
1
min mxb(x) = f (# #)T ∇f (#
x) + (x − x #)T ∇2 f (#
x) + (x − x x)(x − x
#)
de f en x# est une fonction mxb : Rn → R définie par x 2

1 Condition suffisante d’optimalité (premier ordre)


mxb(x) = f (# #)T ∇f (#
x) + (x − x #)T ∇2 f (#
x) + (x − x x)(x − x
#),
2
∇mxb(# x) + ∇2 f (#
x + d) = ∇f (# x)d = 0
où ∇f (# # et ∇2 f (#
x) est le gradient de f en x x) est la matrice hessienne de
#. En posant d = x − x
f en x #, on obtient la formulation équivalente: c’est-à-dire
d = −∇2 f (#
x)−1 ∇f (#
x),
1
mxb(#
x + d) = f (# x) + dT ∇2 f (#
x) + d ∇f (# T
x)d. ou encore
2
# − ∇2 f (#
x=x x)−1 ∇f (#
x),

Newton locale – p.9 Newton locale – p.10

Newton locale Algorithme : Modèle quadratique

Condition suffisante d’optimalité (second ordre) Objectif


∇2 f (#
x) définie positive Trouver une approximation de la solution du système

Lorsque la matrice hessienne de la fonction est définie positive en ∇f (x) = 0. (1)


xk , une itération de la méthode de Newton locale revient à
minimiser le modèle quadratique de la fonction en xk , et ainsi Input
définir • Le gradient de la fonction ∇f : Rn → Rn ;
xk+1 = argminx∈Rn mxk (x). • Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.

Newton locale – p.11 Newton locale – p.12


Algorithme : Modèle quadratique Algorithme : Modèle quadratique

Output Itérations
Une approximation de la solution x∗ ∈ Rn 1. Construire le modèle quadratique
Initialisation
k=0 1
mxb(#
x + d) = f (# x) + dT ∇2 f (#
x) + dT ∇f (# x)d,
2

2. Calculer
dk+1 = argmind mxb(#
x + d)
3. xk+1 = xk + dk+1 ,
4. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .

Newton locale – p.13 Newton locale – p.14

Algorithme : Modèle quadratique Modèle quadratique

Attention : si ∇2 f (xk ) n’est pas définie positive, le modèle n’est par f (x) = −x4 + 12x3 − 47x2 + 60x.
borné inférieurement
f(x1, x2) mx0 (x1, x2) xk = 3
m3 (x) = 7x2 − 48x + 81

x2 x2
f(xk)
• f(xk+1) f(xk)

x1 x1 •
f(xk+1)
Dans ce cas, l’algorithme ne peut être appliqué. •

Newton locale – p.15 Newton locale – p.16

Modèle quadratique Modèle quadratique

f (x) = −x4 + 12x3 − 47x2 + 60x. f (x) = −x4 + 12x3 − 47x2 + 60x.
xk = 4 xk = 5
m4 (x) = x2 − 4x m5 (x) = −17x2 + 160x − 375.

f(xk+1) f(x•k+1)

f(xk)

f(xk+1)

f(xk+1)
f(xk) •
• •
f(xk)
•k)
f(x

Newton locale – p.17 Newton locale – p.18


Modèle quadratique Modèle quadratique

Point de Newton Point de Cauchy


Soit f : Rn → R une fonction deux fois différentiable, et soit xk ∈ Rn . Le Soit f : Rn → R une fonction deux fois différentiable, et soit xk ∈ Rn . Le
point de Newton de f en xk est le point point de Cauchy de f en xk est le point xC qui minimise le modèle quadra-
tique de f dans la direction de la plus forte descente, c’est-à-dire
xN = xk + dN
xC = xk − αC ∇f (xk )
où dN est solution du système d’équations

∇2 f (xk )dN = −∇f (xk ). αC = argminα∈R+ mxk (xk − α∇f (xk ))
0

Ce système est souvent appelé équations de Newton. ou encore


∇f (xk )T ∇f (xk )
αC = .
∇f (xk )T ∇2 f (xk )∇f (xk )

Newton locale – p.19 Newton locale – p.20

Méthode de descente Plus forte pente

Idée • Choix intuitif de la direction : dk = −∇f (xk )


1. Trouver une direction de descente dk , c’est-à-dire telle que • Choix du pas
∇f (xk )T dk < 0.
αk = argminα∈R+ f (xk + αdk ).
2. Trouver un pas αk tel que f (xk + αk dk ) < f (xk ). 0

3. Calculer xk+1 = xk + αk dk . Exemple :


1 2 9 2
f (x) = x + x
2 1 2 2

Méthodes de descente – p.1 Méthodes de descente – p.2

Plus forte pente


k (xk )1 (xk )2 ∇f (xk )1 ∇f (xk )2 αk f (xk )
0 +9.000000E+00 +1.000000E+00 +9.000000E+00 +9.000000E+00 0.2 +4.500000E+01
1 +7.200000E+00 -8.000000E-01 +7.200000E+00 -7.200000E+00 0.2 +2.880000E+01
2 +5.760000E+00 +6.400000E-01 +5.760000E+00 +5.760000E+00 0.2 +1.843200E+01
3 +4.608000E+00 -5.120000E-01 +4.608000E+00 -4.608000E+00 0.2 +1.179648E+01
4 +3.686400E+00 +4.096000E-01 +3.686400E+00 +3.686400E+00 0.2 +7.549747E+00
x2 5 +2.949120E+00 -3.276800E-01 +2.949120E+00 -2.949120E+00 0.2 +4.831838E+00
.
.
.
20 +1.037629E-01 +1.152922E-02 +1.037629E-01 +1.037629E-01 0.2 +5.981526E-03
21 +8.301035E-02 -9.223372E-03 +8.301035E-02 -8.301035E-02 0.2 +3.828177E-03
22 +6.640828E-02 +7.378698E-03 +6.640828E-02 +6.640828E-02 0.2 +2.450033E-03
x1 23 +5.312662E-02 -5.902958E-03 +5.312662E-02 -5.312662E-02 0.2 +1.568021E-03
24 +4.250130E-02 +4.722366E-03 +4.250130E-02 +4.250130E-02 0.2 +1.003534E-03
25 +3.400104E-02 -3.777893E-03 +3.400104E-02 -3.400104E-02 0.2 +6.422615E-04
.
.
.
50 +1.284523E-04 +1.427248E-05 +1.284523E-04 +1.284523E-04 0.2 +9.166662E-09
x2 51 +1.027618E-04 -1.141798E-05 +1.027618E-04 -1.027618E-04 0.2 +5.866664E-09
52 +8.220947E-05 +9.134385E-06 +8.220947E-05 +8.220947E-05 0.2 +3.754665E-09
53 +6.576757E-05 -7.307508E-06 +6.576757E-05 -6.576757E-05 0.2 +2.402985E-09
54 +5.261406E-05 +5.846007E-06 +5.261406E-05 +5.261406E-05 0.2 +1.537911E-09
55 +4.209125E-05 -4.676805E-06 +4.209125E-05 -4.209125E-05 0.2 +9.842628E-10

x1

Méthodes de descente – p.3


Plus forte pente préconditionnée Plus forte pente préconditionnée

1 2 9 2 1 2 1 2
f (x) = x + x f˜(x# ) = x#1 + x#2 .
2 1 2 2 2 2
Changement de variable : Direction : ! "
−x#1
x#1 = x1 d = −∇f˜(x# ) = .
−x#2
x#2 = 3x2
Pas :
et argminα f (x# − α∇f (x# )) =
1 2 9 1 1 2 1 2 minα 21 (x#1 − αx#1 )2 + 21 (x#2 − αx#2 )2 ,
f˜(x# ) = x#1 + ( x#2 )2 = x#1 + x#2 .
2 2 3 2 2

Méthodes de descente – p.4 Méthodes de descente – p.5

Plus forte pente préconditionnée Plus forte pente préconditionnée

Solution : α = 1 ! " ! " • Après conditionnement, la méthode de la plus forte pente


x#1 −x#1 converge en une seule itération sur cet exemple
+ = 0,
x#2 −x#2 • D’une manière générale, un pré-conditionnement peut
significativement accélérer la méthode
• Analysons l’impact d’un changement de variables sur la
méthode.

(p. 261)

Méthodes de descente – p.6 Méthodes de descente – p.7

Algorithme : Plus forte pente préconditionnée Algorithme : Plus forte pente préconditionnée

Objectif Output
Trouver une approximation de la solution du problème Une approximation de la solution x∗ ∈ R
Initialisation
min f (x). (1)
k=0
x∈Rn

Itérations
Input
1. dk = −Dk ∇f (xk ),
• La fonction f : Rn → R différentiable;
2. Déterminer αk , par exemple αk = argminα≥0 f (xk + αdk ),
• Le gradient de la fonction ∇f : Rn → Rn ;
• Une famille de préconditionneurs (Dk )k telle que Dk est 3. xk+1 = xk + αk dk ,
définie positive pour tout k; 4. k = k + 1.
• x0 ∈ Rn ; Critère d’arrêt Si %∇f (xk )% ≤ ε, alors x∗ = xk .
• La précision demandée ε ∈ R, ε > 0.

Méthodes de descente – p.8 Méthodes de descente – p.9


Plus forte pente préconditionnée Choix du pas

Il reste à préciser • Résolution de


• comment choisir Dk
αk = argminα∈R+ f (xk + αdk ).
• comment choisir αk 0

et il reste à s’assurer que cela fonctionne... trop coûteuse


• Travail inutile si la direction n’est pas bonne
• Prenons n’importe quel α tel que

f (xk + αdk ) < f (xk )

• Malheureusement, cela ne suffit pas...

Méthodes de descente – p.10 Méthodes de descente – p.11

Choix du pas Choix du pas

• Exemple : f (x) = x2 Nous avons que


• Appliquons l’algorithme avec x0 = 2, et xk = (−1)k (1 + 2−k )
et
Dk = 1/2|xk | = sgn(xk )/2xk |xk+1 | < |xk |.
αk = 2 + 3(2−k−1 ).
(p. 264)
• Dk est bien (défini) positif pour tout k . Dès lors
f (xk+1 ) < f (xk )
• ∇f (xk ) = 2xk ⇒ dk = −Dk ∇f (xk ) = −sgn(xk )
• La méthode s’écrit Cependant, la suite xk a deux points d’accumulation: -1 et 1
#
xk − 2 − 3(2−k−1 ) si xk ≥ 0,
xk+1 =
xk + 2 + 3(2−k−1 ) si xk < 0,

Méthodes de descente – p.12 Méthodes de descente – p.13

Choix du pas

k xk dk αk
0 +2.000000e+00 -1 +3.500000e+00
1 -1.500000e+00 1 +2.750000e+00
2 +1.250000e+00 -1 +2.375000e+00
3 -1.125000e+00 1 +2.187500e+00
4 +1.062500e+00 -1 +2.093750e+00
5 -1.031250e+00 1 +2.046875e+00
..
f(x)

.
46 +1.000000e+00 -1 +2.000000e+00
47 -1.000000e+00 1 +2.000000e+00
48 +1.000000e+00 -1 +2.000000e+00
49 -1.000000e+00 1 +2.000000e+00
50 +1.000000e+00 -1 +2.000000e+00

x
Méthodes de descente – p.14
Choix du pas Diminution suffisante

Pourquoi cela ne fonctionne pas ? Soit γ > 0. On veut


• Origine théorique : théorème de Taylor
f (xk ) − f (xk + αk dk ) ≥ αk γ,
• Théorie locale
• Ici, pas trop longs ou encore
f (xk + αk dk ) ≤ f (xk ) − αk γ.
• Le fait que f (xk+1 ) < f (xk ) est du à la chance et non au fait
que dT ∇f (xk ) < 0
• Les pas sont trop longs par rapport au bénéfice obtenu

Notion de diminution suffisante

Méthodes de descente – p.15 Méthodes de descente – p.16

Diminution suffisante Diminution suffisante

Exemple : Exemple :
1 2 9 2 1 2 9 2
f (x) = x + x f (x) = x + x
2 1 2 2 2 1 2 2
! " ! " ! " ! "
−10 −2
10 √
181 10 √
5
x0 = d= γ=6 x0 = d= γ=6
1 √−9 1 √1
181 5

f(xk + αdk) f(xk + αdk)


f(xk) − αγ f(xk) − αγ

α α

Méthodes de descente – p.17 Méthodes de descente – p.18

Diminution suffisante Rappel

• γ ne peut pas être constant Direction de descente Soit f : Rn −→ R une fonction différentiable. Soient
• Il doit dépendre de la direction x ∈ Rn tel que ∇f (x) )= 0 et d ∈ Rn . Si d est une direction de descente, alors il
existe η > 0 tel que
• Utilisons la théorie
f (x + αd) < f (x) ∀0 < α ≤ η.

De plus, pour tout β < 1, il existe η


$ > 0 tel que

f (x + αd) < f (x) + αβ∇f (x)T d,

pour tout 0 < α ≤ η


$.
(voir début du cours et p. 36)

Méthodes de descente – p.19 Méthodes de descente – p.20


Diminution suffisante Diminution suffisante

Choisissons Diminution suffisante : première condition de Wolfe


γ = −β∇f (xk )T dk Soient f : Rn → R une fonction différentiable, un point xk ∈ Rn , une
direction (de descente) dk ∈ Rn telle que ∇f (xk )T dk < 0 et un pas αk ∈
avec 0 < β < 1. R, αk > 0. On dira que la fonction f diminue suffisamment en xk + αk dk
par rapport à xk si

f (xk + αk dk ) ≤ f (xk ) + αk β1 ∇f (xk )T dk ,

avec 0 < β1 < 1. Cette condition s’appelle la première condition de Wolfe

Méthodes de descente – p.21 Méthodes de descente – p.22

Diminution suffisante β1 = 0.5 Diminution suffisante β1 = 0.1

f(xk + αdk) f(xk + αdk)


f(xk) − αγ f(xk) − αγ
f(xk) + αβ1∇f(xk)T dk f(xk) + αβ1∇f(xk)T dk

α α

f(xk + αdk)
f(xk) − αγ
f(xk) + αβ1∇f(xk)T dk
f(xk + αdk)

f(xk) + αβ1∇f(xk)T dk
f(xk) + α∇f(xk)T dk

α α

Méthodes de descente – p.23 Méthodes de descente – p.24

Choix du pas Choix du pas

• Exemple : f (x) = x2 Nous avons que


• Appliquons l’algorithme avec x0 = 2, et xk = 1 + 2−k .
(p. 269)
Dk = 1/2xk Dès lors
αk = 2−k−1 . f (xk+1 ) < f (xk )

• Dk est bien (défini) positif pour tout k . Cependant,


lim xk = 1 )= 0
• ∇f (xk ) = 2xk ⇒ dk = −Dk ∇f (xk ) = −1 k→∞

• La méthode s’écrit

xk+1 = xk − 2−k−1

Méthodes de descente – p.25 Méthodes de descente – p.26


Choix du pas

k xk dk αk Pourquoi cela ne fonctionne pas ?


0 +2.000000e+00 -1 +5.000000e-01
1 +1.500000e+00 -1 +2.500000e-01 • Dégénérescence
2 +1.250000e+00 -1 +1.250000e-01 • Pas trop petits
3 +1.125000e+00 -1 +6.250000e-02
4 +1.062500e+00 -1 +3.125000e-02 Notion de progrès suffisant
5 +1.031250e+00 -1 +1.562500e-02
.. • ∇f (xk )T dk < 0
.
46 +1.000000e+00 -1 +7.105427e-15 • Si αk minimum dans la direction alors ∇f (xk + αk dk )T dk = 0
47 +1.000000e+00 -1 +3.552714e-15
• La dérivée directionnelle augmente
48 +1.000000e+00 -1 +1.776357e-15
49 +1.000000e+00 -1 +8.881784e-16
50 +1.000000e+00 -1 +4.440892e-16

Méthodes de descente – p.27

Choix du pas Diminution suffisante β2 = 0.5

√ √
Progrès suffisant : seconde condition de Wolfe dk = (−10/ 181 − 9/ 181)T α ≥ 1.4687
Soient f : Rn → R une fonction différentiable, un point xk ∈ Rn , une
direction (de descente) dk ∈ Rn telle que ∇f (xk )T dk < 0 et un pas αk ∈
R, αk > 0. On dira que le point xk + αk dk apporte un progrès suffisant par
rapport à xk si
∇f(xk +αdk )T dk
∇f (xk + αk dk )T dk ≥ β2 ∇f (xk )T dk , ∇f(xk )T dk

avec 0 < β2 < 1. Cette condition s’appelle la seconde condition de Wolfe.

f(xk + αdk)

Méthodes de descente – p.28 Méthodes de descente – p.29

Diminution suffisante β2 = 0.5 Conditions de Wolfe

√ √ Validité des conditions de Wolfe Soient f : Rn → R une fonction


dk = (−2/ 5 1/ 5)T α ≥ 0.94603
différentiable, un point xk ∈ Rn et une direction (de descente) dk ∈ Rn telle que
∇f (xk )T dk < 0 et f est bornée inférieurement dans la direction dk , c’est-à-dire
il existe f0 tel que f (xk + αdk ) ≥ f0 pour tout α ≥ 0. Si 0 < β1 < 1, il existe η
tel que la première condition de Wolfe soit vérifiée pour tout αk ≤ η . De plus, si
0 < β1 < β2 < 1, il existe α2 > 0 tel que les deux conditions de Wolfe soient
toutes deux vérifiées.

(p. 271)

Méthodes de descente – p.30 Méthodes de descente – p.31


Rappel Algorithme : Recherche linéaire

Taylor au premier ordre Soit f : Rn −→ R une fonction différentiable sur Objectif


une sphère ouverte S centrée en x. Alors, Trouver un pas α∗ tel que les conditions de Wolfe soient
• pour tout d tel que x + d ∈ S , on a vérifiées.
Input
f (x + d) = f (x) + dT ∇f (x) + o(%d%), (2)
• La fonction f : Rn → R différentiable;
• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que • Le gradient de la fonction ∇f : Rn → Rn ;
• Un vecteur x ∈ Rn ;
f (x + d) = f (x) + dT ∇f (x + αd). (3) • Une direction de descente d telle que ∇f (x)T d < 0;
• Une première approximation de la solution α0 > 0.
(sans preuve)

Méthodes de descente – p.32 Méthodes de descente – p.33

Algorithme : Recherche linéaire Algorithme : Recherche linéaire

Input (suite) Initialisation


• Des paramètres β1 et β2 tels que 0 < β1 < β2 < 1. i = 0, α" = 0, αr = +∞.
• Un paramètre λ > 1. Itérations

Output • Si αi vérifie les conditions, alors α∗ = αi . STOP.


Un pas α∗ tel que les conditions de Wolfe soient vérifiées. • Si αi viole Wolfe-1, i.e.
f (xk + αk dk ) > f (xk ) + αk β1 ∇f (xk )T dk , alors le pas est trop
long et
αr = αi
αi+1 = α! +α
2
r

Méthodes de descente – p.34 Méthodes de descente – p.35

Algorithme : Recherche linéaire Algorithme : Recherche linéaire

Itérations ! " !
−2
"
10 √
• Si αi ne viole pas Wolfe-1 et viole Wolfw-2, i.e. f (x) = 21 x21 + 92 x22 x = d= 5
1 √1
5

∇f (x + αi d)T d < β2 ∇f (x)T d α0 = 10−3 β1 = 0.3 β2 = 0.7 λ = 20.

alors le pas est trop court et αi α" αr Cond. violée


1.00000000e-03 0.00000000e+00 9.99999000e+05 Wolfe-2
α" = α
#i
α! +αr 2.00000000e-02 1.00000000e-03 9.99999000e+05 Wolfe-2
2 si αr < +∞
αi+1 = 4.00000000e-01 2.00000000e-02 9.99999000e+05 Wolfe-2
λαi sinon
8.00000000e+00 4.00000000e-01 9.99999000e+05 Wolfe-1
• i = i+1 4.20000000e+00 4.00000000e-01 8.00000000e+00 Wolfe-1
2.30000000e+00 4.00000000e-01 4.20000000e+00 —

Méthodes de descente – p.36 Méthodes de descente – p.37


Plus forte pente Algorithme : Plus forte pente

• En général, cet algorithme ne devrait pas être utilisé Objectif


Trouver une approximation de la solution du problème
• Décrivons-le pour pouvoir le comparer par la suite aux autres
• Utilisons la recherche linéaire min f (x).
x∈Rn

Input
• La fonction f : Rn → R différentiable;
• Le gradient de la fonction ∇f : Rn → Rn ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.

Méthodes de descente – p.38 Méthodes de descente – p.39

Algorithme : Plus forte pente Algorithme : Plus forte pente

Output Itérations
Une approximation de la solution x∗ ∈ R 1. dk = −∇f (xk ),
Initialisation 2. Déterminer αk en appliquant la recherche linéaire avec
k=0 α0 = 1.
3. xk+1 = xk + αk dk ,
4. k = k + 1.
Critère d’arrêt
Si %∇f (xk )% ≤ ε, alors x∗ = xk .

Méthodes de descente – p.40 Méthodes de descente – p.41

Méthode de Newton Méthode de Newton

• Combiner les idées de • Si αk = 1 non acceptable, algorithme de recherche linéaire


1. plus forte pente préconditionnée • Si ∇2 f (xk )−1 non définie positive, définir
2. Newton
3. recherche linéaire Dk = (∇2 f (xk ) + E)−1
• Itération de Newton pure
avec E telle que Dk soit définie positive.
xk+1 = xk − ∇2 f (xk )−1 ∇f (xk ),

• Itération de plus forte pente préconditionnée

xk+1 = xk − αk Dk ∇f (xk ),

2 −1
• Si ∇ f (xk ) déf. positive, et αk = 1 acceptable, itérations
équivalentes.

Méthodes de descente – p.42 Méthodes de descente – p.43


Algorithme : Cholesky modifiée Algorithme : Cholesky modifiée

Objectif Itérations
Modifier une matrice afin de la rendre définie positive. 1. Calculer la factorisation de Cholesky de LLT = A + τ I .
Input 2. Si factorisation réussie, STOP.
Une matrice symétrique A ∈ Rn×n
3. Sinon, τk+1 = max(2τk , 21 %A%F )
Output
4. k = k + 1.
Une matrice triangulaire inférieure L et τ ≥ 0 tels que
A + τ I = LLT .
Initialisation
1. k=0;
2. Si mini aii > 0, alors τk = 0. Sinon, τk = 12 %A%F ;

Méthodes de descente – p.44 Méthodes de descente – p.45

Algorithme : Newton avec recherche linéaire Algorithme : Newton avec recherche linéaire

Objectif Output
Trouver une approximation d’un minimum local du problème Une approximation de la solution x∗ ∈ R
Initialisation
min f (x). k=0
x∈Rn

Input
• La fonction f : Rn → R différentiable;
• Le gradient de la fonction ∇f : Rn → Rn ;
• Le hessien de la fonction ∇2 f : Rn → Rn×n ;
• Une première approximation de la solution x0 ∈ Rn ;
• La précision demandée ε ∈ R, ε > 0.

Méthodes de descente – p.46 Méthodes de descente – p.47

Algorithme : Newton avec recherche linéaire Algorithme : Newton avec recherche linéaire

Itérations Itérations (suite)


• Calculer une matrice triangulaire inférieure Lk et τ tels que • Déterminer αk en appliquant la recherche linéaire avec
α0 = 1.
2
Lk LTk = ∇ f (xk ) + τ I, • xk+1 = xk + αk dk .
• k = k + 1.
en utilisant l’algorithme précédent
Critère d’arrêt
• Trouver zk en résolvant le système triangulaire
Si %∇f (xk )% ≤ ε, alors x∗ = xk .
Lk zk = ∇f (xk ).
• Trouver dk en résolvant le système triangulaire LTk dk = −zk .

Méthodes de descente – p.48 Méthodes de descente – p.49


Newton avec recherche linéaire Newton avec recherche linéaire

1 2 Solution:
min f (x1 , x2 ) = x + x1 cos x2 ,
2 1 ! " ! " ! "
1 0 1 0
x∗ = ∇f (x∗ ) = ∇2 f (x∗ ) =
π 0 0 1

x2 x2

Point de départ x0 = (1 1)T . x1 x1

Méthodes de descente – p.50 Méthodes de descente – p.51

Newton avec recherche linéaire Définition du problème

k f (xk ) %∇f (xk )% αk τ min f (x)


x∈Rn
0 1.04030231e+00 1.75516512e+00
sous contraintes
1 2.34942031e-01 8.88574897e-01 1 1.64562250e+00 h(x) = 0,
2 4.21849003e-02 4.80063696e-01 1 1.72091923e+00 g(x) ≤ 0,
3 -4.52738278e-01 2.67168927e-01 3 8.64490594e-01 x ∈ X.
4 -4.93913638e-01 1.14762780e-01 1 0.00000000e+00 • f : Rn → R, n > 0
5 -4.99982955e-01 5.85174623e-03 1 0.00000000e+00 • h : Rn → Rm , m ≥ 0
6 -5.00000000e-01 1.94633135e-05 1 0.00000000e+00 • g : Rn → Rp , p ≥ 0
7 -5.00000000e-01 2.18521663e-10 1 0.00000000e+00 • X ⊆ Rn ensemble convexe
8 -5.00000000e-01 1.22460635e-16 1 0.00000000e+00

Méthodes de descente – p.52 Analyse des contraintes – p.1

Définition du problème Analyse des contraintes

Point admissible • Contraintes actives


Soit le problème d’optimisation ci-dessus. Un point x ∈ Rn est dit admissible • Indépendance linéaire des contraintes
s’il vérifie toutes les contraintes.
• Directions admissibles
• Elimination des contraintes

Analyse des contraintes – p.2 Analyse des contraintes – p.3


Contraintes actives Contraintes actives

min x2
x∈R

s.c.
x ≤ 4
x ≥ −10

Solution : x∗ = 0

f(x) = x2

x∗ = 0

Analyse des contraintes – p.4 Analyse des contraintes – p.5

Contraintes actives Contraintes actives

min x2 min x2 min x2


x∈R x∈R
x∈R

s.c. s.c. s.c.


x ≤ 4 x ≤ 4
g1 (x) = x−4 ≤ 0 x ≥ 1
x ≥ −10 g2 (x) = −x − 10 ≤ 0
Solution : x∗ = 1
x∗ = 0
g1 (x∗ ) = −4 < 0
g2 (x∗ ) = −10 < 0

Les deux contraintes sont inactives

Analyse des contraintes – p.6 Analyse des contraintes – p.7

Contraintes actives Contraintes actives

min x2 min x2
x∈R
x∈R

s.c. s.c.
x ≤ 4 g1 (x) = x − 4 ≤ 0
x ≥ 1 g2 (x) = 1 − x ≤ 0
2
f(x) = x
x∗ = 1
g1 (x∗ ) = −3 < 0
g2 (x∗ ) = 0

g1 est inactive, g2 est active

x∗ = 1

Analyse des contraintes – p.8 Analyse des contraintes – p.9


Contraintes actives Contraintes actives

Contraintes actives Contraintes actives (suite)


Soient g : Rn → R et h : Rn → R. Une contrainte d’inégalité Par extension, une contrainte d’égalité h(x) = 0 sera dite active en x∗ si
elle est vérifiée en x∗ , c’est-à-dire si h(x∗ ) = 0. L’ensemble des indices des
g(x) ≤ 0 contraintes actives en x∗ sera généralement noté A(x∗ ).

est dite active en x si
g(x∗ ) = 0,

et inactive en x si
g(x∗ ) < 0.

Analyse des contraintes – p.10 Analyse des contraintes – p.11

Contraintes actives Contraintes actives

Contraintes actives Soit un vecteur x∗ ∈ Rn . Soit le problème Contraintes actives (suite)


d’optimisation P1 ,
minn f (x) A(x∗ ) = {i|gi (x∗ ) = 0},
x∈R

sous contraintes nous considérons le problème d’optimisation P2 suivant


g(x) ≤ 0,
min f (x)
x∈Rn
x ∈ Y ⊆ Rn .
avec g : Rn −→ Rm et Y est un sous-ensemble de Rn . sous contraintes
Si x∗ est admissible, c’est-à-dire g(x∗ ) ≤ 0, et si A(x∗ ) ⊆ {1, . . . , p} est gi (x) = 0, i ∈ A(x∗ ),
l’ensemble des indices des contraintes actives en x∗ , c’est-à-dire
x ∈ Y ⊆ Rn .
()
()

Analyse des contraintes – p.12 Analyse des contraintes – p.13

Contraintes actives Contraintes actives

Contraintes actives (suite) Alors, x∗ est un minimum local de P1 si et • On peut ignorer les contraintes inactives à la solution
seulement si x∗ est un minimum local de P2 .
• On peut considérer les contraintes actives à la solution comme
(p. 60) des contraintes d’égalité

Analyse des contraintes – p.14 Analyse des contraintes – p.15


Indépendance linéaire des contraintes Contraintes linéaires

• Analyse des contraintes très complexe


min f (x)
• Nécessité de définir des hypothèses qui
sous contraintes
• évitent les cas pathologiques,
Ax = b
• restent générales en pratique.
x ≥ 0
• Cas linéaire : simple et intuitif
Système linéaire:
• Cas non linéaire : plus complexe
• incompatible, ' ∃x tel que Ax = b;
• sous-déterminé, un nombre infini de x tels que Ax = b
• non singulier, ∃ x unique qui vérifie Ax = b.

Analyse des contraintes – p.16 Analyse des contraintes – p.17

Contraintes linéaires Contraintes linéaires

Contraintes redondantes Soit un système compatible de contraintes


min f (x)
d’égalité linéaires Ax = b, avec A ∈ Rm×n , m ≤ n. Si le rang de A est
sous contraintes déficient, c’est-à-dire rang(A)=r < m, alors il existe une matrice à ∈ Rr×n de
Ax = b rang plein (i.e. rang(Ã) = r ), composée exclusivement de lignes !1 , . . . , !r de A
x ≥ 0 telle que
Ãx = b̃ ⇐⇒ Ax = b.
Système linéaire:
où b̃ est composées des éléments !1 , . . . , !r de b.
• incompatible, ' ∃x tel que Ax = b;
• sous-déterminé, un nombre infini de x tels que Ax = b (p. 63)

• non singulier, ∃ x unique qui vérifie Ax = b.

Analyse des contraintes – p.17 Analyse des contraintes – p.18

Contraintes linéaires Contraintes linéaires

• On peut supprimer la contrainte 3


x1 + x2 + x3 = 1
x1 − x2 + x4 = 1 • Le système
x1 − 5x2 − 2x3 + 3x4 = 1 x1 + x2 + x3 = 1
x1 − x2 + x4 = 1
c’est-à-dire
    est équivalent à
1 1 1 0 1
A= 1 −1 0 1  b= 1  x1 + x2 + x3 = 1
   
1 −5 −2 3 1 x1 − x2 + x4 = 1
x1 − 5x2 − 2x3 + 3x4 = 1
• Système compatible :(2/3, 0, 1/3, 1/3)
• rang(A) = 2
• Combinaison linéaire : a3 = −2a1 + 3a2

Analyse des contraintes – p.19 Analyse des contraintes – p.20


Contraintes linéaires Contraintes non linéaires

• On peut toujours supposer que des contraintes linéaires sont


h(x) = 0
linéairement indépendantes
• Si ce n’est pas le cas, il y a des contraintes redondantes Linéarisation autour de x+ (Taylor 1er ordre)

• Il suffit de les supprimer h(x+ ) + ∇h(x+ )T (x − x+ ) = 0

ou encore
∇h(x+ )T x = ∇h(x+ )T x+ − h(x+ ).
avec ∇h(x+ ) ∈ Rn×m , ou encore

Ax = b

avec A = ∇h(x ) et b = ∇h(x+ )T x+ − h(x+ ).


+ T

Analyse des contraintes – p.21 Analyse des contraintes – p.22

Contraintes non linéaires Contraintes non linéaires

les gradients des contraintes d’égalité jouent un rôle similaire aux Soit un problème d’optimisation dans R2 avec la contrainte
lignes de la matrice A d’inégalité
Indépendance linéaire des contraintes g(x) = x21 + (x2 − 1)2 − 1 ≤ 0
Soit le problème d’optimisation minx∈Rn f (x) sous contraintes h(x) = 0 et la contrainte d’égalité
et g(x) ≤ 0, et soit un point admissible x+ . Nous dirons que la condition
d’indépendance linéaire des contraintes est vérifiée en x+ si les gradients h(x) = x2 − x21 = 0.
des contraintes d’égalité et les gradients des contraintes d’inégalité actives en
x+ sont linéairement indépendants. Par abus de langage, nous dirons parfois Nous avons
simplement que les contraintes sont linéairement indépendantes ' ( ' (
2x1 −2x1
∇g(x) = et ∇h(x) =
2x2 − 2 1

Analyse des contraintes – p.23 Analyse des contraintes – p.24

Contraintes non linéaires Directions admissibles

Direction admissible
Soit le problème général d’optimisation, et soit un point x ∈ Rn admissible.
h(x) = x2 − x21 = 0 Une direction d sera dite admissible en x s’il existe η > 0 tel que x + αd soit
admissible pour tout 0 < α ≤ η .

• xa Direction admissible dans un convexe Soit X un ensemble convexe, et


soient x, y ∈ X , y '= x. La direction d = y − x est une direction admissible en x
et, de plus x + αd = x + α(y − x) est admissible pour tout 0 ≤ α ≤ 1.
x2

(par définition)
• xb

g(x) = x21 + (x2 − 1)2 − 1 = 0

x1
Analyse des contraintes – p.25 Analyse des contraintes – p.26
Directions admissibles Directions admissibles

Directions admissibles : cas linéaire Soit le problème d’optimisation Contraintes d’égalité


min f (x) sous contraintes Ax = b et x ≥ 0, et soit un point admissible x+ . Une
direction d est admissible si et seulement si hi (x) = aTi x − bi = 0 i = 1, . . . , m.
1. Ad = 0, et
+ Première condition du théorème
2. di ≥ 0 si xi = 0.

(p. 69)
aTi d = 0 ou encore ∇hi (x)T d = 0 i = 1, . . . , m.
Attention : la généralisation aux contraintes non linéaires est compliquée
Contraintes d’inégalité
Interprétons ce résultat en termes de gradients...
gi (x) = −xi (≤ 0) et donc ∇gi (x)T d = −di .

Seconde condition du théorème Si la contrainte gi (x) est active en

x+ , alors ∇gi (x+ )T d ≤ 0

Analyse des contraintes – p.27 Analyse des contraintes – p.28

Directions admissibles Directions admissibles

Malheureusement, la généralisation de ces résultats au cas non #


linéaire est non triviale.
Notons que le gradient des contraintes pointe toujours vers
l’extérieur
Exemple: #
1 1 1
g(x) = (x1 − 1)2 + (x2 − 1)2 − ,
2 2 2
et donc ' ( ! $
x1 − 1
∇g(x) = .
x2 − 1

"
Analyse des contraintes – p.29 Analyse des contraintes – p.30

Directions admissibles Directions admissibles

Directions admissibles : une contrainte d’inégalité Soit Que se passe-t-il si ∇g(x+ )T d = 0.


g : Rn −→ R une fonction différentiable, et soit x+ ∈ Rn tel que g(x+ ) ≤ 0. • Soit le gradient est nul.
1. Si la contrainte g(x) ≤ 0 est inactive en x+ , alors toute direction est
• Soit d est tangent à la contrainte.
admissible en x.
+ + Taylor:
2. Si la contrainte est active en x , et que ∇g(x ) '= 0, alors une direction d
est admissible en x+ si
g(x+ + αd) = g(x+ ) + αdT ∇g(x+ ) + o(α,d,) = o(α).
∇g(x+ )T d < 0.
Rien ne garanti que o(α) ≤ 0.
(p. 72)
Cependant, on peut rendre ce point “aussi peu non admissible” que
Important : la condition 2 est suffisante mais pas nécessaire
désiré en choisissant un α suffisamment petit.
Dans le cas linéaire, on a ≤ au lieu de < Il faudra donc utiliser des suites et passer à la limite.

Analyse des contraintes – p.31 Analyse des contraintes – p.32


Directions admissibles Suites admissibles

Contrainte d’égalité: Suites admissibles


h(x) = 0. Considérons le problème d’optimisation minx∈Rn f (x) s.c. h(x) = 0,
On peut écrire g(x) ≤ 0 et x ∈ X , et un point x+ ∈ Rn admissible. Une suite (xk )k∈N ,
avec xk ∈ Rn pour tout k est appelée suite admissible en x+ si les condi-
h(x) ≤ 0 tions suivantes sont vérifiées:
−h(x) ≤ 0.
1. limk→∞ xk = x+ ,
Si x+ est admissible, ces deux contraintes d’inégalité sont actives. 2. il existe k0 tel que xk est admissible pour tout k ≥ k0 ,
Cependant, aucune direction d ne peut vérifier 3. xk '= x+ pour tout k .
+ T + T L’ensemble des suites admissibles en x+ est noté Sa (x+ ).
∇h(x ) d < 0 et − ∇h(x ) d < 0

On a vu plus haut qu’il fallait utiliser des suites...

Analyse des contraintes – p.33 Analyse des contraintes – p.34

Suites admissibles Suites admissibles

Considérons, dans R2 , la contrainte

h(x) = x21 − x2 = 0,

et le point admissible x+ = (0, 0)T . La suite définie par •


' (
1
xk = k
1
k2
h(x) = x21 − x2 = 0
vérifie les trois conditions de la définition et appartient donc à
Sa (x+ ).



••• 0••••••
x+ ••=

Analyse des contraintes – p.35 Analyse des contraintes – p.36

Suites admissibles Suites admissibles

Considérons une suite (xk )k admissible en x+ , et relions chaque x+


à chaque xk
Nous obtenons des directions. En les normalisant, nous avons

xk − x+ •
dk = ,
,xk − x+ ,
d1
Nous notons
d = lim dk h(x) = x21 − x2 = 0
k→∞
d2
d3


• d
••• 0••••••
x+ ••=

Analyse des contraintes – p.37 Analyse des contraintes – p.38


Suites admissibles Suites admissibles

Attention : le passage à la limite ne peut pas toujours se faire


Exemple:
h(x) = x21 − x2 = 0,
et le point admissible x+ = (0, 0)T . Suite admissible : • h(x) = x21 − x2 = 0
' (
(−1)k
xk = k
1
d1
k2

d2
d3
• d4

d "" • •• ••••••••• • d"
x+ = 0

Analyse des contraintes – p.39 Analyse des contraintes – p.40

Directions admissibles Directions admissibles

Direction admissible à la limite • Toute direction admissible est aussi une direction admissible à
Considérons le problème d’optimisation minx∈Rn f (x) s.c. h(x) = 0, la limite
g(x) ≤ 0 et x ∈ X , et un point x+ ∈ Rn admissible. Soit (xk )k∈N une • Pour le montrer, considérer la suite admissible
+
suite admissible en x . La direction d '= 0 est une direction admissible à la
limite en x+ pour la suite (xk )k∈N s’il existe une sous-suite (xki )i∈N telle
1
xk = x+ + d
que k
d xki − x+ • Le concept de direction admissible est plus intuitif que celui
= lim .
,d, i→∞ ,xki − x+ , basé sur ∇h(x)T d
• Mais il n’est pas utilisable en pratique
• Heureusement, les deux sont liés.

Analyse des contraintes – p.41 Analyse des contraintes – p.42

Cône des directions Cône des directions

Cône des directions Directions admissibles à la limite Considérons le problème


Soit minx∈Rn f (x) s.c. h(x) = 0, g(x) ≤ 0 et x ∈ X , et un point x+ ∈ d’optimisation minx∈Rn f (x) s.c. h(x) = 0, g(x) ≤ 0 et x ∈ X et un point
Rn admissible. L’ensemble constitué des directions d telles que x+ ∈ Rn admissible. Toute direction admissible à la limite en x+ appartient au
cône des directions en x+ .
dT ∇gi (x+ ) ≤ 0, ∀i = 1, . . . , p tel que gi (x+ ) = 0, (p. 78)
T +
et d ∇hi (x ) = 0, i = 1, . . . , m, et de tous leurs multiples, c’est-à-dire

{αd|α > 0 et d vérifie les deux conditions ci-dessus}

est appelé cône des directions en x+ et est noté D(x+ ).

Analyse des contraintes – p.43 Analyse des contraintes – p.44


Cône des directions Cône des directions

• On sait que toute direction admissible à la limite est dans le


cône des directions
h(x) = x21 − x2 = 0 • L’inverse n’est pas toujours vrai
• Or, le cône de directions est plus pratique à manipuler
• Nous nous intéresserons aux cas où le cône des directions est
exactement l’ensemble des directions admissibles à la limite.
• On dira dans ce cas que les contraintes sont qualifiées.
d "" d"
x+ = 0

Analyse des contraintes – p.45 Analyse des contraintes – p.46

Qualification des contraintes Qualification des contraintes

Qualification des contraintes • Si les contraintes sont linéaires, alors la qualification des
Soit un problème d’optimisation minx∈Rn f (x) s.c. h(x) = 0, g(x) ≤ 0 contraintes est vérifiée en tout point admissible.
et x ∈ X , et soit un point admissible x+ . La condition de qualification des • Si les contraintes sont linéairement indépendantes en x+ , alors
contraintes est vérifiée si tout élément du cône des directions en x+ est une la qualification des contraintes est vérifiée en x+ .
direction admissible à la limite en x+ .

Analyse des contraintes – p.47 Analyse des contraintes – p.48

Qualification des contraintes Qualification des contraintes

• S’il existe un vecteur d ∈ Rn tel que • S’il n’y a pas de contrainte d’égalité, que les fonctions gi sont
1. ∇hi (x+ )T d = 0, pour tout i = 1, . . . , m, convexes, et qu’il existe un vecteur x− tel que
2. ∇gi (x+ )T d < 0 pour tout i = 1, . . . , p tel que gi (x+ ) = 0
gi (x− ) < 0 pour tout i = 1, . . . , p tel que gi (x+ ) = 0,
et que les contraintes d’égalité sont linéairement
indépendantes en x+ , alors la qualification des contraintes est alors la qualification des contraintes est vérifiée en x+ .
vérifiée en x+ .

Analyse des contraintes – p.49 Analyse des contraintes – p.50


Qualification des contraintes Elimination des contraintes

En général, on supposera que la qualification des contraintes est


min f (x1 , x2 , x3 , x4 ) = x21 + sin(x3 − x2 ) + x4 + 1
vérifiée
sous contraintes
x1 +x2 +x3 = 1
x1 −x2 +x4 = 1

Nous pouvons réécrire les contraintes :

x3 = 1 − x1 − x2
x4 = 1 − x1 + x2

Analyse des contraintes – p.51 Analyse des contraintes – p.52

Elimination des contraintes Elimination des contraintes

On obtient un problème en x1 et x2 : • Soit les contraintes Ax = b, avec A ∈ Rm×n de rang plein.


• Soient m colonnes linéairement indépendantes de A
min f (x1 , x2 ) = x21 + sin(−x1 − 2x2 + 1) − x1 + x2 + 2
correspondant aux variables que l’on désire éliminer.
• Appliquons une permutation P ∈ Rn×n des colonnes de A de
sans contrainte. telle manière qu’il s’agisse des m premières colonnes.

AP = (B N ) avec B ∈ Rm×m , N ∈ Rm×(n−m)

Analyse des contraintes – p.53 Analyse des contraintes – p.54

Elimination des contraintes Elimination des contraintes

• On peut écrire Comme B est carrée et non singulière

Ax = AP (P T x) = BxB + N xN = b xB = B −1 (b − N xN ).

Donc,
' ' ((
xB
min f (x) = f P
xB ,xN xN

sous contraintes (Ax =)BxB + N xN = b,


est équivalent au problème sans contrainte
' ' ((
B −1 (b − N xN )
min f P .
xN xN

Analyse des contraintes – p.55 Analyse des contraintes – p.56


Elimination des contraintes Elimination des contraintes

min f (x1 , x2 , x3 , x4 ) = x21 + sin(x3 − x2 ) + x4 + 1


' (
1 0 1 1
AP = (B|N ) =
sous contraintes 0 1 1 −1
x1 +x2 +x3 = 1 et xB =
x1 −x2 +x4 = 1
' (
Eliminons x3 et x4 , donc x3
= B −1 (b − N xN )
x4
  ' ( '' ( ' (' ((
0 0 1 0 1 0 1 1 1 x1
= −
 0 0 0 1 
0 1 1 1 −1 x2
P =
  ' (
1 0 0 0

  1 − x1 − x2
=
0 1 0 0 1 − x1 + x2

Analyse des contraintes – p.57 Analyse des contraintes – p.58

Elimination des contraintes Elimination des contraintes

Dans le cas non linéaire, attention !


y2 = (x − 1)3
min f (x1 , x2 ) = x21 + x22 3
s. c. (x1 − 1) = x22
x x21 + (x1 − 1)3

Solution: (1, 0). Eliminons x22

min f˜(x1 ) = x21 + (x1 − 1)3 . (1, 0)


x1

f˜ n’est pas borné inférieurement


Contrainte implicite : x1 − 1 ≥ 0

Analyse des contraintes – p.59 Analyse des contraintes – p.60

Introduction à la dualité Exemple de l’alpiniste

Autre manière de se débarrasser des contraintes • Un milliardaire offre 1 e à un alpiniste par mètre d’altitude

• Permettre la violation des contraintes • Contrainte : rester dans les Alpes

• Associer une pénalité à cette violation • Solution optimale : grimper sur le Mont Blanc pour 4807 e

• S’arranger pour que la pénalité n’incite pas à violer la contrainte

Dualité – p.1 Dualité – p.2


Exemple de l’alpiniste Exemple de l’alpiniste

• Les alpinistes aiment la liberté, pas les contraintes • Le milliardaire accepte qu’il quitte les Alpes.
• Si le milliardaire accepte qu’il quitte les Alpes: • Mais en s’acquittant d’une amende de 4041 e
• Solution optimale : grimper sur l’Everest pour 8848 e • Grimper sur l’Everest rapportera donc 8848 e-4041 e=4807 e
• Même gain que pour grimper sur le Mont Blanc
• Il n’y a plus intérêt à quitter les Alpes

Question : comment le milliardaire doit-il calculer le prix ?

Dualité – p.3 Dualité – p.4

Exemple de l’alpiniste Exemple d’optimisation

Modélisation
min 2x1 + x2
x∈R2
• x est la position (longitude/latitude)
• f (x) est l’altitude en x sous contraintes
1 − x1 − x2 = 0
• Premier problème :
x1 ≥ 0
max f (x) s.c. x ∈ Alpes x2 ≥ 0
x
Solution optimale : (0, 1) Coût optimal : 1
• Amende: a(x), avec a(x) = 0 si x ∈ Alpes.
Relaxons la contrainte 1 − x1 − x2 = 0
• Second problème :
max f (x) − a(x).
x

Dualité – p.5 Dualité – p.6

Exemple d’optimisation Exemple d’optimisation

Amende proportionnelle à la violation :


λ=0
min2 2x1 + x2 + λ(1 − x1 − x2 )
x∈R
min 2x1 + x2
x∈R2
sous contraintes
x1 ≥ 0 sous contraintes
x1 ≥ 0
x2 ≥ 0
x2 ≥ 0
Quelle valeur donner à λ pour que la solution optimale du problème
relaxé ne soit pas meilleure que celle du problème de départ ? Solution optimale : (0, 0) Coût optimal : 0
Violation de la contrainte. Mauvais choix de λ

Dualité – p.7 Dualité – p.8


Exemple d’optimisation Exemple d’optimisation

λ=2
min2 2 − x2
x∈R
30
sous contraintes
20
x1 ≥ 0
10
x2 ≥ 0
0
Problème non borné. Mauvais choix de λ
-10
-20
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.9 Dualité – p.10

Exemple d’optimisation Exemple d’optimisation

λ=1
min2 x1 + 1
x∈R
30
sous contraintes
20
x1 ≥ 0
10
x2 ≥ 0
0
Solution optimale : (0, x2 ) Coût optimal : 1
-10
Quel que soit x2 , même coût optimal. On choisit donc x2 = 1 pour
-20
vérifier la contrainte.
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.11 Dualité – p.12

Exemple d’optimisation Fonction lagrangienne

Fonction lagrangienne
Soit le problème d’optimisation min f (x) sous contraintes h(x) = 0 et
g(x) ≤ 0, et soient les vecteurs λ ∈ Rm et µ ∈ Rp . La fonction
30 L : Rn+m+p → R
20
L(x, λ, µ) = f (x) + λT h(x) + µT g(x)
10 !m !p
= f (x) + i=1 λi hi (x) + j=1 µj gj (x)
0
-10 est appelée Lagrangien ou fonction lagrangienne du problème.
-20
-30
10
5
0
-5
-10 -5 -10
0 5 10
Dualité – p.13 Dualité – p.14
Fonction duale Fonction duale

Comme dans les exemples, pour chaque valeur de λ et µ, on peut Borne sur la fonction duale Soit x∗ solution du problème d’optimisation
minimiser la fonction lagrangienne. min f (x) sous contraintes h(x) = 0 et g(x) ≤ 0, et soit q(λ, µ) la fonction duale
du même problème. Soit λ ∈ Rm et µ ∈ Rp , µ ≥ 0. Alors,
Fonction duale
Soit le problème d’optimisation min f (x) sous contraintes h(x) = 0 et
q(λ, µ) ≤ f (x∗ ),
g(x) ≤ 0, et sa fonction lagrangienne L(x, λ, µ). La fonction q : Rm+p →
R définie par et la fonction duale fournit des bornes inférieures sur la valeur optimale du
q(λ, µ) = minn L(x, λ, µ) problème.
x∈R

est la fonction duale du problème. Les paramètres λ et µ sont appelés vari-


(p.113)
ables duales.

Dualité – p.15 Dualité – p.16

Problème dual Problème dual

Comment choisir λ et µ ? Problème dual


Soit le problème d’optimisation min f (x) sous contraintes h(x) = 0 et
• Eviter que le problème relaxé (i.e. le calcul de la fonction duale)
g(x) ≤ 0 et sa fonction duale q(λ, µ). Soit Xq ⊆ Rm+p le domaine de
soit non borné.
q , c’est-à-dire
• Eviter, dans la mesure du possible, que Xq = {λ, µ|q(λ, µ) > −∞}
q(λ, µ) < f (x∗ ) Le problème d’optimisation

avec max q(λ, µ) s.c. µ ≥ 0 et (λ, µ) ∈ Xq


λ,µ
x∗ = argminx L(x, λ, µ).
est le problème dual du problème d’optimisation. Dans ce contexte, le prob-
lème de départ s’appelle problème primal.

Dualité – p.17 Dualité – p.18

Exemple Exemple

Pour que la fonction duale soit bornée, il faut que les coefficients de
min 2x1 + x2
x∈R2 x1 et x2 soient nuls, et donc
sous contraintes 2 − λ − µ1 = 0, 1 − λ − µ2 = 0,
h1 (x) = 1 − x1 − x2 = 0 (λ) ou encore
g1 (x) = −x1 ≤ 0 (µ1 ) µ1 = 2 − λ, µ2 = 1 − λ.
g2 (x) = −x2 ≤ 0 (µ2 )
Comme µ1 ≥ 0, il faut que λ ≤ 2. Comme µ2 ≥ 0, il faut que λ ≤ 1.
Fonction lagrangienne :

L(x1 , x2 , λ, µ1 , µ2 )
= 2x1 + x2 + λ(1 − x1 − x2 ) − µ1 x1 − µ2 x2
= (2 − λ − µ1 )x1 + (1 − λ − µ2 )x2 + λ

Dualité – p.19 Dualité – p.20


Exemple Exemple

Ainsi, Le problème dual s’écrit


Xq = {λ, µ1 , µ2 |λ ≤ 1, µ1 ≥ 0, µ2 ≥ 0}
max λ s.c. λ ≤ 1, µ1 ≥ 0, µ2 ≥ 0,
et la fonction duale devient
dont la solution optimale est λ∗ = 1. Comme
q(λ, µ1 , µ2 ) = λ.
µ1 = 2 − λ, µ2 = 1 − λ.

on a µ∗1 = 1 et µ∗2 = 0.

Dualité – p.21 Dualité – p.22

Dualité faible Problème dual

Dualité faible Soit x∗ solution du problème primal et soit (λ∗ , µ∗ ) solution Concavité-convexité du problème dual Soit le problème dual
optimale du problème dual associé. Alors maxλ,µ q(λ, µ) s.c. µ ≥ 0 et (λ, µ) ∈ Xq d’un problème d’optimisation. Alors, la
fonction objectif est concave, et le domaine de la fonction duale est convexe.
q(λ∗ , µ∗ ) ≤ f (x∗ )
(p. 116)

(Corollaire de la borne duale – p.116)

Dualité – p.23 Dualité – p.24

Dualité en optimisation linéaire Dualité en optimisation linéaire

Fonction lagrangienne :
min cT x
x

sous contraintes L(x, λ, µ) = cT x + λT (b − Ax) − µT x


Ax = b = (c − AT λ − µ)T x + λT b.
x ≥ 0
Pour qu’elle soit bornée, il faut
et donc, nous avons
h(x) = b − Ax c − AT λ − µ = 0.
et Ainsi,
g(x) = −x. L(x, λ, µ) = λT b ∀x, µ
et donc
q(λ, µ) = min L(x, λ, µ) = λT b.
x

Dualité – p.25 Dualité – p.26


Dualité en optimisation linéaire Dualité en optimisation linéaire

Le problème dual s’écrit On obtient


max λT b min −bT x
λ,µ x

sous contraintes sous contraintes


µ ≥ 0 AT x ≤ c.
µ = c − AT λ. C’est aussi un problème d’optimisation linéaire
Calculons son dual...
• Eliminer µ
Fonction Lagrangienne :
• Renommer λ en x
• Changer la maximisation en minimisation. L(x, µ) = −bT x + µT (AT x − c)
= (−b + Aµ)T x − µT c

Dualité – p.27 Dualité – p.28

Dualité en optimisation linéaire Dualité en optimisation linéaire

Pour qu’elle soit bornée, il faut Ainsi,


L(x, µ) = −µT c ∀x
−b + Aµ = 0
et donc
q(µ) = −µT c.
Le problème dual s’écrit
max −µT c
µ

sous contraintes
µ ≥ 0
Aµ = b.

Dualité – p.29 Dualité – p.30

Dualité en optimisation linéaire Dualité en optimisation linéaire

ou encore Soit le programme linéaire suivant


min xT c
x
min cT1 x1 + cT2 x2 + cT3 x3
sous contraintes x

x ≥ 0 sous contraintes
Ax = b.
A1 x1 + B1 x2 + C1 x3 = b1
C’est le problème de départ
A2 x1 + B2 x2 + C2 x3 ≤ b2
A3 x1 + B3 x2 + C3 x3 ≥ b3
x1 ≥ 0
x2 ≤ 0
x3 ∈ Rn3

Dualité – p.31 Dualité – p.32


Dualité en optimisation linéaire Dualité en optimisation linéaire

Le dual de ce problème est • A chaque contrainte du primal correspond une variable duale

T Contrainte = variable duale libre


max γ b = γ1T b1 + γ2T b2 + γ3T b3
γ Contrainte ≤ variable duale ≤ 0
Contrainte ≥ variable duale ≥ 0
γ1 ∈ Rm
• A chaque variable primale correspond une contrainte duale
γ2 ≤ 0
γ3 ≥ 0 variable primale ≥ 0 contrainte ≤
(γ1T A1 + γ2T A2 + γ3T A3 =) γ T A ≤ c1 variable primale ≤ 0 contrainte ≥
(γ1T B1 + γ2T B2 + γ3T B3 =) γ T B ≥ c2 variable primale libre contrainte =
(γ1T C1 + γ2T C2 + γ3T C3 =) γ T C = c3

avec γ = (γ1T γ2T γ3T )T et A = (AT1 AT2 AT3 )T

Dualité – p.33 Dualité – p.34

Dualité en optimisation linéaire Dualité en optimisation linéaire

Le dual du dual est le primal Soit un problème (primal) d’optimisation


min x1 + 2x2 + 3x3
linéaire. Si l’on transforme son dual en un problème de minimisation, et que l’on
calcule le dual de celui-ci, on obtient un problème équivalent au problème primal sous contraintes
(p. 121)
−x1 + 3x2 = 5
2x1 − x2 + 3x3 ≥ 6
x3 ≤ 4
x1 ≥ 0
x2 ≤ 0
x3 ∈ R

Dualité – p.35 Dualité – p.36

Dualité en optimisation linéaire Dualité en optimisation linéaire

Le problème dual est Ecrivons-le comme un problème de minimisation, et renommons les


variables x.
max 5γ1 + 6γ2 + 4γ3 min −5x1 − 6x2 − 4x3

sous contraintes x1 ∈ R
x2 ≥ 0
γ1 ∈ R
x3 ≤ 0
γ2 ≥ 0
x1 − 2x2 ≥ −1
γ3 ≤ 0
−3x1 + x2 ≤ −2
−γ1 + 2γ2 ≤ 1
−3x2 − x3 = −3
3γ1 − γ2 ≥ 2
3γ2 + γ3 = 3 On peut donc calculer sont dual.

C’est également un problème linéaire.

Dualité – p.37 Dualité – p.38


Dualité en optimisation linéaire

max −γ1 − 2γ2 − 3γ3


sous contraintes

γ1 − 3γ2 = −5
−2γ1 + γ2 − 3γ3 ≤ −6
− γ3 ≥ −4
γ1 ≥ 0
γ2 ≤ 0
γ3 ∈ R

C’est le problème de départ

Dualité – p.39

Vous aimerez peut-être aussi