Trip assignment

Traffic assignment
Trip generation
Trip distribution
Mode split
Transit
person trip
table (O&amp;D)
Vehicle trip
table (O&amp;D)
Trip assignment
transit
network
highway
network
Shortest path-min. tree building
• what is a tree?
– If for each origin node h, at the completion of a
pass through the algorithm all other nodes in the
network are arrived at by one link only, the set of
paths from h to the nodes is called “a tree”. The
process of determining the minimum cost path is
called “tree building”. The tree together with the
minimum path costs from the origin node to all
destination nodes is referred to as “skimmed tree”
(giving rise to the term “skim table” in TDF)
An example tree
Dijkstra’s algorithm
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
function Dijkstra(Graph, source):
for each vertex v in Graph: // Initializations
dist[v] := infinity // Unknown distance function from source to v
previous[v] := undefined // Previous node in optimal path from source
dist[source] := 0 // Distance from source to source
Q := the set of all nodes in Graph // All nodes in the graph are unoptimized - thus
are in Q
while Q is not empty: // The main loop
u := vertex in Q with smallest dist[]
if dist[u] = infinity:
break // all remaining vertices are inaccessible from source
remove u from Q
for each neighbor v of u: // where v has not yet been removed from Q.
alt := dist[u] + dist_between(u, v)
if alt &lt; dist[v]: // Relax (u,v,a)
dist[v] := alt
previous[v] := u
return dist[]
Dijkstra’s algorithm in plain words
1. to initialize
– the origin is the only solved node.
– The distance to the origin is 0.
– The solved set is empty except the origin node.
2. find all the unsolved nodes that are directly connected by a single arc to any solved node. For each unsolved
node, calculate all of the “candidate distances” (there may be several of these for one unsolved node
because it may directly connect to more than one solved node):
– choose an arc connecting the unsolved node directly to a solved node.
– The “candidate distances” is (the distance to solved node) + (length of arc directly connecting the
solved and the unsolved node).
3. choose the smallest candidate distance:
– add the corresponding unsolved node to the solved set
– distance to the newly solved node is the candidate distance
– add the corresponding arc to the arc set
4. if the newly solved node is not the destination node, then go to step 2. Else, stop and recover the solution.
– length of the shortest route from origin to destination is the distance to the destination node.
– Shortest route is found by tracing backwards from the destination node to the origin (or the reverse)
using the arcs in the arc set. It is usually easiest to trace backwards because each node is reached
from exactly one other node, but may have outwards arcs to several other nodes.
An example
Find the shortest paths from node 1 to all other nodes in the network
6
1
2
2
1
3
3
4
2
5
1
6
Example solution
Step 1: 0
6
1
2
Step 4: 6
4
1
Step 3: 5
2
3
2
3
Step 2: 2
5
Step 6: 8
Solved node list
Dist fr O. to node
Solved arc set
1
0
3
2
1-3
2
5
3-2
4
6
2-4
6
7
4-6
5
8
4-5
1
6
Step 5: 7
Another example
Find the shortest paths from node A to all other nodes
13
B
F
2
3
6
3
H
5
A
2
D
2
4
2
C
5
6
3
E
G
6
Another example
Find the shortest paths from node 6 to all other nodes
1
2
2
5
5
3
3
4
6
4
3
3
3
3
8
5
Inputs to assignment
• O-D matrix
• Network
Terminology (1)
• Free flow speed: speed under no congestion
• Free flow travel time: travel time under no congestion
• Path finding: finding the path with the minimum
impedance
path
• Level of service: a qualitative measure describing the
operation conditions
constrained by the capacity of the link
Assignment methods
• Non-equilibrium (heuristic) assignments
– All or nothing: link travel times are determined
beforehand and trips are assigned at once
– Incremental assignment: link travel times are
updated through fixed proportions and trips are
assigned iteratively
– Capacity constraint: link travel times depend on
link volumes and final assignment is the average
of the last several iterations
All or nothing assignment
Simple all-or-nothing method is the fundamental building block in
traffic assignment procedures.
Step 1: find
shortest paths
between origin
and
destination
zones
Step 2: assign all
comprising the
shortest routes
Incremental assignment
A simple but inconsistent way to account for capacity and
congestion effects.
Step 1: identify
shortest paths
between origin
and
destination
zones
Step 4: update
Step 2: assign a
fixed portion of
comprising the
shortest routes
Step 3: if all
assigned, stop,
otherwise,
continue to
step 4
Example
Consider a simple transportation network that
has one origin and one destination and two
links/paths that provide access from the origin
to the destination. One link is 7.5 miles long
and has a capacity of 4000 vehicles per hour
and a speed limit of 55 miles per hour. The
other link is 5 miles long and has a capacity of
2000 vehicles per hour and a speed limit of 35
miles per hour. Assuming that 5000 drivers
wish to make the trip from the origin to the
All or nothing assignment
capacity: 4000 vehicles; speed = 55 mph; distance = 7.5 miles
Free-flow travel time = 7.5/55 = 8.18 minutes
Dest.
origin
capacity: 2000 vehicles; speed = 35 mph; distance = 5 miles
Free-flow travel time = 5/35 = 8.57 minutes
All-or-nothing suggests that link 1 is the shortest path from origin to destination and will
be assigned with all 5000 vehicles and link 2 will be assigned 0 vehicles
Incremental assignment
V
t  t01[1  1.1492( 1 ) 6.8677 ]
C1
capacity: 4000 vehicles; speed = 55 mph; distance = 7.5 miles
Free-flow travel time = 7.5/55 = 8.18 minutes
Dest.
origin
t  t01[1  1.03(
capacity: 2000 vehicles; speed = 35 mph; distance = 5 miles
Free-flow travel time = 5/35 = 8.57 minutes
V1 5.5226
)
]
C1
Let us first assign 1000 vehicles to link 1 and then update link travel time, which
will be: t  8.18[1  1.1492( 1000 )6.8677]  8.18
4000
The next 1000 vehicles will still be assigned to link 1, which gives a travel time of 8.26.
The next 1000 vehicles will still be assigned to link 1, which results in 9.48 min.
Thus, link 2 now becomes the shortest path, and therefore, the next 1000 vehicles to
link 2, which gives 8.76 min. Thus, the last 1000 vehicles will be loaded on link 2,
which will give a travel time of:
1000 5.5226
t  8.57[1  1.03(
2000
)
]  17.39
Example: do all-or-nothing and incremental
assignment
2
4
1
3
From\to
1
2
3
4
1
0
100
100
100
2
0
0
50
50
3
0
0
0
100
4
0
0
0
0
1
2
3
4
5
t0l
10
15
3
5
4
Cl
300
500
150
200
200
Observed O-D flow
Vl
tl  t0 /[1  ]
Cl