Solution Pour Optimisation
Solution Pour Optimisation
Thèse
Pour l'obtention du
Doctorat en LMD
Domaine : Mathématique et Informatique
Filière : Informatique
Spécialité : Informatique de la Répartition et Aide à la Décision (IRAD)
Présentée Par
Oualid GUEMRI
Mr. Karim BOUAMRANE Professeur, Université d’Oran 1, Ahmed BenBella Président du jury
Mr. Bouziane BELDJILALI Professeur, Université d’Oran 1, Ahmed BenBella Directeur de thèse
Mr. Larbi SEKHRI Professeur, Université d’Oran 1, Ahmed BenBella Examinateur
Mr. Mohamed BENYETTOU Professeur, Université USTO-MB Oran Examinateur
Mr. Zakaria El-BERRICHI Professeur, Université de Djillali Liabès Sidi Bel- Examinateur
Abbes
Mr. Mohamed Fayçal KHELFI Professeur, Université d’Oran 1, Ahmed BenBella Examinateur
Mr. Ghalem BELALEM Professeur, Université d’Oran 1, Ahmed BenBella Invité
Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les
travaux de cette thèse.
Je tiens à exprimer toute ma profonde gratitude, mes remerciements les plus vifs et mes
reconnaissances les plus sincères à Monsieur Bouziane BELDJILALI, Professeur à
l’Université d’Oran1, Ahmed BenBella, pour m’avoir encadré, aidé et soutenu durant ces
années de thèse. Je lui remercie aussi pour sa sagesse, sa patience, ses qualités humaines,
et surtout les précieux conseils et les connaissances dont il a su me faire profiter.
Enfin mes sincères remerciements à tous ceux qui m’ont encouragé, aidé et soutenu.
Résumé
Dans le cadre de cette thèse nous présentons des algorithmes pour résoudre des
problèmes liés à la logistique de distribution et de transport. Premièrement, nous
développons un algorithme en deux phases pour résoudre le problème de localisation-
routage avec contrainte de capacité en utilisant la recherche Tabou et le recuit simulé.
Ensuite, nous traitons le problème d’élaboration de tournées avec gestion de stock
multi-périodes, multi-produits et multi-véhicules en proposant un algorithme (appelé
GBH) basé sur la métaheuristique GRASP (Greedy Randomized Adaptive Search
Procedure). Pour améliorer la méthode GRASP classique, nous utilisons la recherche
Tabou comme recherche locale dans le GBH. Dans notre troisième contribution, nous
développons deux algorithmes pour faire face à une nouvelle variante du problème
d’élaboration de tournées des véhicules appelée le problème de routage de navettes et
de taxis (Coach Trip with Shuttle Service Problem, CTSSP). Le premier algorithme
est une recherche Tabou et le second est une méthode GRASP. Les expériences
montrent que les algorithmes proposés et comparés avec succès avec plusieurs
méthodes de la littérature donnent de meilleurs résultats.
ملخص
خالل هذه االطروحة اقترحنا بعض خوارزمٌات التقرٌبٌة لحل مشاكل التحسٌن فً السالسل اللوجستٌة حٌث
اوال قمنا باقتراح خوارزمٌة تقرٌبه من.كان اهتمامنا منصبا علً الجزء المتعلق بمشاكل النقل و التوزٌع
بحٌث المرحلة االولى كانت مخصصة لحل مشكلة التوجٌه،مرحلتٌن لحل مشكلة تحدٌد المواقع مع التوجٌه
باستعمال طرٌقة البحث طابو اما الثانٌة فكانت مخصصة لحل مشكلة تحدٌد المواقع باستعمال طرٌقة محاكاة
- ثانٌا قمنا باقتراح خوارزمٌة تقرٌبٌة من نوع غراسب لحل مشكلة التوجٌه مع تسٌٌر المخزون متعددة.الصلب
كما قمنا بتحسٌن هذه الخوارزمٌة عن طرٌق تعوٌض البحث،المنتجات-المراحل و متعددة-السٌارات متعددة
ثالثا قمنا بدراسة مشكلة توجٌه.المحلً الكالسٌكً (الذي ٌستعمل غالبا فً طرق الغراسب) بطرٌقة البحث طابو
بعد. خوارزمٌة من نوع طابو و خوارزمٌة من نوع غراسب:جدٌدة و اقترحنا خوارزمٌتٌن تقرٌبٌتٌن لحلها
اعطت الخوارزمٌات التً قمنا بتطوٌرها نتائج جٌدة و اثبتت كفاءتها بالمقارنة مع نظٌراتها المقترحات،تجربها
.سابقا فً اآلداب
طرٌقة، طرٌقة البحث غراسب، طرٌقة البحث طابو، الطرق التقرٌبٌة،ً التحسٌن التوافق:الكلمات المفتاحية
مشكلة، مشكلة تحدٌد المواقع مع التوجٌه، مشكلة التوجٌه، مشاكل النقل، السالسل اللوجستٌة،محاكاة الصلب
.التوجٌه مع تسٌٌر المخزون
Abstract
This thesis presents algorithms to solve distribution and transportation problems.
First, we develop a two-stage algorithm to solve the Capacitated Location Routing
Problem (CLRP) using the tabu search and the simulated annealing metaheuristics.
Second, we deal with the Multi-product Multi-vehicle Inventory Routing Problem
(MMIRP) and we propose a GRASP-based heuristic algorithm (Greedy Randomized
Adaptive Search Procedure). To enhance the classical algorithm, we use the tabu
search as a local search within the GRASP. Third, we develop two algorithms to deal
with a new variant of the vehicle routing problem called Coach Trip with Shuttle
Service Problem (CTSSP). The first algorithm is an improved tabu search and the
second is a GRASP. Experiments show that our algorithms report best results and
successfully compared with several methods from the literature.
Introduction générale 1
1 Contexte de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Problématiques et contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
3 Organisation de la thèse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
II
1.3.3 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4 Intégration entre les problèmes . . . . . . . . . . . . . . . . . . . . . . . . 13
[Link] Problème de localisation-routage (Location Routing Problem
(LRP)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
[Link] Problème de tournées avec gestion de stock (Inventory Routing
Problem (IRP)) . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Les outils pour l’optimisation de la chaîne logistique . . . . . . . . . . . . . . . . 16
1.4.1 Méthodes exactes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 Méthodes approchées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
[Link] Heuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
[Link] Metaheuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
[Link] Algorithmes à performance garantie . . . . . . . . . . . . . . . . 18
[Link] Approches hybrides . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
III
3.3 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 Hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.3 Le modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Méthodologie de solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.1 Vue générale sur l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.2 Prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.3 Solution initiale pour GBH . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Procédure gloutonne randomisée (GRP) . . . . . . . . . . . . . . . . . . . 45
[Link] Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
[Link] Les phases de GRP . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4.5 Recherche Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
[Link] Structure de voisinage . . . . . . . . . . . . . . . . . . . . . . . . 48
[Link] Le moteur de sélection . . . . . . . . . . . . . . . . . . . . . . . . 49
[Link] La liste Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.4.6 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.2 Jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.3 Résultats et comparaison avec B&C . . . . . . . . . . . . . . . . . . . . . 53
3.5.4 L’analyse du comportement de GBH . . . . . . . . . . . . . . . . . . . . . 58
3.5.5 Les résultats de GBH sur les instances de MMIRP-SD . . . . . . . . . . . 60
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
IV
4.4 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2 La procédure de génération de jeu de données . . . . . . . . . . . . . . . . 73
4.4.3 Les résultats de TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.4 La comparaison entre TS, GRASP et GRASP-LP . . . . . . . . . . . . . . 76
4.4.5 La méthode GRASP-LP sur les instances de VRP et d’OVRP . . . . . . . 76
[Link] La méthode GRASP-LP sur les instances de VRP . . . . . . . . 76
[Link] La méthode GRASP-LP sur les instances d’OVRP . . . . . . . . 77
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
Conclusion générale 79
Bibliographie 82
V
Table des figures
VI
Liste des tableaux
VII
Introduction générale
1 Contexte de la thèse
De nos jours, dans un environnement économique de plus en plus concurrentiel, l’optimisation
des chaînes logistiques occupe une place importante dans la vie industrielle des entreprises. Le
but étant l’amélioration de leur compétitivité en optimisant leurs performances et en réduisant
leurs coûts. En effet, la chaîne logistique englobe toutes les tâches réalisées pour la production
d’un service ou d’un produit, à savoir l’approvisionnement, la transformation, le stockage, et la
distribution. Bien que, la chaîne logistique englobe toutes ces tâches, des études ont montré que
les coûts de transport et de distribution constituent le tiers des coûts opérationnels d’une chaîne
logistique [77, 54]. Par conséquence, depuis plusieurs années, un nombre croissant d’entreprises
et de chercheurs constatent les bénéfices de l’optimisation de la logistique de distribution et de
transport, et elle est devenu un challenge majeur pour eux. En fait, la logistique de distribution
et de transport a trois activités principales, à savoir la localisation des infrastructures (des dépôts
et des centres de distribution), l’élaboration des tournées de véhicules afin de livrer les produits
aux clients et la gestion de stock. L’optimisation des systèmes de distribution consiste à résoudre
les problèmes liés à chaque activité.
2 Problématiques et contributions
Dans le cadre de cette thèse nous nous intéressons à l’étude et à la résolution de trois problèmes
d’optimisation dans le contexte de la logistique de distribution et de transport en proposant des
méthodes approchées. Le premier problème est une variante du problème de localisation-routage
1
3. Organisation de la thèse
où une contrainte de capacité est imposée et on s’intéresse en particulier au cas de grande échelle.
Le deuxième problème est une variante du problème de l’élaboration des tournées avec la gestion
de stock en considérant le cas de multi-véhicules et multi-produits. Enfin, dans le troisième cas
d’étude, nous nous intéressons à un cas réel d’un problème de transport de personnel, qui est
considéré comme une nouvelle variante du problème de l’élaboration des tournées de véhicules.
Ces travaux ont fait l’objet de deux publications et une communication :
3. O. Guemri, A. Bekrar (2015). An improved Tabu Search heuristic Algorithm for the Coach
Trip with Shuttle Service Problem. 4th Meeting of the EURO Working Group on Vehi-
cle Routing and Logistics Optimization, Vienne, juin 2015. Invited talk as finalist of the
VeRoLog Solver challenge 2015.
3 Organisation de la thèse
Cette thèse est organisée en 4 chapitres:
Dans le premier chapitre, nous présentons un état de l’art sur la chaîne logistique en général et
la logistique de distribution et de transport en particulier. Nous allons nous concentrer sur les trois
activités décrites ci-dessus en donnant une définition détaillée avec une formulation mathématique
et en explicitant les variantes les plus connues de chaque problème. Enfin, nous terminerons ce
chapitre en décrivant les outils utilisés pour la résolution des problèmes d’optimisation des chaînes
logistiques.
Dans le troisième chapitre, nous allons étudier le problème de routage avec gestion de stock
multi-périodes, multi-produits et multi-véhicules en développant une heuristique de type GRASP.
Cette méthode se compose de deux phases : une heuristique gloutonne randomisée utilisée pour
construire une solution faisable de bonne qualité et une recherche locale. Comme recherche locale
dans le GRASP, nous allons utiliser la métaheuristique recherche Tabou.
Dans le quatrième chapitre, nous présenterons une contribution pour une nouvelle variante
du problème d’élaboration des tournées de véhicules à savoir le problème de routage de navettes
et de taxis. Il s’agit d’un problème industriel qui concerne le transport de personnel. Le but
est de transporter un ensemble de passagers depuis leurs arrêts de bus vers un dépôt central en
2
3. Organisation de la thèse
utilisant une flotte de véhicules hétérogènes. Pour résoudre le problème, nous proposerons deux
méthodes, à savoir une recherche Tabou et une méthode de type GRASP.
Enfin, nous terminerons cette thèse avec une conclusion générale par rapport aux résultats
obtenus et un ensemble de perspectives pour des futurs travaux.
3
Chapitre 1
Sommaire
1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 La chaîne logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 Objectifs et enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 Structure générale d’une chaîne logistique . . . . . . . . . . . . . . . . . 5
1.2.4 Niveaux de décisions dans une chaîne logistique . . . . . . . . . . . . . . 6
1.3 Le transport et la distribution dans la chaîne logistique . . . . . . . 6
1.3.1 Problème de localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2 Le problème de tournées de véhicules . . . . . . . . . . . . . . . . . . . . 9
1.3.3 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4 Intégration entre les problèmes . . . . . . . . . . . . . . . . . . . . . . . 13
1.4 Les outils pour l’optimisation de la chaîne logistique . . . . . . . . . 16
1.4.1 Méthodes exactes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4.2 Méthodes approchées . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.1 Introduction
Comme nous l’avons mentionné dans l’introduction générale, dans le cadre de cette thèse
nous nous intéressons à l’optimisation des chaînes logistiques, particulièrement aux problèmes
d’optimisation liés à la logistique de distribution et de transport. Dans ce premier chapitre nous
présentons les différents problèmes de base qui constituent le noyau de la thématique étudiée
dans cette thèse. En effet, nous divisons ce chapitre en trois parties. Dans la première partie,
nous décrivons la chaîne logistique en exposant ses définitions, sa structure générale, etc. Puis,
dans la deuxième partie, nous nous intéressons à la logistique de distribution. Nous présentons les
trois problèmes principaux inhérents à cette partie de la chaîne logistique, à savoir le problème
de localisation de dépôts, le problème d’élaboration des tournées de véhicules et le problème de
gestion de stock. Nous présentons également les deux problèmes intégrés, à savoir le problème
4
1.2. La chaîne logistique
5
1.3. Le transport et la distribution dans la chaîne logistique
vente des produits finis. Dans la figure 1.1 nous présentons un exemple d’une chaîne logistique
en indiquant l’emplacement de chaque fonction dans la chaîne [40].
• Décisions stratégiques : ce sont les décisions les plus importantes qui permettent de dessiner
la structure générale de la chaîne logistique : la localisation des infrastructures (l’ouverture
et la fermeture des usines, des dépôts etc.), le choix des partenaires et des fournisseurs et
enfin, le choix de mode de transport et des différentes technologies.
• Décisions tactiques : leurs influences portent sur un horizon d’une semaine jusqu’à un
mois. A titre d’exemples pour les décisions de ce niveau : l’allocation des clients aux en-
trepôts, l’affectation des produits aux sites de production et la planification des processus
de production.
• Décisions opérationnelles : leurs influences portent sur un horizon d’un jour jusqu’à une
semaine : l’élaboration des tournée de véhicules pour livrer les produits aux clients,
l’affectation des ressources aux tâches au sein des unités de production etc.
6
1.3. Le transport et la distribution dans la chaîne logistique
de distribution, la gestion de stock et enfin l’élaboration des tournées de véhicules pour livrer
les produits aux clients. Donc, l’optimisation des systèmes de distribution consiste à résoudre
l’ensemble des problèmes liés à ces fonctions. Dans ce qui suit, nous allons d’abord définir chaque
problème de manière séparée. Ensuite, nous allons montrer l’utilité de considérer ces problèmes en
les intégrant les uns aux autres. Enfin, nous présentons deux problèmes issus de cette intégration,
à savoir le problème de localisation-routage et le problème d’élaboration des tournées avec gestion
de stock.
• N : l’ensemble de clients;
• xij : variable binaire qui est égale à 1 si le client j est affecté au dépôt i.
L’UFLP est modélisé sous la forme du programme linéaire en nombres entiers suivant:
X X X
min z = cij xij + fi yi (1.1)
i∈M j∈N i∈M
xij ≤ yj ∀j ∈ N ∀i ∈ M (1.3)
xij ≥ 0 ∀j ∈ N ∀i ∈ M (1.4)
7
1.3. Le transport et la distribution dans la chaîne logistique
yi = {0, 1} ∀i ∈ M (1.5)
La fonction objectif (1.1) consiste à minimiser le coût total décrit ci-dessus. La contrainte
(1.2) impose à chaque client d’être affecté à un seul dépôt. La contrainte (1.3) oblige à ce que
chaque client j ne puisse être servi par le dépôt i si et seulement si ce dépôt est ouvert (c’est-à-dire
si yi = 1). Les contraintes (1.4) et (1.5) assurent l’intégrité sur les variables yi et xij .
8
1.3. Le transport et la distribution dans la chaîne logistique
• G = (S, A) est un graphe où S = {0, ..., n} est l’ensemble de sommets où le sommet 0 est
le dépôt central et le reste des sommets sont les clients (S 0 = S − {0}). A = {(i, j) i, j ∈ S
et i 6= j} est l’ensemble des arcs reliant les sommets,
XX X
min z = cij xijk (1.6)
i∈S j∈S k∈K
9
1.3. Le transport et la distribution dans la chaîne logistique
X X
xipk − xpjk = 0 ∀p ∈ S 0 , k ∈ K (1.9)
i∈S j∈S
X
xi0k ≤ 1 ∀k ∈ K (1.10)
i∈S 0
X
x0jk ≤ 1 ∀k ∈ K (1.11)
j∈S 0
3. Problème de tournées de véhicules avec fenêtres de temps (Vehicle Routing Problem with
Time Windows (VRPTW))
Le VRPTW est un VRP où une contrainte temporelle est imposée. En effet, dans le VRP
un véhicule peut visiter un client à n’importe quel moment. Cependant, dans le VRPTW
un véhicule ne peut visiter un client que dans un intervalle de temps bien précis, c’est ce
que l’on appelle une fenêtre de temps.
10
1.3. Le transport et la distribution dans la chaîne logistique
7. Problème de tournées de véhicules avec multi-tournées pour chaque véhicule (Le Vehicle
Routing Problem with Multiple Trips (VRPMT))
La différence entre le VRP et le VRPMT réside dans le fait que dans le VRPMT un
véhicule peut faire plusieurs tournées, c’est-à-dire, dans un horizon de planification avec
plusieurs périodes et lorsque nous disposons d’une flotte de véhicules limitée, un véhicule
peut faire, dans une même période, plusieurs tournées en tenant compte d’une durée max-
imale d’utilisation par période.
10. Problème de tournées de véhicules avec une flotte hétérogène (Heterogeneous Fleet Vehicle
Routing Problem (HVRP))
Dans le VRP nous disposons d’une flotte de véhicules homogènes. Cependant dans le
HVRP, nous disposons d’une flotte de véhicules ayant des caractéristiques différentes. Les
véhicules peuvent être différenciés par : leurs capacités, leurs coûts de routage, leurs coûts
d’utilisation, etc.
11
1.3. Le transport et la distribution dans la chaîne logistique
11. Problème de tournées de véhicules avec sélection (Selective Vehicle Routing Problem
(SVRP))
On rencontre le SVRP lorsque nous disposons d’une flotte de véhicules avec une capacité qui
n’est pas suffisante pour satisfaire toutes les demandes des clients. Donc, nous ne pouvons
servir qu’un sous-ensemble de clients sélectionnés à partir de l’ensemble des clients.
12. Problème de tournées de véhicules avec livraison et ramassage (Vehicle Routing Problem
with Pickup and Delivery (VRPPD))
Comme pour le VRP, le problème VRPPD consiste à élaborer un ensemble de tournées
pour satisfaire les demandes de clients. Cependant dans le VRPPD, nous distinguons deux
types de demande : la livraison d’un produit et le ramassage d’un produit.
13. Problème de tournées de véhicules avec retours (Vehicle Routing Problem with backhauls
(VRPB))
Comme pour le VRPPD, dans cette variante nous distinguons deux types de clients : des
livreurs où le véhicule doit faire un ramassage et des receveurs où le véhicule doit faire
une livraison. Cependant la différence entre les deux variantes est que dans le VRPB nous
visitons tous les receveurs avant de visiter les livreurs.
14. Problème de tournées de véhicules avec distribution partagée (Split Delivery Vehicle Routing
Problem (SDVRP))
On rencontre le SDVRP lorsqu’on a des demandes de clients qui sont supérieures à la
capacité du véhicule. Dans ce cas, chaque client peut être servi une ou plusieurs fois selon
le besoin, c’est-à-dire, le client peut être affecté à une ou plusieurs tournées.
• Le type de produit : par exemple dans le cas des produits périssables, nous devons assurer
un acheminement rapide et un stockage dans les bonnes conditions de conservation.
En tenant compte de ces deux facteurs, nous devons assurer une bonne gestion de stock.
12
1.3. Le transport et la distribution dans la chaîne logistique
• V = I ∪ J : l’ensemble de sommets
• fij : une variable binaire qui est égale 1 si le client j est servi à partir du dépôt i.
• xijk : une variable binaire qui est égale 1 si le véhicule k va directement du site i au site j.
Le problème LRP peut être modélisé par le programme linéaire en nombres entiers suivant:
La fonction objectif:
X XX X
min z = Oi yi + cij xijk (1.14)
i∈I i∈V j∈V k∈K
13
1.3. Le transport et la distribution dans la chaîne logistique
XX
xijk ≤ |S| − 1 ∀S ⊆ J, ∀k ∈ K (1.18)
i∈S j∈S
X X
xiuk + xujk ≤ 1 + fij ∀i ∈ I, ∀j ∈ J, ∀k ∈ K (1.19)
u∈J u∈V −(j)
• T = {1, ..., p} est l’ensemble des périodes, avec p la longueur de l’horizon de temps.
• Iit et I0t sont les niveaux de stocks des clients et du fournisseur, respectivement; à la fin de
la période t ∈ T .
• Q : La capacité du véhicule.
14
1.3. Le transport et la distribution dans la chaîne logistique
• xtij est le nombre de fois où l’arc (i, j) (avec i ∈ j) est traversé par le véhicule dans la
période t.
Le problème IRP peut être modélisé par le programme linéaire en nombres entiers suivant:
La fonction objectif:
XX X X X
min hi Iit + cij xtij (1.23)
i∈V t∈T i∈V j∈V,i<j t∈T
X
qit ≤ Q t∈T (1.30)
i∈V 0
X
qit ≤ Qy0t t∈T (1.31)
i∈V
X X
xtij + xtji = 2yit i∈V0 t∈T (1.32)
j∈V 0 ,i<j j∈V 0 ,i>j
X X X
xtij ≤ yit − ygt S⊆V t∈T g∈S (1.33)
i∈S j∈S,i<j i∈S
15
1.4. Les outils pour l’optimisation de la chaîne logistique
16
1.4. Les outils pour l’optimisation de la chaîne logistique
considéré. Donc, ces techniques restent inappropriées aux problèmes combinatoires de grandes
tailles [42]. Comme exemple de ces méthodes, nous pouvons citer : la programmation dynamique,
la génération de colonne, l’algorithme A*, les algorithmes de type : branch & bound, branch &
cut, branch & price, etc.
[Link] Heuristiques
Dans la littérature, il existe plusieurs définitions d’une heuristique, ici nous présentons celle de
Feigenbaum et Feldman (1963) [38] : "Une heuristique (règle heuristique, méthode heuristique)
est une règle d’estimation, une stratégie, une astuce, une simplification, ou tout autre type de
dispositif qui limite considérablement la recherche de solutions dans des espaces problématiques
importants. Les heuristiques ne garantissent pas des solutions optimales. En fait, elles ne garan-
tissent pas une solution du tout. Tout ce qui peut être dit d’une heuristique utile, c’est qu’elle
propose des solutions qui sont assez bonnes la plupart du temps".
En outre, dans le domaine de l’optimisation combinatoire on peut dire qu’une heuristique est
une méthode approchée développée pour résoudre un problème particulier et elle nécessite des
connaissances approfondies sur le problème traité. Le but d’une heuristique est de trouver de
bonnes solutions (pas forcement optimales) pour un problème donné dans un temps d’exécution
très réduit. Les méthodes constructives représentent un bon exemple des heuristiques.
[Link] Metaheuristiques
Selon Osman et Laporte (1996) [79]: "une métaheuristique est un processus itératif qui subor-
donne et guide une heuristique, en combinant intelligemment plusieurs concepts pour explorer et
exploiter tout l’espace de recherche. Des stratégies d’apprentissage sont utilisées pour structurer
l’information afin de trouver efficacement des solutions optimales, ou presque-optimales".
Généralement, une heuristique est un algorithme développé pour résoudre un problème spé-
cifique. Cependant, une métaheuristique est une stratégie générale qu’on peut appliquer pour
résoudre un grand nombre de problèmes d’optimisation. Comme par exemple : l’heuristique de
saving est une heuristique développée que pour résoudre le VRP. Cependant, on peut utiliser la
recherche Tabou (metaheuristique) pour résoudre le VRP comme on peut l’utiliser pour résoudre
d’autres problèmes. Dans la littérature, de nombreuses métaheuristiques ont été proposées qui
peuvent être subdivisées en deux grandes familles : les méthodes de recherche locale (à base de
solution unique) et les méthodes de recherche globale (à base d’une population de solutions). Ces
deux familles sont décrites ci-dessous.
17
1.5. Conclusion
• L’hybridation entre les méthodes approchées, par exemple : l’hybridation entre les méta-
heuristiques basées population et les méthodes de recherche locale.
• L’hybridation entre les méthodes approchées et les méthodes exactes, soit en utilisant une
méthode approchée pour calculer une borne inferieure et/ou supérieure pour un algorithme
exact ou bien en utilisant un algorithme exact pour résoudre un sous-problème au sein d’une
méthode approchée (Mat-heuristiques).
1.5 Conclusion
Dans ce chapitre nous avons présenté les problèmes d’optimisation liés à la logistique de distribu-
tion et de transport et qui constituent le noyau des problèmes étudiés dans cette thèse. D’abord
nous avons présenté un aperçu sur les chaînes logistiques, ensuite nous avons décrit en détail
les trois problèmes de base de la logistique de distribution et de transport logistique, à savoir le
problème de localisation, le problème d’élaboration des tournées de véhicules et le problème de
18
1.5. Conclusion
gestion de stock. Ainsi, nous avons donné un aperçu sur les deux problèmes résultant en com-
binant deux problèmes de base, à savoir le problème de localisation-routage et le problème de
routage avec gestion de stock. Enfin, nous avons consacré la dernière partie de ce chapitre pour
donner une vue générale sur les outils d’optimisation des chaînes logistiques.
Dans le chapitre suivant nous allons étudier le problème de localisation-routage avec con-
trainte de capacité en proposant une heuristique de résolution.
19
Chapitre 2
Sommaire
2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Un état de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Modèle mathématique pour le CLRP . . . . . . . . . . . . . . . . . . 23
2.4 Méthodologie de la solution . . . . . . . . . . . . . . . . . . . . . . . . 24
2.4.1 La première phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.2 La deuxième phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.3 Algorithme complet (2-SH) . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.2 Le jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.5.3 Résultats et discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2.1 Introduction
Le problème de localisation-routage (Location Routing Problem (LRP)) combine deux problèmes,
à savoir le problème de localisation et le problème d’élaboration des tournées. Ce problème
consiste à choisir un sous-ensemble de dépôts à ouvrir parmi un ensemble de dépôts candidats,
et à élaborer des tournées de véhicules afin de satisfaire les demandes des clients avec comme
objectif d’optimiser un ou plusieurs critères tout en respectant certaines contraintes. Dans la
littérature, de nombreuses variantes du problème de localisation-routage ont été étudiées. Dans
notre étude nous traitons le problème de localisation-routage avec contrainte de capacité sur les
véhicules (Capacitated Location Routing Problem (CLRP)).
Dans ce chapitre, nous allons présenter un nouvel algorithme pour résoudre le problème
CLRP à grande échelle. Notre objectif est de trouver des solutions de bonne qualité pour des
instances de grande taille et avec un temps de calcul raisonnable. Pour cela, nous proposons une
20
2.2. Un état de l’art
méthode composée de deux grandes phases. Dans la première phase, une heuristique d’insertion
est appliquée pour trouver une tournée géante non-fermée, puis nous divisons cette tournée en
plusieurs routes tout en respectant la contrainte de capacité du véhicule. Le coût de chaque route
est amélioré en utilisant la recherche Tabou (Tabu Search (TS)) afin de construire un ensemble
de routes avec des coûts minimaux. Dans la seconde phase, notre objectif est de déterminer un
ensemble de dépôts à ouvrir, et d’affecter chaque route à un de ces dépôts. Pour cela, nous allons
utiliser une procédure de recuit simulé [49].
Dans ce qui suit, nous donnons un aperçu global de la littérature sur le problème CLRP
et nous présentons la formulation mathématique du problème. Puis, l’algorithme proposé est
présenté. Ensuite, l’évaluation numérique et les résultats obtenus par l’algorithme proposé sont
présentées.
21
2.2. Un état de l’art
22
2.3. Modèle mathématique pour le CLRP
échelle. La méthode proposée est basée sur la méta-heuristique d’optimisation partielle en con-
ditions d’intensifications spéciales (POP-MUSIC). Au début, l’algorithme cherche un ensemble
de dépôts à ouvrir en résolvant le problème p-médian (p-median problem) pour un échantillon
de clients. Tous ces clients sont alors affectés à ces centres en construisant des clusters. Ensuite,
l’algorithme utilise la méthode du gradient pour diviser chaque super-cluster, de la première
étape, tout en respectant la capacité du véhicule. Afin de réduire la violation de la capacité du
véhicule, la méthode du gradient est renforcée par une recherche locale. Enfin, après la construc-
tion de la solution initiale, les auteurs ont proposé une méthode de recherche Tabou, qui est
similaire à celle présentée par Taillard (1993) [95], comme une procédure d’amélioration dans le
Framework de POPMUSIC.
Dans l’état de l’art de Nagy et Salhi (2007) [78], les auteurs ont résumé les travaux pour
de nombreuses variantes de CLRP. Enfin, plus récemment, Drexl et Schneider (2013) [34] et
Prodhon et Prins (2014) [86] présentent un état de l’art des travaux récemment proposés pour
le LRP.
• Chaque client doit être servi par un seul véhicule lorsque sa demande est inférieure à la
capacité du véhicule et servi par deux véhicules, sinon [52].
• Chaque route doit commencer et se terminer au même dépôt ouvert et sa charge doit être
inférieure ou égale à la capacité du véhicule.
Le CLRP est défini sur un graphe complet G = (V, E), où V est l’ensemble des sommets
représentant les dépôts candidats I et les clients J (V = J ∪ I), et E est l’ensemble des arcs
reliant tous les sommets. En outre, à chaque arc (i, j) ∈ E, un coût de transport symétrique
cij est associé. La flotte K est composée d’un nombre illimité de véhicules homogènes et chaque
véhicule possède une capacité Q et un coût fixe d’utilisation F . Ainsi, à chaque dépôt candidat
i ∈ I est associé une capacité Pi et un coût d’ouverture Oi . En plus, chaque client j ∈ J possède
une demande dj connue à l’avance. Les variables de décisions sont des variables binaires où :
yi = 1 si le dépôt i est ouvert, fij = 1 si le client j est servi à partir du dépôt i et xijk = 1 si le
véhicule k va directement du sommet i au sommet j. Enfin, le CLRP considéré peut être formulé
comme suit:
X XX X X XX
min z = Oi yi + cij xijk + F xijk (2.1)
i∈I i∈V j∈V k∈K k∈K i∈I j∈J
23
2.4. Méthodologie de la solution
X
dj fij ≤ Pi yi ∀i ∈ I (2.4)
j∈J
X X
xijk − xjik = 0 ∀i ∈ V, ∀k ∈ K (2.5)
j∈V j∈V
XX
xijk ≤ 1 ∀k ∈ K (2.6)
i∈I j∈J
XX
xijk ≤ |S| − 1 ∀S ⊆ J, ∀k ∈ K (2.7)
i∈S j∈S
X X
xiuk + xujk ≤ 1 + fij ∀i ∈ I, ∀j ∈ J, ∀k ∈ K (2.8)
u∈J u∈V −(j)
24
2.4. Méthodologie de la solution
aucune boucle itérative, de même que les méthodes exactes et les solveurs ne sont pas utilisés.
L’algorithme proposé se compose de deux grandes phases qui sont exécutées séquentiellement.
La première phase est une heuristique d’insertion suivie par une procédure de recherche Tabou
(Tabu Search (TS)) dans laquelle un ensemble de routes de coût minimal est construit. Dans la
deuxième phase, le recuit simulé est utilisé pour déterminer un sous-ensemble de dépôts à ouvrir
et pour affecter chaque route à un de ces dépôts. Dans ce qui suit, toutes ces procédures sont
décrites en détail.
• I_G : une séquence de clients (liste) qui construit une tournée non-fermée, initialement
vide;
Au début, deux clients sont sélectionnés aléatoirement à partir de I_L. Ils sont retirés de I_L
et insérés dans I_G. Ensuite, à chaque itération, nous cherchons la meilleure insertion possible,
c’est-à-dire, nous évaluons le coût généré par l’insertion de chaque client non servi (les clients
dans la liste I_L) dans toutes les positions possibles dans I_G. Le candidat qui donne le coût
minimal est sélectionné et est inséré dans I_G. Ce processus est répété jusqu’à ce que tous les
25
2.4. Méthodologie de la solution
clients soient insérés dans I_G. En outre, la procédure de séparation est appliquée à I_G pour
construire un ensemble de routes faisables (L_R). Dans la procédure de séparation, la séquence
des clients dans I_G est respectée, et la somme des demandes des clients dans chaque route doit
être inférieure ou égale à la capacité du véhicule. En plus, chaque client avec une demande qui
dépasse la capacité du véhicule est servi par deux véhicules; dans le premièr véhicule, le client
est servi par la capacité totale du véhicule, et le reste de la demande est servi avec les autres
clients dans la séquence de I_G [52]. HI est décrite en détail dans l’algorithme 1.
26
2.4. Méthodologie de la solution
un certain nombre de clients. Ici notre but est de créer, à partir d’une tournée non-fermée,
une tournée fermée ou bien un TSP-tour pour qu’elle puisse être utilisée comme une solution
initiale par la TS. Dans la littérature, plusieurs heuristiques ont été utilisées pour fournir
une solution initiale pour la TS [11]. Dans le 2-SH, nous utilisons l’heuristique du Plus
Proche Voisin (PPV). A partir d’une tournée initiale qui contient un seul client, à chaque
itération, la procédure PPV trouve le client non servi le plus proche et l’insère dans la
tournée. Ces étapes sont répétées jusqu’à ce que tous les clients concernés soient insérés.
La méthode TS proposée exécute les trois mouvements ci-dessus comme suit : la structure
de voisinage est construite par le shift et le swap si le coût de la meilleure solution est
amélioré dans les T _N I dernières itérations, sinon le Random-shift est appliqué.
4. Mémoire à court terme. La mémoire à court terme, appelée aussi la liste Tabou
(T _List), est une liste qui contient les solutions interdites dans l’itération courante.
L’objectif de la liste Tabou est d’empêcher l’heuristique de tomber dans des cycles à court
terme. La longueur de cette liste est T _L. Dans notre cas, nous utilisons la technique la
plus simple, après la construction de la structure de voisinage, toutes les solutions Tabous
sont supprimées et ensuite la meilleure parmi le reste est choisie pour être la nouvelle
solution courante.
L’heuristique Tabou proposée ci-dessus est un peu moins performante que les méthodes de
la littérature (en terme de la qualité de solutions) mais elle est plus rapide. En effet, cette
caractéristique est importante pour réduire les temps de calcul de la méthode 2-SH, car la TS
va être exécutée plusieurs fois.
27
2.4. Méthodologie de la solution
28
2.4. Méthodologie de la solution
différence θ est calculée entre le coût de la solution courante L_Sc et le coût de la meilleure
solution dans la structure de voisinage L_Sc1 (θ ←Cost(L_Sc1 )−Cost(L_Sc)). Si le coût de la
meilleure solution du voisinage (L_Sc1) est meilleur que le coût la solution courante (L_Sc),
alors la solution courante est remplacée par L_Sc1; sinon la solution L_Sc1 est acceptée avec
une probabilité égale à e−θ/pr (pr est un nombre entier, représentant la température dans le
phénomène physique). Ces étapes sont répétées jusqu’à ce qu’un critère d’arrêt est atteint. En
plus, lorsque l’algorithme progresse, le pr est réduit en utilisant un facteur ρ (ρ < 1), appelé
fonction de refroidissement, pr ← pr × ρ. En outre, afin de renforcer la convergence de SA, une
procédure d’insertion est utilisée pour générer une solution initiale de bonne qualité.
Dans ce qui suit, les parties principales de la SA sont décrites, à savoir : l’heuristique
d’insertion, la représentation de la solution, l’évaluation des voisins et l’exploration du voisi-
nage. Enfin, la SA est décrite en détail dans l’algorithme 3.
Dans (2.12), R1 est un sous-ensemble de clients où le dépôt i est le plus proche parmi tous
les dépôts candidats. Donc, le meilleur dépôt est celui qui a la plus faible valeur de H. Les
étapes de l’heuristique IHU sont les suivantes:
29
2.4. Méthodologie de la solution
vecteur V S et deux matrices (AS, SM ). Dans ce qui suit nous expliquons comment elles
sont utilisées.
Rappelons d’abord que m est le nombre de clients, et n est le nombre des dépôts. La solution
est représentée comme un vecteur V S = {vs1 , ..., vsn } de variables binaires, vsi égale à 1
si le dépôt i est ouvert. Parce qu’il n’y a pas de contrainte de capacité sur les dépôts, il
est évident que chaque client j est affecté au dépôt le plus proche i (évidement parmi les
dépôts ouverts) et le coût de cette affectation est égal à Lij . Pour améliorer l’efficacité
de l’algorithme, une matrice d’affectation AS est proposée. Cette matrice contient, pour
chaque client, le dépôt auquel le client est affecté et le coût de cette affectation. Par ailleurs,
la matrice statique SM contient, pour chaque client i, la liste de tous les dépôts candidats
dans l’ordre croissant du coût d’affectation Lij . La figure 2.1 montre un exemple d’une
solution d’UFLP avec 4 dépôts candidats et 6 clients, et sa représentation.
• V S = {0, 1, 0, 1}
client dépôt coût
1 2 8
2 2 7.6
• AS = 3 2 8.3
4 2 7.5
5 4 8
6 4 6
client dépôts
1 1 2 3 4
2 1 2 3 4
• SM = 3 3 2 1 4
4 3 2 4 1
5 3 4 2 1
6 4 3 2 1
30
2.5. Expérimentation
d’une manière incrémentale à partir du coût de la solution courante, c’est-à-dire, juste une
mise à jour des coûts est faite comme suit :
• Si un nouveau dépôt i est ouvert, alors vsi ← 1 et le coût de la solution sera augmenté
par Oi . La complexité de cette procédure de mise à jour est en O (1). Ensuite, pour
chaque client j, si son coût d’affectation ASj,3 est supérieure à Lij , alors j sera affecté
à i, son nouveau coût d’affectation sera Lij et le coût de la solution sera diminué de
ASj,3 − Lij . Il est clair que la complexité de cette boucle est en O(m). Finalement, la
complexité algorithmique de cette procédure de mise à jour est en O(m).
• Dans l’autre cas, si un dépôt i0 est fermé, alors vsi0 ← 0 et le coût de la solution sera
diminué de Oi0 . La complexité de cette mise à jour est en O (1). En plus, pour chaque
client j affecté à i0 , nous cherchons dans SM le premier dépôt ouvert i00 . Donc, j sera
affecté à i00 et le coût de la solution sera augmenté par la valeur Li00 j − ASj,3 . En
effet, il est difficile d’estimer exactement la complexité de cette procédure, mais dans
le meilleur des cas cette procédure est en O (1), lorsque le dépôt fermé n’a qu’un seul
client et le dépôt suivant dans SM [j] est ouvert. Le pire des cas est celui où tous les
clients sont affectés au dépôt fermé et un seul autre dépôt est ouvert, et ce dépôt est
le plus loin de tous les clients, à savoir le dernier à SM pour tous les clients. Dans ce
cas, la complexité de la procédure est O (m × n). Expérimentalement, cette procédure
est très proche de son meilleur des cas.
En effet, le SWAP est un mouvement qui consomme beaucoup de temps de calcul [94]. Par
conséquence, à chaque itération seulement les mouvements ADD et DROP sont utilisés
pour créer la structure de voisinage L_N (L_Sc).
2.5 Expérimentation
Dans cette section, nous allons présenter les résultats obtenus par l’algorithme proposé 2-SH.
Dans la littérature, plusieurs jeux d’essai ont été proposés pour le CLRP avec des instances de
31
2.5. Expérimentation
32
2.5. Expérimentation
petites et moyennes taille (un maximum de 20 dépôts candidats et 200 clients). En effet, ces
instances ne sont pas considérées comme des problèmes de grande taille [52, 86].
Pour le CLRP à grande échelle, nous avons le jeu de d’essai de Harks et al. (2013) [52] avec un
maximum de 1.000 dépôts candidats et 10.000 clients. Parce que l’approche 2-SH est développée
particulièrement pour résoudre le CLRP à grande échelle, nous avons choisi ces instances pour
tester notre algorithme.
L’algorithme 2-SH a été implémenté en Java. Toutes les expériences ont été réalisées sur un
PC équipé d’un processeur Intel i7 à 2.5 GHz et dispose d’une mémoire de 32Go. Pour tester
les performances de notre approche 2-SH, le jeu de d’essai standard de Harks et al. (2013) [52]
est utilisé, et les résultats obtenus sont comparés avec les meilleurs solutions connues et fournies
par les méthodes proposées de la littérature. Ces instances et les meilleurs solutions connues sont
téléchargeables sur le site [1]. Dans ce qui suit, nous allons tout d’abord présenter les paramètres
utilisés pour l’algorithme, ensuite le jeu de d’essai est exposé. Enfin, les résultats obtenus par
l’approche 2-SH sont présentés, comparés et discutés.
33
2.5. Expérimentation
inst #dep #cl avg dem avg [Link]ût [Link] BKS borne inférieure
M 1,1 1000 100 5.04 47.938 9 13478.9 8800.8
M 1,2 1000 100 5.04 47.938 100 3499.05 2096.7
M 1,3 1000 100 5.04 47.938 1000 2478.9 2096.3
M 2,1 1000 100 5.04 147.937 9 17997 12166.6
M 2,2 1000 100 5.04 147.937 100 4468.74 2288.8
M 2,3 1000 100 5.04 147.937 1000 2620.84 2151.6
M 3,1 1000 100 5.04 343.814 9 22926.8 15432.2
M 3,2 1000 100 5.04 343.814 100 5345.92 2938.7
M 3,3 1000 100 5.04 343.814 1000 2779.25 2203.4
L 1,1 5000 500 4.97 49.136 9 32325.9 17502
L 1,2 5000 500 4.97 49.136 100 8106.1 4607
L 1,3 5000 500 4.97 49.136 1000 5463.71 4607
L 2,1 5000 500 4.97 149.136 9 50229.7 29519.6
L 2,2 5000 500 4.97 149.136 100 12059.5 5946.5
L 2,3 5000 500 4.97 149.136 1000 6624.78 4659.4
L 3,1 5000 500 4.97 347.409 9 63905.1 38728.3
L 3,2 5000 500 4.97 347.409 100 14372.4 7515.9
L 3,3 5000 500 4.97 347.409 1000 6966.54 4709.4
XL 1,1 10000 1000 5.024 49.36 9 48677.1 25449.7
XL 1,2 10000 1000 5.024 49.36 100 11872 6494.6
XL 1,3 10000 1000 5.024 49.36 1000 7754.66 6494.6
XL 2,1 10000 1000 5.024 149.36 9 77580.6 46601.8
XL 2,2 10000 1000 5.024 149.36 100 18159.1 9253.7
XL 2,3 10000 1000 5.024 149.36 1000 9296.1 6550.3
XL 3,1 10000 1000 5.024 348.09 9 101454 60461.3
XL 3,2 10000 1000 5.024 348.09 100 21341.5 11838.1
XL 3,3 10000 1000 5.024 348.09 1000 10389.9 6600.5
clients, 1.000 dépôts) avec 9 instances dans chaque groupe. Les instances de même groupe sont
divisées en trois types, à savoir le type 1, 2 et 3 avec trois instances pour chaque type. Dans
les instances de type 1 (respectivement 2 et 3), le coût d’ouverture de chaque dépôt est choisi
uniformément dans l’intervalle [0; 100] (respectivement [100; 200] et [200; 500]). De plus, pour les
trois instances de même groupe et de même type, la capacité de véhicule est fixée à 9, 100, 1000
respectivement. Pour toutes les instances, les demandes des clients ont été choisies uniformément
dans l’intervalle [0; 10]. Le tableau 2.2 décrit ces instances. La première colonne présente le nom
de l’instance (inst), les colonnes deux et trois indiquent le nombre de dépôts candidats et le
nombre de clients respectivement (#dep et #cl respectivement). Les colonnes quatre et cinq
représentent la moyenne des demandes de tous les clients et la moyenne des coûts de tous les
dépôts (avg dem et avg [Link]ût respectivement), la colonne six indique la capacité des véhicules
([Link]). Enfin, les colonnes sept et huit représentent, respectivement, la valeur de la meilleure
solution connue (Best Known Solution (BKS)) et la borne inférieure.
34
2.5. Expérimentation
2-SH
inst #[Link] [Link]ût #route coût gap temps CPU
M 1,1 54 1739.94 723 12014.16 0.365 1.029
M 1,2 17 250.22 53 3470.34 0.655 0.921
M 1,3 5 24.62 6 2814.54 0.343 10.687
M 2,1 29 3854.43 728 15760.49 0.295 1.123
M 2,2 6 721.83 53 4494.11 0.964 0.981
M 2,3 1 113.571 6 3010.64 0.399 10.563
M 3,1 20 5597.3 728 19839.45 0.286 1.029
M 3,2 5 1164.54 53 5207.41 0.436 0.937
M 3,3 1 208.04 6 3156.59 0.433 10.546
L 1,1 201 5684.61 3592 29538.07 0.688 64.758
L 1,2 63 693.83 256 8176.03 0.775 19.626
L 1,3 16 46.67 25 6228.35 0.352 66.52
L 2,1 102 13181.188 3599 43496.52 0.474 64.305
L 2,2 20 2296.34 258 11551.58 0.943 19.392
L 2,3 5 552.973 25 7058.20 0.515 68.579
L 3,1 66 17422.29 3578 54976.58 0.420 63.76
L 3,2 13 2890.25 257 13426.15 0.786 19.689
L 3,3 3 638.934 25 7467.20 0.586 65.927
XL 1,1 353 8359.69 7227 43939.78 0.727 179.044
XL 1,2 119 1010.42 520 11867.27 0.827 88.969
XL 1,3 40 120.38 51 8823.95 0.359 160.744
XL 2,1 168 21270.64 7215 68118.70 0.462 170.62
XL 2,2 34 3757.45 520 17638.79 0.906 88.985
XL 2,3 9 910.40 51 10172.31 0.553 162.522
XL 3,1 106 26572.69 7232 85509.48 0.414 177.562
XL 3,2 23 5231.12 519 20659.67 0.745 89.093
XL 3,3 6 1291.62 51 10897.51 0.651 167.126
Moyenne 19853.59 0.569 65.74
35
2.5. Expérimentation
Approx Approx-LKH
Inst #[Link] [Link]ût #route coût gap CPU coût gap CPU
M 1,1 33 779.4 757 13563.4 0.541 0.47 13478.9 0.532 0.55
M 1,2 13 82 58 4111.6 0.961 0.95 3499.05 0.669 1.00
M 1,3 8 31.8 10 3343.6 0.595 1.59 2478.9 0.183 1.65
M 2,1 18 2157.9 756 18086.2 0.487 0.53 17997 0.479 0.62
M 2,2 5 528.2 55 5098.9 1.228 0.92 4468.74 0.952 0.98
M 2,3 1 205.2 6 3520.2 0.636 1.62 2620.84 0.218 1.67
M 3,1 10 2370.3 756 23008.8 0.491 0.68 22926.8 0.486 0.76
M 3,2 3 869.1 55 6012 1.046 1.27 5345.92 0.819 1.32
M 3,3 1 414.3 6 3656.8 0.66 0.83 2779.25 0.261 0.88
L 1,1 128 2426.4 3695 32473 0.855 23.39 32325.9 0.847 35.90
L 1,2 47 337.3 272 9433.5 1.048 50.84 8106.1 0.76 59.29
L 1,3 16 42.1 31 7344.7 0.594 120.12 5463.71 0.186 121.95
L 2,1 50 6000.5 3694 50380.6 0.707 28.89 50229.7 0.702 41.35
L 2,2 10 1163.8 271 13435.5 1.259 65.79 12059.5 1.028 73.81
L 2,3 2 306 29 8477 0.819 162.99 6624.78 0.422 165.08
L 3,1 31 7293.4 3694 64058.9 0.654 38.3 63905.1 0.65 50.94
L 3,2 6 1473 271 15694.9 1.088 89.8 14372.4 0.912 97.81
L 3,3 1 409.3 29 8835.3 0.876 210.71 6966.54 0.479 213.44
XL 1,1 229 3394.8 7480 48879.5 0.921 136.48 48677.1 0.913 214.23
XL 1,2 78 405.1 554 13752.3 1.117 314.81 11872 0.828 369.47
XL 1,3 33 52.7 69 10400 0.601 741.08 7754.66 0.194 749.91
XL 2,1 82 9264.9 7473 77796.3 0.669 165.57 77580.6 0.665 243.40
XL 2,2 17 1752.7 547 20133.7 1.176 383.13 18159.1 0.962 434.58
XL 2,3 4 507.8 57 12018.2 0.835 879.48 9296.1 0.419 886.83
XL 3,1 48 10593.1 7473 101676 0.682 228.14 101454 0.678 307.12
XL 3,2 11 2255.2 547 23304.5 0.969 518.15 21341.5 0.803 570.46
XL 3,3 2 610.2 57 13091.1 0.983 1314.86 10389.9 0.574 1322.69
moyenne 22651.35 0.833 203.01 21562 0.616 221.03
cet algorithme par Approx. Approx a été amélioré par l’algorithme LKH de [53] et nous notons
ce nouvel algorithme Approx-LKH.
Le tableau 2.5 compare les résultats de notre approche 2-SH par rapport aux résultats des
deux algorithmes de Harks et al. (2013) [52] à savoir Approx et Approx-LKH. Nous indiquons
le nom de l’instance, le coût de la solution obtenue par chaque algorithme (coût) et son gap par
rapport à la borne inférieure (gap). Dans chaque ligne du tableau, nous soulignons le meilleur
résultat et son gap.
En comparant les résultats de 2-SH avec ceux de Approx et de Approx -LKH, la 2-SH
donne toujours de meilleurs résultats par rapport à Approx. Nous constatons, que 2-SH est
meilleure que l’algorithme Approx dans toutes les instances avec un pourcentage moyen de 26.4
% (gap × 100)). En outre, d’après le tableau 2.5, la 2-SH améliore les résultats de 16 instances
parmi les 27 instances par rapport aux résultats de Approx-LKH. Néanmoins, les résultats ne
subissent, malheureusement, pas une nette amélioration, la 2-SH ayant des résultats meilleurs
que le Approx-LKH avec un pourcentage moyen de 4.7%. De plus, nous observons que le 2-SH
améliore la moyenne de la fonction objectif (en comparant 19853.59 à 21562). Ainsi, nous obser-
vons que la 2-SH donne de meilleurs résultats et fonctionne de façon plus efficace sur les instances
où la capacité du véhicule est égale à 9. Dans ces instances, nous avons un nombre important de
routes par rapport aux autres (voir le tableau 2.3), par conséquent, nous avons un problème de
localisation de plus en plus difficile. Ces dernières constatations montrent l’efficacité du recuit
simulé et sa contribution dans 2-SH.
Dans le tableau 2.5, le temps d’exécution n’a pas été rapporté. Il est clair que 2-SH, Approx
36
2.5. Expérimentation
37
2.6. Conclusion
et Approx-LKH ont été développés sur des environnements différents et testés sur des machines
différentes. Par conséquent, nous évitons de comparer directement les temps d’exécution de
ces méthodes. Bien que la comparaison directe soit difficile, nous pouvons dire que les trois
algorithmes ont en général, des temps de calculs très proches en comparant la différence entre
les moyennes des temps de calcul et la taille des instances (avec un maximum de 10.000 clients
et 1.000 dépôts candidats). C’est-à-dire que, si un algorithme est considérablement meilleur
qu’un autre, la différence entre les temps d’exécution sera très importante parce que la taille de
l’instance est suffisamment grande pour clarifier cette différence.
2.6 Conclusion
Dans ce chapitre, une nouvelle heuristique à deux phases a été proposée pour le problème de
localisation-routage avec contrainte de capacité. Notre objectif est de faire face à un besoin à
des algorithmes efficaces pour des instances de grande taille et qui sont en mesure de trouver des
solutions de bonne qualité dans un temps de calcul raisonnable. Par conséquent, contrairement à
la plupart des algorithmes de la littérature, les solveurs et les méthodes exactes ne sont pas utilisés
en raison de leurs consommations élevées en temps d’exécution. Dans la méthode proposée, la
première phase consiste à construire un ensemble de routes de coût minimal en utilisant une
heuristique d’insertion suivie par une heuristique de recherche Tabou. Dans la seconde phase,
une procédure de recuit simulé a été utilisée pour résoudre le sous-problème de localisation.
Le rôle de la procédure est de déterminer certains dépôts à ouvrir (à partir d’un ensemble
de dépôts candidats) et d’affecter chaque route à un dépôt ouvert. La performance de notre
algorithme a été comparée, avec succès, avec deux algorithmes de la littérature en utilisant un
jeu de données standard de grande taille. L’expérimentation montre que, notre approche 2-SH est
plus performante que ces deux algorithmes et de nouvelles meilleures solutions pour 16 instances
(parmi 27 instances de jeu de données) ont été trouvés. En outre, les résultats ont montré que le
point-clé de succès de 2-SH a été la localisation des bons dépôts dans la deuxième phase grâce à
la méthode du recuit simulé.
38
Chapitre 3
Sommaire
3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2 Revue de la littérature . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.1 Hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3.3 Le modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Méthodologie de solution . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.1 Vue générale sur l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4.2 Prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.3 Solution initiale pour GBH . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.4.4 Procédure gloutonne randomisée (GRP) . . . . . . . . . . . . . . . . . . 45
3.4.5 Recherche Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.6 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
3.5.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.2 Jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.5.3 Résultats et comparaison avec B&C . . . . . . . . . . . . . . . . . . . . 53
3.5.4 L’analyse du comportement de GBH . . . . . . . . . . . . . . . . . . . . 58
3.5.5 Les résultats de GBH sur les instances de MMIRP-SD . . . . . . . . . . 60
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.1 Introduction
Dans ce chapitre nous étudions le problème de routage avec gestion de stock (en anglais Inven-
tory Routing Problem, IRP). Le problème IRP intègre deux activités importantes de la chaîne
39
3.2. Revue de la littérature
logistique à savoir : l’élaboration des tournées de véhicules et la gestion de stock. Dans ce prob-
lème, un fournisseur est chargé de distribuer certains produits à un ensemble de clients sur un
horizon de temps donné en utilisant une flotte de véhicules homogènes. Chaque client possède
une capacité de stockage limitée et consomme à chaque période de l’horizon, les produits avec
un taux bien déterminé. L’objectif est de minimiser le coût total, y compris les coûts de stockage
(chez le fournisseur et les clients) et le coût de transport tout en satisfaisant certaines contraintes,
telles que : la capacité des véhicules, la capacité de stockage des clients et la non rupture des
stocks chez le fournisseur et chez les clients, etc.
Dans la littérature, plusieurs variantes de l’IRP ont été proposées. Dans ce chapitre, nous
nous intéressons au problème de routage avec gestion de stock multi-périodes, multi-produits,
multi-véhicules (en anglais Multi-Product Multi-vehicle Inventory Routing Problem (MMIRP)),
en prenant la même définition de Coelho et Laporte (2013b) [22]. Dans leur définition, les auteurs
ont considéré des hypothèses plus réalistes par rapport à ce qui est proposé dans la littérature,
telles que le taux de consommation variable chez les clients.
Pour faire face à ce problème, nous développons une heuristique de type GRASP (Greedy
Randomized Adaptive Search Procedure) qui utilise la recherche Tabou comme une procédure
de recherche locale [48]. Dans ce qui suite, d’abord, nous donnons un aperçu sur la littérature
de l’IRP et nous présentons la formulation mathématique du problème. Ensuite, nous exposons
la méthode proposée pour résoudre le problème MMIRP. En plus, l’algorithme est évalué et des
expérimentations sur des jeux de données standards sont présentées.
40
3.3. Définition du problème
(2015) [27] ont étudié l’IRP avec multi-produits et multi-véhicules en prenant la même définition
de Coelho et Laporte (2013b) [22] mais en ignorant les données sur le fournisseur (le coût de
stockage chez le fournisseur et la disponibilité des produits). Pour résoudre le problème, ils ont
proposé une heuristique de décomposition en trois phases. Un état de l’art résumant les travaux
proposés pour l’IRP et ses variantes est donné par Coelho et al. (2014) [24].
3.3.1 Hypothèses
Les hypothèses prises en compte dans le présent chapitre sont les suivantes:
1. Chaque véhicule doit effectuer une seule tournée par période. Son parcours commence et
se termine au niveau du fournisseur et sa charge totale ne doit pas dépasser sa capacité.
2. Il n’y a pas de capacité limitée spécifique pour chaque produit, mais la somme totale de
tous les produits ne doit pas dépasser la capacité du stockage du client.
3. Le coût de stockage est considéré à la fois pour le fournisseur et pour les clients.
4. Les demandes des clients sont déterministes et elles varient d’une période à une autre.
C’est-à-dire le taux de consommation de chaque client n’est pas fixé sur tout l’horizon.
5. Pour chaque client, au maximum une seule visite est effectuée provenant du fournisseur
dans une période donnée.
3.3.2 Notations
Pour formuler le MMIRP, nous utilisons les notations suivantes :
Le MMIRP est défini sur un graphe complet G(V, A) où :
• V = {0, ..., n} est l’ensemble des sommets et A est l’ensemble des arcs. V 0 = V /{0}
représente l’ensemble des clients et le sommet 0 représente le fournisseur.
• hm
i est le coût de stockage unitaire du produit m. m ∈ M , i ∈ V .
• I0mt et Iimt sont les niveaux de stocks chez le fournisseur et les clients, respectivement; pour
chaque produit m ∈ M à la fin de la période t ∈ T .
• dmt 0
i est la demande du produit m ∈ M à la période t ∈ T effectuée par le client i ∈ V .
41
3.3. Définition du problème
• xkt
ij est le nombre de fois que l’arc (i, j) avec i < j est traversé par le véhicule k dans la
période t.
(
1 si i ∈ V est visité par le véhicule k dans la période t.
• yikt =
0 sinon.
Les contraintes:
X X
I0mt = I0m,t−1 + rmt − qimkt m∈M t∈T (3.2)
k∈K i∈V 0
X
Iimt = Iim,t−1 + qimkt − dmt
i m∈M i∈V0 t∈T (3.3)
k∈K
X
Iimt ≤ Ci i∈V0 t∈T (3.5)
m∈M
X X X
qimkt ≤ Ci − Iim,t−1 i∈V0 t∈T (3.6)
m∈M k∈K m∈M
X X
qimkt ≤ Qk y0kt k∈K t∈T (3.8)
0
i∈V m∈M
X X
xkt
ij + xkt kt
ji = 2yi i∈V k∈K t∈T (3.9)
j∈V,i<j j∈V,j<i
X X X
xkt
ij ≤ yikt − ygkt S ⊆V0 k∈K t∈T g∈S (3.10)
i∈S j∈S,i<j i∈S
42
3.4. Méthodologie de solution
xkt
i0 ∈ {0, 1, 2} i∈V0 k∈K t∈T (3.12)
xkt
ij ∈ {0, 1} i, j ∈ V 0 k∈K t∈T (3.13)
43
3.4. Méthodologie de solution
le GBH améliore cette nouvelle solution en utilisant la méthode TS. Le GBH est décrit dans
l’algorithme 5, et ses composants sont explicités ci-dessous.
3.4.2 Prétraitement
Dans une étape de prétraitement, le GBH calcule le nombre minimum (NBmini ) de visites pour
chaque client i comme suit :
Tout d’abord, nous calculons la quantité des produits que le client i a besoin sur l’horizon de
planification N Ei comme suit (voir l’équation (3.15)):
X X X
N Ei = dm,t
i − Iim,0 ∀i ∈ V 0 (3.15)
t∈T m∈M m∈M
» ¼ » ¼
N Ei N Ei
NBmini = max( , , 0) ∀i ∈ V 0 (3.16)
Ci Qk
Le calcul du nombre minimum de visites pour chaque client doit prendre en considération le
besoin du client qui doit être livré N Ei , sa capacité de stockage et la capacité du véhicule qui
ne doit pas être dépassée (voir équation (3.16)). Donc, nous avons mis le nombre minimum de
visites comme étant le maximum entre le besoin du client divisé par sa capacité de stockage, le
besoin de client divisé sur la capacité du véhicule et le zéro.
En outre, si aucune visite n’est effectuée pour le client i, alors son niveau de stock initial va
diminuer au cours du temps, et à une période donnée, une rupture de stock se produira. On note
cette période par maxi .
44
3.4. Méthodologie de solution
1. La première visite de chaque client i est affectée à une période choisie aléatoirement dans
l’intervalle [1, maxi ].
[Link] Notations
Dans notre GRP nous utilisons les notations présentées dans le tableau 3.1. Donc, en tenant
compte la politique de la gestion de stock, l’insertion d’une visite de client i dans une tournée de
la période t signifie que son besoin de produits de la période t à la période ts,i , déjà livré dans
tp,i , sera livré dans la période t. On note cette quantité GSQSi,t,m et elle est calculée comme
suit:
ts,i
X m,t1
X m,k,tp,i
GSQSi,t,m = min( di , qi ) (3.17)
t1 =t k∈K
Dans l’équation (3.17), le premier terme représente le besoin du client (la somme des deman-
des) entre la période t et la période ts,i et le second terme est la quantité du produit livrée à i
dans la période tp,i qui est à l’origine le besoin de client i entre les périodes tp,i et ts,i en tenant
compte du niveau de stock à la période tp,i . En outre, après l’insertion de i dans la période t, ces
quantités de produits resteront chez le fournisseur de la période tp,i à t donc, le coût de stockage
du client i va diminuer et le coût de stockage du fournisseur va augmenter. Nous calculons ce
changement dans les coûts des stocks GSICi,t comme suit (voir l’équation (3.18)):
X
GSICi,t = GSQSi,t,m × (t − tp,i ) × (hm m
i − h0 ) (3.18)
m∈M
45
3.4. Méthodologie de solution
Nom Description
tp,i La période de la précédente visite au client i en considérant
la période actuelle t, s’il y a pas de visite alors tp,i = 0.
ts,i La période de la suivante visite au client i en considérant
la période actuelle t, s’il y a pas de visite alors ts,i = p.
Sg La solution retournée par GRP.
N IM Le nombre maximal de fois que les propositions d’insertion des visites
qui dégradent la fonction objectif sont autorisées
Pro_List La liste de toutes les propositions d’insertion, chaque
proposition contient : le client qui sera visité,
la route, la période et le coût de l’insertion
GSCVi,t La diminution dans les valeurs des violations des contraintes, obtenues
lorsque nous ajoutons une visite de client i dans la période t.
GRCOi,k,t (the increase in the Routing COst). L’augmentation du coût de routage
lorsque nous ajoutons une visite de client i dans
la meilleure position dans k (k ∈ t).
GSQSi,t,m (The Save Quantity of a Single product). La quantité de produit m
expédiée de la période tp,i à la période t, si nous
ajoutons une visite de client i en t.
GSICi,t (The Save in the Inventory Cost). La diminution ou l’augmentation du coût
de stockage si nous ajoutons une visite de client i en t.
GGSCi,t (The General Save Cost). Le gain global engendré si nous ajoutons une
visite de client i en t, y compris le GSICi,t et GSCVi,t .
1. Etape de sauvegarde (Saving). Si une visite d’un client i est insérée dans une période t,
le coût de stockage et les violations des contraintes vont diminuer. Dans cette étape, pour
chaque client i et pour chaque période t, nous calculons le gain généré si une visite au client
i est insérée en t, comprenant le gain dans les coûts de stockage (GSICi,t ) et le gain dans
les violations des contraintes (GSCVi,t ).
2. Etape de routage (Routing). Pour chaque client i, chaque période t et chaque route k ∈ t,
nous calculons l’augmentation dans le coût de routage engendrée si nous ajoutons une
visite du client i en k. Cela se fait en examinant toutes les positions d’insertion possibles
et la meilleure position est retournée. En plus, si le gain de l’ajout (calculé dans l’étape
46
3.4. Méthodologie de solution
47
3.4. Méthodologie de solution
de Saving) est supérieur à l’augmentation dans le coût de routage ou si les insertions qui
dégradent la fonction objectif sont autorisées dans l’itération courante, une proposition pour
ajouter une visite du client i dans t est insérée dans la liste des propositions (Pro_List).
3. Etape de sélection (Selection). Dans cette étape, si la liste Pro_List est vide, alors la
procédure est arrêtée; sinon, nous construisons la liste RCL par les Wr meilleurs éléments
dans Pro_List, et une proposition est sélectionnée aléatoirement. Ensuite, la visite est
insérée dans Sg , et enfin nous revenons à la phase de Saving. Après chaque insertion,
si l’opération de l’ajout de cette itération n’améliore pas le coût de Sg , alors le N I est
décrémenté.
• Le groupe G1 :
48
3.4. Méthodologie de solution
• Le groupe G2 :
Le déplacement intra-route (BP-shift-intra-route) : ce mouvement supprime une visite de
sa position et l’insère dans la meilleure position dans la même route.
Le déplacement entre-route (BP-shift-inter-route) : ce mouvement est similaire à BP-shift-
intra-route, mais la visite du client est insérée dans une autre route.
Si le groupe G2 est choisi, une recherche exhaustive est faite en examinant toutes les
positions d’insertion possibles (intra et inter route) et la meilleure position est retournée.
• Le groupe G3 :
Le déplacement entre-période (BP-shift-inter-period) : ce mouvement consiste à supprimer
une visite de sa position, et de l’insérer dans la meilleure position dans une autre route
appartenant à une autre période rh. La période rh est choisie de façon aléatoire. Enfin,
comme pour le groupe G2, une recherche exhaustive est faite en examinant toutes les
positions d’insertion possibles (dans toutes les routes de rh), et évidemment, la visite est
insérée dans la meilleure position.
• Le groupe G4 :
L’échange intra-route (BP-swap-intra-route) : ce mouvement consiste à échanger deux vis-
ites (de deux clients) appartenant à la même route. La première visite est choisie aléatoire-
ment. Cependant, la deuxième visite est choisie par une recherche exhaustive en examinant
toutes les autres visites de la route.
L’échange entre-route (BP-swap-inter-route) : ce mouvement est similaire à BP-swap-intra-
route. Mais les deux visites appartenant à deux routes différentes de la même période.
De la même manière que G2, si le groupe G4 est choisi, une recherche exhaustive est faite
en examinant toutes les autres visites de la periode (intra et inter route) et la meilleure est
retournée.
• Le groupe G5 :
L’échange entre-période (BP-swap-inter-period) : ce mouvement consiste à échanger deux
visites appartenant à deux périodes différentes.
49
3.4. Méthodologie de solution
initialisés à 1. Ensuite, à chaque itération de TS, nous supposons que l’operateur qui a généré
la meilleure solution dans la structure de voisinage est gh0 . Premièrement le score de gh0 est
augmenté par p1 (scrgh0 ← scrgh0 + p1). Ensuite, si l’operateur gh0 améliore la solution courante,
alors nous augmentons son score par p2 (scrgh0 ← scrgh0 + p2). En plus, si gh0 améliore la valeur
de la meilleure solution trouvée, alors nous augmentons son score par p3 (scrgh0 ← scrgh0 + p3),
avec p1 < p2 < p3. De plus, à chaque RT itérations, les scores sont réinitialisés. Dans Coelho
et al. (2012) [21], les auteurs ont utilisé la même technique de sélection, mais ils ont utilisé les
poids pour donner la priorité à certains opérateurs efficaces. En revanche, dans notre approche les
poids ne sont pas utilisés, et pour assurer la diversification, le score de groupe G1 est augmenté
avec p1 à chaque itération. Finalement, la probabilité de sélection spgh de chaque groupe gh, à
chaque itération, est calculée comme suit (voir 3.20) :
scrgh
spgh = P5 (3.20)
gh=1 scrgh
En outre, le coût de stockage peut être diminué, et cela se fait en expédiant des quantités de
produits du fournisseur aux clients lorsque le coût de stockage de ces clients est inférieur au coût
de stockage du fournisseur. Cela se fait en utilisant la procédure de réparation (Repair Procedure
(RP)) décrite dans l’algorithme 8.
Dans la procédure RP, pour chaque période t et pour chaque véhicule k, si la charge du
véhicule est inférieure à sa capacité, alors chaque pair (client i visité par le véhicule k, produit
m) avec Iim < I0m est ajouté dans une liste (LIST ) dans un ordre croissant de Iim . Ensuite, si
la liste n’est pas vide et la charge du véhicule est inférieure à sa capacité, alors le premier pair
(i0 , m0 ) dans LIST est choisi et la quantité à expédier Sh_Quai0 ,m0 ,k,t est calculée. Ensuite, si
Sh_Quai0 ,m0 ,k,t > 0 alors l’expédition est effectuée. Après chaque expédition, toutes les informa-
tions sur la solution sont mises à jour, y compris les niveaux de stock et la charge du véhicule.
Enfin le pair sélectionné est retiré de LIST . Ces étapes sont répétées jusqu’à ce que la liste soit
50
3.5. Expérimentation
vide ou la charge du véhicule soit égale à sa capacité. A la fin, pour chaque paire (i,m) nous
calculons la quantité à expédier Sh_Quai,m,k,t comme suit (voir l’équation (3.22)) :
X 00 X X
Sh_Quai,m,k,t = min(I0m,t , (Ci − Iim,t )+ , (Qk − qim,k,t )+ ) (3.22)
m∈M 0
i∈V m∈M
Pour chaque client, nous appelons t00 la période où la somme des niveaux de stocks de pro-
duits est au maximum parmi toutes les périodes (de la période t jusqu’à la fin de l’horizon de
planification P ).
Dans l’équation (3.22), pour le premier terme, la quantité expédiée de produit ne doit pas
dépasser la quantité disponible chez le fournisseur. Ensuite, le second terme assure la contrainte
de capacité de stockage du client sur l’horizon de planification. Le troisième terme est consacré
à maintenir la contrainte de capacité du véhicule : la quantité expédiée ne doit pas excéder le
volume disponible dans le véhicule.
3.5 Expérimentation
Dans cette section, nous présentons les résultats d’expérimentation de l’algorithme GBH. Notre
algorithme a été codé en JAVA, toutes les expériences ont été menées sur un PC équipé d’un
processeur Intel i7 avec 3.40 GHz et dispose d’une mémoire de 32Go. Dans la littérature de l’IRP,
Coelho et Laporte (2013b) [22] ont abordé la version de MMIRP considérée dans ce chapitre
[24]. Par conséquent, pour tester la performance de GBH, nous utilisons leur jeu de données et
nous comparons les résultats obtenus avec les meilleures solutions données par leur algorithme
de type Branch & Cut (B&C). En outre, afin de montrer l’efficacité de GBH, nous l’adaptons
pour résoudre la variante de MMIRP considérée dans le papier de Cordeau et al. (2015) [27]
et nous appelons cette variante par MMIRP-SD. Dans cette étude, les auteurs ont abordé le
51
3.5. Expérimentation
même problème que Coelho et Laporte (2013b) [22], mais en ignorant les données du fournisseur
(le coût de stockage et la disponibilité de produits). Dans ce qui suit, d’abord, nous détaillons
les paramètres utilisés dans notre l’algorithme et nous exposons le jeu de données. Ensuite, les
résultats de GBH sont comparés à ceux de B&C et une analyse du comportement de l’algorithme
est effectuée sur un échantillon d’instances. Enfin, nous présentons les résultats de GBH sur les
instances de MMIRP-SD et nous les comparons avec les résultats de B&C et de l’heuristique de
décomposition (DH) de Cordeau et al. (2015) [27].
• Le niveau de stock initial chez le client i : choisi uniformément dans l’intervalle [100; 150];
• La demande dmt
i du client i : est choisie uniformément dans l’intervalle [10; 100];
¥P P P mt
¦
• La capacité du véhicule Q est : réglée pour être 2 × i m t di /pK
52
3.5. Expérimentation
Tableau 3.2: GBH Vs. B&C sur les instances avec K = 1 & M = 1
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 0.00 0.48 4.15
20 0.00 1.60 0.67 13.81
30 0.00 13.20 1.68 28.80
40 0.00 101.80 1.25 48.62
50 0.00 299.60 2.28 78.11
5 10 0.00 1 1.16 5.45
20 0.00 20.40 1.33 18.57
30 0.00 182.20 1.1 38.52
40 0.00 9464.60 1.12 67.26
50 0.56 20712.60 2.23 106.06
7 10 0.00 27.80 3.37 6.521
20 0.00 3335.60 2.68 21.984
30 3.06 28529.00 5.07 46.77
40 6.03 43200.00 7.34 79.73
50 9.97 43187.80 9.40 123.07
53
3.5. Expérimentation
Tableau 3.3: GBH Vs. B&C sur les instances avec K = 3 & M = 1
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 6.60 0.16 4.706
20 0.00 184.00 0.42 14.75
30 0.00 5113.40 0.59 29.85
40 2.92 28221.60 3.62 49.51
50 19.44 43200.00 12.10 76.53
5 10 0.22 12555.40 4.79 5.84
20 17.04 41683.20 18.17 19.39
30 31.16 43181.00 28.44 39.99
40 42.11 43188.80 32.94 69.60
50 48.12 43197.20 30.70 104.73
7 10 14.40 28173.20 20.81 7.20
20 27.67 41297.40 30.836 23.475
30 33.60 43171.40 32.98 49.04
40 61.12 43200.00 42.00 84.30
50 62.17 43200.00 43.81 130.39
Tableau 3.4: GBH Vs. B&C sur les instances avec K = 5 & M = 1
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 120.20 0.86 4.89
20 4.09 29770.40 4.59 15.21
30 15.53 43200.00 15.18 31.48
40 16.20 43189.80 14.56 54.15
50 32.22 43189.00 20.73 81.19
5 10 12.82 35353.80 18.19 6.39
20 43.33 43200.00 44.15 19.94
30 43.84 43197.40 40.98 41.44
40 51.82 43197.60 36.02 72.53
50 65.98 43200.00 45.85 110.08
7 10 27.67 40106.40 35.37 8.07
20 46.27 43175.40 49.82 24.91
30 61.35 43191.20 51.77 50.79
40 71.09 43200.00 50.43 87.50
50 71.61 40688.40 54.83 134.62
54
3.5. Expérimentation
Tableau 3.5: GBH Vs. B&C sur les instances avec K = 1 & M = 3
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 1.60 0.42 6.53
20 0.00 0.80 0.83 22.95
30 0.00 1.00 3.72 51.01
40 0.00 5.20 3.29 89.23
50 0.00 11.40 1.47 141.51
5 10 0.00 3.40 2.81 8.73
20 0.00 45.80 2.22 30.75
30 0.00 506.20 1.48 66.79
40 0.00 6967.80 2.52 118.89
50 2.72 40242.60 5.21 237.53
7 10 0.00 23.80 2.16 11.11
20 0.00 6173.40 4.78 40.35
30 5.41 43200.00 14.03 88.92
40 11.04 43200.00 17.54 162.33
50 15.15 43199.80 20.58 273.54
Tableau 3.6: GBH Vs. B&C sur les instances avec K = 3 & M = 3
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 5.80 0.462 6.89
20 0.00 322.60 1.29 23.69
30 0.00 3574.60 1.91 52.35
40 0.26 12952.60 6.14 88.62
50 2.27 35501.60 4.21 150.41
5 10 0.00 8008.20 2.94 9.29
20 17.05 42202.40 18.94 32.48
30 20.67 43196.00 22.86 69.91
40 23.57 43188.60 22.56 120.77
50 45.54 18555.20 24.10 191.59
7 10 21.94 27184.00 30.08 11.79
20 29.36 43197.60 34.43 41.49
30 30.89 43197.80 36.09 88.30
40 38.35 43200.00 36.16 155.08
50 54.69 43200.00 38.57 248.14
55
3.5. Expérimentation
Tableau 3.7: GBH Vs. B&C sur les instances avec K = 5 & M = 3
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 102.40 0.13 7.349
20 2.46 21424.00 3.186 25.29
30 3.81 36036.80 4.95 52.29
40 2.36 42241.80 3.32 97.13
50 9.46 43200.00 7.58 145.85
5 10 19.39 41231.80 29.68 9.55
20 26.03 43200.00 28.70 33.47
30 37.85 43181.00 35.13 72.42
40 51.09 37037.80 32.34 124.18
50 47.08 21927.60 33.05 196.69
7 10 30.18 42541.20 34.48 13.03
20 41.00 43195.20 45.95 43.29
30 60.65 43190.00 47.41 90.67
40 61.09 34766.60 48.34 157.05
50 56.43 43200.00 42.47 247.97
Tableau 3.8: GBH Vs. B&C sur les instances avec K = 1 & M = 5
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 4.60 1.48 8.75
20 0.00 1.00 1.52 31.59
30 0.00 2.00 1.46 68.50
40 0.00 6.40 1.91 121.03
50 0.00 19.00 3.99 192.41
5 10 0.00 7.40 3.91 12.32
20 0.00 95.20 2.78 45.06
30 0.00 5670.40 3.39 99.17
40 2.11 32088.60 6.13 178.50
50 7.49 43194.00 10.60 277.39
7 10 0.00 53.60 4.43 16.20
20 0.33 18773.60 6.33 62.27
30 9.39 43195.00 15.97 139.08
40 12.30 43200.00 20.14 253.59
50 17.64 43194.80 22.33 401.10
56
3.5. Expérimentation
Tableau 3.9: GBH Vs. B&C sur les instances avec K = 3 & M = 5
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 5.00 1.70 9.37
20 0.00 520.00 0.74 32.48
30 0.81 17738.80 3.89 70.36
40 0.71 14205.40 3.30 123.11
50 1.14 33966.20 1.99 199.91
5 10 5.10 16428.00 9.33 12.84
20 15.28 43200.00 20.02 45.97
30 22.49 43188.60 21.89 100.30
40 30.40 43194.60 25.71 176.74
50 45.56 42173.00 21.62 283.91
7 10 22.77 26783.20 28.98 17.22
20 30.34 43200.00 37.56 60.70
30 30.84 43200.00 34.35 136.35
40 62.96 43192.00 39.98 239.80
50 55.65 43200.00 34.78 390.54
Tableau 3.10: GBH Vs. B&C sur les instances avec K = 5 & M = 5
B&C GBH
périodes clients gap temps CPU gap temps CPU
3 10 0.00 64.00 0.39 9.753
20 0.60 9813.20 2.00 34.25
30 3.13 37412.20 2.88 72.08
40 5.55 43199.40 7.97 128.18
50 12.14 41009.60 8.57 195.65
5 10 17.73 43122.00 30.19 13.42
20 30.16 43200.00 32.64 46.97
30 39.07 43200.00 33.71 101.14
40 54.65 43200.00 30.91 181.18
50 54.34 41344.60 31.27 280.77
7 10 29.57 42114.00 35.46 18.51
20 40.03 43200.00 44.76 63.18
30 44.05 43185.40 45.40 134.45
40 54.70 43200.00 43.19 239.64
50 55.06 43200.00 47.45 375.68
57
3.5. Expérimentation
GBH B&C
groupe #instance gap temps CPU gap temps CPU gapGBH -gapB&C
GS1 43 01.84 39.63 00.00 1187.78 01.84
GS2 52 19.71 83.64 15.62 35640.88 04.09
GS3 40 31.81 143.23 42.83 41348.53 −11.02
chaque groupe (#instance). Ensuite, les colonnes trois et quatre (cinq et six respectivement) sont
la moyenne des gaps et la moyenne des temps d’exécution de GBH (de B&C respectivement)
pour chaque groupe. Enfin, la dernière colonne est la différence entre la moyenne des gaps de
GBH et la moyenne des gaps de B&C (gapGBH -gapB&C ).
En comparant GBH à B&C lorsque l’optimalité est prouvée, GBH a un petit gap de, seule-
ment, 01.84% au-dessus des solutions optimales. En outre, bien que les instances de GS2 montrent
clairement la performance et l’efficacité de B&C, nous constatons que le GBH est toujours com-
pétitive et il a un gap de 04.09% au-dessus de la borne supérieure du B&C. Ici, il est important
de noter que, dans GS2 la différence entre les gaps est plus importante de celle de GS1 parce
que la qualité des gaps de GS2 dépend de la qualité des bornes inférieures trouvées par CPLEX,
contrairement au GS1 où la qualité des gaps dépend de la qualité des solutions optimales. Dans
GS1 et GS2, l’efficacité du B&C est clairement montrée et au même temps, il semble raisonnable
de dire que les gaps de GBH sont relativement faibles. Pour les instances du groupe GS3, la taille
des instances augmente et le problème devient de plus en plus complexe. Dans ces instances, le
GBH donne des meilleurs résultats par rapport au B&C avec un pourcentage moyen de 11.02%.
Néanmoins les deux algorithmes ont été implémentés dans des environnements différents et
testés sur des machines différentes, la comparaison des grandeurs des temps d’exécution reste
possible [52]. En effet, parce que le GBH n’utilise pas les solveurs et/ou les méthodes exactes, le
temps d’exécution de GBH est considérablement inférieur à celui de B&C, en comparant 143.23
à 41348.5 secondes bien que la machine utilisée pour tester le GBH est moins performante que
la machine utilisée pour tester B&C. Ces temps de calcul intéressants ont été obtenus grâce
à la non-utilisation des solveurs et/ou des algorithmes exacts. En outre, à la lumière de notre
temps d’exécution considérablement faible, nous constatons que GBH est efficace et rapide en
comparant avec la plupart des algorithmes de la littérature [24].
Pour conclure cette partie, bien que le B&C est meilleur que le GBH dans les petites et
moyennes instances, le GBH donne des résultats, pour ces instances, très proches de l’optimalité
avec un temps d’exécution très faible. Pour les instances de grande taille, le GBH se montre plus
performant que B&C avec un gap moyen de 11.02 % avec un temps d’exécution beaucoup moins
important. Enfin, GBH est capable de trouver de nouvelles solutions pour 40 instances de grande
taille sur un total de 135 instances.
58
3.5. Expérimentation
l’algorithme, nous utilisons toutes les instances de 50 clients, qui sont les plus difficiles et avec
lesquelles les caractéristiques de GBH seront clairement montrées.
Tout d’abord, nous exécutons le GBH sur ces instances 10 fois (GBH×10) en utilisant les
mêmes critères d’arrêt présentés dans le paragraphe de réglage des paramètres. La meilleure
solution et le gap entre la solution moyenne et la meilleure sont présentés. Ces résultats nous
permettent de tester la flexibilité et la stabilité de GBH. Deuxièmement, nous lançons le GBH
juste une fois sur les mêmes instances, mais avec plus de temps d’exécution, c’est-à-dire, les
critères d’arrêt seront multipliés par 10 (GBH with Long Time, GBH-LT), et les résultats obtenus
nous aident à montrer l’efficacité et la stabilité de GBH. Dans le tableau 3.12, les éléments
suivants figurent : la première colonne indique le nom de l’instance (Inst). Ensuite, les colonnes
de deux à cinq présentent les résultats d’exécution de GBH×10. Les colonnes deux et trois
indiquent la moyenne (moyenne) et le meilleur (meilleur) coût obtenus pour chaque instance
respectivement, la colonne quatre présente le temps de calcul moyen des 10 exécutions (CPU), et
la cinquième colonne contient le gap (gapavg,best ) entre le meilleur coût et la moyenne des coûts
((avg − best)/avg). En plus, les colonnes six et sept indiquent le coût de la solution (coût) et le
temps de calcul de GBH-LT (CPU). Enfin, les colonnes huit et neuf présentent le gap entre la
moyenne des coûts de GBH×10 et le coût de la solution de GBH-LT, et le gap entre le meilleur
coût de GBH×10 et le coût de la solution de GBH-LT, respectivement.
59
3.5. Expérimentation
A partir du tableau 3.12, nous pouvons remarquer que la moyenne des gaps entre les moyennes
et les meilleures solutions de GBH×10 est égale à 1.12%. En effet, ce gap, qui varie de 0.43% à
2.72%, montre clairement la stabilité de l’algorithme, car il peut toujours converger vers la même
qualité de solution sur des instances complexes. En plus, avec plus du temps de calcul et pour
chaque instance, le GBH-LT est en mesure d’améliorer la qualité de la moyenne et la meilleure
solution obtenues par GBH×10 avec un pourcentage moyen de 1.54% et 0.40% respectivement.
Pour la moyenne de GBH×10, GBH-LT améliore la qualité des solutions de toutes les instances.
En plus, bien que le GBH×10 dépense environ le même temps d’exécution de GBH-LT pour
obtenir les meilleures solutions, GBH-LT se montre plus performant que GBH×10 dans 21 sur 27
instances. Ces résultats expliquent clairement à la fois l’efficacité et la stabilité de convergence de
GBH. Dans cette étape de l’expérimentation, le GBH est exécuté sur des instances où les nombres
de produits, de véhicules et de périodes varient de 1, 1, 3 à 5, 5, 7 respectivement. (C’est-à-dire
de l’instance 50-1-1-3 à l’instance 50-5-5-7). Même avec une grande différence entre les instances
en entrée de l’algorithme, le GBH est en mesure de traiter tous les cas et de fournir des résultats
très prometteurs ce qui montre sa flexibilité.
60
3.5. Expérimentation
61
3.6. Conclusion
214.69s de DH à 128.47s de GBH, nous pouvons constater que les deux algorithmes ont à peu
près le même temps d’exécution.
A partir du tableau 3.13 nous pouvons remarquer que le GBH donne de meilleurs résultats
que le B&C dans 11 instances, tandis que le B&C reste meilleur dans 5 instances et dans 34
instances le GBH et B&C donnent les mêmes résultats. Bien que dans la plupart des instances,
les deux algorithmes donnent les mêmes résultats, le GBH se montre plus performant que B&C
avec un pourcentage moyen de 1.36% et avec un temps de calcul moyen considérablement faible
en comparant 128.47s avec 1909.15s. Dans Cordeau et al. (2015) [27], les auteurs donnent les
résultats obtenus par le B&C lorsque le temps de calcul est limité à 12 heures (43200 secondes).
En tenant compte de ces résultats, le GBH a pu trouver une nouvelle meilleure solution pour
l’instance mmirp-50-3-2, et des solutions optimales ont été rapportées pour 38 instances.
3.6 Conclusion
Dans ce chapitre, nous avons abordé le problème des tournées de véhicules avec gestion de
stock multi-périodes, multi-véhicules et multi-produits, appelé le MMIRP. Pour faire face à ce
problème, un nouvel algorithme a été introduit. Notre algorithme (GBH) est basé sur la méta-
heuristique GRASP (Greedy Randomized Adaptive Search Procedure). Le GBH est composé de
deux grandes phases. La première est une procédure gloutonne randomisée (GRP) qui construit
une solution réalisable de bonne qualité. La deuxième phase est une recherche locale qui se
consacre à améliorer la solution obtenue à partir de la phase précédente. Dans notre cas, la
première phase cherche à trouver le meilleur compromis entre le coût de stockage et le coût de
routage. Ensuite, comme méthode de recherche locale, nous avons utilisé la recherche Tabou.
Tout d’abord, la performance de GBH a été testée sur le jeu de données standard de Coelho
et Laporte (2013b) [22] avec 135 instances et les résultats obtenus ont été comparés avec les
résultats de leur algorithme de type Branch & Cut (B&C). Bien que le B&C ait été meilleur
que le GBH dans les petites et moyennes instances, nous avons obtenu de nouvelles meilleures
solutions pour 40 instances de grande taille. En plus, le GBH a un temps de calcul largement
inférieur par rapport au temps de calcul de B&C. Deuxièmement, afin de montrer encore son
efficacité, le GBH a été adapté pour résoudre la variante de MMIRP abordé dans Cordeau et al.
(2015) [27] et ses résultats ont été comparés avec les résultats de l’heuristique de décomposition
et de B&C. Les résultats présentés montrent que le GBH est meilleur que les deux algorithmes
proposés.
62
Chapitre 4
Sommaire
4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.2 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.2.1 Contraintes & fonction objectif . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Méthodologie de la solution . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.1 L’idée principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3.2 Algorithmes pour le CTSSP . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.4 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
4.4.2 La procédure de génération de jeu de données . . . . . . . . . . . . . . . 73
4.4.3 Les résultats de TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.4.4 La comparaison entre TS, GRASP et GRASP-LP . . . . . . . . . . . . 76
4.4.5 La méthode GRASP-LP sur les instances de VRP et d’OVRP . . . . . . 76
4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.1 Introduction
Le problème d’élaboration des tournées (Vehicle Routing Problem (VRP)) est l’un des problèmes
les plus importants dans le domaine de transport et de la logistique. Le VRP a été défini à la
fin des années 1950 [29]. A cause de leurs nombreuses applications dans l’industrie et le monde
réel, un nombre très important d’études ont été publiées portant sur le VRP et ses variantes [65].
En outre, le problème des tournées de véhicules ouvert (Open VRP (OVRP)) est une variante
importante de VRP où le véhicule n’a pas besoin de revenir au dépôt après avoir visité le dernier
client [106]. L’OVRP a été utilisé pour concevoir de nombreux problèmes de la vie quotidienne
tels que le problème d’élaboration de tournées de bus scolaire [89]. Il est souvent utilisé pour
modéliser des situations où l’entreprise a besoin de véhicules externes pour accomplir certaines
tâches.
Dans ce chapitre, nous présentons une contribution à un challenge international, à savoir
VeRoLog Solver Challenge 2015 (VSC2015) [33]. En collaboration avec le PTV-groupe (entreprise
63
4.2. Définition du problème
logistique), le groupe de travail EWGVRLO (the EURO Working Group on Vehicle Routing and
Logistics Optimization) a défini une nouvelle variante du VRP (peut également être considérée
comme une nouvelle variante d’OVRP) que l’on appelle le problème de routage de navettes et
de taxis (Coach Trip with Shuttle Service Problem (CTSSP)). Cette nouvelle variante a été le
sujet du VSC2015 Doerner et al. (2015) [33]. Le CTSSP est un problème industriel qui concerne
le transport de personnel, dont le but est de transporter un ensemble de passagers depuis leurs
origines arrêts de bus à un dépôt central en utilisant une flotte de véhicules hétérogène. En effet, le
CTSSP possède certaines caractéristiques qui lui permettent non seulement d’être une nouvelle
variante du VRP mais, une variante qui est très compliquée en comparant avec les variantes
de VRP précédemment proposées dans la littérature, y compris celles de l’OVRP. Parmi ces
caractéristiques : les distances et les temps de transport entre les sommets sont asymétriques,
l’hétérogénéité de véhicules, l’utilisation des points de transfert, etc.
Pour résoudre le CTSSP, nous proposons deux méthodes, à savoir une recherche Tabou (Tabu
Search (TS)) et une méthode de type GRASP (Greedy Randomized Adaptive Search Procédure
(GRASP)). Après la construction d’une solution réalisable de bonne qualité en utilisant une
heuristique d’insertion, la méthode TS proposée utilise, à chaque itération, sept mouvements
pour créer la structure de voisinage [47]. Ainsi, afin de faciliter l’exploration de l’espace de
recherche, un mécanisme de relaxation est utilisé. En outre, nous proposons une méthode de
type GRASP qui utilise la méthode TS comme une recherche locale. Enfin, la méthode GRASP
est améliorée en utilisant une technique d’apprentissage. Dans ce qui suit, tout d’abord, nous
présentons la définition de CTSSP. Ensuite, nous présentons en détail les méthodes proposées,
et après cela, des expériences sur plusieurs jeux de test sont exposées.
• Chaque taxi commence sa route de son propre emplacement et se termine soit au HUB soit
à un arrêt de bus visité par une navette (un point de transfert).
• Les distances et les temps de conduite entre tous les sommets sont donnés dans des matrices
carrées. En effet, on a trois matrices: une matrice de distance, une matrice de temps pour
64
4.3. Méthodologie de la solution
les navettes et une matrice de temps pour les taxis (parce que les taxis sont plus rapides
que les navettes).
Dans la figure 4.1, nous présentons un exemple d’une solution pour le CTSSP avec 2 navettes
(c1 et c2), 4 taxis (s1, s2, s3 et s4) et 10 arrêts de bus (de b1 jusqu’a b10). Dans cette solution,
s1 et s2 utilisent b7 et b4 comme points de transfert respectivement.
• Le temps de transport de chaque passager p depuis son arrêt de bus jusqu’au HUB ne doit
pas dépasser une durée maximale Dpmax .
• Le nombre d’arrêts de bus dans une route de navette ne doit pas dépasser un nombre
maximal Smax .
Dans le CTSSP le but (fonction objectif) est de minimiser le coût total, y compris le coût
d’utilisation de véhicules et le coût de transport.
65
4.3. Méthodologie de la solution
effet, cette utilisation des points de transfert génère deux difficultés principales. La première est
: comment peut-on représenter une solution de CTSSP ? C’est-à-dire le choix de structures de
données pour représenter les points de transfert. La seconde difficulté est : comment peut-on
développer des opérateurs afin d’exploiter le voisinage dans une méthode de recherche locale ?
Dans les figures suivantes, nous montrons quelques exemples de ces difficultés (Figure 4.2- 4.4):
66
4.3. Méthodologie de la solution
• Une solution de type Base (Ba) est une solution pour le CTSSP où toutes les routes des
taxis se terminent au HUB, de sorte que les points de transfert ne sont pas considérés.
• Une solution de type Amélioré (Am) est une solution pour le CTSSP où les points de
transfert sont utilisés, donc certaines routes de taxis ne se terminent pas au HUB.
67
4.3. Méthodologie de la solution
La différence entre une solution Ba et une solution Am est : la solution de type Am exploite
la caractéristique de points de transfert, et donc la qualité d’une solution Am est beaucoup mieux
qu’une solution de type Ba. Cependant, les deux types de solutions sont considérés comme des
solutions faisables pour le CTSSP [33]. Maintenant, nous considérons une solution Sb de type Ba.
En effet, nous pouvons obtenir une solution Sf de type Am à partir de Sb en supprimant quelques
arcs et en ajoutant quelques autres et vice-versa, c-à-dire que nous pouvons obtenir une solution
de type Am à partir d’une solution de type Ba en recherchant pour chaque taxi, le meilleur point
de transfert. Notre idée principale est basée sur qu’au lieu de considérer des solutions de type
Am au cours du processus de recherche, nous considérons des solutions de type Ba seulement et
pour chaque solution Ba, nous calculons le coût de la solution Am correspondante à l’aide d’une
procédure de réparation (Repair Procedure). Donc, pendant la recherche, les mouvements sont
appliqués à des solutions de type Ba.
[Link] Motivation
Notre choix, pour utiliser cette technique, a été motivé parce que :
1. Il est considérablement plus facile de développer des opérateurs pour exploiter le voisinage
si nous considérons des solutions de type Ba que des solutions de type Am.
2. Le contrôle de faisabilité des solutions est plus facile, c’est-à-dire, on n’a pas besoin de
procédures qui consomment beaucoup de temps de calcul pour maintenir la faisabilité de
la solution.
3. Pendant la recherche, pour chaque solution Ba, nous calculons le coût amélioré de sa
solution Am correspondante, et dans ce cas là, la fonction objectif va guider la recherche
vers des solutions Am de bonne qualité [28].
4. En utilisant cette technique, une seule procédure (procédure de réparation) sera appliquée
à toutes les solutions pour améliorer sa qualité en maintenant toutes les contraintes.
68
4.3. Méthodologie de la solution
1. Solution initiale : dans chaque solution de type Ba, le taxi commence à partir de son
propre emplacement et se termine au HUB. Par conséquent, afin de générer une solution
Ba réalisable de bonne qualité, nous utilisons l’heuristique d’insertion suivante (Insertion
Technique (IT)). L’IT nous présentons peut être classée comme une nouvelle heuristique
constructive pour le problème CTSSP. Tout d’abord, la procédure commence par une solu-
tion S vide et nous définissons une liste de candidats (CL) initialement formée par tous les
arrêts de bus. Ensuite, nous construisons, pour chaque véhicule (taxi ou navette), une route
vide entre son emplacement et le HUB. Après cela, à chaque itération, l’IT évalue tous les
arrêts dans la CL, puis le meilleur est retourné. L’arrêt de bus est inséré dans la route
appropriée et retiré du CL. L’IT se termine lorsque tous les arrêts de bus sont ajoutés à la
solution S. En effet, l’IT évalue chaque arrêt de bus en recherchant sa meilleure position
d’insertion dans la solution partielle actuelle et la fitness de cet arrêt est égale exactement
au coût de cette insertion. En outre, dans notre cas, chaque véhicule possède son propre
coût fixe (le coût de l’utilisation), son propre coût variable (coût de routage ou de trans-
port) et la matrice de coût/distance est asymétrique. Par conséquence, tous ces critères
doivent être pris en compte dans le processus d’évaluation. Enfin, l’IT est décrite dans
l’Algorithme10.
69
4.3. Méthodologie de la solution
route.
• Le déplacement glouton 1 (G-OP1) : ce mouvement supprime un arrêt de sa route
et l’insère dans la meilleure position dans une autre route. G-OP1 respecte toutes les
contraintes.
• Le déplacement glouton 2 (G-OP2) : ce mouvement est similaire à G-OP1, mais il
peut violer la contrainte de temps de transport maximal de passagers.
• Le déplacement glouton 3 (G-OP3) : ce mouvement est similaire à G-OP1, mais il
peut violer la contrainte de capacité du véhicule.
• Le déplacement glouton-randomisé 1 (GR-OP1) : en utilisant ce mouvement, un arrêt
de bus b est retiré de sa route, puis une liste de candidats (RCL) est formée. RCL
contient les Kg meilleures positions d’insertion de b dans la solution. Après cela, une
position est choisie aléatoirement à partir de RCL et b est inséré dans cette position.
GR-OP1 respecte toutes les contraintes.
• Le déplacement glouton-randomisé 2 (GR-OP2) : ce mouvement est similaire à GR-
OP1, mais il peut violer la contrainte de temps de transport maximal de passagers.
• Le déplacement glouton-randomisé 3 (GR-OP3) : ce mouvement est similaire à GR-
OP1, mais il peut violer la contrainte de capacité du véhicule.
En outre, sauf OpR, tous les mouvements décrits ci-dessus sont effectués de façon exhaus-
tive, c’est-à-dire, après la suppression de l’arrêt de bus, toutes les positions dans toutes les
routes de la solution sont examinées.
70
4.3. Méthodologie de la solution
4. La liste Tabou : l’objectif principal de la liste Tabou est d’éviter de retourner vers les
mêmes solutions en mémorisant les solutions visitées dans les dernières itérations. La TS
applique ce principe de manière très simple, c’est-à-dire, à chaque itération nous ajoutons
la solution courante à la liste Tabou et chaque solution appartenant à la liste ne peut être
une solution courante, même si cette solution est la meilleure dans la structure de voisinage.
[Link] GRASP
La méthode GRASP (Greedy Randomized Adaptive Search Procedure) est une métaheuristique
itérative utilisée pour résoudre les problèmes d’optimisation combinatoire. Chaque itération de
GRASP se compose de deux phases, une procédure gloutonne randomisée (Greedy Randomized
Procedure (GRP)) et une recherche locale (Local Search (LS)) [39]. Dans la procédure gloutonne
randomisée, une solution réalisable de bonne qualité est construite en ajoutant progressivement
un élément à la fois. En commençant à partir d’une solution partielle vide, à chaque itération, les
éléments qui ne sont pas déjà insérés sont évalués en utilisant une fonction gloutonne, puis une
liste restreinte de candidats (RCL) est formée par les Kg meilleurs éléments. Ensuite, un élément
de RCL est choisi aléatoirement et est inséré dans la solution. Ces étapes sont répétées jusqu’à
ce que tous les éléments soient insérés. Dans la deuxième phase, la méthode GRASP utilise une
71
4.3. Méthodologie de la solution
recherche locale pour améliorer la qualité de la solution retournée par la phase précédente. Ces
deux phases sont répétées jusqu’à ce qu’un critère d’arrêt soit atteint, et finalement la meilleure
solution globale trouvée est retournée.
L’une de façon pour améliorer la méthode GRASP classique est d’ajouter un proces-
sus d’apprentissage (Learning Process LP). Le LP est un mécanisme qui permet au GRASP
d’exploiter les informations recueillies dans les itérations précédentes pour améliorer la qual-
ité de la solution. Dans ce qui suit, nous présentons les principales composantes du GRASP :
la procédure gloutonne randomisée, la recherche locale, le processus d’apprentissage et enfin la
méthode GRASP est décrite dans l’algorithme 12.
3. Le processus d’apprentissage : le LP est une partie très importante dans les algorithmes
itératifs parce qu’il conduit à des améliorations en terme de qualité de la solution. En outre,
la construction d’une solution initiale de haute qualité pour une recherche locale joue un rôle
très important dans le but de parvenir à de meilleures solutions [66, 84]. Par conséquent,
dans notre cas, l’objectif de LP est d’améliorer la convergence de GRASP en améliorant la
procedure GRP avec une méthode simple et efficace.
D’abord, la construction d’une solution de haute qualité consiste à insérer chaque arrêt
de bus dans la route appropriée. Sur la base de cette idée, le LP essaie de trouver, pour
chaque arrêt, une liste de routes dans lesquelles, l’insertion de cet arrêt dans une route
de cette liste conduite à une solution de bonne qualité. Pendant la recherche, le LP crée,
pour chaque arrêt de bus b, une liste Lb des routes dans lesquelles b a été affecté quand
une nouvelle meilleure solution est trouvée. Donc, à chaque itération GRP, chaque arrêt b
sera inséré dans une route choisie à partir de la liste Lb qui est formée dans les itérations
précédentes de GRASP, et donc une bonne solution de qualité sera construite.
Algorithme 12 GRASP
1: tant que (le critère d’arrêt non satisfait) faire
2: Sg ← Procédure_gloutonne_randomisée();
3: Sts ← Recherche_Tabou(Sg );
4: si (coût(Sts ) < coût(Sgbest )) alors
5: Sgbest ← Sts ;
6: fin si
7: fin tant que
8: retourner Sgbest ;
72
4.4. Expérimentation
Acronyme description
4.4 Expérimentation
Dans cette section, nous présentons les résultats obtenus par les algorithmes proposés. Les deux
algorithmes ont été codées en JAVA; toutes les expériences ont été menées sur un PC équipé
par un processeur Intel i7 avec 3.40 GHz et disposant d’une mémoire de 32Go. Pour tester les
performances des algorithmes proposés, nous générons un jeu de données avec 24 instances basés
sur les instances utilisées dans les étapes de VSC2015. Dans ce qui suit, d’abord, nous présentons
le réglage des paramètres et la procédure de génération de jeu de test, puis nous présentons les
résultats de la méthode TS et la contribution de chaque composant dans les résultats finaux.
Ensuite, une comparaison entre les méthodes TS, GRASP et GRASP-LP (GRASP avec LP) est
présentée. Enfin, pour valider notre approches avec la littérature, nous présentons les résultats
de la méthode GRASP-LP sur des jeux de données de VRP et d’OVRP. Dans le tableau 4.1,
nous donnons une liste des acronymes utilisés dans les expériences.
73
4.4. Expérimentation
seulement dans le nombre de passagers dans les arrêts de bus. En outre, les instances privées
ont un autre réseau, qui est diffèrent de celui des instances publiques. Donc, sur la base de ces
deux configurations, nous générons pour chaque réseau 12 instances en variant le nombre de
passagers dans chaque arrêt de bus. Tout d’abord, nous appelons le premier réseau par A et le
second par B. Par la suite, les instances de chaque réseau sont divisées en trois catégories 1,
2 et 3, et chaque catégorie dispose de 4 instances. Dans les instances de catégorie 1, tous les
arrêts de bus contiennent des passagers, et le nombre de passagers dans chaque arrêt est choisi
aléatoirement à partir de l’ensemble {1, 2, 3, 4} (en nous basant toujours nous basons sur la
méthode de génération du jury de VSC2015). Pour la catégorie 2, le pourcentage des arrêts de
bus qui ont des passagers est égal approximativement à 75%. Le nombre de passagers dans ces
arrêts est choisi aléatoirement à partir de l’ensemble {1, 2, 3, 4} et le nombre de passagers dans
les autres arrêts est égal à 0. Ainsi, nous utilisons la même méthode pour la catégorie 3, mais le
pourcentage des arrêts qui possèdent des passagers est égal approximativement à 40%. Au total,
nous obtenons 24 instances (8 petites, 8 moyennes et 8 grandes instances).
74
4.4. Expérimentation
TS GRASP GRASP-LP
Inst coût m-gap coût m-gap coût m-gap
A1 857870.64 02.1% 871199.33 02.05% 844280.79 04.5%
A2 848317.34 02.56% 866863.58 01.73% 859915.94 01.92%
A3 838253.64 01.9% 844017.15 01.7% 851466.3 01.07%
A4 845698.37 01.92% 851182.62 01.61% 839531.07 02.41%
A5 639782.74 02.26% 644979.09 01.84% 648085.96 01.51%
A6 622508.12 01.35% 621739.32 01.65% 623912.75 01.32%
A7 723079.2 02.35% 727536.41 01.6% 721780.68 02.38%
A8 669724.7 02.71% 683662.32 01.2% 680075.24 02.32%
A9 551457.25 01.7% 547694.45 02.62% 545857.19 01.92%
A10 442228.54 00.9% 442677.86 00.51% 440685.38 01.26%
A11 509050.33 01.01% 512539.93 00.85% 510144.63 00.94%
A12 471524.27 02.16% 474265.55 00.71% 472394.24 01.33%
B1 1382659.42 02.03% 1392157.41 02.8% 1397837.54 01.94%
B2 1320335.68 04.31% 1348925.74 03.97% 1351861.22 03.58%
B3 1358917.61 05.11% 1374003.66 04.74% 1383143.96 02.96%
B4 1366801.39 03.97% 1428376.87 02.55% 1417691.36 02.99%
B5 1116693.7 02.55% 1117308.25 03.34% 1121762.38 03.07%
B6 1003511.98 04.47% 1025229.82 02.94% 1015944.32 02.38%
B7 1087502.4 05.07% 1095053.35 04.4% 1102104.26 03.45%
B8 978376.75 04.75% 1007798.72 02.84% 1010840.14 02.19%
B9 602149.2 03.42% 599154.77 01.61% 598572.47 01.67%
B10 563001.24 02.32% 567894.57 01.1% 566122.36 01.23%
B11 715512.34 04.04% 717795.67 03.74% 729532.87 01.82%
B12 639636.91 04.35% 651911.74 02.63% 651905.84 03.9%
Moyenne 839774.74 02.89% 850582.01 02.28% 849393.70 02.25%
75
4.4. Expérimentation
76
4.5. Conclusion
4.5 Conclusion
Dans ce chapitre nous avons présenté une contribution au VSC2015 dont une nouvelle variante du
VRP appelée CTSSP (Coach Trip with Shuttle Service Problem, CTSSP) a été définie comme
étant le sujet de ce challenge. Pour résoudre le problème CTSSP, Nous avons proposé deux
algorithmes, une recherche Tabou (TS) et une heuristique de type GRASP (Greedy Randomized
Adaptive Search Procédure (GRASP)). La TS a été soumis au cours des étapes de qualification
du VSC2015 et elle a été déclarée comme vainqueur du deuxième prix parmi 16 participants. En
outre, pour encore tester et évaluer les algorithmes proposés, nous avons généré un nouveau jeu
de données en nous basant sur les instances utilisés dans VSC2015. D’abord, la méthode TS a été
expérimentée en montrant la contribution de chaque composant dans la méthode. Ensuite, la TS
a été comparée avec les méthodes GRASP et GRASP-LP. Bien que, ces méthodes ont été plus
stable que TS, la TS a été en mesure de trouver de meilleures solutions. Enfin, pour valider nos
approches proposées avec la littérature, la méthode GRASP-LP a été exécutée sur des instances
de VRP et d’OVRP. Les bons résultats obtenus ont montré l’efficacité de la méthode proposée.
77
4.5. Conclusion
78
Conclusion générale
La conception des systèmes de transport et de distribution est l’une des tâches les plus im-
portantes dans la chaîne logistique. En effet, pour les entreprises cette tâche est devenue in-
dispensable dont le but est d’améliorer sa productivité, sa performance et, par conséquent, sa
compétitivité. Cependant, cette conception nécessite d’importants efforts afin de modéliser et de
résoudre de nombreux problèmes liés à ces systèmes. Dans le cadre de cette thèse, nous avons
proposé et validé des méthodes pour résoudre trois problèmes liés à la logistique de transport et
de distribution, à savoir le problème de localisation-routage à grande échelle avec contrainte de
capacité, le problème d’élaboration des tournées avec gestion de stock multi-véhicules et multi-
produits et une variante du problème d’élaboration des tournées qui représente un cas réel de
transport de passagers.
Dans le premier chapitre, nous avons présenté un état de l’art sur les chaînes logistiques en
nous concentrant sur les problèmes d’optimisation de base qui constituent le noyau des prob-
lèmes étudiés dans cette thèse. Nous avons décrit en détail ces problèmes liés principalement à
la logistique de distribution et de transport, à savoir le problème de localisation, le problème
d’élaboration des tournées de véhicules et le problème de gestion de stock. En outre, nous avons
présenté les deux problèmes résultants en intégrant deux problèmes de base, à savoir le problème
de localisation-routage et le problème de routage avec gestion de stock. Enfin, nous avons donné
un aperçu sur les outils d’optimisation des chaînes logistiques.
Notre première contribution a été présentée dans le deuxième chapitre où une nouvelle heuris-
tique en deux phases pour le problème de localisation-routage avec contrainte de capacité a été
introduite. Notre objectif a été de développer des algorithmes qui sont en mesure de trouver des
solutions de bonne qualité dans un temps de calcul réduit pour des instances de grande taille.
L’algorithme proposé combine la recherche Tabou et le recuit simulé. La recherche Tabou est
utilisée pour la résolution du sous-problème de routage et le recuit simulé est utilisé pour résoudre
le sous-problème de localisation. Les résultats de notre algorithme ont été comparés, avec succès,
avec les résultats de deux algorithmes de la littérature en utilisant un jeu de données standard.
L’expérimentation a montré que notre algorithme est plus performant que ces deux méthodes
dans la mesure où des meilleures solutions pour 16 instances (à partir des 27 instances de jeu
d’essai) ont été trouvées. En outre, l’expérimentation a montré que, grâce au recuit simulé, le
point-clé du succès de la méthode a été le choix des bons dépôts dans la deuxième phase.
Notre deuxième contribution a été présentée dans le troisième chapitre où nous avons abordé
le problème de l’élaboration des tournées avec gestion de stock multi-périodes multi-véhicules
79
multi-produits en utilisant une heuristique basée sur la métaheuristique GRASP (appelée GBH).
En effet, la GBH se compose de deux grandes phases. La première est une heuristique gloutonne
randomisée qui construit une solution réalisable de bonne qualité en cherchant un compromis
entre le coût de routage et le coût de stockage. La deuxième phase est une recherche locale
utilisée pour améliorer la solution obtenue dans la phase précédente. En plus, comme recherche
locale, nous avons utilisé la recherche Tabou. D’abord, la performance du GBH a été testée sur
le jeu de données standard de Coelho et Laporte (2013b) [22] avec 135 instances et les résultats
obtenus ont été comparés avec les résultats de leur algorithme de type Branch-&-Cut (B&C).
Les résultats ont été satisfaisants et la GBH a été plus performante que le B&C. Nous avons
obtenu 40 nouvelles meilleures solutions pour des instances de grande taille. En plus, le temps de
calcul du GBH a été largement inférieur par rapport au temps de calcul du B&C. En outre, afin
de montrer encore l’efficacité de GBH, elle a été adaptée pour résoudre la variante de MMIRP
abordée dans Cordeau et al. (2015) [27] et ses résultats ont été comparés, avec succès, avec les
résultats de l’heuristique de décomposition et de B&C. Les résultats ont montré que, la GBH est
meilleure que les deux algorithmes proposés.
Dans le quatrième chapitre, nous avons présenté une contribution au VSC2015 (Verolog Solver
Challenge 2015) dont une nouvelle variante du VRP appelée CTSSP (Coach Trip with Shuttle
Service Problem, CTSSP) a été définie comme étant le sujet de ce challenge. En fait, nous avons
proposé deux algorithmes de résolution : une recherche Tabou, avec laquelle nous avons participé
au VSC2015, et une heuristique de type GRASP. Pour évaluer et tester les algorithmes proposés,
nous avons généré un nouveau jeu de données en se basant sur les instances (qui représentent des
cas réel) utilisées dans VSC2015. D’abord, la TS a été expérimentée en montrant la contribution
de chaque composant de la méthode. Ensuite, la TS a été comparée avec la méthode GRASP.
Enfin, pour valider nos approches proposées avec la littérature, la méthode GRASP a été exécutée
sur des instances de VRP et de OVRP. Bien que, la méthode GRASP a été développée pour une
variante qui est différente du VRP et d’OVRP (en comparant les caractéristiques de CTSSP avec
les caractéristiques du VRP et d’OVRP), les bons résultats trouvés ont montré son efficacité. En
plus, la TS a été déclarée vainqueur du deuxième prix parmi 16 participants au VSC2015.
2. Une autre méthode pour le problème de localisation-routage étudié dans le chapitre deux,
en améliorant la phase d’élaboration des tournées dans l’algorithme proposé.
4. D’autres heuristiques pour le problème de routage avec gestion de stock étudié dans le
troisième chapitre.
80
6. D’autres heuristiques pour le problème étudié dans le chapitre quatre, comme par exemple
la recherche à grand voisinage (en anglais, Large Neighborhood Search)
7. De combiner la méthode de recherche Tabou proposée dans le chapitre quatre avec une
méthode évolutionnaire afin d’améliorer les résultats obtenus.
81
Bibliographie
[2] T. F Abdelmaguid. Heuristic approaches for the integrated inventory distribution problem.
PhD thesis, University of Southern California, Los Angeles, USA, 2004.
[5] Z. Akca, R. T Berger, and T. K Ralphs. Operations Research and Cyber-Infrastructure, vol-
ume 47, chapter A branch-and-price algorithm for combined location and routing problems
under capacity restrictions, pages 309–330. Springer, 2009.
[6] A. C F Alvim and E. D Taillard. POPMUSIC for the world location-routing problem.
EURO Journal on Transportation and Logistics, 2(3):231–254, 2013.
[7] C. Archetti, L. Bertazzi, A. Hertz, and M. G Speranza. A hybrid heuristic for an inventory
routing problem. INFORMS Journal on Computing, 24(1):101–116, 2012.
[10] K. Bahloul. Optimisation combinée des coûts de transport et de stockage dans un réseau
logistique dyadique, multi-produits avec demande probabiliste. Thèse de doctorat, INSA
de Lyon, France, 2011.
[11] S. Basu and D. Ghosh. A review of the tabu search literature on traveling salesman
problems. Technical report, No. 2008-10-01, Indian Institute of Management Ahmedabad,
India, 2008.
82
[13] A. Bekrar. Résolution du problème de placement en deux dimensions : heuristiques, bornes
inférieures et méthodes exactes. Thèse de doctorat, Université de Technologie de Troyes,
France, 2007.
[14] J. M Belenguer, E. Benavent, C. Prins, C. Prodhon, and R. Wolfler Calvo. A branch-
and-cut method for the capacitated location-routing problem. Computers and Operations
Research, 38(6):931–941, 2011.
[15] L. Bouhafs, A. Hajjam, and A. Koukam. Knowledge-Based Intelligent Information and
Engineering Systems, volume 4251, chapter A combination of simulated annealing and ant
colony system for the capacitated location-routing problem, pages 409–416. Springer, 2006.
[16] A. M Campbell and M. W P Savelsbergh. A decomposition approach for the inventory-
routing problem. Transportation Science, 38(4):488–502, 2004.
[17] Y. Chan and S. F Baker. The multiple depot, multiple traveling salesmen facility-location
problem: Vehicle range, service frequency, and heuristic implementations. Mathematical
and Computer Modelling, 41(8 - 9):1035–1053, 2005.
[18] C. H Chen and C. J Ting. A hybrid lagrangian heuristic/simulated annealing algorithm
for the multi-depot location routing problem. Journal of the Eastern Asia Society for
Transportation Studies, 7:961–974, 2007.
[19] N. Christofides, A. Mingozzi, and P. Toth. Combinatorial Optimization, chapter The vehicle
routing problem, pages 315–338. Wiley, 1979.
[20] L. C Coelho, J. F Cordeau, and G. Laporte. Consistency in multi-vehicle inventory-routing.
Transportation research part c: emerging technologies, 24:270–287, 2012.
[21] L. C Coelho, J. F Cordeau, and G. Laporte. The inventory-routing problem with trans-
shipment. Computers & Operations Research, 39(11):2537–2548, 2012.
[22] L. C Coelho and G. Laporte. A branch-and-cut algorithm for the multi-product multi-
vehicle inventory-routing problem. International Journal of Production Research, 51(23-
24):7156–7169, 2013.
[23] L. C Coelho and G. Laporte. The exact solution of several classes of inventory-routing
problems. Computers & operations research, 40(2):558–565, 2013.
[24] L. C Coelho and G. Laporte. Thirty years of inventory-routing. Transportation Science,
48(1):001–019, 2014.
[25] C. Contardo. Models and algorithms for the capacitated location-routing problem. PhD
thesis, University of Montreal, Canada, 2011.
[26] C. Contardo, J. F Cordeau, and B. Gendron. A GRASP + ILP-based metaheuristic for
the capacitated location-routing problem. Journal of Heuristics, 20(1):1–38, 2014.
[27] J. F Cordeau, D. Laganà, R. Musmanno, and F. Vocaturo. A decomposition-based heuristic
for the multiple-product inventory-routing problem. Computers & Operations Research,
55:153–166, 2015.
[28] J. F Cordeau and G. Laporte. A tabu search heuristic for the static multi-vehicle dial-a-ride
problem. Transportation Research Part B, 37(06):579–594, 2003.
83
[29] G. B Dantzig and J. H Ramser. The truck dispatching problem. Management Sciences,
6(1):80–91, 1959.
[30] M. S Daskin, L. V Snyder, and R. T Berger. Facility Location in Supply Chain Design.
Working Paper No. 03-010, Department of Industrial Engineering and Management Sci-
ences, Northwestern University, Evanston, Illinois, USA, 2003.
[31] H. Derbel, B. Jarboui, H. Chabchoub, S. Hanafi, and N. Mladenovic. A variable neighbor-
hood search for the capacitated location-routing problem. In LOGISTIQUA, 4th interna-
tional conference on logistics, pages 514–519, 2011.
[32] G. Desaulniers, J. G Rakke, and L. C Coelho. A branch-price-and-cut algorithm for
the inventory-routing problem. Technical report, GERAD, Technical report G-2014-12,
Canada, 2014.
[33] K. Doerner, W. Heid, and D. Vigo. Verolog solver challenge 2015: prob-
lem description. [Link]
verolog-solver-challenge-2015, 2015.
[34] M. Drexl and M. Schneider. A survey of location-routing problems. Technical report, No.
LM-2013-03, Johannes Gutenberg University, Mainz, 2013.
[35] I. Harbaoui Dridi. Optimisation heuristique pour la résolution du m-PDPTW statique
et dynamique. Thèse de doctorat, l’école Centrale de Lille, France et l’école Nationale
d’Ingénieurs de Tunis, Tunisie, 2010.
[36] C. Duhamel, P. Lacomme, C. Prins, and C. Prodhon. A GRASP × ELS approach for the
capacitated location routing problem. Computers and Operations Research, 37(11):1912–
1923, 2010.
[37] J. W Escobar, R. Linfati, and P. Toth. A two-phase hybrid heuristic algorithm for the
capacitated location-routing problem. Computers and Operations Research, 40(1):70–79,
2013.
[38] E. A Feigenbaum and j. Feldman. Computers and thought. McGraw-Hill, Inc. New York,
NY, USA, 1963.
[39] T. A Feo and M. G C Resende. Greedy randomized adaptive search procedures. Journal
of Global Optimization, 6(2):109–133, 1995.
[40] F. Galasso. Aide à la planification dans les chaînes logistiques en présence de demande
flexible. Thèse de doctorat, l’Institut National Polytechnique de Toulouse, France, 2007.
[41] R. Ganeshan and T. P Harrison. An introduction to supply chain management. Department
of Management Sciences and Information Systems, Penn State University, University Park,
PA, USA, 1995.
[42] A. Gherboudj. Méthodes de résolution de problèmes difficiles académiques. Thèse de doc-
torat, Université de Constantine 2, Algérie, 2013.
[43] F. Glover. Tabu search - part I. ORSA Journal on Computing, 1(3):190–206, 1989.
[44] F. Glover, E. Taillard, and D. D Werra. A user’s guide to tabu search. Annals of Operations
Research, 41(1):3–28, 1993.
84
[45] M. G Granada and C. W Silva. Inventory location routing problem: A column generation
approach. In Proceedings of the International Conference on Industrial Engineering and
Operations Management, Istanbul, Turkey, pages 482–491, 2012.
[46] E. Grellier. Optimisation des tournées de véhicules dans le cadre de la logistique inverse
: modélisation et résolution par des méthodes hybrides. Thèse de doctorat, Université de
Nantes, France, 2008.
[47] O. Guemri and A. Bekrar. An improved tabu search heuristic algorithm for the coach
trip with shuttle service problem. In 4th Meeting of the EURO Working Group on Vehicle
Routing and Logistics Optimization, Vienne. Invited talk as finalist of the VeRoLog Solver
challenge, 2015.
[49] O. Guemri, B. Beldjilali, A. Bekrar, and G. Belalem. Two-stage heuristic algorithm for the
large-scale capacitated location routing problem. International Journal of Mathematical
Modeling and Numerical Optimizations, 7(1):97–119, 2016.
[50] A. Hammami. Modélisation technico-économique d’une chaîne logistique dans une en-
treprise réseau. Thèse de doctorat en cotutelle, l’ école Nationale Supérieure des Mines de
Saint-Etienne, France et l’Université de Laval, Canada, 2003.
[52] T. Harks, F. G Konig, and J. Matuschke. Approximation algorithms for capacitated loca-
tion routing. Transportation Science, 47(1):3–22, 2013.
[54] M. H Hugos. Essentials of supply chain management. John Wiley and Sons, 2003.
[55] S. Ben Ismail, F. Legras, and G. Coppin. Synthèse du problème de routage de véhicules.
Technical report, Collection des rapports de recherche de Télécom Bretagne, RR-2011-03-
LUSSI, France, 2011.
[57] A. A Javid and N. Azad. Incorporating location, routing and inventory decisions in sup-
ply chain network design. Transportation Research Part E: Logistics and Transportation
Review, 46(5):582–597, 2010.
[58] A. Jokar and R. Sahraeian. An iterative two phase search based heuristic to solve the
capacitated location-routing problem. Australian Journal of Basic and Applied Sciences,
5(12):1613–1621, 2011.
85
[59] A. Jokar and R. Sahraeian. A heuristic based approach to solve a capacitated location-
routing problem. Journal of Management and Sustainability, 2(2):219–226, 2012.
[62] S. Kande. Etude et résolution de problèmes de planification dans des réseaux logistiques
multi-échelons. Thèse de doctorat, l’Université de Technologie de Troyes, France, 2015.
[65] G. Laporte. Fifty years of vehicle routing. Transportation Science, 43(4):408–416, 2009.
[66] A. Layeb, M. Ammi, and S. Chikhi. A GRASP algorithm based on new randomized
heuristic for vehicle routing problem. Journal of Computing and Information Technology,
21(1):35–46, 2013.
[67] H. L Lee and C. Billington. Material management in decentralized supply chain. Operations
Research, 41(5):835–847, 1993.
[68] A. Lemouari and O. Guemri. A two-phase scheduling method combined to the tabu search
for the DARP. International Journal of Applied Metaheuristic Computing, 5(2):1–21, 2014.
[69] F. Li, B. Golden, and E. Wasil. The open vehicle routing problem: algorithms, large scale
test problems, and computational results. Computers & Operations Research, 34(10):2918–
2930, 2007.
[71] Y. Marinakis and M. Marinaki. A bilevel genetic algorithm for a real life location routing
problem. International Journal of Logistics Research and Applications, 11(1):49–65, 2008.
[72] Y. Marinakis and M. Marinaki. A particle swarm optimization algorithm with path relink-
ing for the location routing problem. Journal of Mathematical Modelling and Algorithms,
7(1):59–78, 2008.
[74] A. Mjirda. Recherche à voisinage variable pour des problèmes de routage avec ou sans
gestion de stock. Thèse de doctorat, Université de Valenciennes et du Hainaut-Cambrésis,
France, 2014.
86
[75] A. Mjirda, B. Jarboui, R. Macedo, S. Hanafi, and N. Mladenovic. A two phase variable
neighborhood search for the multi-product inventory routing problem. Computers & Op-
erations Research, 52:291–299, 2014.
[76] N. H Moin, S. Salhi, and N. A B Aziz. An efficient hybrid genetic algorithm for the
multi-product multi-period inventory routing problem. International Journal of Production
Economics, 133(1):334–343, 2011.
[77] Z. Mouloua. Ordonnancements coopératifs pour les chaînes logistiques. Thèse de doctorat,
l’Institut National Polytechnique de Lorraine, France, 2007.
[78] G. Nagy and S. Salhi. Location-routing: Issues, models and methods. European Journal
of Operational Research, 177(2):649–672, 2007.
[80] J. Pons and P. Chevalier. La logistique intégrée. Hermes Science Publications, 1993.
[81] D. Popovic, M. Vidovic, and G. Radivojevic. Variable neighborhood search heuristic for the
inventory routing problem in fuel delivery. Expert Systems with Applications, 39(18):13390–
13398, 2012.
[82] C. Prins, C. Prodhon, A. Ruiz, P. Soriano, and R. Wolfler-Calvo. Solving the capaci-
tated location-routing problem by a cooperative lagrangian relaxation-granular tabu search
heuristic. Transportation Science, 41(4):470–483, 2007.
[84] C. Prins, C. Prodhon, and R. Wolfler-Calvo. Solving the capacitated location routing
problem by a GRASP complemented by a learning process and a path relinking. 4OR: A
Quarterly Journal of Operations Research, 4(3):221–238, 2006.
[86] C. Prodhon and C. Prins. A survey of recent research on location-routing problems. Eu-
ropean Journal of Operational Research, 238(1):01–17, 2014.
[88] S. Salhi and G. K Rand. The effect of ignoring routes when locating depots. European
Journal of Operational Research, 39(2):150–156, 1989.
87
[90] P. Schittekat and K. Sorensen. Or practice-supporting 3PL decisions in the automotive in-
dustry by generating diverse solutions to a large-scale location-routing problem. Operations
Research, 57(5):1058–1067, 2009.
[91] J. M Segura. Localisation et affectation : application aux réseaux de contenus. Thèse de
doctorat, Université Pierre et Marie Curie (Paris 6), Paris, France, 2011.
[92] O. Solyali and H. Sural. A branch-and-cut algorithm using a strong formulation and an
a priori tour based heuristic for an inventory-routing problem. Transportation Science,
45(3):335–345, 2011.
[93] A. Stenger, M. Schneider, and S. Enz. A hybrid GRASP × VNS algorithm with effective
depot reduction mechanism for the capacitated location routing problem. Technical report,
No. 01/2011, IT-based Logistics, Goethe University Frankfurt, 2011.
[94] M. Sun. Solving the uncapacitated facility location problem using tabu search. Computers
& Operations Research, 33(9):2563–2589, 2006.
[95] E. Taillard. Parallel iterative search methods for vehicle routing problems. Networks,
23(8):661–673, 1993.
[96] G. A Tanonkou. Une approche par relaxation lagrangienne pour l’optimisation d’un réseau
de distribution : modèles stochastiques et fiables. Thèse de doctorat, Université Paul
Verlaine, Metz, France, 2007.
[97] R. Teigen and M. Barbuceanu. The Supply Chain Demonstrator. Enterprise Integration
Laboratory, University of Toronto, Canada, 1996.
[98] C. J Ting and C. H Chen. A multiple ant colony optimization algorithm for the capacitated
location routing problem. International Journal of Production Economics, 141(1):34–44,
2013.
[99] P. Toth and D. Vigo. The vehicle routing problem. Society for Industrial and Applied
Mathematics, Philadelphia, PA, USA, 2001.
[100] D. Tuzun and L. I Burke. A two-phase tabu search approach to the location routing
problem. European Journal of Operational Research, 116(1):87–99, 1999.
[101] E. Uchoa, D. Pecin, A. Pessoa, M. Poggi, A. Subramanian, and T. Vidal. New benchmark
instances for the capacitated vehicle routing problem. Optimization Online: an eprint for
the optimization community, [Link]
[Link], 2014.
[102] P. Vallin. La logistique : modèles et méthodes du pilotage des flux. Economica, 2003.
[103] NEVEN WORKGROUP. Performance Indicators in Logistics. IFS Publications, Springer-
Verlag, 1989.
[104] V. F Yu, S. W Lin, W. Lee, and C. J Ting. A simulated annealing heuristic for the
capacitated location routing problem. Computers & Industrial Engineering, 58(2):288–
299, 2010.
[105] Y. Yu, H. Chen, and F. Chu. A new model and hybrid approach for large-scale inventory
routing problems. European Journal of Operational Research, 189(3):1022–1040, 2008.
88
[106] E. E Zachariadis and C. T Kiranoudis. An open vehicle routing problem metaheuristic for
examining wide solution neighborhoods. Computers & Operations Research, 37(4):712–723,
2010.
89
Résumé
Dans le cadre de cette thèse nous présentons des algorithmes pour résoudre des
problèmes liés à la logistique de distribution et de transport. Premièrement, nous
développons un algorithme en deux phases pour résoudre le problème de localisation-
routage avec contrainte de capacité en utilisant la recherche Tabou et le recuit simulé.
Ensuite, nous traitons le problème d’élaboration de tournées avec gestion de stock
multi-périodes, multi-produits et multi-véhicules en proposant un algorithme (appelé
GBH) basé sur la métaheuristique GRASP (Greedy Randomized Adaptive Search
Procedure). Pour améliorer la méthode GRASP classique, nous utilisons la recherche
Tabou comme recherche locale dans le GBH. Dans notre troisième contribution, nous
développons deux algorithmes pour faire face à une nouvelle variante du problème
d’élaboration de tournées des véhicules appelée le problème de routage de navettes et
de taxis (Coach Trip with Shuttle Service Problem, CTSSP).Le premier algorithme est
une recherche Tabou et le second est une méthode GRASP. Les expériences montrent
que les algorithmes proposés et comparés avec succès avec plusieurs méthodes de la
littérature donnent de meilleurs résultats.
Mots-clés :