Concevoir un site comme celui-ci avec WordPress.com
Commencer

Prototypes :

Nous disposons de 3 prototypes : 

L’un est un programme qui, Ă  partir d’un point de dĂ©part et d’une liste de points Ă  parcourir, renvoie le chemin le plus court pour parcourir l’ensemble des points. 

Ce programme utilise les algorithmes de google OR-Tools, une suite logicielle Open Source pour l’optimisation, conçue pour rĂ©soudre les problèmes les plus complexes au monde concernant l’acheminement des vĂ©hicules, les flux, la programmation entière et linĂ©aire, et la contrainte. (projet :  FlexRouting)

Le second programme (RoadConstraint) reçoit les rĂ©sultats du premier et les transforme en une suite de segment que l’on peut coller sur une carte : 

Pour cela, dans un premier temps, il transforme la carte de la ville de Caen en un graphe non orientĂ© et non connexe : 

Dans un second temps, il faut, pour chaque point (qui se présente sous la forme de coordonnées longitude :49.209625501599824, latitude :-0.3647620691874721), chercher le nœud du graphe qui lui correspond. Pour terminer, il suffit d’effectuer un calcul du plus court chemin avec l’algorithme Dijkstra. Le programme est également utilisé pour simuler des trajets effectués par des habitants entre leur domicile et le supermarché. (Projet RoadConstraint) 

Enfin, le dernier prototype se prĂ©sente sous la forme d’une application web qui interprète les segments obtenus en simulant les trajets avec une interface graphique. Deux simulations se succèdent, l’une reprĂ©sentant le trajet des citoyens de leur domicile au supermarchĂ©, et l’autre la livraison des courses par un camion dans les diffĂ©rents quartiers. Pour quantifier les rĂ©sultats et clarifier les Ă©lĂ©ments de sortie, nous avons dĂ©cidĂ© de reprĂ©senter les valeurs les plus importantes sous forme de graphes. Notamment, la distance kilomĂ©trique et la consommation en CO2 pour chacune des deux simulations afin de les mettre en comparaison. De plus, nous avons un troisième graphe faisant la diffĂ©rence de CO2 Ă©mis entre les deux simulations. 

Dans la page principale, nous avons la carte de Caen qui a Ă©tĂ© affichĂ©e avec l’API MapLibre. Caen a 19 quartiers, chaque quartier est reprĂ©sentĂ© dans la carte avec un symbole de maison, en plus il y a un supermarchĂ© et un entrepĂ´t. En haut Ă  droite, l’utilisateur peut dĂ©marrer la simulation en dĂ©finissant la population. 

DĂ©tails de la simulation :

  • Les distributions de probabilitĂ© utilisĂ©es dans la simulation sont basĂ©es sur des donnĂ©es du monde rĂ©el et sont implĂ©mentĂ©es Ă  l’aide de fonctions de distribution de probabilitĂ© appropriĂ©es en JavaScript. Ces distributions sont utilisĂ©es pour dĂ©terminer la probabilitĂ© que certains Ă©vĂ©nements se produisent dans la simulation, ce qui a permis de modĂ©liser des scĂ©narios du monde rĂ©el. 
  • Dans notre simulation, nous avons utilisĂ© le format JSON pour stocker et utiliser les donnĂ©es recueillies. Le format JSON est un format d’Ă©change de donnĂ©es lĂ©ger qui est facile Ă  lire et Ă  Ă©crire pour les humains et facile Ă  analyser et Ă  gĂ©nĂ©rer pour les machines. Cela nous a permis d’intĂ©grer facilement les donnĂ©es dans notre simulation basĂ©e sur JavaScript. Les donnĂ©es utilisĂ©es dans la simulation incluent des informations sur les trajets que les vĂ©hicules suivront, ainsi que la densitĂ© de population dans diffĂ©rents quartiers de la ville simulĂ©e. Ces donnĂ©es Ă©taient essentielles pour fournir une reprĂ©sentation rĂ©aliste et prĂ©cise de la ville dans la simulation. Les informations sur les chemins ont permis Ă  la simulation de modĂ©liser le mouvement des vĂ©hicules Ă  travers la ville, tandis que les donnĂ©es sur la densitĂ© de population nous ont permis d’Ă©chantillonner des individus alĂ©atoires de diffĂ©rents quartiers. 
  • Dans notre simulation, nous avons utilisĂ© une technique appelĂ©e interpolation pour diviser le chemin en segments de longueur Ă©gale. Cela nous a permis de modĂ©liser plus prĂ©cisĂ©ment le mouvement le long du chemin et d’effectuer des calculs ou des simulations sur des sections spĂ©cifiques du chemin. 

Illustration avec un exemple :

Voici un exemple de démarrage de la première simulation avec 1000 habitants :

Chaque cercle rouge reprĂ©sente un citoyen en voiture, les citoyens partent de leur domicile et font leur trajet au marchĂ©. En dessous de la carte nous affichons le graphe d’évolution de consommation. Ă€ la fin de la première simulation, le site dĂ©marre la deuxième simulation, reprĂ©sentant le camion qui part depuis l’entrepĂ´t et parcours les domiciles des clients. 

Voici un exemple de démarrage de la deuxième simulation avec une population de 1000 habitants :

Le cercle vert de la deuxième simulation reprĂ©sente les camions de livraison. 

Notamment, la distance kilomĂ©trique et la consommation en CO2 pour chacune des deux simulations afin de les mettre en comparaison. De plus, nous avons un troisième graphe reprĂ©sentant la diffĂ©rence de CO2 Ă©mis entre les deux simulations.  

Nous avons utilisĂ© plusieurs logiques visant Ă  produire les rĂ©sultats les plus rĂ©alistes possibles. Notamment le data sampling en se basant sur des donnĂ©es rĂ©elles rĂ©cupĂ©rĂ©es pour la ville de Caen, les distributions probabilistes pour les valeurs de consommation de carburant et de vitesse, l’interpolation de points afin d’effectuer des sauts de taille Ă©gale entre chaque itĂ©ration, et enfin un lien croissant entre le nombre de camions et la taille de la population. 

Voici le graphe d’évolution de consommation de CO2 et kilomètres sans et avec le panier collectif à gauche et la quantité de CO2 non émis à droite :

Gitlabs:

Projet FlexRouting:

https://gitlab.com/Pignon/flexrouting

Projet RoadConstraint:

https://gitlab.com/Pignon/roadconstraint

Projet site de démo:

https://gitlab.com/Pignon/panniercollectif-prototype

Projet MapLibre :

https://github.com/maplibre/maplibre-gl-js

Sources

Habitants par quartier:

https://actu.fr/normandie/caen_14118/la-question-pas-si-bete-quels-sont-les-quartiers-les-plus-peuples-de-caen_49122698.html