1 Highlights
-
A distributed, fully heterarchical and adaptive Traffic Signal Priority System is designed;
-
A new preemptive algorithm based on a state-of-the-art algorithm named the Longest Queue First – Maximal Weight Matching (LQF-MWM) algorithm;
-
Performance is assessed against a customized distributed and preemptive adaptation of the VISSIM Optimized Stage-Based Fixed-Time algorithm (OSBFX);
-
Competitive performance in case of stable and unstable traffic volumes.
2 Introduction
2.1 An overview on traffic signals control and priority systems
2.2 An overview on intelligent control approaches
-
This work aims to enable complex problem modeling and resolution in order to achieve a distributed control;
-
The MAS paradigm alone is not able to achieve capabilities specifically dedicated to EVs management and the reason behind that is because of their generic conceptual framework and lack of built-in adaptation mechanisms [7];
-
Despite their success and popularity, these approaches still face some limitations, including control of disturbances related to EVs and assessment of performance under real life situations [21].
2.3 Problem statement
-
It helps in creating and improving data base of signal control decisions [18];
-
According to Wu et al. [36], LQF-MWM showed a competitive performance compared to several approaches existing in the literature, such as the First Come First Serve policy (FCFS) and Colony System (ACS);
-
The experiment in [7] shows that the LQF-MWM is able to deal with a disturbed network made of multiple intersections;
-
There is no reference that have considered prioritisation between vehicles and all vehicles are treated uniformly;
-
It is assumed that the preemption is the most used technique to prioritise the crossing of EVs, but this technique is not yet integrated into the LQF-MWM;
-
The majority of works that have referred to LQF-MWM have considered a single intersection, while those whom have considered more complex network of several intersections lack in communication technique and cooperative control between signals, in order to ensure a fluid network;
-
There is no reference that have integrated the preemption technique into MAS;
-
They lack in-depth analysis and assessment;
-
There is a need for systems that are able to maintaining the traffic fluidity while favouring the crossing of EVs.
3 Preemptive LQF-MWM control algorithm
3.1 The basic LQF-MWM algorithm
-
At each approach of the intersection, the amount of traffic does not exceed the capacity of the approach;
-
It is not allowed to overload any of the destination approaches;
-
All queues are served in accordance with the policy fixed by the signal control algorithm;
-
At time t = 0, there is no loopback traffic, all Q(t0) = 0;
-
The evolution of the queue occupancy can be expressed as:
-
The weight produced by the LQF-MWM algorithm at time t is given by:
-
The average rate of vehicles moving through the intersection from input approach j destined for output approach k.
3.2 Preemptive LQF-MWM algorithm
-
Step 1 - Reception of the local traffic data at each time t;
-
Step 2 – Use the LQF-MWM (see Section 3.1) to control traffic under normal situation;
-
Step 3 – Analyze data in order to detect possible EV(s);
-
Step 4 – If EV(s) is/are located at the local intersection:
-
◦ Step 4.1 – Analyze the EV(s) information (number of EVs, type(s), destination(s));
-
◦ Step 4.2 – According to the number of EVs, create a local decision (phase sequence) using the following cases:
-
▪ Step 4.2.1 – If there is more than one EV:
-
Step 4.2.1.1 - If the EVs have different types: serve the EV with the highest priority, then the lowest, and finally the normal priority;
-
Step 4.2.1.2 - If the EVs have the same type:
-
❖ Step 4.2.1.2.1 – Analyze the local queue occupancies;
-
❖ Step 4.2.1.2.2 - Serve the EV located at the approach having the lowest queue occupancy and the nearest to the signal head;
-
-
-
▪ Step 4.2.2 – If there is just one EV: Serve it;
-
-
◦ Step 4.3 – Request the traffic fluidity data of the neighbouring intersection(s);
-
◦ Step 4.4 – Reception of the traffic fluidity data from the neighbouring intersection(s);
-
◦ Step 4.5 – Evaluate and compare the traffic fluidities of the neighbouring intersection(s) (queue occupancies);
-
◦ Step 4.6 – Create a global decision: choose the next intersection that will receive the EV according to two factors; the EV destination and the collected traffic fluidities data of neighbours. The intersection with the lowest queue occupancies will be chosen;
-
◦ Step 4.7 – Outputs: deliver the control decision (local and global decisions) to be applied by the agent;
-
-
Step 5 – Go to step 1.
4 System modelling and concepts
4.1 Assumptions
-
Type 1 ‘HS’: this type of EV is considered as the highest priority. For example ambulance;
-
Type 2 ‘H’: this type of EV is considered as the high priority. For example fire-trunk;
-
Type 3 ‘N’: this type of EV is considered as the normal priority. For example Police car.
-
I is the number of intersections (9 intersections);
-
INi (i = 1, …, I) is the ID of an intersection;
-
M is the number of approaches at an intersection (4 approaches per intersection);
-
APm(m = 1, …, M) is the ID of the approach m;
-
TEV is the type of the EV;
-
P is the priority rule assigned to the EV (HS = highest priority; H = high priority; N = normal priority);
-
DIi (i = 1, …, I) is the destination intersection i that an EV should reach;
-
DApm(m = 1, …, M)is the destination approach m that an EV should reach;
-
DSt is the distance to the signal head of an EV at the detection instant t;
-
ORm is the order of the phase associated to approach m;
-
NI is the next chosen intersection to receive the EV;
-
Qm is the queue occupancy of an approach m;
-
Q(t) = Qm(t) (m = 1, …, M) is the queue occupancy vector represented in number of vehicles currently queued at time t;
-
Sjk(t) is the allowable intersection configurations considered by the algorithm where; Sjk(t) = 1 if input approach j is selected by the control algorithm to connect to output approach k; otherwise Sjk(t) = 0;
-
W(t) is the weight produced by the LQF-MWM algorithm at time t;
-
D(t) is the number of vehicles departed from approach i to approach j during time slot t;
-
A(t) is the number of vehicles arriving to the queue at time t;
4.2 Emergency case representation
IN
i
|
AP
m
|
T
EV
|
P
|
DI
i
|
DAp
m
|
DS
t
|
Q
m
|
IN
i
|
AP
m
|
T
EV
|
P
|
DI
i
|
DAp
m
|
DS
t
|
Q
m
|
---|---|---|---|---|---|---|---|
1 | 4 | Ambulance |
HS
| 7 | 3 | 350 | 15 |
1 | 2 | NULL | NULL | NULL | NULL | NULL | NULL |
1 | 1 | Fire − trunk |
H
| 5 | NULL | NULL | NULL |
1 | 3 | Ambulance |
HS
| 6 | 2 | 220 | 10 |
-
An ambulance with highest priority is located at the approach 4 of intersection 1. The ambulance should reach a hospital at the approach 3 of intersection 7 (see Fig. 3). This vehicle is 350 m from the signal head, and its approach has 15 vehicles queued.
-
Approach 2 of intersection 1 has no EV;
-
A fire-trunk with high priority located at the approach 1 of intersection 1. The vehicle should reach an accident located at the middle intersection which is number 5 (see Fig. 3).
-
Another ambulance with highest priority is located at the approach 3 of intersection 1, the vehicle should reach a fire in a forest located at the approach 2 of intersection 6 (see Fig. 3). This vehicle is 220 m from the signal head, and its approach has 10 vehicles queued.
4.3 Control decision representation
Emergency case | Control decision | ||||||||
---|---|---|---|---|---|---|---|---|---|
Local decision | Global decision | ||||||||
IN
i
|
AP
m
|
T
EV
|
P
|
DI
i
|
DAp
m
|
DS
t
|
Q
m
|
OR
m
|
NI
|
Emergency case | Control decision | ||||||||
---|---|---|---|---|---|---|---|---|---|
Local decision | Global decision | ||||||||
IN
i
|
AP
m
|
T
EV
|
P
|
DI
i
|
DAp
m
|
DS
t
|
Q
m
|
OR
m
|
NI
|
1 | 4 | Ambulance |
HS
| 7 | 3 | 350 | 15 | 2 | 2 |
1 | 2 | NULL | NULL | NULL | NULL | NULL | NULL | 4 | NULL |
1 | 1 | Fire − trunk |
H
| 5 | NULL | NULL | NULL | 3 | 4 |
1 | 3 | Ambulance |
HS
| 6 | 2 | 220 | 10 | 1 | 2 |
-
Approach 4 of intersection 1 is the second to be served with a green light;
-
Approach 2 of intersection 1 is the fourth to be served with a green light;
-
Approach 1 of intersection 1 is the third to be served with a green light;
-
Approach 3 of intersection 1 is the first to be served with a green light.
-
The ambulance located at the approach 4 of intersection 1 should take intersection 2 as next intersection toward its destination;
-
Nothing for approach 2 of intersection 1;
-
The fire-trunk located at the approach 1 of intersection 1 should take intersection 4 as next intersection toward its destination;
-
The ambulance located at the approach 3 of intersection 1 should take intersection 2 as next intersection toward its destination.
4.4 Detection and creation of emergency case
5 Heterarchical multi-agent system based P-LQF-MWM
5.1 Agent behaviours
-
P-LQF-MWM behaviour (see Section 3.2): this behaviour allows the agent to control its intersection and deliver control decisions using the data of the intersection and the data received from the Receiver behaviour;
-
Sender behaviour: this behaviour takes as input the global decisions delivered by the P-LQF-MWM behaviour. Then it creates messages with destination addresses and send them to neighbouring agents;
-
Receiver behaviour: this behaviour reads messages received from the neighbouring agents. Then, it extracts the order from the messages, and place the order at the P-LQF-MWM behaviour.
5.2 Agent coordination
6 Tools and technologie adopted
6.1 VISSIM traffic simulator and sensors setup
6.2 Agent implementation tools
6.3 Agent design
6.4 Code structure
-
Agent.py: in this file the agent class are implemented. This class contains the agent behaviours (see Fig. 7). The sender and receiver behaviours are explicitly implemented into the agent class, while the P-LQF-MWM behaviour recall P-LQF-MWM.py file;
-
P-LQF-MWM.py: the suggested algorithm is implemented in this file;
-
Com.py: this file establish the communication between VISSIM simulator and Python. Thus, it loads the intersections network, and it sets the preferences of the user regarding the simulation settings;
-
Main.py: this is the file where the main program is implemented. This file works as runner allowing the initiation of VISSIM simulator (see Section 6.1), the connection with SPADE platform, and the starting of agents.
7 Experimentation
7.1 MAS preemptive optimized stage-based fixed-time controller
-
VISSIM determines the average delay of all vehicles;
-
For optimizing, the signal group in which the vehicles have the highest delay is determined for each stage;
-
The stage with the lowest maximum average delay is selected as the best stage;
-
The stage with the highest maximum average delay is selected as the worst stage;
-
A second of green time is deducted from the best stage;
-
A second of green time is added to the worst stage;
-
If a second can no longer be deducted from the best stage, the second best stage is used. If this can no longer be shortened, the next worst stage is always taken iteratively. If no other stage can be shortened, the optimization is terminated;
-
A signal program is considered to be better than another if one of the following criteria is met:
-
◦ If the flow formed by the total number of vehicles driven through the node during the simulation run has increased significantly by at least 25 vehicles or by 10% if this is less;
-
◦ If the flow has not significantly decreased by 25 vehicles or by 10% and the average delay across all vehicles has decreased;
-
-
If a signal program is better than the best rated, it replaces this as the best. The optimization is continued with the next step;
-
The optimization is terminated if one of the following criteria is met:
-
◦ Once the signal program does not improve within 10 simulation runs;
-
◦ Once the flow decreases by more than 25% compared to the best signal program;
-
◦ Once the average delay increases by more than 25%.
-
7.2 Simulated scenarios
-
Scenario S1: has 12.000 generated vehicles. S1 allows the assessment of the performance of the controllers under stable traffic condition characterized by the same traffic density;
-
Scenario S2: has 15.600 generated vehicles. S2 allows the assessment of the performance of the controllers under unstable traffic condition characterized by variable traffic loads.
Scenario | Intersection/approach | |||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Inter 1 | Inter 2 | Inter3 | Inter 4 | Inter 5 | Inter 6 | Inter 7 | Inter 8 | Inter 9 | ||||||||||||||||||||||||||||
AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | AP1 | AP2 | AP3 | AP4 | |
S1 | 500 | – | – | 500 | 500 | – | – | – | 500 | 500 | – | – | – | – | – | 500 | – | – | – | – | – | 500 | – | – | – | – | 500 | 500 | – | – | 500 | – | – | 500 | 500 | – |
S2 | 400 | – | – | 600 | 350 | – | – | – | 800 | 750 | – | – | – | – | – | 650 | – | – | – | – | – | 900 | – | – | – | – | 700 | 850 | – | – | 900 | – | – | 400 | 500 | – |
7.3 Settings and KPIs
-
Regarding the probability distribution function used for vehicle arrivals, the default random seed value assigned by VISSIM which is 25 is used;
-
Regarding the traffic demand, we used the dynamic assignment in VISSIM which gives a free choices to drivers to choose the path from their origin start until their final destination;
-
Regarding driver behaviours, VISSIM uses the psycho-physical perception model of Wiedemann [35];
-
Regarding the maximum speed limit, two different speed values are used which are:
-
◦ 50 km/h as a desired speed distribution for ordinary vehicles which is a default value defined by VISSIM;
-
◦ 90 km/h as a desired speed distribution for the EVs.
-
-
Queue lengths are collected each 10 s;
-
Vehicle stops are collected each 10 s;
-
Delays are collected each 10 s;
-
Travel times are collected each 10 s;
-
Vehicles speed are collected each second.
-
The average number of stops of EVs. This refers to the number of times that EVs have stopped to reach their destinations. The algorithm who reduces the average number of EVs stops is considered the best;
-
The average speed of EVs since located in the network until leaving it. The algorithm allowing the highest average speed for EVs is considered the best;
-
The average distance traversed of EVs since located in the network until leaving it. The algorithm allowing EVs to reach their destinations with the minimum distance traversed is considered the best;
-
The average total travel time per EV. This refers to the mean travel time spent by an EV since located in the network until reaching its destination. The algorithm who reduces the average total travel time of each EV is considered the best;
-
The average total delay per EV. This refers to the time spent by an EV since located in the network until reaching its destination. The algorithm who reduces the average total delay of each EV is considered the best;
-
The total travel time of all EVs. This refers to the total travel time of all EVs spent since located in the network until reaching their destinations. The algorithm who reduces the average total travel time of all EVs is considered the best;
-
The total delay of all EVs. This refers to the total delay of all EVs spent since located in the network until reaching their destinations including queue delay. The algorithm who reduces the average total delay of all EVs is considered the best.
-
The average total travel time per vehicle in the network. This refers to the mean travel time of a single vehicle spent until leaving the network. The algorithm who reduces the average total travel time of all vehicles in the network is considered the best;
-
The average total delay per vehicle in the network. This refers to the mean delay of a single vehicle spent until leaving the network. The algorithm who reduces the average total delay of all vehicles in the network is considered the best;
-
The total travel time in the network. This represents the total travel time spent by all vehicles in the network. The algorithm who reduces the total travel time of all vehicles in the network is considered the best;
-
The total delay in the network. This represents the total time spent by all vehicles in the network, the average queue delay of vehicles, and the time taken by vehicles to leave the network. The algorithm who reduces the total delay of all vehicles in the network is considered the best;
-
The average queue occupancy per intersection. This represents the mean number of vehicles queued in each approach of the network. The algorithm who reduces the average queue occupancy in the network is considered the best;
8 Results
8.1 EV results
8.1.1 Scenario S1
EVs KPIs | MAS-P-LQF-MWM | MAS-P-OSBFX-60s | MAS-P-OSBFX-240 s |
---|---|---|---|
AVG No Stops | 2.493 | 7.177 | 11.938 |
AVG speed | 30.678 | 20.824 | 15.169 |
AVG distance traversed | 1417.183 | 1784.533 | 5467.309 |
8.1.2 Scenario S2
EVs KPIs | MAS-P-LQF-MWM | MAS-P-OSBFX-60s | MAS-P-OSBFX-240 s |
---|---|---|---|
AVG No Stops | 1.114 | 31.716 | 5.305 |
AVG speed | 39.851 | 4.855 | 11.319 |
AVG distance traversed | 495.763 | 2885.373 | 1075.417 |