Modèles

La première phase de notre travail, dans le cadre du projet MOSAIIC, a été de concevoir et de développer des structures spatiales, basées sur une structuration en couches d’information géographique de type SIG. Notre réseau routier est structuré en deux couches : La couche des tronçons de voies et la couche des intersections. La couche des tronçons est de type linéaire et celle des intersections est de type nodal.

Ces deux couches sont interdépendantes car elles partagent la même géométrie et le même graphe topologique. La couche des tronçons est associée à une table attributaire décrivant les données de chaque tronçon (nombre de voies dans chaque sens, largeurs, type, etc.). Un tronçon est alors un super-arc, composé éventuellement de plusieurs lignes polygonales. De même, la couche des intersections (qui sont des super-nœuds) contient aussi une table descriptive qui décrit chaque intersection.

Du graphe structurel on construit un deuxième graphe dit de transport. Le graphe structurel décrit la matière du réseau routier, sa forme, ses connexions. Le graphe de transport en est une abstraction centrée sur les notions nécessaires à la circulation automobile sur celui-ci. Il prend ainsi en compte les sens de circulation, le nombre de voies, les vitesses maximales ou moyennes etc. Il s’abstrait par ailleurs de la géométrie exacte des arcs structurels, dont les caractéristiques pertinentes (longueur, nombre de voies etc.) sont reprises dans des valeurs associées à l’arc de transport. Un arc relie deux nœuds si et seulement si il existe une route reliant ces deux intersections, qu’on peut circuler du nœud initial vers le nœud final, et que la route ne rencontre aucune intersection entre ces deux points. On peut voir sur la Figure 1 le graphe de transport associé au réseau routier de la ville de Rouen (données IGN).

Sur ce réseau de transport se déplacent des automobilistes. Un mobile a une destination, peu importe ici sa nature, qu’il essaie d’atteindre. Pour ce faire il essaiera de suivre un chemin qui a de bonnes chances de diminuer son temps de parcours. Ainsi il va prendre en compte pour chaque arc sa longueur, la vitesse à laquelle on peut se déplacer (en respectant les limitations de vitesse), le nombre de voies (il privilégiera plutôt les routes importantes à plusieurs voies aux petites rues). Techniquement ces différentes caractéristiques sont combinées en une valeur numérique associée à l’arc appelée son poids. Chercher un chemin vers sa destination consistera alors à chercher un chemin dont la somme des poids des arcs qui le constituent est minimale.

Un algorithme bien connu pour atteindre ce résultat est celui de Dijkstra, optimisé par un tas. Pour que la simulation puisse atteindre un volume réaliste, il faut qu’elle puisse gérer simultanément plusieurs dizaines de milliers de véhicules. Il n’est donc au mieux pas confortable que le gros du calcul des plus « courts » chemins (i.e. des plus légers) ait lieu durant la simulation. C’est pourquoi à l’initialisation est calculé pour chaque nœud l’arbre de recouvrement de poids minimal du graphe, dont il est la racine. Une version compacte de cet arbre (chaque nœud ou feuille de l’arbre ne connaît que l’arête qui mène à son parent) est stockée ensuite dans le nœud. Quand un mobile désire calculer une trajectoire vers sa destination, il consulte le nœud terminal de l’arc sur lequel il se trouve pour déduire de l’arbre un chemin satisfaisant.

Afin de générer des flux qui soient en concordance avec notre connaissance du terrain et les motifs de déplacement des populations, nous avons construit des scénarios. Certes très largement des faits stylisés, ils reposent sur une hypothèse forte de structure urbaine pour laquelle une majorité des résidences et des lieux de travail se situent en périphérie alors qu’une part importante des activités commerciales se situe plutôt au centre. Un agent mobile a un lieu de départ et un lieu de destination. Ceux-ci sont tirés aléatoirement, en modélisant la forme de l’agglomération par l’ellipse qui la contient. L’aléatoire retenu peut être soit uniforme, soit privilégier l’extérieur de l’agglomération, soit privilégier son intérieur. Ainsi, si on imagine l’agglomération divisée en quatre ellipses concentriques régulièrement espacée du centre au bord, un point choisi au hasard suivant la loi « intérieure » aura une chance sur deux d’être dans le quart de l’agglomération le plus au centre. Inversement, suivant la loi « extérieure », il aura une chance sur deux d’être sur l’anneau le plus extérieur, dans le dernier quart. On a donc 3 manières de choisir une origine, 3 de choisir une destination, ce qui nous fait 9 combinaisons ou scénarios de flux possibles.

Une fois dans le réseau, l’agent mobile suit un trajet qui est une succession de tronçons et de nœuds. Un ensemble de compétences est à la disposition de l’agent-automobiliste – accélérer, freiner, changer de voie -, compétences qu’ils utilisent en fonction des caractéristiques du tronçon sur lequel ils se situent. Lorsqu’un agent n’a plus de trajectoire, c’est-à-dire que l’un des tronçons prévu n’est plus accessible, il peut mettre en œuvre d’autres compétences lui permettant de modifier son itinéraire. Nous avons pensé ce module comportemental dans la philosophie Croyances-Désirs-Intentions. Ce module permet de mettre en relation des variables d’état de l’agent – tel que son niveau de stress – avec la base de connaissance de l’agent pour décider d’un comportement à adopter. Ainsi si l’agent est à un haut niveau de stress (temps d’attente jugé trop long ou source de la crise proche) et que sa trajectoire n’est pas possible, il pourra employer dans la base de compétence disponible un comportement « alternatif », par exemple fuir le lieu de l’accident.

Pour en savoir plus, rendez-vous sur la page des publications. En attendant, voici quelques vidéos et images des dernières évolutions de MOSAIIC.

MosaiicV1

Initialement développé en Pascal-Objet sous Delphi, nous redéveloppons le modèle en Java sous GAMA.

MOSAIIC

Enregistrer

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *