• Aucun résultat trouvé

CHAPITRE 2 REVUE DE LITTÉRATURE

2.3 Optimisation basée sur la simulation

La simulation n’est pas un modèle de recherche de solution optimale comme la programma- tion mathématique, mais un modèle imitant le système et permettant d’évaluer n’importe quelle solution. En raison de l’absence de mécanique d’optimisation, elle évalue rapidement le résultat d’une solution, et ce même pour une modélisation complexe permettant un grand réa- lisme. Très tôt, des chercheurs comme Williamson (1992) l’utilisent pour évaluer des contrôles, solutions de programmes mathématiques à modélisation incomplète, dans un contexte plus réaliste. La simulation comme définie en 2.3.1 est aujourd’hui indispensable pour juger de manière réaliste de la qualité des contrôles d’un modèle ou d’une méthode de résolution de contrôle de disponibilité. Plus récemment, des techniques d’optimisation basée sur la simu- lation se développent comme nous le verrons dans les parties 2.3.2, 2.3.3 et 2.3.4.

2.3.1 Évaluation par simulation

Le modèle de simulation utilisé dans les recherches pour évaluer et comparer des contrôles est presque toujours dynamique stochastique à comportement d’achat. On note ˜W = {st :

0 ≤ t ≤ T } le processus aléatoire d’arrivées des segments à tout instant. Pour effectuer une évaluation par la simulation, on génère alors les arrivées W suivant la distribution de ˜W . En

partant de t = 0, par la formule de récurrence SIMUL et en appliquant le contrôle connu u, on arrive à déterminer les produits disponibles Jt à tout instant t. Le revenu R(c, u, W ) = R0(c, u, W ) propre à W peut alors être déduit.

Rt(c, u, W ) = rj(st,Jt)u + Rt+1(c − uAj(st,Jt)) (SIMUL)

c vecteur de capacité des m tronçons

W arrivées générées stentre 0 et T avec W ∼ ˜W

Rt(c, u, W ) revenu entre t et le départ pour c pour W avec le contrôle u

rj revenu du produit j

st segment arrivant éventuellement à t

Jt produit(s) disponible(s) à t.

j(st, Jt) produit j ∈ Jtchoisit par stà t

u = u(c, t, j(st, Jt)) décision de vendre ou non le produit j(st, Jt) à t et pour c

Aj vecteur de consommation des tronçons par le produit j

Le revenu obtenu est propre au W généré. Pour avoir un estimé de l’espérance du revenu

R(c, u, ˜W ) = E[R(c, u, W )], on moyenne alors n évaluations à la manière de la simulation

moyenne ainsi qu’un intervalle de confiance. R(c, u, ˜W ) = E[R(c, u, W )] ≈ R(c, u, ˜W , n) = 1 n n X k=1 R(c, Wk) (MonteCarlo)

La variance permettant d’établir l’intervalle de confiance est alors estimée empiriquement par l’estimateur 2.3. V ar[R(c, u, W )] ≈ 1 n − 1 n X k=1 (R(c, u, Wk) − R(c, u, ˜W , n))2 (2.3)

Ce revenu est ainsi calculé dans un contexte réaliste puisque les aspects de dynamisme, l’aspect stochastique et comportement d’achat sont considérés. La simulation permet donc d’évaluer tout contrôle de façon très réaliste.

2.3.2 Optimisation basée sur la simulation

Malgré son nom, l’optimisation basée sur la simulation combine en fait un programme mathé- matique (étape 1) et méthode de convergence sur simulation (étape 2) comme illustrée à la figure 2.1. L’objectif final est de trouver un bon contrôle de la disponibilité dans un contexte réaliste donc pour une modélisation précise : dynamique, stochastique et avec comportement d’achat. Programme mathématique Contrôle optimal global DLP/DAVN CDLP/DPCOMP Convergence sur simulation Hyp : Bon contrôle Contrôle amélioré SG SP/SA Modélisation Simplifiée Précise

Contexte moins réaliste Contexte réaliste

Étape 1 Étape 2

Figure 2.1 Techniques d’optimisation basée sur de la simulation

L’étape 1 consiste à résoudre un programme mathématique de modélisation à contexte

un peu moins réaliste de façon à trouver un contrôle optimal en un temps raisonnable. Ce contrôle noté u0 ne change pas suivant le contexte, mais est uniquement optimal dans le contexte moins réaliste. La méthode suppose toutefois que celui-ci appartient à une région de bons contrôles pour le contexte réaliste et devrait donc être une bonne solution de départ dans ce nouveau contexte. Le compromis de modélisation pour le programme mathématique est souvent fait sur l’aspect stochastique ou sur le comportement d’achat. Ainsi la plupart des recherches utilisent un DLP avec DAVN.

Dans L’étape 2, on utilise alors le modèle de simulation qui correspond à un contexte réaliste. La simple évaluation par la simulation du contrôle u0 dans ce contexte plus réaliste peut entraîner un revenu simulé R(c, u0) différent. Le but est alors d’améliorer ce contrôle initial en utilisant la simulation et son contexte réaliste grâce à une méthode de convergence basée sur la simulation. Nous décrivons les grandes étapes de ce type de méthodes ci-dessous :

1. On part du contrôle initial u ← u0

2. On calcul le gradient du revenu par rapport à u : ∇uR(c, u, ˜W )

3. On modifie u en fonction du gradient : u ← P rojΘ(u + γ∇uR(c, u, ˜W )) avec γ le pas

et Θ l’ensemble des contrôles admissibles.

4. Si le critère d’arrêt n’est pas atteint (norme du gradient, nombre d’itérations, amélio- ration de revenu ...) on retourne en 2 sinon STOP.

Ces méthodes de convergence sont basées sur la simulation, car le gradient ∇uR(c, u, ˜W ) et

le revenu R(c, u, ˜W ) sont calculés via évaluation par simulation. Suivant les paramètres de la

méthode de convergence sur simulation, le contrôle amélioré peut parfois être prouvé comme optimal localement. Les méthodes d’optimisation basées sur la simulation se divisent en deux groupes suivants que le calcul du gradient se fait indépendamment du modèle de simulation comme en 2.3.3 ou non comme en 2.3.4.

2.3.3 Calcul du gradient sans utilisation du modèle

Lorsque le modèle de simulation n’est pas utilisé par la technique de convergence, on parle d’optimisation de boite noire. La méthode de convergence utilise alors uniquement le revenu d’évaluation par simulation de plusieurs contrôles pour converger. Bertsimas et de Boer (2005a) se servent alors de différences finies classiques pour calculer chacune des coordonnées du gradient. Gosavi et al. (2005) utilisent une méthode de perturbations simultanées basée sur la différence entre des évaluations dont le contrôle a été légèrement et aléatoirement perturbé pour calculer le gradient. Cette méthode semble plus efficace que la première en terme de temps de calcul. Les différences finies demandent d’effectuer un très grand nombre d’évaluations. D’autant plus que cette opération est répétée à chaque itération de l’algorithme de gradient stochastique. Bertsimas et de Boer (2005a) coupent alors l’horizon de réservation en deux et se basent sur une estimation du revenu pour la période plus lointaine qui est mise à jour moins fréquemment contrairement à la partie plus proche.

Une fois le gradient déterminé, la méthode de descente de gradient stochastique expliquée en 2.3.2 est utilisée pour tenter d’améliorer le revenu. Cette méthode est convergente sous certaines conditions sur le pas et la fonction objectif. Bertsimas et de Boer (2005a) et Gosavi

et al. (2005) montrent tous les deux que ces conditions ne sont pas remplies dans leurs

modèles. Néanmoins dans ces deux recherches, des améliorations sont toujours constatées par rapport au contrôle de première étape issue d’un DLP/DAVN. Elles sont par exemple de l’ordre de 1 à 2% pour un réseau de quinze villes et un centre (hub) dans Bertsimas et de Boer (2005a).

Gosavi et al. (2005) étudient également la méthode de recuit simulé qui est une méta heu- ristique de recherche globale. Les résultats sont légèrement moins bons que la méthode de perturbation simultanée, mais les auteurs ne fournissent pas de temps de calcul qui permet- traient de les comparer complètement.

2.3.4 Calcul du gradient avec utilisation du modèle

Le deuxième type de techniques utilise des propriétés du modèle pour calculer le gradient. Ce calcul n’est souvent plus valide lorsque le modèle est modifié. Une expression exacte du gradient est alors obtenue suivant le modèle retenu. Pour les modèles avec comportement d’achat par liste de préférence, van Ryzin et Vulcano (2008a) expriment ce gradient pour un contrôle hiérarchisé et Chaneton et Vulcano (2011) avec des prix de l’offre. Pour se faire, ils assument la demande et la capacité comme continue et se servent d’une petite variation aléatoire de la capacité de chaque tronçon pour rendre le problème différentiable. van Ryzin et Vulcano (2008b) et Topaloglu (2008) font de même pour un modèle sans comportement d’achat. Dans Topaloglu (2008) et van Ryzin et Vulcano (2008a) la fonction de décision

u(x, t, j) est aussi assumée comme continue rendant ainsi les réservations partielles possibles.

Dans tous les cas, l’expression est dérivée de la formule SIMUL.

La méthode de convergence utilisée est encore celle du gradient stochastique présentée en 2.3.2. Les hypothèses faîtes pour le calcul du gradient permettent alors de prouver au moins une convergence avec probabilité vers un optimum local. Sauf pour Chaneton et Vulcano (2011) où la convergence avec probabilité est seulement vers un point stationnaire. Les contrôles initiaux sont calculés par un modèle de première étape de type DLP/DAVN pour le contrôle hiérarchisé et avec les valeurs duales du DLP pour le contrôle par prix de l’offre. Les contrôles initiaux sont quasiment toujours améliorés dans les instances testées. Topaloglu (2008) surpasse jusqu’à 3% les revenus des méthodes plus classiques de prix de l’offre basées sur les valeurs duales de DLP, de RLP et sur des coûts d’opportunité calculés DLP. van Ryzin et Vulcano (2008a) dépassent de 10% les revenus de méthodes classiques pour une instance d’un réseau d’une compagnie aérienne même si le résultat est à relativiser, car sa méthode intègre du comportement d’achat que n’ont pas les modèles auquel il se compare.

van Ryzin et Vulcano (2008b) montrent que leur méthode est plus rapide que celle de Bertsi- mas et de Boer (2005a) de type boite noire. De manière générale les quatre articles concluent sur un temps de calcul suffisamment raisonnable pour que leur méthode soit appliquée en pratique. van Ryzin et Vulcano (2008b) voudraient tout de même étudier les méthodes de réduction de la variance pour réduire le temps de calcul. van Ryzin et Vulcano (2008a) pro- posent d’utiliser deux processeurs de façon à accélérer la résolution avec du calcul en parallèle.

Documents relatifs