À la recherche de la solution idéale aux problèmes des vendeurs itinérants pour les entreprises

La recherche d'itinéraire optimale est cruciale pour de nombreuses entreprises. Il est connu sous le nom de problème du vendeur itinérant ou TSP et est particulièrement pertinent dans les situations où les dépenses d'approvisionnement sont presque comparées au coût du produit lui-même et où la rapidité de livraison est l'une des principales priorités. Examinons plus en détail ce problème des vendeurs de voyages et découvrons quelles solutions utiles ont été développées.

Quel est le problème des vendeurs itinérants ?

Il s'agit d'un problème bien connu qui a fait l'objet d'une enquête approfondie. Le défi consiste à trouver le résolveur de problèmes du vendeur itinérant pour créer l'itinéraire le plus optimal en passant par tous les points ou villes spécifiés une seule fois et en revenant au point de départ. La solution au problème des vendeurs itinérants doit également contenir des critères d'optimalité de l'itinéraire : le plus court, le plus rapide, le moins cher ou tous ensemble et des données initiales de l'itinéraire telles que la distance, le coût, le temps, etc.

Visualisation du problème des vendeurs itinérants

Le TSP est basé sur le cycle de Hamilton, qui consiste à trouver un chemin en visitant chaque nœud une fois et en revenant au début du graphique, mais le TSP s'intéresse à un circuit hamiltonien en tant que calculateur de vendeur itinérant le plus économique.

La particularité du TSP est qu'il est assez simple à formuler et qu'il est également relativement facile de prendre une bonne décision, mais trouver un itinéraire optimal pour un ensemble de données volumineux n'est pas un processus facile et gourmand en ressources.

Approches pour résoudre les problèmes des vendeurs itinérants

Il existe de nombreuses manières de trouver le meilleur résolveur de problèmes pour les vendeurs itinérants, qui peuvent être divisées en plusieurs groupes : algorithmes exacts, heuristiques et métaheuristiques.

Algorithmes exacts

Algorithmes exacts trouver une solution optimale garantie.
Ce groupe comprend :
La méthode de la force brute — est un examen séquentiel de tous les itinéraires possibles et le choix de l'itinéraire optimal.
La méthode des branches et des limites est une variante de la recherche exhaustive qui diffère en éliminant du processus de calcul des sous-ensembles de solutions inefficaces.
L'idée clé de programmation dynamique est d'être un solveur TSP fiable pour calculer et mémoriser la distance parcourue entre la ville d'origine et toutes les autres, puis y ajouter les distances entre les villes actuelles et les villes restantes, etc. La première application TSP de programmation dynamique est l'algorithme Held-Karp. Comparé à une recherche exhaustive, cet outil de résolution des problèmes liés aux vendeurs itinérants peut réduire considérablement la quantité de calcul.

Le principal avantage des techniques de groupe est qu'elles permettent de trouver la bonne solution au problème TSP, ce qui n'est pas possible pour les algorithmes d'autres groupes. Cependant, dans la pratique, ces algorithmes sont rarement appliqués en raison du temps considérable passé, même pour de petites valeurs de N.

Algorithmes heuristiques

Algorithmes heuristiques déterminer des solutions satisfaisantes ou presque optimales mais suffisantes pour résoudre le problème du vendeur itinérant.
Exemples :
L'algorithme en bois est une procédure permettant de résoudre le problème en construisant l'arbre le plus court.
Algorithmes gourmands sont basés sur la recherche de solutions localement optimales à chaque étape des calculs et supposent que le solveur TSP final trouvé sera globalement optimal. Ainsi, à chaque itération, la meilleure section du chemin est sélectionnée, qui est incluse dans l'itinéraire final. L'application la plus populaire des algorithmes gourmands est l'algorithme du plus proche voisin qui construit un chemin en trouvant le sommet le plus proche d'un sommet donné.

Greedy produira un itinéraire sous-optimal (sauf dans des cas triviaux)

L'algorithme à 2 options se réduit à supprimer deux arêtes qui se croisent et à insérer de nouvelles arêtes qui ne nuisent pas à l'exactitude de la solution.

Les avantages de ces algorithmes pour résoudre le problème TSP sont la stricte dépendance de la vitesse entre la solution trouvée et la taille initiale des données. Ils présentent également des inconvénients : la faible qualité de la réponse associée à l'augmentation du nombre de villes.

Algorithmes métaheuristiques

Algorithmes métaheuristiques — stratégies généralisées pour résoudre les problèmes des vendeurs itinérants pour trouver la solution optimale en matière de solutions, en fonction du hasard.
Ils incluent :
Algorithme Ant — un algorithme qui imite le comportement d'une colonie de fourmis cherchant un chemin vers une source de nourriture.
Recuit simulé est un algorithme qui simule le processus physique de cristallisation d'une substance à une température décroissante.
Un algorithme génétique imite le processus évolutif de la nature.
L'algorithme de sélection par clonage est une forme d'algorithme génétique qui n'utilise pas l'héritage de plusieurs ancêtres.

Les avantages de ces algorithmes sont la simplicité de mise en œuvre, la recherche de chemins plus optimaux par rapport aux algorithmes heuristiques. Les inconvénients de ces algorithmes incluent la dépendance à l'égard des hyperparamètres, qui sont sélectionnés individuellement pour différents ensembles de données initiales, ainsi que la complexité de l'analyse asymptotique due à des hyperparamètres différents.

Quelle est la meilleure approche pour résoudre le problème ?

Le choix de l'une ou l'autre approche pour résoudre les problèmes des vendeurs itinérants est dû à la taille initiale des données, aux informations de production disponibles, au délai de mise en œuvre défini et aux objectifs requis. Par exemple, les navigateurs d'utilisation nécessitent de la précision sur une petite partie des données d'origine avec de faibles performances et une durée limitée. Il est donc justifié d'utiliser des algorithmes précis. Dans le cas de la sélection des itinéraires optimaux pour la livraison des marchandises, la meilleure solution TSP utilise des algorithmes heuristiques qui ont une vitesse suffisamment prévisible et qui n'ont pas besoin de régler les hyperparamètres. Ils donnent également de bons résultats avec une quantité insignifiante des données initiales. Si la fiabilité est requise pour un nombre significatif de points combinée à des performances élevées et à une durée limitée, il vaut la peine d'utiliser les algorithmes métaheuristiques pour obtenir le solveur TSP optimap.

Comment résoudre le problème d'un vendeur itinérant Différents langages de programmation

L'API Distancematrix comprend à quel point les problèmes TSP sont importants dans la logistique des transports, un secteur qui coopère à la planification des transports. Le vendeur itinérant doit parcourir environ N points et éventuellement retourner au lieu d'origine pour vendre des produits et des marchandises. Et pour sélectionner l'excellent chemin, vous pouvez appliquer le problème de vendeur itinérant Java, TSP Python et d'autres langages de programmation.


Compte tenu du nombre de lieux et de la distance actuelle qui les sépare, le problème du TSP réside dans la détection du chemin le plus court où chaque lieu ne sera visité qu'une seule fois, puis retournera au point d'origine. Pour simplifier, souvenez-vous du cycle hamiltonien. Vous pouvez utiliser une variante TSP naïve pour le comptage ou appliquer un langage de programmation. Le problème de vendeur itinérant Java, Python TSP, C++ ou C# est une programmation dynamique pour recevoir le chemin le plus court.

Essayons de résoudre le TSP, définissons le meilleur chemin pour le schéma suivant :

Graphique du problème des vendeurs itinérants

Nous voyons que le meilleur chemin est le 1-2-4-3-1. Le coût ici est défini comme 10+25+30+15 et est égal à 80. En utilisant le codage TSP et la programmation dynamique, nous définissons i comme le prix, et 1 sera notre point de départ et notre point d'arrivée. Ici, tout semble simple [coût (i) + dist (i, 1)]. Notre objectif est de calculer le coût, c'est-à-dire de recevoir la valeur de i. Il est préférable d'utiliser l'algorithme du vendeur itinérant sur n'importe quel langage de programmation pour connaître le prix de l'itinéraire le moins cher.

Le langage de programmation nécessite que vous définissiez des variables pour un calcul correct. Le programme effectue des calculs avec une plus grande précision, ce qui est pratique si vous devez calculer un grand nombre de lieux et de distances. Le langage de programmation simplifie les calculs et vous propose plusieurs options pour les itinéraires TSP les plus rapides et les moins coûteux. Notre outil de résolution de problèmes pour les vendeurs itinérants sera, par exemple, Java.

Exemple de résolution du problème d'un vendeur itinérant à l'aide du langage de programmation Java

L'objectif de l'API Distancematrix est de trouver le moyen le plus rapide, le plus court et le moins coûteux d'implémenter Python, le code source TSP Java ou le C++ pour résoudre un problème de vendeur itinérant.

Importance pratique du problème des vendeurs itinérants

L'application du TSP est assez étendue. La tâche est utilisée dans la logistique, le transport, la conception de divers systèmes de communication, même en psychologie et en pédagogie.

Parmi les options possibles pour utiliser le problème du vendeur itinérant dans les pratiques logistiques, citons la détermination de l'itinéraire optimal pour le transport de marchandises ; le calcul de la meilleure carte des vendeurs itinérants pour les coursiers, les télécommunications et les communications (gestion des satellites, conception de systèmes de télécommunications, informatique — regroupement de tableaux de données, énergie et services publics — connexion des colonies aux lignes électriques et à l'alimentation en gaz), l'électronique (conception de topologies de microcircuits).

Outre la logistique, la tâche TSP s'applique également à l'économie et à l'activité humaine : finance (optimisation des flux de trésorerie, par exemple, recherche de moyens de transférer des fonds avec des coûts de transaction minimes), tourisme (vendeur itinérant calculateur d'itinéraires pour les excursions et les visites), show business (organisation de tournées de groupes de musique), biologie (assemblage du génome), etc.

À cet égard, le développement d'algorithmes et de méthodes pour des solutions TSP réussies est très demandé.

Où est utilisé le calculateur des problèmes des vendeurs itinérants ?

La calculatrice pour vendeurs itinérants est devenue de plus en plus populaire ces dernières années en raison de sa capacité à optimiser les problèmes de routage complexes en une fraction du temps qu'il faudrait à un humain pour les résoudre manuellement. Il a des applications pratiques dans un large éventail de domaines, de la logistique et des transports à la finance et à la biologie. Les calculateurs TSP utilisent des algorithmes avancés pour trouver l'itinéraire le plus court possible qui permet de visiter un ensemble de lieux et de revenir au point de départ. Il peut s'agir d'un outil précieux pour les entreprises qui cherchent à optimiser leurs itinéraires de livraison ou de vente, ainsi que pour les chercheurs qui cherchent à résoudre des problèmes d'acheminement complexes dans leurs domaines. En tirant parti de la puissance d'un agent de résolution des problèmes des vendeurs itinérants, les organisations peuvent gagner du temps, réduire les coûts et accroître leur efficacité.

Quel est le meilleur solveur TSP ?

Le meilleur solveur TSP dépend de divers facteurs, tels que la taille du problème, la précision requise et les ressources de calcul disponibles. De nombreux algorithmes sont disponibles pour résoudre le TSP, notamment des méthodes exactes telles que la branche, la limite et le plan de coupe, et des méthodes heuristiques telles que l'optimisation des colonies de fourmis, le recuit simulé et des algorithmes génétiques. Le choix du meilleur résolveur de problèmes TSP dépend également des exigences spécifiques du problème et des préférences de l'utilisateur. Certains solveurs peuvent être plus adaptés aux petites instances, tandis que d'autres peuvent être mieux adaptés aux problèmes de grande envergure. De nos jours, vous pouvez trouver le meilleur solveur TSP en ligne. Il est recommandé de tester différents résolveurs sur un problème particulier afin de déterminer celui qui donne les meilleurs résultats.

Solution populaire dans les pratiques commerciales — API Distancematrix.ai

Les solutions TSP académiques tentent de générer une solution idéale pour ce problème vital, mais la grande majorité ne convient pas à des décisions réelles. La raison en est que créer le meilleur vendeur itinérant sur Google Maps prend du temps. Dans la vraie vie, la fréquence du temps est un facteur de choix crucial. Par exemple, une entreprise de logistique doit déterminer un itinéraire en quelques minutes lorsqu'elle planifie son programme quotidien, car ses résultats dépendent à la fois de ces décisions de planification de l'itinéraire d'expédition et de la nécessité d'éviter les temps d'arrêt des conducteurs. Le monde des affaires n'a donc pas besoin de solutions optimales aux problèmes de voyage des vendeurs, mais de solutions quasi optimales dans les plus brefs délais, offrant aux entreprises la possibilité de planifier des itinéraires sans problème, rapidement et efficacement.

Il existe différentes manières de résoudre le problème du TSP autres que les approches académiques. Il existe de nombreuses solutions d'API pour l'optimisation, mais elles sont considérablement limitées par le nombre de points de cheminement à optimiser, sans fenêtres horaires, sans aller-retour, sans contraintes de capacité, etc.

Appliquer le API Distance Matrix, vous pouvez calculer la distance et le temps de trajet entre chaque paire de sites en tenant compte des données en temps réel. N'oubliez pas qu'en fonction de la tâche problématique du vendeur itinérant, vous pouvez effectuer des calculs en tenant compte du trafic en temps réel ou non. En outre, le temps de calcul des requêtes peut atteindre 50 éléments par seconde et vous pouvez obtenir la réponse de l'API en moins d'une seconde.

L'outil API Distancematrix.ai prend en charge les routes du monde entier. En l'utilisant comme solveur de vendeurs itinérants, vous pouvez désigner le chauffeur le plus proche en fonction de la proximité, proposer des offres d'emploi uniquement pour une durée de trajet donnée et déterminer le point de livraison de marchandises le plus proche d'un client. Vous pouvez également créer une matrice de distance standard ou utiliser une origine unique avec plusieurs destinations.

Distancematrix.ai facilite également considérablement le processus des vendeurs de voyages lorsqu'il est nécessaire de demander une grande matrice.

Conclusion:

Comme vous pouvez le constater, un solveur TSP efficace dans votre pratique commerciale peut vous aider à réduire le coût de la commande et le délai de livraison, à optimiser les déplacements et la livraison pour les fournisseurs et les distributeurs, etc. Vous pouvez choisir l'un des nombreux outils TSP à cette fin, mais n'oubliez pas que Distancematrix.ai est un outil fiable qui peut faciliter les choses car il a été conçu comme un solveur TSP. Nous sommes convaincus qu'il s'agit d'une excellente option pour améliorer l'efficacité de la performance de votre entreprise.

Avez-vous besoin de plus d'informations sur l'API de la matrice de distance ?

L'API de la matrice de distance
En savoir plus
Sources :
  1. Weiqi Li (9 février 2021). Comment résoudre le problème du vendeur itinérant, théorie de la complexité — définitions, modèles et applications, Ricardo López-Ruiz, IntechOpen, DOI : 10.5772/intechopen.96129. Disponible auprès de : https://www.intechopen.com/chapters/75156
  2. Cwik, M. et Józefczyk, J. (2018). Algorithmes heuristiques pour le problème minmax regret flow-shop avec des temps de traitement par intervalles. Journal de recherche opérationnelle d'Europe centrale, 26 (1), 215 et 238. https://link.springer.com/article/10.1007/s10100-017-0485-8