Vous êtes sur la page 1sur 58

Analyse du problme

Michel Bierlaire
michel.bierlaire@epfl.ch

EPFL - Laboratoire Transport et Mobilite - ENAC

`
Analyse du probleme
p. 1/58

Dfinition du problme
min f (x)

xRn

sous contraintes
h(x)
g(x)
x

0,
0,
X.

f : Rn R, n > 0

h : Rn Rm , m 0
g : Rn Rp , p 0

`
Analyse du probleme
p. 2/58

Dfinition du problme
Minimum local
Appelons

Y = {x Rn |h(x) = 0, g(x) 0 et x X}

lensemble des vecteurs vrifiant toutes les contraintes. Le vecteur

x Y est appel minimum local sil existe > 0 tel que


f (x ) f (x) x Y tel que kx x k < .

`
Analyse du probleme
p. 3/58

Dfinition du problme
Minimum local strict
Appelons

Y = {x Rn |h(x) = 0, g(x) 0 et x X}

lensemble des vecteurs vrifiant toutes les contraintes. Le vecteur

x Y est appel minimum local strict sil existe > 0 tel que
f (x ) < f (x) x Y, x 6= x tel que kx x k < .

`
Analyse du probleme
p. 4/58

Dfinition du problme
Minimum global
Appelons

Y = {x Rn |h(x) = 0, g(x) 0 et x X}

lensemble des vecteurs vrifiant toutes les contraintes. Le vecteur

x Y est appel minimum global si


f (x ) f (x) x Y.

`
Analyse du probleme
p. 5/58

Dfinition du problme
Minimum global strict
Appelons

Y = {x Rn |h(x) = 0, g(x) 0 et x X}

lensemble des vecteurs vrifiant toutes les contraintes. Le vecteur

x Y est appel minimum global strict si


f (x ) < f (x) x Y, x 6= x .

`
Analyse du probleme
p. 6/58

Dfinition du problme
Exemple :
5 3 7 2 11
f (x) = x + x x + 3.
6
2
3

3.5
maximum local

f (x)

3
2.5

2
minimum local
1.5
1
0

0.5

1.5

2.5

x
`
Analyse du probleme
p. 7/58

Fonction objectif
Fonction convexe
Une fonction

Rn , on a

f : Rn R est dite convexe si, pour tout x, y

f (x + (1 )y) f (x) + (1 )f (y) [0, 1]

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


(z, f (z))
x

z=
x + (1 )y

y
`
Analyse du probleme
p. 8/58

Fonction objectif
Fonction non convexe :

(y, f (y))

(x, f (x))

`
Analyse du probleme
p. 9/58

Fonction objectif
Fonction strictement convexe

f : Rn R est dite strictement convexe si, pour


tout x, y Rn , on a
Une fonction

f (x + (1 )y) < f (x)+(1)f (y) x 6= y, ]0, 1[


Fonction concave

f : Rn R est dite concave si f est une fonction convexe, cest--dire si, pour tout x, y Rn , on a
Une fonction

f (x + (1 )y) f (x) + (1 )f (y) [0, 1].

`
Analyse du probleme
p. 10/58

Diffrentiabilit : 1er ordre


Drive partielle

f : Rn R une fonction continue. La fonction note


est appele ime
i f (x) : Rn R, galement note fx(x)
i
drive partielle de f et est dfinie par
Soit

f (x1 , . . . , xi + , . . . , xn ) f (x1 , . . . , xi , . . . , xn )
.
lim
0

Cette limite peut ne pas exister.

`
Analyse du probleme
p. 11/58

Diffrentiabilit : 1er ordre


Gradient

f : Rn R une fonction diffrentiable. La fonction note


f (x) : Rn Rn est appele le gradient de f et est dfinie

Soit

par

f (x) =

f (x)
x1

..
.
f (x)
xn

`
Analyse du probleme
p. 12/58

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 probleme
p. 13/58

Drive directionnelle
Drive directionnelle

f : Rn R une fonction continue. Soient x Rn et


d Rn . La drive directionnelle de f en x dans la direction d est

Soit

donne par

f (x + d) f (x)
lim
,
>

0
si la limite existe. De plus, lorsque le gradient existe, la drive
directionnelle est le produit scalaire entre le gradient de

f et la di-

rection d, i.e.

f (x)T d.

`
Analyse du probleme
p. 14/58

Diffrentiabilit
Fonction diffrentiable

f : Rn R une fonction continue. Si, pour tout d Rn ,


la drive directionnelle de f dans la direction d existe, alors la
fonction f est dite diffrentiable.

Soit

`
Analyse du probleme
p. 15/58

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

d1

d = d2 .
d3

La drive 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 probleme
p. 16/58

Drive directionnelle
Drives partielles = drives directionnelles dans la direction des
axes de coordonnes
f (x)
= f (x)T ei
xi

ei =

0
..
.
1
..
.
0

ime ligne

`
Analyse du probleme
p. 17/58

Drive directionnelle
Direction de descente

: Rn R une fonction diffrentiable. Soient x, d Rn .


La direction d est une direction de descente en x si

Soit f

dT f (x) < 0.

`
Analyse du probleme
p. 18/58

Rappels
Thorme: Taylor au premier ordre Soit f : Rn R une fonction
diffrentiable sur une sphre ouverte S centre 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 probleme
p. 19/58

Rappels
Notation de Landau o()

R, avec f (x) 6= 0, x. La
notation de Landau g(x) = o(f (x)) signifie que

Soient f et g deux fonctions de R

g(x)
= 0.
lim
x0 f (x)
Par abus de langage, on dit que

g(x) tend vers zro plus vite que

f (x).

`
Analyse du probleme
p. 20/58

Direction de descente
Thorme: Direction de descente Soit f : Rn R une fonction
diffrentiable. 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 < .
De plus, pour tout < 1, il existe
b > 0 tel que

f (x + d) < f (x) + f (x)T d,

pour tout 0 <


b.(p. 36)

`
Analyse du probleme
p. 21/58

Plus forte pente


Thorme: Plus forte pente Soit f : Rn R une fonction diffrentiable.
Soient x Rn , et d = f (x). Alors, pour tout d Rn tel que
kdk = kf (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 probleme
p. 22/58

Plus forte descente


Thorme: Plus forte descente Soit f : Rn R une fonction
diffrentiable. Soient x Rn , et d = f (x). Alors, pour tout d Rn tel que
kdk = kf (x)k, on a
f (x)T f (x) = d T f (x) dT f (x).
et la direction oppose au gradient est donc celle dans laquelle la fonction a la plus
forte descente. (Immdiat - p. 38)

`
Analyse du probleme
p. 23/58

Plus forte pente

f (x + di )

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


55
50
45
40
35
30
25
20
15
10
5
0

1
1

d2 =

d3 =
!

1
3

d1 = f (x)

0.2

0.4

0.6

0.8

`
Analyse du probleme
p. 24/58

Plus forte descente


Pente de 12 x21 + 2x2 au point (1, 1)T
18
d1 = f (x)

16

f (x + di )

14
12

d2 =

10

1
1

d3 =

1
3

8
6
4
2
0
0

0.2

0.4

0.6

0.8

`
Analyse du probleme
p. 25/58

Fonctions de Rn Rm
Matrice gradient

f : Rn Rm telle que fi : Rn R est diffrentiable,


pour i = 1, . . . , m. Dans ce cas, f est diffrentiable, et la fonction
f (x) : Rn Rnm est appele matrice gradient, et est

Soit

dfinie par

f (x) =
f1 (x)

fm (x)

`
Analyse du probleme
p. 26/58

Fonctions de Rn Rm

f (x)

f1
x1

f2
x1

f1
xn

f2
xn

..
.

..
.

..
.

fm
x1

..
.

fm
xn

`
Analyse du probleme
p. 27/58

Fonctions de Rn Rm
Matrice jacobienne
Soit

f : Rn Rm . La fonction J(x) : Rn Rmn est

appele matrice jacobienne, et est dfinie par

J(x) = f (x) =

f1 (x)T
..
.

fm (x)T

`
Analyse du probleme
p. 28/58

Diffrentiabilit : le 2ime ordre


Le gradient de f est une fonction de Rn Rn

On peut donc calculer sa matrice gradient dont les


composantes sont
(f (x)/xi )
2 f (x)
i f (x)
=
=
.
xj
xj
xi xj
Il sagit de la matrice des drives secondes de f , ou matrice
hessienne

`
Analyse du probleme
p. 29/58

Diffrentiabilit : le 2ime ordre


Matrice Hessienne

f : Rn R une fonction deux fois diffrentiable. La fonction note 2 f (x) : Rn Rnn est appele la matrice hessienne ou Hessien de f et est dfinie par

2
2
2
f (x)
f (x)
f (x)

x1 x2
x1 xn
x21
2 f (x) 2 f (x)
2 f (x)

x2 x1

2
x
x
x
2
n
2
.
2
f (x) =

..
..
..

.
.
.

2
2
2
f (x)
f (x)
f (x)

xn x1
xn x2
x2
Soit

La matrice hessienne est toujours symtrique.

`
Analyse du probleme
p. 30/58

Diffrentiabilit : le 2ime 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

2 f (x1 , x2 , x3 ) =
x3
2x1 x2

x3
0
x1

2x1 x2

x1
.
0

`
Analyse du probleme
p. 31/58

Convexit par le hessien


Thorme: Convexit par le Hessien Soit f : X Rn R une
fonction deux fois diffrentiable sur un ensemble convexe X . Si 2 f (x) est semi
dfinie positive (resp. dfinie positive) pour tout x dans X , alors f est convexe
(resp. strictement convexe).(p. 44)

`
Analyse du probleme
p. 32/58

Rappels
Matrice semi dfinie positive
La matrice carre A

Rnn est dite semi dfinie positive lorsque


xT Ax 0 x Rn .

Si de plus

A est symtrique, alors aucune de ses valeurs propres

ne sont ngatives.

`
Analyse du probleme
p. 33/58

Rappels
Matrice dfinie positive
La matrice carre A

Rnn est dite dfinie positive lorsque

xT Ax > 0 x Rn , x 6= 0.
Si de plus A est symtrique, toutes ses valeurs propres sont strictement positives.

`
Analyse du probleme
p. 34/58

Rappels
Thorme: Taylor au second ordre Soit f : Rn R une fonction deux
fois diffrentiable sur une sphre ouverte S centre 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
1 T 2
f (x + d) = f (x) + d f (x) + d f (x + d)d
2
T

(sans preuve)

`
Analyse du probleme
p. 35/58

Analyse directionnelle
Analysons la fonction f dans la direction d partir de x
g:RR:

f (x + d).

Rgle de diffrentiation en chane :


g () = dT f (x + d).

Notons que g (0) est la drive directionnelle. Nous avons aussi


g () = dT 2 f (x + d)d.

La drive seconde informe sur la courbure

`
Analyse du probleme
p. 36/58

Analyse directionnelle
Courbure

f : Rn R une fonction deux fois diffrentiable. Soient


x, d Rn . La quantit

Soit

dT 2 f (x)d
dT d
reprsente la courbure de la fonction f en x dans la direction d.

`
Analyse du probleme
p. 37/58

Linarit
Fonction linaire
Une fonction f

: Rn R est dite linaire si elle scrit


f (x) = cT x =

n
X

ci xi ,

i=1

c Rn est un vecteur constant, i.e. indpendant de x. Une


fonction f : Rn Rm est linaire si chacune de ses composantes fi : Rn R, i = 1, . . . , m, est linaire. Dans ce
o

cas, elle peut scrire

f (x) = Ax
o A

Rmn est une matrice de constantes.


`
Analyse du probleme
p. 38/58

Linarit
En optimisation, on utilise souvent le terme linaire pour affine

`
Analyse du probleme
p. 39/58

Linarit
Fonction affine
Une fonction f

: Rn R est dite affine si elle scrit


f (x) = cT x + d,

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

scrire

f (x) = Ax + b
o A

Rmn est une matrice et b Rm un vecteur.

`
Analyse du probleme
p. 40/58

Linarit
Minimiser cT x + d ou cT x est quivalent

`
Analyse du probleme
p. 41/58

Linarit
Fonction non linaire
Toute fonction qui nest pas affine est dite non linaire.
40

30

2.5
f (x) =

x2
100

+ 3x + 1

10
0

2
f (x)

f (x)

20

f (x) = ecos(e

1.5
1

-10
-20

0.5

-30

0
-10

-5

10

-5

-4

-3

-2

-1

Il est important de caractriser la non linarit


`
Analyse du probleme
p. 42/58

Linarit
Continuit du gradient au sens de Lipschitz

f : X Rn Rm . La matrice gradient de la fonction


est continue au sens de Lipschitz sur X sil existe une constante
M > 0 telle que, pour tout x, y X , on a

Soit

kf (x) f (y)knm M kx ykn ,


o k knm est une norme sur Rnm et k kn une norme sur Rn .

La constante M est appele constante de Lipschitz.

`
Analyse du probleme
p. 43/58

Linarit
M est une borne suprieure sur la courbure de la fonction

Si M = 0, la courbure est nulle et la fonction est linaire

Cette constante est thorique, et il est trs difficile den obtenir


une valeur.

`
Analyse du probleme
p. 44/58

Conditionnement et prconditionnement
Nombre de conditionnement

Rnn une matrice symtrique non singulire. Le nombre


de conditionnement de A est

Soit A

(A) = kAkkA1 k.

`
Analyse du probleme
p. 45/58

Conditionnement et prconditionnement
Nombre de conditionnement (suite)
Si la norme matricielle utilise est la norme 2, nous avons

1
,
2 (A) = kAk2 kA k2 =
n
1

1 est la plus grande valeur singulire de A, et n la plus pe-

tite. Par extension, nous considrerons que le nombre de condi-

+. Si A est symtrique
dfinie positive, les valeurs singulires de A sont ses valeurs protionnement dune matrice singulire est

pres.

`
Analyse du probleme
p. 46/58

Conditionnement et prconditionnement
Soit f : Rn R
Soit x Rn

Supposons 2 f (x) dfinie 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 probleme
p. 47/58

Conditionnement et prconditionnement
Thorme: Rayleigh-Ritz Soit A Rnn une matrice relle symtrique.
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 probleme
p. 48/58

Conditionnement et prconditionnement
Interprtation gomtrique
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 conditionne

`
Analyse du probleme
p. 49/58

Conditionnement et prconditionnement

45
40
35
30
25
20
15
10
5
0
2

2
1
1.5

0
0.5

0.5

1
1

1.5

`
Analyse du probleme
p. 50/58

Conditionnement et prconditionnement
2

1.5

0.5

0.5

1.5

2
2

1.5

0.5

0.5

1.5

2
`
Analyse du probleme
p. 51/58

Conditionnement et prconditionnement

8
7
6
5
4
3
2
1
0
2

2
1
1.5

0
0.5

0.5

1
1

1.5

`
Analyse du probleme
p. 52/58

Conditionnement et prconditionnement
2

1.5

0.5

0.5

1.5

2
2

1.5

0.5

0.5

1.5

2
`
Analyse du probleme
p. 53/58

Conditionnement et prconditionnement
Soit

f (x1 , x2 ) = 2x21 + 9x22

Nombre de conditionnement = 9/2, x, car


4
0

f (x1 , x2 ) =

0
18

Appliquons maintenant le changement de variable


x1
x2

2
0

3 2

x1
x2

`
Analyse du probleme
p. 54/58

Conditionnement et prconditionnement
Changement de variable
x1
x2

1
2

2
6

x1
x2

Nous obtenons
f (x1 , x2 ) =

1 2 1 2
x1 + x2 ,
2
2

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


conditionnement est 1, pour tout (x1 , x2 ).

`
Analyse du probleme
p. 55/58

Conditionnement et prconditionnement
Changement de variable

Rn . Soit M Rnn une matrice inversible. Le changement de variable est lapplication linaire dfinie par M et transformant x en x = M x.

Soit x

Soit f (x) et un changement de variables x = M x

Nous obtenons

f(x )
f(x )
2 f(x )

=
=
=

f (M 1 x )
M T f (M 1 x )
M T 2 f (M 1 x )M 1 .

`
Analyse du probleme
p. 56/58

Conditionnement et prconditionnement
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 probleme
p. 57/58

Conditionnement et prconditionnement
Prconditionnement

f : Rn R une fonction deux fois diffrentiable, et soit


un vecteur x Rn . Le prconditionnement de f en x revient
dfinir 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.
Soit

`
Analyse du probleme
p. 58/58

Vous aimerez peut-être aussi