direction de descente

Download Report

Transcript direction de descente

Optimisation non linéaire
sans contraintes
Recherche opérationnelle
GC-SIE
Méthodes de descente
Directions de descente

Problème :

min f : IRn  IR
f continûment différentiable
Idée :
–
–
On démarre d’un point x0
On génére des vecteurs x1, x2,… tels que la
valeur de f décroit à chaque itération :
f(xk+1) < f(xk) k=1,2,…
Méthodes de descente
Michel Bierlaire
3
Directions de descente
f(x)=c1
x4
x3
x1
x2
f(x)=c2 < c1
Méthodes de descente
x0
f(x)=c3 < c2
Michel Bierlaire
4
Directions de descente



Soit x  IRn tel que f(x)  0.
Condidérons la demi-droite
xa = x – a f(x)
Théorème de Taylor (1er ordre)
f(x+s) = f(x) + f(x)Ts + o(¦¦s¦¦)
avec s = xa-x
f(xa)
= f(x) + f(x)T(xa-x) + o(¦¦xa-x¦¦)
= f(x) – a ¦¦f(x)¦¦2 + o(a¦¦f(x)¦¦)
= f(x) – a ¦¦f(x)¦¦2 + o(a)
Méthodes de descente
Michel Bierlaire
5
Directions de descente
f(xa) = f(x) – a ¦¦f(x)¦¦2 + o(a)
 Si a est petit, on peut négliger o(a)
 Donc, pour a positif mais petit,
f(xa) < f(x)
Théorème :
 Il existe d tel que, pour tout a  ]0,d[
f(x- af(x)) < f(x)
Méthodes de descente
Michel Bierlaire
6
Directions de descente



Gradient = plus forte pente
Question : y a-t-il d’autres directions
de descente que -f(x) ?
Appliquons le même raisonnement
avec d  0.
Méthodes de descente
Michel Bierlaire
7
Directions de descente


Condidérons la demi-droite
xa = x + a d
Théorème de Taylor (1er ordre)
f(x+s) = f(x) + f(x)Ts + o(¦¦s¦¦)
avec s = xa-x
f(xa)
= f(x) + f(x)T(xa-x) + o(¦¦xa-x¦¦)
= f(x) + a f(x)Td + o(a ¦¦d¦¦)
= f(x) + a f(x)Td + o(a)
Méthodes de descente
Michel Bierlaire
8
Directions de descente
f(xa) = f(x) + a f(x)Td + o(a)
 Si a est petit, on peut négliger o(a)
 Pour avoir f(xa) < f(x), il faut
f(x)Td < 0
Théorème :
 Soit d tel que f(x)Td < 0. Il existe d tel que,
pour tout a  ]0,d[
f(x+ad) < f(x)
Méthodes de descente
Michel Bierlaire
9
Directions de descente
Définition :
 Soit f:IRnIR, une fonction
continûment différentiable, et x un
vecteur de IRn. Le vecteur d  IRn est
appelé direction de descente de f en
x ssi
f(x)Td < 0
Méthodes de descente
Michel Bierlaire
10
Méthodes de descente
Algorithme de base :
 Soit x0  IRn. Poser k=0.
 Tant que f(xk)  0
–
–
–
Choisir dk tel que f(xk)Tdk < 0
Choisir ak > 0
Poser xk+1 = xk + ak dk
Méthodes de descente
Michel Bierlaire
11
Méthodes de descente
Notes :
 Il y a beaucoup de choix possibles
 En général, on choisit ak tel que
f(xk+akdk) < f(xk)
mais il y a des exceptions
 Il n’y a aucune garantie de
convergence pour l’algorithme de
base
Méthodes de descente
Michel Bierlaire
12
Choix de la direction




Ecrivons dk = -Dk f(xk)
où Dk est une matrice n x n
La condition f(xk)Tdk < 0 s’écrit
f(xk)T Dkf(xk) > 0
Si Dk est définie positive, cette condition
est toujours vérifiée.
Le choix de la direction revient donc au
choix d’une matrice définie positive.
Méthodes de descente
Michel Bierlaire
13
Choix de la direction
Quelques exemples souvent utilisés
 Méthode de la plus forte pente
–
–

Dk = I
xk+1 = xk – ak f(xk)
Méthode de Newton
–
–
Dk = (2f(xk))-1
xk+1 = xk – ak (2f(xk))-1 f(xk)
Méthodes de descente
Michel Bierlaire
Attention: il faut
que 2f(xk) soit
inversible et
déf. pos.
14
Choix de la direction

Mise à l’échelle diagonale
- Dk =
- dki > 0 pour tout i
- Exemple : dki =
Méthodes de descente
Michel Bierlaire
15
Choix de la direction

Méthode de Newton modifiée
–
–

Dk = (2f(x0))-1
xk+1 = xk – ak (2f(x0))-1 f(xk)
etc…
Méthodes de descente
Michel Bierlaire
16
Choix du pas
Règle de minimisation
1.

Problème à une seule variable
Règle d’approximation
2.




Minimisation prend du temps
Section d’or nécessite l’unimodalité
A-t-on besoin du minimum exact ?
Idée :

Méthodes de descente
Choisir un pas qui diminue suffisamment la valeur
de la fonction.
Michel Bierlaire
17
Choix du pas :
approximation

Démarche:
–
–

Voyons d’abord ce que sont de
« mauvais » pas.
Déterminons des règles empêchant les
« mauvais » pas.
Prenons
–
–
f(x) = x2
x*= 0
Méthodes de descente
Michel Bierlaire
18
Choix du pas :
approximation

Algorithme
–
–
–

dk = (-1)k+1
ak = 2+3(2-(k+1))
xk=(-1)k(1+2-k)
Lorsque k est
grand
–
–
–
dk = (-1)k+1
ak  2
xk (-1)k
Méthodes de descente
Michel Bierlaire
19
Choix du pas :
approximation

Algorithme
–
–
–

dk = (-1)k+1
ak = 2+3(2-(k+1))
xk=(-1)k(1+2-k)
Lorsque k est
grand
–
–
–
dk = (-1)k+1
ak  2
xk (-1)k
Méthodes de descente
k
0
1
2
3
4
5
10
999
1000
xk
2.000
-1.500
1.250
-1.125
1.063
-1.031
1.001
-1.000
1.000
Michel Bierlaire
dk
-1
1
-1
1
-1
1
-1
1
-1
ak
3.500
2.750
2.375
2.188
2.094
2.047
2.001
2.000
2.000
f(xk)
4.000
2.250
1.563
1.266
1.129
1.063
1.002
1.000
1.000
20
Choix du pas :
approximation

Problème :
–

très petites diminutions de f
relativement à la longueur des pas
Solution :
–
exiger une diminution suffisante de f
Méthodes de descente
Michel Bierlaire
21
Choix du pas :
approximation
a
f(xk)+af(xk)Tdk
Méthodes de descente
f(xk)+ab1f(xk)Tdk
b1  ]0,1[
Michel Bierlaire
22
Choix du pas :
approximation

On choisit ak tel que
f(xk+akdk)  f(xk)+akb1f(xk)Tdk
b1  ]0,1[


Reprenons l’exemple (k grand et impair)
f(x)=x2, xk = -1, dk=1, ak=2, f’(x)=2x
f(-1+21)  1+2b1(-2 1)
1  1 – 4 b1
4 b1  0
Impossible
L’algorithme sera rejeté par cette règle
Méthodes de descente
Michel Bierlaire
23
Choix du pas :
approximation

Conditions d’Armijo-Goldstein
f(xk+akdk)  f(xk)+akb1f(xk)Tdk
b1  ]0,1[
Méthodes de descente
Michel Bierlaire
24
Choix du pas :
approximation
Algorithme de recherche linéaire
 Soient g(a), b1,l  ]0,1[, a0 > 0
 Pour k=1,2,…
–
–
Si f(xk+akdk)  f(xk)+akb1f(xk)Tdk alors
a*=ak STOP
ak+1 = l ak
Méthodes de descente
Michel Bierlaire
25