optimisation non différentiable

40
Optimisation non différentiable

Upload: orlando-butler

Post on 03-Jan-2016

30 views

Category:

Documents


0 download

DESCRIPTION

Optimisation non différentiable. Ce chapitre est consacré aux méthodes de type sous-gradient pour résoudre des problèmes de programmation mathématique où la fonction économique n’est pas différentiable en tout point. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Optimisation  non différentiable

Optimisation

non différentiable

Page 2: Optimisation  non différentiable

• Ce chapitre est consacré aux méthodes de type sous-gradient pour résoudre des problèmes de programmation mathématique où la fonction économique n’est pas différentiable en tout point.

• Les sous-gradients tiennent la place qu’occupe les gradients lorsque la fonction économique est différentiable.

Page 3: Optimisation  non différentiable

Méthode du sous-gradient

1

1

1

Considérons le problème Min

où et : est une fonction convexe mais pas nécessairementde classe / .

Soient une fonction coDéfinitio nvexe : où et un point où prend une v

n:

x Xn

n

f x

X R f X RC X

X R X Rx X f

T

sous-gradienaleur finie. Un vecteur est un de à si pour tout

tnRx x X

x x x x

Page 4: Optimisation  non différentiable

1

T

Soient une fonction convexe : où et un point où prend une valeur finie. Un vecteur est sous-gradieun

de à

Défn

si pout

r tout

init o

i n: n

n

X R X Rx X f R

x x Xx x x x

x

T1x x x

T2x x x

Aux points où est différentiable, le gardient est

l'unique sous-gradient et par conséquent l'unique éléR

memarque

ent de :

.x X

x

dénote l'ensemble des sous-gradients de à un point

où la fonction n'est pas différentiDéfi

ablni io

et :

.n x

x X

x

Tx x x x

Page 5: Optimisation  non différentiable

0

1

1

L'algorithme suivant de type sous-gradient est une méthodeitérative qui génère une suite de points où est un pointinitial choisi dans et où

i.e., est généré à par

Cas 1:

tir

n

k k k

k

k

k

X R

x x

x

t

xX

x

1 de en prenant un pas

dans la direction opposée à un sous-gradient

pour s'éloigner de .

k

kk k

k

x t Rf x

x

Page 6: Optimisation  non différentiable

0

1

1

L'algorithme suivant de type sous-gradient est une méthodeitérative qui génère une suite de points où est un pointinitial choisi dans et où

(i.e., est généré à pa

Cas 2:

rti

n

k k k

k

k

k

X R

x x

x

t

xX

x

21 1 1

1r de en prenant un pas dans la direction opposée à un sous-gradient

pour s'éloigner de )et par la suite

où est un opérateur projetant le point

ArgM

s

i

ur

nk k

k

k

k

Xx

k k

k

X

X

x P

x t Rf

x

P

x x

x

x

de sorte à

assurer que la suite appartient à .k

Xx X

Page 7: Optimisation  non différentiable

Direction opposée au sous-gradient

MALHEUREUSEMNENT la direction opposée à un sous-gradient en un'est pas nécessaireme

npoint une direction de desce .nt ntex

T T

T

00

Pour faciliter l'argumentation, considérons une fonction définie sur .Soit un sous-gradient de à . Alors par definition du sous-gradient

0

lim

nf Rf x

f x d f x x d x f x d

f x d f xd

f x

Td f xd

Page 8: Optimisation  non différentiable

T T

T

T

00

Soit un sous-gradient de à . Alors par definition du sous-gradient

0

lim

f xf x d f x x d x f x d

f x d f xd

f x d f xd

T

00

Si , et si 0

lim 0

et par conséquent est une direction de montée à puisqu'il existe un 0 tel que

0 0

0 0 .

df x f x

x

f x f x

f x f x f x f x

Page 9: Optimisation  non différentiable

T

00

limf x d f x

d

T

00

Si , et si 0

lim 0

et par conséquent est une direction de montée à puisqu'il existe un >0 tel que

0 0 .

df x d f x

x

f x d f x f x d f x

T

00

00

Si , et si 0

lim

et par conséquent ceci n'implique pas nécessairement que

lim 0.

df x f x

f x f x

Page 10: Optimisation  non différentiable

T

00

00

Si , et si 0

lim

et par conséquent ceci n'implique pas nécessairement que

lim 0.

df x f x

f x f x

1Pour illustrer, considérons l'exemple suivant dans :

Max , .R

f x x x

f x

0 1 0f x x

À 0, 1 est un sous-gradient.x

Mais la direction 1est telle que

0 0 .Ainsi 0,

0 .

d

f d f

f f

Page 11: Optimisation  non différentiable

Le lemme suivant introduit une condition suffisante en termes des sous-gradients pour qu'une direction en soit une de descente en un point.

1 Soit un ensemble convexe et : une fonction convexe. Soit et une direction réalisable au point (i.e.,il existe un >0 tel que pour tou

L

t 0< , ). Prenons 0<et déf

emme

i

1: n

n

X R f X Rx X d R x

x d X

Tnissons . Si pour un sous-gradient de à , 0,

alors est une direction de descente à .x x d X f x d

d x

T

T

T

Puisque est un sous-gradient de à , alors

.

Donc pour tout 0,1 ,

1 1 .

Par conséquent est une direction de descente à .

Preuve. f xf x f x x x

f x f x x x d

f x f x d f x

f x x f x f x f x

d x

Page 12: Optimisation  non différentiable

*

* T *

* T *

*

*

T * *

*

Soit est solution optimale

Soit un sous-gradient de à

ou encore

.

Or puisque est solution optimale

0.

Également,

cos .

Donc

cos 0

et l'angle

x

f x

f x f x x x

f x f x x x

x

f x f x

x x x x

x x

*entre et

est inférieur à 90 .

x x

0 x

*x x*x

Donc même si en général

l'objectif n'est pas monotone

décroissant à chaque itération,

la direction opposée au sous-

gradient nous oriente vers une

solution optimale.

Page 13: Optimisation  non différentiable

Condition d’optimalité

*

*

*

* * T *

Une condition nécessaire et suffisante pour que soit un

minimum de sur est que 0 , i.e., 0 est un sous-gradient de

à .

0

Résultat

Pr

.

e.

2:

euv

x

f X f x

f x

f x f x x X f x f x x x x X

Page 14: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

2 2x y x y

2x x y

2 2x x y

1

Page 15: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Les points où la fonction n'est pasdifférentiables sont : 0

,0 où ,0 0 2 0

,2 où , 2 2

, où , ( 2 ) .

fh

h f h h h h

h h f h h h h h h

h h f h h h h h h

La solution optimale est , 0,0

où 0,0 0.

x y

f

De plus au point 0,0 , les trois fonctionslinéaires définissant sont égales.f

2x x y

2 2x x y

2 2x y x y

Page 16: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

La solution optimale est , 0,0

où 0,0 0.

x y

f

De plus au point 0,0 , les trois fonctionslinéaires définissant sont égales.f

T

T T T

Donc 0,0 0,0 , mais également

1,0 , 1,1 , 1, 2 0,0

f

f

T

T

T

, 0 1,0 ,

, 0 1,1 ,

, 0 1, 2 , 2

f x y x y x

f x y x y x y

f x y x y x y

Page 17: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Considérons le point , 1,0 où

1,0 1 0 1 2 0 1.

Par conséquent 1,1 1,0 .

x y

f

f

Par contre la direction 1, 1n'est pas une direction de descente.

Mais l'angle entre et le vecteur 0,0 1,0

est inférieure à 90

T, 1,0 1,1 1,

1 1

f x y f x y

x y x y

Page 18: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Par contre la direction 1, 1n'est pas une direction de descente.

Mais l'angle entre et le vecteur 0,0 1,0

est inférieure à 90

Quand on se deplace dans la direction pour s'éloigner de 1,0 ,

1,0 1, 1

on se rapproche de 0,0

t

Page 19: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Par contre la direction 1, 1n'est pas une direction de descente.

Mais l'angle entre et le vecteur 0,0 1,0

est inférieure à 90

Quand on se deplace dans la direction pour s'éloigner de 1,0 , on se

rapproche de 0,0

Quand on se deplace dans la direction pour s'éloigner de 1,0 ,

1,0 1, 1

on se rapproche de 0,0

t

Page 20: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Par contre la direction 1, 1n'est pas une direction de descente.

Mais l'angle entre et le vecteur 0,0 1,0

est inférieure à 90

Quand on se deplace dans la direction pour s'éloigner de 1,0 , on se

rapproche de 0,0

Quand on se deplace dans la direction pour s'éloigner de 1,0 ,

1,0 1, 1

on se rapproche de 0,0

t

Page 21: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

Par contre la direction 1, 1n'est pas une direction de descente.

Mais l'angle entre et le vecteur 0,0 1,0

est inférieure à 90

Quand on se deplace dans la direction pour s'éloigner de 1,0 ,

1,0 1, 1

on se rapproche de 0,0jusqu'à ce qu'on

1 1atteigne , .

2 2

t

Page 22: Optimisation  non différentiable

Min , : 1 1, 1 1

où , M ax ,

Exemple:

2

,

f x y x y

f x y x x y x y

2

22

1

11

X

2f

1f

1

3Par contre, si on prend un pas

2dans la direction ,

3 1 31,0 1, 1 ,

2 2 2

t

En projetant ce point sur ,on retrouve le point

1, 1 .

2

X

1, 1

2

1 3,

2 2

Page 23: Optimisation  non différentiable

Choix du pas tk

Plusieurs façons différentes ont été proposées dans la littérature pour choisir la suite des pas pour que la méthode de type sous-gradient converge.

kt

*

0

démontre que la suite converge vers la valeur

minimum recherchée si la suite des pas satisfait les conditions

suivantes:

0 et .

En général il est

) Dans 1 , Pol

if

yak

d

k

k

k k

k

f x

f

t

i

x t

t

ficile d'implémenter la méthode avec de tels suites de pas.

De plus la convergence peut être très lente.C'est pourquoi les alternatives suivantes ont été proposées.

Page 24: Optimisation  non différentiable

1 k 2

proposent d'utiliser la suite de pasdéfinie comme suit:

ˆ

où dénote un sous-gradien

) Da

t de à ,ˆoù Min ,

et où satisfait 0< 2 <2 .

S

ns 2 , Held, Wolfe et Crowde

o

r

us

k

k k k

k k

nx R

k

f x ft

f x

i

f x

i

f

k

ˆ ces conditions, il est démontré que ou qu'il existe un

ˆ tel que .

Comme il est généralement plus difficile de déterminer une borne ˆsupérieure de Min qu'une borne inférieure Mi

k

k

nx R

f x f

k f x f

f f x f

n , les

ˆauteurs de 2 ont utilisé avec succès une valeur plutôt que pourobserver quand même une convergence de la méthode.

nx Rf x

f f

Page 25: Optimisation  non différentiable

a) Déterminer le nombre d'itérations à compléter.b) Choisir un nombre .

c) Diviser la séquence d'itérations 1, , en blocs d'it

block halving

érations

scheme:

dont les premiers

Nr

NN T

rT

1 comptent itérations et le bloc en compte au plus .d) Pour chaque bloc , choisir un paramètre , 1, .

(Typiquement pour 200, 75, 3, 1 0.75, 2 0.5,

3 0.25.)e) Au cours des itérations

r Tr

T

N r T

du bloc , déterminer le pas pour la première itération avec la formule

ˆ

où prend la valeur .

k

k k k

k

f x ft

Page 26: Optimisation  non différentiable

e) Au cours des itérations du bloc , déterminer le pas pour la première itération avec la formule

ˆ

où prend la valeur .

block halving schem

Mais pour les autres i

e:

térat

k

k k k

k

f x ft

ions du bloc le pas prend la même valeur qu'à la première itération du bloc, sauf qu'à chaque fois que la valeur de la fonction économique ne s'améliore pas pour un nombre d'it

érations consécutives ( =10 par exemple), alors la valeur du pas est divisée par deux.

De plus, au debut de chaque bloc et à la prochaine itération après avoir divisée par deux la valeur

du pas, la solution utilisée est la meilleure rencontrée depuis le début.

Page 27: Optimisation  non différentiable

0

propose de choisir

où 0 1.

Pour certaines valeurs de , l'algorithme peut converger vers un po

) Dans 3 ,

int quin'est pas un

Gof

minimum.

fink

kt t

iii

Page 28: Optimisation  non différentiable

*) Dans les variantes précédentes, même si l'angle entre et

est inférieur à 90 , elle peut s'en approcher lorsque le nombre d'itérationsaugmente.

Pour améliorer l'efficacité de la méthode,

k kiv x x

1 1

certains auteurs (

) proposent de définir la suite des directions utilisées en

s'inspirant de la méthode des gradients conjugués pour les problèmesdifférentiables:

comme Sh

,

or

dans

,

4 k

k k kk

d

d d x

1

Les méthodes de faisceaux (bundle me

où est un paramètre à être déterminé de façon appropriée.

ont été proposées par . Elles sont des extensions des mét

thodshodes

)Lema de drécha escente oùla

l 5

k

k

x

fonction économique diminue strictement à chaque itération. Elles sontplus complexes et requièrent beaucoup plus d'efforts numériques. Malgrétout, leur convergence demeure sous-linéaire dans les meilleurs cas.

Page 29: Optimisation  non différentiable

Dual Ascent Method

Cette méthode est bien adaptée pour résoudre des problèmes de typeMin Max. Le dual lagrangien est un problème de ce type, et nous allonsillustrer la méthode avec ce problème.

Min

Sujet à 0 1, ,i

P f x

f x i

0 0

1

Dual lagrangien

Max Min Max .

n

m

i ix X

i

m

x X R

D f x f x G

Page 30: Optimisation  non différentiable

0 01

1

Min

Sujet à 0 1, ,

Dual lagrangien

Max Min Max .

La fonction = Min est concave mais pas

necessairement différentiable

in

m

i ix X

i

m

i ix X

i

P f x

f x i m

x X R

D f x f x G

G f x f x

0

en tout point , 0.

La méthode suivante résout le problème dual

Max .

mR

G

Page 31: Optimisation  non différentiable

1 1

Supposons que 0 est la solution actuelle.Supposons également que est un point

Résumons une itération de

Min .

Rappelons qu

la méthode du dual asc

'a

ent.

m m

i i i ix X

i i

x X

G f x f x f x f x

T

1

1

lors un sur-gradient de à est donné par

, , .

Parmi les variables , , , déterminons la variable dont nous allonsmodifier la valeur. L'indice de cette variables est choisie en consid

m

m

G

f x f x

1 1 ,

2 1 ,

érant le sur-gradient de à :

Max : 0

Min : 0

i i ii m

i i ii m

G

f x f x f x

f x f x f x

Page 32: Optimisation  non différentiable

T

1

1

Rappelons qu'alors un sur-gradient de à est donné par

, , .

Parmi les variables , , , déterminons la variable dont nous allonsmodifier la valeur. L'indice de cette variable est choi

m

m

G

f x f x

1 1 ,

2 1 ,

sie en considérant le sur-gradient de à afin de sélectionner la variable dont la modificationentraîne la plus grande augmentation marginale de . Ainsi soit

Max : 0

Min :

i i ii m

i ii m

GG

f x f x f x

f x f x

1 1 2

2 1 2

0 .

Alors

si=

si .

i

i i

i i

f x

i f x f x

i f x f x

Page 33: Optimisation  non différentiable

1 1 1

Considérons la fonction à une seule variable

, , , , ,

où seule la valeur de peut varier alors que les valeurs des autres variables sont fixées à pour tout .

Alors

Mi

m

i i

G G

i

G

1 1

1

n ,

et la fonction

Min

est linéaire par morceaux.

m m

i i i ix X

i ii i

m

i ix X

ii

f x f x f x f x f x f x

G f x f x f x

Page 34: Optimisation  non différentiable

1

Min est linéaire par morceaux.

m

i ix X

ii

G f x f x f x

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

G

Page 35: Optimisation  non différentiable

1

Min est linéaire par morceaux.

m

i ix X

ii

G f x f x f x

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

Un morceau de la fonction reste valide pour

évaluer pour toutes les valeurs de

pour lesquelles

Min

est atteint pour la même solution .

m

i ix X i

i

G

f x f x f x

x

1

Par exemple

.m

i iii

G f x f x f x

G

Page 36: Optimisation  non différentiable

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

Par exemple

.m

i iii

G f x f x f x

Étant donné sa valeur actuelle , la valeur de

augmente ou diminue (tout en s'assurant que

0)de sorte à faire augmenter tant

qu'elle est définie sur le même morceau

(i.e., tant que dan

G

s notre exemple).

Dénotons par la valeur de où le morceau

définissant changeG

Page 37: Optimisation  non différentiable

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

Par exemple

.m

i iii

G f x f x f x

Dénotons par la valeur de où le morceau

définissant changeG

1

1

1

Minm

i ix X

ii

m

i i

ii

m

i i

ii

G f x f x f x

f x f x f x

f x f x f x

Page 38: Optimisation  non différentiable

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

Par exemple

.m

i iii

G f x f x f x

T

1 1 1

Alors la solution actuelle est remplacée par

, , , , , ,

pour amorcer la prochaine itération.

m

Page 39: Optimisation  non différentiable

1

ˆ ˆ ˆm

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

m

i i

ii

f x f x f x

1

Par exemple

.m

i iii

G f x f x f x

inf

inf

inf inf

inf

sup inf

sup inf

0.1. Si atteint pour , alors

, et reprendre 1. Si atteint pour , alo

Méthode approximative de recherche de

rs , et aller à 2.

2. =2

Si

G x

G x x

inf

sup

sup infsup

sup

atteint pour , alors , et aller à 3. Si atteint pour , alors , et aller à 3.

3. Si , alors , et

cesser la recherche de .Autrement,

tolérance

G x

G x x

reprendre 2.

Page 40: Optimisation  non différentiable

Références

[1] Polyak B.T. (1967), A General Method of Solving Extremum Problems, Soviet Mathematics Doklady 8, 593-597.

[2] Held M., Wolfe P., Crouwder H.P. (1974), Validation of Subgradient Optimization’ Mathematical Programming 6, 62-88.

[3] Goffin J.L. (1977), On Convergence Rates of Subgradient Optimization Methods, Mathematical Programming 13, 329-347.

[4] Shor N.Z. (1970), Convergence Rtae of the Gradient Descent Method with Dilatation of the Space, Cybernatic 6, 102-108.

[5] Lemaréchal C. (1978), Nonsmooth Optimization and Descent Methods’ International Institute for Applied Systems Analysis, Research Report 78-4, Laxenburg, Austria

[6] Minoux M. (1993), Programmation Mathématique, Théorie et Algorithmes, Dunod, Paris.

[7] Balakrishnan A., Magnanti T.L., Wong R.T., (1989) A Dual-Ascent Procedure for Large-Scale Uncapacitated Network Design, Operations Research 37, 716-740.