Skip to main content
PLOS One logoLink to PLOS One
. 2023 Mar 6;18(3):e0281658. doi: 10.1371/journal.pone.0281658

Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platform

Arnaud Saval 1,#, Duc Pham Minh 2,3,#, Kevin Chapuis 6,#, Pierrick Tranouez 1,*, Clément Caron 4, Éric Daudé 4, Patrick Taillandier 2,3,5,#
Editor: Nan Zheng7
PMCID: PMC9987808  PMID: 36877691

Abstract

Continuous improvement in computing power allowed for an increase of the scales micro-traffic models can be used at. Among them, agent-based frameworks are now appropriate for studying ordinary traffic conditions at city-scale, but remain difficult to adapt, especially for non-computer scientists, to more specific application contexts (e.g., car accidents, evacuation following a natural disaster), that require integrating particular behaviors for the agents. In this paper, we present a built-in model integrated into the GAMA open-source modeling and simulation platform, allowing the modeler to easily define traffic simulations with a detailed representation of the driver’s operational behaviors. In particular, it allows modelling road infrastructures and traffic signals, change of lanes by driver agents and less normative traffic mixing car and motorbike as in some South East Asian countries. Moreover, the model allows to carry out city-level simulations with tens of thousands of driver agents. An experiment carried out shows that the model can accurately reproduce the traffic in Hanoi, Vietnam.

1 Introduction

Modeling traffic is about as old as car traffic itself [1]: the first ideas date back to the 1920s (like Frank Knight traffic equilibrium) and the first models to the 1950s [2]. Based on the best methodology available at the time, they mirrored the practice of physics and in particular, fluid mechanics. The reasoning was the same: although it was known that traffic was composed of cars, like gases were composed of molecules, with their own set of defining characteristics, it was more productive to consider the resulting aggregations like mean speed, flow or density. Principles of conservation of mass and energy could then lead to the proof of algebraic and differential equations describing the links between these variables. These models would later be known as macroscopic.

These analytical models focused on the study of traffic phases (in terms of thermodynamics): at first two (free flow and congested), then three phases (free flow, wide jam and synchronized) [3]. Keeping these equations solvable or step-based and approximable requires the features modeled to be kept sparse: the geometry of the road is generally ignored, it is often a single road composed of a single lane, with equations that model the collective evolution of vehicle described by average speed, average behavior, average characteristics. These macroscopic models reproduce the shock waves corresponding to vehicle braking and acceleration with the decrease in the density of vehicles usually observed in the traffic. These models are also able to reproduce the phenomenon of congestion. However, by their nature, they do not allow to study the individual behavior of vehicles and neglect the diversity of drivers in the flow. These models therefore do not allow the study of individual or collective road traffic practices that do not follow either international conventions (never drive against the traffic flow) or national regulations (only one vehicle per lane).

In the 1970s, some diversity was provided to the vehicles/particles in models often inspired by gas kinetics [4]. These models were often stochastic: a velocity statistical distribution is generally computed, but the individuality of each vehicle is not really modeled. These mesoscopic models are not individual-based, as set out by [5] (e.g. [6]).

To make the drivers and vehicles more individualized, microscopic models were developed. These models process the diversity and heterogeneity of the vehicles and their environment in real terms. Although some are equational [7, 8], the development of computers and computer sciences led to more complex computer models that used cellular automata at first and then, agent-based systems to treat drivers and vehicles as individual units instead of a continuous flow or particles.

Agent-based models (ABM) enable to describe each driver as an autonomous agent, making decisions based on its own aptitudes and local environment. It’s then possible to model how each vehicle moves according to surrounding infrastructure and other vehicles, accelerates and slows down according to its environment, while maintaining a safe distance with other cars. Thus, the simulated traffic results from the following of rules and regulations by each driver, the organisation of road infrastructures and interaction of each agent with the other road users. These capabilities make this modeling approach particularly appropriate for studying, at a fine scale (spatial and temporal), the impacts of uncommon events (road closure, major accident) on the traffic. Indeed, in such a context, being able to simulate the traffic in a realistic way while taking into account the road infrastructure (crossings, traffic signals, etc.), the properties of the cars (length, maximum speed, etc.) and the personality of the drivers (tendency to respect the norms), is mandatory. Equational models inputs can be used for in-lane car-following model, as for example the Intelligent Driver Model [9] transformed to be used in an agent-based model traffic simulation [10].

Even if there are many frameworks nowadays dedicated to the development of agent-based traffic models, several models are still developed from scratch or by using a generic platform (e.g. [1012]). Indeed, if the existing frameworks allow to study many aspects of traffic (vehicle flow at city-scale, the movement of vehicles on a roundabout…) in “normal” conditions, they cannot be easily adapted by domain experts who are not necessarily computer experts to study specific problems, for example, integrating an emotional dimension in the behavior of agents in a crisis situation.

In this paper, we present a new built-in model integrated into the open-source GAMA modeling and simulation platform [13, 14] dedicated to the development of fine-scale traffic simulations. GAMA provides modelers who may or may not have computer-programming skills with tools to develop complex models. In particular, it offers a complete modeling language (GAML: GAma Modeling Language) and an integrated development environment that allows modelers to build models quickly and easily. The model developed allows GAMA users to easily define traffic simulation at a fine scale, with a detailed representation of the driver operational behaviors. We describe in this paper a recent addition to GAMA’s traffic module able to take into account mixed modes of non-normative traffic. Indeed, the traffic rules, or rather the way the drivers appropriate them, can be very different from one country to another: people do not drive the same way in France as in Vietnam where motorcycles are in the majority and the driving rules are much less followed. Our integrated model takes the form of a plugin delivered with the GAMA platform (version 1.8.2). This plugin allows modelers to attach to their agents new attributes and actions related to traffic simulation (concept of skill in GAMA). It also provides a set of simple models to illustrate the use of these new features. The biggest advantage of integrating this traffic model into GAMA rather than into a dedicated traffic framework such as SUMO is that it facilitates the enrichment and coupling of this model. Indeed, unlike other traffic simulation systems that require separate projects or external tools, this extension for GAMA allows advanced driving and agent behaviors to be defined with the same language. So, for example, while adding new elements such as vehicle-pedestrian interaction or emotional dimensions to agents is complicated in frameworks like SUMO, it can be done very simply with GAMA (which has already integrated many models). For the same reasons, the integration in GAMA allows to easily couple this traffic model to other models (urban dynamics, epidemiology, disaster management).

This paper is organized as follows: Section 1 presents the related works, in particular, the existing agent-based traffic simulators and frameworks. Section 2 is dedicated to the presentation of the integrated model developed. Section 3 present elements of the model’s validation through the application for the simulation of the traffic in Hanoi, Vietnam. Finally, Section 4 concludes and presents some perspectives.

In order to follow the open-science movement and make our results as replicable as possible, the code of the integrated model is provided with GAMA (version 1.8.2): it is thus open-source and easily downloadable from the GAMA Website. In addition, the GAML models used for the experiment are published on FigShare with their geographic data and we present all the necessary parameter values in this paper [15].

2 Related works

As stated before, we put emphasis on freely re-usable open-source framework to build agent based traffic model. Hence, we excluded from this brief state of the art, most of the well known commercial frameworks that populate the research landscape, like VISSIM, AnyLogic, Paramics or Aimsun to only mention a few. In this section, we rather focus on open source traffic simulation frameworks that have been developed and released in the last two decades [16]. We briefly review the most influential ones and urge readers to look at dedicated review papers to find out more comprehensive information, e.g [17]. We split the review of tools into two categories, agent-based framework purposefully dedicated to traffic modeling (Page 3) and generic agent-based modeling framework that are often used to tackle traffic modeling related issues (Page 5).

2.1 Agent-based framework dedicated to traffic modeling

MATSim [18] or Multi Agent Transport Simulation Toolkit is an open-source (GPL) Java application consisting of several modules that can be combined. MATSim follows an activity-based paradigm and proposes many advanced features dedicated to traffic simulations that can be enriched by users through the definition of new modules in JAVA. Among these features, those related to daily mobility and multimodality (automobiles, public transport, walking, cycling) enable the simulation of millions of synthetic agents. The allocation of new attributes (e.g. having a bicycle or not, preferences for and availability of public transport) required for agents to use additional features implies at least to modify the synthetic population generation process. While the platform has been used to model traffic under crisis context (e.g. [19]), it remains a mesoscopic simulation framework, and as such no extensions has been brought to systematically deal with non normative driver behavior and mixed interacting modes.

TRANSIMS [20] is also an activity-based travel model where agents make travel decisions according to an activity schedule. Four distinctive modules exist in TRANSIMS: Population Synthesizer, Activity Generator, Route Planner and Microsimulator. Activity generator use household survey data to work out scheduled dimensions of activity patterns of each individuals generated by population synthesizer. During simulation, a feedback mechanism between Router and Microsimulator brings the system into equilibrium, essentially by modifying the scheduling inside initial plans. While the framework has attracted a lot of interest in the early 2000s, it has now been dropped off and no new addition has been made since, with no feature included to model non normative traffic behavior and multi-modality.

SUMO [21], another popular open-source framework is a suite of applications to help modelers prepare and perform traffic simulations. Like MATSim, it proposes many advanced features dedicated to traffic simulations that can be enriched using C++ language. SUMO is used in particular to optimize the positioning of counting loops on the road network, or for the improvement of traffic light phasing in order to minimize traffic congestion. It provides tools to generate vehicles schedules and it must be integrated with third party application to support complex pedestrian behaviors.

SUMO was designed to simulate traditional European and American traffic. Nevertheless, [22] have proposed to adapt it to Chinese traffic: in order to take into account motorcycles, [22] have developed an extension allowing to divide the road lanes into sub-lanes—each vehicle occupying one or more sub-lanes. Yet, except for overtaking behavior, this extension does very little to take into account the non-normative driving behavior: for instance, vehicles cannot use wrong way roads or disrespect red traffic lights. Concerning this point, a dedicated extension was recently proposed to monitor and control non-normative traffic events in the context of traffic with autonomous cars [23]. However, this extension only concerns the computation of vehicle speed (and acceleration, braking) and not their behavior with respect to traffic rules in general (traffic lights, right/left priorities, etc.). Moreover, SUMO provides only limited interactions between agents in traffic situations (e.g., a pedestrian can only cross the street at a red light), which makes it very difficult to represent crisis and non-normative traffic contexts.

SimMobility [24] is a recent open-source framework written in C++ specifically targeting simulation of prospective mobility patterns in urban areas. It has been built upon 3 sub-models, ranging from short (lower than a second), middle (minutes to hours) to long-term (from days to years) dynamics, hence it is able to represent a variety of mobility choices, including micro (e.g. speed regulation, lane change) and macro-level traffic decisions (e.g. path finding, traffic jam avoidance) and higher order agent decisions on home place and workplace locations, choices of mobility modes and more. As it is the case for the previous platforms, SimMobility does not incorporate natively non normative driving behavior patterns (i.e. the micro-driving decision is based on the MITSIM engine [25]), whereas mixed traffic modeling remain extremely limited, with each mode mobility being modeled separately.

Other dedicated open-source frameworks have been proposed (e.g. AgentPolis—[26], Arena—[27], Polaris—[28]), but to the best of our knowledge, none of them offers a native integration of non normative mixed traffic. One of the main criticism comes from the use of such platform whose first intent is to model regular urban traffic context. By design, they might not be suitable studying extra-ordinary or emergent traffic situation [29]. In this regard, generic purpose agent-based modeling platform can easily bring such feature on top of regular traffic models. In the next sub-section we briefly outline strengths and weaknesses of generic purpose agent based modeling tools to represent non normative mixed traffic.

Generic agent-based framework used in traffic modeling

Although the traffic oriented frameworks are powerful and propose many advanced features (see Table 1 of [30] for a structured comparison of traffic simulators), they hardly deviate from their original purpose of regular western traffic modeling. Another main issue is the accessibility of such specialized tools: for modelers without high-level programming skills, adapting these platforms to specific application contexts is not possible, as they are required to write code in JAVA or C++. All those platforms put emphasis on particular aspects of transport system (e.g. traffic optimization, future mobilities) and rely on plugins and additions to their core model to explore related issues. In this regard, general purposes agent based modeling frameworks grant easy access to model building and make it possible to quickly adapt transportation model to related issue of concern, like mass evacuation [31] or pollution emission [32].

However, in the case of generic modeling and simulation platforms, only a few propose tools that can be used to develop traffic simulations. One of these, Repast Symphony [33] proposes interesting features with respect to GIS loading and graphs. Using this platform to develop complex models requires writing code in JAVA. For prototyping models, which do not need to integrate several layers of heterogeneous geographic information (networks, polygons, raster) and which can be simulated with a few thousand agents, the NetLogo software is a good compromise due to the wide choice of available libraries and the ease of the programming language [34].

The GAMA platform [14] also provides various features that can be used by modelers to develop traffic models. In particular, GAMA features GIS data loading (shape files, OSM data…), graphs defined from polyline geometries, shortest paths computation and agents movements on polyline networks. If these features are appropriate for the development of traffic simulations at a large time-scale (see for example the MIRO project [12] with a time scale of 10 minutes per step), they do not allow one to simulate driver behaviors at a fine scale: change of lanes, effect of traffic signals, etc.

To overcome these limitations, we developed an integrated traffic model in Java directly operational in a model developed in GAML. This model provides a set of classical concepts (road, intersection, driving agent) and actions (driving…), with an ability to model mixed traffic (car, motorcycle, bicycle…) and non-normative behaviors (in which traffic rules can be ignored). Another specificity is the possibility to implement feedback processes, such as activity rescheduling, due for example to a major disruption scenario. In this case, many agents will need to cancel their upcoming activities (target) and adopt a new agenda with partial awareness of the environmental context and of other agents decisions. We base this model on two classical sub-models: IDM (Intelligent Driver Model) for the computation of the vehicle speed [9] and MOBIL (Minimizing Overall Braking Induced by Lane change) for defining when changing lane [35].

3 The GAMA integrated traffic model

Structure of the road network

One important aim of the integrated model is to allow simulation at the scale of a city using ubiquitous data, i.e. available for most cities in the world, such as OpenStreetMap (OSM) data for example. Therefore we choose to use a classic format for the roads and intersections, as illustrated in Fig 1.

Fig 1. A road network composing of roads and intersections.

Fig 1

Each road is a unidirectional edge represented as a polyline composed of segments. Each road is linked at each of its two ends to an intersection. Two-way roads will be represented by two roads. In order to allow a vehicle on a bi-directional road to use the road in the opposite direction to overtake another vehicle, we integrate the notion of linked road. A linked road in relation to a road is a road in the opposite direction that a driver can use to overtake another vehicle.

We also integrate the notion of lanes: a vehicle will be able to change lanes and even use the lanes of the linked road (see Page 6). In traffic law, a lane is generally a sub-division of a road which can be used by only one vehicle in its width [22]. Vehicles can swith lanes depending on the road markings and the willingness of the agents to respect these. Our model can reproduce that if that is appropriate for the modeled city. There are other cities, like for example Vietnamese cities, where the width of the whole road is used by as many vehicles as can fit, from bicycle to trucks. Rather than going down a too-detailed geometric modelling, we model this kind of traffic by introducing the concept of sub-lanes. A sub-lane is a division of a road where can fit only one of the smallest vehicle modelled, bicycles/light motorbikes in our Hanoi example. A bigger vehicle uses up several sub-lanes at once, up to the total number allowable on the considered road. Vehicles can switch sub-lanes as space allows.

Another important property is the road speed limit, which can also be provided by OSM data. This variable is a key element for the definition of vehicle speeds. We choose to allow agents to modify this value during the simulation, for example to take into account the fact that, after an accident, a lane of a road is closed or that the speed limit of a road is decreased by the authorities.

Table 1 presents the attributes of the road entities.

Table 1. Attributes of the road entities.

Name Type Description
lane number (lnumber) integer Number of lanes of the road
speed limit (vroadLimit) float Speed limit of the road
linked road (r′) road Linked road if this road is a bidirectional road
source intersection (si) intersection Intersection which the road leads out from
target intersection (ti) intersection Intersection which the road leads to

Intersections will be characterized by their incoming and outgoing roads. They can also be used to simulate stop signs or traffic lights and to take into account the fact that some drivers can block an intersection.

Table 2 presents the attributes of the intersection entities.

Table 2. Attributes of the intersection entities.

Name Type Description
roads in (in) list of roads List of roads that lead to this intersection
roads out (out) list of roads List of roads that lead out of this intersection
regulators (stop) dictionary Dictionary that maps priority regulators (stop signs, traffic signals etc.) to the list of roads it regulates (more details about this attribute is be given Page 6)
blocked drivers (bd) dictionary Dictionary that maps a driver to a list of roads, indicating which roads are currently blocked by that driver (the purpose is covered Page 6)

Modeling vehicles

A vehicle is first characterized by its location loc, a 3D-point (coordinate) that represents the centroid of the vehicle. The actual geometry of the vehicle is not taken into account. However, the size of a vehicle is determined by its length and the number of lanes it occupies. In our Vietnamese example where the lanes are defined according to the size of the motorcycles, we can consider that a motorcycle will occupy one lane, but that a car will occupy two.

The lanes which are occupied by a vehicle are defined by its lowest lane index in conjunction with the number of lanes it spans, as illustrated in Fig 2. The list of attributes related to the location of the vehicle in space are shown in Table 3.

Fig 2. The “lane states” of several vehicles driving on two linked roads.

Fig 2

Note that the right-most vehicle is occupying lanes with indices 1 and 2 from its point of view, but the latter is in fact lane 1 on the linked road.

Table 3. Attributes of the vehicle entities related to spatial location.

Name Type Description
Location (loc) 3D coordinate Coordinate of the centroid of the vehicle
Vehicle length (len) Float Length of the vehicle (in meters)
Lowest lane index (llowest) Integer Index of the lowest lane occupied by the vehicle
Number of lanes occupied(loccupied) Integer Intermediate intersection in the path which the driver is heading towards

Before being able to move, the vehicle must first invoke the compute_path method to initialize some internal variables and in particular its path to follow. This method takes a road graph and a target intersection as inputs, and then finds the shortest path to the target. GAMA provides several algorithms to carry out this computation such as Dijkstra, Bellman Ford, Floyd Warshall, A*, NBA* [36]. The driving variables initialized by the compute_path function are presented in Table 4.

Table 4. Attributes of the vehicle entities related to path initialization.

Name Type Description
Current path (path) List of roads List of roads that lead to the final destination
Current index (index) Integer Index of the road that the driver is currently on
Current target (target) Intersection Intermediate intersection in the path which the driver is heading towards
Final target (f_target) Intersection Final destination in the path
Ignore road direction (undirected) Boolean Can the vehicle take roads in the wrong direction to reach its destination?

The attribute undirected can be toggled to make the graph undirected during the shortest path computation, allowing drivers to move in the wrong direction on certain roads. This can be used for simulating pedestrians mobility (who are allowed to walk in both directions on the same road), or reckless drivers.

After variables initialisation, the vehicle can use the drive method (Algorithm 1), which takes no argument, in every simulation step to move across the road network and towards the target intersection.

Algorithm 1 drive function

1: function drive

2:  t ← simulation step duration

3:  while t > 0 do

4:   if driver at final intersection in path then

5:    t ← 0    ▹Arrived at destination

6:   else if driver at intermediate intersection in path then

7:    n ← intermediate intersection

8:    r ← next road in path

9:    if readyToCross (n, r) then

10:     (l, ac) ← chooseLane(r)

11:     vcomputeSpeed(ac)

12:     if v = 0 & random(0.0, 1.0) ≤ pblock_node then

13:      t ← 0    ▹Blocked in the intersection

14:     else

15:      tupdateDriverPosition(r, v, l, t)

16:     end if

17:    else

18:     t ← 0    ▹Blocked at the intersection

19:    end if

20:   else

21:    r ← current road in path

22:    (l, ac) ← chooseLane(r)

23:    tupdateDriverPosition(r, v, l, t)

24:   end if

25:  end while

26: end function

The overall driving process is summarized using pseudo-code in Algorithm 1. The provided algorithm features several functions: readyToCross, chooseLane, computeSpeed and updateDriverPosition.

the readyToCross(n, r) function that checks several conditions to see if it is possible for the driver to cross the intersection n before entering a new road r:

  • There is no vehicle blocking the intersection;

  • There is no red traffic light nor stop sign;

  • There is no vehicle coming from the right (or left if the agent drives on the left side) at a distance lower than its safety distance.

For the second and third conditions, the driver can violate the rules and ignore them, as modelled by probabilities prespect_stops and prespect_priorities. However, even if these conditions are fulfilled and the vehicle is able to cross the intersection n, it is possible that the next road r is highly congested and there is no space left to enter the road (line 12 in Algorithm 1). In this case, the driver can choose not to cross the intersection just yet to avoid blocking vehicles coming from the sides, or just block the intersection with probability pblock_node. Indeed, if a vehicle arrives at an intersection and wants to continue on the next road, on which one or several vehicles block the way (i.e. there is no room for new vehicles to enter this road), it may choose to stick the vehicle in front of it even if it blocks the intersection for drivers coming from perpendicular roads. In this case, the vehicle will update the stop attribute of the intersection: the key of the map will be the vehicle, and the associated values, the perpendicular roads.

The chooseLane(r) function allows the vehicle on the road r to determine both the best lane (l) and its acceleration (ac) on this lane. The algorithm 2 describes this function which is based on the models IDM and MOBIL (see more details after).

The computeSpeed(ac) function computes the new speed v of the vehicle according to its current speed, its acceleration ac and the maximal speed of the vehicle vmax (see Eq 1).

Finally, the function updateDriverPosition(r, v, l, t) updates the vehicle’s position on the road r based on its new lane l, speed v, and the time remaining for the vehicle to move during the current simulation step t and returns the time remaining after this move. Indeed, if the vehicle reaches the end of the road before the time has elapsed, it can continue after its movement on another road in the same simulation step.

To simulate how drivers accelerate and decelerate, we implemented the Intelligent Driver Model [9], which is a widely used car-following model. In this model frame, the acceleration of a vehicle is determined by its leading vehicle, i.e. the closest vehicle ahead which shares at least one lane with it. Eq 1 describes how the model computes the acceleration of a vehicle (dv/dt—corresponding to ac in Algorithm 1) from four input variables: the speed (v) of the vehicle, the speed difference between itself and the leading vehicle (Δv = vvlead), the bumper-to-bumper distance to the leading vehicle (s), and the speed the vehicle would drive at in free traffic (v0).

dvdt=a[1-(vv0)δ-(s*(v,Δv)s)2] (1)

where s*(v, Δv) is the “desired dynamical distance”, which is computed as follows:

s*(v,Δv)=s0+max[0,(vT+vΔv2ab)] (2)

The computation of v0 on a road r depends on the road speed limitation (vroadLimit(r)) and on the tendency of the driver to drive under or below the road speed limitation (coeffv).

v0(r)=coefv×vroadLimit(r) (3)

All the attributes that are related to the speed computation are described in Table 5.

Table 5. Attributes related to speed computation.

Name Type Description
Speed coefficient (coefv) float tendency to drive under or below the road speed limitation. A value of 1.0 means that the driver will always try to drive at the road speed limitation.
Maximum speed (vmax) float Maximum speed that the vehicle can achieve
Time headway (T) Float Minimum time difference between the current vehicle and its leading vehicle when they pass a given point
Minimum gap (s0) Float Minimum bumper-to-bumper distance to the leading vehicle that the current vehicle must maintain
Acceleration (a) Float Maximum acceleration of the vehicle
Deceleration (b) Float Comfortable braking deceleration of the vehicle

If no leading vehicle is found on the next road segment, we will conclude that there is no leading vehicle at all, and s is set to ∞, making the third term in Eq 1 vanishes and hence allowing the vehicle to reach its maximum acceleration. To simulate red traffic lights, if the driver chooses to respect it (with the probability prespect_stops) then the road node containing the traffic lights is treated as a vehicle of length zero. When the lights turn green (or if the vehicle chooses to not respect it), the intersection will be considered as an intersection again.

Once the acceleration has been found by IDM, the vehicle’s speed is updated by computing:

vnew=min(vold+dvdtΔt,vmax), (4)

in which vnew and vold are the updated and old speed respectively, Δt is the simulation step duration, and vmax the maximal speed that a vehicle can achieved.

The vehicle location loc is updated using the formulae:

locnew=locold+locoldΔt+12dvdt(Δt)2. (5)

Regarding how drivers move between lanes, we use the MOBIL lane-changing model [37] based on the Intelligent Driver Model. The model provides two criteria governing when a driver should change a lane during driving: the safety criterion (is it safe for the vehicle behind?) and the incentive criterion (is the new lane more attractive?).

The safety criterion is stated as:

a˜n>-bsave, (6)

in which a˜n is the acceleration of the new follower if the driver does change to the corresponding new lane. This criterion ensures the lane change does not cause the new follower to brake too hard, avoiding a potential accident.

The incentive criterion is stated as follow:

a˜c-ac+p(a˜n-an)>athr, (7)

in which a and a˜ denotes the old acceleration and the new acceleration, if the driver decides to change lanes, while the subscripts c and n denotes the current lane-changing driver and its new follower. Note that the left hand side is basically a sum between the advantage of the lane changing driver and the weighted disadvantage of the new follower. The target lane is appealing enough if this sum is bigger than some given threshold athr. In case the driver has multiple lanes to choose from, the one with the biggest “incentive” sum will be chosen. To enforce asymmetric lane-changing rules, for example “one should keep to the right side of the road”, we add more reward when the target lane is the right-side/left-side lane, and punish the driver if it tries to move to the left-side/right-side lane

a˜c-ac+p(a˜n-an)+abias>athr,foraright-sidelanea˜c-ac+p(a˜n-an)-abias>athr,otherwise (8)

Table 6 describes the parameters that allow to control the lane-change behavior for each drivers.

Table 6. Attributes related to lane change.

Name Type Description
Safe deceleration (bsafe) float Safe deceleration of the new follower induced by lane changing
Politeness factor (p) Float Attention to others when changing lanes. A high value makes the driver care more about followers’ advantages rather than its own
Changing threshold (athr) Float Minimum acceleration gain for a driver to change lanes, added to prevent drivers jumping between lanes repeatedly
Right/left lane bias (abias) Float Encourages driver to keep to the right/left side of the road

The model includes additional attributes to control the candidate lanes, i.e. the lanes that will be considered by the MOBIL model. Table 7 presents them.

Table 7. Selection of candidate lane parameters.

Name Type Description
Linked road probability (plinked_road) Float Probability for a driver to consider the linked road (if there is one)
Linked road limit (llinked_road) Integer Maximum number of lanes on the linked road that the driver considers to use
lane change limit (llimit) Integer Maximum “lane range” when switching lanes during segments traversal.1

Algorithm 2 chooseLane function

1: function chooseLane (r)

2:  vcurrent ← current vehicle

3:  lbest ← current lane

4:  vlead ← leading vehicle of vcurrent on lbest of r

5:  acIDM(v, vlead)

6:  acbestac

7:  for l ∈ eligible lanes do

8:   vnewLead ← leading vehicle of vcurrent on l of r

9:   a˜cIDM(vnewLead)

10:   vnewBackbackvehicleofvcurrentonlofr

11:   vleadBeforeleadingvehicleofvnewBackonlofr

12:   anIDM(vnewBack, vleadBefore)

13:   vleadAftervcurrent

14:   a˜nIDM(vnewBack,vleadAfter)

15:   if a˜n<=-bsave then    ▹ safety criterion

16:    continue

17:   end if

18:   inca˜c-ac+p(a˜n-an)+abias

19:   if inc > athr & inc > incbest then    ▹ incentive criterion

20:    incbestincentive

21:    lbestl

22:    acbesta˜c

23:   end if

24:  end for

25:  return (lbest,acbest)

26: end function

Verification

One important point to be considered when building agent-based models and individual behaviors is their capacity to reproduce known macroscopic behaviors through simulations. In our case, we choose to verify if the use of the model is able to reproduce the shape of the fundamental diagram of a two-phase traffic [38]. The fundamental diagram is based on the following observations:

  • when the number of vehicles in the network is very small, interaction between these vehicles is close to zero. Each agent can therefore ride at the maximum speed it wants, without being disturbed by the presence of other vehicles, allowing us to calculate the average maximum speed observed on the network.

  • As the number of cars increases, the interaction between vehicles also increases, which has the effect of reducing the speed of the vehicles. As a result, the average speed in the network decreases with respect to the number of vehicles present in the network.

  • There is a limiting case where the number of vehicles is such that a traffic jam is formed, the average speed is zero and congestion maximum. It is then no longer possible to add vehicles on the section.

In order to test the capacity of the driving skill to reproduce this macroscopic behavior, we carried out a simulation on a simple road infrastructure composed of 4 roads of 2 kilometers connected as a circuit, in which we computed the average speed of the cars. We simulated the traffic, adding progressively more and more vehicles with a speed limit of 50km/h and 1 lane.

Table 8 presents the parameter values used for the driver agents.

Table 8. Driver parameter values for the circuit.

Name Value
Vehicle length (len) 4m
Max speed (vmax) 150km.h−1
Speed coefficient 1.0
Time headway (T) 1.0s
Minimum gap (s0) 0.5m
Acceleration (a) 2.0m.s−1
Deceleration (b) 3.0m.s−1

We repeatedly: add 100 vehicles; wait for the simulation to stabilize (about 10 minutes); then compute the average speed of the agents over 2 minutes. We go from 0 to 1700 vehicles, as density then makes no traffic possible above that.

Fig 3 shows the average speed according to the number of cars. The chart shows that our model is able to reproduce the different phases of the fundamental diagram as previously described. Indeed, when the number of vehicles is low (less than 400 cars), the average speed of motorists is close to the speed limit of the roads (50km/h). Then follows a phase where the speed will decrease more rapidly with the number of cars, until reaching a speed close to 0 representing the complete saturation of the network.

Fig 3. Average speed value according to the number of cars.

Fig 3

Computation time

In order to evaluate the capabilities of our model to simulate simultaneously a large number of agents, we measured, using the same methodological framework as before, the computation time taken with different numbers of vehicles.

We performed a simulation on a simple road infrastructure composed of 40 roads of 1.6 kilometers connected in a circuit. We simulated the traffic by progressively adding more and more vehicles with a speed limit of 50km/h and 4 lanes.

After 200 simulation steps (simulation step of 0.5s) used for initialization to avoid artifacts due to the addition of vehicles, we computed the total computation time by step for 100 simulation steps, then we added new vehicles to the circuit. We simulated traffic with 100, 1000, 10000 and 100000 vehicles. We use the same vehicle characteristics as in the previous experiment (Table 8).

Table 9 presents the computation time obtained for different number of vehicles. We have only counted in these computation times the time taken by the movement actions of the vehicles (it does not include the times related to the visualization for example). The simulation was carried out on a Mac mini M1 2022 with 8go of RAM.

Table 9. Computation time according to the number of vehicles.

Number of vehicles Mean computation time per step (in ms)
100 0.47
1000 4.23
10 000 54.84
100 000 648.89

The results show that the computation time tends to increase linearly with the number of agents. They also show that the computation time, even with a large number of vehicles, remains reasonable.

4 Application example: Simulating the traffic of Hanoi

Context

In order to validate the model, we compare observed and simulated traffic for two sites in Hanoi, Vietnam. Hanoi has undergone great changes in recent years in terms of both the type of mobility, with an increasing presence of cars, and the road infrastructure with the construction of major roads.

Today’s road traffic is characterized by an important mix of mobility between motorcycles (the most used means of locomotion) and cars. Indeed, in 2017 [39] conducted a mobility study at Ho Chi Minh City (second-biggest city in Vietnam). The resulting breakdown of travel modes is as follows: 74% of daily travel is done by motorcycle, 19% by bicycle and 1% by car, 4% by bus, and 2% by Taxi. Even if mobility has changed since then, with a consequent increase in the use of cars, this distribution is not so far from the current distribution with a significant predominance of the motorcycle. [40] refers to mixed traffic oriented to motorcycles for this type of traffic.

Even though a significant police presence ensures a minimum respect of traffic rules (stop at red light, speed limit), these are still often not respected, in particular by motorcycle drivers. In terms of driving, although there are marked lanes on many roads, they often have little impact on driving habits, especially for motorcycle drivers who do not hesitate to slalom between vehicles: the notion of overtaking on the right or the left does not exist in the practical driving of Hanoians. By convention, cars tend to drive in the left lanes and motorcycles in the right lanes, although this is far from a strict rule. The traffic in Hanoi is often dense and the driving speed rather low.

These characteristics make Hanoi a specific environment for which it can be complex to adapt a traffic simulator.

Nevertheless, various works have already proposed models for the case of Hanoi or for other Vietnamese cities.

In [41], the authors propose a non-lane-based movement model based on the safety distance: according to the location of the other vehicles and to the safety distance, each vehicle computes its acceleration vector. Comparisons with data collected in Ho Chi Minh City showed that the model was able to be reproduced in a realistic way the observed behavior of some motorbikes. If this model is able to reproduce well some behaviors, it is only applicable for simple spatial configuration (straight road without traffic sign). In addition, due to computing performance, it does not allow to scale up and to simulate a large number of vehicles.

A second model to cite is [42]. This work proposes to use a social force model, usually used for pedestrian simulation, to simulate the traffic at intersection. As shown in the article, in its current state, the model’s ability to reproduce real traffic is limited due to the lack of attractiveness force.

A third model is [43]. This simple model, developed in Netlogo, proposes to simulate the traffic based on the vision cone of the vehicles. The movement is then dependent on the perceived free spaces. Experiments based on real data collected in Hanoi were used to calibrate the model. However, the paper does not propose any real validation of the model, and, like [41], is limited to simple spatial configuration (straight road) and cannot be used to simulate a large number of vehicles.

A last model to cite is [44]. This model, developed in GAMA, allows to simulate at the scale of a road or a crossroads a mixed traffic (motorcycle, car, bus) in a non-normative context. Several experiments tend to show that the model can reproduce a credible traffic. However, this model, which is based on geometrical calculations, requires precise data on the roads (surface) and is limited in terms of scaling: due to the computation time, it can be only used the simulate a few hundreds of vehicles.

To conclude on this state of the art, there is a real need for a traffic model allowing to take into account the specificity of the traffic in Vietnam while allowing to scale up to simulate the traffic at the scale of a district or a city (with several thousands of vehicles). To verify the ability of our model to simulate traffic in contexts such as Vietnam, we propose to compare the results obtained with our model and the model of [44] with real data collected for two study sites in Hanoi. The following sections describe the data collected, the model built and the results of these comparisons.

Data collection

To validate the model and thus the ability of GAMA to simulate traffic in Hanoi, we recorded traffic footages on two different roads with different characteristics in terms of number of lanes and density. Two footages were recorded for each of these roads, which corresponds to two different points on the road (input and output). The goal was to have points far enough apart to be able to provide more robust data on vehicle travel times and at the same time constitute a main axis so that the vast majority of vehicles passing through point 1 would end up at point 2. Figs 4 and 5 show the sites corresponding to Tay Son street and Chua Boc street respectively. In both sites, there is a red light in the middle of the road. There is a second red light on the Chua Boc street just after the output point that we have integrated into the simulation to take into account the effects of slowing down at the end of the road. In order to give them realistic behaviors, we collected data on the duration of their cycles. Table 10 gives information about the two sites.

Fig 4. Tay Son street site (based on OpenStreetMap data): The green circle represents the input point (WGS84 coordinates: (105.8224 21.005)), and the red circle the output (WGS84 coordinates: (105.8236 21.0076)).

Fig 4

Fig 5. Chua Boc street site (based on OpenStreetMap data): The green circle represents the input point (WGS84 coordinates: (105.8252 21.0089)), and the red circle the output point (WGS84 coordinates: (105.831 21.0062)).

Fig 5

Table 10. Characteristic of the 2 sites.

Name Tay Son Chua Boc
Length 320m 667m
Number of lanes 2 3
Speed limitation 40km/h 40km/h
Traffic light cycle (red/green) 42s/56s 21s/73s—70s/59s
Footage date and duration July 8, 2021 (Thursday), 10:03am—5 minutes July 8, 2021 (Thursday), 9:33am—10 minutes
Number of vehicles entered during the footage 1903 1031

In order to count the number of vehicles passing through the input and output points, the footages were passed through a deep learning-based vehicle counter, using Scaled-YOLOv4 [45] for object detection and SORT [46] for tracking. The counter outputs a list of vehicles appearing in a given video, along with their class (vehicle type) and timestamp. In order to convert this list into time series, buckets of one second length were created for each vehicle type. List entries were then distributed into their appropriate bucket based on their timestamps. Figs 6 and 7 present the time series of vehicle count at the input and output points respectively for the Tay Son and Chua Boc sites.

Fig 6. Count of vehicles at the input and output points for the Tay Son site (time series were smoothed out using moving average with a window size of 10s).

Fig 6

Fig 7. Count of vehicles at the input and output points for the Chua Boc site (time series were smoothed out using moving average with a window size of 10s).

Fig 7

Description of the model and parameters used

Based on the GAMA integrated model (GAMA 1.8.2), we implemented a simple model in GAML to simulate the traffic flow on the two roads. The number of lanes for each street segment is approximated by dividing the segment width by that of the vehicle type with the shortest width. In our case, that would be motorcycles, which we assume to be 0.8-meters wide (typical width is 0.7 meters, and 0.1 meters is for safe spacing). Therefore, when measuring width in terms of number of lanes, a motorcycle takes one lane, while a car takes two. In both scenarios, cars start at the left half of the road, and motorcycles start at the right half, which corresponds to the driving practices in Vietnam. As for the length of the vehicles and their maximum speed, we used values consistent with the vehicle fleet in Hanoi, i.e. respectively 3.8 meters and 2 meters length for cars and motorcycles; 130km/h and 60km/h for the maximum speed. Note that the maximum speed has little impact in practice: in Hanoi where the traffic is dense, it is very rare for a vehicle to reach its maximum speed. Similarly, by analyzing vehicle behavior at the Tay Son Street, we determined that cars always stop when the light is red while the probability of stopping for motorcycles (in the front row) is only 0.5. Note that the model of [44] does not allow to take into account that vehicles may disregard red lights. In order not to bias the comparison with our model, we have introduced this possibility in the model: a motorcycle arriving at a red light will have only a 50% chance to stop.

The simulation step duration is set to 0.5 seconds.

At the start of the simulation, the time series corresponding to the input point is used to determine when a vehicle would appear and start moving towards the endpoint. Every vehicle start with an initial speed of 20km/h. Once a vehicle has reached the endpoint, it will be put into the appropriate one-second bucket. The outputs of the simulation are two time series describing the number of vehicles passing the endpoint for motorcycles and cars respectively.

In order to evaluate the difference between the observed and simulated time series we used two classic measures for window size of 10s: sum of squared errors (SSE) and dynamic time warping (DTW) [47].

Regarding model calibration, we used Genetic Algorithms (GA) to find the optimal set of parameters for IDM and MOBIL, i.e. the set which minimizes DTWcar × Ncar+ DTWmotorcycle × Nmotorcycle for the Tay Son site, with Ncar and Nmotorcycle respectively the number of cars and motorcycles in the data. Indeed, data from Tay Son road was used to calibrate the model, while data from Chua Boc was reserved for validation. We proceeded in the same way for the model of [44], for which we calibrated all the parameters in connection with the driving (same algorithm, same fitness function, and same data).

The best parameters found by the calibration process is presented in Table 11.

Table 11. Driver parameter values for Hanoi.

Name Motorcycle Car
Max acceleration (a) 1.1m.s−2 1.2m.s−2
Max deceleration (b) 4.6m.s−2 4.8m.s−2
Time headway (T) 0.8s 2.5s
Safety distance (s0) 1.9m 1.1m
Politeness factor (p) 0.2 0.1
Changing threshold (athr) 0.3 0.15
Safe deceleration (bsafe) 1.0m.s−2 2.5m.s−2
Right lane bias (abias) 0.05m.s−2 0.45m.s−2

Results

For each site, and for the two models ([44] and ours), we replicates 100 times the simulations to ensure the robustness of the simulations.

Figs 8 and 9 presents the number of vehicles count (motorcycles and cars) for the 100 replications for the Tay Son street respectively with the [44] and our model. The red line represents the mean value. These figures already show the moderate impact of stochasticity on the results as well as the observation of cyclical phenomena, which are due to the presence of the traffic light in the middle of the road. Fig 10 presents the comparison between the results obtained with the two models (mean value) and the real data and Table 12 the SSE and DTW obtained for the motorcycles and cars as well as the computation time (taking only into account the time taken by the vehicle behaviors). A first observation is that our model allows to better reproduce the collected data for cars: both concerning the curve closer to the observed curves, or the values of SSE and DTW (p-values by Student T test respectively equal to 8.5 × 10−111 and 1.5 × 10−3), the results are better with our model. For motorcycles, the model of [44] achieves significantly better results in both SES and DTW (p-values by Student T test respectively equal to 1.2 × 10−20 and 2.4 × 10−7). The observation of the curves shows that our model tends to amplify the effects of oscillations compared to the observed data, whereas the model of [44] tends to underestimate them. One explanation is that the vehicles in the model of [43] are not based on lanes but on free spaces to move. Therefore, they have more possibility to execute maneuvers to avoid the vehicles stopped in front of them and therefore, if they decide not to stop at the red light (0.5 probability), continue their way and fluidify the traffic. In our model, the blocking of all lanes at the red light happens more quickly, leaving a more pronounced oscillation phenomenon, closer to what is measured and observed in reality.

Fig 8. Simulated results for the Tay Son site.

Fig 8

Motorcycle and car counts for the 100 simulations with [44] model (time series were smoothed out using moving average with a window size of 10s). In red, the mean values.

Fig 9. Simulated results for the Tay Son site.

Fig 9

Motorcycle and car counts for the 100 simulations with our model (time series were smoothed out using moving average with a window size of 10s). In red, the mean values.

Fig 10. Observed and simulated results (with [44] and our models) for the Tay Son site.

Fig 10

Motorcycle and car counts—mean of the simulation (time series were smoothed out using moving average with a window size of 10s.

Table 12. Mean metrics computed for the Tay Son site.

In parenthesis, the standard deviation.

SSEmotorcycle SSEcar DTWmotorcycle DTWcar Computation time (in s)
[44] 197.77 (131.24) 97.43 (8.28) 106.76 (31.63) 25.74 (1.98) 8.14 (14.47)
Ours 354.18 (26.99) 25.54 (3.12) 125.15 (10.84) 24.76 (2.78) 0.52 (0.07)

We do not find this phenomenon for Chua Boc because the road is much less wide than Tay Son, so even if vehicles have more ability to avoid obstacles, the blocking of spaces at the level of red lights happens much faster and with the phenomenon of oscillation.

Another important element is the time of computation: the simulation is more than 15 times faster with our model, thus allowing to simulate in an acceptable time a much larger number of vehicles.

Concerning the second site, which was not used to calibrate the two models, the results obtained with respectively the models of [44] and our model are presented in Figs 1113 presents the comparison between the two models and Table 13 the values obtained for SSE, DTW and the computation time. For this site, the results show that our model provided results significatively closer to the observed data for both cars and motorcycle (p-values by Student T test lower than 10−50 for all metrics), with a much lower computation time (over 10 times lower).

Fig 11. Simulated results for the Chua Boc site.

Fig 11

Motorcycle and car counts for the 100 simulations with [44] model (time series were smoothed out using moving average with a window size of 10s). In red, the mean values.

Fig 13. Observed and simulated results (with [44] and our models) for the Chua Boc site.

Fig 13

Motorcycle and car counts—mean of the simulation (time series were smoothed out using moving average with a window size of 10s.

Table 13. Mean metrics computed for the Chua Boc site.

In parenthesis, the standard deviation.

SSEmotorcycle SSEcar DTWmotorcycle DTWcar Computation time (in s)
[44] 353.5 (34.92) 48.4 (5.29) 150.45 (16.46) 49.39 (3.41) 5.86 (0.16)
Ours 255.53 (15.68) 33.5 (1.5) 100.86 (4.84) 28.79 (1.49) 0.54 (0.03)

Fig 12. Simulated results for the Chua Boc site.

Fig 12

Motorcycle and cars counts for the 100 simulations with our model (time series were smoothed out using moving average with a window size of 10s). In red, the mean values.

5 Conclusion

In this paper, we presented a new integrated model for the GAMA platform dedicated to the development of traffic simulations. This integrated model allows to define new traffic simulations with a representation of driver’s operational behaviors that is both detailed and easily accessible through the GAML language. In particular, it enables to model road infrastructure and traffic signals, vehicles of different size, change of lanes by the drivers and their tendency to respect norms. We validated the model though an application concerning the simulation of traffic in the city of Hanoi, Vietnam.

Compared to the existing traffic simulation frameworks, the advantage of our tool, in addition to its capacity to simulate mixed and non-normative traffic, is that it allows modelers to easily adapt it to their application context. Indeed, the use of the GAML language enables modelers without high-level programming skills to develop their own models based on the integrate model. For example, this integrated traffic model is now used in the ESCAPE framework [31, 48], which focuses on mass evacuation such as the 270 000 evacuating people simulated in Rouen. The versatility of our integrated model allows Escape to simulate complex mobility behavior (change of plan according to circumstances, non-compliance with traffic rules, etc.), to take into account various types of mobility (car, motorcycle, bus, bicycle, etc.) and to adapt to different countries (France, Vietnam, etc).

The given application case shows that our tool helps to carry out simulations with thousands of driver agents in an acceptable computation time. However, in order to give the possibility of simulating big cities to modelers, we plan to improve the performance of the tool by using distributed computation. Indeed, if the distribution can be complex due to the asynchronous activation of the agents, it may still be possible to distribute a part of the computation burden. Another possibility to allow large scale simulation would be to couple this model with a macro or meso model: the idea, as proposed in [49], is to simulate in detail the roads of interest and the others with less time-consuming model.

Finally, we also plan to develop new tools to help people prepare their data. The goal would be to offer the possibility of automatically filling the missing attributes from incomplete OSM data (OSM are often incomplete), and creating a consistent network (with its infrastructure and traffic signals). Special focus will be on traffic signals and traffic lights.

Supporting information

S1 File

(PDF)

Data Availability

the code of the model and of the data are available here: https://doi.org/10.6084/m9.figshare.21369090.v1.

Funding Statement

This work is funded by the ANR ESCAPE project, grant ANR-16-CE39-0011-01 of the French National Research Agency (https://anr.fr/) The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.

References

  • 1. Hoogendoorn SP, Bovy PHL. State-of-the-art of vehicular traffic flow modelling. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering. 2001;215(4):283–303. doi: 10.1177/095965180121500402 [DOI] [Google Scholar]
  • 2. Wardrop JG, Whitehead JI. Correspondence. Some theoretical aspects of road traffic research. Proceedings of the Institution of Civil Engineers. 1952;1(5):767–768. doi: 10.1680/ipeds.1952.11362 [DOI] [Google Scholar]
  • 3. Kerner BS. The physics of traffic. Physics World. 1999;12(8):25. doi: 10.1088/2058-7058/12/8/30 [DOI] [Google Scholar]
  • 4. Prigogine I, Herman R. Kinetic theory of vehicular traffic; 1971. [Google Scholar]
  • 5. DeAngelis DL, Grimm V. Individual-based models in ecology after four decades. F1000prime reports. 2014;6. doi: 10.12703/P6-39 [DOI] [PMC free article] [PubMed] [Google Scholar]
  • 6. Davis LC. Modifications of the optimal velocity traffic model to include delay due to driver reaction time. Physica A: Statistical Mechanics and its Applications. 2003;319:557–567. doi: 10.1016/S0378-4371(02)01457-7 [DOI] [Google Scholar]
  • 7. May AD. Traffic flow fundamentals; 1990. [Google Scholar]
  • 8. Kerner BS, Klenov SL. Deterministic microscopic three-phase traffic flow models. Journal of Physics A: Mathematical and General. 2006;39(8):1775. doi: 10.1088/0305-4470/39/8/002 [DOI] [Google Scholar]
  • 9. Treiber M, Hennecke A, Helbing D. Congested traffic states in empirical observations and microscopic simulations. Phys Rev E. 2000;62:1805–1824. doi: 10.1103/PhysRevE.62.1805 [DOI] [PubMed] [Google Scholar]
  • 10. Tranouez P, Daudé E, Langlois P. A multiagent urban traffic simulation. Journal of Nonlinear Systems and Applications. 2012;3(2):98–106. [Google Scholar]
  • 11. Horn M. Multi-modal and demand-responsive passenger transport systems: a modelling framework with embedded control systems. Transportation Research Part A: Policy and Practice. 2002;36(2):167–188. [Google Scholar]
  • 12. Banos A, Marilleau N, Team M. Improving individual accessibility to the city: an agent-based modelling approach. In: ECSS; 2012. [Google Scholar]
  • 13.Grignard A, Taillandier P, Gaudou B, Vo D, Huynh N, Drogoul A. GAMA 1.6: Advancing the Art of Complex Agent-Based Modeling and Simulation. In: PRIMA 2013: Principles and Practice of Multi-Agent Systems. vol. 8291 of Lecture Notes in Computer Science; 2013. p. 117–131.
  • 14. Taillandier P, Gaudou B, Grignard A, Huynh QN, Marilleau N, Caillou P, et al. Building, composing and experimenting complex spatial models with the GAMA platform. GeoInformatica. 2019;23(2):299–322. doi: 10.1007/s10707-018-00339-6 [DOI] [Google Scholar]
  • 15.Taillandier P. PLOS_ONE_traffic.zip; 2022. Available from: https://figshare.com/articles/software/PLOS_ONE_traffic_zip/21369090.
  • 16. Barceló J, et al. Fundamentals of traffic simulation. vol. 145. Springer; 2010. [Google Scholar]
  • 17.Nguyen J, Powers ST, Urquhart N, Farrenkopf T, Guckert M. An Overview of Agent-based Traffic Simulators. arXiv preprint arXiv:210207505. 2021;.
  • 18. Axhausen K W, Horni A, Nagel K. The multi-agent transport simulation MATSim. Ubiquity Press; 2016. [Google Scholar]
  • 19. Kim J, Lee S, Lee S. An evacuation route choice model based on multi-agent simulation in order to prepare Tsunami disasters. Transportmetrica B: Transport Dynamics. 2017;5(4):385–401. doi: 10.1080/21680566.2016.1147002 [DOI] [Google Scholar]
  • 20. Smith L, Beckman R, Baggerly K. TRANSIMS: Transportation analysis and simulation system. Los Alamos National Lab. 1995. [Google Scholar]
  • 21.Lopez PA, Behrisch M, Bieker-Walz L, Erdmann J, Flötteröd YP, Hilbrich R, et al. Microscopic traffic simulation using sumo. In: 2018 21st international conference on intelligent transportation systems (ITSC). IEEE; 2018. p. 2575–2582.
  • 22. Semrau M, Erdmann J. Simulation framework for testing ADAS in Chinese traffic situations. SUMO 2016–Traffic, Mobility, and Logistics. 2016;30:103–115. [Google Scholar]
  • 23. Baumfalk J, Dastani M, Poot B, Testerink B. A SUMO extension for norm-based traffic control systems. In: Simulating Urban Traffic Scenarios. Springer; 2019. p. 55–82. [Google Scholar]
  • 24.Adnan M, Pereira FC, Azevedo CML, Basak K, Lovric M, Raveau S, et al. Simmobility: A multi-scale integrated agent-based simulation platform. In: 95th Annual Meeting of the Transportation Research Board Forthcoming in Transportation Research Record; 2016.
  • 25. Toledo T, Koutsopoulos HN, Ben-Akiva M. Integrated driving behavior modeling. Transportation Research Part C: Emerging Technologies. 2007;15(2):96–112. doi: 10.1016/j.trc.2007.02.002 [DOI] [Google Scholar]
  • 26.Jakob M, Moler Z. Modular Framework for Simulation Modelling of Interaction-Rich Transport Systems. In: Proceedings of the 16th IEEE Intelligent Transportation Systems Conference (ITSC 2013); 2013.
  • 27. Kamrani M, Abadi SMHE, Golroudbary SR. Traffic simulation of two adjacent unsignalized T-junctions during rush hours using Arena software. Simulation Modelling Practice and Theory. 2014;49:167–179. doi: 10.1016/j.simpat.2014.09.006 [DOI] [Google Scholar]
  • 28. Auld J, Hope M, Ley H, Sokolov V, Xu B, Zhang K. POLARIS: Agent-based modeling framework development and implementation for integrated travel demand and network and operations simulations. Transportation Research Part C: Emerging Technologies. 2016;64:101–116. doi: 10.1016/j.trc.2015.07.017 [DOI] [Google Scholar]
  • 29.Daudé E, Tranouez P, Langlois P. A multiagent urban traffic simulation. Part II: dealing with the extraordinary. In: ICCSA 2009. France; 2009. p. NA. Available from: https://hal.archives-ouvertes.fr/hal-00422372.
  • 30. Saidallah M, El Fergougui A, Elalaoui AE. A Comparative Study of Urban Road Traffic Simulators. MATEC Web of Conferences. 2016;81:05002. doi: 10.1051/matecconf/20168105002 [DOI] [Google Scholar]
  • 31. Daudé E, Taillandier P, Caron C, Gaudou B, Saval A, Chapuis K, et al. ESCAPE: Exploring by Simulation Cities Awareness on Population Evacuation. In: ISCRAM 2019; 2019. p. 76–93. Available from: https://iscram2019.webs.upv.es. [Google Scholar]
  • 32.Duc PM, Chapuis K, Drogoul A, Gaudou B, Grignard A, Marilleau N, et al. HoanKiemAir: simulating impacts of urban management practices on traffic and air pollution using a tangible agent-based model. In: RIVF 2020. RIVF Proceedings. Ho Chi Minh City; 2020. p. 7.
  • 33. North M, Collier N, Ozik J, Tatara E, Macal C, Bragen M, et al. Complex adaptive systems modeling with Repast Simphony. Complex Adaptive Systems Modeling. 2013;1(1):3. doi: 10.1186/2194-3206-2-3 [DOI] [Google Scholar]
  • 34.Amblard F, Daudé E, Gaudou B, Grignard A, Hutzler G, Lang C, et al. Introduction à NetLogo. In: Simulation spatiale à base d’agents avec NetLogo 1: Introduction et bases. No. Chapitre 3 in Collection”Systèmes d’Information, Web et Informatique Ubiquitaire”. ISTE Editions; 2015. p. 242 p. Available from: https://hal.inrae.fr/hal-02797120.
  • 35. Kesting A, Treiber M, Helbing D. General lane-changing model MOBIL for car-following models. Transportation Research Record. 2007;1999(1):86–94. doi: 10.3141/1999-10 [DOI] [Google Scholar]
  • 36.Pijls W, Post H. Yet another bidirectional algorithm for shortest paths. Econometric Institute Research Papers; 2009.
  • 37. Kesting A, Treiber M, Helbing D. General lane-changing model MOBIL for car-following models. Journal of the Transportation Research Board. 2007;1999:86–94. doi: 10.3141/1999-10 [DOI] [Google Scholar]
  • 38. Geroliminis N, Daganzo CF. Existence of urban-scale macroscopic fundamental diagrams: Some experimental findings. Transportation Research Part B: Methodological. 2008;42(9):759–770. doi: 10.1016/j.trb.2008.02.002 [DOI] [Google Scholar]
  • 39. Hee L, Dunn S. Urban Mobility: 10 Cities Leading the Way in Asia Pacific. Urban Land Institute (ULI) & Centre for Liveable Cities (CLC) Retrieved. 2017;8(16):2017. [Google Scholar]
  • 40. Trinh LT, Sano K, Hatoyama K, De Silva CK. Analysis of motorcycle microscopic characteristics at roundabouts under mixed traffic condition-a case study of Vietnam. Journal of Traffic and Transportation Engineering (English Edition). 2020. [Google Scholar]
  • 41. Nguyen LX, Hanaoka S. A microscopic simulation model for motorcycle traffic safety assessment in Vietnam. In: Proceedings of Infrastructure Planning. vol. 45. Citeseer; 2012. [Google Scholar]
  • 42. HUYNH DN, Boltze M, Vu AT. Modelling mixed traffic flow at signalized intersectionusing social force model. Journal of the Eastern Asia Society for Transportation Studies. 2013;10:1734–1749. [Google Scholar]
  • 43. Tu TV, Bo VT. SIMULATION OF BUS LANES IN MOTORCYCLE-DOMINATED TRAFFIC FLOW BY USING AGENT-BASED MODEL. International Journal for Traffic & Transport Engineering. 2017;7(2). [Google Scholar]
  • 44.Dang-Huu T, Gaudou B, Nguyen-Ngoc D, Lê NC. An agent-based model for mixed traffic in Vietnam based on virtual local lanes. In: 2020 12th International Conference on Knowledge and Systems Engineering (KSE). IEEE; 2020. p. 147–152.
  • 45.Wang CY, Bochkovskiy A, Liao HYM. Scaled-YOLOv4: Scaling Cross Stage Partial Network. In: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR); 2021. p. 13029–13038.
  • 46.Bewley A, Ge Z, Ott L, Ramos F, Upcroft B. Simple online and realtime tracking. 2016 IEEE International Conference on Image Processing (ICIP). 2016.
  • 47.Berndt DJ, Clifford J. Using Dynamic Time Warping to Find Patterns in Time Series. In: Proceedings of the 3rd International Conference on Knowledge Discovery and Data Mining. AAAIWS’94. AAAI Press; 1994. p. 359–370.
  • 48.Chapuis K, Taillandier P, Gaudou B, Drogoul A, Daudé E. A multi-modal urban traffic agent-based framework to study individual response to catastrophic events. In: International Conference on Principles and Practice of Multi-Agent Systems. Springer; 2018. p. 440–448.
  • 49. Banos A, Corson N, Lang C, Marilleau N, Taillandier P. Multiscale modeling: application to traffic flow. In: Agent-based Spatial Simulation with NetLogo, Volume 2. Elsevier; 2017. p. 37–62. [Google Scholar]

Decision Letter 0

Nan Zheng

28 Mar 2022

PONE-D-22-04270Agent-based Simulation of Traffic with the GAMA Platform: dealing with mixed and non-normative contextsPLOS ONE

Dear Dr. Taillandier,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

==============================

ACADEMIC EDITOR:The reviewers provided comprehensive analysis and suggestions on the paper. Please address. 

==============================

Please submit your revised manuscript by May 12 2022 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Nan Zheng

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at 

https://journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and 

https://journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf. 

2. Please include a complete copy of PLOS’ questionnaire on inclusivity in global research in your revised manuscript. Our policy for research in this area aims to improve transparency in the reporting of research performed outside of researchers’ own country or community. The policy applies to researchers who have travelled to a different country to conduct research, research with Indigenous populations or their lands, and research on cultural artefacts. The questionnaire can also be requested at the journal’s discretion for any other submissions, even if these conditions are not met.  Please find more information on the policy and a link to download a blank copy of the questionnaire here: https://journals.plos.org/plosone/s/best-practices-in-research-reporting. Please upload a completed version of your questionnaire as Supporting Information when you resubmit your manuscript.

3. Thank you for stating the following in the Acknowledgments Section of your manuscript: 

[This work is funded by the ANR ESCAPE project, grant ANR-16-CE39-0011-01 of the French National Research Agency.]

We note that you have provided funding information that is currently declared in your Funding Statement. However, funding information should not appear in the Acknowledgments section or other areas of your manuscript. We will only publish funding information present in the Funding Statement section of the online submission form. 

Please remove any funding-related text from the manuscript and let us know how you would like to update your Funding Statement. Currently, your Funding Statement reads as follows: 

 [This work is funded by the ANR ESCAPE project, grant ANR-16-CE39-0011-01 of the French National Research Agency (https://anr.fr/)

The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.]

Please include your amended statements within your cover letter; we will change the online submission form on your behalf.

4. We note that Figures 4 and 5 in your submission contain satellite images which may be copyrighted. All PLOS content is published under the Creative Commons Attribution License (CC BY 4.0), which means that the manuscript, images, and Supporting Information files will be freely available online, and any third party is permitted to access, download, copy, distribute, and use these materials in any way, even commercially, with proper attribution. For these reasons, we cannot publish previously copyrighted maps or satellite images created using proprietary data, such as Google software (Google Maps, Street View, and Earth). For more information, see our copyright guidelines: http://journals.plos.org/plosone/s/licenses-and-copyright.

We require you to either (1) present written permission from the copyright holder to publish these figures specifically under the CC BY 4.0 license, or (2) remove the figures from your submission:

a) You may seek permission from the original copyright holder of Figures 4 and 5 to publish the content specifically under the CC BY 4.0 license.  

We recommend that you contact the original copyright holder with the Content Permission Form (http://journals.plos.org/plosone/s/file?id=7c09/content-permission-form.pdf) and the following text:

“I request permission for the open-access journal PLOS ONE to publish XXX under the Creative Commons Attribution License (CCAL) CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Please be aware that this license allows unrestricted use and distribution, even commercially, by third parties. Please reply and provide explicit written permission to publish XXX under a CC BY license and complete the attached form.”

Please upload the completed Content Permission Form or other proof of granted permissions as an "Other" file with your submission.

In the figure caption of the copyrighted figure, please include the following text: “Reprinted from [ref] under a CC BY license, with permission from [name of publisher], original copyright [original copyright year].”

b) If you are unable to obtain permission from the original copyright holder to publish these figures under the CC BY 4.0 license or if the copyright holder’s requirements are incompatible with the CC BY 4.0 license, please either i) remove the figure or ii) supply a replacement figure that complies with the CC BY 4.0 license. Please check copyright information on all replacement figures and update the figure caption with source information. If applicable, please specify in the figure caption text when a figure is similar but not identical to the original image and is therefore for illustrative purposes only.

The following resources for replacing copyrighted map figures may be helpful:

USGS National Map Viewer (public domain): http://viewer.nationalmap.gov/viewer/

The Gateway to Astronaut Photography of Earth (public domain): http://eol.jsc.nasa.gov/sseop/clickmap/

Maps at the CIA (public domain): https://www.cia.gov/library/publications/the-world-factbook/index.html and https://www.cia.gov/library/publications/cia-maps-publications/index.html

NASA Earth Observatory (public domain): http://earthobservatory.nasa.gov/

Landsat: http://landsat.visibleearth.nasa.gov/

USGS EROS (Earth Resources Observatory and Science (EROS) Center) (public domain): http://eros.usgs.gov/#

Natural Earth (public domain): http://www.naturalearthdata.com/

Additional Editor Comments:

The reviewers provided comprehensive analysis and suggestions for the paper. Please address.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Partly

Reviewer #3: Yes

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: No

Reviewer #2: Yes

Reviewer #3: N/A

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: No

Reviewer #2: Yes

Reviewer #3: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

Reviewer #3: Yes

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: There are some elements within the writing style which might be considered too informal for a journal paper - for example the first sentence "These last few years have seen the number of traffic based frameworks..." Should read something like "Recent developments [cite???] have resulted in an increase in the number of traffic based frameworks....". I would suggest, as a general measure, that you have your paper proof-read and issues such as this dealt with. But to balance the above comments, the text reads well and communicates the thoughts and ideas of the author to readers (which is of course the prime reason for writing a paper!).

The authors might want to check that they have included ALL relevant previous work (e.g. https://www.springerprofessional.de/en/using-agade-traffic-to-analyse-purpose-driven-travel-behaviour/19696732 and https://link.springer.com/chapter/10.1007/978-3-319-59930-4_37

An area that is not addressed by the authors when discussing the various platforms and technologies for ABM of traffic the means of accessing the simulation. For example, many of these simulation frameworks have to be downloaded, installed and are used in conjunction with programming languages such as C++ or Java. This requires considerable computer science skills, which might not be possessed by a transportation analyst. It may be appropriate to consider the ease of use from the perspective of a transportation specialist when evaluating them.

Algorithm 1 is split across 2 pages!

Please be consistent in the style and notation adopted within your algorithmic code.

Results comprise of simulations covering two sites. A basic comparison is made with [43] and an improvement is noted. the results could be improved by giving some indication as to whether the improvement can be considered statistically significant or not? The lack of a statistical analysis is a major omission from a paper that is otherwise sound.

Reviewer #2: This paper deals with a very interesting topic of simulating non-normative traffic conditions. The paper is well structured and easy to follow.

Abstract

Try to avoid ellipsis points in a scientific text.

As you are talking about microscopic traffic simulations I would leave MATSim out of the discussion, as MATSim is mesoscopic and does not aim to model traffic in such detail.

You say that this new model can simulate tens of thousands of agents, but this is not shown in the paper. Moreover, urban areas today have millions of people. Can you deal with such a scale?

Introduction

Lines 65-66, why is it advantageous that your model is integrated with GAMA? Why is, for instance, SUMO not easily adaptable to new contexts while your approach is? Can you please provide some concrete examples?

Related works

I think that the MATSim community prefers a different citation:

Horni, A., K. Nagel and K. W. Axhausen (2016) The multi-agent transport simulation MATSim, Ubiquity Press London.

Sometimes you write JAVA and sometimes Java, I believe Java would be more appropriate.

It is unclear what is meant by “Synthetic population generation is highly dependent on these modules…”. I would argue that MATSim is independent of the process used to generate the synthetic population. Please elaborate.

SUMO community also prefers a different citation (as stated on the website):

Pablo Alvarez Lopez, Michael Behrisch, Laura Bieker-Walz, Jakob Erdmann, Yun-Pang Flötteröd, Robert Hilbrich, Leonhard Lücken, Johannes Rummel, Peter Wagner, and Evamarie Wießner. IEEE Intelligent Transportation Systems Conference (ITSC), 2018.

Line 117, you mention advanced features, please give examples.

The GAMA integrated traffic model

Lines 207-210, the sentence is badly written and needs re-writing.

Line 226, occupied-> occupies

Line 234 find->finds

Line 273, 1 -> Algorithm 1

Line 274, feature -> features

Ine 307, vanishes -> vanish

Why is the incentive criterion (equation 7) containing the disadvantage for the new follower? The one changing the lane usually only looks at her own advantage. Can you please explain why did you consider also this second term in the equation?

Verification

You should make it clear that you are not validating your model using an empirical MFD, but only that the shape of the graph resembles an expected MFD shape.

I assume you are adding 100 vehicles to the system every 2 minutes? This is not clear from lines 394-396.

Application example

The context could go to the related works section.

Line 412, please state i which year.

Lines 415-417, if mobility -> even if mobility

Data collection

Line 478, a list a -> a list of

Description of the model and parameters used

Line 491, two lane -> two lanes

2 meters is much more than double of 0.8 meters.

How many vehicles are simulated in the presented results? I guess much less then thousands you were mentioning before.

Results

Can you please explain how is the model from [43] calibrated? This is not even explained in the original manuscript as far as I can see. The article [43] is, I guess, not allowing agents to violate red lights at intersections (as can be seen from figures 10 and 13). I wonder if this simple addition is added how would the two models compare in terms of DTW.

It is not clear to me if the road in Figure 4 has another approach at the intersection. The figure is of bad quality, as in general, all figures are ( please improve the quality/resolution of figures). For the roads, a schematic would have been nicer and a pointer to the WGS84 coordinates of start and end points, so one could easily find them.

I also wonder how your model compares with SUMO as a notable example of an open-source traffic simulation. How much effort would it be to add a probability function in SUMO that allows agents to violate red signals at intersections? I wonder how much of the added value is exactly this feature compared with the non-normative driving behavior before reaching the signal. This you could even test using your own model, and by switching on and off different features.

Please try to avoid using etc. in scientific texts.

Reviewer #3: The paper provides a modeling framework for representing non-normative travel behavior among drivers in multimodal traffic. The focus is on how to model road infrastructure, traffic signals and motocycles in a non-normative scenario where rules of traffic are not standardized or necessarily obeyed. The authors do this by integrating their model in GAMA an open source generic agent based simulation platform. Their model is written in GAML and this has been done in order to make their model easily accessible.

The major contribution of this work is the authors' demonstration of how to model non-normative contexts that do not follow international conventions or general traffic rules, such as, drivers changing lanes or overtaking other drivers while driving against traffic flow, disobeying traffic lights, etc. The model serves for small scale scenarios although it would be good to know how it performs for large scale scenarios.

Below are my comments and suggestions

It would be good to provide a reference to back up this statement on Line 21 - 24.

Line 64 - 67 suggest that other exisitng modeling frameworks do not take account of multi-modal traffic which is not so. Unless the authors mean to say that these frameworks do not account specifically for multi-modal trafic in non-normative context. In that case the statement needs to be adjusted to say that.

In Line 85 the authors wrongly states that VISSIM, AnyLogic etc are agent based modeling frameworks. The author should correct this considering that in the citation of Nguyen et al [16] they review the agent-based models. Also it is not clear why TRANSIMS has been reviewed for comparison.

In Line 101 to 103 the author mentions that MATSim do not have extensions with non normative driver behavior and mixed interacting modes. However it should be mentioned that MATSim is a mesoscopic traffic simulator which is why it does not do this.

Authors should specify the meanings of the abbreviations for IDM and MOBIL when first written.

In section 4.1, it is not clear what the blue dot on Figure 1 represents. Is it a node connecting different sections of the roads? Also the concept of sublanes is not clear. It would be nice to illustrate the sublanes in Figure 2. For example in Line 226 to 228, is the car meant to occupy 2 sublanes or 2 lanes?

In equation 1, using s to represent distance could be confusing.

It is not clearly explained how the vehicle speeds are computed in the model even though this is shown in the equations.

Is equation 3 not referring to the computation of vehicle freespeed v_not?

For section 5, the GAMA version used for the scenario testing should be specified. The year of the mobility study used for mode share reference should be specified as well

What the authors want to say in Line 415 - 417 is not immediately clear

For which city is the work by [41, 43]? Stating it would give better context to the comparisons. A table summarising these comparisons would also be apt.

In the description of their model for Hanoi the author should specify if peak traffic period or the whole day is modelled. It should also be justified why an initial speed of 20km/h has been given to every vehicle at the start of the simulation. Is it based on equation 3 or just random?

What does cycling phenomena refer to in line 521?

General suggestions

It would be nice to have a general figure of how the authors' model integrates with the the GAMA simulation

Check for grammatical errors e.g:

Line 207, depending of the countries and drivers, a lane can be compare as a corridor --> depending on the countries and drivers, a lane can be compared to a corridor...

line 302 driver to drives --> driver to drive

Line 419 If a significant --> Even though a significant...

Line 434 was able to reproduced --> was able to reproduce

Line 454 it can be only used the simulate only hundreds --> it can only be used to simulate hundreds...

Check for future tense wrong usage. E.g in Table 2 the purpose will be covered Page 6 --> the purpose is covered in page 6

Check for references to the algorithms. See line 273 and 283

Maybe revise the title to capture the essence of the paper. E.g. Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platform.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: No

Reviewer #3: No

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2023 Mar 6;18(3):e0281658. doi: 10.1371/journal.pone.0281658.r002

Author response to Decision Letter 0


21 Jul 2022

RESPONSE TO REVIEWERS

==============================

ACADEMIC EDITOR:

The reviewers provided comprehensive analysis and suggestions on the paper. Please address.

=============================

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

A: Protocols.io seems better adapted to life and matter sciences. For our computer science model, we open sourced the code and the relevant data to allow for reproducibility.

4. We note that Figures 4 and 5 in your submission contain satellite images which may be copyrighted. (...)

A: We completely changed these figures, and replaced the images with OpenStreetMaps maps.

REVIEWER #1:

There are some elements within the writing style which might be considered too informal for a journal paper - for example the first sentence "These last few years have seen the number of traffic based frameworks..." Should read something like "Recent developments [cite???] have resulted in an increase in the number of traffic based frameworks....".

A: Rewritten.

I would suggest, as a general measure, that you have your paper proof-read and issues such as this dealt with. But to balance the above comments, the text reads well and communicates the thoughts and ideas of the author to readers (which is of course the prime reason for writing a paper!).

A: Although you mentioned it was legible, we tried to improve it further.

The authors might want to check that they have included ALL relevant previous work (e.g. https://www.springerprofessional.de/en/using-agade-traffic-to-analyse-purpose-driven-travel-behaviour/19696732 and https://link.springer.com/chapter/10.1007/978-3-319-59930-4_37

A: We have not included ALL previous works on the subject, as it is too vast an endeavor, only the most important papers and frameworks. Agade seems to be interesting, but it is not easy to be sure as the paper quoted above which seems to describe the whole system is a 4-page conference paper with 1 citation. We did extensively quote the great review of agent-based traffic frameworks by the same team.

An area that is not addressed by the authors when discussing the various platforms and technologies for ABM of traffic the means of accessing the simulation. For example, many of these simulation frameworks have to be downloaded, installed and are used in conjunction with programming languages such as C++ or Java. This requires considerable computer science skills, which might not be possessed by a transportation analyst. It may be appropriate to consider the ease of use from the perspective of a transportation specialist when evaluating them.

A: This is an excellent remark and we tried to explain this at the end of our introduction.

Please be consistent in the style and notation adopted within your algorithmic code.

A: Improved

Results comprise of simulations covering two sites. A basic comparison is made with [43] and an improvement is noted. the results could be improved by giving some indication as to whether the improvement can be considered statistically significant or not? The lack of a statistical analysis is a major omission from a paper that is otherwise sound.

A: Absolutely true. We performed the analysis and included it in the text.

REVIEWER #2:

This paper deals with a very interesting topic of simulating non-normative traffic conditions. The paper is well structured and easy to follow.

Try to avoid ellipsis points in a scientific text.

A: Rewritten.

As you are talking about microscopic traffic simulations I would leave MATSim out of the discussion, as MATSim is mesoscopic and does not aim to model traffic in such detail.

A: We incorporated in our explanation that part of the reason why MATSim is not capable of handling mixed and non-normative traffic is that it works mainly at a mesoscopic scale, nonetheless it seems to us that it is too well-known a traffic framework for us not to mention it altogether.

You say that this new model can simulate tens of thousands of agents, but this is not shown in the paper. Moreover, urban areas today have millions of people. Can you deal with such a scale?

A: True, thank you. We performed and included in the paper a new experiment where we simulate up to 100 000 agents in the traffic.

Lines 65-66, why is it advantageous that your model is integrated with GAMA? Why is, for instance, SUMO not easily adaptable to new contexts while your approach is? Can you please provide some concrete examples?

A: GAMA is a generic platform that is already used to build models in very different domains (opinion dynamics, epidemiology, natural resource management, risk management, transportation…). Many modelers using GAMA do not come from a computer science background and would have great difficulty programming their model with a generic language like C++. Thus, one of the big advantages of integrating the model directly into GAMA and not just trying to enrich SUMO is to facilitate the interaction of our traffic model with other models: the fact of staying in the same platform handling the same objects and based on the same abstraction is much easier than coupling different software. For example, just adding new elements such as vehicle-pedestrian interaction inside SUMO is complex whereas it can be done very simply with GAMA (which already integrated some classic built-in pedestrian models). We tried to better explain this aspect in the manuscript.

I think that the MATSim community prefers a different citation:

Horni, A., K. Nagel and K. W. Axhausen (2016) The multi-agent transport simulation MATSim, Ubiquity Press London.

A: We changed the citation.

Sometimes you write JAVA and sometimes Java, I believe Java would be more appropriate.

A: Java is now used everywhere.

It is unclear what is meant by “Synthetic population generation is highly dependent on these modules…”. I would argue that MATSim is independent of the process used to generate the synthetic population. Please elaborate.

A: It was indeed not very clear nor did it contribute much: we took it out

SUMO community also prefers a different citation (as stated on the website):

Pablo Alvarez Lopez, Michael Behrisch, Laura Bieker-Walz, Jakob Erdmann, Yun-Pang Flötteröd, Robert Hilbrich, Leonhard Lücken, Johannes Rummel, Peter Wagner, and Evamarie Wießner. IEEE Intelligent Transportation Systems Conference (ITSC), 2018.

A: We changed the citation.

Line 117, you mention advanced features, please give examples.

A: We took out “advanced” if it was the cause of your question.

The GAMA integrated traffic model

Lines 207-210, the sentence is badly written and needs re-writing.

Line 226, occupied-> occupies

Line 234 find->finds

Line 273, 1 -> Algorithm 1

Line 274, feature -> features

Ine 307, vanishes -> vanish

A: Re-written and corrected.

Why is the incentive criterion (equation 7) containing the disadvantage for the new follower? The one changing the lane usually only looks at her own advantage. Can you please explain why did you consider also this second term in the equation?

A: We used the equation as in the original MOBIL paper, to which you can refer for further details.

You should make it clear that you are not validating your model using an empirical MFD, but only that the shape of the graph resembles an expected MFD shape.

A: Done.

I assume you are adding 100 vehicles to the system every 2 minutes? This is not clear from lines 394-396.

A: Yes, that's what we do. Rewritten for improved clarity

The context could go to the related works section.

A: It is the context of our experiment, so we do not think so.

Line 412, please state i which year.

Lines 415-417, if mobility -> even if mobility

A: Done.

Line 478, a list a -> a list of

A: Done.

Line 491, two lane -> two lanes

A: Done.

2 meters is much more than double of 0.8 meters.

A: Rewritten

How many vehicles are simulated in the presented results? I guess much less then thousands you were mentioning before.

A: Number added in the text (1903 and 1031)

Can you please explain how is the model from [43] calibrated? This is not even explained in the original manuscript as far as I can see. The article [43] is, I guess, not allowing agents to violate red lights at intersections (as can be seen from figures 10 and 13). I wonder if this simple addition is added how would the two models compare in terms of DTW.

A: Excellent remark, thank you. We redid the experiments described in [43] while adding the possibility to violate red lights, and wrote our calibration and comparison in the paper.

It is not clear to me if the road in Figure 4 has another approach at the intersection. The figure is of bad quality, as in general, all figures are ( please improve the quality/resolution of figures). For the roads, a schematic would have been nicer and a pointer to the WGS84 coordinates of start and end points, so one could easily find them.

A: We redrew all the figures.

I also wonder how your model compares with SUMO as a notable example of an open-source traffic simulation. How much effort would it be to add a probability function in SUMO that allows agents to violate red signals at intersections? I wonder how much of the added value is exactly this feature compared with the non-normative driving behavior before reaching the signal. This you could even test using your own model, and by switching on and off different features.

A: It is indeed possible to integrate in SUMO some of the elements that we have integrated in our model (in particular on the non-normative aspects of driving) to allow it to better simulate road behaviors as they can be observed in Vietnam. Nevertheless, it seems interesting to us to integrate our model in GAMA rather than in a platform like SUMO. We have tried to argue this point better in the introduction. For the two roads we studied, it is certain that allowing motorcycles not to stop at a red light is an important element that strongly impacts the result (and that is why, following your suggestion, we added this feature to the Dang et al. model for comparison).

Please try to avoid using etc. in scientific texts.

A: Done.

REVIEWER #3:

It would be good to provide a reference to back up this statement on Line 21 - 24.

A: We could not find a paper where equational macroscopic models model individual behavior such as driving against the flow or with multiple vehicles sharing the width of a lane. We could not either find a reference saying that such a thing does not exist.

Line 64 - 67 suggest that other exisitng modeling frameworks do not take account of multi-modal traffic which is not so. Unless the authors mean to say that these frameworks do not account specifically for multi-modal trafic in non-normative context. In that case the statement needs to be adjusted to say that.

A: Adjusted.

In Line 85 the authors wrongly states that VISSIM, AnyLogic etc are agent based modeling frameworks. The author should correct this considering that in the citation of Nguyen et al [16] they review the agent-based models. Also it is not clear why TRANSIMS has been reviewed for comparison.

A: They are well-known microsimulation capable traffic modeling softwares or framework, that we only mention to explain why, although they may sound familiar to the reader, especially if he or she comes from a traffic simulation culture, they are precisely out of the scope of this short survey.

In Line 101 to 103 the author mentions that MATSim do not have extensions with non normative driver behavior and mixed interacting modes. However it should be mentioned that MATSim is a mesoscopic traffic simulator which is why it does not do this.

A: We added this mention

Authors should specify the meanings of the abbreviations for IDM and MOBIL when first written.

A: Done.

In section 4.1, it is not clear what the blue dot on Figure 1 represents. Is it a node connecting different sections of the roads? Also the concept of sublanes is not clear. It would be nice to illustrate the sublanes in Figure 2. For example in Line 226 to 228, is the car meant to occupy 2 sublanes or 2 lanes?

A: The blue node is indeed a node connecting two sections of the road, while not being an intersection. It can be used to model geometry or a change in some characteristics of the section (number of lanes, speed limits)

In equation 1, using s to represent distance could be confusing.

A: It is the traditional name of this variable, including in [9] where the IDM is defined.

It is not clearly explained how the vehicle speeds are computed in the model even though this is shown in the equations.

A: A more intuitive explanation can be found in [9] and its references. The operational principle was that we started with a well-established car-following model in freeways, that we adapted to urban traffic in an agent-based simulation.

Is equation 3 not referring to the computation of vehicle freespeed v_not?

A: It was erroneously mentioning S0 on the left side of the equation, we replaced it by the correct v0.

For section 5, the GAMA version used for the scenario testing should be specified. The year of the mobility study used for mode share reference should be specified as well

A: Done.

What the authors want to say in Line 415 - 417 is not immediately clear

A: Re-written.

For which city is the work by [41, 43]? Stating it would give better context to the comparisons. A table summarising these comparisons would also be apt.

A: Vietnamese cities, Hanoi and Ho Chi Minh city. We indicated it in the text.

In the description of their model for Hanoi the author should specify if peak traffic period or the whole day is modelled. It should also be justified why an initial speed of 20km/h has been given to every vehicle at the start of the simulation. Is it based on equation 3 or just random?

A: Some precisions have been added in the text.

What does cycling phenomena refer to in line 521?

A: Cyclical, not cycling, fixed.

It would be nice to have a general figure of how the authors' model integrates with the the GAMA simulation

A: It is a plugin integrated as an agent's skill, we could not find a figure to make this clearer. We rather added a sentence to clarify this in the introduction.

Line 207, depending of the countries and drivers, a lane can be compare as a corridor --> depending on the countries and drivers, a lane can be compared to a corridor...

line 302 driver to drives --> driver to drive

Line 419 If a significant --> Even though a significant...

Line 434 was able to reproduced --> was able to reproduce

Line 454 it can be only used the simulate only hundreds --> it can only be used to simulate hundreds...

Check for future tense wrong usage. E.g in Table 2 the purpose will be covered Page 6 --> the purpose is covered in page 6

A: Done and corrected.

Check for references to the algorithms. See line 273 and 283

Maybe revise the title to capture the essence of the paper. E.g. Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platform.

A: Great suggestion, done.

Attachment

Submitted filename: Response to Reviewers.pdf

Decision Letter 1

Nan Zheng

30 Aug 2022

PONE-D-22-04270R1Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platformPLOS ONE

Dear Dr. Taillandier,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

==============================Please address the remaining comment. It looks like the paper is ready soon.==============================

Please submit your revised manuscript by Oct 14 2022 11:59PM. If you will need more time than this to complete your revisions, please reply to this message or contact the journal office at plosone@plos.org. When you're ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). You should upload this letter as a separate file labeled 'Response to Reviewers'.

  • A marked-up copy of your manuscript that highlights changes made to the original version. You should upload this as a separate file labeled 'Revised Manuscript with Track Changes'.

  • An unmarked version of your revised paper without tracked changes. You should upload this as a separate file labeled 'Manuscript'.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter. Guidelines for resubmitting your figure files are available below the reviewer comments at the end of this letter.

If applicable, we recommend that you deposit your laboratory protocols in protocols.io to enhance the reproducibility of your results. Protocols.io assigns your protocol its own identifier (DOI) so that it can be cited independently in the future. For instructions see: https://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols. Additionally, PLOS ONE offers an option for publishing peer-reviewed Lab Protocol articles, which describe protocols hosted on protocols.io. Read more information on sharing protocols at https://plos.org/protocols?utm_medium=editorial-email&utm_source=authorletters&utm_campaign=protocols.

We look forward to receiving your revised manuscript.

Kind regards,

Nan Zheng

Academic Editor

PLOS ONE

Journal Requirements:

Please review your reference list to ensure that it is complete and correct. If you have cited papers that have been retracted, please include the rationale for doing so in the manuscript text, or remove these references and replace them with relevant current references. Any changes to the reference list should be mentioned in the rebuttal letter that accompanies your revised manuscript. If you need to cite a retracted article, indicate the article’s retracted status in the References list and also include a citation and full reference for the retraction notice.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #2: All comments have been addressed

Reviewer #3: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #2: Yes

Reviewer #3: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #2: Yes

Reviewer #3: N/A

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #2: Yes

Reviewer #3: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #2: Yes

Reviewer #3: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #2: I have no further comments.

Reviewer #3: Thank you for responding to the revisions suggested. The response to the suggested revisions is satisfactory and the paper has been improved for more clarity. However, the authors need to pay careful attention to the following and revise the manuscript carefully before publishing can be done:

- Incomplete sentences e.g., line 333 page 10 "(Function :"

- Poorly formatted references in the text and poor latex formats e.g., line 300 page 10 "textbfchooseLane" and line 306 page 10 "see ??"

- Grammatical mistakes e.g line 117 page 4 e.g. having a bicycle or not

- Others

- Line 177 page 5, it is not clear if authors refer to the Table 1 in the article being referenced

- Need for consistency. Line 265 page 8. Compute_path written differently from other Java methods highlighted

These are just a few examples. Further proofreading is necessary for the whole manuscript.

Additionally, for the results it would be beneficial to readers if the authors include a brief explanation on the reason behind the amplified effects of oscillations of their model for motocycles in comparison to [45]. Especially since it happened only in the case of Tay Son street.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #2: No

Reviewer #3: No

**********

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email PLOS at figures@plos.org. Please note that Supporting Information files do not need this step.

PLoS One. 2023 Mar 6;18(3):e0281658. doi: 10.1371/journal.pone.0281658.r004

Author response to Decision Letter 1


20 Oct 2022

Reviewer #3: However, the authors need to pay careful attention to the following and revise the manuscript carefully before publishing can be done:

- Incomplete sentences e.g., line 333 page 10 "(Function :"

- Poorly formatted references in the text and poor latex formats e.g., line 300 page 10 "textbfchooseLane" and line 306 page 10 "see ??"

- Grammatical mistakes e.g line 117 page 4 e.g. having a bicycle or not

- Others

- Line 177 page 5, it is not clear if authors refer to the Table 1 in the article being referenced

- Need for consistency. Line 265 page 8. Compute_path written differently from other Java methods highlighted

These are just a few examples. Further proofreading is necessary for the whole manuscript.

Authors: Done.

Reviewer #3: Additionally, for the results it would be beneficial to readers if the authors include a brief explanation on the reason behind the amplified effects of oscillations of their model for motocycles in comparison to [45]. Especially since it happened only in the case of Tay Son street.

Authors: It is possible to observe more oscillations in our model than in that of [43] for motorcycles. One explanation is that the vehicles in the model of [43] are not based on lanes but on free spaces to move. Therefore, they have more possibility to execute maneuvers to avoid the vehicles stopped in front of them and therefore, if they decide not to stop at the red light (probability to stop at the red light of 0.5), to continue their way allowing less impact of the red light. In our model, the blocking of all lanes at the red light happens more quickly, leaving a more pronounced oscillation phenomenon.

We do not find this phenomenon for Chua Boc because the road is much less wide than Tay Son, so even if vehicles have more ability to avoid obstacles, the blocking of spaces at the level of red lights happens much faster and with the phenomenon of oscillation.

Attachment

Submitted filename: response to reviewer - final.pdf

Decision Letter 2

Nan Zheng

30 Jan 2023

Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platform

PONE-D-22-04270R2

Dear Dr. Taillandier,

We’re pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it meets all outstanding technical requirements.

Within one week, you’ll receive an e-mail detailing the required amendments. When these have been addressed, you’ll receive a formal acceptance letter and your manuscript will be scheduled for publication.

An invoice for payment will follow shortly after the formal acceptance. To ensure an efficient process, please log into Editorial Manager at http://www.editorialmanager.com/pone/, click the 'Update My Information' link at the top of the page, and double check that your user information is up-to-date. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to help maximize its impact. If they’ll be preparing press materials, please inform our press team as soon as possible -- no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

Kind regards,

Nan Zheng

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

Reviewers' comments:

Acceptance letter

Nan Zheng

24 Feb 2023

PONE-D-22-04270R2

Dealing with mixed and non-normative traffic. An agent-based simulation with the GAMA platform

Dear Dr. Taillandier:

I'm pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.

If your institution or institutions have a press office, please let them know about your upcoming paper now to help maximize its impact. If they'll be preparing press materials, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.

If we can help with anything else, please email us at plosone@plos.org.

Thank you for submitting your work to PLOS ONE and supporting open access.

Kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Nan Zheng

Academic Editor

PLOS ONE

Associated Data

    This section collects any data citations, data availability statements, or supplementary materials included in this article.

    Supplementary Materials

    S1 File

    (PDF)

    Attachment

    Submitted filename: Response to Reviewers.pdf

    Attachment

    Submitted filename: response to reviewer - final.pdf

    Data Availability Statement

    the code of the model and of the data are available here: https://doi.org/10.6084/m9.figshare.21369090.v1.


    Articles from PLOS ONE are provided here courtesy of PLOS

    RESOURCES