Programmer une tournée de livraison

Hello tout le monde,

Je dois programmer une tournée de livraison en définissant les points de passage. Pour cela, je dispose des coordonnées GPS de chaque point à livrer.

Au final, je dois pouvoir :

- Visualiser la tournée

- Calculer automatiquement l'ordre des livraisons

- Calculer automatiquement le km total de la tournée

- Déterminer automatiquement la date et l’heure de la livraison

Merci d'avance pour votre aide

N'hésitez pas si vous avez des questions

Merci

156forum.xlsx (16.03 Ko)

Corrigé.
Je préfère vous prévenir tout de suite pour la suite. Le problème du voyageur de commerce (recherche du chemin le plus rapide pour passer par tous les points d'un graphe) se traite avec le modèle de Little. C'est de la recherche opérationnelle. La solution est possible, mais assez complexe. Les temps de calcul peuvent être très longs si le nombre de noeuds dans le graphe est important.

Comment ça la tournée sera vite faite je ne comprends pas trop ce que vous dites. Par où dois-je commencer pour réussir ? Merci

Les coordonnées GPS ne sont valables que pour un aéronef. Qui doit calculer les distances par voie routière des itinéraires reliant ces 35 villes ?

93forum.xlsx (16.01 Ko)

Ah mince je n'avais pas fait attention, le fichier est maintenant modifier. Merci

bonjour,

Oui, le problème du voyageur de commerce est bien connu

Une solution vite et visuelle

schermafbeelding 2023 10 16 083030

@Optimix, je dispose d'une matrice des distances

@BsAlv, une fois le tracé de l'itinéraire obtenu, comment calculer automatiquement l'ordre des livraisons ? Merci

re,

à ce point, ce n'est plus difficile, un tableau, puis calcules les distances et supposer une vitesse (moi, j'ai supposé 5.000 unités par heure, mais si ces ont de km ou de mètres ???) et on a le temps.

macro "test" = prendre toujours le point le plus près qu'on n'a pas encore eu

-macro "test2" avec le tableau supplémentaire = forcer une route pour certains points, le départ = 1, l'arrivée = 35

Avec cet outil, vous avez déjà une solution, mais si elle est la meilleur ? De tout façon, une solution est mieux que rien.

78forum-11.xlsb (37.16 Ko)

Il y a belle lurette que je n'ai plus le modèle de Little sur ma machine (années 90), mais si quelqu'un l'a, j'ai retouché la matrice de la façon suivante :
- les doublons ont été retirés
- les segment ont été arrondis en km (entier)
- n'ont été conservées que les 32 villes proposées hier à 8h06 par Yams00
- Vesoul a été retiré, mais il faudra préciser où se trouve le point de départ si ce n'est pas Vesoul.

Je regarde de mon côté ce qu'on peut en tirer. Si qqn à l'algo, ça ira plus vite.

61matrice.xlsm (21.06 Ko)

Alors en fait, les distances sont en m.

La vitesse est de 70 km/h.

Horaires de livraison : 8h à 12h et 13h à 17h

Pour les villes qui sont en 2 fois, ce ne sont pas des doublons, mais cela veut dire qu'il y a 2 livraisons à faire dans la même ville.

Le point de départ est à Vesoul.

Merci pour vos aides

En introduisant la notion de temps (vitesse horaire, horaires de livraison), votre problème change complètement de nature. Il ne s'agit plus d'un tableau des distances dont on a besoin, mais d'un tableau des temps de déplacement. Dans ce cas votre matrice des distances en mètres ne sert plus à rien.

Illustration :

Pour aller de Saint-Thibaut-les-Vignes à Aigremont, votre matrice donne 68.609 m, soit environ 59minutes à 70 Km/h. Si vous faites un calcul d'itinéraire sur la toile, vous trouverez 66,6 km (l'écart est acceptable), mais un trajet de 1h 23, donc un dépassement de temps de plus de 40%, ce qui ne l'est pas.

Pour travailler correctement, il va falloir calculer sur l'Internet tous les trajets, soit 32 x 31 = 992 cellules à renseigner. Si vous ne vous sentez pas le courage ou si vous n'avez pas le temps de faire ce travail, le mieux est encore la solution visuelle proposée par BsAlv.

Merci pour vos aides précieuse.

Désormais, savez-vous comment déterminer automatiquement la date et l’heure de la livraison ? Merci

mardi 17/10/2023 10:23:47

re,

sans ces 2 trajets de Vesoul à 2 et 3 (c'est combien çà?), c'est une distance de 605 km et 8h40 de temps. Apparament mon trajet de ce matin était assez bien !!!

quelque remarques :

* le choix de la séquence des points est pour un aéronef et le point de départ est aléatoire, donc si vous lancez la macro (bouton "RUN" dans la feuille "Dashboard") plusieurs fois, vous pouvez avoir plusieurs résultats différents (5% de différence est possible).

* les vrai distances sont ceux de votre tableau

* mais maintenant il faut aussi considérer le temps ...

Bonjour, @BsAlv est-ce qu’il y’a besoin de faire tout ce que vous avez fait pour trouver les horaires de livraison de chaque point ? Merci

non, si vous me dites la séquence des livraisons, la vitesse (70 km/heure) et le délai à chaque point,

Voir PJ, vous me donnez la colonne D (moi j'ai choisi 20 points aleatoires), alors le reste est facile. Le départ est à 8h00 est on prend 5 minutes de livraison par point.

Avec F9, vous avez un nouveau tour.

Attention le calculation est "manuel", SVP plus tard modifier en "automatique"

Est-ce que vous pouvez regarder le tableau que j'ai fait, si il semble correcte. Selon moi, il est plus simple comme ça et il ne reste plus qu'à trouver les heures de livraison.

Le point de départ est donc à Vesoul et à 6h

Le temps de déchargement est de 30 min

Les horaires de livraison sont 8h – 12h et 14h – 17h

Et les créneaux de livraisons sont toutes les 30 min, c’est-à-dire que la dernière livraison du matin doit intervenir au plus tard à 11h30 et la dernière livraison de l’après-midi doit intervenir à 16h30.

Merci à vous ):

re,

le départ est à 6h00 à Vesoul, mais quelle est la distance de Vesoul au premier client, CAD ici "77160 PROVINS" ?

Si j'arrive à 11h31, je dois attendre jusqu'à 14h00 et si j'arrive à 16h31, c'est demi-tour ?

Rechercher des sujets similaires à "programmer tournee livraison"