Problème de tournées de véhicules

Un article de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 21 novembre 2014 à 14:32 et modifiée en dernier par Roll-Morton (discuter | contributions). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.
Figure illustrant une des solutions d'un problème de tournées avec un dépôt central et 3 véhicules disponibles.

Le problème de tournées de véhicules est une classe de problèmes de recherche opérationnelle et d'optimisation combinatoire. Il s'agit de déterminer les tournées d'une flotte de véhicules afin de livrer une liste de clients, ou de réaliser des tournées d'interventions (maintenance, réparation, contrôles) ou de visites (visites médicales, commerciales, etc.)[1]. Le but est de minimiser le coût de livraison des biens. Ce problème est une extension classique du problème du voyageur de commerce, et fait partie de la classe des problèmes NP-complet.

Variantes

Quelques variantes classiques du problème de tournées de véhicules :

  • contraintes de capacité : Les véhicules ont une capacité d'emport limitée (quantité, taille, poids, etc.) ;
  • contraintes liées aux ressources et aux clients : disponibilité, localisation, compétences requises, etc.
  • tournées de véhicules avec fenêtre de temps : Pour chaque client on impose une fenêtre de temps dans laquelle la livraison doit être effectuée ;
  • tournées de véhicules avec collecte et livraison : Un certain nombre de marchandises doivent être déplacées de sites de collecte vers des sites de livraisons.

La résolution du problème peut devenir très difficile lorsque les sous-problèmes interagissent entre eux, par exemple, le problème de bin packing interagit avec l'allocation et la création de tournées dans le cas d'un problème avec contraintes de capacité[2].

Méthodes de résolution

Comme pour la plupart des problèmes NP-complet il est difficile de résoudre des instances de grande taille de façon optimale. On se contente alors de trouver des solutions de « bonne qualité ». Afin d'obtenir des solutions dans des temps de calculs raisonnables, on se tourne généralement vers des méthodes approchées à base d'heuristique tel que l'algorithme de Clarke and Wright[3]. pour construire une première solution que l'on améliore ensuite avec d'autres heuristiques ou des méthodes de recherche locale. On peut remarquer que les méthodes d'amélioration utilisées pour le problème du voyageur de commerce tel que l'algorithme de Lin-Kernighan[4] peuvent souvent être appliquées à chacune des tournées individuellement afin d'améliorer le coût global de la solution.

L'optimisation linéaire en nombre entiers permet de résoudre de façon exacte certains problèmes de tournées de véhicules de taille relativement réduite (jusque environ 200 clients à l'heure actuelle). Les méthodes développées sont des applications de Branch and cut[5] , ou plus récemment de génération de colonnes[6].

De nombreuses métaheuristiques ont enfin été appliquées à ce problème, comme la recherche tabou[7], mais aussi les algorithmes génétiques, recherches à voisinage variable, etc. Certains problèmes possédant jusque 20 000 clients ont ainsi pu être traités de façon efficace[8].

Applications

Les algorithmes de calcul de tournées sont utilisés dans les moteurs des logiciels d’optimisation de tournées. Ces solutions sont utilisées par des entreprises qui souhaitent rationaliser leur flotte de véhicules, réduire leurs coûts ou encore optimiser l’occupation de leur personnel mobile.
La fonction d’optimisation de tournée peut aussi être intégrée dans des solutions de planification de ressources mobiles. Ces solutions ont pour vocation de planifier des tâches ou missions avec ou sans prise de rendez-vous, et de les répartir entre les ressources en fonction de leurs contraintes (disponibilité, localisation, compétences requises, durées d’interventions, etc.)
Les entreprises concernées par l’optimisation de tournées peuvent appartenir aux secteurs d’activités suivants :

  • Livraison de biens à des entreprises ou à des particuliers : transporteurs, messageries (distribution de presse), grandes surfaces (livraison de marchandises des entrepôts aux magasins, livraison et installation d’équipement à domicile, etc.) ;
  • Réparation et maintenance d’équipements de particuliers (électroménager, chaudières, informatique, etc.), d’équipements collectifs (ascenseurs, tapis roulants) ou d’entreprises (distributeurs automatiques, équipements industriels, informatique, etc.) ;
  • Interventions d’expertises, de contrôle, d’audit (certification, prélèvements, etc.).

Références

  1. (en) Dantzig, G.B.; Ramser, J.H. (1959). "The Truck Dispatching Problem". Management Science 6 (1): 80-91.
  2. (en) « What is VRP? », sur dorronsoro.es
  3. (en) G. Clarke and J. W. Wright. Scheduling of vehicles from a central depot to a number of delivery points. Operations Research, 12:568–581, 1964.
  4. (en) S. Lin and B. W. Kernighan (1973). An Effective Heuristic Algorithm for the Traveling-Salesman Problem. Operations Res. 21, 498-516.
  5. (en) D. Naddef, G. Rinaldi (2001), "Branch-and-cut algorithms for the capacitated VRP". The vehicle routing problem 53-84 ISBN 0-89871-498-2
  6. (en) R. Baldacci, A. Mingozzi (2009), "A unified exact method for solving different classes of vehicle routing problems". Math. Program. 120:347-380.
  7. (en) Cordeau, J. F., & Laporte, G. (2003). A tabu search heuristic for the static multi-vehicle dial-a-ride problem. Transportation Research Part B, 37, 579-594
  8. (en) Kytojoki, J., Nuortio, T., Braysy, O., & Gendreau, M. (2007). An efficient variable neighborhood search heuristic for very large scale vehicle routing problems. Computers & Operations Research, 34(9), 2743-2757.