fabien tricoire encadrants : nathalie bostel (u. nantes) pierre dejax (emn)

45
1 Optimisation des tournées de véhicules et de personnels de maintenance : application à la distribution et au traitement des eaux Fabien Tricoire Encadrants : Nathalie Bostel (U. Nantes) Pierre Dejax (EMN) Pierre Guez (Veolia) Directrice : Christelle Jussien (EMN) Thèse de Doctorat de l’Université de Nantes 14 février 2006

Upload: auryon

Post on 08-Feb-2016

35 views

Category:

Documents


0 download

DESCRIPTION

Fabien Tricoire Encadrants : Nathalie Bostel (U. Nantes) Pierre Dejax (EMN) Pierre Guez (Veolia) Directrice : Christelle Jussien (EMN). Optimisation des tournées de véhicules et de personnels de maintenance : application à la distribution et au traitement des eaux. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

1

Optimisation des tournées de véhicules et de personnels de maintenance : application à la

distribution et au traitement des eaux

Fabien Tricoire

Encadrants : Nathalie Bostel (U. Nantes)

Pierre Dejax (EMN)

Pierre Guez (Veolia)

Directrice : Christelle Jussien (EMN)

Thèse de Doctorat de l’Université de Nantes

14 février 2006

Page 2: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

2

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 3: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

3

1. Présentation des problèmes traités

Situation de départ : Veolia souhaite optimiser ses tournées !

– Tournées en usines « trop tôt »– Tournées de travaux « pas assez de points »– Tournées en clientèle candidat idéal !

Spécialisation : tournées en clientèle– Nécessité de définir clairement l’entrée du problème,– Nécessité de définir clairement la cible de l’entreprise

Enquêtes sur le terrain des tournéesEnquêtes sur les procédures connexes (prise de rendez-vous, etc)Résultat : cahier des charges

Page 4: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

4

1. Les tournées en clientèle

L'optimisation des tournées de service est un problème émergent

La compagnie génère des demandes (préventif) Les clients génèrent des demandes (préventif et

curatif) Toutes ces demandes sont satisfaites via des

tournées Optimiser ces tournées permet d'améliorer le service

et la productivité

Page 5: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

5

1. Les tournées en clientèle : motivations

Page 6: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

6

1. Description des problèmes : contraintes

Pas de contrainte de capacité, mais la durée totale d'une tournée est bornée

Certaines demandes sont soumises à des fenêtres de temps (TW)

Horizon de planification : 5 jours Flotte limitée: Pour chaque jour, un ensemble de

techniciens Horizon = ensemble de ressources {jour-technicien} Les points de départ, repas et arrivée sont

spécifiques à ces ressources

Page 7: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

7

1. Description des problèmes : contraintes (suite)

Période de validité : chaque demande doit être satisfaite dans un sous-ensemble des jours de l'horizon (i.e. par un sous-ensemble des ressources)

Contrainte de repas : chaque tournée comporte une pause repas (avec TW) ; le lieu est choisi parmi un ensemble de points de restauration

Types de demandes:– Les rendez-vous sont liés à une journée précise– Les différables ont une période de validité plus large, et pas

de fenêtre de temps

Page 8: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

8

1. Description des problèmes : Objectifs

Deux types de problèmes– Satisfaisable : Le personnel permet de satisfaire chaque

demande– Insatisfaisable : Volonté de surcharger l’entrée du problème

pour « donner plus de choix » Deux objectifs différents :

– Satisfaisable : Min(distance)– Insatisfaisable : Max(# demandes satisfaites)

Dans les deux cas, satisfaire les rendez-vous est une contrainte forte

La surcharge se fait sur les différables

Page 9: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

9

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 10: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

10

2. Génération des instances de test

Choix de départ :– Horizon de 5 jours (une semaine de travail)– Chaque instance comporte 3 techniciens (véhicules) travaillant

chaque jour de l’horizon– Les départs et arrivées se font aux domiciles des techniciens– Chaque technicien a le choix entre deux restaurants

Sur ces bases, 3 classes de problèmes :– 100 clients (problèmes faciles, C1)– 180 clients (cible de l’industriel, C2)– 300 clients (cas insatisfaisable, C3)

Chaque classe = 5 instances

Page 11: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

11

2. Génération des instances de test

Environnement :– Carte carrée de 41 km de côté (répartition aléatoire)– Vitesse constante = 35 km/h– Journée = 8 heures

Chaque demande respecte des données statistiques fournies par l’entreprise : 20% de changements de compteur, etc

C1 et C2 :– 30% de rendez-vous,– Dont 75% de fenêtres de temps,– Durant deux (67%) ou quatre heures (33%)

C3 : instance C2 complétée avec 120 différables

Page 12: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

12

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 13: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

13

3. Revue de la littérature (VRPTW) : méthodes approchées

Construction : Best Insertion (Solomon 87) est adaptée aux fenêtres de temps

1994-1999 : l’ère du Tabou !– Rochat & Semet (94), Rochat & Taillard (95), Taillard et al. (97)…– Méthodes efficaces = recherche taboue + autre heuristique– Algorithmes génétiques inefficaces

1999-2005 : montée des méthodes évolutionnaires– 1999 : Stratégie d’évolution très efficace (Homberger et Gehring)– 2001 : « pure genetic algorithms are not competitive with the best published

results » (Bräysy)– 2004 : Méthodes efficaces = algorithmes évolutionnaire hybridés (Bräysy et

al. ) Tendances actuelles :

– Problèmes de grande taille (jusqu’à 1000 demandes)– Méthodes hybrides ou parallélisées

Page 14: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

14

3. Revue de la littérature (VRPTW) : méthodes exactes

Génération de colonnes et Branch & Price– Desrochers et al. (92) : programmation dynamique pour le plus court

chemin avec contraintes de ressources (SPPRC) – Feillet et al. (04) : plus court chemin élémentaire avec contraintes de

ressources (ESPPRC) Nécessaire pour des problèmes de tournées avec arcs profitables Bon comportement pour des contraintes de ressources « faibles »

– Rousseau et al. (04) : Programmation par contraintes pour l’ESPPRC

Relaxation Lagrangienne– Fisher (97) : sous-problème = ESPPRC

Page 15: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

15

3. Revue de la littérature (problèmes avec flotte limitée)

Problème récent (Lau et al. 03) Objectif : Max(# clients satisfaits) Lau et al. (03) : Recherche Taboue Lim & Zhang (05) : deux phases

– Alternance suppression (de tournées) / insertion– Recherches locales

Eglese & McCabe (05) : alternances de recherches locales

– But à long terme : Optional Order Problem (OOP) = satisfaire l’ensemble des demandes sur un horizon donné

Page 16: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

16

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 17: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

17

4. Résolution par métaheuristique : principes

Population de taille μ Produire λ enfants en recombinant/mutant (λ>µ) Les µ meilleurs enfants deviennent la nouvelle

population Les parents ne sont pas impliqués dans la sélection

dégradations autorisées

Selection des

meilleurs

enfants

parents

enfants

Recombinaison

+ Mutation

Page 18: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

18

4. Métaheuristique : population de départ

Heuristique constructive : adaptation de Best Insertion (Solomon 87)

– Insertion seulement si demande et tournée sont compatibles– Deux phases : rendez-vous, puis différables

Voisinages pour amélioration des solutions :– 2-opt– Échange de 2 nœuds – Rotation de 3 nœuds– Déplacement de nœud

Sept variantes basées sur ces voisinages Caractéristiques de la population :

– Petite taille– Relativement diverse– Solutions d’assez bonne qualité

Page 19: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

19

4. Métaheuristique : réflexions autour des opérateurs

Concepts clés :– Un croisement « basique » pose des problèmes de faisabilité

(contraintes temporelles)– Flotte limitée confiance limitée dans les mouvements

aléatoires (impossible de créer de nouvelles tournées)– Les ressources sont identiques pour tous les individus

Solution :– Constituer un enfant à partir de tournées des parents– Produire une diversification efficace mais conservant la

faisabilité

Page 20: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

20

4. Recombinaison : cas « particuliers »

Parent 1 Parent 2

Enfant 1 Enfant 2

Page 21: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

21

4. Problématiques

Les tournées copiées en dernier seront probablement modifiées

Copier les tournées dans un ordre aléatoire Des demandes satisfaites deviennent insatisfaites

Besoin d’une réinsertion efficace Entité pour la recombinaison = tournée

L’entité pour la mutation doit aussi être la tournée Mouvements aléatoires peuvent violer des contraintes

Une heuristique peut être mieux adaptée

Page 22: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

22

4. Opérateur original :

Algorithme :1) Pour chaque ressource du fils,

copier la tournée associée dans un des parents choisis aléatoirement, ou la laisser vide

(avec une probabilité )

2) Appliquer une heuristique de construction/amélioration à cette solution partielle : best insertion + échange de nœuds

Page 23: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

23

4. Taux de mutation

• Métaphore évolutionnaire : = force de diversification

• Plusieurs choix:– Fixe

– Hérité des parents ( = (1+2)/2)

– Fonction du temps ( = f(n), n = # génération)

– Autres possibilités non testées

• 4 fonctions testées :

Page 24: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

24

4. Résultats expérimentaux (C2)

InstanceMeilleur coût heuristique

Meilleur coût métaheuristique , Gain

C2_1 32390 (2,5 s) 28641 (12 min) 5,30 13,1%

C2_2 32918 (1,9 s)¹ 30160 (14 min) 7,50 9,1%

C2_3 32649 (1,8 s) 27134 (19 min) 7,50 20,3%

C2_4 35032 (1,5 s)¹ 29969 (9 min) 5,40 16,9%

C2_5 35302 (1,9 s)¹ 27485 (19 min) 7,50 28,4%

¹ Pas de solution réalisable•N = 60

•Pentium IV CPU 2.8 GHz, Java HotSpot 1.4.2, Linux 2.4

Page 25: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

25

4. Résultats expérimentaux (C3)

InstanceDemandes

insatisfaites heuristique

Demandes insatisfaites

métaheuristique, gain

C3_1 89 (5.4 s) 68 (38 min) 7,50 31%

C3_2 108 (6.3 s) 84 (29 min) 7,50 29%

C3_3 98 (6.3 s) 85 (30 min) 7,50 15%

C3_4 93 (6.0 s) 75 (34 min) 7,50 24%

C3_5 97 (6.0 s) 74 (35 min) 7,50 31%

•N = 60

•Pentium IV CPU 2.8 GHz, Java HotSpot 1.4.2, Linux 2.4

Page 26: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

26

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 27: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

27

5. Modèle mathématique

sinon 0

ressource la utilise tournéela si 1

sinon 0

client le visite tournéela si 1

tournéela decoût le

sréalisable tournéesdes ensemblel'

tru

ira

rc

Ω

tr

ir

r

rcyMin: Objectif

(1.7) 1

(1.6) 1

: scontrainte les Sous

tuy

iay

trΩ

r

irΩ

r

sinon 0

réaliséeest tournéela si 1 ryr

Page 28: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

28

5. Résolution exacte par Branch-and-Price

Page 29: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

29

Algorithme d’extensions de labels basé sur celui de Bellman

L : nombre de ressources Label associé à un chemin allant de 0 à j :

Règle de dominance :

5. Programmation dynamique pour le sous-problème : algorithme classique

Page 30: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

30

5. Programmation dynamique pour le sous-problème : gestion des repas(1)

Version « basique » : ajout d’une ressource booléenne r pour le repas

L.r = vrai L n’est extensible à aucun point de repas

Un label sans repas ne peut pas dominer un label avec repas

Un label sans repas n’est pas extensible au nœud d’arrivée

Page 31: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

31

5. Programmation dynamique pour le sous-problème : gestion des repas(2)

Amélioration : décomposition du problème en deux ESPPRC plus contraints

Premier ESPPRC : plus court chemin entre le départ et les points de repas réduction de la ressource temps

Second ESPPRC : extension des chemins ainsi trouvés, jusqu’au point d’arrivée

Facteur temps : entre 0,5 et 15 ; 2 en moyenne

Page 32: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

32

5. Programmation dynamique pour le sous-problème : résultats expérimentaux

Instance OptNb colonnes

généréesNb appels

ESPPRCTemps

calcul Gap LB Gap UB-LB

C4_1 11523,99 3151 495 26 s 0,00% 0,00%

C4_2 X X X > 10 j X 10,31%

C4_3 7678,84 22185 140880 9 j 1,65% 8,75%

C4_4 9598,77 6036 5955 11,52 h 0,45% 2,00%

C4_5 8807,51 7880 690 149 s 0,00% 0,00%

Algorithme utilisé après exécution d’une heuristique, pour dépister d’éventuels chemins de coût négatif

Objectif de départ : instances à 100 clients Objectif révisé : instances à 40 clients

Page 33: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

33

Alternance Descente en profondeur / Diversification Solutions de départ = (départ, repas, arrivée) Voisinage = insertion, suppression, déplacement,

échange– Déplacement : changer la position d’un nœud dans le

chemin– Échange : permutation des positions de deux nœuds

Diversification : k mouvements aléatoires Paramètres : k et n (# itérations)

5. Heuristique pour le sous-problème

Page 34: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

34

5. Heuristique pour le sous-problème : résultats expérimentaux (40 clients)

Instance BestNb colonnes

généréesNb appels

ESPPRCTemps

calcul Gap LB Gap UB-LB

C4_1 11523,99 4682 135 9 mn 0,00% 0,00%

C4_2 X X X >24h X 10,61%

C4_3 7678,84 33294 22815 9 h 1,65% 1,59%

C4_4 9598,77 6489 1095 21 mn 0,45% 1,35%

C4_5 8807,51 5778 345 9 mn 0,00% 0,00%

Utilisation exclusive de l’heuristique dans le cadre du Branch-and-Price

k = 10, n = 5000

Page 35: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

35

5. Heuristique pour le sous-problème : résultats expérimentaux (100 clients)

Instance BestNb colonnes

généréesNb appels ESPPRC

Temps calcul (secondes)

Gap LB

Gain meilleure solution

mémétique

C1_1 17795,68 15375 825 57 mn 1,71% 0,55%

C1_2 15647,57 15742 795 71 mn 1,16% 2,11%

C1_3 16656,87 17213 870 52 mn 0,96% 0,34%

C1_4 16773,58 12197 750 46 mn 1,87% 4,27%

C1_5 15759,83 14726 840 4,5 h 4,39% 1,69%

Utilisation exclusive de l’heuristique dans le cadre du Branch-and-Bound

k = 10, n = 5000 Best = borne supérieure fournie par le Branch-and-Bound

Page 36: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

36

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 37: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

37

6. Planification sur horizon glissant : principes de fonctionnement

Une solution = une semaine de travail Chaque jour, des demandes sont satisfaites De nouvelles demandes surgissent Données disponibles en fin de période n :

– Ensemble de demandes satisfaites– Ensemble de nouvelles demandes– Solution partielle

Idée clé : Réutiliser la solution partielle pour construire une solution à la période n+1

Page 38: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

38

6. Planification sur horizon glissant : algorithme mémétique

  Écart relatif moyen

Type de résolution

N=10 N=20 N=30 N=40 N=50 N=60

Avec réutilisation

0,97% 0% -0,32% -0,50% -0,62% -0,63%

Sans réutilisation

4,53% 2,17% 1,10% 0,85% 0,68% 0,63%

Chaque individu de la population (période n) est une solution partielle

Application : constituer la nouvelle population à partir de l’ancienne

Chaque individu est « complété » (recherche locale) Expérimentations sur instance C2 :

Page 39: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

39

6. Planification sur horizon glissant : génération de colonnes

Type de résolutionTemps calcul

(secondes)# appels ESPPRC

# colonnes générées

# total de colonnes

Avec réutilisation 1682,40 481,80 6541,56 10123,56

Sans réutilisation 3395,52 763,20 14414,92 14414,92

Générer de nouvelles colonnes est coûteux Certaines colonnes déjà générées à la période

précédente sont toujours valides, voire nécessaires Application : réinjecter les colonnes toujours valides

dans le nouveau problème-maître Expérimentations sur C1 (Branch and Bound) :

Page 40: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

40

Plan

1. Description et positionnement du problème

2. Présentation des données de test

3. Revue de la littérature

4. Résolution par métaheuristique

5. Modèle de recouvrement et résolution par génération de colonnes

6. Planification sur horizon glissant

7. Conclusions et perspectives

Page 41: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

41

7. Conclusion

Introduction d’un nouveau problème Résolution par métaheuristique

– Opérateur original– Solutions de qualité– Temps acceptable pour l’entreprise

Modèle de recouvrement– Résolution exacte pour des instances très faciles– Méthode approchée pour des instances de taille 100– Méthode améliorable

Réutilisation de solutions partielles– Correspond à une problématique industrielle– Principe très simple– Efficacité probante pour l’algorithme mémétique comme pour la

génération de colonnes

Page 42: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

42

7. Autres travaux

Simulations sur les politiques d’organisation– Gestion des contraintes de compétence– Tests sur 4 politiques différentes– Recommandations de bonnes pratiques pour l’entreprise

Interface graphique d’aide à la décision– Visualisation globale de l’horizon de planification, ou zoomée

sur un jour– Filtres d’affichage des informations– Modification manuelle et sauvegarde des solutions modifiées

Page 43: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

43

7. Autres travaux : interface graphique

Page 44: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

44

7. Perspectives

Élargir le champ d’action de l’algorithme mémétique :– Appliquer au VRPTW (instances de Solomon)– Appliquer à des problèmes d’ordonnancement

Améliorer les performances du Branch and Price :– Stabilisation du problème maître (point intérieur)– Résolution « intelligente » des sous-problèmes– Stratégie de branchement plus efficace

Validation des méthodes : agrandir l’échantillon de tests

Page 45: Fabien Tricoire Encadrants  :  Nathalie Bostel (U. Nantes) Pierre Dejax (EMN)

45

Questions !