Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui...

101
Département d’Informatique Laboratoire d’Informatique d’Oran (LIO) 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 Proposition de solutions pour l'optimisation des chaînes logistiques Soutenue le 23/01/2017 à 10h devant un Jury composé de : 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- Abbes Examinateur Mr. Mohamed Fayçal KHELFI Professeur, Université d’Oran 1, Ahmed BenBella Examinateur Mr. Ghalem BELALEM Professeur, Université d’Oran 1, Ahmed BenBella Invité Année universitaire 2016/2017

Transcript of Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui...

Page 1: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Département d’Informatique

Laboratoire d’Informatique d’Oran (LIO)

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

Proposition de solutions pour l'optimisation

des chaînes logistiques

Soutenue le 23/01/2017 à 10h devant un Jury composé de :

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-

Abbes

Examinateur

Mr. Mohamed Fayçal KHELFI Professeur, Université d’Oran 1, Ahmed BenBella Examinateur

Mr. Ghalem BELALEM Professeur, Université d’Oran 1, Ahmed BenBella Invité

Année universitaire 2016/2017

Page 2: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Remerciements

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.

J’exprime ma profonde gratitude et mes très sincères remerciements à Monsieur

Ghalem BELALEM, Professeur à l’Université d’Oran 1, Ahmed BenBella, pour m’avoir

honoré en faisant partie du jury de cette thèse. Je le remercie aussi pour sa disponibilité,

ses conseils, ses orientations et ses remarques.

Mes sincères remerciements et ma profonde gratitude s’adressent à Monsieur

Karim BOUAMRANE, Professeur à l’Université d’Oran 1, Ahmed BenBella pour m’avoir

honoré en acceptant d’être président de mon jury de thèse.

J’adresse aussi ma gratitude et mes remerciements les plus profonds à Monsieur

Mohamed BENYETTOU, Professeur à l’Université des Sciences et de la Technologie

d'Oran, Mohamed Boudiaf pour m’avoir honoré en acceptant d’évaluer et d’examiner

cette thèse.

J’adresse également mes remerciements les plus sincères et ma reconnaissance à

Monsieur Zakaria El-BERRICHI, Professeur à l’Université de Sidi Bel-Abbès, Djilali

Liabès pour m’avoir honoré en acceptant de participer à mon jury de thèse et d’évaluer ce

travail.

Page 3: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Mes remerciements les plus vifs et ma gratitude vont également à monsieur

Mohamed Fayçal KHELFI, Professeur à l’Université d’Oran 1, Ahmed BenBella pour

l’honneur qui m’a fait en acceptant de faire partie de mon jury de thèse.

Je voudrais aussi exprimer ma grande reconnaissance et ma profonde gratitude à

monsieur Larbi SEKHRI, Professeur à l’Université d’Oran 1, Ahmed BenBella pour

m’avoir honoré en acceptant d’examiner et d’évaluer cette thèse.

J’exprime mes vifs remerciements et mes reconnaissances à Monsieur

Abdelghani BEKRAR, maitre des conférences à l’Université de Valenciennes, France et à

Monsieur Damien TRENTESAUX, Professeur à l’Université de Valenciennes, France

pour m’avoir accueilli au sein de leur laboratoire. Je les remercie aussi pour ses

remarques, leur soutien moral et scientifique tout au long de cette thèse et les discussions

constructives qu’on a faites.

Enfin mes sincères remerciements à tous ceux qui m’ont encouragé, aidé et soutenu.

Page 4: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 : Optimisation combinatoire, Métaheuristiques, Recherche Tabou, GRASP,

Recuit simulé, Chaînes logistique, Problèmes de transport, Routage des véhicules,

Localisation-routage, Routage avec gestion de stock.

ملخص

السل اللوجستٌة حٌث ه االطروحة اقترحنا بعض خوارزمٌات التقرٌبٌة لحل مشاكل التحسٌن فً السذخالل ه

كان اهتمامنا منصبا علً الجزء المتعلق بمشاكل النقل و التوزٌع. اوال قمنا باقتراح خوارزمٌة تقرٌبه من

بحٌث المرحلة االولى كانت مخصصة لحل مشكلة التوجٌه ،مرحلتٌن لحل مشكلة تحدٌد المواقع مع التوجٌه

محاكاةطرٌقة باستعمال طرٌقة البحث طابو اما الثانٌة فكانت مخصصة لحل مشكلة تحدٌد المواقع باستعمال

-ثانٌا قمنا باقتراح خوارزمٌة تقرٌبٌة من نوع غراسب لحل مشكلة التوجٌه مع تسٌٌر المخزون متعددة الصلب.

ه الخوارزمٌة عن طرٌق تعوٌض البحث ذ، كما قمنا بتحسٌن هالمنتجات-المراحل و متعددة-ددةالسٌارات متع

بطرٌقة البحث طابو. ثالثا قمنا بدراسة مشكلة توجٌه ي ٌستعمل غالبا فً طرق الغراسب(ذالمحلً الكالسٌكً )ال

مٌة من نوع غراسب. بعد من نوع طابو و خوارز خوارزمٌة: جدٌدة و اقترحنا خوارزمٌتٌن تقرٌبٌتٌن لحلها

تجربها، اعطت الخوارزمٌات التً قمنا بتطوٌرها نتائج جٌدة و اثبتت كفاءتها بالمقارنة مع نظٌراتها المقترحات

سابقا فً اآلداب.

طرٌقة ، طرٌقة البحث غراسب،طرٌقة البحث طابو التقرٌبٌة، الطرق التوافقً، التحسٌن :المفتاحية الكلمات

ه، مشكلة ٌالسالسل اللوجستٌة، مشاكل النقل، مشكلة التوجٌه، مشكلة تحدٌد المواقع مع التوج الصلب، محاكاة

التوجٌه مع تسٌٌر المخزون.

Page 5: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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.

Key words: Combinatorial optimization, Meta-heuristics, Tabu search, GRASP,

Simulated annealing, Supply chains, Transportation problems, Vehicle routing,

Location Routing, Inventory Routing.

Page 6: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

I

Page 7: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Table des matières

Table des figures VI

Liste des tableaux VII

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

Chapitre 1 Etat de l’art sur la chaîne logistique: localisation, routage et gestion

de stock 4

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.1.1 Le problème de localisation sans contrainte de capacité (Unca-

pacitated Facility Location Problem, UFLP) . . . . . . . . . . . 7

1.3.1.2 Modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3.1.3 Les variantes du problème de localisation sans contrainte de ca-

pacité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3.2 Le problème de tournées de véhicules . . . . . . . . . . . . . . . . . . . . . 9

1.3.2.1 Le problème du voyageur de commerce . . . . . . . . . . . . . . 9

1.3.2.2 Définition du problème VRP . . . . . . . . . . . . . . . . . . . . 9

1.3.2.3 Formulation mathématique . . . . . . . . . . . . . . . . . . . . . 9

1.3.2.4 Quelques variantes du VRP . . . . . . . . . . . . . . . . . . . . . 10

II

Page 8: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3.3 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3.4 Intégration entre les problèmes . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.4.1 Problème de localisation-routage (Location Routing Problem

(LRP)) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

1.3.4.2 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

1.4.2.1 Heuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.2.2 Metaheuristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.2.3 Algorithmes à performance garantie . . . . . . . . . . . . . . . . 18

1.4.2.4 Approches hybrides . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

Chapitre 2 Algorithme en deux phases pour le problème de localisation-routage

avec contrainte de capacité 20

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.1.1 L’Heuristique d’Insertion (HI) . . . . . . . . . . . . . . . . . . . 25

2.4.1.2 La recherche Tabou (TS) . . . . . . . . . . . . . . . . . . . . . . 26

2.4.2 La deuxième phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.4.2.1 Recuit simulé (Simulated Annealing (SA)) . . . . . . . . . . . . 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

Chapitre 3 Résolution de problème de routage avec gestion de stock à base de la

méthode GRASP 39

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.2 Revue de la littérature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

III

Page 9: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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.4.1 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.4.4.2 Les phases de GRP . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.4.5 Recherche Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.5.1 Structure de voisinage . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.5.2 Le moteur de sélection . . . . . . . . . . . . . . . . . . . . . . . . 49

3.4.5.3 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

Chapitre 4 Algorithmes pour le problème de routage de navettes et de taxis 63

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.1.1 Difficultés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.3.1.2 L’approche proposée . . . . . . . . . . . . . . . . . . . . . . . . . 66

4.3.1.3 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.1.4 Procédure de réparation . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.2 Algorithmes pour le CTSSP . . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.3.2.1 Recherche Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4.3.2.2 GRASP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

IV

Page 10: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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.4.5.1 La méthode GRASP-LP sur les instances de VRP . . . . . . . . 76

4.4.5.2 La méthode GRASP-LP sur les instances d’OVRP . . . . . . . . 77

4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77

Conclusion générale 79

Bibliographie 82

V

Page 11: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Table des figures

1.1 Structure générale d’une chaîne logistique . . . . . . . . . . . . . . . . . . . . . . 61.2 Classification de méthodes d’optimisation . . . . . . . . . . . . . . . . . . . . . . 16

2.1 Exemple d’une solution pour l’UFLP. . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.1 Un exemple d’une solution pour le CTSSP . . . . . . . . . . . . . . . . . . . . . . 654.2 Difficultés de résolution de CTSSP : exemple 1 . . . . . . . . . . . . . . . . . . . 664.3 Difficultés de résolution de CTSSP : exemple 2 . . . . . . . . . . . . . . . . . . . 674.4 Difficultés de résolution de CTSSP : exemple 3 . . . . . . . . . . . . . . . . . . . 67

VI

Page 12: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Liste des tableaux

2.1 Méthodes proposées pour le CLRP . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2 Le jeu de données de Harks et al. (2013) [52] . . . . . . . . . . . . . . . . . . . . 342.3 Les résultats de 2-SH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352.4 Les résultats de Approx et Approx-LKH [52] . . . . . . . . . . . . . . . . . . . . 362.5 2-SH vs. Approx et Approx-LKH . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

3.1 Les notations utilisées dans la Procédure gloutonne randomisée . . . . . . . . . . 463.2 GBH Vs. B&C sur les instances avec K = 1 & M = 1 . . . . . . . . . . . . . . . 533.3 GBH Vs. B&C sur les instances avec K = 3 & M = 1 . . . . . . . . . . . . . . . 543.4 GBH Vs. B&C sur les instances avec K = 5 & M = 1 . . . . . . . . . . . . . . . 543.5 GBH Vs. B&C sur les instances avec K = 1 & M = 3 . . . . . . . . . . . . . . . 553.6 GBH Vs. B&C sur les instances avec K = 3 & M = 3 . . . . . . . . . . . . . . . 553.7 GBH Vs. B&C sur les instances avec K = 5 & M = 3 . . . . . . . . . . . . . . . 563.8 GBH Vs. B&C sur les instances avec K = 1 & M = 5 . . . . . . . . . . . . . . . 563.9 GBH Vs. B&C sur les instances avec K = 3 & M = 5 . . . . . . . . . . . . . . . 573.10 GBH Vs. B&C sur les instances avec K = 5 & M = 5 . . . . . . . . . . . . . . . 573.11 GBH Vs. B&C en regroupant les instances . . . . . . . . . . . . . . . . . . . . . . 583.12 Résultats d’analyse de comportement de GBH . . . . . . . . . . . . . . . . . . . . 593.13 GBH Vs. B&C et DH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

4.1 Liste des acronymes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.2 La contribution de chaque composant de TS . . . . . . . . . . . . . . . . . . . . . 744.3 TS Vs. GRASP Vs. GRASP-LP . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.4 Les résultats de GRASP-LP sur les instances de VRP . . . . . . . . . . . . . . . 774.5 Les résultats de GRASP-LP sur les instances d’OVRP . . . . . . . . . . . . . . . 78

VII

Page 13: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Introduction générale

1 Contexte de la thèse

De nos jours, dans un environnement économique de plus en plus concurrentiel, l’optimisationdes chaînes logistiques occupe une place importante dans la vie industrielle des entreprises. Lebut étant l’amélioration de leur compétitivité en optimisant leurs performances et en réduisantleurs coûts. En effet, la chaîne logistique englobe toutes les tâches réalisées pour la productiond’un service ou d’un produit, à savoir l’approvisionnement, la transformation, le stockage, et ladistribution. Bien que, la chaîne logistique englobe toutes ces tâches, des études ont montré queles coûts de transport et de distribution constituent le tiers des coûts opérationnels d’une chaînelogistique [77, 54]. Par conséquence, depuis plusieurs années, un nombre croissant d’entrepriseset de chercheurs constatent les bénéfices de l’optimisation de la logistique de distribution et detransport, et elle est devenu un challenge majeur pour eux. En fait, la logistique de distributionet de transport a trois activités principales, à savoir la localisation des infrastructures (des dépôtset des centres de distribution), l’élaboration des tournées de véhicules afin de livrer les produitsaux clients et la gestion de stock. L’optimisation des systèmes de distribution consiste à résoudreles problèmes liés à chaque activité.

Le problème de localisation des dépôts consiste à installer ou à ouvrir un certain nombrede dépôts à partir d’un ensemble de candidats pour satisfaire les demandes des clients. Ainsi,l’élaboration des tournées de véhicules est un problème très important qui consiste à déterminerles routes d’une flotte de véhicules afin de satisfaire un ensemble de clients en tenant compted’un ensemble de contraintes et en réduisant les coûts. Le problème de gestion de stock consisteà contrôler les flux d’entrée et de sortie dans un entrepôt ou un centre de distribution en évitantles ruptures des stocks, d’un côté, et en réduisant les coûts de stockage, d’un autre côté.

Au départ, et à cause de la complexité de ces problèmes, chacun a été résolu indépendammentet plusieurs méthodes ont été proposées pour chacun. Mais, en raison de leur interdépendance,plusieurs études ont montré l’intérêt d’intégrer ces problèmes entre eux lors de la résolution[88]. Parmi les problèmes résultant de l’intégration entre ces activités, on trouve le problème delocalisation-routage qui combine la localisation des dépôts avec l’élaboration des tournées, et leproblème de l’élaboration des tournées avec la gestion de stock.

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èmesd’optimisation dans le contexte de la logistique de distribution et de transport en proposant desméthodes approchées. Le premier problème est une variante du problème de localisation-routage

1

Page 14: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 gestionde stock en considérant le cas de multi-véhicules et multi-produits. Enfin, dans le troisième casd’étude, nous nous intéressons à un cas réel d’un problème de transport de personnel, qui estconsidé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 :

1. O. Guemri, A. Bekrar, B. Beldjilali, D. Trentesaux, (2016). GRASP-Based Heuristic Algo-rithm for the Multi-product Multi-vehicle Inventory Routing Problem. 4OR - A QuarterlyJournal of Operations Research, volume 14, issue 4, pp. 377−404.

2. O. Guemri, B. Beldjilali, A. Bekrar, G. Belalem, (2016). Effective Two Stage HeuristicAlgorithm for the Large-Scale Capacitated Location Routing Problem. International Journalof Mathematical Modeling and Numerical Optimization, volume 7, issue 1, pp. 97−119.

3. O. Guemri, A. Bekrar (2015). An improved Tabu Search heuristic Algorithm for the CoachTrip 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 theVeRoLog 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 troisactivités décrites ci-dessus en donnant une définition détaillée avec une formulation mathématiqueet en explicitant les variantes les plus connues de chaque problème. Enfin, nous terminerons cechapitre en décrivant les outils utilisés pour la résolution des problèmes d’optimisation des chaîneslogistiques.

Dans le deuxième chapitre, nous allons aborder le problème de localisation-routage à grandeéchelle avec contrainte de capacité en proposant un nouvel algorithme de résolution. L’algorithmeest composé de deux grandes phases combinant la recherche Tabou avec le recuit simulé. Danscette méthode, la recherche Tabou est consacrée pour le sous-problème de routage et le sous-problème de localisation est résolu en utilisant le recuit simulé.

Dans le troisième chapitre, nous allons étudier le problème de routage avec gestion de stockmulti-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 pourconstruire une solution faisable de bonne qualité et une recherche locale. Comme recherche localedans le GRASP, nous allons utiliser la métaheuristique recherche Tabou.

Dans le quatrième chapitre, nous présenterons une contribution pour une nouvelle variantedu problème d’élaboration des tournées de véhicules à savoir le problème de routage de navetteset de taxis. Il s’agit d’un problème industriel qui concerne le transport de personnel. Le butest de transporter un ensemble de passagers depuis leurs arrêts de bus vers un dépôt central en

2

Page 15: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3. Organisation de la thèse

utilisant une flotte de véhicules hétérogènes. Pour résoudre le problème, nous proposerons deuxmé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ésultatsobtenus et un ensemble de perspectives pour des futurs travaux.

3

Page 16: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Chapitre 1

Etat de l’art sur la chaîne logistique:localisation, routage et gestion de stock

Sommaire1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2 La chaîne logistique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.2 Objectifs et enjeux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2.3 Structure générale d’une chaîne logistique . . . . . . . . . . . . . . . . . 51.2.4 Niveaux de décisions dans une chaîne logistique . . . . . . . . . . . . . . 6

1.3 Le transport et la distribution dans la chaîne logistique . . . . . . . 61.3.1 Problème de localisation . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3.2 Le problème de tournées de véhicules . . . . . . . . . . . . . . . . . . . . 91.3.3 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.4 Intégration entre les problèmes . . . . . . . . . . . . . . . . . . . . . . . 13

1.4 Les outils pour l’optimisation de la chaîne logistique . . . . . . . . . 161.4.1 Méthodes exactes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.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èsenous nous intéressons à l’optimisation des chaînes logistiques, particulièrement aux problèmesd’optimisation liés à la logistique de distribution et de transport. Dans ce premier chapitre nousprésentons les différents problèmes de base qui constituent le noyau de la thématique étudiéedans 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 lestrois problèmes principaux inhérents à cette partie de la chaîne logistique, à savoir le problèmede localisation de dépôts, le problème d’élaboration des tournées de véhicules et le problème degestion de stock. Nous présentons également les deux problèmes intégrés, à savoir le problème

4

Page 17: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.2. La chaîne logistique

de localisation-routage et le problème de routage avec gestion de stock. La troisième et dernièrepartie est consacrée aux outils d’optimisation de la chaîne logistique.

1.2 La chaîne logistique

1.2.1 Définitions

La logistique a pour origine un mot grec qui indique l’art du raisonnement et du calcul [80, 77].La notion de logistique a été utilisée en premier lieu dans le domaine militaire en référant à toutce qui est nécessaire à l’application sur le terrain des décisions tactiques et stratégiques. Aprèsla fin de la seconde guerre mondiale et avec la grande évolution du marché industriel vint ce quel’on appelle la logistique industrielle [77, 64]. Dans la littérature, plusieurs définitions ont étédonnées à la chaîne logistique, dans ce qui suit nous présentons quelques-unes :

Lee et Billington (1993) [67] : La chaîne logistique est "un réseau d’installations qui assureles fonctions d’approvisionnements en matières premières, de transformation de ces matièrespremières en composants puis en produits finis, et de distribution des produits finis aux clients" .

Teigen et Barbuceanu (1996) [97] : "La chaîne logistique est un réseau de fournisseurs,d’entreprises, de dépôts, de centres de distribution et de détaillants, au travers desquels lesmatières premières sont acquises, transformées, et délivrées aux clients".

Mentzer et al. (2001) [73] : "Une chaîne logistique est un groupe d’au moins trois entitésdirectement impliquées dans les flux amonts et avals de produits, de services, de finances et/oud’informations, qui vont d’une source jusqu’au client".

Ganeshan et Harisson (1995) [41] : "Une chaîne logistique est le réseau des moyens de pro-duction et de distribution qui assurent les tâches d’approvisionnement en matières premières,la transformation de ces matières premières en produits semi finis et en produits finis, et ladistribution de ces produits finis aux clients".

A partir de ces définitions nous pouvons constater que la chaîne logistique est un ensemblede maillons reliés entre eux et qui collaborent pour accomplir un travail bien déterminé.

1.2.2 Objectifs et enjeux

Dans un environnement de plus en plus concurrentiel, les entreprises doivent être capables delivrer le bon produit dans la bonne quantité au bon endroit au bon moment et avec un coût minimal[64, 103]. Pour faire face à ce défi, l’entreprise doit adopter une bonne politique de gestion desa chaîne logistique dont l’objectif principal est d’augmenter le gain global en maximisant lesprofits et en minimisant les coûts, y compris les coûts de fabrication, de transaction, de transport,de stockage, etc. Dans [67], les auteurs ont annoncé : "La bataille pour dominer le marché nesera pas une bataille d’entreprises mais de chaînes logistiques". En effet, l’importance des chaîneslogistique provient de toutes les possibilités qu’elles offrent aux entreprises pour générer des gainssupplémentaires ce qui permet aux entreprises de résister plus efficacement face aux pressionsconcurrentielles, et c’est pour cela que l’entreprise qui va réussir dans la gestion de sa chaînelogistique va dominer les autres.

1.2.3 Structure générale d’une chaîne logistique

En prenant la définition de [41], la chaîne logistique a un ensemble de fonctions principales,qui consistent en l’achat des matières premières, la production, le stockage, la distribution et la

5

Page 18: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 logistiqueen indiquant l’emplacement de chaque fonction dans la chaîne [40].

Figure 1.1: Structure générale d’une chaîne logistique

1.2.4 Niveaux de décisions dans une chaîne logistique

La gestion d’une chaîne logistique nécessite de prendre un ensemble de décisions. Dans les chaîneslogistiques, on distingue généralement trois niveaux de décisions selon la portée temporelle dela décision: des décisions opérationnelles, des décisions tactiques et des décisions stratégiques[10, 40, 102]. Nous donnons, ci-après, un bref aperçu sur chaque niveau avec des exemples.

• Décisions stratégiques : ce sont les décisions les plus importantes qui permettent de dessinerla structure générale de la chaîne logistique : la localisation des infrastructures (l’ouvertureet la fermeture des usines, des dépôts etc.), le choix des partenaires et des fournisseurs etenfin, le choix de mode de transport et des différentes technologies.

• Décisions tactiques : leurs influences portent sur un horizon d’une semaine jusqu’à unmois. 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 processusde production.

• Décisions opérationnelles : leurs influences portent sur un horizon d’un jour jusqu’à unesemaine : 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.

1.3 Le transport et la distribution dans la chaîne logistique

L’optimisation des systèmes de transport et de distribution est un défi majeur pour les entreprisescar les études ont montré que les coûts de transport et de distribution constituent le tiers descoûts opérationnels d’une chaîne logistique [54, 77]. Le système de distribution est composéd’un ensemble de fonctions principales, comprenant la localisation des centres d’entreposage et

6

Page 19: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 livrerles produits aux clients. Donc, l’optimisation des systèmes de distribution consiste à résoudrel’ensemble des problèmes liés à ces fonctions. Dans ce qui suit, nous allons d’abord définir chaqueproblème de manière séparée. Ensuite, nous allons montrer l’utilité de considérer ces problèmes enles 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 gestionde stock.

1.3.1 Problème de localisation

Nous présentons ici un bref aperçu sur le problème de localisation de dépôts et ses variantes. Nousdonnons une définition du problème avec une formulation mathématique, puis nous décrivonsbrièvement les principales variantes existantes dans la littérature [96, 91, 85].

1.3.1.1 Le problème de localisation sans contrainte de capacité (Uncapacitated Fa-cility Location Problem, UFLP)

Le problème de localisation des dépôts sans contrainte de capacité consiste à choisir un certainnombre de dépôts à partir d’un ensemble de dépôts candidats et à affecter un ensemble de clientsà ces dépôts. L’objectif est de minimiser le coût total, y compris le coût d’ouverture des dépôtset le coût d’affectation des clients à ces dépôts. Le nombre de dépôts à ouvrir n’est pas fixé àl’avance.

1.3.1.2 Modèle mathématique

Soit les indices et les paramètres suivants [94]:

• M : l’ensemble de dépôts candidats considérés dans le problème;

• N : l’ensemble de clients;

• fi : le coût d’ouverture de dépôt i ∈ M ;

• cij : le coût d’affectation du client j ∈ N au dépôt i ∈ M ;

Pour modéliser ce problème, deux types de variables de décisions sont utilisés:

• xij : variable binaire qui est égale à 1 si le client j est affecté au dépôt i.

• yi : variable binaire qui est égale à 1 si le dépôt i est ouvert.

L’UFLP est modélisé sous la forme du programme linéaire en nombres entiers suivant:

min z =∑

i∈M

j∈N

cijxij +∑

i∈M

fiyi (1.1)

Sous les contraintes: ∑

i∈M

xij = 1 ∀j ∈ N (1.2)

xij ≤ yj ∀j ∈ N ∀i ∈ M (1.3)

xij ≥ 0 ∀j ∈ N ∀i ∈ M (1.4)

7

Page 20: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 quechaque client j ne puisse être servi par le dépôt i si et seulement si ce dépôt est ouvert (c’est-à-diresi yi = 1). Les contraintes (1.4) et (1.5) assurent l’intégrité sur les variables yi et xij .

1.3.1.3 Les variantes du problème de localisation sans contrainte de capacité

Différentes variantes du UFLP ont été étudiées dans la littérature. Parmi lesquelles, nous citonsles problèmes suivants [12, 91].

1. Le problème de localisation des dépôts avec contrainte de capacité (Capacitated FacilityLocation Problem (CFLP))

Le CFLP est une variante de l’UFLP où la contrainte de capacité sur les dépôts est imposée.Donc, dans ce cas la somme des demandes des clients affectés à chaque dépôt ne doit pasexcéder sa capacité.

2. Le problème P-médian (P-Median Problem (PMP))

Le problème du p-médian est un problème de localisation où nous avons un ensemble dedépôts candidats et le but est de choisir exactement p dépôts à partir de l’ensemble de cescandidats (un dépôt choisi est appelé médian). Les autres dépôts candidats sont ensuiteaffectés aux médians choisis. L’objectif de PMP est de minimiser le coût d’affectation.

3. Le problème du p-centre (P-Centre Problem (PCP))

Le problème du p-centre est une variante similaire au problème du PMP dont l’objectif estde minimiser le maximum des coûts d’affectation des clients.

4. Le problème de recouvrement (Set Covering Problem (SCP))

Le problème de recouvrement SCP consiste à déterminer un sous-ensemble de dépôts pourcouvrir tous les clients. Dans les problèmes de localisation en général, on doit prendre deuxdécisions au même moment: Le choix des dépôts et l’affection des clients. Cependant, dansle SCP, chaque dépôt ne couvre qu’un ensemble de clients prédéfinis et donc, pour résoudrele SCP, nous devrons seulement choisir un sous-ensemble de dépôts pour couvrir (servir)tous les clients.

5. Le problème de localisation des dépôts avec tolérance de panne (Fault-Tolerant FacilityLocation Problem (FTFLP))

Dans le FTFLP, chaque client doit être affecté à plusieurs dépôts au lieu d’un seul afind’assurer le service et d’éviter tout problème de panne ou de non-disponibilité [91].

6. Le problème de localisation des dépôts avec multi-produit (Multi-Product Facility LocationProblem (MPFLP))

Le MPFLP est un problème de localisation où nous considérons que chaque client disposedes demandes pour un certain nombre de produits, et que chaque dépôt peut être ouvertpour livrer un ou plusieurs produits [91].

8

Page 21: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

1.3.2 Le problème de tournées de véhicules

Le problème de tournées de véhicules (en anglais : Vehicle Routing Problem, VRP) a été définipour la première fois par [29]. Vu son importance et ses multiples applications dans l’industrieet dans la vie quotidienne, le VRP sollicite l’attention de plusieurs chercheurs et fait l’objet denombreux travaux de recherche. Par ailleurs, ce problème trouve ces origines dans un problèmeplus ancien qui est le problème du voyageur de commerce.

1.3.2.1 Le problème du voyageur de commerce

Le problème du voyageur de commerce (en anglais : Travelling Salesman Problem, TSP) estl’un des problèmes classiques de la recherche opérationnelle [29]. Le problème du TSP consisteà construire une tournée pour un voyageur en visitant un ensemble de villes et en retournant àla ville de départ. Le voyageur doit visiter l’ensemble des villes en passant une et une seule foispar chaque ville avec pour objectif de minimiser la distance du chemin parcouru.

1.3.2.2 Définition du problème VRP

Le principe du problème de tournées de véhicules, qui est une généralisation du TSP, est de servirun ensemble de n clients en utilisant une flotte de m véhicules [29, 74]. Le but est de construireun ensemble de routes qui visitent ces clients en minimisant une fonction objectif donnée eten tenant compte d’un ensemble de contraintes. La route de chaque véhicule commence et setermine à un dépôt central en visitant un sous-ensemble de clients et où chaque client doit êtreservi par un seul véhicule.

1.3.2.3 Formulation mathématique

Nous présentons ici une formulation mathématique pour le VRP [99, 85, 74]. Dans cette for-mulation l’objectif est de minimiser la distance parcourue par les véhicules. Au départ, nousdéfinissons les variables utilisées :

• G = (S, A) est un graphe où S = {0, ..., n} est l’ensemble de sommets où le sommet 0 estle dépôt central et le reste des sommets sont les clients (S′ = S − {0}). A = {(i, j) i, j ∈ Set i 6= j} est l’ensemble des arcs reliant les sommets,

• n: est le nombre de clients,

• K = {1, ..., k} : est la flotte de véhicules, chaque vehicle a une capacité Q.

• cij : est le coût du voyage du sommet i au sommet j.

• xijk = 1 si le véhicule k prend le chemin du sommet i vers le sommet j.

min z =∑

i∈S

j∈S

k∈K

cijxijk (1.6)

Sous les contraintes: ∑

k∈K

j∈S

xijk = 1 ∀i ∈ S′ (1.7)

k∈K

i∈S

xijk = 1 ∀j ∈ S′ (1.8)

9

Page 22: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

i∈S

xipk −∑

j∈S

xpjk = 0 ∀p ∈ S′, k ∈ K (1.9)

i∈S′xi0k ≤ 1 ∀k ∈ K (1.10)

j∈S′x0jk ≤ 1 ∀k ∈ K (1.11)

uik − ujk + (n− 1)xijk ≤ n− 2 ∀i ∈ S′, j ∈ S′, k ∈ K (1.12)

xjik = {0, 1} (1.13)

La fonction objectif (1.6) minimise la somme des distances parcourues. Les équations (1.7)et (1.8) assurent que chaque sommet n’est servi qu’une seule fois par un et un seul véhicule.L’équation (1.9) assure la continuité d’une tournée par un véhicule : le sommet visité doit im-pérativement être quitté. Les équations (1.10) et (1.11) assurent qu’un véhicule part d’un dépôtet ne revient qu’une seule fois au même dépôt. L’équation (1.12) assure l’élimination des sous-cycles.

1.3.2.4 Quelques variantes du VRP

Durant les cinq dernières décennies, de nombreuses variantes de VRP ont été proposées [65]. Eneffet, l’apparition d’une nouvelle variante est due essentiellement à l’ajout d’une contrainte, unecaractéristique ou un nouvel élément au problème (l’ajout, la modification ou l’élimination d’uneou de plusieurs contraintes du VRP peut nous mener vers d’autres variantes). Dans cette partienous essayons de présenter les variantes les plus connus du VRP [35, 46, 55, 50, 87, 61] :

1. Problème de tournées de véhicules avec contrainte de capacité (Capacitated Vehicle RoutingProblem (CVRP)):

Le CVRP est un VRP où la contrainte de capacité de véhicules est imposée, c’est-à-direque la somme des demandes des clients servis par chaque véhicule ne doit pas dépasser sacapacité. Dans le CVRP la flotte de véhicules est supposée homogène.

2. Problème de tournées de véhicules dynamique (Dynamic Vehicle Routing Problem (DVRP))

Le DVRP est une variante du VRP où les données nécessaires pour résoudre le prob-lème dépendent du temps, c-à-dire, soit elles ne sont pas connues à l’avance (manqued’information avant la résolution de problème) ou bien elles peuvent être changées après lecommencement des tournées comme par exemple l’ajout d’une nouvelle demande pour unnouveau client ou l’annulation d’une demande d’un client.

3. Problème de tournées de véhicules avec fenêtres de temps (Vehicle Routing Problem withTime Windows (VRPTW))

Le VRPTW est un VRP où une contrainte temporelle est imposée. En effet, dans le VRPun véhicule peut visiter un client à n’importe quel moment. Cependant, dans le VRPTWun véhicule ne peut visiter un client que dans un intervalle de temps bien précis, c’est ceque l’on appelle une fenêtre de temps.

10

Page 23: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

4. Problème de tournées de véhicules multi-périodes (Periodic Vehicle Routing Problem(PVRP))

Dans le PVRP, nous avons un ensemble de périodes P = {1, ..., M} qui représente l’horizonde planification, et pour chaque client, nous avons un nombre de visites k (1 ≤ k ≤ M) quidoivent être effectuées. Donc, pour résoudre le PVRP nous devons, pour chaque période,déterminer les clients à visiter et construire les tournées de véhicules pour satisfaire cesclients.

5. Problème de tournées de véhicules multi-dépôts (Multi-Depots Vehicle Routing Problem(MDVRP))

Dans le VRP, la tournée de chaque véhicule commence et se termine à partir d’un dépôtcentral. Cependant, dans le MDVRP nous disposons de plusieurs dépôts et dans chaquedépôt nous disposons d’un ensemble de véhicules. Comme dans le VRP, la tournée dechaque véhicule commence et se termine à partir de son dépôt et chaque client doit êtreservi exactement une seule fois.

6. Problème de tournées de véhicules ouvert (Open Vehicle Routing Problem (OVRP))

Contrairement au VRP où la tournée de chaque véhicule doit se terminer au dépôt central,dans le problème OVRP les véhicules ne sont pas obligés de retourner au dépôt central. Eneffet, cette caractéristique est importante parce qu’elle change complètement la structurede VRP.

7. Problème de tournées de véhicules avec multi-tournées pour chaque véhicule (Le VehicleRouting Problem with Multiple Trips (VRPMT))

La différence entre le VRP et le VRPMT réside dans le fait que dans le VRPMT unvéhicule peut faire plusieurs tournées, c’est-à-dire, dans un horizon de planification avecplusieurs périodes et lorsque nous disposons d’une flotte de véhicules limitée, un véhiculepeut faire, dans une même période, plusieurs tournées en tenant compte d’une durée max-imale d’utilisation par période.

8. Problème de tournées de véhicules stochastique (Stochastic Vehicle Routing Problem(SVRP))

Un VRP est stochastique si un des éléments du problème est aléatoire, comme par exemplela représentation des demandes des clients, du temps de transport sur un arc ou bien ducoût d’un arc par une variable aléatoire.

9. Problème de tournées de véhicules multi-compartiments (Multi-Compartment Vehicle Rout-ing Problem (MCVRP))

Le MCVRP est utilisé pour modéliser les cas où les demandes des clients concernentplusieurs produits incompatibles. Ces produits doivent être transportés sur un mêmevéhicule mais dans des compartiments indépendants.

10. Problème de tournées de véhicules avec une flotte hétérogène (Heterogeneous Fleet VehicleRouting Problem (HVRP))

Dans le VRP nous disposons d’une flotte de véhicules homogènes. Cependant dans leHVRP, nous disposons d’une flotte de véhicules ayant des caractéristiques différentes. Lesvéhicules peuvent être différenciés par : leurs capacités, leurs coûts de routage, leurs coûtsd’utilisation, etc.

11

Page 24: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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é quin’est pas suffisante pour satisfaire toutes les demandes des clients. Donc, nous ne pouvonsservir 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 Problemwith Pickup and Delivery (VRPPD))

Comme pour le VRP, le problème VRPPD consiste à élaborer un ensemble de tournéespour satisfaire les demandes de clients. Cependant dans le VRPPD, nous distinguons deuxtypes 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 : deslivreurs où le véhicule doit faire un ramassage et des receveurs où le véhicule doit faireune livraison. Cependant la différence entre les deux variantes est que dans le VRPB nousvisitons tous les receveurs avant de visiter les livreurs.

14. Problème de tournées de véhicules avec distribution partagée (Split Delivery Vehicle RoutingProblem (SDVRP))

On rencontre le SDVRP lorsqu’on a des demandes de clients qui sont supérieures à lacapacité du véhicule. Dans ce cas, chaque client peut être servi une ou plusieurs fois selonle besoin, c’est-à-dire, le client peut être affecté à une ou plusieurs tournées.

1.3.3 La gestion de stock

La gestion de stock est une fonction importante qui reste au coeur des préoccupations des dé-cideurs afin de piloter leurs entreprises de manière performante. La gestion de stock consiste àappliquer un ensemble de techniques nécessaires pour contrôler et réguler les flux d’entrée et desortie en maintenant un stock suffisant pour satisfaire les clients avec un coût minimal. Autrementdit, la gestion de stock consiste à déterminer le bon niveau de stock de chaque produit afin desatisfaire les demandes des clients avec un coût réduit [96, 74, 10].

En effet, pour assurer la disponibilité des produits on doit avoir des niveaux de stocks élevés,d’un autre côté, afin de minimiser les coûts de stockage, on doit avoir des niveaux de stocksréduits. Donc, l’objectif de la gestion de stock est de trouver un bon compromis entre la satis-faction des clients et les coûts de stockage, c’est-à-dire, assurer la disponibilité des produits afind’éviter tout problème de pertes de ventes (en cas de rupture de stocks) en minimisant le coût.Enfin, la gestion de stock dépend fortement de deux facteurs principaux :

• Le type de produit : par exemple dans le cas des produits périssables, nous devons assurerun acheminement rapide et un stockage dans les bonnes conditions de conservation.

• L’incertitude : l’incertitude des demandes de clients et des délais de livraison et de produc-tion et enfin le prix des matières premières au niveau des cours de la bourse.

En tenant compte de ces deux facteurs, nous devons assurer une bonne gestion de stock.

12

Page 25: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

1.3.4 Intégration entre les problèmes

A cause de la complexité des problèmes d’optimisation, les trois problèmes décrits ci-dessus sonttraités de manière séparée [85]. Cependant, à cause de l’interdépendance entre les décisions liées àces problèmes, il est important de tenir compte de l’impact de chaque décision sur les autres. Eneffet, durant ces 10 dernières années, les chercheurs ont montré que la conception d’un système dedistribution robuste nécessite l’intégration de ces décisions dans un même modèle d’optimisation[86, 57, 24]. Par la suite, nous présentons deux problèmes en intégrant, dans le premier, leproblème d’élaboration de tournées avec le problème de localisation et dans le deuxième, leproblème d’élaboration de tournées avec le problème de gestion de stock.

1.3.4.1 Problème de localisation-routage (Location Routing Problem (LRP))

Le problème de localisation-routage combine deux fonctions principales de la chaîne logistique, àsavoir la localisation des dépôts et l’élaboration des tournées de véhicules [85]. Dans ce problèmele but est de choisir certains dépôts à ouvrir à partir d’un ensemble de dépôts candidats etde planifier des tournées partantes de ces dépôts afin de satisfaire les demandes des clients.Formellement, nous définissons les paramètres suivants:

• I : un ensemble de dépôts candidats, chaque dépôt i a un coût d’ouverture Oi.

• J : un ensemble de clients, chaque client j a une demande dj

• V = I ∪ J : l’ensemble de sommets

• cij : le coût du trajet entre le site i ∈ V et le site j ∈ V .

• K : une flotte de véhicules.

Les variables de décisions:

• yi : une variable binaire qui est égale 1 si le dépôt i est ouvert.

• 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:

min z =∑

i∈I

Oiyi +∑

i∈V

j∈V

k∈K

cijxijk (1.14)

Sous les contraintes:

k∈K

i∈V

xijk = 1 ∀j ∈ J (1.15)

j∈V

xijk −∑

j∈V

xjik = 0 ∀i ∈ V, k ∈ K (1.16)

i∈I

j∈J

xijk ≤ 1 ∀k ∈ K (1.17)

13

Page 26: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

i∈S

j∈S

xijk ≤ |S| − 1 ∀S ⊆ J,∀k ∈ K (1.18)

u∈J

xiuk +∑

u∈V−(j)

xujk ≤ 1 + fij ∀i ∈ I, ∀j ∈ J,∀k ∈ K (1.19)

xijk ∈ {0, 1} ∀i ∈ V,∀j ∈ V,∀k ∈ K (1.20)

yi ∈ {0, 1} ∀i ∈ I (1.21)

fij ∈ {0, 1} ∀i ∈ I, ∀j ∈ V (1.22)

La fonction-objectif (1.14) minimise la somme des coûts d’ouverture des dépôts et de trans-port respectivement. La contrainte (1.15) assure que chaque client est visité par exactement unseul véhicule et possède un seul prédécesseur dans la route. Les contraintes (1.16) et (1.17) im-posent la continuité de chaque route et que chaque route commence et se termine au même dépôtouvert. La contrainte (1.18) élimine les sous-cycles. La contrainte (1.19) impose qu’un client doitêtre affecté à un dépôt s’il y a une route qui les relie. Enfin, l’intégrité des variables de décisionest assurée par les contraintes (1.20), (1.21) et (1.22).

1.3.4.2 Problème de tournées avec gestion de stock (Inventory Routing Problem(IRP))

Le problème de tournées avec gestion de stock intègre deux fonctions principales de la chaînelogistique, à savoir l’élaboration des tournées de véhicules et la gestion de stock [74]. Dans cecas, un fournisseur doit assurer, en utilisant une flotte de véhicules homogènes, la distributionde certains produits à un ensemble de clients sur un horizon de temps, sachant que chaque clientayant une capacité de stockage limitée. En plus, chaque client consomme les produits avec untaux connu dans chaque période de l’horizon. L’objectif est de minimiser la somme des coûts destockage et de transport. Dans cette partie, nous présentons un modèle mathématique de l’IRPen prenant le cas standard de la littérature [24], c’est-à-dire, un IRP avec un seul produit, unseul véhicule, multi-périodes.

Formellement, nous définissons un graphe G(V,A) où :

• V = {0, ..., n} est l’ensemble des sommets. Le sommet 0 représente le fournisseur etl’ensemble V ′ = V/{0} représente les clients.

• hi : Le coût de stockage dans le site i, i ∈ V .

• T = {1, ..., p} est l’ensemble des périodes, avec p la longueur de l’horizon de temps.

• rt est la quantité de produit disponible chez le fournisseur à chaque période t ∈ T .

• Iti et It

0 sont les niveaux de stocks des clients et du fournisseur, respectivement; à la fin dela période t ∈ T .

• dti est la demande à la période t ∈ T effectuée par le client i ∈ V ′.

• Q : La capacité du véhicule.

• Ci : La capacité de stockage du client i.

• cij est le coût du trajet du site i vers le site j.

14

Page 27: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.3. Le transport et la distribution dans la chaîne logistique

Les variables de décision

• qti est la quantité de produit livrée au client i durant la période t.

• 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.

• yti = 1 si i ∈ V est visité pendant la période t.

Le problème IRP peut être modélisé par le programme linéaire en nombres entiers suivant:La fonction objectif:

min∑

i∈V

t∈T

hiIti +

i∈V

j∈V,i<j

t∈T

cijxtij (1.23)

Sous les contraintes:

It0 = It−1

0 + rt −∑

i∈V ′qti t ∈ T (1.24)

Iti = It−1

i + qti − dt

i i ∈ V ′ t ∈ T (1.25)

Iti ≥ 0 i ∈ V t ∈ T (1.26)

qti ≥ Ciy

ti − It−1

i i ∈ V ′ t ∈ T (1.27)

qti ≤ Ci − It−1

i i ∈ V ′ t ∈ T (1.28)

qti ≤ Ciy

ti i ∈ V ′ t ∈ T (1.29)

i∈V ′qti ≤ Q t ∈ T (1.30)

i∈V

qti ≤ Qyt

0 t ∈ T (1.31)

j∈V ′,i<j

xtij +

j∈V ′,i>j

xtji = 2yt

i i ∈ V ′ t ∈ T (1.32)

i∈S

j∈S,i<j

xtij ≤

i∈S

yti − yt

g S ⊆ V t ∈ T g ∈ S (1.33)

qti ≥ 0 i ∈ V t ∈ T (1.34)

xtij ∈ {0, 1} i, j ∈ V, i 6= j t ∈ T (1.35)

xti0 ∈ {0, 1, 2} i ∈ V t ∈ T (1.36)

15

Page 28: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.4. Les outils pour l’optimisation de la chaîne logistique

yti ∈ {0, 1} i ∈ V t ∈ T (1.37)

La fonction objectif (1.23) minimise la somme des coûts de stockage et de transport. Lescontraintes (1.24) et (1.25) définissent les niveaux des stocks chez le fournisseur et les clients re-spectivement. La contrainte (1.26) assure la non-négativité des niveaux de stocks. Les contraintes(1.27, 1.28 et 1.29) définissent la quantitée livrée pour chaque client. La contrainte (1.30) imposela contrainte de capacité du véhicule. En plus, les contraintes (1.31, 1.32 et 1.33) assurent lafaisabilité de la route de chaque periode. Enfin, les contraintes de (1.34) à (1.37) assurent lanon-négativité et l’intégrité des variables de décision.

1.4 Les outils pour l’optimisation de la chaîne logistique

Un problème d’optimisation consiste à trouver une solution d’un problème donné en minimisantou bien en maximisant une fonction objectif donnée. En outre, une technique d’optimisation estla méthode qu’on l’utilise pour trouver une solution pour un problème de minimisation ou demaximisation. Au fil des années, de nombreuses techniques (méthodes) de résolution de problèmesd’optimisation ont été proposées [46, 51, 62, 61, 70, 13]. En effet, nous pouvons regrouper cesméthodes en deux grandes classes : la classe de méthodes approchées et la classe de méthodesexactes. Dans cette partie nous donnons une vue générale sur ces deux classes de méthodes. Lafigure 1.2 résume les différentes méthodes des deux classes.

Figure 1.2: Classification de méthodes d’optimisation

1.4.1 Méthodes exactes

Les méthodes exactes sont des méthodes qui cherchent la solution optimale d’un problème enexplorant exhaustivement toutes les solutions possibles dans l’espace de recherche. Cependant,l’inconvénient majeur de ces méthodes est le temps d’exécution, car toutes les solutions sontévaluées une à une et le temps d’exécution augmente exponentiellement avec la taille du problème

16

Page 29: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 grandestailles [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.

1.4.2 Méthodes approchées

Les problèmes d’optimisation du monde industriel sont généralement de grandes tailles et dis-posent de nombreuses contraintes, donc les méthodes exactes ne sont pas utilisables. Dans cecas, on doit chercher une bonne solution en un temps raisonnable au lieu d’attendre l’obtentiond’une solution optimale après des années de calcul ! [42]. Contrairement aux méthodes exactes,les méthodes approchées ne garantissent pas l’optimalité de la solution mais, elles permettent detrouver des solutions de très bonne qualité en un temps d’exécution raisonnable, c-à-dire, ellescherchent un bon compromis entre la qualité de la solution et le temps de calcul. Dans la littéra-ture, de nombreuses méthodes approchées ont été proposées. Nous pouvons diviser ces méthodesen 4 catégories: des heuristiques, des méta-heuristiques, des algorithmes à performance garantieet des algorithmes hybrides. Par la suite nous présentons chaque catégorie.

1.4.2.1 Heuristiques

Dans la littérature, il existe plusieurs définitions d’une heuristique, ici nous présentons celle deFeigenbaum 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 dedispositif qui limite considérablement la recherche de solutions dans des espaces problématiquesimportants. 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’ellepropose 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 estune méthode approchée développée pour résoudre un problème particulier et elle nécessite desconnaissances approfondies sur le problème traité. Le but d’une heuristique est de trouver debonnes solutions (pas forcement optimales) pour un problème donné dans un temps d’exécutiontrès réduit. Les méthodes constructives représentent un bon exemple des heuristiques.

1.4.2.2 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 etexploiter tout l’espace de recherche. Des stratégies d’apprentissage sont utilisées pour structurerl’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 pourrésoudre un grand nombre de problèmes d’optimisation. Comme par exemple : l’heuristique desaving est une heuristique développée que pour résoudre le VRP. Cependant, on peut utiliser larecherche Tabou (metaheuristique) pour résoudre le VRP comme on peut l’utiliser pour résoudred’autres problèmes. Dans la littérature, de nombreuses métaheuristiques ont été proposées quipeuvent être subdivisées en deux grandes familles : les méthodes de recherche locale (à base desolution unique) et les méthodes de recherche globale (à base d’une population de solutions). Cesdeux familles sont décrites ci-dessous.

17

Page 30: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

1.5. Conclusion

1. Les méthodes de recherche locale (Local Search Methods)

Les méthodes de recherche locale sont des algorithmes à base de solution unique qui sebasent généralement sur la notion de voisinage. Elles commencent à partir d’une solutioninitiale, ensuite à chaque itération elles essayent d’améliorer la solution courante en ex-ploitant son voisinage. De nombreuses méthodes de recherche locale ont été proposées dansla littérature, ici nous citons les plus connues : la méthode de descente, la méthode durecuit simulé, la recherche Tabou, la recherche à voisinage variable, la méthode GRASP,etc.

2. Les méthodes de recherche globale (Global Search Methods)

Les méthodes de recherche globale, appelées aussi les algorithmes évolutionnaires [61], sontdes méthodes à base de population de solutions et qui sont en général inspirées de lanature. Ces méthodes utilisent un ensemble de solutions appelé population. Elles commen-cent avec une population initiale et, à chaque itération, elles essayent de construire unenouvelle population meilleure basée sur la précédente afin de converger vers de bonne(s)solution(s). Comme exemples de ces méthodes nous pouvons citer: les algorithmes géné-tiques, l’algorithme d’optimisation par essaim de particules, l’algorithme de colonies defourmis, etc.

1.4.2.3 Algorithmes à performance garantie

Les algorithmes à performance garantie sont des méthodes approchées basées plutôt sur desprincipes mathématiques. En se basant généralement sur des théorèmes prouvés mathématique-ment, ces algorithmes nous permettent d’assurer que, dans le pire des cas, l’écart entre la solutiontrouvée et la solution optimale sera au plus d’un facteur donné p.

1.4.2.4 Approches hybrides

Les méthodes approchées sont des méthodes puissantes, mais la combinaison entre ces méthodesaugmente encore leur puissance. En outre, les approches hybrides sont des méthodes qui visent àcombiner deux ou plusieurs algorithmes afin d’exploiter leurs points forts et de compenser leursfaiblesses. Dans la littérature nous trouvons généralement deux types d’hybridations:

• 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 uneméthode approchée pour calculer une borne inferieure et/ou supérieure pour un algorithmeexact ou bien en utilisant un algorithme exact pour résoudre un sous-problème au sein d’unemé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’abordnous avons présenté un aperçu sur les chaînes logistiques, ensuite nous avons décrit en détailles trois problèmes de base de la logistique de distribution et de transport logistique, à savoir leproblème de localisation, le problème d’élaboration des tournées de véhicules et le problème de

18

Page 31: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 deroutage avec gestion de stock. Enfin, nous avons consacré la dernière partie de ce chapitre pourdonner 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

Page 32: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Chapitre 2

Algorithme en deux phases pour leproblème de localisation-routage aveccontrainte de capacité

Sommaire2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2 Un état de l’art . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.3 Modèle mathématique pour le CLRP . . . . . . . . . . . . . . . . . . 232.4 Méthodologie de la solution . . . . . . . . . . . . . . . . . . . . . . . . 24

2.4.1 La première phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252.4.2 La deuxième phase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282.4.3 Algorithme complet (2-SH) . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.5.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.5.2 Le jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.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èmeconsiste à 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 commeobjectif d’optimiser un ou plusieurs critères tout en respectant certaines contraintes. Dans lalittérature, de nombreuses variantes du problème de localisation-routage ont été étudiées. Dansnotre étude nous traitons le problème de localisation-routage avec contrainte de capacité sur lesvéhicules (Capacitated Location Routing Problem (CLRP)).

Dans ce chapitre, nous allons présenter un nouvel algorithme pour résoudre le problèmeCLRP à grande échelle. Notre objectif est de trouver des solutions de bonne qualité pour desinstances de grande taille et avec un temps de calcul raisonnable. Pour cela, nous proposons une

20

Page 33: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.2. Un état de l’art

méthode composée de deux grandes phases. Dans la première phase, une heuristique d’insertionest appliquée pour trouver une tournée géante non-fermée, puis nous divisons cette tournée enplusieurs routes tout en respectant la contrainte de capacité du véhicule. Le coût de chaque routeest amélioré en utilisant la recherche Tabou (Tabu Search (TS)) afin de construire un ensemblede routes avec des coûts minimaux. Dans la seconde phase, notre objectif est de déterminer unensemble de dépôts à ouvrir, et d’affecter chaque route à un de ces dépôts. Pour cela, nous allonsutiliser 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 CLRPet nous présentons la formulation mathématique du problème. Puis, l’algorithme proposé estprésenté. Ensuite, l’évaluation numérique et les résultats obtenus par l’algorithme proposé sontprésentées.

2.2 Un état de l’art

Au cours des quatre dernières décennies, un nombre considérable de méthodes ont été développéespour le problème CLRP. En général, nous pouvons classer ces méthodes en trois catégories : desalgorithmes exacts, des méta-heuristiques et des math-heuristiques [34]. La plupart des méta-heuristiques proposées sont des algorithmes en deux phases. Dans la première phase, le sous-problème de localisation est résolu, avec comme but la détermination de certains dépôts à ouvriret l’affectation des clients à ces dépôts. Ensuite, dans la deuxième phase, le sous-problème deroutage est traité pour chaque dépôt ouvert. En plus, certaines méthodes proposées permettent larésolution des deux sous-problèmes dans la même phase (généralement la deuxième phase) [37].Dans plusieurs approches proposées, les deux sous-problèmes sont résolus au sein d’une boucleitérative.

Les méthodes exactes proposées pour résoudre le CLRP sont en général des méthodes detype : branch & price, branch & cut et génération de colonnes. Bien que ces algorithmes soientappliqués, avec succès, avec différentes manières d’implémentation, il reste beaucoup de pistesqui ne sont pas encore exploitées [34]. Les mat-heuristiques sont des algorithmes hybrides quicombinent la programmation mathématique avec les méta-heuristiques. Pour le CLRP, les méta-heuristiques sont souvent combinées avec la relaxation lagrangienne et/ou les solveurs (commeCPLEX). En général, ces solveurs utilisent des algorithmes exacts de type branch & cut [24].Dans le tableau 2.1, nous résumons les travaux de recherche traitant le CLRP. Parce que cetravail porte sur le CLRP à grande échelle, par la suite, les travaux liés à notre cas d’étudeseront présentés en détail.

Harks et al. (2013) [52] ont proposé un algorithme à performance garantie (ApproximationAlgorithm «Approx») pour résoudre le CLRP. Tout d’abord, l’algorithme cherche une bonnesolution pour le problème de localisation en résolvant un cas spécial du problème de localisationsans contrainte de capacité (Uncapacitated Location Problem). Puis, un arbre couvrant minimalsur un graphe modifié est construit. L’algorithme divise cet arbre en sous-arbres tel que la sommedes demandes des clients dans chaque sous-arbre est entre 50% et 100% de la capacité du véhicule.Ensuite, l’heuristique construit une tournée à partir de chaque sous-arbre en dupliquant ses arcs.Chaque route est affectée à un dépôt ouvert dans l’étape précédente. Enfin, pour renforcer leurapproche, les auteurs utilisent l’heuristique de Lin-Kernighan-Helsgaun (LKH) (Helsgaun(2000))[53] pour améliorer le coût des routes de la solution retournée par l’algorithme Approx. Les deuxméthodes proposées (Approx et Approx-LKH) ont été utilisées avec succès pour résoudre desinstances de CLRP de grande taille.

Alvim et Taillard (2013) [6] ont développé une heuristique pour le problème CLRP à grande

21

Page 34: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.2. Un état de l’art

Tableau 2.1: Méthodes proposées pour le CLRPRéférence Categorié MéthodeChan and Baker (2005) [17] Métaheuristique Méthode de type Clustering et SavingBouhafs et al. (2006) [15] Métaheuristique Hybridation entre recuit simulé

et l’algorithme de colonies de fourmisPrins et al. (2006a) [84] Métaheuristique Méthode de type GRASP

avec Path RelinkingPrins et al. (2006b) [83] Métaheuristique Algorithme mémétique avec

gestion de la populationDuhamel et al. (2010)[36] Métaheuristique Hybridation entre GRASP

et la recherche locale évolutionnaireMarinakis and Marinaki (2008a)[72] Métaheuristique Hybridation entre l’algorithme

d’optimisation par essaim de particules,la méthode GRASP et une recherche locale

Marinakis and Marinaki (2008b) [71] Métaheuristique Algorithme génétiqueJokar and Sahraeian (2012) [59] Métaheuristique Recuit simuléYu et al. (2010) [104] Métaheuristique Recuit simuléDerbel et al. (2011) [31] Métaheuristique Recherche à voisinage variableJabal-Amelia et al. (2011) [56] Métaheuristique Descente à voisinage variable .Stenger et al. (2011) [93] Métaheuristique Hybridation entre la méthode GRASP et

la recherche à voisinage variableTing and Chen (2013) [98] Métaheuristique Algorithme de colonies de fourmisAkca et al. (2009) [5] Algorithme exact Algorithme de type branch & priceBelenguer et al. (2011) [14] Algorithme exact Algorithme de type branch & cutContardo (2011) [25] Algorithme exact Algorithme de coupe & génération de colonnesPrins et al. (2007) [82] Matheuristique La relaxation lagrangienne

avec une recherche tabou granulaireChen and Ting (2007) [18] Matheuristique La relaxation lagrangienne avec

recuit simuléContardo et al. (2014) [26] Matheuristique Génération de colonnes + GRASP +

procedures de recherche localeEscobar et al. (2014) [37] Matheuristique Un solveur de MIP

avec une recherche tabou granulaire

22

Page 35: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 ensemblede dépôts à ouvrir en résolvant le problème p-médian (p-median problem) pour un échantillonde 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é duvé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 estsimilaire à celle présentée par Taillard (1993) [95], comme une procédure d’amélioration dans leFramework de POPMUSIC.

Dans l’état de l’art de Nagy et Salhi (2007) [78], les auteurs ont résumé les travaux pourde nombreuses variantes de CLRP. Enfin, plus récemment, Drexl et Schneider (2013) [34] etProdhon et Prins (2014) [86] présentent un état de l’art des travaux récemment proposés pourle LRP.

2.3 Modèle mathématique pour le CLRP

Dans cette section nous présentons le modèle mathématique de CLRP proposé par Prins etal. (2007) [82]. L’objectif est d’ouvrir un ensemble de dépôts et de déterminer l’ensemble deroutes provenant de chaque dépôt ouvert dans le but de satisfaire les demandes des clients enminimisant le coût total, y compris le coût d’ouverture des dépôts et le coût de transport. Lesdeux hypothèses importantes dans notre cas sont les suivantes :

• Chaque client doit être servi par un seul véhicule lorsque sa demande est inférieure à lacapacité 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 êtreinfé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 sommetsreprésentant les dépôts candidats I et les clients J (V = J ∪ I), et E est l’ensemble des arcsreliant tous les sommets. En outre, à chaque arc (i, j) ∈ E, un coût de transport symétriquecij est associé. La flotte K est composée d’un nombre illimité de véhicules homogènes et chaquevéhicule possède une capacité Q et un coût fixe d’utilisation F . Ainsi, à chaque dépôt candidati ∈ I est associé une capacité Pi et un coût d’ouverture Oi. En plus, chaque client j ∈ J possèdeune 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 levéhicule k va directement du sommet i au sommet j. Enfin, le CLRP considéré peut être formulécomme suit:

min z =∑

i∈I

Oiyi +∑

i∈V

j∈V

k∈K

cijxijk +∑

k∈K

i∈I

j∈J

Fxijk (2.1)

Sous les contraintes: ∑

k∈K

i∈V

xijk = 1 ∀j ∈ J (2.2)

j∈J

i∈V

djxijk ≤ Q ∀k ∈ K (2.3)

23

Page 36: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.4. Méthodologie de la solution

j∈J

djfij ≤ Piyi ∀i ∈ I (2.4)

j∈V

xijk −∑

j∈V

xjik = 0 ∀i ∈ V,∀k ∈ K (2.5)

i∈I

j∈J

xijk ≤ 1 ∀k ∈ K (2.6)

i∈S

j∈S

xijk ≤ |S| − 1 ∀S ⊆ J,∀k ∈ K (2.7)

u∈J

xiuk +∑

u∈V−(j)

xujk ≤ 1 + fij ∀i ∈ I, ∀j ∈ J,∀k ∈ K (2.8)

xijk ∈ {0, 1} ∀i ∈ V,∀j ∈ V,∀k ∈ K (2.9)

yi ∈ {0, 1} ∀i ∈ I (2.10)

fij ∈ {0, 1} ∀i ∈ I, ∀j ∈ V (2.11)

La fonction-objectif (2.1) minimise la somme des coûts définis auparavant. La contrainte(2.2) assure que chaque client possède un seul prédécesseur dans la route et qu’il est visité parexactement un seul véhicule. Les équations (2.3) et (2.4) assurent respectivement le respect dela contrainte de capacité de véhicules et de dépôts. Les contraintes (2.5) et (2.6) assurent lacontinuité de chaque route et que chaque route commence et se termine au même dépôt ouvert.L’élimination des sous-cycles est assurée par la contrainte (2.7). La contrainte (2.8) indiquequ’un client j est affecté à un dépôt i si et seulement s’il y a une route qui relie i et j. Enfin, lescontraintes (2.9), (2.10) et (2.11) imposent l’intégrité des variables de décisions.

2.4 Méthodologie de la solution

Récemment, dans la plus part des méthodes proposées pour le CLRP, le problème initial estsouvent décomposé en deux sous-problèmes et résolu en utilisant des algorithmes à deux phases.Initialement, le sous-problème de localisation est traité et, ensuite le sous-problème de routageest résolu pour chaque dépôt ouvert. Dans plusieurs cas, avec le but d’améliorer la qualité de lasolution obtenue, les deux phases sont répétées dans une boucle itérative [34]. Cependant, cestechniques peuvent augmenter la complexité algorithmique de ces méthodes, ainsi que l’utilisationdes différentes mat-heuristiques et/ou algorithmes exacts; par conséquent, ces méthodes ont unedifficulté à résoudre les instances de grande taille (lorsque nous avons de nombreux clients etdépôts) [26, 52]. En d’autres termes, ces méthodes utilisent des solveurs, des méthodes exactes etdes opérateurs semi-exhaustifs pour améliorer la qualité de la solution; et parce que ces techniquessont très coûteuses en termes de temps d’exécution notamment pour les instances de grande taille,leur efficacité n’est pas garantie. Donc, pour traiter des instances de grande taille, nous devonschoisir des procédures et des outils pour chercher le meilleur compromis entre la qualité de lasolution et le temps d’exécution. Pour atteindre cet objectif, nous proposons l’heuristique à deuxphases suivante (Two Stage Heuristic (2-SH)).

Dans cette section, l’algorithme 2-SH est présenté. Comme mentionné ci-dessus, notre objectifest de proposer un algorithme pour traiter le CLRP à grande échelle et de trouver des solutions debonne qualité dans un temps d’exécution raisonnable, afin d’être compétitif avec les méthodes dela littérature [52]. Dans notre approche, contrairement aux heuristiques de la littérature, le sous-problème de routage est résolu d’abord et ensuite, le sous-problème de localisation est traité sans

24

Page 37: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 ladeuxième phase, le recuit simulé est utilisé pour déterminer un sous-ensemble de dépôts à ouvriret pour affecter chaque route à un de ces dépôts. Dans ce qui suit, toutes ces procédures sontdécrites en détail.

2.4.1 La première phase

Dans cette phase, l’objectif est de construire un ensemble de routes faisables avec un coût mini-mal. D’abord, une heuristique d’insertion est utilisée pour créer une tournée géante non-fermée(pas de retour au sommet de départ). Ensuite, la tournée géante est divisée en plusieurs routesde manière à satisfaire, pour chaque route, la capacité du véhicule. Enfin, la recherche Tabouest appliquée pour améliorer la qualité des routes créées. Ces procédures sont décrites en détaildans les paragraphes suivants.

2.4.1.1 L’Heuristique d’Insertion (HI)

Dans Prins et al. (2007) [82] et Escobar et al. (2014) [37], un schéma d’initialisation a été proposéen construisant une tournée géante à l’aide des algorithmes connus, ensuite cette tournée estdivisée. Cependant, dans notre schéma d’initialisation proposé, l’heuristique d’insertion (HI)construit une tournée non-fermée et pas une tournée fermée (TSP-tour). En effet, dans unetournée fermée deux contraintes doivent être respectées. La première contrainte est : la tournéedoit commencer et se termine au même sommet (client). La seconde contrainte est que : chaquesommet doit avoir une seule visite. Cependant, dans la tournée non-fermée, seulement la secondecontrainte est imposée. Par conséquent, la construction d’une tournée fermée est plus difficileet demande plus de temps d’exécution qu’une tournée non-fermée. En outre, une heuristiqued’insertion est suffisante pour construire une bonne tournée géante non-fermée qui recouvre tousles clients. Enfin, nous estimons que cette technique est plus bénéfique en termes de tempsd’exécution et de la qualité de solution notamment pour les instances de grande taille.

Les heuristiques d’insertion sont des méthodes constructives simples et efficaces. Chaqueheuristique d’insertion commence avec un sous-ensemble de sommets (clients), puis elle construitune solution en ajoutant progressivement le reste des clients un par un. Ici, nous exposons lefonctionnement de HI.

Tout d’abord nous définissons les structures suivantes:

• I_L : une liste contenant tous les clients;

• I_G : une séquence de clients (liste) qui construit une tournée non-fermée, initialementvide;

• L_R : l’ensemble de routes qui respectent la contrainte de capacité de véhicule;

Au début, deux clients sont sélectionnés aléatoirement à partir de I_L. Ils sont retirés de I_Let 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 clientsdans la liste I_L) dans toutes les positions possibles dans I_G. Le candidat qui donne le coûtminimal est sélectionné et est inséré dans I_G. Ce processus est répété jusqu’à ce que tous les

25

Page 38: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 pourconstruire un ensemble de routes faisables (L_R). Dans la procédure de séparation, la séquencedes 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 quidépasse la capacité du véhicule est servi par deux véhicules; dans le premièr véhicule, le clientest servi par la capacité totale du véhicule, et le reste de la demande est servi avec les autresclients dans la séquence de I_G [52]. HI est décrite en détail dans l’algorithme 1.

Algorithme 1 Heuristique d’insertion1: entrée : I_L, l’ensemble de clients;2: sortie : R_L, un ensemble de routes;3: c1, c2, c3 : client;4: c1, c2 ← clients d’un arc ∈ I_L;5: ajouter c1, c2 dans I_G et les supprimer de I_L;6: calculer le fitness de chaque c ∈ I_L;7: tant que (I_L n’est pas vide) faire8: c3 ← meilleur_client c ∈ I_L;9: supprimer c3 de I_L;10: ajouter c3 dans I_G dans la bonne position;11: faire la mise à jour du fitness de chaque c ∈ I_L;12: fin tant que13: R_L ←découper(I_G);14: retourner R_L;

2.4.1.2 La recherche Tabou (TS)

Pour améliorer la qualité des routes générées dans l’étape précédente, nous utilisons la rechercheTabou. La recherche Tabou est une méta-heuristique très utilisée, avec succès, pour résoudredifférents problèmes d’optimisations combinatoires [43, 68]. Formellement, la TS commence avecune solution initiale T_Sc et choisit, à chaque itération, la meilleure solution T_S1 non-Taboudans sa structure de voisinage T_N(T_Sc). Ensuite, la solution T_Sc est remplacée par lanouvelle solution T_S1 et T_Sc est déclarée interdite ou Tabou. Cette procédure se terminequand un certain nombre d’itérations est atteint.

Dans la littérature, plusieurs variantes de TS ont été développées essentiellement pour leproblème du voyageur de commerce (TSP). Cependant, ces méthodes utilisent des techniquesqui consomment beaucoup de temps de calcul [11]. Alors, nous pensons que ces techniques neseront pas efficaces dans l’heuristique 2-SH parce que, dans notre cas, le but de la procédureTS est de converger rapidement vers des solutions de bonne qualité, donc de faire le meilleurcompromis entre la qualité de la solution et le temps d’exécution. Par conséquent, pour faire faceà ce problème, nous proposons la méthode décrite par la suite.

Les principales composantes de la méthode TS sont : la solution initiale, la structure devoisinage, les stratégies d’intensification et de diversification, et la mémoire à court terme (listeTabou). Nous présentons ces composantes dans les paragraphes suivants. Enfin, la structuregénérale de notre méthode est présentée dans l’algorithme 2.

1. La solution initiale. La procédure de séparation génère des tournées (routes) non-fermées,c’est-à-dire, chaque tournée commence par un client et se termine par un autre en visitant

26

Page 39: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 solutioninitiale par la TS. Dans la littérature, plusieurs heuristiques ont été utilisées pour fournirune solution initiale pour la TS [11]. Dans le 2-SH, nous utilisons l’heuristique du PlusProche Voisin (PPV). A partir d’une tournée initiale qui contient un seul client, à chaqueitération, la procédure PPV trouve le client non servi le plus proche et l’insère dans latournée. Ces étapes sont répétées jusqu’à ce que tous les clients concernés soient insérés.

2. La structure de voisinage. Nous utilisons trois mouvements pour construire la structurede voisinage: le déplacement (Shift), l’échange (swap) et le déplacement aléatoire (random-shift). Ces mouvements sont basés sur la notion de pires clients. PI_CL est le sous-ensemble des T_K pires clients dans la tournée. Le pire client est celui qui possède lesdeux arcs les plus longs dans la tournée.

• Le déplacement (Shift) : ce mouvement consiste à enlever un pire client sélectionné auhasard à partir de sa position, et à l’insérer dans la meilleure position dans la route.

• L’echange (Swap) : ce mouvement consiste à échanger les positions de deux clients. Lepremier est un pire client sélectionné au hasard, mais le second est le meilleur clientqui minimise le coût du mouvement.

• Le déplacement aléatoire (Random-shift) : ce mouvement est un cas particulier duShift décrit précédemment. Il consiste à insérer le client sélectionné dans une positionaléatoire.

La méthode TS proposée exécute les trois mouvements ci-dessus comme suit : la structurede voisinage est construite par le shift et le swap si le coût de la meilleure solution estamélioré dans les T_NI dernières itérations, sinon le Random-shift est appliqué.

3. Les stratégies d’intensification et de diversification. Deux techniquesd’intensification sont utilisées : le choix de la meilleure solution dans la structurede voisinage pour être la solution courante et le déplacement des clients vers les meilleurespositions dans les tournées pendant la recherche. Pour diversifier la recherche, le mouve-ment random-shift, décrit ci-dessus, est utilisé. En plus, si la meilleure solution dans lastructure le voisinage dégrade la fonction objectif, cette solution est acceptée pour être lanouvelle solution courante.

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 à courtterme. La longueur de cette liste est T_L. Dans notre cas, nous utilisons la technique laplus simple, après la construction de la structure de voisinage, toutes les solutions Taboussont supprimées et ensuite la meilleure parmi le reste est choisie pour être la nouvellesolution courante.

L’heuristique Tabou proposée ci-dessus est un peu moins performante que les méthodes dela littérature (en terme de la qualité de solutions) mais elle est plus rapide. En effet, cettecaractéristique est importante pour réduire les temps de calcul de la méthode 2-SH, car la TSva être exécutée plusieurs fois.

27

Page 40: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.4. Méthodologie de la solution

Algorithme 2 Recherche Tabou1: entrée: r une route non-fermée;2: sortie: r une route fermée (TSP-tour);3: T1 : entier;4: r ←PPV(r);5: T_Sc ← r; T_Sbest ← r;6: T1 ← T_NI;7: ajouter T_Sc à T_list;8: tant que (le critère d’arrêt non satisfait) faire9: créer T_N(T_Sc) selon T1;10: T_Sc ← meilleur { T_S1 ∈ T_N(T_Sc) et T_S1 /∈ T_list };11: ajouter T_Sc à T_list;12: Si (coût(T_Sc) <coût(T_Sbest))13: T_Sbest ← T_Sc;14: T1 ← T_NI + 1;15: fin si16: T1 ← T1− 1;17: fin tant que18: r ← T_Sbest;19: retourner r

2.4.2 La deuxième phase

Dans cette phase, le sous-problème de localisation, appelé le problème de localisation des dépôtssans la contrainte de capacité (Uncapacitated Facility Location Problem (UFLP)), est résolu enutilisant la méthode de recuit simulé. Le problème de localisation des dépôts sans la contraintede capacité consiste à ouvrir certains dépôts (à partir d’un ensemble de dépôts candidats) pourservir un ensemble de clients, tout cela en minimisant le coût total (coût d’ouverture des dépôtset le coût d’affectation des clients à ces dépôt) [12]. Le nombre de dépôts à ouvrir n’est pas fixéà l’avance. Similaire à Escobar et al. (2014) [37] et Prins et al. (2007) [82], chaque route estconsidérée comme un super-client. Le coût d’affectation de la route r (super-client) au dépôt i,noté Lri, est la distance minimale entre i et r (L est une matrice de coûts d’affectation). Donc,chaque route r sera servie par le dépôt ouvert le plus proche dans la solution. Bien que, Escobaret al. (2014) [37] et Prins et al. (2007) [82] utilisent la même idée en considérant chaque routecomme un super-client, le UFLP a été abordé en utilisant des solveurs. Pour les petites instances,les solveurs sont toujours efficaces avec environ 20 dépôts candidats et 20 à 25 routes. Cependant,pour les instances de grande taille, jusqu’à 1000 dépôts candidats et environ 7.200 routes, lesméthodes proposées, dans [37, 82], ne peuvent pas être appliquées. Pour faire face à ce problème,la méthode de recuit simulé suivante est proposée.

2.4.2.1 Recuit simulé (Simulated Annealing (SA))

La méthode de recuit simulé est une méta-heuristique inspirée d’un phénomène physique, utiliséesouvent pour résoudre de nombreux problèmes combinatoires NP-difficiles. Cette méthode aété utilisée également avec succès pour résoudre certains problèmes de localisation [60]. Afind’éviter les minima locaux, la SA accepte (avec une certaine probabilité) de passer à des solutionsqui dégrade la fonction objectif. Ce principe est la principale caractéristique de la méthode.Formellement, notre SA commence avec une solution initiale L_S, et à chaque itération, la

28

Page 41: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 meilleuresolution dans la structure de voisinage L_Sc1 (θ ←Cost(L_Sc1)−Cost(L_Sc)). Si le coût de lameilleure 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 avecune probabilité égale à e−θ/pr (pr est un nombre entier, représentant la température dans lephénomène physique). Ces étapes sont répétées jusqu’à ce qu’un critère d’arrêt est atteint. Enplus, 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, uneprocé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’heuristiqued’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.

1. L’Heuristique d’Insertion pour UFLP (HIU). Dans la littérature, plusieurs méthodesont été développées pour le problème UFLP. Dans les heuristiques gloutonnes les plusconnues proposées pour le problème UFLP, tous les dépôts candidats sont réévalués àchaque itération [94]. En effet, ces heuristiques consomment beaucoup de temps de calculet elles ne sont pas efficaces dans notre cas. D’un autre côté, la génération d’une solutioninitiale aléatoirement n’est pas souhaitable. Pour faire face à ce problème nous proposonsune heuristique d’insertion basée sur une fonction d’évaluation constante H (voir la formule2.12). Les dépôts sont évalués une seule fois au début et ils gardent leurs fitness jusqu’àla fin de l’algorithme. En utilisant cette technique, nous évitons de générer une solutioninitiale aléatoire d’un côté et, d’un autre côté, le temps d’exécution de la procédure seratrès réduit (beaucoup mieux que ceux des heuristiques gloutonnes de la littérature). Toutd’abord, nous définissons la fonction d’évaluation H:

Hi ← Oi −∑

r∈R1

Lri (2.12)

Dans (2.12), R1 est un sous-ensemble de clients où le dépôt i est le plus proche parmi tousles 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:

• Etape 1 : évaluer tous les dépôts en utilisant la fonction H.

• Etape 2 : ajouter tous les dépôts dans une liste L_List dans un ordre croissant selonla valeur de H.

• Etape 3 : choisir au hasard le dépôt i à ouvrir parmi les L_K meilleurs dépôts dansla liste L_List.

• Etape 4 : ajouter i à la solution L_S.

• Etape 5 : évaluer la nouvelle solution L_S. Si le coût est diminué, alors aller à l’étape3, sinon arrêter la procédure.

En outre, pour assurer la diversification et la flexibilité de la méthode, les dépôts à ouvrirsont choisis au hasard parmi les L_K meilleurs (voir l’étape 3).

2. La représentation de la solution. L’efficacité d’un algorithme dépend fortement dela structure de données utilisée, en particulier la représentation de la solution joue unrôle important. Dans notre implémentation, trois structures de données sont utilisées : un

29

Page 42: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.4. Méthodologie de la solution

vecteur V S et deux matrices (AS, SM). Dans ce qui suit nous expliquons comment ellessont utilisées.

Rappelons d’abord que m est le nombre de clients, et n est le nombre des dépôts. La solutionest représentée comme un vecteur V S = {vs1, ..., vsn} de variables binaires, vsi égale à 1si le dépôt i est ouvert. Parce qu’il n’y a pas de contrainte de capacité sur les dépôts, ilest évident que chaque client j est affecté au dépôt le plus proche i (évidement parmi lesdé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, pourchaque 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 candidatsdans l’ordre croissant du coût d’affectation Lij . La figure 2.1 montre un exemple d’unesolution d’UFLP avec 4 dépôts candidats et 6 clients, et sa représentation.

Figure 2.1: Exemple d’une solution pour l’UFLP.

La solution dans la figure 2.1 est présentée comme suite:

• V S = {0, 1, 0, 1}

• AS =

client dépôt coût1 2 82 2 7.63 2 8.34 2 7.55 4 86 4 6

• SM =

client dépôts1 1 2 3 42 1 2 3 43 3 2 1 44 3 2 4 15 3 4 2 16 4 3 2 1

3. L’évaluation des solutions voisines. A chaque itération de l’algorithme SA, un ensemblede nouvelles solutions est généré. Chaque nouvelle solution est le résultat de l’applicationd’un opérateur sur la solution courante. D’une manière générale, le coût de chaque nou-velle solution est calculé indépendamment de la solution courante, mais, cette procédureconsomme beaucoup de temps de calcul, notamment pour des instances de grande de taille.Afin d’éviter cela, en utilisant AS et SM , le coût de chaque nouvelle solution est recalculé

30

Page 43: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

d’une manière incrémentale à partir du coût de la solution courante, c’est-à-dire, juste unemise à 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, pourchaque 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é deASj,3−Lij . Il est clair que la complexité de cette boucle est en O(m). Finalement, lacomplexité algorithmique de cette procédure de mise à jour est en O(m).

• Dans l’autre cas, si un dépôt i′ est fermé, alors vsi′ ← 0 et le coût de la solution seradiminué de Oi′ . La complexité de cette mise à jour est en O (1). En plus, pour chaqueclient j affecté à i′, nous cherchons dans SM le premier dépôt ouvert i′′. Donc, j seraaffecté à i′′ et le coût de la solution sera augmenté par la valeur Li′′j − ASj,3. Eneffet, il est difficile d’estimer exactement la complexité de cette procédure, mais dansle meilleur des cas cette procédure est en O (1), lorsque le dépôt fermé n’a qu’un seulclient et le dépôt suivant dans SM [j] est ouvert. Le pire des cas est celui où tous lesclients sont affectés au dépôt fermé et un seul autre dépôt est ouvert, et ce dépôt estle plus loin de tous les clients, à savoir le dernier à SM pour tous les clients. Dans cecas, la complexité de la procédure est O (m × n). Expérimentalement, cette procédureest très proche de son meilleur des cas.

Contrairement à tout cela, la complexité de la procédure classique qui recalcule la valeurde chaque nouvelle solution est en O(m × n).

4. La structure de voisinage. Dans le problème UFLP, un voisin de la solution couranteL_Sc peut être obtenu par le changement de statut d’un dépôt (ouverture ou fermeture)ou de deux dépôts (échange de statuts). Nous avons donc trois mouvements possibles:

• Le mouvement ajouter (ADD), qui ouvre un dépôt fermé.

• Le mouvement supprimer (DROP), qui ferme un dépôt ouvert.

• Le mouvement echanger (SWAP), qui remplace un dépôt ouvert par un autre fermé.

En effet, le SWAP est un mouvement qui consomme beaucoup de temps de calcul [94]. Parconséquence, à chaque itération seulement les mouvements ADD et DROP sont utiliséspour créer la structure de voisinage L_N(L_Sc).

2.4.3 Algorithme complet (2-SH)

Enfin, la méthode 2-SH est décrite dans l’algorithme 4. La solution finale (final_solution) estobtenue en attribuant chaque route à son dépôt approprié, c’est-à-dire, à insérer le sommet dedépôt dans la route. Dans l’algorithme 4, il est clairement indiqué que la procédure TS estappliquée lorsque le nombre de clients dans la route est supérieur à 7.

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

Page 44: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Algorithme 3 Recuit simulé1: entrée: L la matrice de coûts d’affectation;2: sortie: L_S l’ensemble des dépôts ouverts;3: Min1,Min2 : nombre réel;4: pour (chaque depôt i)5: evaluer i en utilisant H;6: ajouter i à L_List en respectant l’ordre croissant selon H;7: fin pour8: Min1 ←∞;9: Min2 ←∞− 1;10: tant que (Min2 ≤ Min1)11: Min1 ← Min2;12: i1 ←un dépôt parmi les L_K meilleur dans L_List;13: ajouter i1 à L_S;14: supprimer i1 de L_List;15: Min2 ←coût(L_S);16: fin tant que17: L_Sc ← L_S;18: L_Sbest ← L_S;19: tant que (le critère d’arrêt non satisfait) faire20: créer L_N(L_Sc);21: L_Sc1 ← meilleur { L_S ∈ L_N(L_Sc) };22: θ ←coût(L_Sc1)−coût(L_Sc);23: pp ←random(0, 1); /*générer un nombre aléatoire entre 0 et 1*/24: si((θ < 0) ou (pp ≤ e−θ/pr)) alors25: L_Sc ← L_Sc1;26: fin si27: si(coût(L_Sc1) <coût(L_Sbest)) alors28: L_Sbest ← L_Sc1;29: fin si30: fin tant que31: retourner L_Sbest;

32

Page 45: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Algorithme 4 Heuristique en deux phases (2-SH)1: entrée : instance de CLRP;2: sortie : solution de CLRP (Final_solution);3: R_L ←heuristique_insertion();4: pour (chaque r ∈ R_L) faire5: si (|r| ≥ 7) alors6: r ←Recherche_Tabou(r);7: fin si8: fin pour9: pour (chaque route r ∈ R_L) faire10: pour (chaque depôt i) faire11: calculer Lri;12: fin pour13: fin pour14: L_S ← Recuit_Simulé(L);15: Final_solution ← construction(L_S,R_L);16: retourner Final_Solution;

petites et moyennes taille (un maximum de 20 dépôts candidats et 200 clients). En effet, cesinstances 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 unmaximum de 1.000 dépôts candidats et 10.000 clients. Parce que l’approche 2-SH est développéeparticulièrement pour résoudre le CLRP à grande échelle, nous avons choisi ces instances pourtester notre algorithme.

L’algorithme 2-SH a été implémenté en Java. Toutes les expériences ont été réalisées sur unPC équipé d’un processeur Intel i7 à 2.5 GHz et dispose d’une mémoire de 32Go. Pour testerles 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 fourniespar les méthodes proposées de la littérature. Ces instances et les meilleurs solutions connues sonttéléchargeables sur le site [1]. Dans ce qui suit, nous allons tout d’abord présenter les paramètresutilisés pour l’algorithme, ensuite le jeu de d’essai est exposé. Enfin, les résultats obtenus parl’approche 2-SH sont présentés, comparés et discutés.

2.5.1 Réglage des paramètres

Dans notre expérimentation, les paramètres suivants sont utilisés:Les critères d’arrêt pour les procédures TS et SA sont fixés comme étant le nombre de clients

dans la route et le nombre de dépôts candidats respectivement. Tout d’abord, les paramètrespour la métaheuristique TS sont : T_NI = 15, T_K = 10, T_L = 15, la taille de la structurede voisinage (| T_N(T_S)|) est fixée à 20. Ensuite, pour les paramètres de recuit simulé on a:L_K = 10, ρ = 0.98, pr = 1500 et la taille de la structure de voisinage (| L_N(LS) |) est fixéeà 50.

2.5.2 Le jeu de données

De la même façon de Tuzun et Burke (1999) [100], Harks et al. (2013) [52] ont généré un jeud’essai de 27 instances de grande taille. Les instances sont divisées en trois groupes : le groupeM (1000 clients, 100 dépôts), le groupe L (5000 clients, 500 dépôts) et le groupe XL (10.000

33

Page 46: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Tableau 2.2: Le jeu de données de Harks et al. (2013) [52]

inst #dep #cl avg dem avg dep.coût veh.cap BKS borne inférieureM 1,1 1000 100 5.04 47.938 9 13478.9 8800.8M 1,2 1000 100 5.04 47.938 100 3499.05 2096.7M 1,3 1000 100 5.04 47.938 1000 2478.9 2096.3M 2,1 1000 100 5.04 147.937 9 17997 12166.6M 2,2 1000 100 5.04 147.937 100 4468.74 2288.8M 2,3 1000 100 5.04 147.937 1000 2620.84 2151.6M 3,1 1000 100 5.04 343.814 9 22926.8 15432.2M 3,2 1000 100 5.04 343.814 100 5345.92 2938.7M 3,3 1000 100 5.04 343.814 1000 2779.25 2203.4L 1,1 5000 500 4.97 49.136 9 32325.9 17502L 1,2 5000 500 4.97 49.136 100 8106.1 4607L 1,3 5000 500 4.97 49.136 1000 5463.71 4607L 2,1 5000 500 4.97 149.136 9 50229.7 29519.6L 2,2 5000 500 4.97 149.136 100 12059.5 5946.5L 2,3 5000 500 4.97 149.136 1000 6624.78 4659.4L 3,1 5000 500 4.97 347.409 9 63905.1 38728.3L 3,2 5000 500 4.97 347.409 100 14372.4 7515.9L 3,3 5000 500 4.97 347.409 1000 6966.54 4709.4XL 1,1 10000 1000 5.024 49.36 9 48677.1 25449.7XL 1,2 10000 1000 5.024 49.36 100 11872 6494.6XL 1,3 10000 1000 5.024 49.36 1000 7754.66 6494.6XL 2,1 10000 1000 5.024 149.36 9 77580.6 46601.8XL 2,2 10000 1000 5.024 149.36 100 18159.1 9253.7XL 2,3 10000 1000 5.024 149.36 1000 9296.1 6550.3XL 3,1 10000 1000 5.024 348.09 9 101454 60461.3XL 3,2 10000 1000 5.024 348.09 100 21341.5 11838.1XL 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 sontdivisées en trois types, à savoir le type 1, 2 et 3 avec trois instances pour chaque type. Dansles instances de type 1 (respectivement 2 et 3), le coût d’ouverture de chaque dépôt est choisiuniformément dans l’intervalle [0; 100] (respectivement [100; 200] et [200; 500]). De plus, pour lestrois instances de même groupe et de même type, la capacité de véhicule est fixée à 9, 100, 1000respectivement. Pour toutes les instances, les demandes des clients ont été choisies uniformémentdans l’intervalle [0; 10]. Le tableau 2.2 décrit ces instances. La première colonne présente le nomde l’instance (inst), les colonnes deux et trois indiquent le nombre de dépôts candidats et lenombre de clients respectivement (#dep et #cl respectivement). Les colonnes quatre et cinqreprésentent la moyenne des demandes de tous les clients et la moyenne des coûts de tous lesdépôts (avg dem et avg dep.coût respectivement), la colonne six indique la capacité des véhicules(veh.cap). Enfin, les colonnes sept et huit représentent, respectivement, la valeur de la meilleuresolution connue (Best Known Solution (BKS)) et la borne inférieure.

34

Page 47: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Tableau 2.3: Les résultats de 2-SH

2-SHinst #op.dep dep.coût #route coût gap temps CPUM 1,1 54 1739.94 723 12014.16 0.365 1.029M 1,2 17 250.22 53 3470.34 0.655 0.921M 1,3 5 24.62 6 2814.54 0.343 10.687M 2,1 29 3854.43 728 15760.49 0.295 1.123M 2,2 6 721.83 53 4494.11 0.964 0.981M 2,3 1 113.571 6 3010.64 0.399 10.563M 3,1 20 5597.3 728 19839.45 0.286 1.029M 3,2 5 1164.54 53 5207.41 0.436 0.937M 3,3 1 208.04 6 3156.59 0.433 10.546L 1,1 201 5684.61 3592 29538.07 0.688 64.758L 1,2 63 693.83 256 8176.03 0.775 19.626L 1,3 16 46.67 25 6228.35 0.352 66.52L 2,1 102 13181.188 3599 43496.52 0.474 64.305L 2,2 20 2296.34 258 11551.58 0.943 19.392L 2,3 5 552.973 25 7058.20 0.515 68.579L 3,1 66 17422.29 3578 54976.58 0.420 63.76L 3,2 13 2890.25 257 13426.15 0.786 19.689L 3,3 3 638.934 25 7467.20 0.586 65.927XL 1,1 353 8359.69 7227 43939.78 0.727 179.044XL 1,2 119 1010.42 520 11867.27 0.827 88.969XL 1,3 40 120.38 51 8823.95 0.359 160.744XL 2,1 168 21270.64 7215 68118.70 0.462 170.62XL 2,2 34 3757.45 520 17638.79 0.906 88.985XL 2,3 9 910.40 51 10172.31 0.553 162.522XL 3,1 106 26572.69 7232 85509.48 0.414 177.562XL 3,2 23 5231.12 519 20659.67 0.745 89.093XL 3,3 6 1291.62 51 10897.51 0.651 167.126

Moyenne 19853.59 0.569 65.74

2.5.3 Résultats et discussion

Dans le tableau 2.3, nous exposons les résultats de l’heuristique 2-SH. La première colonne indiquele nom de l’instance (inst). Les colonnes deux, trois et quatre présentent le nombre des dépôtsouverts (#op.dep), leurs coûts (dep.coût) et le nombre de routes dans la solution respectivement(#route). Les colonnes cinq et six indiquent le coût de la solution (coût) et l’écart entre le coûtde la solution de la borne inférieure (gap) calculé comme suit : solution_cout−borne_infrieure

borne_infrieure . Ladernière colonne présente le temps d’exécution qui est indiqué en secondes (temps CPU).

Le tableau 2.4 présente les résultats de Harks et al. (2013) [52]. L’implémentation de leursméthodes a été faite en C ++ en utilisant le compilateur GCC 4.5 sous SUSE Linux 11.3.Toutesleurs expérimentations ont été effectuées sur un PC équipé d’un processeur Intel Core 2 DuoE8400 à 3.0 GHz avec 4 Go de RAM. On note ici que, Harks et al. (2013) [52] ont proposé unalgorithme à performance garantie (Approximation Algorithm) pour le CLRP. Nous référons à

35

Page 48: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Tableau 2.4: Les résultats de Approx et Approx-LKH [52]

Approx Approx-LKHInst #op.dep dep.coût #route coût gap CPU coût gap CPUM 1,1 33 779.4 757 13563.4 0.541 0.47 13478.9 0.532 0.55M 1,2 13 82 58 4111.6 0.961 0.95 3499.05 0.669 1.00M 1,3 8 31.8 10 3343.6 0.595 1.59 2478.9 0.183 1.65M 2,1 18 2157.9 756 18086.2 0.487 0.53 17997 0.479 0.62M 2,2 5 528.2 55 5098.9 1.228 0.92 4468.74 0.952 0.98M 2,3 1 205.2 6 3520.2 0.636 1.62 2620.84 0.218 1.67M 3,1 10 2370.3 756 23008.8 0.491 0.68 22926.8 0.486 0.76M 3,2 3 869.1 55 6012 1.046 1.27 5345.92 0.819 1.32M 3,3 1 414.3 6 3656.8 0.66 0.83 2779.25 0.261 0.88L 1,1 128 2426.4 3695 32473 0.855 23.39 32325.9 0.847 35.90L 1,2 47 337.3 272 9433.5 1.048 50.84 8106.1 0.76 59.29L 1,3 16 42.1 31 7344.7 0.594 120.12 5463.71 0.186 121.95L 2,1 50 6000.5 3694 50380.6 0.707 28.89 50229.7 0.702 41.35L 2,2 10 1163.8 271 13435.5 1.259 65.79 12059.5 1.028 73.81L 2,3 2 306 29 8477 0.819 162.99 6624.78 0.422 165.08L 3,1 31 7293.4 3694 64058.9 0.654 38.3 63905.1 0.65 50.94L 3,2 6 1473 271 15694.9 1.088 89.8 14372.4 0.912 97.81L 3,3 1 409.3 29 8835.3 0.876 210.71 6966.54 0.479 213.44XL 1,1 229 3394.8 7480 48879.5 0.921 136.48 48677.1 0.913 214.23XL 1,2 78 405.1 554 13752.3 1.117 314.81 11872 0.828 369.47XL 1,3 33 52.7 69 10400 0.601 741.08 7754.66 0.194 749.91XL 2,1 82 9264.9 7473 77796.3 0.669 165.57 77580.6 0.665 243.40XL 2,2 17 1752.7 547 20133.7 1.176 383.13 18159.1 0.962 434.58XL 2,3 4 507.8 57 12018.2 0.835 879.48 9296.1 0.419 886.83XL 3,1 48 10593.1 7473 101676 0.682 228.14 101454 0.678 307.12XL 3,2 11 2255.2 547 23304.5 0.969 518.15 21341.5 0.803 570.46XL 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 notonsce nouvel algorithme Approx-LKH.

Le tableau 2.5 compare les résultats de notre approche 2-SH par rapport aux résultats desdeux algorithmes de Harks et al. (2013) [52] à savoir Approx et Approx-LKH. Nous indiquonsle nom de l’instance, le coût de la solution obtenue par chaque algorithme (coût) et son gap parrapport à la borne inférieure (gap). Dans chaque ligne du tableau, nous soulignons le meilleurrésultat et son gap.

En comparant les résultats de 2-SH avec ceux de Approx et de Approx -LKH, la 2-SHdonne toujours de meilleurs résultats par rapport à Approx. Nous constatons, que 2-SH estmeilleure 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 instancesparmi les 27 instances par rapport aux résultats de Approx-LKH. Néanmoins, les résultats nesubissent, malheureusement, pas une nette amélioration, la 2-SH ayant des résultats meilleursque le Approx-LKH avec un pourcentage moyen de 4.7%. De plus, nous observons que le 2-SHamé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 instancesoù la capacité du véhicule est égale à 9. Dans ces instances, nous avons un nombre important deroutes par rapport aux autres (voir le tableau 2.3), par conséquent, nous avons un problème delocalisation de plus en plus difficile. Ces dernières constatations montrent l’efficacité du recuitsimulé 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

Page 49: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.5. Expérimentation

Tableau 2.5: 2-SH vs. Approx et Approx-LKH

borne Approx Approx-LKH 2-SHinst inférieure coût gap coût gap coût gapM 1,1 8800.8 13563.4 0.541 13478.9 0.532 12014.16 0.365M 1,2 2096.7 4111.6 0.961 3499.05 0.669 3470.34 0.655M 1,3 2096.3 3343.6 0.595 2478.9 0.183 2814.54 0.343M 2,1 12166.6 18086.2 0.487 17997 0.479 15760.49 0.295M 2,2 2288.8 5098.9 1.228 4468.74 0.952 4494.11 0.964M 2,3 2151.6 3520.2 0.636 2620.84 0.218 3010.64 0.399M 3,1 15432.2 23008.8 0.491 22926.8 0.486 19839.45 0.286M 3,2 2938.7 6012 1.046 5345.92 0.819 5207.41 0.436M 3,3 2203.4 3656.8 0.66 2779.25 0.261 3156.59 0.433L 1,1 17502 32473 0.855 32325.9 0.847 29538.07 0.688L 1,2 4607 9433.5 1.048 8106.1 0.76 8176.03 0.775L 1,3 4607 7344.7 0.594 5463.71 0.186 6228.35 0.352L 2,1 29519.6 50380.6 0.707 50229.7 0.702 50229.7 0.474L 2,2 5946.5 13435.5 1.259 12059.5 1.028 11551.58 0.943L 2,3 4659.4 8477 0.819 6624.78 0.422 7058.20 0.515L 3,1 38728.3 64058.9 0.654 63905.1 0.65 54976.58 0.420L 3,2 7515.9 15694.9 1.088 14372.4 0.912 13426.15 0.786L 3,3 4709.4 8835.3 0.876 6966.54 0.479 7467.20 0.586XL 1,1 25449.7 48879.5 0.921 48677.1 0.913 43939.78 0.727XL 1,2 6494.6 13752.3 1.117 11872 0.828 11867.27 0.827XL 1,3 6494.6 10400 0.601 7754.66 0.194 8823.95 0.359XL 2,1 46601.8 77796.3 0.669 77580.6 0.665 68118.70 0.462XL 2,2 9253.7 20133.7 1.176 18159.1 0.962 17638.79 0.906XL 2,3 6550.3 12018.2 0.835 9296.1 0.419 10172.31 0.553XL 3,1 60461.3 101676 0.682 101454 0.678 85509.48 0.414XL 3,2 11838.1 23304.5 0.969 21341.5 0.803 20659.67 0.745XL 3,3 6600.5 13091.1 0.983 10389.9 0.574 10897.51 0.651

moyenne 11506.83 22651.35 0.833 21562 0.616 19853.59 0.569

37

Page 50: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

2.6. Conclusion

et Approx-LKH ont été développés sur des environnements différents et testés sur des machinesdifférentes. Par conséquent, nous évitons de comparer directement les temps d’exécution deces méthodes. Bien que la comparaison directe soit difficile, nous pouvons dire que les troisalgorithmes ont en général, des temps de calculs très proches en comparant la différence entreles moyennes des temps de calcul et la taille des instances (avec un maximum de 10.000 clientset 1.000 dépôts candidats). C’est-à-dire que, si un algorithme est considérablement meilleurqu’un autre, la différence entre les temps d’exécution sera très importante parce que la taille del’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 delocalisation-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 dessolutions 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ésen raison de leurs consommations élevées en temps d’exécution. Dans la méthode proposée, lapremière phase consiste à construire un ensemble de routes de coût minimal en utilisant uneheuristique 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 ensemblede dépôts candidats) et d’affecter chaque route à un dépôt ouvert. La performance de notrealgorithme a été comparée, avec succès, avec deux algorithmes de la littérature en utilisant unjeu de données standard de grande taille. L’expérimentation montre que, notre approche 2-SH estplus 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 lepoint-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

Page 51: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Chapitre 3

Résolution de problème de routage avecgestion de stock à base de la méthodeGRASP

Sommaire3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.2 Revue de la littérature . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.3 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.3.1 Hypothèses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.2 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.3.3 Le modèle mathématique . . . . . . . . . . . . . . . . . . . . . . . . . . 42

3.4 Méthodologie de solution . . . . . . . . . . . . . . . . . . . . . . . . . . 433.4.1 Vue générale sur l’algorithme . . . . . . . . . . . . . . . . . . . . . . . . 433.4.2 Prétraitement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.4.3 Solution initiale pour GBH . . . . . . . . . . . . . . . . . . . . . . . . . 443.4.4 Procédure gloutonne randomisée (GRP) . . . . . . . . . . . . . . . . . . 453.4.5 Recherche Tabou . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.4.6 La gestion de stock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.5 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513.5.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.2 Jeu de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.3 Résultats et comparaison avec B&C . . . . . . . . . . . . . . . . . . . . 533.5.4 L’analyse du comportement de GBH . . . . . . . . . . . . . . . . . . . . 583.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

Page 52: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 unhorizon de temps donné en utilisant une flotte de véhicules homogènes. Chaque client possèdeune capacité de stockage limitée et consomme à chaque période de l’horizon, les produits avecun 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 desstocks chez le fournisseur et chez les clients, etc.

Dans la littérature, plusieurs variantes de l’IRP ont été proposées. Dans ce chapitre, nousnous 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 auteursont 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 (GreedyRandomized Adaptive Search Procedure) qui utilise la recherche Tabou comme une procédurede recherche locale [48]. Dans ce qui suite, d’abord, nous donnons un aperçu sur la littératurede l’IRP et nous présentons la formulation mathématique du problème. Ensuite, nous exposonsla méthode proposée pour résoudre le problème MMIRP. En plus, l’algorithme est évalué et desexpérimentations sur des jeux de données standards sont présentées.

3.2 Revue de la littérature

Dans la littérature, plusieurs variantes du problème de routage avec gestion de stock ont étéétudiées et de nombreux algorithmes ont été proposés pour résoudre ces variantes y compris lesheuristiques, les méta-heuristiques, les méthodes exactes et les matheuristics [24]. Archetti et al.(2007) [8] ont traité l’IRP avec un seul produit et un seul véhicule en utilisant un algorithmeexact de type branch & cut. En outre, plusieurs heuristiques ont été proposées pour cette variantecomme l’heuristique hybride d’Archetti et al. (2012) [7] et l’heuristique de type ALNS (AdaptiveLarge Neighborhood Search) de Coelho et al. (2012a) [21]. Ainsi, pour les algorithmes exacts, onpeut citer le branch & cut de Solyali et al. (2011) [92] et récemment, un algorithme de type branch-price & cut a été proposé par Desaulniers et al. (2014) [32]. Archetti et al. (2014) [9] ont présentéet comparé plusieurs formulations mathématiques de l’IRP. Dans Coelho et Laporte (2013a) [23]et Adulyasak et al. (2012) [4], les auteurs ont abordé l’IRP multi-véhicules et un algorithme exacta été proposé dans chaque travail. Pour résoudre le problème avec des heuristiques, Coelho etal. (2012b) [20] ont proposé une recherche locale à grand voisinage combinée avec un algorithmeexact. En plus, des heuristiques de construction ont été développées par Abdelmaguid (2004)[2]. Dans le but d’améliorer la qualité de ces heuristiques, Abdelmaguid et Dessouky (2006) [3]ont introduit un algorithme génétique. En outre, Yu et al. (2008) [105] ont étudié l’IRP multi-véhicules avec une flotte de véhicules de taille limitée et le problème a été résolu en utilisant uneméthode hybride basée sur la relaxation lagrangienne. Par ailleurs, de nombreuses variantes del’IRP ont été proposées en prenant en compte le cas du multi-produits [76, 74, 81]. Dans toutesces contributions, des méthodes approchées ont été proposées. Dans Coelho et Laporte (2013b)[22], les auteurs ont adressé, pour la première fois, l’IRP standard en considérant à la fois le casde multi-produits et multi-véhicules, ce qui est différent de ceux précédemment cités. D’abord,ils ont présenté une formulation mathématique pour ce problème, et puis pour la résolution duMMIRP, un algorithme exact de type branch & cut a été utilisé. Plus récemment, Cordeau et al.

40

Page 53: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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éfinitionde Coelho et Laporte (2013b) [22] mais en ignorant les données sur le fournisseur (le coût destockage chez le fournisseur et la disponibilité des produits). Pour résoudre le problème, ils ontproposé une heuristique de décomposition en trois phases. Un état de l’art résumant les travauxproposés pour l’IRP et ses variantes est donné par Coelho et al. (2014) [24].

3.3 Définition du problème

Dans cette section, nous présentons la formulation mathématique du problème MMIRP proposépar Coelho et Laporte (2013b) [22]. Tout d’abord, nous présentons les hypothèses considéréesdans ce travail, nous donnons les notations utilisées et enfin le modèle mathématique est exposé.

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 etse 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 detous 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 fournisseurdans 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 ′ = V/{0}représente l’ensemble des clients et le sommet 0 représente le fournisseur.

• M = {1, ..., m} est l’ensemble des produits à distribuer.

• hmi est le coût de stockage unitaire du produit m. m ∈ M , i ∈ V .

• p est la longueur de l’horizon de temps.

• T = {1, ..., p} est l’ensemble des périodes.

• rmt est la quantité de produit m disponible chez le fournisseur à chaque période t ∈ T .

• Imt0 et Imt

i sont les niveaux de stocks chez le fournisseur et les clients, respectivement; pourchaque produit m ∈ M à la fin de la période t ∈ T .

• dmti est la demande du produit m ∈ M à la période t ∈ T effectuée par le client i ∈ V ′.

41

Page 54: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.3. Définition du problème

• K = {1, ..., z} est une flotte de véhicules homogènes.

• Qk est la capacité du véhicule k ∈ K.

• Ci est la capacité de stockage du client i ∈ V ′.

• cij est le coût de déplacement du sommet i ∈ V vers le sommet j ∈ V .

Les variables de décision

• qmkti est la quantité de produit m livrée au client i durant la période t en utilisant levéhicule k.

• xktij 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.

• ykti =

{1 si i ∈ V est visité par le véhicule k dans la période t.0 sinon.

3.3.3 Le modèle mathématique

La fonction objectif :

min∑

i∈V

m∈M

t∈T

hmi Imt

i +∑

i∈V

j∈V,i<j

k∈K

t∈T

cijxktij (3.1)

Les contraintes:

Imt0 = Im,t−1

0 + rmt −∑

k∈K

i∈V ′qmkti m ∈ M t ∈ T (3.2)

Imti = Im,t−1

i +∑

k∈K

qmkti − dmt

i m ∈ M i ∈ V ′ t ∈ T (3.3)

Imti ≥ 0 i ∈ V m ∈ M t ∈ T (3.4)

m∈M

Imti ≤ Ci i ∈ V ′ t ∈ T (3.5)

m∈M

k∈K

qmkti ≤ Ci −

m∈M

Im,t−1i i ∈ V ′ t ∈ T (3.6)

qmkti ≤ Ciy

kti i ∈ V ′ k ∈ K m ∈ M t ∈ T (3.7)

i∈V ′

m∈M

qmkti ≤ Qky

kt0 k ∈ K t ∈ T (3.8)

j∈V,i<j

xktij +

j∈V,j<i

xktji = 2ykt

i i ∈ V k ∈ K t ∈ T (3.9)

i∈S

j∈S,i<j

xktij ≤

i∈S

ykti − ykt

g S ⊆ V ′ k ∈ K t ∈ T g ∈ S (3.10)

42

Page 55: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

qmkti ≥ 0 i ∈ V ′ k ∈ K t ∈ T (3.11)

xkti0 ∈ {0, 1, 2} i ∈ V ′ k ∈ K t ∈ T (3.12)

xktij ∈ {0, 1} i, j ∈ V ′ k ∈ K t ∈ T (3.13)

ykti ∈ {0, 1} i ∈ V k ∈ K t ∈ T (3.14)

La fonction objectif (3.1) minimise à la fois les coûts de stockage et les coûts de transport.Les niveaux de stocks du fournisseur et des clients sont définis par les contraintes (3.2) et (3.3)respectivement. La contrainte (3.4) garantit la non rupture des stocks. La contrainte (3.5) imposeque la capacité de stockage maximale des clients soit respectée. En outre, le lien entre les quantitéslivrées et les variables de routage est assuré par les contraintes (3.6) et (3.7). Les contraintes (3.8,3.9 et 3.10) assurent la faisabilité des routes. Enfin, les contraintes de (3.11) à (3.14) imposentla non-négativité et l’intégrité des variables de décision.

3.4 Méthodologie de solution

Dans cette section, nous présentons l’heuristique développée pour résoudre le problème MMIRP.En effet, notre algorithme combine deux méta-heuristiques dans lequel nous essayons d’exploiterles avantages de chacune. La méta-heuristique de base est la méthode GRASP (Greedy Ran-domized Adaptive Search Procedure). La méthode GRASP est une méthode itérative où chaqueitération se compose de deux grandes phases successives. La première est la phase de construc-tion, où une solution réalisable est construite par une procédure gloutonne randomisée (GreedyRandomized Procedure (GRP)); la deuxième phase est une recherche locale qui améliore la so-lution construite dans la phase précédente [39]. La méthode GRASP répète ces deux phasesjusqu’à ce qu’un critère d’arrêt soit atteint et la meilleure solution trouvée est retournée commerésultat à la fin. Afin d’améliorer la procédure GRASP classique, la recherche locale que nousutilisons est la recherche Tabou (Tabu Search (TS)). Dans notre algorithme (GRASP BasedHeuristic (GBH)), contrairement à la plupart des algorithmes proposés dans la littérature, nousn’utilisons pas de solveurs et/ou des algorithmes exacts [24]. En effet, cette caractéristique esttrès importante car elle permet au GBH d’être efficace et rapide pour les instances de grandetaille. Dans le reste de ce chapitre, d’abord nous donnons un aperçu général sur l’algorithme.Ensuite, nous présentons les principales composantes de GBH, y compris les composantes de laprocédure gloutonne randomisée et les composantes de la recherche Tabou. Enfin, nous montronsla stratégie de gestion de stock utilisée. Dans ce qui suit, lorsque nous parlons de termes danschaque équation, nous nous référons aux termes des fonctions min et/ou max.

3.4.1 Vue générale sur l’algorithme

Au début, l’algorithme GBH génère une solution initiale S en utilisant le nombre minimum devisites pour chaque client. Cette solution est améliorée en utilisant la TS. En effet, dans cetteétape, la TS est consacrée à améliorer la solution initiale générée de façon aléatoire afin de lapréparer pour appliquer la procedure GRP. Ensuite, à chaque itération, l’algorithme continued’ajouter, par le biais de la procédure GRP, les meilleures visites de clients jusqu’à ce qu’un boncompromis entre le coût de routage et le coût de stockage soit atteint. Dans l’étape suivante,

43

Page 56: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

le GBH améliore cette nouvelle solution en utilisant la méthode TS. Le GBH est décrit dansl’algorithme 5, et ses composants sont explicités ci-dessous.

Algorithme 5 Heuristique de type GRASP1: faire le prétraitement;2: S ← Solution_initiale();3: Sts ← Recherche_Tabou(S);4: S ← Sts;5: Sbest ← S;6: tant que (le critère d’arrêt n’est pas satisfait) faire7: Sg ← Procédure_gloutonne_randomisée(S);8: Sts ← Recherche_Tabou(Sg);9: si (coût(Sts) < coût(Sbest)) alors10: Sbest ← Sts;11: fin si12: fin tant que13: retourner Sbest;

3.4.2 Prétraitement

Dans une étape de prétraitement, le GBH calcule le nombre minimum (NBmini) de visites pourchaque client i comme suit :

Tout d’abord, nous calculons la quantité des produits que le client i a besoin sur l’horizon deplanification NEi comme suit (voir l’équation (3.15)):

NEi =∑

t∈T

m∈M

dm,ti −

m∈M

Im,0i ∀i ∈ V ′ (3.15)

NBmini = max(⌈NEi

Ci

⌉,

⌈NEi

Qk

⌉, 0) ∀i ∈ V ′ (3.16)

Le calcul du nombre minimum de visites pour chaque client doit prendre en considération lebesoin du client qui doit être livré NEi, sa capacité de stockage et la capacité du véhicule quine doit pas être dépassée (voir équation (3.16)). Donc, nous avons mis le nombre minimum devisites comme étant le maximum entre le besoin du client divisé par sa capacité de stockage, lebesoin 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 vadiminuer au cours du temps, et à une période donnée, une rupture de stock se produira. On notecette période par maxi.

3.4.3 Solution initiale pour GBH

Une première solution initiale de base S pour le GBH est générée de manière aléatoire en utilisantle nombre minimum de visites pour chaque client i (NBmini) comme suit :

44

Page 57: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

1. La première visite de chaque client i est affectée à une période choisie aléatoirement dansl’intervalle [1, maxi].

2. Le reste des visites sont attribués aléatoirement, c’est-à-dire le choix de la période, de laroute et de la position dans la route se fait aléatoirement.

3.4.4 Procédure gloutonne randomisée (GRP)

Dans la procédure GRP (phase 1) de la métaheuristique GRASP, une solution faisable est con-struite en introduisant progressivement un élément à la fois. A chaque étape, tous les élémentscandidats sont évalués en utilisant une fonction gloutonne et une liste des meilleurs candidats(RCL) est formée par les Wr meilleurs éléments (Wr est un nombre entier). Ensuite, un élémentsélectionné aléatoirement à partir de RCL est retourné. L’élément est inséré dans la solutionpartielle courante générant une nouvelle solution. Les étapes précitées sont répétées jusqu’àl’insertion de tous les éléments [39].

Dans notre cas, après la génération d’une solution initiale de base S, le GBH l’amélioreen utilisant la méthode TS. Par conséquent, nous avons une solution avec un coût de routageminimal, un coût de stockage maximal et un ensemble de contraintes qui peuvent être violées.Donc, l’objectif est de diminuer le coût de stockage d’une valeur supérieure à l’augmentationdans le coût de routage tout en maintenant la faisabilité de la solution. En plus, le but de laprocédure GRP est de chercher le meilleur compromis entre le coût de stockage et le coût deroutage en recherchant le meilleur nombre de visites à ajouter pour chaque client. Pour atteindrecet objectif, nous proposons une procédure simple et efficace en trois étapes. Dans ce qui suit,nous présentons d’abord les variables et les notations utilisées dans la procédure GRP, nousexposons ses étapes, et enfin la procedure GRP est décrite dans l’algorithme 6.

3.4.4.1 Notations

Dans notre GRP nous utilisons les notations présentées dans le tableau 3.1. Donc, en tenantcompte la politique de la gestion de stock, l’insertion d’une visite de client i dans une tournée dela période t signifie que son besoin de produits de la période t à la période ts,i, déjà livré danstp,i, sera livré dans la période t. On note cette quantité GSQSi,t,m et elle est calculée commesuit:

GSQSi,t,m = min(ts,i∑

t1=t

dm,t1i ,

k∈K

qm,k,tp,i

i ) (3.17)

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 à idans la période tp,i qui est à l’origine le besoin de client i entre les périodes tp,i et ts,i en tenantcompte du niveau de stock à la période tp,i. En outre, après l’insertion de i dans la période t, cesquantités de produits resteront chez le fournisseur de la période tp,i à t donc, le coût de stockagedu client i va diminuer et le coût de stockage du fournisseur va augmenter. Nous calculons cechangement dans les coûts des stocks GSICi,t comme suit (voir l’équation (3.18)):

GSICi,t =∑

m∈M

GSQSi,t,m × (t− tp,i)× (hmi − hm

0 ) (3.18)

45

Page 58: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

Tableau 3.1: Les notations utilisées dans la Procédure gloutonne randomisée

Nom Descriptiontp,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.NIM Le nombre maximal de fois que les propositions d’insertion des visites

qui dégradent la fonction objectif sont autoriséesPro_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, obtenueslorsque 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 routagelorsque nous ajoutons une visite de client i dansla meilleure position dans k (k ∈ t).

GSQSi,t,m (The Save Quantity of a Single product). La quantité de produit mexpédiée de la période tp,i à la période t, si nousajoutons une visite de client i en t.

GSICi,t (The Save in the Inventory Cost). La diminution ou l’augmentation du coûtde stockage si nous ajoutons une visite de client i en t.

GGSCi,t (The General Save Cost). Le gain global engendré si nous ajoutons unevisite de client i en t, y compris le GSICi,t et GSCVi,t.

Enfin, nous calculons GGSCi,t comme suit (voir l’équation (3.19)):

GGSCi,t = GSICi,t + GSCVi,t (3.19)

3.4.4.2 Les phases de GRP

Chaque itération de GRP consiste en trois étapes, qui sont exécutées jusqu’à ce qu’aucune propo-sition d’insertion ne soit disponible. Ces étapes sont les suivantes :

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, pourchaque client i et pour chaque période t, nous calculons le gain généré si une visite au clienti est insérée en t, comprenant le gain dans les coûts de stockage (GSICi,t) et le gain dansles 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 unevisite du client i en k. Cela se fait en examinant toutes les positions d’insertion possibleset la meilleure position est retournée. En plus, si le gain de l’ajout (calculé dans l’étape

46

Page 59: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

Algorithme 6 Procédure gloutonne randomisée (S, NIM)1: Sg ← S;2: NI ← NIM ;3: stop ← faut;4: tant que (non stop) faire5: /*** l’étape de sauvegarde ***/6: pour (chaque client i ∈ V ′ et chaque periode t ∈ T ) faire7: si (i n’est pas visité dans t) alors8: calculer GGSCi,t;9: fin si10: fin pour11: /*** l’étape de routage ***/12: pour (chaque client i ∈ V ′) faire13: pour (chaque periode t ∈ T et chaque route k ∈ t) faire14: GRCOi,k,t ← le coût de la meilleure insertion de i dans k;15: si ((GGSCi,t > GRCOi,k,t) ou ( NI > 0 )) alors16: ajouter une proposition d’insertion à Pro_List;17: fin si18: fin pour19: fin pour20: /*** l’etape de selection ***/21: si (Pro_List est vide) alors22: stop ← vrai;23: fin si24: si (non stop) alors25: construire RCL et choisir aléatoirement un élément à partir de RCL;26: insérer le client de la proposition dans Sg;27: si (le coût de Sg n’est pas amélioré) alors28: NI ← NI − 1;29: fin si30: fin si31: fin tant que32: retourner Sg

47

Page 60: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

de Saving) est supérieur à l’augmentation dans le coût de routage ou si les insertions quidégradent la fonction objectif sont autorisées dans l’itération courante, une proposition pourajouter 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 laprocédure est arrêtée; sinon, nous construisons la liste RCL par les Wr meilleurs élémentsdans Pro_List, et une proposition est sélectionnée aléatoirement. Ensuite, la visite estinsé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 NI estdécrémenté.

3.4.5 Recherche Tabou

Dans GBH, afin d’améliorer la méthode GRASP classique, nous utilisons la recherche Taboucomme une méthode de recherche locale. La recherche Tabou est une métaheuristique très utiliséepour résoudre les problèmes d’optimisation combinatoire [43]. Dans notre algorithme, la TScommence à partir de la solution retournée par GRP (Sg) et, à chaque itération, elle choisit lameilleure solution non Tabou (Sc′) dans la structure de voisinage TN(Sc) de la solution couranteSc. Ensuite, la solution courante Sc est remplacée par Sc′ et Sc est déclarée interdite ou Tabou,c’est-à-dire nous ajoutons cette solution à la liste Tabou (T_list). Ces étapes sont répétéesjusqu’à ce qu’un critère d’arrêt soit atteint. Dans les paragraphes suivants, nous présentons lestrois principales composantes de TS : la structure de voisinage, le moteur de sélection et la listeTabou. Enfin, notre TS est présentée dans l’algorithme 7.

Algorithme 7 Recherche Tabou (Sg)1: Sbest ← Sg;2: Sc ← Sg;3: insérer Sc dans T_list;4: tant que (le critère d’arrêt n’est pas satisfait) faire5: créer TN(Sc);6: Sc ← meilleur {S′c ∈ TN(Sc) et S′c /∈ T_list};7: insérer Sc dans T_list;8: si (coût(Sc) < coût(Sbest)) alors9: Sbest ← Sc;10: fin si11: fin tant que12: retourner Sbest

3.4.5.1 Structure de voisinage

Afin d’assurer une meilleure exploration de l’espace de recherche, nous utilisons 9 mouvementspour construire la structure de voisinage de TS. Ces mouvements peuvent être divisés en cinqgroupes. En outre, pour assurer l’intensification et la diversification lors de la recherche, nousutilisons un moteur pour sélectionner les groupes de mouvements appropriés à appliquer pourcréer les voisins de la solution courante. Dans ce qui suit, chaque groupe de mouvements estdécrit.

• Le groupe G1 :

48

Page 61: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.4. Méthodologie de solution

Le déplacement aléatoire intra-route (RB-shift-intra-route) : ce mouvement consiste à en-lever une visite de sa position et de l’insérer dans une autre position choisie au hasard dansla même route.

Le déplacement aléatoire inter-route (RB-shift-inter-route) : ce mouvement est similaire àRB-shift-intra-route, mais la visite sélectionnée est insérée dans une autre route.

Le déplacement aléatoire entre-période (RB-shift-inter-period) : ce mouvement consiste àenlever une visite et de l’insérer dans une route et dans une autre période.

Si le groupe G1 est choisi par le moteur de sélection, un mouvement aléatoire parmi cestrois mouvements est appliqué.

• Le groupe G2 :

Le déplacement intra-route (BP-shift-intra-route) : ce mouvement supprime une visite desa 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 lespositions 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 à supprimerune visite de sa position, et de l’insérer dans la meilleure position dans une autre routeappartenant à 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 lespositions d’insertion possibles (dans toutes les routes de rh), et évidemment, la visite estinsé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 examinanttoutes 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 faiteen examinant toutes les autres visites de la periode (intra et inter route) et la meilleure estretournée.

• Le groupe G5 :

L’échange entre-période (BP-swap-inter-period) : ce mouvement consiste à échanger deuxvisites appartenant à deux périodes différentes.

3.4.5.2 Le moteur de sélection

Afin de sélectionner les mouvements les plus appropriés pour générer la structure de voisinage dela solution courante, nous utilisons un moteur de sélection. D’abord, un score scrgh est attribuéà chaque groupe de mouvements décrits ci-dessus, gh = 1...5. Au début, tous les scores sont

49

Page 62: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 gh′. Premièrement le score de gh′ estaugmenté par p1 (scrgh′ ← scrgh′ +p1). Ensuite, si l’operateur gh′ améliore la solution courante,alors nous augmentons son score par p2 (scrgh′ ← scrgh′ + p2). En plus, si gh′ améliore la valeurde la meilleure solution trouvée, alors nous augmentons son score par p3 (scrgh′ ← scrgh′ + p3),avec p1 < p2 < p3. De plus, à chaque RT itérations, les scores sont réinitialisés. Dans Coelhoet al. (2012) [21], les auteurs ont utilisé la même technique de sélection, mais ils ont utilisé lespoids pour donner la priorité à certains opérateurs efficaces. En revanche, dans notre approche lespoids 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) :

spgh =scrgh∑5

gh=1 scrgh

(3.20)

3.4.5.3 La liste Tabou

L’idée de base de la liste Tabou consiste à mémoriser les solutions visitées pour nous permettred’éviter de revenir vers les mêmes solutions. Le GBH applique ce principe de manière très simple,c’est-à-dire, à chaque itération la solution courante est ajoutée à la liste Tabou, et les solutionsappartenant à cette liste ne peuvent pas être des candidates pour remplacer la solution courante.

3.4.6 La gestion de stock

Dans cette sous-section nous expliquons la technique que nous utilisons pour déterminer lesmeilleures quantités de produits à livrer, lors de chaque visite, pour chaque client. Tout d’abord,pour chaque client i, la quantité à livrer qm,t

i du produit m lors d’une visite effectuée à la période t,est égale exactement à son besoin en tenant compte du niveau de stock actuel et de ses demandes[7]. Cette quantité est calculée de la manière suivante (voir l’équation (3.21)) :

qm,ti = max(0,

ts,i∑

t1=t

dm,t1i − Im,t

i ) (3.21)

En outre, le coût de stockage peut être diminué, et cela se fait en expédiant des quantités deproduits du fournisseur aux clients lorsque le coût de stockage de ces clients est inférieur au coûtde 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 duvéhicule est inférieure à sa capacité, alors chaque pair (client i visité par le véhicule k, produitm) avec Im

i < Im0 est ajouté dans une liste (LIST ) dans un ordre croissant de Im

i . Ensuite, sila liste n’est pas vide et la charge du véhicule est inférieure à sa capacité, alors le premier pair(i′,m′) dans LIST est choisi et la quantité à expédier Sh_Quai′,m′,k,t est calculée. Ensuite, siSh_Quai′,m′,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

Page 63: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

vide ou la charge du véhicule soit égale à sa capacité. A la fin, pour chaque paire (i,m) nouscalculons la quantité à expédier Sh_Quai,m,k,t comme suit (voir l’équation (3.22)) :

Sh_Quai,m,k,t = min(Im,t0 , (Ci −

m∈M

Im,t′′i )+, (Qk −

i∈V ′

m∈M

qm,k,ti )+) (3.22)

Pour chaque client, nous appelons t′′ 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 deplanification P ).

Algorithme 8 Procedure de réparation (Sx)1: pour (chaque periode t ∈ T et route k ∈ t) faire2: si (la charge de k < Qk) alors3: pour (chaque client i visité par k et chaque produit m ∈ M) faire4: si (hm

i < hm0 ) alors

5: ajouter (i,m) à LIST dans un ordre croissant selon hmi ;

6: fin si7: fin pour8: tant que (LIST n’est pas vide et la charge de k < Qk) faire9: sélectionner le premier pair (i′,m′) ∈ LIST ;10: calculer Sh_Quai′,m′,k,t;11: si (Sh_Quai′,m′,k,t > 0) alors12: mettre à jour Sx;13: fin si14: supprimer (i′,m′) de LIST;15: fin tant que16: fin si17: fin pour18: retourner Sx;

Dans l’équation (3.22), pour le premier terme, la quantité expédiée de produit ne doit pasdépasser la quantité disponible chez le fournisseur. Ensuite, le second terme assure la contraintede 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 levolume 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. Notrealgorithme a été codé en JAVA, toutes les expériences ont été menées sur un PC équipé d’unprocesseur 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 etnous comparons les résultats obtenus avec les meilleures solutions données par leur algorithmede type Branch & Cut (B&C). En outre, afin de montrer l’efficacité de GBH, nous l’adaptonspour 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

Page 64: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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étaillonsles paramètres utilisés dans notre l’algorithme et nous exposons le jeu de données. Ensuite, lesrésultats de GBH sont comparés à ceux de B&C et une analyse du comportement de l’algorithmeest effectuée sur un échantillon d’instances. Enfin, nous présentons les résultats de GBH sur lesinstances de MMIRP-SD et nous les comparons avec les résultats de B&C et de l’heuristique dedécomposition (DH) de Cordeau et al. (2015) [27].

3.5.1 Réglage des paramètres

Dans notre expérimentation, les paramètres suivants sont utilisés : Le nombre d’itérations deGBH est fixé à 10. Ensuite, pour la procédure GRP, nous avons : NIM = 7 et Wr = 5. Enoutre, pour la méthode TS, la taille de la structure du voisinage (|TN(Sc)|) est fixée à 50, lataille de la liste Tabou (|T_list|) est fixée à 20. Ensuite, p1, p2, p3, RT sont fixés à 0.25, 1, 2,200 respectivement. Enfin, le nombre d’itérations de TS est fixé à n× 30, où n est le nombre declients de l’instance.

3.5.2 Jeu de données

Dans [22], les auteurs ont généré 675 instances pour le MMIRP comme suit :

• Le nombre de clients n : égal à 10× c où c = 1, 2, 3, 4, 5;

• Le nombre de produits M : égal à 1, 3 ou 5 produits;

• Le nombre de véhicules K : égal à 1, 3 ou 5 véhicules;

• Le niveau de stock initial chez le fournisseur Im00 : égal à

∑i I

m0i , i ∈ V ′;

• Le niveau de stock initial chez le client i : choisi uniformément dans l’intervalle [100; 150];

• Le coût de stockage chez le client i, hmi : choisi uniformément dans l’intervalle [0.02; 0.2];

• Le coût de stockage chez le fournisseur, hm0 : est fixé à 0.01;

• La taille de l’horizon p : égale à 3, 5 ou 7 périodes;

• La quantité de produits envoyée au fournisseur rmt : égale à fmt × n, où fmt est généréuniformément dans l’intervalle [50; 140];

• La capacité de stockage Ci du client i : égale à m× gi× fi où gi est tiré au hasard à partirde l’ensemble {2, 3, 4} et fi est choisi uniformément dans l’intervalle [150; 200];

• La demande dmti du client i : est choisie uniformément dans l’intervalle [10; 100];

• La capacité du véhicule Q est : réglée pour être 2× ⌊∑i

∑m

∑t dmt

i /pK⌋

En outre, en générant 5 instances pour chaque combinaison de n,M, K, p, nous obtenons autotal 675 instances. Mais, dans ce qui suit et en utilisant la même présentation que Coelho etLaporte (2013b) [22], la moyenne des 5 instances de chaque combinaison est considérée commeune seule instance.

52

Page 65: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.2: GBH Vs. B&C sur les instances avec K = 1 & M = 1

B&C GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 0.00 0.48 4.1520 0.00 1.60 0.67 13.8130 0.00 13.20 1.68 28.8040 0.00 101.80 1.25 48.6250 0.00 299.60 2.28 78.11

5 10 0.00 1 1.16 5.4520 0.00 20.40 1.33 18.5730 0.00 182.20 1.1 38.5240 0.00 9464.60 1.12 67.2650 0.56 20712.60 2.23 106.06

7 10 0.00 27.80 3.37 6.52120 0.00 3335.60 2.68 21.98430 3.06 28529.00 5.07 46.7740 6.03 43200.00 7.34 79.7350 9.97 43187.80 9.40 123.07

3.5.3 Résultats et comparaison avec B&C

Le B&C a été implémenté en C++ en utilisant IBM Concert Technology et CPLEX 12.4 commesolveur de programme linéaire mixte. Tous les tests de Coelho et Laporte (2013b) [22] ont étéréalisés sur une grille de calcul doté d’un ensemble de processeurs Intel Xeon avec 2.66 GHzet avec une mémoire de 48 Go par noeud. Le jeu d’essai utilisé pour tester l’algorithme etles meilleures solutions obtenues sont téléchargeables à partir du site suivant (www.leandro-coelho.com/instances). Par la suite, dans les tableaux de 3.2 jusqu’à 3.10 : la première colonneindique le nombre de périodes (périodes). Ensuite, la deuxième colonne présente le nombre declients (clients). Les colonnes trois et quatre présentent le gap entre le coût de la solution obtenuepar B&C et la borne inférieure (gap), et le temps d’exécution de B&C (temps CPU) respective-ment. Enfin, les colonnes cinq et six indiquent le gap entre la valeur de la solution obtenue parGBH et la borne inférieure (gap), et le temps de calcul de GBH (temps CPU) respectivement.Ainsi, pour calculer les gaps nous utilisons la formule (z′ − z)/z′, où z est la borne inférieure,z′ est le coût de la solution obtenue pour chaque algorithme. Enfin, pour chaque instance, lesmeilleurs résultats de GBH sont soulignés (quand GBH est meilleur que B&C).

En effet, il est difficile de faire une comparaison entre les deux algorithmes proposés (GBH etB&C) à cause du grand nombre d’instances et leurs variétés. Par conséquent, pour obtenir unebonne comparaison et dans le but de faciliter la tâche, nous divisons l’ensemble d’instances entrois groupes : le premier groupe GS1 contient les instances où le B&C a prouvé l’optimalité. Ledeuxième groupe GS2 contient des instances où le B&C est meilleur que GBH mais l’optimalitén’est pas prouvée; le troisième groupe GS3, contient les instances où les résultats de GBH sontmeilleurs que les résultats de B&C. Il est évident que la taille et la complexité des instances deGS3 sont plus importantes que les instances de GS2 et GS1.

Le tableau 3.11 montre la comparaison entre le GBH et le B&C. La première colonne présenteles groupes d’instances (groupe) et la deuxième colonne représente le nombre d’instances dans

53

Page 66: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.3: GBH Vs. B&C sur les instances avec K = 3 & M = 1

B&C GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 6.60 0.16 4.70620 0.00 184.00 0.42 14.7530 0.00 5113.40 0.59 29.8540 2.92 28221.60 3.62 49.5150 19.44 43200.00 12.10 76.53

5 10 0.22 12555.40 4.79 5.8420 17.04 41683.20 18.17 19.3930 31.16 43181.00 28.44 39.9940 42.11 43188.80 32.94 69.6050 48.12 43197.20 30.70 104.73

7 10 14.40 28173.20 20.81 7.2020 27.67 41297.40 30.836 23.47530 33.60 43171.40 32.98 49.0440 61.12 43200.00 42.00 84.3050 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 GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 120.20 0.86 4.8920 4.09 29770.40 4.59 15.2130 15.53 43200.00 15.18 31.4840 16.20 43189.80 14.56 54.1550 32.22 43189.00 20.73 81.19

5 10 12.82 35353.80 18.19 6.3920 43.33 43200.00 44.15 19.9430 43.84 43197.40 40.98 41.4440 51.82 43197.60 36.02 72.5350 65.98 43200.00 45.85 110.08

7 10 27.67 40106.40 35.37 8.0720 46.27 43175.40 49.82 24.9130 61.35 43191.20 51.77 50.7940 71.09 43200.00 50.43 87.5050 71.61 40688.40 54.83 134.62

54

Page 67: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.5: GBH Vs. B&C sur les instances avec K = 1 & M = 3

B&C GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 1.60 0.42 6.5320 0.00 0.80 0.83 22.9530 0.00 1.00 3.72 51.0140 0.00 5.20 3.29 89.2350 0.00 11.40 1.47 141.51

5 10 0.00 3.40 2.81 8.7320 0.00 45.80 2.22 30.7530 0.00 506.20 1.48 66.7940 0.00 6967.80 2.52 118.8950 2.72 40242.60 5.21 237.53

7 10 0.00 23.80 2.16 11.1120 0.00 6173.40 4.78 40.3530 5.41 43200.00 14.03 88.9240 11.04 43200.00 17.54 162.3350 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 GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 5.80 0.462 6.8920 0.00 322.60 1.29 23.6930 0.00 3574.60 1.91 52.3540 0.26 12952.60 6.14 88.6250 2.27 35501.60 4.21 150.41

5 10 0.00 8008.20 2.94 9.2920 17.05 42202.40 18.94 32.4830 20.67 43196.00 22.86 69.9140 23.57 43188.60 22.56 120.7750 45.54 18555.20 24.10 191.59

7 10 21.94 27184.00 30.08 11.7920 29.36 43197.60 34.43 41.4930 30.89 43197.80 36.09 88.3040 38.35 43200.00 36.16 155.0850 54.69 43200.00 38.57 248.14

55

Page 68: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.7: GBH Vs. B&C sur les instances avec K = 5 & M = 3

B&C GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 102.40 0.13 7.34920 2.46 21424.00 3.186 25.2930 3.81 36036.80 4.95 52.2940 2.36 42241.80 3.32 97.1350 9.46 43200.00 7.58 145.85

5 10 19.39 41231.80 29.68 9.5520 26.03 43200.00 28.70 33.4730 37.85 43181.00 35.13 72.4240 51.09 37037.80 32.34 124.1850 47.08 21927.60 33.05 196.69

7 10 30.18 42541.20 34.48 13.0320 41.00 43195.20 45.95 43.2930 60.65 43190.00 47.41 90.6740 61.09 34766.60 48.34 157.0550 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 GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 4.60 1.48 8.7520 0.00 1.00 1.52 31.5930 0.00 2.00 1.46 68.5040 0.00 6.40 1.91 121.0350 0.00 19.00 3.99 192.41

5 10 0.00 7.40 3.91 12.3220 0.00 95.20 2.78 45.0630 0.00 5670.40 3.39 99.1740 2.11 32088.60 6.13 178.5050 7.49 43194.00 10.60 277.39

7 10 0.00 53.60 4.43 16.2020 0.33 18773.60 6.33 62.2730 9.39 43195.00 15.97 139.0840 12.30 43200.00 20.14 253.5950 17.64 43194.80 22.33 401.10

56

Page 69: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.9: GBH Vs. B&C sur les instances avec K = 3 & M = 5

B&C GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 5.00 1.70 9.3720 0.00 520.00 0.74 32.4830 0.81 17738.80 3.89 70.3640 0.71 14205.40 3.30 123.1150 1.14 33966.20 1.99 199.91

5 10 5.10 16428.00 9.33 12.8420 15.28 43200.00 20.02 45.9730 22.49 43188.60 21.89 100.3040 30.40 43194.60 25.71 176.7450 45.56 42173.00 21.62 283.91

7 10 22.77 26783.20 28.98 17.2220 30.34 43200.00 37.56 60.7030 30.84 43200.00 34.35 136.3540 62.96 43192.00 39.98 239.8050 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 GBHpériodes clients gap temps CPU gap temps CPU

3 10 0.00 64.00 0.39 9.75320 0.60 9813.20 2.00 34.2530 3.13 37412.20 2.88 72.0840 5.55 43199.40 7.97 128.1850 12.14 41009.60 8.57 195.65

5 10 17.73 43122.00 30.19 13.4220 30.16 43200.00 32.64 46.9730 39.07 43200.00 33.71 101.1440 54.65 43200.00 30.91 181.1850 54.34 41344.60 31.27 280.77

7 10 29.57 42114.00 35.46 18.5120 40.03 43200.00 44.76 63.1830 44.05 43185.40 45.40 134.4540 54.70 43200.00 43.19 239.6450 55.06 43200.00 47.45 375.68

57

Page 70: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.11: GBH Vs. B&C en regroupant les instances

GBH B&Cgroupe #instance gap temps CPU gap temps CPU gapGBH-gapB&C

GS1 43 01.84 39.63 00.00 1187.78 01.84GS2 52 19.71 83.64 15.62 35640.88 04.09GS3 40 31.81 143.23 42.83 41348.53 −11.02

chaque groupe (#instance). Ensuite, les colonnes trois et quatre (cinq et six respectivement) sontla 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 deGBH 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 montrentclairement 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 importantde noter que, dans GS2 la différence entre les gaps est plus importante de celle de GS1 parceque 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. DansGS1 et GS2, l’efficacité du B&C est clairement montrée et au même temps, il semble raisonnablede dire que les gaps de GBH sont relativement faibles. Pour les instances du groupe GS3, la tailledes instances augmente et le problème devient de plus en plus complexe. Dans ces instances, leGBH 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 ettestés sur des machines différentes, la comparaison des grandeurs des temps d’exécution restepossible [52]. En effet, parce que le GBH n’utilise pas les solveurs et/ou les méthodes exactes, letemps 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 quela 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 notretemps d’exécution considérablement faible, nous constatons que GBH est efficace et rapide encomparant 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 etmoyennes 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 plusperformant que B&C avec un gap moyen de 11.02 % avec un temps d’exécution beaucoup moinsimportant. Enfin, GBH est capable de trouver de nouvelles solutions pour 40 instances de grandetaille sur un total de 135 instances.

3.5.4 L’analyse du comportement de GBH

Dans cette section, nous analysons le comportement de GBH en testant sa flexibilité, sa stabilitéet son efficacité. Nous entendons par la flexibilité de GBH, sa capacité à faire face à différentesinstances ayant des caractéristiques différentes (en faisant varier le nombre de véhicules, deproduits et les périodes), et nous entendons par la stabilité de GBH, sa capacité à convergervers la même qualité de solution même si nous l’exécutons plusieurs fois. Ainsi, pour bien tester

58

Page 71: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.12: Résultats d’analyse de comportement de GBH

GBH ×10 GBH-LT gapbest gapavg

Inst moyenne meilleur CPU gapavg,best coût CPUmmirp-50-1-1-3 6868.61 6781.32 74.23 1.27 6816.416 772.29 0.51 −0.77mmirp-50-1-1-5 9912.66 9725.96 100.2 1.88 9651.658 990.38 −0.77 −2.7mmirp-50-1-1-7 13313.68 13247.54 118.89 0.5 13159.43 1149.63 −0.67 −1.17mmirp-50-1-3-3 7663.53 7589.76 78.23 0.96 7559.13 748.78 −0.41 −1.38mmirp-50-1-3-5 12115.98 12030.28 101.63 0.71 11921.26 987.22 −0.91 −1.63mmirp-50-1-3-7 17972.78 17874.88 123.4 0.54 17774.31 1188.91 −0.57 −1.12mmirp-50-1-5-3 7893.34 7789.87 78.32 1.31 7770.43 783.24 −0.25 −1.58mmirp-50-1-5-5 14907.15 14776.25 103.31 0.88 14714.73 1011.17 −0.42 −1.31mmirp-50-1-5-7 25358.58 25250.64 127.77 0.43 24893.86 1233.4 −1.43 −1.87mmirp-50-3-1-3 11375.11 11117.68 130.4 2.26 11143.97 1257.89 0.24 −2.07mmirp-50-3-1-5 17175.37 17102.34 175.15 0.43 17071.82 1694.34 −0.18 −0.61mmirp-50-3-1-7 25328.76 25185.91 238.45 0.56 25300.86 2303.43 0.45 −0.11mmirp-50-3-3-3 11867.21 11610.2 135.92 2.17 11742.31 1356.89 1.13 −1.06mmirp-50-3-3-5 19691.3 19545.27 181.11 0.74 19286.7 1735.52 −1.34 −2.1mmirp-50-3-3-7 30726.6 30494.93 234.89 0.75 30476.14 2255.03 −0.06 −0.82mmirp-50-3-5-3 12231.67 12106.89 138.97 1.02 12002.99 1426.15 −0.87 −1.91mmirp-50-3-5-5 22608.47 22407.0 187.11 0.89 22330.58 1817.73 −0.34 −1.24mmirp-50-3-5-7 34615.42 34381.33 235.73 0.68 33991.91 2274.91 −1.15 −1.83mmirp-50-5-1-3 14497.11 14235.65 180.47 1.80 14548.68 1732.54 2.15 0.35mmirp-50-5-1-5 23313.7 23166.74 270.06 0.63 23066.43 2587.44 −0.43 −1.07mmirp-50-5-1-7 33942.77 33757.14 390.02 0.55 33379.77 3721.54 −1.13 −1.69mmirp-50-5-3-3 15465.83 15045.28 186.89 2.72 15049.55 1845.25 0.03 −2.77mmirp-50-5-3-5 25785.45 25444.48 273.63 1.32 25320.31 2560.61 −0.49 −1.84mmirp-50-5-3-7 40357.87 40038.97 382.81 0.79 39896.84 3544.13 −0.36 −1.16mmirp-50-5-5-3 16007.15 15652.81 190.99 2.21 15463.16 1817.52 −1.23 −3.52mmirp-50-5-5-5 29146.77 28675.88 275.44 1.62 28530.26 2555.25 −0.51 −2.16mmirp-50-5-5-7 49967.91 49661.83 366.36 0.61 48806.4 3381.84 −1.75 −2.38

moyenne 188.16 1.12 1804.93 −0.40 −1.54

l’algorithme, nous utilisons toutes les instances de 50 clients, qui sont les plus difficiles et aveclesquelles 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 lesmêmes critères d’arrêt présentés dans le paragraphe de réglage des paramètres. La meilleuresolution et le gap entre la solution moyenne et la meilleure sont présentés. Ces résultats nouspermettent de tester la flexibilité et la stabilité de GBH. Deuxièmement, nous lançons le GBHjuste une fois sur les mêmes instances, mais avec plus de temps d’exécution, c’est-à-dire, lescritères d’arrêt seront multipliés par 10 (GBH with Long Time, GBH-LT), et les résultats obtenusnous aident à montrer l’efficacité et la stabilité de GBH. Dans le tableau 3.12, les élémentssuivants figurent : la première colonne indique le nom de l’instance (Inst). Ensuite, les colonnesde deux à cinq présentent les résultats d’exécution de GBH×10. Les colonnes deux et troisindiquent la moyenne (moyenne) et le meilleur (meilleur) coût obtenus pour chaque instancerespectivement, la colonne quatre présente le temps de calcul moyen des 10 exécutions (CPU), etla 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 letemps de calcul de GBH-LT (CPU). Enfin, les colonnes huit et neuf présentent le gap entre lamoyenne des coûts de GBH×10 et le coût de la solution de GBH-LT, et le gap entre le meilleurcoût de GBH×10 et le coût de la solution de GBH-LT, respectivement.

59

Page 72: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

A partir du tableau 3.12, nous pouvons remarquer que la moyenne des gaps entre les moyenneset 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êmequalité de solution sur des instances complexes. En plus, avec plus du temps de calcul et pourchaque instance, le GBH-LT est en mesure d’améliorer la qualité de la moyenne et la meilleuresolution 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 pourobtenir les meilleures solutions, GBH-LT se montre plus performant que GBH×10 dans 21 sur 27instances. Ces résultats expliquent clairement à la fois l’efficacité et la stabilité de convergence deGBH. Dans cette étape de l’expérimentation, le GBH est exécuté sur des instances où les nombresde produits, de véhicules et de périodes varient de 1, 1, 3 à 5, 5, 7 respectivement. (C’est-à-direde l’instance 50-1-1-3 à l’instance 50-5-5-7). Même avec une grande différence entre les instancesen entrée de l’algorithme, le GBH est en mesure de traiter tous les cas et de fournir des résultatstrès prometteurs ce qui montre sa flexibilité.

3.5.5 Les résultats de GBH sur les instances de MMIRP-SD

Dans cette sous-section, notre objectif est de comparer le GBH à une autre heuristique de lalittérature. Donc, nous avons adapté le GBH pour résoudre la variante de MMIRP abordéedans Cordeau et al. (2015) [27] (MMIRP-SD). Dans Cordeau et al. (2015) [27], les auteurs ontconsidéré la même définition de MMIRP de Coelho et Laporte (2013b) [22], mais en ignorantles données du le fournisseur. En effet, le B&C a déjà été adapté à cette variante, et cela apermis à Cordeau et al. (2015) [27] de comparer leur Heuristique de Décomposition (DH) avecB&C. Cette comparaison a été faite sur des instances de MMIRP-SD, qui sont dérivées du jeud’essai de Coelho et Laporte (2013b) [22]. Par conséquent, nous avons la possibilité, d’une part,de comparer GBH avec une heuristique de la littérature, et d’autre part, de comparer GBHavec B&C avec un temps de calcul limité. Dans Coelho et Laporte (2013b) [22], pour chaquecombinaison de n,M, K, p, les cinq instances ont été considérées comme une seule instance enprenant la moyenne des coûts des solutions mais, dans Cordeau et al. (2015) [27], chaque instancede la même combinaison est considérée comme une seule instance. En outre, dans Cordeau et al.(2015) [27], seules les instances de 3 périodes, 3 véhicules et {3, 5} produits ont été utilisées. LaDH a été implémentée en JAVA, toutes les expériences ont été menées sur un PC équipé d’unprocesseur Intel i7 avec 2.40 GHz et disposant d’une mémoire de 32Go de RAM.

Le tableau 3.13 compare les résultats de GBH avec ceux de B&C et DH. La première et ladernière colonne indiquent le nom de l’instance (inst) et la meilleure solution trouvée (meilleure)par tous les algorithmes respectivement. En plus, pour chaque algorithme, nous présentons lecoût de la solution (coût), le temps d’exécution (CPU, en secondes) et le pourcentage du gap(gap) entre le coût de la solution obtenue et le coût de la meilleure solution trouvée. Ici, il fautnoter que les résultats de B&C sont obtenus avec un temps de calcul limité à 3600 secondes.

En comparant GBH à DH, le GBH donne de meilleurs résultats dans 42 sur 50 instancespar rapport au DH, les deux algorithmes donnent les mêmes résultats pour 7 instances et pourune seule instance la DH est meilleure que GBH. Ainsi, malgré que les résultats ne subissentpas une nette amélioration, le GBH se montre plus performant que DH avec un pourcentagemoyen de 4.72%. En outre, les deux algorithmes ont été implémentés en JAVA et les expériencesont été réalisées sur un PC avec un processeur i7 et avec 32 Go de RAM, mais la fréquence denotre processeur est plus élevée que le processeur de Cordeau et al. (2015) [27] (En comparant03.40 GHz à 2.40 GHz). Donc, en prenant ces caractéristiques en considération et en comparant

60

Page 73: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.5. Expérimentation

Tableau 3.13: GBH Vs. B&C et DH

DH B&C GBH meilleureinst coût gap CPU coût gap CPU coût gap CPU

mmirp-10-3-1 4159.86 0.0 3.36 4159.86 0.0 13.08 4159.86 0.0 12.71 4159.86*mmirp-10-3-2 4411.81 10.62 1.3 3988.34 0.0 1.43 3988.34 0.0 11.72 3988.34*mmirp-10-3-3 4130.03 0.0 3.34 4130.03 0.0 19.49 4130.03 0.0 11.67 4130.03*mmirp-10-3-4 3932.27 0.0 2.59 3932.27 0.0 5.5 3932.27 0.0 11.73 3932.27*mmirp-10-3-5 4373.71 3.38 1.42 4230.71 0.0 9.09 4230.71 0.0 11.46 4230.71*mmirp-20-3-1 6696.39 6.9 5.0 6264.39 0.0 1921.76 6367.36 1.64 38.25 6264.39*mmirp-20-3-2 6884.72 5.31 7.91 6537.72 0.0 165.43 6537.72 0.0 40.51 6537.72*mmirp-20-3-3 5797.23 2.36 20.66 5663.52 0.0 33.58 5694.23 0.54 39.96 5663.52*mmirp-20-3-4 6241.56 3.62 16.92 6023.56 0.0 49.69 6023.56 0.0 41.09 6023.56*mmirp-20-3-5 5961.5 5.04 77.44 5675.68 0.0 1114.74 5675.68 0.0 38.33 5675.68*mmirp-30-3-1 7225.53 0.18 17.05 7212.53 0.0 2470.93 7497.27 3.95 81.63 7212.53*mmirp-30-3-2 8357.41 9.89 68.87 7605.41 0.0 3600.0 7605.41 0.0 81.87 7605.41*mmirp-30-3-3 7198.66 3.98 33.98 6922.94 0.0 369.42 6922.94 0.0 85.77 6922.94*mmirp-30-3-4 8058.41 7.96 51.09 7464.14 0.0 3600.0 7464.14 0.0 83.23 7464.14*mmirp-30-3-5 7907.68 1.59 207.89 7783.68 0.0 330.03 7783.68 0.0 92.92 7783.68*mmirp-40-3-1 9034.73 0.0 415.89 9034.73 0.0 3600.0 9034.73 0.0 146.575 9034.73*mmirp-40-3-2 8861.96 12.91 402.13 7848.96 0.0 3450.45 7848.96 0.0 173.33 7848.96*mmirp-40-3-3 9298.3 10.45 424.16 8576.3 1.88 3600.0 8418.3 0.0 174.84 8418.3*mmirp-40-3-4 8501.82 0.0 317.62 8501.82 0.0 1943.75 8501.82 0.0 146.42 8501.82*mmirp-40-3-5 10263.51 13.78 559.18 10363.7 14.89 3600.0 9020.7 0.0 166.353 9020.7*mmirp-50-3-1 10561.95 6.12 276.55 9953.25 0.0 3600.0 9953.25 0.0 272.86 9953.25mmirp-50-3-2 10714.03 4.73 920.25 11457.03 11.99 3600.0 10230.03 0.0 261.273 10230.03**mmirp-50-3-3 10654.04 6.26 774.47 10026.04 0.0 3600.0 10026.04 0.0 260.06 10026.04*mmirp-50-3-4 11111.64 10.08 531.8 11539.72 14.33 3600.0 10093.72 0.0 223.83 10093.72mmirp-50-3-5 11154.42 11.54 904.58 10406.99 4.07 3600.0 9999.99 0.0 261.23 9999.99mmirp-10-5-1 4747.34 7.19 2.31 4428.96 0.0 12.54 4428.96 0.0 15.1 4428.96*mmirp-10-5-2 5572.91 1.24 2.83 5504.91 0.0 4.97 5504.91 0.0 15.13 5504.91*mmirp-10-5-3 3648.88 0.0 0.91 3648.88 0.0 20.47 3648.88 0.0 15.44 3648.88*mmirp-10-5-4 4807.03 2.23 1.7 4702.09 0.0 2.95 4702.09 0.0 15.27 4702.09*mmirp-10-5-5 4862.73 0.0 1.78 4862.73 0.0 44.38 4862.73 0.0 15.16 4862.73*mmirp-20-5-1 6211.68 1.43 9.94 6124.38 0.0 295.08 6124.38 0.0 53.96 6124.38*mmirp-20-5-2 6356.61 7.14 15.36 5933.0 0.0 164.94 5933.0 0.0 53.93 5933.0*mmirp-20-5-3 7615.51 0.74 18.19 7559.51 0.0 1725.7 7559.51 0.0 53.36 7559.51*mmirp-20-5-4 7814.61 4.89 47.49 7450.61 0.0 50.11 7450.61 0.0 55.34 7450.61*mmirp-20-5-5 7631.96 10.08 71.58 6932.96 0.0 102.4 6932.96 0.0 53.52 6932.96*mmirp-30-5-1 8617.34 1.69 318.3 8474.34 0.0 1234.0 8474.34 0.0 125.19 8474.34*mmirp-30-5-2 9525.27 4.18 214.2 9143.27 0.0 441.73 9143.27 0.0 127.82 9143.27*mmirp-30-5-3 10017.6 2.95 105.98 9730.94 0.0 3600.0 9730.94 0.0 131.21 9730.94*mmirp-30-5-4 10424.66 5.19 7.08 10511.66 6.06 3600.0 9910.66 0.0 120.6 9910.66*mmirp-30-5-5 9347.05 3.65 53.02 9018.05 0.0 259.85 9018.05 0.0 126.01 9018.05*mmirp-40-5-1 12000.1 4.52 507.97 11889.99 3.56 3600.0 11481.1 0.0 214.38 11481.1mmirp-40-5-2 11303.19 5.83 591.95 10680.19 0.0 3600.0 10711.19 0.29 209.44 10680.19*mmirp-40-5-3 11755.3 13.63 306.63 10732.9 3.75 3600.0 10344.9 0.0 230.48 10344.9*mmirp-40-5-4 11034.9 1.71 220.08 10849.9 0.0 3600.0 10849.9 0.0 225.96 10849.9*mmirp-40-5-5 10743.4 4.36 126.41 10294.64 0.0 3600.0 10294.64 0.0 215.37 10294.64*mmirp-50-5-1 12849.23 3.23 489.17 12883.23 3.5 3600.0 12447.23 0.0 304.85 12447.23mmirp-50-5-2 13782.47 6.29 568.81 12966.47 0.0 3600.0 12966.47 0.0 350.33 12966.47*mmirp-50-5-3 12783.93 4.27 671.53 12260.93 0.0 3600.0 12270.93 0.08 326.84 12260.93mmirp-50-5-4 13072.92 5.52 230.41 12500.92 0.9 3600.0 12388.92 0.0 299.26 12388.92*mmirp-50-5-5 12869.29 3.94 105.53 13585.29 9.72 3600.0 12381.29 0.0 300.09 12381.29

moyenne 4.85 214.69 1.49 1909.15 0.13 128.47∗ solution optimale

∗∗ nouvelle solution trouvée

61

Page 74: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

3.6. Conclusion

214.69s de DH à 128.47s de GBH, nous pouvons constater que les deux algorithmes ont à peuprès le même temps d’exécution.

A partir du tableau 3.13 nous pouvons remarquer que le GBH donne de meilleurs résultatsque le B&C dans 11 instances, tandis que le B&C reste meilleur dans 5 instances et dans 34instances 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&Cavec un pourcentage moyen de 1.36% et avec un temps de calcul moyen considérablement faibleen comparant 128.47s avec 1909.15s. Dans Cordeau et al. (2015) [27], les auteurs donnent lesré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 pourl’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 destock multi-périodes, multi-véhicules et multi-produits, appelé le MMIRP. Pour faire face à ceproblè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é dedeux grandes phases. La première est une procédure gloutonne randomisée (GRP) qui construitune solution réalisable de bonne qualité. La deuxième phase est une recherche locale qui seconsacre à améliorer la solution obtenue à partir de la phase précédente. Dans notre cas, lapremière phase cherche à trouver le meilleur compromis entre le coût de stockage et le coût deroutage. 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 Coelhoet Laporte (2013b) [22] avec 135 instances et les résultats obtenus ont été comparés avec lesrésultats de leur algorithme de type Branch & Cut (B&C). Bien que le B&C ait été meilleurque le GBH dans les petites et moyennes instances, nous avons obtenu de nouvelles meilleuressolutions pour 40 instances de grande taille. En plus, le GBH a un temps de calcul largementinférieur par rapport au temps de calcul de B&C. Deuxièmement, afin de montrer encore sonefficacité, 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écompositionet de B&C. Les résultats présentés montrent que le GBH est meilleur que les deux algorithmesproposés.

62

Page 75: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Chapitre 4

Algorithmes pour le problème deroutage de navettes et de taxis

Sommaire4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.2 Définition du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4.2.1 Contraintes & fonction objectif . . . . . . . . . . . . . . . . . . . . . . . 654.3 Méthodologie de la solution . . . . . . . . . . . . . . . . . . . . . . . . 65

4.3.1 L’idée principale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.3.2 Algorithmes pour le CTSSP . . . . . . . . . . . . . . . . . . . . . . . . . 68

4.4 Expérimentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.1 Réglage des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . 734.4.2 La procédure de génération de jeu de données . . . . . . . . . . . . . . . 734.4.3 Les résultats de TS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.4.4 La comparaison entre TS, GRASP et GRASP-LP . . . . . . . . . . . . 764.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èmesles plus importants dans le domaine de transport et de la logistique. Le VRP a été défini à lafin des années 1950 [29]. A cause de leurs nombreuses applications dans l’industrie et le monderé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 varianteimportante de VRP où le véhicule n’a pas besoin de revenir au dépôt après avoir visité le dernierclient [106]. L’OVRP a été utilisé pour concevoir de nombreux problèmes de la vie quotidiennetels que le problème d’élaboration de tournées de bus scolaire [89]. Il est souvent utilisé pourmodéliser des situations où l’entreprise a besoin de véhicules externes pour accomplir certainestâches.

Dans ce chapitre, nous présentons une contribution à un challenge international, à savoirVeRoLog Solver Challenge 2015 (VSC2015) [33]. En collaboration avec le PTV-groupe (entreprise

63

Page 76: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.2. Définition du problème

logistique), le groupe de travail EWGVRLO (the EURO Working Group on Vehicle Routing andLogistics Optimization) a défini une nouvelle variante du VRP (peut également être considéréecomme une nouvelle variante d’OVRP) que l’on appelle le problème de routage de navettes etde taxis (Coach Trip with Shuttle Service Problem (CTSSP)). Cette nouvelle variante a été lesujet du VSC2015 Doerner et al. (2015) [33]. Le CTSSP est un problème industriel qui concernele transport de personnel, dont le but est de transporter un ensemble de passagers depuis leursorigines arrêts de bus à un dépôt central en utilisant une flotte de véhicules hétérogène. En effet, leCTSSP possède certaines caractéristiques qui lui permettent non seulement d’être une nouvellevariante du VRP mais, une variante qui est très compliquée en comparant avec les variantesde VRP précédemment proposées dans la littérature, y compris celles de l’OVRP. Parmi cescaracté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 (TabuSearch (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 uneheuristique d’insertion, la méthode TS proposée utilise, à chaque itération, sept mouvementspour créer la structure de voisinage [47]. Ainsi, afin de faciliter l’exploration de l’espace derecherche, un mécanisme de relaxation est utilisé. En outre, nous proposons une méthode detype GRASP qui utilise la méthode TS comme une recherche locale. Enfin, la méthode GRASPest améliorée en utilisant une technique d’apprentissage. Dans ce qui suit, tout d’abord, nouspré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.

4.2 Définition du problème

Le problème de routage de navettes et de taxis consiste à transporter un ensemble de passagersdepuis leurs arrêts de bus vers un dépôt central (HUB) en utilisant une flotte de véhiculeshétérogènes. Dans le CTSSP nous définissons :

• Un ensemble d’arrêts de bus bi (i = 1, ..., n).

• Chaque arrêt de bus bi possède un ensemble de qi passagers (qi ≥ 0).

• Une flotte de véhicule FV = (CO ∪ TX) où CO est un ensemble de m navettes et TX estun ensemble de K taxis.

• Chaque véhicule j ∈ FV a une capacité spécifique.

• Chaque véhicule j ∈ FV a un coût d’utilisation et un coût de routage.

• Chaque navette commence sa route de son propre emplacement et se termine au HUB envisitant un ensemble d’arrêts de bus.

• 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 véhicules ne doivent pas revenir à leurs emplacements de départ.

• Les distances et les temps de conduite entre tous les sommets sont donnés dans des matricescarrées. En effet, on a trois matrices: une matrice de distance, une matrice de temps pour

64

Page 77: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

les navettes et une matrice de temps pour les taxis (parce que les taxis sont plus rapidesque les navettes).

• Toutes les matrices (de temps et de distance) sont asymétriques.

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.

4.2.1 Contraintes & fonction objectif

Comme contraintes dans le CTSSP nous avons:

• Le temps de transport de chaque passager p depuis son arrêt de bus jusqu’au HUB ne doitpas 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 nombremaximal Smax.

• Les capacités des véhicules ne doivent pas être dépassées.

Dans le CTSSP le but (fonction objectif) est de minimiser le coût total, y compris le coûtd’utilisation de véhicules et le coût de transport.

Figure 4.1: Un exemple d’une solution pour le CTSSP

4.3 Méthodologie de la solution

Dans cette section, nous exposons les algorithmes proposés pour résoudre le CTSSP. Toutd’abord, nous exposons l’idée principale en rapport avec les algorithmes proposés, puis les prin-cipales composantes de la procédure TS et la méthode GRASP.

4.3.1 L’idée principale

4.3.1.1 Difficultés

L’utilisation des points de transfert dans le CTSSP est une nouvelle caractéristique qui augmentesa difficulté en comparant avec toutes les variantes de VRP ou d’OVRP dans la littérature. En

65

Page 78: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 dedonnées pour représenter les points de transfert. La seconde difficulté est : comment peut-ondé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):

Figure 4.2: Difficultés de résolution de CTSSP : exemple 1

Dans la figure 4.2, le déplacement de l’arrêt de bus b1 de la navette c2 à la navette c1 peutvioler la contrainte de capacité de c1, parce que tous les passagers de s1 et s2 seront servis parc1, et on note ici que c1 et c2 n’ont pas la même capacité.

Dans la figure 4.3, le déplacement de b1 du taxi s1 vers la navette c1 peut violer la contraintede temps de transport des passagers de b2 servis par s2.

Dans la figure 4.4, nous supposons que le déplacement de b1 de s2 vers s1 ne conduit pas àl’infaisabilité. Cependant, il est clair que les routes de s1 et s2, générées après le déplacement,nécessitent d’autres modifications pour améliorer leur qualité, c’est-à-dire nous devons trouver,pour chaque route, un nouveau point de transfert. En plus, nous voulons montrer avec cet exempleque le meilleur nouveau point de transfert peut appartenir à une autre route d’une autre navette,qui n’a pas été pris en compte dans le mouvement.

Par conséquent, le développement des opérateurs pour passer d’une solution à une autrenécessite plusieurs autres procédures afin de contrôler la faisabilité et la qualité de la solution.Après chaque mouvement, on doit exécuter ces procédures, qui consomment beaucoup de tempsde calcul, pour maintenir la faisabilité et la qualité de chaque nouvelle solution. Ainsi, chaquesituation nécessite certaines procédures. Pour faire face à ces difficultés, dans le paragraphesuivant, nous proposons une technique efficace.

4.3.1.2 L’approche proposée

Tout d’abord, nous définissons deux types de solution pour le CTSSP, à savoir Base et Amélioré:

66

Page 79: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

Figure 4.3: Difficultés de résolution de CTSSP : exemple 2

Figure 4.4: Difficultés de résolution de CTSSP : exemple 3

• Une solution de type Base (Ba) est une solution pour le CTSSP où toutes les routes destaxis 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 detransfert sont utilisés, donc certaines routes de taxis ne se terminent pas au HUB.

67

Page 80: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

La différence entre une solution Ba et une solution Am est : la solution de type Am exploitela caractéristique de points de transfert, et donc la qualité d’une solution Am est beaucoup mieuxqu’une solution de type Ba. Cependant, les deux types de solutions sont considérés comme dessolutions 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 quelquesarcs et en ajoutant quelques autres et vice-versa, c-à-dire que nous pouvons obtenir une solutionde type Am à partir d’une solution de type Ba en recherchant pour chaque taxi, le meilleur pointde transfert. Notre idée principale est basée sur qu’au lieu de considérer des solutions de typeAm au cours du processus de recherche, nous considérons des solutions de type Ba seulement etpour chaque solution Ba, nous calculons le coût de la solution Am correspondante à l’aide d’uneprocédure de réparation (Repair Procedure). Donc, pendant la recherche, les mouvements sontappliqués à des solutions de type Ba.

4.3.1.3 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 voisinagesi 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 deprocédures qui consomment beaucoup de temps de calcul pour maintenir la faisabilité dela solution.

3. Pendant la recherche, pour chaque solution Ba, nous calculons le coût amélioré de sasolution Am correspondante, et dans ce cas là, la fonction objectif va guider la recherchevers 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.

4.3.1.4 Procédure de réparation

La procédure de réparation (Repair Procedure) est un algorithme qui assure le passage d’unesolution Ba à une solution Am en cherchant pour chaque route de taxi le meilleur point detransfert, tout en maintenant la faisabilité de la solution.

Tout d’abord, en prenant la définition de CTSSP, que les arrêts de bus visités par les navettespeuvent être utilisés comme des points de transfert. Donc, pour chaque taxi, nous recherchonsle meilleur point de transfert dans ce sous-ensemble d’arrêts de bus. Ensuite, s’il existe un arrêtde bus qui peut être utilisé comme un point de transfert en réduisant le coût de transport, alorscet arrêt de bus remplace le HUB en fin de la route (en tant que dernier point visité). En outre,pendant la recherche, la capacité de la navette et le temps de transport des passagers visités parles taxis doivent être respectés.

4.3.2 Algorithmes pour le CTSSP

Dans cette partie, nous exposons les algorithmes développés pour résoudre le CTSSP, à savoir laméthode TS et la méthode GRASP.

68

Page 81: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

Algorithme 9 Procédure de réparation1: entrée : S, une solution de type Base;2: sortie : S, une solution de type Amélioré;3: pour (chaque route de taxi Shi = {bi,1, bi,2,..,bi,n }, Shi ∈ TX ) faire4: bv ← meilleur {bj,k ∈ CAj , ∀CAj ∈ CO};5: si (bv 6= NULL) alors6: remplacer bi,n par bv dans Shi;7: fin si8: fin pour

4.3.2.1 Recherche Tabou

La recherche Tabou (TS) est une méta-heuristique largement utilisée, avec succès, pour résoudreles problèmes d’optimisation combinatoire [44, 49]. En prenant sa définition, la TS commence àpartir d’une solution initiale S0. A chaque itération, elle choisit, la meilleure solution non-TabouSm dans la structure de voisinage TN(Sc) de la solution courante Sc. La solution Sm est devenuela solution courante et l’ancienne solution courante Sc est déclarée interdite ou Tabou. Cesétapes sont répétées jusqu’à ce qu’un critère d’arrêt soit atteint. Dans ce qui suit, les principalescomposantes de la méthode TS sont exposées : l’heuristique d’insertion, la structure de voisinage,le mécanisme de relaxation, la liste Tabou et enfin la méthode TS est décrite dans l’algorithme11. On note ici que la procédure changer_vers_base() dans l’algorithme 11 est la procédureinverse de la procédure de réparation.

1. Solution initiale : dans chaque solution de type Ba, le taxi commence à partir de sonpropre emplacement et se termine au HUB. Par conséquent, afin de générer une solutionBa réalisable de bonne qualité, nous utilisons l’heuristique d’insertion suivante (InsertionTechnique (IT)). L’IT nous présentons peut être classée comme une nouvelle heuristiqueconstructive 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 lesarrêts de bus. Ensuite, nous construisons, pour chaque véhicule (taxi ou navette), une routevide entre son emplacement et le HUB. Après cela, à chaque itération, l’IT évalue tous lesarrêts dans la CL, puis le meilleur est retourné. L’arrêt de bus est inséré dans la routeappropriée et retiré du CL. L’IT se termine lorsque tous les arrêts de bus sont ajoutés à lasolution S. En effet, l’IT évalue chaque arrêt de bus en recherchant sa meilleure positiond’insertion dans la solution partielle actuelle et la fitness de cet arrêt est égale exactementau coût de cette insertion. En outre, dans notre cas, chaque véhicule possède son proprecoû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èresdoivent être pris en compte dans le processus d’évaluation. Enfin, l’IT est décrite dansl’Algorithme10.

2. La structure de voisinage : la TS explore l’espace de recherche en utilisant sept mou-vements pour créer la structure de voisinage. Tous ces mouvements sont principalementbasés sur le mouvement de déplacement (shift), où trois sont des mouvements gloutons,trois sont des mouvements gloutons randomisés et un mouvement aléatoire. Dans ce quisuit, nous donnons une description pour chaque mouvement.

• Le déplacement aléatoire (OpR) : ce mouvement consiste à déplacer un arrêt de saroute vers une autre route choisie aléatoirement, de même que la position dans cette

69

Page 82: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

Algorithme 10 Heuristique d’insertion1: S: solution vide;2: pour (chaque vehicle v ∈ S) faire3: créer une route vide pour v;4: fin pour5: créer CL;6: tant que (CL n’est pas vide) faire7: évaluer chaque b ∈ CL;8: b′ ← meilleur {b ∈ CL};9: ajouter b′ dans S;10: supprimer b′ de CL;11: fin tant que12: retourner S;

route.

• Le déplacement glouton 1 (G-OP1) : ce mouvement supprime un arrêt de sa routeet l’insère dans la meilleure position dans une autre route. G-OP1 respecte toutes lescontraintes.

• Le déplacement glouton 2 (G-OP2) : ce mouvement est similaire à G-OP1, mais ilpeut violer la contrainte de temps de transport maximal de passagers.

• Le déplacement glouton 3 (G-OP3) : ce mouvement est similaire à G-OP1, mais ilpeut violer la contrainte de capacité du véhicule.

• Le déplacement glouton-randomisé 1 (GR-OP1) : en utilisant ce mouvement, un arrêtde bus b est retiré de sa route, puis une liste de candidats (RCL) est formée. RCLcontient les Kg meilleures positions d’insertion de b dans la solution. Après cela, uneposition 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 lesroutes de la solution sont examinées.

3. Mécanisme de relaxation : dans notre heuristique TS, au cours du processus derecherche, l’exploration de l’espace de recherche des solutions infaisables est autorisée. Eneffet, cette technique, que l’on appelle le mécanisme de relaxation (en englais Relaxationmechanism), souvent utilisée lorsque nous avons des problèmes avec plusieurs contraintesdifficiles [28], car elle facilite l’exploration de l’espace de recherche, et améliore considérable-ment la puissance de convergence de l’algorithme [68]. En outre, afin de gérer l’infaisabilité,ces violations sont pénalisées dans la fonction objectif.

Formellement, pour une solution S, nous définissons la variable Coût (S) qui représente lecoût total la solution, y compris le coût fixe d’utilisation de véhicules et le coût de transport.De plus, nous définissons Cus (S), Veh (S) et Coa (S) qui représentent respectivement, la

70

Page 83: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.3. Méthodologie de la solution

violation du temps de transport de passagers, la violation de la capacité des véhicules etla violation de contrainte du nombre maximum d’arrêts dans les routes de navettes. Donc,la fonction objectif F(S) à minimiser sera F(S) = Coût(S) + Cus(S) × α + Veh(S) ×β + Coa(S)× γ; où α, β et γ sont des paramètres positifs auto-réglés et leurs valeurs sontréglées dynamiquement pendant le processus de recherche comme suit:

Similaire à Cordeau et Laporte (2003) [28], initialement, ces paramètres sont fixés a :α = 1, β = 1 etγ = 1. Ensuite, à chaque itération, si la nouvelle solution courante Sc violeune contrainte, le paramètre correspondant sera multiplié par φ, sinon le paramètre seradivisé par φ (φ = 1.025). On note ici que, la meilleure solution trouvée Stbest doit satisfairetoutes les contraintes.

4. La liste Tabou : l’objectif principal de la liste Tabou est d’éviter de retourner vers lesmêmes solutions en mémorisant les solutions visitées dans les dernières itérations. La TSapplique ce principe de manière très simple, c’est-à-dire, à chaque itération nous ajoutonsla solution courante à la liste Tabou et chaque solution appartenant à la liste ne peut êtreune solution courante, même si cette solution est la meilleure dans la structure de voisinage.

Algorithme 11 Recherche Tabou1: S0 ← Heuristique_insertion();2: Sc ← S0;3: tant que (le critère d’arrêt n’est pas satisfait) faire4: créer TN(Sc);5: pour (chaque Si ∈ TN(Sc)) faire6: Si ← Procedure_réparation(Si);7: fin pour8: Sm ← meilleur { Si ∈ TN(Sc) et Si /∈ T_list};9: si (coût(Sm) < coût(Stbest)) alors10: Stbest ← Sm;11: fin si12: insérer Sm à T_list;13: Sc ← changer_vers_base(Sm);14: fin tant que15: retourner Stbest

4.3.2.2 GRASP

La méthode GRASP (Greedy Randomized Adaptive Search Procedure) est une métaheuristiqueitérative utilisée pour résoudre les problèmes d’optimisation combinatoire. Chaque itération deGRASP se compose de deux phases, une procédure gloutonne randomisée (Greedy RandomizedProcedure (GRP)) et une recherche locale (Local Search (LS)) [39]. Dans la procédure gloutonnerandomisée, une solution réalisable de bonne qualité est construite en ajoutant progressivementun é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 uneliste restreinte de candidats (RCL) est formée par les Kg meilleurs éléments. Ensuite, un élémentde 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

Page 84: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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. Cesdeux phases sont répétées jusqu’à ce qu’un critère d’arrêt soit atteint, et finalement la meilleuresolution 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 GRASPd’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 laméthode GRASP est décrite dans l’algorithme 12.

1. La procédure gloutonne randomisée : comme procédure gloutonne randomisée au seinde la méthode GRASP, nous utilisons une version modifiée de l’heuristique d’insertion (IT)decrite ci-dessus. En effet, dans IT, à chaque itération, le meilleur arrêt de bus est insérédans la solution. Donc, au lieu d’utiliser cette technique, une liste de Kg meilleurs arrêtsest construite, et ensuite un arrêt sélectionné aléatoirement est inséré.

2. La recherche locale : comme recherche locale au sein de la méthode GRASP, nousutilisons la recherche Tabou décrite ci-dessus. Cependant, dans ce cas, la recherche Taboucommence à partir de la solution retournée par la procedure GRP.

3. Le processus d’apprentissage : le LP est une partie très importante dans les algorithmesité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ôletrè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 laprocedure GRP avec une méthode simple et efficace.

D’abord, la construction d’une solution de haute qualité consiste à insérer chaque arrêtde bus dans la route appropriée. Sur la base de cette idée, le LP essaie de trouver, pourchaque arrêt, une liste de routes dans lesquelles, l’insertion de cet arrêt dans une routede 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é quandune nouvelle meilleure solution est trouvée. Donc, à chaque itération GRP, chaque arrêt bsera inséré dans une route choisie à partir de la liste Lb qui est formée dans les itérationsprécédentes de GRASP, et donc une bonne solution de qualité sera construite.

Algorithme 12 GRASP1: tant que (le critère d’arrêt non satisfait) faire2: Sg ← Procédure_gloutonne_randomisée();3: Sts ← Recherche_Tabou(Sg);4: si (coût(Sts) < coût(Sgbest)) alors5: Sgbest ← Sts;6: fin si7: fin tant que8: retourner Sgbest;

72

Page 85: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.4. Expérimentation

Tableau 4.1: Liste des acronymes

Acronyme description

TS-OP La recherche Tabou en utilisant que l’operateur G-OP1, c-à-diresans mécanisme de relaxation etsans procédure de réparation

TS-OP-RP La recherche Tabou en utlisant que l’operateur G-OP1avec la procédure de réparation mais sans

mécanisme de relaxation

TS-OP-RP-RX La méthode TS-OP-RP mais en rajoutant lemécanisme de relaxation avec les opérateurs

G-OP2, G-OP3 et OpR

TS-Full La méthode TS-OP-RP-RX en rajoutant les opérateursglouton-randomisés GR-OP1, GR-OP2 et GR-OP3

4.4 Expérimentation

Dans cette section, nous présentons les résultats obtenus par les algorithmes proposés. Les deuxalgorithmes 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 lesperformances des algorithmes proposés, nous générons un jeu de données avec 24 instances baséssur les instances utilisées dans les étapes de VSC2015. Dans ce qui suit, d’abord, nous présentonsle réglage des paramètres et la procédure de génération de jeu de test, puis nous présentons lesré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) estprésentée. Enfin, pour valider notre approches avec la littérature, nous présentons les résultatsde 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.

4.4.1 Réglage des paramètres

Dans notre expérimentation, les paramètres suivants sont utilisés : le temps d’exécution desalgorithmes est fixé à 10 minites. Ensuite, pour la procédure GRP, nous avons : Kg égal auminimum entre le nombre de véhicules utilisés dans la solution courante et 10. En outre, pourla méthode TS, la taille de la structure du voisinage est fixée à 30, la taille de la liste Tabou estfixée à 20.

4.4.2 La procédure de génération de jeu de données

Pendant les étapes de VSC2015, trois instances de test ont été utilisés par le jury. Au début,deux instances publiques de présélection ont été fournies aux participants, puis une instanceprivée a été ajoutée après l’étape de qualification. Enfin, une autre instance privée est utilisée,conjointement avec les instances utilisées précédemment, pour déterminer les vainqueurs. Eneffet, les deux instances publiques de présélection ont la même configuration de réseau, à savoirla même flotte de véhicules, les mêmes matrices de temps et de distance, etc. La différence est

73

Page 86: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.4. Expérimentation

Tableau 4.2: La contribution de chaque composant de TS

TS-OP TS-OP-RP TS-OP-RP-RX TS-FULLinst coût gap coût gap coût gap coût gap meilleurA1 1440170.57 41.03% 927296.91 8.41% 849322.0 0.0% 857870.64 1.0% 849322.0A2 1404235.88 39.59% 890022.54 4.69% 858722.5 1.21% 848317.34 0.0% 848317.34A3 1379994.22 39.26% 899990.92 6.86% 845306.74 0.83% 838253.64 0.0% 838253.64A4 1362559.54 38.07% 898092.6 6.04% 843886.51 0.0% 845698.37 0.21% 843886.51A5 1039446.18 38.45% 675239.71 5.25% 640365.32 0.09% 639782.74 0.0% 639782.74A6 1021703.16 39.67% 644601.8 4.38% 616365.55 0.0% 622508.12 0.99% 616365.55A7 1256095.52 42.43% 785575.66 7.96% 739019.34 2.16% 723079.2 0.0% 723079.2A8 1112382.04 39.79% 717636.96 6.68% 671588.67 0.28% 669724.7 0.0% 669724.7A9 737488.41 25.97% 593819.05 8.06% 545969.09 0.0% 551457.25 1.0% 545969.09A10 597730.7 26.02% 454828.34 2.77% 444545.1 0.52% 442228.54 0.0% 442228.54A11 670116.73 24.04% 557675.43 8.72% 513797.31 0.92% 509050.33 0.0% 509050.33A12 884113.17 46.9% 591969.19 20.69% 469492.74 0.0% 471524.27 0.43% 469492.74B1 2450523.4 44.54% 2006697.1 32.28% 1359019.84 0.0% 1382659.42 1.71% 1359019.84B2 2542153.92 48.06% 1979996.65 33.32% 1348057.02 2.06% 1320335.68 0.0% 1320335.68B3 2479758.71 45.2% 1985983.38 31.57% 1375628.22 1.21% 1358917.61 0.0% 1358917.61B4 2621523.55 47.86% 2083452.23 34.4% 1380040.08 0.96% 1366801.39 0.0% 1366801.39B5 2080947.86 46.34% 1600260.07 30.22% 1117823.43 0.1% 1116693.7 0.0% 1116693.7B6 1863304.87 46.14% 1615243.83 37.87% 1017803.39 1.4% 1003511.98 0.0% 1003511.98B7 1890909.68 43.16% 1731545.34 37.93% 1074767.6 0.0% 1087502.4 1.17% 1074767.6B8 1717898.74 43.05% 1334916.28 26.71% 1024945.7 4.54% 978376.75 0.0% 978376.75B9 968812.82 38.14% 751543.01 20.26% 599307.36 0.0% 602149.2 0.47% 599307.36B10 922927.08 39.25% 687132.25 18.4% 560707.0 0.0% 563001.24 0.41% 560707.0B11 1333861.18 46.36% 1104643.8 35.23% 736637.2 2.87% 715512.33 0.0% 715512.33B12 1095074.69 41.59% 876721.14 27.04% 640996.81 0.21% 639636.91 0.0% 639636.91

moyenne 40.45 % 18.99 % 0.81 % 0.31 %

seulement dans le nombre de passagers dans les arrêts de bus. En outre, les instances privéesont un autre réseau, qui est diffèrent de celui des instances publiques. Donc, sur la base de cesdeux configurations, nous générons pour chaque réseau 12 instances en variant le nombre depassagers dans chaque arrêt de bus. Tout d’abord, nous appelons le premier réseau par A et lesecond 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 lesarrêts de bus contiennent des passagers, et le nombre de passagers dans chaque arrêt est choisialéatoirement à partir de l’ensemble {1, 2, 3, 4} (en nous basant toujours nous basons sur laméthode de génération du jury de VSC2015). Pour la catégorie 2, le pourcentage des arrêts debus qui ont des passagers est égal approximativement à 75%. Le nombre de passagers dans cesarrêts est choisi aléatoirement à partir de l’ensemble {1, 2, 3, 4} et le nombre de passagers dansles autres arrêts est égal à 0. Ainsi, nous utilisons la même méthode pour la catégorie 3, mais lepourcentage 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).

4.4.3 Les résultats de TS

Dans le tableau 4.2, nous montrons les résultats de TS-OP, TS-OP-RP, TS-OP-RP-RX et TS-FULL. Nous exécutons chaque méthode 10 fois et nous présentons la meilleure solution obtenue.La première colonne indique le nom de l’instance, puis pour chaque méthode, nous présentonsla valeur de la meilleure solution obtenue et le pourcentage du gap entre cette solution et lameilleure solution trouvée par toutes les méthodes. Le temps de calcul est fixé à 10 minutes (soit600 secondes) pour une seule exécution sur chaque instance, en gardant la même valeur fixée parle jury de VSC2015.

A partir du tableau 4.2, on peut facilement constater l’importance et la contribution de

74

Page 87: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.4. Expérimentation

Tableau 4.3: TS Vs. GRASP Vs. GRASP-LP

TS GRASP GRASP-LPInst coût m-gap coût m-gap coût m-gapA1 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%

chaque composante de la TS. D’abord, la procédure de réparation est la composante la plusefficace de la TS et son utilisation améliore, en moyenne, de 21.46% la qualité de la solution,parce que cette procédure réduit considérablement le coût du transport des taxis en recherchant,pour chaque taxi, le meilleur point de transfert. En outre, les opérateurs infaisables avec lemécanisme de relaxation contribuent pour, en moyenne, 18.18% dans la qualité de la solution.Cette caractéristique améliore la convergence et permet de mieux explorer l’espace de recherche.Enfin, grâce à l’utilisation des opérateurs glouton-randomisés, nous pouvons améliorer la qualitéde la solution avec un pourcentage de 0.50%. En effet, l’utilisation de ces opérateurs obéit à deuxraisons : la première est d’assurer la diversification. Le seconde est : la sélection de la meilleureposition d’insertion pour une solution de type Ba ne conduit pas nécessairement à une meilleuresolution Am, et en randomisant cet opérateur, nous avons plus de chance d’avoir une meilleuresolution.

75

Page 88: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.4. Expérimentation

4.4.4 La comparaison entre TS, GRASP et GRASP-LP

Dans le tableau 4.3, nous présentons une comparaison entre les méthodes TS, GRASP et GRASP-LP. Dans cette comparaison, nous nous intéressons à deux critères : l’efficacité de l’algorithmeexprimé par la qualité de la meilleure solution obtenue, et la stabilité de la méthode en regardantle pourcentage du gap entre la moyenne de 10 exécutions et la meilleure solution pour chaqueinstance (m-gap).

Tout d’abord, en comparant TS au GRASP, dans 23 instances, la méthode TS est plus efficaceque la méthode GRASP, elle peut trouver de meilleures solutions que la méthode GRASP avecun pourcentage moyen de 1.27%. Cependant, la méthode GRASP se montre plus stable que laTS, parce que son m-gap est inférieur à celle de TS, avec un pourcentage moyen de 0.61%.

Deuxièmement, en comparant TS au GRASP-LP, bien que la méthode TS est plus efficaceque la méthode GRASP-LP avec un pourcentage moyen de 1.13% et elle donne de meilleuressolutions dans 18 instances, la méthode GRASP-LP se montre plus stable que TS, et elle a m-gap plus faible que la TS, avec un pourcentage moyen de 0.64%. Enfin, nous constatons que laméthode GRASP-LP est plus efficace et plus stable que la méthode GRASP.

4.4.5 La méthode GRASP-LP sur les instances de VRP et d’OVRP

A notre connaissance, dans la littérature du VRP, il n’existe pas de variante (avec ou sans jeu dedonnée) similaire ou relativement proche au problème CTSSP traité dans ce chapitre. Donc, afinde valider nos approches proposées avec la littérature, nous exécutons la méthode GRASP-LP,qui représente le bon compromis entre la stabilité et l’efficacité, sur deux jeux de données, àsavoir celui de Christofides et al. (1979) [19] pour le VRP et celui de Li et al. (2007) [69] pourl’OVRP. Dans les tableaux 4.4 et 4.5, nous présentons les résultats de la méthode GRASP-LP.Pour chaque tableau, la première colonne indique le nom de l’instance, la deuxième et la troisièmecolonne présentent la solution obtenue par la GRASP-LP et le pourcentage du gap entre cettesolution et la meilleure solution connue respectivement. Enfin, la dernière colonne indique lameilleure solution connue pour chaque instance.

4.4.5.1 La méthode GRASP-LP sur les instances de VRP

Pour le VRP, nous utilisons les instances de Christofides et al. (1979) [19] et nous comparonsnos résultats avec les solutions optimales et les meilleures solutions connues, prélevées de Uchoaet al. (2014) [101]. Le temps d’exécution de GRASP-LP a été fixé à 10 minutes (600 secondes)pour chaque instance.

Comme il est montré dans le tableau 4.4, d’abord, notre approche proposée a un gap trèsfaible de 0.74% (en moyenne) par rapport aux meilleures solutions connues. En plus, la méth-ode GRASP-LP fonctionne bien et trouve les meilleures solutions connues pour 6 parmi les 14instances. En effet, les meilleures solutions connues ont été trouvées par des méthodes de hautniveau proposées durant les trois dernières décennies et ces méthodes ont été développées spéci-fiquement pour résoudre ce problème [65]. Par conséquent, malgré que la méthode GRASP-LPn’est pas développée spécifiquement pour résoudre ce problème, elle a pu trouver des solutionsavec un gap moyen de seulement 0.74% au-dessus des meilleures solutions connues, ce qui expliqueclairement son efficacité.

76

Page 89: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.5. Conclusion

Tableau 4.4: Les résultats de GRASP-LP sur les instances de VRP

GRASP-LPInst coût gap BKSC1 524.61 0.00 % 524.61∗C2 838.20 00.35% 835.26∗C3 828.34 00.27% 826.14∗C4 1045.70 01.65% 1028.42∗C5 1317.35 01.98% 1291.29∗C6 555.43 0.00 % 555.43C7 909.68 0.00 % 909.68C8 865.95 0.00 % 865.94C9 1168.50 00.51% 1162.55C10 1414.55 01.32% 1395.85C11 1072.90 02.87% 1042.11∗C12 819.56 0.00 % 819.56∗C13 1562.85 01.39% 1541.14C14 866.37 0.00 % 866.37

moyenne 0.74 %

4.4.5.2 La méthode GRASP-LP sur les instances d’OVRP

Pour l’OVRP, nous utilisons deux jeux de test standard [106], le premier a été dérivé et adaptédu jeu de donnée de Christofides et al. (1979) [19] pour le VRP. Le second est un jeu de test avecdes instances de grande taille qui a été proposé par Li et al. (2007) [69]. Pour le premier jeu dedonnée, le temps de calcul de GRASP-LP a été fixé à 10 minutes, contrairement au second, quià cause de la grande taille des instances, le temps de calcul a été fixé selon la taille de l’instance,à savoir cus-nbr×3 minutes. Dont cus-nbr est le nombre de clients dans l’instance.

D’après le tableau 4.5, la méthode GRASP-LP est en mesure de trouver des solutions dehaute qualité, même pour les instances de grande taille. Tout d’abord, des meilleures solutionsconnues ont été trouvées pour 2 instances. En outre, bien que les gaps de 3 instances soientsupérieur de 2%, la moyenne des gaps est égale seulement à 01.13%. Comme le cas de VRP, tousces résultats expliquent l’efficacité de l’approche proposée.

4.5 Conclusion

Dans ce chapitre nous avons présenté une contribution au VSC2015 dont une nouvelle variante duVRP 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é deuxalgorithmes, une recherche Tabou (TS) et une heuristique de type GRASP (Greedy RandomizedAdaptive Search Procédure (GRASP)). La TS a été soumis au cours des étapes de qualificationdu VSC2015 et elle a été déclarée comme vainqueur du deuxième prix parmi 16 participants. Enoutre, pour encore tester et évaluer les algorithmes proposés, nous avons généré un nouveau jeude 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 TSa été comparée avec les méthodes GRASP et GRASP-LP. Bien que, ces méthodes ont été plusstable que TS, la TS a été en mesure de trouver de meilleures solutions. Enfin, pour valider nosapproches proposées avec la littérature, la méthode GRASP-LP a été exécutée sur des instancesde VRP et d’OVRP. Les bons résultats obtenus ont montré l’efficacité de la méthode proposée.

77

Page 90: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

4.5. Conclusion

Tableau 4.5: Les résultats de GRASP-LP sur les instances d’OVRP

GRASP-LPInst coût gap BKSC1 412.96 0.00 % 412.96C2 564.06 0.00 % 564.06C3 639.74 00.08% 639.26C4 737.14 00.54% 733.13C5 872.95 00.45% 869.00O1 6149.77 02.62% 5988.35O2 4560.87 00.30% 4549.46O3 7822.19 01.63% 7731.00O4 7263.68 00.484% 7251.30O5 9334.9643 01.96% 9152.47O6 9893.9921 01.01% 9793.72O7 10584.73 02.24% 10347.70O8 12842.044 03.35% 12412.26

moyenne 01.13%

78

Page 91: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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, sacompétitivité. Cependant, cette conception nécessite d’importants efforts afin de modéliser et derésoudre de nombreux problèmes liés à ces systèmes. Dans le cadre de cette thèse, nous avonsproposé et validé des méthodes pour résoudre trois problèmes liés à la logistique de transport etde distribution, à savoir le problème de localisation-routage à grande échelle avec contrainte decapacité, 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 detransport de passagers.

Dans le premier chapitre, nous avons présenté un état de l’art sur les chaînes logistiques ennous 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èmed’élaboration des tournées de véhicules et le problème de gestion de stock. En outre, nous avonsprésenté les deux problèmes résultants en intégrant deux problèmes de base, à savoir le problèmede 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 dessolutions 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 estutilisée pour la résolution du sous-problème de routage et le recuit simulé est utilisé pour résoudrele 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éthodesdans la mesure où des meilleures solutions pour 16 instances (à partir des 27 instances de jeud’essai) ont été trouvées. En outre, l’expérimentation a montré que, grâce au recuit simulé, lepoint-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

Page 92: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

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 gloutonnerandomisée qui construit une solution réalisable de bonne qualité en cherchant un compromisentre le coût de routage et le coût de stockage. La deuxième phase est une recherche localeutilisée pour améliorer la solution obtenue dans la phase précédente. En plus, comme recherchelocale, nous avons utilisé la recherche Tabou. D’abord, la performance du GBH a été testée surle jeu de données standard de Coelho et Laporte (2013b) [22] avec 135 instances et les résultatsobtenus 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 avonsobtenu 40 nouvelles meilleures solutions pour des instances de grande taille. En plus, le temps decalcul du GBH a été largement inférieur par rapport au temps de calcul du B&C. En outre, afinde montrer encore l’efficacité de GBH, elle a été adaptée pour résoudre la variante de MMIRPabordée dans Cordeau et al. (2015) [27] et ses résultats ont été comparés, avec succès, avec lesrésultats de l’heuristique de décomposition et de B&C. Les résultats ont montré que, la GBH estmeilleure que les deux algorithmes proposés.

Dans le quatrième chapitre, nous avons présenté une contribution au VSC2015 (Verolog SolverChallenge 2015) dont une nouvelle variante du VRP appelée CTSSP (Coach Trip with ShuttleService Problem, CTSSP) a été définie comme étant le sujet de ce challenge. En fait, nous avonsproposé 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 descas réel) utilisées dans VSC2015. D’abord, la TS a été expérimentée en montrant la contributionde 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éesur des instances de VRP et de OVRP. Bien que, la méthode GRASP a été développée pour unevariante qui est différente du VRP et d’OVRP (en comparant les caractéristiques de CTSSP avecles caractéristiques du VRP et d’OVRP), les bons résultats trouvés ont montré son efficacité. Enplus, la TS a été déclarée vainqueur du deuxième prix parmi 16 participants au VSC2015.

Enfin, comme perspectives nous pouvons proposer:

1. Des méthodes pour résoudre le problème localisation-routage avec gestion de stock encombinant les caractéristiques des deux problèmes étudiés dans les chapitres deux et trois.

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é.

3. D’étudier d’autres variantes du problème de localisation-routage comme le problème delocalisation-routage avec distribution partagée.

4. D’autres heuristiques pour le problème de routage avec gestion de stock étudié dans letroisième chapitre.

5. D’étudier d’autres variantes du problème de routage avec gestion de stock multi-véhiculeset multi-produits en considérant d’autres caractéristiques importantes comme le cas où lesproduits sont périssables.

80

Page 93: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

6. D’autres heuristiques pour le problème étudié dans le chapitre quatre, comme par exemplela recherche à grand voisinage (en anglais, Large Neighborhood Search)

7. De combiner la méthode de recherche Tabou proposée dans le chapitre quatre avec uneméthode évolutionnaire afin d’améliorer les résultats obtenus.

81

Page 94: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

Bibliographie

[1] Clrlib. http://www.coga.tu-berlin.de/v_menue/download_media/clrlib/.

[2] T. F Abdelmaguid. Heuristic approaches for the integrated inventory distribution problem.PhD thesis, University of Southern California, Los Angeles, USA, 2004.

[3] T. F Abdelmaguid and M. M Dessouky. A genetic algorithm approach to the inte-grated inventory-distribution problem. International Journal of Production Research,44(21):4445–4464, 2006.

[4] Y. Adulyasak, J. F Cordeau, and R. Jans. Formulations and branch-and-cut algorithmsfor multi-vehicle production and inventory routing problems. Technical report, GERAD,Ref. G-2012-14, Canada, 2012.

[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 problemsunder 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 inventoryrouting problem. INFORMS Journal on Computing, 24(1):101–116, 2012.

[8] C. Archetti, L. Bertazzi, G. Laporte, and M. G Speranza. A branch-and-cut algorithmfor a vendor-managed inventory-routing problem. Transportation Science, 41(3):382–391,2007.

[9] C. Archetti, N. Bianchessi, S. Irnich, and M. G Speranza. Formulations for an inventoryrouting problem. International Transactions in Operational Research, 21(3):353–374, 2014.

[10] K. Bahloul. Optimisation combinée des coûts de transport et de stockage dans un réseaulogistique dyadique, multi-produits avec demande probabiliste. Thèse de doctorat, INSAde Lyon, France, 2011.

[11] S. Basu and D. Ghosh. A review of the tabu search literature on traveling salesmanproblems. Technical report, No. 2008-10-01, Indian Institute of Management Ahmedabad,India, 2008.

[12] S. Basu, M. Sharma, and P. S. Ghosh. Metaheuristic applications on discrete facilitylocation problems: A survey. OPSEARCH, 52(3):530–561, 2015.

82

Page 95: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[13] A. Bekrar. Résolution du problème de placement en deux dimensions : heuristiques, bornesinfé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 OperationsResearch, 38(6):931–941, 2011.

[15] L. Bouhafs, A. Hajjam, and A. Koukam. Knowledge-Based Intelligent Information andEngineering Systems, volume 4251, chapter A combination of simulated annealing and antcolony 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-locationproblem: Vehicle range, service frequency, and heuristic implementations. Mathematicaland Computer Modelling, 41(8 - 9):1035–1053, 2005.

[18] C. H Chen and C. J Ting. A hybrid lagrangian heuristic/simulated annealing algorithmfor the multi-depot location routing problem. Journal of the Eastern Asia Society forTransportation Studies, 7:961–974, 2007.

[19] N. Christofides, A. Mingozzi, and P. Toth. Combinatorial Optimization, chapter The vehiclerouting 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-routingproblems. 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. PhDthesis, University of Montreal, Canada, 2011.

[26] C. Contardo, J. F Cordeau, and B. Gendron. A GRASP + ILP-based metaheuristic forthe 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 heuristicfor 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-rideproblem. Transportation Research Part B, 37(06):579–594, 2003.

83

Page 96: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[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 forthe 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. http://verolog.deis.unibo.it/news-events/general-news/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 statiqueet dynamique. Thèse de doctorat, l’école Centrale de Lille, France et l’école Nationaled’Ingénieurs de Tunis, Tunisie, 2010.

[36] C. Duhamel, P. Lacomme, C. Prins, and C. Prodhon. A GRASP × ELS approach for thecapacitated 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 thecapacitated 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. Journalof Global Optimization, 6(2):109–133, 1995.

[40] F. Galasso. Aide à la planification dans les chaînes logistiques en présence de demandeflexible. 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. Departmentof 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 OperationsResearch, 41(1):3–28, 1993.

84

Page 97: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[45] M. G Granada and C. W Silva. Inventory location routing problem: A column generationapproach. In Proceedings of the International Conference on Industrial Engineering andOperations 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é deNantes, France, 2008.

[47] O. Guemri and A. Bekrar. An improved tabu search heuristic algorithm for the coachtrip with shuttle service problem. In 4th Meeting of the EURO Working Group on VehicleRouting and Logistics Optimization, Vienne. Invited talk as finalist of the VeRoLog Solverchallenge, 2015.

[48] O. Guemri, A. Bekrar, B. Beldjilali, and D. Trentesaux. GRASP-based heuristic algorithmfor the multi-product multi-vehicle inventory routing problem. 4OR: quarterly journal ofOperations Research, 14(4):377–404, 2016.

[49] O. Guemri, B. Beldjilali, A. Bekrar, and G. Belalem. Two-stage heuristic algorithm for thelarge-scale capacitated location routing problem. International Journal of MathematicalModeling 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 deSaint-Etienne, France et l’Université de Laval, Canada, 2003.

[51] J. K Hao, P. Galinier, and M. Habib. Métaheuristiques pour l’optimisation combinatoireet l’affectation sous contraintes. Revue d’Intelligence Artificielle, 13(2):283–324, 1999.

[52] T. Harks, F. G Konig, and J. Matuschke. Approximation algorithms for capacitated loca-tion routing. Transportation Science, 47(1):3–22, 2013.

[53] K. Helsgaun. An effective implementation of the lin-kernighan traveling salesman heuristic.European Journal of Operations Research, 126(1):106–130, 2000.

[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.

[56] M. S Jabal-Ameli, M. B Aryanezhad, and N. Ghaffari-Nasab. A variable neighborhooddescent based heuristic to solve the capacitated location-routing problem. InternationalJournal of Industrial Engineering Computations, 2(1):141–154, 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 TransportationReview, 46(5):582–597, 2010.

[58] A. Jokar and R. Sahraeian. An iterative two phase search based heuristic to solve thecapacitated location-routing problem. Australian Journal of Basic and Applied Sciences,5(12):1613–1621, 2011.

85

Page 98: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[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.

[60] M. A Arostegui Jr., S. N Kadipasaoglu, and B. M Khumawala. An empirical comparisonof tabu search, simulated annealing, and genetic algorithms for facilities location problems.International Journal of Production Economics, 103(2):742–754, 2006.

[61] R. Kammarti. Approches évolutionnistes pour la résolution du 1-PDPTW statique etdynamique. Thèse de doctorat, l’Ecole Centrale de Lille, France, 2006.

[62] S. Kande. Etude et résolution de problèmes de planification dans des réseaux logistiquesmulti-échelons. Thèse de doctorat, l’Université de Technologie de Troyes, France, 2015.

[63] S. kirkpatrick, C. D Gelatt, and P. N Vecchi. Optimization by simulated annealing. Science,220(4598):671–680, 1983.

[64] O. Labarthe. Modélisation et simulation orientées agents de chaînes logistiques dans uncontexte de personnalisation de masse : modèles et cadre méthodologique. Thèse de doc-torat en cotutelle, Université de Laval, Canada et Université Paul Cézanne Marseille,France, 2006.

[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 randomizedheuristic 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. OperationsResearch, 41(5):835–847, 1993.

[68] A. Lemouari and O. Guemri. A two-phase scheduling method combined to the tabu searchfor theDARP. 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 scaletest problems, and computational results. Computers & Operations Research, 34(10):2918–2930, 2007.

[70] C. Mancel. Modélisation et résolution de problèmes d’optimisation combinatoire issusd’applications spatiales. Thèse de doctorat, INSA de Toulouse, France, 2004.

[71] Y. Marinakis and M. Marinaki. A bilevel genetic algorithm for a real life location routingproblem. 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.

[73] J. T Mentzer, W. Dewitt, J. S Keebler, S. Min, N. W Nix, C. D Smith, and Z. G Zacharia.Defining supply chain management. Journal of business logistics, 22(2):1–25, 2001.

[74] A. Mjirda. Recherche à voisinage variable pour des problèmes de routage avec ou sansgestion de stock. Thèse de doctorat, Université de Valenciennes et du Hainaut-Cambrésis,France, 2014.

86

Page 99: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[75] A. Mjirda, B. Jarboui, R. Macedo, S. Hanafi, and N. Mladenovic. A two phase variableneighborhood 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 themulti-product multi-period inventory routing problem. International Journal of ProductionEconomics, 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 Journalof Operational Research, 177(2):649–672, 2007.

[79] I. H Osman and G. Laporte. Metaheuristics: A bibliography. Annals of Operations Re-search, 63(5):511–623, 1996.

[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 theinventory 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 searchheuristic. Transportation Science, 41(4):470–483, 2007.

[83] C. Prins, C. Prodhon, and R. Wolfler-Calvo. Evolutionary computation in combinatorialoptimization, volume 3906, chapter A memetic algorithm with population management(MA|PM) for the capacitated location-routing problem, pages 183–194. Springer BerlinHeidelberg, 2006.

[84] C. Prins, C. Prodhon, and R. Wolfler-Calvo. Solving the capacitated location routingproblem by a GRASP complemented by a learning process and a path relinking. 4OR: AQuarterly Journal of Operations Research, 4(3):221–238, 2006.

[85] C. Prodhon. Le problème de localisation-routage. Thèse de doctorat, Université deTechnologie de Troyes, France, 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.

[87] M. Haj Rachid. Les problèmes de tournées de véhicules en planification industrielle :classification et comparaison d’opérateurs évolutionnaires. Thèse de doctorat, Universitéde Franche-Comté, France, 2010.

[88] S. Salhi and G. K Rand. The effect of ignoring routes when locating depots. EuropeanJournal of Operational Research, 39(2):150–156, 1989.

[89] P. Schittekat, J. Kinable, K. Sorensen, M. Sevaux, F. Spieksma, and J. Springael. Ametaheuristic for the school bus routing problem with bus stop selection. European Journalof Operational Research, 229(2):518–528, 2013.

87

Page 100: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[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. OperationsResearch, 57(5):1058–1067, 2009.

[91] J. M Segura. Localisation et affectation : application aux réseaux de contenus. Thèse dedoctorat, 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 ana 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 effectivedepot 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éseaude distribution : modèles stochastiques et fiables. Thèse de doctorat, Université PaulVerlaine, Metz, France, 2007.

[97] R. Teigen and M. Barbuceanu. The Supply Chain Demonstrator. Enterprise IntegrationLaboratory, University of Toronto, Canada, 1996.

[98] C. J Ting and C. H Chen. A multiple ant colony optimization algorithm for the capacitatedlocation 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 AppliedMathematics, Philadelphia, PA, USA, 2001.

[100] D. Tuzun and L. I Burke. A two-phase tabu search approach to the location routingproblem. 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 benchmarkinstances for the capacitated vehicle routing problem. Optimization Online: an eprint forthe optimization community, http://www.optimization-online.org/DB_HTML/2014/10/4597.html, 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 thecapacitated 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 inventoryrouting problems. European Journal of Operational Research, 189(3):1022–1040, 2008.

88

Page 101: Proposition de solutions pour l'optimisation des chaînes ... · Remerciements Louange à ALLAH qui nous a donné la force et la volonté qui nous a permis d’achever les travaux

[106] E. E Zachariadis and C. T Kiranoudis. An open vehicle routing problem metaheuristic forexamining wide solution neighborhoods. Computers & Operations Research, 37(4):712–723,2010.

89