Selfish Routing with Non-Increasing
Latency Functions
E NOCH C HEE -L OK L AU
200415765
SI
O
SID :
D
ERE·M
E
N
S·
E AD
M
E
·MUTA
T
Supervisor: Dr. Anastasios Viglas
This thesis is submitted in partial fulfillment of
the requirements for the degree of
Bachelor of Science (Honours) (Advanced)
School of Information Technologies
The University of Sydney
Australia
6 November 2007
Student plagiarism: compliance statement
I certify that:
(1) I have read and understood the University of Sydney Student Plagiarism: Coursework Policy and Procedure;
(2) I understand that failure to comply with the Student Plagiarism: Coursework Policy
and Procedure can lead to the University commencing proceedings against me for
potential student misconduct under Chapter 8 of the University of Sydney By-Law
1999 (as amended);
(3) this Work is substantially my own, and to the extent that any part of this Work is not
my own I have indicated that it is not my own by Acknowledging the Source of that
part or those parts of the Work.
Name: Enoch Chee-Lok Lau
Signature:
Date: 5 November 2007
ii
Abstract
Selfish routing is an area of study that lies at the intersection of theoretical computer science and the economic notions of game theory. It models the behaviour of self-interested,
or selfish, users through a network that suffers from the effects of congestion. Typically, the
congestion on a link in a network is assumed to be a non-decreasing function of the amount
of traffic being sent through that link. We provide a theoretical characterisation of the nature
of networks with selfish users in the case where link congestion is a non-increasing function
of the amount of traffic through that link, that is, we encourage congestion. In general, we
analyse the properties of these networks in ways analogous to the analyses of traditional congested networks: for example, the existence and uniqueness of flows at equilibrium, bounds
on the price of anarchy, and the existence of networks that display Braess’ Paradox. In particular, we develop new characterisations on the socially optimal and equilibrium flows in
terms of path flow patterns, and show that the two types of flows are trees under some mild
assumptions. We describe the price of anarchy for different classes of non-increasing latency functions, and discuss the failures of the bicriteria bound and marginal cost taxing in
this model. Finally, we provide an algorithm to compute economic incentives in a network
with n parallel links and for computing optima and equilibria.
iii
Licence
Copyright ©2007 Enoch Lau. Some Rights Reserved.
This work is licensed under the Creative Commons Attribution-Non-Commercial-No Derivative Works 2.5 Australia Licence.
Please see http://creativecommons.org/licenses/by-nc-nd/2.5/au/ for the details of
this licence if you wish to redistribute this work.
iv
Acknowledgements
I would like to thank my supervisor, Dr. Tasos Viglas, for his support and guidance throughout the year, and for his understanding even when difficulties seemed to rule the day. Thank
you for making this a memorable honours project. Thanks also go to Dr. Joachim Gudmundsson for some insightful discussions.
I would also like to thank my family and friends for their support throughout this challenging and sometimes stressful year.
v
C ONTENTS
Student plagiarism: compliance statement
ii
Abstract
iii
Licence
iv
Acknowledgements
v
List of Figures
x
List of Tables
xii
Part 1. Preliminaries
1
Chapter 1
2
Introduction
1.1
In this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.2
Selfish routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
1.3
Motivating examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.1
Pigou’s Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.3.2
Braess’ Paradox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
1.4
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.5
Aims and objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.6
Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.7
Structure of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Chapter 2
2.1
Background
10
Game theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.1
Prisoner’s dilemma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.2
Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.1.3
Pure and mixed equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.1.4
Existence of Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
vi
C ONTENTS
2.2
2.3
2.4
vii
Graph theory and selfish routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1
Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.2
The model and its assumptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.3
Wardrop’s first principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.4
Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.5
The price of anarchy and the price of stability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.6
Some useful properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Applications and criticisms of selfish routing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1
Mechanical networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.2
Computer networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3.3
Criticisms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Optimisation and related theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4.1
Mathematical analysis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.2
Optimisation without constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.4.3
Optimisation with constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.4.4
Nonlinear complementarity problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Part 2. Non-increasing latency functions
33
Chapter 3
34
3.1
Selfish routing with non-increasing latency functions
In this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.1
In this work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.2
Examples of non-increasing latency functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.2
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3
Simple networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4
3.5
3.3.1
Two-node, two-link networks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.2
Existence of Braess’ Paradox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.1
Economies of scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.4.2
Multicast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.3
Other applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Comparisons with existing models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5.1
On convexity and concavity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
C ONTENTS
3.5.2
Chapter 4
4.1
4.2
viii
Differences between user and traffic equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Characterisation of equilibria and optima
47
Social optima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.1
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4.1.2
Optima in our model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
4.1.3
Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.1
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.2.2
Existence of Wardrop equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2.3
Definition of Nash equilibrium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2.4
Existence of Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
4.2.5
Uniqueness of Nash equilibria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3
Geometric representation of feasible flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4
Single path per commodity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.5
4.4.1
Examples from the non-decreasing model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4.2
Caveat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.4.3
Social optimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.4.4
Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Tree-like flows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.1
Social optimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.5.2
Nash equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Chapter 5
5.1
The inefficiency of equilibria
68
The price of anarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1.1
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.1.2
Constant latency functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.3
The price of anarchy is unbounded . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
5.1.4
Latency functions of the form c(x) = k/x . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.2
Bicriteria bound . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
5.3
Computing equilibria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
5.4
Dealing with anarchy via economic incentives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5.4.1
Existing work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.4.2
Failure of marginal cost pricing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
C ONTENTS
5.4.3
Chapter 6
ix
Computing taxes for networks of parallel links. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Conclusion
81
6.1
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.2
Future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
References
83
List of Figures
1.1
Pigou’s Example.
4
1.2
Braess’ Paradox.
6
2.1
Mechanical network of springs and strings
23
2.2
A concave function in two variables, on a bounded, convex domain.
27
3.1
Latency functions for a two-node, two-link network with discontinuous latency
functions.
36
3.2
Plots of various functions f (x) that are non-increasing in the intervals shown.
38
3.3
A two-node, two-link network with non-increasing latency functions.
39
3.4
Braess’ Paradox in networks with non-increasing edge latency functions.
40
3.5
An example of a non-increasing latency function that does not have a concave cost. 43
3.6
Plots of x · f (x) of various functions f (x) that are non-increasing in the intervals
shown.
3.7
44
Latency functions for a two-node, two-link network with mixed non-increasing
and non-decreasing latency functions.
45
4.1
A two-node, two-link network with both edges having a latency function of 1 − x.
49
4.2
A two-node, two-link network with latency functions 1/x and 2.
55
4.3
A plot of x + y + z = 1 intersected with z = 0.
59
4.4
The geometric representation of the set of feasible flows for a network with one
commodity and four paths.
4.5
4.6
60
The geometric representation of the set of feasible flows for a network with two
commodities, the first with three and the other with two paths.
61
A two-node, two-link network with symmetric increasing latency paths.
62
x
L IST OF F IGURES
4.7
xi
The flow in a network with four commodities, with the flow between A and D split
into two.
66
5.1
A network with an unbounded price of anarchy.
70
5.2
A network with an unbounded price of anarchy, given unbounded traffic rate.
71
5.3
A plot of the cost function for a two-node, two-link network.
73
5.4
The effect of marginal cost taxes induce selfish users to cause flow equa to that of
the optimum.
76
5.5
Marginal cost tax diagram for a decreasing latency function.
77
5.6
A two-node, two-link network that shows the failure of marginal cost taxes in the
5.7
non-increasing selfish routing model.
78
A network of n parallel links and two nodes.
79
List of Tables
2.1
Payoff matrices for the prisoner’s dilemma game
11
2.2
Payoff matrix for the matching pennies game.
13
5.1
Bounds on the price of anarchy for various models with non-decreasing linear
latency functions.
5.2
5.3
68
Bounds on the price of anarchy for various models with non-decreasing polynomial
latency functions.
69
Bounds on the price of anarchy of the multicast game.
69
xii
Part 1
Preliminaries
C HAPTER 1
Introduction
1.1 In this work
In this work, we consider the problem of selfish routing, which is where we study the behaviour of users in a network where the users are free to choose their routing based on their
own travel times. The problem formulated so that traffic needs to be routed in a network
between pairs of source-destination nodes, and the characterisation of the patterns of flow
on the edges in the socially optimum routing and the selfishly-motivated routing are the objects of study in this field. Congestion is modelled by a flow-dependent edge latency function
attached to each edge of the network. Typically, the time delay or latency on a link is an nondecreasing function of the amount of flow on the network, but in this work, we consider the
case where the latency is non-increasing in the flow rates. The contributions made by this
work to the understanding of networks with non-increasing latency functions are:
• A description of the changed assumptions and how it interacts with existing assumptions in price of anarchy problems;
• The characterisation of optimal and Nash flows as having flows that tend to coagulate into common paths, and the formation of a tree-like flow pattern;
• The existence and uniqueness of Nash flows with non-increasing latency functions;
• A discussion on the measures of the inefficiency of user equilibria; and
• Algorithms for computing taxes in networks with parallel links, and for computing
optima and equilibria.
Without further ado, let us introduce you into the world of selfish routing.
2
1.2 S ELFISH ROUTING
3
1.2 Selfish routing
When you want to go from one place to another, how do you choose your route? There are
probably many factors that you take into account, such as convenience, safety and familiarity
with the various choices of routes, but a decisive factor is likely to be total time taken to reach
your destination, which you want to minimise. Also, do you consider the impact on others
of the increase in congestion that you will cause as a result of your choice of route? In all
likelihood, the answer is no – and you are not alone in thinking the same way. Other people
are going to be trying to minimise their travel times too, and their choices will impact on
you just as you will impact on them. What we have here are rational agents1 – purely selfinterested entities, or as we will term them, selfish users.
Perfectly rational, selfish users care only about maximising their own benefit, or minimising their own disutility. It is therefore quite natural to expect that the behaviour of selfish
users does not, in general, lead to a socially optimum outcome – and this situation, in general, occurs in networks that are susceptible to the effects of congestion. Network congestion
has an impact on our daily lives: the more vehicles that along a highway, the slower the traffic
moves, and the more users who download from the same web server, the longer it takes to
download files from it. Selfish routing is a mathematical model of selfish users in these kinds
of networks, and it allows for the study of the behaviour of these selfish users – possibly in
comparison with the socially optimum behaviour. With optimum behaviour, we can imagine
a central coordinator who can direct traffic through a network to ensure that the average (or
equivalently, the total) amount of time taken by all users is minimal. The differences between
the outcomes with and without such a central coordinator is what makes such mathematical
models interesting.
So far, we have implicitly taken congestion to be a bad thing – congestion causes slower
flows through a network, and therefore it is undesirable. Along with some other assumptions, the assumption that latencies, or more generally, costs, are a non-decreasing function
of flow has been assumed in the literature, with the exception of some very specific applications, such as in multicast routing. In this work, we aim to study the general model, but with
latency as a non-increasing function of flow. Motivated by such applications as economies of
1The assumption that human beings are always perfectly rational agents is, unfortunately, somewhat unrealistic, but it is usually a reasonable assumption to make. As an aside, we note that the field of evolutionary game
theory addresses this by removing the assumption of rationality.
1.3 M OTIVATING EXAMPLES
4
Figure 1.1: Pigou’s Example. This is a network with two nodes joined by separate two arcs. One unit of traffic is to be sent from s to t. Each arc has a
function c(·), which gives the delay on the arc as a function of the amount of
flow that goes down the arc.
scale, will look at situations where users would prefer to share routes and coagulate together,
because we have now made congestion an object of desire.
1.3 Motivating examples
The non-optimality of selfish users in a congested network has been known for quite some
time, starting with British economist Pigou in 1920 (28). The following two examples give
some indication as to the behaviour displayed by selfish routing in congested networks, and
why it is interesting to study such a model.
1.3.1 Pigou’s Example
Pigou’s example was first discussed by Pigou (28), with further analysis from Knight (22). It
involves the network depicted in Figure 1.1, and is an example of how selfish routing may not
necessarily result in a socially-optimal outcome.
Suppose that there are two cities, represented by the two nodes s and t. There are two
roads connecting s with t, as indicated by the two arcs.2 There is one unit of traffic (which
can be conceived as consisting of a large number of cars) that wants to go from s to t, using
one of these two roads. The top road is a long, but very wide highway that is not affected
by congestion at all; regardless of the number of cars on it, it will take 1 unit of time (say, 1
2Unlike most roads in reality, these roads are taken to be one-way only; this could model roughly, for example,
the morning peak-hour.
1.3 M OTIVATING EXAMPLES
5
hour) to traverse. The bottom road is a short, but narrow lane that is affected by congestion;
the time taken is proportional to the amount of traffic that decides to take that road. For
example, if a third of the traffic (a third of the cars) decides to use the bottom road, then it
will take 20 minutes to go along that road.
In this case, what is the socially optimum routing, that is, the routing that a central coordinator would enforce to produce a minimum average travel time? This can be calculated
using elementary calculus. Suppose that x is the amount of traffic on the bottom road; then,
the top road has 1 − x amount of traffic. The total cost as a function of x can be expressed as
follows:
C(x) = x · x + (1 − x) · 1 = x2 − x + 1
(1.1)
Solving C 0 (x) = 0 results in x = 1/2, which means that in the optimal routing, the traffic
is split equally between the two roads, with an average travel time of 45 minutes.3
Let us now take away our central coordinator, and let the users run wild. What would
selfish users do? Anyone using the top road would switch to the bottom road, because the
latency on the bottom road is strictly less than 1 hour when anyone uses the top road. For
the users on the bottom road, there is no incentive to switch to the upper road, because the
bottom road is no worse than the top road, and they will be enticed back to the bottom road
if they attempt to try to the top road. That is, when all the traffic is on the bottom road, it is
at an equilibrium – a stable state that no one wants to deviate from. When all the traffic uses
the bottom road, the average travel time becomes 1 hour, which is worse than the sociallyoptimum average.
Note that at equilibrium, all users have the same cost – it is a fair and stable flow pattern.
On the other hand, the socially optimum flow may not be fair in that some users may have to
suffer longer delays for the common good.
1.3.2 Braess’ Paradox
Braess’ Paradox was first proposed by Braess in 1968 (6) in German, and was brought into the
English literature by Murchland (25). In Figure 1.2(a), we begin with a four-node, four-link
network, with vt and sw as long, wide highways, and sv and wt as short, easily-congested
3This is a minimum because C(x) is convex. Testing whether C 00 (x) > 0 would also suffice.
1.3 M OTIVATING EXAMPLES
(a) Initial network
6
(b) Augmented network
Figure 1.2: Braess’ Paradox. The addition of an arc to a network with selfish
users can degrade overall performance in terms of average latency. Initially,
users spread themselves evenly between the top and the bottom routes in (a),
but converge on svwt after the addition of the zero-latency vw in (b).
lanes. The government4 decides to construct a very fast, very wide super-highway vw that
takes no time to traverse; this gives us the network in Figure 1.2(b). Once again, there is 1
unit of incoming traffic that needs to be routed from s to t.
In the original network, unlike Pigou’s Example, the optimal routing and the selfish routing are the same – the traffic is split evenly between the top (svt) and bottom (swt) routes,
with an average travel time of 1.5 hours. Intuitively, the selfish routing gets split between the
two routes by symmetry, because the top and bottom routes are the same.
What will happen when the new super-highway vw is added? All of the traffic will end
up using svwt, because, in a similar fashion to Pigou’s Example in section 1.3.1, this route
is strictly better than any other route when some traffic does not follow it. For example, if a
small amount of traffic uses the svt route, the delay on vwt is strictly less than 1, compared
with the delay of precisely 1 on the direct vt link. We therefore get the rather counterintuitive
result that in some cases, adding network links can actually degrade network performance.
4Perhaps demonstrating its commitment to building new infrastructure in an election year. . .
1.5 A IMS AND OBJECTIVES
7
1.4 Existing work
This will be covered in more detail in later sections, but we will outline the historical development of selfish routing briefly here to motivate the extension that we have studied in this
work. As mentioned previously, the impact of selfish users on a network has been studied
in economics for some time, but Wardrop’s seminal paper on road transportation (36) introduced mathematical modelling into the arena. The classic book by Beckman, McGuire
and Winsten (5) extended the mathematical model to prove basic properties on equilibria,
choices of routes, the inefficiency of user equilibria and the use of tolls to influence user
behaviour. Algorithms for the computation of equilibria were developed by various reductions to optimisation programs (12). Recent interest has been sparked by the introduction
of a quantifiable measure of how bad selfish routing can be in the coordination ratio or the
price of anarchy by Koutsoupias and Papadimitriou (23). Bounds on this measure have been
studied extensively for general networks embodying certain assumptions, notably by R and
T (33); one of these assumptions is that congestion on a link increases with the amount of
flow on the link. Extensions have been studied, including the price of anarchy with atomic
flows (where the traffic can be viewed as consisting of a finite number of lumps) (33), and
with a change in the nature of users, such as oblivious users (20).
1.5 Aims and objectives
With these past results in mind, we study the case where the assumption is that edge latency
functions (such as the c(·) functions in Figure 1.1) are a non-increasing function of the flow
on an edge; that is, these functions are either constant, or a decreasing function of the flow
on an edge. Our base model of a network and the flows therein is from R and T [ref ], but
with the aforementioned modification, motivated, as noted before, by such applications as
economies of scale. Preferably, there are no further assumptions on the nature of the edge
latency functions, although our analysis may restrict attention to certain classes of edge latency functions (that are still non-increasing in edge flows) as has been studied in the literature.
With these non-increasing edge latency functions, we aim to study how this changes the
behaviour of the model – do the previous results with non-decreasing edge latency functions
still hold? What kind of analogies can we make between examples in our model with past
1.7 S TRUCTURE OF THE THESIS
8
models? We will examine, for instance, changes in bounds on the price of anarchy, properties
of selfish and optimal flows and on ways to reduce the impact of selfish users. Finally, how
do we compute equilibria in this model? Do the previous methods work?
1.6 Contributions
Briefly, some contributions in this thesis include:
• Optimal flows do not have commodities that split flows: Theorems 4.16 and 4.17.
• Nash flows do not have commodities that split flows: Theorem 4.18.
• Tree-like flow patterns are formed by optimal and Nash flows: Theorems 4.19 and
4.20
• The price of anarchy is unbounded in networks with non-increasing latency functions: Example 5.2.
• The Braess’ Paradox is prevalent in these networks as well: Example 3.3.
1.7 Structure of the thesis
The thesis is in two parts. The first part has two chapters:
• Chapter 1: Introduction – this chapter, with an outline of the problem at hand and
some motivating examples.
• Chapter 2: Background – the necessary mathematical background to understand
the selfish routing problem, as well as the basic formulation that will be used throughout the work.
The second part has three chapters:
• Chapter 3: Selfish routing with non-increasing latency functions – assumptions of
the new model, examples of non-increasing latency functions, applications and discussion of how it differs from previous models.
• Chapter 4: Characterisation of equilibria and optima – formulation of the optimisation problem, existence and uniqueness of user and traffic equilibria, a geometric
look at feasible flows, single path theorems, and the tree-like flow theorems.
• Chapter 5: The inefficiency of equilibria – the price of anarchy being unbounded
in general, price of anarchy with other types of latency functions, the failure of the
1.7 S TRUCTURE OF THE THESIS
9
bicriteria bound, computing optima and equilibria, and economic incentives that
change selfish routing behaviour.
In Chapter 6, we conclude with a summary and some pointers to further work.
C HAPTER 2
Background
In this chapter, we cover the mathematical background necessary to understand selfish
routing. We cover a mathematical model of selfish routing, and define and provide basic
properties of the price of anarchy and flows in the model. The results in this chapter are
rather standard and not novel, but in occasions where a proof or definition is our own, we
will make this clear.
The topics covered are:
• Game theory;
• Graph theory;
• Basic selfish routing principles;
• Applications and criticisms of selfish routing; and
• Optimisation theory
2.1 Game theory
Game theory is a discipline, often used in economics, that studies the interaction between
agents that seek to maximise their own return or payoff. In general, agents have a set of
strategies from which to choose, and they make their decisions in the light of decisions made
by other agents in a game. Game theory was introduced by von Neumann and Morgenstern
in 1944 (35). Firstly, we will look at the prisoner’s dilemma, an example which illustrates key
concepts in game theory, and once again, that perfectly rational behaviour does not lead to a
socially optimal outcome, albeit in a form more traditional in game theory than the networks
in Figures 1.1 and 1.2. The presentation here is standard; for example, see a textbook such as
(14).
10
2.1 G AME THEORY
Cooperate Defect
Cooperate 3, 3
0, 5
Defect 5, 0
1, 1
Cooperate Defect
Cooperate R, R
S, T
Defect T, S
P, P
(a) Canonical payoff matrix
(b) Generalised payoff matrix
11
Table 2.1: Payoff matrices in normal form for the prisoner’s dilemma game.
In the generalised payoff matrix, the relation T > R > P > S holds.
2.1.1 Prisoner’s dilemma
Example 2.1 (Prisoner’s dilemma). The story of the prisoner’s dilemma goes like this:
there are two prisoners, and each of them can cooperate with the other prisoner, or defect
and give evidence to the authorities. The authorities need the evidence to convict the prisoners for more serious crimes than they can currently convict them for; without additional
evidence, each prisoners can only receive, say, a six month jail term. If one prisoner defects
to the authorities, while the other holds his or her silence, the defecting prisoner walks free
while the one who cooperates gets an extended term of say, five years. If both defect to the
authorities, they will both receive a medium jail term of say, three years. Clearly, the optimal
behaviour (from the viewpoint of the two prisoners) occurs when both prisoners cooperate,
as their combined jail term will only be one year. However, what happens if we assume that
the prisoners are perfectly rational?
To work this out, we turn to Table 2.1(a), where we have a normal form game, which shows
the strategies and payoffs of the players in matrix form. To read this, the rows correspond to
the strategies of one prisoner, while the columns correspond to the strategies of the other.
Each cell contains two numbers, the first of which corresponds to the payoff of the row player,
and the second of which corresponds to the column player. Note that the numbers in the
matrix are the payoffs or the returns to the players for choosing a particular strategy; players
aim to maximise their return, and therefore a high payoff corresponds to a shorter jail term.
In addition, the payoff matrix is symmetric; the payoffs do not differ between the row and the
column player.
The result, somewhat counterintuitively, is that the only rational behaviour is for both
players to defect to the authorities. Let’s see why this is. Suppose the row player chooses to
cooperate. What should the column player choose? If he cooperates, he receives a payoff of
3, while if he defects, he receives a payoff of 5. Clearly, defecting is the way to go. What if the
2.1 G AME THEORY
12
row player chooses to defect instead? If the column player cooperates, he receives a payoff
of 0, while if he defects, he receives a payoff of 1. The conclusion is that regardless of what
strategy the row player chooses, the column player should always defect. The same logic will
tell us that the row player will also always defect. Because defecting delivers higher payoffs
regardless of what the other player chooses, we say that defect strictly dominates cooperate.
The numbers in Table 2.1(a) are just for illustrative purposes, and the prisoner’s dilemma
can be generalised as in Table 2.1(b), with the constraint that T > R > P > S in the table.
The outcome of the prisoner’s dilemma (both defect) is said to be Pareto suboptimal,
because there is a situation which benefits one player without disadvantaging another player
(both cooperate). The problem with the situation where both cooperate is that it is not stable.
Each player has an incentive to deviate back to defecting, even though in the end, they are
worse off. This idea of stability is central when we consider Nash equilibria.
2.1.2 Nash equilibria
The concept of a Nash equilibrium is central to the theory of noncooperative games, and
speaking broadly, it is a situation where no player in a game has an incentive (and by this, we
mean, can get a higher payoff ) by changing to another strategy, given the choices of strategies
of the other players.
A finite normal form game consists of n players, and a certain player i may choose from
a finite set Si of pure strategies. Each player i has a payoff function ui : S1 × · · · × Sn → R
that tells us what return the player gets when given the pure strategy choices of each of the n
players. Purely rational behaviour means that we assume that players prefer higher payoffs
to lower payoffs. In cases where we consider the disutility a player will have, such as jail terms
or travel time, lower disutility corresponds to higher payoff.
Definition 2.2. A Nash equilibrium is a combination of strategies x1 ∈ S1 , . . . , xn ∈ Sn for
which
ui (x1 , . . . , xi , . . . , xn ) ≥ ui (xi , . . . , x0i , . . . , xn )
for all i, x0i ∈ S.
(2.1)
2.1 G AME THEORY
13
What this means is that, at Nash equilibrium, if we were to take player i’s strategy, and
replace it with any other of his strategies, his payoff would not increase given that the other
players’ strategies remain fixed. This must be true for all players in the game.
There are other types of equilibria used in the study of game theory, such as correlated
equilibria and evolutionary stable strategies, but selfish routing has largely been studied using Nash equilibria.
2.1.3 Pure and mixed equilibria
In the previous section, we introduced the concept of a pure strategy, where each player picks
one strategy and sticks to it. On the contrary, a mixed strategy for player i is a probability
distribution over the set Si of pure strategies – players no longer play a pure strategy with
probability 1, but instead randomise their strategies each time according to the probability
distribution. Not all games have pure strategy equilibria, and this is demonstrated by the
game of matching pennies. The payoff for a mixed strategy is the expected payoff given the
probability distribution.
Example 2.2 (Matching pennies). The payoff matrix is in Table 2.2. The game works like
this: there are two players and each one shows a penny. If both players show the same side
(both heads or both tails), then the row player gets 1, while the column player gets -1. If the
players show different sides, then the payoffs are reversed.
Consider what happens if we start at the pure strategy profile (H, H) (the first element
being the row player’s strategy and the second element being the column player’s strategy).
The column player sees an advantage of moving to (H, T ), if he knows that the row player
will play H with certainty, as he gets a payoff of 1 instead of -1. Likewise, the row player will
then move to (T, T ), the column player will then have an advantage in switching to (T, H),
and finally the row player will switch back to (H, H). We have gone full circle – there is no
stable state if we only allow players to play one strategy with probably of 1.
Head Tail
Head 1, -1 -1, 1
Tail -1, 1 1, -1
Table 2.2: Payoff matrix for the matching pennies game.
2.2 G RAPH THEORY AND SELFISH ROUTING
14
There is, however, a mixed equilibrium in the matching pennies game, where each player
plays H with probability 0.5 and T with probability 0.5. Intuitively, this makes sense because
the advantage of knowing what your opponent is playing for sure is lost by his randomisation
of strategies.
Note that the the matching pennies game is an example of a zero-sum game, where for
any strategy profile, the sum of the payoffs to all the players equals zero. These model, for
example, situations where one player gains what the other loses.
2.1.4 Existence of Nash equilibria
As demonstrated in Example 2.2, a game does not necessarily have any pure Nash equilibria.
However, Nash (26) showed that all finite games have mixed Nash equilibria. His existence
proof made use of Kakutani’s fixed point theorem (17), which in turn relies on the Brouwer’s
fixed point theorem, and was therefore non-constructive. This is problematic if we wish to
compute such equilibria, and as we shall see later, it is a difficult problem.
Rosenthal (30) proved that all congestion games have pure Nash equilibria. A congestion game is one in which users’ strategies are comprised of varying selections from a set of
commodities, and the price of the commodities increases as the number of users who select
that commodity increases. Selfish routing (in the traditional sense with non-decreasing cost
functions) is an example of a congestion game.
We will cover existence of Nash equilibria in selfish routing flows later.
2.2 Graph theory and selfish routing
We now turn our attention to graph theory, which allows us to formulate our model in terms
of vertices and edges, and to selfish routing, and related concepts including the price of anarchy. In general, the notation is due to Roughgarden (32).
2.2.1 Definitions
We begin by making precise the notions that we have been discussing thus far.
Definition 2.3. A graph G = (V, E) consists of a finite set V of vertices and a finite set E
of edges. An edge is an ordered pair of vertices from a start vertex to an end vertex; that is,
2.2 G RAPH THEORY AND SELFISH ROUTING
15
this is a directed graph1. An edge may have a weight, which is a (usually non-negative) real
number associated with the edge. A node is the same as a vertex, and an arc is the same as
an edge.
Definition 2.4. A commodity is a source-destination pair {si , ti }, i ∈ {1, . . . , k}, where k
is the number of commodities. For each commodity, some amount of traffic starts from the
source, and it needs to be routed through the network to the corresponding destination. A
graph with commodities is a network. A network is single-commodity or multi-commodity if
it has precisely one, or more than one, commodity respectively.
Definition 2.5. A path is a sequence of edges (where the tail of each edge after the first
coincides with the head of the previous edge) where no vertex belongs to two or more of its
edges. Let Pi be the set of all paths that commodity i can use, and let P = ∪i Pi . We will
assume that ∀i, Pi 6= ∅.
Definition 2.6. A flow is a vector of non-negative real numbers indexed by P: fP measures the amount of agents that use the route P . Let fe be the amount of flow on an edge e;
this is the sum of the flow on paths that use e, namely,
X
fe =
fP .
(2.2)
P ∈P:e∈P
2.2.2 The model and its assumptions
The selfish routing problem consists of a network with one or more commodities that needs
to route all the traffic for each commodity from its source to its destination. Let ri be the
traffic rate for commodity i; this is the amount of flow for that commodity. The solution to
the problem is an assignment of flows to different paths. In the selfish routing problem, flows
must be feasible.
Definition 2.7. A flow is feasible if, for all i,
X
fP = ri .
(2.3)
P ∈Pi
In the selfish routing model, as it appears in (32), a key assumption is that the flow consists of an infinite number of agents that carry an infinitesimal amount of flow. No individual
1We can, of course, model an undirected graph with a directed graph trivially.
2.2 G RAPH THEORY AND SELFISH ROUTING
16
can single-handedly change the flow pattern in the network. With this assumption, we have
the non-atomic selfish routing model. This assumption can be relaxed so that there are a
finite number of users each of whom control a non-negligible amount of flow, which you can
think of as large goods; that is that atomic selfish routing model.2 In this work, we only study
the non-atomic selfish routing model.
An interesting point is that there is no difference whether we consider pure or mixed
strategies with users who control an infinitesimal amount of flow in a network; thus, in this
work, we will only consider pure equilibria (each agent chooses one path only) despite the
importance of mixed equilibria in non-cooperative games in general. The equivalence is as
follows. For any commodity i and a path P ∈ Pi , the flow along P if we take it that there is fP
out of the ri traffic that always takes P (pure strategy) equals the expected flow along along
P if we take it that all the agents for commodity i take path P with probability fP /ri . If, in
the pure strategy case, there is an incentive to switch from path P1 to path P2 , then, in the
mixed strategy case, the agents for the commodity will switch to a mixed strategy that shifts
probability from P1 to P2 . From this flow-centric point of view, the two types of strategy are
equivalent.
We previously mentioned that edges can have weights. With practical motivations to do
with congestion in mind, with each edge, we associate a cost function ce (·) that can depend
on the amount of flow on the edge. Typical assumptions about the cost functions ce (·) are
that they are:
• Non-negative;
• Continuous; and
• Non-decreasing.
Assumptions of differentiability or convexity are also common, depending on the requirements of the problem at hand. For example, convexity may be required to formulate
the problem as a convex optimisation problem. Just to reiterate, in this work, we study what
happens when the assumption that the cost functions are non-decreasing is relaxed, and
2With atomic selfish routing, the goods are either splittable or unsplittable. In the splittable case, parts of
goods are able to go down different paths, while in the unsplittable case, the flow for an entire good must go
down the same link. The atomic splittable case is very similar to (but not the same as) the non-atomic case.
In the atomic splittable case, agents will not take into account the congestion it causes for its own traffic when
considering how to route. In a sense, it internalises the congestion caused, instead of leaving it as a negative
externality for society to absorb.
2.2 G RAPH THEORY AND SELFISH ROUTING
17
replaced with an assumption that the cost functions are non-increasing, with as few other
assumptions as feasible.
How do we measure the cost of a flow though? Flow, as defined in Definition 2.6, is indexed by the set of paths, so it would be natural to sum over the costs of paths. But what is
the cost of a path? We simply add up the cost of its constituent edges.
Definition 2.8. The latency of a path P with respect to a flow f is
cP (f ) =
X
(2.4)
ce (fe )
e∈P
Note that cP (f ) is the cost per unit flow that travels along P . In general, we will be using
latency to mean the per unit cost, and cost to mean the total cost (per unit cost times amount
of flow).
Definition 2.9. The cost of a flow is
C(f ) =
X
(2.5)
cP (f )fP
P ∈P
Because we arrived at the total cost by summing up the cost of paths, which is comprised
of the cost of edges, it is not surprising that we can calculate the total cost by summing up
the cost of edges directly. The simple proof below is due to Roughgarden (32).
Proposition 2.10 ((32) §2.1).
C(f ) =
X
cP (f )fP =
P ∈P
X
ce (fe )fe .
(2.6)
e∈E
Proof.
!
X
cP (f )fP
=
P ∈P
X
X
P ∈P
e∈P
ce (fe ) fP
!
=
=
X
X
e∈E
P ∈P:e∈P
X
fP
ce (fe )
ce (fe )fe
(2.7)
e∈E
Finally, we define the following for notational convenience:
2.2 G RAPH THEORY AND SELFISH ROUTING
18
Definition 2.11. If G is a network, r is a vector of traffic rates indexed by commodities,
and c is a vector of cost functions indexed by edges, then an instance is a triple of the form
(G, r, c).
2.2.3 Wardrop’s first principle
Wardrop (36) stated two principles that qualitatively define the equilibrium flows that has
now been studied quantitatively in the selfish routing literature, the first of which is relevant
to our study here:
The journey times in all routes actually used are equal and less than those
which would be experienced by a single vehicle on any unused route.
Wardrop’s principles were made more mathematically rigorous by Beckmann, et al. (5),
and together with a paper by Dafermos and Sparrow (12), these formulations form the basis
of modern presentations of networks that route selfish traffic.
Definition 2.12. A network is at Wardrop equilibrium if all paths with non-zero flow have
the same cost, and the cost of an unused path – that is, a flow that follows Wardrop’s first
principle. A Wardrop equilibrium is also referred to as a traffic equilibrium.
2.2.4 Nash equilibria
We now formalise the notion of an equilibrium, which in general terms is a stable state. In
terms of selfish flows, no flow should have an incentive to switch to an alternative path. For
this to be the case, at equilibrium, if any flows switch paths, the cost increases or stays the
same.
Definition 2.13 ((32) Definition 2.2.1). A flow at Nash equilibrium, or a Nash flow, has
no flow that can switch onto a lower latency path. Mathematically, flow f feasible for the instance (G, r, c) is at Nash equilibrium if for all commodities i ∈ {1, . . . , k}, si -ti paths P1 , P2 ∈
Pi with fP1 > 0, and all amounts δ ∈ (0, fP1 ] of traffic on P1 ,
cP1 (f ) ≤ cP2 (f˜),
(2.8)
2.2 G RAPH THEORY AND SELFISH ROUTING
19
where the flow f˜ is obtained from f by moving δ units of flow from the path P1 to the path P2 :
f − δ if P = P1
P
f˜P =
(2.9)
fP + δ if P = P2
fP
if P ∈
/ {P1 , P2 }
A Nash equilibrium is also known as a user equilibrium.
Note that this definition of a Nash flow is strictly speaking not a Nash equilibrium, as
defined in Definition 2.2; the crucial difference is that we do not have a finite number of
agents. In accordance with (32), we will refer to these flows as Nash flows regardless. It is,
however, justified on the basis that non-atomic Nash flows are the limiting case of the atomic
selfish routing Nash flows (in which case there is a finite number of agents) by taking making
the amount of flow carried by each agent very, very small. The key notion of self-interested
behaviour in the face of other agents’ actions remains central to the concept of a Nash flow,
as defined above. In the non-decreasing selfish routing model, (32) shows that Wardrop and
user equilibria are equivalent, in the sense that one implies the other.
In the non-atomic selfish routing model, each agent carries an infinitesimal amount of
flow, and thus, any arbitrary amount of flow can be diverted from P1 to P2 in the above definition. As we will see later, this definition will need to be amended for the non-increasing
latency function case.
2.2.5 The price of anarchy and the price of stability
The price of anarchy was first introduced as the coordination ratio in (23), and it allows us to
quantify how bad selfish routing is.
Definition 2.14. The price of anarchy is the worst-case ratio of the cost of a Nash equilibrium and the cost of the optimal routing.
In (33), it is written as
ρ(G, r, c) =
C(f )
,
C(f ∗ )
(2.10)
where f and f ∗ are Nash and optimal flows respectively.
However, to emphasise the worst-case nature of this measure of how bad Nash flows can
be (and because, as we will see later, we may have more than one flow at Nash equilibrium
2.2 G RAPH THEORY AND SELFISH ROUTING
20
in our changed model), we will rewrite the definition as
ρ(G, r, c) = sup
f ∈F
C(f )
,
C(f ∗ )
(2.11)
where F is the set of all Nash flows feasible for (G, r, c) and f ∗ is the optimal routing as before.
The price of stability, on the other hand, is a best-case ratio, e.g. (24).
Definition 2.15. The price of stability is the best-case ratio of a Nash equilibrium and the
cost of the optimal routing.
The price of stability has a natural interpretation, as historically, the subfield of game
theory known as mechanism design was used early on to design strategies in games to create
desired outcomes; there was no adversarial component. Furthermore, it characterises the
smallest possible increase in cost in order to achieve a stable routing. The price of anarchy,
conversely, is better-suited to the analysis of the lack of centralised control in systems such
as the Internet, which was not designed but instead evolved over time.
2.2.6 Some useful properties
The propositions in this section are either well-known graph theory properties, intuitively
obvious, or selfish routing propositions given without proof in the literature; in either case,
the proofs given below are our own.
The following three propositions are from (32), and provide useful characterisations of
the cost of paths in a Nash equilibria, and the cost of Nash equilibria.
Proposition 2.16 ((32) Proposition 2.2.2). A flow feasible for the instance (G, r, c) is at Nash
equilibrium if and only if for every i ∈ {1, . . . , k} and P1 , P2 ∈ Pi with fP1 > 0,
cP1 (f ) ≤ cP2 (f )
(2.12)
Proof. Firstly, assume cP1 (f ) ≤ cP2 (f˜) as in Definition 2.13. Note that cP for all P ∈ Pi
continuous because it is the sum of edge latency functions, which are continuous by assumption. Taking the limit as δ → 0 on both sides of Equation 2.8, we arrive at cP1 (f ) ≤ cP2 (f ),
because f˜ → f , and cP2 (f˜) → cP2 (f ) by continuity of cP2 .
Secondly, assume cP1 (f ) ≤ cP2 (f ). If we assume that cP2 is non-decreasing, then clearly,
cP2 (f ) ≤ cP2 (f˜) for all δ > 0, and the result holds.
2.2 G RAPH THEORY AND SELFISH ROUTING
21
In other words, for any commodity, the cost of a path that is used cannot exceed the cost
of any other path, used or unused; this encompasses Wardrop’s first principle. This leads to
the following corollary.
Corollary 2.17 ((32) Corollary 2.2.3). If f is a flow at Nash equilibrium for (G, r, c), then
for each commodity i, all si -ti flow paths of f have a common cost ci (f ).
Proof. By Proposition 2.16, at Nash equilibrium, for any two paths P1 , P2 ∈ Pi such that
fP1 , fP2 > 0, we have that cP1 (f ) ≤ cP2 (f ) and also cP2 (f ) ≤ cP1 (f ); thus, P1 and P2 must have
the same cost.
Proposition 2.18 ((32) Proposition 2.2.4). Let f be a flow at Nash equilibrium for the instance (G, r, c). Let all si -ti flow paths of f have common cost ci (f ). Then,
C(f ) =
k
X
ci (f )ri .
(2.13)
i=1
The following propositions describe properties of networks with edge cost functions are
all constant, and show why they do not exhibit the detrimental effects of selfish routing.
Proposition 2.19. If a network has only non-negative constant edge latency functions, the
cost of the optimal and the cost of any Nash flows are equal.
Proof. Because there is no interaction in terms of edge costs between different commodities, we can consider each commodity in isolation. Suppose the cost of the optimal routing
for commodity i is c∗i , and suppose that there is a path P ∈ Pi where fP > 0 but cP > c∗i .
There must exist a P ∗ ∈ Pi such that fP ∗ = c∗i , because the optimal flow must be somehow
routed through the network. There is clearly an incentive for the flow on P to switch to P ∗ .
Clearly, agents travelling on a path with cost c∗P have no incentive to switch to a path that
does not have the same cost. Therefore, at equilibrium, all agents travel along paths with
cost c∗i .
Note that this does not imply that the flows on edges for optimal and Nash flows are
equal. Consider a two node, two link network. Both links have the latency function c(x) = k,
for some non-negative constant k. Any distribution of the flow between the two links is both
optimal and Nash.
Proposition 2.19 immediately implies the following corollary.
2.3 A PPLICATIONS AND CRITICISMS OF SELFISH ROUTING
22
Corollary 2.20. If a network has only non-negative constant edge latency functions, the
price of anarchy and the price of stability are both 1.
Proposition 2.21. If a network has only non-negative constant edge latency functions, it is
possible to compute the cost of the optimal and Nash flows in a time polynomial in the number
of vertices and edges.
Proof. Because all edges have constant latency functions, there is no interaction between
the different commodities, and the minimum cost for routing a commodity’s flow is simply
the shortest path through a network between its source and destination nodes. The FloydWarshall algorithm (see, for example, (10)) computes the shortest path for all pairs of vertices
in a graph with no negative weight cycles in Θ(n3 ) time. By Proposition 2.19, we have solved
for the cost of the Nash flows in the network as well.
Finally, we have a standard result from graph theory.
Proposition 2.22. The total number of paths in a network for a particular commodity can
be exponential in the number of vertices in the network.
Proof. Consider the complete graph Kn , n ≥ 2. Suppose the source and destination vertices for commodity i are s and t, s 6= t. There are n − 2 other vertices, each of which may or
may not be visited by a path that starts at s and ends at t. There are therefore 2n−2 choices of
intermediate nodes, and clearly at least that many number of paths for commodity i.
2.3 Applications and criticisms of selfish routing
The study of networks with congestion naturally began in economics and the transportation
sciences, and its applications to, for example, the routing of vehicles or goods in a road or rail
network are quite clear. The study of congested networks is important, because congested
networks set an upper bound on the ability of centres of production to take advantage of
economies of scale – there is no point in concentrating all of the production of a good in a
particular city even if the per-unit cost is low, when distributing the good after production
will be costly.
Interestingly, selfish routing can be applied to mechanical networks, and more recently,
to computer networks, such as the Internet. In this section, we restrict our attention to the
2.3 A PPLICATIONS AND CRITICISMS OF SELFISH ROUTING
(a) Original set-up
23
(b) Set-up with the middle string removed
Figure 2.1: Braess’ Paradox expressed as a mechanical network of springs and
strings. The springs and strings are hung from the ceiling with a heavy block
on the bottom. Springs extend when a force is applied, while strings do not
expand.
non-decreasing selfish routing case; we will discuss applications of our new model in §3.4.
We conclude this section with a discussion of the limitations of selfish routing.
2.3.1 Mechanical networks
Surprisingly, the results from selfish routing are applicable to systems that do not have selfish
rational agents, or in fact, any kind of flow. Consider the set-up of springs and strings in
Figure 2.1(a).(8) There is a block at the bottom that pulls down on the springs and strings,
and the entire set-up is hung from the ceiling. Elementary physics tells us that the length of
a spring is proportional to the force applied to it. What would you expect will happen if we
cut the middle taut string? Does the block fall as intuition would dictate?
With the right spring constants, the block will rise. Let us make explicit the analogy with
selfish routing. A string is like an edge that is not affected by congestion, whereas a spring is
2.3 A PPLICATIONS AND CRITICISMS OF SELFISH ROUTING
24
an edge that is. The downwards force on a spring or a string is the equivalent to the amount
of flow on an edge, and the length of a spring or a string (if taut) is equivalent to the latency on
the equivalent edge. The augmented network in Braess’ Paradox (Figure 1.2(b)) is therefore
equivalent to the original set-up in Figure 2.1(a); by cutting the middle string, this is analogous with removing the edge vw to recover the original network in Braess’ Paradox (Figure
1.2(a)). The subsequent rise of the block should come as no surprise; by removing vw the
Nash cost is reduced.
But how is the “selfish” behaviour in a selfish routing network encapsulated in this example? Where is the selfishness that is causing the network of springs and string to behave
the same? The weight of the block is the total flow, and by holding it up, this is equivalent
to having a feasible flow – all flow is routed through the network. Also, the fact that all nonslack springs and string have the same path length is an analogue of the fact that all paths in
a Nash flow have the same cost. These two facts are sufficient to provide the analogy.
Electrical networks with links of varying conductivity show similar behaviour. These extensions to mechanical networks implies that the results from selfish routing extend well
beyond the mathematical model we have at hand.
2.3.2 Computer networks
There are a number of connections (32) between selfish routing and computer networks,
which must route packets of data, instead of vehicles and goods, between two points in the
network. The motivation is the same; users in the network who want to send a packet of data
through the network want to minimise the delay before the packet reaches its destination;
the delay can be caused by the queueing that occurs in routers along the way.
There are two ways in which selfish users can minimise their personal cost. Firstly, the
sender can specify the actual sequence of routes to be used by a packet; this is called source
routing. However, this is not widely used in practice. More commonly, at each stage, the
sender, or a router, will pick just the next link to use, and it is up to the next machine to
pick the following link to use. To prevent cycles from occurring, links are associated with a
positive length, allowing for shortest path routing. There is a correlation between shortest
path routing and source routing if the length is calculate from the congestion-dependent
edge latency functions.
2.4 O PTIMISATION AND RELATED THEORY
25
2.3.3 Criticisms
As identified in (32), there are some notable caveats to the selfish routing model. Firstly,
the model is a static model, in that we analyse the state of the system at equilibrium – once
everyone has settled down and has no incentive to change paths. Although work has gone
into the dynamics of selfish routing (27), analyses such as the price of anarchy deals with the
final state of the system. A related restriction is the assumption that traffic rates are fixed
and an unchangeable network parameter; however, traffic flows will differ depending on the
time of day, or on the day of the week, and the selfish routing model does not take this into
account. This is the study of time dependent equilibria.
Roughgarden identifies another caveat to selfish routing, namely, that routing on the Internet tends to be not very sensitive to congestion, because economic incentives tend to
outweigh performance-based measures. However, (18) deals with this somewhat by setting a
certain fraction oblivious to network congestion, choosing routes based on an uncongested
network.
The ability of the study of selfish routing models to allow us to improve networks is somewhat limited. Through the price of anarchy, we are able to quantify how bad selfish routing
be, but it does not really give us pointers on how to design networks that intrinsically have
a low price of anarchy (without resorting to such things as taxes and subsidies); this is especially so since the price of anarchy is independent of the network topology (31). Furthermore,
we can see that the most interesting behaviour is captured by the most simple of networks,
such as a two-node, two-link network, but these obviously have limited predictive power in
large networks such as the Internet.
Finally, there is criticism that the price of anarchy is a worst-case analysis, on the basis
that worst-case analyses often do not address the average case. However, Roughgarden argues that the analysis of the worst-case bounds have shown interesting results in networks
that are similar to those used in practice, and are also more mathematically intractable.
2.4 Optimisation and related theory
In this section, firstly, we collect together useful definitions and results from mathematical
analysis and calculus. These can be found in standard texts such as (29). We then present
2.4 O PTIMISATION AND RELATED THEORY
26
constrained and unconstrained optimisation, and the nonlinear complementarity problem
from mathematical programming (2).
2.4.1 Mathematical analysis
We will firstly define, the graph, the epigraph, convex and concave sets, and convex and concave functions.
Definition 2.23. The graph of a function f is the collection of all ordered pairs (x, f (x)).
Definition 2.24. The epigraph of a function f is the set of points lying on or above the
graph of f .
Definition 2.25. A set C is a convex set if all the points on line segments between any two
points in C lie in C. Formally, C is convex if, for all x, y ∈ C and t ∈ [0, 1], we have (1 − t)x + ty ∈
C.
Definition 2.26. A set C is concave if it is not convex.
Definition 2.27. A function f : D 7→ C, D, C ⊆ R, D a convex set, is a convex function if for
any x, y ∈ D, and any t ∈ [0, 1], we have
f ((1 − t)x + ty) ≤ (1 − t)f (x) + tf (y).
(2.14)
Geometrically, a function is convex iff its epigraph is a convex set. A concave function is
the opposite of a convex function.
Definition 2.28. A function f is a concave function if −f is convex.
That is, we reverse the inequality in Equation 2.14.
As in Roughgarden (33), we will define the non-standard semi-convex function. By analogy, we will introduce a semi-concave function.
Definition 2.29. A function f (x) is semi-convex if the function x · f (x) is convex.
Definition 2.30. A function f (x) is semi-concave if the function x · f (x) is concave.
We now outline some useful properties of these sets and functions.
2.4 O PTIMISATION AND RELATED THEORY
27
Figure 2.2: A concave function in two variables, on a bounded, convex domain. Notice that the the minimum of this function over the domain must
occur at one of the extremum points.
Proposition 2.31 ((29) Corollary 32.3.2). Let f be a convex function, and let C be a nonempty closed bounded subset contained in the relative interior of the domain of f . Then the
supremum3 of f relative to C is finite, and it is attained at some extreme point of C.
Note that Proposition 2.31 can be used to characterise the minimum of a concave function over a closed bounded subset. It is illustrated in Figure 2.4.1.
Proposition 2.32. A convex set is the intersection of all half-planes that contain the convex
set.
We now define what it means for a function to be monotone in various ways. Let F : D 7→
Rn ,
D ⊂ Rn .
3The supremum of a subset S of a set T is the smallest element of T that is greater than or equal to every
element in S. It is not equivalent to the maximum of a set in all cases, but for readers unfamiliar with analysis,
reading it as “maximum” will generally suffice.
2.4 O PTIMISATION AND RELATED THEORY
28
Definition 2.33. F is monotone on D if, for all x, y ∈ D,
(x − y)(F (x) − F (y)) ≥ 0.
(2.15)
Definition 2.34. F is strictly monotone on D if, for all x, y ∈ D, x 6= y,
(x − y)(F (x) − F (y)) > 0.
(2.16)
Definition 2.35. F is strongly monotone on D if there exists a k > 0, such that, for all
x, y ∈ D,
(x − y)(F (x) − F (y)) ≥ k |x − y|2 .
(2.17)
The following is known as the Cauchy definition of the continuity of a real function at a
point [ref].
Definition 2.36. If f : D 7→ C, D, C ⊆ R, and c ∈ D, then f is continuous at c iff for all
> 0, there exists a δ > 0 such that for all x ∈ D and |x − c| < δ, we have |f (x) − f (c)| < . A
function is continuous iff it is continuous at all elements in its domain.
Intuitively, a continuous function has no jumps or gaps when graphed.
2.4.2 Optimisation without constraints
We will only deal with this briefly, because we mainly deal with constrained optimisation4.
When we speak of optimising a function f (x), we want to find the global or local minima or
maxima.5
Definition 2.37. A point x0 is a local minimum of f (x), if for all x in some neighbourhood
of x0 , f (x) ≥ f (x0 ).
Definition 2.38. A point x0 is a global minimum of f (x), if for all x ∈ Rn , f (x) ≥ f (x0 ).
Note that we can just talk about either minima or maxima, because we can use a relationship between maxima and minima of a function,
max f (x) = − min {−f (x)} .
x∈Ω
x∈Ω
(2.18)
4These constraints are imposed by, for example, the feasibility condition (see Definition 2.7) and the assumption that flows are non-negative.
5When we write x in a bold typeface, we are indicating that x is a vector. Thus, x = (x , x , . . . , x ), where n
1
2
n
is the number of dimensions.
2.4 O PTIMISATION AND RELATED THEORY
29
For a function f (x) of one variable, we find the critical points of the function, namely the
values of x where f 0 (x) = 0. We then classify a critical point x0 as follows:
• x0 is a local maximum if f (1) (x0 ) = f (2) (x0 ) = · · · = f (2n−1) (x0 ) = 0 for some integer
n, f (2n) (x0 ) < 0, and f (2n) (x) is continuous at x0 .
• x0 is a local minimum if f (1) (x0 ) = f (2) (x0 ) = · · · = f (2n−1) (x0 ) = 0 for some integer
n, f (2n) (x0 ) > 0, and f (2n) (x) is continuous at x0 .
• x0 is a point of inflection if f (1) (x0 ) = f (2) (x0 ) = · · · = f (2n) (x0 ) = 0 for some integer
n, f (2m+1) (x0 ) 6= 0, and f (2n+1) (x) is continuous at x0 .
(For functions of n variables, we consider the eigenvalues of Hessian matrix – a matrix of
second derivatives – to classify the point; however, because we do not consider this case in
our work, we will not explore this point further.)
2.4.3 Optimisation with constraints
We will first consider optimisation problems with equality constraints, and then introduce
ones with inequality constraints. We also outline the special case with equality constraints,
but with bounded variable constraints; this formulation is non-standard, but is useful for our
purposes.
2.4.3.1 Equality constraints
The problem in n variables with m equality constraints is as follows:
Minimise:
f (x1 , x2 , . . . , xn )
subject to:
g1 (x1 , x2 , . . . , xn ) = b1
g2 (x1 , x2 , . . . , xn ) = b2
..
.
gm (x1 , x2 , . . . , xn ) = bm
The expression we are trying to minimise is called the objective function. The points in
Rn that satisfy the constraints form the feasible region. In vector form, the problem is
Minimise:
f (x)
subject to: g(x) = b
2.4 O PTIMISATION AND RELATED THEORY
30
We introduce one Lagrangian multiplier λi for each constraint i, and the Lagrangian for
the above problem is
L(x, λ) = f +
m
X
λi (gi − bi ).
(2.19)
i=1
Necessary conditions for a minimum are the following n + m equations are given by the
following:
m
X ∂gi
∂f
∂L
=
+
= 0,
λi
∂xj
∂xj
∂xj
j = 1, . . . , n
(2.20)
i=1
∂L
= gi − bi = 0,
∂λi
i = 1, . . . , m.
(2.21)
The above conditions are both necessary and sufficient as well if f is convex and the
constraints are linear.
2.4.3.2 Inequality constraints
The problem with n variables and m inequality constraints is as follows:
Minimise:
f (x1 , x2 , . . . , xn )
subject to:
g1 (x1 , x2 , . . . , xn ) ≤ b1
g2 (x1 , x2 , . . . , xn ) ≤ b2
..
.
gm (x1 , x2 , . . . , xn ) ≤ bm
In vector form, the problem is
Minimise:
f (x)
subject to: g(x) ≤ b
We can have mixed equality and inequality constraints; an inequality constraint gi (x) = b
can be simply converted into two inequality constraints by way of gi (x) ≤ b and −gi (x) ≤ −b.
We will use a formulation of the Karush-Kuhn-Tucker (KKT) conditions that involves the
introduction of slack variables s. The Lagrangian in this case can be formulated as
L(x, λ, s) = f (x) +
m
X
i=1
λi gi (x) + s2i − bi .
(2.22)
2.4 O PTIMISATION AND RELATED THEORY
31
There are n + 2m independent variables x1 , x2 , . . . , xn , λ1 , λ2 , . . . , λm , and s1 , s2 , . . . , sm .
Necessary conditions are given by the following equations:
m
X ∂gi
∂L
∂f
=
+
= 0,
λi
∂xj
∂xj
∂xj
j = 1, . . . , n
(2.23)
i=1
∂L
= gi + s2i − bi = 0
∂λi
∂L
= 2λi si = 0
∂si
(2.24)
(2.25)
Again, if f is a convex function and the constraints are linear, then these conditions are
both necessary and sufficient.
2.4.3.3 Bounded variable constraints
Suppose that our n variables have constraints of the form
Li ≤ xi ≤ Ui .
(2.26)
The problem with n variables and m equality constraints6, and the n variable constraints
is, in vector form, as follows:
Minimise:
f (x)
subject to:
g(x) = b
L≤x≤U
The Lagrangian is of the form
L = f (x) +
m
X
λi (gi (x) − bi ) + lT (L − x) + uT (x − U),
(2.27)
i=1
where l and u are vectors of Lagrangian parameters for the lower and upper inequality constraints respectively.
The KKT conditions for the optimal solution are
m
X ∂gi
∂f
∂L
=
+
λi
− lj + uj = 0,
∂xj
∂xj
∂xj
j = 1, . . . , n
(2.28)
i=1
∂L
= gi − bi = 0,
∂λi
i = 1, . . . , m
(2.29)
6The formulation in this section can be applied to inequality constraints as well, but we use equality con-
straints for ease of presentation.
2.4 O PTIMISATION AND RELATED THEORY
32
lj (xj − Lj ) = 0,
lj ≥ 0,
j = 1, . . . , n
(2.30)
uj (Uj − xj ) = 0,
uj ≥ 0,
j = 1, . . . , n.
(2.31)
If the lower constraint is active, then lj > 0 and xj = Lj ; if it is inactive, then lj = 0 and
xj > Lj . If the upper constraint is active, then uj > 0 and xj = Uj ; if it is inactive, then uj = 0
and xj < Uj .
2.4.4 Nonlinear complementarity problem
Finally, we define a nonlinear complementarity problem and note some strong results about
the existence and uniqueness to the problem.
Definition 2.39. Let F (x) = (F1 (x), . . . , Fn (x)) : R 7→ R. The nonlinear complementarity
problem is to find a vector x that satisfies the following:
x · F (x) = 0,
F (x) ≥ 0,
x≥0
(2.32)
Proposition 2.40 ((21)). If F is continuous and strongly monotone on Rn+ , then the above
nonlinear complementarity problem has a unique solution.
Proposition 2.41 ((21)). If F is strictly monotone on Rn+ , then the above nonlinear complementarity problem has at most one solution.
Part 2
Non-increasing latency functions
C HAPTER 3
Selfish routing with non-increasing latency functions
As discussed in the Introduction, non-decreasing latency functions in a non-atomic model
of selfish routing, as described in (33), has natural interpretations that has made it useful
for study in the transportation and computer science communities, but networks with nonincreasing latency functions also have appealing applications. In this chapter, we will describe our model in detail, and offer comparisons with existing selfish routing and user equilibria models. We will explain some applications of networks with non-increasing latency
functions.
3.1 In this work
In this section, we will be outlining the changes that we made to the non-atomic selfish
routing model, in order to accommodate non-increasing latency functions, and we will also
give examples of some basic non-increasing latency functions that will provide ample food
for thought in coming sections. We will refer to the original model as the non-decreasing
selfish routing model, and our model, with the assumptions as specified below, as the nonincreasing selfish routing model.
3.1.1 In this work
We take the non-atomic non-decreasing selfish routing model, but we now have the following assumptions:
All non-increasing latency functions: The main assumption that we will make is that the
edge latency functions are non-increasing; that is, the edge latency functions are either constant or decreasing. In other words, for all e ∈ E, c0e (fe ) ≤ 0 for all fe ∈ R, or at least for all
possible values of fe given the traffic rates of the commodities in the network. We will not
34
3.1 I N THIS WORK
35
consider networks where both non-decreasing and non-increasing functions, or functions
that are sometimes increasing and sometimes decreasing. A potential problem with such
networks is explored in §3.5.2.
Remark 3.1. Note that non-increasing latency functions do not necessarily imply that
the total cost is a non-increasing function. It is still possible for the total cost to increase
simply because there are simply more users, even though the per-unit cost has decreased.
No assumption of (semi-)convexity:
This assumption is important in the non-decreasing
model, especially in proofs for uniqueness and existence. Discarding it will make characterising flows in the model more difficult, but it is necessary for a good reason. Consider
a very basic decreasing latency function, ce (x) = k − x, for some constant k. The cost is
x(k − x) = −x2 + kx, which is a concave function! If linear non-increasing latency functions
do not meet the assumption of semi-convexity (linear latency functions are bread and butter
of analyses in the literature), then it is clear we need to remove this assumption.
However, we will not impose an assumption of concavity or semi-concavity 1, as there
are simple non-increasing functions that do not meet this assumption. This will be made
explored in more depth in §3.5.1. We will, at a later stage, examine what properties we can
derive if we do assume semi-concavity though.
Note that the previous discussion re-emphasises Remark 3.1. If we have a cost function
that is concave, we may be on the “uphill” part of the concave function, or on the “downhill”
part of the function (recall that, in general, concave functions are like hills that go up and
then back down again).
Continuity, with an exception: We will maintain the assumption of continuity generally,
because of the problems posed by discontinuous functions. Consider a two-node, two-link
network, with the top link having a latency function given by Figure 3.1(a), and the bottom
link having a latency function given by Figure 3.1(b); the traffic rate between the source and
the destination in this example is 2. We will see that this network has no equilibrium. If the
amount of flow on the top link is less than or equal to 1, the latency on the top link will be 1
and there will be an incentive for flow on the bottom link to move to the top link. However,
1As defined in Definition 2.30.
3.1 I N THIS WORK
(a) Latency function for top link
36
(b) Latency function for bottom link
Figure 3.1: Latency functions for a two-node, two-link network with discontinuous latency functions. This network set-up is not supported by our model.
this will push the latency over to 3, because of the discontinuity of f (x) at x = 1, and traffic
will have an incentive to move back to the bottom route.
We will, however, make one concession, and that is to allow for functions f where f (x) →
∞ as x → 0; we allow functions with a singularity at x = 0. This allows us to examine such
functions as f (x) = 1/x (see Figure 3.2(c). The infinity is not a problem, because if the flow
on a link with such a latency function is zero, the cost incurred is zero, because no flow is
incurring the infinite cost. (We take 1/0 to be ∞.) We do not need to consider f (x) → −∞
as x → 0, because this will violate the non-negativity assumption (which is retained, as explained below). We will not allow other asymptotes at values of x > 0, because this would
imply a violation of either the non-negativity assumption or the fact that we are considering
only non-decreasing functions.
We will retain the following assumptions:
Non-negative edge latencies:
Negative edge latencies are unnatural from a practical point
of view; in particular, it raises the possibility of having negative weight cycles (which make
defining the shortest path a bit of a problem!) and the interpretation of negative latency is not
at all clear. Furthermore, if the optimal or the worst Nash flow have a negative cost (or both),
it is not at all clear what the price of anarchy, which is the ratio of the two, would mean.
As with the assumption that the edge latency functions are non-increasing, we will only
require that the edge latencies are non-negative over the range of possible values of flow on
that edge given the traffic rates and path combinations. We will simply assume that these
3.2 E XISTING WORK
37
functions are given to us with the network such that this assumption is met. It is not unreasonable; if modelling economies of scale for example, buying more potatoes may lower the
per-potato cost, but it is very unlikely to decrease to the extent that potato growers will be
paying you to take their potatoes.
Agents that carry infinitesimal amount of flow (non-atomic selfish routing): We will only
study the non-atomic selfish routing in this work.
Fixed traffic rates:
In the literature, there are cases where the traffic rates for a commodity
is inversely proportional to the generalised (minimum) latency for the commodity, but here
we will only consider fixed commodity traffic rates, as in (33).
3.1.2 Examples of non-increasing latency functions
Let us now consider some examples of non-increasing latency functions, to clarify what we
are actually studying in this model. The most basic examples of non-increasing functions
are the constant functions and the linearly decreasing functions (f (x) = 1 and f (x) = 5 −
x are illustrated in Figures 3.2(f ) and 3.2(a) respectively). f (x) = 1/x has a singularity at
x = 0 and this is illustrated in Figure 3.2(c). The functions we consider do not have to be
non-increasing everywhere; for example, in Figure 3.2(d), we have f (x) = cos(x), which is
both increasing and decreasing, but only non-increasing if we know that the maximum flow
through the corresponding edge is at most 1. Other examples include f (x) = 1 − log(x + 1)
and f (x) = cos−1 (x), illustrated in Figures 3.2(b) and 3.2(e) respectively. We can see that the
assumption of having only non-increasing latency functions allows for the modelling of a
variety of familiar functions.
The corresponding cost functions for the functions in Figure 3.2 is in Figure 3.6. A discussion of when cost functions become concave is in §3.5.1.
3.2 Existing work
To the best of our understanding, the problem of the non-atomic selfish routing model where
edge latencies are non-increasing has not been studied at all. There have been instances
where researchers have considered mixing non-increasing and non-decreasing functions
(33; 1), but dismissed the resulting networks as being badly behaved.
3.2 E XISTING WORK
38
(a) f (x) = 5 − x
(b) f (x) = 1 − log(x + 1)
(c) f (x) = 1/x
(d) f (x) = cos(x)
(e) f (x) = cos−1 (x)
(f) f (x) = 1
Figure 3.2: Plots of various functions f (x) that are non-increasing in the intervals shown.
There have been many formulations of the selfish routing model, or traffic equilibrium
models. We will consider the Aashtiani and Magnanti model in §4.2.1.2, which is a model
with few underlying assumptions.
3.3 S IMPLE NETWORKS
39
Figure 3.3: A two-node, two-link network with non-increasing latency functions.
In terms of decreasing edge latency functions, work in multicast routing (24), the rentor-buy problem (15) or concave total cost functions (3) are similar but not as general as the
model we consider here, where any non-increasing function meeting some mild assumptions are permitted. Also, these problems are atomic selfish routing models.
3.3 Simple networks
In this section, we provide analogies with Pigou’s Example (§1.3.1) and Braess’ Paradox (§1.3.2).
3.3.1 Two-node, two-link networks
We provide a simple network that shows that selfish routing need not be optimal.
Example 3.2. Consider the network in Figure 3.3, where we have two nodes and two links
like Pigou’s Example. Again, we assume that the traffic rate between s and t is 1. However,
the edge latency functions are now both decreasing functions of the amount of flow on the
edge. Note that the optimal routing occurs when the 1 unit of flow goes on the edge with the
function 3.5 − x, giving a total cost of 2.5. Now, consider what happens when all of the flow
is one the edge with the function 4 − x. The latency on that edge is then 3 – but will the flow
switch back up to the top route? No, because any (infinitesimal) agent who dares to consider
moving up to the top route would face a latency of just under 3.5 (just under because there
will be non-zero flow on the edge if that agent changes path), which is greater than his current
latency of 3. Sure, it would benefit all the agents if all of them changed paths at once, but that
involves a level of coordination we do not assume in general in non-cooperative games. It
should be obvious now that if all the flow uses the link with function 3.5 − x, that too is an
equilibrium. The price of anarchy in this network is 3/2.5 and the price of stability is 1.
3.3 S IMPLE NETWORKS
(a) Initial network
40
(b) Augmented network
Figure 3.4: Braess’ Paradox in networks with non-increasing edge latency
functions. After the addition of a direct s1 t1 edge, the cost of the worst Nash
equilibrium is worse than before.
It is possible to think of the situation in this network as follows: there is a barrier to switching to the (ultimately) better path; once this barrier has been crossed, the agents on the 4 − x
link will have no incentive to stay behind on that link.
3.3.2 Existence of Braess’ Paradox
Braess’ Paradox was previously discussed in §1.3.2, as an example of where adding additional
links into a network can degrade overall performance in the presence of selfish users. We
have found an analogue of Braess’ Paradox in the new model.
Example 3.3. Consider the initial network in Figure 3.4(a). We want to route one unit of
flow from s1 to t1 , and another unit of flow from s2 to t2 . For both commodities, there is only
one choice of path; because two units of flow go through the edge uv, the total latency for
each commodity is (1 + 1 + 1) = 3, giving a total of 6.
Now, our benevolent government2 introduces a direct link s1 t1 ; the new network is in
Figure 3.4(b). For commodity 1, the new path’s constant cost of 2.5 beats the old path’s latency
of 3, and thus, all of its flow will be induced into taking the new link. However, the decrease
in latency for commodity 1 is countered by the increase in latency for commodity 2. Its flow
no longer enjoys the benefit of sharing uv with commodity 1, and its path now has a latency
of (1 + 2 + 1) = 4. The total cost is now 6.5, and the price of anarchy is ρ = 6.5/6. The price
2This time perhaps out of spite for its citizenry, after employing researchers well versed in the Braess’ Para-
dox...
3.4 A PPLICATIONS
41
of stability is also 6.5/6 because the optimal routing (where both commodities have flow that
go through the uv edge) is unstable.
If we were to look at Figure 3.4(a) in an adversarial way, and think about how we can make
the average cost much, much worse, what do we have to do? We have to try and induce all
the users to use the easily congested links, and we achieve this by introducing the zero-cost
edge uv as in Figure 3.4(b). However, in the non-increasing selfish routing model, we do not
want to induce the users to clump together if we want to increase the overall cost, because
congestion is good! Hence, the motivation and intuition behind Figure 3.4 is that we need to
introduce a quick link for one commodity that removes any incentive to share a link with the
other commodities, and henceforth driving the latency up for the other commodities.
3.4 Applications
In this section, we outline some of the applications of having non-increasing edge latency
functions. As with the non-decreasing selfish routing model, not all of the applications are
actually networks with selfish flows. We discuss economies of scale, multicast and some
other models of inspired creativity, and discuss the applicability of the selfish routing model
to these situations.
3.4.1 Economies of scale
Economies of scale occur when the per unit cost of a step in production or a resource decreases with increasing volumes. For example, some items are cheaper to buy in bulk than in
smaller quantities, and high fixed costs in a stage in production can be spread over a larger
number of goods if more goods are produced. Clearly, a stage in production or the acquisition of a good can be modelled by edges with decreasing latency functions when you have
economies of scale. A network can be formed by joining these edges together in a way that
represents the natural order in which the stages of production are linked, and an entire production process (made up of a sequence of stages of production) is represented by a path
from a start vertex representing the beginning of production and an end vertex representing
the end of production. There can be many production processes in this network; each is a
separate commodity in the selfish routing model. If the production processes are followed
3.4 A PPLICATIONS
42
by non-cooperative agents, then an equilibrium in the equivalent selfish routing game will
reflect an equilibrium in the agents’ choices of strategies.
3.4.2 Multicast
Multicast is a method of distributing information from a source to multiple recipients such
that duplications along links are removed and data is only replicated when the information
has to be split down multiple paths. Because the cost of sending the data down a link is the
same regardless of how many users end up receiving the transmission, the per user cost of a
link decreases with the number of users that share that link, assuming that the cost of a link
is shared equally. In multicast on computer networks, protocols typically create a spanning
tree: see e.g. (7). However, the analogy with selfish routing is not direct. Any analysis of
multicast must take into account the fact that users join one at a time; in selfish routing,
no such allowances are made for this, or for the manner in which they join. Furthermore,
the non-atomic selfish routing model as discussed in this work does not directly to models
of multicast routing, which tend to be atomic. However, an interesting property that shows
the relevance of this work to multicast routing is that we will demonstrate that in the nonincreasing selfish routing model, the Nash flow uses only edges that form a tree (if we ignore
constant latency edges, which is not the case in multicast routing anyway). Selfish routing
can be applied to situations where there is a fair cost allocation (in that the cost of a resource
is shared equally between its users).
3.4.3 Other applications
How might we formulate a mechanical or physical network analogy with the springs and
strings of §2.3.1? We will need to find a network in which the more flow an edge has, the
more attractive it becomes to flow that is travelling along other paths. Unfortunately, springs
do not contract when stretched, but we can hypothesise the following situations.
Suppose there is some water flowing downhill through a network of muddy trenches. On
any particular path, the resistance to water flow is quite high when the flow is a trickle – the
water is liable to get trapped in muddy pools, or get mixed in with the mud to form a viscous
mess. With larger volumes of water, however, the water is able to flow more freely. If we take
that water follows the path of least resistance, this is analogous to a non-increasing selfish
routing problem, without the assumption of the presence of selfish agents.
3.5 C OMPARISONS WITH EXISTING MODELS
(a) Latency function f (x) = 1/(x + 0.05)2
43
(b) Cost function x · f (x) = x/(x + 0.05)2
Figure 3.5: An example of a non-increasing latency function that does not
have a concave cost.
If we allow selfish agents back in, a natural application of the selfish routing model to
people is that of a flow of people through a dark park at night. Congestion effects are not
a problem, but security is. The more people that traverse a given link, the more secure it
is, and the more desirable it becomes. The existence of Braess’ Paradox can be easily seen;
the insertion of the low-cost direct edge s1 t1 is equivalent to the introduction of a security
service on the paths on one side of the dark park, which removes people from shared links,
and hence reduces the security on those links.
3.5 Comparisons with existing models
3.5.1 On convexity and concavity
There is no necessary connection between non-increasing functions and (semi-)convexity
or (semi-)concavity. This is made apparent in the following example.
Example 3.4. Consider the latency function in Figure 3.5(a), which is f (x) = 1/(x+0.05)2 .
Although the function is decreasing, its cost function x · f (x) = x/(x + 0.05)2 is both convex
and concave over the domain shown.
However, for many non-increasing latency functions, it does happen to be the case that
the corresponding cost function is concave. For some examples, the cost functions corresponding to the latency functions in Figure 3.2 are displayed in Figure 3.6.
3.5 C OMPARISONS WITH EXISTING MODELS
44
(a) f (x) = 5 − x
(b) f (x) = 1 − log(x + 1)
(c) f (x) = 1/x
(d) f (x) = cos(x)
(e) f (x) = cos−1 (x)
(f) f (x) = 1
Figure 3.6: Plots of x·f (x) of various functions f (x) that are non-increasing in
the intervals shown. The corresponding latency functions are shown in Figure
3.2
More rigorously, let us consider what happens if we just assume that a function f (x) is
non-increasing. Then, f 0 (x) ≤ 0. We can also take x ≥ 0. Now,
d2
x · f (x) = 2f 0 (x) + x · f 00 (x),
dx2
(3.1)
3.5 C OMPARISONS WITH EXISTING MODELS
(a) Latency function for top link
45
(b) Latency function for bottom link
Figure 3.7: Latency functions for a two-node, two-link network with mixed
non-increasing and non-decreasing latency functions. This network set-up is
not supported by our model.
and recall that this must be positive for the cost function to be concave. For this to occur,
it is clearly sufficient that f 00 (x) ≤ 0, but it is indeterminate for functions where f 00 (x) > 0.
For example, for f (x) from Example 3.4, the second derivative of the cost function is only
negative when x < 0.1.
3.5.2 Differences between user and traffic equilibria
In the literature, there is some distinction between the notion of a user equilibrium (Nash
equilibrium) and a traffic equilibrium. In short, a user equilibrium is one where no agent has
an incentive to switch paths, while a traffic equilibrium is one where all paths with positive
flow have the same latency that is not greater than the latency of a path that has zero flow.
As shown by Proposition 2.17, in the case of non-decreasing latency functions, the two
types of equilibria are equivalent. However, this is not always the case. An example given by
Aashtiani (1) makes this abundantly clear.
Example 3.5 ((1)). Consider a two-node, two-link network with the top link having a cost
function of f (x) = 1 + x and the bottom link having a cost function of g(x) = 3 − x. This
network has mixed increasing and decreasing functions. We seek to route two units of flow
from the source to the destination.
3.5 C OMPARISONS WITH EXISTING MODELS
46
If there is f ∈ [0, 2] flow on the top link, its latency is 1 + f . Then, there is 2 − f flow on the
bottom link, with a latency of 1 + f . That is, regardless of how the flow is split up, the latency
on each link is the same; all flows are traffic equilibria.
However, for any flow on the top link, the bottom link will always be more attractive (remember that the latency on the bottom link will be ever so slightly less once the infinitesimal
flow switches path). The top link will never be more attractive than the bottom link. So, routing selfishly, all the flow ends up on the bottom link, and that is the single user equilibrium.
Clearly, in this case, the set of traffic equilibria does not correspond to the set of user
equilibria.
We do not actually need a mix of non-increasing and non-decreasing functions to exhibit
this behaviour. The simple two-link, two-node network in Figure 3.3 with latency functions
3.5 − x and 4 − x exhibits this behaviour as well. Split the one unit of flow so that 1/4 of it goes
on the link with function 3.5 − x, and the remaining 3/4 of it goes on the other link; the path
latencies are now both 3.25. However, this is not a user equilibrium, because if any agent is
thinking of switching paths, the other path will have a latency that is strictly less than 3.25.
Intuitively, networks with decreasing latency functions suffer from this problem, because
despite the latencies of paths with non-zero flow equalising, it is possible for a selfish agent
to find a path of lower latency by switching to the path with the decreasing latency function.
This difference between Nash equilibria and traffic equilibria has significance, especially
in showing the existence of Nash equilibrium in the non-increasing selfish routing problem.
C HAPTER 4
Characterisation of equilibria and optima
Now that we have made explicit what we are studying in the new model of non-increasing
selfish routing and explored some examples of networks that show interesting behaviour, we
now turn our attention to characterising more formally the equilibria and optima in the new
model. Our objective is to explore the properties of equilibria and optima in this model that
make it different from the models previously studied. The main contribution of this chapter
is the characterisation of path flows as ones that tend to coagulate together – in the sense
that flow does not like to split up.
4.1 Social optima
To calculate the social optimum, which is the minimum possible overall cost for routing the
traffic through the network, we formulate it as a constrained optimisation problem. Actually
solving the constrained optimisation problem is not simple in all cases. However, as we will
see, there always exists a minimum-cost flow.
4.1.1 Existing work
Roughgarden [(32) §2.4] formulates the optimisation as follows:
Minimise:
X
ce (fe )fe
e∈E
subject to:
X
∀i ∈ {1, . . . , k}
fP = ri
P ∈Pi
X
fe =
fP
∀e ∈ E
P ∈P:e∈P
fP ≥ 0
∀P ∈ P
47
(NLP)
4.1 S OCIAL OPTIMA
48
In the formulation of (NLP), there is one variable in the optimisation program for each
edge and for each path. The objective function embodies the cost, and the constraints embody the feasibility constraints, non-negativity constraints and the definition of the flow on
an edge. The above formulation is simply the direct translation of the definition of a minimum cost flow into a mathematical programming formulation. In general, this is nonlinear
optimisation, because in most cases, the objective function will not be a linear function. (In
order for it to be a linear function, our edge latency functions will need to be constant.)
4.1.2 Optima in our model
The above formulation of (NLP) makes no explicit reference to the nature of the latency functions and hence extends to the new model without modification. The constraints are still linear even with non-increasing latency functions. The difference between the formulation in
(33) and this model is that we do not make any assumptions regarding convexity (see §3.5.1)
of the objective function, but that only impacts the problem when we come to computing
the optimal value later.
If you have a real-valued function over a convex set (which is true because of linear inequality constraints; see Proposition 2.32), then the function will attain a minimum at some
point. A small kink with this is that we allow edge latency functions to have singularities at
x = 0 (such as c(x) = 1/x). Now, because of the non-negativity constraint, such functions
must approach +∞ (as opposed to −∞), and if that occurs, the objective function, as the
sum of edge costs, will also tend towards ∞. However, this does not affect the finiteness of
the minimum of the objective function. Because we only allow singularities when edge flows
are zero, this zeroes out any infinities when we assign a zero flow to such paths. Thus, the
objective function obtains a minimum somewhere in the feasible region.
4.1.3 Example
We now illustrate the mechanics of working out the optimal routing in a network using the
KKT conditions in a network with non-increasing cost functions. We will follow the formulation as in §2.4.3.2.
Example 4.1. Consider a two-node network with two links that both have a latency function of 1 − x, as depicted in Figure 4.1. We will formulate this as an optimisation problem,
4.1 S OCIAL OPTIMA
49
Figure 4.1: A two-node, two-link network with both edges having a latency
function of 1 − x. The two flows that send all the flow up the top and all the
flow down the bottom are both optimal and Nash flows.
and then see what the KKT conditions say about the optimal routing. The optimal routing
has a cost of zero – when all the flow goes all on the top edge, or all on the bottom edge.
Firstly, let x be the amount of flow on the top route, and y be the amount of flow on the
bottom route. The optimisation problem is as follows:
Minimise: x(1 - x) + y(1 - y)
subject to: x + y = 1
(feasibility)
x≥0
(non-negativity)
y≥0
(non-negativity)
We will replace the equality constraint with two inequalities, and rewrite the contraints
like this:
subject to: x + y − 1 ≤ 0
−x − y + 1 ≤ 0
−x ≤ 0
−y ≤ 0
4.1 S OCIAL OPTIMA
50
We then introduce the Lagrangian multipliers λi and slack variables si , and form the Lagrangian:
L = x − x2 + y − y 2
+λ1 (x + y − 1 + s21 )
+λ2 (−x − y + 1 + s22 )
+λ3 (−x + s23 )
+λ4 (−y + s24 )
We differentiate with respect to all the variables, and set the partial derivatives to zero
and solve:
∂L
∂x
∂L
∂y
∂L
∂λ1
∂L
∂λ2
∂L
∂λ3
∂L
∂λ4
∂L
∂si
= 1 − 2x + λ1 − λ2 − λ3 = 0
= 1 − 2y + λ1 − λ2 − λ4 = 0
= x + y − 1 + s21 = 0
= −x − y + 1 + s22 = 0
= −x + s23 = 0
= −y + s24 = 0
= 2λi si = 0 for i = 1, 2, 3, 4
The solution to the problem is x = 0, y = 1 or x = 1, y = 0, just by manual inspection,
but because we do not have a convex objective function, the KKT conditions are merely just
necessary. The ten variables in this problem are now in a system of ten equations, which
can be solved assuming there are no contradictions. For simplicity, let’s work backwards and
substitute in x = 0, y = 1. We will find that s1 = s2 = s3 = 0, while s4 > 0, which is to
be expected since the variables sit on the boundary of the first three inequality constraints,
while the fourth is not.
4.2 E QUILIBRIA
51
4.2 Equilibria
We now turn our attention to the existence and uniqueness of equilibria.
4.2.1 Existing work
4.2.1.1 Existence and uniqueness for non-decreasing selfish routing model
Roughgarden (32) proves the existence and uniqueness of equilibria in the non-decreasing
selfish routing model. This is done by taking the latency functions in the network and altering
them in such a way such that a flow is optimal in the network with altered latency functions
iff the flow is Nash in the original network. Then, if the optimal routing in the network with
altered cost functions exists and is unique, then the implication is that the Nash flow in the
original network also exists and is unique. The relationship between an optimal routing in
one network and the Nash flow in another network will now be made explicit.
Definition 4.2 ((32)). If c is a differentiable cost function, the corresponding marginal
cost function c∗ is defined by
c∗ =
d
(x · c(x)).
dx
(4.1)
Proposition 4.3 ((32) Corollary 2.4.6). Let (G, r, c) be an instance with continuously differentiable, semi-convex cost functions and corresponding marginal cost functions c∗ . Then, a
flow f feasible for (G, r, c) is optimal iff it is at Nash equilibrium for the instance (G, r, c∗ ).
The proof of Proposition 4.3 involves the following proposition, which we will re-use later
d
on in our own proof of existence. Let he (fe ) = ce (fe )fe . The derivative dx
he (x) will be denoted
P
by h0e , and we will use h0P (f ) to mean e∈P h0e (fe ).
Proposition 4.4 ((32) Proposition 2.4.4). Let f ∗ be a feasible solution to a nonlinear program of the form (NLP) (see §4.1) in which every function he is continuously differentiable and
convex. Then, if f ∗ is optimal, for every commodity i and P1 , P2 ∈ Pi with fP∗1 > 0,
h0P1 (f ∗ ) ≤ h0P2 (f ∗ ).
(4.2)
The proof of Proposition 4.4 (which we do not give but it is found in (32)) only assumes
that the he are continuously differentiable, regardless of whether they are non-increasing or
non-decreasing. The proposition in (32) is actually an “if and only if” statement, but we
4.2 E QUILIBRIA
52
only quote the direction that applies to both the non-decreasing and non-increasing selfish
routing models.
The link between the Nash and optimal flows is established by noticing that the form of
the inequalities in Propositions 2.16 and 4.4 are the same except for a change in the functions
used. Finally, existence and uniqueness for the non-decreasing case is shown as follows: by
assuming that the he are convex, the optimisation program (NLP) has a unique solution that
exists. There must then be precisely one flow f ∗ such that h0P1 (f ∗ ) ≤ h0P2 (f ∗ ) by Proposition
4.4, which implies that there is precisely one flow that satisfies the “if” case in Proposition
2.16, which finally implies that there is precisely one flow that is a Nash equilibrium. We will
use a similar chain of reasoning in our existence proof to come.
4.2.1.2 Aashtiani and Magnanti formulation
Aashtiani and Magnanti (2) formulated a traffic equilibrium model, and showed the existence of equilibria via a nonlinear complementarity problem, that allows for far more mild
assumptions that in the other formulations outlined thus far. However, note that the formulation is for a traffic equilibrium model, whereas we are interested in studying the user
equilibrium. The two are defined in Definitions 2.12 and 2.13. In models where the two are
equivalent, their results are quite useful; however, as noted in 3.5.2, the non-increasing selfish routing model case does not exhibit this equivalence in all cases.
The model is formulated as:
(Tp (h) − ui )hp = 0
X
for all p ∈ Pi and i ∈ I
(4.3)
Tp (h) − ui ≥ 0 for all p ∈ Pi and i ∈ I
(4.4)
hp − Di (u) = 0
(4.5)
for all i ∈ I
p∈Pi
h ≥ 0
(4.6)
u ≥ 0.
(4.7)
In this formulation,
• I is the set of commodities;
• Pi is the set of available paths for commodity i (equivalent to Pi );
• hp is the flow on path p (equivalent to fP for a path P );
4.2 E QUILIBRIA
53
• ui is the shortest travel time (also called generalised cost) for commodity i – note
that this is a variable, and not a fixed value calculated via a shortest path algorithm);
• Di (u) is the demand function for commodity i (equal to a constant function in our
case); and
• Tp (h) is the latency function for path p (equal to cP (f ) for a path P and flow f ).
Aashtiani and Magnanti formulate the traffic equilibrium model in terms of a nonlinear
complementarity problem, which we describe in §2.39. Let x = (h, u), n1 = |P |, n2 = |I| and
n = n1 + n2 , and define the following:
fp (x) = Tp (h) − ui for all p ∈ Pi and i ∈ I
X
hp − Di (u) for all i ∈ I
gi (x) =
p∈Pi
F (x) = (fp (x)for all p ∈ Pi and i ∈ I, gi (x)for all i ∈ I)
They showed that the traffic equilibrium model was then equal to the following nonlinear
complementarity problem, assuming that the functions Tp are positive functions:
fp (x)hp = 0
for all p ∈ Pi and i ∈ I
fp (x) ≥ 0 for all p ∈ Pi and i ∈ I
gi (x)ui = 0
for all i ∈ I
gi (x) ≥ 0 for all i ∈ I
x ≥ 0
If we make assumptions about the monotonicity of F (x), then we can use Propositions
2.40 and 2.41 to show existence and uniqueness properties. However, using a transformation
that converts the nonlinear complementarity problem into a Brouwer fixed point problem,
the authors were able to prove uniqueness and existence with much milder assumptions.
The following existence theorem is relevant, while we will see that the main uniqueness theorem fails to apply in our instance.
Theorem 4.5 ((2) - existence). Suppose (N, A) is a strongly connected network. Suppose
n1
that Tp : R+
7→ R1+ is a positive continuous function for all p ∈ P . Also suppose that for all
4.2 E QUILIBRIA
54
i ∈ I, Di : Rn+2 7→ R1+ is a nonnegative continuous function that is bounded from above. Then
the traffic equilibrium problem has a solution.
In the following, t refers to individual edge latencies, and the additive traffic equilibrium
problem is the case where path costs are the sum of component edge costs.
Theorem 4.6 ((2) - uniqueness). For a complete network (N, A) suppose that t and −D in
the additive traffic equilibrium problem are both monotone functions. If either of t or −D is
strictly monotone, then u is unique. Also, if t is strictly monotone and D is a positive function,
then (v, u) is unique.
4.2.2 Existence of Wardrop equilibria
We can, with some additional assumptions, show that Wardrop (traffic) equilibria exist in
the non-increasing selfish routing model. Recall that it is not a requirement of being at a
Wardrop equilibrium for a no flow to have an incentive to switch paths; this case is the Nash,
or user, equilibrium and will be discussed later.
There are several assumptions in Theorem 4.5:
• The network is strongly connected: a strongly connected graph has a path from each
vertex to every other vertex; we have not made this assumption before, so it will
have to be imposed. We only guarantee that there is at least one path from source to
destination for each commodity.
• Path latency function is a positive continuous function: path latency functions are
indeed continuous, but we only assume non-negativity not positivity. However, for
each commodity i, with source and destination vertices si and ti respectively, apply
the following transformation to the network:
(1) Insert a vertex s0i .
(2) Add an edge s0i si with a constant latency of δ > 0.
(3) Change the start vertex of commodity i to s0i .
The pattern of flow for both Nash and optimal flows in the network excluding s0i is
clearly unchanged, but all paths now do not have zero cost.
• The demand function is nonnegative and continuous: our constant demand functions satisfy this assumption.
4.2 E QUILIBRIA
55
Figure 4.2: A two-node, two-link network with latency functions 1/x and 2.
Taking these into consideration, we can state the following:
Proposition 4.7. The non-decreasing selfish routing model has a Wardrop equilibrium if
the network is strongly connected.
4.2.3 Definition of Nash equilibrium
We propose to modify the definition of a Nash equilibrium as given in Definition 2.13 as presented in Roughgarden (33) in light of certain differences between the non-decreasing and
the non-increasing selfish routing models. Let us first consider the problems with applying
Definition 2.13 to the non-increasing selfish routing model.
Consider the network as depicted in Figure 4.2, where the two latency functions are 1/x
and 2. Suppose that of the one unit of flow is on the lower edge. Is this a Nash equilibrium?
We would argue yes, because an agent carrying an infinitesimal amount of flow would look
at the alternative and see that it does not reduce his latency. In fact, the top edge has a higher
latency until at least half a unit of flow travels along it. This behaviour is by reference to the
idea behind a Nash equilibrium as defined in Definition 2.2 – that no agent can unilaterally
benefit by switching strategy – although the Nash equilibrium that we have is only defined
for a finite number of players.
Now, what does Definition 2.13 say about this situation? Let the bottom edge be P1 and
the top edge be P2 ; here fP1 > 0. For the outcome where all the flow is on the bottom edge, it
is only a Nash equilibrium if, for all δ ∈ (0, fP1 ], the latency on P2 after you move δ amount of
flow to P2 is greater than or equal to the original latency on P1 . For δ ∈ (0, 0.5], this characterisation is true; for δ ∈ (0.5, fP1 ], this characterisation is false. However, the only characterisation that should matter is the relative costs when δ is sufficiently small. It should not matter
4.2 E QUILIBRIA
56
that we can achieve lower latencies by moving 0.5 units of flow to another path, because that
implies some kind of cooperation between the infinitely-many agents that make up the 0.5
units of flow – an assumption that is clearly false.
We propose a new characterisation of Nash equilibria that is equivalent to Definition 2.13
for the non-decreasing selfish routing model, but is more suited for use in the non-increasing
case.
Proposition 4.8. A flow f feasible for the instance (G, r, c) is at Nash equilibrium if for all
commodities i ∈ {1, . . . , k}, si -ti paths P1 , P2 ∈ Pi with fP1 > 0, there exists a 0 < δ 0 ≤ fP1 ,
such that for all amounts δ ∈ (0, δ 0 ] of traffic on P1 ,
cP1 (f ) ≤ cP2 (f˜),
(4.8)
where the flow f˜ is obtained from f by moving δ units of flow from the path P1 to the path P2
(we use the same definition of f˜ as in Definition 2.13).
We will now argue that Proposition 4.8 is implied by Definition 2.13 for the non-decreasing
selfish routing case. The new definition just removes the requirement that we can move
amounts of flow of size δ > δ 0 . This is not a problem, because with the original definition, if
the inequality fails to hold for say, δ1 , then the inequality must fail to hold for any δ ∈ (0, δ1 )
as well, due to the assumption of path latency monotonicity in the original definition.
4.2.4 Existence of Nash equilibria
By showing the existence of Nash equilibria, we show that it is not possible for agents to
always have an incentive to switch paths and never settle down, like what happens if you
only consider pure equilibria in the matching pennies game (Example 2.2).
However, we do not have a proof of the existence of Nash equilibria in all situations. If
certain assumptions are true, then the proof below guarantees the existence of Nash equilibria, and we leave the problem of whether the Nash equilibrium exists if the assumptions
are false as an open question. (We do, however, strongly believe that Nash equilibria always
exist in the non-increasing selfish routing case.) Regardless, in work after this point, we will
always assume that Nash equilibria exist in all cases with none of the assumptions used in
the existence proof.
4.2 E QUILIBRIA
57
As before, we let he (fe ) = ce (fe )fe . Firstly, let us consider whether Proposition 2.16 holds
in the case of non-increasing latency functions. It partly does, but it is no longer an “if and
only if” proof. Assuming that a flow f is Nash, the result that cP1 (f ) ≤ cP2 (f ) remains true;
the only assumptions in the proof is continuity, which we take as a basic assumption. The
converse is not true, though. Consider the two-node, two-link network with top and bottom
latency functions being 3 and 3−x respectively. A flow that routes all the traffic on the top link
is not at Nash equilibrium, but the converse implies that it is a Nash equilibrium. However,
note that if the latency function on the bottom link were changed to 3 + δ − x, the top link is
a Nash equilibrium by Proposition 4.8. This motivates the following lemma.
Lemma 4.9. Consider a flow f feasible for the instance (G, r, c), where all the latency functions are non-increasing. Then, for every commodity i and P1 , P2 ∈ Pi with fP1 > 0,
(1) If f is at Nash equilibrium, then cP1 (f ) ≤ cP2 (f ).
(2) If cP1 (f ) < cP2 (f ), then f is at Nash equilibrium.1
Proof. (1) follows from the proof of Proposition 2.16. (2) is true because if cP2 (f ) > cP1 (f ),
there must be some δ 0 such that for all δ ∈ (0, δ 0 ], cP2 (f˜) ≥ cP1 (f ), where f˜ is defined in Definition 2.13. This is because if cP2 (f˜) < cP1 (f ) for all δ > 0, this would violate the continuity
assumption.
Theorem 4.10. Every instance (G, r, c) that has non-increasing latency functions admits a
Nash flow if the following assumptions hold:
(1) For every commodity i and P1 , P2 ∈ Pi with fP∗ > 0,
h0P1 (f ∗ ) 6= h0P2 (f ∗ ),
(4.9)
(2) Every function he is continuously differentiable.
Proof. For each edge latency function ce , we replace it with a de such that
d
x · de (x) = ce
dx
(4.10)
in order to form a new instance (G, r, d). From §4.1.2, we know that there exists an optimal
flow in (G, r, d). By Proposition 4.4, there exists a flow such that for each commodity i and
1Note that the condition c (f ) < c (f ) necessarily implies that there is only one path with positive flow.
P2
P1
That is fine, because we will prove in Theorem 4.18 that flows with commodities with split paths cannot be equilibria anyway.
4.3 G EOMETRIC REPRESENTATION OF FEASIBLE FLOWS
58
P1 , P2 ∈ Pi with fP∗1 > 0, we have that h0P1 (f ∗ ) ≤ h0P2 (f ∗ ), but by assumption, we will not
have equality. This implies the existence of a flow f ∗ such that cP1 (f ∗ ) < cP2 (f ∗ ), which then
implies the existence of a Nash equilibrium.
4.2.5 Uniqueness of Nash equilibria
Recall Corollary 2.17, where Nash flows have a common cost, in the non-decreasing selfish
routing model. However, this did not imply that there was only flow that was Nash; for example, if we take a two-node, two-link network and set the latency functions on both links to be
the same constant, then all feasible flows are a Nash flow because no agent has an incentive
to switch to a new path. Thus, by uniqueness, we will be referring to the uniqueness of the
cost of the Nash flow, not of the pattern of flows along the edges.
However, in the non-increasing selfish routing model, each network may have Nash equilibria of different costs. The network considered in Example 3.2 has two Nash equilibria of
different costs; one has cost 2.5 and the other has cost 3. In general, in the networks we consider (and as can be seen in the example), the barrier to switching before you can enjoy lower
latencies is what causes this model to lack uniqueness. Based on this, we can write down the
following proposition.
Proposition 4.11. A network with edge latency functions that are non-increasing may
have Nash flows of different cost.
4.3 Geometric representation of feasible flows
Finally, we examine a geometric representation of set of all feasible flows, which is equivalent
to the feasible region in the optimisation program in 4.1. Recall from Definition 2.7 that a
feasible flow routes all the traffic for each commodity through the network. This geometric
representation allows us to examine the space of all feasible flows in a different way.
Consider a network with one commodity. This commodity has three available paths, and
it has a traffic rate of r = 1. Take the flow on each of the paths as a variable, and that gives
you some kind of a region in 3D space: see Figure 4.3. However, in actuality, the feasibility
constraint x + y + z = 1 (where x, y and z are the path flows) is a 2D plane in 3D space.
Can we start off with a 2D plane instead? The answer is yes, as there are actually only two
4.3 G EOMETRIC REPRESENTATION OF FEASIBLE FLOWS
59
Figure 4.3: A plot of x + y + z = 1 (the sloping plane) intersected with z = 0.
If x, y and z are the amount of flow in a network with three paths belonging to
the same commodity with traffic rate of r = 1, then the plane x + y + z = 1
represents the space of feasible flows.
free variables and the third is fixed by the feasibility constraint and the value of the two free
variables.
Let us just consider some examples with the realisation that, for each commodity, the degrees of freedom (the number of dimensions that we should allocate for that commodity) is
one less than the number of paths available to that commodity. In Figure 4.4, we depict the
feasible region for a network with a single commodity of traffic rate r that has four paths connecting source to destination. There are three degrees of freedom, and these are manifested
in the three dimensions; we will call the flow on the path that does not have a dimension the
implicit flow. For the origin (0, 0, 0), the implicit flow is set to the traffic rate r, while at any
point lying on the plane x + y + z = r, the implicit flow is zero. (Note that the triangle with
corners (r, 0, 0), (0, r, 0) and (0, 0, r) has equation x + y + z = r.) As a further example, the feasible region for a two commodity instance is shown in Figure 4.5; one commodity has three
paths (taking up the x and the y dimensions), and the other has two dimensions (requiring
just the z dimension).
Note that if a commodity has only one path, it is possible to remove the commodity by
altering the latency functions of the edges that its path traverses, thus avoiding the problem
whereby a commodity with only one path will be allocated no variables (dimensions).
4.3 G EOMETRIC REPRESENTATION OF FEASIBLE FLOWS
60
Figure 4.4: The geometric representation of the set of feasible flows for a network with one commodity and four paths. Each dimension corresponds to
one path; it is only in three dimensions, because the feasibility constraint implies that the degree of freedom for path flow assignments is one less than the
number of paths for the commodity.
From these diagrams, we get the intuition that the feasible set is going to be bounded,
closed and convex.
Proposition 4.12. The feasible region of the optimisation program (NLP) (or alternatively,
the set of all feasible flows) in an instance is closed, bounded and convex.
Proof. That it is closed and convex is clear from the linear constraints in (NLP). That it
is bounded can be seen because the path flows are upper bounded by the traffic rate of the
corresponding commodity and lower bounded by zero.
Remark 4.13. Even though we have the characterisation that it is closed, bounded and
convex, the present formulation has |P| − k dimensions (one dimension per path less one
per commodity). This is exponential in the number of vertices (see Proposition 2.22), and is
not tractable to compute. Edge-based formulations are available (24).
4.4 S INGLE PATH PER COMMODITY
61
Figure 4.5: The geometric representation of the set of feasible flows for a network with two commodities, the first with three and the other with two paths.
x and y represent the flow on two of the paths of the first commodity, and z
represents the flow on one of the paths of the second commodity.
4.4 Single path per commodity
In this section, we will discuss two important characterisations of optimal and Nash flows in
the non-increasing selfish routing model. Interestingly, in the non-increasing selfish routing
model, for both optimal and Nash flows, we will find that, for each commodity, all of its flow
will be sent down a single path. Intuitively, we would expect this, because it makes the most
of the fact that congestion is deemed to be a good thing, and the non-increasing latency
functions encourage flow to come together to lower the cost. This is definitely not true in the
non-decreasing model, as we will examine first.
4.4 S INGLE PATH PER COMMODITY
62
Figure 4.6: A two-node, two-link network with symmetric increasing latency
paths. In this case, the optimal and Nash flows both route half on each link;
generally, in networks with non-decreasing latency functions, flow for a particular commodity may take multiple paths in the optimal and Nash routing.
4.4.1 Examples from the non-decreasing model
Example 4.14. Consider the network in Figure 4.6. Both of the latency functions are nondecreasing functions. The optimal flow routes half the traffic on each of the two links, and
the only Nash flow also routes half the traffic on each link.
Intuitively, in the non-decreasing selfish routing model, flow from a particular commodity will split itself between multiple paths, otherwise one link becomes overly-congested and
its latency will be much higher than other paths.
4.4.2 Caveat
Before we introduce the main results of this section, we need to point out an annoying technicality that affects the neat presentation of the following theorems.
Remark 4.15. As we will see, in an optimal or a Nash flow, the flow for each commodity
will all travel down the same path, unless we run into the problem where, in different optimal or Nash flows,2 a particular commodity routes using different constant latency paths,
ceteris paribus. Suppose two of these flows are f and f 00 , and the path used in f is P1 and the
path used in f 0 is P2 . We can modify f to create f 00 by moving some flow from P1 to P2 : the
Nash equilibrium or the social optimum conditions will still be met by this new flow. However, this cannot occur when the path cost functions are strictly decreasing.3 It is for this
2It is possible for there to be multiple optimal or Nash flows with the same cost but a different path flow
assignment.
3We could also use the strictly stronger assumption that all edge latency functions are strictly decreasing.
4.4 S INGLE PATH PER COMMODITY
63
reason that the following theorems assume that the path cost functions are strictly decreasing, even though they are also true under milder assumptions. These milder assumptions
are somewhat unwieldy to state; constant latency path functions are not always prohibited,
and there are similar issues with piecewise linear non-increasing cost functions that have
constant parts.
The stricter condition is as follows. Suppose that in the set of all optimal (Nash) flows
with unsplit flows, there are two optimal (two Nash) flows f1 and f2 such that there is a commodity i whose paths differ between f1 and f2 (say P1 in f1 and P2 in f2 ), while all the other
commodities retain the same paths. If, for all t ∈ (0, 1), we construct a new flow f that takes
the paths for commodities other i from f1 (or f2 ) but route tri flow on P1 and (1 − t)ri on P2 ,
f is not an optimal (Nash) flow.
4.4.3 Social optimum
Firstly, we will prove that for networks with non-increasing latency functions that have a
single commodity, the optimum routing uses a single path. After that, we will use the first
result to show that for multiple commodities, the optimum flow will only use one path for
each commodity; that is, flow from a single commodity is never split between two paths.
Theorem 4.16. Consider the non-increasing selfish routing model, in networks with one
commodity. In the socially optimum routing, all of the flow for that single commodity will
follow the same path, if path latency functions are strictly decreasing.
Proof. This is another way to phrase the question. You are given that there are n paths,
and ai represents the amount of flow on path i. a is the vector of path flows, and a1 +a2 +. . .+
an = r. Let fi (a) be the latency function for path i. This is not only dependent on ai , but also
on the flows on other paths, because different paths may share edges. Does the minimum
value of
F (x) =
X
ai fi (a)
(4.11)
i∈{1,...,n}
occur when one of the ai = r and the other aj = 0, j 6= i?
Let us just consider the values that F (x) take when we set one of the ai to r and the others
to 0. Let ari denote the vector where ai is set to r and the other aj , j 6= i to zero. Let m be the
4.4 S INGLE PATH PER COMMODITY
64
smallest value that F (x) takes on when we put all the flow on one path, that is,
m = min fi (ari ).
(4.12)
ai fi (a) ≥ ai fi (ari )
(4.13)
i
Now,
≥ ai m
(4.14)
where the first inequality is due to the fact that when you take all the flow from other paths
and put it onto path i, it can only decrease the latency because of the strictly decreasing
latency functions, and the amount of traffic along the edges that constitute i can only be
increased. (Suppose an edge lost traffic because path i took traffic away from some other
path. That traffic comes back though because path i now routes all r traffic.) The second
inequality is due to the definition of m.
Finally,
X
ai fi (a) ≥
i
X
ai m
(4.15)
i
= rm
as required.
(4.16)
Theorem 4.17. Consider the non-increasing selfish routing model, in networks with multiple commodities. In the socially optimum routing, all of the flow for each commodity will
follow the same path, if path latency functions are strictly decreasing.
Proof. For each commodity i, regardless of the paths that the flow belonging to commodities j 6= i chooses, Theorem 4.17 implies that, holding the other commodities’ flows
fixed, it will lower the total cost if all of commodity i’s traffic was routed along just one of its
paths. This suggests a natural iterative procedure:
while there exists a commodity with flow that uses more than one path do
Re-route that commodity’s flow along just one of the commodity’s paths.
end while
This algorithm terminates because the total cost has a finite lower bound. This algorithm
will terminate when the strategy set becomes trapped in a local optimum. Clearly, no local
4.5 T REE - LIKE FLOWS
65
optima can have split flows. The global optimum is one of these local optima, and hence no
commodity has flow that is split between two paths.
Alternatively, Theorem 4.17 can be proved simply if the total cost function is a concave
function. By Proposition 2.31, a concave function over a convex set will attain its minimum
at the extrema of the domain; by considering the feasible region of (NLP), this equates to
sending a commodity’s flow down one path only.
4.4.4 Nash equilibria
An analogous result holds for Nash equilibria.
Theorem 4.18. In the non-increasing selfish routing model, all of the flow for each commodity will follow the same path through the network, if path latency functions are strictly
decreasing.
Proof. Suppose there exist Nash equilibria where the traffic for one commodity is split
between two paths. All paths with non-zero flow must have the same latency, otherwise it is
trivially not a Nash equilibrium. Now, let the Nash flow be f and two flow paths be P1 , P2 ∈ Pi
with fP1 , fP2 > 0. By Proposition 4.8, there exists a 0 < δ 0 ≤ fP1 such that for all amounts
δ ∈ (0, δ 0 ] of traffic on P1 ,
cP1 (f ) ≤ cP2 (f˜),
(4.17)
where f˜ is defined in Definition 2.13.
Since cost functions are strictly decreasing, cP1 (f ) < cP1 (f˜) and cP2 (f ) > cP2 (f˜). Now, if
cP1 (f ) = cP2 (f ), then
cP2 (f˜) < cP2 (f ) = cP1 (f ) < cP1 (f˜),
which contradicts Equation 4.17.
(4.18)
4.5 Tree-like flows
As we have said before, intuitively, by making the edge latency functions non-increasing and
thereby making congestion attractive, it makes it more likely that the flow would stick together and share as many edges as possible. We make this more rigorous by showing that
4.5 T REE - LIKE FLOWS
66
Figure 4.7: The flow in a network with four commodities, with the flow between A and D split into two. The commodities are labelled 1-4 and have flow
going from the top labelled node to the bottom labelled node. If edge latency
functions are decreasing, then there is always an incentive for some flow to
switch paths; in the equilibrium, flow between A and D will either all go along
the path AD or all along ABCD (but not split between the two). If we are
considering the social optimum, then moving all the flow from one path to
another, iteratively will result in a local minimum, which constrains the characterisation of the global minimum as well.
in both the optimal and Nash flows, the resultant flow will only use edges that form a forest,
which is a collection of trees. Again, Remark 4.15 applies.
This is clearly not the case in the non-decreasing selfish routing case; see Example 4.14.
4.5.1 Social optimum
Theorem 4.19. If edge latency functions are strictly decreasing, then if we remove any edges
that are not used in the socially optimum routing, the remaining edges form a forest, which is
a collection of trees.
Proof. Suppose there is an optimal flow f such that there are two vertices u and v with
two paths from u to v, say P1 and P2 . The flow on each path must belong to one commodity
4.5 T REE - LIKE FLOWS
67
only, by Theorem 4.17. Say P1 carries the flow for commodity c1 and P2 carries the flow for
commodity c2 . However, if we move a δ > 0 amount of c1 flow from P1 to P2 , and we move the
same δ amount of c2 flow from P2 to P1 , then the flows on edges have remained the same and
therefore the cost of the total routing is the same. However, what we have now is the situation
that both commodities are routing using two paths, and therefore by Theorem 4.17, it is not
optimal, thus leading to a contradiction.
If between any two vertices u and v, there is at most one path from u to v, then the graph
is a forest.
4.5.2 Nash equilibria
Theorem 4.20. If edge latency functions are strictly decreasing, and we consider a particular Nash flow f , then if we remove any edges that are not used by f , the remaining edges form
a forest.
Proof. Suppose f has two vertices u and v with two paths from u to v. The path costs must
be equal, otherwise it is not an equilibrium. However, because we have strictly decreasing
functions, there is always an incentive for flow to move from one of those paths to the other,
and therefore it cannot be an equilibrium, leading to a contradiction.
Theorem 4.20 has an interesting consequence for multicast routing, where the per-unit
edge cost decreases as the number of users increases: assuming a non-atomic model of traffic, selfish users will end up routing flow on a tree anyway, negating the need for protocols to
enforce the tree structure in the network.
Remark 4.21. Theorem 4.20 does not imply that our non-atomic model is equivalent
to the non-increasing atomic unsplittable selfish routing model.4 Consider the network in
Figure 3.3. We have previously said that the flow that routes all one unit along the edge with
latency function 4 − x is a Nash flow; however, if all of the flow belonged to one agent (the
atomic case), then there would be an incentive for that agent to move all of the flow to the
other path and there is now only one equilibrium.
4See §2.2.2 for the distinctions between the non-atomic, and atomic splittable and unsplittable models.
C HAPTER 5
The inefficiency of equilibria
In this chapter, we consider the possibility of bounding the price of anarchy in the nonincreasing selfish routing model, considering the interesting bounds on the price of anarchy
found in the non-decreasing model. We also consider the bicriteria bound, which has also
been used to quantitatively express the increase in cost due to selfish routing. We describe
an algorithm to compute equilibria. Economic incentive such as marginal cost pricing are
discussed, as well as an algorithm to compute equilibria in a certain network topology.
5.1 The price of anarchy
Recall the price of anarchy from Definition 2.14, as the worst-case ratio of the cost of Nash
flow to the cost of the optimal routing, denoted by ρ.
5.1.1 Existing work
Researchers have considered bounding the price of anarchy in a variety of models, including
the non-atomic case, the atomic splittable case and the atomic unsplittable case.1 Furthermore, researchers have also considered the price of anarchy for different classes of latency
1See §2.2.2 for the distinctions between these models
Model
Non-atomic (33)
Atomic splittable (33)
Bounds on price of anarchy
4
3
4
3
Pure strategies Mixed strategies
Atomic unsplittable (4)
Weighted
Unweighted
√
3+ 5
2
2.5
√
3+ 5
2
√
3+ 5
†
2
Table 5.1: Bounds on the price of anarchy for various models with nondecreasing linear latency functions. Apart from †, the bounds are tight.
68
5.1 T HE PRICE OF ANARCHY
Model
Non-atomic (33)
Atomic splittable (33)
Atomic unsplittable (4)
69
Bounds on price of anarchy
Θ lnpp
Θ lnpp
Pure strategies Mixed strategies
dΘ(d)
O(2d dd+1 ), Ω(dd/2 )
Table 5.2: Bounds on the price of anarchy for various models with nondecreasing polynomial latency functions. Tight bounds are denoted with the
Θ notation.
Lower bound Upper bound
√
log n
Integral game Ω
O( n log2 n)
log log n
Fractional game
O(log n)
Table 5.3: Bounds on the price of anarchy of the multicast game. (7)
functions; an oft-analysed class of functions is the set of linear functions. However, the common thread has been the assumption that edge latencies are non-decreasing. In Table 5.1 are
(mostly) tight bounds for the linear non-decreasing latency function case, and Table 5.2 contains bounds for polynomial functions, expressed in terms of the degree of the polynomial,
p.
In the literature, tight bounds are often established by proving an upper bound, and then
providing an example with that price of anarchy, thereby establishing that the upper bound is
a tight bound, e.g. (33). For example, Pigou’s Example 1.3.1 is a non-decreasing non-atomic
selfish routing case with a price of anarchy of 4/3; this is the upper bound on the price of
anarchy in that category (see Table 5.1).
Stier Moses (11) derived the Roughgarden bounds again using a shorter geometric proof.
The price of anarchy has also been studied in the context of multicast games. In multicast, typically, the fixed cost of an edge is spread amongst its users and this is known as the
Shapley value (34). (7) found bounds on the price of anarchy for the integral (unsplittable)
and the fractional (splittable) multicast case: see Table 5.3.
The price of anarchy is not dependent on the network topology (at least in the case of
non-decreasing latency functions).(31)
5.1 T HE PRICE OF ANARCHY
70
Figure 5.1: A network with an unbounded price of anarchy. δ ≥ 0 and > 0.
Notice that ρ → ∞ as δ → 0, when first commodity’s flow uses s1 t1 instead of
the path using the shared edge uv.2
5.1.2 Constant latency functions
As shown in Proposition 2.20, the price of anarchy and the price of stability in networks with
constant latency functions is precisely 1. Note that these networks are trivially the only networks common between the non-increasing and non-decreasing selfish routing models.
5.1.3 The price of anarchy is unbounded
Proposition 5.1. The price of anarchy in the non-increasing selfish routing model, with no
further assumptions, is unbounded, as demonstrated in Example 5.2.
Example 5.2. Consider the network in Figure 5.1. There are two commodities, with the
first commodity having two choices of paths, while the second commodity only has one path
that it must use. δ ≥ 0 and > 0 are constants that we can change to provide us with a family
of networks. There are two Nash flows – the first is when the first commodity uses the direct
s1 t1 edge, and the second is where that commodity uses the the path s1 uvt1 . Therefore, the
price of anarchy is
ρ=
2 + 2
2 + 2δ + 2
=
+ 2.
δ
δ
(5.1)
By setting δ to zero, we have a network where the price of anarchy is ∞. This can be
formalised more rigorously by taking the limit of the price of anarchy as δ → 0, and noticing
that ρ → ∞. δ cannot go lower than zero, because of the non-negativity constraint.
5.1 T HE PRICE OF ANARCHY
71
Figure 5.2: A network with an unbounded price of anarchy, given that the traffic rate r1 can be unbounded (or alternatively, given that the latency functions
can vary with traffic rate). The value of R is set equal to r1 .
Thus, the non-increasing selfish routing problem shows far less ability to be reigned in
than its non-decreasing counterpart. Even for networks with linear latency functions, as in
Example 5.2, the price of anarchy is unbounded; that is, the worst ratio of a Nash flow to the
optimum can be arbitrarily large. In the non-decreasing selfish routing problem, the price of
anarchy for linear functions is 4/3 (see Table 5.1), and it is only until we consider polynomials
of arbitrary degree that we have an unbounded price of anarchy (see Table 5.2).
We note that in the case of Example 5.2, the price of anarchy became unbounded because
the cost of the optimum flow could go as low as zero. What if we do not allow the cost of any
path to approach zero? Do we still have an unbounded price of anarchy? The answer is yes.
Example 5.3. We modify the previous example, and we now consider the network in Figure 5.2. It is a similar network, but with changed latency functions. The R in the cost functions is a non-negative constant that we can change to create a family of networks. Set the
first commodity’s flow to R while keeping the second commodity’s flow at 1. Now, the optimum flow occurs, once again, when the flow for the first commodity uses s1 uvt1 , giving a
total cost of (R + 1) · 1 = R + 1. One of the Nash flows, as before, occurs when the first commodity’s flow uses s1 t1 , giving a total cost of R · R + 1 · (R + 1) = R2 + R + 1. The price of
anarchy is therefore
ρ=
R2 + R + 1
→∞
R+1
(5.2)
as R → ∞. This time, we did not decrease the cost of the optimal flow to zero; instead, the
cost of the worst Nash flow can be made arbitrarily large.
5.2 B ICRITERIA BOUND
72
These examples show that no trivial enforcement of a minimal cost on paths will suffice
to ensure a finite price of anarchy.
5.1.4 Latency functions of the form c(x) = k/x
Proposition 5.4. Instances with latency functions of the form c(x) = k/x for some constant
k > 0 have an unbounded price of anarchy.
Proof. Users wishing to switch paths end up facing an infinite initial cost, because of the
singularity at x = 0 for all latency functions. It is therefore possible to trap users in arbitrarily
bad equilibria.
Interestingly, in (3), the authors found a bound on the price of anarchy on a model of fair
cost allocation (they found it to be O(log k) for k users), which is what functions of this form
model. However, the key difference is that they considered an atomic case, which does not
suffer from infinite barriers to switching.
5.2 Bicriteria bound
The bicriteria bound provides another way to bound the additional cost when agents are
allowed to route selfishly. It relates the cost of a Nash flow with the cost of an optimal flow
forced to route more traffic.
Proposition 5.5. (32) If f is a flow at Nash equilibrium for (G, r, c), and f ∗ is feasible for
(G, 2r, c), then C(f ) ≤ C(f ∗ ).
That is, regardless of the latency functions, a flow at Nash equilibrium is no worse than
an optimal flow that is forced to route twice as much traffic.
There are difficulties with adapting this bound into the world of non-increasing latency
functions. Primarily, the problem is the lack of the assumptions of monotonicity and convexity that allow (32) to bound the cost of a Nash flow by the cost of forcing the network to
route twice as much flow. Suppose that we have a concave cost function, which we get if
the latency functions are decreasing and linear. Graphically, it is a hill: see Figure 5.3. In the
figure, the x and the y axes represent flows down two paths, and the slice represents the feasibility constraint x + y = k for some non-negative constant k. By pushing it further back, we
5.3 C OMPUTING EQUILIBRIA
73
Figure 5.3: A plot of the cost function for the network in Figure 3.3, where x
is the amount of flow on the top link with latency function 3.5 − x and y is the
amount of flow on the bottom link with latency function 4−x. The slice shown
represents the feasibility constraint that the sum of the two flows must equal
1. Increasing the flow is equivalent to pushing the slice towards the back of
the diagram.
increase the constant; k = 1 is depicted. It should be clear now that the total cost can go up
and then back down, because of the nature of concave functions.
Other measures might be warranted, such as bounding the cost of a Nash flow to the
worst possible flow in the feasible region, but we leave these as open questions.
5.3 Computing equilibria
There are several challenges to computing equilibria in this model. Firstly, the link between
equilibria and optima, which was present in (32), does not exist here and prevents us from
using convex optimisation solvers. The concave nature of the cost functions are also pose
a challenge because it falls into the category of “hard” optimisation problems (16). Game
theory specific tools were also of no use, because it is not possible to express continuous
flows using finite normal form or extensive games.
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
74
We hence formulated our own algorithm, inefficient but exact, that uses the characterisation in Theorem 4.18 to allow us to simply examine each possible choice of path for each
commodity. Efficiency was not a key aspect of this work, nor was the formulation of this algorithm, as the aim was a theoretical characterisation; the point of the program was to enable
us to explore the topic space more efficiently than working out examples by hand.
1:
2:
3:
4:
5:
6:
7:
8:
Generate a list of paths for each commodity
for all permutations of selecting one path for each commodity do
Set the flow rate on the selected paths to the commodity’s rate
Run the simulator on the flow allocations
if the flow rates have not changed then
This selection of paths is at equilibrium
end if
end for
The simulator simply uses the definition of a Nash equilibrium: one of Definition 2.13 or
Proposition 4.8. The running time of this algorithm is clearly exponential in the size of the
network, because the number of paths in a network is exponential (Proposition 2.22).
5.4 Dealing with anarchy via economic incentives
With non-increasing latency functions, we have shown above that the price of anarchy can
be unbounded in the general case. We can examine the price of anarchy of networks with
different latency functions or under different assumptions, but sometimes the network is a
given and there are no network parameters that we can change. Is there anything we can do
to entice selfish users to behave in such a way that is socially optimum?
Yes there is. In this section, we will consider how economic incentives can cause flow
on a network to fall into a user equilibrium that has the same cost as the socially optimum
routing. By applying a positive tax to an edge, the edge becomes less attractive to the selfish
user; in the simplest case where we assume users trade off money and time equally, it will
appear to the user as if the latency function on the edge has been shifted upwards. However,
when we apply a tax, the tax is not counted when we work out the total social cost. Note
that negative taxes are also possible; a negative tax means that we pay a user to use an edge,
instead of charging them for the privilege.
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
75
There are other methods by which the price of anarchy can be reduced, although we will
consider only the effect of taxes and subsidies, because they are well-known and have an intuitive effect on the decisions that selfish users make. Instead of taxes, some researchers have
considered applying capacities to edges (33), the rationale being that edge capacities put an
upper limit on how big the latency on an edge can become (in the non-decreasing case at
least). Capacities have a tendency to split the flow from one commodity up into multiple
paths; this is problematic in the non-increasing case we consider here because, firstly, many
of the nice characterisations of equilibria in Chapter 4 would cease to apply, and secondly,
splitting flow may in fact make the cost of the routing worse not better. In addition to capacities, research has been done on what is known as Stackelberg routing (33). This is where
a certain amount of flow is routed centrally by, say, the owner of the network in a socially
optimal way.
5.4.1 Existing work
5.4.1.1 Marginal cost pricing
Marginal cost pricing, also called Pigovian taxes, was first explored by Pigou (28) and
made mathematically precise in (5). In general, it works like this. Consider the diagram in
Figure 5.4, which illustrates it in a case where congestion is bad. It relates the number of
trips taken to the cost of trips. The AC curve describes the cost that users experience and
the M C curve describes the societal cost. Although we have fixed demands on the level of
commodities, there is still a demand curve that shows that demand is inverse to the cost – the
more the edge costs, the more likely that selfish users will have found a cheaper edge to use,
and they will not use this edge any more. The intersection between the AC curve with the
demand curve tells us the number of users at equilibrium. Because selfish users do not take
into account the negative externalities they create, such as congestion, this figure may be too
high. In order to induce fewer users to take this congested edge, a tax equal to the difference
between the M C and AC curves at optimal flow is charged, and this pushes up the AC curve
to AC 0 , so that the equilibrium point is as intended. It is always possible with the increasing
edge latency case to charge a marginal cost tax to enforce optimum routing [bmw].
When congestion is treated as good, such as in Figure 5.5, the use of marginal cost taxes
may also be of assistance; when the cost is decreasing, the marginal cost is negative and
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
76
Figure 5.4: Marginal cost taxes induce selfish users to cause flow equal to that
of the optimum. The tax is the size of the difference between the average (user)
cost (AC) and the marginal cost (M C). By charging this tax, the AC curve is
pushed up to AC 0 , and the user cost curve meets the demand curve at f ∗ .
Note that this diagram assumes that demand is elastic, which may or may not
be true in the selfish routing model that we consider.
the tax becomes a subsidy. However, due to various complicating factors, such as multiple
equilibria, we will see an example in §5.4.2 where the tax fails to induce optimum behaviour.
A general analysis of marginal cost taxes in the non-increasing selfish routing model is left as
an open question.
5.4.1.2 With heterogeneous users
Now, with marginal cost taxes, a major assumption is that users trade off money and
time equally. This may not be the case, and there has been research into the case where
this is not the case – these are known as heterogeneous users. The preferences of a network
user are determined by a weighted sum of edge costs and edge taxes, the weight being user
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
77
Figure 5.5: Marginal cost tax diagram for a decreasing latency function. Note
that the tax becomes a subsidy in this case, to entice users to increase flow to
the social optimum (the social good increases with flow if we have decreasing
latency functions).
dependent. Existence of taxes that induce a Wardrop equilibrium to produce an optimal flow
was proved by Cole, Dodis and Roughgarden (9) for the single commodity case, but it was also
proved for the multi-commodity case by Fleischer, Jain, and Mahdian (13), Karakostas and
Kolliopoulos (19), and Yang and Huang (37).
5.4.2 Failure of marginal cost pricing
In the non-increasing selfish routing model, marginal cost pricing fails to guarantee that the
resulting Nash flow has optimal cost. This can be seen in the following example.
Example 5.6. Consider the network in Figure 5.6. The top link has the latency function
1 − log(x + 1) (depicted in Figure 3.2(b)), while the bottom link has a constant function of
0.4. (The logarithm here is in base e). We want to route 1 unit of flow from s to t as usual,
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
78
Figure 5.6: A two-node, two-link network that shows the failure of marginal
cost taxes in the non-increasing selfish routing model.
and the optimal routing (and also one Nash flow) is via the top route, since 1 − log(1 + 1) ≈
0.3069 < 0.4. However, if all flow goes along the bottom link, that is a Nash flow as well, since
0.4 < 1 − log(1 + 0).
The tax, using marginal cost pricing, on each edge is:
• Top link: 1 · c0 (1) = −0.5; and
• Bottom link: zero since no flow goes along this link in the optimal routing.
Note first that for decreasing latency functions, the tax is negative; a negative tax can be
viewed as a subsidy with a size equal to the absolute value of the negative tax. With the taxes,
the latency that the agents experience on the top link is reduced by 0.5, while the bottom link
remains unchanged. However, the bottom link is still a Nash flow, since 0.4 < 1 − log(1 + 0) −
0.5.
Remark 5.7. With taxes applied, the effective latency on the top edge, when one unit of
flow goes through it, is 1 − log(1 + 1) − 0.5 < 0. Does this conflict with our non-negativity
constraint? Firstly, the non-negativity constraint only applies to the actual latency functions.
The objections that were made in §3.1.1 do not apply. Primarily, there is no problem computing the price anarchy, because the social cost that we compute does not include the taxes, so
it the cost of the socially optimum routing and the worst Nash routing can never be negative.
We can also arbitrarily declare that subsidies cannot be collected again if a user is tempted to
go through an edge twice.3
While Example 5.6 might seem like a particularly nasty case, it is possible to conceive of
taxes that will enforce the socially optimal routing. For example, if we tax the lower edge with
3Governments are not charities after all.
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
79
Figure 5.7: A network of n parallel links and two nodes.
a sufficiently large tax (say 1000), then it would never get used by a Nash flow. However, is it
always possible to compute taxes like this by hand? The answer is no.
Proposition 5.8. There exist networks where it is not possible to apply a tax on edges that
will cause the cost of the worst Nash flow to be equal to the cost of the socially optimal routing.
Proof. Consider a two-node, two-link network; the top edge has a latency function of 1/x
and the bottom edge has a latency function of some constant k > 1, and we wish to route 1
unit of flow. Now, note that regardless of the value of k and the size of the tax we could impose
on it, or the size of the subsidy that we impose on the top edge, routing all the flow on the
bottom edge will always be a Nash equilibrium due to the (almost) infinite latency that an
infinitesimal agent will experience if it changed paths.
5.4.3 Computing taxes for networks of parallel links
A network of n parallel links and two nodes is shown in Figure 5.7. Given the (non-increasing)
latency function on the n edges and the traffic rate, we will calculate a tax on edges that will
induce the Nash flow to be optimal. We will exclude functions that have a singularity at x = 0
from this algorithm.
This algorithm is correct, because:
• For edges with a latency that is always larger than the maximum value of the latency
function of the optimal edge, then no tax is set because there is always an incentive
to move away from such edges.
• For the edge that is the optimal, no tax is applied.
5.4 D EALING WITH ANARCHY VIA ECONOMIC INCENTIVES
80
Algorithm 5.1 PARALLEL -L INKS -N ON -I NCREASING -L ATENCY-TAXES
Input: The traffic rate r, and the latency functions ci (x) for i = {1, . . . n}.
Output: Taxes for each edge, assuming homogeneous users.
1: min_latency = ∞
2: min_edge = null
3: for each edge e do
4:
latency = ce (r)
5:
if latency is less than min_latency then
6:
min_latency = latency
7:
min_edge = e
8:
end if
9: end for
10: taxes = ∅
11: min_edge_barrier = cmin_edge (0)
12: for each edge e do
13:
if e 6= min_edge then
14:
latency = ce (r)
15:
if latency > min_edge_barrier then
16:
taxes[e] = 0
17:
else
18:
taxes[e] = min_edge_barrier − latency
19:
end if
20:
end if
21: end for
22: taxes[min_edge] = 0
• For edges whose latencies are sometimes smaller than the maximum value of the
latency function of the optimal edge, a tax is applied that equals the difference between the smallest latency of the edge and the largest latency of the optimal edge,
Such edges now always have a larger disutility than the optimal edge, and so selfish
users will have an incentive to move away from these edges.
If selfish users move away from an edge to another edge that is not the optimal edge, that
is fine, because eventually, through a finite sequence of moves, selfish users will end up on
the optimal edge. This algorithm clearly runs in O(n) time, where n is the number of parallel
links; this is because each edge is encountered twice by the algorithm.
Note that if all of the users emphasise time and money differently with the same factor,
then it is a simple matter of scaling to produce the correct taxes. Otherwise, different users
have different weights and we leave the heterogeneous case as an open question.
C HAPTER 6
Conclusion
In this chapter, we briefly outline once again the selfish routing problem, and summarise
the contributions made in this thesis. We conclude with pointers for further work that will
complement the contributions made here.
6.1 Summary
In conclusion, we examined the non-increasing selfish routing problem, a modification of
the selfish routing problem that encourages selfish users in a network to come together because congestion is now good.
• In Chapter 3, we defined the new assumptions and their often complex interactions
with existing assumptions. We saw parallels between the simple examples in the
non-decreasing case, and we discussed some interesting applications.
• In Chapter 4, we defined an optimisation problem, and several equilibrium models
to help us characterise Nash flows. We found that Nash flows exist under some assumptions, and that under very mild assumptions, commodities so not share paths
in the optimal or Nash flows. Tree-like flows were also examined.
• In chapter 5, we examined the price of anarchy for several simple networks and
found that it was unbounded unlike the non-decreasing case. We explored the failings of the bicriteria bound and marginal cost taxes. We formulated two algorithms:
one for calculating taxes in a certain network topology and the other for finding
equilibria.
6.2 Future work
Future work related to this current work could include:
81
6.2 F UTURE WORK
82
• Finding other ways to quantitatively describe the price of anarchy: as discussed, the
bicriteria bound is not that useful in this model. Perhaps other measures such as
those that compare the best to the worst Nash equilibrium might be considered.
• Finding a proof of existence that does not have the somewhat unnatural assumption
present in the proof in this work.
• Exploring the price of stability of networks with non-increasing latency functions –
this was not explored, since worst-case behaviour is most often analysed.
• Finding a characterisation of networks that guarantees equivalence between Wardrop
and user equilibria: the lack of an equivalence made the existence proof more difficult.
• Applying the characterisations of optimal and Nash flows to actual applications such
as multicast routing and economies of scale, to see how well these assumptions hold
in practice.
• Finding out what the probability of getting a bad price of anarchy is: we know what
the worst can be, but how frequent is that going to happen?
References
[1] H. Aashtiani. The Multi-Modal Traffic Assignment Problem. PhD thesis, Alfred P. Sloan
School of Management, 1979.
[2] H. Aashtiani and T. Magnanti. Equilibrium on a congested transport network. SIAM
Journal of Algebraic and Discrete Methods, 2:213–216, 1983.
[3] E. Anshelevich, A. Dasgupta, J. Kleinberg, E. Tardos, T. Wexler, and T. Roughgarden. The
price of stability for network design with fair cost allocation. In Foundations of Computer Science, 2004. Proceedings. 45th Annual IEEE Symposium on, pages 295–304, 2004.
[4] B. Awerbuch, Y. Azar, and A. Epstein. The price of routing unsplittable flow. In Proceedings of the thirty-seventh annual ACM symposium on Theory of computing, pages 57–66,
New York, NY, USA, 2005. ACM Press.
[5] M. Beckmann. Studies in the economics of transportation. New Haven: Pub. for the
Cowles Commission for Research in Economics by Yale Univ. Press, 1956.
[6] D. Braess. Über ein Paradoxon aus der Verkehrsplanung. Mathematical Methods of
Operations Research (ZOR), 12(1):258–268, 1968.
[7] C. Chekuri, J. Chuzhoy, L. Lewin-Eytan, J. S. Naor, and A. Orda. Non-cooperative multicast and facility location games. In Proceedings of the 7th ACM conference on Electronic
commerce, pages 72–81, New York, NY, USA, 2006. ACM Press.
[8] J. Cohen and P. Horowitz. Paradoxical behaviour of mechanical and electrical networks.
Nature, 352(6337):699–701, 1991.
[9] R. Cole, Y. Dodis, and T. Roughgarden. Pricing network edges for heterogeneous selfish
users. In Proceedings of the thirty-fifth annual ACM symposium on Theory of computing,
pages 521–530. ACM Press New York, NY, USA, 2003.
[10] T. Cormen, C. Leiserson, R. Rivest, and C. Stein. Introduction to Algorithms. MIT Press
and McGraw-Hill, 2005.
[11] J. Correa, A. Schulz, and N. Stier-Moses. On the inefficiency of equilibria in congestion
games. In Proceedings of the 11th Conference on Integer Programming and Combinatorial Optimization (IPCO), pages 167–181. Springer, 2005.
[12] S. Dafermos and F. Sparrow. The traffic assignment problem for a general. J. Res. Natl.
Bur. Stand., Sect. B, 73:91–118, 1969.
83
R EFERENCES
84
[13] L. Fleischer, K. Jain, and M. Mahdian. Tolls for heterogeneous selfish users in multicommodity networks and generalized congestion games. In Foundations of Computer
Science, 2004. Proceedings. 45th Annual IEEE Symposium on, pages 277–285, 2004.
[14] D. Fudenberge and J. Tirole. Game Theory. MIT Press, 1991.
[15] A. Gupta, A. Kumar, M. Pal, and T. Roughgarden. Approximation via cost-sharing: a simple approximation algorithm for the multicommodity rent-or-buy problem. In Foundations of Computer Science, 2003. Proceedings. 44th Annual IEEE Symposium on, pages
606–615, 2003.
[16] R. Horst. On the global minimization of concave functions. Introduction and survey. Or
Spektrum, 6:195–205, 1984.
[17] S. Kakutani. A generalization of brouwer’s fixed point theorem. Duke Mathematical
Journal, 8:457–459, 1941.
[18] G. Karakostas, T. Kim, A. Viglas, and H. Xia. Selfish Routing with Oblivious Users. Lecture
Notes in Computer Science, 4474:318, 2007.
[19] G. Karakostas and S. Kolliopoulos. Edge pricing of multicommodity networks for heterogeneous selfish users. In In Proceedings of the 45th Annual Symposium on Foundations
of Computer Science (FOCS), 2004.
[20] G. Karakostas and A. Viglas. Equilibria for networks with malicious users. Mathematical
Programming, 110(3):591–613, 2007.
[21] S. Karamardian. The nonlinear complementarity problem with applications, part 2.
Journal of Optimization Theory and Applications, 4(3):167–181, 1969.
[22] F. Knight. Some Fallacies in the Interpretation of Social Cost. The Quarterly Journal of
Economics, 38(4):582–606, 1924.
[23] E. Koutsoupias and C. Papadimitriou. Worst-case equilibria. In Proceedings of the 16th
Annual Symposium on Theoretical Aspects of Computer Science, pages 404–413. Springer,
1999.
[24] Z. Li. Min-cost multicast of selfish information flows. In Proceedings of IEEE INFOCOM
2007, 2007.
[25] J. Murchland. BraessŠs paradox of traffic flow. Transportation Research, 4(4):391–394,
1970.
[26] J. E. Nash Jr. Equilibrium points in n-person games. Proc. Nat. Acad. Sci. US, 36:48–49,
1950.
[27] N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani, editors. Algorithmic Game Theory. Cambridge University Press, 2007.
[28] A. C. Pigou. The Economics of Welfare. Macmillan, 1920.
R EFERENCES
85
[29] R. Rockefeller. Convex Analysis. Princeton University Press, 1970.
[30] R. W. Rosenthal. A class of games possessing pure-strategy Nash equilibria. International Journal of Game Theory, 2:65–67, 1973.
[31] T. Roughgarden. The price of anarchy is independent of the network topology. In Proceedings of the thiry-fourth annual ACM symposium on Theory of computing, pages 428–
437, New York, NY, USA, 2002. ACM Press.
[32] T. Roughgarden. Selfish Routing and the Price of Anarchy. MIT Press, Cambridge, Massachusetts, 2005.
[33] T. Roughgarden and E. Tardos. How bad is selfish routing? Journal of the ACM, 49(2):236–
259, 2002.
[34] L. S. Shapley. A value for n-person games. Contributions to the Theory of Games,
2(28):307–317, 1953.
[35] J. von Neumann and O. Morgenstern. Theory of Games and Economic Behavior. J. Wiley
and Sons, 1953.
[36] J. Wardrop. Some Theoretical Aspects of Road Traffic Research. Institution of Civil Engineers, 1952.
[37] H. Yang and H. Huang. Mathematical and Economic Theory of Road Pricing. Elsevier,
2005.
© Copyright 2026 Paperzz