Effective in

advertisement
Outline
Effective Route Guidance
in Traffic Networks
• Lecture 1
Route Guidance; User Equilibrium; System
Optimum; User Equilibria in Networks with
Capacities.
Lectures developed by
Andreas S. Schulz and Nicolás Stier
• Lecture 2
May 13, 2004
Constrained System Optimum; Dantzig-Wolfe
Decomposition; Constrained Shortest Paths;
Computational Results.
c 2004 Massachusetts Institute of Technology
c 2004 Massachusetts Institute of Technology
Review of Traffic Model
• Directed graph G = (V, A) with capacities,
k demands (oi, di) with rate ri
Review of First Lecture
2
2
0
• Flows on paths fP . Can be non-integral.
• Traversal times: latency functions ta(·)
→ continuous and nondecreasing
→ belong to a given set L (e.g. linear)
• The total travel time of a flow is:
�
ta(fa)fa
C(f ) :=
1
UE unique
Set of UE
may be non-convex
UE/SO ≥ α(L)
UE/SO unbounded
UE/SO ≤ α(L)
BUE/SO ≤ α(L)
x+1
2
2
0
2
With capacities
0
1
2x
No capacities
0
2
2 · 4 + 2 · 1 = 10
a∈A
c 2004 Massachusetts Institute of Technology
2
c 2004 Massachusetts Institute of Technology
3
Long Detours in SO
Instance with constant latencies:
100
ca = 1
51
selfish users
central planner
the goal
optimize own travel time optimize system welfare
fair, not efficient
efficient, not fair
fair, efficient
c 2004 Massachusetts Institute of Technology
2
1
1
2
51
ca = 1
4
1
c 2004 Massachusetts Institute of Technology
5
Long Detours in SO
Long Detours in SO
SO routes 1 unit along each path: C(SO) = 100 + 3. Unfair!
Compare to routing 1 unit along the other paths: C(f ) = 104 but fair!
100
ca = 1
51
2
1
ca = 1
c 2004 Massachusetts Institute of Technology
100
1
1
ca = 1
51
2
2
51
1
ca = 1
6
c 2004 Massachusetts Institute of Technology
1
1
2
51
7
Route Guidance
• SO cannot be implemented in practice due to
unfairness
• UE does not take into account the global welfare
Constrained System Optimum
Use constrained SO instead!
• CSO = min total travel time
s.t. demand satisfied
users are assigned to “fair” routes
capacity constraints
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
8
Technological Requirements
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
9
Constrained SO: Normal Lengths
Normal lengths: a-priori belief of network
• Geographic distances
• Free-flow travel times (times in empty network)
• Travel times under UE
Notation:
• normal length of arc: a
exact knowledge of the current position
• normal length of path: P =
2-way communication to a main server
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
�
a
a∈P
10
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
11
Constrained SO: Definition
CSO Example
• Fix a tolerance ε ≥ 0
P ≤ (1 + ε) × min
• A path P ∈ Pi is valid if
Q∈Pi Q
• Definition:
CSOε = min total travel time
�
s.t.
fP =ri
for all i
P ∈Pi:P valid
�
fP ≤ca
for a ∈ A
P a
SO
fP ≥0
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
12
c 2004 Massachusetts Institute of Technology
Remarks about CSO
CSO
Constrained System Optimum
Computing CSO
• Each algorithm uses the next as a subroutine:
• It is a non-linear, convex, minimization problem over a polytope
(constrained min-cost multi-commodity flow problem)
1. Frank-Wolfe algorithm: linearize using current gradient
• We solve it using the Frank-Wolfe algorithm:
we solve a sequence of linear programs
2. Simplex algorithm to solve resulting LP
• No need to consider all path variables simultaneously:
we use column generation
4. Constrained Shortest Path Problem (CSPP) algorithm for pricing
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
13
3. Column generation to handle exponentially many paths
5. Dijkstra’s algorithm as a routine for CSPP
14
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
15
Frank-Wolfe Algorithm
Linear Problem and Column Generation
∂C(f i)
∂fa
0.
Initialization: start with flow x0. Set k = 0 and LB = −∞.
• Let ta =
1.
Update upper bound: set U B = C(xk ) and x̄ = xk .
2.
Compute next iterate:
z ∗ = min{ C(x̄) + ∇C(x̄)T (x − x̄) : x feasible }.
Let x∗ be the optimal flow.
• As there are exponentially many paths in the LP,
we form LP’ with a subset P ⊆ P of valid paths:
3.
Solve the line-search problem and set x
k+1
s.t.
∗
= x̄+ ᾱ(x − x̄).
Update lower bound: set LB = max{LB, z }.
5.
Check stopping criteria: if |U B − LB| ≤ tolerance, STOP!
Otherwise, set k = k + 1 and go to step 1.
Constrained System Optimum
�
fP = fa
for all a ∈ A
fP = ri
for all i = 1, . . . , k
(1)
fa ≤ ca
for all a ∈ A
(2)
P a
�
valid P ∈Pi
fP ≥ 0
16
c 2004 Massachusetts Institute of Technology
Linear Problem and Column Generation II
for all P ∈ P
Constrained System Optimum
17
Algorithm for Solving the LP
1. Solve the linear program LP’
• For each demand i, let σi be the dual variable corresponding to (1)
• For each arc a, let πa ≥ 0 be the dual variable corresponding to (2)
�
(ta + πa) ≥ σi ∀ valid P ∈ Pi
• Solution optimal in LP ⇔
a∈P
2. Let σi and πa be the simplex multipliers of the current optimal
solution
3. for all i: find shortest valid path Pi in Pi w.r.t. arc costs ta + πa
�
4. if
a∈Pi (ta + πa) ≥ σi for all i
5.
• The Pricing Problem:
For every commodity i, either find a valid path in Pi with modified
cost less than σi or assert that no such path exists.
Solution is optimal for LP. STOP
6. else
7.
8.
Remove one or more non-basic variables from P �
Add at least one path Pi with a∈Pi (ta + πa) < σi to P 9. goto 1
Can be solved as a “Constrained Shortest Path Problem” !
Constrained System Optimum
ta fa
a∈A
4.
c 2004 Massachusetts Institute of Technology
�
min
∗
c 2004 Massachusetts Institute of Technology
be the objective coefficient of fa in the LP
18
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
19
Observations for Solving the LP
The Pricing Problem
• Empirically, very advantageous to add as many new columns to
restricted master problem as possible
2. Simplex algorithm to solve resulting LP
⇒ Add all paths that price favorably until we run out of space
⇒ Non-basic variables removed when their slots are needed for new
candidate paths
• We observed a reduction in computation time by factors of about 50,
compared to always adding a single column and removing another
one
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
1. Frank-Wolfe algorithm: linearize using current gradient
20
3. Column generation to handle exponentially many paths
4. Constrained Shortest Path Problem (CSPP) algorithm for pricing
5. Dijkstra’s algorithm as a routine for CSPP
c 2004 Massachusetts Institute of Technology
Constrained System Optimum
21
Distance Labels
We want the shortest paths from node 1 to all other nodes
• Throughout the run, nodes will have distance labels:
let d(j) denote the label of j ∈ A
Shortest Path Problem
• For j ∈ A, let d∗(j) denote the shortest distance from 1 to j
• Labels can be :
– Temporary: shortest distance found so far
– Let T = { temporarily labeled nodes} ⇒ d(j) ≥ d∗(j) ∀j ∈ T
– Permanent: when the label is the shortest distance
– Let S = { permanently labeled nodes } ⇒ d(j) = d∗(j) ∀j ∈ S
c 2004 Massachusetts Institute of Technology
Shortest Path Problem
22
c 2004 Massachusetts Institute of Technology
Shortest Path Problem
23
Optimality Conditions
Dijkstra’s Algorithm: Update
The distance labels d are shortest path distances iff
d(j) ≤ d(i) + tij
2
2
Given a label d(i) for node i, Update(i)
improves the labels of i’s neighbors:
∀ (i, j ) ∈ A
4
6
Procedure Update(i)
4
2
2
for each (i, j ) ∈ A do
if d(j) > d(i) + tij then
d(j) := d(i) + tij ;
pred(j) := i;
6
0
1
1
2
3
6
2
4
10
j
13
4
5
3
c 2004 Massachusetts Institute of Technology
15
12
2
i
3
3
j
4
Shortest Path Problem
24
c 2004 Massachusetts Institute of Technology
Shortest Path Problem
25
Dijkstra’s Algorithm: Main
This routine computes shortest paths from node 1 to all
other nodes:
Shortest Path Example
S := {1}; T := V \ {1};
d(1) := 0; d(j) := ∞ for j = 2, 3, . . . , n;
update(1);
while S = V do
// find minimum temporary labeled node and update it
i := argmin{ d(j) : j ∈ T };
S := S ∪ {i}; T := T \ {i};
update(i);
c 2004 Massachusetts Institute of Technology
Shortest Path Problem
26
c 2004 Massachusetts Institute of Technology
Shortest Path Example
27
Constrained Shortest Path Example
Find the fastest path from node 1 to
node 6 with a length of at most 10
(tij , ij )
i
Constrained Shortest Path
2
(1,10)
1
(1,1)
4
(1,7)
(2,3)
(10,1)
(1,2)
(5,7)
(10,3)
Constrained Shortest Path
28
5
(12,3)
c 2004 Massachusetts Institute of Technology
Labels
6
(2,2)
3
c 2004 Massachusetts Institute of Technology
j
Constrained Shortest Path
Update
• A label d(j) is now a tuple d(j) = (dt(j), d(j))
Given a label d(i) for node i, Update improves the labels of i’s
neighbors:
– dt(j) is the travel time
– d(j) the length of a path from node 1 to j
Procedure Update(node i, label d(i))
• A node may have several labels at the same time
• Let T and S be the sets of all temporary and permanent labels, resp.
if dt(i) ≥ min. time of a feasible path from node 1 to n so far
return;
for each (i, j ) ∈ A do
// new label for j
dnew(j) := d(i) + (tij , ij );
new
new
if d (j) ≤ L and d
is not dominated by other labels in j
new
add d to T (j);
delete dominated labels from T (j);
c 2004 Massachusetts Institute of Technology
c 2004 Massachusetts Institute of Technology
• A label d(j) dominates d(j) iff dt(j) ≤ dt(j) and d(j) ≤ d(j).
• In the algorithm, every node j has a set T (j) of temporary labels
and a set S(j) of permanent labels
Constrained Shortest Path
29
30
Constrained Shortest Path
31
Labeling Algorithm
This routine computes a fastest path from node 1 to node n
such that (path) ≤ L:
S (1) := {(0, 0)};
update(1, (0, 0));
while S(n) is empty do
// find minimum temporary labeled node
d := argmin { dt : d ∈ T };
i := corresponding node;
move the label d from T (i) to S(i);
update(i, d);
Constrained Shortest Path Example
This can degenerate into a huge enumeration
c 2004 Massachusetts Institute of Technology
Constrained Shortest Path
32
Alternative Algorithm for CMCFP
c 2004 Massachusetts Institute of Technology
33
Relaxing Capacity Constraints
CSOε = min total travel time
�
fP =ri
s.t.
Idea: Forget about Capacity Constraints
for all i
P ∈Pi:P valid
�
1. Frank-Wolfe algorithm: linearize using current gradient
P a
2. Simplex algorithm to solve resulting LP
for a ∈ A
fP ≥0
• Capacity constraint violated ⇒ C(f ) = ∞ because latency is infinity
3. Column generation to handle exponentially many paths
• Minimization takes care of making the solution feasible
4. Constrained Shortest Path Problem (CSPP) algorithm for pricing
• No capacity constraints
5. Dijkstra’s algorithm as a routine for CSPP
c 2004 Massachusetts Institute of Technology
fP ≤ca
→
the problem is separable!
CSO can be found with a sequence of CSPP
34
c 2004 Massachusetts Institute of Technology
35
Computational Experiments
We used real-world instances obtained from DaimlerChrysler (Berlin)
and from the Transportation Network Test Problems website:
http://www.bgu.ac.il/~bargera/tntp/
Computational Experience
c 2004 Massachusetts Institute of Technology
Computational Experience
Instance Name
Sioux Falls
Friedrichshain
Winnipeg
Neukölln
Mitte, Prenzlauerberg
& Friedrichshain
Chicago Sketch
Berlin
36
|A|
76
523
2,975
4,040
|K|
|A| · |K|
528
40K
506
265K
4,344
13M
3,166
13M
975 2,184 9,801
933 2,950 83,113
12,100 19,570 49,689
c 2004 Massachusetts Institute of Technology
Part of an Instance
Demand
|V |
24
224
1,067
1,890
21M
245M
972M
37
Computational Experience
Unfairness
Solution
• Normal unfairness of path P for OD-pair i =
P
min Q∈Pi Q
→ 1 ≤ normal unfairness ≤ 1 + ε
• Loaded unfairness of path P for OD-pair i =
tP (f )
min Q∈Pi tQ(f )
→ 1 ≤ loaded unfairness
• UE unfairness of path P for OD-pair i =
tP (f )
min Q∈Pi tQ(BUE)
→ 0 ≤ UE unfairness
c 2004 Massachusetts Institute of Technology
Computational Experience
38
c 2004 Massachusetts Institute of Technology
Computational Experience
39
Unfairness Percentiles
normal unfairness:
controlled directly
Free-flow Normal Lengths: High Cost
loaded unfairness:
influenced
1.6
Loaded Unfairness
1.2
1.6
1.18
percentile
99th
1.16
97.5th
1.14
95th
4000
percentile
99th
1.5
1.4
97.5th
95th
C(CSOε)
1.4
1.12
1.3
1.1
1.2
1.08
3000
1.2
1.06
Cost
1.04
1.1
1.02
2500
1
1
UE 1
1.1
1.2
1.3SO
UE 1
1.1
1.2
1
UE
1.3 SO
1.05
c 2004 Massachusetts Institute of Technology
40
Computational Experience
1.2
1.3
c 2004 Massachusetts Institute of Technology
Unfairness Distributions: High Travel Times
1
1.1
1.4
1.5
2
SO
tolerance (1 + ε)
tolerance (1 + ε)
tolerance (1 + ε)
41
Computational Experience
UE Travel Times: Good Normal Lengths
1.6
1
Tolerance
UE
1.05
1.1
1.2
1.3
1.4
1.5
2
SO
0.95
0.8
0.9
Tolerance
UE
1.05
1.1
1.2
1.3
1.4
1.5
2
SO
0.85
0.8
0.75
0.7
0.65
probability
probability
tP (f )
min Q∈P tQ (f )
i
3500
1.2
1.4
1.6
loaded unfairness
tP (f )
min Q∈Pi tQ (f )
c 2004 Massachusetts Institute of Technology
0.4
Loaded Unfairness
3500
1.4
C(CSOε)
0.2
tP (f )
min Q∈P tQ (f )
i
Cost Free-flow
3000
0.6
1
0.6
1.8
2
0
0.6
0.7
0.8
0.9
1
1.1
1.2
Cost UE
1.2
UE unfairness
2500
tP (f )
min Q∈Pi tQ (BUE)
Computational Experience
1
UE
1.01 1.02 1.03 1.05 1.1
1.2
1.3
1.4
1.5
2
SO
tolerance (1 + ε)
42
c 2004 Massachusetts Institute of Technology
Computational Experience
43
Unfairness Distributions: Fair Enough
Tolerance
UE
1.01
1.02
1.03
1.05
1.1
SO
0.95
0.8
Tolerance
UE
1.01
1.02
1.03
1.05
1.1
SO
0.8
0.75
0.7
0.65
1.2
1.4
1.6
0.4
1.8
2
0
0.6
Runtime grows
exponentially
14000
14000
gap
0.5
12000
tolerance
UE
12000
1.0
1.01
2.0
10000
1.02
10000
4.0
0.2
0.6
1
0.6
seconds
0.85
probability
0.9
probability
More difficult with
bigger tolerance
1
0.7
loaded unfairness
0.8
0.9
1
1.1
1.2
UE unfairness
1.03
seconds
1
Convergence
8000
6000
8000
1.05
1.1
6000
4000
1.2
1.3
4000
SO
2000
tP (f )
min Q∈Pi tQ (f )
c 2004 Massachusetts Institute of Technology
tP (f )
min Q∈Pi tQ (BUE)
0
UE 1
44
Computational Experience
2000
1.1
1.2
0
0.5
1.3 SO
loaded unfairness
SO
1.6
c 2004 Massachusetts Institute of Technology
Computational Experience
Free-flow normal length
◦
1.2
4
45
UE normal length
1.6
Loaded Unfairness
denote CSO1.02
4000
4000
Loaded Unfairness
1.4
1.4
3500
3500
1.2
1.2
3000
3000
Cost
Cost
UE
2500
1
UE
1
1.05
1.1
1.2
1.3
1.4
tolerance
1.02
3.5
1.6
marked with ‘◦’
◦ ◦
◦
◦◦
1
3
Solutions
CSO
1.4
2.5
• Results:
Instance
SF
F
W
N
MPF
CS
B
◦
2
Review
2.2
1.8
1.5
gap
CSO allows us to control the tradeoff between
efficiency and unfairness
2
1
tolerance (1 + ε)
1.04
c 2004 Massachusetts Institute of Technology
1.06
1.08 1.1
C(x)/C(SO )
1.12
1.14
1.5
2
SO
2500
1
UE
1.01
1.02
1.03
1.05
1.1
1.2
1.3
SO
tolerance
1.16
Computational Experience
46
c 2004 Massachusetts Institute of Technology
47
Conclusion
Summary
• Optimization Approach to Route Guidance
–
–
–
–
• In principle, the system performance can be optimized
while obeying individual needs and systems response.
Conventional route guidance methods focus on the individual
SO not implementable
UE not efficient
CSO is a better alternative: efficient and fair
• In fact, many different tools, from non-linear optimization,
from linear programming, and from discrete optimization,
nicely complement each other to lead to a fairly efficient
algorithm for huge (static) instances.
• Demand-dependent normal lengths are a better choice
• Considered Networks with Capacities
• Yet, more (dynamic) ideas needed before technology ready
for field test.
– Multiple equilibria
– Worst UE is unbounded
– Guarantee for best UE is as good as without capacities
c 2004 Massachusetts Institute of Technology
48
THE END
c 2004 Massachusetts Institute of Technology
49
2002 Urban Mobility Study shows we could be better
(http://mobility.tamu.edu/ums)
1982
2000
time penalty for peak period travelers
16 hours
62 hours
period of time with congestion
4.5 hours
7 hours
34%
58%
volume of roadways with congestion
c 2004 Massachusetts Institute of Technology
50
c 2004 Massachusetts Institute of Technology
51
UE Travel Times: Good Normal Lengths
cost
UE
1.01
1.02
1.03
1.05
1.10
1.20
1.30
SO
2915
2800
2738
2726
2694
2676
2657
2657
2657
99th percentile
loaded unfairness
1.056
1.348
1.375
1.424
1.456
1.517
1.545
1.538
1.546
3000
gap
0.5
2950
1.0
2.0
2900
4.0
cost
tolerance
Solution Quality: UE normal lengths are good
2850
2800
2750
2700
2650
UE 1
c 2004 Massachusetts Institute of Technology
52
c 2004 Massachusetts Institute of Technology
1.1
1.2
tolerance
1.3 SO
53
Download