1 / 45

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

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.

auryon
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Thèse de Doctorat de l’Université de Nantes 14 février 2006

  2. Plan • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • 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ées Enquê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 • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • 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 • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • 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émentaireavec 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 • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • Conclusions et perspectives

  17. Recombinaison + Mutation parents enfants 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

  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 : • 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é ) • 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) ¹ 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) • N = 60 • Pentium IV CPU 2.8 GHz, Java HotSpot 1.4.2, Linux 2.4

  26. Plan • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • Conclusions et perspectives

  27. 5. Modèle mathématique

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

  29. 5. Programmation dynamique pour le sous-problème : algorithme classique • 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 :

  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 • 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. 5. Heuristique pour le sous-problème • 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)

  34. 5. Heuristique pour le sous-problème : résultats expérimentaux (40 clients) • 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) • 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 • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • 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 • 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 • 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 • Description et positionnement du problème • Présentation des données de test • Revue de la littérature • Résolution par métaheuristique • Modèle de recouvrement et résolution par génération de colonnes • Planification sur horizon glissant • 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 !

More Related