Optimization and Equilibrium in Dynamic Networks and Applications in Traffic Systems by Maokai Lin Submitted to the Operations Research Center in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Operations Research at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY February 2015 c Massachusetts Institute of Technology 2015. All rights reserved. ○ Author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Operations Research Center September 30, 2014 Certified by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Patrick Jaillet Dugald C. Jackson Professor Thesis Supervisor Accepted by . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Dimitris Bertsimas CoDirector, Operations Research Center 2 Optimization and Equilibrium in Dynamic Networks and Applications in Traffic Systems by Maokai Lin Submitted to the Operations Research Center on September 30, 2014, in partial fulfillment of the requirements for the degree of Doctor of Philosophy in Operations Research Abstract This thesis discusses optimization problems and equilibrium in networks. There are three major parts of the thesis. In the first part, we discuss optimization in dynamic networks. We focus on two fundamental optimization problems in dynamic networks: the quickest flow problem and the quickest transshipment problem. The quickest flow problem is to find a minimum time needed to send a given amount of flow from one origin to one destination in a dynamic network. The quickest transshipment problem is similar to the quickest flow problem except with multiple origins and multiple destinations. We derive optimality conditions for the quickest flow problems and introduce simplified and more efficient algorithms for the quickest flow problems. For the quickest transshipment problem, we develop faster algorithms for several special cases and apply the approach to approximate an optimal solution more efficiently. In the second part, we discuss equilibrium in dynamic networks. We extend equilibrium results in static networks into dynamic networks and show that equilibria exist in a network where players either have the same origin or the same destination. We also introduce algorithms to compute such an equilibrium. Moreover, we analyze the average convergence speed of the best-response dynamics and connect equilibria in discrete network models to equilibria in continuous network models. In the third part, we introduce a new traffic information exchange system. The new system resolves the dilemma that broadcasting traffic predictions might affect drivers’ behaviors and make the predictions inaccurate. We build game theoretic models to prove that drivers have incentives to use this system. In order to further test the effectiveness of such system, we run a series of behavioral experiments through an online traffic game. Experimental results show that drivers who use the system have a lower average travel time than the general public, and the system can help improve the average travel time of all drivers as the number of drivers who use this system increases. 3 Thesis Supervisor: Patrick Jaillet Title: Dugald C. Jackson Professor 4 Acknowledgments First of all, I would like to thank my thesis supervisor Professor Patrick Jaillet. Professor Jaillet provided tremendous help and numerous guidances during my five years in the PhD program in the Operations Research Center. Even when I had difficulties and struggled for a long time in my research, he has always been supportive and encouraging, and never gave up on me. I could not have gone this far without his continuous support. I am sincerely grateful for his mentorship during my PhD study. I also appreciate the help from my thesis committee. Professor James B. Orlin spent much time with me discussing optimization problems and algorithms in networks. These discussions are very inspiring. He also helped me improve the thesis and simplify key proofs for my new results. Professor Emilio Frazzoli provided many enlightening suggestions for the design and analysis of the traffic information exchange. I am grateful for his advice and I thank him for spending time on my research even when he was on sabbatical. My PhD research is partially supported by the Singapore-MIT Alliance for Research and Technology (SMART), Center for Future Mobility (FM). SMART provided fundings for my PhD studies and sponsored me for multiple trips to Singapore for seminars and workshops. I appreciate both their financial and academic supports. I would like to thank people in my research group: Swati Gupta, Dawsen Huang, Xin Lu, and Andrew Mastin. We had many research discussions, and multiple reading sessions together. I learned much from their research and was inspired by many ideas from our discussions. I am also very fortunate to make many close friends in the past years at MIT. I thank Lei Dai, Lishuai Li, Kai Liao, Daniel Selva, Hai Wang, Ermin Wei, Li Yu, Rong Yuan, Jingqing Zhang, and Yaodong Zhang for their help both for my research and in my life. My time at MIT is so memorable thanks to their company. Many of my friends spent precious time participating in my traffic game experiments. I would like to thank Ross Anderson, Fernanda Bravo, Di Chen, Minjie Chen, Iain Dunning, Chong Yang Goh, Yan Ji, Kris Johnson, Angie King, Ben Lentham, 5 Zach Leung, Ying Liu, Xianwen Mao, Velibor Misic, Beipeng Mu, Sisi Ni, Kai Pan, Yusheng Qi, Marc Sanchez, Molu Shi, Ellan Spero, Feng Tan, Li Tan, He Wang, Jue Wang, Muzhou Wang, Shujing Wang, Su Wang, Tong Wang, Ermin Wei, Chiwei Yan, Yan Zhao, Tianli Zhou, and Zhe Zhu for taking the time to help me with my experiments. Lastly, my parents and my family have been supportive for my studies in all these years. Although they are thousands of miles away, they cared so much about my life and research. My family has always been the place where I seek console and regain my strength. For that, I am forever grateful. 6 Contents 1 Introduction 1.1 1.2 1.3 15 Optimization in Dynamic Networks . . . . . . . . . . . . . . . . . . . 18 1.1.1 Background and Motivations . . . . . . . . . . . . . . . . . . . 18 1.1.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.1.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Equilibrium in Dynamic Networks . . . . . . . . . . . . . . . . . . . . 28 1.2.1 Background and Motivations . . . . . . . . . . . . . . . . . . . 28 1.2.2 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . 30 1.2.3 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Traffic Information Exchange . . . . . . . . . . . . . . . . . . . . . . 33 1.3.1 Background and Motivations . . . . . . . . . . . . . . . . . . . 33 1.3.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 2 Optimization and Equilibrium in Dynamic Networks 39 2.1 Definitions and Preliminaries . . . . . . . . . . . . . . . . . . . . . . . 40 2.2 Optimization in Dynamic Networks . . . . . . . . . . . . . . . . . . . 45 2.2.1 2.3 Mathematical Models and Theoretical Results for the Quickest Flow Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.2.2 Algorithms for the Quickest Flow Problem . . . . . . . . . . . 54 2.2.3 Models and Algorithms for the Quickest Transshipment Problem 80 Equilibrium in Dynamic Networks . . . . . . . . . . . . . . . . . . . . 106 2.3.1 A Discrete Dynamic Network Congestion Game Model . . . . 107 7 2.3.2 Existence and Computation of Equilibrium in Dynamic Network Congestion Games . . . . . . . . . . . . . . . . . . . . . 109 2.4 2.3.3 Convergence Speed of Best-Response Dynamics . . . . . . . . 119 2.3.4 From Discrete Model to Continuous Model . . . . . . . . . . . 124 2.3.5 Summary of Equilibrium in Dynamic Networks . . . . . . . . 132 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132 3 Traffic Information Exchange 135 3.1 A Client-Server System for Traffic Information Exchange . . . . . . . 135 3.2 A Game Theoretic Model 3.3 A Behavioral Experiment . . . . . . . . . . . . . . . . . . . . . . . . . 147 3.4 . . . . . . . . . . . . . . . . . . . . . . . . 138 3.3.1 Overview of the Experiment . . . . . . . . . . . . . . . . . . . 147 3.3.2 Technical Details of the Experiment . . . . . . . . . . . . . . . 150 3.3.3 Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 3.3.4 Summary of the Experiment . . . . . . . . . . . . . . . . . . . 164 Summary and Future Research . . . . . . . . . . . . . . . . . . . . . 165 4 Summary and Future Directions 167 8 List of Figures 1-1 Turning a static network into a time-expanded network. . . . . . . . . 22 1-2 Formulate a dynamic max-flow problem as a min-cost flow problem. The numbers on the arc indicate arc costs. The capacity of the arc from 𝑡 to 𝑠 in the network on the right is infinity. The capacities of other arcs are unchanged. . . . . . . . . . . . . . . . . . . . . . . . . 23 1-3 An illustration of two users sharing the same road, but not interfering with each other. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1-4 An illustration of the queueing delay model on an arc. Figure by Koch and Skutella [55]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 1-5 The mechanism of communications and interactions between on-vehicle devices and the central information exchange. . . . . . . . . . . . . . 35 2-1 An example that helps illustrate Theorem 2.12. . . . . . . . . . . . . 81 2-2 The network corresponding to the min-cut formulation (2.57) with a given time 𝑇 and a set 𝑋: Add a super source and a super sink to the original graph. Connect the super source to all source nodes in set 𝑋, and connect all sink nodes outside set 𝑋 to the super sink. Set the capacities of these arcs to infinity. Set the capacities of each arc 𝑒 in the original graph to 𝑇 · 𝑢𝑒 . . . . . . . . . . . . . . . . . . . . . . . . 9 86 2-3 Test the feasibility of a quickest transshipment problem with zero arc costs in time 𝑇 = 6 by transforming it into a maximum flow problem (the number next to an arc is its capacity 𝑢𝑒 ): Add a super source 𝑠˜ and connect 𝑠˜ to source nodes 𝐴 and 𝐵. Set arc capacities to 𝐹𝐴 and 𝐹𝐵 respectively. Add a super sink 𝑡˜ and connect sink nodes 𝐶 and 𝐷 to the super sink 𝑡˜. Set arc capacities to −𝐹𝐶 and −𝐹𝐷 , respectively. Set other arc capacities to 𝑇 · 𝑢𝑒 . . . . . . . . . . . . . . . . . . . . . 89 2-4 Convert graph 𝐺′ in iteration 𝑇 to graph 𝐺′′ by removing source and sink arcs in the min-cut. . . . . . . . . . . . . . . . . . . . . . . . . . 92 2-5 An infeasible quickest transshipment problem: Other than satisfying the 5 units of demand at node 𝐷, node 𝐵 needs to send the remaining 15 units of supply to node 𝐶. However, this is impossible because there is no path from node 𝐵 to node 𝐷. Correspondingly, the min-cut is {(˜ 𝑠, 𝐴), (𝐷, 𝑡˜)}, containing no arc in the original network 𝐺. . . . . . 97 2-6 Modify the original network to run Megiddo’s parametric search. . . . 99 2-7 An example of non-existence of equilibrium. The origin-destination pairs for players 𝐴, 𝐵, and 𝐶 are (1, 5), (1, 6), and (3, 6), respectively. The numbers on the arcs represent the travel time functions. If there are two numbers, such as (2, 4), it means the travel time is 2 units of time for the first player arriving at the arc, and 4 units for the second player arriving at the arc. . . . . . . . . . . . . . . . . . . . . . . . . 116 2-8 An example: Subgame perfect equilibrium in the network shown in Figure 2-7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 2-9 One-step transition of the Markov chain. . . . . . . . . . . . . . . . . 120 2-10 A complete Markov chain transition graph for the 3-player case. The numbers next to the arcs are the transition probabilities. . . . . . . . 121 2-11 A Markov chain as an upper bound of the expected number of steps to convergence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 2-12 A Markov chain as a lower bound of the expected number of steps to convergence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 10 2-13 Discretization of the incoming flow 𝜑𝑂 (𝑡) at the origin node 𝑂. Each area under the curve of 𝜑𝑂 (𝑡) between 𝑡𝑖 and 𝑡𝑖+1 have the same volume 𝜎. Each player in the discrete dynamic network congestion game controls 𝜎 amount of flow, and their arrival times are 𝑡1 , 𝑡2 , · · · , 𝑡𝑁 , for player 1, 2, · · · , N, respectively . . . . . . . . . . . . . . . . . . . . . 126 2-14 An example that illustrates the convergence proof. . . . . . . . . . . . 128 3-1 Interaction between on-vehicle devices and the central information exchange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 3-2 A parallel network. Each arc is associated with a travel time function that depends on the number of drivers choosing the arc. . . . . . . . 139 3-3 User interface of the online traffic game. . . . . . . . . . . . . . . . . 148 3-4 Background of the online game: Choosing a path from an origin (MIT) to a destination (Boston south station). . . . . . . . . . . . . . . . . . 148 3-5 The online traffic game is played in terms of rounds. Each round lasts for 15 seconds, and each player is asked to choose a fastest path. . . . 149 3-6 10-player session: Average time spent due to traffic when players receive different types of information. . . . . . . . . . . . . . . . . . . . . . . 155 3-7 20-player session: Average time spent due to traffic when players receive different types of information. . . . . . . . . . . . . . . . . . . . . . . 159 3-8 16-player rotation session: Average time spent due to traffic when players receive different types of information. . . . . . . . . . . . . . . . . 163 11 12 List of Tables 1.1 Contributions of this thesis to the research of optimization problems in dynamic networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 2.1 Contributions of this thesis: optimization in dynamic networks. . . . 48 2.2 Three players’ origins, destinations, and departure times. . . . . . . . 117 2.3 The best-response dynamics of three players in the network shown in Figure 2-7. 𝑡𝐴 , 𝑡𝐵 , and 𝑡𝐶 denote the travel time of 𝐴, 𝐵, and 𝐶, respectively. The bold cells highlight the changes. . . . . . . . . . . . 117 2.4 Summary of the existence and computational time of equilibrium in discrete dynamic congestion games. O means origin, and D means destination. 𝑁 is the number of players, and 𝐹 𝑃 (𝑛, 𝑚) is the computational time of solving a shortest path problem in a network with 𝑛 nodes and 𝑚 arcs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 3.1 Notations used in the game theoretic analysis of the traffic information exchange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 3.2 Parameters for each path. The free-flow time and capacity are used in computing the travel times. . . . . . . . . . . . . . . . . . . . . . . . 151 3.3 Parameters used to generate real-time traffic on each path. . . . . . . 152 3.4 10-player session: 𝑝-values of travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . . . . . . . . . . . . . . . 157 13 3.5 10-player session: 𝑝-values of the overall travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . . . . . . . . 157 3.6 10-player session: 𝑝-values of the differences between the travel time of players and the travel time of simulated traffic. Type 1: No dynamic information received. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . 158 3.7 20-player session: 𝑝-values of the travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . . . . . . . . . . . 160 3.8 20-player session: 𝑝-values of the overall travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . . . . . . . . 161 3.9 20-player session: 𝑝-values of the differences between players’ travel time and the travel time of the simulated traffic. Type 1: No dynamic information received. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . 161 3.10 16-player session: 𝑝-values of the players’ travel time differences when receiving different types of information. The bold numbers highlight the statistically significant differences at 5% level. . . . . . . . . . . . 163 14 Chapter 1 Introduction Since Ford and Fulkerson’s pioneer research on network models, network theories and algorithms have thrived in the past decades. People successfully model many real-world systems and solve many practical problems using the tools developed from the research of networks. From traffic system to Internet, from communication to social graphs, a large number of systems can be properly modeled and analyzed using network models. The most extensively studied problems are optimization problems in networks. Many problems, such as shortest path, maximum flow, min-cost flow problems can now be very efficiently solved using various algorithms. These algorithms are now widely used in many applications such as vehicle routing, communications, job scheduling, gaming design, etc. Another well-studied problem is the user equilibrium in networks. The research of equilibrium tries to answer the question that if many people are sharing limited capacities in a network, and everyone is selfish, what is the likely outcome and distribution of flow in the network. This problem is especially important in network systems that are shared by many people. For example, in a traffic system, drivers are sharing roads, and they all try to get to their destinations as fast as possible. In a communication network with limited bandwidth, people also try to send a certain amount of information through the network in the shortest time. A great amount of researches related to these two problems focus on static net15 works, in which no temporal factors are considered. Many applications, however, do require the time factor to be considered. In other words, instead of a picture of the network at one instant, we need to consider a video of network flow over a period of time. These applications arise from various fields of studies, including transportation [56], evacuation planning [100, 42], job scheduling [13], electronic communication [21, 59], network routing [71, 14, 72], and parallel computing [58]. Such a requirement leads to the dynamic network flow model [34, 18, 49]. It is also called network flow over time [31]. In a dynamic network, we have an underlying network. Each arc in a dynamic network is associated with two parameters 𝜏𝑒 and 𝑢𝑒 . 𝜏𝑒 is the cost, or sometimes called free-flow transition time, and 𝑢𝑒 is the arc capacity, or sometimes called maximum flow rate. An arc in a dynamic network can be conceived as a pipe. The freeflow transition time is the length of the pipe, which determines the minimum time needed to travel through the pipe. The capacity is the diameter, which determines the amount of flow that could travel together at the same time. A key difference of dynamic networks from static networks is that the actual travel time of the flow on an arc 𝑒 depends on both the free-flow time 𝜏𝑒 and the capacity 𝑢𝑒 . For example, if two thick pipes (arcs with large capacities) send flow into a thin pipe (arc with small capacity) in full speed, the total time for the flow to go through the thin pipe is significantly longer than its free-flow transition time because of congestion. From this example, we can see that dynamic networks is suitable for modeling networks with congestion effects, such as transportation networks and communication networks. In the first part of this thesis (Chapter 2), we study optimization problems and equilibrium in dynamic networks. For the optimization problems, we focus on the quickest flow problem and the quickest transshipment problem. A quickest flow problem is to find a minimum time in order to send a given amount of flow from a single origin to a single destination. A quickest transshipment problem is similar to the quickest flow problem, except it allows multiple origins and multiple destinations, with different supplies and demands. For the equilibrium, we study the existence of equilibrium and the computation of equilibrium if one exists. We also study the aver16 age convergence speed of best-response dynamics into equilibrium. In addition to the research of the properties of equilibria, we also connect discrete dynamic congestion games with continuous dynamic congestion games. Our result provides an intuitive understanding of the meaning of equilibrium with continuous flow. In the second part of this thesis (Chapter 3), we present a newly designed traffic information exchange system. In modern traffic systems, more and more vehicles are equipped with wireless communication systems, such as smartphone and GPS units. Many central information services, such as Google maps, Tomtom real-time information systems, can provide real-time traffic information for on-vehicle devices. These services, however, do not provide traffic predictions which are actually more useful than the real-time traffic information alone. We discuss the dilemma of providing traffic predictions and give a new solution to resolve such dilemma. We also present both theoretic analysis and results from a series of behavioral experiments that demonstrate the effectiveness of such system. This thesis is organized as follows: In the rest of this chapter, we discuss the background and motivations for optimization and equilibrium in dynamic networks. We also review related literatures and summarize the contributions of this thesis. Subsequently, we illustrate the dilemma of broadcasting traffic predictions, and propose a new system – a central information exchange – that could resolve this dilemma. We summarize theoretic results and conclusions obtained from a series of behavioral experiments that are designed to test the effectiveness of this system. In Chapter 2 we discuss optimization problems and equilibrium in dynamic networks in detail. After defining key concepts in dynamic networks, we first derive optimality conditions for the quickest flow problem. Using these conditions, we develop new algorithms that are either simpler or more efficient than the existing algorithms. Noticeably, our results show for the first time that the quickest flow problem can be solved in a constant time bound of the min-cost flow problem, resolving a longstanding open problem. We then introduce new algorithms for several special cases of the quickest transshipment problem. Using the approach developed for these special cases, we are able to approximate the optimal solution of the quickest transshipment 17 problem with less time-consuming algorithms. After the discussions of the two optimization problems in dynamic networks, we turn to the equilibrium in dynamic networks. Combining definitions and concepts in the literature, we define a discrete dynamic congestion game and present the results of existence and computation of equilibrium. We further study the convergence speed of a best-response dynamics into an equilibrium. Finally, we link the discrete model and a continuous model by showing that a continuous model can be considered as a limit of a sequence of discrete models. In Chapter 3, we introduce the traffic information exchange. We start with an introduction of the details of such system. Then we consider a network model based on the system and provide theoretical analysis. In order to further test the effectiveness of the system, we design and run a series of behavioral experiments. We present the data and discuss the implications of these results. We conclude this thesis in Chapter 4 with summaries and discussions of possible future research directions. 1.1 Optimization in Dynamic Networks In this section, we introduce optimization problems in dynamic networks arising from various applications. We first discuss the background and motivations of these optimization problems, then we review the literatures related to this topic. Finally, we summarize our contributions. The technical details of our contributions, including new models, theorems, and algorithms, are presented in Section 2.2. 1.1.1 Background and Motivations There are many network systems in the real world, and the analysis of these systems often involve the temporal factor. We are not only interested in the properties and decision making in a network at one instant, we are also interested in the change of the system over time, and the dynamics of the system, which might affect the optimization and decision making processes. An important reason that such considerations are 18 imperative is that in many network systems, there are congestion effects. An optimal result for one instant might not be optimal for a period of time if it causes too much congestions. On the contrary, a solution that is not so attractive in a static network setting might become a good solution if it helps mitigate congestions in the long run. Here we list several typical applications of optimization problems in dynamic networks. We will review literatures that are related to these topics in Subsection 1.1.2. ∙ Traffic systems A key metric in the design and analysis of traffic systems is the time it takes for vehicles to go from their origins to destinations. A fundamental question that arises from the studies is about the optimal way to route all vehicles so that the average time or the maximum time can be minimized. Since the traffic on a road network varies over time, a static network model can only capture the state of the network at one moment. It can be used to study the network in a short period of time as an approximation, but the error grows as the time period extends. This is when the dynamic network model comes into play: We would like to optimize the overall travel time of all traffic in a network in a relatively long period of time. The dynamic network model can take into consideration the change of traffic flow, the dynamics, and traffic congestions. It can provide valuable guidances to traffic scheduling and control, traffic signal design, and urban planning. ∙ Evacuation planning Evacuation planning is critical for countries or regions that suffer from earthquakes, hurricane, or other natural disasters from time to time. It is hard for a static network model to capture the time factor in evacuation planning in networks, which is critical to the planning. On the other hand, dynamic network models are especially suitable for modeling evacuation scenarios since time is the essence when evacuations are needed. These models can be applied to evacuation planning for an area as small as a building, to an area as large as a whole city or state. More specifically, researchers constantly find themselves 19 facing optimization problems when planning evacuation routes, such as what is the minimum time needed to get all the people out of a building or to evacuate all residents of a city to the neighbor regions? These problems give rise to the research of optimization problems in dynamic networks. ∙ Packet routing On the Internet, information is divided into packets and could be sent through different paths via routers. An Internet browser, for example, receives packets that could potentially come from different sources and data centers. The browser then assembles the packets and display the information in a humanreadable format. An important problem in packet routing, where there are many packets needed to be sent through a network, yet the bandwidth is limited, is to decide how to route the packets so that the time a browser needs to wait for all packets to arrive can be minimized. Again, time plays an important role in this problem due to the limit of bandwidth. If the amount of data is large, sending the data through multiple routes might be better even though some of the routes goes through extra routers. For this problem, dynamic network is a suitable model because it considers the flow of packets and the delays due to bandwidth limits. ∙ Job scheduling In many scenarios, job scheduling is at the core of efficiency improvement. For example, a factory may find the manufacturing time of a product significantly reduced when multiple manufacturing stations are better arranged and located. In a software company, the publication date of a new release may be long missed if the tasks are not well allocated to the engineers and designers. In both applications, job scheduling could be modeled as an optimization problem in dynamic networks, where the objective is to minimize the maximum time needed to accomplish all the tasks. Since Ford and Fulkerson [34] first introduced the concept of dynamic networks, 20 there are many researchers who develop various theories and algorithms for optimization problems in dynamic networks. There are also a great amount of literatures that make use of these models and algorithms to solve real-world problems and improve system efficiencies. In the next subsection, we review the literature related to the theoretical results and applications of dynamic networks. 1.1.2 Literature Review In this subsection, we first review important techniques and results introduced in the literature for solving optimization problems in dynamic networks. Many new results introduced in this thesis are built upon these techniques. We then review several applications in which these techniques and results are applied. Ford and Fulkerson [33] first introduced the dynamic network model. In their ground-breaking research, they introduced a generic approach for solving optimization problems in dynamic networks. They showed that one can use time expansion to convert dynamic networks with discrete time horizon into static networks, then solve the problem using algorithms for the static networks. As an example, consider the dynamic max-flow problem: Find the maximum amount of flow that could be sent from the source node 𝑠 to the sink node 𝑡 in 𝑇 = 5 units of time. Fig. 1-1 shows that one can duplicate the network by three times and add a “hold-over” arc between the same node in two consecutive time periods. The dynamic max-flow problem is then equivalent to finding a maximum flow in the time-expanded network. It is obvious in Fig. 1-1 that the number of nodes and arcs in a time-expanded network is generally proportional to the time horizon 𝑇 , which is exponential in the input size log 𝑇 . Therefore the generic approach does not yield a polynomial-time algorithm. It is also unable to tackle problems with non-integer time periods. Although the general approach fails to provide polynomial-time algorithms for every problem in dynamic networks, there are efficient algorithms for some optimization problems in dynamic networks. Ford and Fulkerson [34] showed that the dynamic max-flow problem can be formulated as a min-cost flow problem in a slightly modified 21 𝐴 1 𝑠 1 1 2 2 ⇒ 1 𝑠0 𝑇 =0 1 1 𝑠1 𝑇 =1 1 1 𝑡2 1 1 𝐵1 1 1 𝐴1 1 1 𝑡1 1 1 1 𝐴0 1 𝐵 1 𝐵0 2 𝑡 1 𝑡0 2 𝐵2 2 𝐴2 2 𝑠2 𝑇 =2 𝑇 =3 𝑇 =4 𝑇 =5 Figure 1-1: Turning a static network into a time-expanded network. static network. As a result, the dynamic max-flow problem can be solved by various min-cost flow algorithms in polynomial time. To solve the dynamic max-flow problem, Ford and Fulkerson [34] introduced the concept of temporally-repeated flow. They further showed that any temporallyrepeated solution corresponding to a feasible static flow 𝑥 is a feasible dynamic flow, and there exists an optimal solution to the dynamic max-flow problem that is in a temporally-repeated form. Using this result, they are able to formulate a dynamic max-flow problem as a min-cost flow problem by 1) setting arc costs to −𝜏𝑒 and capacities to 𝑢𝑒 , and 2) adding an arc (𝑡, 𝑠) with cost 𝜏𝑡𝑠 = 𝑇 and infinite capacity. After solving this min-cost flow problem, one can transform the optimal static flow into a temporally-repeated flow, which is an optimal solution to the original dynamic maxflow problem. Fig. 1.1.2 shows an example of constructing a min-cost flow problem from a dynamic max-flow problem. A closely related optimization problem in dynamic networks is the quickest flow problem, which is to find the minimum time 𝑇 * needed to send a given amount of dynamic flow 𝐹 from a source node 𝑠 to a sink node 𝑡. Burkard et al. [18] showed that the maximum amount of flow that can be sent through a network increases with time 𝑇 . An immediate approach is then to use binary search to find the minimum time 𝑇 such that the maximum amount of dynamic flow that can be sent from 𝑠 to 𝑡 within time 𝑇 exceeds 𝐹 . This naive approach, however, does not automatically yield 22 1 𝐴 1 𝑠 1 2 𝑡 2 𝐴 -1 ⇒ 𝑠 𝐵 -1 𝑡 -1 -2 -2 𝐵 5 𝑇 =5 Figure 1-2: Formulate a dynamic max-flow problem as a min-cost flow problem. The numbers on the arc indicate arc costs. The capacity of the arc from 𝑡 to 𝑠 in the network on the right is infinity. The capacities of other arcs are unchanged. a fully polynomial-time algorithm. Burkard et al. [18] improved the naive approach by using Newton’s method. Their algorithm repeatedly solve a min-cost flow problem in order to find the optimal time 𝑇 . This algorithm solves the quickest flow problem in a network with integer arc capacities. It needs to solve 𝑂(log (𝑛𝑈 )) number of min-cost flow problems, where 𝑈 is the maximum arc capacity. They also introduced strongly polynomial-time algorithms by using Megiddo’s parametric search [60]. An interesting extension from the dynamic max-flow problem and the quickest flow problem is the earliest arrival flow problem. It is first studied by Gale [37]. The goal is to find a dynamic flow that maximizes the amount of flow sent through the network in all time between 0 and 𝑇 simultaneously. Such a flow is called an earliest arrival flow. Gale [37] showed that an earliest arrival flow always exists in a dynamic network with a single source and a single sink. Wilkinson [96] and Minieka [64] showed that one can use the successive shortest path algorithm for the min-cost flow problem (see Ahuja [2] for more details) to find an earliest arrival flow. Hoppe and Tardos [48] provided a polynomial-time approximation algorithm for the earliest arrival flow problem. Fleischer [32] also studied the earliest arrival flow problem in a network with piecewise-constant capacities. She showed that for a network with arc capacities that are piecewise-constant and have at most 𝑘 breakpoints, the earliest arrival flow problem can be computed by solving 𝑂(𝑛𝑘) maximum flow problems. The existence of an earliest arrival flow can be extended to networks with multiple 23 sources and a single sink, but not multiple sinks. Minieka [64] showed that the earliest arrival flow problem in networks with a single sink can be converted to a lexicographical max-flow problem in an expanded network. Using this property, he proved that there exists an earliest arrival flow in a network with a single sink. On the other hand, both Fleischer [30] and Baumann and Skutella [8] gave simple examples of networks with multiple sinks where earliest arrival flow does not exist. Schmidt and Skutella [81] analyzed the quickest flow problem with multiple sinks and proved that an earliest arrival flow exists in networks without two specific patterns. On the computational side, Fleischer [30] showed that the earliest arrival flow problem with multiple sources and a single sink in a network with zero arc costs can be formulated as a parametric max-flow problem and can be solved in 𝑂(𝑛𝑚 log (𝑛2 /𝑚)) time using the pre-flow push algorithm introduced by Gallo et al. [38]. Baumann and Skutella [8] revealed a recursive structure of the earliest arrival flow problem in a network with multiple sources and a single sink (possibly with non-zero arc costs). They showed that the earliest arrival flow problem can be solved in polynomial time with respect to the size of the output. Note that, however, the output size could be exponential with respect to the number of arcs and nodes in a network. Zheng et al. [99] introduced a heuristic algorithm for solving the earliest arrival flow with multiple sources. They use computational examples to show that their algorithm is efficient in practice and generates high-quality solutions. The quickest transshipment problem is to find the minimum time to send given amount of flow from multiple sources to multiple sinks. Unlike problems in static networks, we cannot simply add a super source and a super sink to a network and turn it into a single-source-single-sink problem. The multi-source-multi-sink problem is harder than the single-source-single-sink problem and requires more cautious treatments. The only polynomial-time algorithms for the general quickest transshipment problem are given by Hoppe and Tardos [49]. They first studied the lexicographic max-flow problem in dynamic networks. They then showed that one can transform a quickest transshipment problem into a lexicographic max-flow problem. They provided various algorithms that could solve the quickest transshipment problem in poly24 nomial time. Their algorithms require to repeatedly call a subroutine that minimizes a submodular function. Although submodular function minimization is polynomialtime solvable, it has a high-order time complexity (one of the fastest algorithms is by Orlin [68] which requires to solve 𝑂(𝑚6 ) min-cost flow problems), and is slow to run in practice. There are various special cases of the quickest transshipment problem. Fleischer [31] showed that the quickest transshipment problem in a network with a single source or sink and zero arc costs can be solved in 𝑂(𝑛𝑚 log (𝑛2 /𝑚)) time. Kamiyama et al. [52, 53] studied a special fully-connected network with uniform path lengths in which the distances of any path between any node (other than the sink node) and a single sink node are the same. They showed that the quickest transshipment problem in such networks can be solved in 𝑂(𝑘 3 𝑛𝑚2 log 𝑘𝑛2 /𝑚), where 𝑘 is the number of in-degree of the sink, i.e., the number of nodes connected to the sink. For the optimization problems mentioned above, there are usually two different versions with regard to time: one is the discrete version, and another is the continuous version. In a discrete version, one assumes that time 𝑇 only takes integer or discrete numbers. (See [96, 64] for example.) In this version, one can still apply the timeexpanded technique to help design efficient algorithms. Powell et al. [74] provided a summary of research on discrete dynamic networks. In a continuous version, time 𝑇 could be any real number. For example, for the quickest flow problem, the total time needed to send all flow from the source node 𝑠 to sink node 𝑡 is usually not integer. Therefore it requires a continuous time 𝑇 in the model. The continuous dynamic network model is considered in [4, 67, 73, 75]. Fleischer and Tardos [30] considered the relations between the discrete models and continuous models. They extend algorithms for solving problems in discrete models to solving problems in continuous models. There are other extensions to more complex problems. For example, Fleischer and Skutella [28, 29] used the temporally-repeated flow solution form to study the mincost multi-commodity problem in dynamic networks. They used condensed networks to develop approximation schemes for this NP-hard problem. Kohler and Skutella [57] 25 introduced new formulations that model networks with flow-dependent transit time. They further showed that such a setting leads to NP-hardness and inapproximability with arbitrary precision. In this thesis, we will not go into the area of multicommodity dynamic flow and network with time-dependent arc capacities and costs. There are also a great amount of literatures that apply the modeling techniques and algorithms for dynamic networks to real-world problems. A research community that often uses dynamic networks as a basic model is the transportation community. In the transportation community, a “cell transmission model” [25, 26] is widely used. In this model, roads are segmented into small sections called “cells”, and traffic is assumed to move from a cell to the next. If we consider a cell as a node the adjacent cells are connected by an arc, we have a network of cells. Since the traffic flow varies by a great amount over time, a dynamic network is better suited for traffic system analysis for the cell model. In his thesis, Zheng [98] developed algorithms for solving the dynamic traffic assignment problem based on the cell transmission model. His algorithms involved two variants. One is for networks with time-varying parameters, and another is for networks with time-invariant network parameters. Kohler et al. [56] applied the dynamic network flow model to analyze a traffic system with congestions and flows that change over time. Another research area that widely uses dynamic network models is evacuation planning. It could be as small as the planning for evacuation from a building during fire, and could be as large as the planning of evacuation for a whole city or state during emergency or natural disaster. Zheng et al. [100] divided an area for evacuation into zones and solved an earliest arrival flow problem based on the zoning. They then used simulations to further evaluate and local-optimize the evacuation plan. As a case study, they applied their approach to a bomb threat scenario at a football stadium. Nassir et al. [66] modeled a traffic network evacuation planning as a dynamic flow problem. In their model, they also assigned different threat levels to different areas. They combined the algorithms for solving the dynamic flow problem and a linear-programming formulation to develop a framework for evacuation planning with non-uniform threat levels. They applied their approach to Tucson chlorine 26 spill network with several demand scenarios and showed that the optimal traffic routing strategy is generated in a reasonably short computational time. In his thesis, Tjandra [90] discussed dynamic network optimization with application to the evacuation problem, he introduced dynamic network flow models to generate good solutions for the evacuation planning, which could help owners to evaluate existing building evacuation plans or design new plans for new buildings. Min [62, 63] presented an evacuation planner algorithm that provided evacuation schemes that was scalable with the increase of the number of evacuees. They showed that their algorithm scales well and could find good evacuation plans through simulation results. Other applications of the dynamic networks include job scheduling [13, 15], electronic communication [21, 59], network routing [71, 14, 72], and parallel computing [58]. In these research areas, researchers often use dynamic networks to model the connections and include the temporal factor in their analysis. 1.1.3 Contributions In this thesis, we focus on two optimization problems in dynamic networks: the quickest flow problem, and the quickest transshipment problem. The quickest flow problem is to find a minimum time to send a given amount of flow from one origin to one destination. An example is to find the minimum time needed to evacuate all people in an office through the front door of a building. This problem is one of the fundamental optimization problems in dynamic networks. We derive new optimality conditions and develop new algorithms for solving this problem. For the first time we show that this problem could be solved within the same time bound of the min-cost flow problem. The quickest transshipment problem is similar to the quickest flow problem, except that it allows multiple origins and multiple destinations. As it turns out, this problem is much harder than the quickest flow problem. We develop new approaches for solving several special cases of the quickest transshipment problem, and further extend it to approximate the optimal solution of the quickest transshipment problem. Table 1.1 summarizes the contributions of this thesis towards these problems. 27 𝑂(log(𝑛𝑈 )) min-cost flow: Burkard et el. [18] Quickest Flow [This Thesis] 𝑂(𝑛𝑚 log(𝑛2 /𝑚) log(𝑛𝐶)) (𝑂(1) min-cost flow with cost-scaling) Quickest Transshipment – Single source or sink, 0 cost 𝑂(𝑛𝑚 log(𝑛2 /𝑚)) max flow: Fleischer [31] – Multi-source and sink, 0 cost [This Thesis] 𝑂(𝑚2 𝑛2 ) – parametric max-flow. – Uniform path length [This Thesis] 𝑂(𝑚2 𝑛2 ) – General case 𝑂(𝑛5 ) min-cost flow: Hoppe and Tardos [49] – General case approximation [This Thesis] 𝑂(𝑚2 𝑛2 ) Table 1.1: Contributions of this thesis to the research of optimization problems in dynamic networks. We discuss all the technical details in Section 2.2. 1.2 Equilibrium in Dynamic Networks In this section, we first introduce the background and motivations behind the research on user and traffic equilibrium in dynamic networks. We then review related literatures. Finally, we summarize our contributions in this thesis. The technical discussions including theories and proofs are presented in Section 2.3. 1.2.1 Background and Motivations In many network systems, network users need to share arcs that have limited capacities, and these users are selfish. Road networks and Internet are among the most prominent examples. Researchers are interested in the outcomes and dynamics in such network systems. Since users in theses systems are selfish, researchers usually study Nash equilibria in these systems. These systems are often assumed to reach a Nash equilibrium in which no user can change his/her decision unilaterally to achieve 28 𝐵 5 𝐴 8 4 2 𝐶 Figure 1-3: An illustration of two users sharing the same road, but not interfering with each other. a better result. Nash equilibrium has been widely studied in the transportation research community. It is also called traffic assignment problem. Wardrop [94] and Beckmann et al. [9] laid the earliest foundation of research. They mathematically modeled traffic systems assuming the traffic flow is continuous and analyzed important properties and characteristics of the model. Their model has been adopted widely in the literature. Rosenthal [79], on the other hand, introduced a discrete version of Nash equilibrium from the game theoretic point of view. In his model, network flow is assumed to be discrete. That is, each “player” of the game controls a certain amount of flow, and are trying to minimize their own travel time in the network. A common assumption of the models introduced by Wardrop and Rosenthal is that the travel time on an arc is identical for all flow or players using that arc. This is a simplified assumption for systems such as traffic network. For example, Figure 1-3 shows an instance where two vehicles use the same road, but in two non-overlap time segments. In the network shown in Figure 1-3, the travel time on arc (𝐴, 𝐵) is constantly 5, and it is constantly 8 on arc (𝐴, 𝐶). The travel time on (𝐵, 𝐶) is 2 if only one player uses it, and 4 if two players use it. There are two players in the system: player 1 needs to go from node 𝐵 to node 𝐶, and player 2 needs to go from node 𝐴 to node 𝐶. Note that player 1 only has one option: take path 𝐵 → 𝐶. While player 2 can choose between path 𝐴 → 𝐵 → 𝐶 and path 𝐴 → 𝐶. The classical network congestion game has a unique equilibrium: ∙ Player 1: take path 𝐵 → 𝐶, travel time: 2 29 ∙ Player 2: take path 𝐴 → 𝐶, travel time: 8 Note that in this equilibrium, player 2 does not want to shift to path 𝐴 → 𝐵 → 𝐶 because it will increase the travel time from 8 units to 5+4=9 units. However, if we take a closer look, since the travel time for player 1 on arc 𝐵 → 𝐶 is only 2 units of time, when player 2 arrives at node 𝐵 at time 5, player 1 has already arrived at node 𝐶 and is not occupying the arc (𝐵, 𝐶) any more. Therefore, a reasonable travel time for player 1 on arc (𝐵, 𝐶) should be 2, instead of 4. This implies that player 2 can reduce the travel time by 1 if he/she shifts to path 𝐴 → 𝐵 → 𝐶. This example shows that a player’s travel time on an arc is not independent of his/her arrival time at the tail node of that arc. Thus, a more realistic model is to take that arrival time into consideration. This is often called a time-dependent model. Since the temporal factor plays an important role in many networks such as traffic networks and the Internet, the research of time-dependent network models has attracted much attention in recent years. In this thesis, we study the equilibrium in networks under time-dependent settings. We focus on the problem of existence and computation of time-dependent equilibrium, and provide analysis of the average convergence speed to an equilibrium with best-response dynamics. In addition, we also discuss the relation between a discrete congestion game and a continuous congestion game with the time-dependent settings. 1.2.2 Literature Review Ford and Fulkerson [34] first studied a time-dependent network model and called the corresponding network flow dynamic flow. It is sometimes called flow over time in the literature. The routing in a time-dependent model is called dynamic routing. Dynamic flow and dynamic routing is widely studied in the transportation community. Most of the models are based on specific travel time functions on arcs. The techniques used in the literature include optimal control [43, 36], variational inequalities [35, 78, 88, 77, 20], and simulation [11, 91]. Peeta and Ziliaskopoulos [70] provided a survey of dynamic routing. 30 Figure 1-4: An illustration of the queueing delay model on an arc. Figure by Koch and Skutella [55]. Recently, people studied the problem from the perspective of algorithmic game theory. Most of the researches adopt a deterministic queueing model first introduced by Vickrey [92]. An illustration of the model is shown in Figure 1-4. As shown in Figure 1-4, each player controls a small amount of flow. If we imagine an arc as a pipe with limited size of the outlet, only a certain amount of flow can go through the pipe in one unit of time, depending on the size of the pipe. If too much flow is coming into the pipe, there will be spill-back at the end of the pipe. That is, the flow will accumulate and the players controlling the flow will need to wait in a queue. There are several earlier works with this model. Hendrickson and Kocur [45] analyzed several cases of commuting and travel patterns on road networks using this model. They provided further insights on the decision of departure time based on their analysis. Smith [87] showed that equilibria exist in a special case in which the queue length has a continuous time derivative everywhere. In more recent literatures, Akamatsu and Heydecker [3] studied the Braess’s paradox in time-dependent networks. They provided necessary and sufficient conditions for such paradox to occur in a time-dependent network. Anshelevich and Ukkusuri [5] introduced a discrete model with a game theoretic setting. In their model, each player controls a splittable flow and tries to minimize his/her travel time. They also used the queueing model shown in Figure 1-4 to characterize the travel time functions. They discussed the existence of equilibrium and showed the computation of equilibrium with this setting. Hoefer et al. [47] also studied a discrete model with a similar setting. They proved results of existence and complexity properties of Nash equilibria, and provided analysis of the convergence speed to a Nash equilibrium using 31 best-response strategies. Koch and Skutella [54] introduced a new concept called thin flow with resetting in order to better characterize mathematical properties of a Nash equilibrium in dynamic networks. They showed that a Nash equilibrium can be characterize via a sequence of static flows with several special properties. It is the first step towards a deeper understanding of Nash equilibria in general dynamic networks. Cominetti et al. [22] extended the results by Koch and Skutella. They gave a constructive proof for the existence and uniqueness of equilibria for the case of a piecewise constant inflow rate in a single-origin-single-destination network. They established new results through a detailed analysis of the static flows obtained as derivatives of a dynamic equilibrium. Bhaskar et al. [12] considered a Stackelberg strategy for the equilibrium in dynamic networks. They showed that by carefully reducing the capacities of some arcs in a network, one can ensure that the social cost of an equilibrium is no worse than a small constant times the optimal social cost in the original network. 1.2.3 Contributions We summarize our contributions to the research of equilibria in dynamic networks here. In this thesis, we first consider a discrete dynamic congestion game model. We adopt the deterministic queueing model introduced by Vickrey [92], and assume that each player controls a fixed amount of flow. For the travel time, we use the definition by Anshelevich and Ukkusuri [5], allowing the travel time of each individual player to depend on the complete history of traffic on an arc. This definition contains a large family of travel time functions and can be used to model many real-world networks. Based on this model, we show that there exists Nash equilibria in a network where all players either have the same origin or the same destination. We also show that an equilibrium can be computed efficiently with respect to the number of players. Moreover, we consider the best-response dynamics in such networks. We show that the average convergence speed of the best-response dynamics is fast, in spite of the exponential convergence speed in the worst case. 32 Finally, we study the connections between models with discrete flows and continuous flows. We show that given a continuous incoming flow rate function, we can construct a sequence of discrete model that converges to a continuous model. This result provides a more intuitive explanation for the continuous equilibria in dynamic networks. It also serves as a rigorous mathematical definition of continuous equilibria in networks over time. The technical details of all the results summarized above are introduced in Section 2.3. 1.3 Traffic Information Exchange In this section, we first introduce the background and motivations of designing a new central information system for traffic systems. We then briefly summarize the main theoretical results based on this new system. We also summarize the main observations and conclusions obtained from a series of lab-controlled behavioral experiments in the end. 1.3.1 Background and Motivations As we mentioned in Section 1.2, the traffic congestion models proposed by Wardrop [94] and Rosenthal [79] are widely used to model and analyze traffic systems. A fundamental assumption by both models is that drivers have complete information of the network. More specifically, drivers are aware of other drivers’ path choices and the resulting travel time on each path. In some literatures, this assumption is described as the travel time “perceived” by each individual driver. Based on this perceived traffic flow and the corresponding travel time, drivers then do selfish routing. This assumption is quite strong for traffic systems composed of drivers who have little to no interaction with each other and cannot precisely evaluate the current and future traffic conditions without help from outside sources. Not many previous works discuss this assumption until recently Roughgarden [80] tried to resolve it by studying the robustness of user equilibria. 33 The advancement of wireless communication technologies provides a way of supporting this assumption: real-time traffic information can be wirelessly transferred to in-vehicle travel guidance devices and be used for routing. However, as pointed out by Wang et al. [93], Messmer et al. [61], and Bottom [17], there are several problems with just providing the real-time traffic information. First of all, real-time information is sometimes insufficient for the routing purpose. A driver needs predictions of the traffic conditions on the roads when he/she arrives in order to make a good routing decision. The current traffic condition can definitely help, but is less than ideal. Unfortunately, using predictions in routing might cause other problems. If all drivers receive the same prediction, they might all try to avoid the same roads that are predicted to be congested, and shift to other routes. This will invalidate the prediction itself. Even worse, this might cause congestions in other roads that have smaller capacities and resulting in a much longer travel time than the original traffic distribution. People have suggested several approaches to tackle this problem. One is purely for the study of traffic systems. This model is to apply the stochastic equilibrium concept into traffic system. Horowitz [50] first used the stochastic equilibrium concept to analyze a network with two links. He discussed the model and the stability of the equilibrium. Since then, there are many other literatures related to this topic. See [95, 10, 19, 24] for example. A second approach also involves stochastic processes, but also takes individual driver’s decision-making process into account. A popular model is called Markovian traffic equilibrium model. In this model, researchers leverage day-to-day evolving interaction between traffic congestions and drivers’ information acquisition to establish a model leading to an equilibrium. See [44, 7] for more detailed discussions of the Markovian equilibrium. A third model is to use mixed Nash equilibrium. For example, Bottom [17] systematically treated the problem using probabilistic models and showed that equilibria could be achieved under the probabilistic settings. Although these models show that an equilibrium can be achieved, in several labcontrolled experiments, such as the one by Iida et al. [51], and a more recent one 34 Driver 1 1-1. Traffic Prediction 1-2. Route Choice Central Information System 2-1. Traffic Prediction Driver 2 2-2. Route Choice 1-3. Update Prediction 2-3. Update Prediction . . . . . . N-1. Traffic Prediction N-3. Update Prediction N-2. Route Choice Driver N Figure 1-5: The mechanism of communications and interactions between on-vehicle devices and the central information exchange. by Selten et al. [83], it is shown that such equilibrium is not always achieved. The conclusion is that the “perceived” traffic and travel time by drivers is mostly inaccurate and the lack of coordination mechanism causes the system to be unstable. Therefore it is actually hard to reach an equilibrium predicted by various mathematical models in a traffic system. In this thesis, we propose a new approach. Since wireless communication devices are widely used for routing purposes, these devices should be able to communicate with a central information system most of the time. Currently, such communication is mostly one directional. The central information system sends real-time traffic information to smartphones and GPS units, and the communication stops there. We propose a system that features a bi-directional communication between on-vehicle devices and a central system, which we call a traffic information exchange. When an on-vehicle device receives traffic predictions, it does the routing based on the information received, then it sends the path choice back to the information exchange. The exchange then updates traffic predictions on all roads based on this feedback. When it sends traffic predictions to the next device, these predictions are updated according to the previous driver’s path choice. Figure 1-5 demonstrates such a process. There are several advantages of such a system. First of all, it does not dictate where users should go, as suggested by some literatures in order to improve the overall travel time (see [82, 23] for example). Although it is attractive to have such 35 a system, it is difficult to implement in practice. It is hard, for both technical and political reasons, to ask drivers to take specific paths. Some literatures suggest to provide perturbed information of traffic on different paths. However, this will cause the predictions to be inaccurate and might result in distrust of the system by drivers in the long run. Our new system avoids such problems by not telling people what to do, but only providing accurate traffic predictions and requiring user feedbacks. This will achieve an implicit driver coordination effect, as will be discussed in Chapter 3. Secondly, it enables the central system to provide better traffic predictions. Currently, all the predictions can only be based on the real-time traffic information and the historical traffic patterns. Having user feedbacks is equivalent to getting future information. It can lead to much better predictions because it takes a part of the guesswork out of the prediction framework. Ideally, if all drivers are using this system, the central information exchange would know almost exactly how much traffic will be on which road at which time. Such precision can significantly reduce the uncertainties in daily commutes. Finally, the system is suitable for auto-pilot vehicles. It takes the possible human errors out of the system and can potentially achieve a much better traffic distribution over a whole road network. 1.3.2 Contributions In this thesis, we first build a game theoretic model based on the traffic information exchange mechanism. In such a system, a concern is that since we rely on the user feedbacks, users might want to report fake path choices or not to report at all to the central system. We show that under certain assumptions, if all other drivers in the system all report there true path choices, the optimal strategy for a driver is to also report his/her true path choice. Intuitively, when a driver reports, the central system can update its traffic predictions, indicating that the predicted travel time increases on those roads. This update might give other drivers incentives to avoid the same roads. This is the intuitive reason that drivers have incentive to report their true path choices. 36 In order to further test the effectiveness of the central information exchange, we design an online traffic experiment involving human subjects. In a lab-controlled environment, we run a series of experiments with different numbers of people and various types of information feed, such as real-time information, static traffic prediction, and the information exchange system. Data from these experiments show that people who use the traffic information exchange gain advantages compared to the general traffic. The more drivers who use the system, the more the overall improvement of the whole traffic system, even for the general traffic. But a majority of these improvements go to the drivers who use the traffic information exchange. We discuss the technical details and present the data and results in Chapter 3. 37 38 Chapter 2 Optimization and Equilibrium in Dynamic Networks In this chapter, we discuss optimization problems and equilibrium in dynamic networks. For the optimization problems, we mainly study the quickest flow problem and the quickest transshipment problem. We introduce new mathematical models for these problems. Based on the new models, we develop simplified and more efficient algorithms and approximate algorithms for these problems. For the equilibrium in dynamic networks, we study the existence of equilibrium and the convergence speed of best-response dynamics in a discrete model. We prove new results of the existence of equilibrium and derive the average convergence speed of best-response dynamics. We also show that we can construct a sequence of equilibrium in networks with discrete dynamic flow that converges to a continuous equilibrium in the same network. This chapter is organized as follows: In Section 2.1, we introduce the general concepts and definitions related to dynamic networks. These definitions include both the ones widely used in static networks, and the ones that are specifically designed for dynamic networks. We discuss optimization problems in dynamic networks in Section 2.2, in which we first introduce new mathematical models, then discuss the quickest flow problem and the quickest transshipment problem. In Section 2.3, we focus on the equilibrium of dynamic networks. We first introduce a discrete model and study the existence of equilibrium. Then we prove new results for the conver39 gence speed of best-response dynamics based on the discrete model. At the end of this chapter, we prove a convergence result from a sequence of discrete models to a continuous model. 2.1 Definitions and Preliminaries In this section, we introduce key concepts and definitions that we use in this chapter. These concepts include fundamental definitions in both static networks and dynamic networks. Most of them are developed in studies of classical network flow problems and are widely used to solve optimization problems and find user equilibria. Network 𝐺 = (𝑉, 𝐸) is a network with a set of nodes 𝑉 and arcs 𝐸. Let 𝑛 := |𝑉 | be the number of nodes, and 𝑚 := |𝐸| be the number of arcs. Each arc 𝑒 = (𝑤, 𝑤′ ) ∈ 𝐸 is associated with a cost, or free-flow transition time 𝜏𝑒 ≥ 0, and a capacity, or maximum flow rate 𝑢𝑒 ≥ 0. In this thesis, we only consider dynamic networks in which 𝜏𝑒 and 𝑢𝑒 do not change over time. We also assume that there is no lower bound on the arc capacity. Note that since every network with lower bound on arc capacities can be converted to a network without lower bound without changing the order of the number of nodes and arcs (see Ahuja et al. [2]), we do not lose any generalities here. We define 𝛿𝑤+ := {(𝑤, 𝑤′ ) ∈ 𝐸, ∀𝑤′ ∈ 𝑉 } as the set of outgoing arcs from node 𝑤, and 𝛿𝑤− := {(𝑤′ , 𝑤) ∈ 𝐸, ∀𝑤′ ∈ 𝑉 } as the set of incoming arcs into node 𝑤. Each network has one or multiple source nodes (origins) and one or multiple sink nodes (destinations). In this chapter, we use source node and origin interchangeably, and sink node and destination interchangeably. Flow in Static Networks For each arc 𝑒 ∈ 𝐸, we use 𝑥𝑒 to represent the static flow on 𝑒. We further use 𝑥 to denote the flow in a static network. In this thesis, if we mention “flow 𝑥”, we assume it is a flow in a static network. Demand Node and Supply Node 40 For each node 𝑤 ∈ 𝑉 , we associate a number 𝑏(𝑤) representing its supply/demand. If 𝑏(𝑤) > 0, 𝑤 is a node with 𝑏(𝑤) units of supply, and if 𝑏(𝑤) < 0, 𝑤 is a node with −𝑏(𝑤) units of demand. If 𝑏(𝑤) = 0, node 𝑤 is an intermediate node with neither supply nor demand. Feasible Flow If a static flow 𝑥 satisfies the flow conservation conditions ∑︁ 𝑥𝑒 − ∑︁ 𝑥𝑒 = 𝑏(𝑤) ∀𝑤 ∈ 𝑉 (2.1) − 𝑒∈𝛿𝑤 + 𝑒∈𝛿𝑤 and the capacity constraints 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 ∀𝑒 ∈ 𝐸 (2.2) we call 𝑥 a feasible flow. The flow conservation conditions guarantee that at a supply node 𝑤𝑠 there are 𝑏(𝑤𝑠 ) units of flow coming out, at a demand node 𝑤𝑑 there are −𝑏(𝑤𝑑 ) units of flow going in, and at the other nodes, the amount of flow going in is equal to the amount of flow coming out. Preflow and Node Excess A preflow 𝑥^ is a static flow that satisfies the capacity constraints (2.2) but not necessarily the flow conservation conditions (2.1). For a preflow 𝑥^, we define flow excess 𝑒(𝑤) on a node 𝑤 ∈ 𝑉 as the sum of incoming flow minus the sum of outgoing flow. Formally, 𝑒(𝑤) := ∑︁ − 𝑒∈𝛿𝑤 𝑥^𝑒 − ∑︁ 𝑥^𝑒 ∀𝑤 ∈ 𝑉 (2.3) + 𝑒∈𝛿𝑤 In a preflow, 𝑒(𝑤) ≥ 0 for each 𝑤 ∈ 𝑉 ∖{𝑠, 𝑡}. In this thesis, we will use 𝑥 to denote a preflow in order to simplify notations. If 𝑥 also satisfies the conservation constrains (2.1) (i.e., 𝑒(𝑤) = 𝑏(𝑤) for all 𝑤 ∈ 𝑉 ), we will emphasize that 𝑥 is a feasible flow. Min-Cost Flow Problem 41 A min-cost flow problem is to find a feasible flow 𝑥 such that the total cost ∑︀ 𝑒∈𝐸 𝑐𝑒 ·𝑥𝑒 is minimized, where 𝑐𝑒 is the cost of an arc in the setting of static networks. 𝑐𝑒 corresponds to the free-flow transition time 𝜏𝑒 in the dynamic network setting. A min-cost flow problem can be written in the following linear programming form: min ∑︁ 𝑐𝑒 · 𝑥 𝑒 𝑒∈𝐸 s.t. ∑︁ 𝑥𝑒 − + 𝑒∈𝛿𝑤 ∑︁ 𝑥𝑒 = 𝑏(𝑤) ∀𝑤 ∈ 𝑉 (2.4) − 𝑒∈𝛿𝑤 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 ∀𝑒 ∈ 𝐸 Flow Decomposition It is well known (see Ahuja et al. [2] for example) that for any feasible flow 𝑥, there exists a flow decomposition ⟨𝑃, 𝑥(𝑝)⟩, where 𝑃 is a set of paths and cycles in 𝐺, and ∑︀ 𝑥(𝑝) ≥ 0, ∀𝑝 ∈ 𝑃 is the flow on the path or cycle 𝑝. We also define 𝜏 (𝑝) := 𝑒∈𝑝 𝜏𝑒 as the total cost of the arcs on path 𝑝. The decomposition satisfies 𝑥𝑒 = ∑︁ 𝑥(𝑝) ∀𝑒 ∈ 𝐸 (2.5) 𝑝∈𝑃 :𝑒∈𝑝 That is, if we sum the flow on all paths and cycles that contain arc 𝑒, the sum should be equal to the flow 𝑥𝑒 on arc 𝑒. Residual Network Residual networks are widely used for solving network flow problems. A residual network 𝐺(𝑥) = (𝑉, 𝐸(𝑥)) with respect to a given flow 𝑥 is defined as follows: Replace each arc 𝑒 = (𝑤, 𝑤′ ) in the original network 𝐺 by a forward arc 𝑒′ = (𝑤, 𝑤′ ) and a backward arc 𝑒′′ = (𝑤′ , 𝑤). The forward arc 𝑒′ has a cost 𝜏^𝑒′ := 𝜏𝑒 and residual capacity 𝑟𝑒′ := 𝑢𝑒 − 𝑥𝑒 . The backward arc 𝑒′′ = (𝑤′ , 𝑤) has a cost 𝜏^𝑒′′ := −𝜏𝑒 and residual capacity 𝑟𝑒′′ := 𝑥𝑒 . In this thesis, we use 𝜏^𝑒 to indicate the cost of an arc 𝑒 in a residual network. According to optimality conditions for the min-cost flow problem, if there does not exist any cycle with negative cost in a residual network 𝐺(𝑥), flow 42 𝑥 is a min-cost flow. Node Potentials and Reduced Cost Node potentials arise from the dual form of the linear programming formulation of the min-cost flow problem. They are the dual variables corresponding to the flow conservation constraints (2.1). They are sometimes called “distance labels” because the difference of node potentials between two nodes are often closely related to the shortest distance between those nodes in a residual network. With a set of node potentials 𝜋, the reduced cost of an arc 𝑒′ = (𝑤, 𝑤′ ) in a residual network 𝐺(𝑥) is defined as 𝑐𝜋𝑒′ := 𝜋𝑤′ + 𝜏^𝑒′ − 𝜋𝑤 , where 𝜏^𝑒′ is the cost of arc 𝑒′ in the residual network. For a given flow 𝑥, we have the following theorem: Theorem 2.1 (Theorem 9.3, Ahuja et al. [2]). If in a residual network 𝐺(𝑥) = (𝑉, 𝐸(𝑥)), the reduced cost 𝑐𝜋𝑒′ ≥ 0 for every arc 𝑒′ ∈ 𝐸(𝑥), then flow 𝑥 is a min-cost flow. Cut and Minimum Cut A cut 𝑋 ⊂ 𝑉 in a network 𝐺 = (𝑉, 𝐸) is a partition of nodes. It separates all the ¯ := 𝑉 ∖𝑋. A cut contains all nodes into two sets: 𝑋, and its complementary set 𝑋 ¯ In other words, an the arcs 𝑒 that crosses from a node in set 𝑋 to a node in 𝑋. ¯ We use 𝜅(𝑋) to arc 𝑒 = (𝑤, 𝑤′ ) is in the cut if and only if 𝑤 ∈ 𝑋 and 𝑤′ ∈ 𝑋. ¯ represent this set of arcs. Mathematically, 𝜅(𝑋) := {𝑒 = (𝑤, 𝑤′ ) : 𝑤 ∈ 𝑋, 𝑤′ ∈ 𝑋}. The capacity of a cut is defined as the sum of the capacities of the arcs in the cut, i.e, ∑︀ 𝑒∈𝜅(𝑋) 𝑢𝑒 . In this thesis, we will use both 𝑋 and 𝜅(𝑋) to refer to a cut. If there is only one source node 𝑠 and one sink node 𝑡, the set 𝑋 must contain node 𝑠 but node 𝑡. Ford and Fulkerson [33] first introduce the concept of cut for the maximum flow problem. They proved the famous max-flow min-cut theorem: Theorem 2.2. The value of a maximum flow in a network is equal to the minimum capacity of all cuts. Shortest Simple Path 43 A simple 𝑤-𝑤′ path is defined as a path from node 𝑤 to 𝑤′ without loop. For a network 𝐺 with a single source node 𝑠 and a single sink node 𝑡, we use 𝑑𝑠𝑡 (𝑥) to denote the cost of a shortest simple 𝑠-𝑡 path in a residual network 𝐺(𝑥) of 𝐺, and 𝑑𝑡𝑠 (𝑥) the cost of a shortest simple 𝑡-𝑠 path in 𝐺(𝑥). Such costs could be either positive or negative. Note that although the cost of a shortest path between two nodes could be minus infinity in a residual network with negative cycles, the cost of a shortest simple path is always bounded, since there is no cycle in a simple path. In this paper, we use the shorthands 𝑑𝑠𝑡 and 𝑑𝑡𝑠 if the flow they correspond to is clear in the context. Dynamic Flow (Flow over Time) A dynamic flow consists of a set of Lebesgue-integrable functions 𝑓𝑒 (𝑡) that represents the rate of flow for each arc 𝑒 ∈ 𝐸 over time 𝑡. The dynamic flow excess over time on node 𝑤 ∈ 𝑉 is defined as: 𝑔𝑤 (𝑡) := ∑︁ ∫︁ − 𝑒∈𝛿𝑤 𝑡−𝜏𝑒 𝑓𝑒 (𝑠)𝑑𝑠 − 0 ∑︁ ∫︁ + 𝑒∈𝛿𝑤 𝑡 𝑓𝑒 (𝑠)𝑑𝑠 ∀𝑤 ∈ 𝑉 (2.6) 0 A feasible flow 𝑓𝑒 (𝑡) in 𝐺 must satisfy the capacity constraints 𝑓𝑒 (𝑡) ≤ 𝑢𝑒 , ∀𝑒 ∈ 𝐸, 𝑡, and the node excess 𝑔𝑤 (𝑡) must be non-negative at all time for all nodes. See Section 1 of Skutella [84] for a complete discussion of the definition of dynamic flows. Temporally-Repeated Flow First introduced by Ford and Fulkerson [34], temporally-repeated flow is a special type of dynamic flow. It turns any feasible static flow 𝑥 into a feasible dynamic flow. For any feasible static flow 𝑥 and a time horizon 𝑇 , one can perform a flow decomposition on 𝑥 and obtain a tuple ⟨𝑃, 𝑥(𝑝)⟩, where 𝑃 is a set of paths and 𝑥(𝑝) is the flow on each path 𝑝 ∈ 𝑃 . A temporally-repeated flow sends flow over each path 𝑝 ∈ 𝑃 at a constant rate 𝑥(𝑝) from time 0 to 𝑡(𝑝) := max{𝑇 − 𝜏 (𝑝), 0}, where ∑︀ 𝜏 (𝑝) := 𝑒∈𝑝 𝜏𝑒 is the cost of path 𝑝. Mathematically, a temporally-repeated flow 𝑓 corresponding to a flow decomposition ⟨𝑃, 𝑥(𝑝)⟩ on 𝑥 with time horizon 𝑇 is defined 44 by: 𝑓𝑒 (𝜃) := ∑︁ 𝑥(𝑝), ∀𝑒 = (𝑤, 𝑤′ ) ∈ 𝐸, 𝜃 ∈ [0, 𝑇 ) (2.7) 𝑝∈𝑃𝑒 (𝜃) where 𝑃𝑒 (𝜃) := {𝑝 ∈ 𝑃 : 𝑒 ∈ 𝑃 and 𝜏 (𝑃𝑠,𝑤 ) ≤ 𝜃 and 𝜏 (𝑃𝑤′ ,𝑡 ) < 𝑇 − 𝜃)}. In the definition, 𝜏 (𝑃𝑠,𝑤 ) is the sum of the costs of arcs from node 𝑠 to node 𝑤 on path 𝑃 , and 𝜏 (𝑃𝑤′ ,𝑡 ) is the sum of costs of arcs from node 𝑤′ to node 𝑡 on path 𝑃 . In this thesis, we call a temporally-repeated flow converted from a static flow 𝑥 a temporally-repeated flow of 𝑥. Ford and Fulkerson proved the following theorem about dynamic flows: Theorem 2.3 (Ford and Fulkerson [34]). Any temporally-repeated flow of a feasible ∑︀ static flow 𝑥 is also a feasible dynamic flow. It sends a total of 𝑇 · |𝑣| − 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 amount of dynamic flow in time 𝑇 , where |𝑣| is the total supply of the static flow 𝑥, ∑︀ i.e., |𝑣| = 𝑤∈𝑉 :𝑏(𝑤)>0 𝑏(𝑤). The definitions introduced above are widely used in the development of algorithms and theories in both static and dynamic networks. Many textbooks and papers discuss most of them in details. For example, Section 2.2 and 2.4 of the textbook by Ahuja et al. [2] provides a detailed discussion of the concepts and techniques used to analyze static networks. Skutella [84] provides a systematic tutorial of important definitions and classical problems in dynamic networks. 2.2 Optimization in Dynamic Networks In this section, we focus on several important optimization problems in dynamic networks. These problems arise from real-world applications as introduced in Chapter 1. These applications include the analysis of traffic systems, evacuation planning, packet routing, job scheduling, etc. As a rule of thumb, dynamic networks are most suitable to model problems in which time plays an important role. Also, dynamic networks are useful for modeling systems with congestion effects (usually the time factor is important in these systems as well). For example, in road networks, congestions happen 45 when many cars exit into a narrow local street from a highway, and in evacuation planning, congestions happen when many people need to go through the same corridor in order to get to an exit. These congestion effects are difficult to capture using static networks, and are best modeled using dynamic networks. In this thesis, we focus on three fundamental optimization problems in dynamic networks: ∙ Dynamic Max-Flow Problem. Question: What is the maximum amount of flow that could be sent from a node to another within a given amount of time? Definition: Given a network 𝐺 = (𝑉, 𝐸) with costs and capacities on each arc, a source node 𝑠 ∈ 𝑉 , a sink node 𝑡 ∈ 𝑉 , and a time horizon 𝑇 , find a feasible dynamic flow with maximum flow value in time 𝑇 . Example: How many people can be evacuated from an office in a building through the front entrance within 20 minutes? ∙ Quickest Flow Problem Question: What is the minimum time needed to send a given amount of flow from one node to another? Definition: Given a network 𝐺 = (𝑉, 𝐸) with costs and capacities on each arc, a source node 𝑠 ∈ 𝑉 , a sink node 𝑡 ∈ 𝑉 , and a given amount of flow 𝐹 , find a feasible dynamic flow that sends 𝐹 amount of flow from 𝑠 to 𝑡 with the minimum amount of time. Example: How long does it take to evacuate 80 people from an office in a building through the front entrance? ∙ Quickest Transshipment Problem Question: What is the minimum time needed to send flow from multiple sources to multiple sinks? (A much harder problem.) 46 Definition: Given a network 𝐺 = (𝑉, 𝐸) with costs and capacities on each arc, a set of source nodes 𝑆 + , a set of sink nodes 𝑆 − , a given amount of flow 𝐹𝑤 > 0 for each source node 𝑤 ∈ 𝑆 + , and a given amount of flow 𝐹𝑤 < 0 for each sink node 𝑤 ∈ 𝑆 − , find a feasible dynamic flow that sends 𝐹𝑤 amount of flow out of each source node 𝑤 ∈ 𝑆 + and −𝐹𝑤 amount of flow into each sink node 𝑤 ∈ 𝑆 − in the minimum amount of time. Example: How long does it take to evacuate a million people from multiple cities in a region to neighbor regions through a highway network? Note that the quickest flow problem is a special case of the quickest transshipment problem with a single source node and a single sink node. It turns out that the quickest transshipment problem is much harder than the quickest flow problem. In this thesis, we introduce new models and new approaches for solving the quickest flow problem and the quickest transshipment problem. Although we do not have new results on the dynamic max-flow problem, it serves as a stepping stone for the development of better results of the other two problems. We summarize our contributions in Table 2.1. The remaining of this section is organized as follows: In Subsection 2.2.1, we introduce new mathematical models for the quickest flow problem. We develop new algorithms based on these new models in Subsection 2.2.2. In Subsection 2.2.3, we extend the models and results for the quickest flow problem to several special cases of the quickest transshipment problems and introduce an approximate algorithm for solving the general quickest transshipment problem. 2.2.1 Mathematical Models and Theoretical Results for the Quickest Flow Problem In this subsection, we discuss the quickest flow problem. The formal definition of the quickest flow problem is: In a networks with a single source 𝑠 and single sink 𝑡, find the minimum time 𝑇 * needed to send a given amount of dynamic flow 𝐹 from 𝑠 to 𝑡. 47 Dynamic Max-Flow 𝑂(1) min-cost flow: Ford and Fulkerson [34] 𝑂(log(𝑛𝑈 )) min-cost flow: Burkard et el. [18] Quickest Flow [This Thesis] 𝑂(𝑛𝑚 log(𝑛2 /𝑚) log(𝑛𝐶)) (same as cost-scaling algorithm for min-cost flow) Quickest Transshipment – Single source or sink, 0 cost 𝑂(𝑛𝑚 log(𝑛2 /𝑚)) max flow: Fleischer [31] – Multi-source and sink, 0 cost [This Thesis] 𝑂(𝑚2 𝑛2 ) – parametric max-flow. – Uniform path length [This Thesis] 𝑂(𝑚2 𝑛2 ) – General case 𝑂(𝑛5 ) min-cost flow: Hoppe and Tardos [49] – General case approximation [This Thesis] 𝑂(𝑚2 𝑛2 ) Table 2.1: Contributions of this thesis: optimization in dynamic networks. Burkard et al. [18] showed that the quickest flow problem can be solved by repeatedly calling a subroutine that solves a dynamic max-flow problem, which can be converted into a min-cost flow problem as shown in Subsection 1.1.2. They used this technique to iteratively narrow the range of optimal time 𝑇 * . An open question remains: since the quickest flow problem is so similar to the dynamic max-flow problem, is it possible to develop an algorithm that solves the quickest flow problem within the same time bound as the min-cost flow problem? This would be impossible if we need to repeatedly solve the min-cost flow problem as a subroutine. In this subsection, we lay the foundation that leads to an affirmative answer to this question. Main Results: Given a static flow 𝑥, we call a temporally-repeated flow converted from 𝑥 a temporally-repeated flow of 𝑥. By transforming the formulation by Ford and Fulkerson [34], we show that the quickest flow problem can be formulated in terms of the 48 following linear programming problem: 𝑇 * = min 𝐹 · 𝜃 + ∑︁ 𝜏𝑒 · 𝑥 𝑒 𝑒∈𝐸 s.t. ⎧ ⎪ ⎪ ⎪ 1 𝑤=𝑠 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −1 𝑤 = 𝑡 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 · 𝜃 (2.8) ∀𝑒 ∈ 𝐸 The optimal solution 𝑇 * is the shortest time needed to send 𝐹 amount of dynamic flow from the source node 𝑠 to the sink node 𝑡. Let (𝜃* , 𝑥* ) be an optimal solution to the linear program (2.8), then any temporally-repeated flow of the static flow 𝑥* /𝜃* is an optimal solution to the quickest flow problem. Observe that if we fix 𝜃, (2.8) becomes a min-cost flow problem. Therefore, the quickest flow problem is essentially a parametric min-cost flow problem with respect to 𝜃. Using the property that (2.8) is convex and piecewise linear with respect to 𝜃, we derive the following optimality conditions for the quickest flow problem: Theorem 2.4. A temporally-repeated flow of a feasible static flow 𝑥 is optimal if and only if 𝑥 is a min-cost flow with respect to its flow value 𝑣, and satisfies −𝑑𝑡𝑠 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 𝑣 𝜏 𝑒 · 𝑥𝑒 ≤ 𝑑𝑠𝑡 (2.9) where the flow value 𝑣 is the amount of static flow sent from node 𝑠 to 𝑡, and 𝑑𝑡𝑠 and 𝑑𝑠𝑡 are the costs of the shortest 𝑠-𝑡 path and 𝑡-𝑠 path in the residual network of flow 𝑥, respectively. Derivation of the Main Results: For a network with a single source node 𝑠 and a single sink node 𝑡, we have the 49 following flow conservation constraints: ⎧ ⎪ ⎪ ⎪ 𝑣 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 𝑤=𝑠 (2.10) 𝑤=𝑡 ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} We call 𝑣 the flow value of 𝑥, and 𝑥 a feasible flow with flow value 𝑣, if 𝑥 also satisfies the capacity constraints (2.2). Ford and Fulkerson [34] showed that for the dynamic max-flow problem, there exists an optimal solution in the temporally-repeated form: Theorem 2.5. There exists a temporally-repeated flow that is an optimal solution to the dynamic max-flow problem. Therefore, a dynamic max-flow problem with time horizon 𝑇 can be formulated as: 𝐹max (𝑇 ) := max 𝑇 · 𝑣 − ∑︁ 𝜏 𝑒 · 𝑥𝑒 𝑒∈𝐸 s.t. ⎧ ⎪ ⎪ ⎪ 𝑣 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 = −𝑣 𝑥𝑒 − ⎪ ⎪ − + ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 𝑤=𝑠 𝑤=𝑡 (2.11) ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} ∀𝑒 ∈ 𝐸 Lemma 2.1 (Burkard et al. [18]). 𝐹max (𝑇 ) is non-decreasing as 𝑇 increases. Proof. Any optimal solution 𝑥* for 𝐹max (𝑇 ) is also feasible for any 𝐹max (𝑇 ′ ) such that ∑︀ 𝑇 ′ ≥ 𝑇 . Thus, 𝐹max (𝑇 ′ ) ≥ 𝑇 · 𝑣 * − 𝑒∈𝐸 𝜏𝑒 𝑥*𝑒 = 𝐹max (𝑇 ). Lemma 2.1 implies that finding an optimal solution to the quickest flow problem with a given flow 𝐹 is equivalent to finding the minimum time 𝑇 * such that 𝐹max (𝑇 * ) ≥ 𝐹 . This observation is used to prove Theorem 2.6. Theorem 2.6. The quickest flow problem can be formulated as the linear programming problem (2.8). 50 Proof. The quickest flow problem can be written as: 𝑇 * = min 𝑇 s.t. 𝑇 · 𝑣 − ∑︁ 𝜏 𝑒 · 𝑥𝑒 ≥ 𝐹 𝑒∈𝐸 ⎧ ⎪ ⎪ ⎪ 𝑣 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 𝑤=𝑠 (2.12) 𝑤=𝑡 ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} ∀𝑒 ∈ 𝐸 The first constraint in (2.12) can be rearranged as 𝑇 ≥ (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 )/𝑣. Note that 𝑣 ̸= 0, because if 𝑣 = 0, no flow will be sent. Since this is the only constraint for variable 𝑇 , we can move it to the objective function and obtain the fractional programming formulation (2.13): * 𝑇 = min s.t. 𝐹+ ∑︀ 𝑒∈𝐸 𝜏 𝑒 · 𝑥𝑒 𝑣 ⎧ ⎪ ⎪ ⎪ 𝑣 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 𝑤=𝑠 𝑤=𝑡 (2.13) ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} ∀𝑒 ∈ 𝐸 By setting 𝜃 := 1/𝑣 and substituting 𝑥𝑒 with 𝑥′𝑒 := 𝑥𝑒 /𝑣 = 𝑥𝑒 ·𝜃, we can linearize (2.13) and obtain the linear form (2.8). In order to prove the optimality conditions in Theorem 2.4, we first define the 51 following function: 𝑔(𝑣) := min ∑︁ 𝜏 𝑒 · 𝑥𝑒 𝑒∈𝐸 s.t. ⎧ ⎪ ⎪ ⎪ 𝑣 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢 𝑒 𝑤=𝑠 𝑤=𝑡 (2.14) ∀𝑤 ∈ 𝑉 ∖{𝑠, 𝑡} ∀𝑒 ∈ 𝐸 Function 𝑔(𝑣) defines a min-cost flow problem with flow value 𝑣. Note that for any given value 𝑣 in (2.13), we have 𝑇 * (𝑣) = 𝐹/𝑣 + (1/𝑣) · 𝑔(𝑣). Therefore, the optimal time 𝑇 * = min𝑣 𝑇 * (𝑣) = min𝑣 (𝐹 + 𝑔(𝑣)) /𝑣. Next, we show that the optimality condition (2.9) is satisfied if and only if 𝑣 is a local minimum of function 𝑇 * (𝑣). We then further show that 𝑇 * (𝑣) is unimodal, which implies that a local minimum of 𝑇 * (𝑣) is also a global minimum. Using these two results, we can establish the optimality conditions stated in Theorem 2.9. Lemma 2.2. Flow value 𝑣 is a local minimum for 𝑇 * (𝑣) if and only if −𝑑𝑡𝑠 ≤ 𝑇 * (𝑣) ≤ 𝑑𝑠𝑡 (2.15) Proof. By definition, flow value 𝑣 is a local minimum if and only if for any arbitrarily small 𝜖 > 0, we have: 𝑇 * (𝑣) = 𝐹 + 𝑔(𝑣 + 𝜖) 𝐹 + 𝑔(𝑣) ≤ = 𝑇 * (𝑣 + 𝜖) 𝑣 𝑣+𝜖 (2.16) 𝑇 * (𝑣) = 𝐹 + 𝑔(𝑣) 𝐹 + 𝑔(𝑣 − 𝜖) ≤ = 𝑇 * (𝑣 − 𝜖) 𝑣 𝑣−𝜖 (2.17) and Increasing flow value 𝑣 by a tiny amount 𝜖 in function 𝑔(𝑣) is equivalent to sending an extra 𝜖 amount of flow from 𝑠 to 𝑡 while maintaining a min-cost flow. In order to achieve this goal, we need to send the extra flow through a shortest path in the 52 residual network 𝐺(𝑥* (𝑣)), where 𝑥* (𝑣) is a min-cost flow with flow value 𝑣. The extra cost incurred by sending the extra 𝜖 amount of flow is 𝜖 · 𝑑𝑠𝑡 . Therefore we have: 𝑔(𝑣 + 𝜖) = 𝑔(𝑣) + 𝜖 · 𝑑𝑠𝑡 (2.18) Using (2.18), (2.16) can be reduced to: 𝑑𝑠𝑡 ≥ 𝐹 + 𝑔(𝑣) = 𝑇 * (𝑣) 𝑣 (2.19) Similarly, decreasing 𝑣 by a tiny amount 𝜖 in 𝑔(𝑣) is equivalent to pulling 𝜖 amount of flow back from 𝑡 to 𝑠. In order to keep the flow optimal, the flow needs to be pulled from a shortest 𝑡-𝑠 path in the residual network. Therefore the change of cost is 𝜖 · 𝑑𝑡𝑠 . Note that 𝑑𝑡𝑠 is negative. We have: 𝑔(𝑣 − 𝜖) = 𝑔(𝑣) − 𝜖 · (−𝑑𝑡𝑠 ) (2.20) Using (2.20), (2.17) can be reduced to: −𝑑𝑡𝑠 ≤ 𝐹 + 𝑔(𝑣) = 𝑇 * (𝑣) 𝑣 (2.21) Combining (2.19) and (2.21), we conclude that 𝑣 is a local minimum for 𝑇 * (𝑣) if and only if −𝑑𝑡𝑠 ≤ 𝑇 * (𝑣) ≤ 𝑑𝑠𝑡 . Lemma 2.3. Function 𝑇 * (𝑣) is unimodal. Proof. Function 𝑔(𝑣) is a linear programming problem with parameter 𝑣, and it is a minimization problem, therefore 𝑔(𝑣) is convex and piecewise linear. Hence, we can express 𝑔(𝑣) as: 𝑔(𝑣) = ⎧ ⎪ ⎪ 𝜆0 · 𝑣 + 𝛽0 ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨𝜆 1 · 𝑣 + 𝛽 1 𝛼1 ≤ 𝑣 < 𝛼 2 ⎪ ⎪ ⎪ ··· ⎪ ⎪ ⎪ ⎪ ⎪ ⎩𝜆 · 𝑣 + 𝛽 𝐾 𝐾 𝛼𝐾 ≤ 𝑣 < ∞ 53 0 = 𝛼0 ≤ 𝑣 < 𝛼 1 (2.22) where 𝐾 is the total number of break points, and 𝛼𝑖 is the 𝑖’th break point. In (2.22), we have 𝜆0 < 𝜆1 < · · · < 𝜆𝐾 and 𝛽0 > 𝛽1 > · · · > 𝛽𝐾 . Based on this expression, we have: 𝑇 * (𝑣) = (𝐹 + 𝑔(𝑣)) /𝑣 = 𝜆𝑖 + (𝐹 + 𝛽𝑖 )/𝑣 for 𝑣 between 𝛼𝑖 and 𝛼𝑖+1 . Let 𝑘 be the smallest index of the pieces such that 𝐹 + 𝛽𝑖 < 0, that is, 𝑘 := min𝑖 {𝑖 : 𝐹 + 𝛽𝑖 < 0}. Let 𝑘 be 𝐾 + 1 if 𝐹 + 𝛽𝑖 ≥ 0 for all 𝑖. Then for all 𝑖 < 𝑘, we have 𝐹 + 𝛽𝑖 ≥ 0. As a result, 𝑇 * (𝑣) = 𝜆𝑖 + (𝐹 + 𝛽𝑖 )/𝑣 is non-increasing on each piece. On the other hand, for all 𝑖 ≥ 𝑘, we have 𝐹 + 𝛽𝑖 < 0, and 𝑇 * (𝑣) = 𝜆𝑖 + (𝐹 + 𝛽𝑖 )/𝑣 is increasing on each piece. Because 𝑇 * (𝑣) is continuous, we conclude that 𝑇 * (𝑣) is non-increasing when 𝑣 < 𝛼𝑘 and increasing when 𝑣 ≥ 𝛼𝑘 . Hence, 𝑇 * (𝑣) is unimodal. With the conclusions in Lemma 2.2 and Lemma 2.3, we can now prove Theorem 2.4. Proof of Theorem 2.4. We proved in Lemma 2.2 that flow value 𝑣 is a local minimum for 𝑇 * (𝑣) if and only if −𝑑𝑡𝑠 ≤ 𝑇 * (𝑣) ≤ 𝑑𝑠𝑡 , and in Lemma 2.3 that 𝑇 * (𝑣) is unimodal. Thus, 𝑣 is an optimal flow value for 𝑇 * (𝑣) if and only if −𝑑𝑡𝑠 ≤ 𝑇 * (𝑣) ≤ 𝑑𝑠𝑡 . Because 𝑇 * = min𝑣 𝑇 * (𝑣) = 𝑇 * (𝑣 * ), where 𝑣 * is an optimal flow value, and 𝑥 is an optimal flow if and only if it is an optimal solution to the min-cost flow problem 𝑔(𝑣 * ) defined in (2.14), we conclude that 𝑥 is an optimal solution to the quickest flow prob(︀ )︀ ∑︀ lem if and only if 𝑥 is a min-cost flow, and −𝑑𝑡𝑠 ≤ 𝑇 * (𝑣) = 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 /𝑣 ≤ 𝑑𝑠𝑡 . In this subsection, we introduced several mathematical formulations for the quickest flow problem. With the convexity of the linear programming formulation, we derive optimality conditions for the quickest flow problem. The optimality conditions will be used to design simplified and more efficient algorithms in the next subsection. 2.2.2 Algorithms for the Quickest Flow Problem In this subsection, we introduce three algorithms for solving the quickest flow problem. 54 1. The first algorithm is a successive shortest path algorithm. Although this algorithm does not run in polynomial time, it is used to show that if all arc capacities are integers, there exists an optimal flow 𝑥 with integer flow value 𝑣. 2. Using the result that there exists an optimal solution with integer flow value 𝑣, we introduce a second algorithm that binary searches over flow 𝑣 to find an optimal solution. This algorithm runs in 𝑂(log (𝑛𝑈 ) · MCF(𝑛, 𝑚)) time, where MCF(𝑛, 𝑚) is the running time of any min-cost flow algorithm of choice. This quickest flow algorithm has the same running time as the improved binary search algorithm introduced by Burkard et al. [18], but is greatly simplified. The key difference is that instead of searching over time 𝑇 , we search over the flow value 𝑣. 3. Based on the optimality conditions derived in Subsection 2.2.1, we introduce a new algorithm for solving the quickest flow problem with integer arc costs. Our algorithm adds an extra step to each scaling phase of the cost-scaling algorithm introduced by Goldberg and Tarjan [40] for solving the min-cost flow problem, but still runs in 𝑂(𝑛3 log(𝑛𝐶)) time. It can be further improved to run in 𝑂(𝑛𝑚 log(𝑛2 /𝑚) log(𝑛𝐶)) time by applying the dynamic tree data structure developed by Sleator and Tarjan [85, 86]. Here 𝑛, 𝑚, and 𝐶 are the number of nodes, arcs, and the maximum arc cost, respectively. Note that this time bound is the same as Goldberg and Tarjan’s algorithm for solving the min-cost flow algorithm. Because their algorithm remains one of the fastest for solving the min-cost flow problem in terms of the worst-case time bound, our result shows that the quickest flow problem can be solved within the same time bound as of the min-cost flow problem. Moreover, unless the quickest flow problem can be shown to be simpler than the min-cost flow problem, our algorithm will remain one of the fastest for solving the quickest flow problem. In addition, our result shows that the preflow push algorithm framework is well suited for parametric extensions. Gallo et al. [38] showed that by extending the preflow push algorithm for the maximum flow problem, one can solve the 55 parametric max-flow problem within the same time bound of the maximum flow problem. Our result shows that a similar extension can be obtained for the parametric min-cost flow problem with a single source and a single sink. Successive Shortest Path Algorithm We first present the successive shortest path algorithm that solves the quickest flow problem with integer arc capacities. Although Zadeh [97] showed that there exists bad examples where the successive shortest path algorithm takes exponential time to reach optimality, it is helpful for us to prove that there exists an optimal solution with integer flow value if all arc capacities are integers. We emphasize that this is not a simple repeat of the results by Fleischer and Tardos [30], where they showed that if arc capacities and the supply/demand 𝐹 are all integers, there exists an optimal solution with integer flow values. The key difference is that here we show that an integer optimal flow exists without the requirement of integrality of 𝐹 . Algorithm 2.1 : Successive Shortest Path Set flow 𝑥 :=∑︀0, flow value 𝑣 := 0 while (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 > 𝑑𝑠𝑡 do Determine the shortest 𝑠-𝑡 path 𝑝 in the residual network 𝐺(𝑥) Set 𝛿 := min {𝑟𝑒 , ∀𝑒 ∈ 𝑝} Push 𝛿 units of flow from 𝑠 to 𝑡 Set 𝑣 := 𝑣 + 𝛿; Update 𝑥, the residual network, and 𝑑𝑡𝑠 end while In order to show the correctness of the successive shortest path algorithm, we show that Algorithm 2.1 terminates after finite iterations, and when it terminates, we ∑︀ obtain a min-cost flow 𝑥 that satisfies the optimality condition −𝑑𝑡𝑠 ≤ (𝐹 + 𝑒∈𝐸 𝜏𝑒 · ∑︀ 𝑥𝑒 )/𝑣 ≤ 𝑑𝑠𝑡 . We define 𝑟(𝑥) := (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 to simplify the notations. The algorithm terminates because we send an integer amount of flow from the source node 𝑠 to the sink node 𝑡 in each iteration. Due to the assumption that all arc capacities are integers, the maximum amount of flow that could be sent from 𝑠 to 𝑡 is equal to the capacity of a min-cut of the network, which is a bounded integer. Therefore the algorithm terminates in finite time. 56 Because in the successive shortest path algorithm, we always send flow through the shortest path in the residual network, there will be no negative cycle in the residual network. Therefore, the flow we obtain when the algorithm terminates must be a min-cost flow. To prove that when the algorithm terminates, the ratio 𝑟(𝑥) is between −𝑑𝑡𝑠 and 𝑑𝑠𝑡 , we first prove the following lemma: Lemma 2.4. Let 𝑥 be a min-cost flow with flow value 𝑣. If we push a feasible flow from 𝑠 to 𝑡 through a shortest 𝑠-𝑡 path in the residual network 𝐺(𝑥), resulting in a new flow 𝑥′ , then −𝑑𝑡𝑠 (𝑥′ ) = 𝑑𝑠𝑡 (𝑥). Proof. Recall that 𝑑𝑠𝑡 (𝑥) is the length of a shortest simple 𝑠-𝑡 path in the residual network 𝐺(𝑥), and 𝑑𝑡𝑠 (𝑥′ ) is the length of a shortest simple 𝑡-𝑠 path in 𝐺(𝑥′ ). Since we push some flow through a shortest path 𝑝𝑠𝑡 (𝑥) in 𝐺(𝑥), the reverse path of 𝑝𝑠𝑡 (𝑥) exists in 𝐺(𝑥′ ), and its length is −𝑑𝑠𝑡 (𝑥). By definition, 𝑑𝑡𝑠 (𝑥′ ) ≤ −𝑑𝑠𝑡 (𝑥). Next we prove that 𝑑𝑡𝑠 (𝑥′ ) ≥ −𝑑𝑠𝑡 (𝑥). If there exists a path 𝑝𝑡𝑠 (𝑥′ ) in 𝐺(𝑥′ ) with length 𝑑𝑡𝑠 (𝑥′ ) < −𝑑𝑠𝑡 (𝑥), then consider sending a tiny amount of flow 𝛿 through path 𝑝𝑠𝑡 (𝑥) and back through path 𝑝𝑡𝑠 (𝑥′ ) in 𝐺(𝑥). We can do this because all the arcs on 𝑝𝑡𝑠 (𝑥′ ) are either already in 𝐺(𝑥), or created by sending flow through path 𝑝𝑠𝑡 (𝑥). For the latter case, sending flow back simply cancels the flow sent from 𝑠. Therefore we find a flow in 𝐺(𝑥) with cost 𝛿 · (𝑑𝑠𝑡 (𝑥) + 𝑑𝑡𝑠 (𝑥′ )) < 0. It means that there exists a negative cycle in 𝐺(𝑥), which contradicts the assumption that 𝑥 is a min-cost flow. Thus, we must have 𝑑𝑡𝑠 (𝑥′ ) ≥ −𝑑𝑠𝑡 (𝑥). Since we have both 𝑑𝑡𝑠 (𝑥′ ) ≤ −𝑑𝑠𝑡 (𝑥) and 𝑑𝑡𝑠 (𝑥′ ) ≥ −𝑑𝑠𝑡 (𝑥), we conclude that 𝑑𝑡𝑠 (𝑥′ ) = −𝑑𝑠𝑡 (𝑥). Now we are able to prove the correctness of the algorithm. Theorem 2.7. When the successive shortest path Algorithm 2.1 terminates, we obtain an optimal solution to the quickest flow problem. Proof. Note that at the beginning of the algorithm, 𝑣 = 0. Thus, the ratio 𝑟 is infinity. Therefore 𝑑𝑠𝑡 is less than the ratio and the algorithm will send flow from 𝑠 57 to 𝑡 at least once. Consider the step right before the algorithm terminates. Let 𝑥′ be the flow with flow value 𝑣 ′ at this step. Let 𝑥* be the flow with value 𝑣 * when ∑︀ the algorithm terminates. Since we have (𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥′𝑒 )/𝑣 ′ > 𝑑𝑠𝑡 (𝑥′ ), pushing flow Δ𝑣 := 𝑣 * − 𝑣 ′ in the last step through the shortest 𝑠-𝑡 path results in ′ 𝑑𝑠𝑡 (𝑥 ) < 𝐹+ ∑︀ 𝑒∈𝐸 ∑︀ 𝜏𝑒 𝑥′𝑒 + 𝑑𝑠𝑡 (𝑥′ ) · Δ𝑣 𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥*𝑒 = ≤ 𝑑𝑠𝑡 (𝑥* ) * 𝑣 + Δ𝑣 𝑣 (2.23) The last inequality is due to the termination condition of the algorithm. From Lemma 2.4, we have 𝑑𝑠𝑡 (𝑥′ ) = −𝑑𝑡𝑠 (𝑥* ). By substituting 𝑑𝑠𝑡 (𝑥′ ) with −𝑑𝑡𝑠 (𝑥* ) in (2.23), we can see the ratio 𝑟(𝑥* ) is between −𝑑𝑡𝑠 (𝑥* ) and 𝑑𝑠𝑡 (𝑥* ). Thus, 𝑥* is an optimal solution for the quickest flow problem. Using Algorithm 2.1, we are now able to prove that there exists an optimal flow with integer flow value. Lemma 2.5. There exists an optimal flow 𝑥* with integer flow value 𝑣 * for a quickest flow problem with integer arc capacities. Proof. In Algorithm 2.1, when we push flow from 𝑠 to 𝑡 in one iteration, we saturate at least one arc in the residual network. If the residual capacities in the residual network are all integers, the flow value must increase by an integer amount after the push. Moreover, all the residual capacities will still remain integers. Since the residual network at the beginning is the same as the original network, whose arc capacities are all integers, we conclude that the residual capacities remain integers throughout the process, and the flow value also remains an integer. Thus, the optimal flow 𝑥* we obtain when the algorithm terminates has an integer flow value 𝑣 * . Although the successive shortest path algorithm does not run in polynomial time, we used it to prove Theorem 2.5, which will be used to design a binary search algorithm that runs in polynomial time in the next part. Binary Search Algorithm In this part, we introduce a binary search algorithm that solves a quickest flow problem with integer arc capacities. The algorithm runs in 𝑂(log (𝑛𝑈 ) · MCF(𝑛, 𝑚)) 58 time, where 𝑛, 𝑚, and 𝑈 are the number of nodes, arcs, and the maximum arc capacity, respectively. MCF(𝑛, 𝑚) is the running time of any min-cost flow algorithm of choice. Our algorithm has the same time bound as the improved time search algorithm introduced by Burkard et al. [18]. The most important difference is that instead of searching over time, our algorithm searches over the flow value 𝑣 to find an optimal solution. Our algorithm is simpler, more straightforward, and easier to implement. The algorithm is described in Algorithm 2.8. Algorithm 2.2 : Binary Search 𝑣min := 1; 𝑣max := value of a maximum flow in 𝐺 while 𝑣min ≤ 𝑣max do 𝑣 := ⌊(𝑣min + 𝑣max )/2⌋ Set both the supply at node 𝑠 and the demand at node 𝑡 to 𝑣 Solve the min-cost flow problem Compute∑︀𝑑𝑠𝑡 and 𝑑𝑡𝑠 in the residual network if (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 > 𝑑𝑠𝑡 then 𝑣min := 𝑣 +∑︀ 1 else if (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 < −𝑑𝑡𝑠 then 𝑣max := 𝑣 − 1 else Return flow 𝑥 end if end while Correctness In order to prove the correctness of the algorithm, we need to show that 1) there exists an optimal solution 𝑥* with integer flow value 𝑣 * , and 2) when the algorithm terminates, it finds such an optimal solution. The former is proved in Lemma 2.5. We now show that when Algorithm 2.2 terminates, it finds an optimal flow with integer flow value for the quickest flow problem. Theorem 2.8. When Algorithm 2.2 terminates, it finds an optimal solution for the quickest flow problem. Proof. Recall that in Subsection 2.2.1, we defined 𝑇 * (𝑣) := (𝐹 + 𝑔(𝑣))/𝑣. Therefore we have 𝑑 * 𝑑 𝐹 + 𝑔(𝑣) 𝑔 ′ (𝑣) − 𝐹 − 𝑔(𝑣) 𝑇 (𝑣) = = 𝑑𝑣 𝑑𝑣 𝑣 𝑣2 59 (2.24) Recall that in Subsection 2.2.1 we showed the left derivative of 𝑔(𝑣) is −𝑑𝑡𝑠 and the right derivative is 𝑑𝑠𝑡 . Hence, the left derivative of 𝑇 * (𝑣) is: ∑︀ −𝑑 − 𝐹 − 𝑑 −𝑑 − 𝐹 − 𝑔(𝑣) 𝑡𝑠 𝑡𝑠 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 𝑇 * (𝑣) = = − 2 2 𝑑𝑣 𝑣 𝑣 (2.25) and the right derivative of 𝑇 * (𝑣) is: ∑︀ 𝑑𝑠𝑡 − 𝐹 − 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 𝑑 𝑑𝑠𝑡 − 𝐹 − 𝑔(𝑣) * 𝑇 (𝑣) = = 𝑑 𝑣+ 𝑣2 𝑣2 (2.26) With the derivatives of 𝑇 * (𝑣), we now show that there always exists an optimal solution with integer flow value between 𝑣min and 𝑣max . Note that this is true when the algorithm starts. As the binary search proceeds, three possible scenarios could happen in each iteration: 1. (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 > 𝑑𝑠𝑡 . If this condition is met, from (2.26), we know that the right derivative of 𝑇 * (𝑣) is negative. From the unimodality of 𝑇 * (𝑣), we conclude that all optimal integer flow values are greater than 𝑣. Therefore by setting 𝑣min := 𝑣 + 1, we preserve all optimal solutions with integer flow values within the interval [𝑣min , 𝑣max ]. 2. (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 < −𝑑𝑡𝑠 If this condition is met, from (2.25), we know that the left derivative of 𝑇 * (𝑣) is positive. From the unimodality of 𝑇 * (𝑣), we conclude that all optimal integer flow values are less than 𝑣. Therefore by setting 𝑣max := 𝑣 − 1, we preserve all optimal solutions with integer flow values within the interval [𝑣min , 𝑣max ]. 3. −𝑑𝑡𝑠 ≤ (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 ≤ 𝑑𝑠𝑡 In this case, the optimality condition is met, and we find an optimal solution with integer flow value. When Algorithm 2.2 terminates, it is either because scenario 3 happens, or because 𝑣min > 𝑣max . Since we have proved that there always exists an optimal solution 60 with integer flow value between 𝑣min and 𝑣max , the latter case can not happen. Therefore when the algorithm terminates, scenario 3 must have been encountered, and an optimal solution is found. Time complexity At the beginning of the algorithm, we need to solve a maximum flow problem. The running times of many well-known max-flow algorithms are dominated by min-cost flow algorithms, so it is not a bottleneck. It is easy to see that there are 𝑂(log 𝑣max ) iterations in the “while” loop. In each iteration, we run a min-cost flow algorithm and two shortest path algorithms. Because the running times of many shortestpath algorithms are dominated by min-cost flow algorithms, the running time of each iteration is MCF(𝑛, 𝑚), the time bound of solving one min-cost flow problem. Therefore, the overall running time of Algorithm 2.2 is 𝑂(log 𝑣max MCF(𝑛, 𝑚)). Since 𝑣max is bounded by 𝑛𝑈 , the running time is 𝑂(log (𝑛𝑈 )MCF(𝑛, 𝑚)). This is the same time bound as the improved binary search algorithm introduced by Burkard et al. [18]. The key difference of our binary search algorithm from the improved binary search algorithm introduced by Burkard et al. [18] is that we try to find an optimal static flow value 𝑣 * , instead of searching the optimal time 𝑇 * directly. In fact, the algorithm in [18] achieves a similar effect and a same running time by using Newton’s method. Algorithm 2.2 is simpler and easier to implement. Both Algorithm 2.2 and the improved binary search algorithm by Burkard et al. [18] need to repeatedly call a min-cost flow algorithm in order to solve the quickest flow problem. Due to the overhead, it is impossible to design an algorithm running within a constant time bound of a min-cost flow algorithm if we need to call a mincost flow algorithm repeatedly. We next introduce a cost-scaling algorithm that is built upon the cost-scaling framework developed by Goldberg and Tarjan [39, 40]. This new algorithm runs in the same time bound as the best cost-scaling algorithm for the min-cost flow problem. Cost-Scaling Algorithm 61 In this part, we introduce a new cost-scaling algorithm for solving the quickest flow problem with integer arc costs. We prove the correctness of the algorithm by showing that when it terminates, the optimality conditions in Theorem 2.4 are met. For the time complexity, we show that the algorithm runs in 𝑂(𝑛3 log(𝑛𝐶)) time, and can be further improved to run in 𝑂(𝑛𝑚 log(𝑛2 /𝑚) log(𝑛𝐶)) time using the dynamic tree data structure introduced by Sleator and Tarjan [85, 86]. Here 𝑛, 𝑚, and 𝐶 are the number of nodes, arcs, and the maximum arc cost, respectively. Recall that there are two requirements in the optimality conditions: 1) Flow 𝑥 (︀ )︀ ∑︀ must be a min-cost flow, and 2) the inequality −𝑑𝑡𝑠 ≤ 𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 /𝑣 ≤ 𝑑𝑠𝑡 must be satisfied. In order to find a min-cost flow, our algorithm follows the cost-scaling framework developed by Goldberg and Tarjan [39, 40]. For some 𝜖 > 0, we allow the reduced cost 𝑐𝜋𝑒 in the residual network 𝐺(𝑥) to be negative, but require that 𝑐𝜋𝑒 ≥ −𝜖. A pair of flow 𝑥 and node potentials 𝜋 meeting this requirement is called 𝜖-optimal. We start with a big 𝜖 and iteratively reduce 𝜖 by half and modify 𝑥 and 𝜋 to satisfy the 𝜖-optimality. Such iterations continue until 𝜖 is so small that the sum of reduced costs through any cycle in 𝐺(𝑥) is greater than -1. Since we assume that all arc costs are integers, there must be no negative cycles in 𝐺(𝑥) in the end, so 𝑥 is a min-cost flow. We refer the reader to Goldberg and Tarjan [40] and Ahuja et al. [2] for a more comprehensive discussion. In order to have the ratio 𝑟(𝑥) := (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 between −𝑑𝑡𝑠 and 𝑑𝑠𝑡 when the algorithm terminates, we add an extra step to each scaling phase: We push extra flow from 𝑠 to 𝑡 to guarantee that the upper bound of the gap between the ratio 𝑟(𝑥) and the node potential difference 𝜋𝑠 − 𝜋𝑡 is reduced by half after each iteration. The reason that we care about such gap is because 𝜋𝑠 − 𝜋𝑡 serves as a good approximation of both −𝑑𝑡𝑠 and 𝑑𝑠𝑡 , as we will show later in this part. When the scaling ends, this gap will be less than 1. Using the assumption that all arc costs are integers, we can obtain an optimal solution by solving at most one extra max-flow problem. The complete algorithm is described from Algorithm 2.3 to 2.7. The main procedure is Algorithm 2.3. It has a main loop with a sequence of 𝜖-scaling phases and a 62 final saturation subroutine. Each scaling phase consists of a Refine subroutine that modifies a 2𝜖-optimal flow into an 𝜖-optimal flow, and a Reduce-Gap subroutine that closes the gap between the ratio 𝑟(𝑥) and 𝜋𝑠 − 𝜋𝑡 . In the subroutines, we call a node 𝑤 active if its flow excess 𝑒(𝑤) > 0. We call an arc in 𝐺(𝑥) admissible if its reduced cost 𝑐𝜋𝑒 < 0. We define admissible network of 𝐺(𝑥) as the sub-network consisting solely of admissible arcs in 𝐺(𝑥). Algorithm 2.3 : Cost Scaling Set 𝜖 := 𝐶, flow 𝑥 := 0, node potentials 𝜋 := 0 while 𝜖 ≥ 1/(8𝑛) do Refine(𝜖, 𝑥, 𝜋) Reduce-Gap(𝜖, 𝑥, 𝜋) 𝜖 := 𝜖/2 end while Saturate(𝑥) Return optimal flow 𝑥 Algorithm 2.4 : Refine(𝜖, 𝑥, 𝜋) Set 𝑥𝑒 := 0 for all {𝑒 ∈ 𝐸 : 𝑐𝜋𝑒 > 0} and 𝑥𝑒 := 𝑢𝑒 for all {𝑒 ∈ 𝐸 : 𝑐𝜋𝑒 < 0} Compute flow excess 𝑒(𝑤) for all 𝑤 ∈ 𝑉 ; Put all nodes in a list 𝐿 while there exists an active node do Choose the first active node 𝑤 in 𝐿 Push/Relabel(𝑤) end while Throughout the cost-scaling algorithm, a key metric that we focus on is the gap between the ratio 𝑟(𝑥) and 𝜋𝑠 − 𝜋𝑡 . Define 𝛾(𝑥, 𝜋) := 𝐹+ ∑︀ 𝑒∈𝐸 𝑣 𝜏 𝑒 · 𝑥𝑒 − (𝜋𝑠 − 𝜋𝑡 ) (2.27) The main goal of the Subroutine Reduce-Gap is to reduce the upper bound of the gap 𝛾(𝑥, 𝜋) in each scaling phase, while maintaining a lower bound of 𝛾(𝑥, 𝜋) in order to leave some buffer for future operations. Subroutine Reduce-Gap consists of two levels of loops. The outer loop runs two main tasks before starting the inner loop: 1) Relabel the source node 𝑠 if all admissible arcs outgoing from 𝑠 are saturated, and 2) generate a limited amount of extra flow 63 Algorithm 2.5 : Reduce-Gap(𝜖, 𝑥, 𝜋) Put all(︀nodes∑︀except 𝑡 )︀in a list 𝐿 while 𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 /𝑣 − (𝜋𝑠 − 𝜋𝑡 ) > 7𝑛𝜖 do Relabel 𝜋𝑠 := 𝜋𝑠 + 𝜖 if there is[︀(︀no outgoing admissible arc from 𝑠 in ]︀𝐺(𝑥) )︀ ∑︀ Set the excess of 𝑠 to 𝑒(𝑠) := 𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 /6𝑛𝜖 while there exists an active node in 𝐿 do Choose the first active node 𝑤 in 𝐿 if 𝑤 is the source node 𝑠 then while 𝑒(𝑠) > 0 and 𝐺(𝑥) contains an admissible arc 𝑒 = (𝑠, 𝑤′ ) do Push 𝛿 := min {𝑒(𝑠), 𝑟𝑒 } units of flow from 𝑠 to 𝑤′ end while Set 𝑒(𝑠) := 0 else Push/Relabel(𝑤) end if end while end while Algorithm 2.6 : Push/Relabel(𝑤) while 𝑒(𝑤) > 0 and 𝐺(𝑥) contains a node 𝑤′ such that arc 𝑒 = (𝑤, 𝑤′ ) is admissible do Push 𝛿 := min {𝑒(𝑤), 𝑟𝑒 } units of flow from 𝑤 to 𝑤′ end while if 𝑒(𝑤) > 0 then Relabel 𝜋𝑤 := 𝜋𝑤 + 𝜖, and move 𝑤 to the beginning of list 𝐿 end if Algorithm 2.7 : Saturate(𝑥) Compute(︀ 𝑑𝑠𝑡 , ∑︀ the cost of)︀a shortest 𝑠-𝑡 path in 𝐺(𝑥) if 𝑑𝑠𝑡 < 𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 /𝑣 then Form a sub-network 𝐺′ (𝑥) that only includes arcs that lie on some shortest 𝑠-𝑡path in 𝐺(𝑥) Send maximum amount of flow from 𝑠 to 𝑡 in 𝐺′ (𝑥) end if 64 from node 𝑠. We then iteratively push the newly generated flow down to the sink in the inner loop. In order to avoid sending too much flow in one iteration, which might breach the lower bound of 𝛾(𝑥, 𝜋), we do not relabel the source node 𝑠 in the inner loop. In addition, we set the excess 𝑒(𝑠) to 0 when all admissible arcs outgoing from 𝑠 are saturated. We use the following series of lemmas to prove the correctness of the algorithm and to analyze its time complexity: 1. Lemma 2.6 bounds the change of the flow cost ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 after running Sub- routine Refine. 2. Lemma 2.7 uses Lemma 2.6 to show that 𝛾(𝑥, 𝜋) does not change too much after executing Subroutine Refine. 3. Lemma 2.8 shows that 𝜋𝑠 − 𝜋𝑡 serves as a good approximation of −𝑑𝑡𝑠 and 𝑑𝑠𝑡 during the execution of Subroutine Reduce-Gap. 4. Lemma 2.9 bounds the change of the ratio 𝑟(𝑥) in the inner loop of Subroutine Reduce-Gap. 5. Lemma 2.10 establishes the lower bound of 𝛾(𝑥, 𝜋) in Subroutine Reduce-Gap using the result of Lemma 2.9. 6. Lemma 2.11 uses Lemma 2.9 to prove that the ratio 𝑟(𝑥) is non-increasing after each iteration of the outer loop in Subroutine Reduce-Gap. 7. Lemma 2.12 implies that node 𝑠 is relabeled at least once in every two iterations of the outer loop in Subroutine Reduce-Gap. 8. Lemma 2.13 and Lemma 2.14 show that all nodes are relabeled at most 𝑂(𝑛) times in Subroutine Reduce-Gap. Lemma 2.6. Let 𝑥 be any 𝜖-optimal flow with flow value 𝑣, and let 𝑥* be a min-cost flow with the same flow value 𝑣. If the admissible network of the residual network 65 𝐺(𝑥) is acyclic, we have ∑︁ 𝜏𝑒 · 𝑥*𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒 · 𝑥𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒 · 𝑥*𝑒 + 𝑛𝜖 · 𝑣 (2.28) 𝑒∈𝐸 Proof. The left inequality is by definition. For the right inequality, consider an 𝜖optimal flow 𝑥 and node potentials 𝜋. Let 𝐴 be the set of arcs in the original network whose forward arc or backward arc in the residual network 𝐺(𝑥) is admissible. We alter the cost of each arc 𝑒 = (𝑤, 𝑤′ ) ∈ 𝐴 in the following way: set 𝜏𝑒′ := 𝜋𝑤 −𝜋𝑤′ , ∀𝑒 ∈ 𝐴. For the arcs not in set 𝐴, we keep 𝜏𝑒′ = 𝜏𝑒 . Note that after this change, 𝑐𝜋𝑒′ ≥ 0 for every arc 𝑒′ in 𝐺(𝑥). Therefore flow 𝑥 is optimal in the network with the altered arc costs 𝜏𝑒′ . Mathematically, we have: ∑︁ 𝜏𝑒′ 𝑥𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒′ 𝑥*𝑒 (2.29) 𝑒∈𝐸 Due to the 𝜖-optimality of 𝑥 and 𝜋, we have 𝜋𝑤′ +𝜏𝑒 −𝜋𝑤 ≥ −𝜖 and 𝜋𝑤 −𝜏𝑒 −𝜋𝑤′ ≥ −𝜖 for all 𝑒 = (𝑤, 𝑤′ ) ∈ 𝐴. Therefore we have −𝜖 ≤ 𝜏𝑒 − 𝜏𝑒′ ≤ 𝜖 (2.30) Note that 𝑥 and 𝑥* are both feasible flows with flow value 𝑣, so the flow on any arc cannot exceed 𝑣. That is, 0 ≤ 𝑥𝑒 ≤ 𝑣, 0 ≤ 𝑥*𝑒 ≤ 𝑣, ∀𝑒 ∈ 𝐸 66 (2.31) Combining all the inequalities above, we have ∑︁ 𝜏 𝑒 𝑥𝑒 = ∑︁ ≤ ∑︁ 𝑒∈𝐸 (𝜏𝑒′ + (𝜏𝑒 − 𝜏𝑒′ )) · 𝑥𝑒 + 𝜏𝑒′ · 𝑥*𝑒 + ∑︁ (𝜏𝑒 − 𝜏𝑒′ ) · 𝑥𝑒 𝑒∈𝐸 𝑒∈𝐴 ∑︁ (𝜏𝑒 + (𝜏𝑒′ − 𝜏𝑒 )) · 𝑥*𝑒 + ∑︁ ≤ ∑︁ by (2.29) 𝜏𝑒 · 𝑥*𝑒 + 𝑒̸∈𝐴 𝑒∈𝐴 = 𝜏𝑒′ · 𝑥𝑒 𝑒̸∈𝐴 𝑒∈𝐴 = ∑︁ 𝜏𝑒 · 𝑥*𝑒 + ∑︁ 𝑒∈𝐸 𝑒∈𝐴 ∑︁ 𝜏𝑒 · 𝑥*𝑒 + ∑︁ 𝑒∈𝐸 ∑︁ (𝜏𝑒 − 𝜏𝑒′ ) · 𝑥𝑒 (2.32) 𝑒∈𝐴 (𝜏𝑒 − 𝜏𝑒′ ) · (𝑥𝑒 − 𝑥*𝑒 ) 𝜖·𝑣 by (2.30) and (2.31) 𝑒∈𝐴 To complete the proof, we use the assumption that the admissible network of the residual network 𝐺(𝑥) is acyclic. It implies that the number of arcs in set 𝐴 cannot ∑︀ exceed 𝑛 − 1. Combining this result with inequality (2.32), we obtain 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 ≤ ∑︀ * 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 + 𝑛𝜖 · 𝑣, which is the right inequality of (2.6). In Lemma 2.7, we use 𝑥2𝜖 and 𝜋 2𝜖 to denote the flow and node potentials when the 2𝜖-scaling phase ends, and 𝑥𝜖 and 𝜋 𝜖 to denote the flow and node potentials when Subroutine Refine ends in the 𝜖-scaling phase. Lemma 2.7. If we have 5𝑛 · 2𝜖 ≤ 𝛾(𝑥2𝜖 , 𝜋 2𝜖 ) ≤ 7𝑛 · 2𝜖 (2.33) when the 2𝜖-scaling phase ends, we have 5𝑛𝜖 ≤ 𝛾(𝑥𝜖 , 𝜋 𝜖 ) ≤ 18𝑛𝜖 (2.34) when Subroutine Refine ends in the 𝜖-scaling phase. Proof. We use 𝑣 2𝜖 and 𝑣 𝜖 to denote the flow value of 𝑥2𝜖 and 𝑥𝜖 , respectively. Because Subroutine Refine does not send extra flow from 𝑠 to 𝑡, we have 𝑣 𝜖 = 𝑣 2𝜖 . Let 𝑥* be a min-cost flow with flow value 𝑣 𝜖 . Because the Subroutine Reduce-Gap and Refine both use the push/relabel algorithm that yields admissible networks that 67 are acyclic (see Corollary 5.6 in [40]), by Lemma 2.6, we have: ∑︁ 𝜏𝑒 · 𝑥*𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒 · 𝑥2𝜖 𝑒 ≤ ∑︁ 𝜏𝑒 · 𝑥*𝑒 + 𝑛 · 2𝜖 · 𝑣 2𝜖 (2.35) 𝑒∈𝐸 𝑒∈𝐸 and ∑︁ 𝑒∈𝐸 𝜏𝑒 · 𝑥*𝑒 ≤ ∑︁ 𝜏𝑒 · 𝑥𝜖𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒 · 𝑥*𝑒 + 𝑛 · 𝜖 · 𝑣 𝜖 (2.36) 𝑒∈𝐸 Putting (2.35) and (2.36) together, we have: ∑︁ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝜖𝑒 − 𝑛𝜖 · 𝑣 𝜖 ≤ ∑︁ 𝜏𝑒 · 𝑥2𝜖 𝑒 ≤ 𝑒∈𝐸 ∑︁ 𝜏𝑒 · 𝑥𝜖𝑒 + 2𝑛𝜖 · 𝑣 𝜖 (2.37) 𝑒∈𝐸 Moreover, Goldberg and Tarjan [40] showed that Subroutine Refine could only increase each node’s potential by at most 3𝑛𝜖 (Lemma 5.8 in [40]). That is, 0 ≤ 𝜋𝑠𝜖 − 𝜋𝑠2𝜖 ≤ 3𝑛𝜖 and 0 ≤ 𝜋𝑡𝜖 − 𝜋𝑡2𝜖 ≤ 3𝑛𝜖. Therefore, 𝜋𝑠2𝜖 − 𝜋𝑡2𝜖 − 3𝑛𝜖 ≤ 𝜋𝑠𝜖 − 𝜋𝑡𝜖 ≤ 𝜋𝑠2𝜖 − 𝜋𝑡2𝜖 + 3𝑛𝜖 (2.38) Using (2.33), (2.37) and (2.38), we have 𝜋𝑠𝜖 − 𝜋𝑡𝜖 ≥ 𝜋𝑠2𝜖 − 𝜋𝑡2𝜖 − 3𝑛𝜖 by (2.38) ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥2𝜖 𝑒 ≥ − 17𝑛𝜖 by (2.33) 2𝜖 𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝜖𝑒 − 𝑛𝜖 · 𝑣 𝜖 ≥ − 17𝑛𝜖 by (2.37) 𝑣𝜖 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝜖𝑒 = − 18𝑛𝜖 𝑣𝜖 (2.39) 𝜋𝑠𝜖 − 𝜋𝑡𝜖 ≤ 𝜋𝑠2𝜖 − 𝜋𝑡2𝜖 + 3𝑛𝜖 by (2.38) ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥2𝜖 𝑒 ≤ − 7𝑛𝜖 by (2.33) ′2𝜖 𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝜖𝑒 + 2𝑛𝜖 · 𝑣 𝜖 ≤ − 7𝑛𝜖 by (2.37) 𝜖 𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝜖𝑒 = − 5𝑛𝜖 𝑣𝜖 (2.40) and 68 Combining (2.39) and (2.40), and the definition of 𝛾(𝑥, 𝜋), we obtain (2.34). The following lemmas show how the range of 𝛾(𝑥𝜖 , 𝜋 𝜖 ) changes during the execution of Subroutine Reduce-Gap. Because they all involve only 𝑥 and 𝜋 in the 𝜖-scaling phase, we drop the superscript 𝜖 to simplify notations. Lemma 2.8. Throughout the 𝜖-scaling phase, we have: −𝑑𝑡𝑠 − 𝑛𝜖 ≤ 𝜋𝑠 − 𝜋𝑡 ≤ 𝑑𝑠𝑡 + 𝑛𝜖 (2.41) Proof. The pair of flow 𝑥 and node potentials 𝜋 is 𝜖-optimal throughout the 𝜖-scaling phase. Consider any shortest simple path 𝑝𝑠𝑡 from 𝑠 to 𝑡 in the residual network 𝐺(𝑥). We have ∑︁ 𝑒∈𝑝𝑠𝑡 ∑︁ 𝑐𝜋𝑒 = (𝜋𝑤′ + 𝜏^𝑒 − 𝜋𝑤 ) = 𝜋𝑡 − 𝜋𝑠 + 𝑒=(𝑤,𝑤′ )∈𝑝𝑠𝑡 ∑︁ 𝜏^𝑒 = 𝜋𝑡 − 𝜋𝑠 + 𝑑𝑠𝑡 𝑒∈𝑝𝑠𝑡 Since 𝑐𝜋𝑒 ≥ −𝜖, we have 𝜋𝑡 − 𝜋𝑠 + 𝑑𝑠𝑡 = ∑︀ 𝑒∈𝑃𝑠𝑡 𝑐𝜋𝑒 ≥ −𝑛𝜖. This is equivalent to the right inequality of (2.8). Applying a similar argument on a shortest simple path 𝑝𝑡𝑠 from 𝑡 to 𝑠 in 𝐺(𝑥), we can obtain the left inequality of (2.8). In the following lemmas, we assume that 𝑥, 𝑣, and 𝜋 are the flow, flow value, and node potentials when the inner loop of Subroutine Reduce-Gap starts, respectively, and 𝑥′ , 𝑣 ′ , and 𝜋 ′ the flow, flow value, and node potentials when the the inner loop ends, respectively. Let Δ𝑣 = 𝑣 ′ − 𝑣 be the change of flow value. Note that because we push extra flow from 𝑠 to 𝑡 while running the inner loop, we have 𝑣 ′ ≥ 𝑣. Lemma 2.9. When the inner loop of Subroutine Reduce-Gap ends, we have ′ 𝐹+ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 ≥ ′ 𝑣 𝐹+ ∑︀ 𝐹+ ∑︀ ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 − 𝑛𝜖) · Δ𝑣 𝑣 + Δ𝑣 (2.42) 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 + 𝑛𝜖) · Δ𝑣 𝑣 + Δ𝑣 (2.43) and 𝑒∈𝐸 𝑣′ 𝜏𝑒 · 𝑥′𝑒 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 69 Proof. If we decompose the flow 𝑥 − 𝑥′ in the residual network 𝐺(𝑥), we have a set 𝑃 of feasible 𝑠-𝑡 paths in 𝐺(𝑥). Let 𝜏 (𝑝) and 𝑥(𝑝) be the cost and flow on each path 𝑝 ∈ 𝑃 . Recall that 𝑑𝑠𝑡 (𝑥) is the cost of a shortest simple 𝑠-𝑡 path in the residual network 𝐺(𝑥). By the right inequality of (2.41), we have 𝜏 (𝑝) ≥ 𝑑𝑠𝑡 (𝑥) ≥ 𝜋𝑠 − 𝜋𝑡 − 𝑛𝜖 (2.44) Similarly, 𝑑𝑡𝑠 (𝑥′ ) is the cost of a shortest simple 𝑡-𝑠 path in 𝐺(𝑥′ ). Note that the reverse path of 𝑝 is a feasible 𝑡-𝑠 path in the residual network 𝐺(𝑥′ ), therefore we have 𝑑𝑡𝑠 (𝑥′ ) ≤ −𝜏 (𝑝). Hence, by the left inequality of (2.41), we have 𝜏 (𝑝) ≤ −𝑑𝑡𝑠 (𝑥′ ) ≤ 𝜋𝑠′ − 𝜋𝑡′ + 𝑛𝜖 (2.45) Note that we do not relabel the source node 𝑠 in the inner loop of Subroutine ReduceGap, and the sink node 𝑡 is never relabeled. Therefore 𝜋𝑠 = 𝜋𝑠′ and 𝜋𝑡 = 𝜋𝑡′ . Based on (2.44) and (2.45), we have 𝐹+ ∑︀ 𝐹+ ∑︀ and 𝑒∈𝐸 𝑣′ 𝑒∈𝐸 𝑣′ 𝜏𝑒 · 𝑥′𝑒 ∑︀ 𝜏𝑒 · 𝑥𝑒 + 𝑝∈𝑃 𝜏 (𝑝) · 𝑥(𝑝) = 𝑣 + Δ𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 − 𝑛𝜖) · Δ𝑣 ≥ 𝑣 + Δ𝑣 𝜏𝑒 · 𝑥′𝑒 ∑︀ 𝜏𝑒 · 𝑥𝑒 + 𝑝∈𝑃 𝜏 (𝑝) · 𝑥(𝑝) = 𝑣 + Δ𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠′ − 𝜋𝑡′ + 𝑛𝜖) · Δ𝑣 ≤ 𝑣 + Δ𝑣 𝐹+ 𝐹+ ∑︀ 𝑒∈𝐸 ∑︀ 𝑒∈𝐸 Lemma 2.10. When the inner loop of Subroutine Reduce-Gap ends, the gap 𝛾(𝑥′ , 𝜋 ′ ) ≥ 5𝑛𝜖. Proof. At the beginning of an iteration of the outer loop, we generate an extra amount [︀ ]︀ ∑︀ of excess (𝐹 + 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 ) − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 /6𝑛𝜖 at the source node 𝑠. No other 70 excess is generated before the next iteration of the outer loop. Therefore, ⇒ ∑︀ 𝜏𝑒 · 𝑥𝑒 ) − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 6𝑛𝜖 ∑︁ (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 + 6𝑛𝜖 · Δ𝑣 ≤ 𝐹 + 𝜏 𝑒 · 𝑥𝑒 Δ𝑣 ≤ (𝐹 + 𝑒∈𝐸 𝑒∈𝐸 ⇒ (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · (𝑣 + Δ𝑣) ≤ 𝐹 + ∑︁ 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 − 𝑛𝜖) · Δ𝑣 𝑒∈𝐸 ⇒ ⇒ ∑︀ 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 − 𝑛𝜖) · Δ𝑣 − 5𝑛𝜖 𝑣 + Δ𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥′𝑒 𝜋 𝑠 − 𝜋𝑡 ≤ − 5𝑛𝜖 by (2.42) 𝑣′ 𝜋 𝑠 − 𝜋𝑡 ≤ 𝐹+ 𝑒∈𝐸 Because we do not relabel node 𝑠 in the inner loop of Subroutine Reduce-Gap, and the sink node 𝑡 is never relabeled in Subroutine Reduce-Gap, we have 𝜋𝑠 = 𝜋𝑠′ , and 𝜋𝑡 = 𝜋𝑡′ . Therefore, we have 𝛾(𝑥′ , 𝜋 ′ ) ≥ 5𝑛𝜖. The proof of Lemma 2.10 explains where we obtained the odd-looking term 𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 ) − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣. Both this term and the number 5 in 5𝑛𝜖 are carefully chosen in order to guarantee the lower bound and upper bound after each 𝜖-scaling phase. A direct corollary of Lemma 2.10 is that when Subroutine Reduce-Gap ends, we have 5𝑛𝜖 ≤ 𝛾(𝑥′ , 𝜋 ′ ) ≤ 7𝑛𝜖. Therefore, if the assumption that 5𝑛 · 2𝜖 ≤ 𝛾(𝑥2𝜖 , 𝜋 2𝜖 ) ≤ 7𝑛 · 2𝜖 in Lemma 2.7 holds when the 2𝜖-scaling phase ends, the inequality 5𝑛 · 𝜖 ≤ 𝛾(𝑥𝜖 , 𝜋 𝜖 ) ≤ 7𝑛 · 𝜖 will also hold when the 𝜖-scaling phase ends. Lemma 2.11. When the inner loop of Subroutine Reduce-Gap ends, we have 𝐹+ ∑︀ 𝑒∈𝐸 𝑣′ 𝜏𝑒 · 𝑥′𝑒 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥 𝑒 𝑣 (2.46) Proof. By Lemma 2.10, we have 𝛾(𝑥, 𝜋) ≥ 5𝑛𝜖, or equivalently, 𝜋𝑠 − 𝜋𝑡 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 𝑣 71 𝜏𝑒 · 𝑥𝑒 − 5𝑛𝜖 (2.47) Using (2.43) and (2.47), we have 𝐹+ ∑︀ 𝑒∈𝐸 𝑣′ 𝜏𝑒 · 𝑥′𝑒 ∑︀ 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 + 𝑛𝜖) · Δ𝑣 𝑣+ (︀ )︀ Δ𝑣(︀ )︀ ∑︀ ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 + 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 · ≤ (︀ )︀ 𝑣 (︀+ Δ𝑣Δ𝑣 )︀ ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 · 1 + 𝑣 = 𝑣 + Δ𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 = 𝑣 ≤ 𝐹+ 𝑒∈𝐸 Δ𝑣 𝑣 by (2.47) Lemma 2.12. If the source node 𝑠 is not relabeled in one iteration of the outer loop of Subroutine Reduce-Gap, either it will be relabeled in the next iteration, or we will have 𝛾(𝑥′ , 𝜋 ′ ) ≤ 7𝑛𝜖 and Subroutine Reduce-Gap will terminate. Proof. According to Subroutine Reduce-Gap, if there is no outgoing admissible arc from 𝑠 at the end of an iteration of the outer loop, 𝑠 will be relabeled in the next iteration. Therefore, we only need to show that if there exists an outgoing admissible arc from 𝑠 at the end of an iteration of the outer loop, we must have 𝛾(𝑥′ , 𝜋 ′ ) ≤ 7𝑛𝜖. We first show that if there exists an outgoing admissible arc from 𝑠 when an iteration ends, all the extra flow generated at node 𝑠 at the beginning of the iteration ∑︀ has been sent to the sink. Mathematically, we will show that Δ𝑣 = [(𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 ) − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣]/6𝑛𝜖. When 𝑠 is the first active node in the list 𝐿, we keep pushing excess 𝑒(𝑠) to other nodes until either 𝑒(𝑠) = 0 or the the residual network 𝐺(𝑥) does not contain any admissible arc outgoing from 𝑠. Note that any arc 𝑒 = (𝑠, 𝑤) in 𝐺(𝑥) cannot become admissible again after it is saturated unless 𝑠 is relabeled. Since there is still an admissible arc outgoing from 𝑠 when the iteration ends, we must have 𝑒(𝑠) = 0 every time we are done pushing excess from node 𝑠 to other nodes. Therefore, setting 𝑒(𝑠) := 0 after the pushes does not reduce the overall flow excess. Moreover, we do not lose any flow excess when performing push/relabel operations on other nodes. Thus, we can claim that all extra flow generated at the beginning of a iteration has been sent to the sink when the iteration ends. 72 [︀ ]︀ ∑︀ With Δ𝑣 = (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 ) − (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 /6𝑛𝜖, we have: (𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖) · 𝑣 + 6𝑛𝜖 · Δ𝑣 = 𝐹 + ∑︁ 𝜏𝑒 · 𝑥 𝑒 𝑒∈𝐸 ⇒ (𝜋𝑠 − 𝜋𝑡 + 7𝑛𝜖) · (𝑣 + Δ𝑣) ≥ 𝐹 + ∑︁ 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 + 𝑛𝜖) · Δ𝑣 𝑒∈𝐸 ⇒ ⇒ ∑︀ 𝜏𝑒 · 𝑥𝑒 + (𝜋𝑠 − 𝜋𝑡 + 𝑛𝜖) · Δ𝑣 − 7𝑛𝜖 𝑣 + Δ𝑣 ∑︀ 𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥′𝑒 𝜋𝑠 − 𝜋𝑡 ≥ − 7𝑛𝜖 by (2.43) 𝑣′ 𝜋 𝑠 − 𝜋𝑡 ≥ 𝐹+ 𝑒∈𝐸 Because we do not relabel node 𝑠 in the inner loop of Subroutine Reduce-Gap, and the sink node 𝑡 is never relabeled in Reduce-Gap, we have 𝜋𝑠 = 𝜋𝑠′ , and 𝜋𝑡 = 𝜋𝑡′ . Therefore we have 𝛾(𝑥′ , 𝜋 ′ ) ≤ 7𝑛𝜖. Correctness We are now in a position to prove the correctness of the algorithm and show that it runs in 𝑂(𝑛3 log(𝑛𝐶)) time. Theorem 2.9. When Algorithm 2.3 terminates, flow 𝑥 and node potentials 𝜋 satisfy the optimality conditions. More specifically, 𝑥 is a min-cost flow with respect to its ∑︀ flow value 𝑣, and −𝑑𝑡𝑠 ≤ (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣 ≤ 𝑑𝑠𝑡 . Proof. The first condition is satisfied because when the algorithm terminates, any ∑︀ cycle 𝐶 in the residual network has a cost 𝑒∈𝐶 𝑐𝜋𝑒 ≥ −𝑛𝜖 > −1/8. Because all costs are integers, there does not exist any negative cycle in the residual network. Thus, the flow is a min-cost flow. Now we show that the inequality −𝑑𝑡𝑠 ≤ (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 ·𝑥𝑒 )/𝑣 ≤ 𝑑𝑠𝑡 is satisfied when the final Subroutine Saturate ends. Assume that the flow and node potentials are 𝑥 and 𝜋 respectively when the last scaling phase ends, and 𝑥* and 𝜋 * respectively when the final Subroutine Saturate ends. The termination condition of Subroutine ReduceGap and Lemma 2.10 indicate that when the last scaling phase ends, we have 𝜋𝑠 − 𝜋𝑡 + 5𝑛𝜖 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 𝑣 73 𝜏𝑒 · 𝑥𝑒 ≤ 𝜋𝑠 − 𝜋𝑡 + 7𝑛𝜖 (2.48) Using the left inequality of (2.41) in Lemma 2.8, we have −𝑑𝑡𝑠 − 𝑛𝜖 ≤ 𝜋𝑠 − 𝜋𝑡 ≤ 𝐹+ ∑︀ 𝑒∈𝐸 𝜏 𝑒 · 𝑥𝑒 𝑣 − 5𝑛𝜖 Or equivalently, −𝑑𝑡𝑠 ≤ 𝐹+ ∑︀ 𝜏 𝑒 · 𝑥𝑒 𝑒∈𝐸 𝑣 − 4𝑛𝜖 < 𝐹+ ∑︀ 𝑒∈𝐸 𝜏 𝑒 · 𝑥𝑒 𝑣 (2.49) Therefore, the left inequality is satisfied. For the right inequality, we use the right inequality of (2.41) in Lemma 2.8: 𝐹+ ∑︀ 𝑒∈𝐸 𝜏 𝑒 · 𝑥𝑒 − 7𝑛𝜖 ≤ 𝜋𝑠 − 𝜋𝑡 ≤ 𝑑𝑠𝑡 + 𝑛𝜖 𝑣 Or equivalently, 𝐹+ ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 𝑣 ≤ 𝑑𝑠𝑡 + 8𝑛𝜖 When the scaling loop ends, 8𝑛𝜖 < 1. Therefore, 𝐹+ ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 𝑣 If (𝐹 + ∑︀ 𝑒∈𝐸 < 𝑑𝑠𝑡 + 1 (2.50) 𝜏𝑒 · 𝑥𝑒 )/𝑣 ≤ 𝑑𝑠𝑡 , the right inequality in the optimality conditions is met, and we do not need to execute the step of sending extra flow in the final Subroutine Saturate. On the other hand, if (𝐹 + ∑︀ 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 )/𝑣 > 𝑑𝑠𝑡 , Subroutine Saturate invokes a maximum flow algorithm to saturate all paths with cost 𝑑𝑠𝑡 in the residual network 𝐺(𝑥). Note that all the extra flow we send are through the shortest 𝑠-𝑡 paths whose costs are all 𝑑𝑠𝑡 (𝑥) in the residual network 𝐺(𝑥). Using the same argument used to prove Lemma 2.4, we have −𝑑𝑡𝑠 (𝑥* ) = 𝑑𝑠𝑡 (𝑥). Assume the extra amount of flow sent from 𝑠 to 𝑡 is Δ𝑣, we have 𝐹+ ∑︀ 𝑒∈𝐸 𝑣* 𝜏𝑒 · 𝑥*𝑒 = 𝐹+ ∑︀ 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 + 𝑑𝑠𝑡 (𝑥) · Δ𝑣 ≥ 𝑑𝑠𝑡 (𝑥) = −𝑑𝑡𝑠 (𝑥* ) 𝑣 + Δ𝑣 74 On the other hand, 𝑑𝑠𝑡 increases by at least 1 when all the shortest paths are saturated, due to the assumption that all arc costs are integers. That is, 𝑑𝑠𝑡 (𝑥* ) ≥ 𝑑𝑠𝑡 (𝑥) + 1. From (2.50), we have: 𝐹+ ∑︀ 𝑒∈𝐸 𝑣* 𝜏𝑒 𝑥*𝑒 = 𝐹+ ∑︀ 𝑒∈𝐸 𝜏𝑒 𝑥𝑒 + 𝑑𝑠𝑡 (𝑥) · Δ𝑣 < 𝑑𝑠𝑡 (𝑥) + 1 ≤ 𝑑𝑠𝑡 (𝑥* ) 𝑣 + Δ𝑣 Since both the left and right inequality of the optimality condition are satisfied, we can conclude that any temporally-repeated flow of the final solution 𝑥* is an optimal solution to the quickest flow problem. Time Complexity There are 𝑂(log (𝑛𝐶)) cost-scaling phases in total. Within each cost-scaling phase, we run Subroutine Refine once and Reduce-Gap once. Subroutine Refine is the same as the wave implementation of the cost-scaling algorithm for the min-cost flow problem. Goldberg and Tarjan [40] showed that it runs in 𝑂(𝑛3 ) time. If we can bound the time complexity of Subroutine Reduce-Gap by 𝑂(𝑛3 ) as well, we can claim that the overall time complexity of the cost-scaling loop is bounded by 𝑂(𝑛3 log (𝑛𝐶)). To show that Subroutine Reduce-Gap indeed runs in 𝑂(𝑛3 ) time, we first show that the source node 𝑠 is relabeled at most 𝑂(𝑛) times. Based on this result, we then prove that other nodes are also relabeled at most 𝑂(𝑛) times. These two bounds lead to three key conclusions: 1) Subroutine Reduce-Gap performs at most 𝑂(𝑛2 ) relabeling operations, 2) the number of saturating pushes is bounded by 𝑂(𝑛𝑚), and 3) the number of non-saturating pushes is bounded by 𝑂(𝑛3 ). Therefore the execution time of Subroutine Reduce-Gap can be bounded by 𝑂(𝑛3 ). Lemma 2.13. The source node 𝑠 is relabeled at most 11𝑛 times in Subroutine ReduceGap. Proof. First, consider the first cost-scaling phase. Because 𝜖 = 𝐶, 𝜋𝑠 − 𝜋𝑡 can increase from 0 to at most 𝑛𝜖. Thus, node 𝑠 can be relabeled at most 𝑛 times in the first scaling phase. 75 For all the subsequent iterations, Lemma 2.7 shows that when Subroutine ReduceGap starts, we have 5𝑛𝜖 ≤ 𝛾(𝑥, 𝜋) ≤ 18𝑛𝜖. Because Subroutine Reduce-Gap ends when 𝛾(𝑥, 𝜋) ≤ 7𝑛𝜖, 𝛾(𝑥, 𝜋) decreases by at most 18𝑛𝜖 − 7𝑛𝜖 = 11𝑛𝜖. Lemma 2.11 shows that the ratio 𝑟(𝑥) does not decrease, while each time 𝑠 is relabeled, 𝜋𝑠 − 𝜋𝑡 increases by 𝜖. As a result, the gap 𝛾(𝑥, 𝜋) = 𝑟(𝑥) − (𝜋𝑠 − 𝜋𝑡 ) decreases by at least 𝜖 each time 𝑠 is relabeled. Hence, node 𝑠 is relabeled at most 11𝑛 times. Lemma 2.14. Any node 𝑤 ∈ 𝑉 is relabeled at most 13𝑛 times in Subroutine ReduceGap. Proof. The argument we use here is similar to the one used in Lemma 5.7 and 5.8 by Goldberg and Tarjan [40], where they showed that any node potential 𝜋𝑤 could increase by at most 3𝑛𝜖 in Subroutine Refine. Let 𝑥 and 𝜋 be the flow and node potentials when Subroutine Reduce-Gap starts in the 𝜖-scaling phase, and 𝑥′ and 𝜋 ′ be the flow and node potentials at any step within Subroutine Reduce-Gap. Consider any node 𝑤 that is to be relabeled. According to Subroutine ReduceGap, 𝑤 must have a positive flow access 𝑒(𝑤), and all the excess must have came from the source node 𝑠. If we perform a flow decomposition on 𝑥′ − 𝑥 in the residual network 𝐺(𝑥), we can obtain a set of paths from 𝑠 to 𝑡 and from 𝑠 to all the nodes with positive access, including 𝑤. This implies that there exists a path 𝑝𝑠𝑤 from 𝑠 to 𝑤 in the residual network 𝐺(𝑥) and its reverse path 𝑝′𝑤𝑠 from 𝑤 to 𝑠 in the residual network 𝐺(𝑥′ ). Since both (𝑥, 𝜋) and (𝑥′ , 𝜋 ′ ) are 𝜖-optimal, we have: −𝑛𝜖 ≤ ∑︁ 𝑐𝜋𝑒 = ∑︁ 𝑒=(𝑤′ ,𝑤′′ )∈𝑝 𝑒∈𝑝𝑠𝑤 (𝜋𝑤′′ + 𝜏^𝑒 − 𝜋𝑤′ ) = 𝜋𝑤 − 𝜋𝑠 + ∑︁ 𝜏^𝑒 (2.51) 𝜏^𝑒 (2.52) 𝑒∈𝑝𝑠𝑤 𝑠𝑤 and −𝑛𝜖 ≤ ∑︁ 𝑒∈𝑝′𝑤𝑠 ′ 𝑐𝜋𝑒 = ∑︁ (𝜋𝑤′ ′′ + 𝜏^𝑒 − 𝜋𝑤′ ′ ) = 𝜋𝑠′ − 𝜋𝑤′ + ∑︁ 𝑒∈𝑝′𝑤𝑠 𝑒=(𝑤′ ,𝑤′′ )∈𝑝′𝑤𝑠 where 𝜏^𝑒 is the cost of arc 𝑒 in residual networks. 76 Because path 𝑝′𝑤𝑠 is the reverse path of 𝑝𝑠𝑤 , we have ∑︀ 𝑒∈𝑝′𝑤𝑠 𝜏^𝑒 = − ∑︀ 𝑒∈𝑝𝑠𝑤 𝜏^𝑒 . Summing (2.51) and (2.52), we obtain 𝜋𝑤′ − 𝜋𝑤 ≤ 𝜋𝑠′ − 𝜋𝑠 + 2𝑛𝜖 ≤ 13𝑛𝜖 (2.53) The last inequality holds because by Lemma 2.13, the source node 𝑠 is relabeled at most 11𝑛 times, and each time it is relabled, 𝜋𝑠 increases by 𝜖. Since each relabeling increases the node potential of 𝑤 by 𝜖, we conclude that any node 𝑤 ∈ 𝑉 is relabeled at most 13𝑛 times. From Lemma 2.13 and Lemma 2.14, we conclude that the total number of relabeling operations is bounded by 𝑂(𝑛2 ). Further, because all nodes are relabeled at most 𝑂(𝑛) times, we can use the same analysis by Goldberg and Tarjan [40] to obtain a 𝑂(𝑛𝑚) bound for the number of saturating pushes. For the number of non-saturating pushes, we note that if Subroutine Reduce-Gap does not relabel any node within 𝑛 consecutive node examinations, there must be no active node. We will either start a new iteration of the outer loop of ReduceGap, or terminate Subroutine Reduce-Gap altogether. Lemma 2.12 implies that we must relabel node 𝑠 at least once in two consecutive iterations of the outer loop. Thus, we can claim that there is at least one node relabeled in 2𝑛 consecutive node examinations. Since the number of total relabeling operations is bounded by 𝑂(𝑛2 ), the number of node examinations is bounded by 𝑂(𝑛3 ). Because there is at most one non-saturating push per node examination, we obtain the bound 𝑂(𝑛3 ) for the number of non-saturating pushes. In addition to the node relabelings and saturating and non-saturating pushes, there are some extra computation costs. In each iteration of the outer loop of Sub∑︀ routine Reduce-Gap, we need to update the ratio 𝑟(𝑥) = (𝐹 + 𝑒∈𝐸 𝜏𝑒 · 𝑥𝑒 )/𝑣. It takes 𝑂(𝑚) time. Because the source node 𝑠 is relabeled at least once in two consecutive iterations of the outer loop, and it is relabeled 𝑂(𝑛) times, the total number of iterations of the outer loop is also bounded by 𝑂(𝑛). Therefore these updates of the ratio 𝑟(𝑥) take at most 𝑂(𝑛𝑚) time, and will not be a bottleneck of the algorithm. 77 In conclusion, the time complexity of the cost-scaling loop is bounded by 𝑂(𝑛3 log (𝑛𝐶)). The final Subroutine Saturate might invoke a max-flow algorithm to saturate all shortest paths in the residual network. Since the time complexities of many well-known max-flow algorithms are bounded by 𝑂(𝑛3 log 𝑛), it is not a bottleneck of our algorithm. Thus, the overall time complexity of the cost-scaling algorithm for the quickest flow problem is 𝑂(𝑛3 log (𝑛𝐶)). Theorem 2.10. The time complexity of the cost-scaling Algorithm 2.3 is 𝑂(𝑛3 log (𝑛𝐶)). If we apply the dynamic tree data structure introduced by Sleator and Tarjan [85, 86], the time complexity of the cost-scaling Algorithm 2.3 can be further improved to 𝑂(𝑛𝑚 log (𝑛2 /𝑚) log (𝑛𝐶)). Theorem 2.11. The quickest flow problem can be solved in 𝑂(𝑛𝑚 log (𝑛2 /𝑚) log (𝑛𝐶)) time. Proof. We can apply the same analysis by Goldberg and Tarjan [40]. Note that in their analysis, all computational costs are either attributed or amortized to the number of relabeling operations at each node in each scaling phase. Since we have shown that in our cost-scaling algorithm the number of relabeling operations on each node in each scaling phase is also bounded by 𝑂(𝑛), we can apply the same analysis and show that the computational time can be improved to 𝑂(𝑛𝑚 log (𝑛2 /𝑚) log (𝑛𝐶)) by using the dynamic tree data structure. Since the analysis is the same as in [40], it is omitted here. Theorem 2.11 is significant because it shows for the first time that the quickest flow problem can be solved in the same time bound as the min-cost flow problem, which implies that the quickest flow problem is not strictly harder than the min-cost flow problem if measured by time complexity. As a consequence, unless the quickest flow problem could be shown to be simpler than the min-cost flow problem, the dynamic tree implementation of our algorithm will remain one of the fastest algorithms for the quickest flow problem in terms of worst-case time complexity. We observe that the quickest flow problem is essentially a parametric flow problem. This is evident from both the linear programming formulation (2.8) and the fractional 78 programming formulation (2.13). The reason that the cost-scaling algorithm can solve the quickest flow problem within the same time bound as the min-cost flow problem might be attributed to this parametric nature. Gallo et al. [38] showed that the parametric max-flow problem can be solved within the same time bound as the maximum flow problem using the preflow-push algorithm. In this thesis, we showed that the quickest flow problem, as a parametric min-cost flow problem, can also be solved within the same time bound as the min-cost flow problem. Similar to what Gallo et al. [38] observed, the preflow-push algorithm framework exhibits great elasticity for parametric extensions. Summary In this subsection, we use the optimality conditions introduced in Subsection 2.2.1 to design multiple algorithms. The first algorithm is a successive shortest path algorithm. Although the algorithm does not run in polynomial time, it provides insights and results that are used to design polynomial time algorithms later. The second algorithm is a binary search algorithm. It runs in the same time bound as the time search algorithm introduced by Burkard et al. [18]. Instead of search over the time 𝑇 , our binary search algorithm searches over flow value 𝑣. It is simpler and easier to implement than the time search algorithm. The third algorithm is a cost-scaling algorithm. This new algorithm follows the cost-scaling framework designed to solve the min-cost flow problem. We add an extra step in each scaling phase to guarantee that the optimality conditions are met when the algorithm terminates. We show that the algorithm runs in 𝑂(𝑛3 log (𝑛𝐶)) time, and can be further improved to run in 𝑂(𝑛𝑚 log (𝑛2 /𝑚) log (𝑛𝐶)) time by applying the dynamic tree data structure. It has the same time bound as one of the fastest min-cost flow algorithms in terms of time complexity, and is likely to remain one of the fastest algorithm for solving the quickest flow problem unless the quickest flow problem can be proved to be simpler than the min-cost flow problem. 79 2.2.3 Models and Algorithms for the Quickest Transshipment Problem In this subsection, we discuss the quickest transshipment problem. It is a quickest flow problem with multiple sources and multiple sinks. In a quickest transshipment problem, we are given a network 𝐺 = (𝑉, 𝐸), a set of sources nodes 𝑆 + ⊂ 𝑉 , and a set of sink nodes 𝑆 − ⊂ 𝑉 . Each source node 𝑤 ∈ 𝑆 + has a supply 𝐹𝑤 > 0, and each sink node 𝑤 ∈ 𝑆 − has a demand −𝐹𝑤 where 𝐹𝑤 < 0. The supplies and demands ∑︀ ∑︀ are assumed to be balanced. That is, 𝑤∈𝑆 + 𝐹𝑤 + 𝑤∈𝑆 − 𝐹𝑤 = 0. The quickest transshipment problem is to find the minimum time 𝑇 * such that all supplies can be sent to meet the demands. As shown by Hoppe and Tardos [49], solving a quickest transshipment problem is not as easy as converting it to a quickest flow problem by simply adding a super source and a super sink then connecting them to the source and sink nodes, like the way we solve multi-source-multi-sink static network flow problems. It requires much more careful treatments and is much harder than the quickest flow problem. Due to the difficulties, people also study the quickest transshipment problem in special networks. For example, Fleischer [30] studied the quickest transshipment problem in a network with zero arc costs and multiple sources and a single sink. Kamiyama et al. [53] studied networks with uniform path lengths, in which the distance of any path between any node (other than the sink node) and a single sink node are the same. In this subsection, we start by deriving a mathematical model for the general quickest transshipment problem. Using the general model, we then study the quickest transshipment in two different types of networks: 1) Networks with zero arc costs, and 2) networks with uniform path lengths. In both special cases, we consider networks with multiple sources and multiple sinks. We finally extend our results to the quickest transshipment problem in general networks. We show that our algorithms for the two special types of networks could be used to approximate the quickest transshipment problem in general networks. An Optimization Model 80 𝑠˜ 𝐹𝐴 = 20 𝐹𝐶 = −5 𝐹𝐵 = 5 𝐹𝐴 = 20 𝐴 𝐵 𝐴 𝐵 𝐴 𝐵 𝐶 𝐷 𝐶 𝐷 𝐶 𝐷 𝐹𝐷 = −20 𝐹𝐶 = −5 𝑡˜ Original Graph Set 𝑋 = {𝐴, 𝐶} Transformed Graph Figure 2-1: An example that helps illustrate Theorem 2.12. Although we cannot solve the quickest transshipment problem by transforming it into a quickest flow problem, the quickest transshipment problem is still closely related to the quickest flow problem. An important theorem connecting these two problems is provided by Hoppe and Tardos [49]. Define 𝑓 (𝑋, 𝑇 ) as the maximum amount of dynamic flow that could be sent from supply nodes in 𝑆 + ∩ 𝑋 to demand ¯ within time 𝑇 regardless of their respective supplies and demands. nodes in 𝑆 − ∩ 𝑋 We have: Theorem 2.12 (Hoppe and Tardos [49]). All the supplies can be sent to meet demands ∑︀ within time 𝑇 if and only if 𝑓 (𝑋, 𝑇 ) ≥ 𝑤∈𝑋 𝐹𝑤 for every subset 𝑋 ⊂ 𝑆 + ∪ 𝑆 − . We explain the theorem through an example shown in Figure 2-1. In this example, we have a network with four nodes: 𝐴, 𝐵, 𝐶, and 𝐷. Nodes 𝐴 and 𝐵 are supply nodes with 20 and 5 units of supplies, respectively. Nodes 𝐶 and 𝐷 are demand nodes with 5 and 20 units of demands, respectively. For any set of nodes 𝑋 ⊂ 𝑆 + ∪𝑆 − , if the total supply of the nodes in set 𝑋 exceeds the total demand in 𝑋, there are extra supplies that need to be sent to the demand nodes outside set 𝑋. Consider the example in Figure 2-1. For a set 𝑋 = {𝐴, 𝐶}, the total supply in this set is 𝐹𝐴 = 20, and the total demand is 𝐹𝐶 = −5. Therefore the extra supply that needs to be sent from the supply nodes in set 𝑋 to the demand 81 nodes outside set 𝑋 is 𝐹𝐴 +𝐹𝐶 = 15 units. More specifically, other than satisfying the demand of node 𝐶, which is inside set 𝑋, node 𝐴 also needs to send 15 units of flow to meet the demand of nodes 𝐷, which is outside set 𝑋. Theorem 2.12 implies that if we are not able to send 15 units of flow from 𝐴 to 𝐷 within time 𝑇 , the demands cannot be met by supplies within time 𝑇 . The same requirement applies to any other set 𝑋 and time 𝑇 . On the other hand, Theorem 2.12 also states that if for every set 𝑋 ⊂ 𝑆 + ∪ 𝑆 − , we can send the extra supplies in the set, if any, to the demand nodes outside 𝑋 within time 𝑇 , then there exists a feasible solution such that all supplies can be sent to meet demands within time 𝑇 . In the rest of this subsection, we will call a quickest transshipment problem “feasible in time 𝑇 ” if there exists such a feasible solution to the problem in time 𝑇 . We emphasize that in Theorem 2.12, we consider the set 𝑋 as a whole and ignore all the individual supplies and demands of the source nodes and sink nodes. This means that given any time 𝑇 , we can test if a quickest transshipment problem is feasible in time 𝑇 by enumerating all subset 𝑋 of 𝑆 + ∪𝑆 − and checking if the maximum amount of dynamic flow that could be sent from source nodes in 𝑋 to sink nodes in ¯ exceeds ∑︀ 𝑋 𝑤∈𝑋 𝐹𝑤 . In order to determine if the maximum amount of flow that could be sent within time 𝑇 exceeds the extra amount of supply in a specific set 𝑋, we can solve a dynamic max-flow problem in a slightly modified network. We add a super source 𝑠˜ and connect it to the source nodes in 𝑋, and add a super sink 𝑡˜ and connect the sink nodes outside 𝑋 to it. The capacities of the newly added arcs are all set to infinity, and their costs set to 0. In the example in Figure 2-1, the transformed network is shown on the right hand side. After constructing this transformed network, we can solve a dynamic maxflow problem in this network and obtain the maximum amount of flow that could be ∑︀ sent within time 𝑇 , then compare this amount to 𝑤∈𝑋 𝐹𝑤 . We point out that Theorem 2.12 only guarantees existence. It does not provide a way to find a feasible dynamic flow within time 𝑇 if the quickest transshipment problem is feasible in time 𝑇 . To find a feasible solution, we need to run an extra 82 algorithm (see Hoppe and Tardos [49]). Using the formulation of the dynamic max-flow problem (2.11), the function 𝑓 (𝑋, 𝑇 ) used in Theorem 2.12 can be mathematically defined as: 𝑓 (𝑋, 𝑇 ) := max 𝑇 · ∑︁ 𝑣𝑤 − 𝑣∈𝑆 + ∩𝑋 s.t. ∑︁ 𝜏 𝑒 · 𝑥𝑒 𝑒∈𝐸 ⎧ ⎪ ⎪ ⎪ 𝑣𝑤 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣𝑤 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥 𝑒 ≤ 𝑢𝑒 𝑣𝑤 ≥ 0 ∀𝑤 ∈ 𝑆 + ∩ 𝑋 ¯ ∀𝑤 ∈ 𝑆 − ∩ 𝑋 (2.54) otherwise ∀𝑒 ∈ 𝐸 ¯ ∀𝑤 ∈ (𝑆 + ∩ 𝑋) ∪ (𝑆 − ∩ 𝑋) It is obvious that if there exists a feasible solution in time 𝑇 , this solution is also feasible for any time 𝑇 ′ ≥ 𝑇 . This observation leads to the following formulation for the quickest transshipment problem: min 𝑇 s.t. 𝑓 (𝑋, 𝑇 ) ≥ ∑︁ 𝐹𝑤 ∀𝑋 ⊂ 𝑆 + ∪ 𝑆 − (2.55) 𝑤∈𝑋 Hoppe and Tardos [49] introduced multiple algorithms for testing the feasibility of the quickest transshipment problem in a given time 𝑇 . Their strongly-polynomial algorithm requires to run a subroutine that minimizes a submodular function. This subroutine runs in high-order polynomials. (The fastest algorithm so far is introduced by Orlin [68], which calls a min-cost flow algorithm 𝑂(𝑛5 ) times.) Other weakly polynomial algorithms all involve the arc capacities, arc costs, and the magnitude of supplies and demands. All algorithms take additional time to find an optimal time 𝑇 * , and extra steps to find an optimal dynamic flow. We next show that if all arc costs are zero, the feasibility of the quickest flow problem in time 𝑇 can be tested by running a max-flow algorithm, which leads to algorithms that solve the quickest transshipment problem more efficiently. 83 Networks with Zero Arc Costs As mentioned in the previous part, we are able to solve the quickest transshipment problem more efficiently in several special cases than by using the general algorithms introduced by Hoppe and Tardos [49]. We first study the quickest transshipment problem in networks with zero arc costs. There are many literatures that consider this special type of networks. See [41, 89, 6] for example. This special model proves to be useful for solving packet routing and congestion control problems. As we will see in the following parts of this subsection, we can also use algorithms for this special case to approximately solve the quickest transshipment problem in general networks. We first show that given a specific time 𝑇 , one can run a max-flow algorithm to determine if the quickest transshipment problem is feasible in time 𝑇 if all arc costs are zero. If all arc costs are zero, the function 𝑓 (𝑋, 𝑇 ) becomes: 𝑓0 (𝑋, 𝑇 ) := max 𝑇 · ∑︁ 𝑣𝑤 𝑤∈𝑆 + ∩𝑋 s.t. ⎧ ⎪ ⎪ ⎪ 𝑣𝑤 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 = −𝑣𝑤 𝑥𝑒 − ⎪ ⎪ − + ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢𝑒 𝑣𝑤 ≥ 0 ∀𝑤 ∈ 𝑆 + ∩ 𝑋 ¯ ∀𝑤 ∈ 𝑆 − ∩ 𝑋 (2.56) otherwise ∀𝑒 ∈ 𝐸 ¯ ∀𝑤 ∈ (𝑆 + ∩ 𝑋) ∪ (𝑆 − ∩ 𝑋) Observe that if we fix the set 𝑋, the optimization problem becomes a max-flow problem. It finds the maximum amount of flow that could be sent from the source ¯ nodes in 𝑋 to the sink nodes in 𝑋. Based on the well-known max-flow min-cut theorem, we can convert formulation 84 (2.56) to an equivalent min-cut formulation 𝑓0′ (𝑋, 𝑇 ): 𝑓0′ (𝑋, 𝑇 ) := min ∑︁ (𝑇 · 𝑢𝑒 ) · 𝑦𝑒 𝑒∈𝐸 ∀𝑒 = (𝑤, 𝑤′ ) ∈ 𝐸 s.t. 𝜋𝑤 − 𝜋𝑤′ − 𝑦𝑒 ≤ 1 (2.57) + 𝜋𝑤 = 1 ∀𝑤 ∈ 𝑆 ∩ 𝑋 𝜋𝑤 = 0 ¯ ∀𝑤 ∈ 𝑆 − ∩ 𝑋 This formulation is simply the dual form of formulation (2.56). Figure 2-2 shows an example of the network corresponding to the min-cut formulation (2.57). The numbers on the arcs are arc capacities. Given an original network (the network on the left in Figure 2-2), we first add a super source 𝑠˜ and a super sink 𝑡˜ to the original network. Connect 𝑠˜ to all source nodes in set 𝑋, and connect all sink nodes outside set 𝑋 to 𝑡˜. Set the capacities on these arcs to infinity, and the capacities of the arcs in the original network to 𝑇 · 𝑢𝑒 . The optimization problem defined in (2.57) is equivalent to finding a min-cut in this new network. In the rest of this subsection, we will refer to this new network as the network corresponding to 𝑓0′ (𝑋, 𝑇 ) or the network corresponding to the min-cut formulation (2.57). Using the min-cut formulation (2.57) and Theorem 2.12, we can claim that given time 𝑇 , the quickest transshipment problem in networks with zero arc costs is feasible ∑︀ if and only if 𝑓0′ (𝑋, 𝑇 ) ≥ 𝑤∈𝑋 𝐹𝑤 for every set 𝑋 ⊂ 𝑆 + ∪ 𝑆 − . In order to determine the feasibility, we can try to maximize the function ∑︀ 𝑤∈𝑋 𝐹𝑤 − 𝑓0′ (𝑋, 𝑇 ) among every set 𝑋 ⊂ 𝑆 + ∪ 𝑆 − . If there exists an optimal set 𝑋 * that sat∑︀ isfies 𝑤∈𝑋 * 𝐹𝑤 − 𝑓0′ (𝑋 * , 𝑇 ) > 0, it means there exists a violation set 𝑋 * such that ∑︀ 𝑓0′ (𝑋 * , 𝑇 ) < 𝑤∈𝑋 * 𝐹𝑤 . Therefore the quickest transshipment problem is not feasi∑︀ ble in time 𝑇 . On the other hand, if for any optimal set 𝑋 * we have 𝑤∈𝑋 * 𝐹𝑤 − ∑︀ 𝑓0′ (𝑋 * , 𝑇 ) ≤ 0, then we can claim that 𝑓0′ (𝑋, 𝑇 ) ≥ 𝑤∈𝑋 𝐹𝑤 for every set 𝑋 ⊂ 𝑆 + ∪ 𝑆 − , and therefore the quickest transshipment problem is feasible in time 𝑇 . 85 𝑠˜ 𝐹𝐴 = 20 ∞ 𝐹𝐵 = 5 𝐴 𝐵 1 5 𝐶 𝐴 5 6 30 ⇒ 𝐷 𝐹𝐶 = −5 𝐵 𝐶 30 𝐷 𝐹𝐷 = −20 ∞ 𝑡˜ 𝑇 = 6, Set 𝑋 = {𝐴, 𝐶} Figure 2-2: The network corresponding to the min-cut formulation (2.57) with a given time 𝑇 and a set 𝑋: Add a super source and a super sink to the original graph. Connect the super source to all source nodes in set 𝑋, and connect all sink nodes outside set 𝑋 to the super sink. Set the capacities of these arcs to infinity. Set the capacities of each arc 𝑒 in the original graph to 𝑇 · 𝑢𝑒 . This optimization problem can be written as: max + 𝑋⊂𝑆 ∪𝑆 − 𝑔(𝑋, 𝑦) := ∑︁ 𝐹𝑤 − 𝑤∈𝑋 ∑︁ (𝑇 · 𝑢𝑒 ) · 𝑦𝑒 𝑒∈𝐸 ∀𝑒 = (𝑤, 𝑤′ ) ∈ 𝐸 s.t. 𝜋𝑤 − 𝜋𝑤′ − 𝑦𝑒 ≤ 1 (2.58) + 𝜋𝑤 = 1 ∀𝑤 ∈ 𝑆 ∩ 𝑋 𝜋𝑤 = 0 ∀𝑤 ∈ 𝑆 − ∩ 𝑋 We next show that formulation (2.58) is equivalent to the maximum blocking cut problem introduced by Radzik [76]. Recall that 𝜅(𝑍), ∀𝑍 ⊆ 𝑉 is defined in Section 2.1 as the cut containing every arc that links a node in set 𝑍 to a node in ¯ i.e., 𝜅(𝑍) := {𝑒 = (𝑤, 𝑤′ ) : 𝑤 ∈ 𝑍, 𝑤′ ∈ 𝑍}. ¯ Using this notation, the maximum 𝑍, blocking cut problem is defined as follows: Given a graph 𝐺 = (𝑉, 𝐸), node weights (positive or negative) 𝛽𝑤 , ∀𝑤 ∈ 𝑉 , and arc capacities 𝑢𝑒 , ∀𝑒 ∈ 𝐸, find a subset of nodes 𝑍 ⊆ 𝑉 such that ℎ(𝑍) := ∑︀ ∑︀ 𝑤∈𝑍 𝛽𝑤 − 𝑒∈𝜅(𝑍) 𝑢𝑒 is maximum. In a maximum blocking cut problem, the node weights can be considered as re86 wards, and the total capacity of the arcs in cut 𝜅(𝑍) can be considered as the cost of getting the rewards in 𝑍. The goal is to find a set of nodes such that the total reward minus the total cost is maximized. We prove the claim that the problem formulated in (2.58) is equivalent to the maximum blocking cut problem through two lemmas: Lemma 2.15. For an optimal solution (𝜋 * , 𝑦 * , 𝑋 * ) to the optimization problem in (2.58), there exists a set 𝑍 such that ℎ(𝑍) = 𝑔(𝑋 * , 𝑦 * ). Lemma 2.16. For an optimal set 𝑍 * for the blocking cut problem, there exists a feasible solution (𝜋, 𝑦, 𝑋) for the optimization problem in (2.58) such that 𝑔(𝑋, 𝑦) = ℎ(𝑍 * ). Let (𝜋 * , 𝑦 * , 𝑋 * ) be an optimal solution to the optimization problem in (2.58), and let 𝑍 * be an optimal cut for the maximum blocking cut problem. Lemma 2.15 implies that ℎ(𝑍 * ) ≥ ℎ(𝑍) = 𝑔(𝑋 * , 𝑦 * ), and Lemma 2.16 implies that 𝑔(𝑋 * , 𝑦 * ) ≥ 𝑔(𝑋, 𝑦) = ℎ(𝑍 * ). Combining the two results, we can then conclude that the optimal objective value of formulation (2.58) is equal to the value of the maximum blocking cut. Further, from an optimal solution of (2.58), one can construct an optimal set 𝑍 * for the maximum blocking cut problem, and vice versa. Proof of Lemma 2.15. Consider an optimal solution (𝜋 * , 𝑦 * , 𝑋 * ) to the optimization problem in (2.58) such that 𝜋𝑤* is either 0 or 1 for all 𝑤 ∈ 𝑉 . We claim that such an optimal solution always exists. The reason is that with any 𝑋 * , (𝜋 * , 𝑦 * ) must provide ∑︀ a minimum value of 𝑒∈𝐸 𝑢𝑒 · 𝑦𝑒 with 𝑋 * fixed, because otherwise we can find a ∑︀ solution that further increases the value of the overall objective value 𝑤∈𝑋 𝐹𝑤 − ∑︀ * 𝑒∈𝐸 (𝑇 · 𝑢𝑒 ) · 𝑦𝑒 . Note that when 𝑋 is fixed, the problem is a min-cut problem, therefore there exists a solution 𝜋 * such that 𝜋𝑤* is either 0 or 1 for all 𝑤 ∈ 𝑉 . Essentially, the nodes 𝑤 with 𝜋𝑤 = 1 belong to the 𝑠-side of the cut, and the nodes 𝑤 with 𝜋𝑤 = 0 belong to the 𝑡-side of the cut. Additionally, 𝑦𝑒* = 1 if an arc 𝑒 crosses from set 𝑆 to set 𝑇 , and 𝑦𝑒* = 0 otherwise. With this solution, we can let 𝑍 be the set of nodes with 𝜋𝑤* = 1, i.e., 𝑍 := {𝑤 : 𝜋𝑤* = 1, ∀𝑤 ∈ 𝑉 }. Note that all source and sink nodes in 𝑋 * are in set 𝑍, otherwise 87 ¯ Moreover, because 𝛽𝑤 is equal to 𝐹𝑤 for all node 𝑤 ∈ 𝑉 , we have: they are in 𝑍. ℎ(𝑍) = ∑︁ ∑︁ 𝛽𝑤 − 𝑤∈𝑍 = ∑︁ = 𝐹𝑤 ∑︁ 𝐹𝑤 − 𝑤∈𝑍∩(𝑆 + ∪𝑆 − ) ∑︁ 𝑇 · 𝑢𝑒 𝑒∈𝜅(𝑍) (𝑇 · 𝑢𝑒 ) · 𝑦𝑒* 𝑒∈𝜅(𝑍) ∑︁ − (𝑇 · 𝑢𝑒 ) · 𝑦𝑒* 𝑤∈𝑋 * 𝑒∈𝐸 This concludes the proof. Proof of Lemma 2.16. Consider an optimal set 𝑍 * for the maximum ℎ(𝑍). We set 𝜋𝑤 = 1 for all nodes 𝑤 ∈ 𝑍 * , and 𝜋𝑤 = 0 for all nodes 𝑤 ̸∈ 𝑍 * . Further let 𝑦𝑒 = 1 for all 𝑒 ∈ 𝜅(𝑍 * ), and 𝑦𝑒 = 0 otherwise. Let 𝑋 be 𝑍 * ∩ (𝑆 + ∪ 𝑆 − ). Note that the combination of (𝜋, 𝑦, 𝑋) satisfies all the constraints in formulation (2.58). Therefore (𝜋, 𝑦, 𝑋) is a feasible solution to the optimization problem. Moreover, we have ∑︁ 𝑤∈𝑋 𝐹𝑤 − ∑︁ ∑︁ (𝑇 · 𝑢𝑒 ) · 𝑦𝑒 = 𝐹𝑤 − = ∑︁ 𝑤∈𝑍 * 𝛽𝑤 − 𝑇 · 𝑢𝑒 𝑒∈𝜅(𝑍 * ) 𝑤∈𝑍 * ∩(𝑆 + ∪𝑆 − ) 𝑒∈𝐸 ∑︁ ∑︁ 𝑇 · 𝑢𝑒 𝑒∈𝜅(𝑍 * ) = ℎ(𝑍 * ) This concludes the proof. Based on Lemma 2.15 and Lemma 2.16, we have the following theorem: Theorem 2.13. The optimization problem defined in (2.58) is equivalent to a maximum blocking cut problem with node weight 𝛽𝑤 = 𝐹𝑤 for all node 𝑤 ∈ 𝑉 , and arc capacities 𝑇 · 𝑢𝑒 for all arc 𝑒 ∈ 𝐸. Proof. Lemma 2.15 and Lemma 2.16 establish that the optimal value of the optimization problem (2.58) and the value of the maximum blocking cut ℎ(𝑍) are the same. Moreover, for an optimal solution to (2.58), there exists a corresponding set 𝑍 for the maximum blocking cut problem with same value, and vice versa. Therefore, formulation (2.58) is equivalent to the maximum blocking cut problem. 88 𝑠˜ 𝐹𝐴 = 20 20 𝐹𝐵 = 5 𝐴 𝐵 1 5 𝐶 𝐴 5 ⇒ 𝐷 𝐹𝐶 = −5 5 𝐵 6 30 𝐶 𝐹𝐷 = −20 30 𝐷 5 20 𝑡˜ 𝑇 =6 Figure 2-3: Test the feasibility of a quickest transshipment problem with zero arc costs in time 𝑇 = 6 by transforming it into a maximum flow problem (the number next to an arc is its capacity 𝑢𝑒 ): Add a super source 𝑠˜ and connect 𝑠˜ to source nodes 𝐴 and 𝐵. Set arc capacities to 𝐹𝐴 and 𝐹𝐵 respectively. Add a super sink 𝑡˜ and connect sink nodes 𝐶 and 𝐷 to the super sink 𝑡˜. Set arc capacities to −𝐹𝐶 and −𝐹𝐷 , respectively. Set other arc capacities to 𝑇 · 𝑢𝑒 . Theorem 2.13 shows that we can determine the feasibility of the quickest transshipment problem in a given time 𝑇 by solving a maximum blocking cut problem. Radzik [76] and Hochbaum [46] showed that the maximum blocking cut problem can be transformed into a maximum flow problem in the following way: First, add a super source 𝑠˜ and a super sink 𝑡˜ to the original network. Then add an arc from the super source to each source node 𝑤 ∈ 𝑆 + . Set the arc capacities to 𝛽𝑤 . We call these arcs the source arcs. Similarly, add an arc from each sink node 𝑤 ∈ 𝑆 − to the super sink. Set the arc capacities to −𝛽𝑤 . We call these arcs the sink arcs. By solving the maximum flow problem in this transformed network, denoted as 𝐺′ , we can find a minimum cut corresponding to the maximum flow. This min-cut is also an optimal cut for the maximum blocking cut problem (see Lemma 3.1 in Hochbaum [46]). Figure 2-3 shows an example of how to transform a feasibility test with time 𝑇 = 6 into a maximum flow problem. We are now in a position to introduce a straightforward binary search algorithm for the quickest transshipment problem in networks with zero arc costs. The algorithm searches over time 𝑇 and stops when the gap between the lower bound and the upper 89 bound of the optimal time 𝑇 * is less than a given precision 𝜖. In the algorithm, we call an arc saturated if the flow on the arc is at its capacity. The complete procedure is described in Algorithm 2.8. Algorithm 2.8 : Binary Search Add a super source 𝑠˜ and a super sink 𝑡˜ to the original network 𝐺 = (𝑉, 𝐸) Connect 𝑠˜ to each source node 𝑤 ∈ 𝑆 + and set arc capacity 𝑢′(˜𝑠,𝑤) to 𝐹𝑤 Connect each sink node 𝑤 ∈ 𝑆 − to 𝑡˜ and set arc capacity 𝑢′(𝑤,𝑡˜) to −𝐹𝑤 (︀∑︀ )︀ Set 𝑇min := 0 and 𝑇max := 𝑤∈𝑆 + 𝐹𝑤 / (min𝑒∈𝐸 𝑢𝑒 ) + 𝜖 while 𝑇max − 𝑇min ≥ 𝜖 do Set 𝑇 := (𝑇min + 𝑇max )/2 Set arc capacity to 𝑢′𝑒 := 𝑇 · 𝑢𝑒 for all 𝑒 ∈ 𝐸 Find a maximum flow 𝑥′ in network 𝐺′ with arc capacities 𝑢′ if all source arcs are saturated then 𝑇max := 𝑇 Set 𝑥𝑒 := 𝑥′𝑒 /𝑇 for all 𝑒 ∈ 𝐸 else 𝑇min := 𝑇 end if end while if 𝑥 is set then Return 𝑥 and time 𝑇max else Return infeasible end if We next show that if the quickest transshipment problem is feasible, the algorithm returns a feasible dynamic flow that sends all supplies to meet the demands within time 𝑇 , which is at most 𝜖 greater than the optimal time 𝑇 * . Note that at the beginning of each iteration of the loop, we set 𝑇 to be (𝑇min + 𝑇max )/2. We call an iteration with time 𝑇 “iteration 𝑇 ”. In iteration 𝑇 , we solve a maximum flow problem and obtain a maximum flow 𝑥′ . In the following lemmas, we define a flow 𝑥 in the original network 𝐺 in the following way: let 𝑥𝑒 be 𝑥′𝑒 /𝑇 for all 𝑒 ∈ 𝐸 in the original network 𝐺 = (𝑉, 𝐸) (i.e., excluding the source arcs and sink arcs in the converted network 𝐺′ ). We first prove a series of lemmas showing that if all the source arcs are saturated by the maximum flow 𝑥′ in iteration 𝑇 , then 𝑇 is an upper bound of the optimal time 𝑇 * , otherwise 𝑇 is a lower bound of the optimal time 𝑇 * . 90 Lemma 2.17. In iteration 𝑇 , if we obtain a maximum flow 𝑥′ that saturates all source arcs, then a temporally-repeated flow of the static flow 𝑥 is a feasible dynamic flow for the quickest transshipment problem. Proof. In order to show that a temporally-repeated flow of 𝑥 is a feasible dynamic flow for the quickest transshipment problem in time 𝑇 , we need to show that 1) 𝑥 satisfies the capacity constraints, 2) every node 𝑤 in 𝑆 + sends out 𝐹𝑤 amount of flow in time 𝑇 , 3) every node 𝑤 in 𝑆 − receives −𝐹𝑤 amount of flow in time 𝑇 , and 4) no flow is stored in other nodes at time 𝑇 . First we show that 𝑥 satisfies the capacity constraints. Since the maximum flow 𝑥′ in iteration 𝑇 satisfies 𝑥𝑒 ≤ 𝑇 · 𝑢𝑒 for every 𝑒 ∈ 𝐸, we have 𝑥𝑒 = 𝑥′𝑒 /𝑇 ≤ 𝑢𝑒 . Therefore 𝑥 satisfies the capacity constraints. Now we show that for each node 𝑤 ∈ 𝑆 + , the total amount of flow sent in time 𝑇 is 𝐹𝑤 . Since all source arcs are saturated, we have 𝑥′(˜𝑠,𝑤) = 𝐹𝑤 for every 𝑤 ∈ 𝑆 + . Therefore the outflow minus inflow at node 𝑤 in flow 𝑥 is 𝐹𝑤 . Because we set 𝑥𝑒 := 𝑥′𝑒 /𝑇 , we know that in a temporally-repeated flow of 𝑥, the total rate of flow out of 𝑤 is a constant 𝐹𝑤 /𝑇 , starting from time 0 till time 𝑇 . Thus, we send a total of 𝐹𝑤 amount of dynamic flow out of 𝑤 in time 𝑇 . It means all supplies are sent out in time 𝑇. For the demand nodes, note that the sum of 𝐹𝑤 for all 𝑤 ∈ 𝑆 − is equal to the sum of 𝐹𝑤 for all 𝑤 ∈ 𝑆 + due to the assumption that the supplies and demands are balanced. Therefore we know that if all source arcs are saturated, all sink arcs are saturated too. Using a same argument above, we can see that all the demand nodes receive flow at a constant rate 𝑥′(𝑤,𝑡˜) /𝑇 for time 𝑇 . Thus, each sink node 𝑤 ∈ 𝑆 − receives −𝐹𝑤 amount of dynamic flow in time 𝑇 . It means all demands are met in time 𝑇 . The rest of the nodes have a balanced inflow and outflow in the static flow 𝑥. Therefore at time 𝑇 , no flow is stored in any intermediary node. This observation concludes our proof. Lemma 2.17 implies that if all source arcs are saturated in the maximum flow 𝑥 91 𝑠˜ 𝑠˜ 20 5 𝐴 20 𝐵 6 30 𝐴 30 𝐶 5 6 30 ⇒ 𝐷 𝐵 𝐶 30 𝐷 20 20 𝑡˜ 𝑡˜ Graph 𝐺′ Graph 𝐺′′ Figure 2-4: Convert graph 𝐺′ in iteration 𝑇 to graph 𝐺′′ by removing source and sink arcs in the min-cut. in iteration 𝑇 , we find a feasible dynamic flow, thus time 𝑇 must be an upper bound of the optimal time 𝑇 * . Next, we show that if all source arcs are not saturated in the maximum flow 𝑥′ in iteration 𝑇 , the quickest transshipment problem is not feasible in time 𝑇 , and as a result, 𝑇 is a lower bound of the optimal time 𝑇 * . We prove this result by showing that there exists a set 𝑋 such that 𝑓0′ (𝑋, 𝑇 ) < ∑︀ 𝐹𝑤 . From the formulation for the quickest transshipment problem (2.55), we ∑︀ can see that if 𝑓0′ (𝑋, 𝑇 ) is strictly less than 𝑤∈𝑋 𝐹𝑤 , the constraints are not all 𝑤∈𝑋 satisfied, and 𝑋 is a violating set. Before we formally prove the result, we illustrate our argument through an example. Consider the quickest transshipment problem shown previously in Figure 2-3 (also shown in Figure 2-4). A maximum flow in this network 𝐺′ is 𝑥′(˜𝑠,𝐴) = 11, 𝑥′(˜𝑠,𝐵) = 5, 𝑥′(𝐴,𝐶) = 5, 𝑥′(𝐴,𝐷) = 6, 𝑥′(𝐵,𝐷) = 5, 𝑥′(𝐶,𝑡˜) = 5, 𝑥′(𝐷,𝑡˜) = 11. We can perform a flow decomposition on 𝑥′ and obtain three paths 𝑠˜ − 𝐴 − 𝐶 − 𝑡˜ with 5 units of flow, 𝑠˜ − 𝐴 − 𝐷 − 𝑡˜ with 6 units of flow, and 𝑠˜ − 𝐵 − 𝐷 − 𝑡˜ with 5 units of flow. A mincut corresponding to the maximum flow is 𝑍 ′ = {˜ 𝑠, 𝐴, 𝐶}. The arcs in the min-cut 𝜅′ (𝑍 ′ ) are (˜ 𝑠, 𝐵), (𝐴, 𝐷), and (𝐶, 𝑡˜). The min-cut is indicated by the dashed line in Figure 2-4. 92 We construct a new graph 𝐺′′ from graph 𝐺′ in the following way: remove the source arcs and sink arcs that are in the min-cut 𝜅′ (𝑍 ′ ). In our example, we remove the source arc (˜ 𝑠, 𝐵) and the sink arc (𝐶, 𝑡˜) from 𝐺′ . Note that 𝑍 ′ still includes the super source 𝑠˜ but not the super sink 𝑡˜ in the new graph 𝐺′′ . Therefore it is a valid cut in 𝐺′′ . We denote this cut with 𝜅′′ (𝑍 ′ ). In order to get a feasible flow in the new graph 𝐺′′ , we construct a new flow 𝑥′′ in the following way: perform a flow decomposition, and remove the flows on paths that contain the source arcs and sink arcs in the min-cut. In our example, we drop the 5 units of flow through path 𝑠˜ − 𝐴 − 𝐶 − 𝑡˜ which contains arc (𝐶, 𝑡˜) and the 5 units of flow through path 𝑠˜ − 𝐵 − 𝐷 − 𝑡˜ which contains arc (˜ 𝑠, 𝐵). Because none of the arcs going from 𝑡-side of the cut back to 𝑠-side of the cut is used in a maximum flow due to the complementary slackness of the max-flow and min-cut formulations, we know that any flow from 𝑠˜ to 𝑡˜ will not cross two arcs in the min-cut. Therefore the total amount of flow dropped must be equal to the total capacity of arcs that we remove. In our example, the total capacity of the removed arcs (˜ 𝑠, 𝐵) and (𝐶, 𝑡˜) is 10, which is equal to the total amount of flow dropped. Since the removed arc capacity is equal to the removed flow, the total capacity of the remaining arcs in the cut must be equal to the value of the remaining flow. That is, the capacity of cut 𝜅′′ (𝑍 ′ ) is equal to the flow value of 𝑥′′ . In Figure 2-4, we can see that the only arc left in the cut is (𝐴, 𝐷) with capacity 6, which is equal to the value of the remaining flow (6 units on path 𝑠˜ − 𝐴 − 𝐷 − 𝑡˜). By the max-flow min-cut theorem, 𝜅′′ (𝑍 ′ ) is a min-cut in the new network 𝐺′′ , and flow 𝑥′′ is a max-flow in 𝐺′′ . Let 𝑋 be the set of source nodes whose corresponding source arcs are not in the min-cut, and the sink nodes whose corresponding sink arcs are in the min-cut. In our example, the set 𝑋 = {𝐴, 𝐶}. Note that the structure of network 𝐺′′ is the same as the one corresponding to 𝑓0′ (𝑋, 𝑇 ) (see Figure 2-2). That is, the super source only connects to the source nodes in set 𝑋, and the super sink is connected only from the sink nodes outside set 𝑋. The only difference is that the arc capacities of the source arcs and sink arcs in graph 𝐺′′ in Figure 2-4 are not infinity. But because these arcs are not in the min-cut, setting them to infinity will not change the value of maximum 93 flow. Note that the value of 𝑓0′ (𝑋, 𝑇 ) is equal to the capacity of a min-cut in graph ∑︀ 𝐺′′ . Therefore we have 𝑓0′ (𝑋, 𝑇 ) = 𝑒∈𝜅′′ (𝑍 ′ ) (𝑇 · 𝑢𝑒 ). Using the assumption that at least one of the source arcs in graph 𝐺′′ is not saturated, we can then prove that ∑︀ 𝑓0′ (𝑋, 𝑇 ) < 𝑤∈𝑋 𝐹𝑤 (see Lemma 2.19). In our example, the value of 𝑓0′ (𝑋, 𝑇 ) is ∑︀ equal to the capacity of the min-cut in 𝐺′′ , which is 𝑢′(𝐴,𝐷) = 6, while 𝑤∈𝑋 𝐹𝑤 = 𝐹𝐴 + 𝐹𝐶 = 15, greater than 6. Therefore 𝑋 is a violating set for the formulation of the quickest transshipment problem. We now formally prove that if there exists a source arc that is not saturated by the maximum flow 𝑥 in iteration 𝑇 , the quickest transshipment problem is not feasible in time 𝑇 . Lemma 2.18. Let 𝑍 ′ be a minimum cut in graph 𝐺′ in iteration 𝑇 . Construct a new 𝐺′′ by removing the source arcs and sink arcs in the min-cut 𝜅′ (𝑍 ′ ). Let 𝜅′′ (𝑍 ′ ) be the cut containing the arcs crossing from nodes in set 𝑍 ′ to 𝑍¯ ′ in graph 𝐺′′ . Then 𝜅′′ (𝑍 ′ ) is a min-cut in graph 𝐺′′ . Proof. Construct a flow 𝑥′′ in graph 𝐺′′ from the maximum flow 𝑥′ in graph 𝐺′ in the following way: 1) perform a flow decomposition on 𝑥′ , 2) remove all flows on paths consisting of the source arcs in 𝜅′ (𝑍 ′ ), and 3) remove all flows on paths consisting of the sink arcs in 𝜅′ (𝑍 ′ ). Because by the complementary slackness of the max-flow min-cut formulations, none of the paths obtained through the flow decomposition goes through two arcs in the min-cut, the amount of flow removed is the same as the capacity of the arcs removed. Let Δ𝑣 be the amount of flow removed, we have: ∑︁ 𝑥′𝑒 = ⇒ 𝑥′𝑒 − Δ𝑣 = ∑︁ 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ∩𝑋 ∑︁ 𝑢′𝑒 − (by the max-flow min-cut theorem) 𝑥′′𝑒 = ∑︁ ∑︁ 𝑒=(˜ 𝑠,𝑤)∈𝜅′ (𝑍 ′ ) 𝑒∈𝜅′ (𝑍 ′ ) 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ⇒ 𝑢′𝑒 𝑒∈𝜅′ (𝑍 ′ ) 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ∑︁ ∑︁ 𝑢′𝑒 − ∑︁ 𝑢′𝑒 𝑒=(𝑤,𝑡˜)∈𝜅′ (𝑍 ′ ) 𝑢′𝑒 𝑒∈𝜅′′ (𝑍 ′ ) (2.59) The last equality establishes that the value of flow 𝑥′′ is equal to the capacity of cut 94 𝜅′′ (𝑍 ′ ) in graph 𝐺′′ . Note that 𝑥′′ is a feasible flow in the new graph 𝐺′′ because all the capacity constraints are satisfied, and the inflow and outflow are balanced on all nodes except the super source and super sink. By the max-flow min-cut theorem, we conclude that 𝑥′′ is a maximum flow and 𝜅′′ (𝑍 ′ ) is a min-cut in graph 𝐺′′ . Lemma 2.19. If there exists a source arc that is not saturated by the maximum flow ∑︀ 𝑥 in iteration 𝑇 , there exists a set 𝑋 such that 𝑓0′ (𝑋, 𝑇 ) < 𝑤∈𝑋 𝐹𝑤 . Proof. Let 𝑍 ′ be a minimum cut in graph 𝐺′ corresponding to the maximum flow 𝑥′ in iteration 𝑇 . By the assumption that not all source arcs are saturated, we have: ∑︁ ∑︁ 𝑢′𝑒 = 𝑒∈𝜅′ (𝑍 ′ ) ∑︁ 𝑥′𝑒 < 𝑢′𝑒 = 𝐹𝑤 (2.60) 𝑤∈𝑆 + 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ∑︁ The first equality uses the max-flow min-cut theorem. Now consider the network 𝐺′′ constructed by removing the source arcs and sink arcs in the min-cut 𝜅′ (𝑍 ′ ) from graph 𝐺′ . We have: ∑︁ 𝑢′𝑒 = 𝑒∈𝜅′′ (𝑍 ′ ) ∑︁ 𝑒∈𝜅′ (𝑍 ′ ) < ∑︁ ∑︁ ∑︁ 𝐹𝑤 by (2.60) (2.61) 𝐹𝑤 𝑤∈𝑆 − ∩𝑍 ′ 𝑤∈𝑆 + ∩𝑍 ′ = ∑︁ 𝑤∈𝑆 − ∩𝑍 ′ ∑︁ 𝑢′𝑒 𝑒=(𝑤,𝑡˜)∈𝜅′ (𝑍 ′ ) 𝐹𝑤 + 𝑤∈𝑆 + ∖𝑍 ′ 𝐹𝑤 + ∑︁ 𝑢′𝑒 − 𝑒=(˜ 𝑠,𝑤)∈𝜅′ (𝑍 ′ ) 𝐹𝑤 − 𝑤∈𝑆 + = ∑︁ 𝑢′𝑒 − ∑︁ 𝐹𝑤 𝑤∈(𝑆 + ∪𝑆 − )∩𝑍 ′ Let 𝑋 be 𝑍 ′ ∩ (𝑆 + ∪ 𝑆 − ), we obtain: ∑︁ 𝑢′𝑒 < 𝑒∈𝜅′′ (𝑍 ′ ) ∑︁ 𝐹𝑤 (2.62) 𝑤∈𝑋 Since in Lemma 2.18 we proved that 𝜅′′ (𝑍 ′ ) is a min-cut in graph 𝐺′′ , which corresponds to the network structure of the min-cut formulation 𝑓0′ (𝑋, 𝑇 ) defined in 95 (2.57), we conclude that 𝑓0′ (𝑋, 𝑇 ) = ∑︀ 𝑤∈𝑋 𝐹𝑤 . ∑︀ 𝑒∈𝜅′′ (𝑍 ′ ) 𝑢′𝑒 . Therefore we have 𝑓0′ (𝑋, 𝑇 ) < Lemma 2.20. If there exists a source arc that is not saturated by the maximum flow 𝑥 in iteration 𝑇 , the quickest transshipment problem is not feasible in time 𝑇 . Proof. We proved in Lemma 2.19 that if there exists a source arc that is not saturated by the maximum flow 𝑥 in iteration 𝑇 , there exists a set 𝑋 such that 𝑓0′ (𝑋, 𝑇 ) < ∑︀ 𝑤∈𝑋 𝐹𝑤 . From the formulation for the quickest flow problem (2.55), we can see ∑︀ that if 𝑓0′ (𝑋, 𝑇 ) is strictly less than 𝑤∈𝑋 𝐹𝑤 , the constraints are not all satisfied, and 𝑋 is a violating set. Lemma 2.20 implies that if there exists a source arc that is not saturated by the maximum flow 𝑥, time 𝑇 must be a lower bound of the optimal time 𝑇 * . Theorem 2.14. When Algorithm 2.8 terminates, if a flow 𝑥 and time 𝑇 is returned, then we have: 𝑇 * ≤ 𝑇 ≤ 𝑇 * + 𝜖, where 𝑇 * is the optimal time for the quickest transshipment problem. Moreover, a temporally-repeated flow of 𝑥 is a feasible dynamic flow that sends all supplies to meet demands within time 𝑇 . Proof. When the algorithm terminates, the gap between 𝑇min and 𝑇max is less than 𝜖. From Lemma 2.20 and Lemma 2.17, we know that the optimal solution 𝑇 * is between 𝑇min and 𝑇max . It implies that the gap between 𝑇 * and 𝑇max is also less than 𝜖. Since 𝑇max is returned as output 𝑇 at the end of the algorithm, mathematically, we have 𝑇 * ≤ 𝑇 ≤ 𝑇 * + 𝜖. Also, a temporally-repeated flow of 𝑥 is a feasible dynamic flow corresponding to time 𝑇 , as proved in Lemma 2.17. We next show that if the flow 𝑥 is not set in Algorithm 2.8, the quickest transshipment problem is infeasible. Again, before proving the result, we illustrate our arguments through an example shown in Figure 2-5. Note that the difference between the example in Figure 2-5 and the example in Figure 2-4 is that the supplies at node 𝐴 and node 𝐵 are switched, so are the demands at node 𝐶 and node 𝐷. Consider the set 𝑋 = {𝐵, 𝐷} in Figure 2-5. This set has an extra supply of 𝐹𝐵 + 𝐹𝐷 = 15 units. Thus, we need to send 15 units of flow from this set to meet the 96 𝑠˜ 𝐹𝐴 = 5 5 𝐹𝐵 = 20 𝐴 𝐵 1 5 𝐴 5 𝐶 𝐵 6 30 ⇒ 𝐷 𝐹𝐶 = −20 20 𝐶 𝐹𝐷 = −5 30 𝐷 20 5 𝑡˜ 𝑇 =6 Figure 2-5: An infeasible quickest transshipment problem: Other than satisfying the 5 units of demand at node 𝐷, node 𝐵 needs to send the remaining 15 units of supply to node 𝐶. However, this is impossible because there is no path from node 𝐵 to node 𝐷. Correspondingly, the min-cut is {(˜ 𝑠, 𝐴), (𝐷, 𝑡˜)}, containing no arc in the original network 𝐺. demands outside this set. In the network, it means to sent 15 units of supply from node 𝐵 to node 𝐶. This is impossible, however, because there is no path between node 𝐵 and node 𝐶. Therefore the quickest transshipment does not have any feasible solution. In the corresponding maximum flow problem, we can see that the min-cut only consists of the source arcs and sink arcs. Because the definition of 𝑓0′ (𝑋, 𝑇 ) only involves the arcs in the original network, we have 𝑓0′ (𝑋, 𝑇 ) = 0 for any time 𝑇 . As ∑︀ a result, we always have 𝑓0′ (𝑋, 𝑇 ) < 𝑤∈𝑋 𝐹𝑤 no matter what 𝑇 is. Therefore the quickest transshipment flow problem is infeasible. Now we formally prove that if flow 𝑥 is not set in Algorithm 2.8, we find a set 𝑋 such that 𝑓0′ (𝑋, 𝑇 ) = 0 for any 𝑇 . Lemma 2.21. If no 𝑥 is set when the loop in Algorithm 2.8 terminates, there exists a set 𝑋 such that 𝑓0′ (𝑋, 𝑇 ) = 0 for any 𝑇 . Proof. The assumption that 𝑥 is not set during the whole procedure implies that 𝑇max (︀∑︀ )︀ is never changed and is still equal to 𝑤∈𝑆 + 𝐹𝑤 / (min𝑒∈𝐸 𝑢𝑒 ) + 𝜖. Since the gap between 𝑇min and 𝑇max is no greater than 𝜖 when the loop ends, we have ∑︀ 𝑇min > 𝑇max − 𝜖 = 97 𝐹𝑤 min𝑒∈𝐸 𝑢𝑒 𝑤∈𝑆 + (2.63) Let 𝑥′ be the maximum flow obtained in iteration 𝑇min . Let 𝑍 ′ be a corresponding minimum cut. By the max-flow min-cut theorem, we have: ∑︁ 𝑢′𝑒 = 𝑒∈𝜅′ (𝑍 ′ ) ∑︁ 𝑥′𝑒 ≤ 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ∑︁ 𝑢′𝑒 = 𝑒=(˜ 𝑠,𝑤),∀𝑤∈𝑆 + ∑︁ 𝐹𝑤 (2.64) 𝑤∈𝑆 + If the min-cut 𝜅′ (𝑍 ′ ) contains an arc 𝑒^ in the original network 𝐺, using (2.63), we have: ∑︁ 𝑢′𝑒 ≥ 𝑢′𝑒^ = 𝑇min · 𝑢𝑒^ ≥ 𝑇min · min 𝑢𝑒 > 𝑒∈𝐸 𝑒∈𝜅′ (𝑍 ′ ) ∑︁ 𝐹𝑤 (2.65) 𝑤∈𝑆 + The result in inequality (2.65) is inconsistent with the inequality (2.64). It implies that the assumption that the min-cut 𝜅′ (𝑍 ′ ) contains an arc 𝑒^ in the original network is invalid. Hence, no arc in the original network is in the min-cut 𝜅′ (𝑍 ′ ). Recall that we construct the network 𝐺′′ by removing all the source arcs and sink arcs in 𝜅′ (𝑍 ′ ). Therefore the cut 𝜅′′ (𝑍 ′ ) in network 𝐺′′ is 0, and must be a min-cut. Consequently, if we let 𝑋 := 𝑍 ′ ∩ (𝑆 + ∪ 𝑆 − ), we have 𝑓0′ (𝑋, 𝑇 ) = 0 for any time 𝑇 . Theorem 2.15. If no 𝑥 is set when the loop in Algorithm 2.8 ends, the quickest transshipment problem is infeasible. Proof. In Lemma 2.21, we showed that if we let 𝑋 be 𝑍 ′ ∩ (𝑆 + ∪ 𝑆 − ), we have 𝑓0′ (𝑋, 𝑇 ) = 0 for any time 𝑇 . Also, because the quickest transshipment problem is ∑︀ ∑︀ infeasible in time 𝑇min , we have 𝑓0′ (𝑋, 𝑇min ) < 𝑤∈𝑍 ′ 𝐹𝑤 = 𝑤∈𝑋 𝐹𝑤 . It means that ∑︀ ∑︀ ′ 𝑤∈𝑋 𝐹𝑤 > 0. Thus, for any time 𝑇 , we have 𝑓0 (𝑋, 𝑇 ) < 𝑤∈𝑋 𝐹𝑤 . This implies the constraints defined in the quickest transshipment problem cannot be all satisfied, and set 𝑋 is a violating set for any time 𝑇 . Hence, the quickest transshipment problem is infeasible. Theorem 2.14 and Theorem 2.15 establish the correctness and 𝜖-optimality of the binary search Algorithm 2.8. We next analyze the time complexity of the algorithm. If we define 𝑈 as max𝑒∈𝐸 𝑢𝑒 / min𝑒∈𝐸 𝑢𝑒 , which is the input precision of the arc ∑︀ capacities, it is easy to see that there are at most log (𝑈 · 𝑤∈𝑆 + 𝐹𝑤 /𝜖) iterations of the loop. Because we run a maximum flow algorithm in each iteration, the overall 98 𝑠˜ 𝐹𝐴 = 20 20 𝐹𝐵 = 5 𝐴 𝐵 1 5 𝐶 𝐴 5 ⇒ 𝐷 𝐹𝐶 = −5 5 𝐵 𝑇 5𝑇 𝐶 𝐹𝐷 = −20 5𝑇 𝐷 5 20 𝑡˜ Figure 2-6: Modify the original network to run Megiddo’s parametric search. time complexity is log (𝑈 · ∑︀ 𝑤∈𝑆 + 𝐹𝑤 /𝜖) · MF(𝑛, 𝑚), where MF(𝑛, 𝑚) is the running time of any maximum flow algorithm of choice. Note that Algorithm 2.8 not only returns the optimal time 𝑇 * within precision 𝜖, but also provides a static flow 𝑥* whose temporally-repeated form is a feasible dynamic flow to the quickest transshipment problem in time 𝑇 * . This is an important difference from Hoppe and Tardos’s algorithm for the quickest transshipment problem in general networks. Their algorithm needs extra steps to find an optimal dynamic flow after obtaining the optimal time 𝑇 * . To obtain an optimal solution instead of an 𝜖-optimal solution, and to make the algorithm run in strongly polynomial time, we can apply Megiddo’s parametric search [60]. We briefly describe the application of the parametric search to our problem here. First, we still modify the original network by adding a super source and a super sink. We connect the super source to all source nodes and set their arc capacities to their supplies. Similarly, we connect all sink nodes to the super sink and set arc capacities to their demands. For each arc 𝑒 in the original network, we set its capacity symbolically to 𝑇 · 𝑢𝑒 . Figure 2-6 shows an example. For any strongly-polynomial maximum flow algorithm, we start by running the algorithm symbolically. For example, we can send 5𝑇 units of flow through an arc. This will not chance the number of addition, subtraction, and multiplication opera99 tions in the algorithm. The key difference is how we do comparisons. For example, when we need to determine whether 10 units of flow can saturate an arc with capacity 5𝑇 , we solve a maximum flow problem non-symbolically by setting the parameter to the boundary value. In our example, the boundary value is 𝑇 = 2, because if 𝑇 > 2, 10 units of flow can not saturate the arc, otherwise the arc can be saturated. So if we solve the maximum flow problem with 𝑇 = 2 non-symbolically and find that the quickest transshipment problem is feasible with 𝑇 = 2 (all source arcs are saturated), we know that 𝑇 ≤ 2 and the arc can be saturated. We continue this process until the symbolic max-flow algorithm terminates. At this stage, if all source arcs are saturated, we obtain a feasible flow from all source nodes to all sink nodes, and the corresponding optimal time 𝑇 . On the other hand, if there exists a source arc that is not saturated when it terminates, the quickest transshipment problem is infeasible. In general, if a maximum flow algorithm runs in 𝑂(𝑇 ) time, Megiddo’s parametric search runs in 𝑂(𝑇 2 ) time. Note that the parametric search requires a stronglypolynomial algorithm for solving the maximum flow problem. Orlin [69] introduced the fastest strongly-polynomial algorithm so far, which runs in 𝑂(𝑛𝑚) time. Therefore the quickest transshipment problem with zero arc costs can be solved in 𝑂(𝑛2 𝑚2 ) time. There are many other more efficient max-flow algorithms for special networks. For example, Borradaile et al. [16] introduced an algorithm for solving the maximum flow problem in a planar graph in 𝑂(𝑛 log3 𝑛) time. Therefore for a planar graph, the quickest transshipment problem with zero arc costs can be solved in 𝑂(𝑛2 log6 𝑛) time. Eisenstat and Klein [27] introduced an 𝑂(𝑛) max-flow algorithm for networks with unit capacities. For this special kind of networks, the quickest transshipment problem with zero arc costs can be solved in 𝑂(𝑛2 ) time. In this part, we studied the quickest transshipment problem with zero arc costs. We showed that we can solve a maximum blocking cut problem to test the feasibility of the quickest transshipment problem in time 𝑇 . We then introduced a straightforward binary search algorithm that returns a solution with 𝜖 precision in ∑︀ log (𝑈 · 𝑤∈𝑉 |𝐹𝑤 |/𝜖)·MF(𝑛, 𝑚) time, where 𝑈 is the precision of the arc capacities as an input, and MF(𝑛, 𝑚) is the running time of any maximum flow algorithm of choice. 100 We further showed how to solve the problem using Megiddo’s parametric search in 𝑂(𝑛2 𝑚2 ) time. In addition, for any strongly-polynomial algorithm that finds maximum flows in networks with special structures or properties, if the algorithm runs in time 𝑂(𝑇 ), the quickest transshipment problem with zero arc costs can be solved in 𝑂(𝑇 2 ) time. Networks with Uniform Path Lengths In this part, we extend our results for the quickest transshipment problem with zero arc costs into the the quickest transshipment problem with uniform path lengths. We will show that with minor modifications, the algorithms used to solve the quickest transshipment problem with zero arc costs can be directly applied to solving the quickest transshipment problem with uniform path lengths. Recall that a network with uniform path lengths is a network in which the length of any path between any pair of source and sink node are the same. We call this length the uniform path length. Note that a network with zero arc costs is a special network with uniform path lengths, since the length of any path between any pair of source and sink node is 0. Assume the uniform path length in a network is 𝐶. For any set 𝑋 ⊂ 𝑆 + ∪ 𝑆 − , the second term of the objective function of 𝑓 (𝑋, 𝑇 ) defined in formulation (2.55) can ∑︀ ∑︀ be simplified to: 𝜏 · 𝑥 = 𝐶 · 𝑒 𝑒 𝑒∈𝐸 𝑤∈𝑆 + ∩𝑋 𝑣𝑤 . The overall objective function can ∑︀ be then written as: max (𝑇 − 𝐶) · 𝑣∈𝑆 + ∩𝑋 𝑣𝑤 . The complete formulation for the quickest transshipment problem in a network with uniform path lengths is: 𝑓𝑈 (𝑋, 𝑇 ) := max (𝑇 − 𝐶) · ∑︁ 𝑣𝑤 𝑣∈𝑆 + ∩𝑋 s.t. ⎧ ⎪ ⎪ ⎪ 𝑣𝑤 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 − 𝑥𝑒 = −𝑣𝑤 ⎪ ⎪ + − ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢 𝑒 𝑣𝑤 ≥ 0 ∀𝑤 ∈ 𝑆 + ∩ 𝑋 ¯ ∀𝑤 ∈ 𝑆 − ∩ 𝑋 otherwise ∀𝑒 ∈ 𝐸 ¯ ∀𝑤 ∈ (𝑆 + ∩ 𝑋) ∪ (𝑆 − ∩ 𝑋) 101 (2.66) Note that this formulation is almost identical to the formulation of 𝑓0 (𝑋, 𝑇 ) defined in (2.56), except the first term of the product in the objective function of 𝑓𝑈 (𝑋, 𝑇 ) is (𝑇 − 𝐶), while the one in 𝑓0 (𝑋, 𝑇 ) is simply 𝑇 . This observation gives rise to a straightforward extension from the algorithms for the quickest transshipment problem with zero arc costs: Given a network 𝐺 with uniform path length, first solve a quickest transshipment problem with zero arc costs by ignoring all the arc costs in 𝐺. If we obtain an optimal time 𝑇 * and an optimal flow 𝑥* from the quickest transshipment problem with zero arc costs, the optimal time for the quickest transshipment problem in network 𝐺 is 𝑇 * +𝐶, and a temporally-repeated flow of 𝑥* is an optimal solution. If there is no feasible solution in the network with zero arc costs, there is also no feasible solution for the network with uniform path lengths. The reason is that the argument in the proof of Lemma 2.15 does not involve any arc costs, and still applies to networks with uniform path lengths. As a direct corollary, the quickest transshipment problem in a network with uniform path lengths can be solved in 𝑂(𝑛2 𝑚2 ) time. Approximation Algorithm for the Quickest Transshipment Problem In this part, we use a similar approach to approximate the optimal time and flow of the quickest transshipment problem in general networks. The approximation scheme works as follows: With any general network 𝐺, ignore all arc costs, and solve the quickest transshipment problem with zero arc costs. If we obtain an optimal time 𝑇0* and an optimal flow 𝑥* , the temporally-repeated flow of 𝑥* is still a feasible flow in the original network 𝐺. Perform a flow decomposition of 𝑥* to obtain a set of paths 𝑃 and the corresponding path flows 𝑥(𝑝), ∀𝑝 ∈ 𝑃 . ∑︀ Let 𝜏max be the maximum cost of all paths, i.e., 𝜏max := max𝑝∈𝑃 { 𝑒∈𝑝 𝜏𝑒 }, then the demands can be satisfied by the supplies in time 𝑇0* + 𝜏max . As we will show later in this part, the optimal time for the quickest transshipment problem in 𝐺 is at least 𝑇0* + 𝜏min , where 𝜏min is the length of the shortest path between any pair of source and sink nodes. Therefore the absolute error of the approximation is upper bounded 102 by 𝜏max − 𝜏min . The ratio between this solution and the optimal time is at most 1 + (𝜏max − 𝜏min )/(𝑇0* + 𝜏min ). On the other hand, if the quickest transshipment with zero arc costs is infeasible, the problem in the original network 𝐺 is also infeasible. This result is intuitive. Recall that for any feasible flow 𝑥* , to obtain a temporallyrepeated flow of 𝑥* , we perform a flow decomposition to obtain a set of paths 𝑃 , with corresponding flow 𝑥(𝑝), ∀𝑝 ∈ 𝑃 . We then send the flow on path 𝑝 in constant rate ∑︀ 𝑥(𝑝). Define 𝜏 (𝑝) as the cost of path 𝑝 ∈ 𝑃 , i.e., 𝜏 (𝑝) := 𝑒∈𝑝 𝜏𝑒 , then for any path 𝑝, it takes 𝜏 (𝑝) time for the first unit of flow to arrive at the sink. We then subsequently send the flow at a constant rate 𝑥(𝑝) for 𝑇0* time. All flow will arrive at the sink at time 𝑇0* + 𝜏 (𝑝). Therefore, the maximum time needed is 𝑇0* + max𝑝∈𝑃 𝜏 (𝑝). On the other hand, since 𝑇0* is the optimal time without arc costs, the minimum time needed would be at least 𝑇0* + 𝜏min , where 𝜏min is the cost of the shortest path between any pair of source and sink nodes. This approximation scheme essentially breaks the problem down into two parts: the free-flow time, or path costs, 𝜏 (𝑝), and the congestion time 𝑇0* . It ignores the free-flow time, and solves the problem by minimizing the congestion time. It finds a minimum congestion time 𝑇0* , and provides a feasible dynamic flow corresponding to time 𝑇0* . The overall transshipment time of this solution is then bounded by the time 𝑇0* plus the longest free-flow time on the paths that are used. From the approximation ratio 1 + (𝜏max − 𝜏min )/(𝑇 * + 𝜏min ), we can see that if the congestion time 𝑇0* is much greater than the free-flow time, we will obtain a high-quality solution. On the other hand, if the free-flow time is the major cost, and the lengths of paths between source and sink nodes vary by a great amount, there is no good guarantee of solution’s quality. In sum, this approximation scheme is more suitable for networks with potentially heavy congestion. A major benefit of this approximation scheme is that we have an algorithm running in 𝑂(𝑛2 𝑚2 ) time and we obtain a feasible dynamic flow. For a planar graph, we can obtain a feasible flow in 𝑂(𝑛2 log6 𝑛) time, and for a network with unit arc capacities, we can obtain a feasible flow in 𝑂(𝑛2 ) time. These time complexities are much better than the time bound of the strongly-polynomial algorithms introduced by Hoppe and 103 Tardos [49], which all run in at least 𝑂(𝑛5 𝑚2 ) time. Also, because our algorithms use max-flow algorithms as subroutines, and are purely combinatorial (do not require to solve minimization of submodular functions), they are likely to be more practical. The downside is that the quality of the solution might be inferior if the free-flow time on different paths vary by large amount and is the dominant component in the transshipment time. In order to prove that the optimal time for the quickest transshipment problem in a general network 𝐺 is at least 𝑇0* + 𝜏min , we recall that the definition of 𝑓 (𝑋, 𝑇 ) is: 𝑓 (𝑋, 𝑇 ) := max 𝑇 · ∑︁ 𝑣𝑤 − 𝑣∈𝑆 + ∩𝑋 s.t. ∑︁ 𝜏𝑒 · 𝑥 𝑒 𝑒∈𝐸 ⎧ ⎪ ⎪ ⎪ 𝑣𝑤 ⎪ ⎪ ⎨ ∑︁ ∑︁ 𝑥𝑒 = −𝑣𝑤 𝑥𝑒 − ⎪ ⎪ − + ⎪ 𝑒∈𝛿𝑤 𝑒∈𝛿𝑤 ⎪ ⎪ ⎩0 0 ≤ 𝑥𝑒 ≤ 𝑢 𝑒 𝑣𝑤 ≥ 0 ∀𝑤 ∈ 𝑆 + ∩ 𝑋 ¯ ∀𝑤 ∈ 𝑆 − ∩ 𝑋 otherwise ∀𝑒 ∈ 𝐸 ¯ ∀𝑤 ∈ (𝑆 + ∩ 𝑋) ∪ (𝑆 − ∩ 𝑋) For any flow decomposition with path set 𝑃 and flow 𝑥(𝑝), ∀𝑝 ∈ 𝑃 , we have: ∑︁ 𝑒∈𝐸 𝜏 𝑒 · 𝑥𝑒 = ∑︁ 𝑝∈𝑃 𝑥(𝑝) · ∑︁ 𝑒∈𝑝 𝜏𝑒 ≥ ∑︁ 𝑥(𝑝) · 𝜏min = 𝜏min · 𝑝∈𝑃 ∑︁ 𝑣𝑤 (2.67) 𝑣∈𝑆 + ∩𝑋 Substituting the second term in the objective function of 𝑓 (𝑋, 𝑇 ) by 𝜏min · ∑︀ 𝑣∈𝑆 + ∩𝑋 𝑣𝑤 , and use the definition of 𝑓0 (𝑋, 𝑇 ) and 𝑓0′ (𝑋, 𝑇 ) in (2.56) and (2.57) respectively, we have: 𝑓 (𝑋, 𝑇 ) ≤ 𝑓0 (𝑋, 𝑇 − 𝜏min ) = 𝑓0′ (𝑋, 𝑇 − 𝜏min ) ∀𝑋 ⊂ 𝑆 + ∪ 𝑆 − (2.68) Consequently, if we let 𝑇 * be the optimal time for the quickest transshipment problem in the original network, and let 𝑇0* be the optimal time in the network with zero arc ∑︀ costs, by formulation (2.55), we must have 𝑓 (𝑋, 𝑇 * ) ≥ 𝑤∈𝑋 𝐹𝑤 , ∀𝑋 ⊂ 𝑆 + ∪ 𝑆 − . 104 Combining with the inequality (2.68), we have 𝑓0 (𝑋, 𝑇 * − 𝜏min ) ≥ ∑︀ 𝑤∈𝑋 𝐹𝑤 , ∀𝑋 ⊂ 𝑆 + ∪ 𝑆 − . It means that the quickest transshipment problem with zero arc costs is feasible in time 𝑇 * − 𝜏min . Hence, 𝑇0* ≤ 𝑇 * − 𝜏min , which implies that 𝑇 * is at least 𝑇0* + 𝜏min . For the infeasibility result, the argument is similar to the one used for the quickest transshipment problem with uniform path lengths. Since the proof of Lemma 2.15 did not involve any arc costs, it still applies to the general networks. In this subsection, we first introduced a mathematical model for the quickest transshipment problem. Using this model, we first studied the quickest transshipment problem in networks with zero arc costs. We showed that we can test the feasibility of the problem in time 𝑇 by solving a maximum blocking cut problem, which can be converted into a maximum flow problem. We introduced a binary search algorithm ∑︀ that runs in 𝑂(log (𝑈 · 𝑤∈𝑉 |𝐹𝑤 |/𝜖) · MF(𝑛, 𝑚)) time, where 𝑈 is the precision of the arc capacities as an input, and MF(𝑛, 𝑚) is the running of of any maximum flow algorithm of choice. We further showed that the problem can be solved in 𝑂(𝑛2 𝑚2 ) time by using Megiddo’s parametric search and Orlin’s 𝑂(𝑛𝑚) max-flow algorithm. We extended these algorithms for solving the quickest transshipment problem in networks with uniform path lengths. Moreover, we showed that these algorithms can also be used to approximate the optimal solution of the quickest transshipment problem in general networks. The solution is guaranteed to be close to the optimal solution if the congestion time plays a major role, or the costs of paths between various pairs of source and sink nodes do not vary too much. In addition, the approximate solutions can be obtained more efficiently if the network has special structures, such as being a planar graph or having unit arc capacities. This can be easily done by applying existing algorithms for these special networks with Megiddo’s parametric search. There are two interesting future research directions regarding the quickest transshipment problem. The first is to study if the separation of congestion time and freeflow time can lead to better approximation schemes. In our algorithms, we essentially 105 solve the problem by ignoring all the arc costs. It is interesting to see if one can take the arc costs into consideration in the algorithms. For example, we can penalize the arcs with high costs by reducing their capacities when the congestion is not too heavy. A second direction is to try to incorporate the cost-scaling technique that is proven to be effective for solving the quickest flow problem. As pointed out by Hoppe and Tardos [49], the quickest transshipment problem is essentially a parametric min-cost flow problem, except with a more complex underlying problem structure than the quickest flow problem. Since the cost-scaling framework exhibits great properties for parametric extensions, it is interesting to examine whether the framework leads to more efficient combinatorial algorithms for the quickest transshipment problem. 2.3 Equilibrium in Dynamic Networks In this section, we discuss equilibrium in dynamic networks. Nash equilibria in static networks are widely studied because of their nice mathematical properties. In dynamic networks, however, there are still many ongoing researches and open problems because of the complexity of the models. In this section, we first introduce a discrete dynamic network congestion game in Subsection 2.3.1. Our model uses the travel time function defined by Anshelevich and Ukkusuri [5] and added an extra assumption that no two players arrive at a node at the same time. Using this model, we then study the existence of equilibrium in Subsection 2.3.2. We show that in a discrete dynamic network congestion game where all players have either the same origin or the same destination, there exists an equilibrium. This equilibrium can also be computed efficiently. In Subsection 2.3.3, we show that the best-response dynamics converge to an equilibrium in 𝑂(𝑁 2 ) time on average, despite the exponential convergence speed in the worst case. Finally, we reveal the relationship between discrete dynamic congestion games and continuous dynamic congestion games in Subsection 2.3.4. In that subsection, we prove that if we discretize continuous incoming flow at the origin node finer and finer, there exists a sequence of equilibrium in discrete dynamic congestion games that converges to an 106 equilibrium in a continuous dynamic congestion game. 2.3.1 A Discrete Dynamic Network Congestion Game Model Wardrop [94] and Beckmann et al. [9] first introduced the static network congestion game model with continuous flow. They showed that an equilibrium always exists, and characterized properties of the equilibrium. This model has been widely used to formulate transportation networks. Rosenthal [79] introduced a discrete version of the congestion game from the game theoretic point of view. In this model, network flow is assumed to be discrete. That is, each “player” of the game controls a certain amount of flow. The total flow on an arc depends on the number of players using the arc. Therefore the flow on an arc can only take finite number of different values. The model introduced by Wardrop is called a continuous model, or non-atomic model, and Rosenthal’s model is called discrete model or atomic model. Both models assume that the travel time on an arc depends only on the amount of flow using that arc. This is a very restricted assumption in many networks with congestions. For example, in transportation networks, a driver’s travel time on a road often depends on the amount of traffic at the time he/she enters that arc. The important component that is missing in the static model is time. A dynamic network that takes into consideration the time factor is therefore more realistic and is a more suitable model for network congestion games. In this section, we introduce a new discrete model that takes the time factor into account. We use the setting introduced by Rosenthal [79]. Assume we have a set of players 𝐼. Each player 𝑖 ∈ 𝐼 controls a fixed amount of flow. Without loss of generality, we assume this amount to be 1. Each player can choose a path to travel from his/her origin to destination. His/her objective is to minimize the travel time. We have the following assumptions: 1. First In First Out (FIFO) principle: The player who enters an arc first will come out of the arc first. That is, no overtaking. 2. The travel time of a player on an arc depends only on the history of the flow 107 on the arc when he/she enters the arc (independent from the future traffic). 3. No two players arrive at the same node at exactly the same time (there is always a sequence). There is indeed an implicit assumption that is behind the first two assumptions: the players are homogeneous. This is an assumption that is also implied in the classical network congestion game model, since there is only one travel time function associated with each arc. We focus on the homogeneous model in this thesis, and discuss the possible extensions in the summary section. Since all players are homogeneous, there can be no overtaking and thus the FIFO principle stands. Also, since there is no overtaking, the assumption that players are only affected by the players ahead of them is reasonable. For the travel time on an arc, we adopt the definition by Anshelevich and Ukkusuri [5]. The travel time on an arc 𝑒 = (𝑤, 𝑤′ ) is defined as: 𝜏𝑒 (𝐻𝑒 (𝑡𝑤 )). 𝑡𝑤 denotes the arrival time at node 𝑤. 𝐻𝑒 (𝑡𝑤 ) denotes the complete history of the traffic on arc 𝑒. 𝜏𝑒 (·) is a travel time function of the flow history of arc 𝑒. Note that this definition of travel time function matches the second assumption above. On the other hand, for the FIFO principle to hold, we need the following constraint on the function 𝜏𝑒 (𝐻𝑒 (𝑡)): 𝑡1 + 𝜏𝑒 (𝐻𝑒 (𝑡1 )) < 𝑡2 + 𝜏𝑒 (𝐻𝑒 (𝑡2 )), ∀ 𝑡1 < 𝑡2 (2.69) Note that this definition is different from the definition for the optimization problems in dynamic networks. The travel time now becomes a function, and we do not limit the capacity of an arc (number of players who can use an arc at the same time). The definition of travel time functions contains a large family of functions and is very flexible because it could depend on the whole traffic history of the arc. For example, a possible function in a road network is that the travel time depends on the number of cars on the first half segment of the road when a driver arrives, or it could be a function of the travel time of the car that arrives right before the driver. Formally, we have the following network congestion game: (ℐ, 𝑆𝑖 , 𝑢𝑖 ). ℐ is the set of players. Let 𝑁 := |ℐ| be the number of players. Strategy set 𝑆𝑖 consists of all 108 valid paths linking player 𝑖’th origin (source node) 𝑂𝑖 and destination (sink node) 𝐷𝑖 . Let 𝑃 = [𝑝1 𝑝2 · · · 𝑝𝑁 ] be the path choices of all players, where 𝑝𝑖 ∈ 𝑆𝑖 is the path choice of the 𝑖’th player. 𝑢𝑖 (𝑃 ) is the travel time of the 𝑖’th player given 𝑃 is chosen by all players. We also use notation 𝑢𝑖 (𝑝𝑖 , 𝑃−𝑖 ) to indicate the travel time of the 𝑖’th player given that the 𝑖’th player chooses path 𝑝𝑖 and other players choose paths 𝑃−𝑖 . This is a standard notation in game theory (see Myerson [65] for example). Each player’s goal is to minimize his/her individual travel time. Note that this definition is almost identical to the definition of network congestion games in static networks. The only difference is the way we define the travel time on arcs. We call this new model discrete dynamic congestion game. 2.3.2 Existence and Computation of Equilibrium in Dynamic Network Congestion Games Using the discrete dynamic congestion game model introduced in Subsection 2.3.1, we discuss the existence and computation of equilibrium in this subsection. We first use a constructive approach to show the existence of an equilibrium and the computation of such an equilibrium in a network with a single origin and a single destination. We then use a similar approach to show the existence of equilibrium in a network with a single origin and multiple destinations and a network with multiple origins and a single destination. Finally, we provide an example that shows there does not always exist an equilibrium in a network with multiple origins and multiple destinations. For an equilibrium in dynamic networks, we use a similar definition of Nash equilibrium in static networks. Formally, we call 𝑃 = [𝑝1 𝑝2 · · · 𝑝𝑁 ] an equilibrium if and only if for every player 𝑖 ∈ 𝐼, 𝑢𝑖 (𝑝𝑖 , 𝑃−𝑖 ) ≤ 𝑢𝑖 (𝑞, 𝑃−𝑖 ), ∀𝑞 ∈ 𝑆𝑖 (2.70) Essentially, condition (2.70) requires that no player has incentive to unilaterally deviate from his/her path choice in an equilibrium. In other words, each player has chosen a fastest path given all other players’ choices. 109 Single Origin Single Destination Recall that in our model, we allow each player to have his/her own origin and destination. In this part, we consider the special case where all players have the same origin node 𝑂 and the same destination node 𝐷. Because all players start from the same origin 𝑂, for each player, there is an arrival time 𝑡𝑖 (𝑂) at node 𝑂. Assume that we order and index the players according to the time they start from node 𝑂, that is, 𝑡1 (𝑂) < 𝑡2 (𝑂) < · · · < 𝑡𝑁 (𝑂). Recall that in our model, we assumed that no two players arrive at the same node at exactly the same time. Thus, this ordering is unique. Intuitively, due to the FIFO principle, player 𝑖 can arrive at any node earlier than any player 𝑗 > 𝑖 by simply duplicating player 𝑗’s path choice. Thus, if we let player 1 pick her path first, he/she will simply choose the fastest path without the need to consider other players’ path choices. We will prove that after player 1 chooses his/her path, other players will not be able to travel on any arc before him/her. Thus, by the assumption that a player’s travel time depends only on the history but not the future of the traffic on the arc, player 1’s travel time will not be affected in the future. Therefore player 1 will not change his/her path choice afterwards. Next, if we let player 2 choose the path after player 1, we can apply a similar argument to show that player 2 will not change the path choice after he/she chooses the fastest path given player 1’s choice. This process goes on and each player only needs to choose a path once. We formalize the argument through a series of lemmas and a theorem: Lemma 2.22. Let 𝑡𝑖 (𝑤) be the earliest time that player 𝑖 can arrive at a node 𝑤. If player 𝑖 and player 𝑗 take the same path 𝑝 from node 𝑤 to node 𝑤′ , then 𝑡𝑖 (𝑤′ ) < 𝑡𝑗 (𝑤′ ) if 𝑡𝑖 (𝑤) < 𝑡𝑗 (𝑤). Proof. Assume that path 𝑝 is 𝑤 = 𝑤1 → 𝑤2 → · · · → 𝑤𝑙 = 𝑤′ . Then by the FIFO principle, if 𝑡𝑖 (𝑤𝑘 ) < 𝑡𝑗 (𝑤𝑘 ), we have: 𝑡𝑖 (𝑤𝑘+1 ) = 𝑡𝑖 (𝑤𝑘 ) + 𝜏𝑒 (𝐻𝑒 (𝑡𝑖 (𝑤𝑘 ))) < 𝑡𝑗 (𝑤𝑘 ) + 𝜏𝑒 (𝐻𝑒 (𝑡𝑗 (𝑤𝑘 ))) = 𝑡𝑗 (𝑤𝑘+1 ) 110 (2.71) By induction, we have 𝑡𝑖 (𝑤′ ) < 𝑡𝑗 (𝑤′ ) given 𝑡𝑖 (𝑤) < 𝑡𝑗 (𝑤). Lemma 2.23. Assume 𝑖 < 𝑗, and player 𝑖 and 𝑗 have the same origin and same destination. If player 𝑖 chooses the fastest path 𝑝, player 𝑗 cannot arrive at any node 𝑤 on path 𝑝 earlier than player 𝑖. Proof. Prove by contradiction. Assume that 𝑝 is the fastest path for player 𝑖, and there exists a node 𝑤 on path 𝑝 such that player 𝑗 arrives at 𝑤 before player 𝑖. Assume path 𝑝 is 𝑂 → 𝑝1 → 𝑤 → 𝑝2 → 𝐷, where 𝑝1 is the path between origin 𝑂 and node 𝑤, and 𝑝2 is the path between node 𝑤 and destination 𝐷. Further assume the path that player 𝑗 takes is 𝑂 → 𝑞1 → 𝑤 → 𝑞2 → 𝐷, where 𝑞1 is the path between origin 𝑂 and node 𝑤, and 𝑞2 is the path between node 𝑤 and destination 𝐷. Consider a new path 𝑝′ : 𝑂 → 𝑞1 → 𝑤 → 𝑝2 → 𝐷 for player 𝑖. Because 𝑖 < 𝑗, we have 𝑡𝑖 (𝑂) < 𝑡𝑗 (𝑂). From Lemma 2.22, we know that by taking the partial path 𝑞1 , player 𝑖’s new arrival time 𝑡′𝑖 (𝑤) at node 𝑤 is earlier than player 𝑗’s. Mathematically, we have 𝑡′𝑖 (𝑤) < 𝑡𝑗 (𝑤) < 𝑡𝑖 (𝑤). Thus, we have 𝑡′𝑖 (𝐷) < 𝑡𝑖 (𝐷) since the rest of the path for player 𝑖 is the same partial path 𝑝2 . It means that player 𝑖’s arrival time at the destination node 𝐷 is earlier than 𝑡𝑖 (𝐷), contradicting the assumption that 𝑝 is the fastest path for player 𝑖. Lemma 2.24. Assume 𝑖 < 𝑗, and player 𝑖 and 𝑗 have the same origin and same destination. If player 𝑖 always chooses the fastest path, then no matter what player 𝑗’s path choice is, player 𝑖 will not change his/her path choice. Proof. By Lemma 2.23, if player 𝑖 always chooses the fastest path 𝑝, no other player can arrive at any node on path 𝑝 earlier than player 𝑖. Since the travel time function 𝜏𝑒 (𝐻𝑒 (𝑡)) depends only on the traffic history on arc 𝑒, the choice of path of any other player will not affect the travel time of player 𝑖 on any arc. Therefore player 𝑖’s path choice is final. Theorem 2.16. Assume that all players have the same origin and same destination. Order and index the players according to their arrival time at the origin 𝑂. In the same order, choose the fastest path for each player 𝑖 based on the path choices of players 1 to 𝑖 − 1. The resulting path choices 𝑃 is an equilibrium. 111 Proof. By Lemma 2.24, if each player 𝑖 chooses the fastest path based on the path choices of players 1 to 𝑖 − 1, he/she will not change the path choice when player 𝑗 chooses his/her path if 𝑗 > 𝑖. Therefore, if each player chooses the fastest path subsequently, we obtain a vector of path choices 𝑃 such that no player will change his/her path choice. By definition, these path choices is a Nash equilibrium. As a direct corollary of Theorem 2.16, we can compute an equilibrium in 𝑂(𝑁 ) iterations, and for each iteration, we solve a shortest path problem. Single Origin Multiple Destinations We next discuss the case where all players have a same origin 𝑂, but not necessarily the same destination. Assume each player 𝑖 has his/her own destination node 𝐷𝑖 . For this single-origin-multiple-destination case, we can use a similar argument to prove the existence of equilibrium. Note that Lemma 2.22 does not use the assumption of single origin or single destination. Hence, it still holds for the single origin case. For Lemma 2.23, we can actually relax the constraint that all players have the same destination and still obtain the same result: Lemma 2.25. Assume 𝑖 < 𝑗, and player 𝑖 and 𝑗 have the same origin. If player 𝑖 chooses the fastest path 𝑝, player 𝑗 cannot arrive at any node 𝑤 on path 𝑝 earlier than player 𝑖. Proof. The proof is mostly the same as the proof for Lemma 2.23 except for some details. We still prove by contradiction. Assume that 𝑝 is the fastest path for player 𝑖, and there exists a node 𝑤 on path 𝑝 such that player 𝑗 arrives at 𝑤 before player 𝑖. Assume path 𝑝 is 𝑂 → 𝑝1 → 𝑤 → 𝑝2 → 𝐷𝑖 , where 𝑝1 is the path between origin 𝑂 and node 𝑤, and 𝑝2 is the path between node 𝑤 and player 𝑖’s destination 𝐷𝑖 . Further assume the path that player 𝑗 takes is 𝑂 → 𝑞1 → 𝑤 → 𝑞2 → 𝐷𝑗 , where 𝑞1 is the path between origin 𝑂 and node 𝑤, and 𝑞2 is the path between node 𝑤 and player 2’s destination 𝐷𝑗 . 112 Again, consider a new path 𝑝′ : 𝑂 → 𝑞1 → 𝑤 → 𝑝2 → 𝐷𝑖 for player 𝑖. Because 𝑖 < 𝑗, we have 𝑡𝑖 (𝑂) < 𝑡𝑗 (𝑂). From Lemma 2.22, we know that by taking the partial path 𝑞1 , player 𝑖’s new arrival time 𝑡′𝑖 (𝑤) at node 𝑤 is earlier than player 𝑗’s. Mathematically, we have 𝑡′𝑖 (𝑤) < 𝑡𝑗 (𝑤) < 𝑡𝑖 (𝑤). Thus, we have 𝑡′𝑖 (𝐷𝑖 ) < 𝑡𝑖 (𝐷𝑖 ) since the rest of the path for player 𝑖 is the same partial path 𝑝2 . It means that player 𝑖’s arrival time at the destination node 𝐷𝑖 is earlier than 𝑡𝑖 (𝐷𝑖 ), contradicting the assumption that 𝑝 is the fastest path for player 𝑖. Since we obtain the same result in Lemma 2.25 after relaxing the constraint that all players have the same destination in Lemma 2.23, we can prove the same result of Lemma 2.24 for the single-origin-multiple-destination case. The proof is the same except we use Lemma 2.25 instead of Lemma 2.23, and is therefore omitted here. Finally, we can use the same proof of Theorem 2.16 to prove the existence of equilibrium in single-origin-multiple-destination case. Theorem 2.17. Assume that all players have the same origin. Order and index the players according to their arrival time at the origin 𝑂. In the same order, choose the fastest path for each player 𝑖 based on the path choices of players 1 to 𝑖 − 1. The resulting path choices 𝑃 is an equilibrium. From Theorem 2.17, it is easy to see that we can also compute an equilibrium of the single-origin-multiple-destination case in 𝑂(𝑁 ) iterations, and for each iteration, we again solve a shortest path problem. Multiple Origins Single Destination Now consider the case in which all players have the same destination 𝐷, but different origins. Assume that player 𝑖’s origin is node 𝑂𝑖 . We can still show that there exists an equilibrium for the multiple-origin-single-destination case, but the arguments are a little different. Consider an iterative procedure of ordering the players. We start from 𝑘 = 1. Let set 𝐼 (1) be the set of all players 𝐼. 1. Find the fastest path for each player 𝑖 ∈ 𝐼 (𝑘) given the path choices of players 113 1, 2, · · · , (𝑘 − 1). Ignore the impact of the path choices by the other players in set 𝐼 (𝑘) . Note that when 𝑘 = 1, we simply find the fastest path for each player and ignore the impact of the path choices of other players. 2. Let the player who arrives at the destination earliest be player 𝑘, and let 𝑝𝑘 be the fastest path for him/her. 3. Remove player 𝑘 from set 𝐼 (𝑘) and set it to 𝐼 (𝑘+1) . Increase 𝑘 by 1. 4. Repeat the procedure above until 𝑘 > 𝑁 . We call this procedure an iterative indexing procedure. We will show that using this procedure, we can find an equilibrium when it terminates. Before formally proving the result, we illustrate the logic and intuition behind the iterative indexing procedure. Consider the first iteration: We find a fastest path for every player without considering the impact of other players’ path choices. We then identify the player who can arrive at the destination first. We index this player as player 1, and let the fastest path be 𝑝1 . Note that player 1 must have arrived at each node on path 𝑝 first, otherwise whoever beats him/her to arrive at a node 𝑤 can duplicate the rest of path 𝑝 and arrive at the destination earlier. Using this observation, we will show that after player 1 chooses the fastest path, his/her travel time will not be affected by other players’ choices and consequently, he/she will not deviate from this path choice. Given player 1’s path choice, we then repeat the iterative indexing procedure and find the fastest path for each player other than player 1. We can then identify player 2 using the same approach. The same result also holds for player 2. By induction, we can show that no player has incentive to deviate from their respective paths, and therefore we obtain a Nash equilibrium in the end. It is also easy to see that this equilibrium is obtained in 𝑂(𝑁 ) iterations. We formally prove the existence of equilibrium through Lemma 2.26 and Theorem 2.18. 114 Lemma 2.26. Assume player 𝑖 and 𝑗 have different origins but the same destination, and 𝑖 < 𝑗 according to the iterative indexing procedure, then player 𝑗 cannot arrive earlier than player 𝑖 at any node 𝑤 on path 𝑝𝑖 , the fastest path for player 𝑖 given the path choices of players 1 to (𝑖 − 1). Proof. According to the iterative indexing procedure, we know that given the path choices of players 1 to (𝑖 − 1), player 𝑖 can arrive at the destination earlier than any other player 𝑗. Similar to the arguments used in Lemma 2.23 and Lemma 2.25, we prove the lemma by contradiction. Assume that 𝑝 is the fastest path for player 𝑖, and there exists a node 𝑤 on path 𝑝 such that player 𝑗 arrives at 𝑤 before player 𝑖. Assume path 𝑝 is 𝑂𝑖 → 𝑝1 → 𝑤 → 𝑝2 → 𝐷, where 𝑝1 is the path between player 𝑖’s origin 𝑂𝑖 and node 𝑤, and 𝑝2 is the path between node 𝑤 and the destination 𝐷. Further assume the fastest path for player 𝑗 is 𝑂𝑗 → 𝑞1 → 𝑤 → 𝑞2 → 𝐷, where 𝑞1 is the path between player 𝑗’s origin 𝑂𝑗 and node 𝑤, and 𝑞2 is the path between node 𝑤 and destination 𝐷. Consider a new path 𝑝′ : 𝑂𝑗 → 𝑞1 → 𝑤 → 𝑝2 → 𝐷 for player 𝑗. By assumption, we have 𝑡𝑖 (𝑤) > 𝑡𝑗 (𝑤). From Lemma 2.22, we know that by taking the partial path 𝑞1 , player 𝑗’s arrival time 𝑡′𝑗 (𝐷) at the destination node 𝐷 is earlier than player 𝑖’s. Mathematically, we have 𝑡𝑖 (𝐷) > 𝑡′𝑗 (𝐷). It means that player 𝑗 can arrive at the destination earlier than player 𝑖, contradicting the iterative indexing procedure. Therefore we conclude that there does not exist any node 𝑤 on path 𝑝𝑖 such that player 𝑗 can arrive at node 𝑤 earlier than player 𝑖. Since we obtain the same result in Lemma 2.23 and Lemma 2.25, we can prove the same result of Lemma 2.24 for the multiple-origin-single-destination case. The proof is the same except we use Lemma 2.26. Finally, we can again use the same proof of Theorem 2.16 to prove the existence of equilibrium in multiple-origin-single-destination case. Theorem 2.18. Assume that all players have the same destination. Index and choose path for each player according to the iterative indexing procedure. The resulting path 115 8 8 3 3, 4 3 1 2, 4 2 4 3 5 5 2, 4 6 Figure 2-7: An example of non-existence of equilibrium. The origin-destination pairs for players 𝐴, 𝐵, and 𝐶 are (1, 5), (1, 6), and (3, 6), respectively. The numbers on the arcs represent the travel time functions. If there are two numbers, such as (2, 4), it means the travel time is 2 units of time for the first player arriving at the arc, and 4 units for the second player arriving at the arc. choices 𝑃 is an equilibrium. From Theorem 2.18, it is easy to see that we can also compute an equilibrium of the single-origin-multiple-destination case in 𝑂(𝑁 ) iterations. For each iteration, however, we need to solve a shortest path problem for each player, therefore, the overall computational complexity is 𝑂(𝑁 2 ) times the time to solve a shortest path problem. Multiple Origin Multiple Destination Now we consider the multiple-origin-multiple-destination case. We show that there does not always exist an equilibrium in this case by presenting a counterexample. Consider the network and the corresponding travel time in Figure 2-7. The numbers on the arcs are the travel time. If there are two numbers, such as (2, 4) on the arc (1, 2), it means that it takes the first player 2 units of time to travel on that arc, and the second player 4 units of time. Assume that there are three players 𝐴, 𝐵, and 𝐶. Player 𝐴 travels from node 1 to 4, player 𝐵 from 1 to 6, and 𝐶 from 3 to 6. Their departure times are 0, 1 and 4, respectively. See Table 2.2 for a summary. Let the initial path choices of players 𝐴, 𝐵 and 𝐶 be (1, 2, 3, 4), (1, 2, 5, 6), and 116 Player 𝐴 𝐵 𝐶 Origin 1 1 3 Destination 6 4 6 Departure Time 0 1 4 Table 2.2: Three players’ origins, destinations, and departure times. Step 0 1 2 3 4 𝐴’s path 𝑡𝐴 (1, 2, 3, 4) 9 (1, 4) 8 (1, 4) 8 (1, 2, 3, 4) 7 (1, 2, 3, 4) 9 𝐵’s path 𝑡𝐵 (1, 2, 5, 6) 13 (1, 2, 5, 6) 9 (1, 2, 5, 6) 9 (1, 2, 5, 6) 11 (1, 2, 5, 6) 13 𝐶’s path 𝑡𝐶 (3, 4, 5, 6) 7 (3, 4, 5, 6) 9 (3, 6) 8 (3, 6) 8 (3, 4, 5, 6) 7 Table 2.3: The best-response dynamics of three players in the network shown in Figure 2-7. 𝑡𝐴 , 𝑡𝐵 , and 𝑡𝐶 denote the travel time of 𝐴, 𝐵, and 𝐶, respectively. The bold cells highlight the changes. (3, 4, 5, 6), respectively. Table 2.3 shows that the best-response dynamics circulate in 4 steps. The problem is that each player is affected by one other player: 𝐴 is affected by 𝐶 on arc (3, 4), 𝐵 affected by 𝐴 on (1, 2), and 𝐶 affected by 𝐵 on (5, 6). This causes the circulation. Summary and Future Research In this subsection, we discussed the existence and computation of equilibrium in discrete dynamic congestion games. We showed that there exists an equilibrium in the single-origin-single-destination case, the single-origin-multiple-destination case, and the multiple-origin-single-destination case. We also showed that an equilibrium could be computed by solving 𝑂(𝑁 ) shortest path problems in both the single-originsingle-destination case, and the single-origin-multiple-destination case, where 𝑁 is the number of players. For the multiple-origin-single-destination case, we could obtain an equilibrium by solving 𝑂(𝑁 2 ) shortest path problems. We also showed that there might not be an equilibrium in the multiple-origin-multiple-destination case. We showed an counter example in which there was a circulation in the best-response dynamics. Table 2.4 summarizes all the results. A possible modification of the game in order to establish an equilibrium is to 117 Case Existence of Equilibrium Single O-D Yes Single O Multiple D Yes Multiple O Single D Yes Multiple O Multiple D No Computational Time 𝑂(𝑁 ) · 𝐹 𝑃 (𝑛, 𝑚) 𝑂(𝑁 ) · 𝐹 𝑃 (𝑛, 𝑚) 𝑂(𝑁 2 ) · 𝐹 𝑃 (𝑛, 𝑚) – Table 2.4: Summary of the existence and computational time of equilibrium in discrete dynamic congestion games. O means origin, and D means destination. 𝑁 is the number of players, and 𝐹 𝑃 (𝑛, 𝑚) is the computational time of solving a shortest path problem in a network with 𝑛 nodes and 𝑚 arcs. 𝐴 (1, 4) (1, 2) 𝐵 𝐵 (3, 6) (3, 6) (3, 4) (3, 4) 1 2 3 4 𝐴 = 9, 𝐵 = 7 𝐴 = 7, 𝐵 = 8 𝐴 = 8, 𝐵 = 9 𝐴 = 8, 𝐵 = 8 Figure 2-8: An example: Subgame perfect equilibrium in the network shown in Figure 2-7. apply the notion of subgame perfect equilibrium (c.f. [65]). Note that since time is considered in our model, some players must make decisions earlier than others. For example, player 𝐴 needs to make a decision at time 0 based on the other 2 players’ decisions, while player 𝐶 can wait until time 4 to make his/her decision. More precisely, player 𝐴 has to choose either arc (1, 4) or (1, 2) at time 0, while the other two players can still alter their path choices after seeing player 𝐴’s decision. Since player 𝐵’s path choice is always (1, 2, 5, 6), 𝐴 only needs to consider the impact of his/her choice on player 𝐶 and try to minimize his/her travel time, assuming 𝐶 will take the fastest path. Figure 2-8 shows the decision tree. If player 𝐴 chooses path (1, 2, 3, 4), player 𝐵’s best choice is path (3, 4, 5, 6). This results in 9 units of travel time for 𝐴. While if player 𝐴 chooses path (1, 4), player 118 𝐵’s best choice is path (3, 6). This results in 8 units of travel time for 𝐴. Thus, the best option for 𝐴 is to travel on arc (1, 4) and player 𝐵 will correspondingly chooses (3, 6). This is the subgame perfect equilibrium that can be reached in this game. 2.3.3 Convergence Speed of Best-Response Dynamics In the previous subsection, we showed that there exists Nash equilibrium in the cases where all players have the same origin, or the same destination. In this subsection, we study the speed of convergence to an equilibrium with best-response dynamics. Best-response dynamics is defined as follows: When each player is given a chance, he/she will choose or shift to the fastest path given all other players’ path choices. When none of the players has incentive to change his/her path choice, an equilibrium is reached. Note that in the definition of the best-response dynamics, there is no specification in what sequence are the players given the chance to change his/her path. Therefore, in order to determine the convergence speed, we first build a randomized model and show that the average number of steps to achieve an equilibrium is Θ(𝑁 2 ) where 𝑁 is the number of players. Consider the following randomization assumption: assume that with uniform distribution we randomly pick one of the players who have incentives to change path choices as the next player to change path. More specifically, we choose player 𝑖 as the next player to change path with probability 1/𝐾, where 𝐾 is the total number of players who have incentives to change path. We will call the players who have incentives to change paths unstable players. With this randomization model, we are interested in the expected number of path changes in total. Such sequence can be captured by a Markov chain. Consider a Markov chain with states composed of binary sequences 𝑎1 𝑎2 · · · 𝑎𝑁 , where 𝑎𝑖 = ⎧ ⎪ ⎨1 if the player 𝑖 is an unstable player. ⎪ ⎩0 otherwise 119 (2.72) 𝑎1 𝑎2 · · · 𝑎𝑖−1 1𝑎𝑖+1 · · · 𝑎𝑁 𝑎1 𝑎2 · · · 𝑎𝑖−1 01 · · · 1 w.p 1 ∑︀𝑁 𝑘=1 𝑎𝑘 Figure 2-9: One-step transition of the Markov chain. For example, if we have 5 players, a possible sequence is 01011, which means with the current path choices, players 2, 4, and 5 are unstable players. They have incentives to change their path choices. An example of one transition link of the Markov chain is shown in Figure 2-9. The transition means that if we let player 𝑖 be the next to change his/her path choice, that change will not affect players 1 to (𝑖 − 1) according to Lemma 2.24, but it might affect the choices of all the players behind her (players 𝑖 + 1 to 𝑁 ). Thus it leads to the next state in which 𝑎1 to 𝑎𝑖−1 remain unchanged, 𝑎𝑖 becomes 0, and in the worst case all of 𝑎𝑖+1 to 𝑎𝑁 become 1. There is a special state in the Markov chain: the state 00 · · · 0, which indicates that no player wants to change. It implies that an equilibrium is reached. Denote this state 𝑇 . This state in the Markov chain has a single self-circulation arc. Note that 𝑇 is the only absorbing state in the whole Markov chain. All other states are transient states. There are exponentially many states with respect to 𝑁 . Starting from any starting state 𝑆, the expected number of path changes is equivalent to the expected steps to go from 𝑆 to the absorbing state 𝑇 . As an example, the complete Markov chain for 3 players is shown in Figure 2-10. Next, we derive the expected number of steps to reach an equilibrium state. Let 𝐸[𝑋] be the expected number of steps to go from state 𝑋 to the absorbing state 𝑇 . By using the following notations: 𝑋 : 𝑎1 𝑎2 · · · 𝑎𝑁 𝑌𝑗 : 𝑎1 𝑎2 · · · 𝑎𝑗−1 01 · · · 1 𝐾= 𝑁 ∑︁ 𝑎𝑖 𝑖=1 120 1 3 1 3 111 1 3 011 1 2 110 1 2 101 1 2 100 1 2 1 1 1 2 010 001 1 1 000 1 2 Figure 2-10: A complete Markov chain transition graph for the 3-player case. The numbers next to the arcs are the transition probabilities. We have a recursive equation: 𝐸[𝑋] = 1 + 𝑁 1 1 1 1 ∑︁ 𝑎𝑖 𝐸[𝑌𝑖 ] (2.73) 𝑎1 𝐸[𝑌1 ] + 𝑎2 𝐸[𝑌2 ] + · · · + 𝑎𝑁 𝐸[𝑌𝑁 ] = 1 + 𝐾 𝐾 𝐾 𝐾 𝑖=1 With the recursive function (2.73) and the boundary condition 𝐸[00 · · · 0] = 0, we can compute all 𝐸[𝑋]. We could not find a simple closed form expression for all states. However, we are able to bound the expected number and determine its magnitude with respect to the number of players. Let bin(𝑋) be the number corresponding to the binary state 𝑋. For example, bin(001) = 1, bin(010) = 2, and bin(111)=7. From the Markov chain and the recursive equation (2.73), we can see that if there exists an arc pointing from 𝑋 to 𝑌 in the Markov chain, we have bin(𝑋) > bin(𝑌 ). Further, it is easy to see that 𝐸[𝑋] > 𝐸[𝑌 ] if bin > bin(𝑌 ) since 𝑌 is closer to the absorbing state. For the upper bound, consider the Markov chain shown in Figure 2-11. Note that the Markov chain shown in Figure 2-11 stays at the same state until the unstable player with the lowest index is chosen to change his/her path. Consider the state 𝑋𝑘 = 0 · · · 01 · · · 1, where the first 𝑘 digits are all 0. Let 𝑌𝑘,𝑖 be the same 121 𝑁 −2 𝑁 −1 𝑁 −1 𝑁 111 · · · 1 1 𝑁 011 · · · 1 𝑁 −3 𝑁 −2 1 001 · · · 1 1 𝑁 −1 1 𝑁 −2 ··· 1 000 · · · 0 Figure 2-11: A Markov chain as an upper bound of the expected number of steps to convergence. 1111 · · · 1 1 𝑁 𝑁 −1 𝑁 1 𝑁 −1 1011 · · · 1 𝑁 −2 𝑁 −1 1001 · · · 1 𝑁 −3 𝑁 −2 ··· 1 2 1000 · · · 0 1 𝑁 −2 1 0111 · · · 1 Figure 2-12: A Markov chain as a lower bound of the expected number of steps to convergence. state as 𝑋𝑘 except that 𝑎𝑖 = 0, where 𝑖 > 𝑘. Note that bin(𝑋𝑘 ) > bin(𝑌𝑘,𝑖 ), thus 𝐸[𝑋𝑘 ] ≥ 𝐸[𝑌𝑘,𝑖 ]. From (2.73), we have: 𝑁 ∑︁ 1 𝑁 −𝑘−1 1 𝑎𝑖 𝐸[𝑌𝑘,𝑖 ] ≤ 1 + 𝐸[𝑌𝑘,𝑘+1 ] + 𝐸[𝑋𝑘 ] (2.74) 𝐸[𝑋𝑘 ] = 1 + 𝑁 − 𝑘 𝑖=𝑘+1 𝑁 −𝑘 𝑁 −𝑘 The right hand side of inequality (2.74) corresponds to the transition equations of the Markov chain shown in Figure 2-11. Note that 𝐸[𝑋𝑘+1 ] = 𝐸[𝑌𝑘,𝑘+1 ]. Hence, from (2.74), we have: 𝐸[𝑋𝑘 ] ≤ 𝐸[𝑋𝑘+1 ] + (𝑁 − 𝑘). Thus, we get the simple closed form function for the upper bound: 𝐸[𝑋0 ] = 𝐸[11 · · · 1] ≤ 𝑁 (𝑁 − 1) 2 (2.75) For the lower bound, consider the Markov chain shown in Figure 2-12. The Markov chain in Figure 2-12 provides a lower bound because it skips some of the states that are farer away from the absorbing state, and pool those probabilities 122 to the arc pointing to the states that are closer to the absorbing state. Note that from Figure 2-12, to go from the state 111 · · · 1 to 011 · · · 1, we have: ∙ With probability 1 , 𝑁 ∙ With probability 𝑁 −1 𝑁 · 1 𝑁 −1 = ∙ With probability 𝑁 −1 𝑁 · 𝑁 −2 𝑁 −1 · it takes 1 step. 1 , 𝑁 1 𝑁 −2 it takes 2 steps. = 1 , 𝑁 it takes 3 steps. ∙ ··· ∙ With probability 1 , 𝑁 it takes 𝑁 steps. Thus, we have the following recursive equation corresponding to the Markov chain shown in Figure 2-12: 𝐸[𝑋𝑘 ] = 𝐸[𝑋𝑘+1 ] + 1 𝑁 +1 (1 + 2 + · · · + 𝑁 ) = 𝐸[𝑋𝑘+1 ] + 𝑁 2 (2.76) From the recursive relation above, we have the lower bound: 𝐸[𝑋0 ] = 𝐸[11 · · · 1] = 𝑁 (𝑁 + 3) 4 (2.77) From the analysis of the upper bound and the lower bound above, we can see that the expected number of steps to reach an equilibrium is between 𝑁 (𝑁 +3) 4 and 𝑁 (𝑁 −1) . 2 That is, the total expected number of path changes is quadratic of the total number of players. Note that this is indeed an over-estimation, since when player 𝑖 changes her path, it is not necessary that all the players with higher indices will become unstable players. In the discussions above, we did not use any result specific to the single origin or single destination case except Lemma 2.24, which applies to all cases. Therefore the bounds for the expected convergence speed also apply to all these cases. 123 2.3.4 From Discrete Model to Continuous Model In the previous subsections, we discuss equilibrium in dynamic networks based on the discrete model defined in Subsection 2.3.1. In this subsection, we use a more specific travel time function to connect the discrete model to a continuous model. We only discuss the single-origin-single-destination case in this subsection. In Subsection 2.3.1, we allow the travel time function to be 𝜏𝑒 (𝐻𝑒 (𝑡𝑤 )) if a player arrives at node 𝑤 at time 𝑡𝑤 . The function means that the travel time of the player on arc 𝑒 which is outgoing from node 𝑤 depends on the complete history of the flow on arc 𝑒. This definition includes many possible functions. In this subsection, we consider a specific function. Before we formally define it, we use the application of dynamic networks in a traffic setting to motive the usage of such function. Consider a car following model. Assume a car enters the arc at time 𝑡. According to a general DMV guidance: each car has to keep a certain time distance, for example, 4 seconds, from the previous car. Such time distance varies based on road and weather conditions. Nevertheless, no matter how close a car is to its previous cars when it enters the arc, when it leaves, it has to maintain a certain time gap from previous car. Formally, in a general network with an origin 𝑂 and a destination 𝐷, the travel time on any arc 𝑒 = (𝑤, 𝑤′ ) is a function with two parameters 𝐹𝑒 and 𝐺𝑒 , the free-flow travel time and the minimum time gap, respectively. Assume the arrival time of the 𝑖’th car at node 𝑤 is 𝑇 𝑖 (𝑤), and the arrival time at node 𝑤′ is 𝑇 𝑖 (𝑤′ ), then we have: 𝑇 𝑖 (𝑤′ ) ≥ 𝑇 𝑖 (𝑤) + 𝐹𝑒 (2.78) 𝑇 𝑖 (𝑤′ ) ≥ 𝑇 𝑖−1 (𝑤′ ) + 𝐺𝑒 (2.79) and The two conditions above mean that a car either spends the free-flow time on an arc, or it keeps a time gap from the car ahead of it when it leaves. The travel time on each arc is implied in the arrival time of nodes 𝑤′ and 𝑤. Mathematically, we have 124 𝜏𝑒 = 𝑇 𝑖 (𝑤′ ) − 𝑇 𝑖 (𝑤). Now consider the continuous dynamic network model introduced in Section 2.1: in a general network with an origin 𝑂 and a destination 𝐷, each arc 𝑒 has a free-flow travel time 𝜏𝑒 and a capacity 𝑢𝑒 . For each arc, no matter how much the incoming flow is, the outgoing flow rate cannot exceed 𝑢𝑒 . For the optimization model, we assume that we need to send a certain amount of flow 𝐹 from the origin to the destination. In this subsection, instead of an accumulated amount of flow, we allow the flow to be continuously going into the origin node 𝑂 defined by a continuous flow rate function 𝑀𝑂 (𝑡). The goal of this extension is to make the model closer to a real road network: the traffic flow goes into a conjunction continuously, and the rate changes over time. As defined by Koch and Skutella [55], a Nash equilibrium in this network is a dynamic flow such that for any infinitesimal flow particle 𝜎, its travel time in the network cannot be improved by shifting to another path. Although this definition is used in several papers, such as [5, 12], the term “infinitesimal flow particle” is not clearly defined, and the meaning of “a particle changing path”, although intuitive, is not rigorous in the mathematical settings. In this subsection, we will prove that there exists a sequence of Nash equilibrium in the discrete setting that converges when the amount of flow each player controls approaches 0. This proof provides a mathematical foundation for a better and more clear definition of continuous equilibria. Our approach is to discretize the continuous incoming flow into discrete flows, find an equilibrium, and show that when the discretization becomes finer and finer, the discrete flow equilibrium converges. We can then define the limit as a continuous Nash equilibrium. Given a continuous network flow model, consider a discrete flow amount 𝜎. Without loss of generality, assume that the incoming flow starts from time 0. We adopt the following discretization scheme: find a sequence of time points 𝑡1 , 𝑡2 , · · · , 𝑡𝑁 such that ∫︁ 𝑡𝑖+1 𝜑𝑂 (𝑠)𝑑𝑠 = 𝜎, ∀𝑖 = 1, 2, · · · , 𝑁 (2.80) 𝑡𝑖 where 𝜑𝑂 (𝑡) is the flow rate coming into the origin node 𝑂. We also define 𝑡0 := 0. 125 𝜑𝑂 (𝑡) 𝜑𝑂 (𝑡) ⇒ 𝜎 0 0 𝑡 𝜎 𝑡1 𝑡2 𝜎 𝜎 𝑡3 𝑡4 𝑡 Figure 2-13: Discretization of the incoming flow 𝜑𝑂 (𝑡) at the origin node 𝑂. Each area under the curve of 𝜑𝑂 (𝑡) between 𝑡𝑖 and 𝑡𝑖+1 have the same volume 𝜎. Each player in the discrete dynamic network congestion game controls 𝜎 amount of flow, and their arrival times are 𝑡1 , 𝑡2 , · · · , 𝑡𝑁 , for player 1, 2, · · · , N, respectively Each player 𝑖 controls 𝜎 amount of flow between time 𝑡𝑖−1 and 𝑡𝑖 . Assume his/her arrival time is 𝑡𝑖 . Figure 2-13 shows an example of this discretization. The flow rate function 𝜑𝑂 (𝑡) is shown on the left, and a discretization scheme is shown on the right. After the discretization, we have a set of players, and each player controls 𝜎 units of flow. For the travel time of each arc, let 𝐹𝑒 = 𝜏𝑒 , and 𝐺𝑒 = 𝜎/𝑢𝑒 . Note that the outgoing flow rate from arc 𝑒 with this discretization is upper bounded by 𝜎 units of flow in every 𝐺𝑒 amount of time. That is, the upper bound of flow rate is 𝜎/𝐺𝑒 = 𝑢𝑒 . Now we are in a position to prove the main result in this subsection – Theorem 2.19. Define 𝐼𝑒𝜎 (𝑡) as the total number of players that used or are using arc 𝑒 up to time 𝑡 given the discretization 𝜎. We have: Theorem 2.19. For any incoming flow rate function 𝜑𝑂 (𝑡) and parameters 𝜏𝑒 , 𝑢𝑒 for each arc 𝑒 ∈ 𝐸, with any given time horizon 𝑇 , if we have lim 𝜎 · ∑︁ 𝜎→0 𝑒=(𝑂,𝑤) 𝐼𝑒𝜎 (𝑡) ∫︁ = 𝑡 𝜑𝑂 (𝑠) 𝑑𝑠, ∀𝑡 ∈ [0, 𝑇 ] (2.81) 0 then we have: lim 𝜎 · 𝐼𝑒𝜎 (𝑡) = 𝐼𝑒 (𝑡), 𝜎→0 ∀𝑒 ∈ 𝐸, 𝑡 ∈ [0, 𝑇 ] (2.82) where 𝐼𝑒 (𝑡) can be interpreted as the accumulative incoming flow of arc 𝑒 up to time 𝑡. Theorem 2.19 states that when the discretization 𝜎 approaches 0, the cumulative 126 amount of flow going into an arc converges point-wise with respect to time 𝑡. This result implies that the amount of flow on each arc also converges point-wise with respect to 𝑡. To show the convergence, we will show that for any 𝜖 > 0, we can find a discretiza′ tion amount 𝜎 such that ∀𝜎 ′ : 0 < 𝜎 ′ < 𝜎, we have |𝜎 · 𝐼𝑒𝜎 (𝑡) − 𝜎 ′ · 𝐼𝑒𝜎 (𝑡)| < 𝜖, ∀𝑒, 𝑡. This is the mathematical definition of convergence of a Cauchy sequence. We first define the following notations: ∙ 𝜎: The discretization amount. ∙ 𝜏𝑒 : The free flow time on arc 𝑒. ∙ 𝜏𝑒𝜎 (𝑡): The travel time on arc 𝑒 if a player enters arc 𝑒 at time 𝑡. ∙ 𝑢𝑒 : The capacity of arc 𝑒. ∙ 𝐼𝑒𝜎 (𝑡): The total number of incoming players of arc 𝑒 up to time 𝑡 with 𝜎 discretization. Note that this number generally increases when the discretization becomes finer. ∙ 𝑂𝑒𝜎 (𝑡): The total number of outgoing players of arc 𝑒 up to time 𝑡 with 𝜎 discretization. Note that this number generally increases when the discretization becomes finer. ∙ 𝜎 · 𝐼𝑒𝜎 (𝑡): The total incoming flow up to time 𝑡 with 𝜎 discretization. Note that 𝐼𝑒𝜎 (𝑡) generally increases as 𝜎 decreases. We will prove this amount converges when 𝜎 goes to 0. ∙ 𝜎 · 𝑂𝑒𝜎 (𝑡): The total outgoing flow up to time 𝑡 with 𝜎 discretization. ∙ 𝑙𝑤𝜎 (𝑡): The shortest time to arrive at node 𝑢 if a player arrives at the origin node 𝑂 at time 𝑡. This is also called distance label of node 𝑤 at time 𝑡. Before starting to formally prove the result, we illustrate the idea through an example shown in Figure 2-14. Given a 𝜎 and a 𝜎 ′ such that 0 < 𝜎 ′ < 𝜎, consider 127 ⇓ 𝑤1 ↓ ↓ ↑ 𝑂 ↑ ↑ 𝐷 𝑤2 ⇑ Figure 2-14: An example that illustrates the convergence proof. the equilibrium flow corresponding to discretization 𝜎 ′ and the equilibrium flow corresponding to discretization 𝜎 at time 𝑡. The total amount of flow going into node 𝑂 up to time 𝑡 is approximately the same (up to an error 𝜎). If the amount of flow 𝜎𝐼𝑒𝜎 (𝑡) going through arc (𝑂, 𝑤1 ) decreases too much (more than 𝜖), the distance label of node 𝑤1 will decrease as well. On the other hand, the amount of flow going through arc (𝑂, 𝑤2 ) increases, thus the distance label of node 𝑤2 increases as well. Since the distance label at node 𝑤1 decreases, and the label of node 𝑤2 increases, there must be more flow on arc (𝑤1 , 𝑤2 ). This results in less flow on arc (𝑤1 , 𝐷) and flow on arc (𝑤2 , 𝐷). We will prove under this circumstance, if 𝜎 is small enough, going through path 𝑂 → 𝑤1 → 𝐷 is at least 𝜎 faster than going through path 𝑂 → 𝑤2 → 𝐷. Also, because there is a non-zero flow through 𝑂 → 𝑤2 → 𝐷, it means a player can shift from that path to path 𝑂 → 𝑤1 → 𝐷 and arrive at 𝐷 at an earlier time, which contradicts the assumption that both flows are equilibrium flows. For a given time 𝑡, we define 𝛾𝑒𝜎 (𝑡) as the latest time before 𝑡 such that the travel time on the arc 𝑒 is equal to the free-flow time. Mathematically, we have: 𝛾𝑒𝜎 (𝑡) ⃒ ⌊︁ 𝑢𝑒 ⌋︁ ⃒ 𝜎 𝜎 ^ ^ ^ = sup{𝑡 ⃒𝐼𝑒 (𝑡) − 𝐼𝑒 (𝑡) ≥ (𝑡 − 𝑡) } 𝜎 (2.83) Then the travel time on an arc 𝑒 is: 𝜏𝑒𝜎 (𝑡) ⌊︁ 𝜎 [︁ 𝜎 𝑢𝑒 ⌋︁]︁ 𝜎 𝜎 𝜎 = 𝜏𝑒 + · 𝐼𝑒 (𝑡) − 𝐼𝑒 (𝛾𝑒 (𝑡)) − (𝑡 − 𝛾𝑒 (𝑡)) 𝑢𝑒 𝜎 (2.84) In (2.84), 𝜏𝑒 is the free flow time, and the second term is the time the player spends 128 waiting in order to keep a sufficient time gap from the player ahead (the congestion time). Based on the definitions above, we can also derive the number of outgoing players 𝑂𝑒𝜎 (𝑡): ⌊︁ 𝑢𝑒 ⌋︁ 𝑂𝑒𝜎 (𝑡) = 𝐼𝑒𝜎 (𝛾𝑒𝜎 (𝑡)) + (𝑡 − 𝛾𝑒𝜎 (𝑡)) · 𝜎 (2.85) From (2.84) and (2.85) we have: 𝑂𝑒𝜎 (𝑡) = 𝐼𝑒𝜎 (𝑡) − (𝜏𝑒𝜎 (𝑡) − 𝜏𝑒 ) · 𝑢𝑒 𝜎 (2.86) For any 𝜖 > 0, let 𝜎 = min{min𝑒 𝑢𝑒 , 𝜖}, where 𝑛 is the number of nodes. Consider any ⃒ ⃒ ′ 𝜎 ′ such that 0 < 𝜎 ′ < 𝜎. We will show that for any node 𝑤, we have ⃒𝑙𝑤𝜎 (𝑡) − 𝑙𝑤𝜎 (𝑡)⃒ ≤ 𝜖. If there exists a node 𝑤0 such that ⃒ ⃒ ⃒𝜎 ⃒ 𝜎′ ⃒𝑙𝑤0 (𝑡) − 𝑙𝑤0 (𝑡)⃒ > 𝜖 (2.87) ′ ′ there are two possible cases: 1) 𝑙𝑤𝜎 0 (𝑡) < 𝑙𝑤𝜎 0 (𝑡) − 𝜖, and 2) 𝑙𝑤𝜎 0 (𝑡) > 𝑙𝑤𝜎 0 (𝑡) + 𝜖. First, ′ ′ consider case 1: For any arc 𝑒 ∈ 𝛿𝑤−0 , we have 𝑙𝑤𝜎 0 (𝑡) ≤ 𝜏𝑒𝜎 (𝑡), and 𝑙𝑤𝜎 0 (𝑡) ≤ 𝜏𝑒𝜎 (𝑡). ′ Since 𝑙𝑤𝜎 0 (𝑡) < 𝑙𝑤𝜎 0 (𝑡) − 𝜖, from (2.86) we have: ′ 𝑂𝑒𝜎 (𝑡) < 𝑂𝑒𝜎 (𝑡) − 𝜖 · 𝑢𝑒 ′ ≤ 𝑂𝑒𝜎 (𝑡) − 𝜖 𝜎 (2.88) Since the outgoing flows from arc 𝑒 must all go into node 𝑤0 ’s outgoing arcs, we have ∑︀ ∑︀ ′ 𝜎 · 𝑒∈𝛿𝑤+ 𝐼𝑒𝜎 (𝑡) < 𝜎 ′ · 𝑒∈𝛿𝑤− 𝐼𝑒𝜎 (𝑡) − 𝜖. Thus, there must exist a node 𝑤1 outgoing 0 0 ′ from node 𝑤0 through 𝑒1 = (𝑤0 , 𝑤1 ) such that 𝜎 · 𝐼𝑒𝜎1 (𝑡) < 𝜎 · 𝐼𝑒𝜎1 (𝑡), which leads to ′ 𝜏𝑒𝜎1 (𝑡) < 𝜏𝑒𝜎1 (𝑡). Thus, we have: ′ ′ ′ 𝑙𝑤𝜎 1 (𝑡) = 𝑙𝑤𝜎 0 (𝑡) + 𝜏𝑒𝜎1 (𝑡) < 𝑙𝑤𝜎 0 (𝑡) − 𝜖 + 𝜏𝑒𝜎1 (𝑡) = 𝑙𝑤𝜎 1 (𝑡) − 𝜖 (2.89) ′ This inequality means that if there exists a node 𝑤 such that 𝑙𝑤𝜎 0 (𝑡) < 𝑙𝑤𝜎 0 (𝑡), we can ′ find another node 𝑤1 such that 𝑙𝑤𝜎 1 (𝑡) < 𝑙𝑤𝜎 1 (𝑡). Hence, continuing such a process, we can find a path from node 𝑤0 to the destination node 𝐷 and the distance label of the 129 destination node satisfies the following inequality: ′ 𝜎 𝜎 (𝑡) − 𝜖 𝑙𝐷 (𝑡) < 𝑙𝐷 (2.90) The inequality (2.90) shows that the earliest arrival time at node 𝐷 with 𝜎 ′ discretization is at least 𝜖 greater than the 𝜎 discretization. We next show that there exists a path 𝑝 from node 𝑤0 to node 𝐷 such that the arrival time at node 𝐷 with the 𝜎 ′ discretization is less than the arrival time with 𝜎 discretization through path 𝑝. This result is a contradiction to (2.90). From the discretization scheme, we have: ∫︁ 𝑡 ∑︁ 𝜑𝑂 (𝑠)𝑑𝑠 − 𝜎 ≤ 𝜎 · 0 𝐼𝑒𝜎 (𝑡) 𝑡 ∫︁ ≤ 𝜑𝑂 (𝑠)𝑑𝑠 (2.91) 0 + 𝑒∈𝛿𝑤 0 and ∫︁ 𝑡 ∫︁ 𝜑𝑂 (𝑠)𝑑𝑠 − 𝜎 < 0 𝑡 ′ ′ 𝜑𝑂 (𝑠)𝑑𝑠 − 𝜎 ≤ 𝜎 · 0 ∑︁ ′ 𝐼𝑒𝜎 (𝑡) 𝑡 ∫︁ ≤ 𝜑𝑂 (𝑠)𝑑𝑠 (2.92) 0 + 𝑒∈𝛿𝑤 0 Combining (2.91) and (2.92), we have: 𝜎· ∑︁ 𝐼𝑒𝜎 (𝑡) > 𝜎 ′ · + 𝑒∈𝛿𝑤 0 ′ ∑︁ 𝐼𝑒𝜎 (𝑡) − 𝜎 ≥ 𝜎 ′ · + 𝑒∈𝛿𝑤 0 ∑︁ ′ 𝐼𝑒𝜎 (𝑡) − 𝜖 (2.93) + 𝑒∈𝛿𝑤 0 ′ From (2.93) and the assumption that there exists a node 𝑤 such that 𝑙𝑤𝜎 0 (𝑡) < 𝑙𝑤𝜎 0 (𝑡)−𝜖, ′ there must exist another arc 𝑒′1 = (𝑤0 , 𝑤1′ ) such that 𝜎 · 𝐼𝑒𝜎′ (𝑡) ≥ 𝜎 · 𝐼𝑒𝜎′ (𝑡). Thus, from 1 1 ′ (2.84), we also have 𝑙𝑒𝜎′ (𝑡) ≥ 𝑙𝑒𝜎′ (𝑡). Combining with (2.86), we have: 1 1 ′ 𝑂𝑒𝜎′1 (𝑡) ≥ 𝑂𝑒𝜎′1 (𝑡) (2.94) Again, since the outgoing flows from arc 𝑒′ must all go into node 𝑤1′ ’s outgoing arcs, ∑︀ ∑︀ ′ we have 𝜎 · 𝑒∈𝛿+′ 𝐼𝑒𝜎 (𝑡) ≥ 𝜎 ′ · 𝑒∈𝛿+′ 𝐼𝑒𝜎 (𝑡). Thus, there must exist a node 𝑤2′ 𝑤1 𝑤1 ′ outgoing from node 𝑤1′ through 𝑒′2 = (𝑤1′ , 𝑤2′ ) such that 𝜎 · 𝐼𝑒𝜎′ (𝑡) ≥ 𝜎 ′ · 𝐼𝑒𝜎′ (𝑡). It leads 2 130 2 ′ to 𝜏𝑒𝜎′ (𝑡) ≥ 𝜏𝑒𝜎′ (𝑡). Thus, we have: 2 2 ′ ′ ′ 𝑙𝑤𝜎 2′ (𝑡) = 𝑙𝑤𝜎 1′ (𝑡) + 𝜏𝑒𝜎′2 (𝑡) ≥ 𝑙𝑤𝜎 1′ (𝑡) + 𝜏𝑒𝜎′2 (𝑡) = 𝑙𝑤𝜎 2′ (𝑡) (2.95) Continuing such process, we will find a path 𝑝′ from 𝑤0 to the destination node 𝐷. This is a contradiction. Because we proved that one can arrive at node 𝐷 at time ′ ′ 𝜎 𝜎 𝑙𝐷 (𝑡) − 𝜖, which is less than 𝑙𝐷 (𝑡) − 𝜎, but using path 𝑝′ , a player can arrive at the ′ 𝜎 destination no earlier than 𝑙𝐷 (𝑡). If this is true, whoever chooses the last arc on path 𝑝′ could have shifted to a faster path and arrive at the destination earlier than ′ 𝜎 𝑙𝐷 (𝑡) − 𝜎. It implies that equilibrium is not achieved for the 𝜎 discretization case, which is a contradiction to our assumption. Therefore, we conclude that there does ′ not exist a node 𝑤 such that 𝑙𝑤𝜎 (𝑡) < 𝑙𝑤𝜎 (𝑡) − 𝜖. ′ In order to prove there does not exist a node 𝑤 such that 𝑙𝑤𝜎 (𝑡) > 𝑙𝑤𝜎 (𝑡) + 𝜖, we use a similar argument. We can prove that if this inequality holds for a node 𝑤0 , ′ 𝜎 𝜎 we also have 𝑙𝐷 (𝑡) > 𝑙𝐷 (𝑡) + 𝜖. On the other hand, we can find a path from 𝑤0 to 𝐷 such that the arrival time through the path in the 𝜎 discretization is no greater than the 𝜎 ′ discretization. This is again a contradiction. Therefore we conclude that ′ 𝑙𝑤𝜎 (𝑡) > 𝑙𝑤𝜎 (𝑡) + 𝜖 cannot hold for any node 𝑤 ∈ 𝑉 . We have proved that for any 𝜖 > 0, we can find a 𝜎, such that for any 𝜎 ′ : 0 < ′ 𝜎 ′ < 𝜎 we have |𝑙𝑢𝜎 (𝑡) − 𝑙𝑢𝜎 (𝑡)| < 𝜖. Thus, when 𝜎 goes to 0, there exists a limit for the set of distance labels 𝑙𝑤𝜎 (𝑡). Mathematically, we have: lim 𝑙𝑤𝜎 (𝑡) = 𝑙𝑤 (𝑡), ∀𝑤 ∈ 𝑉, 𝑡 ≥ 0 𝜎→0 (2.96) Since for any arc 𝑒 = (𝑤, 𝑤′ ) we have 𝜏𝑒𝜎 (𝑡) = 𝑙𝑤𝜎 ′ (𝑡) − 𝑙𝑤𝜎 (𝑡), we can obtain: lim 𝜏𝑒𝜎 (𝑡) = lim [𝑙𝑤𝜎 ′ (𝑡) − 𝑙𝑤𝜎 (𝑡))] = 𝑙𝑤′ (𝑡) − 𝑙𝑤 (𝑡) = 𝜏𝑒 (𝑡) 𝜎→0 𝜎→0 (2.97) Finally, from (2.84), we can establish the existence of limit of 𝐼𝑒 (𝑡): lim 𝜎 · 𝐼𝑒𝜎 (𝑡) = 𝐼𝑒 (𝑡) 𝜎→0 131 (2.98) This complete the proof of Theorem 2.19. 2.3.5 Summary of Equilibrium in Dynamic Networks In this section, we discussed the equilibrium in dynamic networks. We first proposed a discrete dynamic congestion game model. Our model uses the travel time function defined by Anshelevich and Ukkusuri [5] and adds an extra assumption that no two players arrive at a node at the same time. Using this new model, we then show that there exists an equilibrium in games where all players have the same origin or same destination. We also provided an counter example showing that there might not exist an equilibrium in a network where players have multiple origins and multiple destinations. After discussing the existence of equilibrium, we study the convergence speed of best-response dynamics to an equilibrium. Although in the worst-case scenario, the best-response dynamics take exponential steps to converge, we showed that the average convergence speed is 𝑂(𝑁 2 ), where 𝑁 is the number of players. Finally, we consider a specific discrete dynamic congestion game in which the freeflow time is given and the upper bound of flow rate is fixed. We proved that in a single origin single destination network, given a continuous incoming flow at the origin node, we can discretize the flow and obtain an equilibrium. When we discretize the flow finer and finer, there exists an equilibrium. This result can be used to rigorously define the equilibrium of a continuous dynamic congestion game. 2.4 Summary In this chapter, we discussed optimization and equilibrium in dynamic networks. The dynamic network model takes the time factor into consideration, and is suitable for modeling networks with congestion effects. The applications include transportation, evacuation, packet routing, job scheduling, etc. We first studied optimization problems in dynamic networks. We started with the quickest flow problem and derived optimality conditions for the problem. Using 132 these conditions, we introduced several new algorithms for solving the quickest flow problem. Most significantly, our cost-scaling algorithm runs within a constant time bound of the cost-scaling algorithm for the min-cost flow problem. This result shows for the first time that the quickest flow problem can be solved within the same complexity time bound of the min-cost flow problem. It also shows that the cost-scaling framework developed by Goldberg and Tarjan [40] is well suited for parametric extensions. Next, we presented new algorithms and results for the quickest transshipment problem. We discussed faster algorithms for special cases such as networks with zero arc costs and networks with uniform path lengths. We then extended the result to approximate the optimal solution for the quickest transshipment problem in general networks. In the second part of this chapter, we discussed the equilibrium in dynamic networks. We introduced a discrete dynamic congestion game and showed that equilibrium exists in games where all players have the same origin or the same destination. We further showed that the average convergence speed of the best-response dynamics is bounded by 𝑂(𝑁 2 ). In addition, we studied the relations between discrete dynamic congestion games and continuous dynamic congestion games. We showed that we can use the limit of a sequence of equilibrium in discrete dynamic congestion games to define the equilibrium in continuous dynamic congestion games. Although problems in dynamic networks are much harder than their counterparts in static networks, there are many applications in practice that require the time factor to be considered in networks. There are still many interesting open problems to be solved in both the optimization domain and the game theory domain. It is a rich area for the future research. 133 134 Chapter 3 Traffic Information Exchange In this chapter, we introduce a new central information system in transportation networks. We call this new system the traffic information exchange. The novelty of this new system is that it enables a bi-directional communication between wireless communication devices on vehicles and a central information system. In Subsection 3.1, we introduce the mechanism of this system in detail. We also discuss the implications and advantages of the system. In Subsection 3.2, we build a game theoretic model for the system. Under several assumptions, we show that the users of this system have incentive to participate and send feedbacks to the central information system. In order to test the effectiveness of the system in practice, we design and run a series of behavioral experiments. The details of these experiments are introduced in Subsection 3.3. We close the chapter by providing a summary and discussing future research directions in Subsection 3.4. 3.1 A Client-Server System for Traffic Information Exchange Nowadays, many cars are equipped with on-vehicle wireless communication devices. These devices include GPS units, smartphones, and other electronic devices that have wireless communication capabilities. Currently, there are many central information 135 Driver 1 1-1. Traffic Prediction 1-2. Route Choice Central Information System 2-1. Traffic Prediction Driver 2 2-2. Route Choice 1-3. Update Prediction 2-3. Update Prediction . . . . . . N-1. Traffic Prediction N-3. Update Prediction N-2. Route Choice Driver N Figure 3-1: Interaction between on-vehicle devices and the central information exchange. systems that provide real-time traffic updates and estimated travel times. For example, Google maps feed smartphones with real-time crowd-sourced traffic information, Tomtom provides traffic information obtained from governmental traffic feeds. These sources all communicate with on-vehicle wireless devices in one direction: they provide data for the devices, then the devices help drivers make routing decisions. Real-time traffic information is helpful for a routing purpose; however, as pointed out by Wang et al. [93], Messmer et al. [61], and Bottom [17], traffic prediction is better suited for making routing decisions because one can get information about estimated traffic on a road when one actually arrives there. A problem with traffic prediction is that it might change drivers’ routing decisions. If many drivers receive the same traffic prediction, they might all try to avoid the area that is currently congested, and the prediction itself will be invalidated. As introduced in Chapter 1, in order to resolve this dilemma, we propose a new central system called traffic information exchange. This new system requires a twodirectional communication between on-vehicle devices and the central system. It is a typical client/server system that is widely used by Internet companies and therefore is easy to implement. The on-vehicle devices are clients, and the central information exchange is the server. Figure 3-1 shows the interactions between the on-vehicle devices and the central information exchange. For simplicity, when we mention “driver” in the rest of the this chapter, we are referring to the driver’s on-vehicle device. 136 When the first driver checks into the system and requests traffic information, the central system sends the driver the current prediction (step 1-1). The driver then makes his/her routing decision based on the prediction, and sends the path choice back to the central system (step 1-2). The central system then updates its prediction based on this feedback (step 1-3). These three steps form a complete communication procedure between the central system and one driver. Next, the second driver checks into the system and the same procedure repeats. Note that although in Figure 3-1, each driver communicates with the central system only once, they are allowed to request the information and change their routing decisions as many times as they want. Note that the mechanism requires the drivers to receive information and give feedbacks one after another. It also requires the central system to update the prediction right after getting the feedback and before providing information to the next driver. Essentially, the mechanism lets drivers take turns to communicate with the central system. This is the most important difference from a system that broadcasts the same information to everyone. There are several advantages of this system: It does not dictate which path a driver should choose. It only requires a driver to send a feedback about his/her path choice. It always provides predictions without perturbations. It is also helpful for the information exchange to make better predictions, because in addition to the real-time traffic information and historical data, the exchange now possesses future information – the path choices of drivers. This future information can greatly reduce the guesswork in predictions and lead to much higher accuracy in traffic and travel time predictions. We would like to point out an important feature of this system. Although the central system always provides the real traffic predictions to all drivers, the information each driver receives might be slightly different. For example, consider a special case with two paths and two drivers. If both drivers use the same path, the travel time on that path is 20 minutes. If a path is only used by one driver, the travel time is 10 minutes. Now suppose driver 1 chooses path 1, and driver 2 chooses path 2, 137 and they have both reported their path choices to the central system. When driver 1 requests traffic predictions, he/she will see that it takes 10 minutes if staying on path 1, while it takes 20 minutes if he/she shifts to path 2. On the other hand, driver 2 will receive information predicting that it takes 10 minutes if to choose path 2, and it takes 20 minutes if shifting to path 1. Both predictions are accurate, but because the drivers have made and reported different path choices, they receive different predictions. This subtle difference is the key to avoid the dilemma of broadcasting the same traffic prediction information to everyone. The traffic information exchange is essentially a communication system between drivers. Instead of communicating with each other directly, drivers communicate through the central system. When a driver 𝐴 reports a path choice, the system updates the traffic predictions. Other drivers, upon receiving prediction updates, can see that the travel time on the path that driver 𝐴 chooses has gone up. Therefore it is more likely for them to avoid the same path. As a result, drivers can coordinate between themselves and distribute the traffic more evenly across the network. 3.2 A Game Theoretic Model In this section, we study the traffic information exchange in a game theoretic setting. Because the traffic information exchange mechanism allows users to report their routing decisions, a key question is whether the drivers have incentives to report their routing decisions, and whether they will try to manipulate the system to gain advantages. In this section, we introduce a game theoretic model for parallel networks. We will show that in a parallel network, if all other drivers always report their true path choices, the optimal strategy for a driver is to report his/her true path choice as well. Consider a parallel network shown in Figure 3-2. It has two nodes: the origin 𝑂 and the destination 𝐷. There are 𝑀 parallel arcs between them. Since in a parallel network, each arc is a path, we will use arc and path interchangeably in this section. 𝑁 drivers want to travel from 𝑂 to 𝐷. Each driver can only choose one path. 138 𝑓1 (𝑞1 ) 𝑓2 (𝑞2 ) 𝑂 ······ 𝐷 𝑓𝑀 (𝑞𝑀 ) Figure 3-2: A parallel network. Each arc is associated with a travel time function that depends on the number of drivers choosing the arc. Moreover, for each arc 𝑒, there is a travel time function 𝑓𝑒 (𝑞𝑒 ) associated with it. 𝑓𝑒 (𝑞𝑒 ) is the travel time on arc 𝑒 if the number of drivers choosing to travel on that arc is equal to 𝑞𝑒 . 𝑓𝑒 (·) is assumed to be a non-decreasing function. It implies that the more people who choose to travel on the arc (the more crowded the road is), the more time it takes for each driver to travel on the arc. We have a set of players (drivers) 𝐼. We assume that there are two types of players. Type 1 are the players who need to choose a specific path. Type 2 are the players whose path choices are flexible and will always choose the fastest paths. We call the type 1 players non-flexible players, and type 2 players flexible players. We assume that each player’s type is unknown to other players. For a player 𝑖, the strategy consists of two parts: the path to choose, and the path to report. Each player has to choose one path 𝑐𝑖 , but can choose to report any path 𝑟𝑖 , or not to report any path choice at all. For each type of players, their strategy sets are defined as follows: ∙ Non-flexible players A non-flexible player needs to take a particular path regardless of other player’ path choices and reports. Therefore, a non-flexible player cannot change the chosen path 𝑐𝑖 , but can choose his/her reporting path 𝑟𝑖 or choose not to report. This type of players includes the ones who have limited or intermittent wireless connections. These players might have difficulties communicating with the central system multiple times. 139 ∙ Flexible players A flexible player always chooses the fastest path based on the information provided by the central system. Both his/her routing choice and reporting choice are flexible. These are the players with strong and continuous wireless communication capabilities with the central system. With the strategy sets defined for each type of players, we assume that all players try to minimize their travel times. The analysis in the rest of this subsection establishes the following three main results: 1. The optimal strategy for a player is to report his/her true path choice if all other players are reporting their true path choices. More specifically, for a non-flexible player, his/her optimal strategy is to report the path he/she needs to take. For a flexible player, the optimal strategy is to take the path that he/she reports. 2. If all players always report their true path choices, the optimal strategy for a new incoming player is also to report his/her true path choice. 3. If all players always report their true path choices, it takes up to 𝑁 path changes to achieve an equilibrium, where 𝑁 is the number of players. Intuitively, players have incentives to report their true path choices because when they do, the central system will update the travel time on their chosen paths accordingly. Other players will then receive an increased travel time prediction on those paths and are more likely to avoid them. Table 3.1 shows the notations used in the analysis. First, we extend the definition of Wardrop equilibrium by including the reported path choices and player types. Lemma 3.1 (Extended Wardrop Equilibrium). If all players report their true path choices, that is, 𝑞𝑖 = 𝑝𝑖 , ∀𝑖 ∈ 𝐼, then when an equilibrium is reached (no one has 140 𝑀 = Total number of arcs. 𝑞 = 𝑞𝑓 = [ 𝑞1 𝑞2 · · · 𝑞𝑀 ] : reported number of players on each arc. [︁ ]︁ 𝑓 𝑞1𝑓 𝑞2𝑓 · · · 𝑞𝑀 : reported number of flexible players on each arc. 𝑝 = [ 𝑝1 𝑝2 · · · 𝑝𝑀 ] : the actual number of players on each arc. 𝑒𝑖 = [ 0 · · · 0 1 0 · · · 0 ] where the 1 is at the 𝑖’th entry. 𝑒𝑖𝑗 = [ 0 · · · 0 − 1 0 · · · 0 · · · 0 1 0 · · · 0 ] where the -1 is at the 𝑖’th entry, and j is at the 𝑗’th entry. When 𝑖 = 𝑗, 𝑒𝑖𝑗 is a null vector. 𝐸+ = {𝑖 : 𝑞𝑖𝑓 > 0}, i.e., for any route in the set, there is at least 1 flexible player who intends to take it. 𝐸0 = {𝑖 : 𝑞𝑖𝑓 = 0}, the complement of 𝐸 + . Table 3.1: Notations used in the game theoretic analysis of the traffic information exchange. incentive to change his/her reported path), the following inequality holds: 𝑓𝑖 (𝑞𝑖 ) ≤ 𝑓𝑗 (𝑞𝑗 + 1), ∀ 𝑖 ∈ 𝐸 +, 𝑗 ∈ 𝐸 (3.1) Proof. Prove by contradiction. Consider any flexible player who chooses route 𝑖 ∈ 𝐸 + . The travel time on arc 𝑖 is 𝑓𝑖 (𝑞𝑖 ). If the player decides to shift to arc 𝑗, the travel time on path 𝑗 will become 𝑓𝑗 (𝑞𝑗 + 1). If there exits a route 𝑖 ∈ 𝐸 + , and 𝑗 ∈ 𝐸 such that 𝑓𝑖 (𝑞𝑖 ) > 𝑓𝑗 (𝑞𝑗 + 1), then a flexible player who chooses 𝑖 would want to shift from route 𝑖 to 𝑗. Thus it could not be an equilibrium. Now consider a specific player 𝑛 in the system. Assume that all other players have chosen their paths and reported their true path choices, and will continue to do so if they receive updated information and decide to change paths. First we show that if player 𝑛 is a non-flexible player, his/her best strategy is to report the true path choice (compared to not reporting and reporting a fake path choice). Let 𝑐𝑛 be player 𝑛’s path choice, and 𝑟𝑛 be player 𝑛’s reported path, if any. Let 𝑝𝑛−1 be the vector of actual number of players choosing each arc if player 𝑛 does 141 not report his/her path choice. Let 𝑞 𝑛−1 be the vector of reported number of players ′ choosing each arc. Let 𝑞 𝑛 := 𝑞 𝑛−1 + 𝑒𝑟𝑛 be the updated vector of reported numbers immediately after player 𝑛’s report and before any adjustments by other players. Finally, let 𝑞 𝑛 be the vector of reported numbers when an equilibrium is reached. If player 𝑛 sends a report of choosing arc 𝑟𝑛 , the equilibrium condition (3.1) still holds for all arc 𝑖 except arc 𝑟𝑛 . For arc 𝑟𝑛 , there are two possibilities: if 𝑟𝑛 ∈ / 𝐸 + , i.e., there is no flexible player who chose 𝑟𝑛 , then (3.1) still holds for 𝑟𝑛 , and the equilibrium is maintained. On the other hand, if 𝑟𝑛 ∈ 𝐸 + , a flexible player who chose path 𝑟𝑛 might shift to route 𝑘 * = argmin𝑘∈𝐸 𝑓𝑘 (𝑞𝑘𝑛−1 + 1) and send a feedback to the central system. After that adjustment, the reported numbers become ′ 𝑞 𝑛 = 𝑞 𝑛 + 𝑒𝑟𝑛 ,𝑘* = 𝑞 𝑛−1 + 𝑒𝑟𝑛 + 𝑒𝑟𝑛 ,𝑘* = 𝑞 𝑛−1 + 𝑒𝑘* . The equilibrium is reached because 𝑓𝑘* (𝑞𝑘𝑛* ) = min𝑘∈𝐸 𝑓𝑘 (𝑞𝑘𝑛−1 + 1) ≤ 𝑓𝑗 (𝑞𝑗𝑛−1 + 1) = 𝑓𝑗 (𝑞𝑗𝑛 + 1), which satisfies the equilibrium inequality (3.1). In sum, 𝑞 𝑛 can be expressed as: 𝑛 𝑞 = ⎧ ⎪ ⎨𝑞 𝑛−1 + 𝑒𝑘* ⎪ ⎩𝑞 𝑛−1 + 𝑒𝑟 𝑛 𝑟𝑛 ∈ 𝐸 + 𝑟𝑛 ∈ /𝐸 (3.2) + where 𝑘 * = argmin𝑘∈𝐸 𝑓𝑘 (𝑞𝑘𝑛−1 + 1). Now consider 𝑝𝑛𝑐𝑛 , the actual number of players choosing arc 𝑐𝑛 after player 𝑛’s report: 1. If 𝑟𝑛 ∈ 𝐸 + , i.e., there are flexible players choosing arc 𝑟𝑛 , we have: 𝑝𝑛 = * 𝑝𝑛−1 + 𝑒𝑐𝑛 + 𝑒𝑟𝑛 ,𝑘* . Therefore we have 𝑝𝑛𝑐𝑛 = 𝑝𝑛−1 𝑐𝑛 + 1 + 1𝑐𝑛 (𝑘 ) − 1𝑐𝑛 (𝑟𝑛 ), where 1𝑏 (𝑥) is 1 if 𝑥 = 𝑏, 0 otherwise. 2. If 𝑟𝑛 ̸∈ 𝐸 + , i.e., there are no flexible players choosing arc 𝑟𝑛 , we have: 𝑝𝑛 = 𝑝𝑛−1 + 𝑒𝑐𝑛 . Thus we have 𝑝𝑛𝑐𝑛 = 𝑝𝑐𝑛−1 + 1. 𝑛 142 In sum, we have the following equation for 𝑝𝑛𝑐𝑛 : 𝑝𝑛𝑐𝑛 = ⎧ ⎪ * + ⎨𝑝𝑛−1 𝑐𝑛 + 1 + 1𝑐𝑛 (𝑘 ) − 1𝑐𝑛 (𝑟𝑛 ) 𝑟𝑛 ∈ 𝐸 ⎪ ⎩𝑝𝑛−1 + 1 𝑟𝑛 ∈ /𝐸 𝑐𝑛 (3.3) + With the equation of updated report (3.2) and the equation of actual number of players choosing arc 𝑐𝑛 (3.3), we are now in a position to discuss the optimal strategy for player 𝑛 depending on his/her type. ∙ Non-flexible players. If player 𝑛 is a non-flexible player, his/her route choice 𝑐𝑛 is fixed. Thus, minimizing 𝑓𝑐𝑛 (𝑝𝑛𝑐𝑛 ) is equivalent to minimizing 𝑝𝑛𝑐𝑛 due to the non-decreasing property of the travel time functions. From (3.3), we have the following three cases: 1. If player 𝑛 reports 𝑟𝑛 = 𝑐𝑛 , we have 𝑝𝑛𝑐𝑛 = ⎧ ⎪ ⎨𝑝𝑐𝑛−1 + 1𝑐𝑛 (𝑘 * ) 𝑟𝑛 ∈ 𝐸 + 𝑛 ⎪ ⎩𝑝𝑛−1 + 1 𝑐𝑛 𝑟𝑛 ∈ /𝐸 (3.4) + 2. If player 𝑛 does not report, we have 𝑝𝑛𝑐𝑛 = 𝑝𝑐𝑛−1 +1 𝑛 (3.5) 3. If player 𝑛 reports a fake path 𝑟𝑛 ̸= 𝑐𝑛 , we have 𝑝𝑛𝑐𝑛 = ⎧ ⎪ ⎨𝑝𝑐𝑛−1 + 1 + 1𝑐𝑛 (𝑘 * ) 𝑟𝑛 ∈ 𝐸 + 𝑛 ⎪ ⎩𝑝𝑛−1 + 1 𝑐𝑛 (3.6) 𝑟𝑛 ∈ / 𝐸+ It is clear from (3.4), (3.5), and (3.6) that reporting the true path choice is a dominating strategy. 143 ∙ Flexible players. A flexible player can choose both his/her actual path 𝑐𝑛 , and his/her reported path 𝑟𝑛 . Therefore he/she is minimizing 𝑓𝑐𝑛 (𝑝𝑛𝑐𝑛 ) for 𝑐𝑛 = 1, 2, · · · , 𝑀 . This is a more complex scenario than the one we had for non-flexible players. However, we can still use the proof for non-flexible players to show that 𝑟𝑛 = 𝑐𝑛 is a dominating strategy. That is, when an equilibrium is reached, player 𝑛’s strategy must have the same chosen path and reported path. Again from (3.3), we have the following three cases for any path 𝑐𝑛 that is chosen by player 𝑛: 1. If player 𝑛’s strategy satisfies 𝑟𝑛 = 𝑐𝑛 , we have 𝑝𝑛𝑐𝑛 = ⎧ ⎪ ⎨𝑝𝑐𝑛−1 + 1𝑐𝑛 (𝑘 * ) 𝑟𝑛 ∈ 𝐸 + 𝑛 ⎪ ⎩𝑝𝑛−1 + 1 𝑐𝑛 𝑟𝑛 ∈ /𝐸 (3.7) + 2. If player 𝑛 does not report, we have +1 𝑝𝑛𝑐𝑛 = 𝑝𝑐𝑛−1 𝑛 (3.8) 3. If player 𝑛 reports a fake path 𝑟𝑛 ̸= 𝑐𝑛 , we have 𝑝𝑛𝑐𝑛 = ⎧ ⎪ ⎨𝑝𝑐𝑛−1 + 1 + 1𝑐𝑛 (𝑘 * ) 𝑟𝑛 ∈ 𝐸 + 𝑛 ⎪ ⎩𝑝𝑛−1 + 1 𝑐𝑛 (3.9) 𝑟𝑛 ∈ / 𝐸+ Again, it is clear from (3.7), (3.8), and (3.9) that reporting the true path choice is a dominating strategy. Therefore, flexible players’ possible optimal strategies can only be the ones with matching chosen path and reported path. To summarize our analysis above for player 𝑛, we have the following theorem: Theorem 3.1 (Truth-Telling). If all other players always report their true path choices, the optimal reporting strategy for a player is to always report his/her true path choice as well. 144 Theorem 3.1 suggests that players are not only unable to manipulate the system to gain personal advantages, they also have incentives to report true path choices to the system. Note that the proof of Theorem 3.1 also applies to a new incoming player into the system. Because the new incoming player has not reported his/her path choice when he/she first requests information from the central system, the initial status of the system is 𝑞 𝑛−1 . Therefore the analysis also applies to the new player. This result is summarized in Corollary 3.1. Corollary 3.1 (Sequential Truth-Telling). If all players always report their true path choices, the optimal reporting strategy for a new incoming player is to always report his/her true path choice as well. Next, we show that if all players always report their true path choices, it takes up to 𝑁 path changes in total to achieve an equilibrium for the whole system, where 𝑁 is the number of players. Consider the following procedure: 1. Let 𝑞 0 be the initial reported number of players choosing each path. Set 𝑛 := 0. (𝑛 keeps track of the number of adjustments.) 2. Examine 𝑞 𝑛 . If (3.1) holds, an equilibrium is reached. Halt the procedure. 3. If (3.1) does not hold, there exists 𝑖𝑛 ∈ 𝐸 𝑛+ , 𝑗 ∈ 𝐸 such that 𝑓𝑖𝑛 (𝑞𝑖𝑛𝑛 ) > 𝑓𝑗 (𝑞𝑗𝑛 + 1). Let 𝑗 𝑛 := argmin𝑗∈𝐸 𝑓𝑗 (𝑞𝑗𝑛 + 1) (3.10) 𝑓𝑖𝑛 (𝑞𝑖𝑛𝑛 ) > 𝑓𝑗 𝑛 (𝑞𝑗𝑛𝑛 + 1) (3.11) Then we have: Thus, one flexible player who chose 𝑖𝑛 will shift to 𝑗 𝑛 , and will report this adjustment. 4. Set 𝑞 𝑛+1 := 𝑞 𝑛 + 𝑒𝑖𝑛 𝑗 𝑛 , and 𝑛 := 𝑛 + 1. Jump to step 2. 145 For the (𝑛 + 1)’th adjustment, for all 𝑘 ̸= 𝑖𝑛 , we have 𝑞𝑘𝑛+1 ≥ 𝑞𝑘𝑛 . Therefore 𝑓𝑘 (𝑞𝑘𝑛+1 + 1) ≥ 𝑓𝑘 (𝑞𝑘𝑛 + 1) ≥ min 𝑓𝑒 (𝑞𝑒𝑛 + 1) 𝑒∈𝐸 (3.12) Inequality (3.12) shows that the value of min𝑒∈𝐸 𝑓𝑒 (𝑞𝑒𝑛 + 1) is non-decreasing as 𝑛 increases. For 𝑘 = 𝑖𝑛 , using (3.11), we have: 𝑓𝑘 (𝑞𝑘𝑛+1 + 1) = 𝑓𝑖𝑛 (𝑞𝑖𝑛+1 + 1) = 𝑓𝑖𝑛 (𝑞𝑖𝑛𝑛 ) > 𝑓𝑗 𝑛 (𝑞𝑗𝑛𝑛 + 1) = min 𝑓𝑒 (𝑞𝑒𝑛 + 1) 𝑛 𝑒∈𝐸 (3.13) Thus, for all 𝑘 ∈ 𝐸 we have 𝑓𝑘 (𝑞𝑘𝑛+1 + 1) ≥ min𝑒∈𝐸 𝑓𝑒 (𝑞𝑒𝑛 + 1). Therefore min 𝑓𝑒 (𝑞𝑒𝑛+1 + 1) ≥ min 𝑓𝑒 (𝑞𝑒𝑛 + 1) 𝑒∈𝐸 𝑒∈𝐸 (3.14) In order to show that each player needs to change path at most once, we first prove the following lemma: Lemma 3.2. If up to the 𝑛’th adjustment, there is at least one player who shifted to route 𝛼, then no player will shift away from 𝛼 in the future. Proof. Prove by contradiction. Let 𝑛 be any number satisfying that at least one player shifts to path 𝛼 up to the 𝑛’th adjustment. Assume that there is one player who shifts away from 𝛼 at the 𝑚’th adjustment, where 𝑚 ≥ 𝑛. Now let 𝑘𝛼 be the last adjustment that a player shifts to 𝛼. Then 𝑘𝛼 ≤ 𝑛 ≤ 𝑚, and 𝑞𝛼𝑘𝛼 ≥ 𝑞𝛼𝑚 by such definition. Applying (3.14), we have 𝑓𝛼 (𝑞𝛼𝑘𝛼 + 1) = min 𝑓𝑒 (𝑞𝑒𝑘𝛼 + 1) ≤ min 𝑓𝑒 (𝑞𝑒𝑚 + 1) < 𝑓𝛼 (𝑞𝛼𝑚 ) ≤ 𝑓𝛼 (𝑞𝛼𝑘𝛼 ) ≤ 𝑓𝛼 (𝑞𝛼𝑘𝛼 + 1) 𝑒∈𝐸 𝑒∈𝐸 (3.15) which is a contradiction. Now consider a set 𝐴𝑛 including all path 𝛼 such that at least one player shifted to 𝛼 up to the 𝑛’th adjustment. After an adjustment 𝑛, there will always be one player who shifts from a route outside 𝐴𝑛+1 to inside 𝐴𝑛+1 and never shifts elsewhere 146 thereafter. Thus, this process will come to an end within 𝑁 adjustments, where 𝑁 is the number of players. Theorem 3.2 (Fast Convergence). If all players report their true route choices all the time, an equilibrium will be reached within 𝑁 adjustments, where 𝑁 is the number of players. Theorem 3.2 and its proof show that an equilibrium is always reached, quickly under any initial status. 3.3 A Behavioral Experiment In order to test the effectiveness of the traffic information exchange in practice, we set up a series of behavioral experiments with human subjects. The goal of the experiments is to test in a lab-controlled environment how people make path choices based on the communication with the traffic information exchange. In this section, we first introduce the settings of the experiments, then we analyze the data we obtained from the experiments and discuss insights we gain from the experiment. Our main goals of this experiment are 1) to find out how does the traffic information exchange affect people’s travel time, and 2) to find out how does the traffic information exchange affect the performance of the whole traffic system. In order to achieve these goals, we design an online game that simulates a path choice decision process. The user interface of the experiment is shown in Figure 3-3. 3.3.1 Overview of the Experiment The background setting of the experiment is that a student needs to drive daily from work back home during rush hour. He/she wants to choose a fastest path from work (MIT) to home (Boston south station) everyday. A map is shown in Figure 3-4. There are three paths to choose from: 1. Path 1 is the fastest path without traffic. It has a medium road capacity and a medium distance. 147 Figure 3-3: User interface of the online traffic game. Figure 3-4: Background of the online game: Choosing a path from an origin (MIT) to a destination (Boston south station). 2. Path 2 is through a highway. The path has a large capacity and longest distance. 3. Path 3 is through downtown. The path has a small capacity and shortest distance. Each player of this experiment is asked to choose a path to minimize the travel time. The travel time on each path depends on the total amount of traffic on the path. We will illustrate the travel time functions we use and the definition of “traffic” on each path later. 148 Figure 3-5: The online traffic game is played in terms of rounds. Each round lasts for 15 seconds, and each player is asked to choose a fastest path. The game is played in terms of rounds, as shown in Figure 3-5. In each round, each player is required to choose one of the three paths. We assume that all players depart from the origin at the same time, and the traffic they experience will be affected by each other’s path choices. We inform all players of this setting. We provide incentives (gift cards) for players to try minimizing their travel time. Each round lasts for 15 seconds, and 200 rounds are played in each experimental session. In order to test the effectiveness of the traffic information exchange, we also setup three other types of information systems. The first type is a no-communication system in which each player is only given the free-flow travel time and the path distance. The second type is a system that feeds real-time traffic information to each player. The real-time traffic is assumed to be the traffic on the road 15 minutes before the players depart. Players receive an estimated travel time based on this real-time traffic. The third type is a system that provides a static traffic prediction, i.e., the expected travel time based on the real-time traffic and the historical traffic patterns. For the traffic information exchange, we have a dynamic feedback system: when a player chooses a path, the choice is sent to the central system and the central system updates the prediction of travel time on each path accordingly. The updated predictions are then sent back to each player. The players can switch their paths based on the updated predictions as many times as they want in each round. In summary, we have the following four types of information systems: 1. No dynamic information – Only free-flow time and distance. 2. Real-time traffic information – Travel time estimated from current traffic. 3. Traffic prediction – Predicted travel time based on real-time and historical traffic 149 information. 4. Traffic information exchange – Players’ choices are sent to the central system and they receive travel time predictions that are dynamically updated. Each player plays 50 rounds receiving type 1 information, 50 rounds receiving type 2 information, 50 rounds receiving type 3 information, and 50 rounds using the traffic information exchange. We collect the travel time of each player in each round, and analyze their average travel time when different types of information are provided. 3.3.2 Technical Details of the Experiment In this subsection, we dive deeper into the design of the experiments and illustrate several technical details of the experiments. There are three main parts in this subsection: 1. Definition of travel time functions. 2. The way to compute the total traffic on each path. 3. Session-specific settings. Travel Time Functions We use the Bureau of Public Roads (BPR) curve [1] as our travel time function. It is an empirical curve suggested by the US Department of Transportation. It is widely used in literature and frequently applied in traffic scheduling and control in practice. The function is defined as follows: Congested Speed = Free-Flow Speed 1 + 0.15 · [Volume/Road Capacity]4 (3.16) This definition of BPR curve leads to the following travel time function: [︀ ]︀ Travel Time = Free-Flow Time · 1 + 0.15 · (Volume/Road Capacity)4 (3.17) In (3.16), the free-flow speed and road capacity are parameters. Generally, the freeflow speed is associated with the condition of the road. For example, the free-flow 150 Path 1 2 3 Distance (miles) 2.8 5.9 2.6 Free-flow time (minutes) 10.2 15.3 12.1 Capacity 10 15 8 Table 3.2: Parameters for each path. The free-flow time and capacity are used in computing the travel times. speed on highways is faster than local roads, and faster than dirt roads with bad paving conditions. The free-flow time in (3.17) is equal to the distance divided by the free-flow speed. Road capacities are the maximum amount of traffic that could go through the road at a unit of time. Generally, the wider the road, the higher the road capacity is. Volume is the variable that depends on the amount of traffic on the road. Table 3.2 lists the parameters for each path. Traffic on Paths In order to explain how traffic on each path is calculated, we first explain how we generate the real-time traffic. Recall that the real-time traffic is assumed to be the amount of traffic 15 minutes before the players depart. We assume that the total amount of real-time traffic is 40 units. In other words, the simulated traffic on all paths should sum to 40. In order to add randomness into the traffic, we generate real-time traffic from a normal distribution for each path. We calculated the mean and variance in the following way: ∙ Mean Let the travel time function for the three paths be 𝑓1 (𝑞1 ), 𝑓2 (𝑞2 ), and 𝑓3 (𝑞3 ), respectively. From the definition of Wardrop equilibrium [94], we know that when an equilibrium is reached, we must have 𝑞1 , 𝑞2 , and 𝑞3 such that 𝑓1 (𝑞1 ) = 𝑓2 (𝑞2 ) = 𝑓3 (𝑞3 ). Recall that we also have 𝑞1 + 𝑞2 + 𝑞3 = 40. Using the travel time functions, we can obtain an equilibrium of 14.42, 15.55, and 10.03 units of flow on each of the three paths. The percentages corresponding to the flows are 36.1%, 38.8%, and 25.1%, respectively. We use the traffic on each path at equilibrium as the mean of the normal distribution. 151 Path 1 2 3 Equilibrium Traffic 14.42 15.55 10.03 Percentage 36.1% 38.8% 25.1% Variance 6.92 9.50 7.52 Table 3.3: Parameters used to generate real-time traffic on each path. ∙ Variance In order to obtain a variance, we assume each player chooses each path with the probability equal to the percentage of traffic on each path. For example, we assume each player chooses path 1 with 36.1% of probability. This implies that the variance is 𝑛·𝑝(1−𝑝). In our example, there are 40 units of real-time traffic. Thus, the variance for path 1 is equal to 40 * 36.1% * (1 - 36.1%) = 9.23, and the normal distribution we used to generate the simulated traffic on path 1 has a variance equal to 6.92. Similarly, we can compute the variance on the other two paths in the same way. Their variances are 9.50 and 7.52, respectively. Table 3.3 summarizes all the parameters for the normal distributions used to general real-time traffic. Next, we introduce how we compute the actual traffic on each path, that is, the traffic each player experiences on each path. The traffic consists of three components: 1) Player traffic, 2) simulated traffic, and 3) residual traffic. Player traffic is the number of players who choose the path. The simulated traffic is the amount of traffic that departs at the same time with the players. The residual traffic is the amount of traffic that has not cleared the road by the time the players depart. The player traffic is easy to understand. We now explain the simulated traffic and residual traffic in more details. The simulated traffic is the amount of traffic that departs at the same time with the players. We again assume that the expected total amount of traffic is 40 units. Therefore the amount of simulated traffic is equal to 40 minus the number of players. For example, if we have 10 players, the expected total simulated traffic on all paths is 40 - 10 = 30. We generated simulated traffic through normal distributions as well. The means and variances that we use is computed the same way as we did for the 152 real-time traffic, except we use 30 units of total flow instead of 40 units. The residual traffic is the amount of traffic that is still on the road when the players depart. This traffic is computed in the following way: Based on the real-time traffic, we can computed the travel time according to function (3.17). Since we assumed that the real-time traffic is the traffic 15 minutes before the players depart, we know that if the travel time on a path is more than 15 minutes, there will still be traffic left on the road when the players depart. If this is the case, we assume that the proportion of traffic that is still on the road is 1 − 15/𝜏 , where 𝜏 is the travel time. If we let 𝑛 be the amount of total traffic on the road, then the residual traffic is 𝑛 · (1 − 15/𝜏 ). This equation means that the greater the congestion is (the longer the travel time is), the more traffic is left on the road. Therefore, if a real-time traffic is bad on a road, it is more likely that the players will encounter more residual traffic on the road when they travel. With the three components – the player traffic, the simulated traffic, and the residual traffic – we then define the overall traffic on each path as the sum of these three types of traffic: Total Traffic = Player Traffic + Simulated Traffic + Residual Traffic (3.18) Using (3.18) and the travel time function (3.17), we can then compute the travel time on each path for each player in each round. In order to make the results more comparable, we generate random real-time traffic and simulated traffic for 50 rounds. Because in the experiment sessions each player receives each of the four types of information for 50 rounds, we repeat these randomlygenerated traffic in every 50 rounds as well. We do not inform players that the traffic data is repeated in every 50 rounds, and according to our posterior communications with the players, they are not aware of this repeated use of randomly generated traffic. The advantage of such a repeated use of data is that we are able to compare the average travel time for the corresponding rounds without being significantly affected by the randomness of real-time traffic and simulated traffic. For example, if we have 153 the same real-time traffic and simulated traffic in round 1, 51, 101, and 151, the only variables in those rounds are the path choices of the players. Using this trick, we can better examine whether the traffic information exchange helps players make better decisions and/or helps reduce the overall performance of the whole system. Session-Specific Settings We run three sessions of experiments with different numbers of players. In the first session, we have 10 players, and in the second session we have 20 players. In each session, players play 200 rounds of the game. In the first 50 rounds, all players receive no dynamic information. They are only shown the distances and free-flow travel time of each path. In rounds 51 to 100, they receive realtime traffic information of each path. This information is the estimated travel time based on the current traffic. In rounds 101 to 150, players receive static prediction information. The system computes the expected amount of traffic by summing the residual traffic and the equilibrium traffic on each path. Then it sends the estimated travel time to all players. Note that this prediction does not take the user feedback into account and does not change in each round. In the last 50 rounds, players play with the traffic information exchange. When they choose a path, the choice is sent back to the central system, and the central system updates its traffic predictions and travel time estimations accordingly. The central system then sends the updated information back to all players and process the next feedback from a different player. This process continues until the round ends. In the first two sessions, all players receive the same type of information all the time. A problem for the data analysis for these settings is that compared to earlier rounds, players have more experience with the system in the later rounds when they receive more dynamic information. Although we do not know whether this learning effect impacts each player’s average travel time positively or negatively, our conclusions are weakened by this possible factor. In order to overcome this difficulty, we run a third session with 16 players. In the first 50 rounds, 4 players receive no dynamic information, 4 players receive real-time information, 4 players receive static predictions, and the other 4 players use the traffic information exchange. In the next 50 rounds, 154 Figure 3-6: 10-player session: Average time spent due to traffic when players receive different types of information. we rotate all 16 players. That is, the 4 players who received no dynamic information now receive real-time information. The 4 players who received real-time information now receive static predictions. The 4 players who received static predictions now use the traffic information exchange. And the 4 players who used the traffic information exchange now receive no dynamic information. We rotate again for rounds 101 to 150, and rounds 151 to 200 as well. We can then compare the performance of players receiving different types of information in the each round. Using such rotations, we can mitigate the impact of learning on the change of average travel time. 3.3.3 Data Analysis In this section, we present the data and statistics of our experiment, and discuss the implications of these results. Session 1: In the first session, we had 10 players. We demonstrated the user interface of the experiment, and ran 5 rounds with each information type before starting the formal experiment session. The average extra time that users spent due to traffic is shown in Figure 3-6. As a comparison, we also show the average extra time spent by the simulated traffic, and the overall system performance in Figure 3-6. We first discuss the result shown in Figure 3-6 qualitatively. It is clear in Figure 3155 6 that when no traffic information is provided to players, the performance is the worst. Notice that the players’ average performance is even worse than the simulated traffic. It implies that when a group of drivers try to beat the traffic blindly, it actually results in a worse average travel time. When players receive the real-time traffic information, their average travel time is significantly improved. Interestingly, it also helps the simulated traffic, which does not receive or use any traffic information for their routing decisions. Moreover, the performance of the overall system also improves significantly. This observation implies that distributing the real-time traffic information to a small proportion of cars and drivers actually help improve the performance of the whole traffic system. When players receive the static prediction information, their average travel time does not decrease. On the contrary, it even increases. What we observe from the data is that many players choose paths according to the static prediction, which causes congestions on the paths that have lower travel time predictions. This is in line with our arguments in the beginning of this chapter: static prediction information becomes invalid when it is sent to drivers and impact their path choices. Finally, when the traffic information exchange is used, although the overall system performance is not improved, players who have access to the traffic information exchange outperform the simulated traffic. They also enjoys lower average travel time compared to when they receive other three types of information. Now we analyze the data quantitatively. If we treat each round as one trial, we have the following three groups of hypotheses: 1. Null hypothesis 𝐻0 (𝑖, 𝑗) for all 𝑖, 𝑗 ∈ 1, 2, 3, 4: The average travel times are the same when players receive type 𝑖 information and type 𝑗 information. For example, if we compute the 𝑝-value for 𝑖 = 2 and 𝑗 = 4 and it is less than 0.05, we can reject the null hypothesis 𝐻024 . It means that the average travel time when players use the traffic information exchange is less than when players only receive the real-time traffic information, and the difference is statistically significant. 156 Type 1 Type 2 Type 3 Type 2 0.0017 Type 3 Type 4 0.0185 0.0003 0.1317 0.0311 0.0032 Table 3.4: 10-player session: 𝑝-values of travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. Type 1 Type 2 Type 3 Type 2 0.0028 Type 3 0.0083 0.3627 Type 4 0.0018 0.1416 0.0806 Table 3.5: 10-player session: 𝑝-values of the overall travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. ^ 0 (𝑖, 𝑗) for all 𝑖, 𝑗 ∈ 1, 2, 3, 4: The average travel times of the 2. Null hypothesis 𝐻 whole traffic system are the same when players receive type 𝑖 information and type 𝑗 information. For example, if we compute the 𝑝-value for 𝑖 = 2 and 𝑗 = 4 and it is less ^ 24 . It means that the average than 0.05, we can reject the null hypothesis 𝐻 0 travel time of the whole traffic system when players use the traffic information exchange is less than when players only receive the real-time traffic information, and the difference is statistically significant. ˜ 0 (𝑖) for 𝑖 = 1, 2, 3, 4: The average travel time of the players 3. Null hypothesis 𝐻 are the same as the simulated traffic. If we can reject, for instance, hypothesis ^ 0 (4), we can claim that the improvement of travel time when players use the 𝐻 traffic information exchange is statistically significant. Table 3.4 shows the 𝑝-values for hypotheses 𝐻0 (𝑖, 𝑗). Table 3.5 shows the 𝑝-values ^ 0 (𝑖, 𝑗). Table 3.6 shows the 𝑝-values for hypotheses 𝐻 ˜ 0 (𝑖). for hypotheses 𝐻 From Table 3.4, we can see that when players do not receive any information, their travel times are significantly worse than when they receive dynamic traffic information 157 Type 1 Type 2 Type 3 𝑝-values 0.0004 0.1401 0.0041 Type 4 0.0171 Table 3.6: 10-player session: 𝑝-values of the differences between the travel time of players and the travel time of simulated traffic. Type 1: No dynamic information received. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. from the central system. When comparing the differences of travel times when players receive the three kinds of dynamic information, we can see that the difference between getting real-time traffic information and getting static prediction is not significant. However, when players use the traffic information exchange, their average travel time is significantly decreased. Table 3.5 shows the performance of the overall traffic system. Note that the improvement is significant when players receive information from the central system, but other than that, there is no strong enough evidence to claim that the difference of travel time when players receive each of the three types of dynamic information is significant. Finally, table 3.6 suggests that the performance of players is actually significantly worse than the general traffic when they receive no information and when they receive static predictions. On the other hand, when players receive the real-time traffic information, their performance is not significantly different from the general traffic. This result suggests that 1) the general assumption that the daily traffic will reach an equilibrium is not always true, even though it is widely used in literatures related to network design and traffic assignment; 2) feeding drivers static prediction is even worse than simply providing them real-time traffic information. When the traffic information exchange is applied, however, the average travel time of the players is significantly lower than the general traffic. From the results and discussions above, we can see that the traffic information helps not only the players, but also the whole traffic system. The traffic information exchange system on the other hand helps users to outperform the general traffic, but does not significantly improve the travel time of the whole system. 158 Figure 3-7: 20-player session: Average time spent due to traffic when players receive different types of information. Session 2: In the second session, we had 20 players. The other game settings are the same as in session 1. Recall that we always have 40 units of traffic, therefore comparing to session 1, in which players are accounted for 25% of traffic, in session 2 we have players that are 50% of the traffic. The average extra time that users spent due to traffic is shown in Figure 3-7. As a comparison, we also show the average extra time spent by the simulated traffic, and the overall system performance in Figure 3-7. From Figure 3-7 we can draw very similar conclusions as the ones from session 1. When no traffic information is provided to players, the performance is the worst. Notice that the players’ average performance is much worse than the simulated traffic. It implies that it is hard for drivers to have a good estimate of their travel times when they do not have extra information. When players receive real-time traffic information, their travel time is again significantly improved. So does the simulated traffic. As a result, the performance of the overall system also improved significantly, down from an average of 14 minutes to 11.7 minutes. This observation strengthens our claim that distributing real-time traffic information to cars and drivers helps the performance of not only those cars and drivers, but the whole traffic system. Surprisingly, when players receive the static prediction information, their average travel time actually increases by a relatively large amount. This phenomenon again 159 Type 1 Type 2 Type 3 Type 2 0.0023 Type 3 0.0275 0.0824 Type 4 0.00006 0.0039 0.0001 Table 3.7: 20-player session: 𝑝-values of the travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. shows that the static prediction information becomes invalid when it is sent to drivers and impact their path choices. Even worse, it could misguide drivers into congestions that are caused by the static prediction itself. Players’ average travel time reduces significantly when the traffic information exchange is used – going from 12.2 minutes when they receive real-time traffic information down to 10.5 minutes. The whole traffic system also benefits from the use of the traffic information exchange. It shows that the more drivers who use such a system to communicate, the more we can reduce the travel time of the whole traffic system. Note that although the performance of the whole system improved by a large amount, the major benefits still goes to the players who use the traffic information exchange. Similar to the statistical analysis for session 1, we have the following three groups of hypotheses: 1. Null hypothesis 𝐻0 (𝑖, 𝑗) for all 𝑖, 𝑗 ∈ 1, 2, 3, 4: The average travel times are the same when players receive type 𝑖 information and type 𝑗 information. ^ 0 (𝑖, 𝑗) for all 𝑖, 𝑗 ∈ 1, 2, 3, 4: The average travel time of the 2. Null hypothesis 𝐻 whole traffic system are the same when players receive type 𝑖 information and type 𝑗 information. ˜ 0 (𝑖) for 𝑖 = 1, 2, 3, 4: The average travel time of the players 3. Null hypothesis 𝐻 are the same as the simulated traffic when players receive type 𝑖 information. Table 3.7 shows the 𝑝-values for hypotheses 𝐻0 (𝑖, 𝑗). Table 3.8 shows the 𝑝-values ^ 0 (𝑖, 𝑗). Table 3.9 shows the 𝑝-values for hypotheses 𝐻 ˜ 0 (𝑖). for hypotheses 𝐻 160 Type 1 Type 2 Type 3 Type 2 0.0015 Type 3 Type 4 0.0232 0.0002 0.0501 0.0207 0.0014 Table 3.8: 20-player session: 𝑝-values of the overall travel time differences when players receive different types of information. Type 1: No dynamic information. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. Type 1 𝑝-values 0.00002 Type 2 0.0009 Type 3 0.00002 Type 4 0.0107 Table 3.9: 20-player session: 𝑝-values of the differences between players’ travel time and the travel time of the simulated traffic. Type 1: No dynamic information received. Type 2: Real-time traffic. Type 3: Static prediction. Type 4: Traffic information exchange. The bold numbers highlight the statistically significant differences at 5% level. Table 3.7 shows that we can draw the same conclusions as the ones from session 1: when players do not receive any information, their travel times are significantly worse than when they receive information from the central system. When players use the traffic information exchange, their travel time is significantly decreased. Comparing to the results of session 1 shown in Table 3.4, we can see that the 𝑝-value becomes smaller, which implies that the evidences become stronger as our experiment subjects takes a larger proportion of the overall traffic. Table 3.8 shows the performance of the whole traffic system. This time, the improvements are significant for the whole system when the traffic information exchange is used. Recall that the 𝑝-values shown in Table 3.8 suggest that the evidence of such improvements is not strong enough to reject the null hypothesis. From this comparison, we can see that as the number of users of the traffic information exchange grows, the improvement of the performance of the whole system could become more significant. Finally, table 3.9 shows that the performance of players is significantly different from the general traffic, and the evidences are very strong no matter what type of information the players receive. Note that for type 1 (no dynamic information), 161 type 2 (real-time traffic information), and type 3 (static prediction), players’ average travel times are all significantly longer than the simulated traffic. However, for type 4, players’ average travel time becomes significantly less than the simulated traffic. This sharp change greatly demonstrates the power of the traffic information exchange. Session 3: As mentioned previously in the experiment overview, we slightly changed the format of the experiment in session 3 in order to mitigate the impact of the learning effect on our results. In the last session, we had 16 players. In the first 50 rounds, 4 players receive no dynamic information (type 1), 4 players receive realtime information (type 2), 4 players receive static predictions (type 3), and the other 4 players use the traffic information exchange (type 4). In the next 50 rounds, we rotate all 16 players. That is, the 4 players who received no dynamic information now receive real-time information. The 4 players who received real-time information now receive static predictions. The 4 players who received static predictions now use the traffic information exchange. Finally, the 4 players who used the traffic information exchange now receive no dynamic information. We rotate again for rounds 101 to 150, and rounds 151 to 200 as well. The other experiment settings are the same as in session 1 and session 2. Recall that we always have 40 units of traffic, therefore we have players that are 10% of the traffic in each round receiving each type of information. The average extra time that users spent due to traffic is shown in Figure 3-8. The first four columns are the average travel times when players receive each of the 4 types of information. The last two columns are the performances of the simulated traffic and the overall system, respectively. Note that in this figure, each column represents the statistics of 200 rounds, instead of 50 rounds shown in the figures of the previous two sessions. Therefore, a slight difference of time in this figure is general more phenomenal than the same difference in the previous two figures. From Figure 3-8 we can see that most of the conclusions we had in the previous two sessions still hold: Players’ performances are the worst when they do not receive any information. Their travel times reduce when receiving real-time traffic informa162 Figure 3-8: 16-player rotation session: Average time spent due to traffic when players receive different types of information. Type Type Type Type 1 2 3 4 Type 2 0.0020 Type 3 Type 4 Simulated Traffic 0.0556 0.0000 0.0001 0.0250 0.0475 0.2356 0.0002 0.0434 0.0086 Table 3.10: 16-player session: 𝑝-values of the players’ travel time differences when receiving different types of information. The bold numbers highlight the statistically significant differences at 5% level. tion. When we send static predictions to players, however, their travel times increase due to the self-invalidation of the static predictions. Finally, when players use the traffic information exchange, they not only improve their average travel time, but also outperform the simulated traffic. For the statistical analysis, we now compare the travel time when players receive each type of information. Let the null hypothesis 𝐻0 (𝑖, 𝑗) be that the average travel times of players are the same when they receive type 𝑖 information and type 𝑗 information. Further, let 𝐻0 (𝑖, simulated traffic) be that the average player travel time when players receive type 𝑖 information is the same as the average travel time of simulated traffic. The 𝑝-values corresponding to these hypotheses are shown in Table 3.10. From Table 3.10, we can see that when players do not receive dynamic information, their average travel times are significantly greater than when they get real-time traffic information or use traffic information exchange. Also, these travel times are significantly greater than the average travel time of the simulated traffic. When 163 players the receive real-time traffic information (type 2), their performances improve significantly. Although it is still worse than the average travel time of the simulated traffic, it is not statistically significant. When players receive static predictions, their travel time increases due the self-invalidation of static predictions. This travel time is significantly worst than when players receive real-time traffic information or use the information exchange. It is slightly better than when players are not receiving any information, but the 𝑝-value is slightly higher than the 5% level. The most important result shown in Table 3.10 is that the traffic information exchange helps players significantly. For those who receive dynamically updated traffic information, they travel faster than players receiving all other types of information, and the simulated traffic as well. All these difference are statistically significant. The 𝑝-values are at 1% level when compared to the travel time of the simulated traffic. 3.3.4 Summary of the Experiment We close this section with a summary of our experiments and results. We designed an online traffic game and ran experiments with human subjects in order to test the effectiveness of the traffic information exchange. More specifically, we would like to examine how does the traffic information exchange mechanism affect people’s travel time compared to when people receive other types of information, such as real-time traffic information and static traffic prediction. We also would like to find out how does the traffic information exchange impact the traffic system as a whole. From the results of the experiment, we found that the traffic information exchange helped improve both the travel time of people who used it, and the performance of the whole traffic system. This improvement was statistically significant, compared to when people received no information, when people received real-time traffic information, and when people received static traffic predictions. Although the traffic information exchange brought improvements to the whole traffic system, the major benefits of travel time reduction went to the people who used the system. As a conclusion, our experiments verified the usefulness and effectiveness of the traffic information exchange in a lab-controlled setting. 164 3.4 Summary and Future Research In this chapter, we introduced a new traffic information system called traffic information exchange. We first introduced the mechanism of the traffic information exchange. This system allows drivers to communicate with the central information system in turns. The system updates the traffic predictions after receiving drivers’ path choices, then sends the information back to the next driver who requests the information. This mechanism resolves the dilemma that traffic predictions become invalid when they are broadcast and change drivers’ behaviors. The system does not dictate users’ path choices, and does not perturb prediction information. It allows drivers to coordinate among themselves and can lead to a more evenly distributed traffic flow. We then built a game theoretic model showing that drivers had incentives to report their true path choices with the central information system. Further, we designed and ran a series of experiments that verified the effectiveness of such system. It showed that the average travel time of drivers who used the system was lower than the drivers who received only real-time traffic information, and was also lower than the general traffic that did not have access to the system. The experiments also showed that when more drivers used the system, the travel time could be further improved. Therefore we have a virtuous cycle: because people who use the system benefit from getting the predicted traffic information, more people will join the system, and consequently, the overall travel time of the whole system, including those people who do not use this system, is also improved. Our study of the traffic information exchange is just the first step towards a better traffic information system. There are more researches, both theoretical and practical, to be done. For instance, although there are examples in a non-parallel network that drivers might not have incentives to report their true paths choices, we can build simulation frameworks to test the scenarios in real-world road networks. Through simulations, we can examine how many people have incentives to report their true path choices. If the percentage is low, we might need to do location checking to verify the vehicles’ actual path choices, while if the percentage is high, we can let the 165 system run without requiring extra checking. Also, our experiments run under many assumptions, such as parallel paths, special traffic patterns, travel time functions, etc. In the future, we hope to run more experiments with other parameters to verify that our conclusions are not specific to this experimental setting. More ideally, if we can run field experiments on the road by tracking how drivers’ travel times change when the traffic information exchange is applied, we will be able to draw stronger conclusions of the utility of this system in practice, and modify it to achieve better results if necessary. 166 Chapter 4 Summary and Future Directions In this thesis, we discussed three main topics: 1) optimization in dynamic networks, 2) equilibrium in dynamic networks, and 3) a newly designed traffic information exchange. For the optimization in dynamic networks, we mainly studied the quickest flow problem and the quickest transshipment problem. The quickest flow problem is to find the minimum time needed to send a given amount of flow from one origin to one destination, and the quickest transshipment problem is similar to the quickest flow problem, except it allows multiple origins, destinations, supplies, and demands. We derived optimality conditions for the quickest flow problem, and developed simpler and faster algorithms to solve the problem. Our results show for the first time that the quickest flow problem can be solved within the same time bound as the min-cost flow problem in static networks, resolving a long-standing open problem. For the quickest transshipment problem, we introduced algorithms for solving the problem faster in several special cases. Using a same technique, we are able to approximate an optimal solution of the quickest transshipment problem more efficiently. In our research of optimization problems in dynamic networks, we developed new techniques and brought more insights for this class of problems. For example, we showed that most of these problems can be considered as parametric network flow problems in static networks. Therefore the tools and algorithms for solving parametric static network problems can be applied to design simpler and more efficient algorithms 167 for the optimization problems in dynamic networks. The cost-scaling framework, for example, might be helpful for the development of a more efficient and purely combinatorial algorithm for solving the quickest transshipment problem. For equilibria in dynamic networks, we introduced a new model of discrete dynamic congestion game. We showed that there exists an equilibrium in a game where all players either have the same origin or the same destination. We also showed that an equilibrium can be computed efficiently with respect to the number of players. In addition, we studied the average convergence speed to an equilibrium of best-response dynamics. We showed that despite the exponential convergence speed in the worst case, the average convergence speed is quadratic in the number of players. Finally, we showed that a continuous dynamic congestion game can be viewed as a limit of a sequence of discrete dynamic congestion games. This result connects the discrete and continuous models and provides a more rigorous definition of the continuous dynamic congestion game. Although gaining more attentions in the recent years in the algorithmic game theory community, the research on equilibria in dynamic networks is still primitive and scattered, mainly due to its complexity and difficulty. Therefore there are still many open problems in this area. For example, even through there might not exist an equilibrium in a dynamic network with multiple origins and multiple destinations, one might be able to define a sub-game perfect equilibrium in these networks. On the other hand, if we apply the concept of 𝜖-approximate equilibrium, which assumes that players stop changing their strategies when the improvements are limited, we might be able to show that when the amount of flow each player controls is limited, an 𝜖-approximate equilibrium can be reached. On top of it, one might be able to further prove a similar result of convergence from discrete dynamic congestion games to a continuous dynamic congestion game in the multiple origin multiple destination case. For the traffic information exchange, we first discussed the motivations behind its design. We demonstrated why broadcasting traffic predictions to all drivers is problematic, then introduced the mechanism of traffic information exchange in detail. 168 We built a game theoretic model to show that drivers have incentives to report their true path choices to the system if all other drivers in the system are also reporting their true path choices. Lastly, we designed and ran a series of online traffic experiments with human subjects. From these lab-controlled experiments, we concluded that the traffic information exchange helps improve the travel time of both the players using the system and the whole traffic system, although the major benefits of improvement goes to the people who use it. Our research on the traffic information exchange is just a first step towards a more efficient and effective traffic information system. There are more researches to be done. For example, theoretically, one could study the properties of the system with less assumptions and gain deeper understanding of the system. For the experimental research, more lab-controlled experiments should be run with different parameters to further verify the effectiveness of the system. Ideally, future researches would also include field experiments on roads if possible. From these new studies and experiments, researchers can gain more insights about the system and to make necessary adjustments. In sum, these extra studies can help make the traffic information exchange more practical and improve traffic conditions in transportation networks. 169 170 Bibliography [1] Federal Highway Administration. Urban transportation planning system. U.S. Dept. of Transportation, Washington, D.C. [2] Ravindra K Ahuja, Thomas L Magnanti, and James B Orlin. Network flows: theory, algorithms, and applications. 1993. [3] Takashi Akamatsu and Benjamin Heydecker. Detecting dynamic traffic assignment capacity paradoxes in saturated networks. Transportation Science, 37(2):123–138, 2003. [4] EJ Anderson, P Nash, and AB Philpott. A class of continuous network flow problems. Mathematics of Operations Research, 7(4):501–514, 1982. [5] Elliot Anshelevich and Satish Ukkusuri. Equilibria in dynamic selfish routing. In Algorithmic Game Theory, pages 171–182. Springer, 2009. [6] Marco Baglietto, Thomas Parisini, and Riccardo Zoppoli. Distributedinformation neural control: the case of dynamic routing in traffic networks. Neural Networks, IEEE Transactions on, 12(3):485–502, 2001. [7] J-B Baillon and Roberto Cominetti. Markovian traffic equilibrium. Mathematical Programming, 111(1-2):33–56, 2008. [8] Nadine Baumann and Martin Skutella. Solving evacuation problems efficiently– earliest arrival flows with multiple sources. In Foundations of Computer Science, 2006. FOCS’06. 47th Annual IEEE Symposium on, pages 399–410. IEEE, 2006. [9] M. Beckmann, C. McGuire, and C. Winsten. Studies in the Economics of Transportation. 1955. [10] Michael GH Bell. Stochastic user equilibrium assignment in networks with queues. Transportation Research Part B: Methodological, 29(2):125–137, 1995. [11] M. Ben-Akiva, M. Bierlaire, H. Koutsopoulos, and R. Mishalani. DynaMIT: a simulation-based system for traffic prediction. In DACCORS Short Term Forecasting Workshop, The Netherlands. Citeseer, 1998. [12] Umang Bhaskar, Lisa Fleischer, and Elliot Anshelevich. A stackelberg strategy for routing flow over time. Games and Economic Behavior, 2013. 171 [13] Luiz Fernando Bittencourt and Edmundo RM Madeira. Towards the scheduling of multiple workflows on computational grids. Journal of grid computing, 8(3):419–441, 2010. [14] Luiz Fernando Bittencourt and Edmundo Roberto Mauro Madeira. Hcoc: a cost optimization algorithm for workflow scheduling in hybrid clouds. Journal of Internet Services and Applications, 2(3):207–227, 2011. [15] Natashia Boland, Thomas Kalinowski, Hamish Waterer, and Lanbo Zheng. Scheduling arc maintenance jobs in a network to maximize total flow over time. Discrete Applied Mathematics, 163:34–52, 2014. [16] Glencora Borradaile, Philip N Klein, Shay Mozes, Yahav Nussbaum, and Christian Wulff-Nilsen. Multiple-source multiple-sink maximum flow in directed planar graphs in near-linear time. arXiv preprint arXiv:1105.2228, 2011. [17] J.A. Bottom. Consistent anticipatory route guidance. PhD Thesis, 2000. [18] Rainer E Burkard, Karin Dlaska, and Bettina Klinz. The quickest flow problem. Zeitschrift für Operations Research, 37(1):31–58, 1993. [19] Huseyin Ceylan and Halim Ceylan. A hybrid harmony search and transyt hill climbing algorithm for signalized stochastic equilibrium transportation networks. Transportation Research Part C: Emerging Technologies, 25:152–167, 2012. [20] H.K. Chen and C.F. Hsueh. A model and an algorithm for the dynamic useroptimal route choice problem. Transportation Research Part B, 32(3):219–234, 1998. [21] YL Chen and YH Chin. The quickest path problem. Computers & Operations Research, 17(2):153–161, 1990. [22] Roberto Cominetti, José R Correa, and Omar Larré. Existence and uniqueness of equilibria for flows over time. In Automata, Languages and Programming, pages 552–563. Springer, 2011. [23] José R Correa, Andreas S Schulz, and Nicolás E Stier-Moses. Fast, fair, and efficient flows in networks. Operations Research, 55(2):215–225, 2007. [24] Cristián E Cortés, Pedro Jara-Moroni, Eduardo Moreno, and Cristobal Pineda. Stochastic transit equilibrium. Transportation Research Part B: Methodological, 51:29–44, 2013. [25] Carlos F Daganzo. The cell transmission model: A dynamic representation of highway traffic consistent with the hydrodynamic theory. Transportation Research Part B: Methodological, 28(4):269–287, 1994. 172 [26] Carlos F Daganzo. The cell transmission model, part ii: network traffic. Transportation Research Part B: Methodological, 29(2):79–93, 1995. [27] David Eisenstat and Philip N Klein. Linear-time algorithms for max flow and multiple-source shortest paths in unit-weight planar graphs. In Proceedings of the forty-fifth annual ACM symposium on Theory of computing, pages 735–744. ACM, 2013. [28] Lisa Fleischer and Martin Skutella. The quickest multicommodity flow problem. In Integer Programming and Combinatorial Optimization, pages 36–53. Springer, 2002. [29] Lisa Fleischer and Martin Skutella. Quickest flows over time. SIAM Journal on Computing, 36(6):1600–1630, 2007. [30] Lisa Fleischer and Éva Tardos. Efficient continuous-time dynamic network flow algorithms. Operations Research Letters, 23(3):71–80, 1998. [31] Lisa K Fleischer. Faster algorithms for the quickest transshipment problem. SIAM journal on Optimization, 12(1):18–35, 2001. [32] Lisa K Fleischer. Universally maximum flow with piecewise-constant capacities. Networks, 38(3):115–125, 2001. [33] DR Ford and Delbert Ray Fulkerson. Flows in networks. Princeton university press, 2010. [34] Lester Randolph Ford and Delbert Ray Fulkerson. Constructing maximal dynamic flows from static flows. Operations research, 6(3):419–433, 1958. [35] T.L. Friesz, D. Bernstein, T.E. Smith, R.L. Tobin, and BW Wie. A variational inequality formulation of the dynamic network user equilibrium problem. Operations Research, 41(1):179–191, 1993. [36] T.L. Friesz, J. Luque, R.L. Tobin, and B.W. Wie. Dynamic network traffic assignment considered as a continuous time optimal control problem. Operations Research, 37(6):893–901, 1989. [37] David Gale. Transient flows in networks. The Michigan Mathematical Journal, 6(1):59–63, 1959. [38] Giorgio Gallo, Michael D Grigoriadis, and Robert E Tarjan. A fast parametric maximum flow algorithm and applications. SIAM Journal on Computing, 18(1):30–55, 1989. [39] Andrew Goldberg and Robert Tarjan. Solving minimum-cost flow problems by successive approximation. In Proceedings of the nineteenth annual ACM symposium on Theory of computing, pages 7–18. ACM, 1987. 173 [40] Andrew V Goldberg and Robert E Tarjan. Finding minimum-cost circulations by successive approximation. Mathematics of Operations Research, 15(3):430– 466, 1990. [41] Bruce Hajek and Richard G Ogier. Optimal dynamic routing in communication networks with continuous traffic. Networks, 14(3):457–487, 1984. [42] Horst W Hamacher, Stephanie Heller, and Benjamin Rupp. Flow location (flowloc) problems: dynamic network flows and location models for evacuation planning. Annals of Operations Research, 207(1):161–180, 2013. [43] S Han and BG Heydecker. Consistent objectives and solution of dynamic user equilibrium models. Transportation Research Part B: Methodological, 40(1):16– 34, 2006. [44] Martin L Hazelton and David P Watling. Computation of equilibrium distributions of markov traffic-assignment models. Transportation Science, 38(3):331– 342, 2004. [45] Chris Hendrickson and George Kocur. Schedule delay and departure time decisions in a deterministic model. Transportation science, 15(1):62–77, 1981. [46] Dorit S Hochbaum. The pseudoflow algorithm: A new algorithm for the maximum-flow problem. Operations research, 56(4):992–1009, 2008. [47] M. Hoefer, V. Mirrokni, H. Roglin, and S.H. Teng. Competitive routing over time. Internet and Network Economics, pages 18–29, 2009. [48] Bruce Hoppe and Éva Tardos. Polynomial time algorithms for some evacuation problems. In Proceedings of the fifth annual ACM-SIAM symposium on Discrete algorithms, pages 433–441. Society for Industrial and Applied Mathematics, 1994. [49] Bruce Hoppe and Éva Tardos. The quickest transshipment problem. Mathematics of Operations Research, 25(1):36–62, 2000. [50] Joel L Horowitz. The stability of stochastic equilibrium in a two-link transportation network. Transportation Research Part B: Methodological, 18(1):13– 28, 1984. [51] Yasunori Iida, Takamasa Akiyama, and Takashi Uchida. Experimental analysis of dynamic route choice behavior. Transportation Research Part B: Methodological, 26(1):17–32, 1992. [52] Naoyuki Kamiyama and Naoki Katoh. A polynomial-time algorithm for the universally quickest transshipment problem in a certain class of dynamic networks with uniform path-lengths. In Algorithms and Computation, pages 802–811. Springer, 2009. 174 [53] Naoyuki Kamiyama, Naoki Katoh, and Atsushi Takizawa. An efficient algorithm for the evacuation problem in a certain class of networks with uniform path-lengths. Discrete Applied Mathematics, 157(17):3665–3677, 2009. [54] R. Koch and M. Skutella. Nash equilibria and the price of anarchy for flows over time. Algorithmic Game Theory, pages 323–334, 2009. [55] Ronald Koch and Martin Skutella. Nash equilibria and the price of anarchy for flows over time. Theory of Computing Systems, 49(1):71–97, 2011. [56] Ekkehard Köhler, Rolf H Möhring, and Martin Skutella. Traffic networks and flows over time. In Algorithmics of Large and Complex Networks, pages 166–196. Springer, 2009. [57] Ekkehard Köhler and Martin Skutella. Flows over time with load-dependent transit times. SIAM Journal on Optimization, 15(4):1185–1202, 2005. [58] Kai Li and Shan-lin Yang. Non-identical parallel-machine scheduling research with minimizing total weighted completion times: Models, relaxations and algorithms. Applied mathematical modelling, 33(4):2145–2158, 2009. [59] Yi-Kuei Lin. System reliability of a stochastic-flow network through two minimal paths under time threshold. International journal of production economics, 124(2):382–387, 2010. [60] Nimrod Megiddo. Combinatorial optimization with rational objective functions. Mathematics of Operations Research, 4(4):414–424, 1979. [61] A. Messmer, M. Papageorgiou, and N. Mackenzie. Automatic control of variable message signs in the interurban Scottish highway network. Transportation Research Part C: Emerging Technologies, 6(3):173–187, 1998. [62] Manki Min. Synchronized flow-based evacuation route planning. In Wireless Algorithms, Systems, and Applications, pages 411–422. Springer, 2012. [63] Manki Min and Bipin C Neupane. An evacuation planner algorithm in flat time graphs. In Proceedings of the 5th International Conference on Ubiquitous Information Management and Communication, page 99. ACM, 2011. [64] Edward Minieka. Maximal, lexicographic, and dynamic network flows. Operations Research, 21(2):517–527, 1973. [65] Roger B Myerson. Game theory. Harvard university press, 2013. [66] Neema Nassir, Hong Zheng, Mark Hickman, and Yi-Chang Chiu. Optimal traffic routing for largescale evacuation in urban networks with various threat levels. Transportation Research Board, 2013. [67] Ariel Orda and Raphael Rom. On continuous network flows. Operations Research Letters, 17(1):27–36, 1995. 175 [68] James B Orlin. A faster strongly polynomial time algorithm for submodular function minimization. Mathematical Programming, 118(2):237–251, 2009. [69] James B Orlin. Max flows in o (nm) time, or better. In Proceedings of the fortyfifth annual ACM symposium on Theory of computing, pages 765–774. ACM, 2013. [70] Srinivas Peeta and Athanasios K Ziliaskopoulos. Foundations of dynamic traffic assignment: The past, the present and the future. Networks and Spatial Economics, 1(3-4):233–265, 2001. [71] Britta Peis, Martin Skutella, and Andreas Wiese. Packet routing: Complexity and algorithms. In Approximation and Online Algorithms, pages 217–228. Springer, 2010. [72] Britta Peis and Andreas Wiese. Universal packet routing with arbitrary bandwidths and transit times. In Integer Programming and Combinatoral Optimization, pages 362–375. Springer, 2011. [73] Andrew B Philpott and Mark Craddock. An adaptive discretization algorithm for a class of continuous network programs. Networks, 26(1):1–11, 1995. [74] Warren B Powell, Patrick Jaillet, and Amedeo Odoni. Stochastic and dynamic networks and routing. Handbooks in operations research and management science, 8:141–295, 1995. [75] Malcolm C Pullan. A study of general dynamic network programs with arc time-delays. SIAM Journal on Optimization, 7(4):889–912, 1997. [76] Tomasz Radzik. Parametric flows, weighted means of cuts, and fractional combinatorial optimization. Complexity in numerical optimization, pages 351–386, 1993. [77] B. Ran, D.E. Boyce, and L.J. LeBlanc. A new class of instantaneous dynamic user-optimal traffic assignment models. Operations Research, 41(1):192–202, 1993. [78] W. Ran Randolph et al. A link-based variational inequality model for dynamic departure time/route choice. Transportation Research Part B: Methodological, 30(1):31–46, 1996. [79] Robert W Rosenthal. A class of games possessing pure-strategy nash equilibria. International Journal of Game Theory, 2(1):65–67, 1973. [80] T. Roughgarden. Intrinsic robustness of the price of anarchy. In Proceedings of the 41st annual ACM symposium on Theory of computing, pages 513–522. ACM, 2009. 176 [81] Melanie Schmidt and Martin Skutella. Earliest arrival flows in networks with multiple sinks. Discrete Applied Mathematics, 2011. [82] Andreas S Schulz and Nicolás E Stier-Moses. Efficiency and fairness of systemoptimal routing with user constraints. Networks, 48(4):223–234, 2006. [83] Reinhard Selten, Thorsten Chmura, Thomas Pitz, Sebastian Kube, and Michael Schreckenberg. Commuters route choice behaviour. Games and Economic Behavior, 58(2):394–406, 2007. [84] Martin Skutella. An introduction to network flows over time. In Research Trends in Combinatorial Optimization, pages 451–482. Springer, 2009. [85] Daniel D Sleator and Robert Endre Tarjan. A data structure for dynamic trees. In Proceedings of the thirteenth annual ACM symposium on Theory of computing, pages 114–122. ACM, 1981. [86] DD Sleator and RE Tarjan. A data structure for dynamic trees. Journal of computer and system sciences, 26(3):362–391, 1983. [87] Michael J Smith. The existence of a time-dependent equilibrium distribution of arrivals at a single bottleneck. Transportation science, 18(4):385–394, 1984. [88] MJ Smith. A new dynamic traffic model and the existence and calculation of dynamic user equilibria on congested capacity-constrained road networks* 1. Transportation Research Part B: Methodological, 27(1):49–63, 1993. [89] GI Stassinopoulos and Panagiotis Konstantopoulos. Optimal congestion control in single destination networks. Communications, IEEE Transactions on, 33(8):792–800, 1985. [90] Stevanus Adrianto Tjandra. Dynamic network optimization with application to the evacuation problem. 2003. [91] S. Uagar. Dynamic traffic assignment by individual path minimization and queuing. Transportation Research/UK/, 5(3), 1971. [92] William S Vickrey. Congestion theory and transport investment. The American Economic Review, pages 251–260, 1969. [93] PTR Wang, WP Niedringhaus, DK Codelli, and MF McGurrin. A comparison of travel time reduction using current vs. partially predictive travel times. In Vehicle Navigation and Information Systems, 1992. VNIS., The 3rd International Conference on, pages 476–482. IEEE, 1992. [94] J.G. Wardrop. Some Theoretical Aspects of Road Traffic Research. In ICE Proceedings: Engineering Divisions, volume 1, pages 325–362. Ice Virtual Library, 1952. 177 [95] David Watling. Stability of the stochastic equilibrium assignment problem: a dynamical systems approach. Transportation Research Part B: Methodological, 33(4):281–312, 1999. [96] WL Wilkinson. An algorithm for universal maximal dynamic flows in a network. Operations Research, 19(7):1602–1612, 1971. [97] Norman Zadeh. A bad network problem for the simplex method and other minimum cost flow algorithms. Mathematical Programming, 5(1):255–266, 1973. [98] Hong Zheng. Efficient algorithms for the cell based single destination system optimal dynamic traffic assignment problem. 2009. [99] Hong Zheng, Yi-Chang Chiu, and Pitu B Mirchandani. A heuristic algorithm for the earliest arrival flow with multiple sources. Journal of Mathematical Modelling and Algorithms in Operations Research, 13(2):169–189, 2014. [100] Hong Zheng, Yi-Chang Chiu, Pitu B Mirchandani, and Mark Hickman. Modeling of evacuation and background traffic for optimal zone-based vehicle evacuation strategy. Transportation Research Record: Journal of the Transportation Research Board, 2196(1):65–74, 2010. 178