Upload
leliem
View
219
Download
0
Embed Size (px)
Citation preview
II
Remerciements Tout d’abord, j’aimerais remercier mes deux directeurs de recherche M. Jacques Renaud
et M. Fayez F. Boctor qui m’ont épaulé et guidé tout au long de ce projet. Je tiens à les
remercier pour leur disponibilité, leur patience ainsi que leur savoir qu’ils ont su me
transmettre pour réaliser cet essai.
Je tiens aussi à remercier M. Jacques Dubois, propriétaire de Distributions Jacques
Dubois Inc. et Mehdi Aouididi pour leur précieuse collaboration ainsi que pour m’avoir
fourni les données nécessaires à cet essai.
Ce projet n’aurait été possible sans l’appui du CEntre de recherche des Technologies de
l’Organisation Réseau (CENTOR), de la faculté des Sciences de l’Administration (FSA)
de même que du Conseil de Recherche des Sciences Naturelles et Génies (CRSNG). Je
les remercie pour leur infrastructure, leur encadrement académique et leur soutien
financier.
Aussi, je tiens à remercier tous mes amis et mes collègues étudiants avec qui j’ai partagé
des moments très agréables au cours des dernières années. Le partage des connaissances
avec vous fût un réel plaisir.
Finalement, je ne saurais passer sous silence le support de mes proches. Un grand merci à
ma famille pour leur appui dans les moments les plus difficiles et ce malgré la distance
qui nous sépare. Je vous remercie de m’avoir toujours encouragé à poursuivre mes
études. Mes plus sincères remerciements à la famille de mon copain qui m’ont soutenu
durant mes études. Pour terminer, j’aimerais exprimer ma gratitude à mon copain,
Sébastien, pour son aide, sa compréhension et ses précieux conseils.
MERCI à vous tous et à tous ceux que j’ai malencontreusement oubliés, sans vous je
n’aurais pu mener à terme ce projet!
III
Table des matières
REMERCIEMENTS ....................................................................................................... II
TABLE DES MATIÈRES..............................................................................................III
LISTE DES TABLEAUX...............................................................................................VI
LISTE DES FIGURES ................................................................................................. VII CHAPITRE 1
INTRODUCTION .............................................................................................................. 1 1.1. MISE EN CONTEXTE ..............................................................................................................................1 1.2. PROBLÉMATIQUE ..................................................................................................................................3 1.3. MÉTHODOLOGIE ...................................................................................................................................4 1.4. ORGANISATION DE L’ESSAI ...................................................................................................................5
CHAPITRE 2
REVUE DE LA LITTÉRATURE...................................................................................... 6 2.1. INTRODUCTION .....................................................................................................................................6 2.2. DÉFINITION DU PROBLÈME....................................................................................................................7 2.3. PROBLÈMES DU VOYAGEUR DE COMMERCE ET GÉNÉRALISATIONS .......................................................8
2.3.1. Formulation mathématique..........................................................................................................9 2.3.2. Le TSP symétrique et asymétrique .............................................................................................10 2.3.3. Généralisation du problème du voyageur de commerce............................................................12
2.4. PROBLÈMES DE TOURNÉES DE VÉHICULES ET GÉNÉRALISATIONS........................................................19 2.4.1. Le problème de tournées de véhicules........................................................................................20 2.4.2. Algorithme pour le VRP standard.............................................................................................22 2.4.3. Composition de la flotte .............................................................................................................31 2.4.4. Fenêtres de temps.......................................................................................................................32 2.4.5. Multi-dépôts ...............................................................................................................................42 2.4.6. Autres généralisations du problème de tournées de véhicules...................................................43
2.5. APPLICATIONS PRATIQUES DES PROBLÈMES DE TOURNÉES DE VÉHICULES .........................................48 2.6. ALGORITHMES ....................................................................................................................................52
2.6.1. Méthode exacte .........................................................................................................................53 2.6.2. Heuristiques ...............................................................................................................................55 2.6.2.2. Heuristiques d’amélioration .................................................................................................57
2.7. CONCLUSION ......................................................................................................................................66
IV
CHAPITRE 3
DISTRIBUTIONS JACQUES DUBOIS INC. ............................................................... 67 3.1. INTRODUCTION ...................................................................................................................................67 3.2. DESCRIPTION GÉNÉRALE DE L’ENTREPRISE.........................................................................................67
3.2.1. Principales activités ...................................................................................................................68 3.2.2. Les clients et fournisseurs ..........................................................................................................68 3.2.3. Les produits................................................................................................................................69 3.2.4. Les camions................................................................................................................................70 3.2.5. Méthode actuelle ........................................................................................................................70 3.2.6. Le siège social............................................................................................................................71
3.3. DÉFINITION DU PROBLÈME..................................................................................................................71 3.3.1. Fenêtre de temps ........................................................................................................................72 3.3.2. Flotte hétérogène .......................................................................................................................73 3.3.3. Multi-produit..............................................................................................................................74 3.3.4. La récupération..........................................................................................................................75
3.4. CONCLUSION ......................................................................................................................................76
CHAPITRE 4
MÉTHODE DE RÉSOLUTION ..................................................................................... 77 4.1. INTRODUCTION ...................................................................................................................................77 4.2. PRÉSENTATION GÉNÉRALE..................................................................................................................77 4.3. PRÉSENTATION DÉTAILLÉE .................................................................................................................78
4.3.1. Préparation des données............................................................................................................78 4.3.2. Heuristique de construction .......................................................................................................78 4.3.3. Amélioration individuelle des routes..........................................................................................81 4.3.4. Amélioration collective des routes .............................................................................................82
4.4. PRÉSENTATION DU LOGICIEL ..............................................................................................................83 4.4.1. Résolution de problèmes de la littérature .................................................................................84 4.4.1. Résolution de problèmes réels ...................................................................................................85
4.5. CONCLUSION ......................................................................................................................................95
CHAPITRE 5
RÉSULTATS .................................................................................................................... 96 5.1. INTRODUCTION ...................................................................................................................................96 5.2. PRÉSENTATION DES DONNÉES.............................................................................................................96 5.3. RÉSULTATS.........................................................................................................................................98 5.4. CONCLUSION ....................................................................................................................................111
CHAPITRE 6
CONCLUSION............................................................................................................... 113
RÉFÉRENCES.............................................................................................................. 115
V
ANNEXES ..................................................................................................................... 123 ANNEXE A : ROUTES ET COMMANDES INITIALES PAR DISTRIBUTIONS JACQUES DUBOIS INC...............124 ANNEXE B : GUIDE D’UTILISATION MAPPOINT.....................................................................................133
1. Introduction à MapPoint................................................................................................................133 2. Les objets de MapPoint..................................................................................................................134 3. Situer deux points sur une carte.....................................................................................................136 4. Le calcul des paramètres de la route .............................................................................................138 5. Visualiser une route sur une carte MapPoint ................................................................................143
ANNEXE C : ARTICLE ASAC ................................................................................................................148
VI
Liste des tableaux
Tableau 2.1. : Comparaison des heuristiques pour le TSP avec retour à charge ..... 14 Tableau 2.2. : Résultats du CVRP ................................................................................. 25 Tableau 2.3. : Comparaison des métaheuristiques utilisées........................................ 27 Tableau 2.4. : Résultats sur les problèmes de Christofides et Eilon (1989) ............... 28 Tableau 2.5. : Problèmes par grappe ............................................................................ 28 Tableau 2.6. : Problèmes de grandes tailles.................................................................. 30 Tableau 2.7. : Meilleures solutions pour les problèmes C1......................................... 34 Tableau 2.8. : Meilleures solutions pour les problèmes C2......................................... 34 Tableau 2.9. : Meilleures solutions pour les problèmes R1......................................... 35 Tableau 2.10. : Meilleures solutions pour les problèmes R2....................................... 36 Tableau 2.11. : Meilleures solutions pour les problèmes RC1 .................................... 37 Tableau 2.12. : Meilleures solutions pour les problèmes RC2 .................................... 38 Tableau 2.13. : Comparaison des résultats moyens entre les publications................ 39 Tableau 2.14. : Résultats de Li et Lim (2003)............................................................... 40 Tableau 2.15. : Résultats de Berger et Barkaoui (2003) .............................................. 41 Tableau 2.16. : Résultats des problèmes tirés de Golden et al. (1983) ....................... 44 Tableau 2.17. : Résultats des problèmes tirés de Kiuchi et al. (1995) ........................ 44 Tableau 2.18. : Résultats des problèmes tirés de Benavent et al. (1992).................... 45 Tableau 2.19. : Résultat Osman et Wassan (2002)....................................................... 47 Tableau 3.1. : Répartition des activités selon la journée de la semaine ..................... 71 Tableau 3.2. : Caractéristiques des camions ................................................................ 73 Tableau 3.3. : Classement des produits......................................................................... 75 Tableau 3.4. : Classification des clients selon la quantité de recupération................ 76 Tableau 5.1. : Exemple d’une route et des commandes associées .............................. 97 Tableau 5.2. : Routes initiales par Distributions Jacques Dubois inc. ....................... 98 Tableau 5.3. : Routes initiales ........................................................................................ 99 Tableau 5.4. : Routes obtenues suite au 3-opt .............................................................. 99 Tableau 5.5. : Routes obtenues suite à l’amélioration inter-route ........................... 100 Tableau 5.6. : Routes finales ........................................................................................ 101 Tableau 5.7. : Routes finales obtenues avec critère nb clients/ distance parcourue 111
VII
Liste des figures
Figure 2.1. : Classification des problèmes du voyageur de commerce et ses généralisations .............................................................................................. 8
Figure 2.2. : Classification des problèmes de tournées de véhicules .......................... 19 Figure 3.1. : Localisation des clients de Distributions Jacques Dubois inc. .............. 69 Figure 4.1. : Organigramme de la méthode de résolution........................................... 80 Figure 4.2. : Un mouvement 3-opt ................................................................................ 81 Figure 4.3. : Les 11 échanges testées ............................................................................. 83 Figure 4.4. : Interface visuelle du logiciel ..................................................................... 84 Figure 4.5. : Sélection d’un problème classique ........................................................... 85 Figure 4.6. : Modification des caractéristiques des clients.......................................... 86 Figure 4.7. : Modification de la commande d’un client............................................... 87 Figure 4.8. : Sélection des clients ................................................................................... 88 Figure 4.9. : Sélection des clients par ville .................................................................... 88 Figure 4.10. : Identification des paramètres de l’entreprise ....................................... 89 Figure 4.11. : Optimisation des tournées ...................................................................... 90 Figure 4.12. : Feuille de route des camionneurs........................................................... 92 Figure 4.13. : Accès à MapPoint .................................................................................... 93 Figure 4.14. : Commande des clients............................................................................. 94 Figure 4.15. : Localisation des clients............................................................................ 94 Figure 5.1. : Illustration et description de la route 1 ................................................. 102 Figure 5.2. : Illustration et description de la route 2 ................................................. 103 Figure 5.3. : Illustration et description de la route 3 ................................................. 104 Figure 5.4. : Illustration et description de la route 4 ................................................. 105 Figure 5.5. : Illustration et description de la route 5 ................................................. 106 Figure 5.6. : Illustration et description de la route 6 ................................................. 107 Figure 5.7. : Illustration et description de la route 7 ................................................. 108 Figure 5.8. : Illustration et description de la route 8 ................................................. 109 Figure 5.9. : Illustration et description de la route 9 ................................................. 110
1
Chapitre 1
Introduction
Le transport permet le mouvement des produits
d’un endroit à un autre. Il est par conséquent
indispensable à notre économie. Ce chapitre est
composé d’une mise en contexte du transport
routier des marchandises au Canada où
l’importance du transport est démontrée et d’une
description de la problématique qui sera résolue dans cet essai. Suit la méthodologie qui
sera utilisée et finalement l’organisation de l’essai par chapitre.
1.1. Mise en contexte
Les opérations de transport sont essentielles au bon fonctionnement de notre économie de
marché. Effectivement, selon Statistiques Canada, les entreprises de transport routier
emploient plus de 200 000 personnes et génèrent des revenus annuels de plus de 36,9
milliards. Le transport routier des marchandises permet l’acheminement des matières et
des produits entre entreprises et vers les consommateurs. Il permet entre autres la
distribution de tous les produits vitaux tels que la nourriture, les vêtements, les meubles,
etc. Le transport joue un rôle clé dans la chaîne logistique puisqu’un produit est rarement
produit et consommé au même endroit. Pratiquement chaque produit acheté par un
consommateur est passé par un camion. Certains produits passent par quatre ou cinq
camions ou même plus avant d'aboutir entre les mains du consommateur final. Étant
donné l’étendue géographique du Canada, le transport routier des marchandises joue un
2
rôle économique primordial. Selon Statistiques Canada, l’infrastructure routière
canadienne compte plus de 900 000 kilomètres d’autoroutes et de routes pour supporter
l’industrie du camionnage et les transports en général.
Le nombre de camions sur les routes augmente d’années en années. Par ailleurs, les coûts
de carburant eux augmentent sans cesse constituant une part importante des frais
d’opération d’un transporteur. Par conséquent, la rentabilité d’une entreprise est
grandement affectée par les décisions relatives à l’assignation et à la séquence des
livraisons. La planification des tournées est donc un problème majeur pour les entreprises
de transport. Étant donné les conséquences économiques et stratégiques des problèmes
de transport, ces derniers ont attiré l’attention de nombreux chercheurs et ce, depuis
plusieurs années.
Le problème de base en transport, probablement celui le plus étudié, est le problème du
voyageur de commerce (traveling salesman problem ) qui permet de visiter un ensemble
de clients avec un seul camion. Le problème consiste donc à trouver l’ordre dans lequel
chacun des clients sera visité.
À ce problème, de nombreuses contraintes peuvent s’ajouter permettant ainsi de s’adapter
à des problèmes pratiques rencontrés dans l’industrie du camionnage. Par exemple, le
problème de tournées de véhicules (vehicle routing problem) est un autre problème étudié
par plusieurs chercheurs, il traite le cas où chacun des clients a une demande déterminée
et où la flotte est homogène.
Cet essai porte sur un problème de tournées de véhicules où plusieurs contraintes sont
présentes. La prochaine section permet de bien cerner l’ensemble de ces contraintes.
3
1.2. Problématique
Le problème rencontré chez Distributions Jacques Dubois inc. est un problème de
tournées de véhicules avec fenêtres de temps, flotte hétérogène et produits multiples.
Effectivement, il s’agit d’un problème de tournées de véhicules puisque les clients à
visiter requièrent une demande connue à l’avance et les véhicules sont limités par leur
capacité en terme de poids pour les produits et de volume pour la récupération. De plus,
chacun des clients a une fenêtre de temps à l’intérieur de laquelle il désire recevoir la
livraison. On dit que la flotte est hétérogène puisque la flotte de camions de l’entreprise
est constituée de camions ayant des capacités distinctes. De plus, l’entreprise distribue
plusieurs produits qui sont différents les uns des autres, ces derniers ont un poids
différents qui devra être pris en considération. Finalement, l’entreprise doit aussi
récupérer chez ses clients les bouteilles et cannettes vides.
Le problème consiste donc à visiter tous les clients une et une seule fois afin de leur livrer
la marchandise commandée et rapporter la récupération tout en respectant les contraintes
de temps, de volume et de capacité. L’objectif est de minimiser la distance parcourue
pour visiter tous les clients.
Pour résoudre ce problème, plusieurs étapes seront nécessaires. En premier lieu, la
construction de l’ensemble des routes. Ces routes devront respecter l’ensemble des
contraintes. Une fois l’ensemble des routes construit, une amélioration individuelle de
chacune de celle-ci sera effectuée à l’aide du 3-opt. Finalement, on évaluera deux à deux
les routes pour tenter de les améliorer en interchangeant les clients entre ces routes, tout
cela en s’assurant encore une fois que toutes les contraintes sont respectées.
4
1.3. Méthodologie
Les objectifs visés par cet essai consistent tout d’abord à bien identifier les problèmes de
tournées étudiés récemment par les scientifiques de la recherche opérationnelle. Par la
suite, en rapport avec ces problèmes, une approche adaptée aux contraintes de l’entreprise
Distributions Jacques Dubois inc. sera présentée.
Dans un premier temps, une revue des articles récents sera effectuée de manière à mettre
à jour les connaissances dans le domaine des tournées de véhicules et à définir les
algorithmes les plus en vogues ces dernières années. Les articles traitant du problème du
voyageur de commerce sont présentés puis le problème de tournées de véhicules est
ensuite abordé. Ces deux types de problèmes sont séparés en sous-groupes selon le type
de contraintes traitées.
Ensuite, l’entreprise Distributions Jacques Dubois inc. sera présentée plus en détail de
manière à bien situer le contexte du problème de tournées de véhicules. Ainsi, les
caractéristiques du problème rencontré et les contraintes inhérentes au problème seront
présentées.
Plusieurs méthodes de résolution seront proposées pour résoudre le problème de
voyageur de commerce et le problème de tournées de véhicules avec limites de capacité
et de durée. Par conséquent, chacune de ces dernières sera exposée de façon précise. Ces
algorithmes ont été intégrés à un logiciel qui sera présenté étape par étape à la manière
d’un guide d’utilisateur.
Finalement, une analyse des résultats obtenus sur des données réelles permettra d’évaluer
l’heuristique proposée sur le problème de Distributions Jacques Dubois inc.
5
1.4. Organisation de l’essai Après avoir effectué une brève introduction au chapitre 1, le chapitre 2 présente les
principaux problèmes de tournées, les algorithmes utilisés pour les résoudre ainsi que les
résultats obtenus. Cette revue est récente puisque seulement les articles parus au cours
des trois dernières années seront présentés.
Le chapitre 3 présente l’entreprise Distributions Jacques Dubois inc. Dans un premier
temps, une description générale de l’entreprise sera exposée. Puis, la problématique sera
abordée de façon plus détaillée.
Le chapitre 4 met en relief la méthode de résolution utilisée. Une description plus
générale est suivie d’une description détaillée des heuristiques utilisées. Pour terminer ce
chapitre, le logiciel d’optimisation ayant permis de résoudre la problématique est
présenté. Ce logiciel est en interaction avec une base de données Access et le logiciel de
cartographie MapPoint permettant de mieux visualiser les routes.
Le chapitre 5 évalue les heuristiques proposées pour ensuite proposer les routes à
l’entreprise Distributions Jacques Dubois inc.
En conclusion, les modifications qui pourraient être apportées ainsi que les objectifs
atteints seront discutés.
Finalement, il est possible de consulter en annexe un guide d’utilisation permettant
d’utiliser les fonctionnalités de MapPoint à partir de Visual Basic de même que l’article
rédigé pour le congrès de l’association des sciences administratives du Canada (ASAC).
6
Chapitre 2
Revue de la littérature (2000-2003)
2.1. Introduction
La recherche en transport a beaucoup évoluée au cours des dernières
années. Les entreprises ont découverts qu’une meilleure planification
des tournées permettrait d’épargner des coûts importants. Effectivement, les coûts de
transport effectués à travers la chaîne logistique et durant le processus de vente
représentent généralement 10 à 25% du coût total de production. Selon CASS Information
Systems, cela peut représenter jusqu’à 57% des coûts logistiques, surpassant ainsi les
coûts de stockage (31%) et d’entreposage (8%). Les problèmes étudiés en transports sont
variés. Ce chapitre effectuera un survol des plus récentes publications concernant les
problèmes du voyageur de commerce et de tournées de véhicules ainsi que leurs
principales généralisations. Chaque article est traité à la fois par rapport à sa
problématique et à l’algorithme utilisé pour trouver une solution. Ce chapitre permettra
d’explorer les grandes tendances des dernières années tant au niveau des problèmes que
des algorithmes utilisés. L’étude des problématiques étudiées permettra de cibler
l’avancement des recherches sur les problèmes de transport tandis que l’étude des
algorithmes permettra de déterminer les méthodes de résolutions les plus efficaces.
7
2.2. Définition du problème
La problématique du transport n’est pas un problème récent et de nombreuses entreprises
doivent confronter cette dernière à tous les jours. Le problème de base consiste à affecter
en ordre les clients à une seule route. Or, cela ne reflète qu’une minorité d’entreprises
puisque dans la majorité des cas, elles doivent prendre une panoplie de décisions à savoir
dans quel ordre desservir un ensemble de clients en utilisant une flotte de véhicule (ou un
seul véhicule) à partir d’un ou plusieurs entrepôts. À cela s’ajoute les décisions
d’affection des clients et des camions aux différentes routes.
Plusieurs variantes de ce modèle sont apparues dans la littérature. Effectivement,
plusieurs contraintes peuvent y être ajoutées ou retranchées. Ainsi, l’entreprise peut
posséder un seul ou plusieurs véhicules. Ces derniers peuvent être identiques ou
hétérogènes à des niveaux distincts, soit les coûts d’utilisation, la capacité de chargement,
les coûts fixes, etc. La demande peut se trouver sur les arcs ou sur les nœuds selon le type
de problème auquel nous faisons face. Chaque fois que l’on ajoute ou retranche une
contrainte, un nouveau problème apparaît. Tous ces ajouts permettront de se rapprocher
de la réalité à laquelle une entreprise peut être confrontée. Les sections suivantes
tenteront de faire la lumière sur tous ces types de problèmes apparaissant dans des articles
des trois dernières années.
Notons pour terminer que peu importe les contraintes du problème, il demeure toujours
NP-Dur ce qui signifie qu’aucun algorithme connu ne peut garantir de trouver dans un
temps polynomial la solution exacte à ce problème.
8
2.3. Problèmes du voyageur de commerce et généralisations
Le problème du voyageur de commerce, mieux connu sous le nom de Traveling
Salesman Problem (TSP), est un des problèmes les plus étudiés en recherche
opérationnelle. Effectivement, il est à la base de tous les problèmes de tournées et a une
multitude d’applications réelles. Ce problème consiste à trouver le chemin le plus court
qui visite toutes les villes une et une seule fois tout en revenant au point de départ. Le
problème du voyageur de commerce étant NP-Dur, le temps pour trouver la solution
optimale augmente de façon exponentielle en fonction de la taille du problème. Il se
définit mathématiquement comme ceci : soit G = (N, A) où G est un graphe, N= {v0,
v1,…,vn} représente l’ensemble des nœuds (villes). Par ailleurs, A ={(vi,vj)| vi,vj ε N, i
<j} représente les arrêtes reliant ces nœuds si les distances sont symétriques et A={(vi,vj)|
vi,vj ε N, i ≠ j} représente les arcs lorsqu’elles sont asymétriques. Dans le cas où le
problème est symétrique c’est-à-dire où le graphe est non orienté, on parlera d’un cycle et
dans le cas contraire on parlera d’un circuit.
Figure 2.1. : Classification des problèmes du voyageur de commerce et ses généralisations
Voyageur de commerce
TSP pur Généralisations
Symétrique Asymétrique Localisation de la demande sur les arcs
Autres généralisations
Cueillette et/ou livraison
- Shutler (2001) - Helsgaun (2000)
- Choi, Kim, Kim (2003)- Glover, Gutin, Yeo, v Zverovich (2001)
- Ghaziri,Osman (2003) - Renaud, Boctor, Laporte (2002) - Renaud, Boctor, Ouenniche (2000)
- Cabral, Gendreau, Ghiani, Laporte (2003)
- Bourgeois, Laporte, Semet (2003)
- Moon, Kim, Choi, Seo (2002)
- Schneider (2002) - Patterson,Rolland
(2003) - Paletta (2002)
9
Le problème du voyageur de commerce consiste à trouver le cycle Hamiltonien le plus
court. Un cycle Hamiltonien est un cycle qui relie tous les nœuds d’un réseau de façon à
ce que chaque nœud soit visité une et une seule fois.
Le problème du voyageur de commerce permet évidemment de résoudre des problèmes
de tournées mais il existe aussi une variété d’autres contextes auxquels il peut
s’appliquer. Tout d’abord, on peut l’appliquer dans la construction des cartes maîtresses
des ordinateurs afin de minimiser la longueur des fils de cuivre entres les puces. Par
ailleurs, les algorithmes de résolution du TSP peuvent également être utilisés pour
optimiser la coupe du papier peint de manière à minimiser les pertes. Aussi, il peut être
utilisé afin d’optimiser les opérations de perçage des feuilles métalliques, l’application du
TSP permet alors d’optimiser le temps de déplacement de la perceuse pour percer ces
trous. Le TSP peut aussi être utile en ordonnancement. Si n commandes doivent être
effectuées sur une seule machine et que le temps de mise en route dépend de l’ordre de
passage, le TSP permettra de minimiser le temps de mise en route des commandes en
déterminant l’ordre dans laquelle celles-ci doivent être effectuées. Une autre application
du TSP est possible en cristallographie afin de minimiser le temps qui sert à prendre les
mesures au rayon-X. Par conséquent, on peut facilement constater que ce problème est
présent dans l’optimisation de plusieurs problèmes de notre vie de tous les jours. Le
lecteur intéressé est invité à consulter l’excellent livre Lawler et al. (1985) et les revues
de Laporte (1991) et Laporte et Osman (1995).
2.3.1. Formulation mathématique
Définissons les différentes variables nécessaires pour effectuer la formulation
mathématique du problème du voyageur de commerce.
dij = Distance entre la ville i et la ville j
n = Nombre de villes
xij = Variable binaire qui prend la valeur 1 si la ville i est visité immédiatement
avant la ville j. Sinon, cette variable prend la valeur 0.
10
Le problème consiste à minimiser la longueur du cycle Hamiltonien. La fonction objectif est:
Minimiser : Z = ∑=
n
i 1∑=
n
jd
1ij xij (2.1)
Les contraintes sont les suivantes :
11
=∑=
n
jijx i = 1,…..,n (2.2)
11
=∑=
n
iijx j= 1,…..,n (2.3)
∑ ∑
∈ ∈SI SJijx ≤ | S| - 1 pour tout S de N (2.4)
La contrainte (2.2) s’assure qu’on ne sort qu’une seule fois de chacun des points tandis
que la contrainte (2.3) vérifie que l’on entre seulement une fois à chaque point. Ces
contraintes permettent donc de visiter tous les points une et une seule fois. Par contre, si
l’on n’ajoute pas la contrainte (2.4) des sous-tours se formeront. La troisième contrainte
élimine donc tous les sous-tours possibles. Dans cette contrainte |S| dénote la cardinalité
de l’ensemble S. Cette contrainte doit être décrite pour tous les sous-ensembles S de N.
2.3.2. Le TSP symétrique et asymétrique
Une première particularité de ce problème se situe au niveau des caractéristiques du
graphe. Effectivement, les arcs du graphe peuvent avoir un poids inégal selon le sens
dans lequel on le parcourt, dans ce cas on dira que la matrice de ce problème est
asymétrique. Dans le cas contraire, où la distance est la même peu importe le sens, alors
cette dernière sera symétrique. Un problème est symétrique si la condition suivante est
respectée : dij = dji i∀ , j∀ . Par ailleurs, les distances peuvent aussi respecter l’inégalité
11
du triangle. Dans ce cas, la condition suivante doit s’appliquer : dik ≤ dij + djk ijk∀ . Selon
cette équation, il n’est jamais plus court de passer par le point j si l’on désire se rendre au
point k à partir du point i.
2.3.2.1. Le cas symétrique Un seul article parmi ceux étudiés présente une approche de résolution pour le problème
du voyageur de commerce symétrique. Shutler (2001) présente une amélioration à un
algorithme de séparation et d’évaluation progressive afin de résoudre le problème de TSP
symétrique. Il résout des problèmes de l’ordre de 100 à 500 nœuds. Notons cependant
que la meilleure heuristique actuellement disponible est celle de Helsgaun (2000) basée
sur le Lin-Kernighan.
2.3.2.2. Le cas asymétrique L’article de Glover, Gutin, Yeo et Zverovich (2001) présente trois nouvelles heuristiques
de construction pour le TSP asymétrique. Les auteurs développent des heuristiques de
construction pour un graphe orienté dans lequel chacun des arcs a un poids différent. Ces
heuristiques ont été testés sur sept différentes familles de problèmes. Ainsi, pour tous les
problèmes asymétriques du TSPLIB présenté par Reinelt (1981), la première heuristique
basée sur le Karp-Steele patching est meilleure se situant en moyenne à 3,36% de
l’optimum. Étant donné que les résultats sont très distincts d’un problème à un autre, il
sera approprié de choisir l’heuristique selon la famille auquel ce problème appartient.
Choi, Kim et Kim (2003) étudient eux aussi le problème de TSP asymétrique. Les auteurs
ont testé leur algorithme génétique sur 23 problèmes de 17 à 170 nœuds. Cet heuristique
a permis de trouver pour 14 problèmes la solution optimale tandis que la méthode exacte
de séparation et d’évaluation progressive a permis de trouver la solution optimale pour 19
problèmes. Elle a échouée à quatre reprises étant donné une insuffisance de mémoire de
l’ordinateur.
12
2.3.3. Généralisation du problème du voyageur de commerce
La deuxième caractéristique majeure du problème du voyageur de commerce se situe au
niveau du type d’opération effectué. En modifiant le type d’opération, le problème n’est
plus un problème de TSP pur, il devient alors une généralisation du TSP. De ce fait,
l’entreprise concernée peut avoir à effectuer des cueillettes et/ou des livraisons selon le
contexte de l’industrie.
2.3.3.1. Le TSP avec cueillette et livraison Le problème de cueillette et livraison consiste à trouver le cycle Hamiltonien le plus court
permettant de desservir tous les clients, de manière à ce que chaque cueillette soit
effectuée avant sa livraison associée.
Pour résoudre ce problème, Renaud, Boctor et Ouenniche (2000) présente un algorithme
composite. Les auteurs ont testé leur heuristique composite sur un ensemble de 108
problèmes dérivés de 36 problèmes du TSPLIB de Reinelt (1981) ayant jusqu’à 441
points. Les résultats obtenus démontrent que la double insertion suivi du 4-opt* permet
de se situer en moyenne à 5,64 % de la meilleure solution connue tandis que la double
insertion suivi de l’insertion et la suppression simultanée permet de se situer à seulement
4,48 % de ces résultats. Le 3-opt permettrait d’obtenir de meilleurs résultats (3,87% au
dessus de la meilleure solution connue) mais ce dernier utilise beaucoup de temps de
résolution. En effet, le 3-opt prend en moyenne 1314,2 secondes tandis que le 4-opt* et la
suppression et réinsertion prennent respectivement 73,1 et 95,9 secondes.
Renaud, Boctor et Laporte (2002) décrivent et comparent sept algorithmes de
perturbations. Trois différents types de perturbations sont abordées : perturbation du
problème, perturbation de l’algorithme et perturbation de la solution. Les heuristiques de
perturbation ont été testées sur deux types de problèmes. Le premier ensemble de
problème a été généré à partir de 36 problèmes du TSPLIB (Reinelt 1981) de 51 à 441
nœuds. Les résultats pour ce type de problème permettent d’améliorer ceux de Renaud,
13
Boctor et Ouenniche (2000) d’approximativement 4%. Le deuxième ensemble de
problèmes comporte dix problèmes de 101 nœuds et dix problèmes de 201 nœuds pour
lesquels l’optimum est connu. Les résultats permettent d’obtenir ou de s’approcher
considérablement de cet optimum. Effectivement, l’optimum est obtenu pour douze des
vingt problèmes.
2.3.3.2. Le TSP avec retour à charge Le papier de Ghaziri et Osman (2003) considère une extension du problème classique de
TSP, il s’agit du problème avec retour à charge (backhaul). Les clients sont divisés en
deux types, les premiers clients devant être visités au début de la route sont ceux
nécessitant une cueillette et les seconds permettant un retour à charge (backhaul) qui
seront visités une fois que tous les clients avec livraisons auront été visités. Les premiers
clients requièrent une livraison à partir du dépôt tandis que les clients avec retour à
charge permettent de rapporter de la marchandise au dépôt. Les auteurs présentent donc
une nouvelle heuristique basée sur les réseaux de neurones, il s’agit du SOFM*. Ils
utilisent quatre types d’interactions : la première chaîne interagit avec les clients à
longues distances, la seconde chaîne interagit avec les clients nécessitant une cueillette,
les queues des chaînes interagissent ensembles et finalement la tête des deux chaînes
interagissent avec le dépôt. Les tests ont été effectués sur des problèmes ayant entre 100
et 1000 points.
Un autre article classique sur le problème est celui de Gendreau, Hertz et Laporte (1993)
qui traite lui aussi du problème du voyageur de commerce avec retour à charge. Ils
proposent une heuristique dont la pire performance est de 3/2 de l’optimum lorsque le
problème respecte l’inégalité du triangle et que les coûts sont symétriques. Par la suite, ils
ont proposé quatre différentes heuristiques. Les tests ont été effectués sur 30 problèmes
de 100, 200 et 300 points. Les résultats de ces heuristiques se situent en moyenne à 0,5%
de la borne inférieure. Cela signifie que la plupart des résultats obtenus sont optimaux car
cet écart est probablement dû à l’écart entre la borne inférieure par rapport à la solution
optimale. Tous ces résultats ont été obtenus avec un faible effort de calcul. Chacune des
14
heuristiques présentées a utilisé l’algorithme GENIUS pour le TSP développé par
Gendreau, Hertz et Laporte (1992). Cet algorithme est constitué d’une phase de
construction et d’une phase de post-optimisation. La phase d’insertion GENI
(GENeralized Insertion) se fait à partir de trois nœuds choisis aléatoirement à partir
desquels sont insérés d’autres sommets pour former un cycle Hamiltonien. La seconde
phase US (Unstringing and Stringing) considère le retrait de chaque nœud pour ensuite
tenter de les réinsérer dans le tour de façon à réduire le coût de la tournée.
Plus récemment, Mladenovic et Hansen (1997) ont utilisé GENIUS avec une structure de
recherche nommée GENIUS-VNS. Cette variante est meilleure que l’adaptation GENIUS
par Gendreau, Hertz et Laporte (1993) en moyenne de 0,4% avec une augmentation de
30% du temps de calcul. Le tableau 2.1. présente une comparaison des solutions et temps
de calcul entre SOFM* de Ghaziri et Osman et les deux variantes de GENIUS. Selon ce
tableau, on constate que l’heuristique GENIUS-VNS surpasse les autres heuristiques en
terme de qualité de solution tandis que l’heuristique GENIUS est celle qui utilise le
moins de temps de calcul. Quant à l’heuristique SOFM*, il peut être un bon compromis
pour les problèmes de grandes tailles.
Tableau 2.1. : Comparaison des heuristiques pour le TSP avec retour à charge
Solution moyenne obtenues Temps moyen (CPU) en secondes
Nb points SOFM* GENIUS GENIUS-
VNS
SOFM* GENIUS GENIUS-
VNS
100 1072,05 1070,05 1065,62 23,98 4,76 5,54
200 1493,65 1498,56 1491,86 66,86 34,24 36,02
300 1815,18 1818,01 1812,12 308,38 85,02 100,66
500 2328,60 2328,78 2321,09 805,86 342,54 354,66
1000 3269,46 3273,13 3258,44 1453,20 1197,72 1671,82
Tous 1951,87 1953,73 1946,08 844,47 303,03 391,05
Source : Ghaziri et Osman (2003)
15
2.3.3.3. Localisation de la demande sur les arcs
Il arrive parfois que la demande ne soit pas située sur les nœuds comme dans le cas
classique du TSP mais qu’elle se trouve sur les arcs comme, par exemple, lors de la
livraison de courrier, c’est le problème du postier chinois. Ainsi, Cabral, Gendreau,
Gianpaolo et Laporte (2003) ont adapté le hierarchical Chinese postman problem
(HCPP) en un problème équivalent du rural postman problem (RPP). La différence
majeure entre un RPP et un CPP est que lors du RPP ce n’est pas tous les arcs qui ont une
demande, le graphe est ainsi séparé en arcs nécessitant un service ou non. À l’inverse,
tous les arcs du Chinese postman problem requièrent un service, donc ils doivent tous
être visités au minimum une fois. L’intérêt de cette adaptation est dû à l’existence
d’heuristiques et d’algorithmes exacts permettant de résoudre le RPP. Le HCPP est défini
sur un graphe non orienté dans lequel les arcs sont séparés en groupes qui nécessitent un
service et possèdent des relations de précédence ou une hiérarchie entre ces différents
groupes. La transformation en RPP permet d’appliquer un algorithme exact de génération
de coupes sur ce problème transformé. De plus, deux objectifs sont considérés lors de cet
article soient l’objectif hiérarchique et l’objectif de minimisation du temps de la route.
Les auteurs ont testés leur méthode sur le graphe Albaida1 qui contient 113 nœuds et 171
arcs. Ces arcs ont été séparés selon trois types de service. De plus, quelques problèmes
ont été générés de façon aléatoire, le plus grand problème contenant 150 nœuds. L’écart
maximum obtenu par rapport à la solution trouvée par séparation et évaluation
progressive est de 0,8 %.
2.3.3.4. Autres généralisations du TSP Dans la littérature récente, plusieurs généralisations du TSP ont été étudiées. Parmi
celles-ci, notons l’ajout de contraintes de préséance entre les nœuds à visiter, ensuite, une
contrainte de changement de temps sur les arcs, une contrainte de cardinalité des nœuds
et une contrainte maximale de temps de route. Finalement une généralisation du TSP
nommé le black and white traveling salesman problem.
16
Le problème du voyageur de commerce avec contraintes de préséance (TSPPC) est
appliqué dans de nombreux problèmes industriels comme l’ordonnancement, les
décisions d’acheminement des marchandises et la planification de projet. Dans ces
problèmes, il y a un ordre prédéfini entre certains nœuds du graphe. Ainsi, certains nœuds
doivent être visités avant d’autres. Moon, Kim, Choi et Seo (2002) proposent de résoudre
le TSPC avec un algorithme génétique. Les auteurs ont effectué des tests sur des
problèmes de différentes tailles. Le nombre de points et de contraintes est respectivement
de 6 et 6 pour les problèmes de petite taille, de 20 et 29 pour les moyens et de 40 et 56
pour les problèmes de grande taille. Les résultats indiquent qu’une solution optimale est
trouvée pour les problème de petite et moyenne taille alors que les résultats sont proches
de l’optimum pour les grands problèmes.
Schneider (2002) propose une extension au problème du voyageur de commerce dans
lequel les distances entre les clients peuvent varier dans le temps. Par conséquent, la
matrice des distances devient dynamique. Cette extension permet de modéliser la
congestion routière puisque le temps entre deux villes peut être différent selon le moment
de la journée à lequel on effectue le trajet. L’auteur démontre que le recuit simulé est une
excellente méthode permettant de résoudre ce problème complexe. Il présente des
résultats sur la visite des 127 cafés de la région de Augsburg, en Allemagne, dans lequel
certaines zones présentent des bouchons de circulation en après-midi.
Patterson et Rolland (2003) présentent un nouveau problème qui consiste à séparer un
graphe en plusieurs sous-graphes Hamiltoniens ayant une cardinalité minimum et
maximum, c’est-à-dire leur nombre de noeuds. Ce type de problème est nommé
cardinality constrained covering traveling salesman problem (CCC-TSP). Il ajoute deux
paramètres, L et U, correspondant aux bornes minimales et maximales quant à la
cardinalité pour chacun des tours. Les problèmes d’affectation ainsi que le TSP sont des
cas spéciaux de ce problème. Effectivement, lorsque L est égal à U et aussi égal au
nombre de points, alors le problème à résoudre est en fait un TSP. Ce problème est utile
pour tous les cas où un minimum de service est requis par l’affectation d’un maximum de
17
clients à chaque route et en même temps un minimum de clients doit être desservie par
cette route. Un exemple pratique consiste à trouver de bonnes solutions pour une
« popotte roulante » qui aurait comme contrainte un temps de route maximal, un nombre
maximal de mets à servir et un minimum de clients à servir pour être rentable. Les
auteurs ont expérimenté leur heuristique sur 30 problèmes tirés de TSPLIB. La taille des
problèmes testés varie de 51 à 226 nœuds avec 24 problèmes ayant 100 points et plus.
Les tests démontrent que l’algorithme obtient régulièrement la solution optimale.
Effectivement, pour les problèmes ayant une densité de 15%, l’écart est de moins de
0,053% de l’optimum tandis que pour les problèmes d’une densité de 100% l’écart
moyen est de moins de 0,74%. Ces résultats sont trouvés dans un temps se situant entre
6,7 et 132 818 secondes.
Paletta (2002) propose une nouvelle heuristique permettant de résoudre un problème de
voyageur de commerce périodique. Ce type de problème est défini comme suit : un
voyageur de commerce doit visiter chaque ville un nombre prédéterminé de fois durant
une période de m jours. À chaque jour, le voyageur doit retourner à la maison. L’objectif
consiste à minimiser la distance totale parcourue par le voyageur de commerce durant la
période. L’heuristique proposée permet d’interrompre la construction du tour afin d’y
introduire une procédure d’amélioration. Les tests ont été effectués sur 33 problèmes de
48 à 288 nœuds. L’heuristique permet de trouver une solution optimale pour 25
problèmes et se situe en moyenne à 0,745% de l’optimum. Finalement, l’écart de la pire
solution obtenue se situe à 1,035% de l’optimum connu.
Finalement, Bourgeois, Laporte et Semet (2003) présentent une heuristique pour une
variante particulière du TSP. Leur article traite du Black and White Traveling Salesman
Problem (BWTSP) définit sur un graphe G dans lequel les points sont segmentés en
points noirs et blancs. L’objectif consiste à trouver le tour Hamiltonien le plus court dans
le graphe en respectant deux contraintes. La première contrainte restreint le nombre de
points blancs entre deux points noirs d’excéder un entier positif Q, il s’agit donc d’une
contrainte de cardinalité. La deuxième contrainte restreint la distance entre deux points
noirs consécutifs à être inférieure à L. Le BWTSP équivaut au TSP classique lorsque les
18
valeurs de Q et L sont égales et correspondent à l’infini. Le BWTSP a de nombreuses
applications lors des cédules des lignes aériennes et en télécommunication. Par exemple,
le BWTSP est utile en ordonnancement de lignes aériennes car les séquences de vols
(points blancs) doivent être séparé par des périodes de maintenance (points noirs). Cet
article traite et compare trois différentes heuristiques concernant le BWTSP. Chacune des
heuristique contient une phase de construction, de faisabilité et une dernière phase
d’amélioration. En moyenne, après amélioration et en respectant bien tous les contraintes
du problème, les solutions réalisables obtenues se situe entre 12 et 13% de l’optimum
pour les problèmes de 50 points, entre 14 et 19% pour les problèmes de 100 points et
finalement entre 16 et 23 % pour les problèmes de 200 points. Par ailleurs, les résultats
obtenus indiquent qu’il devient plus difficile d’identifier une solution réalisable lorsque le
nombre de points noirs devient plus élevé.
19
2.4. Problèmes de tournées de véhicules et généralisations
Le problème de tournées de véhicules et ses généralisations a été largement étudié au
cours des dernières années. La figure 2.2. illustre les articles les plus récents concernant
ce problème.
Figure 2.2. : Classification des problèmes de tournées de véhicules
Tournée de véhicules
1 dépôt Multi-dépôts
Fenêtre de temps
Autres généralisations
Flotte hétérogène
Standard
- Achuthan, Caccetta, Hill (2003) - Baker, Ayechew (2003) - Baker, Carreto (2003) - Prins (2001) - Reimann, Doerner, Hartl (2003) - Toth, Vigo (2002a) - Toth, Vigo (2002b)
- Renaud, Boctor (2002) - Tarantilis, Kiranoudis, Vassiliadis (2003)
- Berger, Barkaoui (2003) - Chen, Hsiao (2003) - Hwang (2002) - Ioannou, Kritikos, Prasracos (2003) - Lau, Sim,Teo (2003) - Li, Lim (2003)
- Chan, Carter, Burnes (2001)- Wu, Low, Bai (2002)
- Arunapuram, Mathur, Solow (2003) - Belenguer,Benavent (2003) - Beullens, Muyldermans, Cattrysse , Oudheusden (2003) - Gronalt, Hartl, Reimann (2003) - Osman, Wassan (2002)
20
2.4.1. Le problème de tournées de véhicules
Le premier papier traitant du problème de tournée de véhicules a été publié vers la fin des
années 1950 par Dantzig et Ramser (1959). Ce problème, plus souvent appelé Vehicle
Routing Problem (VRP) a ensuite attiré un grand nombre de chercheurs car il est
théoriquement très intéressant. De plus, les applications du VRP sont nombreuses. Ainsi,
la plupart des entreprises qui doivent livrer un produit à plusieurs clients font face à ce
problème. La littérature du problème VRP est par conséquent très volumineuse.
Le problème de tournées de véhicules peut être définit comme un problème où de
nombreux clients doivent être desservis à partir d’un unique dépôt avec des demandes
connues. Mathématiquement, le VRP se défini sur un graphe G = (V, A) où V = {v0,…,
vn} représente l’ensemble des points, c’est-à-dire des clients à visiter et A = {(vi, vj) : vi, vj
∈ V, i ≠ j} représentant l’ensemble des arcs possibles. Le point v0 représente le dépôt
qui est le point de départ et d’arrivée de toutes les routes. Une distances dij est associée à
chaque arc (i, j) A∈ , ces distance sont symétriques c’est-à-dire que dij = dji Aji ∈∀ , .
On pose comme hypothèse que les véhicules sont identiques avec une contrainte de
capacité Q et les clients ont une demande déterminée qi. Une limite L peut également être
imposée sur la durée maximale des routes. Dans quelques versions du problème, le
nombre de véhicules est déterminé à priori. Dans les autres, le nombre de véhicules est
une variable de décisions. Les routes doivent permettre de visiter tous les clients une et
une seule fois. De plus, la demande totale de tous les clients d’une route ne peut excéder
la capacité Q d’un véhicule. Les véhicules sont affectés aux routes de manière à
minimiser l’objectif qui peut être, par exemple, la distance parcourue pour visiter tous les
clients.
Il existe de nombreuses formulations du problème de tournée de véhicule. La formulation
suivante est tirée de Fisher et Jaikumar (1981). Définissons tout d’abord l’ensemble des
variables nécessaires pour effectuer la formulation mathématique.
21
Paramètres :
K : Nombre de camions disponibles.
N : Nombre de clients à visiter. Les clients sont numérotés de 1 à n et l’entrepôt a
le numéro 0.
Qk : Capacité du camion k.
qi : Demande du client i.
dij: Distance entre la ville i et j.
Variables de décision :
yik : Variable de décision binaire qui est égale à 1 si la commande du client i est livrée par
le camion k et à 0 autrement.
xijk :variable de décision binaire qui est égale à 1 si le camion k voyage de la ville i vers la
ville j et à 0 autrement.
Formulation :
Minimiser ijk
n
i
n
j
k
kij xd∑∑∑
= = =0 0 1 (4.1)
Sujet à des contraintes de problèmes d’affectation généralisé :
∑=
≤n
ikiki Qyq
1 k= 1,…,K (4.2)
∑=
=K
kiky
1
(4.3)
0=iky ou 1 i = 0,…,n; k=1,…, K (4.4)
K i = 0
1 i = 1,…, n
22
et à des contraintes du problème du voyageur de commerce (TSP)
∑=
=n
ijkijk yx
0 j = 0,…n; k = 1,…, K (4.5)
∑=
=n
jikijk yx
0 i = 0,…,n; k = 1,…, K (4.6)
∑ ∑∈ ∈SI SJ
ijkx ≤ | S| - 1 pour tout S de (1,…,n), (4.7)
2 ≤ | S| ≤ n -1, k = 1,…., K
ijkx = 0 ou 1 i = 0,…, n (4.8) j = 0,…, n
k = 1,…,K
Cette formulation permet de minimiser la distance parcourue par l’ensemble des camions.
La contrainte (4.2) permet de s’assurer que le chargement des véhicules respecte leur
capacité. La contrainte (4.3.) garantit que chacune des routes débute et se termine au
dépôt et que chacun des clients est affecté à un et un seul camion. Les contraintes (4.5) à
(4.8) permettent d’éviter les sous-tours et que chacun des clients est visité une et une
seule fois. Par conséquent, il s’agit des contraintes utilisées pour un TSP.
2.4.2. Algorithme pour le VRP standard
Quatre articles récents traitent le problème de tournées de véhicules à un seul dépôt avec
contrainte de capacité. Dans ce cas, un ensemble de clients avec une demande et une
adresse connues requièrent une livraison à partir d’un dépôt unique et avec une flotte de
véhicules identiques. La demande cumulée des clients se trouvant sur la même route ne
23
doit pas dépasser la capacité des véhicules utilisés. L’objectif consiste à minimiser la
distance parcourue par tous les véhicules pour visiter une et une seule fois tous les clients
puisque ce problème ne tient pas compte de la limite sur la durée des tournées, il est
nommé le « capacitated vehicle routing problem » (CVRP).
Toth et Vigo (2002a) présentent une revue des algorithmes exacts utilisés pour résoudre
le CVRP. Dans leur papier, seulement les restrictions sur la capacité des véhicules sont
imposées et l’objectif consiste à minimiser le coût total (i.e. le nombre de route et/ou leur
longueur ou le temps de route nécessaire pour servir tous les clients). Par conséquent, il
n’y a aucune contrainte concernant la durée maximale des routes. On considère 2 cas, soit
celui où les distances sont symétriques et le second où elles sont asymétriques. Les
auteurs présentent deux algorithmes de « branch and bound » pour résoudre ce
problème. Les algorithmes exacts permettent de résoudre des problèmes CVRP
asymétriques allant jusqu’à 300 points et quatre véhicules. Ces résultats sont obtenus en
1000 CPU secondes. Dans leur revue, Toth et Vigo (2002a) discutent des algorithmes
exacts permettant de résoudre le CVRP symétrique. Ils présentent les algorithmes de
Fisher (1994) et Miller (1995) en soulignant qu’il est difficile de comparer entre eux les
algorithmes puisque chacun des auteurs posent des hypothèses différentes sur les mêmes
problèmes. Par exemple, Fisher (1994) interdit les routes qui visitent un seul client tandis
que Miller (1995) les permet.
Pour résoudre le CVRP, Baker et Ayechew (2003) utilisent un algorithme génétique.
Après avoir trouvé des routes individuelles intéressantes, les tournées sont améliorées en
utilisant la méthode 2-opt suivie du 3-opt. Les distances obtenues par l’algorithme
génétique se situent en moyenne à 0,5% de l’optimum. Ces tests ont été effectués sur des
problèmes de 50 à 199 points dont les résultats optimaux de la littérature sont présentés
au tableau 2.2. Ils trouvent la solution optimale à quatre reprises.
L’article de Achuthan, Caccetta et Hill (2003) traite lui aussi du CVRP à l’aide de la
méthode génération de coupe. Plus spécifiquement, ils développent de nouvelles coupes
et une procédure de recherche permettant d’identifier les violations comme par exemple,
24
la création de sous-tour. Les tests ont tout d’abord été effectués sur 1 650 problèmes
générés aléatoirement. Par la suite, 24 problèmes standard de la littérature ont été testés.
Pour chacun des problèmes, le nombre de véhicules est fixé au nombre minimal de
camions requis. Le temps maximal imposé pour trouver une solution est d’une heure,
c’est pourquoi dans le tableau 2.2. quelques bornes supérieures ne sont pas disponibles
(N/A). Le nombre de clients est de 44 à 199. Le tableau 2.2. présente les résultats de 14
problèmes présenté par Achtuhan, Caccetta et Hill. Lorsque les routes à un seul client
sont permises, les problèmes 11, 18 et 19 ont été résolus optimalement en respectivement
487,4, 35,3 et 172,2 secondes. Pour le problème 17, une meilleure solution a été trouvée
mais il n’est pas prouvé que le résultat est optimal puisque la limite de temps de calcul a
été atteinte. Les temps de résolution pour les problèmes 11, 18, 19 et 17 sont de 488,7,
15,4, 176,3 et 458 secondes respectivement.
25
Tableau 2.2. : Résultats du CVRP
Routes à un seul
client permises
Routes à un seul
client interdit Fisher (1994)
No du
problème
Nb
de
client Borne
inférieure
Borne
supérieure
Borne
inférieure
Borne
supérieure
Meilleure
solution
connue Borne
inférieure
Borne
supérieure
Publication
11 50 514.58 524.61 514.58 524.61 524.61* 507.09 N/A Christofides,
Eilon (1969)
12 75 786.29 N/A 786.29 N/A 835.26 755.05 N/A Christofides,
Eilon (1969)
13 100 799.07 N/A 799.07 N/A 826.14 785.86 N/A Christofides,
Eilon (1969)
14 150 950.65 N/A 950.57 N/A 1028.14 932.68 N/A Christofides
et al (1979)
15 199 1114.17 N/A 1153.99 N/A 1298.79 1096.72 N/A Christofides
et al (1979)
16 120 862.98 N/A 862.98 N/A 1042.11 N/A N/A Christofides
et al (1979)
17 100 785.29 819.56 813.73 819.56 819.56* 817.77 819.56 Christofides
et al (1979)
18 44 721.88 723.54 723.54 723.54 723.54* 720.76 723.54 Fisher
(1994)
19 71 238.51 241.97 238.51 241.97 241.97* 237.76 241.97 Fisher
(1994)
20 134 1120.16 N/A 1120.16 N/A 1163.60 1133.73 1163.60 Fisher
(1994)
21 75 659.17 752.25 659.17 752.25 N/A N/A N/A Reinelt
(1981)
22 75 705.25 949.26 705.25 949.26 N/A N/A N/A Reinelt
(1981)
23 75 932.41 N/A 932.41 N/A N/A N/A N/A Reinelt
(1981)
24 100 1000.4 N/A 1003.17 1175.19 N/A N/A N/A Reinelt
(1981)
Source : Achuthan, Cacetta et Hill (2003)
26
Étant donné que les algorithmes exacts ne réussissent toujours pas à trouver des solutions
pour des problèmes de grandes tailles, plusieurs chercheurs se sont penchés vers des
heuristiques. D’énormes progrès ont été effectués ces dernières années concernant les
problèmes de tournées de véhicules. Taillard (1993) a apporté une grande contribution en
trouvant la meilleure solution pour la plupart des problèmes de la littérature. Son
heuristique consiste essentiellement à décomposer le problème en sous-problèmes et il
propose deux méthodes distinctes de partitionnement. Chacun des sous-problèmes est
résolu en utilisant une approche tabou. Après un certain nombre d’itérations, les sous-
problèmes sont réunis pour reformer le problème entier. Le tableau 2.3. présente une
comparaison de la performance des métaheuristiques utilisées au cours des dix dernières
années. Les heuristiques sont classées selon le pourcentage d’écart moyen par rapport à la
meilleure solution connue. On peut y remarquer que le type d’algorithme le plus utilisé
pour résoudre le problème de tournée de véhicule est celui de la recherche tabou.
Le tableau 2.4. présente les meilleures solutions connues sur les dix problèmes classiques.
Le tableau 2.5. présente les problèmes de la littérature pour lesquels les clients sont
groupés de façon à simuler la présence de villes. Tous ces tableaux démontrent
clairement que Taillard (1993) domine la course à l’optimum pour les problèmes de
petites tailles tirés de Christofides et Eilon (1989). Effectivement, ce dernier trouve la
meilleure solution pour 12 des 14 problèmes proposés. De plus, il se situe en moyenne à
0,05 % d’écart de la meilleure solution trouvée.
27
Tableau 2.3. : Comparaison des métaheuristiques utilisées
Algorithme
utilisé
% écart par
rapport à la
meilleure
solution
Nb de
meilleures
solutions
trouvées
Temps
moyen
(min)
Publication
Tabou 0,05 12 - Taillard (1993)
Algorithme
génétique 0,08 10 5,2 Prins ( 2001)
Tabou 0,1 5 103 Xu-Kelly (1996)
Tabou 0,2 9 - Gedreau et al. (1994)
Tabou 0,39 6 - Taillard (1993)
Tabou 0,55 6 - Rego et Roucairol (1996)
Tabou
granulaire 0,55 4 3.5 Toth et Vigo (2002b)
Tabou 0,68 5 - Gendreau et al. (1991)
Tabou 0,77 4 - Rego et Roucairol (1996)
Tabou 0,86 5 46,8 Gendreau et al. (1994)
Algorithme
génétique
(3000
croisements
max)
0,9 5 0,7 Prins (2001)
Tabou 1,01 4 26,1 Osman (1993)
Tabou 1,03 3 34 Osman (1993)
Recuit simulé 2,09 2 - Osman (1993)
Source : Prins (2003)
28
Tableau 2.4. : Résultats sur les problèmes de Christofides et Eilon (1989)
Nom Nb clients Capacité
véhicules
Longueur
max route
Temps de
service
Meilleure
solution Publication
C1 50 160 ∞ 0 524,61 Taillard (1993)
C2 75 140 ∞ 0 835,26 Taillard (1993)
C3 100 200 ∞ 0 836,14 Taillard (1993)
C4 150 200 ∞ 0 1028,42 Taillard (1993)
C5 199 200 ∞ 0 1291,45 Rochat et Taillard
(1995)
C6 50 160 200 10 555,43 Taillard (1993)
C7 75 140 160 10 909,68 Taillard (1993)
C8 100 200 230 10 865,94 Taillard (1993)
C9 150 200 200 10 1162,55 Taillard (1993)
C10 199 200 200 10 1395,85 Rochat et Taillard
(1995)
Source : Reimann, Doerner, Hart (2003)
Tableau 2.5. : Problèmes par grappe
Nom Nb clients Capacité
véhicules
Longueur
max route
Temps de
service
Meilleure
solution Publication
C11 120 200 ∞ 0 1042,11 Taillard (1993)
C12 100 200 ∞ 0 819,56 Taillard (1993)
C13 120 200 720 50 1541,14 Taillard (1993)
C14 100 200 1040 90 866,37 Taillard (1993)
Source : Reimann, Doerner, Hart (2003)
Deux autres articles présentent aussi des résultats très intéressant pour le problème de
VRP à un seul dépôt, il s’agit de Prins (2001) et Toth et Vigo (2002b). Prins (2001)
privilégie l’algorithme génétique tandis que Toth et Vigo (2002b) adoptent la recherche
taboue. Ces derniers proposent dans leur algorithme une réduction de l’espace de
recherche. Plus spécifiquement, Toth et Vigo réduise initialement le graphe en éliminant
29
tous les arcs qui excèdent un certain seuil. Ce seuil est déterminé par l’estimation de la
moyenne de la longueur des arcs d’une bonne solution réalisable c’est ce qu’ils appellent
un algorithme tabou granulaire.
D’autre part, Baker et Carreto (2003) présentent une interface qui a été développée afin
de résoudre les problèmes de VRP. Ils ont utilisé un heuristique basée sur une recherche
adaptative aléatoire gloutonne. Le système décrit permet de combiner les connaissances
et l’intuition avec la puissance de l’ordinateur afin de trouver de bonnes solutions. Ainsi,
l’utilisateur a un contrôle sur les routes finales ce qui est beaucoup plus acceptable en
pratique. Une séance interactive d’au plus 15 minutes permet de trouver des routes
intéressantes. Les tests effectués sur des problèmes de 50 à 199 points permettent
d’obtenir des résultats à moins de 1% de la meilleure solution connue.
Pour les problèmes de grande taille entre 240 et 483 clients, ce sont Reimann, Doerner et
Hartl (2003) qui obtiennent les meilleurs résultats. Ces derniers trouvent une meilleure
solution pour 10 des 20 problèmes. De plus, ils égalisent quatre autres résultats dont la
meilleure solution a déjà été trouvée. L’heuristique utilisée pour trouver ces solutions est
une heuristique composite inspirée de l’algorithme d’optimisation par colonie de fourmis.
Effectivement, Reimann, Doerner et Hartl ont utilisé le principe des phéromones lors de
la construction de leur heuristique. Par contre, d’autres algorithmes ont aussi été utilisés,
par exemple, on retrouve le 2-opt, l’algorithme de balayage de Gillet et Miller (1974) et
l’algorithme modifié de Miehle présenté par Spaeth (1977). Ces résultats sont résumés au
tableau 2.6.
30
Tableau 2.6. : Problèmes de grandes tailles
Nom Nb clients Capacité
véhicules
Longueur
max route
Temps de
service
Meilleure
solution Publication
1 240 550 650 0 5644,02 Reimann, Doerner,
Hartl (2003)
2 320 700 900 0 8447,92 Prins (2001)
3 400 900 1200 0 11036,22 Prins (2001)
4 480 1000 1600 0 13624,52 Prins (2001)
5 200 900 1800 0 6460,98 Prins (2001)
6 280 900 1500 0 8412,80 Prins (2001)
7 360 900 1300 0 10195,59 Prins (2001)
8 440 900 1200 0 11828,78 Prins (2001)
9 255 1000 ∞ 0 586,87 Reimann, Doerner,
Hartl (2003)
10 323 1000 ∞ 0 746,56 Golden et al. (1998)
11 399 1000 ∞ 0 927,27 Reimann, Doerner,
Hartl (2003)
12 483 1000 ∞ 0 1133,79 Prins (2001)
13 252 1000 ∞ 0 865,07 Reimann, Doerner,
Hartl (2003)
14 320 1000 ∞ 0 1086,24 Prins (2001)
15 396 1000 ∞ 0 1358,21 Reimann, Doerner,
Hartl (2003)
16 480 1000 ∞ 0 1635,16 Reimann, Doerner,
Hartl (2003)
17 240 1000 ∞ 0 708,76 Reimann, Doerner,
Hartl (2003)
18 300 200 ∞ 0 998,83 Reimann, Doerner,
Hartl (2003)
19 360 200 ∞ 0 1367,20 Reimann, Doerner,
Hartl (2003)
20 420 200 ∞ 0 1822,94 Reimann, Doerner, Hartl (2003)
Source : Reimann, Doerner, Hart (2003)
31
2.4.3. Composition de la flotte
Le problème général de tournée suppose que les camions d’une entreprise sont
homogènes. Pourtant, il est rare que tous les camions soient identiques. Ils existent
souvent des distinctions entre les camions, ils n’ont pas tous le même âge, donc ont des
coûts variables différents, la capacité de chargement n’est pas la même ou encore il peut
s’agir de différences concernant le type de véhicule (i.e. camions réfrigérés, camions
citernes). Cet aspect du problème a été traité récemment dans deux articles.
Le papier de Renaud et Boctor (2002) présente le problème de tournée avec une flotte de
véhicules hétérogènes. La flotte de véhicules peut être composée de véhicules avec des
capacités différentes. Aussi, les coûts fixes et variables des véhicules peuvent différer
d’un véhicule à l’autre. La location d’une partie ou de la totalité de la flotte est possible
procurant ainsi l’avantage d’une grande flexibilité puisque la composition de la flotte
peut varier fréquemment. L’objectif consiste à minimiser le coût total composé des coûts
fixes et variables de l’utilisation des véhicules. De plus, il faut trouver la meilleure
affectation des véhicules aux différentes routes. Dans la version étudiée, les arcs sont non
orientés puisque la matrice est symétrique. En plus de respecter les capacités des
véhicules tout en répondant aux demandes, une autre contrainte s’ajoute. Effectivement,
la durée totale de chacune des routes incluant le temps de parcours et le temps de service
ne doit pas excéder une durée maximale. Les auteurs utilisent une heuristique de balayage
pour générer différentes routes. Leur heuristique peut résoudre les problèmes Euclidiens
de même que les problèmes non-Euclidiens ce qui est une première pour les algorithmes
de balayage. Les résultats, tirés de tests effectués sur 20 problèmes de 50 à 100 points,
démontrent que cette heuristique fonctionne mieux que les heuristiques connues dans la
littérature. Les auteurs comparent d’ailleurs leurs résultats à ceux obtenus par Osman et
Salhi (1996), Taillard (1999) et Gendreau et al. (1999). L’heuristique proposée permet
d’obtenir un écart de 0,49% en moyenne par rapport à la meilleure solution obtenue par
recherche tabou et ce dans un temps de calcul égal moyen de 179 secondes. Aussi, les
auteurs proposent une version tronquée de cette heuristique qui permet de réduire le
temps de calcul à 154 secondes mais en acceptant une légère augmentation de l’écart se
32
situant maintenant à 0,63%. Cette dernière version peut représenter une alternative
intéressante lorsque l’on désire obtenir rapidement une solution.
Tarantilis, Kiranoudis et Vassiliadis (2003) approchent ce problème d’une autre façon.
Dans leur cas, la flotte comporte plusieurs type de véhicules ayant chacun une capacité
varié. Par contre, le nombre de véhicule de chaque type est limité. La flotte est donc fixe,
c’est-à-dire qu’on ne considère pas la possibilité pour les entreprises de varier la
composition de la flotte de véhicules. L’article décrit une méthode basée sur un seuil
d’acceptation appelé « backtracking adaptive treshold accepting » (BATA) décrit plus
précisément dans la section autres métaheuristiques. Les problèmes étudiés comportent
entre 50 et 100 points, localisé aléatoirement dans un graphe. Ce problème a peu été
étudié dans la littérature. Seulement, Taillard (1999) l’avait déjà présenté. La méthode
BATA donne des solutions en moyenne 0,31% meilleures que Taillard (1999). Cet
algorithme procure six nouvelles meilleures solutions.
2.4.4. Fenêtres de temps
Les problèmes de tournées de véhicules peuvent être complexifiés si on ajoute des
fenêtres de temps. En anglais ce problème est nommé Vehicle Routing Problem with
Time Windows (VRPTW) et il se définit de la façon suivante. Soit G = (V, A) où V =
{v0,…, vn} représente l’ensemble des points, c’est-à-dire des clients à visiter et A = {(vi,
vj) : vi, vj ∈ V, i ≠ j} représentant l’ensemble des arcs possibles. Le point v0 représente
le dépôt qui est le point de départ et d’arrivée de toutes les routes. On pose comme
hypothèse que les véhicules sont identiques avec une contrainte de capacité Q et que les
clients ont une demande déterminée qi. Chaque client a et un temps de service δi. Le
début de la visite du client vi doit être à l’intérieur de la fenêtre de temps [ei, fi]. Cela
signifie que le client désire être visité à une période déterminée de la journée. Ainsi, un
client peut préférer recevoir ses colis durant les heures d’ouverture de son entreprise. Cet
ajout au problème limite la flexibilité car deux clients voisins peuvent être disponibles à
deux périodes très différentes de la journée. Par contre, l’ajout de la contrainte de fenêtres
de temps est très utile pour un client qui sait ainsi à quelle heure son colis lui sera livré et
33
qui pourra donc prévoir cette réception dans la planification des tâches prévues à l’horaire
de la journée. Le coût considéré lors du VRPTW n’est pas seulement le coût de parcourir
la distance entre tous les clients mais également le coût associé au temps d’attente car
lorsqu’un véhicule arrive en avance chez un client il doit attendre que celui-ci soit prêt à
le recevoir.
Les problèmes tests reconnus sont sans aucun doute les 56 problèmes de Solomon (1987).
Ces problèmes sont séparés en 6 classes : C1, C2, R1, R2, RC1 et RC2. Ils possèdent
tous 100 clients, un dépôt, des contraintes de capacité pour les camions et des fenêtres de
temps pour chacun des clients. Dans ces problèmes, les coordonnées géographiques ont
été générées aléatoirement en utilisant une distribution uniforme (problèmes C1 et C2),
une distribution par grappe (problèmes R1 et R2) représentant la proximité des clients
dans une ville ou un mélange de ces deux problèmes (problèmes RC1 et RC2). De plus,
les problèmes C1, R1 et RC1 possèdent un court horizon de planification et seulement
quelques clients sont inscrits dans la même route dus à des contraintes de capacité et de
durées maximales. À l’opposé, les problèmes C2, R2 et RC2 se déroulent sur un plus
long horizon. Cette caractéristique jumelée avec de grandes capacités de chargement des
camions permet à plusieurs clients d’être desservis par le même camion. Les tableaux
2.7, 2.8, 2.9, 2.10, 2.11 et 2.12 présentent les meilleurs résultats obtenus pour ces
problèmes à ce jour. Finalement, le tableau 2.13 présente une comparaison entre les
publications pour tous les ensembles de problèmes.
34
Tableau 2.7. : Meilleures solutions pour les problèmes C1
Tests Nb véhicules Distances totales Références
C101 10 828,94 Rochat, Taillard (1995)
C102 10 828,94 Rochat, Taillard (1995)
C103 10 828,06 Rochat, Taillard (1995)
C104 10 824,78 Rochat, Taillard (1995)
C105 10 828,94 Rochat, Taillard (1995)
C106 10 828,94 Rochat, Taillard (1995)
C108 10 828,94 Rochat, Taillard (1995)
C109 10 828,94 Rochat, Taillard (1995)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
Tableau 2.8. : Meilleures solutions pour les problèmes C2
Tests Nb véhicules Distances totales Références
C201 3 591,56 Rochat, Taillard (1995)
C202 3 591,56 Rochat, Taillard (1995)
C203 3 591,17 Rochat, Taillard (1995)
C204 3 590,60 Rochat, Taillard (1995)
C205 3 588,88 Rochat, Taillard (1995)
C206 3 588,49 Rochat, Taillard (1995)
C207 3 588,29 Rochat, Taillard (1995)
C208 3 588,32 Rochat, Taillard (1995)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
35
Tableau 2.9. : Meilleures solutions pour les problèmes R1
Tests Nb véhicules Distances totales Références
R101 19 1650,80 Rochat, Taillard (1995)
R102 17 1486,12 Rochat, Taillard (1995)
1292,85 Homberger, Gehring (1999) R103 13
1292,68 Li, Lim (2003)
1013,32 Homberger, Gehring (1999) R104 9
1007,31 Li, Lim (2003)
R105 14 1377,11 Rochat, Taillard (1995)
R106 12 1252,03 Rochat, Taillard (1995)
1113,69 Cordeau, Laporte, Mercier (2000) R107 10
1104,66 Li, Lim (2003)
963,99 Shaw (1998) R108 9
960,88 Berger, Berkaoui (2003)
R109 11 1194,73 Homberger, Gehring (1999)
R110 10 1124,40 Rousseau, Gendreau, Pesant (2002)
R111 10 1099,46 Homberger, Gehring (1999)
R112 9 1003,73 Homberger, Gehring (1999)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
36
Tableau 2.10. : Meilleures solutions pour les problèmes R2
Tests Nb véhicules Distances totales Références
R201 4 1252,37 Homberger, Gehring (1999)
R202 3 1191,70 Rousseau, Gendreau, Pesant (2002)
R203 3 942,70 Homberger, Gehring (1999)
849,62 Cordeau, Laporte, Mercier (2000) R204 2
849,05 Li, Lim (2003)
R205 3 994,42 Rousseau, Gendreau, Pesant (2002)
R206 3 912,97 Rochat, Taillard (1995)
914,39 Rochat, Taillard (1995) R207 2
905,13 Li, Lim (2003)
R208 2 730,771 Baker et al (2000)
R209 3 909,86 Rousseau, Gendreau, Pesant (2002)
R210 3 939,373 Baker et al (2000)
910,09 Homberger, Gehring (1999) R211 2
906,19 Berger, Barkaoui (2003)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
37
Tableau 2.11. : Meilleures solutions pour les problèmes RC1
Tests Nb véhicules Distances totales Références
RC101 14 1696,94 Taillard et al (1997)
RC102 12 1554,75 Taillard et al (1997)
RC103 11 1262,02 Rochat, Taillard (1995)
RC104 10 1135,48 Cordeau, Laporte, Mercier (2000)
1633,72 Rousseau, Gendreau, Pesant (2002) RC105 13
1629,44 Berger, Barkaoui (2003)
1427,13 Cordeau, Laporte, Mercier (2000)
RC106 11 1424,73
Berger, Barkaoui (2003) et Li, Lim
(2003)
RC107 11 1230,54 Taillard et al (1997)
RC108 10 1139,82 Taillard et al (1997)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
38
Tableau 2.12. : Meilleures solutions pour les problèmes RC2
Tests Nb véhicules Distances totales Références
RC201 4 1046,94 Cordeau, Laporte, Mercier (2000)
1389,57 Homberger, Gehring (1999) RC202 3
1374,27 Li, Lim (2003)
RC203 3 1060,45 Homberger, Gehring (1999)
RC204 3 799,12 Homberger, Gehring (1999)
RC205 4 1302,42 Homberger, Gehring (1999)
RC206 3 1153,93 Rousseau, Gendreau, Pesant (2002)
RC207 3 1062,05 Cordeau, Laporte, Mercier (2000)
RC208 3 829,69 Rousseau, Gendreau, Pesant (2002)
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
39
Tableau 2.13. : Comparaison des résultats moyens entre les publications
C1 C2 R1 R2 RC1 RC2 Publications Véh Dist. Véh Dist. Véh Dist. Véh Dist. Véh
Dist. Véh
Dist.
Rochat, Taillard (1995) 10 828,38 3 589,86 12,25 1208,50 2,91 961,72 11,88 1377,39 3,38 1119,59
Chiang, Russell (1997) 10 828,38 3 591,42 12,17 1204,19 2,73 986,32 11,875 1397,44 3,25 1229,54
Taillard et al (1997) 10 828,38 3 589,86 12,17 1209,35 2,82 980,27 11,50 1389,22 3,38 1117,44
Homberger, Gehring (1999) 10 828,38 3 589,86 11,92 1220,97 2,73 968,55 11,50 1388,24 3,25 1140,43
Cordeau, Laporte, Mercier
(2000) 10 828,38 3 589,86 12,08 1210,14 2,73 969,58 11,50 1389,78 3,25 1134.52
Baker et al (2000) 10 828,38 3 589,86 12,41 1200,54 3 936,51 12 1383,21 3,38 1116,51
Liu, Shen (1999) 10 830,06 3 591,03 12,17 1249,57 2,82 1016,58 11,88 1412,87 3,25 1204,87
Rousseau, Gendreau,
Pesant (2000) 10 828,38 3 589,86 12,08 1210,21 3 941,08 11,63 1382,78 3,38 1105,22
Li, Lim (2003) 10 828,38 3 589,86 12,08 1215,14 2,91 953,43 11,75 1385,47 3,25 1142,48
Berger, Berkaoui (2003) 10 828,38 3 589,93 11,92 1221,1 2,73 975,43 11,50 1389,89 3,25 1159,37
*Source : Berger et Barkaoui (2003) et Li et Lim (2003)
On observe ces dernières années une recrudescence de la recherche sur le problème de
tournées de véhicules avec fenêtres de temps. Effectivement, plusieurs auteurs traitent ce
problème sous différentes facettes dans la littérature. Tout d’abord, Hwang (2000)
présente dans son article une interface graphique permettant de résoudre des problèmes
VRPTW grâce à un algorithme génétique. L’interface développée par Hwang (2000)
permet de résoudre des problèmes de 10 à 99 villes. Comme il est possible de le constater
dans les tableaux précédents, la compétition entre chercheurs est forte pour trouver la
meilleure heuristique pour résoudre le VRPTW. Li et Lim (2003) utilisent, pour résoudre
ce problème, un algorithme de recuit simulé. Ils obtiennent 7 nouveaux meilleurs
résultats que ceux présentés dans la littérature précédente et 19 des résultats présentés
égalisent les meilleures solutions connues à ce jour. Quant aux autres solutions obtenues,
elles sont très près de la meilleure solution connue dans la littérature. Ces résultats sont
40
inculs dans les tableaux 2.9 à 2.12. Les améliorations apportés par Li et Lim (2003) sont
résumés au tableau 2.14.
Tableau 2.14. : Résultats de Li et Lim (2003)
Meilleure solution connue Nouvelle meilleure solution Problèmes
Nb véhicules Distance Référence Nb véhicules Distance
R103 13 1292,85 Homberger, Gehring (1999) 13 1292,68
R104 9 1013,32 Homberger, Gehring (1999) 9 1007,31
R107 10 1113,69 Cordeau, Laporte,
Mercier (2000) 10 1104,66
R204 2 849,62 Cordeau, Laporte,
Mercier (2000) 2 849,05
R207 2 914,39 Rochat, Taillard (1995) 2 905,13
RC106 11 1427,13 Cordeau, Laporte,
Mercier (2000) 11 1424,73
RC202 3 1389,57 Homberger, Gehring (1999) 3 1374,27
Berger et Barkaoui (2003) développent un nouvel algorithme génétique. L’approche est
basée sur l’évolution simultanée de deux populations de solutions et une relaxation
partielle de quelques contraintes. Ils ont effectués leurs tests sur les problèmes de
Solomon et ont trouvés cinq meilleures solutions que celles de la littérature. Ces
améliorations sont présentées au tableau 2.15 et inclus dans les tableaux 2.9 à 2.11.
41
Tableau 2.15. : Résultats de Berger et Barkaoui (2003)
Meilleure solution connue Nouvelle meilleure solution Problèmes
Nb véhicules Distance Référence Nb véhicules Distance
R108 9 963,99 Shaw (1998) 9 960,88
R110 10 1125,40 Cordeau, Laporte,
Mercier (2000) 10 1119,00
RC105 13 1633,72 Rousseau, Gendreau,
Pesant (2002) 13 1629,44
RC106 11 1427,13 Cordeau, Laporte,
Mercier (2000) 11 1424,73
R211 2 910,09 Homberger, Gehring (1999) 2 906,19
Les auteurs Lau, Sim et Teo (2003) traitent d’une variante du problème VRP avec
fenêtres de temps dans lequel un nombre limité de véhicules est disponible (m-VRPTW).
Les auteurs proposent une approche tabou avec une liste permettant de conserver les
clients non visités ainsi qu’un mécanisme introduisant un nouveau véhicule afin de
maximiser le nombre de clients visités dans cette route tout en respectant la capacité du
véhicule. De plus, ils relaxent les fenêtres de temps en permettant des retards mais avec
un coût de pénalité associé à ce retard. Lau, Sim et Teo (2003) ont testé leur algorithme
sur les 56 problèmes proposé par Solomon (1987). Ils parviennent à battre l’optimum
connu dans huit cas et égalise ce dernier pour sept problèmes.
Lorsqu’il est possible de violer la contrainte des fenêtres de temps on parle du problème
de tournées avec fenêtres de temps souples mieux connu sous le nom de Vehicle Routing
Problem with Soft Time Window contraints (VRPSTW). La contrainte de fenêtre de temps
est alors relaxée permettant de livrer avant ou après le début et la fin de la fenêtre de
temps. Par contre, une pénalité sera alors encourue reflétant l’insatisfaction des clients
42
non desservis dans leur fenêtre de temps. Ioannou, Kritikos et Parastacos (2003) aborde
ce problème dans leur papier. Ils proposent un générateur de problèmes de tournées de
véhicules où chaque problème est caractérisé par un certain nombre de clients pour
lesquels on peut violer la fenêtre de temps. Chacun des problème est résolu avec un
approche de construction soit le voisinage le plus près. L’heuristique proposée permet de
réduire le nombre de véhicules requis avec un faible degré de violation des fenêtres de
temps et une durée des parcours intéressante.
.
Chen et Hsiao (2003) proposent que non seulement les nœuds aient des fenêtres de temps
mais aussi les arcs. Effectivement, les voyageurs et les véhicules ne sont pas toujours
disponibles pour effectuer un trajet entre deux villes. Cette contrainte nommée « body
clock » vient du fait que les voyageurs ont un horaire de travail et doivent s’arrêter pour
manger. Par ailleurs, les équipements nécessitent des opérations cycliques tel que les
opérations de maintenance. Durant ces opérations, ils ne sont pas disponibles pour
desservir un client. Les auteurs présentent donc deux algorithmes de construction pour
les problèmes de livraison avec contraintes « body clock ».
2.4.5. Multi-dépôts Wu, Low et Bai (2002) présentent une méthode pour résoudre le problème de localisation
et de tournées à partir de dépôts multiples (MDLRP). Les problèmes généraux de
localisation et de tournées (LRP) permettent de trouver le nombre optimal de centres de
distributions simultanément avec les cédules des véhicules et les routes de distribution
dans le but de minimiser le coût total du système. Étant donné la complexité inhérente à
ce problème, les auteurs proposent une décomposition de ce dernier en un problème de
localisation allocation (LAP) et en un VRP. Chaque sous-problème est résolu avec un
algorithme de recuit simulé. La taille des problèmes étudiés varie de 75 à 150 nœuds.
Le deuxième article compose avec des dépôts multiples et des demandes stochastiques.
Dans ce cas, ce n’est qu’une fois arrivé à un point de vente que le livreur découvre la
demande réelle. Ainsi, Chan, Carter et Burnes (2001) traitent du problème de multi-
43
dépôts, multi-véhicules, de localisation et d’acheminement avec demandes stochastiques
(MDMVRLP). Le ravitaillement d’une usine à partir de plusieurs dépôts nécessite
plusieurs études. Tout d’abord, il est nécessaire de bien localiser les centres de
distribution. Ensuite, une flotte de véhicules de livraison de la bonne taille doit être
associée à chacun de ces centres. Finalement, les livraisons doivent être faites à temps et
en fonction des matières premières disponibles. De nos jours, avec les livraisons juste-à-
temps, on souhaite répondre exactement à la demande en évitant le plus possible les
surplus d’inventaire et les pénuries. Les auteurs proposent un modèle et une solution pour
ce type de problème. Ils utilisent une adaptation de l’algorithme de Clarke et Wright afin
de résoudre ce problème. Cette heuristique a été préférée puisqu’il est plus flexible
permettant de mieux s’ajuster aux nombreuses contraintes de ce problème.
Notons finalement que Renaud, Laporte et Boctor (1996) ainsi que Cordeau, Gendreau et
Laporte (1997) ont proposé un algorithme de recherche tabou pour le problème de
tournées de véhicules avec plusieurs dépôts.
2.4.6. Autres généralisations du problème de tournées de véhicules
2.4.6.1. Le problème de tournées sur les arcs
Lors de problèmes de tournées de véhicules, il est aussi possible que la demande soit
située sur les arcs et non sur les nœuds. Plusieurs applications réelles de ce type de
problème sont possibles tel que la collecte des ordures, le déneigement des routes et le
balayage des routes. D’ailleurs deux articles traitant de cas réels de localisation de la
demande sur les arcs sont présentés à la section 2.5.
Le problème de tournée avec capacités sur les arcs est défini sur un graphe connexe non
orienté avec des demandes connues et des coûts sur chacun des arcs. Les véhicules sont
identiques. Chacune des routes débute et se termine au dépôt. De plus, leur demande
totale ne doit en aucun cas excéder la capacité du véhicule. Il suffit de trouver le coût
44
minimum des routes pour les véhicules qui doivent parcourir tous les arcs. Les auteurs
Belenguer et Benavent (2003) ont utilisé un algorithme de plan de coupe pour résoudre ce
problème particulier. Par contre, Beullens, Muyldermans, Catrysse et Oudheusden (2003)
ont préféré une heuristique de recherche non déterministe.
Les tableaux suivants permettent de comparer les résultats obtenus par les deux articles
traitant du problème de tournée avec capacités sur les arcs, puisque les tests ont été
effectués sur les mêmes problèmes tirés d’articles de la littérature. Pour les 23 problèmes
tirés de Golden et al. (1983), l’heuristique de Beulens et al. (2003) génère en moyenne
des résultats légèrement meilleurs que Belenguer et Benavent (2003) mais nécessite un
temps de calcul plus élevé. Par contre, en ce qui concerne les 6 problèmes tirés de Kiuchi
et al. (1995), il est possible de constater au tableau 2.17 que les résultats de Beulens et al.
sont sans contredit les meilleurs puisque tous les problèmes sont résolus de façon
optimale. Finalement, les résultats des tests effectués sur les 34 problèmes de Benavent et
al. (1992). sont présentés au tableau 2.18. Les résultats démontrent que l’heuristique
proposée par Belenguer et Benavent (2003) permet en moyenne d’obtenir un moindre
écart par rapport à l’optimum et ce dans un temps de calcul moins élevé mais le nombre
de problèmes résolus de manière optimale est moins élevé comparativement à Beulens et
al. (2003).
Tableau 2.16. : Résultats des problèmes tirés de Golden et al. (1983)
Écart moyen (%) Écart maximum
(%) Nb de problèmes
optimaux Temps de calcul
moyen (secondes) Belenguer et
Benavent 0,14 1,75 20 0,13
Beulens et al. 0,13 2,99 22 1,75
Tableau 2.17. : Résultats des problèmes tirés de Kiuchi et al. (1995)
Écart moyen (%) Écart maximum (%)
Nb de problèmes optimaux
Temps de calcul moyen (secondes)
Belenguer et Benavent
0,58 3,48 5 0,06
Beulens et al. 0 0 6 0
45
Tableau 2.18. : Résultats des problèmes tirés de Benavent et al. (1992)
Écart moyen (%) Écart maximum (%)
Nb de problèmes optimaux
Temps de calcul moyen (secondes)
Belenguer et Benavent
0,41 3,13 20 2,18
Beulens et al. 1,58 11,24 23 18,49
2.4.6.2. Le VRP avec charges pleines
Dans la plupart des problèmes de VRP, on suppose que les chargements sont partiels (less
than truckload) c’est-à-dire que l’on doit visiter plusieurs clients pour charger le camion.
Un chargement complet plus souvent appelé « full truckload » (TL) signifie que la
commande d’un seul client permet de remplir la capacité du camion. Arunapum, Mathur
et Solow (2003) abordent une variante du VRP considérant des chargements complets, il
s’agit du « vehicle routing with full truckload » (VRPFL). Ce problème consiste à
déterminer les routes ayant un coût minimum et permettant de livrer un nombre
prédéterminé de chargements complets entre des paires de villes spécifiées en utilisant
une flotte de véhicule situé à un ou plusieurs dépôts. Chaque route doit satisfaire des
fenêtres de temps à chacune des villes où un chargement est effectué. Ainsi, les camions
visitent des paires de villes contrairement au VRP qui visite seulement des villes.
L’algorithme utilisé prend aussi en considération des contraintes de fenêtres de temps.
Finalement, lorsqu’un camion sur la route n’est pas en mouvement, une pénalité de temps
d’attente est imposée. L’objectif est donc de minimiser les mouvements de véhicules
vides puisqu’ils n’offrent aucune valeur ajoutée au produit final.
Arunapum, Mathur et Solow (2003) utilisent une méthode exacte de séparation et
évaluation progressive pour résoudre le problème. Les tests ont été effectués sur des
problèmes aléatoires. Le nombre maximal de villes a été restreint à 200. Le temps de
résolution est évalué selon différents aspects soient l’effet d’une augmentation du nombre
46
de paires de villes, du nombre de dépôts, de la largeur des fenêtres de temps et du coût de
pénalité associé au temps d’attente. Plusieurs conclusions ont été tirées des résultats
obtenus. Premièrement, le temps d’exécution tend à augmenter avec l’augmentation du
nombre de paires de villes malgré que pour quelques problèmes, le temps de résolution a
été plus rapide pour un plus gros problème. Cela s’explique par le fait que le nombre
d’itérations est tout à fait arbitraire. Deuxièmement, le temps d’exécution est indépendant
du nombre de dépôts. Ensuite, la largeur des fenêtre de temps c’est-à-dire la différence
entre l’heure maximal de livraison et l’heure minimale augmente considérablement le
temps de résolution du problème. Cela est certainement dû au fait que le nombre de
routes réalisables chute dramatiquement avec la diminution de la largeur des fenêtres de
temps. Finalement, aucune tendance n’a pu être décernée concernant le temps
d’exécution lors de l’augmentation du coût associé au temps d’attente. Gronalt, Hartl et
Reimann (2003) résolvent eux aussi ce problème avec un algorithme de séparation et
évaluation progressive. Par ailleurs, ils proposent une relaxation du problème pour
générer des bornes inférieures utilisées pour évaluer quatre nouvelles heuristiques. Leurs
tests démontrent que l’utilisation d’un coût d’opportunité améliore significativement la
qualité des solutions. De plus, les auteurs ont évalué l’impact de l’augmentation de la
largeur des fenêtres de temps.
2.4.6.3. Le VRP avec retour à charge
Le VRP avec retour à charge signifie qu’après avoir effectué ses livraisons, le retour au
dépôt doit se faire en transportant de la marchandise. Osman et Wassan (2002) décrivent
deux heuristiques de construction de routes permettant de générer une solution initiale.
Ces routes sont améliorées grâce à une méta-heuristique de recherche réactive tabou. Le
concept réactif permet de déclencher un échange entre structures de voisin afin
d’intensifier et diversifier les phases de la recherche. Deux ensembles de problèmes ont
été évalués. Le premier ensemble est composé de 62 problèmes avec une demande
distribuée normalement de moyenne 500 et une variance de 200 unités. La taille de ces
problèmes est de 25 à 150 clients avec 25 à 50% de retour à charge. On note un écart par
rapport à l’optimum de 22,02% pour la première heuristique et 18,02% pour la deuxième.
47
Le deuxième ensemble de problèmes est constitué de 33 problèmes avec entre 21 et 100
clients. Le pourcentage de retour à charge est, pour ces problèmes, de 50% à 80%. Ces
problèmes sont tirés de la littérature des problèmes de tournées de véhicules. Pour cet
ensemble de problèmes, la déviation par rapport à l’optimum est de 18,45% pour la
première heuristique et de 19,22% pour la deuxième. L’ensemble de ces résultats est
résumé dans le tableau 2.19.
Tableau 2.19. : Résultat Osman et Wassan (2002)
Ensemble Nb
problèmes
Nb clients % Retour à
charge
% Écart
Heuristique 1
% Écart
Heuristique 2
1 62 25 à 150 25-50 22,02% 18,02%
2 33 21 à 100 50-80 18,45% 19,22% Source : Osman et Wassan (2002)
Bolduc (2003) a également étudiée ce problème. L’algorithme est basé sur les économies
de Clarke et Wright (1984) et inclus plusieurs autres phases d’amélioration locale.
L’algorithme est testé sur des problèmes réels et permet d’améliorer les solutions
obtenues par des répartiteurs d’expérience.
2.4.6.5. Le VRP avec cueillette et livraison avec charges pleines
Tout comme le problème de voyageur de commerce, le VRP peut lui aussi permettre
d’effectuer différents types d’opérations. Ces opérations peuvent être des cueillettes et/ou
livraisons. Lorsque ces deux types d’opérations sont combinés, on doit effectuer les
cueillettes avant les livraisons associées. Par ailleurs, il est possible que les chargements
soient complets ou partiels selon le poids ou l’espace utilisé dans le camion. Aussi, des
contraintes de livraison avec cueillettes au retour peuvent être imposées.
Un seul article traite du cas des cueillettes et livraisons dans un contexte de charges
pleines (full truckload). Il s’agit du papier de Gronalt, Hartl et Reimann (2003). Les
cueillettes sont effectuées à quelques centres de distributions et des commandes sont
48
livrées aux clients. Ces derniers tentent de minimiser le mouvement des véhicules n’ayant
aucune charge, donc n’ayant aucune valeur ajoutée pour le produit. Ils se sont basés sur le
problème de cueillette et livraison avec des contraintes de fenêtre de temps pour
développer quatre différentes heuristiques d’économies basés sur Clarke et Wright (1964)
pour résoudre le problème. Ils introduisent ainsi les notions de coûts d’opportunité et
valeurs de regret dans le calcul des économies de cet algorithme. Une borne inférieure est
définie, cette dernière représente une solution ne comportant aucun mouvement de
véhicules vides. La meilleure des quatre heuristiques présentées obtient des résultats à
5,94% de la borne inférieure tandis que la pire des heuristiques permet d’obtenir des
résultats à 7,99% de cette borne. Les problèmes possèdent les caractéristiques suivantes :
8 centres de distributions, 512 commandes, une longueur maximale de la route de 2
périodes, un horizon de planification de 8 périodes.
2.5. Applications pratiques des problèmes de tournées de véhicules
Plusieurs articles de la littérature concernent des applications réelles. Les auteurs doivent
alors prendre en considération toutes les contraintes inhérentes au cas traité. Six papiers
présentent des cas réels. Cette section présente un résumé de ces articles.
L’article de Avella, Boccia et Sforza (2003) traite d’un cas réel d’un problème de
livraison. Une compagnie doit livrer différents types de carburant à plusieurs stations
d’essences à partir d’un seul entrepôt. La flotte de véhicule comporte des véhicules de
différentes capacités. Plusieurs autres contraintes ont été considérées lors de l’étude tel
que la variabilité des commandes. Deux types d’approches sont présentés. La première
est une heuristique best fit decreasing basé sur le packing/routing. La deuxième est une
approche basée sur la formulation d’un problème de partition résolu à partir d’un
algorithme de Branch-and-Price.
49
Le second article considère le cas de cueillettes et livraisons. Par contre, plusieurs autres
contraintes y sont aussi intégrées. Ainsi, Xu, Chen, Rajagopal et Arunapuram (2003)
étudient un problème très souvent rencontré en pratique mais ayant reçu peu d’attention
dans la littérature. Ce problème est composé de plusieurs dépôts ayant chacun plusieurs
types de véhicules disponibles pour effectuer un ensemble de cueillettes et livraisons.
Chacune de ces commandes, cueillettes ou livraisons, a plusieurs fenêtres de temps. De
plus, certaines contraintes de compatibilités doivent être respectées. Un type de véhicule
ne peut transporter que les commandes compatibles avec ce type. Par exemple, les
produits réfrigérés peuvent être transportés uniquement par un camion qui est réfrigéré.
D’autres produits ne peuvent êtres transportés ensemble dans le même véhicule, comme
la nourriture et les produits chimiques. Finalement chacun des voyages effectués doit
respecter le temps de travail maximal pour les conducteurs. Le coût de tournée à
minimiser est déterminé par plusieurs facteurs incluant un coût fixe, la distance
parcourue, le temps d’attente total et les haltes effectués par les chauffeurs pour respecter
le nombre d’heures maximal de conduite. Les auteurs appliquent une génération de
colonnes pour résoudre ce problème. Les sous-problèmes générés sont résolus par une
heuristique. L’approche proposée permet de résoudre des problèmes avec plus de 200
commandes.
Brotcorne, Laporte et Semet (2003) dressent une revue littéraire des modèles ayant été
développés pour traiter le problème de localisation et relocalisation des ambulances. Les
modèles déterministes sont utilisés lors de l’étape de la planification et ignorent si les
ambulances sont disponibles ou non. Les modèles probabilistes reflètent le fait que les
ambulances opèrent selon un système de file d’attente et ne peuvent pas toujours
répondre à un appel. Finalement, des modèles dynamiques ont été développés afin de
relocaliser rapidement les ambulances au cours d’une journée.
Chian et Russel (2003) intègrent les activités d’achat et distribution du gaz propane dans
la chaîne logistique. Les méthodes permettant de trouver des solutions sont le
partitionnement et la recherche tabou. Les solutions proposées ont été appliqués dans un
50
contexte réel et permettent d’épargner des coûts importants. Une chaîne logistique
typique est défini comme suit : un producteur, des terminaux régionaux, des usines qui
sont distributeurs et des clients possédant un réservoir à gaz propane. Les distributeurs de
propane sont responsables de l’achat et de l’acheminement du propane à partir des
terminaux régionaux jusqu’à leur usine de stockage.
Deux articles tentent de résoudre des cas réels de localisation de la demande sur les arcs.
Ainsi, Baptista, Carvalho et Zùquette (2002) présentent une application réelle du
problème de tournée de véhicule périodique. Cela signifie que l’on combine à la fois
l’aspect temporel et spatial du VRP. Les auteurs présentent le cas réel du ramassage du
papier recyclé effectué dans la ville de Almada située au Portugal. Ce problème comporte
de nouveaux attributs comme par exemple la fréquence des visites ne peut être établi à
priori puisque le volume de papier est aléatoire. Une autre particularité de ce problème se
trouve dans la fonction objectif qui maximise les profits. De plus, la matrice des distances
est asymétrique. La méthode proposée est basée sur un choix initial de collecte du papier,
suivi par certains changements permettant d’augmenter le profit.
Par ailleurs, dans l’article de Jaszkiewicz et Kominek (2003), le problème réel concerne
une compagnie de cueillette de déchets d’une ville de 600 000 habitants. La compagnie
s’occupe de 60% de la cueillette de cette ville. Ainsi, il y a environ 30 000 conteneurs à
déchet, groupés en secteur, qui doivent être vidés à des fréquences différentes. Chacun de
ces secteurs doit être visité par un seul véhicule. Les distances et le temps de route ne
sont pas symétriques. De plus, la flotte de véhicules est hétérogène, les véhicules
diffèrent par leur capacité ainsi que leur coût d’utilisation. Habituellement, 30 véhicules
sont disponibles pour la cueillette des déchets et en moyenne ils visitent le dépotoir deux
fois par jour. À la fin de la journée, ils doivent retourner au dépôt vide afin d’être prêt
pour le lendemain matin. Les décisions portent sur l’affectation des véhicules aux routes
visitant les secteurs et les dépotoirs. L’objectif consiste à minimiser les coûts totaux
d’opérations c’est-à-dire la somme des coûts reliés à la distance et aux temps de travail de
chaque véhicule opérant dans une journée. L’approche de résolution se base sur un
algorithme génétique.
51
Bien que cet article ne soit pas récent, Golden et Wasil (1987) décrivent une application
dans l’industrie des boissons gazeuses. Cette application nous intéresse puisqu’elle est
celle qui est la plus près du sujet que nous traitons dans cet essai.
2.6. Algorithmes
Algorithmes
Exacts Heuristiques
Constructions et composites Amélioration
Déterministe Non Déterministe
Branch and Bound Branch and Cut
Tabou Recuit simulé Génétique
- Chian, Russel (2003) - Lau, Sim,Teo (2003) - Osman, Wassan (2002) - Toth, Vigo (2002b)
- Baker, Ayechew (2003) - Berger, Barkaoui (2003) - Choi, Kim, Kim (2003) - Hwang (2002) - Jaszkiewicz, Kominek (2003) - Moon, Kim, Choi, Seo (2002) - Moin (2002) - Prins (2001)
-Li, Lim (2003) -Schneider (2002)
-Wu, Low, Bai (2002)
- Achuthan, Caccetta, Hill (2003) - Belenguer, Benavent (2003) - Cabral, Gendreau, Ghiani, Laporte (2003)
- Avella, Boccia, Sforza (2003) - Bourgeois, Laporte, Semet (2003) - Chan, Carter, Burnes (2001) - Chen, Hsiao (2003) - Chian, Russel (2003) - Glover, Gutin, Yeo, Zverovich (2001) - Gronalt, Hartl, Reimann (2003) - Ioannou, Kriticos, Prastacos (2003) - Paletta (2002) - Patterson,Rolland (2003) - Renaud, Boctor (2002) - Renaud,Boctor, Ouenniche (2000) - Xu, Chen, Rajagopal ,Arunapuram (2003)
-Baptista, Oliviera, Zùquete (2002) -Bourgeois, Laporte, Semet (2003) -Renaud, Boctor, Ouenniche (2000)
- Avella,Boccia, Sforza (2003) - Arunapuram, Mathur, Solow (2003) - Gronalt, Hartl, Reimann (2003) - Shutler (2001) - Toth, Vigo (2002a)
Autres
- Baker, Carreto (2003) - Beullens, Muyldermans,
Cattrysse and Oudheusden (2003) - Ghaziri,Osman (2003) - Renaud, Boctor, Laporte (2002) - Tarantilis, Kiranoudis, Vassiliadis
(BATA) (2003)
Colonie de fournis
- Reimann, Doerner, Hartl (2003)
53
Dans le but de résoudre efficacement les problèmes présentés dans les sections
précédentes, divers algorithmes ont été proposés. Le choix d’un algorithme repose
évidemment sur le type de problème mais il est aussi primordial de considérer le temps
de calcul et l’effort disponible pour trouver une solution. Dépendamment du choix de
l’algorithme utilisé, nous obtiendrons une solution de qualité différente demandant un
effort différent. Habituellement, la qualité de la solution est corrélée avec l’effort
nécessaire pour l’obtenir.
Premièrement, nous pouvons séparer les algorithmes en deux catégories soit : les
algorithmes exacts et les heuristiques. La principale distinction à faire entre ces deux
approches est la suivante, l’algorithme exact permet de trouver l’optimum tandis que
l’heuristique s’en approche sans garantir de le trouver mais avec un moindre effort.
Les prochaines sections présentent brièvement les tendances dans le développement des
algorithmes pour les problèmes de tournées. Nous nous sommes restreints aux
publications des années 2000 à aujourd’hui.
2.6.1. Méthode exacte
Comme il a été mentionné précédemment, un algorithme exact permet de trouver la
solution optimale. Or, cela exige un temps de calcul important puisque implicitement elle
consiste à énumérer l’ensemble des solutions possibles. Ainsi, comme le temps de calcul
risque d’augmenter exponentiellement avec la taille du problème, il n’est pas rare que ces
méthodes rencontrent des difficultés lorsque la taille du problème augmente. On peut
diviser les méthodes exactes selon trois différentes approches soient la séparation et
l’évaluation progressive, la méthode de plan de coupe et la programmation dynamique.
Cette dernière n’a été retrouvée dans aucun des articles étudiés alors nous nous
pencherons seulement sur les deux premières approches.
54
2.6.1.1. Séparation et évaluation progressive L’algorithme de séparation et évaluation progressive, mieux connue sous le nom de
« branch and bound » se base sur l'énumération et l'évaluation des solutions possibles.
Cet algorithme construit une arborescence et évalue, pour chacune des branches, la
possibilité de trouver la solution optimale. Ensuite, seuls les sommets qui semblent
pouvoir mener à une solution intéressante sont examinés, évitant par le fait même de
parcourir entièrement l’arbre des solutions. Cet algorithme peut être utilisé pour résoudre
plusieurs types de problèmes. Quatre papiers récents utilisent la séparation et l’évaluation
progressive.
Avella, Boccia et Sforza (2003) ont utilisé cette approche pour résoudre le problème réel
de livraison de carburant. Dans son papier, Shutler (2001), présente une amélioration à un
algorithme de séparation et évaluation progressive afin de résoudre le problème de TSP
symétrique. L’auteur définit une nouvelle règle de séparation qui permet de réduire le
nombre de décisions requises à chacun des nœuds pour trouver une solution au problème.
Les problèmes résolus ont de 100 à 500 nœuds. Arunapuram, Mathur et Solow (2003)
traitent du problème de tournées de véhicules avec chargement complet. Finalement Toth
et Vigo (2002a) abordent le problème de tournée de véhicules avec restriction de
capacité. La taille des problèmes résolus a grandement évoluée, Toth et Vigo (2002a) ont
réussi à faire passer le nombre de clients, pour lequel il était possible de résoudre le
problème de tournées de véhicules avec contraintes de capacité, de 25 à 100 clients, ce
qui représente un progrès considérable.
2.6.1.2. Génération de coupe
La génération de coupe, en anglais « branch and cut », est une généralisation de la
séparation et l’évaluation progressive dans lequel plusieurs coupes sont générées afin de
restreindre l’espace des solutions et ainsi augmenter la valeur de la relaxation linéaire.
Cet algorithme a été utilisé dans deux articles traitant de localisation de la demande sur
les arcs.
55
Cabral, Gendreau, Ghiani et Laporte (2003) présentent une solution pour le «
hierarchical Chinese postman problem ». Ils réussissent à résoudre des problèmes avec
150 nœuds dans le cas où l’objectif consiste à minimiser le temps de route et de 50 nœuds
lorsqu’il s’agit d’un objectif hiérarchique. L’article Belenguer et Benavent (2003) traite
aussi d’un problème où les demandes sont sur les arcs, par contre, ils considèrent
plusieurs véhicules et non un seul. Dans leurs cas, des problèmes de 50 nœuds et 97 arcs
pour lesquels un service est requis ont été solutionnés.
L’article de Achuthan, Caccetta et Hill (2003) aborde le problème de tournées de
véhicule classique. Les auteurs utilisent la méthode de génération de coupe. Les auteurs
développent une nouvelle génération de coupes et une procédure de recherche permettant
d’identifier les contraintes qui sont violées. Les tests ont été effectués sur 1650 problèmes
de 15 à 100 clients.
2.6.2. Heuristiques
Les heuristiques ne garantissent pas l'obtention d'une solution optimale mais fournissent
en général, dans un laps de temps raisonnable et à un coût acceptable, une solution dont
les performances sont assez bonnes. Ils constituent donc une alternative intéressante
lorsque l’optimalité n’est pas primordiale. Les heuristiques de construction permettent de
former pas à pas une solution initiale qui pourra par la suite être améliorée grâce aux
heuristiques d’amélioration. La solution initiale influence grandement la qualité de la
solution finale qui sera trouvé, c’est pourquoi la recherche d’heuristique de construction
est très importante. Par ailleurs, lorsqu’un algorithme est composé de plusieurs
heuristiques, on dit alors qu’il s’agit d’une heuristique composite. L’article de Laporte,
Gendreau, Potvin et Semet (2000) présente une revue de la littérature des plus
importantes familles d’heuristiques utilisées pour résoudre le VRP. Les auteurs
présentent entres autres la plus populaire technique de construction, c’est-à-dire la
méthode des économies développée par Clarke et Wright (1964). Par ailleurs, cet article
traite des différentes approches tabous.
56
2.6.2.1. Heuristiques de construction et composites
Les heuristiques de construction et les heuristiques composites occupent une place
importante en optimisation, un nombre important d’auteurs présentent des articles
utilisant ce type d’heuristique pour tous les problèmes de tournées. Effectivement, treize
articles présentent une heuristique de construction et couvrent presque l’ensemble des
problèmes de tournées. Souvent, ces articles présentent une heuristique de construction
pour ensuite proposer une heuristique d’amélioration. Les problèmes solutionnés sont très
variés. Les problèmes étudiés couvrent le problème de voyageur asymétrique (Glover,
Gutin, Yeo et Zverovich, 2001) au problème de tournées de véhicules avec dépôts
multiples (Chan, Carter et Burnes, 2001) en passant par le problème de tournées avec
fenêtres de temps (Chen et Hsiao, 2003 et Ioannou, Kriticos et Prastacos, 2003). De plus,
les heuristiques présentées sont tout aussi variés passant de l’heuristique de balayage par
Renaud et Boctor (2002) pour le problème de flotte hétérogène, à l’heuristique
d’économie par Gronalt, Hartl et Reimann (2003) au « best fit decreasing » par Glover,
Gutin, Yeo et Zverovich (2001).
Pour résoudre le problème de cueillettes et livraisons pour le problème de voyageur de
commerce (PDTSP) Renaud, Boctor et Ouenniche (2000) présentent un algorithme
composite. Il est composé de deux phases, la première est une phase de construction à
double insertion qui permet une optimisation locale. La seconde est une phase
d’amélioration où les auteurs proposent de travailler avec une paire de clients cueillette-
livraison pour laquelle on effectue la suppression et l’insertion simultanément. Les
auteurs ont testés leur heuristique composite sur un ensemble de 108 problèmes dérivés
de 36 problèmes du TSPLIB de Reinelt (1981) ayant jusqu’à 441 points. Les résultats
obtenus démontrent que la double insertion suivi du 4-opt* permet de se situer en
moyenne à 5,64 % de la meilleure solution connue tandis que la double insertion suivi de
l’insertion et la suppression simultanée permet de se situer à seulement 4,48 % de ces
résultats. Le 3-opt permettrait d’obtenir de meilleurs résultats (3,87% au dessus de la
meilleure solution connue) mais ce dernier utilise beaucoup de temps de résolution. En
57
effet, le 3-opt demande 1314,2 secondes tandis que le 4-opt* et la suppression et
réinsertion demandant respectivement 73,1 et 95,9 secondes.
L’article de Glover, Gutin, Yeo and Zverovich (2001) présente deux nouvelles
heuristiques de construction d’un TSP asymétrique et une troisième basée sur la
combinaison des deux premières. Les auteurs développent des heuristiques de
construction pour un graphe orienté dans lequel chacun des arcs a un poids différent.
Sept familles de problèmes ayant des caractéristiques différentes ont été étudiées afin de
déterminer la performance de ces algorithmes sur différents types de problèmes. Les
résultats obtenus sont par conséquent différents d’une famille à une autre. Ainsi, pour
tous les problèmes asymétriques du TSPLIB, la première heuristique basée sur le Karp-
Steele patching est meilleure se situant en moyenne à 3,36% de l’optimum. Par contre, si
l’on considère la troisième famille dans laquelle des poids sont attribués aux arcs alors la
troisième heuristique est préférée aux deux autres, et elle se situe à 1,88% de l’optimum.
Étant donné que les résultats sont très distincts d’un problème à un autre, il sera approprié
de choisir l’heuristique selon la famille auquel ce problème appartient et ce même si
généralement, la troisième heuristique donne de meilleurs résultats.
Ioannou, Kriticos et Prastacos (2003) étudient le cas du problème de tournées avec
fenêtres de temps souples. Ils proposent un générateur de problèmes de tournées de
véhicules dont chacun est caractérisé par un certain nombre de clients pour lesquels on
peut violer la fenêtre de temps. Chacun des problème est résolu avec un approche de
construction, soit le voisinage le plus près. Cette approche a été transformée pour prendre
en considération l’effet d’une violation d’une fenêtre de temps. L’heuristique proposée
permet de réduire le nombre de véhicules requis avec un faible degré de violation des
fenêtres de temps et une durée des parcours intéressante.
2.6.2.2. Heuristiques d’amélioration
Les heuristiques d’amélioration débutent avec une solution initiale, générée par une autre
méthode, et à l’aide de divers échanges tentent de trouver une meilleure solution. Ce type
58
d’heuristique peut être divisé en deux selon qu’elle soit ou non déterministe. Les
heuristiques non déterministes peuvent aussi être subdivisé en plusieurs méthodes. Toutes
ces méthodes seront traitées dans la prochaine section.
Méthodes déterministes
Une heuristique est dite déterministe lorsque à toutes les fois que l’on exécute cette
heuristique sur le même problème à partir d’une même solution initiale, on trouve une
solution identique. Le hasard n’intervient en aucun cas dans ce type de d’heuristique. La
recherche dans le voisinage est systématique et déterministe. Baptista, Oliviera et
Zùquete (2002) utilisent une méthode déterministe pour résoudre un cas réel de tournées
de véhicules, tandis que Bourgeois, Laporte et Semet (2003) et Renaud, Boctor et
Ouenniche (2000) utilise des échanges 2-opt et le 3-opt afin d’améliorer l’heuristique de
construction qu’ils ont présentés. Dans ces deux derniers cas, les auteurs tentent de
résoudre différentes versions du voyageur de commerce. Bourgeois, Laporte et Semet
(2003) l’utilisent pour résoudre le problème de BWTSP pour des tailles d’au plus 200
points et Renaud, Boctor et Ouenniche (2000) pour résoudre un problème de cueillette et
livraison pour le voyageur de commerce ayant au maximum 441 noeuds.
Méthodes non déterministes
Les méthodes non déterministes peuvent être définies comme des méthodes qui utilisent
l’aléatoire dans la sélection des voisinages à explorer ce qui aide à diversifier la
recherche. Certaines se basent sur des phénomènes existant dans la nature pour explorer
l’ensemble des solutions possibles. Aussi, elles utilisent un processus itératif qui se
termine lorsqu’il atteint un critère d’arrêt prédéfini. Il existe une panoplie de critère
d’arrêt. Par exemple, ce critère peut être l’obtention de la solution optimale si cette
dernière est connue, un nombre maximum d’itérations, un temps de calcul écoulé, un
nombre d’itérations dans amélioration de la meilleure solution obtenue, etc. Le succès de
ces méthodes dépend de plusieurs facteurs, comme la facilité d’implantation, l’habilité à
59
adapter les contraintes d’applications réelles et la qualité des solutions produites. Les
méthodes non déterministes ont été regroupés selon quatre catégories: la recherche tabou,
l’algorithme génétique, le recuit simulé et les autres métaheuristiques.
La recherche tabou
Plusieurs auteurs ont utilisé l’approche tabou. Cette métaheuristique, apparu au milieu
des années 1980, a été proposée par Glover (1986). La recherche tabou accepte que la
fonction se dégrade avec le moins pire des voisins même si ce dernier est moins bon que
la solution connue. Elle restreint également l’accès à des solutions déjà rencontrées et
force l’exploration de nouvelles régions en conservant les informations sur les solutions
déjà visitées dans une liste tabou. Cela a pour effet d’éviter de cycler et de retourner trop
rapidement dans des optimums locaux déjà visités. La recherche tabou se décrit plus
précisément comme suit :
Générer une solution initiale s0; initialiser la mémoire; k = 0; s* = s0.
Tant que le critère d’arrêt n’est pas atteint :
o Choisir sk+1, une solution voisine de sk, en utilisant les données de
la mémoire tabou. Une solution voisine est admissible si il s’agit
d’une solution sans statut tabou ou dont le statut a été révoqué par
le critère d’aspiration
o Si sk+1 est meilleur que s* alors s* = sk+1
o k = k+1
o Mettre à jour la mémoire tabou. Les derniers tabous sont éliminés
pour faire place aux nouveaux tabous
Au cours des dernières années, la recherche tabou a été appliquée au problème de
tournées par plusieurs auteurs. Effectivement, en consultant le tableau 2.3. il est possible
de remarquer que pour le VRP, le tabou est souvent à l’origine de la meilleure solution
trouvée pour des problèmes de tournées de véhicules. Ainsi, des auteurs tels que Taillard
60
(1993), Osman (1993), Gendreau et al. (1994), Rego et Roucairol (1996), Xu-Kelly
(1996) et Toth et Vigo (1998) se sont inspirés du tabou pour développer des méthodes de
résolutions efficaces.
Plus récemment, Chian et Russel (2003) ont effectué une recherche tabou pour permettre
d’intégrer les activités d’achat et distribution du gaz propane dans la chaîne logistique.
Lau, Sim et Teo (2003) proposent une approche tabou avec une liste permettant de
conserver les clients non visités ainsi qu’un mécanisme introduisant par étape un nouveau
véhicule afin de maximiser le nombre de client visités dans cette route tout en respectant
la capacité du véhicule et les fenêtres de temps. Pour terminer, Osman et Wassan (2002)
introduisent un concept réactif à la recherche tabou permettant de déclencher un échange
entre structure de voisin afin d’intensifier et diversifier les phases de la recherche. Avec
cette approche, ils tentent de résoudre un problème de tournées de véhicules avec
cueillette au retour avec au plus 150 clients.
2.6.3.2.2. L’algorithme génétique L’algorithme génétique a été développé initialement par John Holland (1975) et ses
étudiants à l’université du Michigan. Leurs recherches avaient pour but premier de
concevoir des systèmes artificiels possédant certaines propriétés des systèmes naturels.
La génétique a été très populaire au cours des dernières années pour les problèmes de
tournées. En effet, huit articles se servent de cette approche. Le principe de l’algorithme
génétique est très connu, il imite le principe de l’évolution des espèces. Une population
de solutions est maintenue et un procédé de reproduction permet aux solutions parents
d’être sélectionnées parmi la population. Cette sélection est souvent en relation avec la
qualité de la solution obtenue par ces parents. On effectue alors un croisement entre les
parents afin de produire une descendance. Les solutions enfants présentent ainsi des
caractéristiques des parents. Les meilleures solutions enfants ont de meilleures chances
de survie puisqu’on élimine les individus ayant une moins bonne valeur. À l’occasion,
une mutation est appliquée afin d’ajouter des nouvelles propriétés et de la diversité dans
l’ensemble des solutions générées. Cette analogie entre l’évolution des espèces et
61
l’algorithme génétique a été proposé par Holland (1975) qui à l’origine utilisait un
vecteur binaire pour encoder les solutions.
La procédure de l’algorithme génétique se décrit comme suit :
Générer une population de vecteur
Tant que le critère d’arrêt n’est pas atteint:
o Sélectionner dans la population courante l’ensemble des parents
o Classer au hasard deux à deux tous les parents et appliquer un
croisement afin de produire les vecteurs enfants
o Appliquer une mutation, c’est-à-dire un changement aléatoire, à un
nombre aléatoire de progénitures
o Évaluer la descendance
o Créer la nouvelle population à partir de la population précédente et
des enfants
o Éventuellement, retirer des individus offrant une moins bonne
performance.
La procédure se termine généralement lorsque le nombre d’itérations fixés, ici le nombre
de génération créé, est atteint ou lorsque la population ne peut être améliorée.
Moon, Kim, Choi et Seo (2002) tentent de résoudre le problème de voyageur de
commerce avec contraintes de précédences. Ils ont formulé le TSPPC à l’aide d’un
modèle de réseau. Afin de conserver les contraintes de préséance, un nouveau canevas
d’encodage est développé, le concept clé consiste à utiliser un tri topologique qui consiste
à ordonner les nœuds dans un graphe orienté. Les auteurs ont effectués des tests sur des
problèmes de tailles distinctes. Le nombre de points et de contraintes sont respectivement
de 6 et 6 pour les problèmes de petite taille, de 20 et 29 pour les moyens et de 40 et 56
pour les problèmes de grande taille. Les résultats indiquent qu’une solution optimale est
trouvée pour les problème de petite et moyenne taille tandis qu’il s’approche
considérablement de celui-ci pour le problème de grande taille. Les différents paramètres,
62
soient le nombre maximum de générations, la taille de la population, la probabilité de
croisement et la probabilité de mutation, varient selon la taille du problème traité.
Jaszkiewicz et Kominek (2003) traitent un cas réel de cueillette de déchets. Ils proposent
lors de leur algorithme génétique d’utiliser une corrélation entre la qualité des solutions et
la distance dans le but de trouver les caractéristiques significatives de la bonne solution.
Le problème du voyageur de commerce a également été traité à l’aide de l’algorithme
génétique. Choi, Kim et Kim (2003) présentent un algorithme génétique permettant de
résoudre des TSP asymétriques. Ils insèrent des solutions non réalisables, qui créent des
sous-tours, dans la nouvelle génération afin de générer plus tard de meilleures solutions.
Les paramètres utilisés pour effectuer l’expérimentation sont les suivants : le nombre de
chromosomes est égal à 200 et le nombre maximum de génération à explorer est de 1000.
Les auteurs ont testé leur algorithme génétique sur 23 problèmes de 17 à 170 nœuds.
L’article de Baker et Ayechew (2003) traite du problème de tournées de véhicules. Dans
leur algorithme, deux méthodes ont été utilisées pour générer la population. La première
consiste à trier les clients selon l’angle par rapport au dépôt. Ensuite, pour générer la
population, un client est choisi au hasard afin de débuter le processus d’attribution des
clients aux véhicules. Les clients sont attribués à ce véhicule dans l’ordre jusqu’à la
violation d’une contrainte. La seconde méthode utilise une approximation des distances à
parcourir. Un point fictif est situé sur un rayon qui coupe l’angle du véhicule
correspondant en deux. Une population de taille 30 a été utilisée pour les petits problèmes
tandis qu’une population de 50 a été utilisée pour les problèmes de plus grande
envergure. Les distances obtenues par leur algorithme se situent en moyenne à 0,5% de
l’optimum sur des problèmes connus de la littérature dont les résultats optimaux sont
présentés au tableau 2.2.
D’autres auteurs s’attaquent aussi au problème de tournées de véhicules à l’aide
d’algorithmes génétiques. Effectivement, Moin (2002) et Hwang (2002) traitent le
problème particulier où des fenêtres de temps sont imposées. Moin (2002) se concentre
63
sur les problèmes de Solomon de 30 à 50 clients tandis que Hwang tente de résoudre des
problèmes ayant de 10 à 99 clients.
Le recuit simulé
Le recuit simulé s’appuie sur un principe physique en métallurgie. On chauffe un métal
puis on le laisse refroidir lentement ce qui permet d’augmenter le degré de liberté des
atomes dans le but d’atteindre un nouvel état dynamique. Basé sur ce principe, la
méthode du recuit simulé augmente le degré de liberté en permettant une dégradation de
la solution. L’idée consiste à partir d’une solution initiale choisie au hasard puis à tester
si cette dernière respecte toutes les contraintes. Si cela n’est pas le cas, on modifie
légèrement la solution pour qu’elle les respecte. Ensuite, on examine les solutions
voisines. Afin de pouvoir sortir éventuellement de l’optimum local, on accepte une
dégradation de la solution dans une probabilité inversement proportionnelle à l’amplitude
de cette dégradation. Ainsi, plus la dégradation est importante moins la chance de retenir
cette solution est élevée. Puis, au fur et à mesure que l’on avance dans le temps, il
devient de plus en plus improbable d'accepter une dégradation. Le fait qu'un point peut
être accepté parfois même s'il donne une valeur de la fonction plus grande que la valeur
précédente permet à l'algorithme de quitter les minimums locaux et éventuellement de
converger vers le minimum global. L’algorithme se termine lorsqu’un critère d’arrêt
prédéfini est atteint.
Wu, Low et Bai (2002) proposent une décomposition du problème de tournées à plusieurs
dépôt en un problème de localisation allocation (LAP) et en un VRP. Chaque sous-
problème est résolu avec un algorithme de recuit simulé. La taille des problèmes traités
est de 150 nœuds. Par ailleurs, Li et Lim (2003) apportent une solution au problème de
tournées de véhicules avec restriction de fenêtres de temps. Tous les problèmes sont tirés
de Solomon (1987) et ont 100 clients à visiter avec des fenêtres de temps et un dépôt. Le
troisième article traitant de recuit simulé est celui de Scheider (2002) qui applique le
recuit simulé au problème du voyageur de commerce où les distances sont variables dans
le temps.
64
L’optimisation par colonie de fourmis L’optimisation par colonie de fourmis est un algorithme très récent qui a été proposé pour
la première fois en 1991 par Colorni, Dorigo et Maniezzo (1991). Elle est inspirée du
comportement des fourmis. Ces insectes qui sont presque aveugles réussissent malgré
tout à trouver le plus court chemin entre leur point de départ et la nourriture grâce à une
forme d’apprentissage et à un moyen de communication : le phéromone. Le phéromone
est une substance déposée en quantité variable par une fourmi en déplacement. Ainsi,
plus il y a de fourmis qui utilisent le même trajet, plus il y aura de phéromones sur ce
dernier et plus il y a de chance que celui-ci soit choisi par les prochaines fourmis qui
passeront.
Un seul article traite de l’algorithme de colonie de fourmis. Reimann, Doerner et Hartl
(2003) s’inspirent de cet algorithme avec succès pour résoudre le problème de tournées
de véhicules. Effectivement, les auteurs ont utilisé le principe des phéromones lors de la
construction de leur heuristique. Par contre, d’autres algorithmes ont aussi été utilisés, par
exemple, on retrouve le 2-opt, l’algorithme de balayage de Gillet et Miller (1974) et
l’algorithme modifié de Miehle présenté par Spaeth (1977). L’idée principale de cette
heuristique composite est de décomposer le problème en plusieurs sous-problèmes et à
les regrouper après avoir trouvé une solution pour tous les sous-problèmes.
Autres métaheuristiques
Quelques autres métaheuristiques ont été rencontrées dans la littérature des dernières
années. Par exemple, Renaud, Boctor et Laporte (2002) effectuent un algorithme de
perturbation pour résoudre le problème de cueillettes et livraisons pour le voyageur de
commerce. Aussi, Tarantilis, Kiranoudis et Vassiliadis (2003) présente le backtracking
adaptive threshold accepting (BATA) qui est une métaheuristique avec un seuil
d’acceptation. L’idée fondamentale est de permettre un mouvement vers une solution en
imposant une déviation maximale de la valeur de l’objectif dans le but d’échapper à
65
l’optimum local. Le seuil est réduit au cours de la procédure de recherche ce qui leur
permet de converger.
On constate que la recherche sur les problèmes de tournées explore diverses méthodes de
recherche. Bien que les algorithmes de construction et composites occupent encore la
majeure partie des recherches, d’autres algorithmes leur font concurrence. À cet effet,
notons un retour important des applications de l’algorithme génétique qui sont plus
nombreuses que la toujours populaire recherche tabou. Les récents succès de l’algorithme
génétique et d’approches comme la perturbation laissent présager d’autres recherches en
ce sens.
66
2.7. Conclusion Les problèmes de tournées sont malgré de nombreuses années de recherche un sujet
d’actualité qui passionne toujours les chercheurs. Suite à la lecture de ces articles, il est
possible de conclure qu’autant les problèmes de tournées de véhicules que le problème de
voyageur de commerce sont encore très présents dans la littérature. Par contre, la
littérature laisse entrevoir une légère tendance vers les problèmes de tournées de
véhicules qui sont plus complexes à résoudre. Par ailleurs, de nouveaux problèmes font
surface grâce à l’ajout de contraintes supplémentaires. Ces contraintes permettront de se
rapprocher de plus en plus de la réalité. Nous pouvons dire que le problème de tournées
qui a été préféré dans les dernières années est celui de tournées de véhicules avec fenêtres
de temps. En ce qui concerne les algorithmes utilisés, ils sont très diversifiés.
L’utilisation d’algorithmes exacts se fait de plus en plus rare, les auteurs préférant se
pencher vers les heuristiques de construction et les métaheuristiques, en particulier vers
l’algorithme génétique. Finalement, il est possible d’affirmer que la recherche sur les
problèmes de tournées continuera sans aucun doute à performer et à s’améliorer au cours
des années futures.
67
Chapitre 3
Distributions Jacques Dubois inc.
3.1. Introduction
Avant de résoudre un problème, il est essentiel de bien comprendre le contexte dans
lequel il se trouve. Ce chapitre présente une description générale de l’entreprise
Distributions Jacques Dubois inc.. Cette dernière permettra de mieux connaître
l’envergure du problème étudié qui sera présenté en deuxième partie de ce chapitre.
3.2. Description générale de l’entreprise
Fondée le 22 janvier 2001, l’entreprise Distributions Jacques Dubois inc. est encore au
tout début de ses activités. Elle se spécialise dans deux différentes activités soient la
distribution de breuvages et la récupération des bouteilles et cannettes vides. Elle livrait à
sa constitution près de 33 000 caisses, quantité qui a pratiquement doublée puisque
l’objectif de l’année 2003 était de 52 000 caisses. Malgré son jeune âge, elle dessert tout
le territoire de la Rive-Sud et le comté de Portneuf. Distributions Jacques Dubois inc. est
composé de seulement 5 employés dont 3 sont des chauffeurs de camions responsables de
la distribution. Depuis quelques mois, un magasin de détail est ouvert conjointement à
l’entrepôt situé sur la Rive-Sud à Lévis. De plus, l’entreprise prendra de l’expansion au
cours de la prochaine année puisque qu’elle desservira le territoire de la région de
Québec, c’est-à-dire la ville de Québec et ses environs.
68
3.2.1. Principales activités
Les principales activités de l’entreprise sont les suivantes :
1) Distribution de breuvages non alcoolisés,
2) Cueillette de bouteilles consignées.
Par conséquent, sa mission consiste à effectuer la livraison de liqueur, jus et eau de même
que la récupération des cannettes et des bouteilles en plastiques tout en répondant le plus
efficacement aux besoins des clients.
3.2.2. Les clients et fournisseurs
La majorité des clients de l’entreprise est située sur la Rive-Sud de Québec, couvrant
entièrement la région Chaudières-Appalaches. Effectivement, les clients sont situés à
partir du fleuve St-Laurent jusqu’aux frontières des États-Unis et de Plessisville à
Montmagny. De plus, le comté de Portneuf s’est dernièrement ajouté. Ces deux territoires
permettent à l’entreprise de livrer à plus de 500 clients. Les clients sont très variés, les
livraisons sont effectuées aux épiceries, dépanneurs, pharmacies, marchés indépendants
de même qu’aux supermarchés. L’entreprise compte ainsi parmi ses clients la plupart des
Couche-Tard, Jean Coutu, IGA, Maxi présents sur son territoire. La livraison des
commandes est effectuée aux deux semaines pour la majorité des clients. L’ensemble des
clients visités est illustré sur la carte de la figure 3.1.
69
Figure 3.1. : Localisation des clients de Distributions Jacques Dubois inc.
L’entreprise fait affaires avec deux fournisseurs soient Colt et Verchères. Les produits
sont livrés à l’entrepôt 24 heures seulement après la commande par téléphone qui est
généralement effectuée à tous les jeudis.
3.2.3. Les produits
Les produits livrés par Distributions Jacques Dubois inc. sont des breuvages de toutes
sortes. Ainsi, l’entreprise compte plus de 125 produits distincts c’est-à-dire de saveurs et
de dimensions différentes. Parmi les produits, on retrouve de l’eau Verchères et
Montclair en différents formats et l’eau gazéifiée Perrier. Aussi, des boissons gazeuses
Cott sont disponibles en 2 litres, en cannettes et en bouteilles 591 ou 600 millilitres. Les
boissons gazeuses Chubby sont aussi disponibles de même que les jus Snapple, Fresh and
Tasty et le soda Stewart. Finalement, un nouveau produit s’est récemment ajouté à ces
derniers soit le lait Grand Pré.
70
3.2.4. Les camions
Bien qu’il arrive à l’occasion que Distributions Jacques Dubois inc. loue des camions
pour la livraison, l’entreprise possède trois véhicules de capacité différente pour assurer
la distribution des boissons et la cueillette de bouteilles vides. Aucun camion n’est dédié
à une route en particulier, ils sont attribués aux routes selon la capacité nécessaire.
3.2.5. Méthode actuelle
Un représentant de Colt, fournisseur de Distributions Jacques Dubois inc. se présente aux
clients environ à toutes les deux semaines. Celui-ci fait part des nouveaux produits et des
promotions en cours, pour ensuite recueillir les commandes des clients. Ces commandes
sont alors inscrites sur les feuilles de commandes et remises au responsable qui est
Jacques Dubois. Ces commandes seront alors chargées dans le camion qui est attribué à
la route du client. Les tournées des véhicules sont très semblables, elles sont répétées
toutes les deux semaines, visitant d’une fois à l’autre les clients qui ont effectués une
commande.
Les activités sont présentement séparées selon la journée de la semaine. Ainsi, le lundi
tous les camions sont affectés à la récupération, le mardi la récupération est effectuée par
un camion, les autres effectuent la livraison et un peu de récupération. Les mercredis et
jeudis sont entièrement réservés à la distribution de breuvages. Finalement, le vendredi,
deux camions sont affectés à la récupération et l’autre camion dessert les clients non
visités au cours de la semaine. L’ensemble des activités est présenté de manière plus
précise est présenté dans le tableau ci-dessous.
71
Tableau 3.1. : Répartition des activités selon la journée de la semaine
Jour de la semaine Camion 1 Camion 2 Camion 3
Lundi Récupération Récupération Récupération
Mardi Récupération Principalement
distribution
Principalement
distribution
Mercredi Distribution Distribution Distribution
Jeudi Distribution Distribution Distribution
Vendredi Récupération Récupération Distribution
3.2.6. Le siège social Le siège social de l’entreprise de même que l’entrepôt et le magasin de détail sont situés à
Lévis. C’est de cet endroit que les camions de l’entreprise débutent et terminent leurs
tournées. Il est situé à l’adresse suivante :
Distributions Jacques Dubois inc. 5205 boul. Rive-Sud
Lévis G6V 4Z4
Téléphone : (418) 834-1736
3.3. Définition du problème
L’entreprise doit assurer la distribution de boissons non alcoolisées et la cueillette de
bouteilles vides pour tous les clients qui en expriment le besoin par le biais d’une
commande. Par contre, de nombreuses contraintes sont présentent et doivent être
considérées. Cette partie du chapitre explique ces contraintes et la façon dont elles ont été
considérées.
72
Le problème rencontré est une généralisation du problème de tournées de véhicules. Il
s’agit d’un problème de tournées de véhicules avec fenêtres de temps, flotte hétérogène et
produits multiples avec livraison et récupération simultanées. Le problème consiste à
déterminer l’ordre des clients à visiter, les camions à utiliser et les routes à parcourir.
Le problème de Distributions Jacques Dubois inc. peut être définit comme un problème
comportant de nombreux clients à desservir à partir d’un unique dépôt avec des
demandes connues de produits distincts et des camions hétérogènes. Mathématiquement,
le problème se décrit sur un graphe G = (V, A) où V = {v0, v1, …, vn} représente
l’ensemble des points et A = {(vi, vj) : vi, vj ∈ V, i ≠ j} représente l’ensemble des arcs
possibles. Les distances sont symétriques c’est-à-dire qu’on utilise une matrice de
distance D où dij = dji. Le point v0 représente le dépôt qui est le départ et l’arrivée pour
toutes les routes. Les points v1, …, vn représentent les n clients à desservir. La flotte est
composée de K véhicules dont la capacité de chargement est Qk pour la livraison des
produits et qui disposent d’un volume Vk pour la récupération. La durée maximale d’une
route est dmax. La demande du client vi pour le produit j est qij (i = 1, …, n et j = 1, …, P).
Chaque client possède une quantité de récupération ri et un temps de service si. De plus,
chacun des clients a une fenêtre de temps [ei, li] qui lui est associée où ei représente le
temps au plus tôt et li le temps au plus tard pour effectuer la visite. Le problème consiste
donc à visiter tous les clients une et une seule fois afin de leur livrer la marchandise
commandée et rapporter la récupération tout en respectant les contraintes de temps, de
volume et de capacité. L’objectif est de minimiser la distance parcourue pour visiter tous
les clients.
3.3.1. Fenêtre de temps
La contrainte de fenêtres de temps indique que tous les clients ne peuvent être visités à
n’importe lequel moment de la journée. Cela permet au client de mieux prévoir la
réception de la commande. Par contre, cette contrainte peut entraîner des changements
importants dans les tournées des véhicules puisque deux clients voisins peuvent vouloir
être visités à des moments distincts de la journée.
73
Étant donné la diversité des clients, les contraintes rencontrées sont différentes selon la
nature du client. Les supermarchés sont les clients ayant le plus de contraintes puisqu’ils
reçoivent des marchandises de plusieurs distributeurs. Ils acceptent les livraisons
seulement si elles sont livrées avant midi. La fenêtre de temps est par conséquent de six
heures à midi. De plus, il n’est pas rare que le débarcadère soit déjà occupé lors de
l’arrivée du camion. Dans ce cas, le chauffeur doit alors attendre qu’une place se libère.
À l’exception des supermarchés, les livraisons doivent être effectuées en avant-midi entre
six heures et midi et en après-midi entre treize heures et quinze heures. Peu de clients ont
des fenêtres de temps. En effet, seulement 19 clients ce qui représente 11,59% de
l’ensemble des clients imposent des fenêtres de temps.
3.3.2. Flotte hétérogène
L’entreprise possède trois camions différents qui ont été décrit à la section précédente.
Deux contraintes importantes concernent la flotte hétérogène. Tout d’abord, la capacité
des véhicules dépend du type de camion qui est utilisé. Évidemment, selon le volume du
camion, le nombre de palettes pouvant être livré par un camion sera différent. Le tableau
3.2. présente les capacités des véhicules en terme de poids et de sacs de récupération.
Tableau 3.2. : Caractéristiques des camions
Camions Longueur (pieds) Nb essieu Poids maximum
(livres)
Nb de sacs de
récupération
Camion 1 16 1 6000 120
Camion 2 20 2 8000 150
Camion 3 26 2 16000 220
74
3.3.3. Multi-produit
Le catalogue de produits de l’entreprise compte plus de 125 produits de saveurs et de
formats différents offerts à tous les clients. Il est essentiel de prendre en considération
cette grande variété de produits puisque selon le format, les produits ont un poids
différents. Cette caractéristique est primordiale puisque le poids total de la commande ne
peut dépasser la limite autorisée par le guide des normes de charges et dimensions des
véhicules publié par Transport Québec.
Il a été possible de classer les 125 produits en 6 produits types qui sont le plus souvent
commandés par les clients. Le tableau 3.3. présente ces produits ainsi que leur poids et le
nombre de produits qu’il est possible de mettre sur une palette. Étant donné que le poids
d’une palette (76 livres) n’est pas un facteur à négliger, il est important de savoir le
nombre exact de produits qu’il est possible de charger sur cette palette. Chaque fois que
l’on dépasse ce nombre, une nouvelle palette doit être utilisée. Par contre, pour ajouter
une nouvelle palette, il doit y avoir plus de 30 unités pour l’eau de 18 litres, les bouteilles
de 2 litres, les canettes et le 600 millilitres et plus de 50 unités pour les Chubby et l’eau
de 5 litres. Par exemple, si l’ensemble des clients ont commandé soixante 18 litres d’eau
alors une seule palette sera nécessaire. Par contre, si ce le nombre de 18 litres s’élève à
plus de 84 alors deux palettes seront nécessaires. Il est à noter que les articles sont livrés
en caisse. Par exemple, il est impossible de commander une seule bouteille de 2 litres
puisque ces dernières sont livrées en caisse de huit bouteilles. Le tableau suivant présente
les poids des produits par caisse et non par unité.
75
Tableau 3.3. : Classement des produits
Nom Poids (livres) Nb par palette
Eau (18 litres) 40 54
2 litres 40 50
Canettes 22 60
Chubby 21 120
600 millilitres 34 72
Eau (5 litres) 12 144
Autres 20 ---
Comme il est possible de le constater dans le tableau ci-dessus, les articles « Autres » ne
peuvent pas être chargé en palette. Effectivement, il est rare que ces articles soient
commandés en grande quantité, il n’est donc pas nécessaire d’utiliser une palette pour les
transporter.
3.3.4. La récupération
En plus de la livraison de breuvages de toutes sortes, l’entreprise Distributions Jacques
Dubois inc. doit aussi récolter des sacs contenant des bouteilles ou de canettes vides. Par
contre, dans ce cas la quantité à récupérer n’est pas toujours connue à l’avance. Chez la
plupart des clients, la quantité de bouteilles à récupérer est connue au moment où l’on
effectue la livraison des breuvages. Cependant, il est possible de regrouper les clients
selon la moyenne des sacs de récupération à recueillir. Il est évident que les plus grosses
entreprises auront plus de sacs de récupération que les petits dépanneurs. De plus, les
pharmacies, les cabanes à sucre et les campings ne recueillent généralement pas la
récupération. Suivant cette tendance, le tableau 3.4. présente la classification des clients
et le nombre de sacs de récupération amassés.
76
Tableau 3.4. : Classification des clients selon la quantité de recupération
Type Entreprises (exemples) Nb de sacs de
récupération
1 Supermarché, IGA, Co-op, Provigo, Sobeys 20-30
2 Couche-Tard, marché, petite épicerie 7-15
3 Dépanneur, Accommodation 0-10
4 Camping, Cabane à sucre, pharmacie 0
3.4. Conclusion
Ce chapitre a permis de mieux cerner toutes les caractéristiques du problème de
Distributions Jacques Dubois inc. Ainsi, une présentation générale de l’entreprise a été
effectuée suivie d’une description du problème à traiter.
77
Chapitre 4
Méthode de résolution
4.1. Introduction
Ce chapitre est consacré à la présentation de la méthode de
résolution utilisée. Dans un premier temps, une présentation générale
de l’approche utilisée est effectuée suivie par une présentation plus détaillée des
heuristiques. Finalement, une présentation du logiciel développé permettant de résoudre
le problème est effectuée.
4.2. Présentation générale
Plusieurs étapes ont été nécessaires pour résoudre le problème rencontré par l’entreprise
Distributions Jacques Dubois inc. Premièrement, la cueillette des informations a permis
de recueillir l’ensemble des clients visités et avoir un exemplaire des commandes
effectuées pour une période de livraison de deux semaines. Cent soixante-quatre clients
parmi les cinq cents clients actifs de l’entreprise avaient passé une commande pour un ou
plusieurs produits. L’ensemble des données tels que noms, adresses, code postaux et le
détail des commandes de chacun de ces clients ont été classés dans une base de données à
l’aide du logiciel Acess.
En deuxième lieu, la distance entre chacun des clients a dû être calculée. Pour ce faire, les
codes postaux ont été situés sur une carte à l’aide du logiciel MapPoint. De là, ce
logiciel de cartographie numérique a permis de trouver les distances réelles entre chacun
des clients.
78
Les données sont maintenant prêtes à être traitées pour trouver les meilleures routes à
emprunter tout en respectant l’ensemble des contraintes. Ainsi, la première heuristique
utilisée permet la construction de chacune des routes. Il s’agit de l’heuristique du plus
proche voisin adaptée aux contraintes du problème. L’amélioration des routes se fera à
l’aide de deux heuristiques. Tout d’abord, nous effectuons une amélioration individuelle
de chacune des routes suivie d’une phase d’amélioration qui échange des clients entre
deux routes.
4.3. Présentation détaillée
4.3.1. Préparation des données La façon de définir la distance est primordiale dans ce type de problème puisque le critère
d’optimisation le plus souvent utilisé est celui de la minimisation de la distance. Les
distances réelles ont donc été utilisées tel que mentionné. Ces distances ont été obtenues
par le logiciel MapPoint. Étant donné, que les heuristiques utilisées se basent sur des
distances symétriques et que les routes du Québec ne permettent pas toujours d’obtenir ce
type de distances ( dij ≠ dji), il a été nécessaire de faire une moyenne entre les deux
distances.
+==
2jiij
jiij
dddd . Il s’agit d’une approximation très raisonnable.
4.3.2. Heuristique de construction La figure 4.1. présente l’heuristique développée afin de construire les routes et déterminer
les camions à utiliser. Les principales étapes de cette heuristique se décrivent comme
suit :
1. Initialement, tous les clients sont considérés. L’ensemble ε est ainsi composé de tous les clients qui ont une commande à livrer. (ε = V \ {v0}).
79
2. Répéter l’étape 3 pour tous les véhicules k = 1…K.
3. Appliquer l’heuristique d’insertion du plus proche voisin avec le véhicule k et conserver la première tournée trouvée notée Tk.
4. Parmi les K tournées trouvées, conserver la tournée *
kT qui maximise le critère
parcourue distanceée transportquantité . Ajuster l’ensemble des clients à visiter, ε = ε \
*kT .
5. Si ε = Ø terminer, sinon retour à l’étape 2.
Détaillons maintenant l’implantation de l’algorithme d’insertion du plus proche voisin
utilisé (voir Rosenkrantz et al. 1977 pour la description originale). Partant d’un sous tour
initial composé uniquement du dépôt, l’heuristique ajoute un à un des points en
sélectionnant celui qui est le plus près de l’ensemble des points de la tournée. Ce point est
ensuite inséré à l’endroit réalisable minimisant la distance ajoutée. Une insertion est
réalisable si elle respecte les contraintes de capacité (Qk) correspondant au poids des
produits, de volume (Vk) utilisé par les sacs de récupération, de distance maximale (dmax)
et de fenêtres de temps ([ei,li]) pour tous les clients sur la route modifiée. Si une
contrainte n’est pas respectée, on cherche le prochain client le plus près des clients
actuels sur la route. Lorsqu’il n’y a plus de client qui peuvent être insérés tout en
respectant les contraintes, la route est terminée.
80
Figure 4.1. : Organigramme de la méthode de résolution
Ajuster ε ( ε = ε \ *kT )
ε = V \ {v0}
Route 6000 Noter la route Évaluer R6000
Route 8000 Noter la route Évaluer R8000
Route 16000 Noter la route Évaluer R16000
Parmi les tournées trouvées, conserver la tournée *
kT qui maximise la quantité livrée/distance parcourue
ε = Ø Non
Amélioration individuelle des routes
Amélioration inter-route
FIN
Oui
81
4.3.3. Amélioration individuelle des routes L’heuristique du 3-opt (Lin 1965) est utilisée pour améliorer individuellement chacune
des routes construites par l’heuristique de construction. Ainsi, si la distance totale
parcourue pour visiter tous les points d’une route est inférieure à celle trouvée
auparavant, la route est modifiée. Sinon, aucun changement ne sera apporté à cette route.
3-opt
Le 3-opt a été présenté par Lin en 1965. Lors du 3-opt les trois arcs suivants sont
considérés : (a,b), (c,d), (e, f), ils seront échangés et replacés de façon à réduire au
maximum la distance parcourue. Il y a huit façons de reconnecter le tour, l’une de celles-
ci serait de remplacer les arcs initiaux par les arcs (a, d), (f, b), (c, e) ce qui est illustré à la
figure 4.2. Lorsqu’il n’y aura plus aucune amélioration possible avec l’échange de trois
arcs la solution sera appelée 3-optimale. Cet algorithme requiert O(n³) opérations à
chaque itération.
Figure 4.2. : Un mouvement 3-opt
Pour chacune des routes, tous les mouvements du 3-opt sont analysés. Si un mouvement
3-opt permet d’améliorer le tour, alors la contrainte des fenêtres de temps est vérifiée. Si
elle est respectée, alors le mouvement est appliqué et la route est modifiée. Les
82
contraintes de capacité et d’espace n’ont pas à être vérifiée puisqu’elles l’ont été lors de
la formation des routes avec l’heuristique de construction.
4.3.4. Amélioration collective des routes Par ailleurs, il est possible d’effectuer d’autres améliorations en échangeant des clients
entre deux routes. L’heuristique utilisée permet d’améliorer deux routes à la fois. Après
avoir sélectionné deux routes, on considère toutes les paires de points consécutifs et on
teste les 11 échanges illustrés à la figure 4.3. Un échange est implanté s’il réduit la
distance totale et que toutes les contraintes sont respectées. Notons qu’en échangeant les
clients de routes, la demande des routes est affectée. L’algorithme est appliqué de façon
séquentielle à toutes les paires de routes tant que des améliorations sont possibles.
Les tournées de départ
Échange 1 Échange 2 Échange 3
83
Échange 4 Échange 5 Échange 6
Échange 7 Échange 8 Échange 9
Échange 10 Échange 11
Figure 4.3. : Les 11 échanges testées
4.4. Présentation du logiciel
Les heuristiques présentées précédemment ont tous été intégrées dans un logiciel de
planification de tournées programmé en Visual Basic. Ce logiciel permet ainsi de
résoudre à la fois des problèmes de la littérature de même que des problèmes de tournées
réels. Cette section du chapitre sera consacrée à la présentation du logiciel qui a été
développé pour résoudre la problématique. Il expliquera toutes les fonctionnalités du
logiciel, c’est-à-dire toutes les heuristiques utilisées, les contraintes pris en compte et la
visualisation des résultats.
84
Figure 4.4. : Interface visuelle du logiciel
4.4.1. Résolution de problèmes de la littérature Les problèmes de la littérature ont été recueillis sur TSPLIB (http://www.iwr.uni-
heidelberg.de/groups/comopt/software/TSPLIB95/). Pour résoudre un problème, il est
essentiel que les données soient contenues dans un fichier texte. Le logiciel permet de
résoudre des problèmes de la littérature, qu’ils soient des problèmes du voyageur de
commerce (TSP) ou des problèmes de tournées (VRP). Il existe deux façons d’ouvrir un
fichier pour sa résolution, soit en cliquant sur l’enveloppe correspondante ou par le
menu Fichier. L’interface suivante apparaîtra alors à l’écran permettant de sélectionner
le bon fichier.
85
Figure 4.5. : Sélection d’un problème classique
L’ensemble des données du fichier est ensuite lu par le logiciel. Pour résoudre le
problème, l’utilisateur doit sélectionner l’algorithme désiré. Pour le TSP, les algorithmes
disponibles sont l’heuristique de l’insertion du point le plus éloigné (FITSP), le 2-opt et
le 3-opt. Quant au VRP, les heuristiques du voisin le plus près et de l’insertion du point le
plus éloigné sont disponibles. Les résultats seront ensuite affichés à l’écran.
4.4.1. Résolution de problèmes réels
Le menu Client de la figure 4.4. permet d’accéder à deux interfaces très importante du
logiciel : l’interface de modification des caractéristique d’un client et l’interface de
sélection des clients.
4.4.1.1. Modification des paramètres des clients Toutes les données sur le problème de Distribution Jacques Dubois inc. sont initialement
entrées dans une base de données Access. Il est toutefois possible d’accéder directement à
cette base de données via le logiciel. Toutes les données seront alors modifiables. En
enregistrant les modifications c’est-à-dire en cliquant sur l’icône ,les informations du
client en question seront mises à jour dans la base de données Access.
86
Figure 4.6. : Modification des caractéristiques des clients
L’interface de modification des caractéristiques des clients permet d’éditer les paramètres
en inscrivant directement les nouvelles données en plus, d’ajouter ou de supprimer
un client. Par ailleurs, l’utilisateur peut se déplacer d’un client à l’autre grâce à la
barre de défilement mais il est aussi possible de rechercher un client par son numéro
client ou son nom. Aussi, l’interface permet d’accéder aux commandes des clients en
sélectionnant dans le menu commande le sous-menu modification. La figure 4.7. présente
l’interface permettant de modifier la commande d’un client.
87
Figure 4.7. : Modification de la commande d’un client
4.4.1.2.. Sélection des clients et construction des routes
La figure 4.8. présente les données concernant les clients de l’entreprise. Il s’agit en fait
des résultats d’une requête effectuée sur Access concernant tous les clients qui ont une
commande active. Cette interface permet de bien visualiser toutes les informations sur les
clients et leurs commandes et sélectionner les clients pour qui l’utilisateur désire prévoir
une tournée. Pour ce faire, l’utilisateur doit cliquer sur la colonne Sélection correspondant
au client désiré. Le chiffre 1 apparaîtra dans cette colonne si le client est sélectionné,
autrement le chiffre 0 est indiqué. Dans la barre des tâches, le menu Sélectionner est
disponible. Les options disponibles permettent de sélectionner tous les clients ou alors de
les sélectionner selon une ville (voir figure 4.9.)
88
Figure 4.8. : Sélection des clients
Figure 4.9. : Sélection des clients par ville
Par ailleurs, le logiciel permet de configurer la flotte de véhicules afin de tenir compte
des contraintes pratiques (figure 4.10). Ainsi, sous l’onglet Paramètres il est possible de
déterminer la capacité des véhicules, le nombre de véhicules à la disposition de
l’entreprise de même que le temps de déchargement chez les clients. De la même
manière, l’horaire de travail des camionneurs ainsi que la vitesse moyenne sont des
89
paramètres modifiables. Cette interface permet aussi d’identifier la localisation de
l’entrepôt qui sert de point de départ et d’arrivée pour l’ensemble des camions.
Figure 4.10. : Identification des paramètres de l’entreprise
Une fois tous les paramètres configurés et les clients à visiter sélectionnés, avant de
trouver les routes à parcourir, il est primordial de calculer les distances entre les clients.
En cliquant sur le bouton , le logiciel dresse une matrice des distances routières réelles
entre les clients sélectionnés. Toutes les distances sont alors calculées par l’entremise de
MapPoint et ensuite conservées en mémoire dans une table de données Access. Par la
suite, l’utilisateur peut cliquer sur l’icône pour la construction des routes. À ce
moment, le logiciel utilise un algorithme TSP si tous les clients peuvent être visités par
un seul camion en respectant les contraintes de capacité, d’espace, de durée et de fenêtres
de temps. Sinon, l’heuristique de construction privilégiée est celle de l’insertion du voisin
le plus près tentant de minimisant la distance totale à parcourir. La figure 4.11. apparaîtra
alors à l’écran permettant de visualiser un sommaire des routes.
90
4.4.1.3. Détails et optimisation des routes
L’interface VRP présentée à la figure 4.11. permet à l’utilisateur d’accéder à de
nombreuses options. Elle donne accès à toutes les méthodes d’amélioration des routes
disponibles. De plus, elle permet d’accéder à la visualisation des routes sur le logiciel de
cartographie MapPoint et elle donne le détail des routes et des commandes à livrer à tous
les clients.
Figure 4.11. : Optimisation des tournées
Le tableau apparaissant au départ donne un sommaire des caractéristiques des routes.
D’un seul coup d’œil, l’utilisateur peut voir le nombre de routes et pour chacune des
routes, la longueur, le temps de trajet, la capacité utilisée, le nombre de sacs de
récupération prévus et le nombre de clients de chacune de celles-ci. La longueur
représente le nombre de kilomètres parcourus par le véhicule du départ à l’entrepôt en
91
passant par chacun des clients et revenant à destination. En calculant le temps de
déchargement et le temps de route pour chacune, on retrouve le temps nécessaire présenté
à la deuxième ligne du tableau. Ce temps est donné en minutes. La capacité est celle
utilisée par les commandes à livrer pour cette route et la limite maximum est aussi
indiquée. Le nombre de sacs de récupération à recueillir est prend en considération la
moyenne su type de client visité. Ainsi, un dépanneur aura moins de sacs de bouteilles
vides qu’un supermarché. L’utilisateur peut aussi visualiser le nombre de client de
chacune des routes à parcourir.
Menu Algorithme
Le menu Algorithme présente les méthodes d’amélioration possibles pour un problème
TSP c’est-à-dire l’insertion du point le plus éloigné et le 3-opt. Ces fonctionnalités sont
disponibles uniquement lorsqu’une seule route visite tous les clients. Elle est aussi
accessible pour les problèmes TSP de la littérature.
Menu Optimisation
Le menu Optimisation est utile pour améliorer les routes d’un VRP, c’est-à-dire lorsque
plusieurs routes sont nécessaires pour livrer toutes les commandes aux clients. Le 3-opt
améliore individuellement chacune des routes tandis que l’algorithme « improve »
améliore simultanément plusieurs routes en interchangeant des clients de route.
Menu Détails
Le menu Détails est donne accès à toutes les routes. Il permet d’afficher les clients à
visiter pour la route sélectionnée. Pour plus de détails, l’utilisateur peut cliquer sur
l’icône qui lui permettra d’accéder à l’interface illustré à la figure 4.12.
92
Figure 4.12. : Feuille de route des camionneurs
Cette interface décrit en détail toutes les caractéristique de la route. Il s’agit en quelque
sorte de la feuille de route des livreurs. Ces derniers peuvent suivre en ordre les clients à
visiter puisque l’adresse de chacun est indiquée. La composition des commandes de
chacun des clients est décrite. De plus, le total de chacun des produits est inscrit de
manière à faciliter le chargement initial du camion. Le poids total permet de vérifier s’il
respecte le chargement maximal en vertu du guide des normes de charges et dimensions
des véhicules publié par transport Québec. Finalement, la durée de la route de même que
la distance parcourue pour visiter tous les clients sont calculées. Ces dernières sont les
distances réelles sans aucune approximation recalculées à l’aide de MapPoint. Rappelons
que pour utiliser les algorithmes, des distances symétriques avaient été utilisées.
La sélection de l’icône MapPoint permet de visualiser sur une carte la route à
parcourir. Ainsi, on accède directement à l’interface utilisée dans MapPoint.
93
Menu Visualiser En sélectionnant une route sous le menu Visualiser, l’utilisateur accède à MapPoint. La
plupart des fonctionnalités de MapPoint sont alors disponibles. Il peut donc ajouter ou
supprimer un client, agrandir ou diminuer la sélection, etc. De plus, le logiciel MapPoint
fournit les indications routières pour se rendre d’un client à un autre sans problème. La
figure 4.13. illustre un exemple d’une route obtenue grâce au logiciel.
Figure 4.13. : Accès à MapPoint
Le menu Visualiser contient aussi l’élément Toutes les routes qui permet de voir sur
MapPoint l’ensemble des routes à parcourir.
94
4.4.1.4. Fonctionnalités supplémentaires D’autres options sont aussi disponibles. Plusieurs de ces options sont présentes dans le
menu option de l’interface sélection des clients présentée précédemment à la figure 4.9.
Entres autres, il est possible pour l’utilisateur d’obtenir la distance entre deux villes à
l’aide des codes postaux. Aussi, une fois les clients sélectionnés, l’utilisateur peut
visualiser les commandes détaillées des clients tel qu’illusté à la figure 4.14. grâce à
l’option commande.
Figure 4.14. : Commande des clients
De plus, l’utilisateur peut voir la localisation de l’ensemble des clients en utilisant
l’option pushpin comme présenté à la figure 4.15.
Figure 4.15. : Localisation des clients
95
Finalement à chacune des interfaces, il est toujours possible de quitter par le menu
déroulant Fichier où se retrouve l’option Quitter ou en cliquant sur l’icône .
4.5. Conclusion
Ce chapitre a présenté l’approche de résolution développée pour résoudre le problème de
Distributions Jacques Dubois inc. Afin de supporter les approches, un logiciel complet a
été développé. Le logiciel, développé en Visual Basic, interagit avec Access et MapPoint.
Finalement, l’ensemble des fonctionnalités ont été illustrées.
96
Chapitre 5
Résultats
5.1. Introduction
Ce chapitre présente l’ensemble des données utilisées de même
que les routes obtenues suite à leur optimisation par le logiciel.
Une analyse des résultats obtenus permettra d’évaluer l’heuristique proposée pour
résoudre le problème de Distributions Jacques Dubois inc.
5.2. Présentation des données
L’approche proposée a été évaluée à partir de données réelles de deux semaines
typiques. À des fins de comparaisons, ces données ont été compilées et les distances
évaluées par le logiciel MapPoint. La planification de ces routes a été effectuée
manuellement et reflètent les routes de l’entreprise. Le tableau 5.1. présente un exemple
d’une route et des commandes des clients de cette route. Les autres routes sont présentées
en annexe A.
Pour la construction de ces routes, plusieurs contraintes doivent être respectés.
L’ensemble des routes permet de visiter 164 clients dont 19 imposent une fenêtre de
temps. Chacune des routes respecte la capacité du camion en terme de poids et de volume
utilisé tel que présenté au tableau 3.2. Le temps de service est de 10 minutes chez chacun
des clients et chacun des camions débutent à 6h et doit revenir à l’entrepôt à 14h. À des
fins de comparaison, la moyenne de sacs de récupération amassés a été utilisée selon le
type de client tel que présenté précédemment au tableau 3.4.
97
Tableau 5.1. : Exemple d’une route et des commandes associées
Route 1 Secteur Lévis
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
9112 Couche-Tard #2145795 Lévis G6V 6C6 9 2
127321 Dépan-Escompte Couche-Tard Lévis G6V 9H5 7 2
199170 Couche-Tard Lévis G6V 6S5 5 2 183580 Pharmaprix #16 Lévis G6V 6Y8 12 4
174391 Alimentation M S Nadeau inc. Lévis G6V 1Z4 18 6 3 2
45030 Accommodation 89 inc. Lévis G6V 1B6 12 1 3
442450 Dépanneur Chez Major enr. Lévis G6V 3Z4 6 5 3
8371633 Dépanneur Tout-Près inc. Lévis G6V 3Y7 6 1 1 3
439682 Dépanneur Beaudoin enr. Lévis G6V 5S7 12 1 3
438596 Alimentation Brochu Lévis G6V 4M6 6 1 2
8374857 Accommodation Saint-Georges enr. Lévis G6V 4L4 6 3
441330 Supermarché I G A Lévis G6V 2B2 12 3 1 199131 Couche-Tard Lévis G6V 5T3 11 2
8375805 Dépanneur R.Leclerc Lévis G6V 4Z3 1 3
442280 Dépanneur Couche-Tard Lévis G6V 4Z3 8 2
127550 Dépan-Escompte Couche-Tard St-David G6W 6M7 4 2
8377879 Pharmacie Francis Couillard Lévis G6W 1H7 6 4
443469 Dépanneur Couche Tard (Irving)
Saint-Romuald G6W 2R8 3 2
199127 Couche-Tard Saint-
Romuald G6W 2S5 4 2
8344774 Accomodation Danny
Saint-Romuald G6W 2M1 6 1 3
438427 Gestion mon Loup Saint-
Romuald G6W 3J3 12 1 3
88391341 Promutuel Lévisienne-Orléans
Saint-Romuald G6W 5M6 5 4
88355050 Lévis Suzuki Lévis G6V 7M5 2 4
98
5.3. Résultats
Le tableau 5.2. présente les caractéristiques principales des routes telles que planifiées par
Distributions Jacques Dubois inc. Pour construire ces routes, l’entreprise regroupe
généralement tous les clients d’un même secteur et décide ensuite du camion en fonction
de la demande et finalement de la tournée. Les commandes nécessitent quatre tournées
pour le camion de 16 000 livres, cinq tournées pour le camion de 8 000 livres et une
tournée pour le camion de 6 000 livres. La distance totale pour visiter tous les clients est
de 2 439 kilomètres tandis que la durée totale est de 3 597 minutes.
Tableau 5.2. : Routes initiales par Distributions Jacques Dubois inc.
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion 1 64,2 297 23 7 170 175 16 000 2 230 350 17 8 252 170 16 000 3 299,5 362 12 7 472 137 16 000 4 287,9 366 15 7 196 149 8 000 5 170,7 388 24 7 428 244 16 000 6 239,8 369 17 6 682 138 8 000 7 293,5 385 14 4 211 100 6 000 8 279,5 369 15 7 472 108 8 000 9 310,6 382 15 6 198 57 8 000
10 263,6 329 12 4 676 121 8 000 Total 2 439,3 3 597 164 66 757 1 399
Moyenne 243,93 359,7 16,4 6 675,7 139,9
Le tableau 5.3. présente les résultats obtenus par l’heuristique de construction. Ces
routes ont été obtenus avec le critère
parcourue distanceée transportquantité . Les résultats
obtenus permettent d’améliorer la distance parcourue par l’ensemble des véhicules. Ces
résultats démontrent une amélioration significative. Une route a été éliminée ce qui
permet entre autres de réduire le nombre de camionneurs requis. De plus, la distance
totale a été réduite de 6,89 % passant de 2 439 à 2 271 kilomètres. Par ailleurs, la durée a
été réduite de 2,47%. Les commandes étant les mêmes, nous pouvons conclure que le
chargement est mieux distribué. Effectivement, le poids total (66 489) est moindre avec
l’approche proposée qu’avec la solution manuelle (66 757).Cela s’explique par
99
l’utilisation de moins de palettes. Finalement, pour visiter ces clients nous avons besoin
de six tournées pour le camion de 16 000 livres, d’une tournée pour le camion de 8 000
livres et deux tournées pour le camion de 6 000 livres.
Tableau 5.3. : Routes initiales
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion
1 90,4 422 33 9 080 248 16 000 2 239,4 422 21 7 506 227 16 000 3 221,4 404 22 9 182 169 16 000 4 255,4 420 20 8 700 170 16 000 5 319,3 392 14 6 404 118 8 000 6 243,8 402 21 9 880 125 16 000 7 254,6 413 20 8 615 199 16 000 8 314,2 324 6 3 790 69 6 000 9 333,2 309 7 3 332 74 6 000
Total 2 271,57 3 508 164 66 489 1 399 Moyenne 252,40 389,78 18,22 7387,67 155,44
Suite à la construction des routes, le 3-opt a été appliqué à chacune des routes. Les
résultats obtenus sont présentés au tableau 5.4. Cette heuristique permet d’améliorer
quatre routes parmi les neuf proposées soient les routes 1, 2, 3 et 8. Les autres tournées
sont demeurées exactement les mêmes. Les améliorations apportées à ces routes
permettent de réduire la distance de 3,74 % et la durée de 2,21% par rapport aux routes
initiales obtenues précédemment.
Tableau 5.4. : Routes obtenues suite au 3-opt
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion
1 77,4 413 33 9 080 248 16 0002 211,2 403 21 7 506 227 16 0003 206,8 395 22 9 182 169 16 0004 255,4 420 20 8 700 170 16 0005 319,3 392 14 6 404 118 8 0006 243,8 402 21 9 880 125 16 0007 254,6 413 20 8 615 199 16 0008 285 285 6 3 790 69 6 0009 333,2 309 7 3 332 74 6 000
Total 2 186,74 3 432 164 66 489 1 399 Moyenne 242,97 381,33 18,22 7 387,67 155,44
100
L’heuristique d’amélioration inter-route permet d’échanger entre deux routes des clients
afin d’améliorer la tournée. Cette méthode a aussi apportée des résultats intéressants. Tel
que présenté au tableau 5.5., la route 1 peut désormais être visité par un camions de 6 000
livres. Ainsi, le camion de 6 000 livres effectue trois tournées, le camion de 8 000 livres
en effectue encore une seule et le camion de 16 000 livres en parcourt cinq. De plus,
l’apport marginal de cette méthode est de 5,04% en ce qui concerne la distance à
parcourir et de 1,81% pour la durée totale.
Tableau 5.5. : Routes obtenues suite à l’amélioration inter-route
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion
1 27,7 173 14 4 534 96 6 000 2 199,9 430 24 8 292 244 16 000 3 206,8 395 22 9 182 169 16 000 4 255,4 420 20 8 700 170 16 000 5 320,9 414 16 6 988 128 8 000 6 191,4 389 23 10 456 156 16 000 7 259,3 435 22 9 013 230 16 000 8 283,1 328 10 4 638 96 6 000 9 332,1 386 13 4 838 110 6 000
Total 2 076,47 3 370 164 66 641 1 399 Moyenne 230,72 374,44 18,22 7 404,56 155,44
Le 3-opt et l’amélioration inter-route sont appliqués à nouveau tant que des gains sont
réalisables. Ainsi, une autre itération a été nécessaire pour une réduction de distance
additionnelle de 1,2 %. Les routes finales pour lesquelles plus aucune amélioration n’est
possible sont présentées au tableau 5.6. Pour plus de détails, consulter l’annexe B qui
contient toutes les commandes de même qu’une représentation sur MapPoint. Par
rapport aux routes de Distributions Jacques Dubois inc., ces routes représentent une
amélioration considérable de 15,91%. Effectivement, la distance totale parcourue passe
de 2 439 à 2 051 kilomètres. De plus, la durée totale de l’ensemble des routes est
diminuée de 7,65 %. Or, chacune des routes est en moyenne 10 minutes plus longue
puisque le nombre de routes est moindre. Les camions sont aussi distribués autrement.
Ainsi, trois tournées sont effectuées par le plus petit camion (6 000 livres), une tournée
101
est parcourue par le camion de 8 000 livres et le camion de 16 000 livres parcourt cinq
tournées au total. Les figures 5.1. à 5.9. illustrent respectivement ces routes finales.
Tableau 5.6. : Routes finales
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion
1 10,9 97 8 3 534 58 6 000 2 198,3 418 23 7 758 228 16 000 3 206,9 425 25 9 758 196 16 000 4 253,5 434 22 9 068 181 16 000 5 320,9 414 16 6 988 128 8 000 6 189,5 386 23 10 456 156 16 000 7 259,9 438 22 9 057 230 16 000 8 279,1 350 12 5 260 112 6 000 9 332,1 360 13 4 838 110 6 000
Total 2 051,02 3 322 164 66 717 1 399 Moyenne 227,89 369,11 18,22 7 301,89 155,44
102
Figure 5.1. : Illustration et description de la route 1
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
174391 Alimentation M S Nadeau inc. Lévis G6V 1Z4 18 6 3 2
45030 Accommodation 89 inc. Lévis G6V 1B6 12 1 3
8374857 Accommodation Saint-Georges enr. Lévis G6V 4L4 6 3
438596 Alimentation Brochu Lévis G6V 4M6 6 1 2
442450 Dépanneur Chez Major enr. Lévis G6V 3Z4 6 5 3
8371633 Dépanneur Tout-Près inc. Lévis G6V 3Y7 6 1 1 3
439682 Dépanneur Beaudoin enr. Lévis G6V 5S7 12 1 3
199131 Couche-Tard Lévis G6V 5T3 0 11 2
103
#client Nom Ville Code Postal 18 l 2 l Can. Chubby
600 ml 5l Autres Type
88355050 Lévis Suzuki Lévis G6V 7M5 2 4 125571 Dépan-Escompte Couche-Tard #525 Charny G6X 1X6 5 2
88322925 Promutuel Lévisienne-Orléans Charny G6X 1X7 3 4 147967 Dépanneur Sertard Charny G6X 2G6 18 2 152941 Epicerie Dumont Charny G6X 2T6 12 3 1 3 199091 Couche-Tard acc. Des Chutes Charny G6X 1B7 10 2
148450 Métro Morneau Saint-Nicolas G7A 2N9 16 1 190479 Supermarché R.Martin (IGA) Saint-Nicolas G7A 3S8 6 1 199146 Couche-Tard Saint-Nicolas G7A 1N3 3 2
88316556 Dépanneur le p'tit creux Saint-Nicolas G7A 2M9 1 6 6 1 3 437934 Accommodation de l'Erablière Saint-Nicolas G7A 2J6 6 3 442320 Dépanneur Couche-Tard Saint-Apollinaire G0S 2E0 2 2
88812401 9008-0474 Québec inc. (Petro-Canada) Saint-Apollinaire G0S 2E0 6 8 3 196316 Marché I.G.A St-Apollinaire Saint-Apollinaire G0S 2E0 5 1
87282926 Épicerie Denise Tanguay Saint-Flavien G0S 2M0 6 2 148770 Supermarché Laroche inc. Laurier-Station G0S 1N0 3 1
87282227 Épicerie A. Bergeron Saint-Janvier-de-
Joly G0S 1M0 6 2
87443323 Dépanneur Johanne Laroche enr. Val-Alain G0S 3H0 12 1 3
155510 Marché A H Fournier inc. (Provigo) Lyster G0S 1V0 6 3 178134 Alimentation Adrien Bisson Dosquet G0S 1H0 30 2 5 2
88883924 Dépanneur Super Soir St-Agapit G0S 1Z0 6 3
88360598 Dépanneur 610 enr. Saint-Etienne-de-
Lauzon G6J 1H2 6 1 3 88314427 Tabagie le Faubourg enr. Saint-Rédempteur G6K 1J4 6 8 4
Figure 5.2. : Illustration et description de la route 2
104
Figure 5.3. : Illustration et description de la route 3
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type8375805 Dépanneur R.Leclerc Lévis G6V 4Z3 1 3 127321 Dépan-Escompte Couche-Tard Lévis G6V 9H5 7 2 199170 Couche-Tard Lévis G6V 6S5 5 2 138690 Épicerie Boucherie Marquis La Durantaye G0R 1W0 11 4 131068 R Campagna inc. La Durantaye G0R 1W0 11 6 3 442693 Alimentation Berthier Berthier-sur-Mer G0R 1E0 6 7 1 2
82481230 IGA Co-op Montmagny G5V 3A4 10 1 201443 Epicerie Léopold Fortin inc. Montmagny G5V 3N9 6 2 131471 Alimentation Léon Collin Montmagny G5V 1Y1 8 2
82481588 Marché Morency inc. Montmagny G5V 1E1 2 3 2 443100 Dépanneur Escompte Couche Tard Montmagny G5V 1B7 3 2 174427 Dépanneur Ultra Saint-François enr Saint-François-Montmagny G0R 3A0 6 3 3
82432022 Gestion Pat Saint-Raphaël G0R 4C0 6 3 131072 Marché Saint-Raphaël enr. Saint-Raphaël G0R 4C0 22 2 2 439794 Marché Côté enr. Armagh G0R 1A0 22 2 195462 Servis plus Andre Roy Saint-Philémon G0R 4A0 6 6 1 3 202219 Boucherie Pierre Picard Saint-Philémon G0R 4A0 8 4 146735 Bissonnette Ernest Saint-Damien-de-Buckland G0R 2Y0 10 1 3
87892972 Epicerie Boucherie Labrecque Saint-Damien-de-Buckland G0R 2Y0 8 4 132952 Alimentation Côté & Morin inc. Saint-Lazare-De-Bellechasse G0R 3J0 11 1 2 174412 Duquet Guy Sainte-Claire G0R 2V0 11 8 1 3
88833988 Alimentation Carrier inc. Sainte-Claire G0R 2V0 3 6 2131355 Dépanneur Etchemin Saint-Anselme G0R 2N0 11 8 1 3
88854031 Dépanneur Express Saint-Anselme G0R 2N0 6 3438465 Dépanneur Super-Soir enr. Saint-Anselme G0R 2N0 6 8 1 2 2 3
105
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
127550 Dépan-Escompte Couche-Tard St-David G6W 6M7 4 2
431037 Jean-Guy Fontaine inter-marché Pintendre G6C 1C8 6 10 1 88351479 Promutuel Lévisienne-Orléans Pintendre G6C 1C9 2 4 141133 Marché L Fournier inc. Sainte-Hénédine G0S 2R0 22 3 3 442674 Épicerie Guy Berthiaume inc. Scott G0S 3G0 33 2 148390 Métro Labonté inc. Sainte-Marie G6E 1N7 8 10 1 442465 Super Soir Sainte-Marie G6E 1M9 6 2
142175 Alimentation Nadeau & Vallée inc.
(Marché) Saint-Elzéar G0S 2J0 6 2
141100 Alimentation Lachance & Roy enr. Vallée-Jonction G0S 3J0 6 3
152620 Alimentation Saint-Joseph-de-
Beauce Saint-Joseph-de-
Beauce G0S 2V0 9 2 176783 Dépanneur Servis Express Saint-Joseph G0S 2V0 6 8 1 3
433735 Accommodation Jacques enr. Saint-Joseph-de-
Beauce G0S 2V0 6 3
444540 IGA Co-op Saint-Joseph-de-
Beauce G0S 2V0 12 1 145712 Lessard J T & Fils Tring-Jonction G0N 1X0 40 3 172415 Roy Denis Tring-Jonction G0N 1X0 1 5 3 440472 Gas Bar Drouin East Broughton G0N 1G0 2 4
83380844 Boucherie Ré-Jo inc. Robertsonville G0N 1L0 12 4 436468 Alimentation Chez Yves enr. Pontbriand G0N 1K0 6 2 441880 Placement G.R. Gilbert Thetford Mines G6G 1J6 12 8 4 183220 Jean Coutu #160 Thetford Mines G6G 2A8 6 4 439513 Dépanneur Chez Pee-Wee inc. Thetford Mines G6G 1Z2 6 2 1 3
83356353 Accommodation Chez Guy enr. Thetford Mines G6G 2W2 6 3
Figure 5.4. : Illustration et description de la route 4
106
Figure 5.5. : Illustration et description de la route 5
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
103659 Epicerie Centre Matic inc.
(IGA) Saint-Lambert-de-
Lauzon G0S 2W0 6 1
142160 S C A la Seigneurie Saint-Narcisse-de-
Beaurivage G0S 1W0 6 4
85962353 Marché Beaurivage Saint-Patrice-de-
Beaurivage G0S 1B0 6 2
85962809 Accommodation Cybel
Air Saint-Patrice-de-
Beaurivage G0S 1B0 6 1 3
451366 Dépanneur Bécancour
enr. Lyster G0S 1V0 6 1 2 3 102904 IGA Coop Plessisville Plessisville G6L 3J1 6 1
145556 Alimentation M R enr. Plessisville G6L 1K6 12 1 3 93626766 Dépanneur l'Oriental Plessisville G6L 2N8 6 3
93627298 Épicerie Boucherie
Thibault Plessisville G6L 2E3 6 8 2
93854236 Dépanneur de Lourdes Lourdes G0S 1T0 12 3
93854799 Dépanneur Villeroy enr. Villeroy G0S 1T0 2 3 3
173311 Marché Raymond Minot Manseau G0X 1V0 40 2 2 93562353 ADG Tanguay Manseau G0X 1V0 12 8 1 4
440468 Dépanneur M.B. Sainte-Françoise-de-
Lotbinière G0S 2N0 12 3
149979 Morasse Michel Sainte-Sophie-de-
Lévrard G0X 3C0 11 2 3
92632818 Dépanneur Roger
Deschênes Sainte-Cécile-de-
Lévrard G0X 2M0 12 8 3
107
Figure 5.6. : Illustration et description de la route 6
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
442280 Dépanneur Couche-Tard Lévis G6V 4Z3 8 2 441330 Supermarché I G A Lévis G6V 2B2 12 3 1 443469 Dépanneur Couche Tard (Irving) Saint-Romuald G6W 2R8 0 3 2
88762396 Gaz Bar S B L Neuville G0A 2R0 6 4 88762733 Accommodation Goguen Neuville G0A 2R0 2 2 3 102942 Supermarché J.C. Bédard (IGA) Pont-Rouge G0A 2X0 25 12 1 6680 Dépanneur Pont-Rouge Pont-Rouge G0A 2X0 12 0 0 0 2 18 3
205657 Épicerie JP Cormier Saint-Basile G0A 3G0 2 12 6 3 2 83292024 Épicerie Strasbourg Saint-Basile G0A 3G0 1 4 1 2 83292848 Aliments J. Plamondon Saint-Basile G0A 3G0 12 2 2 145235 Marché Richelieu Saint-Basile G0A 3G0 11 2 137401 Dépanneur Club Vidéo Portneuf Portneuf G0A 2Y0 12 1 4
82863655 Camping Portneuf enr. Portneuf G0A 2Y0 4 4 82864881 Industries Portneuf Portneuf G0A 2Y0 23 4
82683598 Dépanneur Patrice Perreault Saint-Marc-
des-Carrières G0A 4B0 12 3 82864950 Pro-Métal Plus Deschambault G0A 1S0 12 4 131170 Magasin Paré enr. Deschambault G0A 1S0 1 3 144932 Dépanneur Shell Cap-Santé Cap-Santé G0A 1L0 12 3
82851717 Accommodation Cap-Santé Cap-Santé G0A 1L0 6 4 3 82850375 Dépanneur l'Imprévu enr. Donnacona G0A 1T0 18 2 2 3 82852171 Accommodation rayon de soleil Donnacona G0A 1T0 6 1 1 3 82853220 Auto Franck et Michel Donnacona G0A 1T0 2 4 88391341 Promutuel Lévisienne-Orléans Saint-Romuald G6W 5M6 5 4
108
Figure 5.7. : Illustration et description de la route 7
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type183580 Pharmaprix #16 Lévis G6V 6Y8 12 4 103211 Co-Op Magasin (IGA) St-Anselme G0R 2N0 6 1
86422814 Epicerie Luno enr. Saint-Malachie G0R 3N0 6 2 2 3
149263 Alfred Couture ltée Saint-Léon-de-
Standon G0R 4L0 7 3 3
148688 Marché Métro (Ofrigidaire
Alimentation) Lac-Etchemin G0R 1S0 4 1 86252921 Dépanneur Chez Ben Lac-Etchemin G0R 1S0 4 3
153721 Dépanneur Charly enr. Beauceville G0S 1A0 12 1 3
176356 Alimentation Beauceville inc.
(Métro) Beauceville G0S 1A0 8 1 150127 Accommodation 120 Saint-Georges G5Y 2Z9 40 3 126390 Dépan-Escompte Couche-Tard Saint-Georges G5Y 3W5 12 2 130269 Marché Fecteau & Frère inc. Saint-Georges G5Y 3W7 6 2 143428 Gaz Bar Bérubé inc. Saint-Georges G5Y 5X7 12 1 4 147948 Alimentation Fortin Saint-Georges G5Y 3V9 40 3 2
82286571 Dépanneur E. Jacques enr. Saint-Georges G5Y 3X7 6 3
439167 Marché Roger Rodrigue (IGA) Saint-Georges G5Y 3X8 6 6 1 148542 Marché Laval Veilleux & Fils Saint-Georges G5Y 8G9 8 5 2 150170 Le P'tit Dépanneur Saint-Georges G5Y 1C6 3 3 202870 Accommodation 127 enr. Saint-Georges G5Y 7A6 8 3
82280430 Dépanneur l'Express Saint-Georges G5Y 5H1 6 3 82287925 Dépanneur Rapido Saint-Georges G5Y 1Z3 6 1 3
103488 Marché Gaston Paquet
inc.(IGA) Saint-Georges G5Y 1S5 18 1 204254 Alimentation Gilbert Saint-Georges G5Y 1S4 11 8 1 2
109
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
199112 Couche-Tard #2145795 Lévis G6V 6C6 9 2 199127 Couche-Tard Saint-Romuald G6W 2S5 4 2
151363 Épicerie Denis Filteau
Ltée Saint-Ubalde G0A 4L0 3 2
437286 Épicerie Chez Nicole Notre-Dame-
de-Montauban G0X 1W0 22 2 83232929 Épicerie Joanne Dery Rivière-à-Pierre G0A 3A0 12 1 6 1 2
83232233 Epicerie Boucherie Lam-
Bher inc. Rivière-à-Pierre G0A 3A0 24 4 4 83372212 Epicerie Gingras enr. Saint-Raymond G3L 3Y5 6 2 1 2
83372944 Accomodation St-
Jacques Saint-Raymond G3L 3Y3 2 1 3
129601 Voyer & Jobin ltée
(Provigo) Saint-Raymond G3L 1J4 24 1 130482 Omni #4125 Saint-Raymond G3L 3S6 12 2
8344774 Accomodation Danny Saint-Romuald G6W 2M1 6 1 3
8377879 Pharmacie Francis
Couillard Lévis G6W 1H7 6 4
Figure 5.8. : Illustration et description de la route 8
110
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type438427 Gestion mon Loup Saint-Romuald G6W 3J3 12 1 3
435751 Accommodation Vanier
enr. Saint-Jean-
Chrysostome G6Z 1Z9 6 3
445071 Dépanneur Escompte Couche Tard (Irving)
Saint-Jean-Chrysostome G6Z 2C1 2 2
88391705 Dépanneur Mari-Pier enr. Saint-Jean-
Chrysostome G6Z 2A4 6 3
199108 Couche-Tard Saint-Jean-
Chrysostome G6Z 3G8 5 2
145220 Dépanneur Piermont enr. Saint-Jean-
Chrysostome G6Z 2E8 2 3
84274288 René Composite Sainte-Clotilde-
de-Beauce G0N 1C0 15 4
84275246 Dépanneur Mymi Sainte-Clotilde-
de-Beauce G0N 1C0 24 1 3 443074 IGA #407 Thetford Mines G6G 6H1 18 1 126406 Dépanneur Couche Tard Thetford Mines G6G 6X9 9 2
125888 Dépan-Escompte Couche-
Tard Black Lake G6H 2A3 7 2 84235727 Alimentation Denis inc. Black Lake G6H 2B4 6 1 2 82287129 Économie Ti-Pier Saint-Georges G5Y 4V9 6 3
Figure 5.9. : Illustration et description de la route 9
111
En modifiant le critère de résolution des routes ( voir étape 4 de la méthode présentée à la
section 4.3.2) , il est possible d’obtenir des résultats différents. Ainsi, le critère
parcourue distanceclients de nombre amène les routes finales présentées au tableau 5.7. Ce
nouveau critère amène des résultats moins performants que les précédents mais il permet
tout de même d’améliorer la distance des routes initiales de 9,31% et la durée de 1,89%
par rapport aux routes parcourues initialement par Distributions Jacques Dubois inc. Par
ailleurs, avec ces résultats, le camion de 8 000 livres n’est plus utilisé. Le camion de
6 000 livres parcourt quatre routes tandis que le camion de 16 000 livres en parcourt cinq.
Finalement, le chargement est légèrement inférieur, 66 641 par rapport à 66 757,
indiquant une meilleure distribution des commandes dans chacun des camions.
Effectivement, les commandes sont exactement les mêmes que celles effectués par
l’entreprise.
Tableau 5.7. : Routes finales obtenues avec critère nb clients/ distance parcourue
Nb_route Distance Durée (min) Nb client Chargement Récupération Camion
1 13,0 131 11 4 394 94 6 000 2 211,7 469 27 9 228 243 16 000 3 206,9 425 25 9 758 196 16 000 4 255,4 420 20 8 700 170 16 000 5 317,8 402 14 5 684 118 6 000 6 218,6 477 26 11 486 180 16 000 7 260,0 437 22 7 551 224 16 000 8 397,7 388 6 3 966 63 6 000 9 330,8 380 13 5 874 111 6 000
Total 2 211,95 3 529 164 66 641 1 399 Moyenne 245,77 392,11 18,22 7404,55 155,44
5.4. Conclusion
Ce chapitre a présenté les résultats de l’approche développée. En prenant comme
comparaison les routes utilisées par Distributions Jacques Dubois inc., les routes
générées sont 15,91% plus courtes en terme de distance, soit une réduction de 388
112
kilomètres. Il faut cependant mentionner que la solution retenue nécessite un véhicule de
moins ce qui peut représenter une économie importante pour l’entreprise.
113
Chapitre 6
Conclusion
Les problèmes de tournées sont très présents autant dans la littérature que dans la réalité.
Cet essai a permis de mieux connaître les problèmes de tournées de même que leurs
applications dans des cas réels. Nous avons recensé les articles récents de la littérature
traitant du problème du voyageur de commerce et du problème de tournées de véhicules.
Bien que ces problèmes ne soient pas nouveaux, ils sont encore aujourd’hui très présents
dans la littérature. Les articles étudiés démontrent une tendance vers les problèmes de
tournées avec restrictions sur les fenêtres de temps. Par ailleurs, l’algorithme génétique
est très populaire au cours des dernières années.
L’entreprise étudiée, soit Distributions Jacques Dubois inc. fait face à un problème de
tournées de véhicules avec fenêtres de temps, flotte hétérogène et produits multiples.
L’approche dévelopée a permis de proposer de nouvelles routes à l’entreprise. Cette
approche est composée d’une heuristique de construction suivie de deux heuristiques
d’amélioration. Les résultats démontrent que l’approche proposée permet d’améliorer
considérablement les routes généralement utilisées par l’entreprise Distribution Jacques
Dubois inc. Chacune des étapes a été étudiée séparement de manière à démontrer leur
apport marginal. Ainsi, les résultats obtenus permettent de réduire de 15,91% la distance
soit 388 kilomètres pour deux semaines typiques. Par ailleurs, la durée est améliorée de
7,65%. Sur une base annuelle, cela se traduirait par des économies considérables et
permettrait entres autres d’améliorer l’efficacité de la flotte de véhicules.
Plusieurs améliorations pourraient être éventuellement apportés à cet essai de manière à
améliorer les résultats obtenus. Effectivement, il serait possible de modifier le type de
véhicule utilisé lors de l’amélioration inter-route. De plus, dans cet essai, les distances
sont considérées à partir des codes postaux, une étude plus poussée pourrait permettre de
considérer l’adresse exacte des clients.
114
Finalement, tout porte à croire que cette approche de résolution pourrait être utile pour
d’autres entreprises de transport. Elle permettrait alors d’améliorer la planification des
tournées et par le fait même réduire les coûts de transport et améliorer leur niveau de
rentabilité et de compétitivité.
115
Références 1. Achuthan N.R., Caccetta L. & Hill S.P., “An improved branch-and-cut algorithm for
the capacited vehicle routing problem.” Transportation Science (2003), 37; 2: 153-169.
2. Arunapuram Sundararajan, Mathur Kamlesh & Solow Daniel, “Vehicle Routing and
scheduling with full truckloads.” Transportation Science (2003), 37; 2: 170-182. 3. Avella Pasquale, Boccia Maurizio & Sforza Antonio., “Solving a fuel delivery
problem by heuristic and exact approaches.” European Journal of Operational Research (2003), À paraître.
4. Baker Barrie M.& Ayechew M. A., “A genetic algorithm for the vehicle routing
problem.” Computers & Operations Research (2003), 30; 5: 787-800. 5. Baker Barrie M. & Carreto Carlos A. C., “A visual interactive approach to vehicle
routing.” Computers & Operations Research (2003), 30; 3: 321-337. 6. Baker B., Furnon V., Shaw P., Kilby P. & Prosser P., “Solving vehicle routing
problem using constraint programming and metaheuristics.” Journal of heuristics (2000), 6: 501-523.
7. Baptista Susana, Carvalho Rui Oliveira & Zúquete Eduardo., “A period vehicle
routing case study.” European Journal of Operational Research (2002), 139; 2: 220-229.
8. Belenguer José M. & Benavent Enrique. “A cutting plane algorithm for the
capacitated arc routing problem.” Computers & Operations Research (2003), 30; 5: 705-728.
9. Benavent E, Campos V, Corberan A & Mota E., “The capacitated arc routing
problem.” Networks (1992), 22: 669-690. 10. Berger Jean & Barkaoui Mohamed. “A parallel hybrid genetic algorithm for the
vehicle routing problem with time windows.” Computer & Operations Research (2003), À paraître.
11. Beullens Patrick, Muyldermans Luc, Cattrysse Dirk & Oudheusden Dirk Van. “A
guided local search heuristic for the capacitated arc routing problem.” European Journal of Operational Research (2003), 147; 3: 629-643.
116
12. Bolduc, Marie-Claude, Planification du transport de charges partielles d'un dépôt : répartition, livraison et revenu de retour. Essai de maîtrise (2003), Faculté des sciences de l'administration, Université Laval, Québec, Canada.
13. Bourgeois Mélanie, Laporte Gilbert & Semet Frédéric. “Heuristics for the black and
white traveling salesman problem.” Computers & Operations Research (2003), 30; 1: 75-85.
14. Brotcorne Luce, Laporte Gilbert & Semet Frédéric. “Ambulance location and
relocation models.” European Journal of Operational Research (2003). À paraître. 15. Cabral Edgar Alberto, Gendreau Michel, Gianpaolo Ghiani & Laporte Gilbert.
“Solving the hierarchical Chinese postman problem as a rual postman problem.” European Journal of Operational Research (2003). À paraître.
16. Chan Yupo, Carter William B. & Burnes Michael D. “A multiple-depot, multiple-
vehicle, location-routing problem with stochastically processed demands.” Computers & Operations Research (2001), 28; 8: 803-826.
17. Chen Yen-Liang & Hsiao Li-Jen. “Shipping problems with body clock constraints.”
Computers & Operations Research (2003), 30; 7: 1037-1049. 18. Chian Wen-Chyuan & Russell Robert A., “A reactive tabu search metaheuristic for
the vehicle routing problem with time windows.” INFORMS Journal on Computing (1997), 9: 417-430.
19. Chian Wen-Chyuan & Russell Robert A. Integrating purchasing and routing in a
propane gas supply chain. European Journal of Operational Research (2003). À paraître.
20. Choi In-Chan, Kim Seong-In & Kim Hak-Soo. A genetic algorithm with a mixed
region search for the asymmetric traveling salesman problem. Computers & Operations Research (2003); 30; 5: 773-786.
21. Christofides N. & Eilon S., An algorithm for the vehicle dispatching problem.
Operation Research Quart.( 1969); 20; 309-318. 22. Christofides N. Mingozzi A. & Toth P., The vehicle routing problem. N. Christofides,
A. Mingozzi, P. Toth, M. sandi, eds. Combinatorial Optimization (1979): 315-338. 23. Clarke G. & Wright J. W., Scheduling of vehicles from a central depot to a number of
delivery points. Operation Research (1964); 11: 568-581.
117
24. Colorni A., Dorigo M. & Maniezzo V.,. « Distributed Optimization by Ant Colonies », Proceedings of the First European Conference on Artificial Life (1991), MIT Press/Bradford Book, Paris: 134-142.
25. Cordeau J., Laporte G. & Mercier A., A unified tabu search heuristic for vehicle
routing problems with time windows, Technical report CRT-00-03 (2000); Centre de recherche sur les transport, Montréal, Canada.
26. Cordeau Jean-François, Gendreau Michel et Laporte Gilbert, A tabu search heuristic for
periodic and multi-depot vehicle routing problems. Networks (1997); 30: 105-119. 27. Dantzig G. B. & Ramser R.H. "The Truck Dispatching Problem". Management Science
(1959); 6: 80–91. 28. Fisher M.L., Optimal solution of vehicle routing problems using minimum k-trees,
Operation Research (1994); 42: 626-642. 29. Fisher M. & Jaikumar R., A generalized assignement heuristic for vehicle routing,
Networks (1981); 11: 109-124. 30. Gillett B. & Miller L., A heuristic algorithm for the vehicle dispatch problem,
Operations Research (1974); 22 : 340-349. 31. Gendreau Michel, Hertz Alain & Laporte Gilbert. New insertion and postoptimization
procedures for the traveling salesman problem. Operation Research (1992), 40; 1086-1094.
32. Gendreau Michel, Hertz Alain & Laporte Gilbert. The traveling salesman problem
with backhauls. Working paper CRT-912 (1993)., Centre de recherche en transport, Université de Montréal, Québec, Canada
33. Gendreau Michel, Hertz Alain & Laporte Gilbert. A tabu search heuristic for the
vehicle routing problem. Management Science (1994); 40: 1276-1290. 34. Gendreau M., Laporte, G., Musaraganyi, Ch., Taillard, E., A tabu search heuristic for
the heterogeneous fleet vehicle routing problem. Computer and Operations Research (1999); 26: 1153-1173.
35. Ghaziri Hassan & Osman Ibrahim H. A neural network algorithm for the traveling
salesman problem with backhauls. Computers & Industrial Engineering (2003); 44; 2: 267-281.
36. Glover Fred, Future paths for integer programming and links to artificial intelligence.
Computer and Operation Research (1986); 13: 533-549.
118
37. Glover Fred, Gutin Gregory, Yeo Anders & Zverovich Alexey. Construction heuristics for the asymmetric TSP, European Journal of Operational Research (2001); 129; 3: 555-568.
38. Golden B.L., DeArmon JS & Baker EK. Computational experiments with algorithms
for a class of routing problems. Computers and Operations Research (1983); 10: 47-59.
39. Golden B.L. & Wasil, E.A Computerized vehicle routing in the soft drink industry.
Operation Research (1987); 35;1: 6-17 40. Golden, B.L., Wasil, E.A., Kelly, J.P. & Chao, I.M. The impact of metaheuristics on
solving the vehicle routing problem: algorithms, problem sets, and computational results. Fleet management and logistics Kluwer (1998).
41. Gronalt Manfred, Hartl Richard F. & Reimann Marc. New savings based algorithms
for time constrained pickup and delivery of full truckloads. European Journal of Operational Research (2003). À paraître.
42. Helsgaun K. An effective implementation of the Lin-Kernighan traveling salesman
heuristic, European Journal of Operational Research (2000), 126, 1: 106. 43. Holland J.H. Adaptation in natural and artificial systems. The University of Michigan
Press (1975), Ann Arbor, MI. 44. Homberger J.& Gehring H. Two evolutionary metaheuristics for the vehicle routing
problem with time windows, INFOR (1999) ; 37: 297-318. 45. Hwang Heung-Suk. An improved model for vehicle routing problem with time
constraint based on genetic algorithm. Computers & Industrial Engineering (2002); 42; 2-4: 361-369.
46. Ioannou Georges, Kriticos Manolis & Prastacos Gregory. A problem generator-solver
heuristic for vehicle routing with soft time windows. Omega (2003); 31: 41-53. 47. Jaszkiewicz Andrzej & Kominek Pawel. Genetic local search with distance
preserving recombination operator for a vehicle routing problem. European Journal of Operational Research (2003). À paraître.
48. Kiuchi M, Shinano Y, Hirabayashi R & Saruwatari Y. An exact algorithm for the
capacitated arc routing problem using Parallel Branch and Bound method. Abstracts of the 1995 Spring National Conference of the Operational Research Society of Japan (1995): 28-29.
49. Laporte, G. The Traveling Salesman Problem: An overview of exact and approximate
algorithms; European Journal of Operational Research (1992); 59; 231-247.
119
50. Laporte G., Gendreau M., Potvin J-Y & Semet F. Classical and modern heuristics for the vehicle routing problem. International transactions in operational research (2000); 7: 285-300.
51. Laporte G. & Osman I. H. Routing Problems : A Bibliography. Annals of Operations
Research (1995) ; 61 : 227-262. 52. Lau Hoong Chuin, Sim Melvyn & Teo Kwong Meng. Vehicle routing with time
windows and a limited number of vehicles. European Journal of Operational Research (2003). À paraître.
53. Lawler E. L., Lenstra J. K., Rinnooy Kan A. H. G. & Shmoys D. B. The traveling
salesman problem. A guided tour of combinatorial optimisation. John Wiley & Sons (1985).
54. Li Haibig & Lim Andrew. Local search with annealing-like restarts to solve VRPTW.
European Journal of Operational Research (2003). À paraître. 55. Liu F-H & Shen S-Y., A route-neighborhood-based metaheuristic for the vehicle
routing problem with time windows. Journal of Operational Research (1999); 118: 485-504.
56. Miller D.L., A matching based exact algorithm for capacitated vehicle routing
problems, ORSA J. Comput. (1995); 7; 1: 1-9. 57. Mladenovic N. & Hansen P. Variable neighbourhood search. Computer and
Operations Research (1997), 24: 1097-1100. 58. Moin Noor Hasnah. Hybrid Genetic Algorithms for Vehicle Routing Problem with
Time Windows. International Journal of the Computer, the Internet and Management (2002); 10:1-17.
59. Moon Chiung, Kim Jongsoo, Choi Gyunghyun & Seo Yoonho. An efficient genetic
algorithm for the traveling salesman problem with precedence constraints. European Journal of Operational Research (2002); 140; 3: 606-617.
60. Osman Ibrahim H. Metastrategy simulated annealing and tabu search algorithms for
the vehicle routing problem. Annals of Operations Research (1993) ; 41: 421-451. 61. Osman Ibrahim H. & Wassan Niaz. A reactive tabu search meta-heuristic for the
vehicle routing problem with back-hauls. Journal of Scheduling (2002); 5: 263-285. 62. Osman I. & Salhi S. Local search strategies for the vehicle fleet mix problem. In:
rayward-Smith, V.J., Osman, I.H., Reeves, C.R., Smith, G.D. (Eds.), Modern Heuristic Search Methods. (1996) Wiley, New York : 131-153.
120
63. Paletta Giuseppe. The period traveling salesman problem: a new heuristic algorithm. Computers & Operations Research (2002); 29; 10: 1343-1352.
64. Patterson R. & Rolland E. The cardinality constrained covering traveling salesman
problem. Computers & Operations Research (2003); 30; 1: 97-116. 65. Prins Christian. A simple and Effective Evolutionary Algorithm for the Vehicle
Routing Problem. Research report (2001). University of Technology of Troyes. 66. Prins Christian. A simple and Effective Evolutionary Algorithm for the Vehicle
Routing Problem. Computer and operations Research (2003), À paraître. 67. Rego C. & Roucairol C. A parallel tabu search algorithm using ejection chains for the
vehicle routing problem. In: Osma, I.H., Kelly J. (Eds.):Meta-Heuristics: Theory and Applications (1996).
68. Reimann M., Doerner K. & Hart F.R., D-Ants: Savings based Ants divide and
conquer the Vehicle Routing Problem, Department of Production and Operations Management, Institute on Management Science, University of Vienna, A-1210, Vienna, Austria. 1-39.
69. Reinelt, G. A traveling salesman problem library, ORSA J. Comput. (1981); 3: 376-
384. 70. Renaud Jacques & Boctor Fayez F. A sweep-based algorithm for the fleet size and
mix vehicle routing problem. European Journal of Operational Research (2002); 140; 3: 618-628.
71. Renaud Jacques & Boctor Fayez F., Laporte Gilbert. Perturbation heuristics for the
pickup and delivery traveling salesman problem. Computers & Operations Research (2002); 29; 9: 1129-1141.
72. Renaud Jacques, Boctor Fayez F. & Ouenniche Jamal. A heuristic for the pickup and
delivery traveling salesman problem. Computers & Operations Research (2000); 27; 9: 905-916.
73. Renaud Jacques, Laporte Gilbert et Boctor Fayez F., « A tabu search heuristic for the
multi-depot vehicle routing problem ». Computers and Operations Research (1996); 23; 3: 229-235.
74. Rochat, Y. & Taillard, Éric D. Probabilistic Diversification and Intensification in
Local Search for Vehicle Routing. Journal of Heuristics (1995); 1; 147-167. 75. Rosenkrantz D. J., Stearns R. E. & LEWIS II P. M., An analysis of several heuristics
for the traveling salesman problem. SIAM Journal on Computing (1977); 6, 3, 563-581.
121
76. Rousseau L., Gendreau P. & Pesant G., Using constraint-based operators to solve vehicle routing problem with time windows, Journal of Heuristics (2002); 8: 43-58.
77. Schneider Johannes. The time-dependent traveling salesman problem. Physica A:
Statistical Mechanics and its Applications (2002); 314; 1-4: 151-155. 78. Shaw P., Using constraint programming and local search methods to solve vehicle
routing problems. In: Maher M, Puget J-FF, editors. Principles and practice of constraint programming, Lecture Notes in Computer Science (1998); Springer: 417-431.
79. Shutler P M E. An improved branching rule for the symmetric traveling salesman
problem. The Journal of the Operational Research Society (2001); 52; 2. 80. Solomon, M. Marius. Algorythms for the vehicle routing and scheduling problems
with time window constraints. Operations Research Society of America (1987); 35; 2: 254-265.
81. Spaeth, H., Cluster-Analyse-Algorithmen zur Objektklassifizierung und
Datenreduktion, Oldenbourg, Muenchen (1977). 82. Taillard E. D. A heuristic column generation method for heterogeneous fleet VRP.
(1999), RAIRO 33 (1), 1-14. 83. Taillard E. D. Parallel iterative search methods for vehicle routing problems.
Networks (1993); 23; 661-673. 84. Taillard E. D., Badeau P., Gendreau M., Geurtin F. & Potvin J., A tabu search
heuristic for the vehicle routing problem with time windows, Transportation Science (1997); 31: 170-186.
85. Taillard E.D., A heuristic column generation method for the heterogeneous fleet
VRP. RAIRO (1999); 33: 1-34. 86. Taillard E. D., Gambardella Luca M., Gendreau Michel & Potvin Jean-Yves.
Adaptive memory programming: A unified view of metaheuristics. European Journal of Operational Research (2001); 135: 1-16.
87. Tarantilis C. D., Kiranoudis C. T. & Vassiliadis V. S. A threshold accepting
metaheuristic for the heterogeneous fixed fleet vehicle routing problem. European Journal of Operational Research (2003). À paraître.
88. Toth P.& Vigo D. Models, relaxations and exact approaches for the capacitated
vehicle routing problem. Discrete Applied Mathematics (2002a); 123; 1-3: 487-512.
122
89. Toth, P.& Vigo D. The Granular Tabu Search and its Applications to the Vehicle Routing Problem. INFORMS Journal on Computing (2002b).
90. Wu Tai-Hsi, Low Chinyao & Bai Jiunn-Wei. Heuristic solutions to multi-depot
location-routing problems. Computers & Operations Research (2002); 29; 10: 1393-1415.
91. Xu Hang, Chen Zhi-Long, Rajagopal Srinivas & Arunapuram Sundar. Solving a
practical pickup and delivery problem. Transportation Science (2003); 37 : 347-364. 92. Xu J. & Kelly J. A network flow-based tabu search heuristics for the vehicle routing
problem. Transportation Science (1996); 30 : 379-393.
Références internet
www.statcan.ca (consulté le 10 août 2003)
www.strategis.ic.gc.ca (consulté le 15 août 2003)
http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/ (consulté le 11 novembre 2003)
124
ANNEXE A : Routes et commandes initiales par Distributions Jacques Dubois inc.
Route 2 : Secteur St-Georges
#client Nom Ville Code Postal 18 l 2 l Can Chubby
600 ml 5l Autres Type
176356
Alimentation Beauceville inc. (Métro) Beauceville G0S 1A0 8 1
153721 Dépanneur Charly enr. Beauceville G0S 1A0 12 1 3
147948 Alimentation Fortin Saint-Georges G5Y 3V9 40 3 2
82287129 Économie Ti-Pier Saint-Georges G5Y 4V9 6 3
439167 Marché Roger Rodrigue (IGA) Saint-Georges G5Y 3X8 6 6 1
82286571 Dépanneur E. Jacques enr. Saint-Georges G5Y 3X7 6 3
143428 Gaz Bar Bérubé inc. Saint-Georges G5Y 5X7 12 1 4
130269 Marché Fecteau & Frère inc. Saint-Georges G5Y 3W7 6 2
126390 Dépan-Escompte Couche-Tard Saint-Georges G5Y 3W5 12 2
148542 Marché Laval Veilleux & Fils Saint-Georges G5Y 8G9 8 5 2
204254 Alimentation Gilbert Saint-Georges G5Y 1S4 11 8 1 2
103488 Marché Gaston Paquet inc.(IGA) Saint-Georges G5Y 1S5 18 1
150170 Le P'tit Dépanneur Saint-Georges G5Y 1C6 3 3
202870 Accommodation 127 enr. Saint-Georges G5Y 7A6 8 3
82280430 Dépanneur l'Express Saint-Georges G5Y 5H1 6 3
82287925 Dépanneur Rapido Saint-Georges G5Y 1Z3 6 1 3
150127 Accommodation 120 Saint-Georges G5Y 2Z9 40 3
125
Route 3 : Secteur Saint-Raymond
#client Nom Ville Code Postal 18 l 2 l Can Chubby 600 ml 5l Autres Type
130482 Omni #4125 Saint-
Raymond G3L 3S6 12 2
129601 Voyer & Jobin ltée (Provigo)
Saint-Raymond G3L 1J4 24 1
83372212 Epicerie Gingras enr.
Saint-Raymond G3L 3Y5 6 2 1 2
83372944 Accomodation St-Jacques
Saint-Raymond G3L 3Y3 2 1 3
83232233 Epicerie Boucherie Lam-Bher inc.
Rivière-à-Pierre G0A 3A0 24 4 4
83232929 Épicerie Joanne Dery
Rivière-à-Pierre G0A 3A0 12 1 6 1 2
102942 Supermarché J.C. Bédard (IGA) Pont-Rouge G0A 2X0 25 12 1
6680 Dépanneur Pont-Rouge Pont-Rouge G0A 2X0 12 0 0 0 2 18 3
205657 Épicerie JP Cormier Saint-Basile G0A 3G0 2 12 6 3 2
83292848 Aliments J. Plamondon Saint-Basile G0A 3G0 12 2 2
145235 Marché Richelieu Saint-Basile G0A 3G0 11 2
83292024 Épicerie Strasbourg Saint-Basile G0A 3G0 1 4 1 2
126
Route 4 : Secteur St-Joseph-de-Beauce
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
142175
Alimentation Nadeau & Vallée inc. (Marché) Saint-Elzéar G0S 2J0 6 2
103659 Epicerie Centre Matic inc. (IGA)
Saint-Lambert-de-Lauzon G0S 2W0 6 1
442674 Épicerie Guy Berthiaume inc. Scott G0S 3G0 33 2
442465 Super Soir Sainte-Marie G6E 1M9 6 2
148390 Métro Labonté inc. Sainte-Marie G6E 1N7 8 10 1
152620 Alimentation Saint-Joseph-de-Beauce
Saint-Joseph-de-Beauce G0S 2V0 9 2
444540 IGA Co-op Saint-Joseph-de-
Beauce G0S 2V0 12 1
433735 Accommodation Jacques enr.
Saint-Joseph-de-Beauce G0S 2V0 6 3
176783 Dépanneur Servis Express
Saint-Joseph-de-Beauce G0S 2V0 6 8 1 3
172415 Roy Denis Tring-Jonction G0N 1X0 1 5 3
145712 Lessard J T & Fils Tring-Jonction G0N 1X0 40 3 842752
46 Dépanneur Mymi Sainte-Clotilde-de-
Beauce G0N 1C0 24 1 3 842742
88 René Composite Sainte-Clotilde-de-
Beauce G0N 1C0 15 4 440472 Gas Bar Drouin East Broughton G0N 1G0 2 4
141100
Alimentation Lachance & Roy enr. Vallée-Jonction G0S 3J0 6 3
127
Route 5 : Secteur Saint-Nicolas, Charny et St-Jean-Chrysostome
#client Nom Ville Code Postal 18 l 2 l Can Chubby 600 ml 5l Autres Type
88360598 Dépanneur 610 enr.
Saint-Etienne-de-
Lauzon G6J 1H2 6 1 3
88314427 Tabagie le Faubourg enr.
Saint-Rédempteur G6K 1J4 6 8 4
199146 Couche-Tard Saint-Nicolas G7A 1N3 3 2148450 Métro Morneau Saint-Nicolas G7A 2N9 16 1
190479 Supermarché R.Martin (IGA) Saint-Nicolas G7A 3S8 6 1
88316556 Dépanneur le p'tit creux Saint-Nicolas G7A 2M9 1 6 6 1 3
437934 Accommodation de l'Erablière Saint-Nicolas G7A 2J6 6 3
88812401 9008-0474 Québec inc. (Petro-Canada)
Saint-Apollinaire G0S 2E0 6 8 3
196316 Marché I.G.A St-Apollinaire
Saint-Apollinaire G0S 2E0 5 1
88883924 Dépanneur Super Soir St-Agapit G0S 1Z0 6 3
178134 Alimentation Adrien Bisson Dosquet G0S 1H0 30 2 5 2
87282926 Épicerie Denise Tanguay Saint-Flavien G0S 2M0 6 2
148770 Supermarché Laroche inc.
Laurier-Station G0S 1N0 3 1
442320 Dépanneur Couche-Tard
Saint-Apollinaire G0S 2E0 2 2
199091 Couche-Tard acc. Des Chutes Charny G6X 1B7 10 2
152941 Epicerie Dumont Charny G6X 2T6 12 3 1 3147967 Dépanneur Sertard Charny G6X 2G6 18 2
88322925 Promutuel Lévisienne-Orléans Charny G6X 1X7 3 4
125571 Dépan-Escompte Couche-Tard #525 Charny G6X 1X6 5 2
145220 Dépanneur Piermont enr.
Saint-Jean-Chrysostome G6Z 2E8 2 3
199108 Couche-Tard Saint-Jean-
Chrysostome G6Z 3G8 5 2
88391705 Dépanneur Mari-Pier enr.
Saint-Jean-Chrysostome G6Z 2A4 6 3
435751 Accommodation Vanier enr.
Saint-Jean-Chrysostome G6Z 1Z9 6 3
445071 Dépanneur Escompte Couche Tard (Irving)
Saint-Jean-Chrysostome G6Z 2C1 2 2
128
Route 6 : Secteur Montmagny
#client Nom Ville Code Postal 18 l 2 l Can Chubby
600 ml 5l Autres Type
131072 Marché Saint-Raphaël enr. Saint-Raphaël G0R 4C0 22 2 2
132952 Alimentation Côté & Morin inc.
Saint-Lazare-De-Bellechasse G0R 3J0 11 1 2
87892972 Epicerie Boucherie Labrecque
Saint-Damien-de-Buckland G0R 2Y0 8 4
146735 Bissonnette Ernest Saint-Damien-de-Buckland G0R 2Y0 10 1 3
202219 Boucherie Pierre Picard Saint-Philémon G0R 4A0 8 4 195462 Servis plus Andre Roy Saint-Philémon G0R 4A0 6 6 1 3 439794 Marché Côté enr. Armagh G0R 1A0 22 2
82432022 Gestion Pat Saint-Raphaël G0R 4C0 6 3 131068 R Campagna inc. La Durantaye G0R 1W0 11 6 3 442693 Alimentation Berthier Berthier-sur-Mer G0R 1E0 6 7 1 2 131471 Alimentation Léon Collin Montmagny G5V 1Y1 8 2
82481588 Marché Morency inc. Montmagny G5V 1E1 2 3 2 201443 Epicerie Léopold Fortin inc. Montmagny G5V 3N9 6 2
443100 Dépanneur Escompte Couche Tard Irving Montmagny G5V 1B7 3 2
82481230 IGA Co-op Montmagny G5V 3A4 10 1
174427 Dépanneur Ultra Saint-François enr
Saint-François-Montmagny G0R 3A0 6 3 3
138690 Épicerie Boucherie Marquis La Durantaye G0R 1W0 11 4
129
Route 7 : Secteur Plessisville
#client Nom Ville Code Postal 18 l 2 l Can Chubby 600 ml 5l Autres Type
87282227 Épicerie A. Bergeron Saint-Janvier-de-Joly G0S 1M0 6 2
87443323 Dépanneur Johanne Laroche enr. Val-Alain G0S 3H0 12 1 3
93854799 Dépanneur Villeroy enr. Villeroy G0S 1T0 2 3 3
440468 Dépanneur M.B.
Sainte-Françoise-de-Lotbinière G0S 2N0 12 3
92632818 Dépanneur Roger Deschênes
Sainte-Cécile-de-Lévrard G0X 2M0 12 8 3
149979 Morasse Michel Sainte-Sophie-de-Lévrard G0X 3C0 11 2 3
173311 Marché Raymond Minot Manseau G0X 1V0 40 2 2
93562353 ADG Tanguay Manseau G0X 1V0 12 8 1 4
93854236 Dépanneur de Lourde Lourdes G0S 1T0 12 3
102904 IGA Coop Plessisville Plessisville G6L 3J1 6 1
93627298 Épicerie Boucherie Thibault Plessisville G6L 2E3 6 8 2
145556 Alimentation M R enr. Plessisville G6L 1K6 12 1 3
93626766 Dépanneur l'Oriental Plessisville G6L 2N8 6 3
451366 Dépanneur Bécancour enr. Lyster G0S 1V0 6 1 2 3
155510 Marché A H Fournier inc. (Provigo) Lyster G0S 1V0 6 3
130
Route 8 : Secteur Portneuf
#client Nom Ville Code Postal 18 l 2 l Can Chubby 600 ml 5l Autres Type
82864950 Pro-Métal Plus Deschambault G0A 1S0 12 4
82863655 Camping Portneuf enr. Portneuf G0A 2Y0 4 4
82864881 Industries Portneuf Portneuf G0A 2Y0 23 4
137401 Dépanneur Club Vidéo Portneuf Portneuf G0A 2Y0 12 1 4
82851717 Accommodation Cap-Santé Cap-Santé G0A 1L0 6 4 3
144932 Dépanneur Shell Cap-Santé Cap-Santé G0A 1L0 12 3
82853220 Auto Franck et Michel Donnacona G0A 1T0 2 4
82852171 Accommodation rayon de soleil Donnacona G0A 1T0 6 1 1 3
82850375 Dépanneur l'Imprévu enr. Donnacona G0A 1T0 18 2 2 3
88762396 Gaz Bar S B L Neuville G0A 2R0 6 4
88762733 Accommodation Goguen Neuville G0A 2R0 2 2 3
437286 Épicerie Chez Nicole
Notre-Dame-de-Montauban G0X 1W0 22 2
151363 Épicerie Denis Filteau Ltée Saint-Ubalde G0A 4L0 3 2
82683598 Dépanneur Patrice Perreault
Saint-Marc-des-Carrières G0A 4B0 12 3
131170 Magasin Paré enr. Deschambault G0A 1S0 1 3
131
Route 9 : Secteur Saint-Anselme
#client Nom Ville Code Postal 18 l 2 l Can. Chubby 600 ml 5l Autres Type
88351479 Promutuel Lévisienne-Orléans Pintendre G6C 1C9 2 4
141133 Marché L Fournier inc.
Sainte-Hénédine G0S 2R0 22 3 3
86252921 Dépanneur Chez Ben Lac-Etchemin G0R 1S0 4 3
174412 Duquet Guy Sainte-Claire G0R 2V0 11 8 1 3
88833988 Alimentation Carrier inc. Sainte-Claire G0R 2V0 3 6 2
86422814 Epicerie Luno enr. Saint-Malachie G0R 3N0 6 2 2 3
148688
Marché Métro (Ofrigidaire Alimentation) Lac-Etchemin G0R 1S0 4 1
88854031 Dépanneur Express Saint-Anselme G0R 2N0 6 3
131355 Dépanneur Etchemin Saint-Anselme G0R 2N0 11 8 1 3
103211 Co-Op Magasin (IGA) Saint-Anselme G0R 2N0 6 1
438465 Dépanneur Super-Soir enr. Saint-Anselme G0R 2N0 6 8 1 2 2 3
431037 Jean-Guy Fontaine inter-marché Pintendre G6C 1C8 6 10 1
132
Route 10 : Secteur Thetford Mines
#client Nom Ville Code Postal 18 l 2 l Can Chubby 600 ml 5l Autres Type
142160 S C A la Seigneurie Saint-Narcisse-de-Beaurivage G0S 1W0 6 4
85962809 Accommodation Cybel Air
Saint-Patrice-de-Beaurivage G0S 1B0 6 1 3
85962353 Marché Beaurivage Saint-Patrice-de-Beaurivage G0S 1B0 6 2
436468 Alimentation Chez Yves enr. Pontbriand G0N 1K0 6 2
443074 IGA #407 Thetford Mines G6G 6H1 18 1
84235727 Alimentation Denis inc. Black Lake G6H 2B4 6 1 2
125888 Dépan-Escompte Couche-Tard Black Lake G6H 2A3 7 2
126406 Dépanneur Couche Tard Thetford Mines G6G 6X9 9 2
439513 Dépanneur Chez Pee-Wee inc. Thetford Mines G6G 1Z2 6 2 1 3
183220 Jean Coutu #160 Thetford Mines G6G 2A8 6 4
83356353 Accommodation Chez Guy enr. Thetford Mines G6G 2W2 6 3
441880 Placement G.R. Gilbert Thetford Mines G6G 1J6 12 8 4
83380844 Boucherie Ré-Jo inc. Robertsonville G0N 1L0 12 4
149263 Alfred Couture ltée Saint-Léon-de-Standon G0R 4L0 7 3 3
133
ANNEXE B : Guide d’utilisation MapPoint 1. Introduction à MapPoint Le logiciel de cartographie MapPoint est utilisé pour calculer les distances entre
différents endroits à travers l’Amérique du Nord. De plus, il permet de calculer le temps
de route et le coût de transport en tenant compte des limites de vitesse et du coût du
carburant. Par ailleurs, il détermine la route à suivre avec des indications précisant les
routes et autoroutes à emprunter pour se rendre à destination. Ce logiciel est très utile
pour la gestion d’une entreprise ayant à effectuer des cueillettes et livraisons. MapPoint
comporte une multitude d’outils permettant de visualiser une route à parcourir d’une
façon extrêmement précise. Un des intérêt de MapPoint est qu’il est possible de l’appeler
à partir d’une application développée en Visual Basic. Ce guide présente comment
effectuer la connexion entre Visual Basic et MapPoint et présente les principales
fonctions.
1.1. Configuration Ce guide d’utilisation vous permettra d’accéder à MapPoint à partir de Visual Basic pour
trouver des informations réelles sur la route à suivre entre différentes destinations. Par
contre, il est tout d’abord nécessaire de configurer la connection à MapPoint dans Visual
Basic. Cela permettra à Visual Basic de se lier à MapPoint et reconnaître le code y faisant
134
référence. Pour ce faire, il faut tout d’abord ajouter MapPoint dans les références de
Visual Basic. Ainsi, l’ajout d’une référence peut être effectué en ouvrant le menu
déroulant « Project » et en choisissant l’option « Références ». La boîte de dialogue
suivante apparaîtra à l’écran :
Il suffit alors d’activer la case à cocher correspondant à la référence « Microsoft
MapPoint 8.0 Object Library » avant de refermer la boîte de dialogue en cliquant sur le
bouton OK. Cette procédure permettra à Visual Basic de reconnaître l’existence de
MapPoint lorsque vous lui ferez appel par la suite.
2. Les objets de MapPoint Avant de commencer, il est essentiel de bien comprendre les objets qui seront nécessaires
pour récupérer les données utiles à votre projet. MapPoint comprend des variables
permettant d’activer l’application MapPoint, d’ouvrir une carte et finalement de localiser
certains points sur la carte.
135
2.1. Variable d’appel et d’activation de MapPoint Tout d’abord, vous devez déclarer une variable qui fera appel à MapPoint. Cette variable
aura pour tâche de faire le lien entre MapPoint et Visual Basic. Elle permettra d’activer le
lien entre les deux logiciels. De plus, elle permettra de pouvoir éventuellement ouvrir une
carte, calculer une route et quitter l’application. Dans l’exemple suivant la variable
objapp permettra de faire ce lien. Pour déclarer cette variable, on doit utiliser un code
semblable à celui-ci :
Dim objApp as New mapPoint.Application
2.1.1. Activer l’application Avant de débuter un projet, vous devez absolument activer l’application. Pour ce faire,
vous pouvez suivre l’exemple suivant :
objApp.Activate
2.1.2. Quitter l’application De la même façon, lorsque vous désirerez quitter l’application, vous devrez alors
inscrire le code suivant permettant ainsi de désactiver l’application :
ObjApp.quit
2.2. Variable déclarant une carte Ensuite, vous devez déclarer une variable faisant référence à une carte dans MapPoint.
Ainsi, Visual Basic saura que la carte doit être ouverte dans MapPoint. Il est à noter que
MapPoint a seulement une carte ouverte à la fois. Il n’est pas possible d’ouvrir deux
136
cartes. L’objet Map permettra d’accéder aux méthodes find, findaddress et getlocation
permettant de situer un endroit sur la carte et ensuite de les ajouter à une route :
Dim objMap as New mapPoint.Map
2.3. Variable de localisation L’objet de localisation permet d’accéder au résultat d’une requête recherchant une
localisation. Cette localisation peut être repérée en déterminant un endroit, une adresse ou
des coordonnées de longitude et latitude. Par contre, pour utiliser cet objet il est
nécessaire d’avoir préalablement activé une carte. Le nombre de points maximal à situer
sur la carte est indiqué entre les parenthèses. Dans l’exemple suivant, le nombre de points
à situer sur la carte sera dans l’intervalle de un à cinq :
Dim objloc(1 To 5) As mappoint.Location
3. Situer deux points sur une carte
3.1. Déclaration des variables Tout d’abord, vous devez situer les deux points sur la carte. Pour ce faire, vous devez
vous connecter à MapPoint comme décrit précédemment. Ensuite, vous devez déclarer
une variable permettant d’ouvrir une carte et l’activer comme suit :
Dim objMap As mappoint.Map Set objMap = objapp.ActiveMap
137
3.2. Méthodes de localisation Find, Findaddress et Get location Il existe 3 façons différentes permettant de situer les points désirés sur une carte. Il y a la
méthode find, findaddress, et getlocation. Les trois méthodes ont le même
fonctionnement mais avec des données de départ différentes.
La méthode find utilise un nom endroit dans son contexte. Par exemple, vous pourriez
utiliser "Seattle, WA, United States" ou "G8M 3Y4 " pour indiquer l’endroit désiré. Les
indications doivent être précises sinon le résultat reçu sera « nothing » indiquant qu’il a
trouvé plusieurs ou aucun endroit portant les indications données précédemment. Cette
dernière méthode est aussi utile si vous désirez trouver un endroit à l’aide seulement du
code postal.
La méthode findaddress utilise l’adresse complète pour situer un endroit précis. Vous
pouvez alors inscrire dans l’ordre le nom de la rue (précédé du numéro civique si désiré),
la ville, la province, le code postal et finalement le nom du pays ( geocountryCanada ou
geocountryUnitedStates). Par contre la seule indication qui est obligatoire est le nom de
la rue, les autres sont optionnelles.
La méthode getlocation utilise la latitude, la longitude et l’altitude d’un endroit. La
latitude est une coordonnée numérique indiquant à quelle distance de l’équateur se situe
l’endroit désiré. On indique le nord avec le signe « + » et le sud par « - ». Quant à la
longitude, elle indique la distance par rapport au méridien. De la même manière, l’est est
désigné par « + » et l’ouest par « - ». L’altitude est optionnelle, si vous ne connaissez pas
l’altitude vous pouvez donc ne rien inscrire ou inscrire le nombre 100. Par exemple, vous
pouvez trouver Los Angeles avec (47.75399, -121.97436, 100).
La marche à suivre pour les trois méthodes est presque identique. Pour situer deux points
sur une carte, il est nécessaire de définir une variable de localisation. On inscrit le nombre
maximal de points que l’on veut situer entre parenthèses.
138
Dim objloc(1 To 2) As mappoint.Location Ensuite on peut situer les deux endroits désirés. C’est à cet endroit qu’on apercevra une
petite différence entre les méthodes utilisées. Effectivement, vous devrez inscrire la
méthode que vous désirez utiliser et décrire l’endroit selon les indications décrites
précédemment. Dans cet exemple, nous avons utilisé la méthode find. Voici toutes les
écritures nécessaires pour situer les points sur la carte.
Dim objapp As New mappoint.Application
Dim objMap As mappoint.Map Dim objloc(1 To 2) As mappoint.Location
Set objapp = New mappoint.Application
'Activer l'application objapp.Activate
'Activer une carte Set objMap = objapp.ActiveMap
'Situer les points sur la carte With objapp.ActiveMap
Set objloc(1) = objMap.Find("Seattle, WA, United States")
Set objloc(2) = objMap.Find("Université Laval, Québec,Canada")
End With
4. Le calcul des paramètres de la route
4.1. Ajouter les points à la route Par la suite, vous devez ajouter ces points à la route. Ainsi, vous devez activer une carte
et une route pour placer ces points sur celle-ci. Les écritures suivantes présentent l’ajout à
139
faire aux écritures permettant de situer les points sur la carte. Les noms de Seattle et
Université Laval sont optionnels, ils permettent d’indexer les points.
With objapp.ActiveMap.ActiveRoute .Waypoints.Add objloc(1), "Seattle"
.Waypoints.Add objloc(2), "Université Laval" End With
4.2. Trouver la route Par la suite, vous devez trouver la route entre ces deux points. Cette fonction sera remplie
par la propriété calculate. Cette dernière fonction est utilisée de la même façon que
l’ajout des points c’est-à-dire en activant une route et une carte. Elle tracera la route entre
les deux points inscrits à la route :
Objapp.activemap.activeroute.calculate
4.3. Trouver la distance, le temps de route ou le coût entre deux points Finalement, on peut maintenant trouver la distance, le temps de route ou le coût entre ces
points. La distance est récupérée à l’aide de la propriété distance, le temps de route avec
la propriété driving time et le coût avec la propriété cost. Ces données seront lues
seulement en double, il faut donc tenir compte de cette particularité en définissant nos
variables permettant de récupérer la distance, le coût ou le temps de conduite. La distance
est donnée en GeoUnits et est souvent établie par défaut en miles. Il faut donc ajuster ce
paramètre si l’on désire obtenir une distance en kilomètres. Par ailleurs, il est à noter que
le temps de route écoulé est donné en jour. Par exemple, une heure sera égale à 1/24
c’est-à-dire 0,041666. Dans l’exemple suivant, le message box a été utilisé pour
récupérer la distance à parcourir en kilomètres.
140
Dim objapp As New mappoint.Application Dim objMap As mappoint.Map Dim objloc(1 To 50) As mappoint.Location Dim objRoute As mappoint.Route Dim tweight As Double Dim dblDistance As Double 'Activer l'application objapp.Activate 'Activer une carte Set objMap = objapp.ActiveMap ‘Trouver les distances en kilomètres If objapp.Units=geoMiles Then Objapp.Units=geoKm End if 'Situer les points sur la carte With objapp.ActiveMap Set objloc(1) = objMap.Find("Seattle, WA, United States") Set objloc(2) = objMap.Find("Université Laval,Québec,Canada") End With 'Ajouter l'endroit à la route With objapp.ActiveMap.ActiveRoute .Waypoints.Add objloc(1), "Seattle" .Waypoints.Add objloc(2), "Université Laval" 'Calculer la route .Calculate End With
'Récupérer la distance tweight = objapp.ActiveMap.ActiveRoute.Distance x = MsgBox(tweight, , "Distance")
4.4. Calculer la distance entre deux points sur la route Il n’est pas obligatoire de calculer la distance de la route complète si on a plus de deux
points. On pourrait indiquer le point de départ et le point d’arrivée entre parenthèse
comme ceci :
141
MsgBox objMap.Distance(objLoc(1), objLoc(2))
4.5. Effacer une route ou des points La méthode clear est très utile puisqu’elle permet de supprimer une route ou des points
sur une route. Il est souvent essentiel de trouver plusieurs routes, la méthode clear permet
de supprimer la route précédente et ainsi s’assurer que nos points sont situés sur une
nouvelle route.
Dim objApp As New MapPoint.Application Dim objRoute As MapPoint.Route Set objRoute = objApp.OpenMap("Deliveries.ptm").ActiveRoute objRoute.Clear
4.6. Calculer plusieurs distances entre différents points Il est maintenant possible de calculer toutes les distances entre chacun des points de la
route. Dans l’exemple suivant, il s’agit d’une partie du code. Nous avons précédemment
définit nos variables et localisé chacun des points. Nous avons définit tweightclient
comme un vecteur permettant de récupérer la distance entre les points i et j. Nous
commençons par ajouter chacun des points désirés c’est-à-dire les points i et j. Ensuite,
nous calculons la route et gardons en mémoire la distance dans le vecteur
« tweightclient ». Par la suite, nous effaçons cette route de façon à pouvoir en calculer
une nouvelle à chacune des itérations.
With objapp.ActiveMap.ActiveRoute For i = 1 To nbclients - 1 For j = i + 1 To nbclients .Waypoints.Add objloc(i) .Waypoints.Add objloc(j) 'permet de calculer la route
142
.Calculate
‘permet de calculer la distance et la garder en mémoire dans un array tweightclient représentant la distance entre les points i et j
tweightclient(i, j) = objapp.ActiveMap.ActiveRoute.Distance ‘permet d’effacer la route .Clear Next j Next i End With
4.7. Enregistrer une carte Par défaut, lorsque vous activez une carte pour y trouver un ou plusieurs points, la boîte
de dialogue suivante apparaîtra à l’écran vous demandant si vous désirez ou non
enregistrer les modifications apportées à la carte.
En répondant « yes », vous pourrez alors enregistrer à l’endroit désirer la carte. Par
contre, si vous ne désirez pas voir apparaître cette boîte de dialogue, vous pouvez
enregistrer la carte directement dans votre code en utilisant la propriété saveas :
objmap.SaveAs "test", geoFormatMap, True
Par contre, si vous ne désirez pas sauvegarder la nouvelle carte, vous pouvez simplement
utiliser la propriété saved qui permettra de quitter l’application sans enregistrer les
changements effectués à la carte :
143
Objmap.saved = true
5. Visualiser une route sur une carte MapPoint Tout d’abord, la visualisation d’une carte peut être effectué seulement à partir de l’édition
2002 de MapPoint car cette version du logiciel inclus un nouveau contrôle ActiveX (plus
communément nommé « MapPoint Control »). Ce contrôle permet d’intégrer dans votre
projet Visual Basic une carte MapPoint. Cette carte pourra contenir toutes les
fonctionnalités qu’il est possible de retrouver habituellement lors de l’utilisation de
MapPoint.
5.1. L’objet MapPoint Control Premièrement, vous devez avoir préalablement configurer MapPoint dans Visual Basic
comme décrit au point 1.1. Ensuite, vous devez ajouter l’objet MapPoint Control dans
votre boîte à outils. Pour cela cliquez avec le bouton droit de la souris dans la boîte à
outils, sélectionnez la commande Components dans le menu contextuel, allez sur l’onglet
Controls, puis activez la case à cocher correspondant à l’entrée Microsoft MapPoint
Control 9.0. Vous pouvez maintenant refermer la boîte de dialogue en cliquant sur le
bouton OK.
144
L’objet MappointControl devient alors disponible dans votre boîte à outils. Vous pouvez
alors sélectionner ce dernier et ajuster les dimensions selon lesquels vous désirez faire
apparaître votre carte dans votre formulaire. Vous devriez alors voir apparaître une image
comme la suivante. Évidemment, en mode création, l’objet MappointControl est
représenté par un carré blanc avec au milieu de ce dernier l’icône MapPoint. Dans la
figure suivante, il est possible de voir que l’objet MapPoint Control a bien été ajouté à la
boîte à outils puisqu’on y retrouve l’icône de MapPoint. De plus, l’utilisateur a créé son
formulaire sur lequel la carte apparaîtra selon les dimensions désirées.
145
.
5.2. Coder avec MapPointControl
Une fois que l’objet MappointControl se trouve sur votre formulaire vous pouvez
commencer à coder avec celui-ci. La première chose à faire est de coder le type de carte
vous voulez faire apparaître c’est-à-dire probablement la carte nord-américaine.
Set objMap = Mappointcontrol1.NewMap(geoMapNorthAmerica)
L’objet MapPointControl permet de nombreuses possibilités, ainsi vous pouvez
déterminer l’image exacte que vous désirez obtenir à l’écran. Par exemple, vous pouvez
sélectionner les barres d’outils que vous désirez voir apparaître. MapPoint possède quatre
barres d’outils: Dessin, Location et échelle de distance, Navigation, et Standard. De plus,
il est possible d’effectuer un zoom sur votre carte de manière à ce que celle-ci soit plus
grande lors de son ouverture. Il faut aussi déterminer le style de carte vous désirez
obtenir, dans le cas présent le style route et données sera adopté mais il existe aussi
quatre types de style de carte : Data Map, Political map, Road map, Road et data map, et
146
finalement terrain map. Voici donc un exemple d’écritures possibles faisant apparaître
une carte. À noter que dans cet exemple le mappointControl a été appelé MPC.
Private Sub Form_Load() Dim DistanceMapPoint As Double Dim objMap As MapPointCtl.Map Dim objloc(1 To 4) As MapPointCtl.Location ‘utiliser la carte nord-américaine Set objMap = MPC.NewMap(geoMapNorthAmerica) Set objMap = MPC.ActiveMap ‘Permet de quitter la procedure si la carte ne contient rien If objMap Is Nothing Then
Exit Sub End If
'Zoom sur la carte objMap.ZoomIn
‘Déterminer le sytle désiré objMap.MapStyle = geoMapStyleRoadData
‘Déterminer les barres d’outils voulus MPC.Toolbars(1).Visible = True MPC.Toolbars(2).Visible = True With objMap
Set objloc(1) = .GetLocation(38.258384, -85.47502099, 100) Set objloc(2) = .GetLocation(22.258384, -85.47502099, 100) Set objloc(3) = .FindResults("G1k7p4").Item(1) Set objloc(4) = .FindResults("G1k1p5").Item(1)
End With With objMap.ActiveRoute
.Waypoints.Add objloc(1)
.Waypoints.Add objloc(2)
.Waypoints.Add objloc(3)
.Waypoints.Add objloc(4)
'Calculer la route .Calculate
End With
147
'Récupérer la distance DistanceMapPoint = objMap.ActiveRoute.Distance End Sub
Ce guide d’utilisation ne contient pas une liste exhaustive de toutes les fonctionnalités
offertes par MapPoint. Pour plus d’informations, consultez l’aide de MapPoint situé dans
la barre d’outil principale du logiciel.
148
ANNEXE C : Article ASAC Congrès ASAC 2004 Julie Privé Québec, QUÉBEC Jacques Renaud Fayez F. Boctor Centre de recherche sur les technologies de l’organisation réseau (CENTOR) Université Laval ÉLABORATION D’UN SYSTÈME INTÉGRÉ DE PLANIFICATIONS DE TOURNÉES :
UNE APPLICATION DANS LE SECTEUR DE LA DISTRIBUTION 1
Cet article étudie un problème de tournées présent dans une entreprise de distributions de boissons de la région de Québec. Nos résultats démontrent que l’application de l’approche proposée permet d’améliorer les opérations de transport de l’entreprise.
Introduction
Les opérations de transport sont essentielles au bon fonctionnement de notre économie de marché. Effectivement, selon Statistiques Canada, les entreprises de transport routier emploient plus de 200 000 personnes et génèrent des revenus annuels de plus de 36,9 milliards. Le transport routier des marchandises permet l’acheminement des matières et des produits entre les entreprises et vers les consommateurs. Étant donné l’étendue géographique du Canada, le transport routier des marchandises joue un rôle économique primordial. Selon Statistiques Canada, l’infrastructure routière compte plus de 900 000 kilomètres d’autoroutes et de routes pour supporter l’industrie du camionnage. Le nombre de camions sur les routes augmente d’années en années et les coûts du carburant augmentent sans cesse constituant une part importante des frais d’opérations d’un transporteur. Par conséquent, la rentabilité d’une entreprise de distribution est grandement affectée par les décisions relatives aux tournées de livraison. La planification des tournées est donc un problème majeur pour les entreprises de transport. Étant donné les conséquences économiques et stratégiques des problèmes de transport, ces derniers ont attiré l’attention de nombreux chercheurs et ce, depuis plusieurs années.
Dans ce qui suit, nous proposons un système intégré de planification de tournées et l’appliquons chez Distributions Jacques Dubois inc; une entreprise de distributions de boissons située dans la région de Québec. La suite de cet article est organisée comme suit. Tout d’abord, nous présentons l’entreprise étudiée puis révisons les principaux problèmes de tournées étudiés dans la littérature. La section suivante aborde les approches de résolution développées. Finalement, l’évaluation de l’approche proposée est effectuée à partir des résultats obtenus sur un problème réel rencontré 1 Nous tenons à remercier Jacques Dubois et Mehdi Aouididi pour leur précieuse collaboration ainsi que pour avoir voulu nous fournir les données nécessaires à cette étude.
149
Présentation de l’entreprise
Distributions Jacques Dubois inc. est une entreprise de distribution de boissons non alcoolisés située dans la région de Québec. L’entreprise doit livrer à des clients qui commandent des quantités connues à l’avance et les véhicules de livraison sont limités par leur capacité en terme de poids et d’espace. De plus, plusieurs clients ont une fenêtre de temps à l’intérieur de laquelle ils désirent être visités. La flotte de véhicules de l’entreprise est constituée de camions de capacités distinctes. L’entreprise distribue plusieurs produits qui sont différents les uns des autres, ces derniers ont un poids et occupent un espace différent qui devra être pris en considération. Finalement, l’entreprise doit aussi récupérer chez ses clients les bouteilles et cannettes vides. Il s’agit donc d’un problème de tournées de véhicules hétérogènes avec fenêtres de temps où on livre plusieurs produits.
Mathématiquement, le problème étudié se décrit sur un graphe G = (V, A) où V = {v0, v1, …, vn} représente l’ensemble des sommets (dépôt et clients) et A = {(vi, vj) : vi, vj ∈ V, i ≠ j} représente l’ensemble des arcs possibles. La matrice de distances est symétrique c’est-à-dire que dij = dji. Le point v0 représente le dépôt qui est le point de départ et d’arrivée pour toutes les routes. Les points v1, …, vn représentent les n clients à desservir. La flotte est composée de K véhicules dont la capacité de chargement est Qk pour la livraison des produits et qui disposent d’un volume Vk pour la récupération. La durée maximale d’une route est dmax. La demande du client vi pour le produit j est qij (i = 1, …, n et j = 1, …, P). Chaque client possède une quantité de récupération ri et requiert un temps de service si. De plus, chacun des clients a une fenêtre de temps [ei, li] qui lui est associée où ei représente le temps au plus tôt et li le temps au plus tard pour effectuer la visite.
Le problème consiste donc à visiter tous les clients une et une seule fois afin de leur livrer la marchandise commandée et rapporter la récupération tout en respectant les contraintes de fenêtres de temps, de capacité exprimé en volume et poids. L’objectif est de minimiser la distance parcourue pour visiter tous les clients. Revue de la littérature
Le problème étudié s’apparente à un problème de tournées de véhicules avec véhicules hétérogènes qui a été adapté de manière à prendre en compte les fenêtres de temps, les besoins en capacité des différents produits et de la récupération. Le problème classique de tournées de véhicules (vehicle routing problem) est un problème qui a fait l’objet de nombreuses recherches, il traite le cas où chacun des clients a une demande déterminée et où la flotte est homogène. Taillard (1993) a apporté une grande contribution à ce problème par son heuristique de partitionnement. Au cours des dernières années, la méthode de recherche tabou a été appliquée au problème de tournées par plusieurs auteurs. Ainsi, des auteurs tels que Osman (1993), Gendreau et al. (1994), Rego et Roucairol (1996) et Xu et Kelly (1996) se sont inspirés du la méthode tabou pour développer des approches de résolutions efficaces. Par ailleurs, Prins (2001) obtient des résultats très intéressant en utilisant l’algorithme génétique.
On observe ces dernières années une recrudescence de la recherche sur le problème de tournées de véhicules avec fenêtres de temps. Les auteurs suivants ont contribué à la résolution de ce problème : Rochat et Taillard (1995), Taillard et al. (1997), Cordeau, Laporte, Mercier (2000), Rousseau, Gendreau et Pesant (2000), Li et Lim (2003) et Berger et Berkaoui (2003). En
150
ce qui concerne la contrainte de flotte hétérogène elle a été étudiée récemment par Renaud et Boctor (2002).
L’amélioration individuelle des routes se fait à l’aide des méthodes d’amélioration conçues pour le problème du voyageur de commerce (traveling salesman problem ). Ce problème a été largement étudié. Parmi les méthodes d’amélioration les plus efficaces disponibles actuellement notons celui de Helsgaun (2000).
Un très grand nombre d’applications pratiques sont rapportées dans la littérature. Par contre, les applications du problème de tournées à l’industrie des boissons sont très rares. Au meilleur de nos connaissances, seul Golden et Wasil (1987) ont étudié l’industrie de la boisson gazeuse, mais ces auteurs considéraient le cas où la demande des clients n’était pas connue avant la livraison.
Finalement, le lecteur intéressé par la littérature concernant les problèmes de tournées de véhicules consultera les revues de Cordeau et al. (2002), Toth et Vigo (2002), Laporte et al. (2000), Laporte et Osman (1995) de même que celles de Laporte (1992a, 1992b, 1993). Approche de résolution
La figure 1 présente l’approche développée afin de résoudre le problème. L’approche que nous proposons est composée d’une heuristique de construction suivie d’une phase d’amélioration individuelle des routes et d’une amélioration inter-route. Afin d’être le plus précis possible, les distances ont été obtenues par le logiciel MapPoint. Heuristique de construction
Pour construire les routes et déterminer les camions à utiliser l’heuristique suivante dont les principales étapes se décrivent comme suit :
1. Pour débuter, tous les clients sont considérés. L’ensemble ε est ainsi composé de tous les clients qui ont une commande à livrer. (ε = V \ {V0}).
2. Répéter l’étape 3 pour tous les véhicules k = 1…K. 3. Appliquer l’heuristique d’insertion du plus proche voisin avec le véhicule k et
conserver la première tournée trouvée notée Tk. 4. Parmi les K tournées trouvées, conserver la tournée *
kT qui maximise le critère
parcourue distanceée transportquantité . Ajuster l’ensemble des clients à visiter, ε = ε \
*kT .
5. Si ε = Ø terminer, sinon retour à l’étape 2.
Détaillons maintenant l’implantation de l’algorithme d’insertion du plus proche voisin utilisée (voir Rosenkrantz et al. 1977 pour la description originale). Partant d’un sous tour initial composé uniquement du dépôt, l’heuristique ajoute un à un des points en sélectionnant celui qui est le plus près de l’ensemble des points de la tournée. Ce point est ensuite inséré à l’endroit réalisable minimisant la distance ajoutée. Une insertion est réalisable si elle respecte les contraintes de capacité (Qk) correspondant au poids des produits, de volume (Vk) utilisé par les
151
sacs de récupération, de distance maximale (dmax) et de fenêtres de temps ([ei,li]) pour les clients. Si une contrainte n’est pas respectée, on cherche le prochain client le plus près des clients actuellement sur la route. Lorsqu’il n’y a plus de client qui respecte les contraintes, la route est terminée.
Figure 1. : Organigramme de l’approche de résolution
Heuristiques d’amélioration
L’amélioration des routes se fera à l’aide de deux heuristiques. Tout d’abord, nous effectuons une amélioration individuelle de chacune des routes suivie d’une phase d’amélioration qui échange des clients entre deux routes.
ε = V \ {v0}
Route 6000 Noter la route Évaluer R6000
Route 8000 Noter la route Évaluer R8000
Route 16000 Noter la route Évaluer R16000
Parmi les tournées trouvées, conserver la tournée *
kT qui maximise la quantité livrée/distance parcourue
ε = Ø Non
Amélioration individuelle des routes
Amélioration inter-route
FIN
Oui
152
Amélioration individuelle des routes. L’heuristique classique du 3-opt (Lin 1965) est appliquée à chacune des routes de manière à diminuer la longueur de la route. Pour chacune des routes, tous les mouvements du 3-opt sont analysés. Si un de ceux-ci permet d’améliorer la route tout en respectant l’ensemble des contraintes, celui-ci est appliqué et la route est améliorée.
Amélioration inter-route. Souvent, il est possible d’effectuer d’autres améliorations en échangeant des clients entre deux routes. L’heuristique utilisée permet d’améliorer deux routes à la fois. Après avoir sélectionné deux routes, on considère toutes les paires de points consécutifs et on teste les 11 échanges illustrés à la figure 2. Un échange est implanté s’il réduit la distance totale et que toutes les contraintes sont respectées. Notons qu’en échangeant les clients de routes, la demande des routes est affectée. L’algorithme est appliqué de façon séquentielle à toutes les paires de routes tant que des améliorations sont possibles.
Les tournées de départ
Échange 1 Échange 2 Échange 3
Échange 4 Échange 5 Échange 6
Échange 7 Échange 8 Échange 9
153
Échange 10 Échange 11
Figure 2 : Les échanges inter-route testées
Évaluation de l’approche proposée
L’approche proposée a été codée en Visual Basic 6.0 et est relié à une base de données Access ainsi qu’au logiciel de cartographie MapPoint afin d’obtenir les distances réelles les plus précises possible.
Nous avons utilisé les données réelles de l’entreprise Distributions Jacques Dubois inc. Comme le montre la figure 3, la majorité des clients de l’entreprise est située sur la Rive-Sud de Québec, couvrant entièrement la région Chaudières-Appalaches. Les tests ont été effectués sur 164 clients dont la demande était connue. Parmi ces clients, 19 imposaient des fenêtres temps.
Figure 3. : Localisation des clients de Distributions Jacques Dubois inc.
Les produits livrés par Distributions Jacques Dubois inc. sont des boissons de toutes
sortes. Ainsi, l’entreprise compte plus de 125 produits distincts c’est-à-dire de saveurs, de dimensions et de poids différents. Il a été possible de grouper les 125 produits en 6 produits types. Ces produits sont ceux qui sont le plus souvent commandés par les clients. Le tableau 1 présente ces produits ainsi que leur poids et le nombre d’unités de produits qu’il est possible de mettre sur une palette. Étant que le poids d’une palette (76 livres) n’est pas un facteur à négliger, il est important de savoir le nombre exact de produit qu’il est possible de charger sur cette palette. Chaque fois que l’on dépasse ce nombre, une nouvelle palette est ajoutée. Il est à noter que la plupart des articles sont livrés en caisse. Par exemple, il est impossible de commander une seule
154
bouteille de 2 litres puisque ces derniers sont livrés en caisse de huit bouteilles. Par conséquent, le tableau suivant présente les poids des produits par caisse excepté pour les bouteilles d’eau qui sont par unité.
Tableau 1 Classification et caractéristiques des produits
Nom Poids (livres) Nb par palette Eau (18 litres) 40 54 2 litres 40 50 Canettes 22 60 Chubby 21 120 600 millilitres 34 72 Eau (5 litres) 12 144 Autres 20 ---
En plus de la livraison de boissons, l’entreprise Distributions Jacques Dubois inc. doit aussi récupérer des sacs contenant les bouteilles vides. Notons que la quantité à récupérer n’est pas toujours connue à l’avance. Chez la plupart des clients, la quantité de bouteilles à récupérer est connue au moment où l’on effectue la visite. Cependant, il est possible de regrouper les clients selon la moyenne des sacs de récupération généralement recueillis. Il est évident que les plus grosses supermarchés auront plus de sacs de récupérations que les petits dépanneurs. De plus, les pharmacies, les cabanes à sucre et les campings ne recueillent généralement pas la récupération. Le tableau 2 présente les groupes des clients et le nombre de sacs généralement recueillis.
Tableau 2 Classification des clients selon le nombre de sacs de récupération
Groupe Entreprises (exemples) Nombre de sacs de
récupération 1 Supermarché, IGA, Co-op, Provigo, Sobeys 20-30 2 Couche-Tard, marché, petite épicerie 10-20 3 Dépanneur, Accommodation 0-10 4 Camping, Cabane à sucre, pharmacie 0
Bien qu’il arrive à l’occasion que Distributions Jacques Dubois inc. loue des camions pour la livraison, l’entreprise possède trois véhicules pour assurer la distribution des boissons et la cueillette de bouteilles vides. Aucun camion n’est dédié à une route en particulier, ils sont attribués aux routes selon la capacité nécessaire. Le tableau 3 présente les capacités des véhicules en terme de poids et de sacs de récupération.
155
Tableau 3 Caractéristiques des camions
Camions Longueur
(pieds) Nb essieux Poids maximum
(livres) Nb de sacs de récupération
Camion 1 16 1 6 000 100 Camion 2 20 2 8 000 120 Camion 3 26 2 16 000 220
Résultats obtenus
L’approche proposée a été évaluée à partir de données réelles de deux semaines typiques. À des fins de comparaisons, les routes de l’entreprise ont été compilées et les distances évaluées par le logiciel MapPoint. Dans un premier temps, le tableau 4 présente les routes tels que planifiées par Distributions Jacques Dubois inc. Pour construire ces routes, l’entreprise regroupent généralement tous les clients d’un même secteur et décide ensuite du camion en fonction de la demande et finalement de la tournée.
Tableau 4 Routes planifiées par Distributions Jacques Dubois inc.
Nombre de
routes Distance
(Km) Durée (min.)
Nombre de clients Chargement Récupération Camion
1 64,2 297 23 7 170 179 8 000 2 230 350 17 8 252 170 16 000 3 299,5 362 12 7 472 137 16 000 4 287,9 366 15 7 196 149 8 000 5 170,7 388 24 7 428 244 16 000 6 239,8 369 17 6 682 138 8 000 7 293,5 385 14 4 211 100 6 000 8 279,5 369 15 7 472 108 16 000 9 310,6 382 15 6 198 57 8 000
10 263,6 329 12 4 676 121 6 000 Total 2 439,3 3 597 164 66 757 1403
Moyenne 243,93 359,7 16,4 6 675,7 140,3
Les résultats obtenus permettent d’améliorer la distance parcourue par l’ensemble des véhicules. Le tableau 5 présente les résultats obtenus par l’approche développée. Ces résultats démontrent une amélioration significative. Tout d’abord, une route a été éliminée ce qui permet entre autres de réduire le nombre de camionneurs requis. De plus, la distance totale a été réduite de 12,83% passant de 2 439 à 2 126 kilomètres.
156
Tableau 5 Routes améliorées
Nombre de
routes Distance
(Km) Durée (min.)
Nombre de clients Chargement Récupération Camion
1 42 242 20 5 886 156 16 000 2 222 452 23 7 648 230 16 000 3 221 441 22 8 794 175 16 000 4 254 444 19 8 356 156 16 000 5 300 470 17 7 246 144 8 000 6 246 466 22 10 508 138 16 000 7 253 453 20 8 615 225 16 000 8 289 399 11 5 038 143 6 000 9 299 399 10 4 398 103 6 000
Total 2 126 3 766 164 66 489 1 470 Moyenne 236,22 418,44 18,22 7387,67 163,33
Les commandes étant les mêmes, nous pouvons conclure que le chargement est mieux
distribué. Effectivement, le poids total (66 489) est moindre avec l’approche proposée. Ceci s’explique par le fait que le nombre de palettes nécessaires est réduit. En plus de réduire le poids total pour livrer les commandes aux clients, ces nouvelles routes permettent aussi de recueillir une plus grande quantité de sacs de récupération. Conclusion
L’approche proposée permet d’améliorer considérablement les routes généralement utilisées par l’entreprise. Sur une base annuelle, cela se traduirait par des économies considérables pour l’entreprise et permettrait entres autres d’augmenter l’efficacité de ses opérations. Références Berger J. & Barkaoui M., “A parallel hybrid genetic algorithm for the vehicle routing problem with time windows”, Computer & Operations Research (2003), À paraître. Cordeau J., Laporte G. & Mercier A., “A unified tabu search heuristic for vehicle routing problems with time windows”, Technical report CRT-00-03 (2000), Centre de recherche sur les transport, Montréal, Canada. Cordeau J.-F., Gendreau M., Laporte G., Potvin J.-Y. & Semet F., “A guide to vehicle routing heuristics”, Journal of the Operational Research Society, (2002), 53: 512-522. Gendreau M., Hertz A. & Laporte G., “A tabu search heuristic for the vehicle routing problem”, Management Science (1994), 40: 1276-1290. Golden L. B. & Wasil A. E., “Computerized vehicle routing in the soft drink industry”, Operation Research (1987), 35, 1: 6-17.
157
Helsgaun K., “An effective implementation of the Lin-Kernighan traveling salesman heuristic”, European Journal of Operational Research (2000), 126 , 1: 106.
Laporte E G., “The traveling salesman problem: An overview of exact and approximate algorithms”, European Journal of Operational Research (1992), 59: 231-247. Laporte G., “The vehicle routing problem: An overview of exact and approximate algorithms”, European Journal of Operational Research (1992), 59 : 345-358. Laporte G., “Recent algorithmic Developments for the traveling salesman problem and the vehicle routing problem”, Ricerca Operativa (1993), 23, 68: 5-27. Laporte G. & Osman I. H., “Routing Problems : A Bibliography”, Annals of Operations Research (1995), 61: 227-262. Laporte G., Gendreau M., Potvin J.-Y. & Semet F., “Classical and modern heuristics for the vehicle routing problem”,International Transactions in Operational Research (2000); 7: 285-300. Li H. & Lim A., “Local search with annealing-like restarts to solve VRPTW”, European Journal of Operational Research (2003). À paraître. Lin S., “Computer solutions of the traveling salesman problem”, The Bell System Technical Journal (1965): 2245-2269. Osman I. H., “Metastrategy simulated annealing and tabu search algorithms for the vehicle routing problem”, Annals of Operations Research (1993), 41: 421-451. Prins C., “A simple and Effective Evolutionary Algorithm for the Vehicle Routing Problem”, Research report (2001). University of Technology of Troyes. Rego C. & Roucairol C., “ A parallel tabu search algorithm using ejection chains for the vehicle routing problem”, In: Osma, I.H., Kelly J. (Eds.):Meta-Heuristics: Theory and Applications (1996). Rochat Y. & Taillard E. D., “Probabilistic Diversification and Intensification in Local Search for Vehicle Routing”, Journal of Heuristics (1995), 1 :147-167. Rosekrantz D. J., Stearns R. E. & Lewis II P. M., “An analysis of several heuristics for the traveling salesman problem”, SIAM Journal on Computing (1977), 6, 3, 563-581. Renaud J. & Boctor F. F., “A sweep-based algorithm for the fleet size and mix vehicle routing problem”, European Journal of Operational Research (2002), 140, 3: 618-628. Rousseau L., Gendreau P. & PESANT G., “Using constraint-based operators to solve vehicle routing problem with time windows”, Journal of Heuristics (2002), 8: 43-58. Taillard E. D., “Parallel iterative search methods for vehicle routing problems”, Networks (1993), 23, 661-673.
158
Taillard E. D., Badeau P., Gendreau M., Geurtin F. & Potvin J., “A tabu search heuristic for the vehicle routing problem with time windows”, Transportation Science (1997), 31: 170-186. Toth P. & Vigo D., “Models, relaxations and exact approaches for the capacitated vehicle routing problem”, Discrete Applied Mathematics (2002), 123, 1-3: 487-512. Xu J. & Kelly J., “A network flow-based tabu search heuristics for the vehicle routing problem.” Transportation Science (1996), 30 : 379-393. Autres références: www.statcan.ca (consulté le 10 août 2003)