Artificial intelligence in the post-deep learning era
T2-ETA Presentation
1. The T2-ETA Congestion Pricing Model
From:
Dial, Robert B. “Network-Optimized Road Pricing: Part I: A
Parable and a Model.” Operations Research 47, no. 1 (1999):
54-64.
July 11, 2011
4. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
5. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
Number of trips demanded for every possible
origin-destination pair (i.e. ordered pair of network nodes)
6. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
Number of trips demanded for every possible
origin-destination pair (i.e. ordered pair of network nodes)
Probability density function for the value of time of drivers
demanding travel for each origin-destination pair
7. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
Number of trips demanded for every possible
origin-destination pair (i.e. ordered pair of network nodes)
Probability density function for the value of time of drivers
demanding travel for each origin-destination pair
Outputs:
8. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
Number of trips demanded for every possible
origin-destination pair (i.e. ordered pair of network nodes)
Probability density function for the value of time of drivers
demanding travel for each origin-destination pair
Outputs:
A user equilibrium traffic assignment which is at least locally
system optimal.
9. Model Overview
Inputs:
Road network topology
For each link, a function specifying driving time given traffic
volume
Number of trips demanded for every possible
origin-destination pair (i.e. ordered pair of network nodes)
Probability density function for the value of time of drivers
demanding travel for each origin-destination pair
Outputs:
A user equilibrium traffic assignment which is at least locally
system optimal.
A set of tolls for each link that implements that traffic
assignment.
11. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
12. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
13. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
14. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
15. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
Data:
16. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
Data:
G = {N , L}, the network
17. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
Data:
G = {N , L}, the network
te : R+ → R+ , the volume-time function for link e ∈ L
18. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
Data:
G = {N , L}, the network
te : R+ → R+ , the volume-time function for link e ∈ L
fod : A → R+ , the value of time PDF of trips going from
o ∈ N to d ∈ N
19. Model Objects
Sets:
A = {α ∈ R+ : α is a possible marginal value of time}
N = {network nodes}
L = {e = (ie , je ) ∈ N × N }, the set of network links
X = {feasible traffic assignments }
Data:
G = {N , L}, the network
te : R+ → R+ , the volume-time function for link e ∈ L
fod : A → R+ , the value of time PDF of trips going from
o ∈ N to d ∈ N
vod ∈ R+ , the (fixed) total demand for trips from o ∈ N to
d ∈N
21. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
22. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
23. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
xe (α) = o∈N xoe (α), the number of trips with value of time
α ∈ A using link e ∈ L
24. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
xe (α) = o∈N xoe (α), the number of trips with value of time
α ∈ A using link e ∈ L
xe = A xe (α)dα, the total number of trips using link e ∈ L
25. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
xe (α) = o∈N xoe (α), the number of trips with value of time
α ∈ A using link e ∈ L
xe = A xe (α)dα, the total number of trips using link e ∈ L
ue = A αxe (α)dα, the first moment of α ∈ A on link e ∈ L,
or the combined value of time of all drivers using link e, not
to be confused with the value of the total time spent by all
the drivers on link e
26. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
xe (α) = o∈N xoe (α), the number of trips with value of time
α ∈ A using link e ∈ L
xe = A xe (α)dα, the total number of trips using link e ∈ L
ue = A αxe (α)dα, the first moment of α ∈ A on link e ∈ L,
or the combined value of time of all drivers using link e, not
to be confused with the value of the total time spent by all
the drivers on link e
αe = E [α|e] = ue /xe , the mean value of time for all trips
¯
using link e ∈ L
27. Model Objects
Decision Variable:
Let xoe (α) : A → R+ give the number of trips using link e
originating at node o and having value of time α.
Then the decision variable can be written as
|N |×|L|×|A|
x = (xoe (α)) ∈ R+ .
State Variables:
xe (α) = o∈N xoe (α), the number of trips with value of time
α ∈ A using link e ∈ L
xe = A xe (α)dα, the total number of trips using link e ∈ L
ue = A αxe (α)dα, the first moment of α ∈ A on link e ∈ L,
or the combined value of time of all drivers using link e, not
to be confused with the value of the total time spent by all
the drivers on link e
αe = E [α|e] = ue /xe , the mean value of time for all trips
¯
using link e ∈ L
ce = αe xe te (xe ), the marginal social cost in congestion of
¯
using link e, and the system-optimal toll in user equilibrium
28. Constraints
As stated earlier, x must have only non-negative elements.
29. Constraints
As stated earlier, x must have only non-negative elements.
A system of flow constraints guarantees that all trips only use
paths connecting their origin to their destination, and that
these trips alone account for link volumes.
30. Constraints
As stated earlier, x must have only non-negative elements.
A system of flow constraints guarantees that all trips only use
paths connecting their origin to their destination, and that
these trips alone account for link volumes.
Specifically, for α ∈ A, o ∈ N , and d ∈ N ,
xoe (α) − xoe (α) = vod (α)
{e∈L|je =d} {e∈L|ie =d}
31. Constraints
As stated earlier, x must have only non-negative elements.
A system of flow constraints guarantees that all trips only use
paths connecting their origin to their destination, and that
these trips alone account for link volumes.
Specifically, for α ∈ A, o ∈ N , and d ∈ N ,
xoe (α) − xoe (α) = vod (α)
{e∈L|je =d} {e∈L|ie =d}
Call any value of x satisfying the above two conditions a
“feasible traffic assignment” and let X be the set of all such
assignments.
32. Objective Function
Our objective is to minimize the expected total perceived cost
of time V , subject to the constraints just given. In its most
transparent form, the objective function can written as
V (x) = αe xe te (xe )
¯
e∈L
33. Objective Function
Our objective is to minimize the expected total perceived cost
of time V , subject to the constraints just given. In its most
transparent form, the objective function can written as
V (x) = αe xe te (xe )
¯
e∈L
Using the state variables already defined, we can rewrite the
objective function to eliminate αe , which is not really defined
¯
when xe = 0, so that the solution becomes
xopt ∈ argminV (x) = ue te (xe )
x∈X e∈L
opt opt opt
ce = ue te (xe )
34. Optimality Conditions
Let x ∈ X and ∆x = x − xopt . Then xopt is a local minimum
of V if and only if all directional derivatives there are
non-negative. That is, V (xopt )∆x ≥ 0.
35. Optimality Conditions
Let x ∈ X and ∆x = x − xopt . Then xopt is a local minimum
of V if and only if all directional derivatives there are
non-negative. That is, V (xopt )∆x ≥ 0.
The gradient V of the objective function has components of
the form
∂V
= αte (xe ) + ue te (xe ) = αte (xe ) + αe xe te (xe )
¯
∂xoe (α)
private cost congestion social cost
See Lemma 1 in the paper for proof.
36. Optimality Conditions
Let x ∈ X and ∆x = x − xopt . Then xopt is a local minimum
of V if and only if all directional derivatives there are
non-negative. That is, V (xopt )∆x ≥ 0.
The gradient V of the objective function has components of
the form
∂V
= αte (xe ) + ue te (xe ) = αte (xe ) + αe xe te (xe )
¯
∂xoe (α)
private cost congestion social cost
See Lemma 1 in the paper for proof.
Let x ∈ X and x0 ∈ X. The directional derivative of V at x0
in the direction ∆x = x − x0 is
V (x0 )∆x = 0 0 0
(ate (xe ) + ue t (xe ))∆xe (α)dα
A e∈L
See Lemma 2 in the paper for proof.
37. Optimal Toll Problem
Let ∆x = x − xopt . V has a local minimum at xopt if and only if
opt opt opt
(ate (xe ) + ue t (xe ))∆xe (α)dα ≥ 0.
A e∈L
38. User-Optimal Equilibrium Traffic Assignment
A traffic assignment is a user-optimal equilibrium (here
abbreviated T2-ETA) if each trip uses the path with the
lowest generalized cost, while the generalized costs for all trips
is determined by and consistent with the aggregate path
choices of all users. In the context of this model, the
generalized cost of a driver using a particular path is the sum
of all its tolls, and the value of the total time spent driving.
39. User-Optimal Equilibrium Traffic Assignment
A traffic assignment is a user-optimal equilibrium (here
abbreviated T2-ETA) if each trip uses the path with the
lowest generalized cost, while the generalized costs for all trips
is determined by and consistent with the aggregate path
choices of all users. In the context of this model, the
generalized cost of a driver using a particular path is the sum
of all its tolls, and the value of the total time spent driving.
Some notation: xe signifies the projection of x with respect to
the link e.
40. User-Optimal Equilibrium Traffic Assignment
A traffic assignment is a user-optimal equilibrium (here
abbreviated T2-ETA) if each trip uses the path with the
lowest generalized cost, while the generalized costs for all trips
is determined by and consistent with the aggregate path
choices of all users. In the context of this model, the
generalized cost of a driver using a particular path is the sum
of all its tolls, and the value of the total time spent driving.
Some notation: xe signifies the projection of x with respect to
the link e.
The flow xopt = (xopt ) ∈ X is a user-optimal equilibrium
e
traffic assignment if and only if the following variational
inequality holds for x ∈ X:
opt opt opt
(αte (xe ) + ce (xe ))(xe (α) − xe (α))dα
A e∈L
See Theorem 2 in the paper for proof.
41. T2-ETA and Optimal Tolls
For xe and all e ∈ L, let tc (xe ) = t(xc ) and
ce (xe ) = ue te (xe ). Then xopt solves the corresponding
T2-ETA problem if and only if ce (xopt ) = ue te (xe ) solves
c
opt opt
the optimal tolls problem. See Lemma 3 in the paper for
proof.
42. T2-ETA and Optimal Tolls
For xe and all e ∈ L, let tc (xe ) = t(xc ) and
ce (xe ) = ue te (xe ). Then xopt solves the corresponding
T2-ETA problem if and only if ce (xopt ) = ue te (xe ) solves
c
opt opt
the optimal tolls problem. See Lemma 3 in the paper for
proof.
opt opt
Let ∆xe = xe − xe and ∆ue = ue − ue . Then
(x opt , u opt ) ∈ X simultaneously solves the optimal tolls and
the bicriterion traffic assignment problems if and only if, for
x ∈ X,
opt opt opt
(te (xe )∆ue + ue te (xe )∆xe ) ≥ 0
e∈L
See Lemma 4 and Theorem 3 in the paper for proof.
43. Convexity
There is no proof of the convexity of the objective function V
(that I have found). Therefore the “optimal” traffic
assignment may technically be only a local minimum V .
44. Convexity
There is no proof of the convexity of the objective function V
(that I have found). Therefore the “optimal” traffic
assignment may technically be only a local minimum V .
However, computational results from a solution algorithm for
this model (about which I will talk next time) suggest that
either V is in fact convex, or if it is not, the practical impact
is probably negligible.
45. Convexity
There is no proof of the convexity of the objective function V
(that I have found). Therefore the “optimal” traffic
assignment may technically be only a local minimum V .
However, computational results from a solution algorithm for
this model (about which I will talk next time) suggest that
either V is in fact convex, or if it is not, the practical impact
is probably negligible.
In many tests conducted by Dial, the algorithm always
converged to the minimum smoothly, and traffic always
improved greatly. No matter how much the initial feasible
solution used by the algorithm was varied, the equilibrium
solutions calculated were identical.
46. Improvements to the Model Dynamic Assignment
As described, the model is static. However, practical
applications would price links differently at different times of
day. Where traffic follows a regular pattern and is stable for a
decent period of time, say for rush hour and the middle of the
night, the static model could probably be applied reasonably
well by considering the two times separately. This will not
work with a large time resolution, however. A dynamic model
is necessary to account for the delaying of departure or arrival
times to avoid tolls.
47. Improvements to the Model Dynamic Assignment
As described, the model is static. However, practical
applications would price links differently at different times of
day. Where traffic follows a regular pattern and is stable for a
decent period of time, say for rush hour and the middle of the
night, the static model could probably be applied reasonably
well by considering the two times separately. This will not
work with a large time resolution, however. A dynamic model
is necessary to account for the delaying of departure or arrival
times to avoid tolls.
Dial offers suggestions for making the model dynamic, with
the only major drawback that the solution algorithm becomes
more computationally intensive. However, Dial still believes it
would be feasible, and he tested his original algorithm on a
100MHz CPU. On modern hardware, a dynamic version of the
model should be easy to handle.
48. Improvements to the Model: Elastic Demand
The model described assumes that demand for trips is
constant, which is unrealistic except in the short run. In the
longer run, people are likely to change their driving habits to
reduce travel costs.
49. Improvements to the Model: Elastic Demand
The model described assumes that demand for trips is
constant, which is unrealistic except in the short run. In the
longer run, people are likely to change their driving habits to
reduce travel costs.
Once again, Dial provides suggestions for implementation
elastic demand in a straightforward manner, and he also
suggests it would be the topic of a future paper. I have not
yet found this promised paper, but if it does not exist, Dial’s
suggestions and references should be enough to expand the
model with elastic demand.