Simplifiez votre flux de travail : Recherchez miniwebtool.
Ajouter
Outils connexes
Générateur de fractales L-SystemGénérateur de LabyrinthesGénérateur de Spirographe
Page d'accueil > Mathématiques > Opérations mathématiques avancées > Solveur du Voyageur de Commerce (TSP)
 

Solveur du Voyageur de Commerce (TSP)

Trouvez le trajet le plus court qui visite chaque ville exactement une fois et revient au point de départ. Programmation dynamique exacte (Held-Karp) pour les petits cas et heuristiques du plus proche voisin + 2-opt pour les plus grands. Accepte des coordonnées ou une matrice de distance et génère un tour SVG animé.

Solveur du Voyageur de Commerce (TSP)
Lignes de coordonnées : A, 10, 20 ou 10 20. Rangées de matrice : 0 10 15 20 — une ligne par rangée, carrée, non négative. Max 40 villes.
Étiquettes séparées par des virgules ou des espaces, une par ligne de matrice. Par défaut A, B, C… si omis.

Embed Solveur du Voyageur de Commerce (TSP) Widget

Solveur du Voyageur de Commerce (TSP)

Le Solveur du Voyageur de Commerce TSP est un calculateur pratique et éducatif pour le classique problème du voyageur de commerce (TSP) : étant donné un ensemble de villes et de distances par paires, trouver le parcours le plus court possible qui visite chaque ville exactement une fois et revient au point de départ. Ce solveur accepte soit des coordonnées planes, soit une matrice de distance personnalisée, sélectionne automatiquement le meilleur algorithme en fonction de la taille du problème et affiche le parcours résultant sous forme de carte SVG animée.

Qu'est-ce que le problème du voyageur de commerce ?

Formellement, étant donné un graphe complet pondéré G = (V, E) avec un ensemble de sommets V = {1, 2, ..., n} et des poids d'arêtes d(i, j), le TSP recherche une permutation π des sommets qui minimise :

minimiser Σi=1n-1 d(π(i), π(i+1)) + d(π(n), π(1))

Le dernier terme ferme la boucle. Le TSP est l'un des problèmes les plus anciens et les plus étudiés en optimisation combinatoire — il est NP-difficile dans le cas général, ce qui signifie qu'aucun algorithme connu ne résout toutes les instances en temps polynomial. Malgré cela, il apparaît dans d'innombrables applications du monde réel : logistique des véhicules, perçage de PCB, séquençage d'ADN, itinéraires de préparation de commandes en entrepôt, programmes d'observation astronomique et même distribution postale rurale.

Comment fonctionne ce solveur

Programmation dynamique de Held–Karp (Exacte)

Pour les petites instances (jusqu'à 12 villes), le solveur calcule le parcours prouvé optimal à l'aide de l'algorithme Held–Karp, publié indépendamment par Richard Bellman et Michael Held & Richard Karp en 1962. La récurrence clé, où C(S, j) est le chemin le plus court du sommet 1 au sommet j visitant exactement le sous-ensemble S :

C(S, j) = mink ∈ S \ {j} [ C(S \ {j}, k) + d(k, j) ]

Le coût du parcours optimal est alors minj [C({1,...,n}, j) + d(j, 1)]. Held–Karp s'exécute en temps O(2n · n²) et en mémoire O(2n · n) — une amélioration énorme par rapport à la force brute n!, mais toujours exponentielle. Au-delà d'environ 20 villes, l'empreinte mémoire devient impraticable.

Plus proche voisin + 2-opt (Heuristique)

Pour les instances plus grandes, le solveur utilise une heuristique en deux étapes. Tout d'abord, le Plus proche voisin construit un parcours rapide en marchant avidement vers la ville non visitée la plus proche à partir de chaque sommet de départ. Le solveur essaie plusieurs sommets de départ et garde le meilleur parcours. Ensuite, la recherche locale 2-opt améliore le parcours en supprimant itérativement deux arêtes et en reconnectant les deux chemins résultants de la seule autre manière possible :

Avant : ... a — b ... c — d ... Après l'échange 2-opt : ... a — c ... b — d ... Si d(a,c) + d(b,d) < d(a,b) + d(c,d) → accepter l'échange, inverser le sous-parcours b..c

Géométriquement, le 2-opt élimine chaque « croisement » dans le parcours : deux segments qui se croisent peuvent toujours être décroisés pour une longueur totale plus courte. L'algorithme s'arrête à un optimum local où aucun échange unique n'aide, appelé parcours 2-optimal. Sur des instances euclidiennes réalistes, le 2-opt trouve généralement des parcours à moins de 2–5 % de l'optimum réel en quelques millisecondes.

Formats d'entrée

Mode Coordonnées (x, y)

Une ville par ligne. Chaque ligne est étiquette, x, y — l'étiquette est facultative. Le solveur calcule automatiquement les distances euclidiennes et visualise les villes à leurs positions réelles.

A, 10, 20 B, 40, 70 C, 75, 30 Paris : 2.35, 48.86 10 20 ← étiqueté auto C1

Mode Matrice de distance

Une matrice carrée n × n de distances non négatives, une rangée par ligne, les valeurs étant séparées par des espaces ou des virgules. Les matrices peuvent être symétriques ou asymétriques — les matrices asymétriques modélisent les rues à sens unique, les prix des vols avec une disponibilité variable et les trajets dépendant du vent. Fournissez éventuellement des étiquettes dans le champ Étiquettes de matrice.

0 10 15 20 10 0 35 25 15 35 0 30 20 25 30 0

Comparaison des algorithmes

Algorithme Complexité temporelle Mémoire Qualité du résultat Taille pratique
Force brute O(n!) O(n) Optimal n ≤ 10
DP de Held–Karp O(2n · n²) O(2n · n) Optimal n ≤ 20
Plus proche voisin O(n²) O(n) ~25 % de moins que l'optimal n ≤ milliers
PPV + 2-opt O(n² · passes) O(n) ~2–5 % de moins que l'optimal n ≤ centaines

Comment utiliser ce solveur

  1. Choisissez un mode de saisie. Coordonnées si vos villes ont des positions (x, y) significatives ; Matrice de distance si vos coûts sont non euclidiens ou asymétriques.
  2. Collez ou tapez vos données. Une ville ou une rangée par ligne. Cliquez sur un bouton d'exemple rapide au-dessus du formulaire pour pré-remplir un exemple valide.
  3. Choisissez l'algorithme. Laissez sur Auto pour le bon réglage par défaut : Held–Karp lorsque l'instance est assez petite pour une optimalité prouvée, PPV + 2-opt sinon. Forcez un algorithme spécifique si vous souhaitez comparer.
  4. Choisissez fermé ou ouvert. Un parcours fermé revient au départ — le TSP traditionnel. Le mode chemin ouvert résout le problème connexe du chemin hamiltonien où le voyageur finit dans une ville différente.
  5. Cliquez sur Résoudre. La page de résultats affiche la longueur totale du parcours, un SVG animé de l'itinéraire (cliquez sur « Rejouer l'animation » pour le revoir), la séquence complète des villes, un détail par arête et la matrice de distance avec les arêtes du parcours mises en évidence.

Exemple pratique

Considérons cinq villes — un rectangle plus un sommet : A (0, 0), B (4, 0), C (4, 3), D (0, 3), E (2, 5). Le solveur renvoie :

Applications dans le monde réel

Foire aux questions

Qu'est-ce que le problème du voyageur de commerce ?

Le problème du voyageur de commerce (TSP) consiste à trouver le parcours le plus court possible qui visite chaque ville exactement une fois et revient à la ville de départ. C'est l'un des problèmes les plus célèbres en optimisation combinatoire et il est NP-difficile dans le cas général, ce qui signifie qu'aucun algorithme connu ne résout toutes les instances en temps polynomial.

Qu'est-ce que l'algorithme de Held–Karp ?

Held–Karp est un algorithme de programmation dynamique qui résout le TSP exactement en temps O(2n · n²) et en mémoire O(2n · n). Il est considérablement plus rapide que la force brute (n factoriel) mais reste exponentiel, donc en pratique il n'est utilisé que pour des instances allant jusqu'à environ 20 villes. Ce solveur utilise Held–Karp lorsqu'il y a 12 villes ou moins.

Qu'est-ce que le 2-opt et pourquoi est-il utilisé ?

Le 2-opt est une heuristique de recherche locale qui supprime à plusieurs reprises deux arêtes du parcours actuel et reconnecte les deux chemins résultants de l'autre manière possible. Lorsque le nouveau parcours est plus court, l'échange est conservé. Le 2-opt s'exécute en temps polynomial par itération et trouve systématiquement des parcours à quelques points de pourcentage de l'optimal, c'est pourquoi c'est l'heuristique classique par excellence pour les instances TSP plus larges.

Quand dois-je utiliser des coordonnées par rapport à une matrice de distance ?

Utilisez les coordonnées lorsque vos villes se situent dans un plan avec des distances en ligne droite — par exemple des points sur une carte, des emplacements d'entrepôts ou des trous de perçage sur un circuit imprimé. Utilisez une matrice de distance lorsque le coût par paire n'est pas euclidien — par exemple les prix des vols, les temps de trajet avec trafic, les distances routières à sens unique ou les coûts asymétriques. Le mode matrice accepte toutes les distances non négatives, même asymétriques.

La solution 2-opt est-elle optimale ?

Non, le 2-opt renvoie un parcours 2-optimal, ce qui signifie qu'aucune paire d'arêtes unique ne peut être échangée pour produire un itinéraire plus court. Il s'agit d'un optimum local et généralement à quelques points de pourcentage de l'optimum global sur des instances bien structurées, mais il n'est pas garanti qu'il soit le meilleur globalement. Pour un parcours prouvé optimal sur de petites instances, choisissez Held–Karp.

Cet outil prend-il en charge les matrices de distance asymétriques ?

Oui. En mode Matrice de distance, vous pouvez saisir n'importe quelle matrice carrée non négative, y compris asymétrique où D[i][j] diffère de D[j][i]. Held–Karp et 2-opt gèrent tous deux correctement les matrices asymétriques. Ceci est utile pour les problèmes de routage réels avec des rues à sens unique, du trafic ou des coûts de vol dépendants du vent.

Lectures complémentaires

Citez ce contenu, cette page ou cet outil comme suit :

"Solveur du Voyageur de Commerce (TSP)" sur https://MiniWebtool.com/fr/solveur-du-voyageur-de-commerce-tsp/ de MiniWebtool, https://MiniWebtool.com/

par l'équipe miniwebtool. Mis à jour : 21 avr. 2026

Vous pouvez également essayer notre Résolveur Mathématique IA GPT pour résoudre vos problèmes mathématiques grâce à des questions-réponses en langage naturel.

Opérations mathématiques avancées:

Outils en vedette:

Calculateur de Position du SoleilGénérateur de Carte de Crédit AléatoireCalculatrice de Compatibilité AmoureuseCalculateur du Jour de l'Année - Quel jour de l'année sommes-nous aujourd'hui ?Convertisseur cm en pieds et poucesCalculateur de Signe Solaire, Lunaire et Ascendant 🌞🌙✨Extracteur d'Images de VidéoRecherche d'Identifiant InstagramGénérateur de mots aléatoires en anglaisSélecteur de Films Aléatoirerecherche-d-adresse-MACconvertisseur ppm en pourcentageGénérateur de chaînes aléatoiresConvertisseur de Pieds et Pouces en CentimètresCalculatrice de SommeRecherche d'identifiant FacebookConvertisseur de décimales en tempsGénérateur de Couleurs AléatoiresConvertisseur de Pourcentage en PPMStatistiques de Chaîne YouTubeSupprimer des accents du texteConvertisseur de Calendrier HébraïqueCalculatrice d'escalierFusionner des vidéosCalculateur d'âgeCalculateur de percentile de tailleQuelle est mon adresse IP ?👙 Calculateur de Taille de Soutien-GorgeConvertisseur HEX en CMJNCompteur de lignescalculatrice-des-exposants-haute-précisionGénérateur de Cartes à Jouer AléatoireCalculateur de Numéro MaîtreGénérateur d'Action ou Vérité AléatoireCalculateur de nombres angéliquesGénérateur de cartes de bingoCalculatrice de MédianeOutil en ligne pour supprimer la ponctuationParaphraseur IARandomiseur de listeGénérateur d'heure aléatoireGénérateur de LabyrinthesGénérateur de Code MorseCalculateur de BarbecueCalculateur de vitesse de cyclismeCalculateur de Numéro de SemaineCalculatrice Modulocalculatrice-de-hba1cConvertisseur de Temps en DécimalSupprimer les sauts de ligneJour d'équinoxe de printempsConvertisseur d'AngleGénérateur de patron de cône à platDiviseur AudioGénérateur de points à relierPivoter la vidéoGénérateur d'adresse MACDécoupeur de vidéoGénérateur de personnage RPG aléatoireGénérateur de Repas AléatoireCalculateur d'ArctangenteCompresseur VidéoGénérateur de Sujets de Débat Aléatoiresconvertisseur de mot à numéro de téléphoneCalculateur d'équilibre des éléments astrologiquesExtracteur AudioCalculatrice de test du khi-deuxCalculatrice du Nombre d'ÂmeConvertisseur FPSGénérateur de Nonogrammes (Picross)Vérificateur de Nombre Pair ou Impair🔍 Vérificateur de PlagiatConvertisseur de taille de fichierVérificateur de Nom d’Utilisateur sur les Réseaux SociauxBoule Magique 8Calculateur de Revenus TwitchCompter le nombre de caractèresCompteur de SyllabesCalculateur d'autonomie de batterie🖱️ Compteur de ClicsFormateur de TexteGénérateur de tableau de tournoi aléatoireSupprimer les espacesCalculateur de Probabilité de DésConvertisseur DMS en Degrés DécimauxCalculatrice de DuréeCalculatrice de numérologie🎮 Convertisseur de Monnaie de JeuGénérateur de lettres aléatoiresCalculateur de Retour de SaturneCalculateur de temps de refroidissement de bièreCalculatrice de conversion de levureGénérateur de mots mêlésListe des Années BissextilesSélecteur de Nom AléatoireCalculateur de Coût de CarburantCalculateur de résistance pour LEDCalculatrice de terrasseCalculatrice du Pourcentage d'AugmentationConvertisseur de Codes Couleur Tous Formats🌡️ Calculateur d'Indice de ChaleurGénérateur de Distribution GaussienneExtracteur d'e-mailGénérateur d'IMEI AléatoireGénérateur de Prompt d'Écriture AléatoireHumaniseur de Texte IACalculateur de PressionCalculateur d'espérance de vie📅 Calculatrice de DateCalculateur de LevainConvertisseur de Livres en KilogrammesGénérateur d'adresse IP aléatoireCalculer les jours entre deux datesLanceur de DésCalculateur de Rapport de Vitesses de VéloConvertisseur de Fréquence et de Longueur d'OndeGénérateur de Carré MagiqueGénérateur de clé WPA en ligneGénérateur de Coordonnées AléatoiresTrier les lignes par ordre alphabétiqueVisualiseur de Cercle Unité InteractifCalculateur de Conversion d'Échelle de MaquetteCalculateur nutritionnel de recettesCalculatrice de CombinaisonGénérateur d'Activités AléatoiresGénérateur d’excuses aléatoiresCalculateur de TangenteCalculatrice de Circonférence d'EllipseCréateur de mots croisésCalculateur de CosinusCalculatrice HexadécimaleFusion de SRTGénérateur d'anagrammesInverser la VidéoSuppresseur de Caractères InvisiblesCalculateur de Compost (Rapport C:N)Calculateur de dilatation du tempsCalculatrice de numéro de nomCompte à Rebours de la RetraiteConvertisseur Décimal en BCDInverseur de couleursTesteur de Robustesse de Mot de PasseCalculateur d'écart-typeCalculateur de Chute LibreCalculateur de dépréciation de voitureCalculateur de Mélange Huile 2 TempsCalculateur de Temps de LectureCalculatrice d'Écart-Type RelatifCalculatrice de fertilitéCalculatrice de Fonction GammaCalculatrice de la diminution en pourcentageCalculatrice de Rectangle d'OrDécodeur JWTgénérateur-de-texte-à-l-enversTrier les NombresCalculateur de Modèle de TricotCalculateur de soude pour savon (SAP)Calculateur de sous-réseau IPCalculateur du Test Exact de FisherConvertisseur de pressionGénérateur d'adresses fictives aléatoiresGénérateur de Texte StyliséCalculateur de Coefficient BinomialCalculateur de Débit en TuyauterieCalculateur de Taille de TVGénérateur de Date AléatoireGénérateur de KakuroListe des Nombres de FibonacciRandomiseur de nombresSupprimer l'audio d'une vidéoCalculateur d'ArmatureCalculateur de Décibels (dB)Combien Dois-je Peser ?Convertisseur d'adresse IP en binaireConvertisseur de Taille de BagueGénérateur de Texte BarréGénérateur d'Anniversaire AléatoireGénérateur de mots mélangésGénérateur de numéros de loterieSélecteur de commentaires YouTubeAjouter ou Remplacer l'Audio dans une VidéoCalculateur d'âge biologiqueCalculateur de Taille de Ventilateur de PlafondConvertisseur de Cuillères à Soupe en TassesGénérateur aléatoire d'animauxGénérateur d'ouverture d'échecs aléatoireGénérateur de PaletteCalendrier du Jour de l'AnnéeCalculateur de Foin pour Chevaux💧 Calculateur de Point de RoséeCalculateur de récupération de la fréquence cardiaqueCalculatrice de racine carréeCalculatrice du coefficient de variationCalculatrice du Nombre d'ExpressionDétecteur de contenu IAGénérateur de Word LadderQuel est mon signe du zodiaque ?Supprimer les lignes vides du texteCalculateur de Coûts Publicitaires FacebookCalculateur de filCalculateur de taille de véloChronomètre de splits de speedrunCalculateur de StablefordCalculateur de checkout de fléchettesCalculateur d’économie au bowling de cricketCalculateur de Strike Rate au CricketCalculateur de Net Run RateCalculateur de ratio K/DCalculateur de classement EloCalculateur de temps de randonnéeCalculateur d'allure d'avironCalculateur de Performance Ajustée à l'Âge en CourseCalculateur de FTP et Zones de PuissanceCalculateur de test BeepCalculateur de score ACFTCalculateur Wilks & DOTSCalculateur d'offset de janteRecherche d’indice de charge et d’indice de vitesse des pneusCalculateur de coût par mileCalculateur de rachat de leasingCalculateur de Mélange d'OctaneCalculateur de Cylindrée MoteurCalculateur de Passage de CanapéCalculateur de Cordes de Bois de ChauffageCalculateur de CADR de Purificateur d'AirCalculateur de taille de déshumidificateurCalculateur de Taille de RideauxCalculateur de Taille de TapisCalculateur de hauteur pour accrocher un tableauCalculateur de hauteur de fixation TVCalculateur de volume et bâche de bassinCalculateur de Sel pour PiscineCalculateur de Volume de PiscineCalculateur de Taille de Chauffe-EauCalculateur de Résine ÉpoxyCalculateur d'espacement des balustresCalculateur de plinthes et mouluresCalculateur de bardageCalculateur de lasure pour terrasseCalculateur de Semences de GazonCalculateur de gazonCalculateur d'AsphalteCalculateur de Yards CubesCalculateur de Longueur d'AntenneCalculateur de Remplissage de ConduitCalculateur de condensateurs en série et parallèleCalculateur de Reactance InductiveCalculateur d'Éclairage de PièceCalculateur de Lux en LumensConvertisseur Lumens en WattsCalculateur de Taille de GénérateurConvertisseur mAh en WhCalculateur de Puissance TriphaséeCalculateur kVACalculateur Ampères en WattsCalculateur de Watts en AmpèresCalculateur de Résistances en SérieCalculateur de FrottementCalculateur de Plan InclinéCalculateur d'Avantage MécaniqueCalculateur de vitesse du sonCalculateur de vitesse d’ondeCalculateur de flottabilitéCalculateur de Vitesse TerminaleCalculateur de longueur d'onde de de BroglieCalculateur d'énergie du photonCalculateur E=mc²Calculateur de la Troisième Loi de KeplerCalculateur de vitesse de libérationCalculateur de Force GravitationnelleCalculateur de la Loi de Beer-LambertCalculateur d'équation de NernstCalculateur de Pression OsmotiqueCalculateur d'élévation du point d'ébullitionCalculateur d'Abaissement du Point de CongélationCalculateur de Composition CentésimaleCalculateur de NormalitéCalculateur de MolalitéConvertisseur pKa en KaCalculateur de Henderson-HasselbalchCalculateur de Rendement ThéoriqueCalculateur de Réactif LimitantCalculateur de Configuration ÉlectroniqueTableau périodique interactifGénérateur de Plan de Cours IAGénérateur de Quiz IAGénérateur de Citations (APA/MLA/Chicago)Calculateur de Pourcentage de PrésenceCalculateur de Score APCalculateur de Score ACTCalculateur de Score SATConvertisseur Pourcentage en CGPAConvertisseur CGPA en PourcentageCorrecteur de Notes Facile (EZ Grader)Calculateur du Coût d'un EnfantCalculateur de Consommation de Lait pour BébéCalculateur de taille de couchesGénérateur de prénoms de bébéPrédicteur de la couleur des yeux de bébéCalculateur de Percentile IMC pour EnfantCalculateur de Taille Adulte de l'EnfantCalculateur du Temps de Doublement de hCGCalculateur de date d'accouchement FIVCalculateur d'ImplantationPrédicteur de Sexe ChinoisFormateur de date ISO 8601Convertisseur de date julienneCalculateur de siesteCalculateur de Phase de la LuneCalculateur de lever et coucher du soleilHorloge mondialeConvertisseur de Date en Chiffres RomainsCalculateur de SobriétéCalculateur de demi-anniversaireCalculateur d’anniversaireCalculateur de Répartition des PourboiresCalculateur de ROI Email MarketingCalculateur de Coût Par LeadCalculateur de Fonds de RoulementEstimateur de revenus YouTube