1En géographie, comme dans les sciences sociales en général, il est difficile d'expérimenter l'objet d'étude, car des personnes morales sont nécessairement impliquées. Au sein de la thématique des transports, il est souvent compliqué de mettre en place des expérimentations en grandeur nature. En effet, pour tester un nouveau service de transport, il est nécessaire de disposer d'un territoire d’accueil adapté, et de déployer de nombreux moyens financiers et humains. D'où le recours aux simulations qui permettent, dans un premier temps, d'analyser virtuellement le fonctionnement d'un service, c'est-à-dire de tester l'adéquation entre l'offre et la demande de mobilité, et d'analyser l'influence du service sur le territoire simulé. Travaillant depuis deux ans sur les Transports À la Demande (TAD), nous proposons d'aborder ici la question de la simulation appliquée au transport flexible.
2Un transport flexible est un service de transport public ou privé, dont les horaires et les itinéraires peuvent varier (Castex, 2007). La variabilité s'opère sur différentes granularités temporelles : sur des mois, avec un service déployé pour répondre à un besoin précis et délimité dans le temps ; à la minute près comme, par exemple, les taxis qui définissent leurs tournées en fonction des réservations. Un service de transport flexible doit pouvoir s'adapter à une demande de mobilité plus ou moins organisée, à une configuration spatiale, et en fonction de moyens technologiques et financiers des clients et du gestionnaire. Il est possible de différencier plusieurs types de transports flexibles. Les TAD, par exemple, malgré leur capacité de s'adapter à une demande variable, sont organisés par une entité de haut niveau (la centrale de réservation) qui va optimiser la desserte en fonction d'un ou plusieurs critères. Dans cet article, nous nous intéressons à un type de transport flexible auto-organisé tel que les taxis-brousse. La desserte globale résulte et émerge du comportement individuel et du fonctionnement combiné de chaque taxi.
3Comme nous l'avons montré dans un précédent travail (Lammoglia et al., 2009), il est possible d'optimiser un service de transport théorique, en programmant des comportements d'agents relativement simples. Le présent article propose de s'interroger sur les apports et les limites de la modélisation multi-agent pour l'étude et la recherche en service de transport flexible. L'objectif est de présenter de manière synthétique le modèle développé ; de proposer différentes méthodes pour analyser les simulations ; et finalement de discuter de la pertinence d'une telle approche, tout en précisant ses champs d'application.
4Nous plaçons nos recherches dans le paradigme multi-agent (Amblard et Phan, 2006). De nombreux travaux montrent que la simulation à base d'agents se prête bien à l'étude des systèmes de mobilité, à l'image de ACCESSIM (Delage et al., 2008), qui est un outil permettant de simuler l’accessibilité d'individus à différents services. Contrairement à certaines approches prospectives qui cherchent à simuler des systèmes de mobilité le plus précisément possible (Casanova et al,. 2005), nous utilisons les Systèmes Multi-Agent (Ferber et Perrot, 1995) pour tester des hypothèses, comprendre et expliquer le fonctionnement des systèmes de mobilité simulés. Nous nous intéressons davantage au fonctionnement des services de transport plutôt qu'à la mobilité des personnes comme le font de nombreux travaux (Ma, 2007).
5Le paradigme multi-agent est directement lié aux théories de la complexité. "La notion de complexité implique celle d'imprévisible possible, d'émergence plausible du nouveau et du sens au sein du phénomène que l'on tient pour complexe" (Le Moigne, 1990). La complexité apparaît lorsqu'un grand nombre d'entités fonctionnent en inter-relation. Nous pouvons considérer trois grands types de relation :
-
les interactions internes, c'est-à-dire entre les différentes entités du système ;
-
les interactions entre les composantes d'un système et ses conditions initiales. Ses conditions peuvent être formalisées sous forme d'état, de quantité de ressources, etc. ;
-
les interactions entre un système et son environnement. Dans l'environnement peuvent être inclus d'autres systèmes en interaction.
6Un système complexe est donc « un ensemble d'éléments en interaction, une totalité organisée, plus ou moins ouverte sur l'environnement » (Dauphiné, 2003). L'approche individu centré est particulièrement intéressante pour étudier des systèmes complexes, puisqu'elle permet de simuler simplement les différents types d'interaction et d'analyser de manière intuitive le fonctionnement global du système. Dans notre approche, les SMA ne sont pas utilisés pour étudier les phénomènes de manière exhaustive. L'enjeu est plutôt de cibler, en fonction de nos objectifs de recherche (optimisation du service, structuration spatiale d'une desserte, etc.), les éléments et les phénomènes les plus représentatifs de l'objet d'étude. Ceux-ci doivent être simples et facilement maîtrisables pour éviter l'effet de boîte noire, c'est-à-dire une impression de flou entre les paramètres initiaux et les résultats obtenus. Nous ne cherchons pas à représenter le réel de manière exacte, mais plutôt à modéliser différents phénomènes, en vue de les comprendre et de les expliquer.
7Nous présentons ici les deux outils-clés de notre approche. Il existe une grande variété de logiciels que ce soit pour la représentation UML ou la modélisation en SMA. Nous avons choisi respectivement Visual Paradigm (Community Edition) et Netlogo pour leur accessibilité (logiciel libre), leur simplicité d'utilisation, et leur efficacité.
8En premier lieu, nous utilisons le langage Unified Modeling Language (UML) pour formaliser les systèmes. UML est un langage de modélisation orienté-objet. Il propose une notation standard pour la modélisation des applications construites à base d'objets. Le langage est fondé sur une syntaxe, une sémantique et une notation graphique simples, précises et universelles, qui ont pour but de faciliter l'expression et la communication d'un modèle. Il puise sa force dans sa capacité à "modéliser de manière claire et précise la structure et le comportement d'un système indépendamment de toute méthode ou de tout langage de programmation" (Muller et Gaertner, 2000).
9À partir des diagrammes UML, nous transcrivons les différents algorithmes en systèmes multi-agent. Le principe des SMA est d'étudier, à un niveau global, le fonctionnement d'un (ou plusieurs) sous-système(s) connu(s) à un niveau local (Daudé, 2008). Le logiciel permet de programmer des entités autonomes appelées les agents (les clients, les taxis, etc.) et de définir l'environnement dans lequel évoluent ces agents (réseau, stations, etc.) (Ferber, 1995). Au cours de la simulation, il est ensuite possible d'observer leur fonctionnement, selon leur capacité, leur comportement individuel, la structure spatiale de l'environnement. Pour notre cas, il s'agit d'analyser comment les deux sous-systèmes, à savoir le service de transport et la demande de mobilité, s'organisent ou plutôt s'auto-organisent., et donc de comprendre comment se met en place une desserte, en fonction des conditions initiales proposées.
- 1 Le modèle présenté ici est une évolution d'un premier modèle réalisé en collaboration avec Lemoy R. (...)
10Il est relativement difficile de présenter un modèle à base d'agents de manière synthétique, tout en gardant un minimum de détails, indispensables à la compréhension du modèle et de son objectif. Un enjeu relevé par Volker Grimm et des collaborateurs depuis 2005, a été de proposer une méthode standardisée de présentation et de communication de modèles à base d'agents. Le protocole est nommé ODD pour « Overview, Design concepts, and Details » (Grimm et al,. 2006 ; Grimm et al., 2010). Nous utilisons ce protocole dans l'article, car il permet de faciliter la présentation et la compréhension du travail de modélisation, indépendamment du logiciel utilisé, de la discipline et du thème de recherche abordé. Nous proposons, dans notre exemple, d'intégrer les diagrammes UML dans le protocole pour formaliser la structure du modèle et faciliter sa lecture.
11L'objectif du modèle est de tester et de comparer différents degrés d'optimisation pour un service de transport flexible théorique. Le service est constitué de trois taxis qui définissent leurs tournées dynamiquement en fonction de la demande. Le système de transport opère dans un environnement rural virtuel, et le nombre important d'agents et d'interactions rendent le système simulé complexe. Nous nous intéressons en particulier à l'organisation globale de la desserte par les taxis, en essayant d'évaluer l'adaptation du service à la demande de mobilité au cours du temps, et en fonction des différents degrés d'optimisation.
12Nous modélisons les déplacements de deux catégories d’agents mobiles : des villageois qui se déplacent à destination des marchés les plus attractifs grâce à des taxis (Figure 1). Le territoire virtuel de la simulation est constitué de stations qui permettent de prendre en charge des clients à destination de marchés. Les stations se situent aux intersections des routes comme points de rencontre entre les taxis et les villageois. A l'initialisation, le programme créée dans un premier temps les stations puis il les relie entre-elles en fonction d'une distance de connexion maximale. Les stations sont donc les sommets d’un graphe non planaire sur lequel se déplacent les véhicules, avec ou sans client(s). L'espace quant à lui est isotrope, mais non continu puisqu'il est borné par l'interface de simulation. Ce cadre représente le territoire de desserte du service de transport. Opérant sur un territoire purement théorique, l'échelle spatiale du modèle n'est pas précisée.
Figure 1 : Diagramme de classe UML
13Les villageois apparaissent aléatoirement sur le territoire au début de la journée et en même nombre (200 villageois). Une journée correspond à 500 itérations logicielles. Ce seuil a été défini de manière empirique. En effet, nous avons remarqué, pendant les séances de test, que bien souvent, la desserte évoluait relativement peu au delà de cette période. Les villageois choisissent leur marché de destination et si celui-ci est trop éloigné, ils se déplacent vers une station pour prendre un taxi qui les déposera au marché. Une fois arrivés à destination, les villageois disparaissent du modèle (Figure 2). Les taxis se déplacent en continu sur le réseau, ils prennent en charge des clients sur les stations et les déchargent aux marchés. Le potentiel d'attractivité des stations et des marchés est calculé dynamiquement en fonction du nombre de clients captés et de véhicules passés.
Figure 2 : Diagramme d'activité des agents
14Pour comparer les différentes procédures d'optimisation, nous avons défini trois scénarios :
-
Scénario 1. Minimisation de la distance par le taxi et par le client. Les agents vont se déplacer vers les stations les plus proches uniquement.
-
Scénario 2. Maximisation du potentiel d'attractivité des stations par le villageois et minimisation de la distance par le taxi. Le villageois va se déplacer vers la station maximisant le rapport (potentiel d'attractivité / distance).
-
Scénario 3. Maximisation du potentiel d'attractivité des stations par le villageois et le taxi.
15Émergence : À l’état initial, chaque station et marché a un potentiel d’attractivité plus ou moins proche. Au cours de la simulation, la structure se modifie. En fin de simulation, on observe une forte disparité en termes d'attractivité, avec très souvent un marché accompagné de quelques stations, qui polarisent tout le territoire. La forme de cette polarisation émerge à un niveau global, mais elle résulte du fonctionnement des agents et de leurs interactions au niveau local. Par ailleurs, une structure en termes de flux de taxis apparaît rapidement sur l'interface. Les axes du réseau grossissent en fonction des flux. Il nous est donc possible de repérer les principaux axes de desserte en fin de simulation.
16Perception : Les deux types d'agents sont capables de mesurer la distance qui les sépare des différentes stations. Ils sont aussi capables de percevoir l’attraction des marchés et la fréquentation des stations. En revanche, ils n'ont aucune perception de la forme du réseau et de la localisation des stations. Leur connaissance de l'environnement est donc finalement très limitée, mais elle suffit pour qu'ils puissent atteindre leurs objectifs.
17Interaction : Les taxis et les villageois peuvent échanger de l'information entre eux et avec leur environnement. Un villageois peut communiquer à un taxi son marché de destination. Lorsqu'il a déjà des clients et qu'il traverse une station, le taxi peut " appeler " des clients souhaitant se rendre au même marché que lui. Les stations sont marquées par la fréquentation des agents. En revanche, il n'y a pas d'interaction au sein des deux catégories d'agents (taxis et villageois), ce qui empêche toute forme de coopération inter-agent.
18La figure 3 est une capture d'écran à l'état initial. Nous pouvons y lire les paramètres de simulation dans les boites à gauche, ainsi que la configuration du territoire virtuel sur la fenêtre de simulation à droite. Les simulations ont toutes été réalisées à partir de la même structure spatiale, seule la position des agents, qui est aléatoire à l'initialisation, a varié. Les variables d'état des agents ont toutes été initialisées de la même manière et les paramètres de simulation sont restés fixes.
Figure 3 : Simulation à l'état initial
19Ce modèle ne possède pas de variables d'entrée qui interviennent dans la simulation. Tous les paramètres sont figés et les variables d'état sont modifiées au cours de la simulation. Elles dépendent uniquement du fonctionnement interne du modèle.
20Dans cette partie, nous détaillons les procédures qui nous semblent les plus importantes pour le fonctionnement du modèle. Elles concernent les choix de déplacement des deux agents. Bien entendu les algorithmes sont identiques pour chaque agent des deux catégories (taxis et villageois).
21La première procédure définit comment les taxis choisissent les stations à desservir. C'est ici que nous avons testé les trois algorithmes d'optimisation. Le tableau ci-dessous présente la procédure choix-noeud pour le scénario 3 (optimisé en fonction du potentiel d'attractivité des stations et de la distance). Nous présentons à gauche le code brut (tel qu'il est écrit dans Netlogo), et une traduction à droite.
- 2 On parle ici de la distance euclidienne qui sépare l'agent de la station
Code
|
Traduction
|
to choix-noeud ; ifelse destination-marche-taxis = 0 [ let na noeud-actuel set noeud-actuel noeud-suivant let ne min-one-of [link-neighbors with [marche ? = 0]] of noeud-actuel [potentiel-brut] set noeud-suivant max-one-of [link-neighbors with [marche ? = 0]] of noeud-actuel [ potentiel-brut / (distance myself) ] if noeud-suivant = na or noeud-suivant = ne [set noeud-suivant one-of [link-neighbors] of noeud-actuel] let ns noeud-suivant ask noeud-actuel [ ask link-with ns [ set traffic-brut (traffic-brut + 1) ]] set etat 1 ] [ let dest destination-marche-taxis set noeud-actuel noeud-suivant set noeud-suivant min-one-of [link-neighbors] of noeud-actuel [distance dest] let ns noeud-suivant ask noeud-actuel [ ask link-with ns [ set traffic-brut (traffic-brut + 1) ]] ifelse (capacite-max-taxis > nb-clients-embarques) [set etat 1] [set etat 4] ] set nb-noeuds-passes (nb-noeuds-passes + 1) end
|
Cette procédure permet de choisir le prochain nœud sur lequel va passer le taxi.
DEBUT Si le taxi n'a pas de marché de destination : [ il choisit la station qui maximise le rapport : (potentiel d'attractivité / distance2). Si Cette station est la station précédente, alors il en choisit une autre au hasard qui n'est pas la station la moins attractive. ] Sinon [ il choisit la station qui est la plus proche du marché de destination. ] les compteurs sont mis à jour (nombre de stations traversées, nombre de passages sur l'axe) FIN
|
22La procédure suivante explique comment les villageois choisissent leur marché de destination, et la station sur laquelle ils vont attendre un taxi. Cet algorithme a été utilisé dans le scénario 2 et 3. Pour le scénario 1 seule la distance est déterminante dans le choix de déplacement des agents.
Code
|
Traduction
|
to choix-villageois-stations-marches ; ask villageois [ if destination-marche = 0 [ set destination-marche max-one-of stations with [ marche ? = 1 ] [ potentiel-brut / (distance myself) ] set destination-noeud max-one-of stations with [distance myself < distance-marcher-max and marche ? = 0] [ potentiel-brut / (distance myself) ] if distance destination-noeud > distance destination-marche [ set destination-noeud destination-marche ] ] ] end
|
Cette procédure permet de choisir le marché de destination des taxis et la station sur laquelle ils vont attendre leur taxi.
DEBUT Choisir le marché maximisant le rapport : (potentiel d'attractivité / la distance1) Choisir la station maximisant le rapport : (potentiel d'attractivité / la distance) Si la station est plus éloignée que le marché, le villageois se déplace directement au marché de destination. FIN
|
23Pour analyser le modèle, nous posons deux hypothèses préalables. La première est que l'évolution de l’attractivité des stations et des marchés devrait être fortement influencée par leur position topologique sur le réseau. Une deuxième hypothèse est que l'optimisation combinée entre les taxis et les villageois (scénario 3) devrait faciliter et améliorer la desserte du territoire. Pour vérifier ces hypothèses, nous combinons différentes méthodes d'analyse. Dans un premier temps, nous expliquons l'information dégagée du suivi statistique des variables et des indicateurs. Nous nous focalisons ensuite sur l'évolution "spatio-temporelle" des flux de taxis. Nous proposons enfin une modélisation graphique de l'état final de la simulation pour expliquer comment les formes spatiales se sont structurées au cours de la simulation.
24Ayant déjà présenté des résultats de l'analyse statistique exploratoire dans un précédent article (Lammoglia et al., 2009), nous résumons ici les points essentiels concernant le fonctionnement du service de transport. Globalement, il est apparu, en comparant les trois scénarios, que le scénario 3 faisait émerger des formes sensiblement différentes des deux autres scénarios. Nous avons pu observer de grands mouvements grégaires et les taxis semblaient faire moins de tournées à vide. Pourtant, les différences, d'un point de vue statistique, sont restées assez faibles. On constate qu'au cours des trois scénarios, un grand nombre de stations n'ont pas été desservies, bloquant ainsi beaucoup de villageois dans les stations. L'efficacité des taxis (rapport entre le nombre de stations traversées avec prise en charge de clients, et le nombre total de stations traversées) ne s'est que très faiblement améliorée dans le troisième scénario. On a pu constater néanmoins que le scénario 3 avait permis de transporter plus de villageois au marché que dans les deux autres scénarios. L'analyse statistique permet donc de conforter notre deuxième hypothèse en précisant toutefois que les différences entre les trois scénarios sont moins marquées que ce que nous aurions pu penser.
25Lors d’une deuxième série de simulation, nous avons choisi d'utiliser des calculs de dimension fractale pour analyser quantitativement l'évolution des flux de taxis au cours de la simulation. Pour ce faire, nous avons modifié le modèle d'origine de manière à ce que toutes les entités soient cachées sur le modèle, et que seules les routes utilisées par les taxis apparaissent avec une épaisseur proportionnelle à leur fréquentation. Ce procédé nous a permis de nous concentrer sur les flux uniquement. Par un export d'images répété toutes les 20 itérations, nous avons pu calculer l'évolution de la dimension fractale du réseau (Figure 4). Pour plus de détails sur la méthode de calcul, nous renvoyons à un article présenté au colloque Géopoint 2010 (Lammoglia, à paraître). Comme on le constate sur la figure 5, les premiers trajets se concentrent autour des marchés. Les traits sont alors épais et peu nombreux. Au cours de la simulation, on remarque que les taxis explorent petit à petit la quasi-totalité du réseau, et pourtant, la hiérarchie des routes les plus fréquentées reste semblable (Fig. 6). La courbe d’évolution de la dimension fractale (Figure 4) confirme cette idée puisqu'on constate que sa croissance s'amortit très rapidement. Ceci indique que la structure est quasi-stable et que les taxis répètent les trajets les plus avantageux. La courbe témoigne aussi de légères variations et fluctuations comme celle observable à 4000 ticks. Il est difficile d'interpréter avec certitude ces variations. Nous pensons que le hasard joue un rôle non négligeable à ce niveau. La desserte se concentre plus ou moins sur les mêmes axes au cours de la simulation et cette chute à 4000 ticks peut représenter un moment de la simulation où les taxis ont emprunté occasionnellement un ou plusieurs axes de manière plus importante.
Figure 4 : Évolution de la dimension fractale
Figure 5 : Forme de la desserte à 220 itérations
Figure 6 : Forme de la desserte à 8 600 itérations
26La figure 7 est une modélisation graphique (Brunet, 1987) de la structure du territoire simulé avec le troisième scénario. Les rectangles représentent deux catégories de sous-réseaux : les réseaux en forme d'étoile, facilitant la desserte (gris foncé), et les réseaux avec une forme contraignante (gris clair). Les cercles concentriques sont proportionnels à l'attractivité des marchés. On observe que le marché situé au centre du territoire, et sur des réseaux en étoile, polarise très fortement l'espace. Les deux traits violets montrent une rupture dans la desserte, avec un certain nombre de stations situées aux extrémités, qui ont été très peu desservies. Les cercles noirs représentent les stations. On observe que celles situées autour du marché central ont été très fréquentées par les villageois, servant ainsi de points de relais. Les flèches reliant ces stations indiquent les trajectoires les plus récurrentes des taxis.
Figure 7 : Structure du territoire à la fin de la simulation
27Cette modélisation montre que, lors de nos simulations, les conditions initiales, et notamment la structure spatiale de l'environnement, ont fortement influencé le fonctionnement du modèle. En effet, la polarisation de l'espace par les stations et les marchés semble avoir été déterminée, en partie, par leur position sur le réseau. Comme il a déjà été montré dans différents travaux (Genre-Grandpierre, 2002 ; Penn et al., 1998), ce sont les stations centrales, en termes de topologie, qui captent le plus de flux et dans notre cas, elles deviennent les stations les plus rentables.
28La simulation de systèmes de transport avec l'approche individu centrée nous permet de nous concentrer sur l'observation et la compréhension des phénomènes grâce à un saut d'échelle, c'est-à-dire par l'observation d'une morphologie créée à partir de processus connus à un niveau inférieur. Le passage entre les deux échelles, qui est considéré comme complexe, n'est pas nécessairement connu. Comme nous l'avons vu, les méthodes d'analyse nous ont permis de vérifier ou de nuancer les hypothèses posées lors de la modélisation. Chose pas toujours facile à réaliser avec des expérimentations en grandeur nature. Nous pensons que les SMA doivent être utilisés pour comprendre et expliquer des phénomènes, plus que pour les décrire de manière exacte. D'autres approches et d'autres outils en géographie apparaissent plus appropriés pour décrire précisément les phénomènes et les objets (les SIG par exemple). Les simulations se produisent systématiquement dans un environnement théorique, et la transcription des résultats dans le monde réel n'est pas toujours évidente. En revanche, des phénomènes observés dans le monde réel peuvent être analysés et expliqués avec beaucoup plus de facilité.
29Deux questions essentielles se posent concernant le paradigme multi-agent. La première concerne la validité du modèle, puisque dès le départ nous nous plaçons dans un cadre théorique, et nous nous détachons volontairement de la réalité. Le principe de parcimonie consiste à cibler les processus, et à ne considérer que ceux qui sont jugés essentiels pour le phénomène étudié. Il y a donc obligatoirement un écart entre le phénomène observé sur la simulation et celui qui est observé dans la réalité. Les écarts peuvent être plus ou moins grands selon les modèles. Comment savoir si un modèle est valide ou non ? Comment justifier tels ou tels écarts ? La deuxième limite concerne les apports des simulations. Nous avons vu que celles-ci permettaient de comprendre des processus, mais qu'elles n'étaient pas directement applicables dans un cadre opérationnel à cause de ces écarts. Quelle peut être la portée des analyses ? Comment justifier leur utilisation dans un contexte plus opérationnel ? Nous pensons que l'approche doit être utilisée pour la compréhension et l'explication des phénomènes, et que la dissociation entre le cadre théorique et le cas concret doit toujours être précisée. En revanche, il est possible et souhaitable de combiner la modélisation multi-agent, telle que nous la pratiquons, avec d'autres approches, peut-être plus descriptives et moins théoriques. Par exemple, le simulateur MatSim permet de simuler très précisément des systèmes de mobilités réels, qui plus est, à grande échelle (Balmer et al,. 2008 ; Meister et al,. 2010). Ainsi, par une combinaison et une complémentarité des méthodes ne serait-il pas possible d'aborder des problématiques, telles que le fonctionnement des systèmes de transport, à la fois dans un cadre théorique et avec une portée opérationnelle ?
30Un travail en cours consiste à comparer le modèle présenté ci-dessus, avec un modèle de service de transport flexible fonctionnant selon un principe de coopération. La question est de savoir si des taxis capables de communiquer entre eux pour organiser la desserte peuvent être plus efficaces que des véhicules opérant de manière indépendante et en concurrence. De nombreuses formes de coopération peuvent être observées dans les pays en voie de développement, notamment pour les services de transport artisanaux, et ce, malgré une concurrence parfois très rude. Il nous semble donc intéressant d'essayer de modéliser et d'évaluer l'efficacité de ces modes de fonctionnement. Notre objectif à terme est de disposer de plusieurs modèles de référence, opérant avec des principes d'optimisation différents, pour ensuite pouvoir les comparer aux services de transport observés (France-Sénégal).