Leave from home early was a suggestion by my first employer in Bangalore. Initially, I did not understand the reason behind it. On most days it took me close to an hour and a half to get to work every morning, which is approximately 15km from my house. Having understood the reason, I kept telling myself Leave early from office or Leave late from office to escape peak hour traffic.
The increasing dissatisfaction and frustrations at being frequently caught in traffic jams raised an interest in understanding the reasons behind it. At first, it was very simple to blame officials or city planners for the narrow roads in the city. I continued to think that narrow roads are major contributors to traffic jams. Moreover, my home town had broader roads and fewer traffic jams, which lead me to believe that narrow roads were the root cause for traffic jams.
Systems involving human interactions intrigued me because of their complex nature. While interacting with people from different disciplines at work, I slowly began to understand the multiple dependencies involved in such systems, their influence on each other and the system as a whole.
This made me question my initial argument and forced me to think of other possible reasons for traffic jam. I kept questioning, is it due to design of the road? Or is it due to the signalling mechanisms? Or is it due to driving behaviours of people? Or other reasons? Upon further questioning, I realised that it could be a one of these reasons or combination of them.
The outcomes of any human action are determined by their behaviour and the environment they are in. Also, these outcomes in turn effect the environment. Similarly the outcomes (traffic pattern) of a road network are determined by the driver behaviour the road network itself.
Interactions in human environment and road network
With a basic knowledge of agent-based models, I gave my initial attempt to model a system that would give me scope to understand and examine the changing vehicles’ behaviour due to variation in different characteristics of road. The readings on agent-based models helped me acknowledge its power in incorporating the behaviours into a model.
As it is difficult to model everything in the first attempt, the question was: What to model and where to begin? I began with a basic definition of a traffic jam.
- I understood traffic jams as a situation that might occur when the vehicles moving at constant speeds reduce their speeds at regular intervals and eventually tend to stop because of a change in properties of the road network.
- These properties might be a malfunctioning traffic signal or an accident, or the location of bus-stops etc.
For the purposes of the model, the following were the assumptions made:
- A traffic jam is defined as: A situation in which vehicles cannot move because of the density of traffic.
- Each side of the road has one lane.
I chose Netlogo as the platform to develop the model. Also, the Netlogo’s model library gave me a jump start. I chose Netlogo’s grid road network to model the intersections of roads with traffic signals.
The agents in the model are:
The model has the following options:
- Add and remove bus-stops.
- Modify the location of bus-stops.
- Vary the distribution of vehicle agents.
- Define the number of intersections.
- Select an intersection and change the signal.
- Set the mode of traffic signalling (auto and manual).
Often, I would see vehicles queuing up behind a bus even though the signal was green. Similar situations were observed for the bus stops at the ends of a bridge or flyover. To bring in an element of realism, I chose two lanes of roads on which vehicles move in opposite directions. Different colours are chosen to differentiate the bus-stops near and away from junctions and to differentiate the vehicles moving on opposite lanes.
To understand the variations in vehicle behaviour, I plotted:
- Number of cars stopped at a bus-stop near signals v/s number of cars stopped at bus-stops located away from junction.
- Average waiting time of cars and buses.
- Average speeds of buses and cars.
- Total number of cars and buses stopped.
Netlogo interface of the model
The vehicle behaviours in the model are:
- The speed of the bus becomes zero for a tick of simulation, whenever it approaches a bus-stop .
- The speed of vehicles (cars and buses) reduces to zero whenever they approach another stopped vehicle.
- Vehicles (cars and buses) vary their speeds (acceleration and deceleration) according to the speed of vehicles ahead of them.
In the model, all the vehicles follow their rules constantly.
The waiting times and speeds of vehicles are dependent on the various options. They vary from choosing the distribution of vehicles to location of bus-stops. An important observation was, the decrease in waiting times for cars as soon as bus-stops are moved away from signals.
I will not discuss in detail the various simulations runs and the results. However, what is important and interesting to notice is the transition in defining and understanding the problem with the agent-based approach. Layers of complexities can be added by adding irrational behaviours to randomly selected vehicles, changing the width of road etc. In the future posts, I plan to discuss various traffic modelling platforms available and the research in this field.