# Problème de tournées de véhicules

Le problème de tournées de véhicules (aussi appelé VRP pour Vehicle Routing Problem) 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.)$^,$. 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 :
* tournées de véhicules avec profits (aussi appelé VRPP pour Vehicle Routing Problem with Profits) : Un problème de maximisation de collecte de profits où il faut sélectionner quels clients visiter tout en respectant les capacités limitées des véhicules.
* contraintes de capacité (aussi appelé CVRP pour Capacitated Vehicle Routing Problem) : 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é.

## 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 et Wright. 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 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 nombres 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, ou plus récemment de génération de colonnes.
De nombreuses métaheuristiques ont enfin été appliquées à ce problème, comme la recherche tabou, 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.

## 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.) ;
* tournée d'affichage (publicitaire, campagne d’élection, etc.) ;
* tournées de soins (infirmières/aide-soignants à domicile, ou autre personnel soignant itinérant, etc.) ;
* tournées commerciales (visites de commerciaux/technico-commerciaux itinérants à leurs clients/prospects dans le cadre d'activités de prospection, démonstrations, etc.).