• Aucun résultat trouvé

Algorithme combin´ e de DCA et SE (SE-DCA)

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

λ

i

s

i

o`u

n+1

i=1

λ

i

= 1, λ

i

0i= 1,2, ..., n+ 1.

Notons M la matrice [s

1

, s

2

, ..., s

n+1

], la contrainte c

T

x+d

T

yµ(x)0 est relax´ee par

c

T

M λ+d

T

y

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

T

Q

xx

M)λ+ 2λ

T

(M

T

Q

xy

)y+y

T

Q

yy

y+ (c

T

M)λ+d

T

y}

s.t (AM)λ+Byq,

(c

T

M)λ+d

T

y

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

S

DCA

) : 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

esoudre le probl`eme (4.1) par DCA pour obtenir (x

S0

DCA

, y

S0

DCA

).

Calculer une solution r´ealisable (x

S0

DCA

, 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

1

et S

2

via le point m´edian w.

– R´esoudre le probl`eme convexe(P

relax

)sur le simplexeS

ℓi

pour 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 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

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

T

1

Q

1

.

Les matrices A = [a

ij

]

k×n

et B = [b

ij

]

k×m

sont 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

i

du vecteur q sont g´en´er´es al´eatoirement dans [0, n+m].

Les composantsa

i

, b

i

, c

i

, d

i

sont al´eatoirement g´en´er´es dans [2.0,2.0].

Le simplexe S est d´efini par S ={xR

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 alLB|

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 queGap5% 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

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.