• Aucun résultat trouvé

Problème de localisation et de transport robuste

Dans le document Robustesse en programmation linéaire (Page 121-129)

4 3 Expérimentations numériques

4.3.2 Problème de localisation et de transport robuste

Dans cette section, nous présentons les résultats de calcul concernant la résolution du problème de localisation et de transport robuste bi-étapes Trob(Γ). En plus des

données précédemment générées sur la partie du transport, nous incluons la partie localisation du problème, à savoir : pour toute source i, i = 1 . . . m, les capacités Ci

sont générées uniformément dans[200, 700]. Les coûts fixes et variables appartiennent respectivement aux intervalles [100, 1000] et [10, 100]. Nous montrons les résultats numériques issus de l’application de l’algorithme de Kelley (décrit à la section 4.2.2) sur le problème Trob(Γ), tel que le temps d’exécution est limité à deux heures.

Dans la figure 4.4.a est reportée la valeur de l’optimum du problème robuste en fonction de Γ pour un échantillon m = 50 et n = 50. L’allure de la courbe de la fonction objectif est similaire à celle du problème de recours (voir la figure 4.1.b). En effet, quand la valeur de Γ augmente, le coût augmente, rapidement pour des petites valeurs de Γ, et plus lentement quand Γ s’approche de n. La figure 4.4.b illustre pour le même exemple, l’écart -en pourcentage- entre la valeur de l’optimum de Trob(Γ)

0 10 20 30 40 50 60 70 80 90 100 0 2 4 6 8 10 12 14 16 18 20

Delta opt / Max opt

Gamma(%) (b) 0 10 20 30 40 50 60 70 80 90 100 23 24 25 26 27 28 29 Valeur de l'optimum ( x 10 5 ) Gamma(%) (a)

Fig. 4.4 – Résolution du problème Trob(Γ) pour un test n = m = 50 : a- Valeur de l’optimum en

fonction deΓ. b- MaxOpt∆Opt en fonction deΓ

et la solution de pire cas (pour le problème mono-étape où Γ = n) en fonction de Γ. Nous remarquons que le décideur peut réaliser un gain significatif, jusqu’à 18% de bénéfices, sur les coûts de transport par rapport à une approche classique de pire cas, et cela tout en garantissant la réalisabilité du problème et la satisfaction des demandes des clients, même les plus élevées. Ce gain est d’autant plus grand queΓ est petit. Ceci montre la pertinence de notre approche.

Nous nous intéressons à présent au temps de résolution du problème robuste. Le tableau 4.2 résume les résultats de plusieurs séries de tests, où le nombre de sources et de clients ont été fixés respectivement à n = m = 10, 70, 100 et 150. Les résultats montrent que pour n = m = 10, 50 ou 70, l’algorithme nécessite jusqu’à 20mn de temps d’exécution. Pour des tailles d’instances n = m = 100 ce temps est plus long, et dépasse les deux heures pour certaines valeurs de Γ. À partir de n = m = 150, ce temps limite est atteint presque pour toutes les instances pourΓ∈ [30%, 80%].

Par ailleurs, les colonnes 5 et 6 du tableau 4.2 montrent la proportion de temps passé dans la résolution du problème maître et le problème esclave respectivement. Les résultats confirment que la partie la plus coûteuse en temps dans l’algorithme de Kelley est la résolution du problème de recours, notamment quand Γ est autour de n/2. Enfin, nous remarquons que pour Γ = 100%, le problème de recours devient un problème facile (en fait, équivalent à un programme linéaire), ce qui explique les

4.3. Expérimentations numériques 111

résultats en ces lignes.

Tab. 4.2 – Temps d’exécution de la résolution du problème robuste Trob(Γ)

n×m Γ(%) # iter. Temps (s) Pb. Maître(%) Pb. Recours(%) Inst. Resolues 10×10 10% 8.6 0.05 10 90 10/10 20% 9.2 0.06 8.8 91.2 10/10 30% 10 0.06 8.8 91.2 10/10 40% 10.1 0.06 7.0 93.0 10/10 50% 10 0.05 5.0 95.0 10/10 60% 10 0.06 4.2 95.8 10/10 70% 10.3 0.04 6.0 94.0 10/10 80% 9.4 0.04 7.1 92.9 10/10 90% 9.9 0.03 10.1 89.9 10/10 100% 8.8 0.02 50.0 50.0 10/10 70×70 10% 117.9 124.14 28.9 71.1 10/10 20% 130.3 263.14 19.6 80.4 10/10 30% 124.4 570.62 6.3 93.7 10/10 40% 141.7 804.67 7.1 92.9 10/10 50% 153.9 964.01 6.0 94.0 10/10 60% 159.3 1085.50 7.1 92.9 10/10 70% 170.4 702.98 10.3 89.7 10/10 80% 184 351.58 26.3 73.7 10/10 90% 163.5 141.07 49.6 50.4 10/10 100% 146.4 57.67 84.1 15.9 10/10 100×100 10% 194.4 760.07 40.7 59.3 10/10 20% 180.2 1359.50 37.1 62.9 10/10 30% 208.1 1842.72 30.3 69.7 9/10 40% 231.1 2837.36 23.0 77.0 9/10 50% 235.9 4087.44 13.1 86.9 8/10 60% 237.7 4285.29 6.6 93.4 7/10 70% 228.1 3261.86 13.5 86.5 8/10 80% 245.2 2890.07 27.0 73.0 7/10 90% 265.6 1292.35 70.8 29.2 10/10 100% 242.2 633.17 93.6 6.4 10/10 150×150 10% 261,7 2647 19.4 80.6 10/10 20% 302,4 5499.08 12.8 87.2 8/10 30% 298,4 6316.47 6.4 93.6 6/10 40% 231 6375.56 3.6 96.4 6/10 50% 181 6677.38 1.5 98.5 4/10 60% 242 7042.79 2.5 97.5 3/10 70% - 7200 10.1 89.9 0/10 80% 222,6 6216.67 22.6 77.4 5/10 90% 286,1 3723.10 56.9 43.1 7/10 100% 306,5 2374.98 93.4 6.6 7/10 4.3.3 Autre contexte

Clôturons cette partie expérimentale en exposant quelques résultats expérimentaux sur la résolution du problème de localisation et de transport dans un contexte bi-étapes différent. En effet, considérons une autre version du problème de localisation et de transport, où le décideur tolère que le stockage ne garantisse pas de satisfaire les pires

demandes et désire dimensionner les entrepôts tout comme l’acheminement selon la valeur du paramètreΓ qu’il se fixe.

Dans ce cas, la formulation mathématique de la version robuste associée à ce pro- blème, noté T2rob(Γ), reste inchangée, à l’exception de la contrainte m

i=1

yi ≥ B qui doit

être remplacée par la contrainte :

m

i=1 yiB˜ (4.19) où ˜B= ∑n j=1 βj+ ∑ j∈˜J

ˆβj avec ˜J l’ensemble d’indices desΓ plus grandes déviations.

Nous observons que dans ce cas, les valeurs de v∗(n), données par la proposition 4.1, ne peuvent plus être utilisées comme bornes pour les variables v dans la formu- lation du problème de recours. En effet, à cause de la contrainte (4.19), la résolution du problème Q0(yk, n), nécessaire à la détermination de ces bornes à l’étape 2 de l’algorithme (voir la remarque 4.1), ne peut se faire, le problème étant désormais non réalisable.

Nous pouvons néanmoins énoncer quelques résultats de tests expérimentaux réa- lisés sur des petites tailles d’instances et cela en choisissant une valeur arbitrairement grande pour M. Les résultats de l’algorithme de Kelley sont les suivants :

Tab. 4.3 – Temps de résolution et nombre d’itérations pour la résolution de T2rob(n/2)

n×m # iter. Temps (s) 20×20 5.2 1.40

30×30 14 134

35×35 17.1 1363

40×40 19 4215

Le tableau 4.3 montre les résultats d’exécution de l’algorithme de Kelley sur le problème T2rob(n/2), où Γ = n/2 (représentant les instances les plus difficiles), et où

la borne M associée au problème de recours est de valeur arbitrairement grande. Nous constatons que les temps de calcul explosent rapidement dès lors qu’on dépasse le nombre de 30 demandes incertaines. Ce temps atteint plus d’une heure de calcul pour

4.3. Expérimentations numériques 113

une taille relativement faible de 40 demandes incertaines. Notons que des instances du problème Trob(Γ)de taille similaire sont résolues en quelques secondes (voir le tableau

4.4 sur une instance où n = m = 35). Ces résultats montrent clairement la nécessité de définir une borne adéquate et serrée pour améliorer les temps de résolution de T2rob(Γ).

Tab. 4.4 – Test n=m=35 : résolution de T2rob(Γ)vs Trob(Γ)

T2rob(Γ) Trob(Γ)

Γ(%) # iter. Temps (s) # iter. Temps (s)

10 40 76.90 22 1.79 20 43 1606.34 14 1.27 30 30 8010.29 9 1.26 40 22 7703.9 12 1.63 50 34 4216.17 12 1.44 60 25 777.14 25 3.52 70 22 186.52 26 3.36 80 31 32.96 25 2.51 90 35 12.16 31 2.23 100 23 0.46 16 0.43

Enfin, la figure 4.5 illustre pour le test précédent deux courbes qui, en fonction de Γ, représentent :

– la courbe A : l’écart en pourcentage entre l’optimum de T2rob(Γ) et celui de

Trob(Γ)(du premier contexte de décision),

– la courbe B : l’écart en pourcentage entre l’optimum de T2rob(Γ) et celui du

scénario de pire cas T2rob(n).

Nous observons tout d’abord que pour les deux courbes, cette différence est d’autant plus grande queΓ est faible. Elle se situe pour la première courbe entre 0% et 10%, et est environ 3 fois plus grande pour la seconde courbe. Il s’en suit qu’à défaut de pouvoir résoudre T2rob(Γ)de manière rapide, nous pouvons résoudre Trob(Γ)qui fournit dans

0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0 1 0 0 0 5 1 0 1 5 2 0 2 5 3 0 V a ri a ti o n r e la ti v e d e s c o u ts ( % ) G a m m a ( % ) A B

Fig. 4.5 – Variation relative des coûts en fonction deΓ pour un test n=m=35 : la courbe A représente la différence en pourcentage de v∗(Trob(Γ))−v∗(T2rob(Γ))

v∗(T2

rob(Γ)) ×100 . La courbe B exprime la différence en pourcentage de v∗(T2rob(n))−v∗(T2rob(Γ))

v∗(T2

rob(Γ)) ×100 .

Conclusion

Dans ce chapitre nous nous sommes intéressés à la résolution d’un problème de localisation et de transport comprenant des demandes incertaines. Nous avons intégré ces incertitudes dans une formulation robuste du problème.

Nous avons construit puis résolu la version robuste avec une approche bi-étapes adaptée. Grâce à une propriété du problème de transport que nous avons démontrée, nous avons pu définir des bornes serrées pour les constantes de la formulation en programme linéaire mixte du problème de recours, qui représente l’étape la plus difficile de l’algorithme de résolution.

À notre connaissance, nous proposons ici la première étude approfondie traitant de la détermination de ces bornes, et nous montrons par de multiples tests expérimentaux l’importance de telles bornes dans le calcul des solutions optimales, notamment pour la résolution d’instances de grande taille. En effet, dans les travaux antérieurs (voir par exemple Atamtürk et Zhang (2007), Thiele et al. (2009)) les instances résolues par des approches similaires sont de plus faibles tailles, s’arrêtant à quelques dizaines de coefficients incertains seulement.

Aussi, nous avons présenté un second contexte de décision pour le problème de localisation et de transport à la fin de ce chapitre, pour lequel nous n’avons pu pour

4.3. Expérimentations numériques 115

le moment déterminer une borne spécifique. Cette étude restant une perspective d’un travail futur.

Dans le dernier chapitre de cette thèse, nous nous intéressons à une autre applica- tion qui concerne un problème de gestion de stock robuste admettant des demandes incertaines, que nous traiterons selon plusieurs contextes de décision.

5

Application : Problème de gestion

Dans le document Robustesse en programmation linéaire (Page 121-129)

Documents relatifs