optimisation non différentiable

Post on 03-Jan-2016

30 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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.

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

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

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

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

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

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

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

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

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

*

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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

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.

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.

top related