Apprentissage interactif de la théorie des graphes
Apprentissage interactif de la théorie des graphes
Guest User
Using app without sign in
Solveur de tournées de véhicules (VRP)
Partitionne le graphe en flottes et calcule les itinéraires de livraison
Sélectionnez un algorithme et générez les étapes pour commencer la visualisation
Le problème de tournées de véhicules (VRP) étend le problème du voyageur de commerce à une flotte : plusieurs véhicules partent d'un dépôt et doivent visiter ensemble tous les clients à coût total minimal. C'est l'un des problèmes NP-difficiles les plus importants sur le plan économique.
Les méthodes constructives classiques comprennent l'algorithme des économies de Clarke-Wright, qui part d'une tournée par client et fusionne les tournées selon la distance économisée, et les approches grouper d'abord router ensuite, qui regroupent les clients géographiquement avant de résoudre un TSP par groupe. Les phases d'amélioration appliquent des mouvements 2-opt et or-opt au sein et entre tournées, et des métaheuristiques comme la recherche tabou et la recherche à grand voisinage comblent l'essentiel de l'écart restant à l'optimum.
Le VRP planifie la livraison de colis pour les flottes postales et de messagerie, les circuits de bus scolaires, les plannings des techniciens itinérants et les tournées de collecte des déchets. Les moteurs de routage commerciaux résolvent des variantes du VRP des millions de fois par jour, ce qui en fait une compétence clé pour les ingénieurs en logistique et recherche opérationnelle.
Le problème de tournées de véhicules généralise le TSP à une flotte. L'approche pratique suit le schéma regrouper d'abord, router ensuite: répartir les clients entre les véhicules puis résoudre un TSP par véhicule.
VRP(depot, clients, nbVehicules):
// Phase 1: repartir les clients entre les vehicules
groupes = regrouper(clients, nbVehicules)
// par secteurs angulaires, k-moyennes ou economies de Clarke-Wright
// Phase 2: router chaque vehicule
pour chaque groupe g:
tournee[g] = resoudreTSP(depot + g)
// Phase 3: amelioration entre tournees
repeter jusqu a absence d amelioration:
essayer de deplacer un client vers une autre tournee
essayer d echanger des clients entre deux tournees
reoptimiser en 2-opt les tournees modifieesLa phase 3 sépare une solution médiocre d'une bonne. Regrouper puis router produit des tournées convenables, mais les frontières entre groupes sont souvent mal tracées, et déplacer un seul client d'une tournée surchargée vers sa voisine rapporte fréquemment davantage que toute réoptimisation interne. Les mouvements entre tournées sont donc essentiels et non un ornement final.
Répartis six clients entre deux véhicules depuis un dépôt unique et observe pourquoi l'amélioration entre tournées compte.
Graphe d'exemple: Un dépôt central et six clients répartis autour: trois groupés au nord et trois au sud, mais l'un des clients du nord se trouve nettement plus près du groupe sud que du reste de son propre groupe.
La répartition finale n'est plus équilibrée en nombre, quatre clients contre deux, et pourtant la distance totale est moindre. C'est le point central du VRP: regrouper par géométrie produit des groupes d'allure soignée, mais l'objectif est la distance totale et non la symétrie. Toute implémentation qui s'arrête après regroupement et routage laisse sur la table des gains typiquement compris entre 10 et 20 pour cent.
Temps: NP-difficile; heuristiques O(n^2) à O(n^3) · Espace: O(n^2)
Le VRP contient le TSP comme cas particulier, avec un seul véhicule et sans capacité, il est donc immédiatement NP-difficile. L'énumération exacte est impensable hors instances minuscules; les méthodes exactes modernes, fondées sur la génération de colonnes et la séparation et coupe, résolvent des instances d'une centaine de clients au prix d'un effort considérable. Ce sont les heuristiques qui servent en production: la construction par économies de Clarke-Wright est en O(n au carré log n), dominée par le tri des économies, regrouper puis router coûte le regroupement plus un TSP par véhicule, et la recherche locale entre tournées coûte O(n au carré) par passe. La matrice des distances occupe à elle seule O(n au carré), ce qui constitue en pratique la contrainte mémoire dominante sur les grandes instances.
Identifie d'abord les contraintes réelles de ton problème, car chacune le pousse vers une famille différente.
| Alternative | À préférer quand | Coût |
|---|---|---|
| TSP | Un seul véhicule et aucune capacité. Le cas particulier le plus simple. | O(n^2) heuristique |
| CVRP | Les véhicules ont une limite de charge. La variante standard en logistique. | NP-difficile |
| VRPTW | Les clients ne peuvent être servis que dans des créneaux horaires précis. | NP-difficile, bien plus contraint |
| Économies de Clarke-Wright | Tu veux une construction rapide et sensée sans regrouper au préalable. Fusionne les tournées par économie décroissante. | O(n^2 log n) |
| Recherche à grand voisinage | Grandes instances où la qualité compte. Détruit et répare des parties de la solution de façon répétée. | variable |
Algorithmes associés: Problème du Voyageur de Commerce, Routage de Véhicules avec Capacité (CVRP), Clustering Logistique K-Means