11
Hybridation de lalgorithme de colonie de Fourmis avec lalgorithme de recherche à grand Voisinage pour la résolution du VRPTW statique et dynamique Elhassania Messaoud Laboratoire de Modélisation et Calcul Scientique, Faculté des Sciences et Techniques de Fès, B.P. 2202 Route dImouzzer Fès Maroc, e-mail: [email protected] Ahmed El Hilali Alaoui Laboratoire de Modélisation et Calcul Scientique, Faculté des Sciences et Techniques de Fès, B.P. 2202 , Route dImouzzer Fès Maroc, e-mail: [email protected] Jaouad Boukachour IUT du Havre 5, Rue Boris Vian, B.P. 4006, 76610 Le Havre, France, e-mail: [email protected] RésuméLe problème de tournées de véhicules (Vehicle Routing Problem VRP) est lun des problèmes doptimisation combinatoire les plus étudiés dans le domaine du transport. Il consiste à visiter des clients à partir dun ou de plusieurs dépôts au moyen dune otte de véhicules, avec un coût minimal. Le VRP est un problème NP-complet, pour lequel il nexiste à lheure actuelle aucun algorithme connu capable de le résoudre en un temps polynomial; cest la raison fondamentale pour laquelle les métaheuristiques ont été fortement sollicitées. Dans ce papier, nous étudions le problème VRP avec fenêtre de temps (VRP with Time Windows VRPTW), auquel on impose une fenêtre de temps dans laquelle la livraison doit être effectuée. Nous nous intéressons au cas statique et au cas dynamique dans lequel nous prenons en compte lapparition de nouveaux clients au cours du temps. Après avoir présenté les caractéristiques propres au problème dynamique traité dans ce papier, nous proposons une approche de résolution basée sur lutilisation de lalgorithme doptimisation par colonie de fourmis (Ant Colony Optimization ACO) hybridé avec lalgorithme de recherche à grand voisinage (Large Neighborhood Search LNS) dans le cas statique. Ensuite, nous adaptons cette approche an de résoudre le problème dans un contexte dynamique. Finalement, nous présentons les résultats numér- iques qui conrment la pertinence de lapproche que nous développons dans cet article. Mots-clés Optimisation combinatoire, Transport, VRP, VRPTW, Statique, Dynamique, ACO, LNS. 1. INTRODUCTION Lactivité de transport est le cœur même de la logistique, cest lun de ses postes de coûts les plus importants. En effet, lorganisation logistique est souvent déterminée par loptimisa- tion des coûts de transports. Cette optimisation est directement liée à lorganisation des tournées de véhicules, qui consiste à visiter des clients à partir dun ou plusieurs dépôts et au moyen dune otte de véhicules. La construction de tournées est utilisée tant pour le transport de marchandises, de déchets, de courriers que pour le transport de personnel. La résolution du problème consiste à déterminer un ensemble de tournées qui minimisent au mieux des objectifs comme la distance totale parcourue, le nombre de véhicules utilisés, la somme des retards des clients, etc. Dans ce travail, nous nous intéressons au problème de tournées de véhicules avec fenêtres de temps (Vehicle Routing Problem with Time Windows VRPTW), auquel on impose, pour chaque client, une fenêtre de temps dans laquelle la livraison doit être effectuée. Le problème étant NP-difcile, nous utilisons les métaheuristiques pour la résolution de ce type de problème dans le but dobtenir une solution en temps limité. De nombreux travaux dans la littérature ont été pro- posés pour ce problème dont nous citons: Rochat et Taillard (1995) qui ont utilisé la recherche tabou, Russell (1995) qui a Received December 2012; Revised October 2013; Accepted November 2013 INFOR, Vol. 51, No. 1, February 2013, pp. 4151 ISSN 0315-5986|EISSN 1916-0615 41

Hybridation de l’algorithme de colonie de Fourmis avec l’algorithme de recherche à grand Voisinage pour la résolution du VRPTW statique et dynamique

  • Upload
    jaouad

  • View
    212

  • Download
    0

Embed Size (px)

Citation preview

Hybridation de l’algorithme de colonie de Fourmis avecl’algorithme de recherche à grand Voisinage pour la

résolution du VRPTW statique et dynamique

Elhassania MessaoudLaboratoire de Modélisation et Calcul Scientifique, Faculté des Sciences et Techniques de Fès,

B.P. 2202 – Route d’Imouzzer – Fès Maroc, e-mail: [email protected]

Ahmed El Hilali AlaouiLaboratoire de Modélisation et Calcul Scientifique, Faculté des Sciences et Techniques de Fès,

B.P. 2202 –, Route d’Imouzzer – Fès Maroc, e-mail: [email protected]

Jaouad BoukachourIUT du Havre 5, Rue Boris Vian, B.P. 4006, 76610 Le Havre, France, e-mail: [email protected]

Résumé—Le problème de tournées de véhicules (Vehicle Routing Problem – VRP) est l’un desproblèmes d’optimisation combinatoire les plus étudiés dans le domaine du transport. Il consiste àvisiter des clients à partir d’un ou de plusieurs dépôts au moyen d’une flotte de véhicules, avec un coûtminimal. Le VRP est un problème NP-complet, pour lequel il n’existe à l’heure actuelle aucunalgorithme connu capable de le résoudre en un temps polynomial; c’est la raison fondamentale pourlaquelle les métaheuristiques ont été fortement sollicitées. Dans ce papier, nous étudions le problèmeVRP avec fenêtre de temps (VRP with Time Windows – VRPTW), auquel on impose une fenêtre detemps dans laquelle la livraison doit être effectuée. Nous nous intéressons au cas statique et au casdynamique dans lequel nous prenons en compte l’apparition de nouveaux clients au cours du temps.Après avoir présenté les caractéristiques propres au problème dynamique traité dans ce papier, nousproposons une approche de résolution basée sur l’utilisation de l’algorithme d’optimisation par coloniede fourmis (AntColonyOptimization –ACO) hybridé avec l’algorithme de recherche à grand voisinage(LargeNeighborhood Search –LNS) dans le cas statique. Ensuite, nous adaptons cette approche afin derésoudre le problème dans un contexte dynamique. Finalement, nous présentons les résultats numér-iques qui confirment la pertinence de l’approche que nous développons dans cet article.

Mots-clés Optimisation combinatoire, Transport, VRP, VRPTW, Statique, Dynamique, ACO, LNS.

1. INTRODUCTIONL’activité de transport est le cœur même de la logistique, c’estl’un de ses postes de coûts les plus importants. En effet,l’organisation logistique est souvent déterminée par l’optimisa-tion des coûts de transports. Cette optimisation est directementliée à l’organisation des tournées de véhicules, qui consiste àvisiter des clients à partir d’un ou plusieurs dépôts et au moyend’une flotte de véhicules. La construction de tournées est utiliséetant pour le transport demarchandises, dedéchets, de courriers quepour le transport de personnel. La résolution du problème consiste

à déterminer un ensemble de tournées qui minimisent au mieuxdes objectifs comme la distance totale parcourue, le nombre devéhicules utilisés, la somme des retards des clients, etc.

Dans ce travail, nous nous intéressons au problème detournées de véhicules avec fenêtres de temps (Vehicle RoutingProblem with Time Windows – VRPTW), auquel on impose,pour chaque client, une fenêtre de temps dans laquelle lalivraison doit être effectuée. Le problème étant NP-difficile,nous utilisons les métaheuristiques pour la résolution de cetype de problème dans le but d’obtenir une solution en tempslimité. De nombreux travaux dans la littérature ont été pro-posés pour ce problème dont nous citons: Rochat et Taillard(1995) qui ont utilisé la recherche tabou, Russell (1995) qui aReceived December 2012; Revised October 2013; Accepted

November 2013

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51ISSN 0315-5986|EISSN 1916-0615

41

utilisé le recuit simulé, Blanton et Wainwright (1993) qui ontutilisé l’algorithme génétique et Qiulei et al. (2012) etGambardella et al. (1999) qui ont proposé des approchesbasées sur l’algorithme de colonie de fourmis (Ant ColonyOptimization – ACO). Le problème de VRPTW a été résolupar plusieurs auteurs dans le cas statique, c’est-à-dire toutes lesinformations sont connues à l’avance et fiables dans le temps.Cependant, en pratique, il est possible qu’un ou plusieurs aléasviennent perturber le routage prévu. Peu de travaux ont étéproposés pour traiter le problème de façon dynamique. Nouscitons Larsen (2000) qui a utilisé une heuristique d’insertionpour résoudre le problème DVRPTW (Dynamic VRPTW) etKilby et al. (1998) qui a utilisé cette heuristique pour larésolution du problème DVRP (Dynamic VRP). Celui-ci aété aussi traité par Montamenni et al. (2002), Khouadjia et al.(2012) et Branchini et al. (2009) qui ont utilisé, respective-ment, l’algorithme de colonie de fourmis, l’optimisation par lesessaims de particules et la recherche locale. Deux autresapproches ont été présentées par Gendreau et al. (1999) etHousroum et al. (2004) pour la résolution du problèmeDVRPTW; ils ont utilisé, respectivement, la recherche tabouparallèle et l’algorithme génétique sans respecter la contraintede fenêtres de temps. Ce même problème a été résolu aussi parLianxi (2012) en proposant une approche basée sur l’algor-ithme de recherche à grand voisinage (Large NeighborhoodSearch LNS). Dans notre travail, nous proposons une hybrida-tion de l’algorithme d’ACO avec l’algorithme de LNS pour larésolution d’un VRPTW statique. Nous adaptons cette ap-proche pour l’étude du problème de DVRPTW avec unnombre de véhicules fixé à l’avance, dont l’objectif est deminimiser le nombre de requêtes rejetées et la distance totaleparcourue.

Cet article présente premièrement les caractéristiques d’unproblème de DVRP, et la définition du degré de dynamisme.Nous présentons ensuite la résolution d’un VRPTW statiqueen proposant une approche hybride d’ACO, qui consiste àminimiser le nombre de véhicules utilisés, avec l’algorithmede LNS pour minimiser la distance totale parcourue. Nousajustons cette approche afin de pouvoir traiter le problèmedans le cas dynamique, qui prend en compte les clients quisont arrivés au cours du temps, en respectant toutes les

contraintes (le nombre de véhicules, les fenêtres de temps,les capacités de véhicules). Afin d’analyser la performance denotre approche, nous la testons sur un ensemble d’instances debenchmarks disponible, puis nous comparons nos résultatsavec ceux de la littérature. Enfin, ce travail se termine avecune conclusion.

2. PROBLÈMES DE TOURNÉES DE VÉHICULESDYNAMIQUESUn problème de DVRP se caractérise par le manque de certainesinformations lors de la planification des tournées, ou encore parle changement des données du problème après que les tournéesaient été construites à partir des données initiales.

La figure 1 illustre un exemple simple d’un problème deDVRP:

• Les cercles blancs désignent les clients dynamiques,• Les cercles noirs désignent les clients statiques,• Les flèches noires représentent la tournée prévue pour levéhicule, avant l’arrivée des clients dynamiques,

• Les flèches en pointillés indiquent les nouveaux itinérairessuite à l’insertion des clients dynamiques,

• Les chevrons désignent la position actuelle du véhicule.

Idéalement, les nouveaux clients doivent être insérés dans lestournées déjà planifiées. Généralement cette tâche est très com-pliquée et impliquerait une re-planification de la partie du réseaude clients non visités.

Dans notre approche nous considérons certains aspects quitouchent des applications réelles, ce qui nécessite le traitement decertains types d’événements. Le traitement de ces événementsnécessite des mécanismes et des stratégies plus élaborés. Lesévénements traités dans notre approche sont:

• Arrivée d’une nouvelle demande,• Fin de service chez un client.

A chaque fois qu’il y a un changement dans le problème suiteà l’occurrence d’un événement, il fautmettre à jour les itinéraires.

3. DEGRÉ DE DYNAMISMEContrairement à un problème statique de planification d’itinér-aires, la performance de la gestion dynamique utilisée dépend

Figure 1. Exemple d’un DVRP

42 MESSAOUD, EL HILALI ALAOUI, AND BOUKACHOUR

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

non seulement du nombre de clients et de la distribution spatialede ces derniers, mais également du nombre d’événementsdynamiques et des instants où ces événements ont lieu réel-lement. Par conséquent, une mesure pour décrire le dynamismedu système est d’une grande utilité quand nous voulonsexaminer la performance d’un algorithme spécifique dans desconditions variables. La notion de degré de dynamisme dod(DegreeOfDynamism) a été définie par Leonora (2000) commesuit:

dod ¼ le nombre de clients dynamiques

le nombre total de clientsð1Þ

Cependant, cette mesure ne tient pas compte des tempsd’arrivée des demandes dynamiques. Ceci signifie que deuxsystèmes différents, un dans lequel les demandes dynamiquessont reçues au début de l’horizon de planification et un autre danslequel elles apparaissent tout au long de l’horizon, seront perçuscomme étant équivalents. Dans la pratique, ces deux scénariossont très différents. La figure 2 illustre deux scénarios deproblème dynamique de planification d’itinéraires dans lesquelsles instants de réception des demandes dynamiques diffèrentconsidérablement. Nous remarquons que dans le scénario A,chacune des six demandes dynamiques est reçue relativement tôtpendant l’horizon de planification. Par contre, dans le scénario B,les demandes sont uniformément distribuées sur tout l’horizon deplanification [0, T]. Les demandes statiques sont supposées êtrereçues avant le commencement de l’horizon de planification. Letemps de réception de la ieme demande dynamique est dénotéti : 0 ≤ ti ≤ T .

Considérons maintenant un scénario dans lequel l’horizon deplanification commence à l’instant 0 et se termine à l’instant T .Les demandes statiques sont reçues avant le début de l’horizon deplanification. La ieme demande dynamique est reçue à l’instantnotée ti, tel que 0 ≤ ti ≤ T .

Le nombre de demandes dynamiques reçues au cours del’horizon de planification est noté ndyn et le nombre de demandesstatiques est noté nstat . Le nombre total de demandes noté ntot estdonc ndyn þ nstat .

Le degré de dynamisme effectif, noté edod qui représente unmoyen de mesurer le temps de réception des demandes dyna-miques par rapport au temps le plus tardif possible où lesdemandes pourraient être reçues, peut être exprimé comme suit:

edod ¼Pndyn

i¼1ð tiTÞntot

ð2Þ

Ce degré est compris dans l’intervalle [0,1], tel que le système estentièrement statique si edod est égale à zéro, dans lequel toutesles demandes sont reçues au temps 0, et il est entièrementdynamique si edod est égale à un, et par conséquent toutes lesdemandes sont reçues au temps T .

4. RÉSOLUTION DU VRPTW STATIQUELa résolution d’un VRPTW consiste à trouver une solution quivisite tous les clients une et une seule fois à partir d’un dépôt, et aumoyen d’une flotte homogène, en minimisant le nombre devéhicules utilisés et la distance parcourue, et en respectant lescontraintes de fenêtre de temps et de capacité. Dans cette partie,nous proposons une méthode de résolution en deux étapes. Nouscommençons tout d’abord par le premier objectif qui vise àminimiser le nombre de véhicules, en appliquant l’optimisationpar l’algorithme de colonie de fourmis (ACO). Puis, nousminimisons la distance totale parcourue, en utilisant l’algorithmede recherche à grand voisinage (LNS).

4.1. Algorithme ACONV pour la minimisation du nombrede véhiculesL’idée classique pour minimiser le nombre de véhicules dans unVRPTW est de commencer par un nombre suffisant de véhiculesqui peut servir tous les clients, ensuite de diminuer ce nombrejusqu’à trouver le nombre de véhicules minimal qui satisfait tousles clients (Gambardella et al., 1999; Abounacer et al., 2009). Parcontre, dans notre travail, l’algorithme ACONV proposé pourminimiser le nombre de véhicules dans un VRPTW consiste àmaximiser le nombre de clients servis par un nombre de véhiculeminimal, que nous noterons nbr v et qui est égal, au départ, à lasomme de toutes les demandes divisée par la capacité duvéhicule. S’il reste des clients non servis, après un certain nombred’itérations nbr iter, nous ajoutons au nbr v un autre véhicule, etainsi de suite jusqu’à ce que tous les clients soient servis. Nousrésumons ces étapes dans l’algorithme 1.

Dans notre algorithme ACONV, une solution est construitepar une fourmi K, en utilisant la procédure FOURMI résuméedans l’algorithme 2. Dans cette procédure, la fourmi K choisitle prochain client à servir suite au client précédent en fonctiond’un premier facteur appelé intensité de la trace τij. Ce dernier

Figure 2. Deux scénarios ayant le même degré de dynamisme

RÉSOLUTION DU VRPTW STATIQUE ET DYNAMIQUE 43

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

procure l’information au sujet de l’importance du trafic qui aemprunté l’arc ði; jÞ, et plus cette trace est importante, plus laprobabilité de l’emprunter à nouveau est forte. Au début del’algorithme, l’intensité de la trace τij se voit accordée unevaleur faible et positive τ0. Le choix du prochain client pourune fourmi est également fonction d’un deuxième facteur quel’on appelle visibilité ηij. Cette visibilité joue le rôle d’unerègle gourmande qui favorise aussi les clients les plus com-patibles selon l’objectif à optimiser où nous choisissons lavisibilité définie par Gambardella et al. (1999). Une fourmi Ksur un client i sélectionne un client j selon la règle de transitionci-dessous:

j ¼ argmaxu∈Nki½τiuðtÞ:ðηiuÞβ� Si q ≤ q0

J Si q > q0

�ð3Þ

où β est l’importance relative associée à l’informationheuristique, Nk

i l’ensemble des clients susceptibles d’êtreajoutées à la solution à partir le client i sans violer la contraintede capacité et la contrainte de fenêtre de temps (½ai; bi� la fenêtrede temps d’un client i), q est une variable aléatoire uniformémentdistribuée sur [0, 1], et J est un client sélectionné aléatoirementselon la probabilité donnée par la formule (4).

PKiJ ¼

ðτiJðtÞÞ · ðηiJÞβPl∈NK

iðτilðtÞÞ · ðηilÞβ

ð4Þ

Après chaque passage de i vers j, la fourmi dépose une pistelors de la mise à jour locale:

τijðt þ 1Þ ¼ ð1 − ρÞ · τijðtÞ þ ρ · τ0 ð5Þ

Une solution est obtenue lorsque tous les clients sont servisou aucun véhicule ne peut ajouter un client à cause de lacapacité du véhicule et/ou la position des fenêtres de temps. Lameilleure fourmi, c’est à dire, celle qui a visité plus de clients,alimente la matrice de trace de phéromone proportionnelle-ment au degré de succès obtenu, par la relation de la mise à jourglobale (6), pour guider les fourmis suivantes dans leur con-struction de solution. A chaque itération, la mise à jour globales’effectue comme suit:

τijðt þ 1Þ ¼ ð1 − ρÞ · τijðtÞ þ ρ · Δτij ð6Þ

où les arêtes ði; jÞ appartiennent au meilleur tour Tþ delongueur Lþ et Δτij ¼ 1

Ici, seule la meilleure piste est donc mise à jour, ce quiparticipe à une intensification par sélection de la meilleuresolution.

Algorithme 1: Procédure ACONV pour la minimisation du nombrede véhicules

Procédure ACONV()/*N: Le nombre de clients, nbr v: Le nombre de véhicules,Q: Lacapacité du véhicule, nbr clientðSÞ: Le nombre de clients visitésde la solution S, distance(S): La distance parcourue de la solutionS, qi: La demande du client i, et Pi: Le nombre de fois dont leclient i est non servi dans les solutions

construites*/ nbr v ¼ PNi¼1

qi=Q

∀j : Pj←0RépéterPour i allant de 1 à nbr iterPour chaque fourmi KSi (nbr iter ¼ 1 et K ¼ 1) alorsS 0←FOURMIðK; nbr vÞSinonS←FOURMIðK; nbr vÞ∀j ∈= S : Pj←Pj þ 1Si ðnbr clientðS 0Þ < nbr clientðSÞÞS 0←S∀j : Pj←0FinSi

FinSiFinPourτij ¼ ð1 − ρÞ · τij þ ρ · Δτij ∀ ði; jÞ ∈ S 0

FinPournbr v←nbr vþ 1Jusqu’à (S 0 visite tous les clients)Retourner(S 0)

Algorithme 2: Procédure FOURMI

Procédure FOURMI ðK; nbr vÞV←1S← < depot >temps courantk←0Qk←0i←depotRépéterSi (Nk

i est non vide)Calculer l’information heuristique ηij:temps livraisonj←maxðtemps courantk þ tij; ajÞdeltaij←temps livraisonj − temps courantkdistanceij←deltaij:ðbj − temps courantkÞdistanceij←maxð1; ðdistanceij − PjÞÞηij←1=distanceijChoisir un client j suivant la relation (3)Qk←QK þ qjtemps courantk←maxðtemps courantk þ tij; ajÞi←jS←Sþ < i >Si (i est le dépôt)V←V þ 1temps courantk←0Qk←0FinSi

FinSiJusqu’à (V > nbr v ou tous les clients sont visités)τij ¼ ð1 − ρÞ:τij þ ρ:τ0 ∀ ði; jÞ ∈ SRetourner(S)

44 MESSAOUD, EL HILALI ALAOUI, AND BOUKACHOUR

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

Après avoir trouvé une solution réalisable avec un nombre devéhicules minimal, nous appliquons l’algorithme de LNS afin deminimiser la distance totale parcourue LNSDIST.

4.2. Algorithme LNSDIST pour la minimisation de ladistance totale parcourueL’algorithme LNSDIST consiste, à partir d’une solution dedépart construite par l’algorithme ACONV présenté précédem-ment, à minimiser la distance de cette solution en prenant encharge un opérateur de retrait et un autre d’insertion, ainsi qu’unnombre de clients R à retirer et insérer.

L’opérateur de retrait se charge d’abord de retirer les R clientschoisis. Ceux-ci se retrouvent dans une liste qui est donnée àl’opérateur d’insertion afin de reconstruire la solution. Un critèred’acceptation prédéfini permet ensuite d’accepter ou non lanouvelle solution.

4.2.1. Opérateur de retraitPour débuter la procédure, un client est choisi aléatoirement,retiré de la solution et mis dans une liste L. Un client est ensuitechoisi aléatoirement dans cette liste à chacune des itérationssubséquentes et le client correspond au plus grand coût bj parmitous les clients j qui sont encore dans la tournée est ajouté à laliste L:

bj ¼1

ða×dijÞ þ ðb×ðqj − qiÞÞ þ ðc×ðduj − duiÞÞð7Þ

où dij est la distance entre le client i et le client j, qi est lademande du client i, dui est la durée du véhicule qui visite le clienti avant le service de ce dernier et a, b et c sont des paramètres depondérations.

4.2.2. Opérateur d’insertionCet opérateur insère les clients retirés à l’endroit engendrant ledétour minimal (c’est à dire, qui minimise la distanceadditionnelle).

4.2.3. Critère d’acceptationAvec LNSDIST, lorsqu’une nouvelle solution S 0 est meilleureque la solution courante, S 0 devient la nouvelle solution courante.Sinon, S 0 est acceptée avec la probabilité:

expð− ðdistanceðS 0Þ − distanceðSÞÞ=TÞ ð8Þ

où S est la solution courante et T > 0 est un paramètre appelétempérature. Les différentes étapes de LNSDIST sont résuméesdans l’algorithme 3.

Pour éviter d’être bloqué dans unemême région de l’espace derecherche, nous diversifions ce dernier par la construction d’unepopulation P de solutions de tailleM, en appliquant l’algorithmeLNSDIST, M fois sur la solution trouvée par l’algorithmeACONV (la solution globale Sg est la meilleure solution dansP). Au départ, la température T est mise à la distance de la

solution trouvée par l’algorithmeACONV. PlusT est grand, plusla chance d’accepter des solutions de qualité inférieure que lasolution de départ est grande. Après chaque appel de la procédureLNSDIST, T devient T �W où 0 < W < 1 est le taux de refroi-dissement. Puisque T diminue au fil des itérations, la probabilitéd’accepter une solution de qualité inférieure devient de moins enmoins élevée.

A chaque itération, nous appliquons l’algorithme LNSDISTsur toutes les solutions deP afinde former unenouvelle populationP pour l’itération prochaine. Après chaque itération, nousremplaçons la solution Sg par la meilleure solution dans P

dans le cas où cette dernière est mieux que Sg. L’algorithme 4représente la procédure ACOLNS VRPTW pour résoudrele VRPTW.

5. RÉSOLUTION DU VRPTW DYNAMIQUEL’approche classique utilisée pour traiter les contraintes dyna-miques est de considérer que chaque changement engendre un

Algorithme 3: Procédure LNSDIST pour la minimisation de ladistance

Procédure LNSDIST (S)Choisir un nombre aléatoire R de clientsAppliquer l’opérateur de retrait à SAppliquer l’opérateur d’insertion pour obtenir S 0SiðdistanceðS 0Þ < distanceðSÞÞS←S 0SinonChoisir un nombre aléatoire Rd entre 0 et 1Siðexpð− ðdistanceðS 0Þ − distanceðSÞÞ=TÞ > RdÞS←S 0FinSi

FinSiRetourner(S)

Algorithme 4: Procédure ACOLNS VRPTW

S←ACONV ðÞT←distanceðSÞPour i allant de 1 à MS½i�←LNSDISTðSÞT←T×WSiðdistanceðS½i�Þ < distanceðSÞÞS←S½i�FinSi

FinPourTant Que (le critère d’arrêt n’est pas satisfait)Pour i allant de 1 à MS½i�←LNSDISTðS½i�ÞT←T×WSiðdistanceðS½i�Þ < distanceðSÞÞS←S½i�FinSi

FinPourFinTantQueRetourner(S)

RÉSOLUTION DU VRPTW STATIQUE ET DYNAMIQUE 45

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

nouveau problème d’optimisation qui doit être résolu de nou-veau à partir du début. Cependant, bien que cette approche soitsimple, elle est souvent inapplicable dans un contexte à contra-intes de temps serrés. En effet, la résolution d’un problème detype NP-difficile prend généralement trop de temps pour trouverdes solutions de bonne qualité. Bien souvent, la solution dunouveau problème ne diffèrera pas trop de la solution duproblème précédent lorsque l’environnement est faiblementperturbé, ce qui est en général le cas. La méthode que nousproposons pour résoudre le DVRPTW avec nombre de véhi-cules limité est une adaptation de celle que nous avons utilisédans le cas statique.

Dans notre approche, après la résolution de VRPTWstatique quidonneunplanprévisionnelpour les clientsqui existent avant le débutde la journée, nous avons développé un simulateur ayant la capacitéde simuler une journée de service, afin de traiter les événementsdynamiques au cours de la journée, où nous avons changé l’algor-ithme ACONV par l’algorithmeACONCS (voir l’algorithme 6), enremplaçant la minimisation du nombre de véhicules par la max-imisation du nombre de clients servis par une flotte limitée devéhicules, c’est-à-dire qu’au lieu d’ajouter des véhicules poursatisfaire tous les clients, nous maximisons le nombre de clientsservis par le nombre de véhicules donné en utilisant la procédure

DFOURMI (voir l’algorithme 5) qui sert à construire une solution dela même façon que la procédure FOURMI, en faisant le départ dechaque véhicule V à partir du dernier client servi dv, affecté auvéhiculeV avec une capacité égale à la capacité deV après le servicedu dv (notons que tdv est la fin de service du dv).

Le temps réel d’ouverture d’une journée de service est simulé àl’aide d’une durée de simulation ½0; Tsim�. Cette durée est diviséeen petites tranches de temps ayant des tailles variables selon ladurée d’une itération de notre approche Titer. Après chaqueitération, nous devons calculer le temps écoulé td, en déplaçantles véhicules selon le trajet déjà planifié, et en figeant l’ensembledes nœuds déjà visités. Ensuite, nous traitons les positions dechaque véhicule à l’instant td, et nous vérifions l’apparitionéventuelle de nouveaux évènements qui peuvent être:

• Une fin de service qui utilise la meilleure solution trouvée pourfournir au conducteur du véhicule correspondant le prochainclient à servir,

• Unnouveau client qui va être inséré dans la liste des clients nonservis.

Notons que dans l’algorithmeACONCS suivant, nous faisonsappel à la procédure DFOURMI.

Algorithme 5: Procédure DFOURMI

Procédure DFOURMIðK; nbr vÞV←1S← < dV >Qk←la capacite duV apre le service du dVtemps courantk←maxðtdv; td×TTsim

Þi←dVRépéterSi (Nk

i est non vide)Calculer l’information heuristique ηij:temps livraisonj←maxðtemps courantk þ tij; ajÞdeltaij←temps livraisonj − temps courantkdistanceij←deltaij · ðbj − temps courantkÞdistanceij←maxð1; ðdistanceij − PjÞÞηij←1=distanceijChoisir un client j suivant la relation (3)Qk←QK þ qjtemps courantk←maxðtemps courantk þ tij; ajÞi←jS←Sþ < i >

Si (i est le dépôt)V←V þ 1S←Sþ < dV >Qk←la capacite duV apres le service du dVtemps courantk←maxðtdv; td×TTsim

Þi←dV

FinSiFinSi

Jusqu’à (V > nbr v ou tous les clients sont visités)τij ¼ ð1 − ρÞ · τij þ ρ · τ0 ∀ði; jÞ ∈ SRetourner(S)

Algorithme 6: Procédure ACONCS pour la maximisation de nombrede clients servis

Procédure ACONCS()/* N: Le nombre de clients, NV: Le nombre de véhiculesdisponible au début de la journée, nbr v: Le nombre de véhiculesutilisés à l’itération précédente (au début de la journée nbr v estégale au nombre de véhicules utilisés pour servir les clientsstatiques),Q: La capacité du véhicule, nbr clientðSÞ: Le nombrede clients visités de la solution S, distance(S): La distanceparcourue de la solution S, qi: La demande du client i, et Pi: Lenombre de fois dont le client i est non servi dans les solutionsconstruites*/∀j : Pj←0RépéterPour i allant de 1 à nbr iterPour chaque fourmi KSi (nbr iter ¼ 1 et K ¼ 1) alorsS 0←DFOURMIðK; nbr vÞSinonS←DFOURMIðK; nbr vÞ∀j ∈= S : Pj←Pj þ 1

Si (nbr clientðS 0Þ < nbr clientðSÞ)S 0←S∀ j : Pj←0FinSi

FinSiFinPourτij ¼ ð1 − ρÞ:τij þ ρ:Δτij ∀ ði; jÞ ∈ S 0

FinPournbr v ¼ nbr vþ 1Jusqu’à (S 0 visite tous les clients ou nbr v > NV )Retourner(S 0)

46 MESSAOUD, EL HILALI ALAOUI, AND BOUKACHOUR

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

Notre approche suit l’évolution de la solution en traitant lesnouveaux évènements et en appelant ACONCS et LNSDIST(voir l’algorithme 7).

6. RÉSULTATS EXPÉRIMENTAUXPour tester notre approche, nous avons utilisé un ensembled’instances de problèmes du VRPTW proposées par Solomon(1987), qui comprend 56 instances. Chaque problème de laversion originale contient 100 clients. Le temps de voyageséparant deux clients correspond à leur distance euclidienne.

Solomon (1987) a proposé un ensemble d’instances pour leproblème de tournées de véhicules avec fenêtres de temps. Il estadmis que ces problèmes sont assez divers et assez nombreuxpour pouvoir comparer avec une confiance suffisante les différ-entes approches proposées par les chercheurs. Une preuve queces problèmes sont assez diversifiés et assez difficiles est qu’iln’existe actuellement aucune heuristique donnant les meilleursrésultats pour tous les problèmes en même temps.

Dans les benchmarks de Solomon, six classes différentes deproblèmes sont définies: Cl, C2, R1, R2, RC1 et RC2. Les clientssont uniformément distribués sur la zone de service dans lesproblèmes du type R, regroupés dans les problèmes du type C, etun mélange de clients uniformément distribués et regroupés est

utilisé dans les problèmes de type RC. Les problèmes de C1, R1et RC1 mettent en place une fenêtre de temps étroite sur chaqueclient. Ceci implique un horizon de service court (la fenêtre detemps sur le dépôt) ainsi que des tournées comportant peu declients. La capacité des véhicules est également réduite.

Les problèmes de C2, R2 et RC2mettent en place des fenêtresde temps larges. L’horizon de service étant plus étendu, lestournées comprendront en principe plus de clients. En plus, lacapacité des véhicules est assez large. Enfin, un temps de serviceconstant est associé à chaque client, il est de 10 unités de tempsdans les problèmes de types R et RC, et de 90 unités de tempsdans les problèmes de type C.

Nous présentons dans ce qui suit les résultats trouvés par notreapproche implémentée en C++, en utilisant un MacBook Pro -Core i5/ 2.4 GHz - MacOS X 10.7.

6.1. Résultats expérimentaux: VRPTW statiqueNotre approche dans le cas statique a été testée sur les six classesdéfinies précédemment. Chaque type d’instance (C1, RC1, R1,C2, R2 ou RC2) comporte entre 9 et 12 problèmes à traiter, dontnous citons comme exemple: C101, C102, C103, : : : , C109. Lesrésultats globaux obtenus pour notre approche ACOLNSVRPTW et les meilleurs résultats trouvés dans la littérature BestKnow sont listés dans le tableau ci-dessous. Dans ce tableau, lavaleur TD représente la distance totale parcourue, la valeur NVreprésente le nombre de véhicules utilisés, CPU représente letemps d’exécution en seconde, et DEV est la déviation trouvéeentre ACOLNS VRPTW et Best Know.

Le choix des paramètres utilisés a été difficile à déterminer, etil a demandé un nombre d’itérations assez grand. Nous avonseffectué une étude pour fixer les valeurs de ces paramètres quis’adaptent au mieux à notre problème. Cette étude est appliquéesur l’instance C102 avec les valeurs suivantes:

β ∈ f1; 2; 3; 4; 5g; ρ ∈ ½0:01; 0:05; 0:1�;q0 ∈ f0:5; 0:7; 0:8; 0:9g; a; c ∈ f0:4; 0:5; 0:6; 0:7; 0:8; 0:9g;b ∈ f0:1; 0:2; 0:3g;R ∈ f5%; 10%; 15%; 20%g; M ∈ f5; 7; 10g:

Cette étude nous a conduit à constater que l’ensemble desparamètres qui donne les bonnes solutions est le suivant:

β ¼ 1; ρ ¼ 0:05; q0 ¼ 0:9; a ¼ 0:8;

b ¼ 0:2; c ¼ 0:4; R ¼ 15%; M ¼ 5:

En réalité il est difficile de comparer nos résultats avec ceuxd’autres approches, car ces approches ont utilisé des types demachines et de systèmes d’exploitation différents de ceux utiliséspar la nôtre. De même les temps d’exécutions pris par lesméthodes de résolution sont aussi différents, mais à partir desrésultats présentés dans le tableau 1, nous remarquons, d’unepart, que le temps écoulé lors de l’exécution est raisonnable etd’autre part, que notre algorithme proposé peut fournir des bons

Algorithme 7: Procédure ACOLNS DVRPTW

Procédure ACOLNS DVRPTWtd←0S←ACONV ðÞT←distanceðSÞPour i allant de 1 à MS½i�←LNSDISTðSÞT←T×WSiðdistanceðS½i�Þ < distanceðSÞÞS←S½i�FinSi

FinPourTant Que (td < Tsim)Si (Evénement est un nouveau client)Ajouter les nouveaux clients à la liste des clientsnon servisS←ACONCSðÞFinSiSi (Evénement est une fin de service d’un client)Utiliser S pour fournir au conducteur du véhiculecorrespondant, le prochain client à servirFinSiPour i allant de 1 à MS½i�←LNSDISTðSÞT←T×WSiðdistanceðS½i�Þ < distanceðSÞÞS←S½i�FinSi

FinPourtd←td þ TiterFinTantQueRetourner(S)

RÉSOLUTION DU VRPTW STATIQUE ET DYNAMIQUE 47

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

TABLEAU 1.Les résultats de l’algorithme ACOLNS VRPTW

Best Know ACOLNS VRPTWDEV(%)

NV TD Référence NV TD CPU

C101 10 828.94 Rochat et Taillard (1995) 10 828.94 17 00.00C102 10 828.94 Rochat et Taillard (1995) 10 828.94 333 00.00C103 10 828.06 Rochat et Taillard (1995) 10 828.06 1435 00.00C104 10 824.78 Rochat et Taillard (1995) 10 856.06 2094 3.79C105 10 828.94 Rochat et Taillard (1995) 10 828.94 14 00.00C106 10 828.94 Rochat et Taillard (1995) 10 828.94 224 00.00C107 10 828.94 Rochat et Taillard (1995) 10 828.94 11 00.00C108 10 828.94 Rochat et Taillard (1995) 10 828.94 45 00.00C109 10 828.94 Rochat et Taillard (1995) 10 828.94 513 00.00R101 19 1645.79 Homberger (2000) 19 1694.49 1343 2.96R102 17 1486.02 Rochat et Taillard (1995) 17 1594.03 1512 7.27R103 13 1292.68 Li et al. (2003) 14 1286.39 1707 -0.49R104 9 1007.24 Mester (2002) 11 1031.66 854 2.42R105 14 1377.11 Rochat et Taillard (1995) 15 1474.15 1476 7.05R106 12 1251.98 Mester (2002) 13 1302.90 1508 4.07R107 10 1104.66 Shaw (1997) 11 1142.83 701 3.45R108 9 960.88 Berger et Barkaoui (2004) 10 1014.87 1536 5.62R109 11 1194.73 Homberger et Gehring (1999) 12 1229.26 1163 2.89R110 10 1118.59 Mester (2002) 12 1149.04 1790 2.72R111 10 1096.72 Rousseau et al. (2002) 11 1154.47 1688 5.27R112 9 982.14 Gambardella at al. (1999) 11 1045.56 1328 6.46RC101 14 1696.94 Taillard et al. (1997) 15 1677.93 732 -1.12RC102 12 1554.75 Taillard et al. (1997) 13 1551.64 727 -0.2RC103 11 1261.67 Shaw (1998) 11 1356.95 564 7.55RC104 10 1135.48 Cordeau et al. (2001) 11 1213.01 446 6.83RC105 13 1629.44 Berger et Barkaoui (2004) 14 1595.30 968 −2.09RC106 11 1424.73 Berger et Barkaoui (2004) 12 1461.13 1983 2.55RC107 11 1230.48 Shaw (1997) 12 1285.28 2239 4.45RC108 10 1139.82 Taillard et al. (1997) 11 1162.68 1247 2.00C201 3 591.56 Rochat et Taillard (1995) 3 591.56 5 00.00C202 3 591.56 Rochat et Taillard (1995) 3 591.56 68 00.00C203 3 591.17 Rochat et Taillard (1995) 3 591.17 107 00.00C204 3 590.60 Rochat et Taillard (1995) 3 611.07 329 3.47C205 3 588.88 Rochat et Taillard (1995) 3 588.88 27 00.00C206 3 588.49 Rochat et Taillard (1995) 3 588.49 48 00.00C207 3 588.29 Rochat et Taillard (1995) 3 588.29 50 00.00C208 3 588.32 Rochat et Taillard (1995) 3 588. 32 65 00.00R201 4 1252.37 Homberger et Gehring (1999) 4 1311.16 640 4.70R202 3 1191.70 Rousseau et al. (2002) 4 1153.75 553 −3.18R203 3 939.54 Mester (2002) 3 1042.48 183 10.96R204 2 825.52 Bent et Van Hentenryck (2004) 3 785.80 603 −4.81R205 3 994.42 Rousseau et al. (2002) 3 1053.30 1078 5.92R206 3 906.14 Schrimpf at al. (2000) 3 975.59 1173 7.66R207 2 893.33 Bent et Van Hentenryck (2004) 3 885.55 323 −0.87R208 2 726.75 Mester (2002) 2 753.41 434 3.67R209 3 909.16 Homberger (2000) 3 952.21 726 4.73R210 3 939.34 Mester (2002) 3 999.60 605 6.41R211 2 892.71 Bent et Van Hentenryck (2004) 3 847.37 546 −5.08RC201 4 1406.91 Mester (2002) 4 1415.95 1206 0.64RC202 3 1367.09 Czech et Czarnas (2002) 4 1223.47 906 −10.50RC203 3 1049.62 Czech et Czarnas (2002) 3 1086.53 817 3.52RC204 3 798.41 Mester (2002) 3 873.43 1278 9.40

48 MESSAOUD, EL HILALI ALAOUI, AND BOUKACHOUR

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

résultats pour le problème de VRPTW classique. Pour les deuxgroupes (C1, C2) nous avons obtenu des résultats compétitifs, telque leDEVest égale à zéro pour toutes les instances, sauf C204 etC104, et en ce qui concerne les groupes (R1, R2) nous avonstrouvé des résultats encourageants en terme de la distance où leDEV varie entre −0:2 et −5:08 pour les instances R103, R202,R204, R207 et R211, par contre pour les autres groupes (RC1,RC2) les résultats trouvés sont moins bons que Best know pourplusieurs instances, mais parfois le Best know est largementamélioré en terme de la distance, ce qui apparaît pour l’instanceRC202 où le DEV est égale à −10:50. En conséquence, cesrésultats permettent d’affirmer que notre approche est à la foisfiable et peut fournir des performances intéressantes.

6.2. Résultats expérimentaux: VRPTW dynamiqueDans cette partie, nous présentons les résultats de notre approcheproposée pour la résolution du VRPTW dynamique où l’on doitsatisfaire l’intégration de nouveaux événements alors que lesroutes ont été planifiées et que leur exploitation a commencé. Nostests ont été effectués sur la classe C1, en ajoutant les caractér-istiques ci-dessous afin d’obtenir un problème dynamique:

• le temps d’apparition d’un client,• le nombre de véhicules.

Ce groupe contient 9 problèmes avec 5 degrés de dynamismes(dod) qui sont 90%, 10%, 50%, 70% et 30% (dod ¼ 0% présentele cas statique).

Nos tests ont été effectués avec 10 véhicules, où nous avonsgardé les valeurs de paramètres utilisées dans le cas statique, etnous avons simulé la durée de journée par 1000 secondes(Tsim ¼ 1000 s) et ainsi l’algorithme est arrêté si le temps écouléest supérieur ou égale à Tsim.

Les résultats sont présentés dans le tableau ci-dessous, tel queTD représente la distance totale parcourue et NCS est le nombrede clients servis.

Nous remarquons, d’une part, qu’en respectant toutes lescontraintes, l’aspect dynamique influence le nombre de clientsservis et les distances parcourues, et d’autre part, que même si ledegré de dynamisme diminue, la qualité de la solution diminuedans certains cas, ce qui peut être justifié par les temps d’appari-tions des clients dynamiques pour chaque degré de dynamisme.

Généralement, le nombre de clients non servis à la fin de lajournée est négligeable devant le nombre de clients servis

quelque soit le degré de dynamisme. Ce qui permet de dire quenotre approche donne des résultats satisfaisants au niveau de laqualité de service dans le cas dynamique.

Les approches proposées par les travaux existants dans lalittérature pour le problème de tournées de véhicules dynamiqueavec fenêtres de temps et un nombre de véhicules limité n’ont pasrespecté toutes les contraintes (fenêtre de temps et le stock de

TABLEAU 1. Continued

Best Know ACOLNS VRPTWDEV(%)

NV TD Référence NV TD CPU

RC205 4 1297.19 Mester (2002) 4 1373.96 449 5.92RC206 3 1146.32 Homberger (2000) 3 1183.44 385 3.24RC207 3 1061.14 Bent et Van Hentenryck (2004) 3 1160.62 1314 9.37RC208 3 828.14 Ibaraki et al. (2005) 3 903.72 941 9.13

TABLEAU 2Les résultats de l’algorithme ACOLNS DVRPTW

dod(%)

ACOLNS DVRPTW

TD NCS

C101 0 828.94 10010 896.61 10030 983.80 10050 872.16 10070 883.42 10090 923.92 100

C102 0 828.94 10010 1028.62 9930 1258.28 9950 1202.28 9970 1437.09 9790 1414.86 97

C103 0 828.06 10010 1352.36 10030 1286.78 10050 1413.76 10070 1579.78 10090 1446.80 100

C104 0 856.06 10010 1106.94 10030 1064.73 10050 1242.50 10070 1282.15 10090 1382.01 99

C105 0 828.94 10010 932.71 10030 989.56 10050 985.30 10070 946.96 10090 895.19 100

C106 0 828.94 10010 927.42 100

RÉSOLUTION DU VRPTW STATIQUE ET DYNAMIQUE 49

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

véhicules). C’est la raison pour laquelle nos résultats dans le casdynamique n’ont pas été comparés à ceux trouvés dans lalittérature, et nous sommes focalisés sur le cas statique afin demontrer l’efficacité de notre approche.

7. CONCLUSIONNous avons proposé, suite à une présentation de l’état de l’art duDVRP, une étude des différentes caractéristiques de ce dernier etla définition du degré de dynamisme, une approche de résolutiondeVRPTW statique basée sur une hybridation de l’algorithme decolonie de fourmis, qui minimise le nombre de véhicules, etl’algorithme de recherche à grand voisinage, qui minimise ladistance totale parcourue. Après, nous avons adapté cetteapproche afin de résoudre le VRPTW dans le cas dynamique,en respectant le nombre de véhicules et la contrainte de fenêtre detemps, et en traitant deux événements qui dépendent du temps «fin de service d’un client » et « l’arrivée d’un nouveau client ».Puis pour valider expérimentalement cette approche, nous avonsutilisé un ensemble de benchmarks trouvés dans la littératurepour les problèmes de VRPTW statiques et dynamiques, où nousavons pu assurer l’efficacité de notre approche à partir desrésultats du cas statique qui sont très encourageants et compar-ables à ceux obtenus dans la littérature. Nous allons essayer dansles futurs travaux de faire la restriction du problème dynamiquetraité dans ce papier sur des problèmes existants dans la littératureafin de montrer l’efficacité de notre approche dans le contextedynamique.

RÉFÉRENCESAbounacer, R., Bencheikh, G., Boukachour, J., Dkhissi, B., and Elhilali,

A. A. (2009), “Population Metaheuristics to solve the ProfessionalStaff Transportation Problem”, IJCSNS International Journal ofComputer Science and Network Security, 9(7): 22–36.

Bent, R. and Van Hentenryck, P. (2004), “A Two-Stage Hybrid LocalSearch for the Vehicle Routing Problem with Time Windows”,Transportation Science, 38(4): 515–530.

Berger, J. and Barkaoui, M. (2004), “A Parallel Hybrid GeneticAlgorithm for the Vehicle Routing Problem with TimeWindows”,Computers&Operations Research, 31(12): 2037–2053.

Blanton, J. L. andWainwright, R. L. (1993), “Multiple Vehicle Routingwith Time and Capacity Constraints using Genetic Algorithms”,Proceedings of the Fifth International Conference on GeneticAlgorithms, 452–459.

Branchini, R., Armentano, V., and Lokketangen, A. (2009), “Adaptivegranular local search heuristic for a dynamic vehicle routingproblem”, Computers & Operations Research, 36(11): 2955–2968.

Cordeau, J.-F., Laporte, G., and Mercier, A. (2001), “A Unified TabuSearchHeuristic forVehicle Routing Problemswith TimeWindows”,Journal of the Operational Research Society, 52: 928–936.

Czech, Z. J. andCzarnas, P. (2002), “AParallel SimulatedAnnealing forthe Vehicle Routing Problem with Time Windows”, Proc, 10thEuromicro Workshop on Parallel, Distributed and Network-basedProcessing, 376–383.

Gambardella, L., Taillard, E., and Agazzi, G. (1999), MACS-VRPTW:Amultiple ant colony system for vehicle routing problems with timewindows, McGraw-Hill: London, UK, 63–76.

Gendreau, M., Guertin, F., Potvin, J.-Y., and Taillard, E. (1999),“Parallel Tabu Search for Real-Time Vehicle Routing andDispatching”, Transportation Science, 33(4): 381–390.

Homberger, J. and Gehring, H. (1999), “Two EvolutionaryMetaheuristics for the Vehicle Routing Problem with TimeWindows”, INFOR, 37: 297–318.

Homberger, J. (2000), Verteilt-parallele Metaheuristiken zurTourenplanung, Gaber, Wiesbaden.

Housroum,H., Goncalves, G., Dupas, R., andHsu, T. (2004), An hybridGA approach for solving the Dynamic Vehicle Routing Problemwith Time Windows, Francoro IV, Fribourg, Suisse.

Ibaraki, T., Kubo, M., Masuda, T., Uno, T., and Yagiura, M. (2005),“Effective Local Search Algorithms for the Vehicle Routing Problemwith General Time Windows”, Transportation Science, 39(2).

Khouadjia, R., Sarasola, B., Alba, E., Jourdan, L., and Talbi, E. (2012),“A comparative study between dynamic adapted PSO and VNS forthe vehicle routing problem with dynamic requests”, Applied SoftComputing, 12(4): 1426–1439.

Kilby, P., Prosser, P., and Shaw, P. (1998), Dynamic VRPs: A study ofscenarios, Report APES-06.

Larsen, A. (2000), The dynamic vehicle routing problem, LYNGBY,IMM-PHD- 2000-73, Denmark.

Leonora, B. (2000), Notes on Dynamic Vehicle Routing - The state ofthe art, Technical report IDSIA-05-01, INDSIA.

Li, H., Lim, A., and Huang, J. (2003), “Local Search with Annealing-like Restarts to Solve the VRPTW”, European Journal ofOperational Research, 150: 115–127.

Lianxi, H. (2012), “An improved LNS algorithm for real-time vehiclerouting problem with time windows”, Computers & OperationsResearch, 39(2): 151–163.

TABLEAU 2 Continued

dod(%)

ACOLNS DVRPTW

TD NCS

30 1110.22 9750 1090.12 9870 1253.60 9890 1379.95 96

C107 0 828.94 10010 950.89 10030 1167.04 10050 1280.06 10070 1173.43 10090 961.43 100

C108 0 828.94 10010 1415.95 10030 1254.10 10050 1417.41 10070 1353.90 10090 1371.69 100

C109 0 828.94 10010 1047.53 10030 1181.36 10050 1170.08 10070 1151.29 10090 1108.36 99

50 MESSAOUD, EL HILALI ALAOUI, AND BOUKACHOUR

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal

Mester, D. (2002), An Evolutionary Strategies Algorithm for LargeScale Vehicle Routing Problem with Capacitate and TimeWindowsRestrictions, Institute of Evolution, University of Haifa, Israel.

Montemanni, R., Gambardella, L. M., Rizzoli, A. E., and Donati, A. V.(2002), A new algorithm for a Dynamic Vehicle Routing Problembased on Ant Colony System, Technical Report IDSIA-23-02,IDSIA.

Qiulei, D., Xiangpei, H., Lijun, S., and Yunzeng, W. (2012), “Animproved ant colony optimization and its application to vehiclerouting problem with time windows”, Bio-inspired computing andapplication, 98: 101–107.

Qureshi, A., Taniguchi, E., andYamada, T. (2012), “AMicrosimulationBased Analysis of Exact Solution of Dynamic Vehicle Routing withSoft Time Windows”, Procedia - Social and Behavioral Sciences,39: 205–216.

Rochat, Y. and Taillard, E. (1995), “Probabilistic diversification andintensification in local search for Vehicle Routing”, Journal ofHeuristics, 1: 147–167.

Rousseau, L. M., Gendreau, M., and Pesant, G. (2002), “UsingConstraint-Based Operators to Solve the Vehicle RoutingProblem with Time Windows”, Journal of Heuristics, 8: 43–58.

Russell, R. A. (1995), “Hybrid heuristics for Vehicle RoutingProblem with Time Windows”, Transportation Science, 29:156–166.

Schrimpf, G., Schneider, J., Stamm-Wilbrandt, H., and Dueck, G.(2000), “Record Breaking Optimization Results Using the Ruinand Recreate Principle”, Journal of Computational Physics, 159(2):139–171.

Shaw, P. (1997), A New Local Search Algorithm Providing HighQuality Solutions to Vehicle Routing Problems, University ofStrathclyde, Glasgow, Scotland.

Shaw, P. (1998), “Using Constraint Programming and Local SearchMethods to Solve Vehicle Routing Problems”, Principles andPractice of Constraint Programming - CP98, Lecture Notes inComputer Science, Springer-Verlag: New York, pp. 417–431.

Solomon, M. (1987), “Algorithms for vehicle routing and schedulingproblems with time windows constraints”, European Journal ofOperational Research, 35: 254–266.

Taillard, E., Badeau, P., Gendreau, M., Geurtin, F., and Potvin, J. Y.(1997), “A Tabu Search Heuristic for the Vehicle RoutingProblem with Time Windows”, Transportation Science, 31:170–186.

RÉSOLUTION DU VRPTW STATIQUE ET DYNAMIQUE 51

INFOR, Vol. 51, No. 1, February 2013, pp. 41–51 DOI 10.3138/infor.51.1.41ISSN 0315-5986|EISSN 1916-0615 Copyright © 2013 INFOR Journal