Professional Documents
Culture Documents
Michel Bierlaire
michel.bierlaire@epfl.ch
min f (x)
x∈Rn
sous contraintes
h(x) = 0,
g(x) ≤ 0,
x ∈ X.
• f : Rn → R, n > 0
• h : Rn → Rm , m ≥ 0
• g : Rn → Rp , p ≥ 0
Minimum local
Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X}
l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur
x∗ ∈ Y est appelé minimum local s’il existe ε > 0 tel que
Minimum global
Appelons Y = {x ∈ Rn |h(x) = 0, g(x) ≤ 0 et x ∈ X}
l’ensemble des vecteurs vérifiant toutes les contraintes. Le vecteur
x∗ ∈ Y est appelé minimum global si
f (x∗ ) ≤ f (x) ∀x ∈ Y.
Exemple :
5 3 7 2 11
f (x) = − x + x − x + 3.
6 2 3
3.5
maximum local
3
2.5 x∗ x̃∗
f (x)
2
minimum local
1.5
1
0 0.5 1 1.5 2 2.5 3
x
Analyse du problème – p. 7/60
Fonction objectif
Fonction convexe
Une fonction f : Rn −→ R est dite convexe si, pour tout x, y ∈
Rn , on a
(z, f (z))
x z= y
λx + (1 − λ)y
Analyse du problème – p. 8/60
Fonction objectif
(y, f (y))
(x, f (x))
Fonction concave
Une fonction f : Rn −→ R est dite concave si −f est une fonc-
tion convexe, c’est-à-dire si, pour tout x, y ∈ Rn , on a
Dérivée partielle
Soit f : Rn −→ R une fonction continue. La fonction notée
∇i f (x) : Rn −→ R, également notée ∂f∂x(x)
i
est appelée ième
dérivée partielle de f et est définie par
f (x1 , . . . , xi + α, . . . , xn ) − f (x1 , . . . , xi , . . . , xn )
lim .
α→0 α
Cette limite peut ne pas exister.
Gradient
Soitf : Rn −→ R une fonction différentiable. La fonction notée
∇f (x) : Rn −→ Rn est appelée le gradient de f et est définie
par
∂f (x)
∂x1
..
∇f (x) =
. .
∂f (x)
∂xn
Dérivée directionnelle
Soitf : Rn −→ R une fonction continue. Soient x ∈ Rn et
d ∈ Rn . La dérivée directionnelle de f en x dans la direction d est
donnée par
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.
Fonction différentiable
Soit f : Rn −→ R une fonction continue. Si, pour tout d ∈ Rn ,
la dérivée directionnelle de f dans la direction d existe, alors la
fonction f est dite différentiable.
∂f (x)
= ∇f (x)T ei
∂xi
0
..
.
ei = 1 ième ligne
..
.
0
Direction de descente
Soit f : Rn −→ R une fonction différentiable. Soient x, d ∈ Rn .
La direction d est une direction de descente en x si
dT ∇f (x) < 0.
f (x + d) = f (x) + dT ∇f (x + αd).
(sans preuve)
g(x)
lim = 0.
x→0 f (x)
Par abus de langage, on dit que g(x) tend vers zéro plus vite que
f (x).
b.(p. 36)
pour tout 0 < α ≤ η
et la direction du gradient est celle dans laquelle la fonction a la plus forte pente.
(p. 37)
et la direction opposée au gradient est donc celle dans laquelle la fonction a la plus
forte descente. (Immédiat - p. 38)
55
50 !
−1
45 d3 =
! 3
40
1
35 d2 =
f (x + αdi )
1
30
25 d1 = ∇f (x)
20
15
10
5
0
0 0.2 0.4 0.6 0.8 1
α
Analyse du problème – p. 24/60
Plus forte descente
18
16 d1 = −∇f (x)
14 ! !
−1 1
12 d2 = d3 =
f (x + αdi )
−1 −3
10
8
6
4
2
0
0 0.2 0.4 0.6 0.8 1
α
Analyse du problème – p. 25/60
Fonctions de Rn −→ Rm
Matrice gradient
Soitf : Rn −→ Rm telle que fi : Rn −→ R est différentiable,
pour i = 1, . . . , m. Dans ce cas, f est différentiable, et la fonction
∇f (x) : Rn −→ Rn×m est appelée matrice gradient, et est
définie par
∇f (x) =
∇f1 (x) · · · ∇fm (x)
Matrice jacobienne
Soit f : Rn −→ Rm . La fonction J(x) : Rn −→ Rm×n est
appelée matrice jacobienne, et est définie par
∇f1 (x)T
..
J(x) = ∇f (x) =
T
. .
∇fm (x)T
Matrice Hessienne
Soit f : Rn −→ R une fonction deux fois différentiable. La fonc-
tion notée ∇2 f (x) : Rn −→ Rn×n est appelée la matrice hessi-
enne ou Hessien de f et est définie par
2
∂ f (x) 2
∂ f (x) 2
∂ f (x)
· · ·
∂x21 ∂x1 ∂x2 ∂x1 ∂xn
∂ 2 f (x) ∂ 2 f (x) ∂ 2 f (x)
∂x2 ∂x1 ···
∇ f (x) = .
2 ∂x 2 ∂x ∂x
2 2 n
.. .. ..
. . .
2 2 2
∂ f (x) ∂ f (x) ∂ f (x)
∂xn ∂x1 ∂xn ∂x2
· · · ∂x2
n
xT Ax ≥ 0 ∀x ∈ Rn .
xT Ax > 0 ∀x ∈ Rn , x 6= 0.
1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x)d + o(kdk2 ),
2
T 1 T 2
f (x + d) = f (x) + d ∇f (x) + d ∇ f (x + αd)d
2
(sans preuve)
g:R→R:α f (x + αd).
g ′ (α) = dT ∇f (x + αd).
g ′′ (α) = dT ∇2 f (x + αd)d.
Courbure
Soit f : Rn −→ R une fonction deux fois différentiable. Soient
x, d ∈ Rn . La quantité
dT ∇2 f (x)d
dT d
représente la courbure de la fonction f en x dans la direction d.
Fonction linéaire
Une fonction f : Rn −→ R est dite linéaire si elle s’écrit
n
X
f (x) = cT x = ci xi ,
i=1
Fonction affine
Une fonction f : Rn −→ R est dite affine si elle s’écrit
f (x) = cT x + d,
40 3
30 f (x) = ecos(e )
−x
2.5
20 x2
f (x) = 100
+ 3x + 1 2
10
f (x)
f (x)
1.5
0
1
-10
-20 0.5
-30 0
-10 -5 0 5 10 -5 -4 -3 -2 -1 0
x x
Nombre de conditionnement
Soit A∈ Rn×n une matrice symétrique non singulière. Le nombre
de conditionnement de A est
κ(A) = kAkkA−1 k.
−1σ1
κ2 (A) = kAk2 kA k2 = ,
σn
où σ1 est la plus grande valeur singulière de A, et σn la plus pe-
tite. Par extension, nous considérerons que le nombre de condi-
tionnement d’une matrice singulière est +∞. Si A est symétrique
définie positive, les valeurs singulières de A sont ses valeurs pro-
pres.
• Soit f : Rn −→ R
• Soit x ∈ Rn
• Supposons ∇2 f (x) définie positive
• Soient λ1 sa plus grande valeur propre, et d1 le vecteur propre
associé.
• Comme Ad1 = λ1 d1 , nous avons
dT1 Ad1
λ1 = T .
d1 d1
xT Ax
λ1 = max T ,
x6=0 x x
et
xT Ax
λn = min T .
x6=0 x x
(sans preuve)
Interprétation géométrique
• λ1 plus grande courbure de f en x
• λn plus petite courbure de f en x
• Nombre de conditionnement : rapport entre la plus grande et la
plus petite des courbures parmi les directions partant de x.
• Si proche de 1, fonction bien conditionnée
45
40
35
30
25
20
15
10
5 2
0 1
2
1.5 0
1
0.5
0 −1
−0.5
−1
−1.5 −2
−2
1.5
0.5
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Analyse du problème – p. 51/60
Conditionnement et préconditionnement
1 2
0 1
2
1.5 0
1
0.5
0 −1
−0.5
−1
−1.5 −2
−2
1.5
0.5
−0.5
−1
−1.5
−2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2
Analyse du problème – p. 53/60
Conditionnement et préconditionnement
• Soit
f (x1 , x2 ) = 2x21 + 9x22
• Nombre de conditionnement = 9/2, ∀x, car
!
2 4 0
∇ f (x1 , x2 ) = .
0 18
• Changement de variable
! ! !
1
x1 2 0 x′1
= √ .
x2 0 6
2
x′2
• Nous obtenons
1 ′2 1 ′2
f (x′1 , x′2 ) = x1 + x2 ,
2 2
Changement de variable
Soit x∈ Rn . Soit M ∈ Rn×n une matrice inversible. Le change-
ment de variable est l’application linéaire définie par M et transfor-
mant x en x′ = M x.
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 .
• Conditionnement de f˜ en x′ = conditionnement de
M −T ∇2 f (M −1 x′ )M −1
Préconditionnement
Soit f : Rn −→ R une fonction deux fois différentiable, et soit
un vecteur x ∈ Rn . Le préconditionnement de f en x revient
à définir un changement de variable x′ = M x et une fonction
f˜(x′ ) = f (M −1 x′ ), tels que le conditionnement de f˜ en M x soit
meilleur que le conditionnement de f en x.