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
où
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.