Vous êtes sur la page 1sur 58

Analyse du problème

Michel Bierlaire
michel.bierlaire@epfl.ch

EPFL - Laboratoire Transport et Mobilité - ENAC

Analyse du problème – p. 1/60


Définition du problème

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

Analyse du problème – p. 2/60


Définition du problème

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

f (x∗ ) ≤ f (x) ∀x ∈ Y tel que kx − x∗ k < ε.

Analyse du problème – p. 3/60


Définition du problème

Minimum local strict


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 strict s’il existe ε > 0 tel que

f (x∗ ) < f (x) ∀x ∈ Y, x 6= x∗ tel que kx − x∗ k < ε.

Analyse du problème – p. 4/60


Définition du problème

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.

Analyse du problème – p. 5/60


Définition du problème

Minimum global strict


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 strict si

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

Analyse du problème – p. 6/60


Définition du problème

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

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

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

(z, f (z))

x z= y
λx + (1 − λ)y
Analyse du problème – p. 8/60
Fonction objectif

Fonction non convexe :

(y, f (y))

(x, f (x))

Analyse du problème – p. 9/60


Fonction objectif

Fonction strictement convexe


Une fonction f : Rn −→ R est dite strictement convexe si, pour
tout x, y ∈ Rn , on a

f (λx + (1 − λ)y) < λf (x)+(1−λ)f (y) ∀x 6= y, ∀λ ∈]0, 1[

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

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

Analyse du problème – p. 10/60


Différentiabilité : 1er ordre

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.

Analyse du problème – p. 11/60


Différentiabilité : 1er ordre

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

Analyse du problème – p. 12/60


Gradient : exemple

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


par
 
ex1 + 2x1 x3 − x2 x3
 
∇f (x1 , x2 , x3 ) =  −x1 x3 .
x21 − x1 x2

Analyse du problème – p. 13/60


Dérivée directionnelle

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.

Analyse du problème – p. 14/60


Différentiabilité

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.

Analyse du problème – p. 15/60


Dérivée directionnelle

Soit f (x1 , x2 , x3 ) = ex1 + x21 x3 − x1 x2 x3 , et soit


 
d1
 
d =  d2  .
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. 16/60


Dérivée directionnelle

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


axes de coordonnées

∂f (x)
= ∇f (x)T ei
∂xi
 
0
 .. 
 . 
 
 
ei =  1  ième ligne
 .. 
 
 . 
0

Analyse du problème – p. 17/60


Dérivée directionnelle

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.

Analyse du problème – p. 18/60


Rappels

Théorème: Taylor au premier ordre Soit f : Rn −→ R une fonction


différentiable sur une sphère ouverte S centrée en x. Alors,
• pour tout d tel que x + d ∈ S , on a

f (x + d) = f (x) + dT ∇f (x) + o(kdk),

• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que

f (x + d) = f (x) + dT ∇f (x + αd).

(sans preuve)

Analyse du problème – p. 19/60


Rappels

Notation de Landau o(·)


−→ R, avec f (x) 6= 0, ∀x. La
Soient f et g deux fonctions de R
notation de Landau g(x) = o(f (x)) signifie que

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).

Analyse du problème – p. 20/60


Direction de descente

Théorème: Direction de descente Soit f : Rn −→ R une fonction


différentiable. Soient x ∈ Rn tel que ∇f (x) 6= 0 et d ∈ Rn . Si d est une
direction de descente, alors il existe η > 0 tel que

f (x + αd) < f (x) ∀0 < α ≤ η.

b > 0 tel que


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

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

b.(p. 36)
pour tout 0 < α ≤ η

Analyse du problème – p. 21/60


Plus forte pente

Théorème: Plus forte pente Soit f : Rn −→ R une fonction différentiable.


Soient x ∈ Rn , et d∗ = ∇f (x). Alors, pour tout d ∈ Rn tel que
kdk = k∇f (x)k, on a

dT ∇f (x) ≤ d∗ T ∇f (x) = ∇f (x)T ∇f (x),

et la direction du gradient est celle dans laquelle la fonction a la plus forte pente.
(p. 37)

Analyse du problème – p. 22/60


Plus forte descente

Théorème: Plus forte descente Soit f : Rn −→ R une fonction


différentiable. Soient x ∈ Rn , et d∗ = −∇f (x). Alors, pour tout d ∈ Rn tel que
kdk = k∇f (x)k, 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. 23/60


Plus forte pente

Pente de 12 x21 + 2x2 au point (1, 1)T

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

Pente de 12 x21 + 2x2 au point (1, 1)T

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) 

Analyse du problème – p. 26/60


Fonctions de Rn −→ Rm

 ∂f1 ∂f2 ∂fm 


∂x1 ∂x1 ··· ∂x1
 .. .. .. .. 
∇f (x) =  . . . . 
∂f1 ∂f2 ∂fm
∂xn ∂xn ··· ∂xn

Analyse du problème – p. 27/60


Fonctions de Rn −→ Rm

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

Analyse du problème – p. 28/60


Différentiabilité : le 2ième ordre

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


• On peut donc calculer sa matrice gradient dont les
composantes sont

∂∇i f (x) ∂(∂f (x)/∂xi ) ∂ 2 f (x)


= = .
∂xj ∂xj ∂xi ∂xj

• Il s’agit de la matrice des dérivées secondes de f , ou matrice


hessienne

Analyse du problème – p. 29/60


Différentiabilité : le 2ième ordre

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

La matrice hessienne est toujours symétrique.

Analyse du problème – p. 30/60


Différentiabilité : le 2ième ordre

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


par
 
ex1 + 2x1 x3 − x2 x3
 
∇f (x1 , x2 , x3 ) =  −x1 x3 .
x21 − x1 x2

Le Hessien de f est donné par


 
ex1 + 2x3 −x3 2x1 − x2
 
∇2 f (x1 , x2 , x3 ) =  −x3 0 −x1 .
2x1 − x2 −x1 0

Analyse du problème – p. 31/60


Convexité par le hessien

Théorème: Convexité par le Hessien Soit f : X ⊆ Rn −→ R une


fonction deux fois différentiable sur un ensemble convexe X . Si ∇2 f (x) est semi
définie positive (resp. définie positive) pour tout x dans X , alors f est convexe
(resp. strictement convexe).(p. 44)

Analyse du problème – p. 32/60


Rappels

Matrice semi définie positive


La matrice carrée A ∈ Rn×n est dite semi définie positive lorsque

xT Ax ≥ 0 ∀x ∈ Rn .

Si de plus A est symétrique, alors aucune de ses valeurs propres


ne sont négatives.

Analyse du problème – p. 33/60


Rappels

Matrice définie positive


La matrice carrée A ∈ Rn×n est dite définie positive lorsque

xT Ax > 0 ∀x ∈ Rn , x 6= 0.

Si de plus A est symétrique, toutes ses valeurs propres sont stricte-


ment positives.

Analyse du problème – p. 34/60


Rappels

Théorème: Taylor au second ordre Soit f : Rn −→ R une fonction deux


fois différentiable sur une sphère ouverte S centrée en x. Alors,
• pour tout d tel que x + d ∈ S , on a

1
f (x + d) = f (x) + dT ∇f (x) + dT ∇2 f (x)d + o(kdk2 ),
2

• pour tout d tel que x + d ∈ S , il existe α ∈ [0, 1] tel que

T 1 T 2
f (x + d) = f (x) + d ∇f (x) + d ∇ f (x + αd)d
2
(sans preuve)

Analyse du problème – p. 35/60


Analyse directionnelle

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

g:R→R:α f (x + αd).

Règle de différentiation en chaîne :

g ′ (α) = dT ∇f (x + αd).

Notons que g ′ (0) est la dérivée directionnelle. Nous avons aussi

g ′′ (α) = dT ∇2 f (x + αd)d.

La dérivée seconde informe sur la courbure

Analyse du problème – p. 36/60


Analyse directionnelle

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.

Analyse du problème – p. 37/60


Linéarité

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

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


fonction f : 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
où A ∈ Rm×n est une matrice de constantes.

Analyse du problème – p. 38/60


Linéarité

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

Analyse du problème – p. 39/60


Linéarité

Fonction affine
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
où A ∈ Rm×n est une matrice et b ∈ Rm un vecteur.

Analyse du problème – p. 40/60


Linéarité

Minimiser cT x + d ou cT x est équivalent

Analyse du problème – p. 41/60


Linéarité

Fonction non linéaire


Toute fonction qui n’est pas affine est dite non linéaire.

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

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

Analyse du problème – p. 42/60


Linéarité

Continuité du gradient au sens de Lipschitz


Soit f : X ⊆ Rn −→ Rm . La matrice gradient de la fonction
est continue au sens de Lipschitz sur X s’il existe une constante
M > 0 telle que, pour tout x, y ∈ X , on a

k∇f (x) − ∇f (y)kn×m ≤ M kx − ykn ,

où k · kn×m est une norme sur Rn×m et k · kn une norme sur Rn .


La constante M est appelée constante de Lipschitz.

Analyse du problème – p. 43/60


Linéarité

• M est une borne supérieure sur la courbure de la fonction


• Si M = 0, la courbure est nulle et la fonction est linéaire
• Cette constante est théorique, et il est très difficile d’en obtenir
une valeur.

Analyse du problème – p. 44/60


Conditionnement et préconditionnement

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.

Analyse du problème – p. 45/60


Conditionnement et préconditionnement

Nombre de conditionnement (suite)


Si la norme matricielle utilisée est la norme 2, nous avons

−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.

Analyse du problème – p. 46/60


Conditionnement et préconditionnement

• 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

• λ1 : courbure de f dans la direction d1

Analyse du problème – p. 47/60


Conditionnement et préconditionnement

Théorème: Rayleigh-Ritz Soit A ∈ Rn×n une matrice réelle symétrique.


Soit λ1 la plus grande valeur propre de A et λn la plus petite. Alors,

xT Ax
λ1 = max T ,
x6=0 x x

et
xT Ax
λn = min T .
x6=0 x x

(sans preuve)

Analyse du problème – p. 48/60


Conditionnement et préconditionnement

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

Analyse du problème – p. 49/60


Conditionnement et préconditionnement

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

Analyse du problème – p. 50/60


Conditionnement et préconditionnement

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

Analyse du problème – p. 52/60


Conditionnement et préconditionnement

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

• Appliquons maintenant le changement de variable


! ! !
x′1 2 0 x1
= √
x′2 0 3 2 x2

Analyse du problème – p. 54/60


Conditionnement et préconditionnement

• 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

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


conditionnement est 1, pour tout (x′1 , x′2 ).

Analyse du problème – p. 55/60


Conditionnement et préconditionnement

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.

• 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. 56/60


Conditionnement et préconditionnement

• Conditionnement de f˜ en x′ = conditionnement de

M −T ∇2 f (M −1 x′ )M −1

• Objectif : choisir M tel que ce conditionnement soit le plus


proche possible de 1

Analyse du problème – p. 57/60


Conditionnement et préconditionnement

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.

Analyse du problème – p. 58/60