MSc Seminar by Yazan Safadi, Subject: "Optimal Integrated Routing and Signal Control in Urban Traffic Networks"
For more info please do not hesitate to contact me at safadiyazan@gmail.com.
1. Optimal Integrated Routing and Signal Control in Urban Traffic
Networks
YAZAN SAFADI
The Research Thesis Was Done Under The Supervision of Jack Haddad.
Jaunary 28, 2019
In Partial Fulfillment of the Requirements for the Degree of
Master of Science in Transportation and Highways Engineering
2. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Route Guidance Signal Control
• Gartner, 1976; Area traffic control and network equilibrium.
• Smith, 1987; Traffic control and traffic assignment.
2 / 25
3. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Route Guidance Signal Control
• Gartner, 1976; Area traffic control and network equilibrium.
• Smith, 1987; Traffic control and traffic assignment.
• Vuren and Vliet, 1992; Investigating different traffic signal control policies with
traffic routing interaction.
• Taale, 2001 and Mitsakis, 2011; Review the combined problem.
• Taale, 2015; Back-pressure control for the combined problem.
2 / 25
4. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
• Ioslovich et al., 2011; Optimal traffic control synthesis for an isolated intersection.
• Smith and Mounce, 2011; A splitting rate combined model using P0 policy.
A B C
Route 1
Route 2
Destination
Origin
3 / 25
5. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
A B C
Signal
Routing
Route 1
Route 2
Destination
Origin
Research goals
• Developing a continuous-time traffic model for the combined problem of routing and signal control.
• Formulating the optimal control problem and solving analytically.
4 / 25
6. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
A B C
Signal
Routing
Route 1
Route 2
Destination
Origin
Research Problem
• Integrating routing and traffic signal control, while considering idealized splitting rate model.
• Optimal control synthesis for bringing initial queue lengths to a predefined steady-state or equilibrium
queues, by manipulating traffic routing- and signal-control inputs.
5 / 25
7. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
A B C
Signal
Routing
Route 1
Route 2
Destination
Origin
Research Problem
• Integrating routing and traffic signal control, while considering idealized splitting rate model.
• Optimal control synthesis for bringing initial queue lengths to a predefined steady-state or equilibrium
queues, by manipulating traffic routing- and signal-control inputs.
Unlike previous works,
(i) the developed model considers dynamic transient periods,
(ii) the model is solved analytically for system optimum via optimal control.
5 / 25
8. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
5 / 25
9. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
A B C
Signal
Routing
a(t)
a · v1(t)
a · v2(t)
d1 · u1(t)
d2 · u2(t)
q1(t)
q2(t)
Traffic terminology:
• total inflow: a(t) [veh/s],
6 / 25
10. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
A B C
Signal
Routing
a(t)
a · v1(t)
a · v2(t)
d1 · u1(t)
d2 · u2(t)
q1(t)
q2(t)
Traffic terminology:
• total inflow: a(t) [veh/s],
• routing-control inputs: v1(t), v2(t) [−],
6 / 25
11. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
A B C
Signal
Routing
a(t)
a · v1(t)
a · v2(t)
d1 · u1(t)
d2 · u2(t)
q1(t)
q2(t)
Traffic terminology:
• total inflow: a(t) [veh/s],
• routing-control inputs: v1(t), v2(t) [−],
• signal-control inputs: u1(t), u2(t) [−],
• output saturation flows: d1, d2 [veh/s],
6 / 25
12. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
A B C
Signal
Routing
a(t)
a · v1(t)
a · v2(t)
d1 · u1(t)
d2 · u2(t)
q1(t)
q2(t)
Traffic terminology:
• total inflow: a(t) [veh/s],
• routing-control inputs: v1(t), v2(t) [−],
• signal-control inputs: u1(t), u2(t) [−],
• output saturation flows: d1, d2 [veh/s],
• queue lengths: q1(t), q2(t) [veh],
6 / 25
13. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
A B C
Signal
Routing
a(t)
a · v1(t)
a · v2(t)
d1 · u1(t)
d2 · u2(t)
q1(t)
q2(t)
Traffic terminology:
• total inflow: a(t) [veh/s],
• routing-control inputs: v1(t), v2(t) [−],
• signal-control inputs: u1(t), u2(t) [−],
• output saturation flows: d1, d2 [veh/s],
• queue lengths: q1(t), q2(t) [veh],
• slack variables: w1(t), w2(t) [−].
Dynamic equations
dq1(t)
dt
= a(t) · v1(t) − d1 · (u1(t) − w1(t)) ,
dq2(t)
dt
= a(t) · v2(t) − d2 · (u2(t) − w2(t)) .
6 / 25
16. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Model
Dynamic equations
dq1(t)
dt
= a(t) · v1(t) − d1 · (u1(t) − w1(t)) ,
dq2(t)
dt
= a(t) · v2(t) − d2 · (u2(t) − w2(t)) .
State constraints
0 ≤ q1(t), 0 ≤ q2(t) ,
q1(tf ) = 0 , q2(tf ) = 0 .
Control input constraints
u ≤ u1(t) ≤ u , u ≤ u2(t) ≤ u , u1(t) + u2(t) = 1 , u = 1 − u ,
v ≤ v1(t) ≤ v , v ≤ v2(t) ≤ v , v1(t) + v2(t) = 1 , v = 1 − v ,
0 ≤ w1(t) ≤ w1(t), 0 ≤ w2(t) ≤ w2(t) ,
w1(t) = max
0, u1(t) − a(t) · v1(t))/d1
, w2(t) = max
0, u2(t) − (a(t) · v2(t))/d2
.
7 / 25
17. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal control problem definition
Given:
• dynamic equations: dq1(t)
dt
, dq2(t)
dt
,
• initial queue lengths: q1(0), q2(0),
• constant total inflow: a ,
• output saturation flows: d1, d2,
• control and state constraints : (u1 , u2 , v1 , v2 , w1 , w2 ; q1 , q2).
8 / 25
18. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal control problem definition
Given:
• dynamic equations: dq1(t)
dt
, dq2(t)
dt
,
• initial queue lengths: q1(0), q2(0),
• constant total inflow: a ,
• output saturation flows: d1, d2,
• control and state constraints : (u1 , u2 , v1 , v2 , w1 , w2 ; q1 , q2).
manipulate u1(t) (or u2(t)) and v1(t) (or v2(t)) to minimize the total delay:
J =
Z tf
0
q1(t) + q2(t)
dt .
The final time tf [s] is free (not fixed), when both queues are dissolved.
8 / 25
19. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
8 / 25
20. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Pontryagins maximum principle, 1962
Optimal control problem (OCP)
Z T
0
f0(x, u)dt → min (1)
dx(t)
dt
= f(x, u) (2)
x(0) = x0, x(T) = xT (3)
umin ≤ u(t) ≤ umax (4)
where the control variables u(t) ∈ Rm
,
the state variables x(t) ∈ Rn
,
f(x, u) ∈ Rn
, with m ≤ n.
9 / 25
21. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Pontryagins maximum principle, 1962
Optimal control problem (OCP)
Z T
0
f0(x, u)dt → min (1)
dx(t)
dt
= f(x, u) (2)
x(0) = x0, x(T) = xT (3)
umin ≤ u(t) ≤ umax (4)
where the control variables u(t) ∈ Rm
,
the state variables x(t) ∈ Rn
,
f(x, u) ∈ Rn
, with m ≤ n.
According to PMP:
H = pT
· f(x, u) − f0(x, u) . (5)
dp
dt
= −
∂H
∂x
T
= −
∂f
∂x
T
· p +
∂f0
∂x
T
. (6)
The column vector p(t) ∈ Rn
is the vector of costate variables.
9 / 25
22. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Pontryagins maximum principle, 1962
Optimal control problem (OCP)
Z T
0
f0(x, u)dt → min (1)
dx(t)
dt
= f(x, u) (2)
x(0) = x0, x(T) = xT (3)
umin ≤ u(t) ≤ umax (4)
where the control variables u(t) ∈ Rm
,
the state variables x(t) ∈ Rn
,
f(x, u) ∈ Rn
, with m ≤ n.
According to PMP:
H = pT
· f(x, u) − f0(x, u) . (5)
dp
dt
= −
∂H
∂x
T
= −
∂f
∂x
T
· p +
∂f0
∂x
T
. (6)
The column vector p(t) ∈ Rn
is the vector of costate variables.
If exists an optimal solution (x∗
, u∗
), then, there exists p∗
such
that the following conditions are satisfied:
(a) H(x∗
, u∗
, p∗
) ≥ H(x∗
, u, p∗
), i.e. H attains maximum over
the control u,
(b) the variables x∗
, p∗
satisfy (2) and (6),
(c) the variable u∗
satisfy (4),
(d) the end conditions in (3) must be hold.
9 / 25
23. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
9 / 25
24. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Conditions of optimality
According to the PMP (Pontryagin et al., 1962), the Hamiltonian function, H(t), is formed as:
H(t) = p1(t) ·
a · v1(t) − d1 · (u1(t) − w1(t))
+ p2(t) ·
a · v2(t) − d2 · (u2(t) − w2(t))
− [q1(t) + q2(t)] .
10 / 25
25. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Conditions of optimality
According to the PMP (Pontryagin et al., 1962), the Hamiltonian function, H(t), is formed as:
H(t) = p1(t) ·
a · v1(t) − d1 · (u1(t) − w1(t))
+ p2(t) ·
a · v2(t) − d2 · (u2(t) − w2(t))
− [q1(t) + q2(t)] .
The differential costate equation:
dp1(t)
dt
= −
∂H
∂q1
= 1 ,
dp2(t)
dt
= −
∂H
∂q2
= 1 .
10 / 25
26. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Conditions of optimality
According to the PMP (Pontryagin et al., 1962), the Hamiltonian function, H(t), is formed as:
H(t) = p1(t) ·
a · v1(t) − d1 · (u1(t) − w1(t))
+ p2(t) ·
a · v2(t) − d2 · (u2(t) − w2(t))
− [q1(t) + q2(t)] .
The differential costate equation:
dp1(t)
dt
= −
∂H
∂q1
= 1 ,
dp2(t)
dt
= −
∂H
∂q2
= 1 .
Switching functions:
H(t) = u1(t) · [−d1 · p1(t) + d2 · p2(t)] + v1(t) · [a · p1(t) − a · p2(t)]
+w1(t) · p1(t) · d1 + w2(t) · p2(t) · d2
+p2(t) · [a − ·d2] − [q1(t) + q2(t)] .
10 / 25
27. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Conditions of optimality
According to the PMP (Pontryagin et al., 1962), the Hamiltonian function, H(t), is formed as:
H(t) = p1(t) ·
a · v1(t) − d1 · (u1(t) − w1(t))
+ p2(t) ·
a · v2(t) − d2 · (u2(t) − w2(t))
− [q1(t) + q2(t)] .
The differential costate equation:
dp1(t)
dt
= −
∂H
∂q1
= 1 ,
dp2(t)
dt
= −
∂H
∂q2
= 1 .
Switching functions:
H(t) = u1(t) · [−d1 · p1(t) + d2 · p2(t)] + v1(t) · [a · p1(t) − a · p2(t)]
+w1(t) · p1(t) · d1 + w2(t) · p2(t) · d2
+p2(t) · [a − ·d2] − [q1(t) + q2(t)] .
Su(t) = −d1 · p1(t) + d2 · p2(t) , Sv(t) = p1(t) − p2(t) .
10 / 25
28. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
From H(u1, u2, v1, v2, w1, w2) → max follows:
∀Su(t) 0 : u1(t) = u , u2(t) = u ; ∀Su(t) 0 : u1(t) = u , u2(t) = u ;
∀Sv(t) 0 : v1(t) = v , v2(t) = v ; ∀Sv(t) 0 : v1(t) = v , v2(t) = v .
Note that:
∀p1(t) 0 : w1(t) = 0 ; ∀p1(t) 0 : w1(t) = w1(t) ;
∀p2(t) 0 : w2(t) = 0 ; ∀p2(t) 0 : w2(t) = w2(t) .
11 / 25
29. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
From H(u1, u2, v1, v2, w1, w2) → max follows:
∀Su(t) 0 : u1(t) = u , u2(t) = u ; ∀Su(t) 0 : u1(t) = u , u2(t) = u ;
∀Sv(t) 0 : v1(t) = v , v2(t) = v ; ∀Sv(t) 0 : v1(t) = v , v2(t) = v .
Note that:
∀p1(t) 0 : w1(t) = 0 ; ∀p1(t) 0 : w1(t) = w1(t) ;
∀p2(t) 0 : w2(t) = 0 ; ∀p2(t) 0 : w2(t) = w2(t) .
We shall look for the solutions that have the following properties:
p1(t) = 0 only if q1(t) = 0 , p2(t) = 0 only if q2(t) = 0 ,
We also assume that the initial costate variables are negative: p1(0) 0 , p2(0) 0 .
11 / 25
30. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
From H(u1, u2, v1, v2, w1, w2) → max follows:
∀Su(t) 0 : u1(t) = u , u2(t) = u ; ∀Su(t) 0 : u1(t) = u , u2(t) = u ;
∀Sv(t) 0 : v1(t) = v , v2(t) = v ; ∀Sv(t) 0 : v1(t) = v , v2(t) = v .
Note that:
∀p1(t) 0 : w1(t) = 0 ; ∀p1(t) 0 : w1(t) = w1(t) ;
∀p2(t) 0 : w2(t) = 0 ; ∀p2(t) 0 : w2(t) = w2(t) .
We shall look for the solutions that have the following properties:
p1(t) = 0 only if q1(t) = 0 , p2(t) = 0 only if q2(t) = 0 ,
We also assume that the initial costate variables are negative: p1(0) 0 , p2(0) 0 .
• We shall find such solutions that satisfy these assumptions.
• It may be shown that these solutions are optimal with sufficiency (Krotov 1973, Ioslovich and Gutman
2016).
11 / 25
31. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
11 / 25
32. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
Without loss of generality, it is also assumed that: d1 d2 .
12 / 25
33. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
Without loss of generality, it is also assumed that: d1 d2 .
Sv(t) = p1(t) − p2(t) ,
dSv
dt
= 0 ⇒ Sv(t) constant,
12 / 25
34. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
Without loss of generality, it is also assumed that: d1 d2 .
Sv(t) = p1(t) − p2(t) ,
dSv
dt
= 0 ⇒ Sv(t) constant,
Sv(t)
t
t0 tf
Sv 0
Sv = 0
Sv 0
12 / 25
35. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
Without loss of generality, it is also assumed that: d1 d2 .
Sv(t) = p1(t) − p2(t) ,
dSv
dt
= 0 ⇒ Sv(t) constant,
Sv(t)
t
t0 tf
Sv 0
Sv = 0
Sv 0
Su(t) = −d1 · p1(t) + d2 · p2(t) ,
dSu
dt
= −d1 + d2 0 ⇒ Su(t) decreasing,
12 / 25
36. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
Without loss of generality, it is also assumed that: d1 d2 .
Sv(t) = p1(t) − p2(t) ,
dSv
dt
= 0 ⇒ Sv(t) constant,
Sv(t)
t
t0 tf
Sv 0
Sv = 0
Sv 0
Su(t) = −d1 · p1(t) + d2 · p2(t) ,
dSu
dt
= −d1 + d2 0 ⇒ Su(t) decreasing,
Su(t)
t
t0
ts tf
t0 tf
t0 tf
Su 0
Su 0
→ Su 0
Su 0
12 / 25
37. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
• Following the transversality condition for free final time tf , and since the system does not depend on t,
then H(t) = 0 , ∀t ∈ [0, tf ].
13 / 25
38. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
• Following the transversality condition for free final time tf , and since the system does not depend on t,
then H(t) = 0 , ∀t ∈ [0, tf ].
In the following, three different feasible cases of the optimal solutions depending on the initial values of
non-positive costates p1(0), p2(0) are considered:
Case 1
p1(0) = p2(0)
Case 2
p1(0) p2(0)
Case 3
p1(0) p2(0)
13 / 25
39. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal solutions
• Following the transversality condition for free final time tf , and since the system does not depend on t,
then H(t) = 0 , ∀t ∈ [0, tf ].
In the following, three different feasible cases of the optimal solutions depending on the initial values of
non-positive costates p1(0), p2(0) are considered:
Case 1
p1(0) = p2(0)
Case 2
p1(0) p2(0)
Case 3
p1(0) p2(0)
Su(0) 0 and Sv(0) = 0 Case 2a: Sv(0) 0 and Su(0) 0
a switching point occurs
Case 2b: Sv(0) 0 and Su(0) 0
and a switching point does not occur
Su(0) 0 and Sv(0) 0
13 / 25
40. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Case 2: p1(0) p2(0)
Recall: dp1(t)
dt
= dp2(t)
dt
and d1 d2, Sv(t) = p1(t) − p2(t) , Su(t) = −d1 · p1(t) + d2 · p2(t) ,
if p1(0) p2(0) then Sv(t) 0 , ∀t ∈ [0, tf ), → v1(t) = v , v2(t) = v , ∀t ∈ [0, tf ] .
14 / 25
41. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Case 2: p1(0) p2(0)
Recall: dp1(t)
dt
= dp2(t)
dt
and d1 d2, Sv(t) = p1(t) − p2(t) , Su(t) = −d1 · p1(t) + d2 · p2(t) ,
if p1(0) p2(0) then Sv(t) 0 , ∀t ∈ [0, tf ), → v1(t) = v , v2(t) = v , ∀t ∈ [0, tf ] .
In case 2, Su(0) can be negative or positive:
Case 2a: Su(0) 0 and a switching point occurs.
Case 2b: Su(0) 0 and a switching point does not occur.
14 / 25
42. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Case 2: p1(0) p2(0)
Recall: dp1(t)
dt
= dp2(t)
dt
and d1 d2, Sv(t) = p1(t) − p2(t) , Su(t) = −d1 · p1(t) + d2 · p2(t) ,
if p1(0) p2(0) then Sv(t) 0 , ∀t ∈ [0, tf ), → v1(t) = v , v2(t) = v , ∀t ∈ [0, tf ] .
In case 2, Su(0) can be negative or positive:
Case 2a: Su(0) 0 and a switching point occurs.
Case 2b: Su(0) 0 and a switching point does not occur.
Case 2a: The optimal signal control inputs by time are:
Su(t) 0 : u1(t) = u , u2(t) = u , w1(t) = 0 , w2(t) = 0 ∀t ∈ [0, ts] ,
Su(t) 0 : u1(t) = u , u2(t) = u , w1(t) = 0 , w2(t) = 0 ∀t ∈ [ts, tq1 ] ,
Su(t) 0 : u1(t) = u , u2(t) = u , w1(t) = u − (a · v/d1) , w2(t) = 0 ∀t ∈ [tq1 , tf ] .
14 / 25
43. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
; R2 =
a · v − d1 · u
a · v − d2 · u
0 , R3 =
a · v − d1 · u
a · v − d2 · u
0 .
In Case 2a, The feasible state region for (q2, q1)-plane is:
q1(t)
q2(t)
≤ R2 .
15 / 25
44. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
; R2 =
a · v − d1 · u
a · v − d2 · u
0 , R3 =
a · v − d1 · u
a · v − d2 · u
0 .
In Case 2a, The feasible state region for (q2, q1)-plane is:
q1(t)
q2(t)
≤ R2 .
From Su(ts) = 0 ; H(ts) = 0 ; p1(tq1 ) = 0 one get q1(ts), q2(ts) and the switching line in (q2(t), q1(t)) plane
will be:
SL =
q1(ts)
q2(ts)
=
d2 · [d1 · u − a · v]
d1 · [d2 · u − a · v]
≥ 0 .
15 / 25
45. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal control solution - case 2a
Synthesis of the optimal control
u1(t), u2(t)
v1(t), v2(t)
w1(t), w2(t)
=
u, u
v, v
0, 0
if SL ≤ q1(t)
q2(t)
≤ R2 .
u, u
v, v
0, 0
if 0 ≤ q1(t)
q2(t)
≤ SL .
u, u
v, v
w1(t), 0
(
if 0 ≤ q1(t)
q2(t)
≤ SL ,
when q1(t) = 0 .
16 / 25
46. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Optimal control solution - case 2a
Synthesis of the optimal control
u1(t), u2(t)
v1(t), v2(t)
w1(t), w2(t)
=
u, u
v, v
0, 0
if SL ≤ q1(t)
q2(t)
≤ R2 .
u, u
v, v
0, 0
if 0 ≤ q1(t)
q2(t)
≤ SL .
u, u
v, v
w1(t), 0
(
if 0 ≤ q1(t)
q2(t)
≤ SL ,
when q1(t) = 0 .
q1
q2
x
Case 2a
R2
SL
R3
16 / 25
47. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control
policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
R1 =
a · v − d1 · u
a · v − d2 · u
,
R2 =
a · v − d1 · u
a · v − d2 · u
,
R3 =
a · v − d1 · u
a · v − d2 · u
.
SL =
d2 · [d1 · u − a · v]
d1 · [d2 · u − a · v]
.
q1
q2
R1
R2
x x
x
Case 1
17 / 25
48. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control
policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
R1 =
a · v − d1 · u
a · v − d2 · u
,
R2 =
a · v − d1 · u
a · v − d2 · u
,
R3 =
a · v − d1 · u
a · v − d2 · u
.
SL =
d2 · [d1 · u − a · v]
d1 · [d2 · u − a · v]
.
q1
q2
R2
SL
R3
Case 2
x
17 / 25
49. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control
policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
R1 =
a · v − d1 · u
a · v − d2 · u
,
R2 =
a · v − d1 · u
a · v − d2 · u
,
R3 =
a · v − d1 · u
a · v − d2 · u
.
SL =
d2 · [d1 · u − a · v]
d1 · [d2 · u − a · v]
.
q1
q2
R1
Case 3
x
17 / 25
50. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control
policy
Ri =
dq1
dq2
=
a · v1(t) − d1 · u1(t)
a · v2(t) − d2 · u2(t)
R1 =
a · v − d1 · u
a · v − d2 · u
,
R2 =
a · v − d1 · u
a · v − d2 · u
,
R3 =
a · v − d1 · u
a · v − d2 · u
.
SL =
d2 · [d1 · u − a · v]
d1 · [d2 · u − a · v]
.
u2(t) = 1 − u1(t) ,
v2(t) = 1 − v1(t) .
q1
q2
R1
R2
SL
Case 3
u1(t) = u
v1(t) = v
Case 1
u1(t) = u
v1(t) − eq.(31)
Case 2
u1(t) = u
v1(t) = v
u1(t) = u
v1(t) = v
18 / 25
51. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control policy
q1
q2
R1
R2
SL
Case 3
u1(t) = u
v1(t) = v
Case 1
u1(t) = u
v1(t) − eq.(31)
Case 2
u1(t) = u
v1(t) = v
u1(t) = u
v1(t) = v
19 / 25
52. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control policy - Green time
q1
q2
R1
R2
SL
Case 3
u1(t) = u
v1(t) = v
Case 1
u1(t) = u
v1(t) − eq.(31)
Case 2
u1(t) = u
v1(t) = v
u1(t) = u
v1(t) = v
More green
time for
Route 1
More green
time for
Route 2
19 / 25
53. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Queue feedback control policy - Routing
q1
q2
R1
R2
SL
Case 3
u1(t) = u
v1(t) = v
Case 1
u1(t) = u
v1(t) − eq.(31)
Case 2
u1(t) = u
v1(t) = v
u1(t) = u
v1(t) = v
Larger
routing split
for Route 1
Larger
routing split
for Route 2
19 / 25
54. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
19 / 25
55. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Solution verification
• Verification by a numerical solver: the optimal control software DIDO (Ross 2015).
• Numerical example parameters:
• The arrival rates: (ac1 , ac2a , ac2b
, ac3 ) = (0.1 , 0.15 , 0.15 , 0.1) [veh/s].
• The departure rates: d1 = 0.5278 , d2 = 0.4167 [veh/s].
• The control input bounds: u = 0.3 , u = 0.7 , v = 0.2 , v = 0.8 [-].
• Different initial values of the queue lengths for each case.
20 / 25
57. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Solution verification - case 2a
22 / 25
58. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Solution verification
Case1 Case2a Case2b Case3
Initial Costate p1(0) = p2(0) p1(0) p2(0) p1(0) p2(0)
Routing control inputs (v1, v2) Eq.(31), Eq.(32) (v, v) (v, v) (v, v)
Signal control inputs (u1, u2) (u, u) (u, u) → (u, u) (u, u) (u, u)
Switching point (V-yes / X-no) X V X X
q1-init [veh] 50 15 2 40
q2-init [veh] 10 30 50 4
tf [s] 152 146 191 114
ts [s] - 49 - -
tq1 [s] - 125 52 -
tq2 [s] - - - 88
J (DIDO) [veh·s] 4563.0 3118.8 4829.3 2467.3
J (Analytic) [veh·s] 4624.6 3165.4 4883.3 2512.3
Table: Numerical and analytical results for the different cases.
23 / 25
59. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
1 Problem definition
2 Model
3 PMP
4 Conditions of optimality
5 Optimal solutions
6 Solution verification
7 Summary
23 / 25
60. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Summary
• A continuous-time model is developed to integrate both traffic routing and signal
control.
• Optimal control analytical solutions, based on PMP, were found under the objective
function of minimizing total delay.
• The derived optimal analytical solutions were verified via numerical solutions.
• A feedback routing and signal control policy based on link queue lengths is presented.
24 / 25
61. Problem definition Model PMP Conditions of optimality Optimal solutions Solution verification Summary
Future work
• Extending the model to handle upper bound constraints on queue lengths.
• Testing the problem with different objective functions.
• Studying the problem with more complex structure of network or model.
25 / 25
63. Optimal control solution Solution verification Future Work
Optimal control solution - case 1
Synthesis of the optimal control
u1(t), u2(t)
v1(t), v2(t)
w1(t), w2(t)
=
u, u
Eq.(31), Eq.(32)
0, 0
if R2 ≤
q1(t)
q2(t)
≤ R1 .
q1
q2
R1
R2
x x
x
Case 1
26 / 25
64. Optimal control solution Solution verification Future Work
Optimal control solution - case 2b
Synthesis of the optimal control
u1(t), u2(t)
v1(t), v2(t)
w1(t), w2(t)
=
u, u
v, v
0, 0
if 0 ≤ q1(t)
q2(t)
≤ SL .
u, u
v, v
w1(t), 0
if 0 ≤ q1(t)
q2(t)
≤ SL ,
when q1(t) = 0 .
q1
q2
SL
R3
Case 2b
x
26 / 25
65. Optimal control solution Solution verification Future Work
Optimal control solution - case 3
Synthesis of the optimal control
u1(t), u2(t)
v1(t), v2(t)
w1(t), w2(t)
=
u, u
v, v
0, 0
if R1 ≤ q1(t)
q2(t)
.
u, u
v, v
0, w2(t)
if R1 ≤ q1(t)
q2(t)
,
when q2(t) = 0 .
q1
q2
R1
Case 3
x
26 / 25