News instances :
Sommaire :
- Télécharger les 96 instances
- Caractèristiques des instances
- Tableau de resultats
- Construction des instances
- Lecture des instances
- Lecture des solutions
- Outil de visualisation
- Licence
- Annexe
DARP Instances Real Life
Auteurs:
Maxime Chassaing |
Laboratoire :LIMOS, UMR CNRS 6158 Campus des Cézeaux 63177 Aubière Cedex (France) |
|
Christophe Duhamel |
||
Philippe Lacomme |
||
Christian Laforest |
Abstract
Nous proposons ici de télécharger des instances ultra-réalistes du DARP basées sur les positions GPS des villes Françaises. Elles respectent la définition du DARP proposée par Cordeau et Laporte 2003 [1] à deux exceptions :
1- la charge d’un client peut être supérieure à 1 (elle est comprise entre 1 et 4);
2- le temps maximum de transport d’un client varie en fonction des clients et de la distance que celui-ci veut parcourir
Enfin, dans cette page vous trouverez toutes les explications nécessaires pour manipuler ces instances ainsi que quelques outils pour la manipulation et pour l’affichage des solutions.
small instances | medium instances | big instances | nightmare instances | All instances |
---|---|---|---|---|
Instance.zip | Instance.zip | Instance.zip | Instance.zip | instance.zip |
solutionsR.zip | solutionsR.zip | solutionsR.zip | solutionsR.zip | solutionsR.zip |
solutionsC.zip | solutionsC.zip | solutionsC.zip | solutionsC.zip | solutionsC.zip |
solutionsF.zip | solutionsF.zip | solutionsF.zip | solutionsF.zip | solutionsF.zip |
GPS_coordinate.zip | GPS_coordinate.zip | GPS_coordinate.zip | GPS_coordinate.zip | GPS_coordinate.zip |
Les instances
Les instances sont très proches des instances classiques du DARP proposées par Cordeau et Laporte 2003 ou encore par Ropke et al 2007. Les principales caractéristiques sont les suivantes :
- Les sommets ne sont plus repérés par des positions X et Y mais directement par les distances qui les séparent
- Les clients sont répartis sur une superficie importante variant selon les instances, dépendant de la superficie des départements. Cette superficie varie de 100km² à plus de 8500 km².
- Au véhicule est associé une vitesse moyenne que l'on suppose constante et d'environ 80km/h soit 1.33km/min.
- Les distances séparant les différents sommets ne sont plus Géométriques mais se sont les distances réels (en mètre) parcourut par un véhicule pour rejoindre 2 villes. Plus de détails sur le calcul de ces distances sont disponibles à cette adresse : lien.
- L’inégalité triangulaire n’est donc plus respectée.
- Des fenêtres de temps .sont fixées à la fois sur le sommet de ramassage et sur celui de destination. Ces fenêtres de temps sont de tailles variantes selon les clients. Le temps de transport maximum (the maximum riding time) de chaque client dépend du client et de la distance qu’il a à parcourir.
Construction des instances
Dans le but d'obtenir des instances le plus proche possible de la réalité, la construction de ces instances repose sur plusieurs lois biaisées :
-
Concernant les tailles des trajets demandés par les clients
-
La position des fenêtres de temps
-
La taille des fenêtres de temps
-
Les contraintes de temps de transports maximums imposés aux clients
Lecture des instances
Une instance se découpe en 3 parties :
1 - Les données du problème
Cette partie concerne les données du problème et regroupe dans l’ordre :
- m : le nombre de véhicule ;
- 2*n : 2* le nombre de clients, ce qui représente le nombre de sommets dans le graphe (sans compter le dépôt) ;
- TRT : le temps maximum de trajet pour un véhicule (i.e. 8h de travail maximum pour un chauffeur soit 480 minutes) ;
- C: la capacité maximale d’un véhicule ;
- V: la vitesse en km/minute du véhicule.
12 92 480 8 1.33
2 - La matrice des distances
Cette matrice carré est de taille (N+1)*(N+1).
La première ligne représente la distance en partant du sommet choisi pour être le dépôt vers les n autres sommets.
La valeur en position i,j correspond à la distance en mètre séparant le ième sommet et le jème.
Les valeurs sur la diagonale sont égales à 0.
ATTENTION : le même nœud peut être utilisé plusieurs fois, donc des distances de valeurs zéros peuvent apparaître.
0 64916 139561 1213 182080 ...
64916 0 115682 64384 157086 ...
139561 115682 0 140773 25871 ...
1213 64384 140773 0 183328 ...
182080 157086 25871 183328 0 ...
...
...
...
Matrice des distances réels en mètre parcourut par un véhicule entre deux sommets, avec en ligne le sommet d’origine et en colonne la destination.
Cette matrice est symétrique.
3 - Les données sur les clients
Dans cette 3ème partie sont regroupées les informations sur les clients.
Qui se compose dans l’ordre :
- i : le numéro du véhicule ;
- s[i] : le temps de chargement au sommet i.
- c[i] : Le nombre de client à prendre(+) ou déposer(-) au sommet i ;
- e[i] l[i] : les dates minimales et maximales pour traiter le sommet i (fenêtres de temps) ;
- L[i] : la durée maximale pour effectuer le transport associées au client i.
La première ligne concerne le point 0, qui est le dépôt.
Il a pour fenêtre de temps [0;1440] ce qui correspond à une journée de 24h (=1440min).
Les sommets numérotés de 1 à n suivantes sont les sommets de ramassages associés aux n clients.
Et les sommets numérotés de n+1 à 2*n suivants sont les sommets de destinations associés aux n clients.
0 0 0 0 1440 480
1 3 3 480 720 124
2 1 1 480 720 61
3 1 1 480 720 71
...
...
...
47 3 -3 605 785 124
48 1 -1 556 736 61
49 1 -1 533 773 71
...
Lecture des solutions
Dans ces pages vous trouverez 3 différentes formes de solutions.
1- Solutions réduites : forme simple
La première ligne donne le nombre de véhicules utilisés. La seconde, le nombre x de sommets dans le 1er véhicule, la suivante liste les x sommets dans l’ordre de traitement par le véhicule.
2
16
0 10 3 20 1 13 2 11 4 14 6 12 16 7 17 21
8
0 5 8 15 18 9 19 21
2- Solutions traditionnelles :
Ces solutions sont construites sous la même forme que les solutions disponibles sur internet Pour les précédentes instances de la littérature. Ainsi les personnes ayant l’habitude de cette forme ou ayant déjà développé des fonctions utilisant ce formats peuvent continuer à les utiliser.
3- Solutions complètes
Ces solutions sont construites de manière à être réutilisable par la machine tout en restant au maximum compréhensible par l’homme. elles se présentent sous la forme de successions de "tableaux" ou chaque tableau correspondants à une tournée. Les premières lignes du tableau sont des informations générales sur la tournée puis chaque ligne correspond au passage du véhicule sur un sommet enfin les colonnes représentent les différentes variables utiles à la vérification des données :
- S(i) : le sommet
- C : la charge du véhicule au passage sur le sommet ;
- TW0 : la borne inf. de la fenêtre de temps de ce sommet ;
- TW1 : la borne sup. de la fenêtre de temps de ce sommet ;
- VTW : différence entre la borne sup et le début du traitement du client ;
- Min : différence entre la borne sup. et le début du traitement du client ;
- A : date d'arrivée du véhicule sur le sommet ;
- W : temps attendu par le véhicule avant de commencer le service ;
- B : date de début du service ;
- D : date de départ du véhicule ;
- L : durée de transport du client ;
- F : temps d'attente supplémentaire à ce sommet sans compromettre la solution.
Outils de visualisation
Pour visualiser les résultats sur une carte,
à chaque instance est associée un fichier qui
indique les coordonnées GPS correspondants à chaque sommet.
Vous trouverez aussi un petit programme en C++ implémenté
sous Visual studio 2010 qui utilise l'API google v3.
Pour l'utiliser vous devez fournir plusieurs éléments :
"1 - For generate the html file enter you google API key here:"
Pour utiliser ce programme vous aller donc avoir besoin d’une clef
Google API (qui est gratuite pour un usage privé).
Si vous ne l’avez pas déjà vous pouvez la récupérer à cette adresse :
https://developers.google.com/maps/documentation/javascript/tutorial?hl=FR#api_key
"2 - Enter file of coordinate AND solution file :
Puis de deux fichiers, 1 avec les coordonnées GPS des clients et une solution réduite correspondants à la même instance
ATTENTION : le même nœud peut être utilisé plusieurs fois, donc certains points se superposent parfois.
LEGENDE :
La ville en bleu est le dépôt;
les villes en verts sont les sommets d’origine des clients ;
les villes en rouges sont les sommets de destination des clients.
Licence
All the C#, C++ and Java programs are under the GNU General Public License
Warning : Please note these programs are provided for free without any guarantees.
Annexe : position GPS des villes de France
Dans l’archive suivantes vous trouverez les coordonnées GPS pour une grande partie des communes de France, certaines n’ayant pas été utilisées pour la création des instances.
GPS_cities
Attention ces données ne sont pas fiables à 100%, certaines coordonnées ne correspondent pas aux villes associées (la cause est due aux accents et aux homonymes qui ont perturbé la recherche effectuée sur API Google MAP).