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