Algorithme calcul distance voyageur du commerce
Calculez une tournée fermée à partir de coordonnées, comparez plusieurs approches du problème du voyageur de commerce et visualisez immédiatement le trajet sur un graphique interactif.
Calculatrice de distance TSP
Résultats
Saisissez vos points et cliquez sur le bouton pour calculer la distance du circuit.
Visualisation du circuit
Le graphique affiche l’ordre de visite calculé. Pour les coordonnées géographiques, l’axe X représente la longitude et l’axe Y la latitude.
Astuce : pour obtenir une solution exacte, gardez moins de 10 villes. Au-delà, les méthodes heuristiques sont plus adaptées en pratique.
Comprendre l’algorithme de calcul de distance du voyageur du commerce
L’expression algorithme calcul distance voyageur du commerce renvoie au problème classique du voyageur de commerce, souvent abrégé TSP pour Traveling Salesman Problem. L’objectif est simple à formuler mais difficile à résoudre à grande échelle : partir d’une ville, visiter chaque ville exactement une fois, puis revenir au point de départ, tout en minimisant la distance totale parcourue. Cette question se retrouve partout dans la logistique moderne, la tournée de maintenance, la planification de visites commerciales, la collecte de déchets, la robotique mobile et même la fabrication de circuits imprimés.
Dans un contexte métier, ce calcul est rarement théorique. Une entreprise veut réduire ses kilomètres, son coût carburant, ses heures de conduite et ses émissions. Un responsable supply chain veut améliorer le taux de service sans multiplier les véhicules. Un data analyst veut estimer rapidement l’impact d’un nouvel ordre de passage. C’est précisément là qu’intervient un bon calculateur TSP : il prend des points en entrée, évalue les distances entre eux, puis construit un circuit pertinent selon un algorithme donné.
Pourquoi ce problème est-il si célèbre ?
Le TSP fait partie des problèmes d’optimisation combinatoire les plus étudiés. Sa difficulté provient du nombre gigantesque de tournées possibles. Si vous avez 10 villes, il existe déjà un très grand nombre d’ordres de visite. À 20, le nombre devient énorme. À 50 ou 100, on ne peut plus simplement tester toutes les possibilités dans un navigateur ordinaire. Cette explosion combinatoire explique pourquoi les algorithmes exacts sont réservés aux petites tailles ou à des solveurs spécialisés, tandis que les heuristiques et métaheuristiques dominent la pratique opérationnelle.
Comment se calcule la distance totale d’une tournée ?
Le principe du calcul est direct. Une tournée est une suite ordonnée de villes : par exemple A puis C puis D puis B puis retour à A. On calcule la distance entre chaque paire de villes consécutives, puis on additionne ces distances. Si l’on travaille sur une carte avec latitude et longitude, il est recommandé d’utiliser la formule de haversine pour obtenir une distance plus réaliste sur la surface terrestre. Si l’on travaille dans un plan, comme un entrepôt, une usine ou un jeu de coordonnées XY, la distance euclidienne est souvent suffisante.
- Distance euclidienne : adaptée à un plan cartésien.
- Distance haversine : adaptée aux coordonnées géographiques longitude latitude.
- Distance routière réelle : la plus pertinente en transport, mais elle nécessite souvent une API cartographique externe.
Le calculateur ci-dessus utilise soit la distance euclidienne, soit la distance haversine. Cela en fait un excellent outil pédagogique et analytique pour comparer des itinéraires, tout en restant léger et rapide à utiliser.
Les grandes familles d’algorithmes pour le voyageur du commerce
Il n’existe pas une seule méthode universelle. Le bon choix dépend du nombre de villes, du temps de calcul disponible et de l’exigence de qualité de solution.
1. Méthodes exactes
Une méthode exacte garantit l’optimalité. Elle trouve la meilleure tournée possible. Le revers est son coût de calcul. Dans cette page, le mode exact repose sur une recherche exhaustive par permutations, ce qui convient à de petits ensembles de points. Dans des environnements professionnels, on utilise des techniques plus sophistiquées comme le branch and bound, la programmation linéaire en nombres entiers et les plans de coupe.
- Construire la matrice des distances entre toutes les villes.
- Énumérer les tournées candidates autorisées.
- Mesurer la longueur totale de chaque tournée.
- Conserver la tournée la plus courte.
Cette stratégie est parfaite pour valider un petit jeu de test, comparer une heuristique à la vérité optimale ou enseigner le fonctionnement du TSP.
2. Heuristique du plus proche voisin
Le plus proche voisin part d’une ville donnée et choisit à chaque étape la ville non visitée la plus proche. Cette approche est très rapide, simple à implémenter et souvent correcte pour produire une première solution. En revanche, elle peut se bloquer dans des choix locaux médiocres. Une décision très séduisante au début peut forcer un grand détour à la fin.
Malgré cette limite, le plus proche voisin reste utile :
- pour générer une solution initiale immédiate,
- pour des tableaux de bord interactifs,
- pour des simulations rapides avec de nombreux points,
- comme point de départ d’une amélioration locale.
3. Amélioration locale avec 2-opt
Une fois une tournée obtenue, on peut souvent l’améliorer en supprimant des croisements. L’algorithme 2-opt teste des inversions de segments : s’il trouve un échange de deux arêtes qui réduit la distance totale, il applique cet échange. Répété jusqu’à stabilisation, ce procédé améliore souvent nettement une tournée initiale issue du plus proche voisin.
Dans beaucoup de cas réels, le couple plus proche voisin + 2-opt donne un excellent compromis entre vitesse et qualité. C’est pourquoi il est souvent choisi dans les outils interactifs et dans certains workflows métiers, notamment quand l’objectif est d’obtenir vite une solution robuste plutôt qu’une optimalité mathématique absolue.
Tableau comparatif des approches les plus courantes
| Approche | Type | Échelle pratique | Qualité habituelle | Atout principal |
|---|---|---|---|---|
| Permutations exhaustives | Exacte | Très petite taille, souvent jusqu’à 9 ou 10 villes dans un navigateur | Optimale | Référence de vérité pour les petits cas |
| Plus proche voisin | Heuristique | Très grande taille | Souvent à 10 % à 25 % de l’optimum sur des cas non structurés | Extrêmement rapide |
| Plus proche voisin + 2-opt | Heuristique améliorée | Grande taille | Souvent à quelques pourcents de l’optimum sur des cas euclidiens | Excellent compromis vitesse qualité |
| Christofides | Approximation | Moyenne à grande taille | Garantie théorique à 1,5 fois l’optimum en métrique triangulaire | Cadre théorique solide |
Exemples de benchmarks réels issus de la littérature TSP
Pour mesurer la qualité d’un algorithme, les chercheurs s’appuient souvent sur des instances standardisées. Voici quelques références bien connues avec leurs tailles et longueurs optimales publiées dans les jeux de données de benchmark de type TSPLIB.
| Instance | Nombre de villes | Distance optimale connue | Contexte |
|---|---|---|---|
| ulysses16 | 16 | 6859 | Petit cas pédagogique |
| berlin52 | 52 | 7542 | Benchmark classique très utilisé |
| eil101 | 101 | 629 | Instance euclidienne compacte |
| pcb442 | 442 | 50778 | Routage sur perçage de circuits imprimés |
Ce que fait précisément ce calculateur
Cette page exécute plusieurs étapes pour produire votre résultat :
- Elle lit vos lignes de coordonnées.
- Elle construit la matrice de distances entre tous les points.
- Elle applique l’algorithme choisi.
- Elle calcule la distance totale du circuit fermé.
- Elle affiche la séquence de visite et trace le circuit dans un graphique.
Si vous choisissez le mode exact, la page tente de tester toutes les tournées possibles au départ de la ville sélectionnée. Si le nombre de villes est trop élevé, un bon calculateur doit vous avertir et basculer vers une méthode plus réaliste. C’est ce qui est mis en place ici afin de préserver la réactivité de l’interface.
Interpréter correctement les résultats
Une distance plus faible n’est pas toujours synonyme de meilleure exploitation réelle. Le TSP pur suppose en effet un véhicule unique, aucun créneau horaire, aucune contrainte de capacité et une distance indépendante du trafic. Dans un cas logistique réel, il faut parfois tenir compte de :
- la vitesse moyenne sur route,
- les temps d’arrêt et de service,
- les fenêtres de livraison,
- la capacité du véhicule,
- les retours dépôt intermédiaires,
- les interdictions de circulation ou les péages.
Autrement dit, le TSP est souvent la brique de base d’un problème plus complet. Il reste néanmoins extrêmement utile pour établir une ligne de référence et comprendre comment se forme une tournée performante.
Bonnes pratiques pour améliorer la qualité d’un calcul de tournée
Nettoyer les données d’entrée
Des coordonnées inversées, dupliquées ou incohérentes conduisent à des résultats trompeurs. Vérifiez que l’ordre des colonnes est constant et que les points sont bien distincts. En mode géographique, la convention recommandée est longitude puis latitude.
Choisir la bonne métrique
Si vous calculez des distances entre villes réelles, évitez la distance euclidienne brute. La formule haversine donne déjà une bien meilleure approximation sur la sphère terrestre. Pour de la logistique opérationnelle, l’étape suivante consiste à utiliser une matrice routière issue d’un moteur cartographique.
Tester plusieurs points de départ
Le plus proche voisin dépend du point de départ. Sur certains jeux de données, démarrer d’une autre ville peut améliorer sensiblement la longueur finale. Une pratique simple consiste à relancer l’heuristique depuis plusieurs départs, puis conserver la meilleure tournée obtenue avant d’appliquer 2-opt.
Comparer vitesse et qualité
Le meilleur algorithme n’est pas forcément celui qui donne la tournée la plus courte dans l’absolu. Si vous devez recalculer des centaines de scénarios par jour, une heuristique stable et rapide peut être plus rentable qu’une méthode exacte lourde à exécuter. Le bon arbitrage est presque toujours économique.
Applications concrètes du voyageur du commerce
- Transport et livraison : séquencer les arrêts d’un chauffeur.
- Maintenance terrain : organiser les interventions d’un technicien.
- Commerce itinérant : ordonner les visites clients.
- Robotique : minimiser le trajet d’un robot entre plusieurs points de contrôle.
- Industrie électronique : optimiser les déplacements de tête de perçage ou de soudure.
- Science des données : benchmark d’algorithmes combinatoires.
Limites du TSP et lien avec le VRP
Dans la vraie vie, de nombreuses entreprises ne cherchent pas à résoudre un TSP pur mais un Vehicle Routing Problem ou VRP. Le VRP généralise l’idée à plusieurs véhicules, avec souvent des contraintes de capacité, de temps et de dépôt. Néanmoins, comprendre l’algorithme de calcul de distance du voyageur du commerce reste indispensable, car c’est le socle conceptuel de ces modèles plus avancés.
Quand passer à un solveur plus avancé ?
Si votre problème comporte des dizaines, des centaines ou des milliers d’arrêts, des fenêtres horaires, plusieurs chauffeurs ou des coûts différenciés, il devient judicieux de passer à des bibliothèques ou plateformes d’optimisation spécialisées. Le calculateur présenté ici est idéal pour comprendre, estimer et prototyper, mais il ne remplace pas un moteur de routage industriel complet.
Ressources académiques et institutionnelles de référence
Pour approfondir le sujet avec des sources sérieuses, vous pouvez consulter :
- NIST.gov : définition et contexte algorithmique du Traveling Salesman Problem
- MIT OpenCourseWare : ressources universitaires en optimisation, graphes et algorithmes
- Stanford University : contenus de recherche et cours avancés sur l’optimisation combinatoire
En résumé
Un algorithme de calcul de distance pour le voyageur du commerce sert à construire une tournée fermée minimisant la distance totale. Pour de petits ensembles, une méthode exacte permet d’obtenir l’optimum. Pour des ensembles plus grands, les heuristiques comme le plus proche voisin, renforcées par 2-opt, offrent une solution rapide et souvent très compétitive. Dans tous les cas, la qualité de vos coordonnées, le choix de la métrique et l’interprétation métier des résultats restent déterminants. Utilisez le calculateur de cette page pour tester des scénarios, visualiser l’ordre de visite et mieux comprendre comment se comporte une tournée optimale ou quasi optimale.