Optimization and Equilibrium in Dynamic Networks and Applications in Traffic Systems

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