4.2 R´ esolution du probl` eme (4.1)
4.2.2 Algorithme combin´ e de DCA et SE (SE-DCA)
Afin d’obtenir une r´esolution globale du probl`eme 4.1, nous combinons DCA avec la m´ethode
SE. Sa diff´erence par rapport `a la m´ethode SE donn´ee dans [139] est que l’algorithme 4.1
est utilis´e pour am´eliorer la borne sup´erieure. La borne inf´erieure est obtenue en r´esolvant
un probl`eme relax´e convexe o`u nous lin´earisons la contrainte concave p(x, y)≤0.
Soit V(S) :={s
1, s
2, ..., s
n+1} l’ensemble des sommets du simplexe S, un point x ∈ S peut
ˆ
etre exprim´e comme suit :
x=
n+1∑
i=1λ
is
io`u
n+1∑
i=1λ
i= 1, λ
i≥0∀i= 1,2, ..., n+ 1.
Notons M la matrice [s
1, s
2, ..., s
n+1], la contrainte c
Tx+d
Ty−µ(x)≤0 est relax´ee par
c
TM λ+d
Ty−
n+1
∑
i=1
µ(s
i)λ
i≤0.
Par cons´equence, le probl`eme suivant est un probl`eme relax´e de (4.1)
(P
relax)
β = min{λ
T(M
TQ
xxM)λ+ 2λ
T(M
TQ
xy)y+y
TQ
yyy+ (c
TM)λ+d
Ty}
s.t (AM)λ+By≤q,
(c
TM)λ+d
Ty−
n∑
+1 i=1µ(s
i)λ
i≤0,
n∑
+1 i=1λ
i= 1, λ≥0.
Alors, β fournit une borne inf´erieure de la valeur optimale du probl`eme (4.1).
Dans la description de l’algorithme combin´e SE-DCA, nous utilisons les notations suivantes :
– (x
S, y
S) : la solution optimale du probl`eme relax´e convexe sur le simplexe S,
– (x
S DCA, y
SDCA
) : la solution donn´ee par DCA sur le simplexe S,
– (x
opt, y
opt) : la meilleure solution,
– α : la meilleure borne sup´erieure,
– β : la meilleure borne inf´erieure,
– ℜ: l’ensemble des simplexes,
– S
0:=S etϵ est un nombre positif suffisamment petit.
L’algorithme combin´e de DCA et SE (SE-DCA) peut ˆetre d´ecrit comme suit :
Algorithme 4.2 (L’algorithme combin´e SE-DCA)
77 4.3. R´esultats num´eriques
– Choisir le premier rectangle S
0:=S.
– Choisir un nombre positif suffisamment petit ϵ.
´
Etape 1 :
– R´esoudre le probl`eme relax´e convexe (P
relax) pour obtenir (x
S0, y
S0).
– Calculer une solution r´ealisable (x
S0, y
f ea) via le proc´edure FP.
– La premi`ere borne inf´erieure est donn´ee parβ =β(S
0) =F(x
S0, y
S0) et la premi`ere borne
sup´erieure est α=F(x
S0, y
f ea), la premi`ere solution (x
opt, y
opt) = (x
S0, y
f ea).
– Si α−β≤ϵ|α| Alors S’ARR ˆETER
Sinon
R´esoudre le probl`eme (4.1) par DCA pour obtenir (x
S0DCA
, y
S0DCA
).
Calculer une solution r´ealisable (x
S0DCA
, y
f ea) via le procedure FP.
Mettre `a jour la meilleure borne sup´erieure α et la meilleure solution.
FinSi
– Si α−β≤ϵ|α| Alors S’ARR ˆETER
Sinon
ℜ ←− {S
0}.
FinSi
´
Etape 2 :
– S´electionner un simplexe S
ℓ∈ ℜ tel que β(S
ℓ) est le plus petit.
– Supposons que [s
i, s
j] est l’arˆete la plus longue du simplexe S
ℓet w= (s
i+s
j)/2. Diviser
S
ℓen deux sous-simplexes S
ℓ1et S
ℓ2via le point m´edian w.
– R´esoudre le probl`eme convexe(P
relax)sur le simplexeS
ℓipour obtenir la solution(x
Sℓi, y
Sℓi).
– Calculer une solution r´ealisable (x
Sℓi, y
f ea) et mettre `a jour la meilleure solution et la
meilleure borne sup´erieure
– Si β(S
ℓi)<(1−ϵ)α Alors
Lancer l’algorithme 4.1 `a partir du point initial(x
Sℓi, y
Sℓi)pour obtenir(x
SDCAℓi, y
DCASℓi).
Calculer une solution r´ealisable (x
SDCAℓi, y
f ea) et mettre `a jour α et (x
opt, y
opt).
FinSi
– ℜ={S∈ ℜ:β(S)< α} ∪ {S
ℓi:β(S
ℓi)< α, i= 1,2} \ {S
ℓ}.
– Mettre `a jour β = min{β(S) :S ∈ ℜ}.
´
Etape 3 :
– Si (α−β)< ϵ|α| Alors S’ARR ˆETER
Sinon
Retouner `a l’´etape 2.
FinSi
4.3 R´esultats num´eriques
Dans le but d’´evaluer l’efficacit´e de l’algorithme 4.1 (DCA) et l’algorithme 4.2 (l’algorithme
combin´e SE-DCA), nous avons compar´e leurs r´esultats avec ceux de l’algorithme SE sans
DCA. Tous les trois algorithmes ont ´et´e programm´es en MATLAB 2009b. Le logiciel
com-78
R´esolution d’une classe des probl`emes d’optimisation `a deux niveaux et une application en
gestion de portefeuille
mercial CPLEX 12.1 est utilis´e pour r´esoudre des programmations quadratiques convexes
et des probl`emes lin´eaires. Le temps d’ex´ecution est fix´e 3600 secondes pour tous les trois
algorithmes.
Au niveau des donn´ees, nous consid´erons trois cas (cas 1 : n=50, m=50, cas 2 : n=100,
m=150, cas 3 : n=150, m=150). Pour chaque cas, nous avons test´e les algorithmes sur 10
jeux de donn´ees qui sont g´en´er´es al´eatoirement et de mani`ere suivante :
• Pour g´en´erer une matrice sym´etrique et semi-d´efinie positiveQ, nous g´en´erons al´eatoirement
une matrice Q
1= (q
ij), ∀i, j = 1,2, ..., m+n avec les composants q
i,j∈[−1.0,1.0] et puis
la matrice Qest d´etermin´ee par Q=Q
T1
Q
1.
• Les matrices A = [a
ij]
k×net B = [b
ij]
k×msont al´eatoirement g´en´er´ees dans [−1.0,1.0].
Le param`etre k est choisi 100 dans les cas 1, 2 et 200 dans le cas 3. En outre, toutes les
variablesy sont born´ees dans l’intervalle [−10.0,10.0].
• Les composantsq
idu vecteur q sont g´en´er´es al´eatoirement dans [0, n+m].
• Les composantsa
i, b
i, c
i, d
isont al´eatoirement g´en´er´es dans [−2.0,2.0].
• Le simplexe S est d´efini par S ={x∈R
n+
:
n
∑
i=1
x
i≤s} avecs= 10 dans le cas 1 et s= 20
dans les cas 2 et 3.
Les r´esultats fournis par DCA, SE-DCA et SE sont rapport´es dans les mˆemes tableaux o`u
nous utilisons les notations ci-dessous :
– Pro : Probl`eme,
– Av : Moyenne (”average” en anglais),
– OptVal : la valeur optimale de la fonction objectif donn´ee par chaque algorithme,
– Time : le temps d’ex´ecution en seconde de chaque algorithme,
– Gapest calcul´e par Gap=
OptV al|OptV al−LB|o`u LB est la meilleure borne inf´erieure.
Les tableaux 4.1-4.3 donnent les r´esultats obtenus dans les cas i = 1,2,3 respectivement.
Les Figure 4.1-4.3 pr´esentent le Gap de tous les trois algorithmes dans les cas (i = 1,2,3)
respectivement. Rappelons queGap≤5% est un crit`ere d’arrˆet pour les algorithmes SE-DCA
et SE.
Commentaires sur les r´esultats
Nous constatons, `a partir des r´esultats, que :
• DCA est tr`es rapide : pour la plupart des jeux de donn´ees, le temps d’ex´ecution de DCA
est inf´erieur `a 5 secondes.
• DCA fournit une bonne solution optimale approch´ee. La moyenne de Gap de DCA est
environ 8 %.
• La solution donn´ee par DCA est meilleure que celle fournie par l’algorithme SE sans
DCA malgr´e que le temps d’ex´ecution de SE soit beaucoup plus long. Les Figures 4.1-4.3
montrent que la courbe de Gap donn´ee par DCA est plus basse que celle de SE(BB).
• Grˆace `a l’efficacit´e de DCA, l’algorithme combin´e SE-DCA est meilleur que l’algorithme
SE sans DCA. La moyenne de Gap de SE-DCA est plus petite que celle de SE. Avec la
limite de temps d’ex´ecution de 3600 secondes, les moyennes de Gap de SE-DCA dans les
79 4.3. R´esultats num´eriques
FIG. 4.1 – Gap de tous le trois algorithmes dans le cas 1
FIG. 4.2 – Gap de tous le trois algorithmes dans le cas 2
cas 1, 2, 3 sont respectivement 5.42, 7.55, 9.43 alors que celles de SE sont respectivement
8.18, 9.67, 11.38. Dans le cas 1, SE-DCA trouve uneϵ-solution globale (Gap < 5%) pour 4
jeux de donn´ees tandis que SE ne trouve qu’une solution globale pour 3 jeux de donn´ees.
Dans le cas 2, pour aucun jeu de donn´ees SE donne une solution globale mais SE-DCA a
r´eussi pour 2 jeux de donn´ees.
• DCA est le meilleur : en comparant avec SE-DCA, DCA est beaucoup plus rapide et la
diff´erence entre leurs solutions est n´egligeable. En r´esum´e, DCA trouve une bonne solution
80
R´esolution d’une classe des probl`emes d’optimisation `a deux niveaux et une application en
gestion de portefeuille
FIG. 4.3 – Gap de tous le trois algorithmes dans le cas 3
r´ealisable en temps d’ex´ecution petit. Il r´ealise tr`es bien le compromis entre l’efficacit´e et
l’exactitude.
Dans le document
Optimisation non convexe en finance et en gestion de production : modèles et méthodes
(Page 82-86)