fabien tricoire encadrants : nathalie bostel (u. nantes) pierre dejax (emn)
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 PresentationTRANSCRIPT
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
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
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
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é
5
1. Les tournées en clientèle : motivations
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
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
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
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
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
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
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
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
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
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é
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
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
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é
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é
20
4. Recombinaison : cas « particuliers »
Parent 1 Parent 2
Enfant 1 Enfant 2
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
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
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 :
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
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
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
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
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
28
5. Résolution exacte par Branch-and-Price
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
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
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
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
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
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
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
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
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
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 :
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) :
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
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
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
43
7. Autres travaux : interface graphique
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
45
Questions !