scieee Science in your language
[en] (orig)
PARAMETRIC COMPUTATION
OF EQUILIBRIA AND FLOWS
Philipp Warode
Parametric Computation of Equilibria and Flows
vorgelegt von
M.Sc.
Philipp Warode
ORCID: 0000-0002-2878-6872
an der Fakultät II Mathematik und Naturwissenschaften
der Technischen Universität Berlin
zur Erlangung des akademischen Grades
Doktor der Naturwissenschaften
Dr. rer. nat.
genehmigte Dissertation
Promotionsausschuss:
Vorsitzender: Prof. Dr. Wilhelm Stannat
Gutachter: Prof. Dr. Max Klimm
Gutachter: Prof. Dr. Marc Pfetsch
Tag der wissenschaftlichen Aussprache: 13. September 2021
Berlin 2022
ii
Philipp Warode
Parametric Computation of Equilibria and Flows
Dissertation, Berlin 2022
Gutachter: Prof. Dr. Max Klimm, Prof. Dr. Marc Pfetsch
Technische Universität Berlin
Discrete Optimization
Institute of Mathematics
Straße des 17. Juni 136
10623 Berlin
Cover design
Jan Warode
Cover Fotos: LoggaWiggler, Michael Kauer, norqin via Pixabay, under Pixabay License
iii
Abstract
Network flows can be used to model numerous real world applications, such
as flows in physical networks like electrical, gas, or water networks, flows in traffic
networks, or flows of goods in logistic networks. More precisely, many of these ap-
plications can be modeled either as minimum cost flows or equilibria of network
games, sometimes even both. In this thesis, we study the computational com-
plexity of computing these flows and develop algorithms solving this task. In con-
trast to the basic static flow models that are widely studied in the literature, we
mainly focus on parametric flow models. In particular, we consider settings where
the demands, i.e., the external in- and outflow rates, are parametrized by a one-
dimensional value. The solution to a parametric flow problem is no longer one
static flow but a function mapping the parameter to a static flow satisfying the re-
spective demands. The parametric model allows to analyze the sensitivity of static
flows with respect to the in- and outflow.
This thesis is subdivided into two parts. The first part is concerned with the
minimum cost flow problem with convex costs, with and without parametric de-
mands. We characterize optimal solutions via optimal potentials, analyze the para-
metric minimum cost flows and its derivatives, and develop an output-polynomial
algorithm that can compute solution functions to the parametric minimum cost
flow problem for piecewise quadratic cost functions. We extend the algorithm
such that it can also be used to approximate the parametric solution for the mini-
mum cost flow problem with more general, convex costs. Since our algorithms can
handle the undirected and directed setting, it can be applied to many real-world
problems. In a computational study, we test two different algorithms for the com-
putation of parametric minimum cost flows on several traffic and gas instances
and find that the algorithms are also applicable in practice.
In the second part, we study the parametric computation of Nash equilibria
in an atomic splittable congestion games, a special form of network congestion
games. We characterize equilibria and show that their computation is a PPAD-
complete problem. As a byproduct of our analysis, we also obtain algorithms for
the parametric and non-parametric computation of equilibria in atomic splittable
congestion games.
iv
v
Zusammenfassung
Netzwerkflüsse können zur Modellierung zahlreicher Anwendungen verwen-
det werden, zum Beispiel für Flüsse in physikalischen Netzwerken wie Strom-,
Gas- oder Wassernetzen, Flüsse in Verkehrsnetzwerken oder Warenflüsse in logis-
tischen Netzwerken. Genauer gesagt können viele dieser Anwendungen entweder
als minimale Kostenflüsse oder Gleichgewichte von Netzwerkspielen modelliert
werden, manchmal sogar beides. In dieser Arbeit untersuchen wir die Komplex-
ität der Berechnung dieser Flüsse und entwickeln Algorithmen für deren Berech-
nung. Im Gegensatz zu statischen Flussmodellen, die in der Literatur häufig unter-
sucht werden, konzentrieren wir uns hauptsächlich auf parametrische Flussmod-
elle. Insbesondere betrachten wir Modelle, bei denen die Nachfragewerte an den
Knoten, das heißt die externen Ein- und Ausflussraten, durch einen eindimen-
sionalen Wert parametrisiert sind. Die Lösung eines parametrischen Flussprob-
lems ist nicht mehr ein statischer Fluss, sondern eine Funktion, die jeden Param-
eter auf einen statischen Fluss für die entsprechende Nachfragen abbildet. Das
parametrische Modell erlaubt es, die Sensitivität von statischen Flüssen in Bezug
auf den Ein- und Ausfluss zu analysieren.
Diese Arbeit gliedert sich in zwei Teile. Der erste Teil befasst sich mit
dem minimalen Kostenflussproblem mit konvexen Kosten, sowohl mit und ohne
parametrische Nachfragen. Wir charakterisieren optimale Lösungen über op-
timale Potentiale, analysieren die parametrischen minimalen Kostenflüsse und
ihre Ableitungen und entwickeln einen output-polynomialen Algorithmus, der Lö-
sungsfunktionen für das parametrische minimale Kostenflussproblem für stück-
weise quadratische Kostenfunktionen berechnen kann. Wir erweitern den Al-
gorithmus, sodass er auch zur Approximation von parametrischen Lösungen für
das minimale Kostenflussproblem mit allgemeineren, konvexen Kosten verwen-
det werden kann. Da unsere Algorithmen sowohl für ungerichtete als auch für
gerichtete Netzwerke geeignet ist, kann er auf viele reale Probleme angewendet
werden. In einer Rechenstudie testen wir zwei verschiedene Algorithmen auf
mehreren Verkehrs- und Gasinstanzen und zeigen, dass die Algorithmen auch in
der Praxis anwendbar sind.
Im zweiten Teil untersuchen wir die parametrische Berechnung von Nash-
Gleichgewichten in atomaren, teilbaren Auslastungsspiele (atomic splittable con-
gestion games), einer speziellen Form von Netzwerkstauspielen. Wir charakter-
isieren Gleichgewichte und zeigen, dass ihre Berechnung ein PPAD-vollständiges
Problem ist. Als Nebenprodukt unserer Analyse erhalten wir auch Algorithmen für
die parametrische und nicht-parametrische Berechnung von Gleichgewichten.
vi
vii
Acknowledgements
This thesis would not have been possible without many people who support me while writing this
thesis. First and foremost I have to thank my advisor Max Klimm, who gave me the opportunity
to work in reseach and hired me in the first place, but also had the nerve to find a new source of
funding for my work practically every six month over the last four years. In this context, I would
also like to thank the Matheon Research Center, MATH+, and the SFB Transregio 154 for founding
my position. Almost all results presented in this thesis are joint work with Max Klimm and are a
product of many coffee-based discussions and a great work environment.
Thanks go to Marc Pfetsch, who accepted the second assessment of this thesis. Further, I
am grateful to Leon Sering, Rico Raber, and Sven Jäger who were stupid enough to take on the
proofreading of this thesis. Thank you for your input that significantly improved this work. I
also want to thank Per Joachims for his excellent work with the implementation and testing of
our software. While working together with him, I learned a lot about Python as well as software
development and testing. Special thanks go also to my brother Jan for his great work in designing
the cover of this thesis.
In the past four years, I really enjoyed working both at the chair of operations research at HU
Berlin and the Disco”-group at TU Berlin. Special thanks go to Ulrike Graßhoff at HU Berlin; I
really enjoy working with her and am very glad to be a part of the “Mathe-Team. I like to thank all
colleagues at the COGA-group at TU Berlin for welcoming me in their research group and giving
me the opportunity to participate in their great retreats, even before I moved to TU Berlin.
Finally, I want to thank my family and friends for their moral support when I was working on
this thesis. In particular, I want to thank my parents who always encouraged and supported me.
Berlin, June 2021 Philipp Warode
viii
ix
Contents
1 Introduction 1
2 Preliminaries 5
2.1 Algorithms and Complexity .................................. 5
2.1.1 Algorithms in pseudocode .............................. 6
2.1.2 Efficiency of algorithms ................................ 6
2.1.3 Complexity classes and completeness . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Graphs and Networks ..................................... 9
2.2.1 Shortest paths ...................................... 9
2.2.2 Matrix representations of graphs and Laplacian matrices . . . . . . . . . . . . 10
2.2.3 Series-parallel graphs ................................. 14
2.3 Flows in Graphs ......................................... 14
2.3.1 Multi-commodity flows ................................ 16
2.3.2 Edge flows and path flows ............................... 17
2.3.3 The maximum flow problem ............................. 17
2.3.4 Minimum cost flows .................................. 19
2.4 Non-Linear Optimization ................................... 19
2.5 Game Theory .......................................... 22
2.5.1 Nonatomic selfish routing games . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.5.2 Atomic splittable congestion games ......................... 26
I Parametric Minimum Cost Flows 29
3 Minimum Cost Flows 31
3.1 The Linear Minimum Cost Flow Problem . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.2 Characterization of Minimum Cost Flows . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.2.1 Optimal potentials ................................... 33
3.2.2 Shortest path potentials ................................ 36
3.2.3 Supports of minimum cost flows ........................... 38
3.3 The Undirected Minimum Cost Flow Problem ....................... 39
x Contents
3.4 The Multi-Commodity Minimum Cost Flow Problem ................... 40
3.5 Minimum Cost Flows with Parametric Demand . . . . . . . . . . . . . . . . . . . . . . 40
3.5.1 Derivative of the minimum cost flow function ................... 42
3.5.2 Derivative flows and potentials . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.5.3 Derivative of the objective function ......................... 47
4 Parametric Computation of Electrical Flows 51
4.1 Electrical Flows with Piecewise Linear Resistances . . . . . . . . . . . . . . . . . . . . 54
4.1.1 Characterization of electrical flows ......................... 55
4.1.2 Characterization of parametric electrical flows . . . . . . . . . . . . . . . . . . 57
4.2 Basic Algorithm for Electrical Flows ............................. 59
4.2.1 Initialization ....................................... 59
4.2.2 Main loop ........................................ 59
4.2.3 Pivoting ......................................... 60
4.2.4 Termination ....................................... 61
4.2.5 Pseudocode ....................................... 62
4.3 A Lexicographic Rule for Degenerate Instances . . . . . . . . . . . . . . . . . . . . . . 62
4.3.1 Perturbed solution ................................... 63
4.3.2 Lexicographic rule ................................... 67
4.3.3 Pseudocode ....................................... 68
4.4 Non-Homogeneous Demands and Marginal Costs . . . . . . . . . . . . . . . . . . . . 68
4.4.1 Initial Phase I ...................................... 69
4.4.2 Pseudocode ....................................... 71
4.5 Discontinuous Marginal Cost and Ambiguous Regions . . . . . . . . . . . . . . . . . . 72
4.6 Direction Computation via Quadratic Programming ................... 78
4.7 Complexity ............................................ 81
4.7.1 Complexity of the electrical flow functions in series-parallel graphs . . . . . . 82
4.7.2 Complexity of the electrical flow functions in general graphs . . . . . . . . . . 83
4.8 An example for the parametric computation of electrical flows . . . . . . . . . . . . . 88
5 Parametric Computation of Minimum Cost Flows 93
5.1 Parametric Minimum Cost Flows for Piecewise Quadratic Costs . . . . . . . . . . . . 94
5.1.1 Parametric multi-commodity minimum cost flows . . . . . . . . . . . . . . . . 97
5.2 Approximate Parametric Minimum Cost Flows for Convex Costs . . . . . . . . . . . . 101
5.2.1 Marginal cost approximation .............................103
5.2.2 Minimum cost flow interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . 106
5.3 Computational Study on Traffic and Gas Networks . . . . . . . . . . . . . . . . . . . . 110
5.3.1 Implementation .....................................111
5.3.2 Instances .........................................111
5.3.3 Computational experiments and results . . . . . . . . . . . . . . . . . . . . . . 114
Contents xi
II Equilibria in Atomic Splittable Congestion Games 121
6 Atomic Splittable Congestion Games 123
6.1 Characterization of Nash Equilibria .............................124
6.1.1 Shortest path potentials and supports . . . . . . . . . . . . . . . . . . . . . . . . 125
6.1.2 Matrix-based characterization of optimal potentials ...............126
6.1.3 Computation of optimal potentials .........................130
6.2 Parametric Atomic Splittable Congestion Games .....................132
6.2.1 Potential lines ......................................133
6.2.2 Neighboring Supports .................................134
7 Computation of Nash Equilibria 141
7.1 The Complexity Class PPAD .................................142
7.1.1 Definition of PPAD via END-OF-THE-LINE .....................142
7.1.2 Some PPAD-complete problems ...........................144
7.2 NASH-ATOMIC-SPLITTABLE is in PPAD ...........................146
7.2.1 Reduction of NASH-ATOMIC-SPLITTABLE to END-OF-THE-LINE . . . . . . . . . 147
7.3 NASH-ATOMIC-SPLITTABLE is PPAD-complete .......................151
7.4 Games with Player-Independent Cost Functions .....................155
7.5 (Parametric) Computation of Nash Equilibria .......................156
8 Degeneracy in Atomic Splittable Congestion Games 159
8.1 a-Degenerate Atomic Splittable Congestion Games . . . . . . . . . . . . . . . . . . . . 159
8.1.1 An example of an a-degenerate game . . . . . . . . . . . . . . . . . . . . . . . . 166
8.2 b-Degenerate Atomic Splittable Congestion Games . . . . . . . . . . . . . . . . . . . . 168
8.2.1 Implicit perturbation ..................................173
8.2.2 a-b-Degeneracy .....................................174
Appendix 177
A Symbol Index and Overview 179
A.1 Symbol Index ..........................................180
A.1.1 Symbol Index for Part I .................................180
A.1.2 Symbol Index for Part II ................................182
A.2 Overview: Basic Parametric Electrical Flow Algorithm . . . . . . . . . . . . . . . . . . 184
A.3 Overview: Atomic Splittable Congestion Games . . . . . . . . . . . . . . . . . . . . . . 186
Bibliography 189
xii Contents
1
1Introduction
Flows in networks are ubiquitous in our everyday lives. Physical flows in electrical, fluid, and
gas networks provide us with basic resources such as water, power, and heat. Traffic flows con-
sisting of cars, trains, or pedestrians in transportation networks move people from A to B. The
products we consume travel in huge streams of goods through ever-growing logistic networks af-
ter being ordered via the internet or other communication networks transporting an enormous
flow of messages and data. All of these flows have in common that they strive towards a state of
least energy, least cost, or some other sort of equilibrium. Flows in physical networks are driven
towards least energy states resulting in stable equilibria in these networks; traffic flows also reach
a stable state induced by the efforts of the drivers trying to minimize their travel times—the same
applies to data flows in communication networks; and goods in logistic networks are routed in
ways that the transportation costs are minimized.
Since so many problems in the real world are modeled by flows that in some sense minimize
cost or represent some sort of equilibrium state, the analysis and the ability to compute said flows
helps us to understand and possibly improve important processes surrounding us in our every-
day live. The mathematical description of minimum cost flows and equilibrium flows has a long
tradition. The equilibrium conditions of directed electrical currents in networks have been de-
scribed by Kirchhoff in the mid 19th century [68,69]. With the beginning of the 20th century,
more and more mathematical models for equilibrium flows in different settings were developed,
e.g., for gas networks by Weymouth [116] in 1912 or transportation networks by Tolsto˘
ı [108] in
1930, followed by Kantorovich [63], Hitchcock [57], and Koopmans [76]. The latter sparked the
interest in the algorithmic analysis of network flow problem that was amplified with the introduc-
tion of the simplex method by Dantzig in the late 40s. In the following decade, many advances
in the field of network flows and combinatorial algorithms, resulting in the seminal books by
Dantzig [24] and Ford and Fulkerson [42], provided the basis for research in this area up to this
day. One main research object of this field is the minimum cost flow problem, incorporating
other interesting problems such as shortest path or maximum flow problems as special cases.
Formally, this problem is defined as follows. We consider a graph G=(V,E) consisting of
a vertex set Vand an edge set E. Every vertex vVis equipped with some demand value bv,
representing the external outflow rate at this vertex. A demand can also be zero, modeling an
inner vertex with no in- or outflow, or negative, modeling a supply, i.e., an external inflow into the
network. A flow in the network is then a mapping xthat maps every edge eEto a (typically non-
2
negative) flow value xe, such that the difference of flow on incoming edges and flow on outgoing
edges at every vertex matches the demand. A flow is associated with a cost by equipping every
edge with a cost function Fe(xe) that depends on the flow value of this edge. The cost of a flow x
is defined as C(x)=∑︁eEFe(xe) and the minimum cost flow problem asks for a flow minimizing
the cost. In short, we can formulate the minimum cost flow problem as
minC(x)=∑︂
eE
Fe(xe)
s.t. xis a flow for demands bv,vV.
(1.1)
Simultaneously to the development of network flows, John von Neumanns work lead to the
emergence of game theory, yet another new field of mathematics. Following the first description
of the minmax theorem in 1928 [112], his book Theory of Games and Economic Behavior [113]
published in 1944 provided the basis for the field of game theory. In 1951, Nash [83] proved
his famous theorem regarding the existence of equilibria in n-player games. Interestingly, for
special types of games, so-called potential games, the computation of equilibria can be refor-
mulated as an optimization problem. For these games, computing an equilibrium is equivalent
to computing the minimum of some potential function [82]. This technique was introduced by
Rosenthal [97] for congestion games, a class of games that contains many interesting applications
such as the aforementioned equilibria in traffic or logistic networks. In particular, in the model
of Wardrop [114] that is widely used to model traffic equilibria in road networks, the computa-
tion of equilibria can be reduced to the computation of a minimum cost flow, as it was shown by
Beckmann et al. [6].
The minimum cost flow as defined in Eq. (1.1) as well as the many game theoretic models
are based on static flows, i.e., the flows in these settings do not model individual particles and
their movement over time through the network but rather describe a steady equilibrium state of
the underlying system. In some applications, e.g., electric networks, this steady state is reached
quickly as there is a large number of individual particles moving extremely fast and, thus, static
flow models yield good results. In other settings, e.g., traffic networks, the convergence towards
a steady state is slower and in- and outflow rates vary significantly more. Hence, static flow mod-
els are only useful as an approximation on macroscopic scales. Therefore, dynamic flows, also
called flows over time, are considered as an enhancement of the basic static flow model. In these
models, the entire path of the flow particles through the network is modeled and the flows are
functions depending on the time. Since the introduction of dynamic flows by Ford and Fulker-
son [41,42], many models and algorithms for dynamic flows have been studied (see, e.g., the
survey of Skutella [106]). However, from a computational view, solving dynamic flow problems
is harder than solving the static models in general. For example, the dynamic flow variant of
the minimum cost flow problem, even on series-parallel graphs, is NP-hard [74] while the static
variant from Eq. (1.1) is solvable in strongly polynomial time [107] for arbitrary graphs.
In this thesis, we consider parametric flow models. In these models, a static flow problem,
e.g., the minimum cost flow problem from Eq. (1.1), is extended by introducing an additional
parameter. The solution to a parametric problem is a function that maps every parameter to a
feasible, static flow solution. While parametric flow models do not model the temporal evolu-
tion of the flow as the dynamic flow models do, they are still capable of modeling dynamics in
Chapter 1. Introduction 3
the flow system arising from, e.g., varying demands or costs. Hence, with parametric flow mod-
els we can analyze dynamic effects of the static flows without having to use the whole dynamic
flow model. Several variants of parametric flow problems have been already studied, e.g., the
maximum flow problem with parametric capacities [48] or the minimum cost flow problem with
linear cost functions and parametric demands [1].
Throughout this thesis, we consider the setting where the demands bvat the vertices are
parametrized by a one-dimensional parameter. This enables us to study the dynamics and the
sensitivity of static flows with respect to the demands. Our goal is the analysis of the solution
functions as well as the development of combinatorial algorithms that are capable of solving
these parametric problems.
Outline and Contributions
Following this introduction, in Chapter 2we give a short introduction on the most important
concepts used in this thesis. In particular, we discuss the basics of algorithms, graph theory,
static flows, non-linear optimization, and game theory. The remainder of the thesis is subdivided
into two parts.
The first part is concerned with the minimum cost flow problem with parametric demands.
In Chapter 3, we discuss the minimum cost flow problem from Eq. (1.1) in detail. We characterize
optimal solutions and corresponding optimal potentials of static and parametric minimum cost
flows. Our characterization is based on special matrices, namely graph Laplacian matrices. Fur-
ther, we analyze the solution to the parametric minimum cost flow problem that we refer to as the
minimum cost flow function, and study the sensitivity of the minimum cost flows with respect to
the parametric demand. In Chapter 4, we consider an undirected variant of the minimum cost
flow problem with piecewise quadratic edge cost functions. Since this particular variant can be
used to model flows in electrical networks, we refer to this setting also as the electrical flow prob-
lem. The main contribution of this chapter is the development of an algorithm that computes so-
lutions to the parametric electrical flow problem. We refer to this algorithm as the electrical flow
algorithm throughout this thesis. The algorithm is based on a method from electrical flow theory
by Katzenelson [66]. We adjust this basic method such that it can be applied to the parametric de-
mand setting and generalize it such that it works for very general, piecewise quadratic edge cost
functions. Finally, we analyze the algorithm and show that it runs in output-polynomial time,
i.e., its runtime is a polynomial in the encoding length of the computed minimum cost flow func-
tions. In the last chapter of this part, Chapter 5, we extend the electrical flow algorithm such that
it can also be applied to directed minimum cost flow problems with piecewise quadratic cost.
The main contribution of this chapter is the development of two methods that approximately
solve the parametric minimum cost flow for general convex cost functions. We then present a
small computational study of these two methods on traffic and gas network instances and find
that they can be applied also to larger instances in practice.
The second part of this thesis deals with the computation of Nash equilibria in atomic split-
table congestion games, a certain type of network congestion games. In these games, a finite
number of players wants to send a static flow through a given network with the least possible
4
cost that depends on the flow send over the edges by all players. Thus, in this game, every player
wants to play a minimum cost flow while the flow costs are also dependent on the flows cho-
sen by other players. In Chapter 6, we analyze the game and its equilibria. As for the minimum
cost flow problem, we also consider a parametric setting, where the demands of the players are
a function of a one-dimensional parameter. We obtain characterizations of Nash equilibria of
parametric and non-parametric atomic splittable congestion games based on a novel matrix, that
we call block Laplacian matrix. Chapter 7contains the main results regarding atomic splittable
congestion games. First we show that the computation of Nash equilibria in atomic splittable
congestion games is contained in the complexity class PPAD. This class was introduced by Pa-
padimitriou [90] and contains problems related to the computation of Nash equilibria as com-
plete problems. The main contribution of this chapter is to show that the computation of equilib-
ria in atomic splittable congestion games is a PPAD-complete problem as well. As a byproduct of
the analysis, we obtain an algorithm that can compute equilibria in parametric atomic splittable
congestion games. The algorithm is not efficient in general, but we discuss sufficient conditions
under which the algorithm has output polynomial runtime. Finally, in Chapter 8, we discuss
some technical details of atomic splittable congestion games that arise from the analysis of Nash
equilibria in the game. We deal with two types of degeneracy that can occur in these games and
show how the analysis an the algorithms from before can be adjusted to also work in these de-
generate games. In particular, we present a concrete example for a degenerate game that exhibits
a continuum of infinitely many equilibria for a fixed demand.
5
2Preliminaries
In this chapter, we introduce the central concepts used in this thesis. We begin in Section 2.1
with the introduction of notions related to algorithms, the tool for solving the computational
problems that we are facing in this thesis. Most of the problems are related to flows in graphs.
All notions associated with graphs as well as some (graph related) linear algebra are defined in
Section 2.2, while Section 2.3 deals with flows and related concepts in particular. In Section 2.4
we review some non-linear optimization basics, namely, the Karush-Kuhn-Tucker conditions for
non-linear optimization problems with side constraints. Finally, we give a short introduction
into game theory in Section 2.5 and introduce the two games we are particularly interested in:
network congestion games and atomic splittable congestion games.
The introduction into the different topics in this chapter are laid out as a short, and some-
times high-level introduction and give a brief overview over the terms and the notation used in
this thesis. For an in-depth discussion of the respective topics the reader is referred to the ref-
erences mentioned in the respective subsections. Further, some topics, such as minimum cost
flows, atomic splittable congestion games, or the complexity class PPAD are reviewed in more
detail in the respective chapters.
2.1 Algorithms and Complexity
The main subject of this thesis is the computation of equilibria and flows. For the analysis of this
computation as well as its implementation in practice, we need a scheme to formalize the com-
putational procedures in question. These formal schemes are algorithms. In this first preliminary
section we define the basic formalities we will use throughout this thesis to write down and an-
alyze algorithmic solutions to computational problems. We only introduce the most important
notions regarding algorithms in this section. For a comprehensive introduction to algorithms we
refer to the textbook by Cormen et al. [22].
We follow the (informal) definition of Cormen et al. [22] and say an algorithm is a well-defined
computational procedure that takes some value or set of values, the input, and produces some
value or sets of values, the output. The algorithm itself consists of a finite sequence of compu-
tational steps transforming the input into the output. An algorithm is a computational tool to
solve a computational problem, e.g., sorting a sequence of numbers, finding a shortest path, or
computing a flow of minimal cost. A specific set of input values for a computational problem,
6 2.1. Algorithms and Complexity
e.g., a sequence to be sorted, or a network in which a shortest path should be computed, is called
an instance. In general, we want to find correct algorithms. These are algorithms that, for every
given instance, transform the input into an output that is a solution to the respective instance.
2.1.1 Algorithms in pseudocode
Algorithms can be formulated in many ways, for example, as actual computer code in a pro-
gramming language or just in plain, human-readable text. In this thesis, we will use a mixture
of both. Pseudocode is human-readable text that borrows typical elements like loops and logical
tests from programming languages. As an example, we consider the binary search algorithm that
finds the position of a key value in an ordered sequence or determines that no such index exists.
The following pseudocode specifies the input and the output of the algorithm and contains de-
tailed steps about the computational procedure.
Algorithm 1: Binary Search
Input: An ordered sequence a=(a1,a2,...,an) of nnumbers aiRwith
a1a2···an, a target value TR
Output: An index i{1,...,n} with ai=Tor 0 if no such index exists
L1,Rn;
while L<Rdo
m⌊︁L+R
2⌋︁;
if ai=Tthen
return m;
else if ai<Tthen
Lm+1;
else
Rm1;
return 0;
We see that pseudocode is a mixture of text, mathematical formulae and keywords from pro-
gramming languages (such as if,while, and return). The arrow () indicates an assignment of a
variable.
2.1.2 Efficiency of algorithms
The available computing resources are continuously growing with the numbers of transistors on
microchips still doubling roughly every two years [100] since the end of the 1960s to this day.
However, computing power is still limited and also costly while the tasks and the size of prob-
lem instances, in particular in the light of big data applications, grow with the computing power.
Therefore, it is important to study and optimize the efficiency of algorithms. We measure the ef-
ficiency of algorithms by quantifying the number of elementary operations (like basic arithmetic
computations or comparisons) such that our quantification of the efficiency is independent of
the actual hardware. Further, we quantify the number of elementary operations in terms of the
input size, i.e., of the encoding length of the instance. Since we are particularly interested in the
behavior of the algorithms for large instances and to define magnitudes of efficiency we normally
Chapter 2. Preliminaries 7
define the runtimes of an algorithm asymptotically. For this, we use Landau notation defined as
follows. Let f(n) be a real-valued function. Then we define the set
O(f(n)) :={︁g(n)|c>0,n0R: 0 g(n)c f (n) for all nn0}︁
of all functions that grow asymptotically not faster than the function f(n). Conversely, we define
the set
(f(n)) :={︁g(n)|c>0,n0R:g(n)c f (n)0 for all nn0}︁
that do not grow asymptotically slower than the function f(n). Finally, we also use the notation
Θ(f(n)) :=O(f(n))(f(n)){︁g(n)|c1,c2>0,n0R: 0 c1f(n)g(n)c2f(n) for all nn0}︁
for functions that grow as fast as f(n) asymptotically. Assume we are given two algorithms for the
same problem and f1(n) is the runtime of the first algorithm and f2(n) is the runtime of the sec-
ond algorithm. If f2(n)O(f1(n)) then we know that the second algorithm is as least as efficient
as the first one (at least asymptotically) and, vice versa, if f1(n)(f1(n)), the second algorithm
is, at best, of the same efficiency as the first algorithm.
By definition, the runtime of an algorithm depends on the instance. In general, there are
two basic approaches to measure runtimes: either the worst-case approach that only considers
the maximum number of elementary operations over all possible instances or the average-case
approach that considers the average number of elementary operations over all instances. We will
only use the former as it is also the stronger notion and yields a bound for all possible instances.
As an example, consider the binary search from Algorithm 1. We see that the algorithm makes
two variable assignments for the initialization and then, for every iteration of the while-loop, does
two assignments and two comparisons. The input of the algorithm is a sequence of nnumbers
and a target value T. Since we assume that the numbers are encoded in binary notation, the
encoding size of the input is in O((n+1)log2(K)), where Kis the maximum size of the input
numbers. Assuming that the input numbers are not exponential in n, we get that the encoding
length is in O(n). The worst-case runtime for Algorithm 1occurs if the target value is the first
or last element or if is not contained in the sequence. In this case, the interval [L,R] must be
halved ⌈︁log2(n)⌉︁-times until the loop is finished. Therefore, the worst-case number of elemen-
tary operations in this algorithm is 2 +2⌈︁log2(n)⌉︁Θ(log(n)). The asymptotic runtime allows
us to compare the performance of the binary search algorithm to other search algorithms. For
example, the naive search algorithm that iterates through the whole sequence aneeds at least
one comparison for every element in the sequence in the worst case, hence, the runtime of this
algorithm would be in (n). Although we do not compare the exact runtime we can immediately
see from this analysis that the binary search algorithm performs better by orders of magnitudes
for large instances.
2.1.3 Complexity classes and completeness
By analyzing the number of operations performed by an algorithm in the worst-case, we have a
tool to measure the efficiency of algorithms in general. This makes it also possible to determine
the complexity of computational problems: The performance of the best possible algorithm can
8 2.1. Algorithms and Complexity
be used as a measure of the complexity of a computational problem since it gives a lower bound
on the worst-case efficiency of all algorithms that solve the problem. In general, we consider an
algorithm to be efficient if its runtime is a polynomial in the input size. This leads to the complex-
ity class P, first introduced in 1964 by Cobham [17] and, independently, in 1965 by Edmonds [32].
A computational problem PROBLEM is in Pif there exists some pNand an algorithm that solves
PROBLEM with a worst-case runtime in O(np). As a broader complexity class we consider the
complexity class NP that, informally, contains all problems that are verifiable in polynomial time.
This means, for every solution of a computational problem in NP there exists some certificate
that proves the correctness of the solution and can be verified in polynomial time. For example,
for the search problem from before, the index iof the target value Titself would be a certificate.
The simple check whether ai=Tcan be used as a certificate of the correctness of the solution
i. In particular, every problem in Pmust be in NP, i.e., PNP. The opposite direction, i.e., the
question whether there exists a polynomial time algorithm for every problem in NP is one of the
most import open problems in theoretical computer science.
In 1972, Karp [64] introduced the notion of polynomial reductions for decision problems, i.e.,
problems that ask whether an instance has a solution or not. We say there exists a reduction from
a computational problem P to another computational problem Pif there is a polynomial time
alogrithm that transforms every instance Iof P to an instance Iof Psuch that Ihas a solution if
and only if Ihas a solution. Informally this means, we can solve P using a solution method for P
with only the small (polynomial time) extra effort of the reduction. In particular, every efficient
(i.e., polynomial time) algorithm for Pimmediately induces a polynomial time algorithm for P.
Interestingly, there are problems in NP with the property that all other problems in NP can
be reduced to the respective problem. Such problems are called NP-complete problems. This no-
tion was first introduced by Cook [20] in 1971 who also proved that the problem 3-SAT asking for
the satisfiability of a Boolean formula in 3-conjuctive normal form is NP-complete. Reducing an
NP-complete problem to another problem yields new NP-complete problems. With this tech-
nique Karp [64] revealed the existence of many other NP-complete problems such as CLIQUE,
VERTEX-COVER, or HAMILTONIAN-CYCLE.NP-complete problems are considered to be “hard”
problems since no efficient problem for any NP-complete problem is known and the finding of
such algorithm would immediately imply the existence of efficient algorithms for all problems in
NP which is thought to be unlikely.
There are a variety of complexity classes besides Pand NP depending on the nature of the
computational problems. In this thesis we are in particular interested in the complexity class
PPAD introduced by Papadimitriou [90] in 1994. This class contains many problems regarding
the computation of equilibria in games. In particular, in the second part of this thesis, one major
result will be to prove that the computation of equilibria in atomic splittable congestion games
is a complete problem in this particular complexity class. We introduce this class in detail in
Section 7.1.
Chapter 2. Preliminaries 9
2.2 Graphs and Networks
All problems we consider in this thesis use graphs. A directed graph is a tuple G=(V,E) with
a vertex set of n= |V|vertices and an edge set EV×Vcontaining m= |E|edges. An edge
e=(v,w) is a tuple containing two vertices vand windicating a directed connection between
the vertex v, also called the tail of the edge, and the vertex w, also called the head of the edge.
Two vertices connected with an edge are also called adjacent. Our definition of edges forbids
parallel edges, i.e., two distinct edges with the same head and tail. Additionally, we in general do
not admit self-loops, i.e., edges e=(v,v) with the same head and tail vertex. If necessary, parallel
edges or loops can be also modeled by introducing an additional dummy vertex and replacing the
respective edge by two edges in series using the dummy vertex. For every vertex vV, we denote
by δ+(v) :={eE|e=(v,w)} the set of outgoing edges in vertex vand δ(v) :={eE|e=(w,v)}
denotes the set of incoming edges in vertex v. If an edge eis an incoming or outgoing edge of a
vertex vwe also say the edge eis incident to the vertex v. The number d(v) :=|δ(v)δ+(v)|of
edges that are incident to a vertex vVis called the degree of the vertex.
A sequence of pNedges P=(︁(v1,w1),...,(vp,wp))︁with wi=vi+1for i=1,...,p1 is called
apath of length pstarting in v1and ending in wp. The set of all paths in a graph Gis denoted
by P, and the set of all paths starting in vand ending in wis denoted by Pv,w. A closed path C=
(︁(v1,w1),...,(vp,wp))︁with v1=wpis called a cycle, and we use Cto denote the set of all cylces in
a given graph. Every path Pthat does not contain a cycle as a subsequence is a simple path. Two
vertices vand ware connected if there is a path from vto wor vice versa. A maximal subset of
connected vertices is called connected component. If there is only one connected component we
say the graph is (weakly) connected. If there is a path in both directions between any two vertices,
we say the graph is strongly connected.
2.2.1 Shortest paths
One of the fundamental problems in combinatorial optimization is the shortest path problem
asking for the length of a shortest path in a graph. While the shortest path problem is already in-
teresting on its own right, having many real-world application such as computing shortest routes
in traffic networks, scheduling (e.g., [4,35,78]), personnel planning [16], and many more (see,
e.g., Chapter 4 in [2]), it also arises as a subroutine in many other optimization problems. In par-
ticular, the shortest path problem is a key part of all minimum cost flow algorithms as it is the
easiest minimum cost flow variant.
To formalize the shortest path problem, we assume that we are given a directed graph Gwith
edge weights νeRfor every edge eE. The edge weights can be thought of as the lengths of the
edges, but they may also represent any general cost depending on the problem. Since shortest
path often occur as subproblems of other problems where the term edge cost may be used dif-
ferently, we refer to νeas the weight of the edge. Given weights we denote by ν(P) :=∑︁ePνethe
length of the path P with respect to the weights νe. We denote by ν
ˆv,w:=minPPv,wν(P) the length
of a shortest path between v and w. If no path between vand wexists then we set ν
ˆv,w= and
if there is a path containing a negative cycle, that is, a cycle Cwith ν(C)<0, then ν
ˆv,w=−∞. In
both cases we say no shortest path between vand wexists. Any path P
ˆwith ν(P
ˆ)=ν
ˆv,wis called
10 2.2. Graphs and Networks
shortest path. If existent, shortest path lengths exhibit optimal substructure meaning that every
subpath of a shortest path is again a shortest path. Formally, for every fixed vertex uthe shortest
path lengths satisfy
νeν
ˆu,wν
ˆu,vfor every edge e=(v,w)E, (2.1)
if ν
ˆu,wand ν
ˆu,vare finite. Eq. (2.1) shows that shortest path length exist if and only if there is no
negative cycle.
We distinguish between the single-source shortest path problem (that we also just refer to as
shortest path problem) where we are interested in the shortest path length ν
ˆu,vfor all vertices v
Vfor one fixed source vertex uand the all pair shortest path problem where we are interested in
all shorest path lengths ν
ˆu,vfor all u,vV. Both variants of the problem can be solved efficiently.
The label correcting algorithm, first described independently by Bellman [7] and Ford [38], can
be used to solve the single-source variant in O(nm) time while the all pair shortest path problem
can be solved in O(n3) using the Floyd-Warshall algorithm [37,115]. If all edge weights are non-
negative, Dijkstras algorithm [27] achieves a runtime bound of O(n2) in the basic variant, using
better data structures yields a better runtime of O(m+nlog(n)) [44].
2.2.2 Matrix representations of graphs and Laplacian matrices
Often it is convenient to use matrices to represent graphs or properties of graphs. In this subsec-
tion, we introduce the basic notation and matrices used throughout this thesis. To begin with,
we adopt the convention of bold face lower case letters for vectors, e.g., x=(︁xi)︁i=1,...,nRn, and
bold face upper case letters for matrices, e.g., X=(︁xi j )︁i=1,...,n,j=1,...,mRn×m. We write 0for the
all-zero and 1for the all-one vector. Additionally, we denote by diag(︁x1,...,xn)︁the n-by-ndiag-
onal matrix with diagonal entries x1,...,xnand by In:=diag(1,...,1) the n-by-nidentity matrix.
The i-th column of the identity matrix, i.e., the i-th unit vector is denoted by ei.
For any two vectors x,yRnwe say xis lexicographically smaller than yif there is an index
i{1,...,n} with xj=yjfor j<iand xi<yi, i.e., if the vectors xand ycoincide up to the (i1)th
component and xi<yi. We write xLyin this case.
Given a graph G=(V,E) with nvertices and medges, we assume that there is some ordering
of the vertices such that V={v1,...,vn} and some ordering on the edges such that E={e1,...,em}.
In particular, we identify the vertices with the numbers 1 to nand the edges with the num-
bers 1 to m. We then use for example the notation x=(︁xv)︁vVRnto denote a vector containing
a number xvfor every vertex or X=(︁xv,e)︁vV,eERn×mto denote a n-by-mmatrix contain-
ing numbers xv,efor every pair of vertices and edges. We denote by evthe n-dimensional unit
vector with the one in the row corresponding to the vertex v. Likewise, we denote by eethe m-
dimensional unit vector with the one in the row corresponding to the edge e. Given a matrix A,
we use notation Ai,jto denote the submatrix obtained from Aby deleting the i-th row and the
j-th column and, similarly, for any vector x, we write xifor the vector without the i-th compo-
nent. In particular, we use the shorthand notation A
ˇ:=A1,1for the matrix obtained from Aby
deleting the first row and first column and x
ˇ:=x1for the vector xwithout the first component.
Chapter 2. Preliminaries 11
v1
v2
v3
v4
e1
e2
e3
e4
e5
(a) Example Graph.
Γ=
11 0 0 0
1 0 11 0
0 1 1 0 1
00011
(b) The incidence matrix.
Figure 2.1: The incidence matrix for an example graph.
Adjacency and incidence matrix
Using matrix notation we can encode a graph G=(V,E) in two different ways. The adjacency
matrix
A=(︁avw )︁vV,wVRn×nwith avw ={︄1 if vand ware adjacent,
0 otherwise,
encodes which vertices are connected by edges without information on the orientation of these
edges while the incidence matrix
Γ=(︁γv,e)︁vV,eERn,mwith γv,e=
1 if eδ(v),
1 if eδ+(v),
0 otherwise,
encodes the whole graph storing the incoming and outgoing edges for every vertex in its rows.
Furthermore, we introduce the degree matrix D=diag(︁d(v1),...,d(vn))︁containing the degree of
all vertices.
In almost all parts of this thesis we use the incidence matrix to encode the graph. Fig. 2.1
shows the incidence matrix for an example graph. Since this matrix is of great importance, we
introduce some additional notation. For e=(v,w)E, we denote by γeRnthe column of Γ
corresponding to the edge e. This vector contains exactly two non-zero entries, the entry 1 at
the position corresponding to the tail vertex and the entry 1 at the position corresponding to
the head vertex. Given any vector xRn, the dot product of γeand xyields the difference of
x-values along the edge e=(v,w) meaning γ
ex=xwxv. Thus, the product Γxyields a vector
containing all differences of x-values along all edges. Given another vector yRm, the product
Γyyields a vector in Rnwhere the entry corresponding to the vertex vis ∑︁eδ(v)ye∑︁eδ+(v)ye,
i.e., the difference of all y-values of incoming and outgoing edges at vertex v. We use this fact
below when defining flow conservation in Section 2.3.
Laplacian matrices
One of the central building blocks of the algorithms we present in this thesis is the Laplacian
matrix. For any graph Gthe (unweighted) Laplacian matrix is defined by L:=ΓΓ. For non-
negative edge weights ce0,eEwe also define the (weighted) Laplacian matrix by
L:=ΓCΓwhere C=diag(︁ce1,...,cem)︁.
12 2.2. Graphs and Networks
We refer to both variants as Laplacian matrix but in general we use the weighted variant as the
unweighted matrix is just a special case for unit weights. We note that the unweighted Laplacian
matrix can also be computed by L=DAusing the adjacency and the degree matrix. Note that
the Laplacian matrix is independent of the orientation of the edges, i.e., one or more edges can
be reversed without changing the Laplacian. All information in Lis therefore just information of
the underlying undirected graph. However, even if the orientation of the edges is not important,
we will always assume that all edges are directed and have a fixed orientation.
The Laplacian matrix was discovered in different contexts (see [52] and [80] for a review) but
is most famously known from Kirchhoffs Theorem from 1847 [69] and therefore also sometimes
referred to as Kirchhoff matrix. Kirchhoffs Theorem proves the connection between the deter-
minant of the submatrix L
ˇof the Laplacian matrix and the number of spanning trees in the un-
derlying graph.
Proposition 2.1 (Kirchhoff 1847 [69]).The number of spanning trees in G is equal to det(︁L
ˇ)︁.
For an extensive survey of Laplacian matrices see the paper of Merris [80]. We state the main
properties of the Laplacian we need throughout this thesis in the subsequent proposition. For
the rest of this subsection, we consider two vertices v,wconnected only if they are connected by
a path containing only edges with non-zero edge weight ceand adjust the definition of connected
components accordingly since a zero-weight edge has the same effect as a non-existent edge in
the definition of the Laplacian matrix.
Proposition 2.2. The Laplacian matrix has the following properties.
(i) Lis a symmetric, positive semi-definite matrix.
(ii) L1 =L1=0, i.e., the sum of every row and column of Lis zero.
(iii) Let nCbe the number of connected components in G. Then, rank(L)=nnC.
(iv) If G is weakly connected, L
ˇis positive definite.
Proof. (i) The Laplacian matrix Lis clearly symmetric and, since for every xRnwe have
xLx =∑︂
e=(v,w)E
ce(xwxv)20,
Lis also positive semi-definite. (ii) Since every edge is incident to exactly two vertices, the row
sum of the incidence matrix Γis zero. This implies that row and column sums of Lare zero as
well. (iii) With Lbeeing symmetric and positive semi-definite, xLx =0 if and only if Lx =0,
i.e., if and only if xis in the nullspace of L. The term xLx =0 is zero if and only if xv=xwfor
any two adjacent vertices vand w. Hence, xis in the nullspace of Lif and only if it is a linear
combination of the indicator vectors of the connected component. There are ncsuch vectors,
thus, rank(L)=nnC.(iv) Finally, if Gis connected, then only the linear hull of the all-one vector
is in the nullspace of L. Thus, any quadratic submatrix and in particular L
ˇmust be non-singular
and therefore also positive definite.
Chapter 2. Preliminaries 13
Generalized inverses
In our applications we will need to solve equations of the form Lx =yfor x. As the Laplacian
matrix is singular, even if Gis connected, this equation has no unique solution. As we have dis-
cussed in the proof of the previous lemma, the matrix-vector product Lx depends only on the
differences xwxvalong the edges e=(v,w)E. Therefore, the solution of Lx =yis invariant to
additive constants.
In order to ensure unique solutions it will be convenient to fix the value of the solution to 0
for one distinguished vertex. In general, we will fix the value of the first vertex v1and restrict to
solutions from the subspace {︁xRn|xv1=0}︁. For succinct notation we will introduce the notion
of generalized inverses. Given any matrix ARn×nwe say a matrix A+Rn×nis a generalized
inverse of Aif AA+A=A.
Lemma 2.3. Assume the system Ax =yhas some solution x
¯. Then A+yis a solution as well.
Proof. By assumption, we have Ax
¯=y. Thus, A(︁A+y)︁=AA+Ax
¯=Ax
¯=y.
Given a matrix ARn×n, we call a matrix Apseudo inverse1of Aif Ais a generalized inverse
and Ay{︁xRn|xv1=0}︁for all yRn, i.e., if Amaps into the subspace of vectors with first
component fixed to zero.
Lemma 2.4. If rank(A)=n1and A1 =0, then the unique pseudo inverse of Ais A=(︄00
0 A
ˇ1)︄.
Proof. First, we observe that any consistent system Ax =yhas a unique solution in the subspace
{︁xRn|xv1=0}︁. Therefore, the pseudo inverse Amust be unique. By assumption, the subma-
trix A
ˇis non-singular. Let a,bRn1be vectors such that A=(︄a11 a
b A
ˇ)︄. Since A1 =0, we have
A
ˇ1=band A
ˇ1b=1. Thus,
AAA=A(︄00
0 A
ˇ1)︄(︄a11 a
b A
ˇ)︄=A(︄00
A
ˇ1b In1)︄=(︄a11 a
b A
ˇ)︄(︄00
1 In1)︄
=(︄a1 a
A
ˇ1 A
ˇ)︄=(︄a11 a
b A
ˇ)︄=A
and Ais a generalized inverse. Since the matrix clearly maps into the subspace {︁xRn|xv1=0}︁,
the claim follows.
For any weakly connected graph the Laplacian matrix Lsatisfies the conditions of Lemma 2.4.
Therefore, there exists a unique pseudo inverse L=(︄00
0 L
ˇ1)︄and every consistent system Lx =y
has the unique solution x=Lyin the subspace {︁xRn|xv1=0}︁. We end this subsection
with the following lemma proving that the pseudo inverse of the Laplacian matrix has only non-
negative entries.
1Note that the term pseudo inverse is used in the literature also interchangeably with generalized inverse or to refer
to other special generalized inverses such as the Moore-Penrose inverse.
14 2.3. Flows in Graphs
Lemma 2.5. The matrix L
ˇis inverse positive, i.e., all entries of the matrix L
ˇ1are positive. In par-
ticular, the pseudo inverse Lhas only non-negative entries.
Proof. The matrix Lhas by definition only non-positive off-diagonal entries. The same holds
for the submatrix L
ˇ. Since Lis positive semi-definite and L
ˇis non-singular, the matrix L
ˇis posi-
tive definite. Together with the non-positive off-diagonal entries, this makes L
ˇan M-matrix, and
these matrices are inverse positive, see the paper by Plemmons [94].
2.2.3 Series-parallel graphs
As a special class of graphs we consider series-parallel graphs. These graphs are of particular
interest since many of the algorithms we present in this thesis have a polynomial runtime on
series-parallel graphs. Further, series-parallel graphs also arise in many electrical networks. For-
mally, we say a graph is a two-terminal graph with terminal vertices s,tVif all edges eEare
contained in some (possibly undirected) simple s-t-path. A two terminal graph G=(V,E) with
terminals s,tis a series-parallel graph if it either consists of the single edge (s,t) or if it can be
constructed from the graph containing only the single edge (s,t) by repeated application of the
following two operations.
(Serial expansion) Replace an edge e=(v,w) by two edges e=(v,u) and e′′ =(u,w), where
uis a new vertex.
(Parallel expansion) Replace an edge e=(v,w) by two edges e=(v,w) and e′′ =(v,w).
Note, that our definition of edges does not allow for parallel edges, so technically the parallel edge
e′′ must be modeled by two edges in series.
2.3 Flows in Graphs
The fundamental mathematical object that we study in this thesis are network flows. In its most
general form, a flow is a mapping from the edges of a graph G=(V,E) to the real numbers, i.e.,
a function x:ER,e↦→ xe. Most of the time we will use a vector representation of this flow
function and write x=(︁xe)︁eEin order to represent a flow. The flow value xeon some edge can be
interpreted as the rate of some (physical) quantity (e.g. cars, data, electricity, people, ...) traveling
on the edge. In general, we also admit negative flow values xethat we interpret as flow traversing
the edge against its orientation, i.e, from head to tail vertex.
Usually, in addition to the network, we are given the following quantities that constrain flows
from all possible vectors in Rmto a set of feasible flows. First, there is the demand function
b:VR,v↦→bvassigning a demand value bvto every vertex vV. A negative demand value is
interpreted as supply. As with flows we also usually use a vector notation for the demand function
and write b=(︁bv)︁vV. We will always assume that b1=0, i.e., that of all supply and demand
values sum to exactly zero. The value val(x) :=∑︁vV|bv|
2is the absolute value of flow in the net-
work and referred to as the value of the flow x. Second, we have lower and upper flow bounds
Chapter 2. Preliminaries 15
v w
bvbw
exeue
v w
bv+ebwe
0x
euee
(a) Removal of non-zero lower bounds.
v w
bvbw
0xeue
v u w
bvuebwue
xe0xe′′ 0
(b) Removal of upper bounds.
Figure 2.2: Graph transformations to remove lower and upper flow bounds.
e,ueR{−∞,} with e<uefor all edges eE. We also refer to the bounds as capacities of
the edges and again use vector notation writing =(︁e)︁eEand u=(︁ue)︁eE. A flow xsatisfying
Γx=b, (2.2a)
xu(2.2b)
is called a feasible flow, the set F:={︁xRm|xsatisfies Eq. (2.2a) and Eq. (2.2b)}︁is refered to as
the set of feasible flows. Every row of the constraint Eq. (2.2a) corresponds to a vertex vVand
reads ∑︂
eδ(v)
xe∑︂
eδ+(v)
xe=bv
enforcing that for every feasible flow the sum of incoming and outgoing flow at every vertex
matches the demand of this vertex. This means, there is no flow leaking at the vertices and there-
fore Eq. (2.2a) is also referred to as flow conservation constraint. In the realm of electrical flows
this constraint was first described by Kirchhoff in 1845 [68] and is called Kirchhoffs law.
If there are no infinite lower bounds the flow bound constraint Eq. (2.2b) can be simplified
to x0without loss of generality by two simple transformations of the underlying network and
demand vector b. If there are edges with a non-zero but finite lower bound e=0 then we can
replace the flow bound by bounds 0 x
eueefor all edges e=(v,w) and the demands by
bv+∑︁eδ+(v)e∑︁eδ(v)eat every vertex v. Any flow xthat is feasible for the new bounds and
demands corresponds to a flow x:=x+that is feasible for the original bounds and demands.
Fig. 2.2a depicts the corresponding construction for a single edge. If the edges have zero lower
bounds but non-zero upper bounds, the upper bounds can be removed on any edge by the fol-
lowing construction. Replace the edge e=(v,w) with two edges e=(v,u) and e′′ =(w,u) by
introducing a new dummy vertex u. The dummy vertex gets a demand value bu=uewhile the
demand of the vertex wis replaced by bwue. The construction is depicted in Fig. 2.2b. In this
construction, the flow on the first artificial edge xecorresponds to the actual flow xein the origi-
nal network. The flow on this edge cannot be higher than uesince by construction not more than
a total of uecan enter the vertex uwithout violating flow conservation. The more flow is sent on
the edge ethe less flow of the artificially added demand is sent on the edge e′′. In particular, the
same amount of flow sent on edge ehas to leave the node not on edge e′′. Thus, the construction
indeed behaves like one edge.
The above construction works if at least one of the flow bounds any edge eis finite. If e=−∞
and ue< the orientation of the edge and lower and upper bound can be switched without
16 2.3. Flows in Graphs
changing the set of feasible flows—only the sign of xeis changed. Thus, we can write the flow
constraints from Eqs. (2.2a) and (2.2b) in the normal form
Γx=b(2.3a)
x0(2.3b)
as long as there is at least one finite bound for any edge. Since in this normal form all flow is non-
negative and, thus, traverse every edge along its orientation, we say the flow is a directed flow
in this case. If all edges have only infinite bounds (i.e., all inequalities in Eq. (2.2b) are trivial),
then we say the flow is an undirected flow. Undirected flows have in general a nicer structure
and problems over undirected flows are possibly easier to solve as every optimization problem
over an undirected flow problem has only equality constraints. In general, there can be hybrid
versions of directed and undirected flows if only some edges have finite bounds. However, in
practice, most problems are either directed or undirected. Examples for directed problems are
traffic flows where lanes can typically be only used in one direction while many physical problems
like electrical flows are undirected. We therefore only consider either directed in the standard
form from Eq. (2.3) or undirected problems.
2.3.1 Multi-commodity flows
In many real-world application the same network may be used by different types of flows that
may interact but do not mix. This may, for example, be the case in road networks where the
cars of different populations of drivers with different origin and destination pairs use the same
roads, but the cars do not mix” in the sense that every car has a fixed origin and destination. The
same holds for data networks where packages of different servers interact or networks in logistics
where different goods travel through the network to satisfy different supplies and demands of
different goods. Following this last example we call these different types of flow commodities
and a problem where multiple commodities are involved is a multi-commodity flow problem.
In contrast, we also refer to the basic model with one commodity as a single-commodity flow
problem.
In a multi-commodity setting, we have k2 different commodities K={1,...,k}. A multi-
commodity flow is a matrix X=(︁xe,j)︁eE,jKwhere every column xjis a single-commodity flow
of the j-th commodity. We slightly abuse notation and denote by xe:=∑︁jKxe,jthe total flow of
all commodities on edge e. The demands are encoded in a matrix B=(︁bv,j)︁vV,jKwhere every
column bjis the demand vector of the single-commodity flow of the j-th commodity. A directed,
feasible multi-commodity flow is a matrix xe,jsatisfying the constraints
ΓX=B(2.4a)
X0. (2.4b)
An undirected multi-commodity flow has to only satisfy Eq. (2.4a). Note that we consider only
the standard form of multi-commodity flows without (commodity-dependent) flow bounds, but
these can be added easily.
Chapter 2. Preliminaries 17
2.3.2 Edge flows and path flows
Up to this point, we considered an edge based definition of flows. We call flows defined as a
mapping from the edges to the real numbers also edge flow. There is a second natural way to
define flows via paths and cycles. A path flow is a mapping x:PCRthat assigns a real
number to every (simple) path and every (simple) cycle in the graphG. Given a path flow, we can
easily obtain an edge flow by setting
xe=∑︂
PP:
eP
xP+∑︂
CC:
eC
xC.
The converse is also true, i.e., given an edge flow xwe can always find a path flow satisfying the
equation above. This statement is famously known as the flow decomposition theorem. For a
proof, see for example Ahuja et al. [2].
Proposition 2.6 (Flow decomposition theorem).Every path flow has a unique representation as
edge flow. Conversely, every edge flow can be represented as a path flow (not necessarily in a unique
way) with at most n +m paths and cycles having nonzero flow.
While paths flows are in many cases more natural in applications—for example, it is more
natural in a traffic network to connect origins and destinations with flow carrying paths instead of
assigning edges with flow—edge flows are much easier to handle. Paths flows may have an infinite
support, i.e., consist of infinitely many flow carrying (non-simple) paths and cycles. Although the
flow decomposition theorem ensures that there is always a path flow with at most n+mnon-zero
entries, edge flows always have mcomponents allowing for the succinct vector representation.
We will almost always use the edge based formulations for that reason.
2.3.3 The maximum flow problem
One fundamental problem in the realm of flows is the maximum flow problem. For this problem
we are typically given two special vertices s,tVwe refer to as source vertex and sink vertex and
we ask for the maximum value of any flow we can send between sand t.
Formally, we say a flow xis a s-t-flow if xis a flow for a demand vector b=r(etes) for some
r0, i.e., bs=r,bt=r, and bv=0 for all v=s,t. Thus, an s-t-flow is a flow where exactly one
vertex has supply (the source) and one vertex has demand (the sink) and the value of the flow is
some non-negative r0 that we also call the rate of the flow x. In this section, we assume that
all edges have a lower flow bound of zero and a (possibly infinite) upper bound, that we also call
capacity. Since we are typically restricted to s-t-flows for the maximum cost flow problem, we
cannot use the constructions from the previous section to remove the capacities as these would
change the demand vector b. Therefore, we use the explicit upper bounds in this section. The
maximum flow problem is then defined as
max val(x)=r
s.t. Γx=r(︁etes)︁
0xu.
(2.5)
18 2.3. Flows in Graphs
A flow xsolving Eq. (2.5) is called maximum flow (or short max flow). In order to understand
maximum flows we need to look at a dual problem: The value of a max flow is intuitively deter-
mined by the capacity of the smallest bottleneck of the network. If a flow is maximal there must
be a bottleneck between the source and the sink through which no more flow can be sent. So, in-
stead of looking for the maximum flow, we can also try to find the smallest bottleneck. Formally,
we introduce the notion of a cut in G. A cut =SVis a subset of the vertices partitioning the
vertices in the two set Sand V\S. A cut with sSand tSis called s-t-cut. The sets
δ+(S) :={e=(v,w)E|vS}, δ(S) :={e=(v,w)E|wS}
are the outgoing and incoming edges of the cut S, also referred to as cut edges. Finally, we define
the capacity of the cut S as
u(S) :=∑︂
eδ+(S)
ue
A cut with the least capacity among all s-t-cuts is called a minimum cut (or min cut). When first
studying the maximum flow problem, Ford and Fulkerson [39] established the following result
relating maximal flows and minimal cuts.
Proposition 2.7 (Max-Flow Min-Cut Theorem [39]).The value of maximum flow is equal to the
value of a minimum cut.
A basic class of algorithms that solve the maximum flow problem are so-called augmenting
path algorithms. The first algorithms of this class to solve the maximum flow problem was also
already introduced by Ford and Fulkerson [39] and Elias et al. [34] in 1956. The algorithms work
as follows. For every intermediate flow solution xconstruct a residual graph Gr=(V,Er) with the
set of residual edges
Er:={︁eE|xe<ue}︁{︁(w,v)|e=(v,w)Eand xe>0}︁
that contain all edges of the original graph Gthat are not used at capacity and additional back-
ward edges for every edge with non-zero edges. We refer to the former as the forward edges and
to the latter as backward edges. The forward edges in the residual graph are equipped with resid-
ual capacities u
˜e=uexe, the backward edges with residual capacities u
˜e=xe. Then, find a path
from sto tin the residual graph. We refer to this path as the augmenting path and define its ca-
pacity as u
˜P=minePu
˜e. Next, create a new flow xby setting x
e=xe+u
˜Pif eis contained as a
forward edge in P,x
e=xeu
˜Pif eis contained as a backward edge in P, and x
e=xefor all other
edges e. This procedure is repeated until no augmenting path can be found (or the augmenting
path has infinite residual capacity; in this case the maximum flow is infinite). This algorithm
produces an s-t-flow in every step. Further, it can be shown that if no augmenting path exists,
the vertices that are reachable from svia edges with non-zero residual capacity in the residual
network form a cut in the original network that has a capacity that is equal to the value of the un-
derlying flow. Therefore, by the Max-Flow Min-Cut Theorem from Proposition 2.7, the flow must
be a maximum flow.
The basic augmenting path algorithm only runs in pseudo-polynomial time, i.e., the run time
depends on the actual values of the capacities ue. Further, as already shown by Ford and Fulker-
son [39], given irrational capacity values, the algorithm may perform infinitely many steps with-
out converging to the value of a maximum cut, see also [122] for an example. Edmonds and
Chapter 2. Preliminaries 19
Karp [33] showed, that by using only shortest augmenting paths, i.e., augmenting paths with the
least number of edges, the runtime can be improved to O(nm2). In general, the maximum flow
problem can be solved even faster with different classes of algorithms, namely preflow-push al-
gorithms and capacity scaling algorithms. Since we are only interested in augmenting path algo-
rithms in this thesis we defer the presentation of these algorithms to the literature. In particular,
we refer to the books by Ahuja et al. [2] and Williamson [117] for an introduction to these algo-
rithms and maximum flows and general and to the survey on polynomial time algorithms for the
maximum flow problem by Goldberg and Tarjan [51].
2.3.4 Minimum cost flows
In this subsection, we briefly introduce the minimum cost flow problem. This problem is one of
the two main topics of this thesis and discussed in more detail in Chapter 3. Here, we just present
the basic notation.
For the minimum cost flow problem, there are, in addition to the flow constraints from before,
edge cost functions Fe:RRfor all edges eE. We use a capital letter to denote the edge cost
functions and denote by fe:=F
ethe derivatives of the edge cost that we refer to as marginal cost
functions. Typically, we impose some assumptions on the edge cost functions such as convexity
or monotonicity. Given edge cost functions Fefor all edges, we define the function
C:RmR,C(x) :=∑︂
eE
Fe(xe)
and refer to C(x) as the cost of the flow x. The (directed) minimum cost flow problem is then
defined as
minC(x)
s.t. Γx=b,
x0.
(2.6)
We also consider an undirected minimum cost flow variant without the non-negativity constraint.
Note that the problem in Eq. (2.6) is as general as admitting flow bounds xu. In this case, we
can use the same construction from the beginning of this section to remove the lower and upper
bounds. However, the cost functions neet to be adjusted in these constructions as well. In the
lower bound removal construction from Fig. 2.2a we equip the edge ewith the new cost function
x↦→Fe(x+e) such that the cost of the minimal flow on the edge is already incorporated. In the
lower bound removal construction from Fig. 2.2b we equip the edge ewith the cost Fe(x)=Fe(x)
since, as stated there, the flow on edge ecorresponds to the actual flow on the replaced edge e.
The second artificial edge e′′ is equipped with the zero cost function Fe′′ =0 such that the artificial
flow on the edge e′′ does not contribute to the objective function.
2.4 Non-Linear Optimization
Minimum cost flows are obviously a special kind of optimization problems. But also the com-
putation of equilibria in certain games can be reformulated as optimization problems. Hence,
20 2.4. Non-Linear Optimization
we will need some basic tools to solve optimization problems. Since most of the objective func-
tions in these optimization problems are of non-linear nature, we are in particular interested in
non-linear optimization problems.
In this section we characterize optimal solutions of non-linear optimization problems with
side constraints. In order to do so, we use the Karush-Kuhn-Tucker (KKT) conditions [65,77]. For
a comprehensive introduction to nonlinear optimization and optimality conditions we refer to
the book by Ruszczy´nski [101]. Consider the general minimization problem
min f(x)
s.t. gi(x)0 for i=1,...,p,
hi(x)=0 for i=1,...,q,
xRn.
(2.7)
If the functions f,giand hisatisfy certain regularity conditions, then the KKT conditions yield
necessary conditions for a local minimum of this minimization problem. In the following the-
orem, we use Linear Constraint Qualification as regularity condition for the KKT conditions de-
manding that the functions giand hiare affine. Since the side constraints in the optimization
problems that we consider throughout this thesis are typically flow conditions as in Eq. (2.6) this
is sufficient for most problems we consider. When we furthermore assume that the objective
function fis also convex, then the KKT conditions are also sufficient.
Proposition 2.8 (KKT conditions).Assume that the function f :RnRis continuously differen-
tiable and convex and that the functions gi:RnR,i=1,...,p and hi:RnR,i=1,...,q are
affine. Then the following two conditions are equivalent.
(i) The point x
ˆRnis the global minimum of the minimization problem from Eq. (2.7).
(ii) The vector x
ˆis feasible for the minimization problem from Eq. (2.7)and there exist vectors
λ
ˆRp
0and µ
ˆRqsuch that
0=f(x
ˆ)
p
∑︂
i=1
λ
ˆigi(x
ˆ)
q
∑︂
i=1
µ
ˆihi(x
ˆ)and λ
ˆigi(x
ˆ)=0,i=1,...,p.
Proof. See, e.g., Theorem 3.25 and Theorem 3.27 in Ruszczy´nski [101].
In some cases we will use objective functions thatare not differentiable. Then, Proposition 2.8
cannot be applied to the corresponding optimization problems. However, there is a more general
formulation with similar conditions. Since in the more general case, the gradient fdoes not
exist, we use subgradients instead. Given a convex function f:RnRand xRn, we say a vector
zRnis a subgradient of fat xif
f(y)f(x)+z(yx) for all yRn.
The set of all subgradients of fat xis called the subdifferential of fat xand is denoted by f(x).
The geometric interpretation of a subgradient is as follows. For every subgradient zof fat x, the
Chapter 2. Preliminaries 21
x
f(x)
g
g
(z, -1)
(z, -1)
Figure 2.3: The epigraph of a convex function f(blue) and two affine functions g,g(black) de-
fined by two subgradients z,zbelow the epigraph.
function g(y) :=f(x)+z(yx) does not lie above the graph of f, see Fig. 2.3. If the function fis
differentiable at x, then the subdifferential consists only of the gradient, i.e., f(x)={f(x)}. For
functions fthat map from Rto Rthe subdifferential is the interval
f(x)=[︃lim
h0
f(x+h)f(x)
h,lim
h0
f(x+h)f(x)
h]︃
of all values between the left and the right derivative of fin x.
If AXis some subset of Xand xX, then we denote by A+xthe set of all points in A
translated by x, i.e., A+x:={yX|y=a+x,aA}. We then obtain the following generalization
of the KKT-conditions.
Proposition 2.9 (KKT conditions for non-differentiable objective).Assume that the function f :
RnRis convex (but not necessarily differentiable) and that the functions gi:RnR,i=1,...,p
and hi:RnR,i=1,...,q are affine. Then the following two conditions are equivalent.
(i) The point x
ˆRnis the global minimum of the minimization problem from Eq. (2.7).
(ii) The vector x
ˆis feasible for the minimization problem from Eq. (2.7)and there exist vectors
λ
ˆRp
0and µ
ˆRqsuch that
0f(x
ˆ)
p
∑︂
i=1
λ
ˆigi(x
ˆ)
q
∑︂
i=1
µ
ˆihi(x
ˆ)and λ
ˆigi(x
ˆ)=0,i=1,...,p.
Proof. This follows from Theorem 3.34 in [101]. Note that the formulation of Theorem 3.34 re-
quires Slaters conditions as a regularity condition, which is in general stronger than the Linear
Constraint Qualification. However, as argued in Section 3.5 in [101], Eq. (3.48) in the same sec-
tion is sufficient for Theorem 3.34 to hold true. Since Linear Constraint Qualification implies this
condition, Theorem 3.34 can also be used in the case of Linear Constraint Qualification.
22 2.5. Game Theory
Player 2
confess silent
Player 1
confess (4,4) (1,5)
silent (5,1) (2,2)
Table 2.1: The players payoffs in the Prisoners dilemma game. For every strategy profile sthe
payoff is given as a tuple (︁u1(s),u2(s))︁.
2.5 Game Theory
The second main subject of this thesis are equilibria in network congestion games, specifically
Wardrop equilibria and equilibria in Atomic splittable congestion games. In this section, we state
the necessary game theoretic definitions and results.
The aim of game theory is to model situations where multiple strategic agents interact. For-
mally, a game consists of a set of kplayers N={1,...,k}. Every player iNhas a set of pos-
sible strategies Siand selects a strategy siSiyielding an overall strategy profile, that is a vec-
tor s=(︁si)︁i=1,...,kS:=×iNSicontaining the strategies chosen by all players. Further, every
player has a payoff (or utility) function ui:SRmapping the outcomes (i.e., the possible strat-
egy profiles) of the game to a number representing the payoff of the game for player i.
A strategy profile sis a Nash equilibrium, or just short equilibrium, if no player has a unilateral
incentive to deviate from their strategy. Formally, sis a Nash equilibrium if
ui(s)=max
s
iSi
ui(︂(︁si,s
i)︁)︂
for all players iN, where (︁si,s
i)︁denotes the strategy profile where every player except player
iplays the strategy according to sand player iplays s
i.
Example (Prisoners dilemma).Consider a situation where two prisoners are on trial for a com-
mitted crime. Both felons have two options: They may remain silent or confess and cooperate
with the authorities. Depending on their choice they will face different sentences. If both pris-
oners confess, they will both get a sentence of 4 years. If only one of them confesses the prisoner
admitting the crime will get a low sentence of 1 year, while the other one will get 5 years. Finally,
if both of them remain silent, both prisoners will get a sentence of 2 years.
The game therefore consists of the set containing the two players N={1,2} and the strategy
sets Si:={confess,silent}. The payoff function may be best described by the values in Table 2.1
stating the payoffs (that is, in this case, the negative of the sentence in years) for prisoner one and
two for all four possible outcomes. The unique Nash equilibrium in this game is for both players
to confess since in all other strategy profiles at least one player can profit by confessing. The game
is considered a dilemma since both players could get away with a relatively small sentence if they
would coordinate and remain silent. However, the strategy profile where both players confess is
the only Nash equilibrium, although it yields less payoff for both players.
Chapter 2. Preliminaries 23
2.5.1 Nonatomic selfish routing games
The first class of games that we will consider in this thesis are nonatomic network routing games.
These games differ from our prior definition by having a continuum of players Nrather than
having a finite set and therefore being called nonatomic. In a nonatomic network routing game
we consider a multi-commodity network where typically every commodity jhas a single source
vertex sjand a single sink vertex tjand wants to route a demand of value rj. The players in this
game can be thought of as infinitesimal small flow particles that want to travel from the source
to the sink vertex of one commodity. A strategy for every player is to choose a path from sjto
tj. An interesting special case of nonatomic network routing games is when there is only one
commodity, we refer to these games also as single-commodity games.
An outcome of a nonatomic selfish routing game is then a non-negative multi-commodity
flow X0satisfying the demands. The flow values can be interpreted as follows. If there is an
amount of xe,jflow of commodity jon edge ethen this means a share of xe,j
rjof the players trav-
eling between sjand tjhave chosen a path Pcontaining edge e.
Every edge is equipped with a non-negative, non-decreasing, convex cost function ce:R0
R0and the players experience a payoff
uP(X)= ∑︂
eP
ce(xe),
where xe=∑︁jKxe,jis the total flow on edge e. The payoff is the negative cost of all edges in the
chosen path P, where the edge cost depends on the total flow of all commodities on that edge.
Players therefore want to minimize the total cost of the path that they are using.
Nonatomic selfish routing games have been widely studied as they have a variety of appli-
cations, e.g., the macroscopic view on traffic or communication networks where the impact of
single drivers or data packets are negligible. Research on these games began about a century ago
when Pigou [93] described the problem first. The famous example described at the end of this
subsection is also due to Pigou. In the 1950s Wardrop [114] formalized the problem and gave a
first description of equilibria that therefore are also known as Wardrop equilibria. Intuitively, a
multi-commodity is in equilibrium if no infinitesimally small flow unit has an incentive to take
another path. But this means, that all paths that carry flow must also be shortest paths. To for-
malize this, we say a sj-tj-path PPsj,tjis used if xe,j>0 for all eP. Then, the equilibrium
conditions also known as Wardrops first principle are as follows: A multi-commodity flow Xis a
Wardrop equilibrium if and only if
∑︂
eP
ce(xe)∑︂
eQ
ce(xe) for all used PPsj,tjand all QPsj,tj(2.8)
holds for all commodities jK. Eq. (2.8) formalizes the fact that every path chosen by any flow
particle must indeed be a shortest path between the source-sink-pair of this commodity. It also
implies that all used paths of one commodity must have the same length. However, Wardrops
principle is a path based formulation. In the following proposition we state an equivalent edge
based formulation using shortest path lengths. For a proof, see e.g. Proposition 2.7.7. in [98].
24 2.5. Game Theory
Proposition 2.10. Denote by πj
vthe length of a shortest path from sjto the vertex v with respect to
the edge weights ce(xe). Then, a multi-commodity flow xe,jis a Wardrop equilibrium if and only if
ce(xe)=πj
wπj
vfor all e =(v,w)E with xe,j>0,
ce(xe)πj
wπj
vfor all e =(v,w)E with xe,j=0
for all commodities j K .
Optimal flows and efficiency of equilibria
In addition to equilibrium flows we also consider socially optimal flows. An optimal flow is a
minimum cost multi-commodity from with respect to the edge cost ce(︁∑︁jKxe,j)︁, i.e., optimal
flows are flows that minimize the total cost
C(X) :=∑︂
eE
xece(xe)
that we also refer to as the social cost. We denote a socially optimal flow by XSO and its cost
by C(XSO). A socially optimal flow can be interpreted as the outcome of the game if the decision
were not made be selfish players but rather by a central authority that wants to minimize the total
(or, equivalently, average) cost of all players. A key insight of game theory is that equilibria are not
efficient in general, i.e., their costs are higher than these of a socially optimal flow. In general, the
performance of the cost of equilibrium solutions is measured by the quotient
PoA :=
max
Equilibria XC(X)
C(XSO)
that was dubbed price of anarchy by Papadimitriou [91]. The price of anarchy is the quotient
of the cost of the Wardrop equilibrium with the highest cost and the optimal social cost. Note
that in the case of Wardrop equilibria, all Nash equilibria have the same cost C(WE) (see, e.g.,
Proposition 2.2.6 in [98]) and the price of anarchy can also be written as PoA =C(WE)
C(SO) . Rougharden
and Tardos [99] showed that the price of anarchy is bounded by 4
3if all cost functions are linear,
but may be unbounded for arbitrary polynomial functions.
Relationship between Wardrop equilibria and optimal flows
By definition, the socially optimal flow is a minimum cost flow with respect to the edge cost
functions Fe(x)=xece(xe) solving the (non-linear) problem from Eq. (2.6). Applying the KKT-
conditions from Proposition 2.8 to this problem, we obtain potential based conditions for socially
optimal flows. We defer the computation to later chapters (see Theorem 3.1 in Section 3.2.1 for
the single-commodity case and Corollary 3.9 in Section 3.4 for more details).
Proposition 2.11. The multi-commodity flow Xis a socially optimal flow if and only if there exists
a matrix ΦRn,kcontaining potential vectors φjRnfor every commodity j K as columns such
that
ce(xe)+xec
e(xe)=φj
wφj
vfor all e =(v,w)E with xe,j>0,
ce(xe)+xec
e(xe)φj
wφj
vfor all e =(v,w)E with xe,j=0.
Chapter 2. Preliminaries 25
st
1
x
(a) Graph with costs.
st
0
1
C(WE) =1
(b) Wardrop Equilibrium.
st
1
2
1
2
C(SO) =3
4
(c) Social optimal flow.
Figure 2.4: Pigous example.
If we normalize the potentials from Proposition 2.11 to zero at the respective source vertices
sjwe see that, by Proposition 2.10, we can interpret the socially optimal flow Xalso as a Wardrop
equilibrium but for cost functions c
˜e(x) :=ce(x)+xec
e(x). Conversely, a Wardrop equilibrium
with respect to costs ce(x) can also be interpreted as socially optimal flow with respect to the
costs c
˜e(x) :=1
x∫︁x
0ce(s)ds for x>0 and c
˜e(0) =ce(0). This equivalence of equilibrium and op-
timal flows was first described by Beckmann et al. [6] and is therefore also known as Beckmann
transformation. The Beckmann transformation implies that there is no conceptual or compu-
tational difference between equilibria and optimal flows. In particular, all these flows can be
computed by a minimum cost flow computation and, additionally, this also implies the existence
of Wardrop equilibria.
Corollary 2.12. If the cost functions ceare continuous and there exists some feasible flow Xsatisfy-
ing the demands, then Wardrop equilibria always exists. If the costs ceare also strictly increasing
then the Wardrop equilibrium is unique.
Proof. Under these assumptions, we can rephrase the computation of a Wardrop equilibrium as
a feasible minimization problem with differentiable objective. Hence, a solution must exist. If,
additionally, the costs are strictly increasing, the objective of the minimization problem is strictly
convex and, hence, the solution must be unique.
Pigou’s Example
The following example with the famous network introduced by Pigou [93] illustrates the concepts
of Wardrop equilibrium, optimal flow and the price of anarchy.
Example (Pigous example).Consider the graph from Fig. 2.4a with only two vertices and two
parallel edges, one of the edges having constant cost of 1 and the other a flow dependent cost
of x. There is only one commodity routing a demand of 1 from sto t. In the equilibrium, all
flow uses the lower edge inducing a cost of 1 on this edge. Both edges then have a cost of 1 and
therefore the flow is obviously an equilibrium. Since all flow has to pay” a cost of 1 the overall
cost is 1 as well. The Wardrop equilibrium is depicted in Fig. 2.4b.
Given any flow, denote by x1the amount of flow using the upper edge and by x2=(1x1) the
amount of flow using the lower edge. Then the total cost of the flow is x1·1+x2
2. Therefore, in an
optimal flow an optimal share of x
ˆ1=argmin0x11(x1·1+(1x1)2) uses the upper edge. Thus,
splitting the flow on both edges yields an optimal flow depicted in Fig. 2.4c with cost 3
4. The price
26 2.5. Game Theory
of anarchy in this example is 4
3. As stated above, for linear costs, the price of anarchy is bounded
from above by 4
3. Hence, Pigous example shows that this bound is in fact tight.
2.5.2 Atomic splittable congestion games
The second class of games we consider in this thesis are atomic splittable congestion games. These
games are in a sense a more general form of the nonatomic selfish routing games presented
before. Instead of one population of infinitesimally small players (or flow particles), in atomic
splittable congestion game we have a finite set of atomic players N={1,...,k} that have a non-
negligible influence on the game—hence the name atomic players. Each of these players controls
a non-zero amount of flow (or interpreted differently, a population of infinitesimally small play-
ers) that they want to route between a source vertex siand a sink vertex ti. As in the routing
games before, the flow experiences cost ce(xe) depending on the total amount of flow xeof all
players on the edge. While in the selfish routing game every flow particle wants to minimize its
own cost, in atomic splittable congestion games, the players want to minimize the total cost of
their share of the flow. If there is only k=1 player, then the outcome of the game is a socially
optimal flow as defined above.
Atomic splittable congestion games can be seen as a coalitional version of Wardrop equilib-
ria. In traffic networks it can be the case that providers of navigation systems or operators of
ride-sharing companies control a large amount of the road traffic. The same holds for internet
service providers or operators of websites with large amount of traffic such as YouTube or Netflix
in telecommunication networks. In these cases, the classical Wardrop equilibrium model may
not be a good approach to model these networks as these companies may not be interested in
minimizing the travel times of each of the small flow particles (traffic or data) controlled by them
but rather seek to minimize the overall travel time of their flow to improve the average experi-
ence of their costumers. In this setting, companies may be willing to sacrifice cost experienced
by some of their flow particles in order toimprove the overall cost of their flow; see also the discus-
sion in Catoni and Pallottino [13]. Atomic splittable congestion games have been studied in the
context of traffic networks (Haurie and Marcotte [55]), communication networks (Orda et al. [88])
and logistics networks (Cominetti et al. [19]). Formally, an atomic splittable congestion game con-
sists of kplayers, a graph G=(V,E), and a family of cost functions (ce,i)eE,iN. Every player has
a source vertex siand a sink vertex tiand a demand rate ri. A feasible strategy for a player iis a
feasible si-ti-flow xiof rate ri, i.e., to route its flow in a feasible way between the source and the
sink vertex. An outcome of a game is a strategy profile x=(︁(x1),...,(xk))︁containing the flows
of all players stacked. We denote by xe:=∑︁k
i=1xe,ithe total flow of all players on edge eE. Every
player has to pay (player-dependent) cost for all of its flow particles, i.e., the utility experienced
by player iis
ui(x)=Ci(x) :=∑︂
eE
xe,ice,i(xe).
As usual, every player seeks to maximize their utility, i.e., wants to minimize the cost paid. For
every edge eEand every player iN, we define by µe,i(x) :=
xe,ixe,ice,i(xe) the marginal cost
of player ion edge e. Then, a Nash equilibrium in an atomic splittable congestion game can be
characterized as follows, see Bhaskar et al. [8] for a reference.
Chapter 2. Preliminaries 27
Proposition 2.13. The strategy profile x=(x1,...,xk)is a Nash equilibrium flow if and only if, for
every player i, xiis a feasible si-ti-flow and
∑︂
eP
µe,i(x)∑︂
eQ
µe,i(x)for all si-ti-paths P,Q where P is used.
The existence of Nash equilibria in atomic splittable congestion games follows from standard
fixed point arguments (Kakutani [62], Rosen [96]), for more details see Altman et al. [3] and Orda
et al. [88].
Proposition 2.14. Assume that for every player i, there exists a feasible flow xi. If, for all players,
the player cost function Ciis convex and differentiable, then a Nash equilibrium does always exist.
While the existence of Nash equilibria is always guaranteed (under the assumptions men-
tioned above), the equilibria, also in contrast to Wardrop equilibria, need not be unique. Even in
the case of player-independent cost functions, Bhaskar et al. [8] show that the edge flows are not
unique. On a positive note, Altman et al. [3] prove that if the cost functions ce,iare monomials of
degree at most three, Nash equilibria are always unique.
28 2.5. Game Theory
29
Part I
Parametric Minimum Cost Flows
30
31
3Minimum Cost Flows
In this part of the thesis we consider a parametric version of the classical minimum cost flow
problem. In the minimum cost flow problem we are given a directed, strongly connected1graph
G=(V,E) with n= |V|vertices and m=|E|edges. We assume throughout this whole part that
all graphs do not contain parallel edges and have no self-loops. Every vertex vVhas a demand
value bvR, where negative demand bv<0 indicates a supply. Further, every edge eEis
equipped with a flow-dependent cost function Fe:R0R. Given a flow x, we denote by C(x) :=
∑︁eEFe(xe) the cost of the flow. The minimum cost flow problem, as introduced in Section 2.3.4,
then is
minC(x)
s.t. Γx=b,
x0.
(3.1)
A feasible flow x
ˆwith C(x
ˆ)C(x) for every feasible flow xis called minimum cost flow. Since this
formulation is based on directed flows we also refer to this problem as the directed minimum cost
flow problem. We will use the notation x
ˆ=(x
ˆe)eEthroughout this part of the thesis to denote
minimum cost flows and distinguish them from other feasible flows.
The main focus in this part does not lie on the minimum cost flow from Eq. (3.1) but rather on
the following parametric variant. Let b:R0Rn,λ↦→b(λ) be a continuous function mapping a
non-negative parameter λto a demand vector b(λ)=(︁bv(λ))︁vV. Then, we refer to the parametric
minimization problem
minC(x)
s.t. Γx=b(λ),
x0
(3.2)
as the parametric minimum cost flow problem. A solution to the parametric problem is a function
x
ˆ:R0Rm,λ↦→x
ˆ(λ)=(︁x
ˆe(λ))︁eEsuch that, for every λR0,x
ˆ(λ) is a minimum cost flow for
demand b(λ). We call this function the minimum cost flow function.
1We note that this assumption is no restriction. If the graph is not connected, the minimum cost flow problem can
be split into smaller problems on connected graphs. If the graph is not strongly connected but weakly connected,
additional edges with very high costs can be added to the graph without changing the optimal flow.
32 3.1. The Linear Minimum Cost Flow Problem
Our overall goal is to study and analyze minimum cost flows and parametric minimum cost
flows as well as the development of algorithms that compute the minimum cost flow function
exactly or approximately.
Chapter Outline
In this chapter, we discuss the fundamental concepts of the minimum cost flow problem and its
parametric variant. We begin in Section 3.1 by reviewing the well-studied linear variant of the
minimum cost flow problem and briefly introduce the solution methods and algorithms for this
particular variant. In Section 3.2 we begin our analysis of the general, non-linear minimum cost
flow problem as defined in Eq. (3.1) by characterizing optimal solutions via optimal potentials
leading to the important characterization in Theorem 3.1. We introduce the notion of shortest
path potentials and define the central concept of a support of a solution that we use throughout
the whole thesis. Sections 3.3 and 3.4 consider the optimality conditions of the special cases of
undirected and multi-commodity flows. Finally, in Section 3.5 we consider the parametric variant
of the minimum cost flow problem as defined in Eq. (3.2). We study the minimum cost flow
function and its properties, such as continuity and smoothness. The central result of this chapter
is Theorem 3.13 which gives the explicit formulas for the derivative of minimum cost flow and
optimal potential functions and relates these derivatives to the Laplacian matrix. We then obtain
multiple results concerning these derivatives, among others we obtain Thomsons principle and
Rayleighs monotonicity law (cf. Corollaries 3.15 and 3.16) known from electrical networks and
prove some properties of the objective function of the minimum cost flow problem.
Bibliographic Information Most of the results in the first four sections of this chapter are ba-
sic insights of minimum cost flows. The analysis of the minimum cost flow function and the
corresponding results from Section 3.5 are joint work with Per Joachims and Max Klimm. A pub-
lication titled Approximate Parametric Computation of Minimum Cost Flows with Convex Costs
containing these results is currently in preparation.
3.1 The Linear Minimum Cost Flow Problem
The minimum cost flow problem is one of the most important and well-studied problem in the
realm of combinatorial optimization. Usually it is studied in its linear variant that already covers
many interesting applications and also contains other problems such as the shortest path or the
maximum flow problem as special cases. In the linear minimum cost flow problem, all edge costs
Feare linear. Therefore, there is some vector c=(ce)eERmof typically non-negative cost such
that every cost function can be written as Fe(x)=cex. The directed linear minimum cost flow
problem then is
min cx
s.t. Γx=b,
x0.
(3.3)
Chapter 3. Minimum Cost Flows 33
Minimum cost flow problems and transportation problems have been studied for a long time,
starting as early as the 1930s, see the historical overview by Schrijver [103]. Since the 1950s many
algorithms for solving the linear minimum cost flow problem have been proposed: The primal-
dual algorithm by Ford and Fulkerson [40,42], the successive shortest path algorithm indepen-
dently developed by Jewell [59], Iri [58], and Busacker and Gowen [12], the out-of-kilter algorithm
introduced independently by Minty [81] and Fulkerson [47], and the cycle-canceling algorithm by
Klein [70]. All of the aforementioned algorithms are closely related as pointed out by Zadeh [121]
in the sense that they perform the same augmentation steps. In particular, all these algorithms
are inefficient as they may perform an exponential number of iterations for certain families of
minimum cost flow problems as shown by Zadeh [119,120]. Further, these algorithms are closely
related to our algorithms for solving the (parametric) minimum cost flow problem with quadratic
costs that we introduce in Chapters 4and 5. The successive shortest path algorithm maintains an
optimal pseudo-flow (that is a flow that is optimal but does not satisfy the demand conditions)
and augments this flow along shortest paths with respect to the edge costs until an optimal flow is
reached. The primal-dual algorithm works similar using maximum flows in subnetworks to aug-
ment the pseudo-flows. Our algorithms for electrical flows and non-linear minimum cost flows
work similarly since they also maintain optimality and augment flow by increasing the flow on
subnetworks consisting of shortest path edges.
While the aforementioned algorithms are inefficent since they may require an exponential
number of steps, the linear minimum cost flow problem can be solved efficiently. The first poly-
nomial-time algorithm is due to Tardos [107] and was later adopted to the minimum-mean cycle
canceling algorithm by Goldberg and Tarjan [49,50]. Many efficient algorithms are based on
scaling techniques, either scaling of capacities, e.g., the algorithm by Orlin [89]), or scaling of
costs as introduced by Röck [95] and by Bland and Jensen [9]. Similar scaling techniques are also
used by Végh [110] yielding a strongly polynomial-time algorithm for the non-linear minimum
cost flow problem with quadratic costs.
In practice, the linear minimum cost flow problem is often solved with the network simplex
method. This method was originally developed by Dantzig [23] and is a variant of the simplex
method for linear programming (which, itself is a possible solution method since the problem
in Eq. (3.3) is in fact a linear program). The book by Dantzig [24] discusses the specializations of
the simplex method for the minimum cost flow problem in more detail.
For a comprehensive introduction to minimum cost flows with linear costs and an in-depth
presentation of many of the algorithms we refer to the textbook by Ahuja et al. [2]. We also refer
to the textbook by Williamson [117] that also describes many solution methods for the minimum
cost flow problem and related computational problems.
3.2 Characterization of Minimum Cost Flows
3.2.1 Optimal potentials
A minimum cost flow is a solution to the (non-linear) optimization problem from Eq. (3.1). Thus,
we can use the KKT conditions from Proposition 2.8 to characterize minimum cost flows. This
34 3.2. Characterization of Minimum Cost Flows
characterization depends mainly on the derivative of the edge cost F
e. We denote the derivative
by fe(xe) :=F
e(xe) and refer to the function feas the marginal cost function of the edge e.
Theorem 3.1 (Optimal Potentials).Assume that the edge cost functions Feare continuously differ-
entiable with marginal costs feand convex for all edges e E. Then the following two conditions
are equivalent.
(i) The flow x
ˆRm
0is a minimum cost flow.
(ii) The flow x
ˆRm
0is feasible and there exists a vector φRnsuch that
fe(x
ˆe)=φwφvfor all e =(v,w)E with x
ˆe>0, (3.4a)
fe(x
ˆe)φwφvfor all e =(v,w)E with x
ˆe=0. (3.4b)
Proof. We apply the KKT-conditions from Proposition 2.8 to the minimum cost flow problem
from Eq. (3.1). We observe that we can reformulate the inequality constraints as g(x) :=x0and
the equality constraints as h(x) :=bΓx=0. By Proposition 2.8 a feasible flow x
ˆis optimal if
and only if there exist vectors λ
ˆRm
0,µ
ˆRnsuch that
C(x
ˆ)=∑︂
eE
λ
ˆege(x
ˆ)+∑︂
vV
µ
ˆvhv(x
ˆ)=λ
ˆ+Γµ
ˆ=0and λ
ˆx
ˆ=0.
We note that λ
ˆx
ˆ=0 is equivalent to λ
ˆe=0 if x
ˆe>0, since x
ˆ0. Thus, the conditions above are
equivalent to
fe(x
ˆe)=F
e(x
ˆe)=
x
ˆe
C(x
ˆ)=λ
ˆe+γ
eµ
ˆ=µ
ˆwµ
ˆvfor every e=(v,w)Ewith x
ˆe>0,
fe(x
ˆe)=F
e(x
ˆe)=
x
ˆe
C(x
ˆ)=λ
ˆe+γ
eµ
ˆµ
ˆwµ
ˆvfor every e=(v,w)Ewith x
ˆe=0.
Hence, with φ=µ
ˆ, the claim follows.
We call a vector φRnthat, together with some minimum cost flow x
ˆ, satisfies the conditions
from Eq. (3.4) an optimal potential vector (or short optimal potential). Note that our convention
to encode demands as positive numbers and supply as negative numbers in the vector bleads to
the potential difference φwφvrather than φvφwin Eq. (3.4). Since in almost all applications,
marginal costs are non-zero for positive flow values, this implicates that potentials are increas-
ing in the direction of the flow. While this is intuitive for some settings, like, for example, traffic
networks, where potentials can be interpreted as travel times and more distant vertices have nat-
urally higher potential, this may be counterintuitive for many physical applications such as gas
or electricity networks where the flow usually is oriented from higher to lower potentials. We will
use the convention of increasing potential along the flow direction throughout the entire thesis.
Optimal potentials are key for the understanding and the computation of minimum cost
flows. While optimal potentials cannot be unique—the system Eq. (3.4) depends only on po-
tential differences and is hence invariant under additive constants added to the potential—the
marginal cost fe(x
ˆe) for a minimum cost flow and, hence, the differences of the optimal poten-
tials φwφvalong all edges e=(v,w) that are flow carrying are unique, even if the minimum cost
flow itself is not.
Chapter 3. Minimum Cost Flows 35
1 1
1
x+1
1
x+1
(a) An instance with no solution.
1 1
(︁x3
2)︁2
(︁x3
2)︁2
(b) An instance with a solution containing a cycle.
Figure 3.1: Two instances of the minimum flow problem with demands next to the vertices and
cost functions next to the edges. (a) An instance that does not admit any solution. (b) An instance
with the unique optimal solution x
ˆe1=2 on the lower edge e1and x
ˆe2=1 on the upper edge e2,
i.e., a solution with flow on a cycle.
Lemma 3.2 (Uniqueness).Assume that all edge cost functions Feare continuously differentiable
and convex. Then,
(i) for any two minimum cost flows x
ˆ,x
ˆthe marginal costs are equal, i.e., fe(x
ˆe)=fe(x
ˆ
e)for all
edges e E,
(ii) if the edge cost are strictly convex, the minimum cost flow is unique as well.
Proof. Let x
ˆ,x
ˆbe two minimum cost flows. Then, C(x
ˆ)=C(x
ˆ). Since the functions feare as-
sumed to be convex, so is the function C. Since the set of feasible flows is convex, every convex
combination x(µ) :=µx
ˆ+(1µ)x
ˆis feasible in the minimum cost flow problem from Eq. (3.1) for
every µ[0,1]. Further, by the convexity of C,
C(x
ˆ)C(x(µ)) µC(x
ˆ)+(1µ)C(x
ˆ)=C(x
ˆ) (3.5)
and, thus, x(µ) is also a minimum cost flow. Therefore, the function µ↦→g(µ) :=C(x(µ)) is con-
stant with respect to µ. But since all functions Feare convex this is only possible if for every edge
the function µ↦→ Fe(xe(µ)) is linear. Thus, fe(xe(µ)) is constant with respect to µand, hence,
fe(x
ˆe)=fe(xe(1)) =fe(xe(0)) =fe(x
ˆ
e).
If the edge cost are strictly convex then the second inequality in Eq. (3.5) is strict whenever
x
ˆ=x
ˆwhich is a contradiction. Hence, there cannot be two distinct minimum cost flows.
We note that the assumptions on Fefrom Theorem 3.1 are not sufficient for the existence of a
minimum cost flow, even if the problem is feasible. Fig. 3.1a shows an example with continuously
differentiable, convex functions. Since, for every fixed flow, sending some additional amount of
flow along the cylce decreases the costs of the solution, no optimal solution exists. The next
lemma states a mild condition that guarantees the existence of a solution.
Lemma 3.3 (Existence).Assume that there is a feasible flow, that the edge cost functions Feare
continuous, and that limx∥→∞C(x)=. Then, the minimum cost flow problem has a solution.
Proof. Let x0be a feasible flow for the problem. Then, the solutions to the minimization problem
does not change if we add the constraint C(x)C(x0). The growth condition limx∥→∞C(x)=
implies that there exists an MRsuch that, for every flow xsatisfying this constraint, xeMfor
every eE. Hence, the set of feasible solutions is bounded and, since the set of feasible flows is
closed, also compact. The objective is continuous and a minimum exists.
36 3.2. Characterization of Minimum Cost Flows
Finally, we shortly discuss cycle-free solutions. Consider the example from Fig. 3.1b. The
unique optimal solution to this instance is the flow that sends two flow units on the lower edge
and one flow unit on the upper edge. Hence, there is a cycle such that all edges of this cycle have
positive flow. In particular, the flow on the lower edge is higher than the total inflow into the
network, i.e., flow is generated within the network. This behavior originates in the fact that the
edge costs are not monotonically increasing. For small flow values sending more flow over an
edge actually decreases the edge cost. In some applications, this behavior is actually desired. For
example, in electrical networks, we can model active components such as batteries or generators
using this fact. If we demand that the cost functions are non-decreasing, we can guarantee that
no optimal solution contains a cycle with positive flow, i.e., every optimal solution is cycle-free.
Lemma 3.4 (Cycle-free solutions).Assume that all edge cost functions Feare non-decreasing. If a
minimum cost flow exists, then there exists a minimum cost flow x
ˆthat is cylce-free, i.e., there exists
no cycle C such that x
ˆe>0for all e C. In particular, all edge flows are bounded by the total inflow
into the network, i.e., x
ˆeB for all edges e E, where B :=1
2∑︁vV|bv|.
Proof. Let x
ˆbe a minimum cost flow. If x
ˆis cycle-free, we have found cycle free solution. Oth-
erwise, there exists a cycle Cwith x
ˆe>0 for all eC. Let δ:=mineCx
ˆe. Define a new flow x
˜
by setting x
˜e=x
ˆeδfor all eCand x
˜e=x
ˆefor all eC. Then, x
˜0 by definition and Γx
˜=b
since the flow conservation at every vertex is unchanged. Hence, x
˜is a feasible solution and, as
the edge cost are non-decreasing, C(x
˜)C(x
ˆ). Thus, x
˜is also an optimal solution but with one
cycle less than x
ˆ. Iterating this argument leads to a cycle-free minimum cost flow.
If x
ˆis cycle-free, the flow decomposition from Proposition 2.6 yields that x
ˆcan be decom-
posed into path-flows. These path flows cannot have higher flow value than the demand at the
last vertex of the path without violating flow conservation. Hence, no edge can have higher flow
than the total demand at vertices with positive demand, i.e., x
ˆe∑︁vV:
bv>0bv=1
2∑︁vVbv=Bfor all
edges eE.
3.2.2 Shortest path potentials
Optimal potentials can be used as a certificate to verify that a flow xis indeed a minimum cost
flow. Given some flow xwe only need to compute an optimal potential—or show that no such
potential exists—in order to verify that a given flow is a minimum cost flow. We can do this as
follows using shortest paths.
Given a feasible flow xin the graph G=(V,E), we construct a new graph Gx=(V,Ex) with the
edge set Ex=E
Ex, where
Ex={︁(w,v)|e=(v,w)Ewith xe>0}︁, i.e., we add backward edges
for all edges with positive flow. We define edge weights νe=fe(xe) for all edges e=(v,w)Eand
ν(w,v)= f(v,w)(x(v,w)) for all (w,v)
Ex, i.e., we equip the forward edges with weights fe(xe)
and the backward edges with fe(xe) of the corresponding forward edge. Finally, for any fixed
vertex v1V, we define the vector πv1,x=(︁πv1,x
v)︁vVRncontaining the shortest path lengths
from v1to vwith respect to the edge weights νe. We call the vector πv1,xthe vector of shortest
path potentials w.r.t. v1and x. Note, that the values πv1,x
vmay not exist if the graph Gxcontains
negative cycles. In fact, the next lemma shows that the shortest path potentials w.r.t. to a flow x
Chapter 3. Minimum Cost Flows 37
2
0
0
2
x2
x
x2
x
x2
(a) Graph with cost functions Fe
on edges and demands bvat the
nodes.
0
2
1
3
1
1
0
1
1
0
2
1
3
2
2
11
0
1
1
22
(b) A minimum cost flow x
ˆwith optimal potential (left) and the
shortest path network for x
ˆ(right)
2
0
2
0
2
4
4
1
44
1
44
(c) A non-optimal flow x(left); negative cycles exist in the shortest path network for x(right)
Figure 3.2: An example network (a) with a minimum cost flow with its optimal potential and
shortest path network (b) and a non-optimal flow with its shortest path network containing neg-
ative cycles (c).
exist only if the flow is a minimum cost flow. In this case, the shortest path potential is also an
optimal potential.
Lemma 3.5. Assume that the edge cost functions Feare continuously differentiable and convex. Let
v1V be an arbitrary, fixed vertex and xa feasible flow.
(i) The shortest path potentials πv1,xexists if and only if xis a minimum cost flow.
(ii) If πv1,xexists, it is an optimal potential.
(iii) πv1,x
ˆ=πv1,x
ˆfor any two minimum cost flows x
ˆ,x
ˆ.
Proof. If the shortest path potential exists it satisfies by definition of shortest paths
πv1,x
wπv1,x
vνe=fe(xe)
for every edge e=(v,w)E. For every edge e=(v,w)Ewith xe>0, there exists also a backward
edge. Hence, for these edges, we additionally have πv1,x
vπv1,x
wν(w,v)=fe(xe) implying πv1,x
w
πv1,x
v=fe(xe). Therefore, by Theorem 3.1,πv1,xis an optimal potential for the flow xand xis a
minimum cost flow. Conversely, if xis a minimum cost flow, then, by Theorem 3.1, there exists
some optimal potential φ. But this implies that there cannot be a negative cycle with respect to
the edge weights νein Gx. Thus, the shortest path potential πv1,xexists.
Finally, Lemma 3.2(i) implies that for any two minimum cost flows x
ˆ,x
ˆwe have fe(x
ˆe)=
fe(x
ˆ
e). Thus, the edge weights νeare the same for all minimum cost flows and the shortest path
potentials are the same.
Fig. 3.2 shows an example graph with cost functions and demand and illustrates the shortest
path network Gxfor two given flows. For the first flow x
ˆthere exists a shortest path potential and,
38 3.2. Characterization of Minimum Cost Flows
thus, this potential is an optimal potential for the minimum cost flow x
ˆ. For the second flow the
shortest path network contains two negative cycles indicating that the flow xis not optimal.
Lemma 3.5 shows that a shortest path potential can only exist for a minimum cost flow and
that it is independent of the choice of the minimum cost flow. We therefore use the notation πv1
for the shortest path potential of minimum cost flows. We note that two shortest path potentials
πv1and πv2for two different vertices v1and v2differ only by a constant. To simplify notation
further, we will omit the superscript v1and implicitly assume that we fixed one vertex v1and
denote by πthe unique shortest path potential for this vertex.
3.2.3 Supports of minimum cost flows
We have seen that minimum cost flows can be obtained by solving the system of equalities and
inequalities from Eq. (3.4). A solution of this system has to satisfy the potential inequalities
fe(xe)πwπvfor all edges and, additionally, the inequality has to be tight for every edge with
xe>0. We are in particular interested in edges for which the potential inequalities are tight for
the minimum cost flow. We say an edge e=(v,w)Eis active if for some minimum cost flow x
ˆ
fe(x
ˆe)=πwπv.
Note that the shortest path potentials πvare unique. Since, additionally, by Lemma 3.2, the values
fe(x
ˆe) are independent of the actual flow, the definition of active edges is independent of the
choice of the minimum cost flow and of the actual values of the shortest path potential. The set
S:={︁e=(v,w)E|eis active}︁
is called support of the minimum cost flow. Again, note that the definition of support is a property
of the solution and independent of the actual minimum cost flow.
Lemma 3.6. The subgraph GS:=(V,S)of G containing only active edges is connected.
Proof. Since we assume that Gis strongly connected, there is a shortest path from v1to every
vertex vV. Since all shortest path edges are by definition active edges (along these edges the
equality fe(x
ˆe)=πwπvholds by definition of πv) the subgraph GSis connected.
The support encodes most of the information of the minimum cost flow. If we are given the
support Sof a minimum cost flow, we can rewrite the optimality conditions from Theorem 3.1
and obtain following the system of equations
fe(xe)=φwφvfor all e=(v,w)S,
xe=0 for all eE\S,
∑︂
eδ+(v)
xe∑︂
eδ(v)
xe=bvfor all vV,
which can be solved for the optimal flow x. In the particular case of quadratic cost functions Fe
the above system is a system of linear equations and can be solved easily.
Chapter 3. Minimum Cost Flows 39
3.3 The Undirected Minimum Cost Flow Problem
One key feature of the minimum cost flow problem in Eq. (3.1) is that it is directed, i.e., we only
allow positive flow on edges. While this is inherent to many applications such as traffic flows
there are also many problems that are undirected. In particular in physical applications such as
electrical flows or flows of liquids in a pipe system, the flow is not restricted to traverse edges in
only one direction. In these cases we also allow for negative flows xeon edges. These negative
flows can be interpreted as flow traversing the edge against its orientation. We therefore also
consider the problem
minC(x)=∑︂
eE
Fe(xe)
s.t. Γx=b
for cost functions Fe:RR. We refer to as the undirected minimum cost flow problem. Since the
problem has no inequality constraints the optimality conditions consist only of linear equations
and the problem is therefore easier to solve in general.
Corollary 3.7. Assume that the edge cost functions Feare continuously differentiable and convex
for all edges e E. Then the following two conditions are equivalent.
(i) The feasible undirected flow x
ˆRmis an undirected minimum cost flow.
(ii) There exists a vector φRnsuch that fe(xe)=φwφvfor all e =(v,w)E.
Proof. This follows from the KKT conditions in Proposition 2.8.
We can also generalize the notion of cycle-free flows to the undirected case. An undirected
flow xis cycle free if there exists no cycleCsuch that either xe<0 for all eCor xe>0 for all eC.
We obtain the following sufficient conditions for the existence of cycle-free, undirected minimum
cost flows.
Corollary 3.8. Assume that for every einE the cost function Feis non-decreasing for x >0and
non-increasing for x <0. If an undirected minimum cost flow exists, then there exists an undi-
rected minimum cost flow x
ˆthat is cycle-free. In particular, the absolute value of every edge flow is
bounded by the total inflow into the network, i.e., |x
ˆe|B for all edges e E, where B :=1
2∑︁vV|bv|.
Proof. If we are given a minimum cost flow that is not cycle-free, we can remove every cycle
with positive flow with the same construction as in the proof of Lemma 3.4. Every cycle with
negative flow can be removed by increasing the flow on the cycle. By assumption, this also can
only decrease the cost of the flow. Hence, a cycle-free minimum cost flow must exist. Similar to
Lemma 3.4, the flow decomposition theorem implies that the absolute flow on every edge cannot
be larger than the total inflow in the network.
40 3.4. The Multi-Commodity Minimum Cost Flow Problem
3.4 The Multi-Commodity Minimum Cost Flow Problem
As a further variant of the minimum cost flow problem, we consider the multi-commodity variant
of the minimum cost flow problem. Given kcommodities K={1,...,k} we want to find a multi-
commodity flow X=(︁xe,j)︁eE,jKwith X0satisfying demands B=(︁bv,j)︁vV,jKthat minimizes
a seperable objective function depending on the total flow xe:=∑︁jKxe,jon the edges. Formally,
we want to solve
min ∑︂
eE
Fe(xe)=∑︂
eE
Fe(︂∑︂
jK
xe,j)︂
s.t. ΓX=B, (3.6)
X0.
An optimal solution X
ˆof the problem from Eq. (3.6) is called multi-commodity minimum cost
flow. Similar to Theorem 3.1 we can use the KKT-conditions from Proposition 2.8 to obtain an
optimality condition using optimal potentials. Since a multi-commodity flow consists of ksingle-
commodity flows we obtain also koptimal potential vectors φj=(︁φj
v)︁vVthat we also combine
to a single matrix Φ=(︁φj
v)︁vV,jK.
Corollary 3.9. A matrix X
ˆ=(︁x
ˆe,j)︁eE,jKis a multi-commodity minimum cost flow solving the
problem from Eq. (3.6)if and only if there is a matrix Φ=(︁φj
v)︁vV,jKcontaining potential vectors
for every commodity j K such that
fe(xe)=φj
wφj
vfor all e =(v,w)E with xe,j>0, jK,
fe(xe)φj
wφj
vfor all e =(v,w)E with xe,j=0, jK,
ΓX=B,
X0.
3.5 Minimum Cost Flows with Parametric Demand
In this section we analyze the minimum cost flow function x
ˆ:R0Rm, i.e., the function that
solves the parametric problem Eq. (3.2). As we have seen before, minimum cost flows do not have
to be unique for fixed demand. Thus, there can also be multiple minimum cost flow functions
x
ˆ(λ) that solve the parametric problem. A further problem arising from the non-uniqueness is
that for any two arbitrarily close parameters λ,λthe minimum cost flows x
ˆ(λ) and x
ˆ(λ) may dif-
fer significantly as the minimum cost flow function can jump to a completely different solution.
This implies that a general minimum cost flow function for a problem with non-unique solutions
can be neither differentiable nor continuous which makes the analysis considerably harder.
In order to enable a meaningful analysis of the minimum cost flow function we need some
assumptions on the cost functions and the demand function. For the remainder of this chapter,
we make the following assumptions.
Chapter 3. Minimum Cost Flows 41
Assumption 3.10. Assume that
(i) the cost functions Feare continuously differentiable, strictly convex, and satisfy the growth
condition lim
x→∞Fe(x)=.
(ii) The demand function λ↦→b(λ) is continuously differentiable.
(iii) There exists a feasible flow for every demand vector b(λ) and λ0.
Assumption 3.10 immediately gives us the following lemma.
Lemma 3.11. The minimum cost flow function λ↦→x
ˆ(λ)is well-defined and continuous.
Proof. Lemmas 3.2 and 3.3 imply that there is a unique minimum cost flow for every λ0. Thus,
the minimum cost flow function is well-defined. Further, Theorem 2.5 from [105] implies the
continuity.
Some of the above assumptions may be altered or weakened. For example, the growth con-
dition can be dropped if we assume non-decreasing costs Fe. Further, Lemma 3.11 works for
convex but not strictly convex functions. However, in this case, a more careful definition of the
minimum cost flow function for the values of λwhere the solution is not unique is needed. For
ease of exposition we forgo a detailed discussion of this matter. Finally, we could also remove the
assumption that the problem is feasible for all λ0 and restrict the domain of the minimum cost
flow function to values where b(λ) admits a feasible solution.
In Section 3.2.2 we have proven that for every minimum cost flow there exists a unique op-
timal shortest path potential π(that depends on a vertex v0that we assume is fixed thoughout
this section). We define the function π:R0Rn,λ↦→ π(λ), mapping every parameter value
to the optimal shortest path potential for the minimum cost flow x
ˆ(λ) and refer to this function
as the optimal potential function. Further, we consider the function λ↦→S(λ), mapping the pa-
rameter λto the support of the minimum cost flow, called the support function. As discussed in
Section 3.2.3 the support is unique for every λ(even if the minimum cost flow is not) and there-
fore the support function is well-defined.
Finally, we are also interested in the cost of an optimal solution in dependence of the param-
eter λ. By slightly abusing notation we define the minimum cost function C :R0R,λ↦→C(λ),
where
C(λ) :=C(x
ˆ(λ)) =∑︂
eE
Fe(x
ˆe(λ)).
Lemma 3.12. The optimal potential function λ↦→π(λ)is well-defined and piecewise continuous.
The support function is piecewise constant.
Proof. Since the shortest path potentials are unique for every λ0, the optimal potential func-
tion is well-defined. The edge weights used in the definition of the shortest path potentials only
depend on the marginal cost fe(x
ˆe(λ)) which itself depends continuously on λby assumption
and Lemma 3.11. This implies that, if the graph Gxdoes not change for all λIfor some in-
terval I, then the optimal potential function is continuous on this interval. Since the optimal
flow functions x
ˆe(λ) are continuous in λby Lemma 3.11, the set of used edges {eE|x
ˆe(λ)>0}
42 3.5. Minimum Cost Flows with Parametric Demand
s
v2
v3
t
x2
e1
1
2x2+3x
e2
1
2x2e3
1
2x2+3x
e4
x2
e5
(a) Graph with cost functions.
λ
Flow
1 2 3 4 5 6 7 8
1
2
3
4
x
ˆe1(λ) and x
ˆe5(λ)
x
ˆe2(λ) and x
ˆe4(λ)
x
ˆe3(λ)
(b) Function λ↦→x
ˆ(λ) for demand function b(λ) :=λ(1,0,0,1).
0
1
3
2
5
2
1
2
0
1
2
0
1
2
0
4
9
2
17
2
2
3
2
1
2
3
2
2
0
8
7
15
4
4
0
4
4
(c) Mincost flows for λ=1
2,λ=7
2,λ=8. Flow on edges, optimal potentials next to the vertices.
Figure 3.3: An example for a parametric minimum cost flow instance and the minimum cost flow
function.
is piecewise constant in λand, thus, so is the graph Gx. Hence, the optimal potential function
λ↦→π(λ) is continuous.
Example. Consider the graph with vertices V={v1=s,v2,v3,v4=t} with edge cost functions Fe
depicted in Fig. 3.3a and the demand function λ↦→b(λ) :=λ(1,0,0,1), i.e., the demand func-
tion encoding all s-t-flows of positive demand rates. The functions in Fig. 3.3b are the minimum
cost flow functions solving the corresponding directed minimum cost flow problem. For every
λ0, the flow x
ˆ(λ) is a minimum cost flow for demand b(λ). Fig. 3.3c shows three flows for three
choices of the parameter λwith the associated optimal potentials.
3.5.1 Derivative of the minimum cost flow function
The following theorem is the first main result stating that for smooth marginal cost functions the
minimum cost flow function as well as the optimal potential function are (piecewise) differen-
tiable and that we can express the derivatives explicitly. As we will see, the differentiability of the
optimal potential function and the minimum cost flow function hinge on the differentiability of
the marginal cost functions. Therefore, we will assume throughout this and the following sub-
sections that the marginal cost functions feare continuously differentiable for all edges eE.
Since the edge cost functions Fe(x)=∫︁x
0fe(s)ds are assumed to be convex, the derivative f
e(x) is
positive for almost all x. In order to ensure differentiability, we will additionally assume that the
derivatives are strictly positive for all x, i.e., f
e(x)>0 for all x0. In this case, for a given λ0,
Chapter 3. Minimum Cost Flows 43
we define
ce(λ) :={︄0 if eS(λ),
1
f
e(x
ˆe(λ)) if eS(λ)(3.7)
Let Cλ:=diag(︁ce1(λ),...,cem(λ))︁be the diagonal matrix containing the values ce(λ) as diagonal
elements and let
Lλ:=ΓCλΓ
be a Laplacian matrix depending on the weights ce(λ). These weights are non-zero for all active
edges eS(λ). By Lemma 3.6, the subgraph of these edges is connected and, thus, Proposition 2.2
implies that the matrix Lλhas rank n1. In particular, the submatrix L
ˇλis positive definite and
the pseudo inverse L
λthat maps into the subspace {φRn|φv1=0} exists and is unique. The
following theorem shows the connection between the pseudo inverse of the Laplacian and the
derivative of the minimum cost flow and the optimal potential function.
Theorem 3.13. Assume that the marginal costs feare differentiable and that f
e(x)>0for all x 0
and e E. Then, the minimum cost flow function and the optimal potential function are differ-
entiable for almost all λ0where the support function λ↦→S(λ)is continuous (i.e., for all λ0
where the support does not change). For all λ0where the derivatives exist, the explicit formulas
d
dλπ(λ)=L
λb(λ)
d
dλx
ˆ(λ)=CλΓL
λb(λ),
(3.8)
where b(λ)=(︁d
dλbv(λ))︁vV, hold true.
Proof. Before we begin the proof, we recall that optimal potentials are non-unique. In order
to avoid the non-uniqueness, we focus on shortest path potentials that are fixed to zero in the
vertex v1. Formally, this requires to ignore the potential of the first vertex and, therefore, also
to ignore all rows and columns that correspond to the first vertex in the respective matrices. To
this end, recall that we denote by M
ˇthe matrix obtained from Mby deleting the first row and
column and by v
ˇthe vector obtained from vby deleting the first component. In particular, we
denote by φ
ˇ=(φv)v=v2,...,vnthe (n1)-dimensional vector that is obtained from some other vector
φ=(φv)vVRnby deleting the first component corresponding to the vertex v1. Additionally, we
denote by Γ1the incidence matrix without the first row.
The support function λ↦→S(λ) is piecewise constant. Hence, for all λ00, where the support
does not change (i.e., where the support function is continuous), there is an open set U[0,)
containing λ0such that the support is constant on U, i.e., S(λ)=S(λ0) for all λU. For the
remainder of the proof, assume we are given a fixed value λ0with these properties. We de-
fine the coefficients se:=1 if eS(λ0) and se:=0 and encode the support with the matrix S:=
diag(se1,...,sem).
The proof is based on the following idea: We define a function gthat maps a triplet of flow x,
potential φ, and parameter λto the slack of the equalities in the KKT-conditions from Theo-
rem 3.1 such that every triplet (x,φ,λ) that is mapped to zero by gmust contain a minimum cost
flow by the optimality conditions from Theorem 3.1. Using the implicit function theorem, we
44 3.5. Minimum Cost Flows with Parametric Demand
then obtain a differentiable function mapping λto the minimum cost flow and the optimal po-
tential. We then prove that these functions coincide with the minimum cost flow function and
the optimal potential function.
We begin by defining the function
h:RmRm,x↦→h(x)=(︁he(xe))︁eEwith he(xe) :={︄fe(xe) if eS(λ0),
xeif eS(λ0).
We further define the coefficients ae:=f
e(xe) if eS(λ0) and ae:=1 otherwise. Then, the Jaco-
bian matrix of the function his A:=diag(ae1,...,aem). Consider the function
g:Rm×Rn1×RRm+n1: (x,φ
ˇ,λ)↦→(︄h(x)SΓ
1φ
ˇ
Γ1xb
ˇ(λ))︄.
Claim. Let λR0be some parameter value with S(λ)=S(λ0). Assume that xRmand φRn
with φv1=0 satisfy
g(x,φ
ˇ,λ)=0. (3.9)
Then xis a minimum cost flow for parameter λwith optimal potential φ. In particular, x
ˆ(λ)=x
and π(λ)=φ.
Proof of the claim. It is easy to see that the last nrows of Eq. (3.9) imply Γ1x=b
ˇ(λ), i.e., xsatisfies
the flow conservation for all vertices but v1. But since the vector b(λ) sums to zero, this also
implies that Γx=b(λ), i.e., xis indeed a flow for demand b(λ).
For every edge e=(v,w)S(λ0) the corresponding e-th row of Eq. (3.9) is equivalent to
fe(xe)se(φwφv)=0. For every edge e=(v,w)S(λ0) the corresponding e-th row in Eq. (3.9)
is equivalent to xese(φwφv)=0. Hence, Eq. (3.9) is equivalent to
fe(xe)=φwφvif e=(v,w)S(λ0),
xe=0 if e=(v,w)S(λ0).
The first part implies that the flow xsatisfies the optimality conditions from Theorem 3.1 on the
subgraph G=(V,S(λ0)) induced by the support edges. Since the minimum cost flow does not
change if all non-support edges are removed and the minimum cost flow is unique, this implies
that the flow xcoincides with the minimum cost flow x
ˆ(λ) on G. Further, we know that for all
non-support edges, xe=0=x
ˆe(λ). Hence, the vector xand the minimum cost flow x
ˆ(λ) coincide.
Since π(λ) is an optimal potential for the minimum cost flow x
ˆe(λ), we have πv1(λ)=0=φv1
and, additionally, πw(λ)πv(λ)=fe(x
ˆe(λ)) =fe(xe)=φwφvfor every support edge e=(v,w)
S(λ0). Hence, the potentials π(λ) and φhave the same value at the vertex v1and their potential
differences coincide for all support edges. Since the support edges form a connected subgraph
by Lemma 3.6,π(λ)=φfollows.
The Jacobian of the function gis
Jg=(︄ASΓ
10
Γ10b
ˇ(λ))︄
Chapter 3. Minimum Cost Flows 45
with the submatrices
Jg,(x,φ
ˇ)=(︄ASΓ
1
Γ10)︄and Jg,λ=(︄0
b
ˇ(λ))︄.
Since Ahas full rank, the submatrix Jg,(x,φ
ˇ)is non-singular if and only if Γ1A1SΓ
1=Γ1CλΓ
1=
L
ˇis non-singular (see, e.g., Theorem 8.5.11 in Harville [54]), where L
ˇis the submatrix without the
first row and column of the Laplacian matrix Lλ:=ΓCλΓ. The weights cλ0(λ) are positive for all
eS. Thus, by Proposition 2.2 and Lemma 3.6,L
ˇλ0and therefore also Jg,(x,φ
ˇ)are non-singular.
The inverse of Jg,(x,φ
ˇ)at λ=λ0is
J1
g,(x,φ
ˇ)=(︄A1A1SΓ
1L
ˇ1
λ0Γ1A1A1SΓ
1L
ˇ1
λ0
L
ˇ1
λ0Γ1A1L
ˇ1
λ0)︄
and the implicit function theorem yields the existence of an open set Uλ0such that there exist
continuous and differentiable functions x:URmand φ
ˇ:URnsuch that g(x(λ),φ
ˇ(λ),λ)=0
for all λU. By the chain rule, the explicit derivatives are
d
dλ(︄x(λ)
φ
ˇ(λ))︄λ=λ0=J1
g,(x,φ
ˇ)Jg,λ=(︄A1SΓ
1L
ˇ1
λ0b
ˇ(λ0)
L
ˇ1
λ0b
ˇ(λ0))︄=(︄Cλ0Γ
1L
ˇ1
λ0b
ˇ(λ0)
L
ˇ1
λ0b
ˇ(λ0))︄.
If we define λ↦→ φ(λ) to be the function that maps to a vector with a first component that is
constant zero and all other components are φ
ˇ(λ), then we can rewrite the derivatives from above
as
d
dλ(︄x(λ)
φ(λ))︄λ=λ0=(︄Cλ0ΓL
λ0b(λ0)
L
λ0b(λ0))︄.
With the claim from above, we get that the function λ↦→x(λ) coincides with the minimum cost
flow function λ↦→x
ˆ(λ) onUwhile the function λ↦→φ(λ) coincides with the shortest path poten-
tial function λ↦→π(λ). This concludes the proof.
Theorem 3.13 offers important structural insights of the minimum cost flow function and the
optimal potential function. The behavior of the optimal potential function π(λ) and the mini-
mum cost flow function x
ˆe(λ) is governed by the weighted Laplacian matrix Lλ. As optimal po-
tentials and the minimum cost flow are closely connected via the optimality conditions from
Theorem 3.1 the derivative of the minimum cost flow function is a only a linear transformation
of the derivative of the optimal potential. The Laplace weights ce(λ) depend on the support S(λ)
and the derivative of the marginal cost. Overall, we see that the minimum cost flow function and
the optimal potential function solve the differential equation from Eq. (3.8).
We note that Eq. (3.8) holds also true for the undirected minimum cost flows. In this case,
the support is trivial: By Corollary 3.7 all edges are active for every minimum cost flow. Thus, the
derivatives from Eq. (3.8) are independent of the support in this case. If, further, the marginal
costs are linear, then the differential equation in Eq. (3.8) becomes trivial since the derivatives
are constant in this case. Hence, if we consider the undirected minimum cost flow problem with
quadratic costs (and, thus, linear marginal costs) the solution will always be just a linear func-
tion. This particular setting corresponds exactly to the setting of electrical flows and will be the
foundation of our algorithms that we describe in Chapters 4and 5.
46 3.5. Minimum Cost Flows with Parametric Demand
3.5.2 Derivative flows and potentials
The derivatives of the minimum cost flow function and the optimal potential funtion also exhibit
an interesting structure: The derivative of the flow is an undirected minimum cost flow in the
subgraph of active edges and the derivatives of the potentials are the optimal potentials for this
flow. In order to show this, let λ0 be some fixed parameter for which the derivatives from
Eq. (3.8) exist. Denote by GS:=(V,S(λ)) the subgraph of Gcontaining only the active edges from
the support and define
ae:={︄f
e(x
ˆe(λ)) if f
e(x
ˆe(λ)) exists,
1 otherwise
for all eS(λ) in this graph. Let Abe a diagonal matrix containing the coefficients ae. Then,
consider the undirected minimum cost flow problem
min 1
2xAx
s.t. ΓSx=b(λ)
(3.10)
where ΓSis the incidence matrix of the graph GS.
Theorem 3.14. For fixed λ0such that the derivatives from Eq. (3.8)exist, let x:=(︁d
dλx
ˆe(λ))︁eS(λ)
be the derivative of the flow restricted to the active edges and let π:=d
dλπ(λ)be the derivative of
the potentials. Then, xis the unique optimal solution of the minimum cost flow problem from
Eq. (3.10)with optimal potentials π.
Proof. By definition of the pseudo inverse L
λwe know that LλL
λis the projection on the subspace
of vectors with zero-sum. Thus,
Γd
dλx
ˆ(λ)=ΓCλΓL
λb(λ)=LλL
λb(λ)=b(λ),
i.e, d
dλx
ˆ(λ) is a flow for demand b(λ). Additionally, Eq. (3.8) implies for every eS(λ) that
aex
e=ae
d
dλx
ˆe(λ)=ae(︂ce(λ)(︂d
dλπw(λ)d
dλπv(λ))︂)︂=π
wπ
v.
Thus, by Corollary 3.7 the vector xis the optimal solution of the minimum cost flow problem
from Eq. (3.10) with optimal potentials π. Since the objective is strictly convex, xis also the
unique solution.
For fixed λ, the derivative of the minimum cost flow function is itself an undirected minimum
cost flow for quadratic cost functions. Therefore, we can also interpret this derivative flow as an
electrical flow in an electrical network with linear resistances ae. We discuss the interpretation of
minimum cost flows as electrical flows in more detail in the next chapter. For now, we will state
two properties of the derivative flows that are also known in the realm of electrical flows: Thom-
sons principle states that an electrical flow minimizes the dissipated energy (i.e., it states that an
electrical flow is indeed a minimum cost flow). Rayleighs monotonicity law postulates that the
overall effective resistance of an electrical network (corresponding to the term (︁b(λ))︁L
λb(λ))
Chapter 3. Minimum Cost Flows 47
is monotone in the resistance values (corresponding to the inverses 1
aeof the values aedefined
above) of the edges. For further reference and another derivation of these laws using Markov
chains see Doyle and Snell [30]. In our context, we can formulate these two laws as follows.
Corollary 3.15 (Thomsons principle).Let ybe some flow with support S(λ)for demand b(λ).
Then,
(︂d
dλx
ˆ(λ))︂A(︂d
dλx
ˆ(λ))︂yAy.
Proof. This follows immediately from Theorem 3.14.
Corollary 3.16 (Rayleighs monotonicity law).Let a
˜ebe coefficients with a
˜eaefor all e S(λ)
and ae=0otherwise. Let c
˜e:=1
aefor e S(λ)and c
˜e=0for e S(λ). Let C
˜:=diag(︁c
˜e1,...,c
˜em)︁.
Then
(︁b(λ))︁L
λb(λ)(︁b(λ))︁L
˜b(λ),
where L
˜is the pseudo inverse of the matrix L
˜:=ΓC
˜Γ.
Proof. Denote by A
˜:=diag(︁a
˜e1,...,a
˜em)︁. From Theorem 3.14 we know that x:=(︁d
dλx
ˆe(λ))︁eE
is a flow for demands b(λ). Further, we define the vector y:=C
˜ΓL
˜b(λ). Then, ye=0 for
eS(λ) and Γy=ΓC
˜ΓL
˜b(λ)=b(λ), i.e., yis a flow for demand b(λ) with support S(λ). By
definition, CλA=C
˜A
˜=S:=diag(︁se1,...,sem)︁, where se=1 if eS(λ) and se=0 if eS(λ). Note
that Sd
dλx
ˆ(λ)=d
dλx
ˆ(λ) and Sy =y. Hence, we obtain
(︁b(λ))︁L
λb(λ)=(︂d
dλx
ˆ(λ))︂ΓL
λb(λ)=(︂d
dλx
ˆ(λ))︂SΓL
λb(λ)=(︂d
dλx
ˆ(λ))︂Ad
dλx
ˆ(λ)
Cor. 3.16
yAy =ySΓL
˜b(λ)=(︁Γy)︁L
˜b(λ)=(︁b(λ))︁L
˜b(λ).
Example. Consider the example from the last subsection defined in Fig. 3.3. Fig. 3.4a depicts
the subgraphs containing the active edges and the derivate flows and potentials for the fixed
parameter values λ=1
2,λ=7
2,λ=8. For example, for λ=1
2the support consist of the edges
e1,e3, and e5. Since all edge costs are quadratic functions, the derivatives of the marginal costs
are constant and, hence, the coefficients aeare constants independent of the flow. Therefore,
the edge costs of the undirected minimum cost flow for the derivative defined in Eq. (3.10) are
the same for all parameter values. Fig. 3.4b shows the derivative flows and potentials. Although
the original minimum cost flow problem was directed, the derivatives are undirected flows, as we
can see in the second example. The derivative flow d
dλx
ˆe3(λ)=1
5is negative, meaning that the
minimum cost flow x
ˆe(λ) is decreasing for this parameter value. Since the original problem has
quadratic cost the Laplacian matrix Lλdepends only on the support but not on the derivatives of
the marginal costs f
e(x) as the latter is constant. Hence, the derivatives are piecewise constant
for this example and there are overall only the three different derivatives shown in Fig. 3.4b.
3.5.3 Derivative of the objective function
In addition to information about the evolution of the minimum cost and optimal potential func-
tion, we can also use the derivatives from Theorem 3.13 in order to obtain insights about the
dependence of the minimum cost function C(λ) on λ.
48 3.5. Minimum Cost Flows with Parametric Demand
s
v1
v2
t
2x2
x2
2x2
s
v1
v2
t
2x2
x2
x2
x2
2x2
s
v1
v2
t
2x2
x2
x2
2x2
(a) Subgraph GS=(V,S(λ)) of active edges with cost functions Fe(x)=aex2for parameter values
λ=1
2,7
2, and λ=8.
0
2
3
5
1
0
1
0
1
0
4
5
3
5
7
6
2
5
3
5
1
5
3
5
2
5
0
1
1
2
3
2
1
2
1
2
0
1
2
1
2
(b) Derivative flows d
dλx
ˆ(λ) and potentials d
dλπ(λ) for parameter values λ=1
2,7
2, and λ=8. Flow
on edges, optimal potentials next to the vertices.
Figure 3.4: Derivative minimum cost flow problems and derivative flows d
dλx
ˆ(λ) and potentials
d
dλπ(λ) for parameters λ=1
2,λ=7
2,λ=8 for the minimum cost flow problem from Fig. 3.3.
Theorem 3.17. If all marginal cost functions feare differentiable with positive derivative, then the
minimum cost function λ↦→C(λ)is differentiable for all λ0with the derivative
d
dλC(λ)=(︁b(λ))︁π(λ).
Additionally, the minimum cost function λ↦→C(λ)is twice differentiable for all λ0where the
support does not change and the second derivative is
d2
d2λC(λ)=(︁b(λ))︁L
λb(λ).
Proof. By Theorem 3.13 the flow function λ↦→x
ˆ(λ) is differentiable for all λ0 where the support
does not change. Thus, the same holds for λ↦→C(λ)=∑︁eEFe(x
ˆe(λ)) as well. With the chain rule,
we compute
d
dλC(λ)=d
dλ(︂∑︂
eE
Fe(x
ˆe(λ)))︂=∑︂
eE
fe(x
ˆe(λ)) d
dλx
ˆe(λ).
Since ce(λ)=0 for all edges eS(λ), we have d
dλx
ˆe(λ)=0 for all eS(λ). For edges eS(λ), we
have fe(x
ˆe(λ)) =πw(λ)πv(λ) by definition of the support. Hence,
d
dλC(λ)=∑︂
e=(v,w)E(︁πw(λ)πv(λ))︁d
dλx
ˆe(λ)=(︁Γπ(λ))︁d
dλx
ˆ(λ)
=(︁π(λ))︁d
dλΓx
ˆ(λ)=(︁π(λ))︁d
dλb(λ)=(︁π(λ))︁b(λ).
Chapter 3. Minimum Cost Flows 49
This proves the differentiability of λ↦→ C(λ) for all λ0 where the support does not change.
Recall that the support function is piecewise constant, hence for every λ0, where the support
changes (i.e., λ↦→S(λ) is not continuous), there exist an open interval Iλ0such that the deriva-
tive d
dλC(λ) exists for all λI. We observe that the limit limλλ0
d
dλC(λ)=(︁π(λ0))︁b(λ0) exists
for all λsince the shortest path potentials π(λ) are continuous and the demand function is dif-
ferentiable everywhere. Since the minimum cost function C(λ) is also continuous in λit follows
that λ↦→C(λ) is differentiable for all λ0. Applying Theorem 3.13 once more we obtain that
d
dλC(λ) itself is differentiable for all λ0 where the support does not change with the derivative
d2
d2λC(λ)=(︁b(λ))︁Lλb(λ).
As an immediate corollary of Theorem 3.17 we obtain that C(λ) is convex.
Corollary 3.18. Assume that b(λ)=0for almost all λ0. Then, the minimum cost function λ↦→
C(λ)is strictly convex.
Proof. By Theorem 3.17, the flow cost function is differentiable for almost all λ0. The definition
of the pseudo-inverse implies
d2
d2λC(λ)=(︁b(λ))︁L
λb(λ)=(︁b(λ)
ˇ)︁L
ˇ1
λb(λ)
ˇ.
By Proposition 2.2 the matrix L
ˇ1
λis positive definite. Then, by assumption, (︁b(λ)
ˇ)︁L
ˇ1
λb(λ)
ˇ>
0. Thus, for almost all λ0 the second derivative of C(λ) exists and is positive. Hence, the
continuous function C(λ) is strictly convex.
If the demand function is linear and the edge costs are non-decreasing, then we can also
prove that the objective function C(λ) is non-decreasing in the parameter λ.
Corollary 3.19. Assume that the demand function is linear, i.e., b(λ)=λb. and that the edge cost
functions Feare non-decreasing. Then, the minimum cost function λ↦→C(λ)is non-decreasing.
Proof. If the edge costs are non-decreasing then fe(x)0 for all edges eE. Since the demand
function is assumed to be linear, we get with Theorem 3.13 and the fact that x
ˆ(λ) is an flow for
demand b(λ) that
d
dλC(λ)=bπ(λ)=1
λ(︁Γx
ˆ(λ))︁π(λ)=1
λ(︁x
ˆ(λ))︁Γπ(λ)
=1
λ∑︂
eE(︁πw(λ)πv(λ))︁x
ˆe(λ)=1
λ∑︂
eE
fe(x
ˆe(λ))x
ˆe(λ)0
for all λ>0, where we used Theorem 3.1 in the last step.
50 3.5. Minimum Cost Flows with Parametric Demand
51
4Parametric Computation of
Electrical Flows
As an important intermediate step towards the parametric computation of minimum cost flows
we consider electrical flows. More precisely, in this chapter, we study undirected minimum cost
flows with piecewise quadratic cost functions, formalized in Eq. (4.1) below. This setting can also
model different applications, such as water or gas networks by approximating the edge costs of
these problems by piecewise quadratic cost functions. The approximation of edge costs with
piecewise quadratic cost functions is described in more detail in Chapter 5. Since undirected
minimum cost flows with quadratic edge costs can be interpreted as electrical flows in linear
electrical resistor networks, as we describe in more detail subsequently, we refer to this setting
throughout this thesis as the electrical flow setting.
Consider an electrical circuit. That is a combination of electrical components E, such as re-
sistors, motors, batteries, etc., that form a network. When a constant external voltage, i.e., a
constant potential difference in the electromagnetic field, is applied to such networks, electric
charges move through the conductive branches of the electrical circuit following the potential dif-
ferences in the field. The flow rate xe, i.e., the rate of charges traversing the electrical components
eEper time unit, is called electrical flow or electrical current. In particular, since we assume that
the voltages are unchanged, we are considering a directed current, opposed an alternating cur-
rent, where electrical flows and potentials oscillate. The electrical flow is typically assumed to be
constant over time (if the voltage induced by the electromagnetic field is unchanged) and satisfy-
ing Kirchhoffs law Γx=b, where Γis the incidence matrix encoding the underlying graph of the
electrical network and bcontains the inflow/outflow rates of possible external electrical currents.
An electrical flow is therefore also a mathematical flow as defined in Section 2.3.
The electrical components of the circuit are characterized by a current-voltage-characteristic
or potential loss function. In our model, this is a function femapping an electrical flow xeto
voltage ue, i.e., a difference in electrical potential. The latter is the amount of potential energy
per electric charge needed to maintain an electrical flow xethrough the component. Thus, the
current-voltage-characteristic models how much energy is needed per electric charge to main-
tain a certain electrical flow. Often, this characteristic is modeled as a linear function fe(xe)=
rexe, where we call the slope reresistance of the component eE. In this particular case, the
current-voltage-characteristic represents Ohms law U =R·I, stating that the voltage Uis the
product of resistance Rand electrical current I. We call a characteristic function that satisfies
fe(0) =0homogeneous (in particular, linear characteristics fe(xe)=rexeare homogeneous) and
52
all other characteristics inhomogeneous. Homogeneous characteristics model passive compo-
nents (e.g. resistors or motors) since a non-zero voltage (i.e. energy) is needed to maintain an
electrical flow. Inhomogeneous characteristics model active components (e.g. generators or bat-
teries) as they can sustain a non-zero electrical flow without an external potential difference.
Finally, we assume that an electrical flow minimizes the total power dissipation in the net-
work, i.e., the total energy per time unit needed to maintain the electric flow. The current-voltage-
characteristic models the voltage, i.e., energy per charge, depending on the flow, i.e., charges per
time unit. Therefore, the integral Fe(xe) :=∫︁xe
0fe(s)ds models the power dissipation for an elec-
trical component eEgiven an electrical flow. Therefore, an electrical flow is a solution to the
minimization problem
min ∑︂
eE
Fe(xe)=∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b.
(4.1)
Hence, an electrical flow is an undirected minimum cost flow with respect to the cost functions
Fe(xe)=∫︁xe
0fe(s)ds. In order to be aligned with our previous terminology, we also refer to the
current-voltage-characteristic feas the marginal cost and call the power dissipation function Fe
the edge cost function. We also note that we use the same convention as in the previous chapter
that the vector bcontains demand values implying that flow travels from lower to higher poten-
tials, which might be unintuitive for physical flows. As for the minimum cost flow problem, we
also consider a parametric variant, the parametric electrical flow problem, where the demand
vector bis a function λ↦→b(λ) depending on the one-dimensional parameter λ.
Of particular interest is the special case of linear resistances, i.e., of characteristics of the form
fe(xe)=rexe. Then the parametric electrical flow problem simplifies to
min 1
2xRx
s.t. Γx=b(λ),
where R=diag(︁re1,...,rem)︁. Usually, resistances are assumed to be positive, i.e., f
e(xe)=re>0.
Since the problem is undirected, the supports of the solution are trivial, i.e., S(λ)=Efor all λ0.
Therefore, the characterization of derivatives of the minimum cost flow functions from Theo-
rem 3.13 yields the differential equations
d
dλπ(λ)=Lb(λ) and d
dλx
ˆ(λ)=CΓLb(λ)
for the electrical flow x
ˆ(λ) and the optimal (electrical) potentials π(λ), where the matrices C=R1
and L=ΓCΓare independent of λ. Therefore, we can solve the differential equations in this
special case and obtain
π(λ)=Lb(λ) and x
ˆ(λ)=CΓLb(λ).
Hence, the flow and potential functions x
ˆ(λ) and π(λ) solving the parametric electrical flow prob-
lem are just linear transformations of the demand function b(λ). This insight constitutes the main
building block of the combinatorial algorithm for the computation of electrical flow for networks
with piecewise linear marginal cost that we develop in this chapter.
Chapter 4. Parametric Computation of Electrical Flows 53
Chapter Outline
The aim of this chapter is to develop an algorithm that computes parametric electrical flows (i.e.,
parametric minimum cost flows in undirected networks) with piecewise linear current-voltage-
characteristics (i.e., with piecewise linear marginal costs). We will refer to this algorithm also
as the electrical flow algorithm. We begin by formalizing the setting with piecewise linear re-
sistances and characterizing (parametric) electrical flows via optimal potentials in Section 4.1.
Then, we develop the core of our algorithm for the simplest setting in Section 4.2. In this basic
setting, we only consider electrical networks with homogeneous, piecewise linear, and contin-
uous marginal costs. Further, we assume that the instances are non-degenerate, meaning that
the breakpoints of the cost functions are chosen such that all pivoting steps of our basic method
are uniquely defined. In the subsequent section, Section 4.3, we discuss degeneracy in more de-
tail and extend our algorithm with a lexicographic rule that is capable of handling degenerate
instances. Sections 4.4 and 4.5 are concerned with further extensions of our algorithm that also
allow for non-homogeneous and discontinuous marginal cost, as well as piecewise linear and
affine demand functions.
While the algorithm, in particular the basic variant, is quite intuitive, its details are rather
technical and require a certain amount of definitions and notations. In order to assist the reader
with the variants of the algorithm, Sections 4.2 to 4.5 begin with a summary of the setting con-
sidered and the extension of the algorithm presented in the respective section. Additionally, we
provide a short overview of the most important notions and formulas of the basic variant of the
algorithm in Appendix A.2. Further, Section 4.8 contains a detailed example of the basic algo-
rithm with use of the lexicographic rule that may be helpful for understanding the algorithm.
In Section 4.6, we present a way to alter the core of the algorithms. While the basic variant of
the algorithm presented in Section 4.2 is based on linear algebra and Laplacian matrices in par-
ticular, our alternative variant presented in Section 4.6 is based on solving a quadratic program.
This variant is in particular interesting for the complexity analysis of our algorithm in Section 4.7.
In this section we prove that the algorithm is efficient in the sense that it runs in output polyno-
mial time, i.e., its runtime is a polynomial in the input size and the size of the produced output
electrical flow functions. In particular, the runtime depends on the number of breakpoints of the
output functions. This number can be exponential in the size of the instance as we show with an
explicit example in Section 4.7.2.
Bibliographic Information The results of this section are joint work with Max Klimm. The first
description of the electrical flow algorithm with a focus on the application to Wardrop equilibria
appeared as an extended abstract in the Proceedings of the Thirtieth Annual ACM-SIAM Sympo-
sium on Discrete Algorithms, 2019 [71]. An extended version also covering the more general min-
imum cost flow setting titled Parametric Computation of Minimum Cost Flows with Piecewise
Quadratic Costs appeared in Mathematics of Operations Research [73].
54 4.1. Electrical Flows with Piecewise Linear Resistances
τe,1 =−∞ x
τe,4 =
σe,1 =−∞
fe(x)
σe,4 =
ae,1x+be,1
ae,2x+be,2
ae,3x+be,3
τe,2 τe,3
σe,2
σe,3
Figure 4.1: A piecewise linear marginal cost function with two breakpoints.
4.1 Electrical Flows with Piecewise Linear Resistances
We begin our analysis by characterizing electrical flows as well as the corresponding optimal
potentials for networks with continuous, strictly increasing, piecewise linear current-voltage-
characteristics, i.e., for networks where the marginal cost function feof every edge is contin-
uous, strictly increasing, and piecewise linear. Formally, we assume that for every edge eE
there is a set Te:={1,...,t
¯e} where every tTecorresponds to one of the function parts of the
piecewise linear function fe. Put differently, we assume every function fehas t
¯e+1 breakpoints
τe,tR{−∞,},t{1,...,t
¯e+1} such that −∞=τe,1 <τe,2 <···<τe,t
¯e<τe,t
¯e+1=. Further for
every function part tTethere are constants ae,t>0 and be,tR1such that fe(x)=ae,tx+be,tfor
all x[τe,t,τe,t+1]. Let σe,t:=fe(τe,t) the value of feat every breakpoint τe,twith the convention
that fe(−∞)=−∞ and fe(+∞)=+∞. Further, let T
¯:=Te1×···×Tem. See Fig. 4.1 for an exam-
ple of a piecewise linear marginal cost function with three function parts Te:={1,2,3} and two
proper breakpoints τe,2,τe,3 and two artificial breakpoints τe,1 =−∞and τe,4 =. We use vector
notation and denote by f:RmRmthe function that maps any flow vector xRmto the vector
of all marginal costs f(x) :=(︁fe(xe))︁eE.
We proceed with solving the electrical flow problem from Eq. (4.1) with piecewise linear mar-
ginal costs. Since we assume that the marginal costs are strictly increasing, the objective function
is strictly convex and therefore there exists a unique electrical flow x
ˆ. Corollary 3.7 implies that
x
ˆRmis the unique electrical flow if and only if there exists a potential vector φsuch that
Γx
ˆ=b(4.2a)
and f(x
ˆ)=Γφ. (4.2b)
1For ease of exposition, the notation is slightly overloaded as we use the symbol bfor demands bvat the vertices as
well as for the offsets be,teof the piecewise linear cost functions. The two cases can be distinguished by the subscript.
Further, the offsets be,teare rarely used and, in particular, all vectors brefer to demand values.
Chapter 4. Parametric Computation of Electrical Flows 55
The optimal potential is non-unique. We therefore restrict ourselves to the potential space
Π:={φRn|φv1=0}.
Given the optimal flow x
ˆ, Eq. (4.2b) implies that the potential differences on every edge are fixed.
Hence, there is an unique optimal potential πΠsatisfying the optimality conditions from
Eq. (4.2).
4.1.1 Characterization of electrical flows
For continuous, stricly increasing, piecewise linear marginal cost, the electrical flow problem
from Eq. (4.1) has a unique solution. In this subsection, we develop an explicit form for this
unique solution. In order to express the electrical flow explicitly, we need to find the unique
solution of the piecewise linear system from Eq. (4.2). First, we observe that that the function f
mapping a flow to the marginal costs of the edges has an inverse f1since it is componentwise
strictly increasing. Assume, we are given some vector y=(︁ye)︁eE. Then, for every edge eE,
there are numbers teTesuch that σe,teyeσe,te+1. Therefore, we have f1
e(ye)=1
ae,teyebe,te
ae,te.
Let t:=(︁te)︁eET
¯and define Ct:=diag(︂1
ae1,te1
,..., 1
aem,tem)︂and dt:=(︂be,te
ae,te)︂eE. Then,
f1(y)=Ctydt.
In order to solve Eq. (4.2b) explicitly for x
ˆe, we subdivide the potential space Πinto regions that
we define as follows. Recall, that the vector γedenotes the column of the incidence matrix corre-
sponding to the edge eE. For any tT
¯we define the polytope
Rt:={︁φΠ|σe,teγ
eφσe,te+1for all edges eE}︁
that we refer to as region corresponding to t. Note, that for some tT
¯the region Rtmay be empty
if the inequalities defining the region are inconsistent. Then, given some potential φΠ, the
unique solution of Eq. (4.2b) is
x=f1(︁Γφ)︁=CtΓφdt.
This implies two things. First, given any optimal potential φRt, we can compute the corre-
sponding flow with the preceding formula. Second, by inserting this flow into Eq. (4.2a), we see
that every optimal potential must satisfy the equality
Ltφ=b+Γdt, (4.3)
where Lt=ΓCtΓis the weighted Lapacian matrix with the positive weights 1
ae,te,eE. By Propo-
sition 2.2 we know that Lthas rank n1 and the unique solution in Πof Eq. (4.3) is
π=L
t(︁b+Γdt).
The electrical flow therefore is
x
ˆ=CtΓπdt=CtΓL
t(︁b+Γdt)︁dt.
56 4.1. Electrical Flows with Piecewise Linear Resistances
s
v
t
e1
fe1(x)={︄x x <3
5x12 x3
e2
fe2(x)={︄x x <2
3x4x2
e3
fe3(x)={︄x x <1
4x3x1
(a) Graph with marginal cost functions.
πt
-1 1 2 3 4 5 6 7
-1
1
2
3
4
πv
R(1,2,2)
R(2,2,2)
R(2,1,2)
R(2,1,1)
R(1,1,1)R(1,1,2)
R(1,2,1)
γe1
γe3
γe2
(b) Regions in the potential space Π.
Figure 4.2: (a) A graph with piece-wise linear marginal cost functions. (b) The potential space
Πfor fixed πs=0. The breakpoints of the cost functions induce boundary hyperplanes (dashed
lines, with normal vectors γe) that subdivide the space into regions.
Note that the above formula depends on the region t. Thus, in order to compute the electrical
flow, we first need to find the correct region Rt. Given a region Rt, we can easily check if this
is indeed the region of the optimal potential. By construction, a region Rtcontains the optimal
potential πΠif and only if π=L
t(︁b+Γdt)Rt.
Example. Consider the network depicted in Fig. 4.2a. We are given a graph with three vertices
and three edges and piecewise linear marginal cost functions. Every marginal cost function fe
has three breakpoints (including the artificial breakpoints at −∞ and ) and two function parts
Te={1,2}. Therefore, there are eight possible vectors tT
¯={1,2}3and also eight regions in the
potential space. The regions are depicted in Fig. 4.2b. Note, that only seven regions can be seen
as one of the regions is empty.
As a particular example, consider the region Rtfor t=(1,1,2). Intuitively, this region con-
tains all potentials that belong to flows with xe13, xe22 and xe31. Formally, the region is the
set
R(1,1,2)={︁φ=(0,φv,φt)Π| −∞ φv3,−∞ φtφv2,1 φt }︁.
From the coefficients of the marginal costs we obtain the matrix C(1,1,2)=diag(︁1,1, 1
4)︁and the
vector d(1,1,2)=(︁0,0,3
4)︁. Thus, the Laplacian matrix of this region and its pseudo inverse are
L(1,1,2)=
5
411
4
1 2 1
1
415
4
and L
(1,1,2)=
0 0 0
05
62
3
02
34
3
.
Assume we are given the demand vector b=(︁7
2,1, 5
2)︁. Then the optimal potential in this region
for this demand vector is π=L
(1,1,2)(︁b+Γd(1,1,2))=(0,2,3). Since this potential is indeed in the
region R(1,1,2), we know that it is the optimal potential of the electrical flow which we compute
as x
ˆ=C(1,1,2)Γπd(1,1,2)=(︁2,1, 3
2)︁.
Chapter 4. Parametric Computation of Electrical Flows 57
4.1.2 Characterization of parametric electrical flows
In the previous subsection we have developed explicit formulas for the optimal potential and
the electrical flow inside regions in the potential space that enable us to check whether a given
region Rtcontains the optimal potential for a given demand vector band, if this is the case, also
compute it explicitly. In this subsection we consider the parametric electrical flow problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=λb,
(4.4)
where the marginal cost functions are continuous, strictly increasing, piecewise linear functions
and the demand is a linear function depending on the one-dimensional parameter λ. We can use
the insights from the previous subsection to characterize all optimal potentials for all parameters
λ0, i.e., the image of the optimal potential function π(R0)={π(λ)|λ0}. We also refer
to the function λ↦→ π(λ), whose image will turn out to be a piecewise linear curve inside the
potential space, as the solution curve in the potential space. Note that if we are given the solution
curve we can obtain the electrical flow function λ↦→x
ˆeby using the function f1and its explicit
representation inside the regions in the potential space from the previous subsection.
We can characterize all optimal potentials as follows. For every tT
¯define the set
Πt:={︁πRt|λ0 with Ltπ=λb+Γdt}︁
containing all potentials πthat are an optimal potential for some λ0. We refer to Πtas the
solution segment in region Rt. For every region, we distinguish three cases. If Πt=, we say the
region is infeasible. If |Πt|=1, i.e., the solution segment consists of exactly one potential, we say
the region is degenerate. If |Πt|>1, we say the region is feasible and non-degenerate. Additionally,
we say the parametric electrical flow problem from Eq. (4.4) is degenerate if there is at least one
degenerate region.
For every tT
¯we define by πt:=L
tbthe potential direction and by πt:=L
tΓdtthe poten-
tial offset in the region Rt. Then, with the definition of the region, we obtain
Πt:={︁πt+λπt|λ0 and σe,teγ
e(πt+λπt)σe,te+1for all edges eE}︁(4.5)
and see that the solution segment inside a region is a (possibly empty or degenerate) line segment
of the line πt+λπt,λ0 with direction πtand offset πt. Fig. 4.3 illustrates the solution curve
consisting of the line segments Πtfor the example from the previous subsection as well as the
corresponding electrical flow functions.
Theorem 4.1. The image of the solution curve function λ↦→π(λ)is the union of the solution seg-
ments of all regions Rt,tT
¯, i.e.,
π(R0)={π(λ)|λ0} =⋃︂
tT
¯
Πt.
Furthermore, for every region Rt, there are numbers λmin
tand λmax
tsuch that
Πt={︁πt+λπt|λ[λmin
t,λmax
t]}︁. (4.6)
58 4.1. Electrical Flows with Piecewise Linear Resistances
πt
1 2 3 4 5 6 7 8 9
-1
1
2
3
4
πv
R(1,2,2)
R(2,2,2)
R(2,1,2)
R(2,1,1)
R(1,1,1)R(1,1,2)
R(1,2,1)
γe1
γe3
γe2
π(1,1,2)
π(1,2,2)
π(1,2,2)
(a) Regions and solution curve π(·) in the potential space Π.
λmin
t2λmin
t3λmin
t4
xe1=xe2
xe3
(b) Electrical flow functions x(·).
Figure 4.3: The solution curve and the electrical flow function in the network from Fig. 4.2 for the
demand b=(bs,bv,bt)=(1,0,1), i.e., for s-t-flows. (a) The solution curve (thick line) inside
the potential space and regions with potential directions πt. (b) The electrical flow functions
for this example λ↦→ x(λ)=f1(Γπ(λ)).
Proof. The first part follows by construction: For every λ, the optimal potential π(λ) lies in some
region Rtand therefore belongs to the solution segment Πt. Conversely, every potential πvΠt
of any solution segment Πtis by definition the optimal potential of the electrical flow f1(Γπ)
for some parameter λand therefore contained in the image of the solution curve.
For the second part, consider a region Rtfor some tT
¯and define the values
λt(e) :=
σe,teγ
eπt
γ
eπtif γ
eπt>0,
σe,te+1γ
eπt
γ
eπtif γ
eπt<0,
−∞ otherwise,
and λt(e) :=
σe,te+1γ
eπt
γ
eπtif γ
eπt>0,
σe,teγ
eπt
γ
eπtif γ
eπt<0,
otherwise,
for all edges eEwith γ
eπt= 0. Solving the inequalities in Eq. (4.5) yields that
λmin
t:=max{︁max
eEλt(e),0}︁
λmax
t:=min
eEλt(e)
are the numbers such that Eq. (4.6) holds true. Note that λmin
t>λmax
tif the region is infeasible.
Chapter 4. Parametric Computation of Electrical Flows 59
4.2 Basic Algorithm for Electrical Flows
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
Assumptions
piecewise linear, continuous, strictly increasing marginals fe
Homogeneous marginals, i.e., fe(0) =0
Linear demand function b(λ)=λb
Instance is non-degenerate, i.e., |Πt|=1 for all tT
¯
In this section, we develop a basic algorithm that computes the solution curve λ↦→π(λ) and
the electrical flow function λ↦→x
ˆ(λ). This basic procedure is the foundation for all further meth-
ods that we develop. The method is based on an idea for a homotopy method for the computa-
tion of electrical flows for fixed demands introduced by Katzenelson [66] in 1965 and enhanced
by, among others, Fujisawa, Kuh, and Ohtsuki [45,46,87]. Although the setting for our algorithm
and the method proposed by Katzenelson are similar, the latter only seeks to solve an electrical
network, i.e., find one optimal potential for a given demand. Our algorithm however solves the
parametric problem described above. Further, Katzenelson only describes a high-level method
while we develop a detailed algorithm that can also handle more special cases, in particular de-
generate regions as we will see in the next subsection.
The method we describe in this section works for the most basic setting described at the be-
ginning of this section and will be enhanced in the following sections. It works as follows. We
start with the initial potential π0=0. Since we assume that the marginal costs are homogeneous,
i.e., fe(0) =0 for all eE,π0=0is the optimal potential for the flow f1(π0)=0, i.e., the electrical
flow for λ=0. We then determine the region t0such that π0t0. Next, we compute the solution
segment in the region Rt0with Theorem 4.1. The end of the solution segment Πt0lies in a new
region Rt1. We compute the solution segment Πt1in the new region and iterate this process until
we have computed all solution segments. We continue by describing these steps in more detail.
4.2.1 Initialization
Since we assume that the demand function b(λ) is linear the flow x0=0is feasible for λ=0. The
marginal costs are homogeneous, thus π0=0is an optimal potential for x0=0. By performing
binary search over the breakpoints of every marginal cost function we can find a vector t0T
¯
such that π0
wπ0
v=0[σe,te,σe,te+1] for every edge e=(v,w)Ein O(mlogt
¯) time, where t
¯=
maxet
¯eis the maximum number of breakpoints of any edge. Then, we set up the initial Laplacian
matrix Lt0and compute its generalized inverse L
t0.
4.2.2 Main loop
In every loop, we are given a feasible region Rtiand the generalized inverse of the Laplacian ma-
trix L
ticorresponding to this region. With the Laplacian matrix, we can compute the potential
offset πtiand the potential direction πti. With the offset and the direction, we obtain the values
λti(e),λti(e) defined in Theorem 4.1 for all edges and, finally, the values λmin
tiand λmax
ti. Note that
60 4.2. Basic Algorithm for Electrical Flows
we only need to store the offset and direction and the values λmin
tiand λmax
tito characterize the
solution segment Πticompletely.
In order to find the next region Rti+1we introduce the notion if neighboring regions. Two
regions Rt1,Rt2are considered to be neighboring if there is an edge eEsuch that t2=t1±ee,
where eeRmis the unit vector with the non-zero entry in the component corresponding to the
edge e. Thus, two regions are neighboring if the corresponding vectors t1,t2differ in only one
component corresponding to some edge eby exactly one. We call this edge boundary edge and
the breakpoint σt1,t2:=σe,t1
e+1if t2=t1+eeor σt1,t2:=σe,t1
e1if t2=t1eeboundary breakpoint.
By definition, two neighboring regions with boundary edge eare separated by the hyperplane
defined by γ
eπ=σt1,t2. Let
E
t:={︁eE|λmax
t=λt(e)<}︁
be the set of all edges that contribute to the minimum in the computation of λmax
t. Intuitively, the
edges in E
tinduce the boundaries at which the solution segment Πtends and the solution curve
continues behind this boundary. In the example described in Fig. 4.3 there is a unique boundary
edge for every feasible edge, e.g., the edge e2for the region R(1,1,2)—the solution segment of
this region ends in a hyperplane induced by the edge e2. If there is a unique boundary edge, the
algorithm can proceed in the corresponding neighboring region. If there is no boundary edge,
the solution segment can be extended infinitely in the region Rt. Only in the case of multiple
boundary edges it is not obvious in which region the algorithm should proceed. However, in a
non-degenerate instance, boundary edges are always unique.
Lemma 4.2. If the instance is non-degenerate, then |E
t|{0,1} for all tT
¯.
Proof. Assume that the instance is non-degenerate, i.e., |Πt|>1 for all feasible regions Rt. Fur-
ther, assume there is a region twith |E
t| > 1. Consider the potential π:=πt+λmax
tπt.
This potential is by definition an element of Πtand lies on the boundary to at least two other
regions Rt1,Rt2. These regions are also feasible since they contain π. By non-degeneracy, we
know that the solution segment in these two other regions are non-trivial line segments. Thus,
we have at least three non-trivial solution segments Πt,Πt1, and Πt2intersecting in π. But since
the potentials depend continuously on the parameter λ, this implies that there must be multiple
potentials for the same parameter λwhich is a contradiction to the uniqueness of the optimal
potential π(λ).
4.2.3 Pivoting
We have seen that every feasible region has either no or exactly one boundary edge in the non-
degenerate case. If there is no boundary edge, the solution segment can be extended to infinity
and the algorithm stops. Otherwise, we have to go to the next, neighboring feasible region that
is determined by the boundary edge eE
t. The following theorem shows how the Laplacian
matrices and potential directions of any two neighboring regions are connected and was also
stated in a similar form by Fujisawa and Kuh [45].
Chapter 4. Parametric Computation of Electrical Flows 61
Theorem 4.3. Let Rt1,Rt2be two neighboring regions with boundary edge e E. For this boundary
edge, let c:=1
ae,t2
e1
ae,t1
e
. Then,
(i) the pseudo inverse of the Lalacian in region Rt2is
L
t2=(︂Inc
1+cγ
eL
t1γe
L
t1γeγ
e)︂L
t1,
(ii) the potential directions of the regions satisfy sgn(︁γ
eπt1)︁=sgn(︁γ
eπt2)︁.
Proof. By definition of cwe have Ct2=Ct1+diag(0,...,0,c,0,...,0). Therefore, the Laplacian
matrix in the region Rt2is Lt2=ΓCt2Γ=Lt1+cγeγ
e. Considering the matrices and vectors
without first row and column we obtain likewise L
ˇt2=L
ˇt1+cγ
ˇeγ
ˇ
e. The submatrices of the
Laplacian are non-singular and the Sherman-Morrison formula (see, e.g., [53,104]) yields
L
ˇ1
t2=(︂Inc
1+cγ
ˇ
eL
ˇ1
t1γ
ˇe
L
ˇ1
t1γ
ˇeγ
ˇ
e)︂L
ˇ1
t1.
The definition of the pseudo inverse and γ
ˇ
eL
ˇ1
t1γ
ˇe=γ
eL
t1γeimply (i).
With the determinant identity det(In+vw)=1+wv(see, e.g., [54, Corollay 18.1.3]) we ob-
tain
det(L
ˇ1
t2)=det(︁In1+cγ
ˇeγ
ˇ
eL
ˇ1
t1)︁det(︁L1
t1)︁=(︁1+cγ
ˇ
eL
ˇ1
t1γ
ˇe)︁det(︁L1
t1)︁
and thus
γ
eπt2=γ
e(︂Inc
1+cγ
eL
t1γe
L
t1γeγ
e)︂L
t1b=1
1+cγ
eL
t1γe
γ
eL
t1b=det(︁L1
t2)︁
det(︁L1
t1)︁γ
eπt1.
Since the submatrices L1
t1and L1
t2are positive definite (ii) follows.
The formula from Theorem 4.3(i) provides an easy update formula for the pseudo inverse of
the Laplacian matrix when pivoting to the next region. As it only requires products of vectors in
Rnthe update can be performed in O(n2) time. By definition of neighboring regions, the next
region obtained by a pivoting step from a feasible region to the next region is feasible as well.
Further, Theorem 4.3(ii) implies that λmin
ti+1=λmax
tiwhen pivoting from one region Rtito the next
region Rti+1, i.e., the potential direction in the subsequent region is directed away from the last
boundary crossed.
4.2.4 Termination
By definition, the algorithm considers exactly one region Rtin every iteration. The next lemma
proves that every region is considered at most once implying that the algorithm stops after finitely
many iterations. Additionally, we see that the number of iterations depends on the number of
62 4.3. A Lexicographic Rule for Degenerate Instances
breakpoints of the output function λ↦→πv(λ). We analyze the runtime of the algorithm in Sec-
tion 4.7 in more detail; a detailed example for the basic method can be found in Section 4.8.
Lemma 4.4. The algorithm considers every region Rtat most once.
Proof. By the non-degeneracy assumption, we have λmax
t>λmin
tfor every feasible region Rt. For
any two regions Rti,Rti+1considered in two subsequent iterations λmin
ti+1=λmax
ti. Thus, λmin
tis
strictly increasing with the number of iterations and no region can be considered twice.
4.2.5 Pseudocode
Algorithm 2: Basic Algorithm for electrical flows
Input: Directed graph Gwith piecewise linear, homogeneous, strictly increasing, and
continuous marginal cost functions fe:RR, demand vector b
Output: Piecewise function x
ˆ:R0Rms.t. x
ˆ(λ) is an electrical flow for all λ0
choose tT
¯such that 0Rt;
compute L
t;
λmin
t0;
repeat
compute πt,πt, and λmax
tfor t;
x
ˆ(λ)CtΓ(πt+λπt)dt;
eunique boundary edge in E
t;
tt+sgn(γ
eπt)ee;
L
t(︂Inc
1+cγ
eL
tγeL
tγeγ
e)︂L
t;
λmin
tλmax
t;
until λmax
t=;
return x
ˆ(λ);
4.3 A Lexicographic Rule for Degenerate Instances
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
Assumptions
piecewise linear, continuous, strictly increasing marginals fe
Homogeneous marginals, i.e., fe(0) =0
Linear demand function b(λ)=λb
Extension: Lexicographic rule for degenerate instances
The basic algorithm presented so far works only for non-degenerate instances. Degeneracy
occurs if the solution curve hits exactly a point where multiple boundaries intersect. Intuitively, if
the solution curve is perturbed slightly, the solution curve does not pass through the intersection
of the boundaries and resolves the degeneracy. In this section, we prove that this is in fact true
Chapter 4. Parametric Computation of Electrical Flows 63
and show that a small perturbation of the initial starting potential can be used to overcome de-
generacy. Further, we develop a lexicographic rule that enables us to retrace the behavior of the
perturbed solution curve implicitly without having to compute an explicit small perturbation.
Ultimately, we can use this lexicographic rule for a new pivoting rule in degenerate regions.
4.3.1 Perturbed solution
Formally, for ϵ>0 we define the perturbation vector ϵ:=(0,ϵ,ϵ2,ϵ3,...,ϵn1)Π. Then, consider
the perturbed initial potential π0,ϵ:=π0+ϵ. Note, that for homogeneous marginal cost, π0=0
and, thus, π0,ϵ=ϵ. However, the following result holds for any initial potential π0.
Lemma 4.5. There is ϵ>0and tT
¯such that π0,π0,ϵRtfor all 0<ϵ<ϵ. The vector tcan
be found in O(mlogt
¯)time.
Proof. For every edge eE, consider the function pe(ϵ) :=γ
eϵ. By definition, pe(ϵ) is either a
monomial in ϵ(if eis incident to vertex v1) or the difference of two monomials in ϵ. This means,
there are numbers p,qNsuch that
pe(ϵ)={︄ϵpif eδ+(v1)δ(v1),
ϵpϵqotherwise.
As the function pe(ϵ) has this simple structure, we immediately obtain the following properties.
(a) pe(ϵ)=0 implies ϵ{0,1},
(b) the sign of pe(ϵ) is constant for 0 <ϵ<1, and
(c) |pe(ϵ)|ϵfor 0 ϵ1.
We define sets of edges
E1={eE|pe(ϵ)<0 for all 0 <ϵ<1} and E2={eE|pe(ϵ)>0 for all 0 <ϵ<1}.
By (b), these sets form a partition of the edge set E.
Claim. There is a unique tsuch that
(i) π0Rt,
(ii) γ
eπ0>σe,t
efor all eE1.
(iii) γ
eπ0<σe,t
e+1for all eE2.
Further, tcan be found in O(mlogt
¯).
Proof of the claim. Start with some tT
¯such that π0Rt. This vector can be found in O(mlogt
¯)
by performing a binary search over the breakpoints of every marginal cost function for every
edge eE. Then, as long as there is an edge eE1with γ
eπ0=σe,te, move to the neighboring
region with t:=tee. Since π0lies on the boundary of Rtand Rtit is also contained in Rt
but γ
eπ0=σe,te=σe,t
e+1>σe,te. Likewise, if there is an edge eE2with γ
eπ0=σe,te+1, move
the neighboring region with t:=t+ee. Iterating this procedure at most mtimes yields a vector
twith the claimed properties in O(mlogt
¯). Assume, there are two vectors t1,t2T
¯with the
claimed properties. Then, there is at least one edge ewith t1
e=t2
eand, without loss of generality,
assume t1
e<t2
e. But this implies γ
eπ0σe,t1
e+1σe,t2
eγ
eπ0where either the first or the last
64 4.3. A Lexicographic Rule for Degenerate Instances
inequality is strict since the edge is either in E1or E2. Thus, there is a contradiction and tis
unique.
Let tbe the unique vector from the preceding claim. Then, define
ϵ1:=min
eE1(︁γ
eπ0σe,t
e)︁and ϵ2:=min
eE2(︁σe,t
e+1γ
eπ0)︁(4.7)
and let ϵ:=min{ϵ1,ϵ2,1}. With this definition, we obtain for ϵ<ϵ
σe,t
e
(4.7)
γ
eπ0ϵ(c)
γ
eπ0+pe(ϵ)γ
eπ0σe,t
e+1for eE1
σe,t
eγ
eπ0γ
eπ0+pe(ϵ)(c)
γ
eπ0+ϵ(4.7)
σe,t
e+1for eE2.
Since γ
eπ0,ϵ=γ
eπ0+pe(ϵ), we have that π0,ϵRtfor all 0 <ϵ<ϵ.
Consider a new solution curve λ↦→πϵ(λ) in the potential space, where, for every λ0, πϵ(λ)
is the optimal potential of a minimum cost flow solving
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)+Ltϵ
and tis the vector defined in Lemma 4.5. We refer to λ↦→πϵ(λ) as the perturbed solution curve.
The perturbed solution curve solves a minimum cost flow problem with slightly perturbed de-
mand. Similar to the normal solution curve the perturbed curve consists of linear solution seg-
ments
Πϵ
t={︁πt+λπt+L
tLtϵ|λ[λmin,ϵ
t,λmax,ϵ
t]}︁(4.8)
for all tT
¯. Note that the solution segments of the perturbed curve have the same direction
πtas the normal solution curve but have a slightly perturbed offset. Analogous to the nor-
mal solution curve, the upper and lower bounds for the parameter can be computed as λmin,ϵ
t:=
max{︁maxeEλϵ
t(e),0}︁and λmax,ϵ
t:=mineEλϵ
t(e) depending on the values λϵ
t(e) and λϵ
t(e). With
the same computations as before it can be shown that for all edges where these values are finite
λϵ
t(e)=λt(e)+pe,t(ϵ) and λϵ
t(e)=λt(e)+pe,t(ϵ),
where
pe,t(ϵ) :=m
e,tϵwith m
e,t:= 1
γ
eπt
γ
eL
tLt.
Additionally, we can also define the boundary edges of region Rtfor the perturbed solution curve
by E,ϵ
t:={︁eE|λmax,ϵ
t=λϵ
t(e)<}︁. We note that L
tLt=diag(0,1,...,1) is the projection onto
the potential space Πby definition of the pseudo inverse. Therefore, with Eq. (4.8) we see that for
t=tand λ=0 the potential πt+L
tLtϵ=π0+ϵis the initial potential of the perturbed solu-
tion curve and the perturbed solution curve is indeed the solution curve that starts in π0,ϵ=π0+ϵ
and has the same direction vectors as the original solution curve. Fig. 4.4 depicts the perturbed
solution curve in relation to the original solution curve. The figure shows that both curves be-
have similarly in the sense that they start in the same region and that all non-degenerate regions
Chapter 4. Parametric Computation of Electrical Flows 65
π0
Rt
π0,ϵ
ϵ
(a) Solution curve and perturbed solution curve.
π0
π0+ϵ
Rt
(b) Start region Rt.
Figure 4.4: (a) The solution curve (thick line) exhibts one degenerate and two non-degenerate
feasible regions. The perturbed solution curve (dotted line) starts in the initial potential π0,ϵ.
Observe, that the non-degenerate pivot steps are the same for both curves while the perturbed
curve performs some non-degenerate extra boundary crossing instead of the degenerate cross-
ing. (b) The initial potential π0is feasible in multiple regions. The dotted curve shows all possible
perturbed initial potentials π0,ϵ=π0+ϵfor all ϵ>0. The highlighted region is the unique region
Rtwith π0,ϵRtfor all ϵ<ϵ.
of the original solution curve are also traversed by the perturbed solution curve. This means, if
we encounter a region with |E
t| > 1, then we find the next non-degenerate region of the orig-
inal solution curve by tracking the behavior of the perturbed curve. The perturbed curve may
perform several pivoting steps in betwee,n but eventually both curves will proceed in the same,
non-degenerate region. The next theorem formalizes this and proves that both curves behave
similarly and that the perturbed instance is non-degenerate.
Theorem 4.6. There exists ϵ>0such that for all 0<ϵ<ϵthe following is true for any tT
¯.
(i) If Rtis infeasible for the unperturbed problem, i.e., Πt=, then Πϵ
t=as well.
(ii) If Rtis feasible and non-degenerate for the unperturbed problem then it is feasible and non-
degenerate for the perturbed problem as well.
(iii) If Rtis feasible and |E
t|1, then E
t=E,ϵ
t.
(iv) If Rtis feasible for the perturbed problem, then Rtis non-degenerate for the perturbed problem
and |E,ϵ
t|1.
Proof. Since |pe,t(ϵ)|<ϵfor 0 <ϵ<1 we get that for every edge eEand ξ>0 there is an ϵ
e,ξ>0
such that |pe,t(ϵ)|<ξfor all 0 <ϵ<ϵ
e,ξ. Since there are only finitely many edges, for every ξ>0
there also exists a value ϵ
ξsuch that |pe,t(ϵ)|<ξfor all edges and all 0 <ϵ<ϵ
ξ.
We note that if λt(e)= −∞ for all edges or λt(e)= for all edges, then the same holds for
all respective values λϵ
t(e) or λϵ
t(e) since this depends only on the potential direction πt. Thus
λmin,ϵ
t=λmin
tor λmax,ϵ
t=λmax
t, respectively, in these cases. For the rest of the proof we therefore
omit these cases and assume without loss of generality that the minimum or maximum in the
computation of λmin
tand λmax
tare finite.
66 4.3. A Lexicographic Rule for Degenerate Instances
(i) Let tT
¯be a vector such that the region Rtis infeasible. Then λmin
t>λmax
t. Let ξ:=λmin
tλmax
t
2.
Choose some ϵ>0 with ϵ<ϵ
ξ. Let e1,e2Ebe such that λmin
t=λt(e1) and λmax
t=λt(e2). Then,
λmin,ϵ
tλϵ
t(e1)=λt(e1)+pe1,t(ϵ)>λt(e1)ξ=λt(e2)+ξ>λt(e2)+pe2,t(ϵ)=λϵ
t(e2)λmax,ϵ
t
and, thus, λmin,ϵ
t>λmax,ϵ
timplies Πϵ
t=.
(ii) If conversely, for some tT
¯,λmax
t>λmin
t, then by setting ξ:=λmax
tλmin
t
2we get λmax,ϵ
t>λmin,ϵ
t
with the same computation.
(iii) Let tT
¯be such that |E
t|1. If E
t=then λt(e)=for all eEand, as argued above, also
λϵ
t(e)= for all eEand E,ϵ
t=. Therefore, assume that |E
t|=1 and let e1be the edge such
that λt(e1)=λmax
t. Let e2be the edge with the second smallest value, i.e., λt(e1)<λt(e2)λt(e) for
all e=e1,e2. Note that since we assume that there is only one boundary edge, the first inequality
is strict. Set ξ:=λt(e2)λt(e1)
2and let ϵ<ϵ
ξ. Then, for any e=e1,
λϵ
t(e)=λt(e)+pe,t(ϵ)λt(e2)+pe,t(ϵ)>λt(e2)ξ=λt(e1)+ξ>λt(e1)+pe1,t(ϵ)=λϵ
t(e1).
Thus, e1is the unique minimizer in the computation of λmax,ϵ
tand, hence, E,ϵ
t={e1}=E
t.
(iv) If we assume that (iv) is not true, then there exists a region Rtand an infinite number of values
ϵ1>ϵ2>ϵ3>···>0 such that Rtis degenerate for all ϵ=ϵ1,ϵ2,ϵ3,.... Thus, λmin,ϵ
t=λmax,ϵ
tfor all
of these ϵvalues. Since there are only a finite number of edges, there must be at least one pair
of edges e1,e2with e1=e2such that λϵ
t(e1)=λmin,ϵ
t=λmax,ϵ
t=λϵ
t(e2) for infinitely many different
values ϵ. Thus, for an infinite number of values ϵ=ϵ
˜1>ϵ
˜2>···>0, we obtain
0=λϵ
t(e1)λϵ
t(e2)=λt(e1)pe1,t(ϵ)λt(e2)pe2,t(ϵ)=:g(ϵ).
Hence, the function ghas an infinite number of distinct roots which is a contradiction since g
is a non-zero, continuous polynomial in ϵof degree at most nsince we assume that there are
no parallel edges and, therefore, pe1,t(ϵ)= pe2,t(ϵ). Thus, we infer that there is an ϵ>0 such
that every Rtis non-degenerate, i.e., the perturbed instance is non-degenerate. By Lemma 4.2,
|E,ϵ
t|1 must hold for all edges as well.
Overall, there is a universal ϵ>0 such that all parts from above hold true since there is only
a finite number of regions.
From Lemma 4.5 and Theorem 4.6 we get that
(a) there is a unique starting region Rtthat contains the initial potentials of both the original
and the perturbed solution curve,
(b) the set of feasible regions of the perturbed instance is exactly the set of feasible, non-degen-
erate regions of the original instance, and
(c) the perturbed instance is non-degenerate, i.e., in particular, |E,ϵ
t|1 for all tT
¯.
This implies, if we track the perturbed solution curve and the (uniquely defined) boundary cross-
ings of the perturbed curve, we will obtain all feasible, non-degenerate regions of the original
solution curve. Since only these regions actually contribute to the solution (degenerate regions
define only one point of the output functions) knowing these regions is enough to compute the
whole solution curve. Hence, we can adjust the basic algorithm as follows to also work for degen-
erate instances: In the pivoting step use the unique boundary edge from E,ϵ
tthat must be also
contained in E
t.
Chapter 4. Parametric Computation of Electrical Flows 67
4.3.2 Lexicographic rule
Tracking the behavior of the perturbed solution curve eliminates the problem with non-unique
boundary crossings. However, it is not yet clear how to compute the unique boundary edge in
E,ϵ
tfor the perturbed solution curve. In order to do this explicitly, we need to find a—possibly
very small—ϵ>0 such that we can use Theorem 4.6 and compute the values λϵ
t(e),λϵ
t(e) with
this very small ϵ. Neither of these steps is feasible in practice. For the computation of ϵwe need
to examine all regions in advance. And even if we are given the correct ϵ>0, storing this value
and computing with it in necessary precision may be challenging. However, all these problems
can be avoided since the unique boundary edge of the perturbed solution curve in any region Rt
can be obtained implicitly via a lexicographic rule.
Recall that we use the notation v
ˇfor the vector obtained from vby deleting the first com-
ponent. We will use the shortened vectors m
ˇe,tobtained from the vectors me,tin the following
theorem because the perturbation of the potential of the first vertex, i.e., the first component of
the perturbation vector ϵ, is zero and, hence, the first component of the vectors me,twill not play
a role.
Theorem 4.7. There exists ϵ>0such that, for all 0<ϵ<ϵ, the edge eE is the unique boundary
edge of region Rtfor the perturbed solution curve, i.e., E,ϵ
t={e}, if and only if
m
ˇe,tLm
ˇe,tfor all e E
t\{e},
i.e., if and only if the the vector m
ˇe,tis the (unique) lexicographically minimal vector among all
vectors m
ˇe,tfor all boundary edges E
tof the original solution curve.
Proof. If eE,ϵ
t, then for any e=e
0<λϵ
t(e)λϵ
t(e)=λt(e)λt(e)+pe,t(ϵ)pe,t(ϵ) for all ϵ>0.
Since limϵ0pe,t(ϵ)pe,t(ϵ)=0, we infer that λt(e)λt(e)0. This implies λmax
t=λt(e) and,
thus, eE
t. For all eE
twe have λt(e)=λt(e). Therefore,
0<λϵ
t(e)λϵ
t(e)=λt(e)λt(e)+pe,t(ϵ)pe,t(ϵ)=m
e,tϵm
e,tϵ=m
ˇ
e,tϵ
ˇm
ˇ
e,tϵ
ˇ
for all eE
t\{e}. The last equation in the computation above follows since the first component
of the perturbation vector ϵis zero. Since the vector m
ˇ
e,tϵis a polynomial in ϵwith coefficient
vector m
ˇe,t, the inequality above holds for ϵsmall enough if and only if
m
ˇe,tLm
ˇe,t.
This shows that the condition is necessary. Since the boundary edge eE,ϵ
tis unique the con-
dition is also sufficient.
68 4.4. Non-Homogeneous Demands and Marginal Costs
4.3.3 Pseudocode
Algorithm 3: Pivoting rule with lexicographic rule
Input: t T
¯such that Rtis feasible
Output: Unique boundary edge in E,ϵ
t
compute the set E
t;
compute vector m
ˇe,tfor all edges eE
t;
return ewith m
ˇe,tLm
ˇe,tfor all eE
t\{e};
4.4 Non-Homogeneous Demands and Marginal Costs
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
Assumptions
piecewise linear, continuous, strictly increasing marginals fe
piecewise linear or affine demand function b(λ)
Extension: Initial phase to compute initial potential for non-homogeneous marginal
costs and handling of piecewise linear or affine demand functions
The basic electrical flow algorithm as described before assumes that the demand functions
as well as the marginal cost functions are homogeneous, meaning that b(0) =0and fe(0) =0 for
all edges eE. In this case, the all-zero flow x=0is a feasible solution for λ=0. Further, it is
obvious that the all-zero potential π=0is an optimal potential, since fe(xe)=fe(0) =0=πwπv
for every edge e=(v,w)E. Therefore, the algorithm can start with the region Rtthat contains
the trivial initial potential π=0. If either the demand function or the marginal cost functions are
no longer homogeneous, we need to find an initial solution to start from first.
To this end, we consider the initial problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(0),
(4.9)
which is a minimum cost flow problem for the fixed demand b(0). As argued before, if both
demand function and marginal cost functions are homogeneous, this problem has the trivial
solution x
ˆ=0with optimal potential π=0. In all other cases, we need to solve this problem
first. Since we assume that the marginal costs are piecewise linear, we can use the algorithm
by Végh [110] to solve this problem in strongly polynomial time. Further, we can also use the
electrical flow algorithm to obtain an initial solution, as we will discuss below.
Non-homogeneous marginal cost First, assume that the demand function is still linear,
i.e., b(λ)=λb. In this case, we can use the basic algorithm from before. But in case of non-
homogeneous marginals, we need the solution of the initial problem from Eq. (4.9). With the
Chapter 4. Parametric Computation of Electrical Flows 69
optimal potential of the solution, we can find the initial region in O(mlog(t
¯)), where t
¯is the max-
imum number of function parts of any region. Note, that in the degenerate case, the initial region
is still unique since Lemma 4.5 holds for any initial potential π0.
Affine linear demand functions In the case of affine linear demand functions, i.e., b(λ)=
λb+b
¯we also need to find an initial solution solving the problem from Eq. (4.9) and the associated
optimal potential π0as a starting point for the algorithm. Additionally, some minor adjustments
in the basic formulas are in order. In contrast to the linear demand setting, the solution segment
in the region Rtis now
Πt:={︁πRt|λ0 with Ltπ=λb+b
¯+Γdt}︁,
where we additionally take the offset demand b
¯into account. The characterization from Theo-
rem 4.1 still holds, however, the potential offset of the region is now
πt:=L
t(︁Γdt+b
¯)︁.
Hence, we can handle affine demands by computing an initial solution and using a slightly ad-
justed formula for the potential offsets.
Piecewise linear demand functions Assume that the demand function is piecewise linear,
i.e., there are intervals [λi,λi+1],i=1,...,Ksuch that the demand function is linear on these in-
tervals, i.e., b(λ)=λbi+b
¯ifor λ[λi,λi+1],i=1,...,K. After solving the initial problem, we can
run the basic algorithm with affine cost functions for the affine linear pieces of the demand func-
tion, stopping the computation when the maximal parameter λi+1is reached. In particular the
solution x
ˆ(λi+1) and the associated optimal potential π(λi+1) can be used as the initial solution
for the next affine function part. Further, the last region of run for the current function part can
be used directly as initial region for the next function part.
4.4.1 Initial Phase I
All cases above require the solution of the initial problem from Eq. (4.9). Besides using some
algorithm for fixed demand solutions, we can also use the parametric electrical flow algorithm to
obtain an initial solution. The normal basic variant starts with the all-zero potential. In case of
non-homogeneous demands or marginal cost, this is not possible since this is not the potential
of an electrical flow for the demand b(0). However, it is the optimal potential of an electrical flow
for some other, artificial demand. Formally, denote by π
˜0:=0the artificial, all-zero potential.
Let t
˜0T
¯such that π
˜0Rt
˜0, i.e., Rt
˜0the region containing this artificial potential. Finally, define
some artificial demand b
˜:=Lt
˜0π
˜0Γdt
˜0=Γdt
˜0. Then, we obtain
L
t
˜0(︁b
˜+Γdt
˜0)︁=π
˜0.
By our characterization of electrical flows and optimal potentials from Section 4.1.1, we get that
the potential π
˜0=0is the optimal potential of the electrical flow x
˜0:=Ct
˜0ΓL
t
˜0π
˜0dt
˜0= dt
˜0
that satisfies the demand b
˜. In case of homogeneous marginals, we in particular have that dt
˜0=0,
70 4.4. Non-Homogeneous Demands and Marginal Costs
s
v
t
e1
f1(x)={︄1/2x+3x2
x+4x>2
e2
f2(x)={︄3x+1x1/2
x x >1/2
e3
f3(x)={︄x x 2
2x2x>2
(a) Graph with marginal cost functions.
πv
1 2 3 4
1
2
3
πt
(b) Potential space for fixed πs=0.
0
0
0
6
0
00
1
1/2
4
1/2
1/20
2
3/4
2
3/4
3/40
3
1
1
1
10
13/4
2
3/4
3/4
20
7/2
3
1/2
1/2
3
b=(6,6,0) (7/2,7/2,0) (5/4,5/5,0) (0,0,0) (5/4,0,5/4) (5/2,0,5/2)
Phase I Phase II
(c) Flows (on edges) with potentials (on vertices) and demands bfor the potentials marked in (b).
Figure 4.5: (a) A graph with non-homogeneous marginal cost functions. (b) The Phase I solution
curve (dashed) and Phase II-solution curve (solid line) for the network from (a) with demand
function b(λ)=λ(1,0,1). (c) Flows with associated demands for the potentials marked in (b).
hence the all-zero potential is the optimal potential of the all-zero flow for the all-zero demand
in this case. If we now consider the following parametric electrical flow problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b
˜(λ) :=b
˜+λ(︁b(0)b
˜)︁,
that we also refer to as the Phase I problem, then clearly the potential π
˜0=0is an initial poten-
tial for this problem, i.e., we can start the basic algorithm from this potential and compute the
solution curve λ↦→π
˜(λ) solving this problem. The potential π
˜(1) then is an optimal potential of
an electrical flow for demands b
˜(1) =b(0) and, therefore, a feasible initial potential for the orig-
inal electrical flow problem. Note that this procedure is equivalent to adding the new, artificial
function part b
˜+λ(︁b(0)b
˜)︁to the (piecewise) linear demand function b(λ). In the special case
of homogeneous marginal cost, this artificial part of the demand function starts in particular in
the zero demand.
Example. Consider the graph from Fig. 4.5a with marginal cost on the edges. Assume, we want
to solve the parametric electrical flow problem with the demand function b(λ)=λb, where b=
(1,0,1). Note that the marginal cost function f1is non-homogeneous since f1(0) =2. The zero
potential π
˜0=0is not associated with the zero flow but rather with the flow x
˜0=(6,0,0)(see
Chapter 4. Parametric Computation of Electrical Flows 71
first flow in Fig. 4.5c) inducing an auxiliary demand b
˜=(6,6,0). Therefore, we need to first
solve the Phase I problem with auxiliary demand function
b
˜(λ)=(6,6,0)λ(6,6,0)
in Phase I. The Phase I solution curve λ↦→π
˜(λ) is depicted as dashed line in Fig. 4.5b, Fig. 4.5c
shows the corresponding flows. The potential π
˜(1) =(0,3,1)is the optimal potential for the flow
x=(1,1,1)for demand b=(0,0,0). Thus, the potential π
˜(1) is the initial potential of the
solution curve for Phase II. The basic algorithm with initial potential π0=π
˜(1) =(0,3,1)then
yields the solution curve λ↦→π(λ) for the actual problem depicted as solid line in Fig. 4.5b.
From a physical perspective, it is worth noting that the edge e1acts because of its non-ho-
mogeneous marginal cost function as an active electrial component, meaning that it generates
power rather than consuming power. This generated power results in the circulation flow x=
(1,1,1)which is optimal for no externally applied current. The active component with non-
homogeneous marginal cost therefore acts as a battery or a generator in this context.
4.4.2 Pseudocode
Assume we are given a function BasicAlgorithm(G, f, b, p) that takes a graph G, marginal
costs f, a piecewise linear demand function b, and an initial potential pas input and uses the
basic algorithm (with lexicographic rule) in order to compute the solution curve for the demand
function starting from the initial potential given. Then, we can express the two-phase algorithm
with the following pseudocode.
Algorithm 4: Two-phase algorithm for non-homogeneous marginal cost
Input: Directed graph Gwith piecewise linear, strictly increasing, and continuous
marginal cost functions fe:RR, affine linear demand function λ↦→b(λ)
Output: Piecewise function x
ˆ:R0Rms.t. x
ˆ(λ) is an electrical flow for all λ0
choose t
˜0such that 0Rt
˜0;
b
˜Γdt
˜0;
/* Phase I: Run Basic Algorithm with altered demand function starting
in the potential 0*/
π
˜(λ)BasicAlgorithm(G, (fe)eE,λ↦→b
˜+λ(︁b(λmin)b
˜)︁,0);
/* Phase II: Run Basic Algorithm on original instance demand function
starting in the potential π
˜(1) from Phase I */
π(λ)BasicAlgorithm(G, (fe)eE,λ↦→b(λ),π
˜(1));
return flow function x
ˆ(λ) corresponding to solution curve π(λ)
72 4.5. Discontinuous Marginal Cost and Ambiguous Regions
4.5 Discontinuous Marginal Cost and Ambiguous Regions
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
Assumptions
piecewise linear, strictly increasing marginals fe
piecewise linear or affine demand function b(λ)
Extension: Handling of discontinuous marginal cost functions
In this section, we discuss an extension of the basic algorithm that allows the algorithm to also
work for instances with discontinuous marginal cost functions. While discontinuous marginal
cost functions may seem artificial, they are actually of great importance. First, they enable us
to model more general electrical components such as diodes that let flow pass only if a certain
voltage threshold is surpassed. Second, we we will see that discontinuous marginal costs can be
used to model lower and upper capacities on edges and, thus, also directed edges. We use this
insight in Chapter 5to generalize our basic electrical flow algorithm to the setting of minimum
cost flows.
Since the marginal cost functions are not necessarily continuous, the edge cost function
Fe(x)=∫︁s
0fe(s)ds is not continuously differentiable everywhere. Therefore, the basic optimal-
ity condition for the electrical flow problem cannot be applied. However, there is a similar cri-
terion for minimization problems for non-smooth edge cost that we obtain by using the KKT-
conditions for non-smooth functions from Proposition 2.9. We denote the left-sided limit of fe
by f
e(x) :=limsxfe(x) and the right-sided limit of feby f+
e(x) :=limsxfe(x).
Lemma 4.8. A vector x
ˆRmis an electrical flow for an instance with discontinuous marginal
cost fe,eE and demand bif and only if there exists a potential vector φRnsuch that
f
e(x)φwφvf+
e(x)for all e =(v,w)E(4.10a)
Γx
ˆ=b(4.10b)
Proof. From Proposition 2.9 we get that x
ˆis an electrical flow if and only if there exists a vector
φRnsuch that
0xF(x
ˆ)(︁x(Γxb))︁φ=xF(x
ˆ)Γφ,
where Fis the vector of all edge costs Fe(x
ˆe)=∫︁x
ˆe
0fe(s)ds. Every row corresponding to edge
e=(v,w) of this condition is equivalent to 0 x(︂∫︁x
0fe(s)ds)︂x=x
ˆe(φwφv). Since
0x(︂∫︂x
0fe(s)ds)︂x=x
ˆe(φwφv)=[︁f
e(x
ˆe)(φwφv), f+
e(x
ˆe)(φwφv)]︁,
Eq. (4.10) follows.
We see that the optimality condition from Lemma 4.8 coincides with the normal potential
equation whenever the marginal cost functions are continuous. But even in the presence of dis-
continuous marginal cost we can adopt our basic algorithm to work in this setting. The basic
Chapter 4. Parametric Computation of Electrical Flows 73
fe(x)
x
τe,1 τe,2
σ
e,1
σ+
e,1
σ
e,2
σ+
e,2
(a) Marginal cost function function fe.
f1
e(y)
y
σ
e,1σ+
e,1σ
e,2 σ+
e,2
τe,1
τe,2
(b) Inverse marginal cost function f1
e.
Figure 4.6: Discontinuous marginal cost function (a) and its pseudo-inverse (b).
algorithm is based on the inverse function
f1(y)=Ctydt
of the marginal cost function. This inverse function can be used to map any potential vector
to a flow such that they satisfy πwπv=fe(xe) for every edge eE. Further, this inverse cost
function is crucial to obtain Eq. (4.3) describing the relation between optimal potential πand
demand vector bvia the Laplace matrix Lt.
Although the marginal cost function may not be continuous, we can still define appropriate
(pseudo)-inverse functions of the marginal costs such that they act like the inverses in the contin-
uous case. Recall, that we denote by ae,teand be,tethe slopes and offsets of the piecewise linear
function fewith breakpoints τe,te. Let σ+
e,te:=f+
e(τe,te) and σ
e,te:=f
e(τe,te). (Note, that these
values coincide if feis continuous in τe,te.) We define the pseudo-inverse of feby
f1
e(y) :={︄1
ae,teybe,te
ae,teif y(︁σ+
e,te,σ
e,te+1)︁,
τe,teif y[︁σ
e,te,σ+
e,te)︁.
See Fig. 4.6 for a visualization. Then, given any potential φ, the potential φand the flow x:=
f1(︁Γφ)︁satisfy Eq. (4.10a) from Lemma 4.8. If the marginal costs are continuous, the pseudo
inverse is just the normal inverse as before.
In order to simplify notation, we consider all discontinuities of the marginal costs as separate
function parts tewith ae,te=,ce,te=0, and de,te=τe,te. Then, again, we can express the inverse
marginal cost function inside the region Rtin vector notation as
f1(y)=Ctydt.
The basic algorithm still works like before with the following difference: There are now regions
Rtwhere one or more edges have weight ce,te=0. Proposition 2.2 implies that if there is a cut
of edges with zero weight, the Laplacian matrix has rank less than n1 and, thus, the pseudo
inverse L
tis not unique anymore.
Formally, we say two vertices v,ware actively connected with respect to the weights ce,teif
there is an undirected path between vand wcontaining only edges with non-zero weight. An
actively connected component is a maximal subset of vertices that are actively connected. We
74 4.5. Discontinuous Marginal Cost and Ambiguous Regions
say a region Rtis ambiguous if there are at least two actively connected components with respect
to the weights ce,te. In an ambiguous region, the kernel of Lthas an extra dimension (in addition
to the trivial kernel spanned by the all-one-vector) meaning altering the potential along this extra
dimension does not change the corresponding flow x=f1(Γφ) and, in particular, does not
change the demand b=Ltφ. This leads to a not well-defined potential direction and breaks
the basic algorithm. However, this problem can be fixed with a simple repair step that basically
consists of a jump in the potential space to an adjacent, non-ambiguous region without changing
the flow.
Theorem 4.9. Let tT
¯such that Rtis ambiguous. Denote by K :=n1rank(Lt)the number of
kernel dimensions inside the potential space Π. For every potential φRt,
(i) there exists tT
¯and φRtsuch that Rtis non-ambiguous and f1(Γφ)=f1(Γφ).
Such vector and potential can be found in O(︁n2)︁time.
(ii) if K =1, there exist exactly two vectors t,t′′ T
¯and two potentials φ,φ′′ Rtsatisfying
condition (i).
Proof. By definition, there are K+1 actively connected components with respect to the weights
ce,tein region Rt. For every actively connected component UV, denote by 1Uthe indicator
vector of the component U, i.e., the vector with 1 for every entry corresponding to a vertex vU
and 0 for every entry corresponding to a vertex vU. Also, by definition, 1Uker(︁Lt)︁. Without
loss of generality, we assume that v1Ufor all actively connected components we consider in
this proof (otherwise, just consider V\U). This ensures that 1UΠ.
Given a potential φRtin some ambiguous region Rtwe define the following steps.
1. Identify an arbitrary actively connected component UVwith v1U.
2. Find µ
¯Rsuch that
µ
¯=argmax{︁|µ||µR,σe,teγ
eφ+µγ
e1Uσe,te+1for all eE}︁. (4.11)
Define φ:=φ+µ
¯1U.
3. Identify an edge eEsuch that γ
eφ=σe,teor γ
eφ=σe,te+1. In the former case define
t:=tee, in the latter case define t:=t+ee.
Claim. If φRtin some ambiguous region Rt, then the three steps above are well-defined and
(a) φRt,
(b) f1(Γφ)=f1(Γφ),
(c) rank(︁Lt)︁=rank(︁Lt)︁+1.
Proof of the claim. Since Rtis ambiguous, the actively connected component from step 1 must ex-
ist. By definition of an actively connected component, γ
e1U=0 only if ce,te=0. Hence, only the
inequalities belonging to inactive edges (i.e., edges with ce,te=0) are relevant for the maximiza-
tion in Eq. (4.11). But for these edges, the breakpoint values σe,teand σe,te+1are finite since they
are the left-sided and the right-sided limit of feat some breakpoint τ. Also, since Rtis ambiguous,
Chapter 4. Parametric Computation of Electrical Flows 75
there is at least one inactive edge and thus at least one inequality in Eq. (4.11) bounding µ. Thus,
there must be a finite µRsatisfying Eq. (4.11). Since the value µ
¯is a maximizer, there must be at
least one edge such that one of the inequalities is tight, proving that the third step is well-defined.
By definition of µ
¯, the potential φlies on the boundary between the region Rtand Rt, hence
φRtand (a) follows. Further, the potentials γ
eφ=γ
eφfor all active edges eE. Hence,
potential differences only change for inactive edges, but these have no influence on the flow,
proving (b). For t, the edge efrom step 3 is inactive. For the vector t, we consider a different but
adjacent function part for this edge. Since there cannot be two adjacent function parts of an edge
with ce,te=ce,te+1=0 (after every jump of the marginal cost function there always is a normal”
function part), the edge emust be active in the region Rt. Since all other edges are unchanged, we
know that two actively connected components must be merged, hence, the rank of the Laplacian
matrix increases by exactly one, proving (c).
After iterating steps 1 to 3 at most n1 times, rank(︁Lt)︁=n1 and Rtmust be non-am-
biguous. Hence, after at most n1 iterations of step 1 to 3 we obtain a vector tand a potential
φwith the properties claimed in (i). The whole procedure can be performed in O(n2) time as
follows. In the first iteration, we determine an actively connected component, e.g., with breadth-
first search in O(n2) time. This step is not necessary in all following iterations, since we obtain a
new actively connected component by tracking which components merge when making edge e
active. In order to compute the maximum in Eq. (4.11), we need to solve up to 2mindependent
linear (in-)equalities and compute the minimum over the solutions, which is possible in O(n2)
time. This computation must only be carried out once in the first iteration for every edge eδ(U)
because from one iteration to the next edges can only drop out of δ(U) and never enter δ(U). For
all edges remaining in δ(U), the respective equalities in (4.11), and thus their solutions, are only
shifted by the value ±µ
¯from the previous iteration. While solving these equations, every edge
that induce maximum in the solution are a possible choice for step 3. Thus, (i) is proven.
If K=1, then there are only two actively connected components and only one containing the
vertex v1. Thus, there is only one direction 1Uin the kernel of Lt. Following the line starting in
φwith direction 1Uleads to exactly two neighboring regions that have less actively connected
component (by the proof of the claim above) and are thus non-ambiguous. The potentials on the
boundary to these regions are the potentials claimed in (ii).
Theorem 4.9 provides a basis for a repair step when the algorithm encounters an ambigu-
ous region without unique potential direction. In this case, Theorem 4.9(i) implies that we can
perform a jump to another potential in a non-ambiguous region without changing the flow x=
f1(Γφ). Further, this step can be performed efficiently. The next theorem will prove that this
step is also always uniquely defined.
Theorem 4.10. Let tT
¯such that Rtis feasible and non-ambiguous. Then, there is a well-defined
tT
¯such that
(i) the region Rtis feasible and non-ambiguous,
(ii) and λmax
t=λmin
t.
Furthermore, this vector can be found in O(︁n2)︁time.
76 4.5. Discontinuous Marginal Cost and Ambiguous Regions
Proof. We assume without loss of generality that the instance is non-degenerate. If this is not the
case, consider the perturbed solution curve and use its behavior to define the pivoting rule.
Let t′′ T
¯be the vector such that Rt′′ is the neighboring region from the normal” pivoting
step (possibly with lexicographic rule). As shown in the proof of Theorem 4.3, the Laplacian ma-
trices of the neighboring regions Rtand Rt′′ satisfy Lt′′ =Lt+cγeγ
e, where eE
tis the unique
boundary edge. Thus,
rank(︁Lt′′)︁rank(︁Lt)︁rank(︁γeγ
e)︁=(n1)1=n2.
If Rt′′ is non-ambiguous (i.e., rank(︁Lt′′)︁=n1), we can use t=t′′ and we are done. Thus, for the
rest of the proof, we are concerned with the case that Rt′′ is ambiguous and rank(︁Lt′′)︁=n2. By
definition, the potential π(λmax
t) lies on the boundary between the regions Rtand Rt′′ and is the
optimal potential of the electrical flow x
ˆ(λmax
t)=f1(︁Γπ(λmax
t))︁. Since it lies on the boundary,
it is also contained in Rt′′. By Theorem 4.9(ii), there are exactly two potentials π(λ) and π′′(λ)
in two neighboring, non-ambiguous regions of Rt′′ that are optimal for the same flow. Since one
of these is π(λmax
t), there is only one uniquely defined, other potential π(λ)inside a uniquely
define region Rtwith tT
¯. By Theorem 4.9(i) we can find this vector in O(n2) time.
Hence, the procedure described in Theorem 4.9 yields, starting from the boundary potential
π(λmax
t) another non-ambiguous region Rtand another potential πRt. Further, f1(︁Γπ)︁=
f1(︁Γπ(λmax
t))︁=x
ˆ(λmax
t). Hence, πis an optimal potential for some electrical flow and, thus,
Rtis also a feasible region. Rttherefore satisfies the condition (i). Also, we already know that
λmax
t[︁λmin
t,λmax
t]︁since πRtis an optimal potential of an electrical flow for parameter λmax
t.
It remains to be shown that the potential direction in the region Rtis directed away from the
boundary to the region Rt′′.
Let UVbe the unique actively connected component not containing v1as defined in the
proof of Theorem 4.9. Further, denote by e
1the boundary edge between the regions Rtand Rt′′
and by e
2then boundary edge between the regions Rt′′ and Rt. Assume without loss of gener-
ality that the demand function is b(λ)=λb+b
¯. (If the demand function is piecewise linear it is
sufficient to consider the local behaviour with the locally affine demand function b(λ)=λb+b
¯.)
Claim. sgn(︁1
Ub)︁sgn(︁γ
e
11U)︁=sgn(︁γ
e
1
πt)︁and sgn(︁1
Ub)︁sgn(︁γ
e
21U)︁=sgn(︁γ
e
2
πt)︁.
Proof of the claim. We have by definition 1
Uγe=0 if eδ(U) and 1
Uγe=0 if eδ(U). In par-
ticular, e
1,e
2δ(U). Additionally, we know by construction of the region Rtthat ce,t
e=0 for all
eδ(U)\{e} and ce,t
e>0. Therefore, we obtain
1
Ub=1
ULtπt=1
UΓCtΓπt=∑︂
eδ(U)
ce,te1
Uγeγ
eπt=ce
1,te1
Uγe
1γ
e
1
πt
implying the first part of the claim. The second part follows by the same argument.
The claim yields
sgn(︁γ
e
2
πt)︁=sgn(︁γ
e
11U)︁sgn(︁γ
e
21U)︁sgn(︁γ
e
1
πt)︁. (4.12)
Let µ
¯be the value as defined in Eq. (4.11) in the proof of Theorem 4.9 with φ=π(λmax
t).
Claim. sgn(︁γ
e
1
πt)︁=sgn(µ
¯)sgn(︁γ
e
11U)︁.
Chapter 4. Parametric Computation of Electrical Flows 77
s
v
t
e1
f1(x)={︄x x 2
x+1x>2
e2
f2(x)={︄x x 1
2x+1x>1
e3
f3(x)={︄x x 3
3x4x>3
(a) Graph with marginal cost functions.
φt
1 2 3 4 5 6 7 8
1
2
3
4
φv
(b) Potential space for φs=0 with solution curve.
Figure 4.7: Network with discontinuous marginal cost functions. (a) The graph with the dis-
continuous marginal cost functions. (b) The potential space for πs=0. The shaded regions
are ambiguous, the zigzag arrows indicate the directions along which the induced flow does not
change in these regions. The thick line represents the solution curve for demands (bs,bv,bt)=
λ(1,0,1).
Proof of the claim. Since e
1E
t, the solution curve hits the boundary induced by e
1in the poten-
tial π(λmax
t). Assume that sgn(︁γ
e
1
πt)︁=1. Then, γ
e
1π(λmax
t)=σe,te+1=σe,t′′
e. Hence, for µ=0
the lower inequality corresponding to e
1in Eq. (4.11) is satisfied with equality. Thus, the term
µγ
e
11Ucannot be negative and, by non-degeneracy, it must be in fact positive. If, conversely,
sgn(︁γ
e
1
πt)︁=1, it follows that µγ
e
11Umust be negative and hence, the claim is proven.
The preceding claim and Eq. (4.12) imply
sgn(︁γ
e
2
πt)︁=sgn(µ
¯)sgn(︁γ
e
21U)︁. (4.13)
By construction, the potential πon the boundary between Rt′′ and Rtsatisfies γ
e
2π=σe,t′′
e+1=
σe,t
eif and only if µ
¯γ
e
21Uis positive and γ
e
1π=σe,t′′
e=σe,t
e+1if and only if µ
¯γ
e
21Uis negative.
This, together with Eq. (4.13) and the definition of λmin
timplies that λmin
t=λmax
tsince πis the
optimal potential for the electrical flow for parameter λmax
t.
All of the above enables us to use the basic algorithm (with lexicographic rule) also for dis-
continuous cost. If the initial potential π0lies in an ambiguous region, then Theorem 4.9 implies
that we can find a non-ambiguous region containing another possible initial potential to start
from. The pivoting rule implied by Theorem 4.10 ensures that ambiguous regions can always be
avoided by jumping to a next, non-ambiguous region. The following example and Fig. 4.7 illus-
trate this procedure.
Example. Consider the graph depicted in Fig. 4.7a. Each of the marginal cost functions written
next to the edges have one discontinuity. For example, the marginal cost function f3has disconti-
nuity at x=3 with f
3(3) =3 and f+
3(3) =5. Hence, all potentials φwith γ
e3φ=φtφs[3,5] can
78 4.6. Direction Computation via Quadratic Programming
be optimal potentials for a flow xwith xe3=3. Put differently, for all potentials φwith γ
e3φ(3,5)
the edge e3is inactive.
Fig. 4.7b shows the whole potential space for this example. As noted above, for potentials with
γ
e3φ(3,5) the edge e3is inactive, these are all potentials between the vertical dashed lines. For
potentials with γ
e1φ(2,3) the first edge is inactive (between horizontal dashed lines) and for
potentials with γ
e2φ(1,3) the second edge is inactive (between the diagonal dashed lines). This
leads to regions where the weights ce,teare zero for one or more edges. In particular, there are
ambiguous regions which are highlighted in Fig. 4.7b. Consider, for example, the region defined
by φv2, φt5 and φtφv3 (this is the lower region shaded in light gray). In this region
the edges e2and e3are inactive and the graph splits into two actively connected components
U={t} and V\U={s,v}. The vector 1Ucan be added to potentials inside this region without
changing the flow. This vector also spans an additional kernel direction of the Laplacian matrix
in this region. The direction defined by 1Uis indicated by the zigzag arrow in the region.
In the region shaded in dark gray all edges are inactive and the graph splits into three ac-
tively connected components. Therefore, there are two directions along which the potential can
be changed without affecting the flow. The Laplacian matrix in this region has two extra kernel
dimensions—in particular it has rank 0, i.e., it is the zero matrix because all weights are zero.
Finally, consider the demand function b(λ)=λ(1,0,1), i.e., the demand function encoding
all s-t-flows. The thick line in Fig. 4.7b depicts the solution curve for this demand function. The
solution curve starts in the initial potential π0=(0,0,0). In the potential π(3) =(0,1,2)the
edge e2becomes inactive since πtπv=1=f
2(1). In the following region, edge e2is inactive.
Thus, all flow uses the lower edge and the potential πvremains constant resulting in a horizon-
tal trajectory of the solution curve. In the potential π(4) =(0,1,3)the edge e3becomes inac-
tive as well, the solution curve enters an ambiguous region. There is exactly one direction along
which we can move through this region without changing the flows. This leads to the potential
(0,1,4)at which the solution curve leaves the ambiguous region. The zigzag part of the solu-
tion curve corresponds to potentials that are all optimal potentials for the same electrical flow
x
ˆ(4) =(1,1,3)for λ=4. The resulting optimal potential function λ↦→π(λ) has a discontinuity
at λ=4 as well. At the potential (0,1,4)the edge e2becomes active again making the following
region non-ambiguous and the solution curve continues through non-ambiguous regions.
4.6 Direction Computation via Quadratic Programming
The basic algorithm and its variants presented in the preceding sections are based on a simple
routine. The algorithm starts from an optimal potential π(the initial potential or the first po-
tential inside a new region), computes a direction πtin the potential space using the Laplacian
matrix associated with the current region and follows it until it reaches a new region. In this
section, we present a different approach based on quadratic programming to obtain a suitable
potential direction πtwithout using the Laplacian matrix. Generalizing this new method will
enable us to develop a method working for multi-commodity networks as well. We will describe
this in Chapter 5. Further, it ensures output-polynomial runtime for degenerate instances: The
lexicographic rule may need an exponential number of intermediate steps that do not contribute
Chapter 4. Parametric Computation of Electrical Flows 79
to the solution. The quadratic programming approach described in this section avoids this prob-
lem.
For this section, assume that we are given a potential π(λ0) that is an optimal potential for
the electrical flow x
ˆ(λ0) for some demand b(λ0). The goal is to find a potential direction πsuch
that all potentials π(λ0)+(λλ0)πare optimal potentials for the electrical flows b(λ) for all
λ0λλ1where λ1>λ0. This direction corresponds to the potential direction πtin the (next)
region Rtin which the solution curve will proceed. Given this direction it is also easy to identify
the next region making for example the lexicographic rule unnecessary.
Given π(λ0) and x
ˆ(λ0), we define for every edge eE
a+
e:=lim
xx
ˆe(λ0)
fe(x)fe(︁x
ˆe(λ0))︁
xx
ˆe(λ0)and a
e:=lim
xx
ˆe(λ0)
fe(x)fe(︁x
ˆe(λ0))︁
xx
ˆe(λ0)
the right-sided and left-side derivative of the marginal cost at x
ˆe(λ0). Note, that since we are
considering only piecewise linear marginal costs in this chapter, a
eand a+
eare the slopes of the
linear pieces left and right of x=x
ˆe(λ0). If x
ˆe(λ0) is not a breakpoint of the piecewise linear
function fe, then in particular a
e=a+
e. Define the matrices A+:=diag(︁a+
e1,...,a+
em)︁and A:=
diag(︁a
e1,...,a
em)︁. Then, consider the quadratic program
min 1
2yA+y+1
2zAz
s.t. Γ(yz)=b(λ0),
y,z0
(4.14)
The quadratic program from Eq. (4.14) has a continuous, strictly convex objective function and
therefore posses a unique optimal solution (y,z). It can be solved with ϵ-precision using the
inscribed ellipsoid method in O(︂poly(n)log(︁1
ϵ)︁)︂time.
Theorem 4.11. There exists λ1>λ0such that
x
ˆ(λ)=x
ˆ(λ0)+(λλ0)xfor all λ[λ0,λ1],
where x:=yzand (y,z)is the optimal solution of the quadratic program from Eq. (4.14).
Further, the exact optimal solution (y,z), and therefore the vector xas well, can be computed in
O(poly(n)) time.
Proof. Let (y,z) be the unique optimal solution of the quadratic program from Eq. (4.14).The
Karush-Kuhn-Tucker conditions from Proposition 2.8 state that there are dual potential vectors
φRnand µ,νRm
0with y
eµ
e=z
eν
e=0 for all eEsuch that
0=y,z(︂1
2yA+y+1
2zAz)︂(︁y,z(︁Γ(yz)b(λ0))︁)︁φ(︁y,zy)︁µ(︁y,zz)︁ν.
This yields
0=a+
eyeγ
eφµ
eand 0 =a+
eze+γ
eφν
e(4.15)
for all edges e=(v,w)E.
80 4.6. Direction Computation via Quadratic Programming
Claim. Let x:=yz. For every edge e=(v,w)Ewe have
γ
eφ=φ
wφ
v=
a+
ex
eif x
e>0,
a
ex
eif x
e<0,
0 if x
e=0.
Proof of the claim. First, assume that x
e=y
ez
e>0. If x
e= y
e, then y
ez
e>0. Thus, we
can define a new solution (y
˜,z
˜) with y
˜e:=y
ez
e0 and z
˜e:=0 as well as y
˜e=y
eand z
˜e=z
e
for all edges e=e. The new solution is clearly feasible and, since y
˜e<y
eand z
˜e<z
e, the new
solution has a strictly smaller objective value, contradicting the optimality. Thus, we have that
y
e=x
e>0. By complementary slackness, we also know that µ
e=0. Hence, the statement follows
from Eq. (4.15).
Now, assume that x
e=y
ez
e<0. With the same reasoning as before, we obtain that z
e=
x
e>0 and, thus, also ν
e=0. Hence, the statement follows from Eq. (4.15).
Finally, assume that x
e=0. Thus, alos y
e=z
e=0. With Eq. (4.15), we obtain
γ
eφ=µ
e0 and γ
eφ=ν
e0
and, hence, the statment also follows in this case.
For λ>λ0, consider the flow x(λ) :=x
ˆ(λ0)+(λλ0)xand the potential φ(λ) :=π(λ0)+
(λλ0)φ. The side constraint of the quadratic program ensures that x=yzis a flow for
the demand b(λ0). Since the demand function is assumed to be (piecewise) linear, the flow x(λ)
must be a flow for the demand b(λ). If we choose λ1>λ0such that for all λλ0the flow x
ˆλ0(λ)
does not exceed the next breakpoint of the marginal cost function fe, then
fe(xe(λ)) =fe(x
ˆe(λ0))+(λλ0)a+
ex
e=(︁πw(λ0)πv(λ0))︁+(λλ0)(︁φ
wφ
v)︁=φ
w(λ)φ
v(λ)
for all edges e=(v,w) with x
e0 and
fe(xe(λ)) =fe(x
ˆe(λ0))+(λλ0)a
ex
e=(︁πw(λ0)πv(λ0))︁+(λλ0)(︁φ
wφ
v)︁=φ
w(λ)φ
v(λ).
In other words, xand φsatisfy the optimality conditions of the electrical flow problem from
Eq. (4.2). By uniqueness of the electrical flow, x(λ)=x
ˆ(λ). If the potential φis normalized to
φ
v1=0, then also φ(λ)=π(λ).
The optimal solution (y,z) can be written as a solution of a system of at most 2mlinear
equations, namely the binding equalities from the Karush-Kuhn-Tucker conditions above. With
Cramers rule we can express the solution of this system as rational numbers whose denominators
are the determinant of the coefficient matrix. Bounding this determinant with Hadarmards in-
equality yields that all entries in the solution vector are rational numbers with a common denom-
inator in O(M2m), where Mis the largest coefficient. Hence, if we compute a solution with 1
M2m-
precision, the solution must be exact. As stated above, this is possible in O(︂poly(n)mlog(︁M)︁)︂.
Chapter 4. Parametric Computation of Electrical Flows 81
non-degenerate degenerate
homogeneous O(n2.375 +n2L)O(n2.375 +poly(n)L)
non-homogeneous O(poly(n)+n2L)O(poly(n)L)
Table 4.1: Runtime of the parametric algorithm in different settings. Ldenotes the number of
breakpoints of the output electrical flow function.
4.7 Complexity
The runtime of the parametric computation of electrical flows with the parametric algorithm
hinges on the complexity of the electrical flow functions that it computes. In the non-degenerate
case, Algorithm 2computes exactly one non-trivial function part of the piecewise linear electrical
flow function λ↦→x
ˆ(λ) in every iteration.
Lemma 4.12. Every iteration of Algorithm 2takes O(n2)time.
Proof. In every iteration, we assume that we are already given the pseudo inverse L
tof the Lapla-
cian matrix. The computation of the direction πtand the offset πtmainly depend on the multi-
plication of an n×n-matrix with an n-dimensional vector which can be done in O(n2) time. The
same holds for the computation of the new function part of x
ˆ(λ)—note that we only need again
an offset flow vector and a flow direction vector (the offset and the slope of the linear part) to fully
characterize the new function part. These vectors are the result of a matrix-vector-multiplication
as well. The update formula of the pseudo inverse from Theorem 4.3 also depends only on vector
matrix multiplication and additions of n×n-matrices. Finally, we need to compute λmax
tvia the
values λt(e) and λt(e). Since the vector γecontains only two non-zero entries, any product of vec-
tors γ
evcan be carried out in constant time. Therefore, for every edge eE, the values λt(e) and
λt(e) can be computed in constant time via the formulas from the proof of Theorem 4.1. Thus,
λmax
tand the boundary edge can also be computed in O(m)=O(n2) time.
For the initialization of Algorithm 2we need to compute the inverse L
t0. Since computing
the inverse of a matrix can be reduced to matrix multiplication (see, e.g., [22, Thm. 28.8]), the
initialization takes O(n2.375) using fast matrix-multiplication, e.g., with the algorithm by Copper-
smith and Winograd [21]. Finding the initial region takes O(n2log(t
¯)) time, where t
¯is the max-
imum number of breakpoints of the marginal cost functions. Therefore, the initialization takes
O(n2.375) time. Denote the number of breakpoints of this function by L. Then, by Lemma 4.12 the
overall runtime of the basic algorithm is O(︁n2.375 +n2L)︁. The algorithm therefore runs in output
polynomial time.
In case of a degenerate instance, we can apply the lexicographic rule. This increases the com-
plexity of every iteration to O(n4) since it requires the computation of at most O(m)-many vectors
me,twhich itself requires a matrix-vector-multiplication. Overall, the use of the lexicographic rule
cannot guarantee an output-polynomial runtime since the iterations corresponding to steps of
the lexicographic rule do not correspond to function parts of the output functions. In order to
overcome this issue and to ensure an output polynomial runtime, the next region and its poten-
tial direction can be computed solving the quadratic program from Eq. (4.14) which is possible
82 4.7. Complexity
in O(poly(n)) time by Theorem 4.11. Finally, in case of non-homogeneous marginal cost or affine
linear demand functions it might be necessary to compute a non-trivial initial potential π0. As for
the lexicographic rule, using Phase I cannot guarantee an output polynomial runtime since the
iterations during Phase I do not correspond to parts of the output. However, if the initial potential
is computed with the strongly-polynomial algorithm by Végh [110] as described in Section 4.4, an
output polynomial runtime is still possible. Note that discontinuous marginal cost have no in-
fluence on the runtime since ambiguous regions can be skipped in O(n2) time by Theorem 4.10.
Table 4.1 summarizes the complexity of the parametric algorithm in all different settings. All run-
times so far depend on the number of function parts Lof the output function λ↦→x
ˆ(λ). Hence,
whether the electrical flow function can be computed in polynomial time depends on the size
of this number. As it will turn out, this number is in general exponential in the size of the in-
put graph and number of function parts of the input functions. However, for the special case of
series-parallel graphs, we can prove polynomial runtime.
4.7.1 Complexity of the electrical flow functions in series-parallel graphs
As a special case with guaranteed polynomial runtime for our algorithms, we consider parametric
s-t-flows in series-parallel graphs. To this end, assume that Gis a series-parallel graph with two
terminals sand t. Consider b=(︁bv)︁vVwith bs=1, bt=1, and bv=0 for all v= s,tand the
demand function b(λ)=λbmodeling all demands of s-t-flows. We show that in this setting the
number of function parts Lof the electrical flow function and, hence, also the runtime of the
electrical flow algorithm is polynomial in the size of the instance.
Theorem 4.13. If G is a series-parallel graph with terminals s and t and the demand function
λ↦→b(λ)maps only to s-t-flows, then L O(︁t
¯m)︁, where t
¯:=maxeEt
¯eis the maximum number of
breakpoints of the marginal cost functions.
Proof. We follow the definition of Duffin [31] and call two edges e,eE confluent if there are no
two (undirected) simple cyclesC1,C2containing both edges inGsuch that e,ehave the same ori-
entation in C1and a different orientation in C2. Further, an edge is s-t-confluent if it is confluent
with the (virtually added) edge (t,s).
Claim. A two-terminal graph Gis series-parallel if and only if all edges are s-t-confluent.
Proof of the claim. Duffin showed that a graph is series-parallel if and only if all pairs of edges
e,eE{(t,s)} are confluent, see Theorem 2 in [31]. Hence, we only need to show that all edges
inGare s-t-confluent if and only if all pairs of edges e,eE{(t,s)} are confluent. The if direction
follows immediately. For the only-if direction assume there are two edges e=(v,w),e=(v,w)
that are not confluent. Since Gis a two-terminal graph, there are s-t-paths P1,P2, where eis
contained in P1and eis contained in P2. Without loss of generality we assume that both edges
are contained in the respective paths in forward orientation. This means, P1=(s,x1,v,w,x2,t)
and P2=(s,x3,v,w,x4,t) where x1,x2,x3,x4are some sequences of vertices. By the assumption
that e,eare not confluent, there must exists two cycles with C1=(v,w,x5,v,w,x6,v) and C2=
(v,w,x7,w,v,x8,v) where, again, x5,x6,x7,x8are some sequences of vertices. But then we can
create the cycles C3:=(s,x1,v,w,x2,t,s) and C4:=(s,x3,v,x5,w,v,x6,w,x4,t,s) that include e
Chapter 4. Parametric Computation of Electrical Flows 83
s
v
w
t
fe1
fe2
fe3
fe4
fe5
(a) Braess graph.
r1
r4
s
r2
r5
t
v1
r3
v2
(b) Wheatstone bridge.
Figure 4.8: The Braess graph (a) with marginal cost functions and its electrical equivalent, the
Wheatstone bridge (b) with resistors r1,...,r5and an artificial edge from tto swith a power
source.
and the (virtual) edge (t,s) in different orientations, yielding a contradiction to the assumption
that eis s-t-confluent.
Theorem 0 from [31] implies that bencodes an s-t-flow in a series-parallel graph if and only
if the sign of flow xe=f1
e(︁γ
eLb)︁is independent of the weights in the Laplace matrix L. This
means, for all regions Rt, the sign of xe=f1
e(︁γ
eπt)︁is the same and therefore independent of
the region. Hence, every breakpoint is only crossed once and therefore there are at most as many
boundary crossings as the total number of breakpoints of all marginal cost functions.
Theorem 4.13 states that the number of breakpoints of the output function is polynomial in
the size of the graph and the number of breakpoints of the input function if an s-t-flow is com-
puted in a series-parallel graph. Hence, the parametric algorithm runs in input polynomial time
in this case. Note that the proof of Theorem 4.13 implies the even stronger result that the number
of boundary crossings of the solution curve is polynomial in the input size. This implies that even
in the degenerate case or in the case of non-homogeneous marginal costs the lexicographic rule
and Phase I, respectively, yield polynomial runtimes.
4.7.2 Complexity of the electrical flow functions in general graphs
Series-parallel graphs guarantee a polynomial number of breakpoints Lof the electrical flow
functions. The key feature that we used in the proof of Theorem 4.13 is that a graph is series-
parallel if and only if all edges are confluent with a virtual edge from the sink to the source. This
is equivalent to the fact that the sign of the derivative of the flow xeis independent of the Lapla-
cian matrix and, thus, also independent of the region. In turn, this equivalence implies that every
non-series-parallel graph must allow for choices of e,λ1,λ2, and marginal cost functions fesuch
that the flow xeis increasing for λ1and decreasing for λ2.
The smallest non-series-parallel graph is the graph depicted in Fig. 4.8a that we refer to as
the Braess graph, named after Dietrich Braess who described a paradoxical traffic network using
this particular graph. In the Example by Braess [10], given the correct marginal cost functions,
84 4.7. Complexity
the overall travel time of all drivers in a traffic network can be improved if the middle edge is
removed from the network. This counterintuitive behavior is closely related to the property of
increasing and non-increasing flow described above. In fact, the edge whose removal can im-
prove the performance of the network is exactly the edge that has a non-monotone flow function
λ↦→x
ˆe(λ). We compute the electrical flow functions explicitly for a network on the Braess graph
in the subsequent section. The electrical network equivalent to the Braess network is the Wheat-
stone Bridge depicted in Fig. 4.8b. Duffin [31, Thm. 1] shows that the Wheatstone bridge is indeed
the forbidden minor for series-parallel graphs.
Since general graphs can have non-monotone electrical flow functions λ↦→ x
ˆe(λ), it is pos-
sible in theory to reach an exponential number of combinations of breakpoints/function parts
of the marginal cost functions of all edges with this property leading to an exponential number
of feasible regions. We will construct such a family of graphs by using the Braess graph as the
main building block. The middle edge in the Braess graph has positive flow for small demands,
while it has negative flow for large demands leading to a sign change of the flow on this edge.
(See the example in Section 4.8 for a concrete example of this behavior of the Braess graph.) If
we replace the middle edge with a new Braess graph, we can trigger this sign change twice: Once
when the flow on the inner component increases and once when it decreases. If we then use this
graph again as replacement for the middle edge of another Braess graph, we can trigger the sign
change of the flow on the innermost edge already four times. Hence, by nesting many Braess
graphs, we obtain a network where the sign of the electrical flow function changes exponentially
many times. A similar construction has also been used before by Disser and Skutella [29] to show
that the successive shortest path algorithm is NP-mighty, meaning that the algorithm implicitly
solves NP-hard problems while solving the maximum flow problem.
We define the family of nested Braess graphs GB:=(GB
j)j1as follows. The j-th nested Braess
graphGB
j:=(VB
j,EB
j) has the vertex setVB
j:={v0,v1,v2,...,v2j,v2j+1} with n=2j+2 vertices. The
edge set consists of three different types of edges EB
j:=E1
jE2
jE3
jwith
E1
j:={︁(vi,vi+1)|i{0,...,2j}\{j}}︁,
E2
j:={︁(vi,v2ji)|i{0,..., j1}}︁,{︁(vi+1,v2j+1i)|i{0,..., j1}}︁
E3
j:={︁(vj,vj+1)}︁.
We use the vertex s:=v0as source and the vertex t:=v2j+1as sink and consider s-t-flows of
demand λin this network, i.e., the demand function is λ↦→b(λ) with bs(λ)=λ,bt(λ)=λ, and
bv(λ)=0 for all v=s,t. Finally, we equip the edges with the marginal cost functions
fe(x)=f(x) :=xfor all eE1
j,
fe(x)=gi(x) :={︄10i1
ϵxif xϵ,
ϵx+10i1ϵ2if x>ϵ
for all (vi,v2ji),(vi+1,v2j+1i)E2
j,
i=0,..., j1,
fe(x)=h1(x) :=ϵxfor e=(vj,vj+1)E3
j,
where 0 <ϵ<1
100 is assumed to be some small number. Fig. 4.9 shows two examples of nested
Braess graphs for j=1 and j=3. In particular, the first nested Braess graph GB
1is the classical
Chapter 4. Parametric Computation of Electrical Flows 85
s
v2
v1
t
g1(x)
x
ϵx
x
g1(x)
(a) First nested Braess graph GB
1.
s
w
v
t
gj(x)
x
hj(x)
x
gj(x)
(b) Recursive structure.
s
v6
v1
t
v2v5
v3
v4
g3(x)
x
x
g3(x)
xg2(x)
g2(x)x
x
g1(x)
ϵx
g1(x)
x
(c) Third nested Braess graph GB
3.
Figure 4.9: The nested Braess graphs GB
1for j=1 (a) and j=3 (c) with marginal cost functions.
(c) The recursive structure of nested Braess graphs: The j-th nested Braess graph can be seen as
a Braess graph with marginal cost function gj(x) and xon the outer edges and a marginal cost
function hj(x) on the middle edge. The middle edge and its marginal cost function replace the
inner part of the network.
Braess graph. It is easy to see that the nested Braess graphs exhibit the following, recursive struc-
ture. For j2 and 1 pj1, denote byGB
j[︁Vp
j]︁the subgraph of the j-th Braess graph induced
by the subset of vertices Vp
j:={︁vp,vp+1,...,v2j+1p}︁. Then, by definition, GB
j[︁Vp
j]︁=GB
jp. We
can exploit this recursive structure when analyzing electrical flows in larger nested Braess net-
works. We view the j-th nested Braess network as a normal Braess graph where the marginal cost
function of the middle edge that we denote by hj(x) models the behavior of the whole inner com-
ponent, see Fig. 4.9b. When considering the recursive structure, we refer to the vertex v1as vand
to the vertex v2jas w. Further, we use the edge names e1=(s,v),e2=(s,w),e3=(v,w),e4=(v,t),
and e5=(w,t). Further, for shorter notation, we use x1,x2,...,x5as short forms for the electrical
flows on the respective edges e1,...,e5in the network.
Lemma 4.14. Let x=(x1,...,x5)be an electrical flow for parameter λin the j-th nested Braess
graph. Then, the flow is symmetric, meaning that x1=x5and x2=x4. Further, |x1|,|x2|≤|λ|.
Proof. The flow conservation requires that x5x2=x3=x1x4. Further, the equilibrium condi-
tions from Corollary 3.7 imply that f(x1)+gj(x4)=gj(x2)+f(x5). Assume that x1>x5. Then the
flow conservation implies also x4>x2. Since the functions fand gjare strictly increasing this
would imply f(x1)+gj(x4)>gj(x2)+f(x5) leading to a contradiction. The assumptions x1<x5
and x2=x4lead to the same contradiction.
For the second part, assume that for λ>0 we have x1>λ. Then, by flow conservation we
86 4.7. Complexity
obtain x1>λ=x1+x2=2x1x3and, thus, x2<0<x3. This implies that f(x1)+hj(x3)>0>
gj(x2) contradicting the equilibrium conditions. All other cases of |x1|,|x2|≤|λ|lead to the same
contradiction.
Lemma 4.14 describes the obvious fact that an electrical flow in the j-th nested Braess net-
work (or, more precisely, in the abstracted version as in Fig. 4.9b) is described by only three vari-
ables: x1,x2, and x3which represent the amount of flow entering at the upper edge and the lower
edge, and the amount of flow in the inner component represented by edge e3. Flow conserva-
tion and equilibrium conditions from Corollary 3.7 for an electrical flow for parameter λcan be
simplified to
x1=x2+x3,
λ=x1+x2,
gj(x2)=f(x1)+hj(x3).
Since the j-th nested Braess network is reused as a subcomponent in the higher nested Braess
networks, we will encounter cases where a negative amount of flow enters the subcomponent.
Therefore, we will also study the behavior of the networks for negative parameter values λ<0
and deviate from our convention that λ0. This does not change any properties of the electrical
flows.
Lemma 4.15. Let j 1and let x=(x1,...,x5)be an electrical flow in the j-th nested Braess graph
for parameter λ.
(i) Let hj+1(λ) :=πt(λ)πs(λ)=f(x1)+gj(x2)be the potential difference of the whole j-th nested
Braess network. In particular, this is the marginal cost function of the inner component in the
j+1-th nested Braess network. Then, hj+1(0) =0, hj+1is strictly increasing, and
hj+1(λ)10jϵ2
21+ϵ
2λif 0λ5
2
10j1ϵ2
1ϵ.
(ii) If λ<0, then x3<0.
(iii) If λ=10j1ϵ2
1ϵ, then x35
210j2ϵ2
1ϵ.
(iv) If λ>210j1ϵ2
1ϵ, then x3<0.
Proof. The marginal cost function of the whole j-th nested Braess network is obviously the sum
of f(x1)+gj(x2). Since all marginal cost functions are homogeneous, the zero flow is the electrical
flow for λ=0 and, thus, hj+1(0) =0. Further, the derivative of hj+1(λ)=πt(λ) is defined almost
everywhere and is πt, i.e., the t-th entry of the vector πt=Lb. Since bhas two non-zero
entries (1 for v=sand 1 for v=t) the vector πtis just the t-th row of the pseudo inverse of
the Laplacian matrix L. With Lemma 2.5 it follows that πtmust be positive and therefore hj+1
is strictly increasing.
Chapter 4. Parametric Computation of Electrical Flows 87
Note that gj(x)ϵx+10j1ϵ2by definition. By Lemma 4.14, we get that x1,x2λ. Assume
that 0 λ5
210j1ϵ2
1ϵ. Then, we obtain
hj+1(λ)=f(x1)+gj(x2)ϵx2+10j1ϵ2+x110j1ϵ2+(1+ϵ)λ
=10j1ϵ2+3
2(1+ϵ)λ10jϵ2
2+10jϵ2
21
2(1+ϵ)λ
10j1ϵ2+15
4(1+ϵ)10jϵ2
1ϵ10
2(10j1ϵ2)9
2ϵ2+10j1ϵ2
21
2(1+ϵ)λ
31ϵ1
4(1ϵ)(10j1ϵ2)+10jϵ2
21
2(1+ϵ)λ
ϵ<1
100
10jϵ2
21
2(1+ϵ)λ.
This proves (i). We note, that all properties of (i) also hold for j=0, i.e., for the function h1(x)=ϵx.
The flow conservation implies that
x1=λ+x3
2and x2=λx3
2.
Let λ<0. Assume that x30. Then x2λ
2<0 and x2x1and we obtain
0(i)
hj(x3)=gj(x2)f(x1)=10j1
ϵx2x110j1ϵ
ϵx2<0
which is a contradiction. Hence, (ii) follows.
Let λ>210j1ϵ2
1ϵand again assume that x30. Then, x2λ
2and x1λ
2, and we obtain
0(i)
hj(x3)=gj(x2)f(x1)gj(︃λ
2)︃f(︃λ
2)︃=ϵλ
2+10j1ϵ2λ
2=10j1ϵ21ϵ
2λ<0
which is a contradiction proving (iv).
Finally, let λ=10j1ϵ2
1ϵ. Assume that x3<α:=5
210j2ϵ2
1ϵ. Then, we obtain,
hj(x3)=gj(x2)f(x1)>gj(︃λα
2)︃f(︃λα
2)︃=ϵλα
2+10j1ϵ2λα
2
=10j1ϵ21ϵ
2λ1+ϵ
2α=10j1ϵ2
21+ϵ
2α(i)
hj(α)>hj(x3)
which, again, is a contradiction proving (iii).
Consider the j-th nested Braess network. The properties (ii)(iv) from Lemma 4.15 show that
the amount of flow x3that is routed through the inner component is increasing from x3=0 at
λ=0 to at least x3=5
210j2ϵ2
1ϵat λ=10j1ϵ2
1ϵ. Then the flow in the inner component decreases
to below zero for λ>210j1ϵ2
1ϵ. Using the lemma recursively, this implies that in the inner com-
ponent which is the j1-th nested Braess network, the flow in in the inner component must
increase initially, then decrease, increase again and decrease again. Overall, by recursion, we
obtain that the flow on the innermost edge e=(vj,vj+1) must change at least 2jtimes from in-
creasing to decreasing. Hence, the electrical flow function λ↦→x
ˆ(vj,vj+1)(λ) must have at least 2j
breakpoints and we obtain the following result.
Theorem 4.16. For every j 1, the electrical flow function λ↦→ x
ˆ(λ)for the j-th nested Braess
network GB
jwhich has n =2j+2O(j)many vertices has L (2j)many breakpoints.
88 4.8. An example for the parametric computation of electrical flows
s
v
w
t
2x
e1
{︄5x x <1
x+4x1
e2
{︄9
2x x <0
x x 0
e3
{︄5x x <1
x+4x1
e4
2x
e5
(a) Graph with marginal costs.
πv
πw
1 2 3 4 5 6 7 8 9
1
2
3
4
5
6
7
8
9
πwπv=0
πwπs=5
πtπv=5
for πt=9π(λ)
(b) Potential space and graph of π(λ).
Figure 4.10: Graph with marginal cost (a) and a projection of the potential space with the solution
curve π(λ) (thick line) and the boundaries of the regions (dashed).
4.8 An example for the parametric computation of electrical flows
In the final section of this chapter, we present a concrete example for the computation of the
electrical flow function with the algorithm described in this chapter. We use the Braess graph
introduced in the previous section with the marginal cost functions depicted in Fig. 4.10.
Example. Consider the graph from Fig. 4.10a with the given marginal cost functions. Throughout
this example, we use the convention that in every vector indexed by vertices, the vertices are
ordered s,v,w,t, i.e., for example, a potential vector is denoted by π=(πs,πv,πw,πt). We want
to compute the electrical flow function for the demand function for s-t-flows of rate λ, i.e., we
consider the demand function
b(λ) :=λ
1
0
0
1
.
The cost functions of the edges e1=(s,v) and e5=(w,t) have no breakpoint, and the cost func-
tions of the edges e2=(s,w), e3=(v,w), and e4=(v,t) have one breakpoints each. Therefore,
there are overall eight combinations of function parts and, thus, eight regions Rt. The boundaries
of the regions are the hyperplanes in the potential space defined by the equalities
πwπt=fe2(1) =5,
πwπv=fe3(0) =0,
πtπv=fe4(1) =5.
Fig. 4.10b shows the projection (πs,πv,πw,πt)↦→ (πv,πw) of the potential space including the
solution curve in blue and the dashed boundaries of the regions. Note, that the boundary induced
by e4is depicted only for the value πt=9.
Chapter 4. Parametric Computation of Electrical Flows 89
Initialization. All cost functions are homogeneous, therefore the potential π(0) =(0,0,0,0)
is the optimal potential for the electrical flow x
ˆ(0) =(0,0,0,0,0)for λ=0. There are two regions
that contain the zero potential (since the marginal cost function of e3has a breakpoint at x=0).
We can use the method described in the proof of Lemma 4.5 to find an the initial region Rt. This
would yield in this case the region Rtwith t=(1,1,1,1,1). Since this region is only valid for λ=0
we forgo the exact computations for this region and start this example with the region Rt1with
t1=(1,1,2,1,1)which is also a valid starting region.
Iteration 1. We start in the region Rt1with t1=(1,1,2,1,1). The slopes of the marginal costs
are (︁ae,t1
e)︁eE=(2,5,1,5,2)and the offsets of the cost functions are (︁be,t1
e)︁eE=(0,0,0,0,0).
Therefore, we obtain the following matrices and vectors for the first region.
t CtdtLtL
tπtπt
1
1
2
1
1
1
20 0 0 0
01
50 0 0
0 0 1 0 0
0 0 0 1
50
0 0 0 0 1
2
0
0
0
0
0
7
10 1
21
50
1
217
10 11
5
1
5117
10 1
2
01
51
27
10
0 0 0 0
094
63 80
63 4
3
080
63 115
63 5
3
04
35
33
0
4
3
5
3
3
0
0
0
0
We continue by computing the values λt(e) and λt(e) for all edges. The values at the break-
points of the marginal cost functions for this region are (︁σe,t1
e)︁eE=(−∞,−∞,0,−∞,−∞)and
(︁σe,t1
e+1)︁eE=(,5,,5,−∞). (Note that, since the marginal costs of e1,e3,e5have no break-
points, they only have the artificial breakpoints at −∞ and and therefore never contribute in
the computations.) With the respective potential differences of πtand πtwe obtain
λmin
t1=max{︁−∞,−∞,0,−∞,−∞
⏟⏟
=λt(e)
,0}︁=−∞ and λmax
t1=min{︁,3,,3,
⏟⏟
=λt(e)}︁=3.
Hence, the solution segment in region Rt1is
Πt1={︂λ(︂0, 4
3,5
3,3)︂
⏟⏟
=π(λ)λ[0,3]}︂.
Using the formula x=f1(︁Γπ)︁=Ct1Γπdt1we can compute the minimum cost flow function
in this region as
x
ˆ(λ)=f1(︁Γπ(λ))︁=λ
3(2,1,1,1,2),λ[0,3].
In order to find the next region, we determine the boundary edges E
t1=e2,e4since these two
edges induce the minimum in the computation of λmax
t1. The boundary edge is not unique, hence
we need to use the lexicographic rule to find a unique next region. To this end, we compute the
vectors me,t1for all boundary edges with the formula
m
e,t1:= 1
γ
eπt1
γ
eL
t1Lt.
90 4.8. An example for the parametric computation of electrical flows
With t=t1, since Rt1is the initial region, we obtain that L
t1Lt=
0000
0100
0010
0001
and, thus,
m
e2,t1=(︂,0,3
5,0)︂Lm
e4,t1=(︂,3
5,0,3
5)︂.
Note that we replaced the first components of the vector with since, by Theorem 4.7, we only
compare the vectors without the first component. By the lexicographic rule, we choose the bound-
ary edge e2and the next region is Rt2with t2=(1,2,2,1,1).
Iteration 2. In the second iteration we obtain the following matrices and vectors.
t CtdtLtL
tπtπt
1
2
2
1
1
1
20 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1
50
0 0 0 0 1
2
0
4
0
0
0
3
21
21 0
1
217
10 11
5
115
21
2
01
51
27
10
0 0 0 0
030
31 16
31 20
31
016
31 23
31 21
31
020
31 21
31 65
31
0
20
31
21
31
65
31
0
64
31
92
31
84
31
We compute the maximal parameters as
λmin
t2=max{︁−∞,3,28,−∞,−∞
⏟⏟
=λt(e)
,0}︁=3 and λmax
t2=min{︁,,,3,
⏟⏟
=λt(e)}︁=3
and, therefore the solution segment
Πt2={︂(︂0, 64
31,92
31,84
31)︂+λ(︂0, 20
31,21
31,65
31)︂
⏟⏟
=π(λ)λ[3,3]}︂
consists of only one point. Therefore, this iteration and this region do not contribute to the output
function. There is a unique boundary edge e4leading to the next region Rt3with t3=(1,2,2,2,1).
Iteration 3. In the third iteration we obtain the following matrices and vectors.
t CtdtLtL
tπtπt
1
2
2
2
1
1
20 0 0 0
0 1 0 0 0
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
2
0
4
0
4
0
3
21
21 0
1
25
211
115
21
2
011
23
2
0 0 0 0
014
15 8
15 4
5
08
15 11
15 3
5
04
53
57
5
0
4
5
3
5
7
5
0
8
5
16
5
24
5
We compute the maximal parameters as
λmin
t3=max{︁−∞,3,−∞,3,−∞
⏟⏟
=λt(e)
,0}︁=3 and λmax
t3=min{︁,,8,,
⏟⏟
=λt(e)}︁=8
Chapter 4. Parametric Computation of Electrical Flows 91
λ
x
ˆe(λ)
1 2 3 4 5 6 7 8 9
1
2
3
4
5
x
ˆe1(λ)=x
ˆe5(λ)
x
ˆe2(λ)=x
ˆe4(λ)
x
ˆe3(λ)
Figure 4.11: The electrical flow functions for the graph from Fig. 4.10a.
and, therefore the solution segment is
Πt3={︂(︂0, 8
5,16
5,24
5)︂+λ(︂0, 4
5,3
5,7
5)︂
⏟⏟
=π(λ)λ[3,8]}︂.
We obtain the following part of the electrical flow function
x
ˆ(λ)=f1(︁Γπ(λ))︁=1
5(4,4,8,4,4)+λ
5(2,3,1,3,2),λ[3,8].
Again, there is a unique boundary edge e3leading to the next region Rt4with t4=(1,2,1,2,1).
Iteration 4. In the fourth iteration we obtain the following matrices and vectors.
t CtdtLtL
tπtπt
1
2
1
2
1
1
20 0 0 0
01000
0 0 2
90 0
00010
0 0 0 0 1
2
0
4
0
4
0
3
21
21 0
1
231
18 2
91
12
931
18 1
2
011
23
2
0 0 0 0
07
65
12 11
12
05
12 19
24 13
24
011
12 13
24 35
24
0
11
12
13
24
35
24
0
2
3
11
3
13
3
We compute the maximal parameters as
λmin
t4=max{︂−∞,32
13,8, 32
13,−∞
⏟⏟
=λt(e)
,0}︂=8 and λmax
t4=min{︁,,,,
⏟⏟
=λt(e)}︁=3
and, therefore the solution segment is
Πt4={︂(︂0, 2
3,11
3,13
3)︂+λ(︂0, 11
12,13
24,35
24)︂
⏟⏟
=π(λ)λ[8,)}︂.
92 4.8. An example for the parametric computation of electrical flows
We obtain the following part of the electrical flow function
x
ˆ(λ)=f1(︁Γπ(λ))︁=1
3(1,1,2,1,1)+λ
24 (11,13,2,13,11),λ[8,).
The maximal parameter value of this region is infinity, hence, we stop and have computed the
whole minimum cost flow function, depicted in Fig. 4.11.
93
5Parametric Computation of
Minimum Cost Flows
In the previous chapter, we have developed an algorithm that solves the parametric electrical
flow problem. Now, we again consider the parametric minimum cost flow problem
min ∑︂
eE
Fe(xe)
s.t. Γx=b(λ)
x0
(5.1)
for, in the most general case, convex edge costs Fe. For the special case of (piecewise) quadratic
cost functions, the parametric minimum cost flow problem can be viewed as the directed variant
of the electrical flow problem discussed before. We will see that we can model directed edges as a
special case of the electrical flow problem where we set the edge cost to and the marginal cost
to −∞for x<0. Also, we can adjust the parametric algorithm from the electrical flow case easily
to also work for these edge costs.
One big advantage of (piecewise) quadratic cost functions is that they guarantee the existence
of rational solutions whenever all coefficients are rational, allowing the computation of exact
solutions. This immediately follows since the optimal solution is characterized by a system of
linear equations from the KKT-conditions. For general convex cost functions, the minimum cost
flows may be irrational rendering the computation of an exact solution impossible. Therefore, we
only seek to compute approximate solutions in this case. We present two methods to achieve this
goal. For our first method, we will approximate the cost functions with piecewise quadratic costs
and use the parametric algorithm for this case. The second approach is based on approximate
solutions for fixed parameter values and the interpolation of the these solutions.
Chapter Outline
We begin in Section 5.1 by generalizing the electrical flow algorithm from the previous chapter to
minimum cost flows with piecewise quadratic cost functions. To this end, we use discontinuous
marginal cost to model hard lower and upper edge capacities. In Section 5.1.1, we generalize the
quadratic programming approach from Section 4.6 to the multi-commodity case, allowing us to
also solve parametric multi-commodity minimum cost flows.
94 5.1. Parametric Minimum Cost Flows for Piecewise Quadratic Costs
The main part of this chapter, Section 5.2, is concerned with the parametric minimum cost
flow problem with general convex cost. We develop two approximate solution methods. In Sec-
tion 5.2.1, we present the method of marginal cost approximation (MCA). This method solves a
parametric minimum cost flow problem with general convex costs by approximating the mar-
ginal costs with linear splines and then solving the resulting instance with piecewise quadratic
costs. The second method, minimum cost flow interpolation (MCFI), is discussed in Section 5.2.2.
This method solves the parametric problem by computing (approximate) solutions for fixed pa-
rameter values and then interpolating the flow functions. For both methods, we provide step
size rules for the respective interpolations that guarantee bounds on the absolute and relative
approximation error.
Finally, in Section 5.3, the aforementioned methods are tested in a computational study on
directed and undirected minimum cost flow instances originating from real-world traffic and gas
flow instances.
Bibliographic Information The results presented in this chapter are joint work with Per Jo-
achims and Max Klimm. The results from Section 5.1 are published in Mathematics of Operations
Research [73] in a paper titled Parametric Computation of Minimum Cost Flows with Piecewise
Quadratic Costs. A preliminary version of this work was already published as an extended ab-
stract in the Proceedings of the Thirtieth Annual ACM-SIAM Symposium on Discrete Algorithms,
2019 [71]. Sections 5.2 and 5.3 are part of a publication titled Approximate Parametric Computa-
tion of Minimum Cost Flows with Convex Costs that is currently in preparation, a preprint is avail-
able at [61]. A python package that implements the algorithms presented in this and the previous
chapter including its documentation is available under the name paminco on GitHub [60].
5.1 Parametric Minimum Cost Flows for Piecewise Quadratic Costs
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
xu
Assumptions
Piecewise-linear, strictly increasing marginal costs fe
Piecewise-linear demand function b(λ)
Extension: Handling of hard lower and upper edge capacities.
The minimum cost flow problem from Eq. (5.1) with piecewise quadratic cost functions Fe
can be viewed as a special case of the parametric electrical flow problem with piecewise linear
resistances. If the edge costs are piecewise quadratic, then the marginal costs feare piecewise
linear. The only difference is that, in the minimum cost flow problem, we have (lower) bounds
for the flow. The following theorem proves that bounds on the edge flow can be modeled with
piecewise functions that may take infinite values.
Chapter 5. Parametric Computation of Minimum Cost Flows 95
fe(x)
x
eue
σe,1
σe,2
(a) Marginal cost function.
f1
e(y)
y
σe,1 σe,2
e
ue
(b) Inverse marginal cost function.
Figure 5.1: A discontinuous characteristic function femodeling a lower edge capacity of eand
an upper edge capacity of ue. (a) The characteristic function with fe(x)= −∞ for x<eand
fe(x)=for x>ue. (b) The (pseudo-)inverse characteristic function f1
e.
Theorem 5.1. Let =(︁e)︁eEand u=(︁ue)︁eEwith euebe lower and upper capacities for the
edges. Then, the flow x
ˆRmis the unique optimal solution to
min ∑︂
eE
Fe(xe)s.t. Γx=bxu(5.2)
if and only if x
ˆis the unique optimal solution to
min ∑︂
eE
Fe
˜(xe)s.t. Γx=b, (5.3)
where Fe
˜(x) :=∫︂x
e
fe
˜(s)ds with
fe
˜(x)=
−∞ if x <e,
fe(x)if exue,
if x >ue
with the convention that the integral over the infinite parts is also infinite.
Proof. The optimal solution to (5.2) has finite value in (5.3) and therefore is also an optimal so-
lution for (5.3). Conversely, every optimal solution of (5.3) must be feasible in (5.2), otherwise it
would have infinite value. Buth then it must also be an optimal solution to (5.2).
If the marginal cost functions are piecewise linear, then the adjusted marginal costs fe
˜from
Theorem 5.1 are also piecewise linear but with two special pieces at the beginning and the end
where the function fe
˜jumps to infinity. An example is depicted in Fig. 5.1. The jumps to infinity
can be handled as the discontinuities. The inverse marginal cost function fe
˜1then has function
parts with zero slope. The only difference to the setting in Section 4.5 is that these function parts
may extend to infinity. This may lead to situations where the maximum in Eq. (4.11) is infinite
since the ambiguous region can be unbounded to one side. However, it is still possible to find a
neighboring region in the opposite direction. Therefore, the first statement of Theorem 4.9 is still
96 5.1. Parametric Minimum Cost Flows for Piecewise Quadratic Costs
satisfied. The second statement for the case K=1 may not be true for all ambiguous regions since
we can now only guarantee the existence of at most one neighboring non-ambiguous region.
Therefore, also the statement of Theorem 4.10 is not true in all cases. It may happen that we
cannot find a subsequent, non-ambiguous region as claimed in that theorem. Whenever this is
the case, the maximum in Eq. (4.11) is infinite. This implies that there is a cut induced by UV
such that (a) all edges in the cut are inactive, (b) σe,te+1= for all edges eδ+(U), and (c)
σe,te=−∞for all edges eδ(U). This implies that the flow corresponding to the potential at the
boundary to the previous region satisfies x
ˆe=uefor all edges eδ(U) and x
ˆe=efor all edges
eδ+(U), i.e., the cut induced by Uhas no residual capacity and, hence, the flow x
ˆmust be a
maximum flow. This leads to the following corollary.
Corollary 5.2. Let tT
¯such that Rtis feasible and non-ambiguous. Then, either the statement of
Theorem 4.10 is true or the flow x
ˆ(λmax
t)is a maximum flow.
The corollary implies that the parametric algorithm can be also used as a maximum flow al-
gorithm. In fact, it can be viewed as a variant of the Ford-Fulkerson algorithm for the maximum
flow problem that augments the flow on multiple paths rather than one path in the residual net-
work. Therefore, the parametric algorithm can also be compared to the maximum flow algorithm
by Dinic [28] that relies on finding so-called blocking flows that are used to augment the flow on
more than one path simultaneously. In our parametric algorithm, the residual network is imple-
mented implicitly as flow can be decreased on edges that are not at maximum capacity.
Together with the maximum flow x
ˆ(λmax
t) we also obtain a the maximal parameter λmax =
λmax
tfor with the problem is feasible. Conversely, since we consider hard edges capacities, it may
be that there is no feasible flow for the demand b(0). In this case, we first have to find the first
parameter value λmin such that the problem is feasible. This parameter value can be obtained by
solving the linear program
minλs.t. Γx=b(λ), xu.
The overall procedure is summarized in the following pseudo code.
Algorithm 5: Algorithm for parametric minimum cost flows
Input: Directed graph Gwith piecewise linear and strictly increasing marginal cost
functions fe:RR, piecewise linear demand function λ↦→b(λ), lower and upper
edge capacities eue.
Output: Numbers λmin,λmax R0{} s.t. λmin is the minimal and λmax is the maximal
parameter such that problem is feasible and function x
ˆ: [λmin,λmax]Rms.t.
x
ˆ(λ) is an minimum cost flow for all λ0.
set up marginal cost fe
˜(x) as defined in Theorem 5.1;
λmin optimal solution of minλs.t. Γx=b(λ) and xu;
solve parametric electrical problem from Eq. (5.3) for λλmin;
λmax
tλmax
t, where Rtis the last non-ambiguous region during the computation of the
electrical flow;
x
ˆ(λ)electrical flow solving electrical problem from Eq. (5.3);
return x
ˆ(λ);
Chapter 5. Parametric Computation of Minimum Cost Flows 97
5.1.1 Parametric multi-commodity minimum cost flows
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. ΓX=λB
X0
Assumptions
Piecewise-linear, strictly increasing marginal costs fe
kcommodities K={1,...,k}
Linear multi-commodity demand function B(λ)=λB
Extension: Parametric Algorithm for the multi-commodity setting
We can also use the insights from electrical flows to solve the parametric minimum cost flow
problem for piecewise quadratic cost. Although there is no direct way to generalize the approach
via Laplacian matrices to the multi-commodity setting, we still can use the direction computation
approach via convex programming from Section 4.6. Consider the parametric problem
min ∑︂
eE
Fe(xe)=∑︂
eE
Fe(︂∑︂
jK
xe,j)︂
s.t. ΓX=λB(5.4)
X0,
with edge cost Fe(x)=∫︁x
0fe(s)ds with piecewise linear, strictly increasing marginal cost fe. Note
that we only consider the case of linear demand functions of the form B(λ)=λB, However, this
approach can also be generalized to piecewise linear demand functions.
We want to find a multi-commodity mincost flow function λ↦→X
ˆ(λ) such that X
ˆ(λ) is a multi-
commodity minimum cost flow for every λ0. We can use the same approach as in Section 4.6.
Assume we are given a minimum cost flow X
ˆ(λ0) with optimal potentials Π(λ0) for some fixed
parameter λ0. Then, we can solve a quadratic program similar to the one from Eq. (4.14) to
obtain a flow direction X
ˆsuch that X
ˆ(λ0)+(λλ0)X
ˆis an multi-commodity minimum cost
flow for λ[λ0,λ1] for some λ1>λ0. This means, solving the quadratic program yields a flow
derivative that we can use to extend the multi-commodity minimum cost flow function further.
Since we now consider the directed and the multi-commodity case, we have to extend the
quadratic program from Eq. (4.14). Given a flow X
ˆ(λ0) and optimal potentials Π(λ0) for a param-
eter λ0, we define, as in Section 4.6, values
a+
e:=lim
xx
ˆe(λ0)
fe(x)fe(︁x
ˆe(λ0))︁
xx
ˆe(λ0)and a
e:=lim
xx
ˆe(λ0)
fe(x)fe(︁x
ˆe(λ0))︁
xx
ˆe(λ0),
where x
ˆe(λ0)=∑︁jKx
ˆe,j(λ0) is the total flow on edge e. Additionally, we consider the edges sets
EU
j:={︁eE|x
ˆe,j(λ0)>0}︁
EA
j:={︁eE|x
ˆe,j(λ0)=0 and πj
w(λ0)πj
v(λ0)=fe(x
ˆe(λ0))}︁
EI
j:={︁eE|x
ˆe,j(λ0)=0 and πj
w(λ0)πj
v(λ0)<fe(x
ˆe(λ0))}︁
98 5.1. Parametric Minimum Cost Flows for Piecewise Quadratic Costs
for every commodity jK. These sets partition the edges into used,active and inactive edges.
Used edges carry flow of the respective commodity and therefore it is possible to increase or de-
crease flow on these edges when increasing λ. The active edges do not carry flow, hence, flow
cannot be decreased on these edges. Since they are part of the active network and in the support
it is possible to increase flow on these edges. The inactive edges are not in the support and there-
fore do not play a role in the evolution of the equilibrium until they become active. These are ad-
ditional constraints that we need to consider in contrast to the undirected electrical flow case be-
fore. To encode the information about these edges sets into the quadratic program, we introduce
the following matrix notation. For any subset of edges EEwe define the coefficients 1eE:=1
if eEand 1eE=0 if eEfor all eE. Then we define the matrix IE:=diag(︁1e1E,...,1emE)︁.
The, we define the quadratic problem
min 1
2(︁x+)︁A+x++1
2(︁x)︁Ax
s.t. x=∑︂
jK
xj
ΓX=B. (5.5)
IEA
jxj0for all jK,
IEI
jxj=0for all jK.
Note that the first constraint is only used for a more concise notation. The actual optimal solution
to the quadratic problem is a matrix Xwith columns x,j. We denote by xthe total flow asso-
ciated with this multi-commodity flow. The quadratic program has a continuous, strictly convex
objective function and therefore the optimal solution is unique.
Theorem 5.3. There exists λ1>λ0such that
X
ˆ(λ)=X
ˆ(λ0)+(λλ0)Xfor all λ[λ0,λ1],
where Xis the optimal solution of the quadratic program from Eq. (5.5). Further, the exact optimal
solution Xcan be computed on O(poly(n,k)) time.
Proof. First we note that the exact optimal solution of the quadratic program can be found in the
claimed time with the inscribed ellipsoid method [67] and smoothing techniques as described by
Nesterov [84] by the same arguments as in the proof of Theorem 4.11.
The Karush-Kuhn-Tucker conditions for non-smooth optimization problems (see, e.g., [101,
Thm. 3.34]) yield that there exists a dual potential matrix ΦRnand further dual vectors µRm,
0νjRm,jK, and ηjRm,jKthat, together with the unique optimal solution X, satisfy
0X,x(︂1
2(︁x+)︁A+x+)︂+X,x(︂1
2(︁x)︁Ax)︂+µX,x(︂∑︂
jK
xjx)︂
+∑︂
jK(︁φj)︁X,x(︁λ0BΓx)︁∑︂
jK(︁νj)︁X,xIEA
jxj+∑︂
jK(︁ηj)︁X,xIEI
jxjX=X,x=x,φ=φ.
(5.6)
Chapter 5. Parametric Computation of Minimum Cost Flows 99
For xe=0 the above equations are differentiable. Hence, by considering the derivative of Eq. (5.6)
with respect to xe, we obtain for all eEwith x
e=0
µe=a+
ex
eif x
e>0,
µe=a
ex
eif x
e<0. (5.7)
For all edges with x
e=0 we obtain from the subdifferential that µe=a
ˆex
e=0, where a
ˆe
[a
e,a+
e]. Eq. (5.6) is differentiable with respect to Xand we obtain
µ(︁φj)︁Γ(︁νj)︁IEA
j+(︁ηj)︁IEI
jxj=0
by taking the derivative with respect to the column xj. Thus, we get for every edge eEand every
commodity jK
µe=φj
wφj
vif e=(v,w)IEU
j,
µe=φj
wφj
v+νj
eif e=(v,w)IEA
j,
µe=φj
wφj
vηj
eif e=(v,w)IEI
j.
The complementarity conditions imply that νj
e0 with equality if x
e,j>0. This implies
µe=φj
wφj
vif e=(v,w)IEU
j, or e=(v,w)IEA
jand x
e,j>0,
µeφj
wφj
vif e=(v,w)IEA
jand x
e,j=0. (5.8)
We claim that we can extend the multi-commodity minimum cost flow function with the flow X
and the optimal potentials with the potentials Φ. In order to show this, we first define the value
λ1up to which the functions can be extended. To this end let
ϵ1:=min{︃x
ˆe,j(λ0)
x
ˆ
e,jeEU
j,jK:x
ˆ
e,j<0}︃,
ϵ2:=min{︃fe(x
ˆe(λ0))(︁πj
w(λ0)πj
v(λ0))︁
φj
wφj
vµeeEI
j,jK:φj
wφj
vµe>0}︃.
Since we only consider used edges eEU
jfor the computation of ϵ1and inactive edges eEI
jfor
the computation of ϵ2, the values ϵ1and ϵ2are strictly positive. Since we assume that the edge
costs Feare piecewise quadratic, the edge cost and the marginal cost functions have breakpoints
τe,te,te=0,...,t
¯e. For every edge e, denote let τ
eand τ+
ebe the breakpoints such that x
ˆe(λ0)
[︁τ
e,τ+
e)︁if x
e0 and x
ˆe(λ0)(︁τ
e,τ+
e]︁if x
e<0. Then define
ϵ3:=min{︃x
ˆe(λ0)τ
e
x
eeE:x
e<0}︃and ϵ4:=min{︃τ+
ex
ˆe(λ0)
x
eeE:x
e>0}︃.
By definition, ϵ3,ϵ4>0. Finally, we define λ1:=λ0+min{︁ϵ1,ϵ2,ϵ3,ϵ4}︁>λ0. The definition of ϵ1
ensures that no flow becomes negative, the definition of ϵ2ensures that no inactive edge becomes
100 5.1. Parametric Minimum Cost Flows for Piecewise Quadratic Costs
active and ϵ3and ϵ4ensure that no breakpoint of the (marginal) cost is exceeded. Consider the
flow and potential function
X
ˆ(λ)=X
ˆ(λ0)+(λλ0)Xand Π(λ)=Π(λ0)+(λλ0)Φfor all λ[λ0,λ1].
We now claim that for every λ[λ0,λ1] the multi-commodity flow X
ˆ(λ) and the potential Π(λ)
satisfy the conditions of Corollary 3.9. It is easy to see that X
ˆ(λ) satisfies the demands λBand that
X
ˆ(λ)0 by the definition of ϵ1.
Let λ[λ0,λ1] and let e=(v,w)Ebe an edge with x
ˆe,j(λ)>0. This is only possible if eEU
j
or eEA
jand x
e,j>0. Thus, we obtain for these edges
πj
w(λ)πj
v(λ)=πj
w(λ0)πj
v(λ0)+(λλ0)(︁φj
wφj
v)︁
(5.8)
=fe(︁x
ˆe,j(λ0))︁+(λλ0)µe
(5.7)
=fe(︁x
ˆe,j(λ0)+(λλ0)x
e)︁=fe(︁x
ˆe(λ))︁
proving the first condition of Corollary 3.9. Let e=(v,w)Ebe an edge with x
ˆe,j(λ)=0. Then
there are two cases. Either, eEA
jand x
e,j=0 or eEI
j. In the former case, we can use the same
computation as above but with µeφj
wφj
vfrom Eq. (5.8) which yields πj
w(λ)πj
v(λ)fe(︁x
ˆe(λ))︁.
In the latter case, we obtain if φj
wφj
vµe>0 with the definition of ϵ2
πj
w(λ)πj
v(λ)=πj
w(λ0)πj
v(λ0)+(λλ0)(︁φj
wφj
v)︁
fe(x
ˆe(λ0))+µe(λ0)(λλ0)=fe(x
ˆe(λ))
and if φj
wφj
vµe0
πj
w(λ)πj
v(λ)=πj
w(λ0)πj
v(λ0)+(λλ0)(︁φj
wφj
v)︁
πj
w(λ0)πj
v(λ0)+µe(λ0)(λλ0)
=fe(x
ˆe(λ0))+µe(λ0)(λλ0)=fe(x
ˆe(λ))
and, hence, also the second condition of Corollary 3.9 is satisfied. Therefore, as claimed, X
ˆ(λ)=
X
ˆ(λ0)+(λλ0)Xis a multi-commodity minimum cost flow for all λ[λ0,λ1].
Theorem 5.3 gives rise to an parametric algorithm that computes the multi-commodity min-
imum cost flow functions. We can start at λ0=0 with the zero flow and compute a flow direction
X. With this direction we can extend the minimum cost flow function upto λ1as defined in the
proof of Theorem 5.3. Then we can iterate this procedure. The following pseudo-code summa-
rizes the procedure.
Chapter 5. Parametric Computation of Minimum Cost Flows 101
Algorithm 6: Algorithm for parametric multi-commodity minimum cost flows
Input: Directed graph Gwith piecewise linear, convex cost functions Fe:R0R,
multi-commodity demand function B(λ)=λB
Output: Piecewise function X
ˆ:R0Rk×ms.t. X
ˆ(λ) is a mincost flow for all λ0
λmin 0;
X
ˆ(λmin)0;
repeat
compute optimal solution Xof QP in Eq. (5.5) w.r.t. X
ˆ(λmin);
compute λ1as defined in Theorem 5.3;
λmax λ1;
X
ˆ(λ)X
ˆ(λmin)+(λλmin)Xfor λ[λmin,λmax];
λmin λmax;
until λmax =;
return x
5.2 Approximate Parametric Minimum Cost Flows for Convex Costs
Setting
Parametric Problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
xu
for 0 λλmax
Assumptions
Strictly increasing and differentiable marginal costs fe
fe(x)0 for all x>0 and fe(x)0 for all x<0 for all eE
Arbitrary flow bounds eR{−∞} and ueR{−∞}
Piecewise-linear demand function b(λ) such that for all λa
minimum cost flow exists.
Maximal parameter value λmax >0
Extension: Approximate solutions for general convex costs.
In this section, we consider the parametric minimum cost flow for general, convex and dif-
ferentiable edge cost functions. Formally, we consider the parametric problem
min ∑︂
eE∫︂xe
e
fe(s)ds
s.t. Γx=b(λ)
xu
(5.9)
with the following assumptions. We assume, that the marginal costs feare increasing and dif-
ferentiable, ensuring the uniqueness of the solutions. Further, we admit arbitrary flow bounds
eR{−∞} and ueR{} with euefor every edge eE. Hence, the following analysis
covers the directed and the undirected case. In contrast to all previous settings, we constrain the
parameter λwith some fixed upper bound λmax >0 in order to obtain a meaningful definition
of approximate solutions below. For the parameter λ[0,λmax], we consider a piecewise linear
102 5.2. Approximate Parametric Minimum Cost Flows for Convex Costs
demand function λ↦→b(λ) and assume that the problem is feasible for every 0 λλmax. Fi-
nally, we make an additional assumption on the marginal cost fe. We demand that the marginal
costs are non-negative for positive flow values and non-positive for negative flow values. This
ensures that the edge costs are non-increasing for negative flows and non-decreasing for positive
flows. Corollary 3.8 therefore implies that all solutions are cycle-free yielding the trivial bound
x
ˆ(λ)1
2∑︁vV|bv(λ)|on the edge flows. This assumption excludes marginal costs that, for exam-
ple, model active components in electrical networks. We note, that some of the following results
can be weakened as long as an absolute bound on the edge flows exists.
In contrast to the setting of (piecewise) quadratic cost functions from the previous section,
the marginal cost functions are no longer (piecewise) linear. Hence, the minimum cost flows can
no longer be characterized as the solution of a system of linear equations via the KKT-conditions.
This implies that the minimum cost flows may not be rational anymore, even if all coefficients of
the cost functions are rational. That may make it impossible to compute exact solutions to the
minimum cost flow problem. Therefore, we will be only concerned with approximate solutions.
Formally, let λ↦→x
ˆ(λ) be the minimum cost flow function mapping the parameter λto the exact,
optimal solution to Eq. (5.1). Fix some maximal parameter value λmax >0 and some parameters
α>1 and β0. Then, we say a function x
˜(λ) : [0,λmax]Rmis an (α,β)-approximate mini-
mum cost flow function on [0,λmax] if, for every λ[0,λmax], the vector x
˜(λ) is a feasible flow for
demand b(λ) and if
C
˜(λ)αC(λ)+βfor all λ[0,λmax], (5.10)
whereC
˜(λ) :=C(x
˜(λ)) =∑︁eEFe(︁x
˜e)︁denotes the cost of the flow x
˜(λ). Thus, an (α,β)-approximate
minimum cost flow function maps the parameter λto a flow x
˜(λ) that is a feasible flow for de-
mand b(λ) and whose cost exceed the optimal cost at most by a relative factor of αand an abso-
lute error of β.
We proceed by developing two methods to compute approximate minimum cost flow func-
tions. The first method will use a linear-spline approximation of the marginal cost functions. By
approximating marginal cost with linear splines the original problem is transformed into a min-
imum cost flow problem with piecewise quadratic costs. This problem can then be solved with
the parametric algorithm from before. The second method follows a quite naïve approach. It
computes solutions for the minimum cost flow problem for fixed demands b(λi),i=1,...,Kand
then uses a linear interpolation of these flows as the solution. For both approximations it will be
crucial to find appropriate step sizes for the respective linear spline approximation. In order to
obtain these step sizes, we need the following, basic result for linear splines.
Let f: [a,b]Rbe a twice differentiable, real valued function on the interval [a,b]. Given a
family of breakpoints a=x0<x1<x2<···<xK1<xK=bthat we also refer to as mesh, we call
the function
sf: [a,b]R,x↦→sf(x) :=f(xi)+xxi
xi+1xi(︁f(xi+1)f(xi))︁for x[xi,xi+1)
the linear spline of f with mesh (xi)i=1,...,K. We denote by δi:=xi+1xithe distance of two adja-
cent mesh points and refer to δias the i-th step size and call maxiδithe mesh size. We obtain the
following result on the approximation error of the linear spline. For a proof and further reference
see, e.g., the textbook by de Boor [26].
Chapter 5. Parametric Computation of Minimum Cost Flows 103
Proposition 5.4. Let f : [a,b]Rbe a twice differentiable function. Given a mesh a =x0<x1<
x2<···<xK1<xK=b,
|f(x)sf(x)|1
8δ2
imax
ξ[xi,xi+1]|f′′(ξ)|
for every x [xi,xi+1].
5.2.1 Marginal cost approximation
The first method to obtain approximate minimum cost flow functions is based on an approxima-
tion of the (marginal) cost functions and therefore also refered to as marginal cost approxima-
tion (MCA). Intuitively, the minimum cost flows of two minimum cost flow problems whose cost
functions (or, more precisely, whose marginal cost functions) are very similar should not be too
different. This is in fact true as we prove in the next theorem.
Lemma 5.5. Let α>1,β0, and λmax >0. Let xmax :=maxλ[0,λmax]1
2∑︁vV|bv(λ)|. Assume we are
given two families of marginal cost functions (fe)eEand (f
˜e)eEwith all marginal costs febeing
homogeneous, i.e., fe(x)0for x 0and fe(x)0for x <0. Let λ↦→x
ˆ(λ)be the minimum cost flow
function solving the minimum cost flow problem from Eq. (5.9)for edge costs Fe(x) :=∫︁x
0fe(s)ds
and let λ↦→ x
˜(λ)be the minimum cost flow function for the same problem but with edge costs
F
˜e(x) :=∫︁x
0f
˜e(s)ds. If
|f
˜e(x)fe(x)|α1
1+α|fe(x)|+ β
(1+α)mxmax for all 0xxmax (5.11)
or |f
˜e(x)|≥|fe|for all xmax xxmax and all e E and
|f
˜e(x)fe(x)|(α1)|fe(x)|+ β
mxmax for all 0xxmax (5.12)
then λ↦→x
˜(λ)is an (α,β)-approximate minimum cost flow function on [0,λmax]for the minimum
cost flow problem with edge cost Fe.
Proof. Assume, that the condition from Eq. (5.11) is satisfied. Then, for every xmax sxmax,
α1
1+α|fe(s)| β
(1+α)mxmax f
˜e(s)fe(s)α1
1+α|fe(s)|+ β
(1+α)mxmax .
Since the marginal costs feare assumed to be homogeneous, the above equation is equivalent to
2
1+αfe(s)β
(1+α)mxmax f
˜e(s)2α
1+αfe(s)+β
(1+α)mxmax if s0
or 2α
1+αfe(s)β
(1+α)mxmax f
˜e(s)2
1+αfe(s)+β
(1+α)mxmax if s<0
and, thus, by taking the integral from 0 to xe, we obtain for any xRmwith xmax xxmax that
2
1+αFe(x)β
(1+α)mF
˜e(x)2α
1+αFe(x)+β
(1+α)m. (5.13)
104 5.2. Approximate Parametric Minimum Cost Flows for Convex Costs
x
fe(x)
x
sfe(x)
Linear spline approximation
with step sizes from Theorem 5.6
Minimum cost flow function
λ↦→x
ˆ(λ)
Minimum cost flow function
λ↦→x
˜(λ)
optimal solution optimal solution
computed with Algorithm 5
(α,β)-approximate solution
Figure 5.2: Method of marginal cost approximation: Approximating the marginal cost via linear
splines yields a new minimum cost problem that can be solved with Algorithm 5. The optimal
solution x
˜(λ) to this new problem is an (α,β)-approximate solution to the original problem.
Since the marginal cost functions are homogeneous, the edge cost functions are non-decreasing
and, thus, by Lemma 3.4 all flows are cycle-free. Therefore, the maximum total inflow xmax is an
upper bound for the flow on every edge. Therefore, we can use Eq. (5.13) for all x=x
ˆe(λ) and
x=x
˜e(λ) for all λ. We note that ∑︁eEF
˜e(x
˜e(λ)) ∑︁eEF
˜e(x
ˆe(λ)) since x
˜(λ) is the minimum cost
flow for parameter λwith respect to the edge cost Fe
˜. We obtain
C
˜(λ)=∑︂
eE
Fe(x
˜e(λ)) (5.13)
∑︂
eE
1+α
2(︂F
˜e(x
˜e(λ))+β
(1+α)m)︂
∑︂
eE
1+α
2(︂F
˜e(x
ˆe(λ))+β
(1+α)m)︂(5.13)
∑︂
eE
1+α
2(︂2α
1+αFe(x
ˆe(λ))+2β
(1+α)m)︂
=α∑︂
eE
Fe(x
ˆe(λ))+∑︂
eE
β
m=αC(λ)+β,
where we used the inequality from Eq. (5.13) twice, first for x=x
˜e(λ) and then for x=x
ˆe(λ). This
proves that x
˜(λ) is an (α,β)-approximate minimum cost flow function for the problem with edge
cost Fe.
If we additionally assume |f
˜e(x)||fe(x)|, then also F
˜e(x)Fe(x) holds true. Similar to the
first case, we get that the condition from Eq. (5.12) implies
F
˜e(x)αFe(x)+β
m. (5.14)
Therefore, we obtain
C
˜(λ)=∑︂
eE
Fe(x
˜e(λ)) ∑︂
eE
F
˜e(x
˜e(λ)) (5.14)
∑︂
eE(︂αFe(x)+β
m)︂=αC(λ)+β
Chapter 5. Parametric Computation of Minimum Cost Flows 105
and the claim follows.
Lemma 5.5 implies that the solution of a minimum cost flow problem with approximate
marginal cost is an (α,β)-approximate solution to the original flow problem. Together with Propo-
sition 5.4, we obtain the following result for instances with marginal cost functions that are ap-
proximated with linear splines.
Theorem 5.6. Assume we are given a parametric minimum cost flow problem with piecewise linear
demand function λ↦→b(λ)and with strictly convex edge costs Fethat are differentiable three times.
Let α>1,β0, and λmax >0. Let xmax :=maxλ[0,λmax]1
2∑︁vV|bv(λ)|. For every edge e E, let sfe
be a linear spline interpolation of the marginal cost fewith a mesh xmax =x1<···<xK=xmax.
If
(i) the step sizes δi=xi+1xisatisfy
δi√︃max
ξ[xi,xi+δi]|f′′
e(ξ)|22√︄α1
1+α|fe(xi)|+ β
(1+α)mxmax
or
(ii) f ′′
e(x)is non-decreasing and f ′′
e(x)0for x 0and non-increasing and f ′′
e(x)0for x <0
for all edges e E. Further, the step sizes δi=xi+1xisatisfy
δiB22√︄(α1)|fe(xi)|+ β
mxmax ,
where B :=max{︁√︁|f′′
e(xi)|,√︁|f′′
e(xi+δi)|}︁.
then the minimum cost flow function λ↦→ x
˜(λ)computed with respect to costs with marginal
costs sfeis an (α,β)-approximate minimum cost flow function on [0,λmax]for the original min-
imum cost problem with marginals fe. In particular, the minimum cost flow function λ↦→ x
˜(λ)
can be computed with Algorithm 5.
Proof. Proposition 5.4 and (i) imply
|fe(x)sfe(x)| 1
8δ2
imax
ξ[xi,xi+1]|f′′
e(ξ)|(i)
α1
1+α|fe(x)|+ β
(1+α)mxmax
and, hence, with Lemma 5.5 the claim follows.
If we assume (ii), the marginal cost are convex for x>0 and concave for x<0. Thus, the
linear spline sfeis always smaller than the function fefor negative values and greater than the
function fefor positive values. Thus, |sfe(x)|≥|fe(x)|for all xR. Additionally, by the mono-
tonicity assumptions on f′′
e, we get that maxξ[xi,xi+δi]|f′′
e(ξ)|=max{︁|f′′
e(xi)|,|f′′
e(xi+δi)|}︁=B2.
Hence, with Proposition 5.4 we obtain
|fe(x)sfe(x)| 1
8δ2
iB2(ii)
(α1)fe(x)+β
mxmax
and with Lemma 5.5 the claim follows.
106 5.2. Approximate Parametric Minimum Cost Flows for Convex Costs
Overall, we obtain the following two step method to compute minimum cost flow functions
for problems with convex cost. First, compute linear splines interpolating the marginal costs
using the step sizes from Theorem 5.6. Second, use Algorithm 5to compute an exact solution
for the problem where we use the linear splines as marginal cost. The method is summarized
in Fig. 5.2 and refered to as marginal cost approximation (MCA). In practice, the maximum in
the assumption of Theorem 5.6(i) may be hard to compute. However, for many applications the
edge cost (and also the marginal cost) are polynomials with non-negative coefficients. Therefore,
assumption Theorem 5.6(ii) is satisfied. Given a mesh point xithe next step size δisatisfying the
assumption can be computed using binary search as the left hand side is monotone in δi.
5.2.2 Minimum cost flow interpolation
The second method for the computation of an approximate minimum cost flow function is not
based on changing the instance (by interpolating the marginal cost) as before. Rather, it is based
on the following intuitive observation. If we are given minimum cost flows x
ˆ1and x
ˆ2for two
parameters λ1and λ2then (a) any convex combination λ2λ
λ2λ1x
ˆ1+λλ1
λ2λ1x
ˆ2of these two flows is
a feasible flow for parameter λ[λ1,λ2] and (b) if λ1and λ2are not too far apart then, intu-
itively, the convex combination should also be an approximate minimum cost flow. Therefore,
we introduce the following method we also refer to as minimum cost flow interpolation (MCFI).
Given a minimal and a maximal parameter value λmin and λmax, choose some fixed parameter
values λmin =λ1<λ2< ··· < λK1<λK=λmax. Then, compute exact (if possible) or approx-
imate minimum cost flows for the fixed parameters, e.g., with the Frank-Wolfe method. This
yields minimum cost flows x
ˆ1,...,x
ˆKfor these parameter values. Then, for every edge, com-
pute linear splines x
˜e(λ) interpolating the points (λ1,x
ˆ1
e),...,(λK,x
ˆK
e). The resulting function
λ↦→ x
˜(λ) :=(x
˜e(λ))eEis then our candidate for an approximate minimum cost flow function.
This approach is very intuitive and also has been used in many studies in practice, see Colini-
Baldeschi et al. [18], O’Hare et al. [86], and Youn et al. [118]. However, it is not trivial to find
explicit step sizes δi:=λi+1λisuch that the resulting function is an (α,β)-approximate mini-
mum cost flow function for given α>1,β0, and in the studies mentioned above no bound on
the step sizes is given.
Formally, we assume we are given an oracle Fthat, for every ϵ>0 and every fixed λ00,
solves the minimum cost flow problem from Eq. (5.1) for fixed λ=λ0with ϵprecision. This
means, the flow x0=Fϵ(λ0) is a feasible flow for parameter λadding satisfies C(x0)(1+ϵ)C(x
ˆ),
where x
ˆis the optimal solution. This oracle can be for example the ellipsoid method or the Frank-
Wolfe algorithm. Given fixed parameter values λmin =λ1<λ2<···<λK1<λK=λmax with step
sizes δi:=λi+1λiwe define the function
x
˜: [λmin,λmax]Rm,λ↦→ λλi
λi+1λi
F(λi+1)+λi+1λ
λi+1λi
F(λi) if λ[λi,λi+1]. (5.15)
Thus, the function x
˜is a linear interpolation of the fixed parameter solutions F(λi). In the
following theorem, we present conditions on the step sizes that guarantee that x
˜is an (α,β)-
approximate minimum cost flow function. Recall that we use the notation C(λ) :=C(x
ˆ(λ)) to
denote the cost of the minimum cost flow for parameter λ. Further, we denote by C
˜(λ) :=C(x
˜(λ))
Chapter 5. Parametric Computation of Minimum Cost Flows 107
the cost of the flow returned by the function defined in Eq. (5.15). For the remainder of this sub-
section we will assume that the demand function λ↦→ b(λ) is affine linear, i.e., that there are
vectors band b
¯such that b(λ)=λb+b
¯. This assumption is no restriction as we can compute the
approximate minimum cost flow function for all linear parts of possibly piecewise linear demand
function separately.
Theorem 5.7. Let α>1,β0, and 0<ϵ<α1. Let λ1,...,λKbe the breakpoints of the function the
function x
˜defined in Eq. (5.15). If for every interval [λi,λi+1],i=1,...,K1one of the following
conditions holds true, then the function x
˜is an (α,β)-approximate minimum cost flow function.
(i) The objective function λ↦→C(λ)is non-decreasing on [λi,λi+1]and the step size δisatisfies
δi
d
dλC(λi+δi)α1ϵ
1+ϵC(λi)+β
1+ϵ.
(ii) The objective function λ↦→C(λ)is non-increasing on [λi,λi+1]and the step size δisatisfies
δi
d
dλC(λi)α1ϵ
1+ϵC(λi)β
1+ϵ.
(iii) For every e E, the marginal cost function feis differentiable and f
e(x)>0for all x. Further,
the support does not change between λiand λi+1, i.e., S(λ)=S(λi)for all λ[λi,λi+1]and
the step size δisatisfies
δimax
λ[λi,λi+δi]√︂bL
λb22√︄α1ϵ
1+ϵC(λi)+β
1+ϵ.
Proof. By Corollary 3.18, the function λ↦→C(λ) is convex. Thus, λ↦→ d
dλC(λ) is non-decreasing.
For λ[λi,λi+1], we obtain with the mean value theorem that there exists ξ[λi,λi+1] such that
d
dλC(λi)C(λi+1)C(λi)
λi+1λi=d
dλC(ξ)d
dλC(λi+1). (5.16)
Since also x↦→C(x) (i.e., the mapping of some flow to its cost) is convex, we obtain with condi-
tion (i) that
C
˜(λ)λλi
λi+1λi
C(F(λi+1))+λi+1λ
λi+1λi
C(F(λi))
(1+ϵ)(︃λλi
λi+1λi(︁C(λi+1)C(λi))︁+C(λi))︃
(5.16)
(1+ϵ)(︂δi
d
dλC(λi+1)+C(λi))︂(i)
αC(λi)+βαC(λ)+β,
where we used that λ↦→C(λ) is non-decreasing on [λi,λi+1]. This proves the sufficiency of con-
108 5.2. Approximate Parametric Minimum Cost Flows for Convex Costs
dition (i). For the second condition, we observe that
C
˜(λ)λλi
λi+1λi
C(F(λi+1))+λi+1λ
λi+1λi
C(F(λi))
(1+ϵ)(︃λλi
λi+1λi(︁C(λi)C(λi+1))︁+C(λi+1))︃
(5.16)
(1+ϵ)(︂δi
d
dλC(λi)+C(λi+1))︂(ii)
(1+ϵ)(︃α1ϵ
1+ϵ(︂C(λi)+δi
d
dλC(λi))︂+β
1+ϵ+C(λi+1))︃
(1+ϵ)(︃α1ϵ
1+ϵC(λi+1)+C(λi+1)+β
1+ϵ)︃=αC(λi+1)+βαC(λ)+β,
where we used that λ↦→C(λ) is non-increasing on [λi,λi+1] proving that condition (ii) is suffi-
cient. For the third condition, we define the function
g(λ) :=λλi
λi+1λi
C(λi+1)+λi+1λ
λi+1λi
C(λi).
This function is a linear spline interpolating the function C(x) on the interval [λi,λi+1]. Since
we assume that the support does not change on this interval, Theorem 3.13 yields that the min-
imum cost flow function λ↦→ x
ˆ(λ) is differentiable on the interval [λi,λi+1] and, hence, C(λ) is
differentiable as well. Thus, Proposition 5.4 and Theorem 3.17 imply that
g(λ)C(λ)1
8δ2
imax
λ[λi,λi+1]
d2
d2λC(λ)=1
8δ2
imax
λ[λi,λi+1]bLλb. (5.17)
Therefore, we get
C
˜(λ)λλi
λi+1λi
C(F(λi+1))+λi+1λ
λi+1λi
C(F(λi))
(1+ϵ)(g(λ)C(λ))+(1+ϵ)C(λ)
(5.17)
1+ϵ
8δ2
imax
λ[λi,λi+1]bLλb+(1+ϵ)C(λ)
(iii)
(α1ϵ)C(λi)+β+(1+ϵ)C(λ)αC(λ)+β
and, hence, λ↦→x
˜(λ) is an (α,β)-approximate minimum cost flow function.
Theorem 5.7 yields conditions for the step sizes that ensure that the function in Eq. (5.15) is
an (α,β)-approximate minimum cost flow function. Condition (i) requires that the derivative at
the next breakpoint is not too large. In particular, it requires a bound on the value d
dλC(λi+δi)=
bπ(λi+δi). Thus, in order to compute optimal step sizes δivia this bound iteratively, we need
to know the optimal potentials for the parameter λi+δi, which is unknown in general. We will
circumvent this difficulty by finding a general estimate of the derivative in the following corollary.
Condition (ii) depends only on the quantities that are given if the solution for the parameter λiis
known. The cost C(λi) can be computed directly from the flow while the derivative can be sim-
plified to d
dλC(λi)=bπ(λi) and, thus, depends only on the optimal potentials of the optimal
solution and the demand derivative vector. Hence, condition (ii) can be used directly in an iter-
ative computation. However, it requires that the objective function λ↦→C(λ) is non-increasing.
Chapter 5. Parametric Computation of Minimum Cost Flows 109
For most settings this is not the case; for example for linear demand functions the objective func-
tion is non-decreasing by Corollary 3.19. Finally, condition (iii) leads in general to larger step sizes
since it is based on a better estimate via the second derivative of the objective function. However,
it assumes that the support is unchanged and thus only applicable in special cases, for example,
for undirected flows. Additionally, the condition depends on the term maxλ[λi,λi+δi]√︂bL
λb
that is also hard to compute in general. In the next corollary we will state further conditions
under which this term can be simplified further.
In order to find an estimate for the term bπ(λi+δi) recall that, as defined in Section 3.2.2,
the shortest path potentials are defined based on shortest path length in the graph Gx=(V,Ex)
with x=x
ˆ(λi+δi) that has additional backward edges for all edges with x
ˆλi+δi(λ)>0. In order to
find an estimate for these shortest path lengths, we define new edge weights for the edges in Gx.
For a given M>0, we consider the edge length νM
e=max{fe(M),fe(M)} for all edges eEx(i.e.
for forward and backward edges). Then, we denote by ν
ˆM
v,wthe length of a shortest path from vto
win this graph. These shortest path length are a rough estimate for the shortest path length used
in the computation of the shortest path potentials πvas they emulate the case that every edge
in the graph is used by the same, large quantity of flow M(in forward or backward direction).
Additionally, we introduce the notion of a source-sink-decompositon for the demand vector b. A
source-sink-decomposition of bis a family of JNtuples S(b)=(︁(sj,tr,rj))︁j{1,...,J}, where every
tuple contains a source vertex sjV, a sink vertex ttV, and a demand rate rjR0such that
bv=∑︂
j{1,...,J}:
tj=v
rj∑︂
j{1,...,J}:
sj=v
rj
for all vertices vV. This means, S(b) contains source-sink-pairs with demand rates that in-
duce the demand vector b. For a suitable M, the path length ν
ˆM
v,wtogether with some source-
sink-decompositon will enable us to find an estimate for the term bπ(λi+δi). Further, if we
impose some additional assumption on the marginal cost functions, we can find an estimate that
simplifies the maximum in the second condition from Theorem 5.7.
Corollary 5.8. Let α>1,β0, and 0<ϵ<α1. Let λ1,...,λKbe the breakpoints of the function
the function x
˜defined in Eq. (5.15). If for every interval [λi,λi+1],i=1,...,K1one of the following
conditions holds true, then the function x
˜is an (α,β)-approximate minimum cost flow function.
(i) The objective function λ↦→C(λ)is non-decreasing on [λi,λi+1]and the step sizes δisatisfy
δi∑︂
(sj,tj,rj)S(b)
rjν
ˆM
sj,tjα1ϵ
1+ϵC(λi)+β
1+ϵ
with M :=
J
∑︂
j=1
rj(λi+δi)for some source-sink-decomposition S(b)=(︁(sj,tr,rj))︁j{1,...,J}.
(ii) For every e E, the marginal cost function feis differentiable with f
e(x)>0for all x R, and
convex for x >0, and concave for x <0. Further, the support does not change between λiand
λi+1, i.e., S(λ)=S(λi)for all λ[λi,λi+1], and the step sizes δisatisfy
δi√︂bL
Bb22√︄α1ϵ
1+ϵC(λi)+β
1+ϵ,
110 5.3. Computational Study on Traffic and Gas Networks
where LBis the Laplacian matrix with respect to the weights cB
e=1
max{f
e(B),f
e(B)} if e S(λi)
and cB
e=0if e S(λi), and B :=maxλ[λi,λi+1]1
2∑︁vV|bv(λ)|is the maximum value of total
inflow in the network in the interval [λi,λi+1].
Proof. Since M=(λi+δi)∑︁J
j=1rj=λi+1∑︁J
j=1rjis the total amount of flow entering the network
and the edge cost are assumed to be non-decreasing, Mis a trivial upper bound on the flow on
any edge for parameter λi+1, i.e., |x
ˆe(λi+1)|M. Thus, for every edge eEx,
|νe|=|fe(x
ˆe(λi+1))|max{fe(M),fe(M)} =νM
e.
For j=1,..., Jdenote by Psj,tjand Qsj,tjthe shortest path from sjto tjin the graph Gxwith
respect to the edge weights νeand νM
e, respectively. Then,
d
dλC(λi+δi)=∑︂
vV
bvπv(λi+δi)=
J
∑︂
j=1
rj(︁πtj(λi+δi)πsj(λi+δi))︁
J
∑︂
j=1
rj∑︂
ePsj,tj
νe
J
∑︂
j=1
rj∑︂
eQsj,tj
νe
J
∑︂
j=1
rj∑︂
eQsj,tj
νM
e
J
∑︂
j=1
rjν
ˆM
sj,tj
and, thus, with Theorem 5.7, the claim follows with condition (i).
If we assume that condition (ii) is satisfied, then the derivative of every marginal cost func-
tions f
eis non-increasing for x<0 and non-decreasing for x>0. Since we assume that the edge
cost are non-decreasing, the total inflow into the network is always a bound on every edge flow.
In particular, |x
ˆe(λ)|B=maxλ[λi,λi+1]1
2∑︁vV|bv(λ)|for every λ[λi,λi+1]. Thus, f
e(x
ˆe(λ))
max{f
e(B), f
e(B)} for every edge eE. For every support edge we obtain eS(λi) that ce(λ)=
1
f
e(x
ˆe(λ)) 1
max{f
e(B),f
e(B)} =cB
e. Further, for all eS(λi), we have ce(λ)=0=cB
e. This implies, we
can apply Rayleighs monotonicity law from Corollary 3.16 and obtain
bL
λbbL
Bb
for all λ[λi,λi+1]. Thus, again, we can apply Theorem 5.7 and the claim follows.
5.3 Computational Study on Traffic and Gas Networks
In the previous sections, we have extended the parametric algorithm for electrical networks such
that we can use it for arbitrary minimum cost flow problems with convex costs. In this section
we study the applicability of the algorithm for real-world instances in practice. We therefore use
a Python implementation of the algorithm in order to solve real-world traffic and gas instances.
The traffic networks are directed networks with polynomial edge costs and we compute the equi-
libria in the corresponding networks which are equivalent to minimum cost flows by the Beck-
mann transformation described in Section 2.5.1. The gas instances consist of undirected net-
works and the equilibria in these networks can therefore be treated as electrical flows. However,
the cost functions in the gas networks are cubic and not quadratic as it is the case for electrical
networks.
Chapter 5. Parametric Computation of Minimum Cost Flows 111
We test both variants of our algorithm described in Section 5.2, the marginal cost approxima-
tion and the minimum cost flow interpolation. In the former variant, we interpolate the marginal
cost functions fewith linear splines using the step sizes from Theorem 5.6 and use the extension
of our parametric electrical flow algorithm to compute minimum cost flow functions. The lat-
ter variant computes approximate solutions for given parameter values λ1,λ2,... with step sizes
defined by Corollary 5.8 and interpolate the returned minimum cost flow functions.
5.3.1 Implementation
We use a Python 3 implementation of the described algorithms. The networks are implemented
based on edge and vertex lists using Dataframes from the Pandas package [79]. For shortest path
computations we use the implementation of Dijkstras algorithm from the SciPy package [111].
For most linear algebra computations, we use sparse arrays from the Scipy package. In particular,
we use an implementation from the same package of the Cholesky decomposition that we use
instead of the inverses of the Laplacian matrices in order to avoid numerical instabilities.
For the minimum cost flow interpolation we implement a variant of the Frank-Wolfe algo-
rithm [43], also known as the conditional gradient method. We use the parallel tangents (PAR-
TAN) method (see Florian et al. [36]) to improve the convergence rate of the algorithm. The
Frank-Wolfe algorithm requires solutions of subproblems which are in our case either classical
minimum cost flow problems with linear cost or, in the case of directed, single-commodity net-
works, shortest paths computations. For both types of subproblems we use the SciPy package; the
Simplex algorithm to solve the former and Dijkstras algorithm to solve the latter. The complete
implementation including a comprehensive documentation is available on GitHub [60] under
the name paminco.
5.3.2 Instances
Traffic networks from the Transportation Networks Library
The first set of instances we consider are traffic networks based on real road networks of cities or
larger areas provided by the Transportation Networks library [109]. The networks are given in the
TNTP-file format that we convert into a minimum cost flow instance. The TNTP-files provide the
network structure containing vertices, edges, and edge cost functions. The edge cost functions
model the travel time required to traverse an edge depending on the congestion created by the
flow on the edge and are given in the form
ce(x)=ffte(︃1+Be·(︂x
cape)︂4)︃,
where the coefficients model the free flow time ffteon the edge (that is the time it takes to tra-
verse the edge without any congestion), the capacity capeof the edge, and a coefficient Bethat
models the effects of congestion on this edge. The TNTP-file format also specifies demands of
a multi-commodity setting with several commodities spread out through the network. In this
computational study, we will only consider the single-commodity case. Therefore, we replace
the commodities by a single commodity with random source sand sink vertex tand a demand
112 5.3. Computational Study on Traffic and Gas Networks
rate rthat is a fraction of the overall demand Dof all commodities specified in the TNTP-files.
Concretely, we use r=D
2for the Berlin networks and r=D
10 for the American networks. Then, we
compute parameteric traffic flows for demand rates scaled by the parameter λ[0,1]. We repeat
the computation for several random source and sink pairs. In this setting, we want to compute
Wardrop equilibria with respect to these edge cost. By the Beckmann transformation discussed
in Section 2.5.1, this is equivalent to solving the minimum cost flow problem
min ∑︂
eE∫︂xe
0ce(s)ds =∑︂
eE
ffte(︃xe+Be
5·x5
e
cap4
e)︃
s.t. Γx=λb
x0,
where b=(bv)vVwith bs=1, bt=1, and bv=0 for all v=s,t.
We also use some preprocessing routines on the network that remove isolated and artificial
vertices as well as some edges with zero cost functions in order as our algorithms require a con-
nected graph and strictly convex cost functions. The vertices and edges removed in these prepro-
cessing steps are only used as artificial entries and exits of the network and their removal does
not affect the general structure of the networks. The network sizes given in Table 5.1 contain the
number of vertices and edges of the networks after this preprocessing step.
Gas networks from the GasLib
The second set of test instances we use are gas networks from the GasLib [102]. This library
contains several schematic and real-world gas networks in different sizes. Gas networks are undi-
rected networks (and can be therefore treated like electrical networks) and the edges model pipes,
compressors, valves, and other components of a gas pipeline network. Further, the library pro-
vides information of gas inflow and outflow rates in several scenarios.
Gas flows through a pipe e=(v,w) can be modeled by the Weymouth equations [116]
p2
wp2
v=βexe|xe|,
where pvis the pressure value at vertex vand βeis an edge-dependent coefficient modeling the
resistance of the pipe e. With the substitution φv=p2
vwe see that a gas flow in a network consist-
ing only of pipes can be interpreted as a solution to an undirected minimum cost flow problem
with marginal cost functions fe(x)=βex|x|. We neglect all components of the network other
than pipes (such as compressors and valves) by contracting the respective edges. This can be in-
terpreted as modeling the network where all compressors are shut down and all valves are open.
The coefficients βemodeling the resistance of the edges can be obtained from physical proper-
ties of the pipes, such as length, roughness, and diameter. These properties are also provided in
the GasLib data. For more details and the exact formula for the computation of the coefficients
βe, see, e.g., Pfetsch et al. [92].
For every gas network, we create N=20 parametric instances as follows. First, we choose one
fixed demand scenario from the data corresponding to some base demand b
¯. Then, we choose
Chapter 5. Parametric Computation of Minimum Cost Flows 113
N=20 pairs consisting of one source vertex sand one sink vertex t. We then consider the affine-
linear demand function with an offset demand b
¯and a demand direction that corresponds to
s-t-flows of rate r:=1
2∑︁vV|b
¯v|. Formally, define the demand vector bwith bs=r,bt=ri, and
bv=0 for all v=s,t. Then we consider the demand function
b(λ)=λb+b
¯
and compute the gas flows for all parameters λ[0,1]. Hence, for every network we consider N=
20 instances with the parametric setting where we start with the basic demand and then increase
the demand for one (random) s-t-pair. Since the parametric computation does not start with the
zero-demand, we need to compute an initial solution for the MCA method. In the computational
experiments, we use the Phase I variant of the electrical flow algorithm described in Section 4.4.
For the minimum cost flow interpolation approach, we need to use a step size rule from
Corollary 5.8. The first rule of this corollary requires the objective function λ↦→C(λ) to be non-
decreasing, which is not guaranteed in the case of affine linear demands. Therefore, we want to
use the second rule from Corollary 5.8(ii). Since we consider an undirected problem, the supports
are always the same for all parameter values. However, the marginal cost functions fe(x)=βex|x|
do not have strictly positive derivative needed to apply this step size rule. We solve this problem
by adding a regularization term of ζxwith some small ζ>0 to the marginal cost function. This
implies that its derivative is 2βe|x|+ζ>0 is positive. The following lemma proves, that for ζsmall
enough, we can compute (α,β)-approximate solutions to any precision.
Lemma 5.9. Let λ↦→x
ˆ(λ)be the minimum cost flow in an instance with marginal cost functions
fe(x)=βex|x|and denote by C(λ)the cost of the flow x
ˆ(λ). Denote by β:=mineEβe. Further, let
λ↦→x
˜(λ)be the minimum cost flow for the same instance but with marginal cost functions f
˜e(x) :=
βex|x|+ζx and denote the cost of this flow with respect to the orginial cost functions by C
˜(λ). Let
α>1,β>0,λmax >0, and xmax :=maxλ[0,λmax]1
2∑︁vV|bv(λ)|. If ζ2√︂(α1)ββ
mxmax , then
C
˜(λ)αC(λ)+βfor all λ[0,λmax], (5.18)
i.e., x
˜(λ)is an (α,β)-approximate minimum cost flow.
Proof. By assumption, we obtain
|fe(x)f
˜e(x)|=ζ|x|=(α1)βx2+β
mxmax (︃(α1)βx2ζ|x|+ β
mxmax )︃
(α1)β|fe(x)|+ β
mxmax (︃(α1)βx22√︄(α1)ββ
mxmax |x|+ β
mxmax )︃
=(α1)|fe(x)|+ β
mxmax (︃√︂(α1)β|x|√︄(α1)β
mxmax )︃2
(α1)|fe(x)|+ β
mxmax
and, thus, with Lemma 5.5 the claim follows.
114 5.3. Computational Study on Traffic and Gas Networks
ϵ
Runtime in s
0.001 0.002 0.003 0.004 0.005 0.006 0.007 0.008
40.0
60.0
80.0
100.0
120.0
140.0
160.0
(a) Sioux-Falls Network with s=1, t=24.
ϵ
Runtime in s
0.002 0.004 0.006 0.008
10.0
12.0
14.0
16.0
18.0
20.0
22.0
(b) GasLib-40 network.
Figure 5.3: Runtimes of the minimum cost flow interpolation algorithm for different values of ϵ.
We use the original instance for the results of the marginal cost approximation and the in-
stance with cost functions marginal cost functions f
˜e(x) :=βex|x|+ζxfor the minimum cost
interpolation. For the latter, we choose a value of ζsuch that Eq. (5.18) holds for α=1+105
and β=105. We then adjust the values for αand βin the computation of the step sizes from
Corollary 5.8(ii) for the interpolation such that we can guarantee the overall approximation for
α=1.01 and β=1.
5.3.3 Computational experiments and results
We apply both algorithmic approaches from Section 5.2, namely marginal cost approximation
(MCA) and minimum cost flow interpolation (MCFI), to five traffic networks from the Transpora-
tion Networks library and six different gas networks from the GasLib library. Further, we compute
fixed solutions for the parameter λ=1 with the Frank-Wolfe algorithm (FW) to compare the com-
putation times of the parametric algorithms to the effort of computing a solution for a fixed de-
mand. All computational experiments are carried out on a Google Cloud virtual machine of type
c2-standard-8. The virtual machine provides eight virtual CPUs with up to 3.8 GHz CPU comput-
ing frequency each and 32 GB RAM. Both algorithms compute (α,β)-approximate minimum cost
flows. For all computational experiments we fix α=1.01 and β=1.
ϵ-trade-off for the minimum cost flow interpolations
The minimum cost flow interpolation has an additional parameter 0 <ϵ<α1 that governs the
trade-off between the approximation quality of the Frank-Wolfe algorithm for the fixed parameter
values and the approximation quality of the interpolation of the minimum cost flows. We begin
the computational study by trying to find an optimal value for ϵ, both for the directed traffic and
the undirected gas networks. To this end, we use the Sioux-Falls network from the Transportation
Networks library and the GasLib-40 network from the GasLib with fixed demands and compute
the parametric solution with the minimum cost flow interpolation for varying values of ϵ. Fig. 5.3
Chapter 5. Parametric Computation of Minimum Cost Flows 115
1 2
345 6
789
10
1112
13
14 15
16
17
18
19
20
21
22
23
24
(a) Sioux-Falls network.
Instance
Runtime in s
10
20
30
40
50
60
70
80
90
100
MCA runtime
avg. MCA time (0.3s)
MCFI runtime
avg. MCFI time (48.5s)
(b) Runtimes of both algorithms for random instances.
Figure 5.4: Results of the computational study for the Sioux-Falls traffic network.
shows results of the trade-off. We see that for low and high values of ϵthe runtime of the paramet-
ric algorithm increases. For low values of ϵthe runtime increases as the convergence threshold
for the Frank-Wolfe algorithm for the fixed demands decreases and therefore the runtime of the
Frank-Wolfe algorithm increases. For high values of ϵthe runtime of the Frank-Wolfe algorithm is
low, however, as we can see from the step size formulas from Theorem 5.7, the step sizes decrease
and, hence, the number of breakpoints increases resulting in more calls of the Frank-Wolfe al-
gorithm in total. The trade-off yields an optimal value ϵ=0.0015 for the traffic network and an
optimal value of ϵ=0.0025 for the gas network. We will use these values for all traffic and gas net-
works, respectively, in all subsequent computations, although it should be noted that the optimal
value also depends on the network and choice of demands. However, it is not feasible to perform
this trade-off for every network prior to the actual computation since it already requires solving
the parametric problem multiple times rendering the purpose of the whole trade-off pointless.
Hence, we use these two values as heuristic value for ϵfor all computations.
Parametric computation of Wardrop equilibria in the Sioux-Falls network
As a specific example for the traffic networks, we consider the Sioux-Falls network from Fig. 5.4a.
In k=50 iterations, we draw a random source and sink vertex sk,tkfrom all vertices and use a
demand rate of r=D
10, where Dis the total demand of the original data. This leads to a demand
rate of r=36060 in this concrete setting which ensures that the network is sufficiently congested.
We use the marginal cost approximation (MCA) and the minimum cost flow interpolation (MCFI)
to obtain a parametric solution for λ[0,1] of all 50 instances. The results are shown in Fig. 5.4b.
116 5.3. Computational Study on Traffic and Gas Networks
s
λ
0 5 10 15 20 25 30 35 40
0.00
0.25
0.50
0.75
1.00
MCA algorithm
MCFI algorithm
(a) The progress over time for both algorithms for the instance with s=1 and t=24.
λ
PoA
1000 2000 3000 4000 5000 6000 7000 8000 9000 10000
1.00
1.02
1.04
1.06
1.08
1.10
(b) The price of anarchy curve for a demand rate of r=10 routed between the vertices s=20 and
t=3 for λ[0,10000] replicating a result of O’Hare et al. [86].
Figure 5.5: Results for two fixed instances of the Sioux Falls network. (a) The progress over time
of MCA and MCFI for the fixed instance with s=204 and t=248. (b) Replication of the price of
anarchy curve for a fixed instance as done by O’Hare et al. [86].
The MCA algorithm has an average runtime of 290ms over fifty random instances with the run-
times (blue dots in Figure 5.4b) ranging from 200ms to 460ms. The MCFI algorithm has an aver-
age runtime of 48.5s over fifty random instances with the runtimes (red dots in Figure 5.4b) rang-
ing from 8.3s to 104.5s. For all random s-t-pairs the MCA algorithm has a huge advantage over
the MCFI algorithm; the MCFI algorithm has on average about 160-times longer runtimes on the
random instances. Fig. 5.5a shows the progress of both algorithms over time for one particular
instance (with source s=1 and t=24): The graph shows how far the parametric output functions
have been computed (in terms of the parameter λ) after given runtime in seconds. We see that
the MCA algorithm makes steady and fast progress, while the MCFI needs a long time before it
makes progress and the progress is decreasing for higher values of λ. The varying progress of the
MCFI algorithm can be explained by the step size rule used for the algorithm: Since the support
can change in the directed traffic networks, we use the step rule from Theorem 5.7(i) that makes
Chapter 5. Parametric Computation of Minimum Cost Flows 117
(a) GasLib-40 network.
Instance
Runtime in s
2
4
6
8
10
12
14
16
18
20
22
MCA runtime
avg. MCA time (4.3s)
MCFI runtime
avg. MCFI time (10.3s)
(b) Runtimes of both algorithms for random instances.
Figure 5.6: Results of the computational study for the GasLib-40 gas network.
no assumptions on the support. For small values of λthe value C(λi) is very small resulting in
small steps δi. For high values of λ, the estimate of the derivative d
dλC(λi+δi) developed in
Corollary 5.8 is very large, leading again to smaller steps.
Finally, we use the MCA algorithm to replicate a result of O’Hare et al. [86] who studied the
price of anarchy, i.e., the cost of an equilibrium divided by the cost of a social optimal solution, for
varying demands. Since both the equilibrium and the optimal flow can be computed as a mini-
mum cost flow (see Section 2.5.1 for more details), we can use the MCA algorithm to compute the
parametrized equilibrium and optimum flows and, thus, the corresponding cost and the price of
anarchy curve. O’Hare et al. chose a setting where a demand rate of r=10 is routed between the
vertices s=20 and t=3 and computed the price of anarchy curve for parameters λ[0,10000].
Our implementation of the MCA algorithm can compute the equilibrium flows in 13.3s and the
optimal flows in 20.0s resulting in the curve shown in Fig. 5.5b. Since the output functions of the
MCA algorithms have breakpoints at exactly the points where the (marginal) cost functions of the
network have breakpoints, we can in particular can identify the values of λwhere the flows on the
edges becomes positive or zero. These points are called route transition points in the paper by
O’Hare et al. and can also be easily obtained from the output of the MCA algorithm. This exam-
ple shows that the MCA algorithm can be used in practice to analyze price of anarchy curves with
reasonable computing time (in our case approximately 30s for the Sioux-Falls network).
118 5.3. Computational Study on Traffic and Gas Networks
s
λ
0 2 4 6 8 10 12
0.00
0.12
0.25
0.38
0.50
0.62
0.75
0.88
1.00
MCA algorithm (Phase I) MCA algorithm (Phase II) MCFI algorithm
Figure 5.7: The progress over time of both algorithms for the GasLib-40 network and s=1,t=12.
Parametric computation of gas flows in the GasLib-40 network
As a specific example for the gas networks, we consider the GasLib-40 network that is depicted
in Fig. 5.6a. This network is a small exemplary gas network that is not based on a real world
example. The GasLib contains one scenario b
¯for in- and outflow rates at the vertices. We use
the MCA algorithm and MCFI algorithm to compute parametric solutions for demands λb+b
¯
with λ[0,1], where the demand vector bmodels an s-t-flow of rate r=1
2∑︁vV|b
¯v|=2175. We
repeat the parametric computation 20 times for random s-t-pairs and obtain an average runtime
of 4.3s for the MCA algorithm and 10.3s for the MCFI algorithm. Fig. 5.6b depicts the runtimes
of both algorithms for all random instances. We see that runtimes are similar for most instances.
However, for some choices of sand tthe MCFI algorithm has a significantly higher runtime. In
these instances, the Frank-Wolfe algorithm used to compute the fixed parameter solutions has a
higher runtime slowing the MCFI algorithm down.
Fig. 5.7 shows the progress of both algorithms over time. Since we use the Phase I of the elec-
trical flow algorithm in order to compute the initial solution, the MCA algorithm is split into two
separate runs. In Phase 1 (depicted by the dotted line in Fig. 5.7), the initial solution is obtained,
while in Phase II (depicted as the blue line in Fig. 5.7) the actual parametric problem is solved.
In this particular run, the interpolation of the cost function took about 0.3s, Phase I needed 3.1,
and Phase II only took 0.1s. We see that most of the runtime in this example is needed for the
initial Phase I. This can be explained with the fact Phase I begins with very small flows (as it be-
gins with small demands). Since the marginal cost in the gas networks are homogeneous (i.e.,
fe(0) =0), the interpolation requires a very fine mesh around 0 in order to guarantee the (α,β)-
approximation. Therefore, the electrical flow algorithm solving Phase I traverses many regions
for very small demands, leading to many iterations for small demands, as it can also be seen in
Fig. 5.5a.
Chapter 5. Parametric Computation of Minimum Cost Flows 119
Network n m MCA MCFI FW
SiouxFalls 24 76 0.3s 48.5s 0.3s
Berlin (Tiergarten) 321 545 5.1s 135.4s 2.2s
Anaheim 416 914 2.2s 57.4s 0.8s
Berlin (M.-P.-F.-C.) 843 1376 76.9s 854.8s 12.5s
Chicago-Sketch 546 2176 76.9s >3600.0sa77.2s
GasLib-11 8 8 0.4s 0.9s 0.0s
GasLib-24 18 19 1.1s 1.6s 0.1s
GasLib-40 34 39 4.3s 10.3s 0.2s
GasLib-134 87 86 10.1s 8.3s 0.1s
GasLib-135 106 141 81.7s 228.2s 1.0s
GasLib-582 268 278 475.5s 613.9s 0.7s
aNone of the 20 instances finished within the time limit of one hour.
Table 5.1: The runtimes of the minimum cost approximation (MCA), the minimum cost flow
interpolation (PFW), and the Frank-Wolfe algorithm for a single fixed demand (FW) on several
instances.
Overall results
Table 5.1 shows the results of both the MCA and the MCFI algorithms for all networks included in
this computational study. For the traffic networks, the results are for krandomly chosen source
and sink pairs, with k=50 for the smaller networks (Sioux-Falls, Berlin-Tiergarten, Anaheim)
and k=20 for the larger networks (Berlin Mitte-Prenzlauerberg-Friedrichshain-Center, Chigaco-
Sketch). For the gas networks, a random scenario (if there was more than one possible scenario)
is chosen, and we run the algorithm k=20 with an affine linear demand function based on the
random scenario as offset and an random s-t-flow as demand direction. In addition to the MCA
and MCFI algorithm, the table contains the runtime of the Frank-Wolfe (FW) algorithm for fixed
parameter λ=1 as a reference value. For all computations we use a time limit of one hour which
was only exceeded for some instances of the largest traffic network and the largest gas network.
For all networks, except for GasLib-134, the MCA algorithm is considerably faster than MCFI.
The network GasLib-134 is an exception due to its structure. The network is a tree which makes
the solution with the Frank-Wolfe subroutine of the MCFI algorithm extremely fast. Since the
MCA method always needs some overhead time to compute the interpolation of the marginal
cost functions, MCFI is faster in these examples. We also note, that for the gas instances, the MCA
times also include the time for Phase I. If the initial solution is computed differently (for example
with a single call of the Frank-Wolfe algorithm), these runtimes may be even improved. Overall,
we conclude that both the MCA and the MCFI algorithm are applicable in practice. In particular
for large instances, the MCA algorithm has considerably better runtimes for larger instances.
120 5.3. Computational Study on Traffic and Gas Networks
121
Part II
Equilibria in Atomic Splittable
Congestion Games
122
123
6Atomic Splittable
Congestion Games
The second part of this thesis is concerned with atomic splittable congestion games. An atomic
splittable congestion game consists of a graph G=(V,E), kplayers N={1,...,k} with associated
source and sink vertices si,tiand a demand rate ri>0. A feasible strategy for player iis to choose
an si-ti-flow xi=(︁xe,i)︁eE,iNwith demand rate ri. The resulting outcome of a game is a vector
x=(︁(x1),...,(xk))︁that contains the flows of the players stacked. We encode the demands
in vectors rifor every player iwith entries riat si,riat tiand entries 0 for all other vertices
such that we can phrase the flow condition for every player as Γxi=ri. Let G:=diag(︁Γ,...,Γ)︁be
a block diagonal matrix containing kcopies of the incidence matrix as block diagonal matrices
and let r=(︁(r1),...,(rk))︁be the vector containing all demand vectors stacked. Then, we can
characterize feasible outcomes of the game with the equation Gx =r.
The edges of the graph are equipped with typically non-decreasing and convex cost functions
ce,ithat may depend on the identity of the player i. The cost function models the congestion of
the edges, e.g., the load dependent travel time in traffic applications. In this thesis we will almost
exclusively consider the special case of atomic splittable congestion games with affine linear cost
functions. Every player has to pay the total cost of their flow, that is
Ci(x) :=∑︂
eE
xe,ice,i(xe),
where xe:=∑︁k
i=1xe,iis the total flow of all players on edge eE. Hence, every player pays the
cost depending on the total congestion caused by all players but only for their own flow. The
players seek to minimize their cost. Thus, given the strategies of all other players are known, a
best response of player iis to choose a minimum cost flow with respect to the objective Ci. In the
special case of a game with a single player, the outcome of the game is in particular a minimum
cost flow. This connection between atomic splittable congestion games and minimum cost flows
enables us to use techniques similar to those used in Part I to characterize equilibria and devise
an algorithm for the parametric computation of equilibria. Although the techniques are closely
related, the treatment of atomic splittable congestion games is much more involved. Also, the
computation of equilibria is harder in general than the computation of minimum cost flows. As a
result of our analysis, we will be able to show that the computation of an equilibrium in an atomic
splittable congestion game, even for affine linear costs, is a complete problem in the complexity
class PPAD.
124 6.1. Characterization of Nash Equilibria
Chapter Outline
The aim of this chapter is to characterize the Nash equilibria of atomic splittable congestion
games. We begin in Section 6.1 by reformulating the equilibrium conditions in matrix based
equalities and inequalities resulting in Theorem 6.3, the main result of this section. In this the-
orem, we characterize optimal potentials of Nash equilibria. The characterization is based on a
matrix we call block Laplacian matrix and can be viewed as a generalization of our characteriza-
tion of electrical flows based on Laplacian matrices in Section 4.1.1. On the way, we define the
central concept of a support of a Nash equilibrium, that is the information on which edges are
part of the minimum cost network for the respective players.
The second part of this chapter, Section 6.2, is concerned with a parametric variant of atomic
splittable congestion games where the demand of all players is depending linearly on a one-
dimensional parameter λ, similar to the parametric minimum cost flow setting considered in
the first part of this thesis. We characterize the sets of all optimal potentials belonging to fixed
supports of the game in Lemma 6.7, analogous to Theorem 4.1 regarding the solution curve in
the electrical flow case. We see that in atomic splittable congestion games, the support of the
solution plays the role of the regions in the context of electrical flows. Finally, we consider the
connection of neighboring supports. These are supports where only one edge for one player
changes its status (active or inactive) and we obtain with Theorem 6.8 the second main result of
this chapter, relating the Laplacian matrices of neighboring supports.
Similar to the analysis of parametric electrical flows, the characterization of (parametric)
Nash equilibria in atomic splittable congestion games requires a lot of notation and definitions.
Appendix A.3 provides a concise overview of the most important definitions from this chapter.
Bibliographic Information The results of this and the subsequent two chapters are joint work
with Max Klimm. An extended abstract appeared in the Proceedings of the Thirty-First Annual
ACM-SIAM Symposium on Discrete Algorithms, 2020 [72]. An extended version is submitted to
the SIAM Journal on Computing and currently undergoing the review process.
6.1 Characterization of Nash Equilibria
We begin the analysis of atomic splittable congestion games by characterizing the Nash equilibria
of the game with a potential based formulation similar to the characterization of minimum cost
flows. For all of our analysis we will assume that the cost functions of the players are affine linear,
non-negative, and strictly increasing, i.e., the cost functions have the form
ce,i(x)=ae,ix+be,i
with ae,i>0 and be,i0. To make the analysis easier, we assume that the graph Gis strongly
connected. This is without loss of generality as edges with costs having very high offsets be,ican
be added without changing the equilibrium states.
In a Nash equilibrium, no player has an incentive to deviate from their strategy, i.e., to choose
a different routing of their flow. Proposition 2.13 provides a characterization of such equilibrium
Chapter 6. Atomic Splittable Congestion Games 125
states via marginal cost. Recall that, given an outcome of the game, the marginal cost of the edge e
for player iare defined as µe,i(x) :=
xe,ixe,ice,i(xe). Since we assume that the cost functions ce,i
are linear, we can express the marginal cost as µe,i(x)=ae,ixe+be,i+ae,ixe,i. We observe that the
marginal costs are always non-negative by assumption. By Proposition 2.13, the flow xis a Nash
equilibrium if and only if every path that is used by player iis also a shortest path with respect
to the marginal cost for this player. The following lemma rephrases this characterization using
optimal potentials.
Theorem 6.1. The flow xis a Nash equilibrium if and only if Gx =r(i.e., all flows are si-ti-flows of
rates ri) and there exist vectors of vertex potentials φiRnfor every player i Nwith
φi
wφi
v=µe,i(x)if xe,i>0,
φi
wφi
vµe,i(x)if xe,i=0(6.1)
for all edges e =(v,w)E and players i N.
Proof. If xis a Nash equilibrium, define φi
vas the length of a shortest path from sito the vertex v
with respect to the edge weights µe,i(x). These potentials do always exist since the marginal costs
are non-negative and the graph is strongly connected. By Proposition 2.13, every used path, i.e.,
path with xe,i>0 for all edges, is a shortest path with respect to these edge weights. Hence, the
potentials φi
vsatisfy Eq. (6.1).
Conversely, if xis a feasible flow and satisfies Eq. (6.1) then the length of every used path Pis
∑︂
eP
µe,i(x)=∑︂
e=(v,w)P
φi
wφi
v=φi
tiφi
si
while the length of any path Qis
∑︂
eQ
µe,i(x)∑︂
e=(v,w)Q
φi
wφi
v=φi
tiφi
si.
Hence, every used path is a shortest path and with Proposition 2.13 the claim follows.
6.1.1 Shortest path potentials and supports
As we already observed in the realm of minimum cost flows, optimal potentials are not unique.
The potentials can be shifted by constants. But even fixing the potential at some vertex is not
enough to ensure uniqueness of the potentials: If there are subgraphs that only contain unused
edges for at least one player, then the potentials in this part of the graph are only defined via the
inequality part of Eq. (6.1) leaving some degree of freedom on the potentials of the vertices in
this part of the graph. In order to avoid this ambiguity, we will use again shortest path potentials.
Given a flow xwe define the shortest path potentials πi
vto be the length of a shortest path from
sito vertex vwith respect to the edge length µe,i(x). This potential is always uniquely defined
since the marginal costs are non-negative and we assume that the graph is strongly connected.
Further, as argued in the proof of Theorem 6.1, this potential is also an optimal potential. We note
that although for a given flow xthe shortest path potential is unique, neither the flow xnor the
shortest path potential needs to be unique for a given instance. In fact, we present an example
126 6.1. Characterization of Nash Equilibria
with infinitely many equilibria in Section 8.1.1. Since flows and potentials are not unique, the
shortest path potential (and supports that we define subsequently as well) always depend on the
equilibrium flow x. However, we do not always explicitly mention this dependence to keep the
notation simple.
We denote by φ:=(︁(φ1),...,(φk))︁the vector containing all potential vectors of the players
stacked and likewise by π:=(︁(π1),...,(πk))︁the vector containing all shortest path potential
vectors stacked. Further we introduce the subspace
Π:={︁φRkn |φi
si=0 for all players iN}︁
that we refer to as potential space containing only potentials that are zero at the source vertices
of the respective players. Further, we define
N:={︁(︁α11,...,αk1)︁Rkn |α1,...,αkR}︁
with 1Rnbeing the n-dimensional all-ones vector. Since ker(Γ)=span(1), the vector space N
is the kernel of G. Further, the potential space Πis isomorphic to the quotient space Rkn/N.
Both the potential space and the space Nwill be helpful when we need unique potentials for the
computation of equilibria later on.
Based on shortest path potentials we define the support of a Nash equilibrium xas the family
of edge sets
S=(︁Si)︁iNwith Si:={︁eE|πi
wπi
v=µe,i(x)}︁
containing the edges satisfying the potential inequalities from Eq. (6.1) with equality with respect
to the shortest path potential π. We note that this definition differs slightly from the classical
definition of support where only used edges (i.e., edges with xe,i>0) are considered to be support
edges. In our definition, an edge is in the support Sif it is part of some shortest path from sito ti
but does not need to be used.
6.1.2 Matrix-based characterization of optimal potentials
The support contains the relevant information and once we know the support of a solution, the
solution flow xcan be obtained by solving a system of linear equations. Assume, we know the
support, then the solution xmust satisfy
φi
wφi
v=µe,i(x) for all eE,iNwith eSi, (6.2a)
xe,i=0 for all eE,iNwith eSi, (6.2b)
Gx =r(6.2c)
together with some potential φ. We begin our analysis of Nash equilibria by solving the above
system of linear equations for a given support. To this end, we first solve Eqs. (6.2a) and (6.2b)
for x. In order to express the solution in an explicit matrix form, we need some additional def-
initions. For any two players i,jNand any edge eEwe define the coefficient ωi j
e:=1 if
eSiSjand ωi j
e:=0 otherwise. Thus, the coefficient ωi j
eindicates whether the edge eis active
for both players iand j. We also write ωi
eas a short hand form of ωii
e. Let i:=diag(︁ωi
e1,...,ωi
em)︁
Chapter 6. Atomic Splittable Congestion Games 127
be a diagonal matrix encoding the support of player ion the diagonal. Additionally, we define
the block diagonal matrix containing the matrices iof all players as block diagonal entries.
Further, for every eE, we denote by κe:= |{iN|eSi}|the number of players whose sup-
port contains the edge e. We define the diagonal matrix K
¯:=diag(︁1
κe1+1,..., 1
κem+1)︁and the block
matrix KRkm×km containing k×kcopies of the matrix K
¯. Finally, we define the matrix
C:=(Ikm K)A1,
where Ikm is the km ×km identity matrix and A1:=diag(︁1
ae1,1 ,..., 1
aem,k)︁is the diagonal matrix
containing all reciprocals of the slopes of all cost functions.
Lemma 6.2. For a fixed support S and a potential φthe system from Eqs. (6.2a)and (6.2b)has the
unique solution
x=C(︁Gφb)︁,
where b=(be1,1,...,bem,k)is the vector containing all offsets of the cost functions. The total flow
on edge e =(v,w)with respect to this flow xis
xe=e
e,iKA1(Gφb)=ωi
e
φi
wφi
vbe,i
(κe+1)ae,i
,
where ee,iRkm is the unit vector corresponding to edge e and player i. The total flow formula is
independent of the choice of player i. In particular, we can express the flow of the i-th player on
edge e =(v,w)as
xe,i=ωi
e(︁e
e,iA1(Gφb)xe)︁=ωi
eκe
φi
wφi
vbe,i
(κe+1)ae,i
.
Proof. We can express the marginal cost of player ias µe,i(x)=ae,i(︁∑︁j:eSjxe,j+xe,i)︁+be,ifor
every eE. Thus, we can rewrite Eqs. (6.2a) and (6.2b) as
xe,i+∑︂
jN:eSi
xe,j=ρe,iif eSifor all eE,iN
xe,i=ρe,iif eSifor all eE,iN
with
ρe,i:=ωi
e
φi
wφi
vbe,i
ae,i
.
We denote by JRmk×mthe block-matrix containing kstacked copies of the m×midentity ma-
trix Im. Let ρbe a vector containing all coefficients ρe,i. Then, we can express the above system
as
(︁Imk +J(J))︁x=ρ.
Since (j)j=jby definition, we observe that
(︁Im+(J)J)︁1=(︁Im+
k
∑︂
j=1
j)︁1=(︁diag(κe1+1,...,κem+1))︁1=K
¯.
128 6.1. Characterization of Nash Equilibria
Since this inverse exists, the Sherman-Morrison-Woodbury formula (see, e.g., Hager [53] for a
reference) implies that the inverse
(︁Ikm +J(J))︁1=Ikm J(︁Im+(J)J)︁1(J)=Imk JK
¯(J)
exists and, hence, the above system has the unique solution x=(︁Ikm JK
¯J)︁ρ. The vector
Gφcontains all potential differences of all edges for all players. Thus, ρ=A1(︁Gφb)︁. Since,
additionally, JK
¯J=K, we obtain
x=(Ikm K)A1(︁Gφb)︁=C(︁Gφb)︁.
Let eEand iNbe fixed and let ee,iRkm be the unit vector corresponding to the edge-
player pair and eeRmbe the unit vector corresponding to the edge. Then,
e
e,iK=e
e,iJK
¯J=e
eK
¯J=1
κe+1
k
∑︂
j=1
e
e,j=1
κe+1
k
∑︂
jN:eSj
e
e,j(6.3)
which is indeed independent of the player i. Then, we can choose an arbitrary player iNand
compute the total flow on edge eas
xe=∑︂
jN:eSj
xe,j=∑︂
jN:eSj
e
e,jC(︁Gφb)︁=(︂∑︂
jN:eSj
e
e,j∑︂
jN:eSj
e
e,jK)︂A1(︁Gφb)︁
(6.3)
=(︂∑︂
jN:eSj
e
e,jκe
κe+1∑︂
jN:eSj
e
e,j)︂A1(︁Gφb)︁=(︂1
κe+1∑︂
jN:eSj
e
e,j)︂A1(︁Gφb)︁
(6.3)
=e
e,iKA1(Gφb).
Plugging in the definitions of the respective matrices yields the remaining inequalities.
The formula from Lemma 6.2 allows us, given a support Sand a potential φ, to compute a
flow xsatisfying Eqs. (6.2a) and (6.2b). If the potential is optimal and the support is correct then
this flow automatically satisfies the complementarity conditions from Eq. (6.1) of the Nash equi-
librium. Replacing x=C(︁Gφb)︁in the flow condition from Eq. (6.2c), we obtain the equality
Lφd=r(6.4)
characterizing the optimal potentials φ, where L:=GCGand d:=GCb. Again, note that the
matrix Land the vector ddepend on the support. We call the matrix Lblock Laplacian matrix
with respect to the support S. The block Laplacian matrix has a similar structure as the classi-
cal weighted block Laplacian but instead of scalar entries it contains again Laplacian matrices
that operate on the sub networks of the active networks of player pairs. Formally, define weight
matrices
Cii :=diag(︃κe1+1ωi
e1
(κe1+1)ae1,i
ωi
e1,..., κem+1ωi
em
(κem+1)aem,i
ωi
em)︃for all iN,
Ci j :=diag(︃1
(κe1+1)ae1,j
ωi j
e1,..., 1
(κem+1)aem,j
ωi j
em)︃for all i,jNwith i= j,
Chapter 6. Atomic Splittable Congestion Games 129
and with these weights the Laplacian matrices Li j :=ΓCi j Γ. Then these Laplacian matrices
have non-zero weights only on edges that are active for both players iand j. In some sense, these
matrices govern the bilateral interaction of all player pairs. With the definition it is easy to show
that the block Laplacian matrix has the form
L=
L11 L12 ··· L1k
L21 L22 ....
.
.
.
.
.......Lk1,k
Lk1··· Lk,k1Lkk
.
We say a potential vector φRnk is an optimal potential for a Nash equilibrium with sup-
port Sif φtogether with the flow x:=C(︁Gφb)︁satisfies the conditions of Theorem 6.1. If we can
find a support Sand an optimal potential for a Nash equilibrium with this support we can obtain
the actual Nash equilibrium via the simple linear transformation x=C(︁Gφb)︁. We introduce
one additional coefficient σi
e:=1 if eSiand σi
e:=1 if eSifor all eEand iN. Note that
σi
e=2ωi
e1. Similar to the matrices iand we define the matrices Σi:=diag(︁σi
e1,...,σi
em)︁for
all players iNand the block diagonal matrix Σcontaining the matrices Σias block diagonal
entries.
Theorem 6.3. A potential φRnk is the optimal potential of a Nash equilibrium for demand r
with support S if and only if
Lφd=r, (6.5a)
W(Gφb)0, (6.5b)
where W:=ΣC
˜with C
˜:=(Ikm K)A1.
Proof. We need to show that the potential φtogether with the flow x=C(︁Gφb)︁satisfies the
conditions in Eq. (6.1) from Theorem 6.1 if and only if it satisfies the conditions in Eq. (6.5). By
Lemma 6.2 it follows that Eq. (6.5a) is equivalent to the equality constraints in the complemen-
tarity conditions Eq. (6.1). It remains to be shown that Eq. (6.5b) is equivalent to the respective
inequalities, i.e., xe,i0 for all eSi,iNand φi
wφi
vµe,i(x) for all ESi,iN.
If we consider a row of Eq. (6.5b) corresponding to edge eand player ithen there are two
cases. If eSi, then σi
e=1 and ωi
e=1 and, thus, e
e,iΣ=e
e,i. Therefore, the corresponding row
is equivalent to
0e
e,iΣC
˜(Gφb)=e
e,iC
˜(Gφb)=e
e,iC(Gφb)=e
e,ix=xe,i,
i.e., equivalent to the non-negativity of the flow xe,i.
Similarly we get for every edge eand player iwith eSithat the corresponding row is equiv-
alent to
0e
e,iC
˜(Gφb)=e
e,i(Ikm K)A1(Gφb)
=κe
φi
wφi
vbe,i
(κe+1)ae,i=φi
wφi
vbe,iae,ixe
ae,i=φi
wφi
vµe,i(x)
ae,i
,
130 6.1. Characterization of Nash Equilibria
where we used the formulas for the from Lemma 6.2. Since ae,i>0 this is equivalent to φi
wφi
v
µe,i(x) concluding the proof.
6.1.3 Computation of optimal potentials
The characterization of optimal potentials as in Theorem 6.3 already implies a trivial algorithm
for the computation of optimal flows and, thus, also Nash equilibria. This trivial approach works
as follows.
Algorithm 7: Trivial algorithm for computing Nash equilibria
Input: Atomic splittable congestion game with affine linear, player dependent edge cost
ce,i(x)=ae,ix+be,i
Output: Nash equilibrium xwith optimal potentials φ.
for every support S do
φsome solution of the linear system Eq. (6.5a) for support S;
if W(Gφb)0 then
xC(︁Gφb)︁;
return (x,φ);
Obviously, Algorithm 7is not feasible in practice as there are exponentially many supports S.
The main challenge will be to find a support of a solution. We will develop a method that finds
a support of the solution when we look into parametric solutions in later sections. For now, we
maintain the assumption that we are given a support Sand are concerned with solving the equa-
tion Eq. (6.5a) explicitly. We call a support that belongs to a Nash equilibrium feasible. For every
feasible support there must be at least one vector φsolving Eq. (6.5). As we have stated above, the
matrix Ghas the kernel N, hence, there cannot exist a unique solution. In particular, all player
potentials are invariant to adding constants. Therefore, we will restrict all our computations to
potentials from the potential space Πwhere we fix every player potential to zero at the source
vertex.
Lemma 6.4. For every support S, ker(CG)=N.
Proof. By definition, the matrix Ccan be written as block matrix containing the blocks Ci j . Con-
sider submatrix C
ˆof Cwithout all zero rows and columns, i.e., without all rows and columns that
correspond to edges eand players iwith eSi. Then it follows from the definition of the matrices
Ci j that the matrix C
ˆis strictly diagonally dominant. Thus, C
ˆis non-singular. Denote by G
ˆthe
sub-matrix of Gwithout the columns corresponding to players and edges with eSi. Then, G
ˆis
a block diagonal matrix containing the incidence matrices of the active networks of all players as
block entries. Since these graphs are connected, the left nullspace of these matrices is spanned
by the all-ones vector 1for all players. Thus, ker(G
ˆ)=Nand, hence,
ker(CG)=ker(C
ˆG
ˆ)=ker(G
ˆ)=N.
Lemma 6.4 shows that the function mapping potentials πΠfrom the potential space to the
flows x:=C(︁Gπb)︁is injective. Thus, every potential from the potential space solving Eq. (6.5)
belongs to a unique Nash equilibrium flow x. This also implies that there are only three options
Chapter 6. Atomic Splittable Congestion Games 131
regarding the uniqueness of Nash equilibria for a given support. The system from Eq. (6.5) can
have no solution, a unique solution, or infinitely many solutions depending on the number of
solution of the linear system from Eq. (6.5a) in the potential space Π. The latter depends on
the block Laplacian matrix L=GCG. In fact, all three cases are possible. In particular, it can
also happen that the Laplacian matrix Lhas a kernel that also intersects with the potential space
leading to infinitely many equilibria. For a concrete example for this situation, see Section 8.1.1
where we present a game that exhibits an infinite number of equilibria for one demand and one
support. We consider these cases as degenerate. Formally, we say a support Sis a-degenerate if
dim(ker(L)) >dim(N)=k. An atomic splittable congestion game is called a-degenerate if there
is a feasible, a-degenerate support. We use the term a-degeneracy since, intuitively, this type of
degeneracy depends on the slopes of the cost functions ae,ithat need to be in a certain configura-
tion for the game to be a-degenerate. Later, we will also encounter a different type of degeneracy
depending on the offsets be,ithat we call b-degeneracy. For now, we will assume that all games
are non-a-degenerate and deal with a-degenerate games in more detail in Section 8.1.
Corollary 6.5. If an atomic splittable congestion game is non-a-degenerate, then the number of
Nash equilibria of this game is finite.
Proof. A non-a-degenerate game has at most one Nash equilibrium for every support S. Since
the number of supports is finite, the claim follows.
If we assume that the game is non-a-degenerate, then the linear equation from Eq. (6.5) has
a unique solution πΠ. In order to express the solution to this system explicitly, we again define
apseudo-inverse for the block Laplacian matrix, similar to the pseudo-inverse for the Laplacian
matrix as introduced in Section 2.2.2. We defined the pseudo-inverse of a Laplacian matrix via
the inverse of the submatrix L
ˇobtained by removing the first row and column. For the pseudo-
inverse of the block Laplacian matrix we use a similar approach. In the non-a-degenerate case
the dimension of the block Laplacian Lis k. Therefore, we remove klinear dependent rows and
columns and use the resulting submatrix as a basis for the pseudo-inverse.
Formally, recall that every row and column of the block Laplacian matrix belongs to a pair
(v,i) consisting of a vertex vand a player i. In particular, the first nrows and columns corre-
spond pairs (v,1) for Player 1, the next nrows and columns belong to pairs for Player 2 and so
on. Define a permutation matrix Pthat, when multiplied from the right to a matrix ARnk×nk,
moves all columns corresponding to the vertex-player-pairs (si,i),i=1,...,kof players and their
source vertex to the front of the matrix. Additionally, let L
ˇbe the matrix obtained from the
block Laplacian matrix Lby removing all rows and columns corresponding to the vertex-player-
pairs (si,i),i=1,...,k. Then, we can express the Block Laplacian matrix as
L=P(︄X Y
Z L
ˇ)︄P,
where X,Y,Zare matrices of appropriate sizes. Finally, we define a new matrix
L:=P(︄0 0
0 L
ˇ1)︄P
132 6.2. Parametric Atomic Splittable Congestion Games
with the zero matrices having the same sizes as the matrices X,Y, and Z. Note that for k=1
the block Laplacian matrix is just a normal graph Laplacian matrix and, thus, by Lemma 2.4,
the matrix Lis a pseudo-inverse of L. The following lemma proves that, for non-a-degenerate
supports, the matrix Lis indeed for all ka pseudo-inverse of the block Laplacian matrix L.
Lemma 6.6. Let S be a non-a-degenerate support and Lbe the associated block Laplacian matrix.
Then,
(i) the block Laplacian matrix Lhas the left and right nullspaces ker(L)=ker(L)=Nand the
row and column spaces span(L)=span(L)=N.
(ii) the submatrix L
ˇis non-singular.
(iii) the matrix Lis well-defined and a generalized inverse of the matrix Lmapping into Π.
(iv) the unique solution in Πof the system from Eq. (6.5)is π=L(r+d).
Proof. Since Sis assumed to be non-a-degenerate, the rank of the block Laplacian matrix is
rank(L)=(n1)k. Thus, dim(ker(L)) =dim(ker(L)) =k=dim(N). Since, by definition ker(G)
ker(L) and ker(G)ker(L), we have that ker(L)=ker(L)=N. Further, since the column
space of any matrix is the orthogonal complement of the nullspace of its transpose (see, e.g.,
Lemma 12.5.2 in [54]), we obtain span(L)=(ker(L))=Nand, likewise, span(L)=N, con-
cluding the proof of (i). The matrix Lhas exactly dim(ker(L)) =klinear dependent rows. Since,
additionally, ker(L)=N, the rows and columns n·(i1)+1 to n·isum to zero for every player
i{1,...,k}. Removing one of these row and column pairs for every player therefore removes k
linear dependent rows and columns. Therefore, the matrix L
ˇhas no linear dependent rows or
columns by construction and is non-singular, proving (ii). Since L
ˇis non-singular, Lis well-
defined. With Theorem 9.2.1 from [54] (a generalization of Lemma 2.4), we also obtain that Lis
a generalized inverse of L. Since Lmaps into Πby definition, (iii) follows immediately. Finally,
(iv) follows from (iii).
6.2 Parametric Atomic Splittable Congestion Games
In this section, we consider a parametric variant of the atomic splittable congestion game. We
will see later that we can use the insights of the parametric variant for the computation and the
analysis of Nash equilibria in atomic splittable game for fixed demands. As for the minimum cost
flows in the first part of this thesis, we consider a variant with parametric demand. We formalize
this with the following definition. We say a flow xis a λ-Nash equilibrium if it is a Nash equilib-
rium for the game where every player has the demand rates λri, i.e., where every player wants
to send a fraction of λof their demand. To circumvent some technical difficulties we restrict this
problem to λ[0,1] and are interested in computing a function λ↦→ x(λ) that maps every pa-
rameter λ[0,1] to a λ-Nash equilibrium. Naturally, every algorithm that can compute such a
function can also compute a Nash equilibrium for the unparametrized variant by returning x(1).
We have seen that there is a one-to-one correspondence between shortest path potentials
πΠand Nash Equilibria x. We call the a shortest path potential πΠthat corresponds to the
λ-Nash equilibrium λ-potential. We also consider functions λ↦→ π(λ) that map the parameter
value λ[0,1] to the λ-potential of some Nash equilibrium. We note that since Nash equilibria
Chapter 6. Atomic Splittable Congestion Games 133
are not unique (even if the game is non-degenerate) the functions λ↦→x(λ) and λ↦→π(λ) are also
not uniquely defined in general.
6.2.1 Potential lines
We begin by characterizing all λ-potentials (and, thus, indirectly all λ-Nash equilibria) for fixed
supports. With Theorem 6.3 we can characterize all λ-potentials for a fixed support as follows
and observe that a potential πΠis a λ-potential for some λ[0,1] and the support Sif and
only if it is contained in the set
ΠS:={︁πΠ|λ[0,1] : Lπd=λr,W(Gπb)0}︁(6.6)
that we refer to as the potential line of support S. We say a support is λ-feasible if ΠS=. For every
non-a-degenerate support S, the potential line is in fact a line segment in the potential space. To
formalize this, we define the potential direction π:=Lrand the potential offset πS:=Ld.
Lemma 6.7. For every λ-feasible, non-a-degenerate support S there are numbers λmin
S,λmax
Swith
0λmin
Sλmax
S1such that
ΠS={︁λπ+πS|λmin
Sλλmax
S}︁.
Proof. The unique solution of Lπd=λrin Πis π=λπ+πS. Thus,
ΠS:={︁πΠ|λ[0,1] : W(︁G(λπ+πS)b)︁0}︁.
Let we,i:=Wee,ibe the row of the matrix Wcorresponding to the pair of edge eand player i. The
(e,i)-th inequality in the characterization of ΠSabove can be rewritten as
λw
e,iGπw
e,i(bGπS).
Solving these inequalities for λwe obtain the values
λmin
S:=max(︄{︄w
e,i(bGπS)
w
e,iGπw
e,iGπ>0}︄{0})︄
λmax
S:=min(︄{︄w
e,i(bGπS)
w
e,iGπw
e,iGπ<0}︄{1})︄
satisfying the claim.
Lemma 6.7 proves that the potential line is indeed a line segment with a direction πand
endpoints πmin
S:=λmin
Sπ+πSand πmax
S:=λmax
Sπ+πS. We call these points boundary po-
tentials denoted by ΠS:={πmin
S,πmax
S}. See Fig. 6.1 for a visual representation of the potential
line.
134 6.2. Parametric Atomic Splittable Congestion Games
πS
λmin
S
λmax
S
λ=0λ=λmin
S
λ=λmax
S
ΠS
π
Figure 6.1: The set of all λ-potentials ΠSis a segment of the line with direction πwith extreme
points πmax
Sand πmin
S. All potentials on this line segment induce Nash equilibria for demands λr
with λmin
Sλλmax
S.
6.2.2 Neighboring Supports
So far we considered fixed supports Sand characterized the associated λ-potentials. In this sub-
section we study the connection between different λ-feasible supports. Since many of the defi-
nitions and expressions introduced before depend on the support S, we will add the support to
the subscript of all matrices and coefficients. In order to study the connection between supports,
we introduce the notion of neighboring supports. Let eEand iN. Then, we say two supports
S,Sare (e,i)-neighboring if
(a) Sj=Sjfor all j=iand
(b) Si\S
i={e} or S
i\Si={e} .
If S,Sare (e,i)-neighboring we also write S=N(S,e,i) and say Sis the (e,i)-neighbor of S. By
definition, two (e,i)-neighboring supports differ only by exactly one active/inactive edge for one
player. This implies that for neighboring supports, the matrices CSas well as Laplacian matrices
LSare closely related. In fact, as in the first part of the thesis, we can again show that the Lapla-
cian matrix of a neighboring support can be obtained by a rank-1-update from the old Laplacian
matrix. To formalize this, we need two new definitions. For every edge eEand iN, we
define the vectors qS,e,i:=(WSG)ee,iand q
¯S,e,i:=(︁(Ikm KSS)Γ)︁ee,i. The vector qS,e,ican
be interpreted as the normal vector corresponding to the hyperplane induced by the respective
inequality e
e,iW(Gφb)0. (See also Fig. 6.2 further below.) The vector q
¯S,e,iis almost the
same vector but without the sign σi
e. The following theorem shows that with these vectors we can
also express the connection between the Laplacian matrices of two neighboring supports.
Theorem 6.8. Let e E and i Nand S be some support. Then, let S:=N(S,e,i)be the (e,i)-
neighbor of S.Then,
(i) LS=LS+q
¯S,e,iq
S,e,i,
(ii) L
S=L
S1
1+q
S,e,iL
Sq
¯S,e,i
L
Sq
¯S,e,iq
S,e,iL
S,
(iii) sgn(︁q
S,e,iπS)︁=σS
σS
sgn(︁q
S,e,iπS)︁,
(iv) sgn(︁q
S,e,iπS)︁=sgn(︁q
S,e,iπS)︁,
Chapter 6. Atomic Splittable Congestion Games 135
where σS:=sgn(︁det(L
ˆS))︁is the sign of the determinant of the submatrix L
ˆSobtained from the
block Laplacian matrix LSby removing all rows and columns corresponding to the pairs (si,i)for
all i N.
Proof. We begin the proof by establishing a connection between the matrices CSand CSof the
neighboring supports Sand S.
Claim. If S=N(S,e,i), then CS=CS(︁Ikm SKS)︁ee,ie
e,iΣS(︁Ikm SKS)︁A1.
Proof of the claim. We make the following observations: The only difference between Sand Sis
by definition the different state of the edge efor player i. Thus, ωi
e(S)=ωi
e(S) for all e=eor
i=iand ωi
e(S)=ωi
e(S)+σi
e(S). Thus, likewise the matrix Sdiffers from the matrix Sonly by
one value and we get
S=S+σi
e(S)ee,ie
e,i=S+ee,ie
e,iΣS.
Further, the number of players that use an edge is unchanged for all edges but the edge e. Thus,
κe(S)=κe(S) for all e=eand κe(S)=κe(S)+σi
e(S). Let
κ:= σi
e(S)
(κe(S)+1)(κe(S)+1) =1
κe(S)+11
κe(S)+1.
Then,
K
¯S=K
¯S+κeee
e
with eeRmbeing the m-dimensional unit vector corresponding to the edge e. Observe that
KS=JK
¯SJwhere Jis the km×mblock matrix that contains kstacked copies of the m×midentity
matrix. Then, in particular, KSK=Jκeee
eJ. Using Jee,i=eeand K
¯See=1
κe(S)+1eewe obtain
KSee,ie
e,iΣSKS=JK
¯SJee,ie
e,iΣSJK
¯SJ=J1
κe(S)+1ee,ie
e,i
1
κe(S)+1J=Jκeee
eJ=KSKS.
(6.7)
Overall, we get
CSCS=(︂S(︁Ikm KSS)︁(︂S(︁Ikm KSS)︁)︂A1
=(︂(︁S+ee,ie
e,iΣS)︁(︁Ikm KS(S+ee,ie
e,iΣS))︁S+SKSS)︂A1
=(︂ee,ie
e,iΣSSKSSSKSee,ie
e,iΣSee,ie
e,iΣSKSS
ee,ie
e,iΣSKSee,ie
e,iΣS+SKSS)︂A1
=(︂ee,ie
e,iΣSS(KSKS)See,ie
e,iΣS(KSKS)S+ee,ie
e,iΣSKSS
SKSee,ie
e,iΣSee,ie
e,iΣSKSee,ie
e,iΣS)︂A1
(6.7)
=(︂ee,ie
e,iΣS+SKSee,ie
e,iΣSKSS+ee,ie
e,iΣSKSee,ie
e,iΣSKSS+ee,ie
e,iΣSKSS
SKSee,ie
e,iΣSee,ie
e,iΣSKSee,ie
e,iΣS)︂A1
=(︁ee,ie
e,iΣSSKSee,ie
e,iΣSKSee,ie
e,iΣSKSee,ie
e,iΣS)︁(︁Ikm KSS)︁A1
=(︁Ikm KSS)︁A1ee,ie
e,iΣS(︁Ikm KSS)︁A1
=(︁Ikm KSS)︁A1ee,ie
e,iΣS(︁Ikm KSS)︁A1
136 6.2. Parametric Atomic Splittable Congestion Games
concluding the proof of the claim.
Using the claim, we get
LSLS=G(︁CSCS)︁G=G(︁Ikm KSS)︁A1ee,ie
e,iΣS(︁Ikm KSS)︁A1
⏟⏟
=ΣSC
˜S=WS
G=q
¯S,e,iq
S,e,i
proving (i).
Denote by L
ˆSthe matrix obtained from LSby deleting the rows and the columns correspond-
ing to all pairs (si,i). Since we assume that Sis non-a-degenerate, the nullspace of LSis N.
Hence, L
ˆSis non-singular. Further, denote by q
S,e,iand q
¯
S,e,ithe vectors obtained from qS,e,iand
q
¯S,e,iby removing the rows corresponding to the pairs (si,i). Then, applying (i) to the matrix L
ˆS,
we obtain L
ˆS=L
ˆS+q
¯
S,e,i(︁q
S,e,i)︁and thus
det(︁L
ˆS)︁=det(︂L
ˆS(︁I(n1)k+L
ˆ1
Sq
¯
S,e,i(︁q
S,e,i)︁)︁)︂=det(︁L
ˆS)︁(︂1+(︁q
S,e,i)︁L
ˆ1
Sq
¯
S,e,i)︂.
By definition, the pseudo inverse L
Sof the matrix LScan be computed by adding zero rows and
columns to the inverse L
ˆ1
S. Hence,
1+q
S,e,iL
Sq
¯S,e,i=1+(︁q
S,e,i)︁L
ˆ1
Sq
¯
S,e,i=det(︁L
ˆS)︁
det(︁L
ˆS)︁=0.
By non-a-degeneracy assumption, the determinants of both matrices L
ˆSand L
ˆSare non-zero.
This implies that we can use the Sherman-Morrison-Woodbury formula for generalized inverses
(see, e.g., Theorem 18.2.14 in Harville [54]) to compute the pseudo inverse L
Sand obtain (ii).
Claim. If S=N(S,e,i), then for every player jN
e
e,jC
˜S=
κe(S)+1
κe(S)+1e
e,jC
˜S+σi
e(S)
κe(S)+1(︁e
e,je
e,i)︁A1if e=e,
e
e,jC
˜Sif e=e.
Proof of the claim. We compute
κe(S)+1
κe(S)+1(︁Ikm SKS)︁ee,j=κe(S)+1
κe(S)+1ee,j+SKS
κe(S)+1
κe(S)+1ee,j
=ee,jσi
e(S)
κe(S)+1ee,j(︁See,ie
e,iΣS)︁KSee,j
=(︁Ikm SKS)︁ee,jσi
e(S)
κe(S)+1ee,j+ee,ie
e,iΣSKSee,j
=(︁Ikm SKS)︁ee,j+σi
e(S)
κe(S)+1(︁ee,iee,j)︁.
Multiplying this equation with A1from the left, we obtain the first part of the claim. If e=e, then
the number of players using the edge eis the same for both supports Sand S, i.e., κe(S)=κe(S)
Chapter 6. Atomic Splittable Congestion Games 137
and, thus, KSee,j=KSee,jfor all jN. Therefore, we obtain
(︁Ikm SKS)︁ee,j=ee,j(︁See,ie
e,iΣS)︁KSee,j
=ee,j(︁See,ie
e,iΣS)︁KSee,j
=(︁Ikm SKS)︁ee,j+ee,ie
e,iΣSKSee,j
⏟⏟
=0
=(︁Ikm SKS)︁ee,j.
Multiplying this equation with A1from the left we also get the second part of the claim.
With the preceding claim and qS,e,i=(︁ΣSC
˜SG)︁ee,iwe get qS,e,i=κe(S)+1
κe(S)+1qS,e,i. The latter
directly implies (iv). With (ii) we further obtain
q
S,e,iπS(ii)
=q
S,e,i(︂L
S1
1+q
S,e,iL
Sq
¯S,e,i
L
Sq
¯S,e,iq
S,e,iL
S)︂r
=1
1+q
S,e,iL
Sq
¯S,e,i
q
S,e,iL
Sr
=det(︁L
ˆS)︁
det(︁L
ˆS)︁q
S,e,iπS
proving (iii) by applying the sign function to both sides.
Theorem 6.8 establishes a simple rank-1-update formula for the block Laplacians and their
pseudo inverses as well as a connection between the orientation of the direction vectors πSof
two neighboring supports. If we are given a feasible support S, we are interested in the neigh-
boring supports Sthat are feasible as well. Neighboring supports with ΠSΠS= are of par-
ticular interest. In this case, the line segment ΠSof support Scontinues with the line segment
ΠSfor the neighboring support S. This will allow us later to trace the line of all λ-potentials
over different supports. If for S=N(S,e,i) we have ΠSΠS=we call Sthe continuative (e,i)-
neighbor of S since this support continues the line segment of the support Sand denote by
NS:={S|ΠSΠS=} the set of all continuative neighbors. In order to characterize the contin-
uative neighbors for a given support S, we introduce the (possibly empty) sets
Nmin
S={︄S=N(S,e,i)w
S,e,iGπS>0 and w
S,e,i(︁bGπS)︁
w
S,e,iGπS=λmin
S}︄
Nmax
S={︄S=N(S,e,i)w
S,e,iGπS<0 and w
S,e,i(︁bGπS)︁
w
S,e,iGπS=λmax
S}︄
of (e,i)-neighboring supports that induce the minimum in the computation of the values λmin
S
and λmax
S. We refer to these sets as sets of lower and upper continuative neighbors of S. With the
following lemma we will prove that the lower and upper continuative neighbors are indeed all
continuative neighbors.
138 6.2. Parametric Atomic Splittable Congestion Games
πmin
S1
πmax
S0
πmax
S1
πmax
S2
qS1,e1,i1
qS1,e2,i2
ΠS0
ΠS1
ΠS2
πS0
πS1
πS2
Figure 6.2: The potential lines of continuative neighbors. The potential line ΠS1of the support
S1is a line segment with direction πS1bounded by hyperplanes with normal vectors qS1,e,i.
The support S1has two continuative neighbors NS={S0,S2}, the lower continuative neighbor S0
(since ΠS1ΠS0={︁πmin
S1}︁) and the upper continuative neighbor S2(since ΠS1ΠS2={︁πmin
S2}︁). The
direction vectors πSof neighboring supports may have the same orientation (as it is the case for
S0and S1) with respect to the bounding hyperplane or a different orientation (as it is the case for
S1and S2). By Theorem 6.8(iii), this depends on the signs of the determinants of the respective
block Laplacian matrices.
Lemma 6.9. For every support S, NS=Nmin
SNmax
S. If SNS, then there exists a unique potential
πΠsuch that
ΠSΠS=ΠSΠS={︁π}︁.
Further, CS(︁Gπb)︁=CS(︁Gπb)︁, i.e., the potential πis an optimal potential for the same
flow for both supports.
Proof. Let eEand iNbe such that S:=N(S,e,i)Nmin
Swe get by definition of the lower
continuative neighbors that
w
S,e,i(︁Gπmin
Sb)︁=w
S,e,i(︁G(λmin
SπS+πS)b)︁=0. (6.8)
Using the statement about the matrices Cof neighboring supports from the first claim in the
proof of Theorem 6.8 we get
CS(︁Gπmin
Sb)︁=(︁CS+(︁Ikm SKS)︁ee,ie
e,iΣS(︁Ikm SKS)︁A1)︁(︁Gπmin
Sb)︁
=CS(︁Gπb)︁+(︁Ikm SKS)︁ee,iw
S,e,i(︁Gπmin
Sb)︁(6.8)
=CS(︁Gπmin
Sb)︁.
(6.9)
We note that for eEand iNwith S:=N(S,e,i)Nmax
Swe obtain similar equations if we
replace Nmin
Swith Nmax
S,πmin
Swith πmax
S, and λmin
Swith λmax
S.
Claim. If S:=N(S,e,i)Nmin
Sthen WS(︁Gπmin
Sb)︁0. Likewise, if S:=N(S,e,i)Nmax
Sthen
WS(︁Gπmax
Sb)︁0.
Proof of the claim. Let S:=N(S,e,i)Nmin
S. Let eEbe some edge and jNsome player and
consider the row of the inequality corresponding to the pair (e,j). There are three cases.
Chapter 6. Atomic Splittable Congestion Games 139
Case 1: Assume e=e. Then the second claim from the proof of Theorem 6.8 implies
ee,jWS=σi
e(S)ee,jC
˜S=σi
e(S)ee,jC
˜S=ee,jWS
and, thus, ee,jWS(︁Gπmin
Sb)︁=ee,jWS(︁Gπmin
Sb)︁)0.
Case 2: Assume e=eand j=i. We again use the second claim from the proof of Theorem 6.8
and obtain
e
e,jWS(︁Gπmin
Sb)︁
=σi
e(S)(︃κe(S)+1
κe(S)+1e
e,jC
˜S+σi
e(S)
κe(S)+1(︁e
e,je
e,i)︁A1)︃(︁Gπmin
Sb)︁
=σi
e(S)(︃e
e,jC
˜Sσi
e(S)
κe(S)+1e
e,jC
˜S+σi
e(S)
κe(S)+1(︁e
e,je
e,i)︁A1)︃(︁Gπmin
Sb)︁
=σi
e(S)(︃e
e,jC
˜S+σi
e(S)
κe(S)+1(︁e
e,jKSS
⏟⏟
=e
e,iKSS
e
e,i)︁A1)︃(︁Gπmin
Sb)︁
=e
e,jWS(︁Gπmin
Sb)︁+1
κe(S)+1w
S,e,i(︁Gπmin
Sb)︁
(6.8)
=e
e,jWS(︁Gπmin
Sb)︁0.
Case 3: Assume e=eand j=i. We again use the second claim from the proof of Theorem 6.8
and obtain
e
e,jWS(︁Gπmin
Sb)︁=e
e,jΣSC
˜S(︁Gπmin
Sb)︁
=σi
e(S)κe(S)+1
κe(S)+1e
e,jC
˜S(︁Gπmin
Sb)︁
= κe(S)+1
κe(S)+1w
S,e,i(︁Gπmin
Sb)︁(6.8)
=0.
If we replace Nmin
Swith Nmax
S,πmin
Swith πmax
S, and λmin
Swith λmax
Sthe second part of the claim
follows similarly.
Let S=N(S,e,i)Nmin
SNmax
Sbe an upper continuative neighbor. First, assume that S
Nmin
S. Then,
LSπmin
SdS=GCSGπmin
SGCSb(6.9)
=GCSGπmin
SGCSb=LSπmin
SdS=λmin
Sr
and WS(︁Gπmin
Sb)︁0by the preceding claim. Hence, πmin
SΠSby definition of the potential
line from Eq. (6.6). Thus, ΠSΠS={πmin
S} implying that Sis a continuative neighbor (i.e., S
NS). If SNmax
S, we obtain with the same computation πmax
SΠSand thus ΠSΠS={πmax
S}.
Hence we have proven NSNmin
SNmax
S.
If, conversely, S=N(S,e,i)NSis a continuative neighbor, we know that by definition that
there exists πΠSΠS. With the same computations as in the above claim, we can prove that
0e
e,iWS(︁Gπb)︁= κe(S)+1
κe(S)+1e
e,jWS(︁Gπb)︁0.
140 6.2. Parametric Atomic Splittable Congestion Games
Hence, in the potential πthe inequality from the definition of the potential line is tight, hence
πmust be a boundary potential. This also implies that Sis either in Nmin
Sor in Nmax
S. This
proves NSNmin
SNmax
S. Further, this shows that every potential in ΠSΠSis also in ΠSΠS.
Since only the potentials πmin
S,πmax
Sare boundary potentials, ΠSΠScan only contain at most
one of these potentials, proving that there exists a unique πin ΠSΠS, namely either πmin
Sor
πmax
S. Then, the further part of the statement also follows with Eq. (6.9)
Lemma 6.9 can be interpreted as follows. The continuative neighbors of a support are exactly
the lower and upper continuative neighbors Nmin
Sand Nmax
S. Further, we can find these neigh-
bors by identifying the tight constraints in the computation of λmin
Sand λmax
S. Moreover, the po-
tential line of two continuative neighbors intersect in exactly one potential which is a boundary
potential of both supports. Fig. 6.2 depicts the relation of the potential lines ΠSof neighboring
supports schematically.
141
7Computation of Nash
Equilibria
The main focus of this chapter lies on the analysis of the computational complexity of the com-
putation of Nash equilibria in atomic splittable congestion games. Formally, we are interested in
the following problem we denote by NASH-ATOMIC-SPLITTABLE.
NASH-ATOMIC-SPLITTABLE
INPUT: atomic splittable congestion game with graph G=(V,E), players N={1,...,k}
with sources si, sinks ti, and demand rates rv,i;0,
and cost functions ce,i(x)=ae,ix+be,iwith ae,iR>0,be,iR0.
OUTPUT: Nash equilibrium x
We prove that NASH-ATOMIC-SPLITTABLE is a complete problem for the complexity class
PPAD, which contains problems such as the ϵ-approximate computation of Nash equilibria in
k-player games for k2 or finding solutions to Brouwers fixed point problem. As a corollary
of proving the membership of NASH-ATOMIC-SPLITTABLE in PPAD, we obtain a trivial, yet inef-
ficient path-following algorithm for the computation of Nash equilibria. In fact, since we use a
parametric formulation of the problem to prove the membership of the computation in PPAD,
the algorithm we obtain is also capable of computing a function x: [0,1] Rkm such that for
every λ[0,1], the flow x(λ) is a Nash equilibrium for demands λr.
Chapter Outline
We begin in Section 7.1 by introducing the complexity class PPAD. We define the class via the
problem END-OF-THE-LINE and additionally present some hard problems contained in PPAD.
The main contribution of this chapter is to show that NASH-ATOMIC-SPLITTABLE is a PPAD-
complete problem via Theorems 7.9 and 7.11 in Sections 7.2 and 7.3. In Section 7.4 we analyze the
special case of player-independent cost and prove that Nash equilibria are unique in this case. Fi-
nally, in Section 7.5 we use the trivial Line-Following Algorithm for problems in PPAD to obtain
algorithms for the computation of Nash equilibria in atomic splittable congestion games. The
analysis of these algorithms shows that the computation can be done in polynomial space and, if
the costs are player-independent, also in output-polynomial time.
142 7.1. The Complexity Class PPAD
7.1 The Complexity Class PPAD
We are interested in the computational complexity of the problem NASH-ATOMIC-SPLITTABLE
defined at the beginning of this chapter. In particular, we want to show that the computation of
Nash equilibria in our setting is hard in some sense. A first idea would be to show that NASH-
ATOMIC-SPLITTABLE is a NP-complete problem. However, this is not feasible. We know from
Proposition 2.14 that NASH-ATOMIC-SPLITTABLE always possesses a solution making it a total
search problem, that is a search problem that always has a solution. These problems are unlikely
to be NP-complete for the following reason; see also Daskalakis et al. [25]. Suppose there was
a reduction from an NP-complete problem, say SAT, to some decision variant of NASH-ATOMIC-
SPLITTABLE. Since a Nash equilibrium always exists, the reduction must be based on a property of
the computed Nash equilibrium rather than its existence, and since NASH-ATOMIC-SPLITTABLE
returns an arbitrary equilibrium, this property must be satisfied for all Nash equilibria. Thus, all
Nash equilibria in the game returned by the reduction must have a property that is verifiable in
polynomial time and that is true if and only if the Boolean formula in SAT is satisfiable. But this
implies that, for every non-satisfiable formula, all Nash equilibria of the game from the reduction
must violate this property. Hence, any Nash equilibrium of the game could be used as a certificate
that is easy to verify for the non-satisfiability of the Boolean formula putting SAT in coNP. Overall
this would imply that NP =coNP which is thought to be unlikely. Hence, NP is probably not the
correct complexity class for these kinds of problems.
In order to classify the complexity of such problems, in particular the complexity of the com-
putation of Nash equilibria, Papadimitriou [90] introduced the new complexity class PPAD. The
name PPAD owes its name to the parity argument for directed graphs (PPAD stands for Polyno-
mial Parity Argument for Directed graphs) which states the following.
Proposition 7.1 (Parity argument for directed graphs).If a directed graph has an unbalanced node
(a vertex with different in-degree and out-degree), then there exists another unbalanced node.
The name was chosen because this argument is the key element in the existence proofs for
several total search problems, such as the computation of Nash equilibria, ensuring the existence
of solutions without giving an efficient way to solve these problems. Further it is key for the
definition of the complexity class. The class PPAD contains several complete problems such
as the (approximate) computation of Nash equilibria for games in strategic form as well as the
computation of fixed points in certain conditions. Although a lot of effort was put in finding
efficient algorithms for these problems, no efficient algorithm is known leading to the conclusion
that these problems are hard. We will present some PPAD-complete problems further below. For
more discussion on why PPAD-complete problems are believed to be hard, see for example the
papers by Papadimitriou [90], Daskalakis et al. [25], and Beame et al. [5] as well as the respective
chapter by Papadimitriou in the textbook by Nisan et al. [85].
7.1.1 Definition of PPAD via End-of-the-Line
We define the complexity class PPAD by defining one of its complete problems, END-OF-THE-
LINE, that is based directly on the parity argument. Consider a directed graph G=(V,E) where
Chapter 7. Computation of Nash Equilibria 143
s
t
Figure 7.1: A typical PPAD-graph consisting of disjoint paths and cycles. There is at least one
directed path from a distinct source sto a sink t.
every vertex has in-degree and out-degree of at most 1, i.e., at most one incoming and one out-
going edge. Without loss of generality, we assume that there is no isolated vertex (otherwise just
add a self-loop for this vertex). In a graph with these properties, every vertex has at most one pre-
decessor vertex (connected via the incoming edge) and at most one successor vertex (connected
via the outgoing edge). Thus, the graph can be encoded implicitly via a predecessor function
pred :VV{} mapping every vertex to its predecessor or the empty set if no predecessor
exists and a successor function succ :VV{} that is defined likewise. We say that such a
graph is a PPAD-graph of size n Nif every vertex as well as the functions pred and succ have an
encoding length that is polynomial in n. Thus, in particular, a PPAD-graph of size nmay have
a number of vertices that is exponential in n. In this special setting, the parity argument from
Proposition 7.1 can be strengthened to the following formulation.
Proposition 7.2 (Parity argument for PPAD-graphs).If, in a directed graph where every vertex as
in- and out-degree of at most 1, there exists a vertex s V with in-degree 0, then there exists another
vertex t V with out-degree 1.
We also refer to the vertex sas the source and to the vertex tas the sink. Since every vertex
in a PPAD-graph has in- and out-degree of at most 1, a PPAD-graph is a combination of paths
and cycles. If there is a source vertex s, then there must be at least one directed path starting in
sand ending in a sink t. Fig. 7.1 shows an example for a PPAD-graph. With the definition of the
PPAD-graph, we can now formulate the END-OF-THE-LINE problem as follows.
END-OF-THE-LINE
INPUT: a number nN,PPAD-graph Gof input size n, source vertex sV
OUTPUT: sink vertex t
The END-OF-THE-LINE problem asks for a sink vertex, given a source vertex s. The parity ar-
gument implies the existence of a solution t. Since the graph (and thus the path between sand t)
may have an exponential number of vertices in n, it is not clear how to compute a solution effi-
144 7.1. The Complexity Class PPAD
ciently. However, there is the following, trivial but inefficient algorithm for the computation of a
solution of END-OF-THE-LINE.
Algorithm 8: Line-Following
Input: PPAD-graph G, source vertex sV
Output: Sink vertex t
ts;
while succ(t)=do
tsucc(t);
return t;
Finally, we use END-OF-THE-LINE as the defining problem for the complexity class PPAD. We
say a total search problem PROBLEM is in PPAD if there is a polynomial reduction from PROBLEM
to END-OF-THE-LINE, that is, there is a function that transforms the solution of an instance of
END-OF-THE-LINE to a solution of PROBLEM in polynomial time. Hence, every problem PROBLEM
in PPAD can be reduced to finding a sink vertex in a PPAD-graph with (possibly exponentially
many) vertices and well-defined predecessor and successor functions that have a polynomial
encoding length in the input size of PROBLEM.
7.1.2 Some PPAD-complete problems
The definition of the complexity class PPAD via END-OF-THE-LINE may seem artificial. But in
fact there are many interesting complete problems in this class. One of the most important com-
plete problems in this class is based on Brouwer’s fixed point theorem.
BROUWER
INPUT: a Lipschitz continuous function f: [0,1]n[0,1]n
together with an efficient algorithm for evaluating f,
a Lipschitz constant Ks.t. f(x)f(y)Kxyfor all x,y[0,1]n,
a precision ϵ>0
OUTPUT: an ϵ-approximate fixed point of f, i.e. a point x[0,1]nwith f(x)xϵ.
The fixed point theorem with the same name [11] ensures that BROUWER has a solution, see
Knaster et al. [75] for a proof. Although BROUWER seems to be a completely unrelated problem, it
can be reformulated in a combinatorial way that puts it in PPAD, see Papadimitriou [90]. Further,
it can be shown that it is PPAD-complete.
Proposition 7.3. BROUWER is PPAD-complete.
Proof. See Daskalakis et al. [25] for the respective reductions.
Proposition 7.3 has two interesting implications. First, it gives another intuition why prob-
lems that are PPAD-complete are indeed hard problems: Hirsch et al. [56] show that every algo-
rithm that treats the function fin BROUWER as a black box, i.e., does not use any details of the
Chapter 7. Computation of Nash Equilibria 145
function itself, must be exponential. This means, any efficient algorithm for BROUWER must be
capable of extracting some useful information from any input function fwhich seems unlikely.
Second, this puts many problems whose existence is based on Brouwer’s fixed point theorem into
the complexity class PPAD. In particular, the computation of an ϵ-approximate Nash equilibrium
in a strategic game is also PPAD-complete. To formalize this, recall the definition of a strategic
game from Section 2.5. In a Nash equilibrium, every player chooses a strategy that maximizes
their payoff given all other players have chosen a strategy, i.e., every player plays an optimal re-
sponse to the strategies played by all other players. An ϵ-approximate Nash equilibrium is an
outcome of a game where every player achieves a payoff that is no less than the optimal payoff
given all other players have fixed their strategy.
ϵ-NASH
INPUT: a game with kplayers N={1,...,k}, k2,
the explicit payoffs uifor all players and strategies, a precision ϵ>0
OUTPUT: an ϵ-approximate Nash equilibrium s
Proposition 7.4. ϵ-NASH is PPAD-complete.
Proof. See Daskalakis et al. [25].
In fact, the ϵ-NASH is even PPAD-complete in the case of only two players as shown by Chen
et al. [14]. The computation of equilibria in many other games are PPAD-complete too. We
are interested in one particular type of game as we can reduce these games to NASH-ATOMIC-
SPLITTABLE later. A Win-Lose-Game is a two-player game, where every player has nstrategies.
The payoffs for every strategy profile are encoded in matrices Ufor player 1 and Vfor player 2,
where U,V{0,1}n×n. Thus, every player can only have a payoff of either 1 or 0, i.e., either win
or lose. A strategy for Player 1 is to choose a probability distribution over the strategies, that is
a vector y[0,1]nwith ∑︁n
i=1yi=1. Likewise, a strategy for Player 2 is a vector z[0,1]nwith
∑︁n
i=1zi=1. For ϵ>0, a strategy profile (y
¯,z
¯) is an ϵ-approximate Nash equilibrium if
yUz
¯y
¯Uz
¯+ϵ,
y
¯Vz
¯y
¯Vz
¯+ϵ
for all respective strategies y,z. We then define NASH-WIN-LOSE as follows.
NASH-WIN-LOSE
INPUT: matrices U,V{0,1}n×n, precision ϵ>0
OUTPUT:ϵ-approximate Nash equilibrium (y
¯,z
¯) of the Win-Lose-Game with payoffs U,V.
Proposition 7.5. For any constant β>0,NASH-WIN-LOSE for ϵ=nβis PPAD-complete.
Proof. See Chen et al. [15].
146 7.2. NASH-ATOMIC-SPLITTABLE is in PPAD
λ
π
1
ΠS1
ΠS2
ΠS3
ΠS4
ΠS5
ΠS6
ΠS7
ΠS8
ΠS9
ΠS12
ΠS11
ΠS10
(a) Potential lines in a projection of the potential space.
S1
S2
S3
S4
S5
S6
S7
S8
S10
S9
S12
S11
(b) PPAD-graph with supports as vertices.
Figure 7.2: Schematic representation of the potential space and the resulting, dual PPAD-graph.
7.2 Nash-Atomic-Splittable is in PPAD
Before prove the hardness of NASH-ATOMIC-SPLITTABLE we show that the problem is actually
contained in PPAD. By our definition of the complexity class PPAD, we need to reduce NASH-
ATOMIC-SPLITTABLE to END-OF-THE-LINE. We can do this by showing that we can compute a
Nash equilibrium in an atomic splittable congestion game by following a line in a graph with
possibly exponentially many vertices that is given implicitly by predecessor and successor func-
tions pred and succ. Thus, we need a representation of the atomic splittable game that resembles
aPPAD-graph like in Fig. 7.1. When we studied the structure of parametric Nash equilibria in
Section 6.2, we discovered that we can define a notion of neighboring” for supports. In particu-
lar, the representation of the potential lines of the supports as depicted in Fig. 6.2 looks in some
sense similar to a PPAD-graph: The supports have predecessors and successors (lower and upper
continuative neighbors) and the potential lines form a line that we can follow. This line, consist-
ing of the line segments ΠSstarts in the optimal potential for the Nash equilibrium for λ=0 and
ends in the optimal potential for the Nash equilibrium for λ=1. Intuitively, the starting point
for λ=0 is easy to obtain: For λ=0, the all-zero flow is a Nash equilibrium and the optimal po-
tential can be obtained with an easy shortest path computation. On the other hand, the optimal
potential for λ=1 at the end of the line is the optimal solution of the underlying atomic splittable
game for demands r. This is the basic idea for the reduction we will use in this section. Still, there
are many details we need to work. Is there an unique optimal potential we can start with? Are
the neighboring continuative neighbors uniquely defined? And can we find these neighboring
supports in polynomial time?
Before we formalize these ideas, we want to gain more intuition. Consider again the potential
lines of the feasible supports as depicted in Fig. 6.2. Now consider some projection of the poten-
tial space to R2such that the x-axis corresponds to the parameter λand the y-axis corresponds
to some function of the potentials π. We have seen in Fig. 6.1 that the potential lines are line seg-
Chapter 7. Computation of Nash Equilibria 147
ments that start in a potential for λmin
Sand end in a potential for λmax
S. Under the (hypothetical)
projection this line will now start in a point with x-coordinate λmin
Sand end in a point with x-
coordinate λmax
S. Such projection is of course not easy to find, however, it helps us to understand
the problem better. The resulting picture looks like the picture in Fig. 7.2a. The potential lines
of continuative neighbors are connected. Some supports intersect the vertical line at λ=0 (in
this case only the support S1). Thus, these supports admit a solution for λ=0, at least one of
them must be a support for the trivial initial solution x=0. Some supports intersect the vertical
line at λ=1. These supports admit a solution for λ=1, hence, a solution of the non-parametric
game. The picture already suggests a method to compute a solution: Start at the support for the
trivial equilibrium for λ=0 (in this picture this must be S1) and then follow the line segments
until we reach a support with λmax
S=1 (in this picture, we would end up in S5). If we in particular
consider the dual graph of the potential line, where the vertices are supports that are connected
if the respective potential lines intersect, we obtain the graph in Fig. 7.2b is a PPAD-graph.
Note that the picture in Fig. 7.2a already incorporates some assumptions that are yet un-
clear: There is only a unique starting point (i.e., a unique support for λ=0), all supports have a
unique continuative neighbor, and every support (or its potential line) has some sort of orienta-
tion (indicated by the small arrows on the potential lines) that allows us to define predecessors
and successors. In the remainder of this section, we will prove these details formally.
7.2.1 Reduction of Nash-Atomic-Splittable to End-of-the-Line
Given a atomic splittable congestion game with graph G=(G,V), affine-linear, player-specific
cost functions ce,i, and kplayers with sources and sinks si,tiand demand rates ri>0, we need
to define a PPAD-graph. In order to avoid confusion with the graphGand its vertices, we denote
the vertices of the PPAD-graph by Sand also refer to these vertices as states. Additionally, we
define the edges in this graph implicitly with the functions pred and succ and, finally, we need to
define a unique source vertex (or source state) S0to start from.
As already suggested in Fig. 7.2 and the corresponding discussion, we use the set
S:={S|Sis λ-feasible and non-a-degenerate}
of all feasible, non-a-degenerate supports. We will assume for this whole section that every game
is non-a-degenerate, such that Sin fact contains all λ-feasible supports, i.e., all supports that
admit an equilibrium for some λ[0,1]. The special case of a-degenerate games is discussed
later in Section 8.1. We already see that the number of states can be exponential in the encoding
length of the atomic splittable congestion game (which is defined by the size of the graph, i.e.,
the number of vertices n, and the number of players k) since there is an exponential number of
supports.
In order to define the predecessor and successor functions uniquely, we need to ensure that
there is at most one lower and one upper continuative neighbor. In fact, we will make an assump-
tion that this condition is always satisfied and treat all other cases as a new type of degeneracy
that we will study in more detail later. Formally, we say a λ-feasible support Sis b-degenerate
if |Nmin
S| > 1 or |Nmax
S| > 1. A game is called b-degenerate if there is at least one λ-feasible b-
degenerate support. Intuitively, a support cannot be b-degenerate if the potential line ΠShits
148 7.2. NASH-ATOMIC-SPLITTABLE is in PPAD
unique boundary hyperplanes at its ends. If, however, multiple boundaries intersect in the end
point, there are multiple neighboring supports that can be λ-feasible and may be continuative
neighbors. Hence, b-degeneracy is similar to the degeneracy we discussed in the context of elec-
trical and minimum cost flows in the first part. In particular, it can be solved by a small per-
turbation of either the potentials or the offsets be,iof the cost functions. Further, similar to the
electrical flow case, we can develop a lexicographic rule to define unique continuative neighbors
even in the case of degeneracy.
For the remainder of this chapter, we will always assume that all games are non-b-degenerate
and discuss degenerate games in Section 8.2 in more detail. Figs. 6.2 and 7.2 already indicate
that the lower and upper continuative neighbor relation is not enough to define predecessor
and successor functions. For example, in Fig. 6.2 the supports S1and S2are both upper con-
tinuative neighbors of each other while S0is a lower neighbor of S1and S1is an upper neigh-
bor of S0. How two continuative neighbors are oriented depends on the orientation of the po-
tential direction πSwith respect to the boundary that separates the two respective potential
lines. By Theorem 6.8(iii) this mutual orientation of the potential directions depends on the sign
σS:=sgn(︁det(L
ˆS))︁of the determinant of the submatrix L
ˆSof the block Laplacian matrix of the
respective supports. Since we assume that all supports are non-a-degenerate, this sign is always
non-zero and we refer to σSas the orientiation of the support S. In the schematic representation
of the potential space in Fig. 7.2a the orientation is depicted as small arrows next to the potential
lines. We can now define the successor and predecessor functions as follows. For every λ-feasible
support S, we define the functions pred :SS{} and succ :SS{} by
pred(S) :=
if σS=1 and πmin
Sis a 0- potential,
if σS=1 and πmax
Sis a 1-potential,
SNmin
Sif σS=1 and πmin
Sis not a 0-potential,
SNmax
Sif σS=1 and πmax
Sis not a 1-potential.
succ(S) :=
if σS=1 and πmax
Sis a 1-potential,
if σS=1 and πmin
Sis a 0-potential,
SNmax
Sif σS=1 and πmax
Sis not a 1-potential,
SNmin
Sif σS=1 and πmin
Sis not a 0-potential.
Recall that a potential πis a 0-potential if it is an optimal potential for demands 0and a 1-
potential if it is an optimal potential for demands r, i.e., an optimal potential of a solution.
Lemma 7.6. The functions pred and succ are well-defined and can be evaluated in O(︁poly(n,k))︁-
time.
Proof. By assumption, all supports are non-b-degenerate. Hence, there is always a unique, well-
defined Sin Nmin
Sor Nmax
Sas long as the respective set is not empty. Therefore, in order to show
that the functions are well-defined, it suffices to show the following claim.
Claim. If πmin
Sis not a 0-potential, Nmin
S=. If πmax
Sis not a 1-potential, Nmax
S=.
Chapter 7. Computation of Nash Equilibria 149
Proof of the claim. Assume that πmin
Sis not a 0-potential. This is equivalent to λmin
S>0. By
definition of λmin
S, this means that there is an edge eEand a player iNsuch that
λmin
S=
w
S,e,i(︁bGπS)︁
w
S,e,iGπS
.
But this implies by the definition of the lower continuative neighbors that S=N(S,e,i)Nmin
S.
The same reasoning implies that Nmax
S=whenever πmax
Sis not a 1-potential.
Since λmin
Sand as λmax
Scan be computed in polynomial time in the size of the graph and the
number of the players, we can determine all lower and upper continuative neighbors and check
if πmin
Sis a 0-potential or πmax
Sis a 1-potential in O(︁poly(n,k))︁-time.
The functions pred and succ are well-defined. We continue by showing that these functions
represent indeed a predecessor and successor relation on a graph with vertices S.
Lemma 7.7. The predecessor and successor function satisfy
(i) succ(pred(S)) =S for all supports S Swith pred(S)=.
(ii) pred(succ(S)) =S for all supports S Swith succ(S)=.
Proof. We begin the proof by proving the following claim.
Claim. Let =S:=N(S,e,i) be the (e,i)-neighbor of S.
(a) If S=pred(S) then σSq
S,e,iπS<0.
(b) If S=succ(S) then σSq
S,e,iπS>0.
Proof of the claim. Assume that S=pred(S). Then, we have two cases.
Case 1: σS=1. Then, SNmin
S. By non-b-degeneracy, there is no other eEand jNsuch
that
w
S,e,j,e,i(︁bGπS)︁
w
S,e,j,e,iGπS=λmin
S.
Hence, the pair (e,i) must induce the maximum in the computation of λmin
S. Therefore,
σSq
S,e,iπS=w
S,e,j,e,iGπS<0.
Case 2: σS= 1. Then, SNmax
S. With the same reasoning as above, (e,i) must induce the
minimum in the computation of λmax
S. Therefore, σSq
S,e,iπS=w
S,e,j,e,iGπS>0.
If we ssume that S=succ(S) we obtain the same result but with opposite signs.
Now, assume that pred(S)= and let e,ibe chosen such that S:=N(S,e,i)=pred(S). We
know that Smust be a continuative neighbor of SNS. Lemma 6.9 implies that, conversely, S
NS, i.e., that Sis also a continuative neighbor (either lower or upper) of S. Since the respective
boundary potential is not a 0- or a 1-potential (otherwise, Scould not have been a predecessor of
150 7.2. NASH-ATOMIC-SPLITTABLE is in PPAD
S), Smust be either a predecessor or a successor of S. The claim and Theorem 6.8(iii)-(iv) imply
that
σSq
S,e,iπS=σSq
S,e,iπS>0.
Applying again the claim for the support S,S=pred(S) is a contradiction, hence S=succ(S)=
succ(pred(S)) must hold true, proving (i). The second statement (ii) follows likewise.
We note that every isolated support SS(that is a support with no predecessor or successor)
must have a 1-potential and, thus, be a support of a solution. Therefore, whenever we encounter
an isolated support, it is a sink in the PPAD-graph. We now define the source state of our PPAD-
graph as follows. Let S0be a support of the Nash equilibrium x=0for demand 0r. We prove in the
following lemma that this support is unique and use it as the source of the PPAD-graph. Note,
that we can find this support in polynomial time with a simple shortest path computation.
Lemma 7.8. The following holds true.
(i) There is a unique support S0for the zero flow 0.
(ii) The orientation of the support S0is positive, i.e., σS0=1.
(iii) Let S Sbe not the source state, i.e., S = S0. If pred(S)= or succ(S)= , then there is a
1-potential πΠS.
Proof. Since we assume non-b-degeneracy, for λ=0 there are unique shortest paths with respect
to the edge cost µe,i(0). If this was not the case, there would be multiple supports for the flow 0
and thus these supports would have multiple lower or upper continuative neighbors. This proves
(i).
Further we obtain that for every player the active edges eSiform a spanning tree. Denote
by G
˜the matrix obtained from Gby removing all columns corresponding to inactive edges and all
rows corresponding source vertices si. Then the matrix G
˜is of quadratic size (n1)k×(n1)kand
a block diagonal matrix, where every block on the diagonal is the incidence matrix of a spanning
tree without the row corresponding to the source vertex si. These quadratic sub matrices have
determinant ±1. Hence, det(G
˜)=±1. Let C
˜S0be the matrix obtained from CS0by deleting all rows
and columns corresponding to inactive edges for the respective players. The matrix C
˜S0is strictly
diagonally dominant by definition. Further, L
ˆS0=G
˜C
˜S0G
˜. Thus, σS0=det(︁L
ˆS0)︁=det(︁C
˜S0)︁>0
and (ii) follows.
Finally, we claim that there is no other Nash equilibrium flow for the zero demand 0other
than the all-zero flow. Indeed, for demand 0every player can play the zero flow for cost of 0
(independent of the other players strategy). But if a player sends some flow, this always has
strictly positive cost. Hence, playing the zero flow is a strictly dominant strategy and x=0is the
only Nash equilibrium for zero demand. By (i), there is also only one support, the support S0
for this flow. This implies, that all supports other than S0cannot have a 0-potential. Hence, (iii)
follows by the definition of the predecessor and the successor functions.
Lemma 7.8 shows that there is a unique initial support S0. This can be found in polynomial
time. Since it has positive orientation and no predecessor, it is either an isolated state and there-
fore has also a 1-potential, or it has a successor. Following the successors iteratively, we can find
Chapter 7. Computation of Nash Equilibria 151
a sink support that has no successor and, thus, again by Lemma 7.8 has a 1-potential. Having
found a support with a 1-potential the Nash equilibrium can be easily computed as shown in
the previous chapter. Overall, we have shown that we can reduce NASH-ATOMIC-SPLITTABLE to
END-OF-THE-LINE and we obtain the following result.
Theorem 7.9. NASH-ATOMIC-SPLITTABLE is in PPAD.
Since support changes can only occur for finitely man values λ, as there is only a finite num-
ber of supports, the optimal potentials of equilibria appear in the relative interior of the potential
lines ΠSexcept for a null set of demands. This implies that these equilibria are all unique start
points or endpoints of a path in the PPAD-graph. Subtracting the artificial equilibrium at λ=0,
we have shown that there is an odd number of equilibria. In order to formalize this, consider
a fixed graph Gwith fixed cost functions, and a fixed set of kplayers with source and sink ver-
tices si,ti,i=1,...,k. Then all possible demands for this setting are given by the non-negative
vectors r=(r1,...,rk)Rk
0of possible demand rates for the players. The next corollary proves
that the set Reven Rk
0containing all vectors of demand rates rRk
0such that the correspond-
ing game has an even number of equilibria is a null set with respect to the Lebesgue measure.
Corollary 7.10. Given a non-b-degenerate atomic splittable congestion game, the set Reven is a null
set with respect to the Lebesgue measure. In particular, if the demand rates rof a game are drawn
from a continuous distribution Don Rk
0, then PD[the game has an odd number of equilibria]=1.
Proof. Given a fixed demand rate vector r
ˆRk
0, consider all games with demand rates λr
ˆ,λ0.
Then, the sets of all optimal potentials for all equilibria of all these games have the same structure
as depicted in Fig. 7.2a, but without the boundary at λ=1. From the figure and also from the
previous analysis it follows that for every λthere is an odd number of optimal potentials (and
thus equilibria) except for λ-values where the potential lines of neighboring supports intersect.
Since there are at most K=2mk feasible supports, there at most Kvalues λ1(r
ˆ),...,λK(r
ˆ) for which
the game with demand λi(r
ˆ) has an even number of equilibria. Overall, we can rewrite Reven as
Reven =⋃︂
rRk
0:
r∥=1{︁λr|λ[0,]}︁Reven =⋃︂
rRk
0:
r∥=1
2mk
⋃︂
i=1{︁λi(r)r}︁=
2mk
⋃︂
i=1⋃︂
rRk
0
r∥=1{︁λi(r)r}︁.
Denote by µthe Lebesgue measure over Rk, then µ(︂⋃︁rRk
0:r∥=1{︁λi(r)r}︁)︂=0 since the set is a
lower dimensional subset of Rk. Thus, we obtain
µ(︁Reven)︁
2mk
∑︂
i=1
µ(︂⋃︂
rRk
0:r∥=1{︁λi(r)r}︁)︂=0.
The in particular-part follows from the definition of continuous distributions.
7.3 Nash-Atomic-Splittable is PPAD-complete
Having shown that NASH-ATOMIC-SPLITTABLE is in PPAD, we will prove that NASH-ATOMIC-
SPLITTABLE is also a hard problem in this complexity class. We will do this by reducing another
complete problem, namely NASH-WIN-LOSE, to NASH-ATOMIC-SPLITTABLE.
152 7.3. NASH-ATOMIC-SPLITTABLE is PPAD-complete
s1
t2
t1
s2
G1,1 G1,2 G1,n
G2,1 G2,2 G2,n
...
...
...
Gn,1 Gn,2 Gn,n
.
.
.
.
.
.
.
.
.
(a) Macro structure of the reduction.
s
¯r
t
¯c
t
¯r
s
¯c
e1
r,c,1
e1
r,c,2
e1
r,c,3
.
.
.
e1
r,c,T
e2
r,c,1
e2
r,c,2
e2
r,c,3
.
.
.
e2
r,c,T
(b) Gadget Gr,cused in the macro construction.
Figure 7.3: Construction for the PPAD-hardness of computing a Nash equilibrium in an atomic
splittable congestion game.
Theorem 7.11. NASH-ATOMIC-SPLITTABLE is PPAD-hard.
Proof. We reduce from NASH-WIN-LOSE. Let (U,V) be a win-lose game with matrices U,V
{0,1}n×n. We proceed to describe the construction of a corresponding atomic splittable conges-
tion game with graph GU,V, two players N={1,2} with demands r1=r2=1, and cost functions
ce,i. The macro structure of the underlying graph GU,Vis shown in Fig. 7.3a. We note that our
construction uses constant cost functions (in particular cost functions with constant cost 0) for
the benefit of a simpler exposition. It is not hard to see that the same construction is valid for cost
functions with non-constant functions with slopes ae,i=δfor δ>0 small enough.
There are n2gadgets Gr,cwith r,c{1,...,n} that are arranged in a grid like fashion. The
horizontal edges of the grid as well as the edges connecting s1and t1to the grid, shown dashed
and blue in Fig. 7.3a, have constant cost 0 for Player 1 and constant cost 4nfor Player 2. We call
these edges type-1 auxiliary edges. Similarly, the vertical edges of the grid as well as the edges
connecting s2and t2to the grid, shown dot-dashed and red in Fig. 7.3a have constant cost 4n
for Player 1 and constant cost 0 for Player 2. These edges are called type-2 auxiliary edges. Every
gadget Gr,cwith r,c{1,...,n} has four designated verices s
¯r,t
¯r,s
¯c,t
¯c. In the macro structure,
incoming auxiliary type-1 edges toGr,cfrom the left are connected to s
¯r, incoming auxiliary type-
2 edges from above are connected to s
¯c, outgoing auxiliary type-1 edges to the right are connected
to t
¯r, and outgoing auxiliary type-2 edges to below are connected to t
¯c.
We introduce an additional parameter TNin our construction of the gadgets Gr,cin order
to parametrize the number of edges in every gadget. We specify Tin Claim (3) below. For some
given T1, every gadget Gr,chas T type-1 main edges e1
r,c,1,...,e1
r,c,Tand T type-2 main edges
e2
r,c,1,...,e2
r,c,Tas well as some auxiliary edges, see Figure 7.3b. The dashed blue edges are type-
Chapter 7. Computation of Nash Equilibria 153
1 auxiliary edges that have constant cost 0 for Player 1 and constant cost 4nfor Player 2 while
the dash-dotted red edges are type-2 auxiliary edges that have constant cost 4nfor Player 1 and
constant cost 0 for Player 2. The structure of Gr,cis such that every path from s
¯rto t
¯rthat does
not use type-2 auxiliary edges uses exactly one of the type-1 main edges e1
r,c,1,...,e1
r,c,Tand all
type-2 main edges {er,c,1,...,e2
r,c,T}. Similarly, every path from s
¯cto t
¯cthat does not use any of the
type-1 auxiliary edges uses exactly one of the type-2 main edges e2
r,c,1,...,e2
r,c,Tas well as all of the
type-1 main edges {e1
r,c,1,...,e1
r,c,T}.
For the type-1 and type-2 main edges, we define the player-specific affine costs as follows.
The player-specific costs are of the form ce,i(x)=ae,ix+be,iwith
ae,1 ={︄1ur,cif e=e1
r,c,twith r,c{1,...,n},t{1,...,T},
0 otherwise,
ae,2 ={︄1vr,cif e=e2
r,c,twith r,c{1,...,n},t{1,...,T},
0 otherwise,
be,i=0 for all e1
r,c,t,e2
r,c,twith r,c{1,...,n},t{1,...,T}.
We claim that in every Nash equilibrium, Player 1 does not use any of the auxiliary type-2
edges and Player 2 does not use any of the auxiliary type-1 edges.
Claim (1).Let xbe a Nash equilibrium of the game. Then, x1
e=0 for every type-2 auxiliary edge e
and x2
e=0 for every type-1 auxiliary edge.
Proof of the claim. We show the claim only for Player 1 since the argumentation for Player 2 is
symmetric. By Proposition 2.13, Player 1 only uses paths with minimal marginal costs in x. The
marginal cost of every path containing a type-2 auxiliary edge eis at least
ae,ix
¯e+be,i+ae,ixi
e4n.
On the other hand, every path that does not contain a type-2 auxiliary edge traverses all gadgets
Gr,1,...,Gr,nfor some r{1,...,n}. In each gadget, Gr,cwith c{1,...,n}, Player 1 traverses one of
the type-1 main edges er,c,tcwith tc{1,...,T} as well as some type-1 auxiliary edges and some
type-2 main edges each of which have no cost for Player 1. Thus, the marginal cost of the path is
determined by the ntype-1 main edges. Let Er={e1
r,c,tc|c{1,...,n}} be the set of these edges.
The marginal cost of the path is then given by
∑︂
eEr
ae,ix
¯e+be,i+ae,ixi
e∑︂
eEr
x
¯e+xe,i3n.
We conclude that every path of Player 1 not containing a type-2 auxiliary edge has lower marginal
cost than a path containing a type-2 auxiliary edge and the claim follows.
Notice that Player 1 has an exponential number of paths from s1to t1that do not use any of
the type-2 edges. Every such path visits one row of gadgets Gr,1,...,Gr,nfor some r{1,...,n}.
Within each gadgetGr,c,c{1,...,n} the path uses one of the Ttype-1 main edges e1
r,c,1,...,e1
r,c,T.
We claim that in every Nash equilibrium, all paths that visit the same row of gadgets have the
same flow of Player 1.
154 7.3. NASH-ATOMIC-SPLITTABLE is PPAD-complete
Claim (2).Let xbe a Nash equilibrium of the game. Then, xi
ei
r,c,t=xi
ei
r,c,t
for all i{1,2}, r,c
{1,...,n}, and t,t{1,...,T}.
Proof of the claim. We show the claim only for Player 1 since the argumentation for Player 2 is
symmetric. Let r,c{1,...,n} and t,t{1,...,T} be arbitrary and consider the edges e=e1
r,c,t
and e=e1
r,c,t. Since xis a Nash equilibrium, by Claim (1), we may assume that Player 1 does not
use any type-2 auxiliary edges and Player 2 does not use any type-1 auxiliary edges. Since every
path of Player 2 that does not use any type-1 auxiliary edges and traverses the gadget Gr,cuses all
type-1 main edges, this implies in particular that x2
e=x2
e.
If x1
e=x1
e=0, there is nothing left to show, so it is without loss of generality to assume that
x1
e>0. This implies that there is a path Pfrom s1to t1carrying positive flow. Let Pbe the path
that uses the same edges as P, except that in gadget Gr,cedge eis used instead of edge e. (This
means that also some auxiliary type-1 edges are swapped in Gr,c, but since they have no cost for
Player 1, we may ignore them for the following arguments.) Proposition 2.13 implies
ae,1x
¯e+be,1 +ae,1x1
eae,1x
¯e+be,1 +ae,1x1
e, (7.1)
which is equivalent to
(1ur,c)(2x1
e+x2
e)(1ur,c)(2x1
e+x2
e),
using the definition of the cost functions. Further using that x2
e=x2
eand that 1ur,c0 this
implies x1
ex1
eand, thus, x1
e>0. We conclude that Eq. (7.1) is actually satisfied with equality
implying that x1
e=x1
e.
For Player 1 and r{1,...,n} let x1
rdenote the total flow sent along the paths using the rth
gadget row Gr,1,...,Gr,n. Similarly, for Player 2 and c{1,...,n} let x2
cdenote the total flow sent
along the paths using the cth gadget column G1,c,...,Gn,c.
Claim (3).Let xbe a Nash equilibrium of the game with T=2nβ+1for some β>0. Then, the
strategy profile (y
¯,z
¯) with y
¯r=x1
rfor all r{1,...,n} and z
¯c=x2
cfor all c{1,...,n} is an nβ-
approximate Nash equilibrium of (U,V).
Proof of the claim. For the sake of a contradiction, suppose that (y
¯,z
¯) is not an nβ-approximate
Nash equilibrium of (U,V). Due to symmetry, it is without loss of generality to assume that
Player 1 has an alternative strategy ywith yUz
¯>y
¯Uz
¯+nβ. This implies in particular that
max
r{1,...,n}
n
∑︂
c=1
ur,cz
¯c>min
r{1,...,n}:y
¯r>0
n
∑︂
c=1
ur,cz
¯c+nβ. (7.2)
Let rargmaxr{1,...,n}∑︁n
c=1ur,cz
¯cand let rargminr{1,...,n}:y
¯r>0∑︁n
c=1ur,cz
¯cbe arbitrary. Since
xis a Nash equilibrium for GU,V, all used paths have the same marginal total cost, and unused
paths have higher marginal total cost. Using Claim (2), this implies in particular that
x1
r(︃n
∑︂
c=1
T(1ur,c)(︂x1
r
T+x2
c)︂x1
r
T)︃
x1
r(︃n
∑︂
c=1
T(1ur,c)(︂x1
r
T+x2
c)︂x1
r
T)︃,
Chapter 7. Computation of Nash Equilibria 155
which gives
n
∑︂
c=1
2(1ur,c)x1
r
T+(1ur,c)x2
c
n
∑︂
c=1
2(1ur,c)x1
r
T+(1ur,c)x2
c.
Using the definition of (y
¯,z
¯) we obtain
∑︂
c[n]
2(1ur,c)y
¯r
T+(1ur,c)z
¯c∑︂
c[n]
2(1ur,c)y
¯r
T+(1ur,c)z
¯c.
Finally, we obtain
n
∑︂
c=1
ur,cz
¯c
n
∑︂
c=1
ur,cz
¯c+
n
∑︂
c=1
2(1ur,c)y
¯r2(1ur,c)y
¯r
T
n
∑︂
c=1
ur,cz
¯c+
n
∑︂
c=1
2y
¯r
T
n
∑︂
c=1
ur,cz
¯c+2n
T=
n
∑︂
c=1
ur,cz
¯c+nβ,
contradicting (7.2).
Using that it is PPAD-complete to compute an nβ-approximate equilibrium of a two-player
win-lose game for any β>0, we conclude that the computation of a Nash equilibrium of an
atomic splittable congestion game is PPAD-hard as well.
7.4 Games with Player-Independent Cost Functions
The construction of the reduction in the proof of Theorem 7.11 crucially depends on the fact that
the cost are not symmetric for the players. In fact, as shown by Cominetti et al. [19], in the case of
player-independent affine cost functions an equilibrium can be computed efficiently by solving
a quadratic program. In this section, we analyze the structural changes in this case, in particular
with respect to the block Laplacians and the potential lines. Therefore, we assume throughout
this section that the cost functions are of the form
ce,i(x)=ce(x) :=aex+be
with coefficients ae,be>0,eE. Under this assumption we obtain the following result regarding
the block Laplacian matrices.
Lemma 7.12. If the cost functions are player-independent, then, for every support S, the block
Laplacian matrix LSis symmetric and positive semi-definite. Further, the nullspace of the block
Laplacian is ker(LS)=N.
Proof. By definition, LS=GCSG. Recall from Section 6.1.2 that the matrix CShas a block struc-
ture and contains the matrices Ci j
S. If we assume player-independent cost functions, then ae,i=
ae,j=aefor all eE. Thus, Ci j
S=Cji
S. Hence, the matrix CSand also the matrix LSare symmetric.
Further, it can be easily verified that, for every row of CS, the difference of diagonal element and
all (non-zero) off-diagonal is 1
(κem+1)ae>0. Hence, CSis a diagonally dominant matrix and, thus,
also positive definite. Hence, LSis positive semi-definite. Further, the positive semi-definiteness
implies that LSv=GCSGv=0if and only if CSGv=0. With Lemma 6.4, ker(LS)=Nfol-
lows.
156 7.5. (Parametric) Computation of Nash Equilibria
If LSis positive semi-definite, we know by Sylvesters criterion that all principal minors of the
matrix are positive semi-definite. Hence, in particular the principal minor σS=sgn(︁det(L
ˆS))︁0
must be non-negative. Since additionally ker(LS)=N, the matrix L
ˆScannot be singular, and thus
σS>0 for all supports. This immediately implies the following result.
Theorem 7.13. If the cost functions are player-independent, then
(i) the game is non-a-degenerate,
(ii) the orientation σSof every support S is positive,
(iii) for every demand vector rthere is a unique Nash equilibrium x.
Proof. Statements (i) and (ii) follow directly from the fact that σS>0 for all supports. If the game
is non-a-degenerate, then there can be at most one optimal potential πΠfor every support S
and demand vector r, since in this case the mapping induced by the block Laplacian matrix LSis a
bijection between the space of all demand vectors and the potential space. Since every potential
induces a unique flow, there can be at most one Nash equilibrium for every non-a-degenerate
support. Since the orientation of every support is positive, there can be no cycles in the PPAD-
graph. Hence, tracing the potential lines back from any support of a Nash equilibrium with the
pred function must lead to a support for the zero flow. In non-b-degenerate games, there is only
a unique initial support, hence, in this case, there can also only be a unique Nash equilibrium
for every demand vector. In the case of a b-degenerate game, this is still true by the following
argument. Applying a small perturbation to the offsets of the cost functions bemakes the game
non-b-degenerate (we discuss this in detail in Section 8.2) while this small perturbation does not
change the support of an equilibrium. Hence, the same reasoning applies.
7.5 (Parametric) Computation of Nash Equilibria
Algorithm 8allows the computation of Nash equilibria in atomic splittable congestion games. We
start with the zero flow and the corresponding support and iterate through the supports using the
succ function until we arrive at a support for a Nash equilibrium. For this support, we can easily
compute the equilibrium flow by solving the block Laplacian system. But since our definition
of the PPAD-graph relies on the potential lines and, thus, on a parametric formulation of the
problem, we in fact obtain even more. As a byproduct of this sequence we compute a sequence of
supports S0,...,SL, where Slis the support of Nash equilibria for demands λrfor λ[︁λmin
S,λmax
S]︁.
By construction, ⋃︁L
l=1[︁λmin
S,λmax
S]︁=[0,1]. Thus, we can define a function λ↦→ S(λ) that maps
every parameter λto a support of some Nash equilibrium for demand λr. Given the support S(λ)
and λ, we can easily compute a Nash equilibrium for the demand λas discussed in Section 6.1.
Hence, we obtain a function x: [0,1] ↦→Rmk such that x(λ) is a Nash equilibrium for the demand
λr.
Theorem 7.14. The parametric variant of NASH-ATOMIC-SPLITTABLE can be solved in polynomial
space.
Chapter 7. Computation of Nash Equilibria 157
Proof. Since the function λ↦→πi
v(λ) that maps a value λto the potential of a Nash equilibrium
for demand λris linear for every support (see Lemma 6.7), and flows depend linearly on the
potentials, the function xis piecewise-linear. Thus, it is enough to compute the potentials at
the breakpoints λmin
S,λmax
Sexplicitly. For any support, this can be clearly done in polynomial
time. Since the initial support and the function succ can be computed in polynomial time as
well, NASH-ATOMIC-SPLITTABLE can be computed in polynomial space.
If the orientation σSof all supports is positive (e.g., if the cost functions are player-indepen-
dent), then the Nash equilibria are unique for every demand by Theorem 7.13. Hence, in this case,
the procedure described above even computes all Nash equilibria. In this case, the parametric
computation is in fact closely related to the parametric computation of minimum cost flows and
electrical flows described in Part I of this thesis. If, in addition, the game is non-b-degenerate,
then every support corresponds to a breakpoint of the piecewise affine function xand, therefore,
the algorithm is output polynomial.
Theorem 7.15. If the game is non-b-degenerate and σS>0for all feasible supports, then the para-
metric variant of NASH-ATOMIC-SPLITTABLE can be solved in output polynomial time. In partic-
ular, the runtime is in O(︁(kn)2.375 +L(kn)2)︁, where L is the number of breakpoints of the piecewise
affine output function x.
Proof. To obtain the first support S0, we need to solve kshortest-path-problems to obtain the
initial potential and, hence, the initial support. Then we need to initialize the Laplacian matrix
LSRkn×kn and compute its (generalized) inverse. Using a fast matrix multiplication algorithm,
e.g. the Coppersmith-Winograd algorithm [21], this can be done in O(︁(kn)2.375)︁time.
Given the (generalized) inverse of the Laplacian L
S, potentials and flows can be computed in
O((nk)2) time as it only requires the multiplication of nk ×nk matrices with vectors of dimen-
sion nk. We note that by definition the matrix C
˜Shas at most knon-zero entries in every row.
The vectors wS,e,i,qS,e,i, and q
¯S,e,ihave also only O(k) many non-zero elements. This implies
that every value necessary for the computation of λmin
Sand λmax
Scan be obtained in O(k) time.
Thus the computation of λmin
Sand λmax
Sitself needs O(km ·k)=O((kn)2) time. The bottleneck
is thus the computation of the (generalized) inverse of the Laplacian matrix. However, the in-
verse does not need to be computed from scratch, but can be obtained with the update formula
from Theorem 6.8. Since this formula also depends only on the sparse vector qS,e,iand q
¯S,e,iwith
O(k)-many non-zero entries, this update step can also be computed in O((nk)2)-time.
158 7.5. (Parametric) Computation of Nash Equilibria
159
8Degeneracy in Atomic
Splittable Congestion Games
In our analysis of atomic splittable congestion games, we have encountered two types of degen-
eracy. A game is a-degenerate if there is a feasible support Ssuch that the kernel of the Laplacian
matrix LSis larger than N. In this case, there is no longer a unique optimal potential for a given
demand and, thus, also no unique equilibrium flow, even for fixed supports. In fact, in an a-
degenerate game, there is a parameter λsuch that there exists an infinite number of equilibria
for the demand λr. In Section 8.1, we will show how to adopt the PPAD-functions pred and succ
in the presence of a-degenerate supports. In some sense, a-degenerate supports and the po-
tential lines of these supports resemble ambiguous regions that we discussed in Section 4.5 for
electrical and minimum cost flows. Similar to these ambiguous regions, we can also jump over
a-degenerate regions in atomic splittable congestion games. We discuss all details in Section 8.1.
The second type of degeneracy is b-degeneracy which occurs if multiple boundaries intersect
in the endpoint of a potential line. In this case, the continuative neighbors of a support are not
uniquely defined. This is similar to the normal” degeneracy in the case of electrical flows and
minimum cost flows. Similar to our approach in Section 4.3, we will show that a small perturba-
tion of the problem can remove this type of degeneracy. Further, again similar to the electrical
flow case, we can show that this perturbation may be performed implicitly and we derive a lexi-
cographic rule to do so. We discuss this type of degeneracy in Section 8.2
8.1 a-Degenerate Atomic Splittable Congestion Games
An atomic splittable congestion game is a-degenerate if there exists at least one feasible a-de-
generate support. By definition this means that there is a support Ssuch that
dim(︁ker(LS))︁>dim(N),
i.e., the kernel of the block Laplacian matrix exceeds the ”normal“ nullspace N. Hence, the
equality LSπdS=λrhas an infinite number of solutions and there exists a continuum of opti-
mal potentials and Nash equilibria for the same demand with the same support S. In particular,
there is no longer a unique potential direction πSand the potential line ΠScannot be repre-
sented as in Lemma 6.7. Thus, also λmin
Sand λmax
Sas well as the notions of continuative neigh-
bors cannot be defined as before. Therefore, the goal of this section is to adjust the functions pred
160 8.1. a-Degenerate Atomic Splittable Congestion Games
and succ such that we avoid a-degenerate supports without changing all other properties of the
PPAD-graph.
First, we note that the initial support S0for the zero-flow is always non-a-degenerate by
Lemma 7.8. Hence, we can always start from this support. The next observation is that the con-
tinuative neighbors of a non-a-degenerate support are not ”too degenerate“, meaning that the
block Laplacian matrix of a neighboring support Sof a non-a-degenerate support Scan have at
most one additional kernel dimension. We refer to a support with an additional kernel dimension
(i.e., a support with dim(︁ker(LS))︁=dim(N)+1) as weakly-degenerate.
Lemma 8.1. Let Sbe a neighboring support of the non-a-degenerate support S. Then,
dim(︁ker(LS))︁dim(N)+1=k+1.
Proof. By Theorem 6.8 we have LS=LS+q
¯S,e,iq
S,e,i. Since Sis non-a-degenerate, the rank of the
block Laplacian for this support is rank(LS)=k(n1). Thus, we obtain
rank(︁LS)︁rank(︁LS)︁rank(︁q
¯S,e,iq
S,e,i)︁=k(n1)1
and the claim follows.
For every weakly degenerate support Swe find by definition a vector πN
Ssuch that
ker(LS)\N=span(︁πN
S)︁,
i.e., a vector that spans the additional kernel direction. This vector is only unique up to scalar
multiplication. For the remainder of this section, we assume we are given some fixed vector πN
S
satisfying the equation above and we refer to this vector as nullspace direction of the support S.
As already indicated by the notation, we will use the nullspace direction as a substitute for the
(no longer uniquely defined) potential direction πSin order to find another, non-a-degenerate
support. Intuitively, moving along the nullspace direction, will yield optimal potentials for the
same Nash equilibrium and, if some boundary is found, possibly another feasible support for
the Nash equilibria that is not a-degenerate. The following lemma proves some properties of the
nullspace direction.
Lemma 8.2. Let S=N(S,e,i)be the (e,i)-neighbor of the non-a-degenerate support S. Assume
that Sis weakly degenerate and feasible. Then,
(i) πN
Sspan(︁L
Sq
¯S,e,i)︁,
(ii) if q
¯
S,e,iπS=0, then there exists a unique λN
S[0,1] such that the system
LSπdS=λr(8.1)
has a solution in Πif and only if λ=λN
S,
(iii) a vector πΠis a solution of Eq. (8.1)if and only if there exists ξRsuch that
π=L+
S(︁λN
Sr+dS)︁+ξπN
S,
where L+
Sis some generalized inverse of the matrix LSthat maps into Π.
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 161
Proof. Using a corollary of the Sherman-Morrison-Woodbury formula for generalized inverses
(see, e.g., Corollary 18.5.2 in Harville [54]) and Theorem 6.8 we obtain
rank(LS)=rank(LS)+rank(1+q
S,e,iL
Sq
¯S,e,i)1. (8.2)
Since Sis weakly degenerate, we know that rank(LS)rank(LS)) =1 and, thus, we obtain that
rank(q
S,e,iL
Sq
¯S,e,i)=1. Together with Theorem 6.8(i) we get
LSL
Sq
¯S,e,i=LSLSq
¯S,e,i+q
¯S,e,iqS,e,iL
Sq
¯S,e,i=q
¯S,e,iq
¯S,e,i=0. (8.3)
Thus, span(L
Sq
¯S,e,i)ker(LS)Π. With dim(ker(LS)Π)) =1 we obtain that ker(︁(LS)Π)︁=
span(L
Sq
¯S,e,i). Since πN
Sker(︁(LS)Π)︁, this proves (i).
Feasibility implies that there exists some λN
Ssuch that Eq. (8.1) has a solution for λ=λN
S.
Denote this solution by πN. Assume there is another λ
˜such that Eq. (8.1) has a solution and
denote this solution by π
˜. Then,
(λN
Sλ
˜)q
¯
S,e,iπS=q
¯
S,e,iL
S(λN
Sλ
˜)r(8.1)
=q
¯
S,e,iL
SLS(πNπ
˜)(8.3)
=0.
With the assumption that q
¯
S,e,iπS=0 we obtain λN
Sλ
˜=0 proving (ii).
By definition of the generalized inverse, L+
S(︁λN
Sr+dS)︁is a solution of Eq. (8.1). Since LSπN
S=
0, every vector L+
S(︁λN
Sr+dS)︁+ξπN
Swith ξRis a solution of Eq. (8.1). Since πN
Sis the only
basis vector of the kernel of LSin the potential space, this characterizes all solutions in Π. Note,
that the choice of the generalized inverse is not unique but the formula holds for any choice of
generalized inverse.
The formula in Lemma 8.2(iii) represents the solutions of Eq. (8.1) as a linear combination of
a basic solution, namely L+
S(︁λN
Sr+dS)︁, and the linear hull of the kernel (ξπN
S,ξR). The basic
solution is non-unique and depends on the choice of the generalized inverse L+
S. Since the exact
choice is not relevant for all further computations, we just assume that we consider one fixed
generalized inverse.
If the support Sis a continuative (e,i)-neighbor of some feasible support S, then Sis feasible
as well, and we can apply Lemma 8.2 in order to obtain with the definition from Eq. (6.6) that
ΠS={︁πΠ|λ[0,1] : LSπdS=λr,WS(Gπb)0}︁
={︁πΠ|LSπdS=λN
Sr,WS(Gπb)0}︁
={︁π=L+
S(︁λN
Sr+dS)︁+ξπN
S|ξR:WS(︁G(︁L+
S(λN
Sr+dS)+ξπN
S)︁b)︁0}︁
as a representation of the potential line of the support S. We see that the potential line of a weakly
a-degenerate support is similar to the potential line of a non-a-degenerate support. The poten-
tial line ΠSis a one-dimensional line segment with offset vector L+
S(︁λN
Sr+dS)︁and a direction
vector πN
S. In contrast to the non-degenerate case, the potential line of a weakly a-degenerate
support is parametrized by an artificial parameter ξrather than the demand parameter λ[0,1]
and admits only optimal potentials for one fixed parameter ξ.
In the same projection as in Fig. 7.2 described in Section 7.2 the potential line of a weakly de-
generate support would appear as a vertical line: A continuum of optimal potentials for infinitely
162 8.1. a-Degenerate Atomic Splittable Congestion Games
λ
π
1
λN
S2
ΠS1
ΠS2
ΠS3
Figure 8.1: The potential lines with the a-degenerate support S2.
many Nash equilibria for the same parameter value πN
S(and, hence, the same demand) as de-
picted in Fig. 8.1. Similar to Lemma 6.7 we can rewrite the potential line in a form parametrized
with the parameter ξand a minimal and maximal value for this parameter.
Lemma 8.3. Let Sbe a feasible, weakly degenerate support and (e,i)-neighbor of the feasible sup-
port S. Then, there are finite numbers −∞<ξmin
Sξmax
S<such that
ΠS={︁π=L+
S(︁λN
Sr+dS)︁+ξπN
S|ξ[ξmin
S,ξmax
S]}︁.
Proof. As in the proof of Lemma 6.7, we can define values
ξmin
S:=max{︄w
S,e,i(︁bGL+
S(λN
Sr+dS))︁
w
S,e,iGπN
Sw
S,e,iGπN
S<0}︄
ξmax
S:=min{︄w
S,e,i(︁bGL+
S(λN
Sr+dS))︁
w
S,e,iGπN
Sw
S,e,iGπN
S>0}︄
and thereby obtain the wanted representation by solving the inequalities for ξ.
In contrast to the non-degenerate case, the parameter ξis not bounded by 0 and 1 and there-
fore it is not obvious that there are always finite values ξmin
S,ξmax
S. To see that this is actually the
case, first consider the vector v:=CSGπN
S. By Lemma 8.2(i), we know that there is some αR
such that πN
S=αL
Sq
¯S,e,i. If we assume that v=0, then 0=LSv=αLSL
Sq
¯S,e,i. By definition of
the pseudo inverse, LSL
Sis the projection onto the potential space Π. But, by definition, the pro-
jection of q
¯S,e,iof Πis non-zero (the vector is not a zero-sum vector). Thus, this is a contradiction,
and vmust be non-zero.
By definition of CS, the vector vis zero on all inactive edges. Hence, we can interpret this
vector as a (undirected) flow on the active edges. Since, additionally Gv =LSπN
S=0, this is a
non-zero flow for zero demand, i.e., a non-zero circulation. Thus, there are positive and negative
components in the vector v. Finally, the vector vcoincides with the vector WSGπN
Sin all
components corresponding to active edges because σi
e=ωi
e. Thus there are edges eand players i
such that w
S,e,iGπN
Sis positive and negative. Hence, the maximization and the minimization
above are not performed over an empty set. Further, there is at least one pair of player and edge
such that the maximum is attained and one pair such that the minimum is attained.
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 163
The preceding lemma shows that the potential line of a weakly degenerate support is indeed a
bounded line segment. In particular, there are some pairs of players and edges (e,i) for which the
respective inequalities in definition of the potential line are tight, allowing us to find continuative
neighbors at both ends of the potential line of the weakly degenerate support. We will assume
that these continuative neighbors are unique for now and treat all other cases as b-degenerate
cases. In particular, we discuss this mixture of a- and b-degeneracy at the end of the next section.
From the proof of Lemma 8.3 we can see that, when moving along the potential line, the flow
belonging to the respective optimal potential changes exactly by the vector v:=CSGπN
S. Since
Gv =LSπN
S=0, we conclude that vis an undirected circulation for every player. Hence, all Nash
equilibria for an a-degenerate support differ only by a certain amount of flow on cycles.
Since there are two ends of the potential line each of which corresponding to a continuative
neighbor, we can always find a subsequent, third support S′′, if the continuative neighbor Sof
a support Sis weakly degenerate. The following lemma proves that this support is again non-a-
degenerate enabling us to jump over the degenerate support.
Lemma 8.4. Let S be a non-a-degenerate support. Let S=N(S,e,i)be a continuative neighbor of
S that is a-degenerate. Then there is a unique defined support S
¯(S,S)=S that is a continuative
neighbor of S. Further, S
¯(S,S)is non-a-degenerate.
Proof. By the assumption that all supports are non-b-degenerate, there are exactly two continua-
tive neighbors for Sdefined by the tight inequalities in the computation of ξmin
Sand ξmax
S. Hence,
the support S
¯(S,S) is unique.
For ease of exposition let S′′ :=S
¯(S,S). Let eEand iNbe the edge and player such that
S′′ =N(S,e,i). The pair (e,i) must the maximizer or minimizer in the respective computation
of ξmin
Sor ξmax
S, hence q
S,e,iπN
S=0 and, thus, q
¯S′′,e,iq
S,e,iπN
S=0. Since rank(q
¯S′′,e,iq
S,e,i)=
1, we get that q
¯S′′,e,iqS,e,iv=0if and only if vspan(︁πN
S)︁\{0}.
Now, let vker(︁LS′′)︁be a vector from the nullspace of LS′′. Then, we distinguish between two
cases.
Case 1: vspan(︁πN
S)︁\{0}. Then, 0=LS′′v=LSv+q
¯S′′,e,iqS,e,iv=q
¯S′′,e,iqS,e,iv=0, which is a
contradiction. Thus, this case is impossible.
Case 2: vspan(︁πN
S)︁\ {0}. Then, 0=LS′′v=LSv+q
¯S′′,e,iqS,e,iv=LSv, and thus vN
span{︁πN
S}︁. Hence, with the assumption of this case, we infer vN.
Overall, we have shown that vker(︁LS′′)︁vNand, therefore, ker(︁LS′′)︁=N. Hence, S
¯(S,S)=
S′′ is non-a-degenerate.
With the insights from Lemma 8.4, we can define new predecessor and successor functions
by defining pred:SS{} and succ:SS{} with
pred(S) :={︄pred(S) if pred(S)S,
S
¯(S,S) if pred(S)S,and succ(S) :={︄succ(S) if succ(S)S,
S
¯(S,S) if succ(S)S.
Finally, we need to show that these functions are compliant in the sense that the successor of
the predecessor of some support is the support itself and vice versa. We do this in the following
lemma.
164 8.1. a-Degenerate Atomic Splittable Congestion Games
Lemma 8.5. The functions predand succare well-defined and computable in polynomial time.
Further,
(i) succ(pred(S)) =S for all supports S Swith pred(S)=.
(ii) pred(succ(S)) =S for all supports S Swith succ(S)=.
Proof. The functions are well-defined by Lemma 8.4. Further, they are computable in polynomial
time since the functions predand succare and the support S
¯(S,S) can be found in polynomial
time.
The parts (i) and (ii) follow from Lemma 7.7 whenever pred(S)Sor succ(S)S, respec-
tively. Since the proof of Lemma 7.7 relies on the relation between the potential directions of
two neighboring supports (i.e., the property (iii) from Theorem 6.8) we need to prove a similar
property for the case of weakly degenerate supports and their nullspace direction πN
S. We will
achieve a similar result by adding a small perturbation to the respective block Laplacian matrices
in order to avoid having to deal with singular matrices.
Formally, for any player iNand δ>0, we define a matrix Di=(︁di
v,w)︁v,wVRn×nby
di
v,w=
δif v=w=si,
δif v=sior w=siand v=w,
(n1)δif v=w=si,
0 otherwise.
Thus, the matrix Diis a (n1)×(n1)-diagonal matrix with δon the diagonal with an extra row
and column at the position of the source vertex siof this player such that the whole matrix Dihas
zero row and column sums. We denote by Dthe block diagonal matrix containing the matrices
Di,i=1,...,kas block diagonal entries. Further, we denote by D
ˆthe matrix obtained from D
by removing all rows and columns corresponding to all source vertices of all players. Then, in
particular, D
ˆ=δIk(n1) is δtimes the k(n1)×k(n1) identity matrix. Thus, for every matrix
ARk(n1)×k(n1), the matrix A+D
ˆis non-singular for almost all δ>0.
For every Sand its block Laplacian matrix LS, we define the matrices Lδ
S:=LS+D,L
ˆδ
S:=L
ˆS+D
ˆ,
and Lδ,
S, where the latter matrix is obtained from the matrix (︁L
ˆδ
S)︁1by adding a zero row and
column for every source vertex siof every player, analogous to the definition of the pseudo in-
verse L
S. Note that the matrix Lδ,
Sis well-defined for almost all δ>0. Additionally, we define the
direction vector πδ
S:=Lδ,
Sr. By definition, Lδ
S
δ0
LSand L
ˆδ
S
δ0
LSelement-wise. Whenever
L
ˆSis non-singular, we also obtain by the continuity of the inverse that (︁L
ˆδ
S)︁1δ0
L
ˆ1
Sand, thus,
finally also Lδ,
S
δ0
L
Sand πδ
S
δ0
πS.
Now, let Sbe a feasible, non-a-degenerate support. Let S=N(S,e,i) be a continuative neigh-
bor and assume that Sis a-degenerate. Then, by Lemma 8.4 there exists the unique, non-a-
degenerate neighbor S′′ :=S
¯(S,S). Then, with Theorem 6.8, we obtain
Lδ
S=LS+D=LS+q
¯S,e,iq
S,e,i+D=Lδ
SLS+q
¯S,e,iq
S,e,i
and, similarly, Lδ
S′′ =LS+q
¯S′′,e,iq
S,e,i. Since the determinant det(︁L
ˆS)︁is a continuous, non-zero
polynomial in the variable δthat is zero for δ=0, there exists δ>0 such that for all 0 <δ<δ
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 165
(a) the matrix L
ˆSis non-singular and the sign of the determinant σ
S:=sgn(︁det(︁L
ˆS)︁)︁is con-
stant,
(b) the signs sgn(︁det(︁L
ˆS)︁)︁and sgn(︁det(︁L
ˆS′′)︁)︁are constant and equal to σSand σS′′, respectively.
With the same computation as in the proof of Theorem 6.8, we obtain
det(︁L
ˆδ
S)︁=det(︁L
ˆδ
S)︁(︁1+q
S,e,iLδ,
Sq
¯S,e,i)︁. (8.4)
Using the Sherman-Morrison formula as in the proof of Theorem 6.8 and the direction πδ
S:=
Lδ,
Sr, we compute
det(︁L
ˆδ
S)︁πδ
S=det(︁L
ˆδ
S)︁Lδ,
Sr
=det(︁L
ˆδ
S)︁(︃Lδ,
S1
1+q
S,e,iLδ,
Sq
¯S,e,i
Lδ,
Sq
¯S,e,iq
S,e,iLδ,
S)︃r
(8.4)
=det(︁L
ˆδ
S)︁(︁1+q
S,e,iLδ,
Sq
¯S,e,i)︁
⏟⏟
δ0
0 by Eq. (8.2)
Lδ,
SrLδ,
Sq
¯S,e,iq
S,e,idet(︁L
ˆδ
S)︁Lδ,
Sr
⏟⏟
δ0
σSπS
δ0
σSq
S,e,iπSL
Sq
¯S,e,i.
Similarly, since the support Sand S′′ are neighbors as well, we obtain
det(︁L
ˆδ
S)︁πδ
S
δ0
σS′′q
S′′,e,iπS′′L
S′′q
¯S,e,i.
Since exactly one of the supports S,S′′ is the lower and one is the upper continuative neighbor
of S, one of the values qS,e,iπN
Sand qS,e,iπN
Smust be positive and one must be negative,
because one of the pairs (e,i), (e,i) must contribute to the computation of ξmin
Sand one to the
computation of ξmax
S(see also the proof of Lemma 8.3). Hence,
sgn(︁qS,e,iπN
S)︁=sgn(︁qS,e,iπN
S)︁. (8.5)
Recall, that by Eq. (8.2), we have
q
S,e,iL
Sq
¯S,e,i=1 and, likewise, q
S′′,e,iL
S′′q
¯S,e,i=1. (8.6)
Using Theorem 6.8(iv), we get that q
S,e,iπδ
S=q
S,e,iπδ
Sand q
S′′,e,iπδ
S=q
S,e,iπδ
S. By
Lemma 8.2(i), there exists α,βRsuch that απN
S=L
Sq
¯S,e,iand βπN
S=L
S′′q
¯S,e,i. Thus, with
the two limits of det(︁L
ˆδ
S)︁πδ
Scomputed above we get
q
S,e,iL
Sq
¯S,e,i=q
S,e,iL
Sq
¯S,e,iand q
S′′,e,iL
S′′q
¯S,e,i=q
S,e,iL
S′′q
¯S,e,i. (8.7)
Overall, this yields
σSsgn(︁q
S,e,iπS)︁(8.6)
= sgn(︁σSq
S,e,iπSq
S,e,iL
Sq
¯S,e,i)︁
(8.7)
=sgn(︁σSq
S,e,iπSq
S,e,iL
Sq
¯S,e,i)︁=sgn(︁ασSq
S,e,iπSq
S,e,iπN
S)︁
(8.5)
= sgn(︁ασSq
S,e,iπSq
S,e,iπN
S)︁=sgn(︁σSq
S,e,iπSq
S,e,iL
Sq
¯S,e,i)︁
=sgn(︂σSlim
δ0q
S,e,idet(︁L
ˆδ
S)︁πδ
S)︂=sgn(︂lim
δ0q
S,e,idet(︁L
ˆδ
S)︁πδ
S)︂
=sgn(︁σS′′q
S′′,e,iπS′′q
S,e,iL
S′′q
¯S,e,i)︁(8.7)
= σS′′ sgn(︁q
S′′,e,iπS′′)︁.
166 8.1. a-Degenerate Atomic Splittable Congestion Games
v1
v2v3
v4
s1,t4
s5,t8
s4,t3
s6,t5
s3,t2
s7,t6
s2,t1
s8,t7
e1
x+6
e2
e3x+6
e4
e5
x+6
e6
e7
e89x+3
(a) Graph with costs of player 1.
λ
α
S1
S2
S3
1
21
1
(b) Equilibria.
π1
v3
π1
v4
ΠS1
ΠS2
ΠS3
π1
π2
π3
π4
10 20 30
10
20
30
40
(c) Potential space.
Figure 8.2: An example for an a-degenerate game. (a) Graph with cost functions of player 1. (b)
Optimal strategies of every player depending on the parameter λ. Strategies are encoded by the
fraction of player flow αsent along the direct edge between the source and sink of the respective
player. (c) Projection of the potential space with potential lines and boundary potentials πl.
We have established the same sign condition for the supports Sand S′′ relating the orientation of
the respective directions analogous to the result of Theorem 6.8(iii). Hence, we remainder of the
proof follows as in the proof of Lemma 7.7.
Overall, we have shown that we can handle a-degenerate atomic splittable congestion games
by redefining the predecessor and successor functions pred and succ. The new functions pred
and succexclude a-degenerate supports. As shown in Lemma 8.2, the a-degenerate supports
that are excluded with the new predecessor and successor functions are only feasible for one
fixed parameter λ, this does only exclude solutions for a null set of demands and does not affect
the parametric computation since the neighboring supports are also feasible for the same λ.
8.1.1 An example of an a-degenerate game
In this subsection, we present a concrete example of an a-degenerate game.
Example. Consider an atomic splittable game with k=8 players on the graph Gdepicted in
Fig. 8.2a. Every player has a source and a sink vertex that are adjacent (e.g., s1=v1and t1=v4)
and a demand of ri=2. Therefore, every player has two (simple) paths between their source and
sink: a direct path consisting of only one edge (e.g., e8for player 1) and a longer path consisting
of three edges (e.g., e1,e3,e5for player 1). The edge of the respective short path is equipped with
the cost function ce,i=9x+3 and the edges on the longer path are equipped with cost functions
ce,i=x+6. The cost functions of all other edges are irrelevant, since they will never be used
by the respective player. Fig. 8.2a depicts the cost functions of player 1. The game is therefore
player-symmetric, i.e., the game looks the same for every player. However, the cost functions of
the edges depend on the player.
Because of this symmetric structure, we will mainly focus on player 1 for the rest of the exam-
ple and only give the potentials, flows and cost for this player. Since all other players act similar,
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 167
the respective values are the same for the respective vertices and edges.
It is easy to see that for very small values of λ(i.e., for very small demand rates of the players),
all players will route their demand on the shorter path between their source and sink since this
path has a smaller cost offset be,i. Hence, the first support is the support S1containing the direct
edge and the first two edges of the longer path for every player as active edges. The initial optimal
potential for the flow x1=0is π1=(0,6,12,3)(potential for player 1). The maximum parameter
value for this support is λmax
S1=1
2and the Nash equilibria are
x(λ)=(0,0,0,0,0,0,0,2λ), 0 λ1
2
(flow for player 1); every edge has a total flow of 1. At the value λ=1
2, the third edge of the longer
path becomes active (the optimal potential is π1=(0,7,12,3)for λ=1). In fact, all of these
edges become active for all players. Hence, this is in fact a b-degenerate boundary crossing and
the support (as well as the game) is b-degenerate. We ignore this fact here, since the b-degeneracy
simplifies the exposition of the example considerably and consider the support S2where all edges
of the short and the long path are active for all players as the next support.
The support S2is a-degenerate. It can be shown that the corresponding block Laplacian
matrix LS2has rank 23 and that the vector (0,1,2,3)Πis in the kernel of LS2. This vector is
the nullspace direction πN
S2of the support S2. This direction belongs to the flow circulation
(︁1
3,0, 1
3,0, 1
3,0,0,1
3)︁(this is exactly the circulation containing the longer path plus the direct
edge as backward edge). This means, flow can be shifted between the direct edge and the longer
path (simultaneously for all players) without destroying the Nash equilibrium. In fact, there is a
continuum of Nash equilibria for parameter λ=1
2, namely
x(︃1
2)︃=(ξ,0,ξ,0,ξ,0,0,1ξ), 0 ξ1.
In the potential π3=(0,8,16,24)all flow of all players is routed on the longer paths and there is
a total flow of 3 flow units on every edge. In this potential, all edges of the direct paths become
inactive (again, this is a b-degenerate transition) and the next support S3is the support where
only the edges of the long paths are active for all players. The Nash equilibria for this support are
the flows
x(λ)=(2λ,0,2λ,0,2λ,0,0,0),1
2λ1
with the Nash equilibrium (2,0,2,0,2,0,0,0) and the optimal potential π4=(0,14,28,42)for the
parameter λ=1.
Since every player has only two possible strategies (short and long path) and all players act
in a symmetric way, we can encode all equilibria by the fraction of the flow that is send over
the respective shorter paths by the players. This results in the representation in Fig. 8.2b. This
representation of the strategies can also be seen as a projection of potential lines and the potential
space (depicted in Fig. 8.2c) such that the x-axis corresponds to the parameter λ, i.e., this is a way
of obtaining the abstract projection described in Section 7.2 and Fig. 7.2.
168 8.2. b-Degenerate Atomic Splittable Congestion Games
8.2 b-Degenerate Atomic Splittable Congestion Games
In this section we study b-degeneracy. Informally, b-degeneracy occurs if there are multiple
boundaries intersecting in boundary potentials, i.e., multiple edges become active and/or inac-
tive for one or multiple players. As already mentioned before, b-degeneracy is the analog of the
degeneracy in electrical networks and minimum cost flow networks described in the first part.
Therefore, we can develop similar methods for handling b-degeneracy. Intuitively, b-degeneracy
can be resolved by adding a small perturbation, in this case, a perturbation to the offsets of the
cost functions be,i. This small perturbation lifts the degeneracy and induces also an implicit lex-
icographic rule that makes it unnecessary to apply the perturbation in an explicit form.
Recall, that formally a game is b-degenerate if there is a b-degenerate support. A support is
b-degenerate, if |Nmin
S|>1 or |Nmax
S|>1. For every b-degenerate game, we consider a variant of
the same game that we call ϵ-perturbed game. The ϵ-perturbed game is the same game with the
only difference being that the offsets of the cost functions are perturbed. The cost functions of
the ϵ-perturbed game are bϵ:=b+ϵ, where
ϵ:=(︁ϵ,ϵ2,...,ϵkm1,ϵkm)︁Rmk
is referred to as the perturbation vector. Analogous to Theorem 6.3 and Lemma 6.7 we obtain the
following result for the ϵ-perturbed game.
Lemma 8.6. For ϵ>0and some S, let Πϵ
Sbe the potential line for support S in the ϵ-perturbed
game. Then there are values λmin,ϵ
Sand λmax,ϵ
Ssuch that
Πϵ
S={︁λπS+πϵ
S|λmin,ϵ
Sλλmax,ϵ
S}︁,
where πϵ
S=L
SGCSbϵ.
Proof. First, we observe that, by Theorem 6.3,πis a λ-potential for the support Sin the ϵ-
perturbed game if and only if
LSπdϵ=λrand WS(︁Gπbϵ)︁0,
where dϵ=GCSbϵ. As in the proof of Lemma 6.7, we observe that
Πϵ
S={︁πΠ|λ[0,1] : WS(︁G(λπS+πϵ
S)bϵ)︁0}︁.
Solving the constraints for λ, we get that the numbers
λmin,ϵ
S:=max(︄{︄w
S,e,i(︁bϵGπϵ
S)︁
w
S,e,iGπS
w
S,e,iGπS<0}︄{0})︄
λmax,ϵ
S:=max(︄{︄w
S,e,i(︁bϵGπϵ
S)︁
w
S,e,iGπS
w
S,e,iGπS>0}︄{1})︄
yield the claimed representation of Πϵ
S.
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 169
Lemma 8.6 shows that the potential lines of the perturbed game only differ from the potential
lines in the original games by a perturbed offset vector πϵ
Sand perturbed minimal and maximal
values for the parameter λ. As we will see in the next lemma, this perturbation depends contin-
uously on the perturbation variable ϵ. Hence, for very small values of ϵthe feasible supports as
well as the optimal potentials and, hence, the Nash equilibria, of the perturbed an the original
game are almost the same but, as it will turn out, the perturbed game will be non-b-degenerate.
Hence, we can always consider the perturbed, non-b-degenerate game whenever we encounter
ab-degenerate support. Formally, we prove the following lemma.
Lemma 8.7. Let S be a non-a-degenerate support. Then, there exists ϵ
S>0such that for all 0<ϵ<
ϵ
Sthe following holds.
(i) If S is infeasible, then Πϵ
S=as well.
(ii) If S is feasible and non-b-degenerate, then S is also non-b-degenerate in the ϵ-perturbed
game. Further, the support S has the same unique continuative neighbors in the unperturbed
an the ϵ-perturbed game.
(iii) If S is feasible and b-degenerate, then Πϵ
S= or S is non-b-degenerate in the ϵ-perturbed
game.
Proof. We begin by introducing some additional notation. For a fixed support Sand every eE
and iN, we define
αS,e,i(λ)=(w
S,e,iGπS)λ+w
S,e,i(GπSb),
βS,e,i(ϵ)=w
S,e,i(GπSb)ϵ,
λ
¯S,e,i=
w
S,e,i(bGπS)
w
S,e,iGπS
,
ν
¯S,e,i(ϵ)=
w
S,e,i(Ikm GL
SGCS)
w
S,e,iGπS
ϵ.
With these definitions and the linear nature of the perturbation bϵ=b+ϵwe obtain
ΠS={︁πΠ|λ[0,1] : αS,e,i(λ)0 for all eE,iN}︁,
Πϵ
S={︁πΠ|λ[0,1] : αS,e,i(λ)+βS,e,i(ϵ)0 for all eE,iN}︁,
λmin
S=max(︁{︁λ
¯S,e,i|w
S,e,iGπS<0}︁{0})︁,
λmax
S=min(︁{︁λ
¯S,e,i|w
S,e,iGπS>0}︁{0})︁,
λmin,ϵ
S=max(︁{︁λ
¯S,e,i+ν
¯S,e,i(ϵ)|w
S,e,iGπS<0}︁{0})︁,
λmax,ϵ
S=min(︁{︁λ
¯S,e,i+ν
¯S,e,i(ϵ)|w
S,e,iGπS>0}︁{0})︁.
Now suppose Sis infeasible, i.e., ΠS= . Thus, for every λ[0,1] there exists eEand
iNsuch that αS,e,i(λ)<0. Thus, αS(λ) :=mine,iαS,e,i(λ) < 0 for all λ[0,1] and, hence, α
S:=
170 8.2. b-Degenerate Atomic Splittable Congestion Games
maxλ[0,1] αS(λ)<0. Since limϵ0βS,e,i(ϵ)=0, there exists ϵ
S>0 such that maxe,iβS,e,i(ϵ)<α
S
for all 0 <ϵ<ϵ
S. But this implies, for all 0 <ϵ<ϵ
Sand λ[0,1], that
min
e,iαS,e,i(λ)+βS,e,i(ϵ)<min
e,iαS,e,i(λ)λ<0.
Hence, Πϵ
S=for all 0 <ϵ<ϵ
Sand we have proven (i).
Now, assume that Sis feasible and non-b-degenerate. Then, the support has a unique lower
and a unique upper continuative neighbor meaning that there exists a unique maximizer (or min-
imizer, respectively) in the computation of λmin
S(or λmax
S, respectively). Assume without loss of
generality, that the maximum is attained at some value λ
¯S,e,iand not at 0 or 1. Let e1,i1and e2,i2
be the edges and players such that λmin
S=λ
¯S,e1,i1and λmax
S=λ
¯S,e2,i2. Define
λ:=min{︂min
(e,i)=(e1,i1)
w
S,e,iGπS<0
(λmin
Sλ
¯S,e,i), min
(e,i)=(e2,i2)
w
S,e,iGπS>0
(λ
¯S,e,iλmax
S)}︂
be the minimal difference between the largest and second largest or smallest and second smallest
λ
¯S,e,i-values. If λ=because there are no further edges and players with w
S,e,iGπS=0, the
same holds for the perturbed game and thus there must be a unique minimizer or maximizer
as well. Therefore, in this case, we have proven (ii). If λis finite, then choose ϵ
S>0 such that
|ν
¯S,e,i(ϵ)|<λ
2for all e,iwith w
S,e,iGπS=0. This is possible since limϵ0ν
¯S,e,i(ϵ)=0. Then, we
obtain for all e=e1and i=i1
λ
¯S,e1,i1+ν
¯S,e1,i1(ϵ)λ
¯S,e,i+λ+ν
¯S,e1,i1(ϵ)>λ
¯S,e,i+λ
2>λ
¯S,e,i+ν
¯S,e,i(ϵ)
and, hence, (e1,i1) is the unique maximizer in the computation of λmin,ϵ
S. Similarly, we can prove
that λ
¯S,e2,i2+ν
¯S,e2,i2(ϵ)<λ
¯S,e,i+ν
¯S,e,i(ϵ) implying that (e1,i2) is the unique minimizer in the com-
putation of λmax,ϵ
S. Therefore, the support Shas unique lower and upper continuative neighbors
and we have proven (ii).
Now, assume that the support Sis feasible and b-degenerate and Πϵ
S=. Then, we need to
show that Sis non-b-degenerate in the ϵ-perturbed game, i.e., that there are unique lower and
upper continuative neighbors. The neighbors are not unique only if there are two combinations
of edges and players (e,i), (e,i) such that both pairs are maximizers or minimizers in the respec-
tive computation of λmin,ϵ
Sor λmax,ϵ
S. Thus, b-degeneracy in the ϵ-perturbed game occurs only if
there are pairs (e,i), (e,i) such that
λ
¯S,e,i+ν
¯S,e,i(ϵ)=λ
¯S,e,i+ν
¯S,e,i(ϵ). (8.8)
We assume for the remainder of the proof that ϵ
Sis chosen small enough such that, for all 0 <ϵ<
ϵ
S,
λ
¯S,e,i+ν
¯S,e,i(ϵ)=λ
¯S,e,i+ν
¯S,e,i(ϵ)λ
¯S,e,i=λ
¯S,e,iand ν
¯S,e,i(ϵ)=ν
¯S,e,i(ϵ). (8.9)
This is possible since limϵ0ν
¯S,e,i(ϵ)=0. Further, we derive the following necessary condition.
Claim. If for two fixed pairs (e,i) and (e,i) and every ϵ
S>0 there exists 0 <ϵ<ϵ
Ssuch that
Eq. (8.8) holds true, then there exist 0 =η,ηRsuch that
(︁ηe
e,iηe
e,i)︁X=0, (8.10)
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 171
where X:=Ikm C
˜SGL
SGSand ee,iRkm is the unit vector corresponding to the edge eand
player i.
Proof of the claim. The assumption of the claim and Eq. (8.9) implies that there are infinitely many
values ϵwith ν
¯S,e,i(ϵ)=ν
¯S,e,i(ϵ). Let η:=σi
e
w
S,e,iGπSand η:=σi
e
w
S,e,iGπS. Since w
S,e,i=e
e,iWS=
σi
ee
e,iC
˜Swe obtain
0=ν
¯S,e,i(ϵ)ν
¯S,e,i(ϵ)=(︃1
w
S,e,iGπS
w
S,e,i1
w
S,e,iGπS
w
S,e,i)︃(︁Ikm GL
SGCS)︁ϵ
=(︁ηe
e,iηe
e,i)︁XC
˜Sϵ.
The latter term is a polynomial in ϵthat is zero for infinitely many values of ϵ, hence, its coeffi-
cients (︁ηe
e,iηe
e,i)︁XC
˜Smust be zero. Since C
˜Sis strictly diagonally dominant (this follows by
definition similar to the proof of 6.4) and therefore non-singular, Eq. (8.10) follows.
We have shown that the support Sis b-degenerate in the ϵ-perturbed game only if there is a
special vector with only two non-zero entries in the nullspace of the matrix X. We continue by
characterizing this nullspace.
Claim. Let vRkm. Then, vX=0if and only if there exists zRkn with v=(︁GS)︁z.
Proof of the claim. Let Y:=C
˜SGL
SGS=C
˜SGGSC
˜SGGS. Then X=Ikm Y. Therefore, it
suffices to show that vY=vif and only if v=(︁GS)︁z.
We note that the vector space spanned by the columns of GSis a subspace of the space
spanned by the columns of LS. Therefore, we can apply Lemma 9.3.5 from Harville [54] yielding
GSY=GSC
˜SGL
SGS=C
˜S=GS
proving the if-direction.
For the only-if direction, observe that rank(Y)rank(GS) by definition. On the other hand,
we see that rank(GS)=rank(GSY)rank(Y). Thus, rank(Y)=rank(GS). We conclude that
for every vthat is not a combination if the rows of GSwe have vY=0because, otherwise, the
rank of Ymust be strictly larger than rank(GS). Thus, if there is no zwith v=(GS)z, then
vY=0concluding the proof.
The preceding claim implies that vX=0only if there is a (potential) vector zRkn such that
ve,i={︄0 if eSi,
zi
wzi
vif eSi
(8.11)
for every edge e=(v,w)Eand iN. By Eq. (8.10), the vector v:=(︁ηe
e,iηe
e,i)︁is in the
left nullspace of Xand has non-zero entries for (e,i) and (e,i). Therefore, we conclude with
Eq. (8.11), that eSiand eSi, i.e., both edges e,eare active for the respective players. Further,
since (︁ηe
e,iηe
e,i)︁has only two non-zero entries, this implies that the potential zinduces a non-
zero potential difference only for the edges e,eand the respective players i,i. We now consider
two cases.
172 8.2. b-Degenerate Atomic Splittable Congestion Games
Case 1: i= i. In this case, the edge eis the only edge with non-zero potential difference with
respect to the potential zfor player i. This means, eis the only active edge of some cut.
Therefore, this edge must also be active for all neighboring supports, because, by definition
of supports, the subgraph of active edges must be connected. Hence, there is no choice
for this edge (and the same holds for the other edge e) and, although there is more than
one edge inducing the maximum or minimum in the computation of λmin,ϵ
Sand λmax,ϵ
S, the
continuative neighbor is still unique, since these are fixed and must stay active.
Case 2: i=i. In this case, there are exactly the two edges e,efor which the potential difference
w.r.t. zis non-zero. This implies, these edges are the only active edges in some cut in the
graph. Further, we know that the potential difference on the one edge is η=1
w
S,e,iGπSand
η= 1
w
S,e,iGπSon the other edge. If w
S,e,iGπSand w
S,e,iGπSdo have not the same
sign, then they do not contribute to the computation of λmin,ϵ
Sand λmax,ϵ
Sand, thus, there
is no conflict. If the signs are the same, we can infer that the potential differences along
these edges have an opposite sign, hence these two edges are the only active edges for the
player iin some cut and exactly one of them is an incoming and one is an outgoing edge.
This implies, there is only one path from the source sithat contains both edges, and one of
the edges must be later in the path. By definition of supports (via shortest path potentials)
it is only possible that the later edge becomes inactive. Therefore, also in this case, there is
only one choice for a continuative neighboring support.
Lemma 8.7 implies that for every support S, we can find ϵ
S>0, such that Sis either infeasible
or non-b-degenerate in the ϵ-perturbed game for all 0 <ϵ<ϵ
S. Hence, by choosing the smallest
of these (finitely many) values ϵ
S, we obtain a value ϵ>0 such that the ϵ-perturbed game is
non-b-degenerate.
Theorem 8.8. For every atomic splittable congestion game, there exists ϵ>0such that the ϵ-
perturbed game is non-b-degenerate.
The insights into b-degeneracy from Lemma 8.7 allow us to study how likely b-degenerate
games are. In fact, we can prove that, if the offsets of the cost functions be,iare drawn from a
continuous distribution, then almost all games are non-b-degenerate, proving that such games
are really degenerate.
Corollary 8.9. For a fixed graph G, fixed players Nwith sources, sinks, and demands, and affine-
linear cost functions ce,iwith fixed slopes, assume that the offsets of the costs bare drawn from a
continuous distribution Don Rkm
>0. Then,
PD[︁the game with offsets bis b-degenerate]︁=0.
Proof. With the definitions from the proof of Lemma 8.7, we know that it is necessary for a sup-
port Sto be b-degenerate that there are two pairs (e,i),(e,i) such that ν
¯S,e,i(ϵ)=ν
¯e,i,i(S). This
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 173
can be, similar to the proof of Lemma 8.7, reformulated as
(︃1
w
S,e,iGπS
w
S,e,i1
w
S,e,iGπS
w
S,e,i)︃(︁Ikm GL
SGCS)︁
⏟⏟
=:y
S,e,i,e,i
b=0.
With the same arguments as in the proof of Lemma 8.7, for b-degeneracy it is necessary that y=0.
Hence, we get the non-trivial necessary condition y
S,e,i,e,ib=0 for a b-degenerate support S.
Since the conditions is non trivial, the set of all offset vectors that satisfy this necessary condition
BS,e,i,e,i:={︁bRkm
0|y
S,e,i,e,ib=0}︁is a real subspace of R0and PD[︁bBS,e,i,e,i]︁=0. Let B
be the set of all offset vectors bthat lead to a b-degenerate game. Then,
B⋃︂
SS⋃︂
(e,i),(e,i)E×N
(e,i)=(e,i)
BS,e,i,e,i
and thus
PD[︁B]︁∑︂
SS∑︂
(e,i),(e,i)E×N
(e,i)=(e,i)
PD[︁BS,e,i,e,i]︁=0.
8.2.1 Implicit perturbation
We have shown that for every game, there exists a value ϵ>0 such that the ϵ-perturbed game is
non-b-degenerate. In order to define the predecessor and successor functions pred and succ in a
unique way, we consider the set
Sϵ:={︁S|Sis a feasible, non-a-degenerate support for the ϵ-perturbed game}︁
of feasible supports for the ϵ-perturbed game. Then, we can also use the successor and prede-
cessor functions predϵ,succϵof the ϵ-perturbed game for the actual game. By Theorem 8.8 these
are well-defined. However, it is not clear, whether we can compute these functions in polyno-
mial time since they depend on the value ϵ. With the next theorem we prove that this is indeed
possible.
Theorem 8.10. For all 0<ϵ<ϵ, the unique continuative neighbors of the ϵ-perturbed game can
be determined implicitly via a lexicographic rule in polynomial time without using an explicit
value ϵ.
Proof. From the proof of Lemma 8.7 we know that the values λmin,ϵ
Sand λmax,ϵ
S(and, hence, the
continuative neighbors) can be computed by finding the edge eand player ithat minimizes or
maximizes, respectively, the value λ
¯S,e,i+ν
¯S,e,i(ϵ). Since limϵ0ν
¯S,e,i(ϵ)=0, it is necessary that
this pair also maximizes or minimizes λ
¯S,e,i. All such supports can be found in polynomial time
and we then only need to find the pair (e,i) that also minimizes ν
¯S,e,i(ϵ) among all of these sup-
ports. From the proof of Lemma 8.7 we obtain
ν
¯S,e,i(ϵ)ν
¯e,i,i(S) if and only if pe,i(ϵ) :=ηe
e,iXC
˜Sϵηe
e,iXC
˜Sϵ=:pe,i(ϵ).
174 8.2. b-Degenerate Atomic Splittable Congestion Games
The functions pe,i(ϵ) and pe,i(ϵ) are polynomials in ϵwith pe,i(0) =pe,i(0) =0. Hence, for ϵ>0
small enough, pe,i(ϵ)pe,i(ϵ) holds only if the coefficient vectors of these polynomials satisfy
ηe
e,iXC
˜SLηe
e,iXC
˜S.
Hence, we only need to perform the lexicographic comparison for all player edge pairs in ques-
tion which can be done in polynomial time.
Using the implicit lexicographic rule to determine continuative neighbors implies that the
computation of Nash equilibria for b-degenerate games is in PPAD as well. Further, the approach
for the parametric computation of Nash equilibria is still feasible for b-degenerate games. How-
ever, as it is the case in the electrical network and minimum cost flow setting, it may not be pos-
sible anymore to obtain the solution in output polynomial time since the lexicographic pivoting
rule may consider an exponential number of supports that do not contribute to the solution as
they may only contain one optimal potential for an isolated Nash equilibrium.
8.2.2 a-b-Degeneracy
Until now we treated a- and b-degeneracy separately and assumed for all a-degenerate games
that they are non-b-degenerate and vice versa. In this final subsection we want to address games
that exhibit both types of degeneracy. First of all, it is obvious that we can use all techniques from
before without further changes if a- and b-degeneracy are separated within the game, i.e., if in
aa-b-degenerate game every support is either a- or b-degenerate. The only interesting case left
is the case of an a-degenerate support that is also b-degenerate. We defined an a-b-degenerate
support as an a-degenerate support where we can find multiple maximizers or minimizers in the
computation of ξmin
Sand ξmax
Sthat lead to multiple continuative neighbors. Since the definitions
of ξmin
S,ξmax
Sand λmin
S,λmax
Sare closely related, b-degeneracy in a-degenerate supports should
behave similar to the normal b-degeneracy. Thus, it should not occur in the ϵ-perturbed game.
This is indeed the case as we show in the following theorem.
Theorem 8.11. There exists ϵ>0such that, for all 0<ϵ<ϵ, there are no a-b-degenerate supports
in the ϵ-perturbed game.
Proof. The proof is analogous to the proof of Lemma 8.7 and we only sketch the main steps here.
For every a-degenerate support and every eEand iNlet
ξ
¯S,e,i:=
w
S,e,i(︁bGL+
S(λN
Sr+πS))︁
w
S,e,iGπN
S
.
Then we can reformulate the computation of ξmin
Sand ξmax
Sas
ξmin
S=max{︁ξ
¯S,e,i|w
S,e,iGπN
S<0}︁and ξmax
S=min{︁ξ
¯S,e,i|w
S,e,iGπN
S>0}︁.
Similar, for the ϵ-perturbed game, we can compute the respective values as
ξmin,ϵ
S=max{︁ξ
¯S,e,i+ν
¯S,e,i(ϵ)|w
S,e,iGπN
S<0}︁,
ξmax,ϵ
S=min{︁ξ
¯S,e,i+ν
¯S,e,i(ϵ)|w
S,e,iGπN
S>0}︁,
Chapter 8. Degeneracy in Atomic Splittable Congestion Games 175
where
ν
¯S,e,i(ϵ) :=
w
S,e,i(︁Ikm GL+
SGCS)︁
w
S,e,iGπN
S
ϵ.
With these definitions, we are in almost the same situation as in the proof of Lemma 8.7. If follows
that, whenever the a-degenerate support is b-degenerate, there must be η,ηRsuch that the
vector (︁ηe
e,iηe
e,i)︁is in the left nullspace of the matrix X
˜:=Ikm C
˜SGL+
SG. The only minor
difference is that the matrix X
˜depends on the generalized inverse L+
Srather than the (in this case
non-existent) generalized inverse L
S. The generalized inverse has a lower rank than the pseudo
inverse in the non-a-degenerate. This results in a slightly weaker statement in the second claim
in the proof, namely, vX=0holds true only if (in contrast to the if and only in in the original
proof) there exists zRkn with v=(︁GS)︁z. However, this weaker statement is still enough for
the remaining part of the proof which follows exactly as in the proof of Lemma 8.7.
176 8.2. b-Degenerate Atomic Splittable Congestion Games
177
Appendix
178
179
ASymbol Index and Overview
This appendix contains a symbol index as well as concise overviews over the notation related
to electrical flow algorithm and parametric atomic splittable congestion games. Appendix A.1
contains two indexes, one for every part of this thesis, containing the most important symbols
used throughout both parts. Appendices A.2 and A.3 provide a brief overview of the electrical flow
algorithm and parametric atomic splittable congestion games. The overviews review the most
important definitions and formulas of the respective sections. Important symbols are highlighted
and complemented with a reference to the definition in the respective parts.
180 A.1. Symbol Index
A.1 Symbol Index
A.1.1 Symbol Index for Part I
αrelative error for approximate minimum cost flows
βabsolute error for approximate minimum cost flows
ϵperturbation variable / approximation quality of oracle in MCFI
ϵperturbation vector
Γvertex-edge incidence matrix
γecolumn of incidence matrix corresponding to edge e
λparameter of parametric problems
λmin
tminimal parameter for region Rt
λmax
tmaximal parameter for region Rt
φvoptimal potential of vertex v
φoptimal potential vector
Φmatrix of optimal potentials for multi-commodity flows
πvshortest path potential
πshortest path potential vector
π0initial potential
πtpotential direction in region Rt
πtpotential offset in region Rt
Πtsolution segment of region Rt
σe,tefunction value at breakpoint of piecewise linear marginal cost function
τe,tebreakpoint of piecewise linear marginal cost function
ae,teslope of the piecewise linear marginal cost function
be,teoffset of the piecewise linear marginal cost function
bvdemand at vertex v
bvector of all demands
Bmatrix of all demands for multi-commodity flows
b(λ) demand function
Cλweight matrix for Laplacian with weights from derivative of marginal costs
Ctweight matrix for Laplacian in region Rtwith weights 1
ae,te
C(x) cost of flow xe
C(λ) flow cost function; cost of minimum flow for parameter λ
dtvector of inverse marginal cost function offsets be,te
ae,te
eedge
Eset of edges
femarginal cost function of edge e
fvector of marginal cost functions
Feedge cost function of edge e
Ggraph
Appendix A. Symbol Index and Overview 181
elower bound of flow on edge e
vector of lower flow bounds
LλLaplacian matrix w.r.t. weights from derivative of marginal cost functions
LtLaplacian matrix of region Rt
mnumber of edges
me,tcoefficient vector of perturbation polynomial (for lexicographic rule)
nnumber of vertices
Rtregion in the potential space
Ssupport (set of active edges)
sflinear spline of function f
tregion vector (vector of function part indices)
T
¯set of all region vectors
Teindex set of breakpoints of marginal cost function of edge e
ueupper bound of flow on edge e
uvector of upper flow bounds
v,wvertex
Vset of vertices
xeflow on edge e
xflow vector
x
ˆeminimum cost flow / electrical flow on edge e
x
ˆminimum cost flow / electrical flow vector
Xmulti-commodity flow
X
ˆmulti-commodity minimum cost flow
182 A.1. Symbol Index
A.1.2 Symbol Index for Part II
Γvertex-edge incidence matrix
γecolumn of incidence matrix corresponding to edge e
ϵperturbation variable for b-degenerate supports
ϵperturbation vector for b-degenerate supports
κenumber of players who consider edge eactive
λparameter for parametric problem
λmin
Sminimal parameter of support S
λmax
Smaximal parameter of support S
ξparameter value of a-degenerate support
µe,imarginal cost of edge efor player i
ξnullspace direction parameter for a-degenerate supports
φi
vpotential of player iat vertex v
φipotential vector of player i
φfull potential vector containing all player potential vectors
πi
vshortest path potential of player iat vertex v
πishortest path potential vector of player i
πfull shortest potential vector containing all player shortest potential vectors
πSpotential direction of support S
πSpotential offset of support S
πN
Snullspace direction of a-degenerate support S
ΠSset of boundary potentials of support S
πmin
Slower boundary potential of support S
πmax
Slower boundary potential of support S
Πpotential space
ΠSpotential line of support S
σSsupport orientation; sign of the determinant of reduced block Laplacian
σi
eplayer support sign; indicates if edge eis active (+1) or inactive (1) for player i
Σiplayer support sign matrix encoding the support of player i
Σplayer support sign matrix encoding the support
ωi j
eplayer support coefficient; indicates if edge eis active (1) or inactive (0)
for player iand player j
ωi
eplayer support coefficient; indicates if edge eis active (1) or inactive (0) for player i
iplayer support matrix encoding the support of player i
support matrix encoding the support
ae,islope of cost function on edge eof player i
Adiagonal matrix containing all slopes of the cost functions
be,ioffset of cost function on edge eof player i
bvector off all offsets of all cost functions
Cblock weight matrix; defined as (Ikm K)A1
C
˜unsigned block weight matrix; defined as (Ikm K)A1
Ci j weight matrix for player pair (i,j); submatrix of C
doffset vector in block Laplacian equation; defined as GCb
Appendix A. Symbol Index and Overview 183
eedge
Eset of edges
ee,iunit vector corresponding to edge eand player i
Ggraph
Gdiagonal matrix of kcopies of the incidence matrix Γ
i,jplayer
knumber of players
K
¯diagonal matrix with diagonal elements κe
Kblock matrix containing k×kcopies of K
¯
LSblock Laplacian matrix of support S
Li j
SLaplacian matrix of player pair (i,j); submatrix of LS
Nnullspace of matrix G; spanned by potential vectors with constant potential
for every player
N(S,e,i) Neighboring support of Sdefined by edge eand player i
NSset of continuative neighbors of support S
Nmin
Sset of lower continuative neighbors of support S
Nmax
Sset of upper continuative neighbors of support S
Nset of all players
pred predecessor function
qS,e,inormal vector of boundaries in the potential space; defined as (WSG)ee,i
q
¯S,e,iunsigned normal vector of boundaries in the potential space (︁(Ikm KSS)Γ
ridemand rate of player i
ridemand vector of player i, encoding si-ti-flow of rate ri
rfull demand vector containing all player demand vectors
Ssupport
Siplayer support, i.e., the set of active edges for player i
sisource vertex of player i
succ successor function
tisink vertex of player i
v,wvertex
Vset of vertices
Wsigned block weight matrix; defined as ΣC
˜
wS,e,icolumn of Wcorresponding to the edge eand the player i
xe,iflow of player ion edge e
xetotal flow of all players on edge e
xiflow vector of player i
xflow vector containing all player flows
184 A.2. Overview: Basic Parametric Electrical Flow Algorithm
A.2 Overview: Basic Parametric Electrical Flow Algorithm
Setting
We consider the following parametic problem
min ∑︂
eE∫︂xe
0fe(s)ds
s.t. Γx=b(λ)
with piecewise linear marginal cost functions.
Marginal costs
The marginal cost are piecewise linear with breakpoints τe,t
p. 54 and
fe(x)=ae,tx+be,tfor all x[τe,t,τe,t+1],t{1,...,t
¯e+1}
and with ae,t>0. The values at the breakpoints are denoted by σe,t
p. 54 :=fe(τe,t). f(x) :=(︁fe(xe))︁eE
denotes the vector valued function mapping a flow to a vector of marginal cost.
Regions
Every vector tp. 55 T
¯:=Te1×···×Tmconsisting of indices of function parts of the marginal cost
teTe:={1,...,t
¯e} defines a region
Rt
p. 55 :={︁φΠ|σe,teγ
eφσe,te+1for all edges eE}︁
in the potential space. Inside the region, the inverse of the marginal cost functions are linear and
every potential can be mapped to a flow via this inverse by computing
x=f1(︁Γφ)︁=CtΓφdt,
where Ct
p. 55 :=diag(︂1
ae1,te1
,..., 1
aem,tem)︂and dt:=(︂be,te
ae,te)︂eE.
Laplacian matrix
An optimal potential φRtfor demand bsatisfies
Ltφ=b+Γdt,
where Lt
p. 55 =ΓCtΓis the Laplacian matrix corresponding to the region Rt. The pseudo-inverse
(mapping into the potential space) is denoted by L
t
p. 55 .
Appendix A. Symbol Index and Overview 185
Solution segments
For the parametric problem with b(λ)=λb, the solution segment of region Rtdefined as
Πtp. 57:={︁πRt|λ0 with Ltπ=λb+Γdt}︁
contains all shortest path potentials for any parameter value λ0. It can be rewritten as
Πtp. 57={︁πt+λπt|λ[λmin
t,λmax
t]}︁,
with the potential direction πtp. 57:=L
tb, the potential offset πt:=L
tΓdt, and the minimal and
maximal parameter values
λmin
tp. 58:=max{︁max
eEλt(e),0}︁
λmax
t:=min
eEλt(e)
with
λt(e)p. 58:=
σe,teγ
eπt
γ
eπtif γ
eπt>0,
σe,te+1γ
eπt
γ
eπtif γ
eπt<0,
−∞ otherwise,
and λt(e):=
σe,te+1γ
eπt
γ
eπtif γ
eπt>0,
σe,teγ
eπt
γ
eπtif γ
eπt<0,
otherwise.
Boundary edges and neighboring regions
The set of all edges that induces the minimum in the computation of λmax
tare called boundary
edges the set containing all boundary edges is denoted by
E
tp. 60:={︁eE|λmax
t=λt(e)<}︁.
If |E
t|>1, the region Rtis degenerate.
Two regions Rt1,Rt2are neighboring if there is an edge eEsuch that t2=t1±ee, where
eeRmis the unit vector with the non-zero entry in the component corresponding to the edge e.
186 A.3. Overview: Atomic Splittable Congestion Games
A.3 Overview: Atomic Splittable Congestion Games
Setting
We consider an atomic splittable congestion game with kplayers in a graph G=(V,E) with n
vertices and medges. The cost functions ce,i
p. 124 are player-dependent, i.e.,
ce,i(x)=ae,ix+be,i.
The slopes and offsets are used in the matrix and vector
A1
p. 127 :=diag(︂1
ae1,1 ,..., 1
aem,k)︂and b=(be1,1,...,bem,k).
Every player has a source vertex si, a sink vertex ti, and a demand rate ri. The strategy of a player
is a si-tiflow xiwith rate ri, i.e., it satisfies Γxi=ri, where riencodes the demand of the player.
An outcome of the game is a vector xp. 123 =(︁(x1),...,(xk))︁satisfying Gx =rwhere
Gp. 123 =
Γ0
...
0Γ
Rnk×mk.
Support
The support
Sp. 126 =(︁Si)︁iNwith Si:={︁eE|πi
wπi
v=µe,i(x)}︁
encodes all edges contained in the shortest path networks of the players. The support is also
encoded in the coefficients
ωi j
e={︄1 if eSiSj,
0 if eSiSj,ωi
i:=ωii
eσi
e
p. 126
p. 129 =2ωi
e1={︄1 if eSi,
1 if eSi.
and the matrices
p. 126 :=
10
...
0k
with i:=
ωi
e10
...
0ωi
em
Σp. 129 :=
Σ10
...
0Σk
with Σi:=
σi
e10
...
0σi
em
.
For every edge, κe
p. 127 is the number of players using edge e. We encode this information in the
matrices
Kp. 127 =
K
¯0
...
0 K
¯
Rkm×km with K
¯=
1
κe1+10
...
01
κem+1
.
Appendix A. Symbol Index and Overview 187
Block Laplacian
The weight matrix of the block Laplacian Matrix is defined as Cp. 127:=(Ikm K)A1and has the
following structure
C=
C11 C12 ··· C1k
C21 C22 ....
.
.
.
.
.......Ck1,k
Ck1··· Ck,k1Ckk
with
Cii p. 128=
κe1+1ωi
e1
(κe1+1)ae1,iωi
e10
...
0κem+1ωi
em
(κem+1)aem,iωi
em
and Ci j =
1
(κe1+1)ae1,jωi j
e10
...
01
(κem+1)aem,jωi j
em
.
The matrix encodes the relationship between optimal potentials and optimal flows via the for-
mula x=C(︁Gφb)︁from Lemma 6.2. We also consider the following two variants of the matrix C
C
˜p. 127=(Ikm K)A1and W=ΣC
˜=Σ(Ikm K)A1.
The block Laplacian matrix is defined as Lp. 131=GCGand has the following structure
L=
L11 L12 ··· L1k
L21 L22 ....
.
.
.
.
.......Lk1,k
Lk1··· Lk,k1Lkk
,
where Li j :=ΓCi j Γ. With the offset vector dp. 131=GCb it characterizes optimal potentials via
the linear equalities and inequalities from Theorem 6.3. For non-a-degenerate supports, Lp. 131
denotes the uniquely defined pseudo inverse mapping into the potential space
Πp. 126:={︁φRkn |φi
si=0 for all players iN}︁.
Every support has a sign σSp. 134:=sgn(︁det(L
ˆS))︁depending on the submatrix of the block Lapla-
cian obtained by deleting all rows and columns corresponding to the source vertices of the re-
spective players.
188 A.3. Overview: Atomic Splittable Congestion Games
Parametric atomic splittable congestion games
For every support S, the potential line
ΠS
p. 133 :={︁πΠ|λ[0,1] : Lπd=λr,W(Gπb)0}︁
contains all optimal potentials from the potential space for some equilibrium for λ[0,1]. We
denote by we,i
p. 133 :=Wee,ithe row of the matrix Wcorresponding to edge eand player i. Further,
we consider the vectors qS,e,i
p. 134 :=(WSG)ee,iand q
¯S,e,i:=(︁(Ikm KSS)Γ)︁ee,i.
The values
λmin
S
p. 133 :=max(︄{︄w
e,i(bGπS)
w
e,iGπw
e,iGπ<0}︄{0})︄
λmax
S
p. 133 :=min(︄{︄w
e,i(bGπS)
w
e,iGπw
e,iGπ>0}︄{1})︄
allow to rewrite the potential line in the form
ΠS={︁λπ+πS|λmin
Sλλmax
S}︁,
where πp. 133 =Lris the potential direction and πS:=Ldpotential offset of the support.
Neighboring supports
S=N(S,e,i)p. 134 is the (e,i)-neighbor of S, if Sj=Sjfor all j=iand Si\S
i={e} or S
i\Si={e} .
ΠS
p. 133 ={πmin
S,πmax
S}={λmin
Sπ+πS,λmax
Sπ+πS} are the boundary potentials.
The continuative neighbors NS
p. 137 :={S|ΠSΠS=}=Nmin
SNmax
Sconsist of lower and upper
continuative neighbors
Nmin
S
p. 137 ={︄S=N(S,e,i)
w
S,e,i(︁bGπS)︁
w
S,e,iGπS=λmin
S}︄,
Nmax
S
p. 137 ={︄S=N(S,e,i)
w
S,e,i(︁bGπS)︁
w
S,e,iGπS=λmax
S}︄.
189
Bibliography
[1] R. K. Ahuja, J. L. Batra, and S. K. Gupta, A parametric algorithm for convex cost network flow
and related problems, Eur. J. Oper. Res. 16 (1984), 222–235.
[2] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network flows: Theory, algorithms, and applica-
tions, Prentice-Hall, Englewood Cliffs, NJ, 1993.
[3] Eitan Altman, Tamer Ba¸sar, Tania Jiménez, and Nahum Shimkin, Competitive routing in
networks with polynomial costs, IEEE Trans. Automat. Contr. 47 (2002), 92–96.
[4] J. J. Bartholdi, J. B. Orlin, and H. D. Ratliff, Cyclic scheduling via integer programs with cir-
cular ones, Oper. Res. 28 (1980), no. 5, 1074–1085.
[5] P. Beame, S. Cook, J. Edmonds, R. Impagliazzo, and T. Pitassi, The relative complexity of NP
search problems, J. Comput. Syst. Sci. 57 (1998), no. 1, 3–19.
[6] M. J. Beckmann, C. B. McGuire, and C. B. Winsten, Studies in the Economics of Transporta-
tion, Yale University Press, New Haven, CT, 1956.
[7] R. Bellman, On a routing problem, Q. Appl. Math. 16 (1958), no. 1, 87–90.
[8] U. Bhaskar, L. Fleischer, D. Hoy, and C. Huang, On the uniqueness of equilibrium in atomic
splittable routing games, Math. Oper. Res. 40 (2015), 634–654.
[9] R. G. Bland and D. L. Jensen, On the computational behavior of a polynomial-time network
flow algorithm, Math. Program. 54 (1992), no. 1, 1–39.
[10] D. Braess, Über ein Paradoxon aus der Verkehrsplanung, Unternehmensforschung 12
(1968), 258–268.
[11] L. E. J. Brouwer, Über Abbildung von Mannigfaltigkeiten, Math. Ann. 71 (1911), no. 1, 97–
115.
[12] R. G. Busacker and P. J. Gowen, A procedure for determining minimial-cost network flow
patterns, Tech. report, Operational Research Office, Johns Hopkins University, 1958.
190 Bibliography
[13] S. Catoni and S. Pallottino, Technical note Traffic equilibrium paradoxes, Transp. Sci 25
(1991), 240–244.
[14] X. Chen, X. Deng, and S. Teng, Settling the complexity of computing two-player Nash equi-
libria, J. ACM 56 (2009), no. 3, 14:1–14:57.
[15] X. Chen, S. Teng, and P. Valiant, The approximation complexity of win-lose games, Proc.
18th Annu. ACM-SIAM Sympos. Discrete Algorithms (SODA), 2007, pp. 159–168.
[16] J. A. Clark and N. A. J. Hastings, Decision networks, J. Oper. Res. Soc. 28 (1977), no. 1, 51–68.
[17] Alan Cobham, The intrinsic computational difficulty of functions, Proc. 1964 Congr. Log.
Methodol. Philos. Sci., North Holland, 1964, pp. 24–30.
[18] R. Colini-Baldeschi, R. Cominetti, P. Mertikopoulos, and M. Scarsini, When is selfish routing
bad? The price of anarchy in light and heavy traffic, Oper. Res. 68 (2020), no. 2, 411–434.
[19] R. Cominetti, J. R. Correa, and N. E. Stier-Moses, The impact of oligopolistic competition in
networks, Oper. Res. 57 (2009), 1421–1437.
[20] S. A. Cook, The complexity of theorem-proving procedures, Proc. 3rd Annu. ACM Sympos.
Theory Comput. (STOC), 1971, pp. 151–158.
[21] D. Coppersmith and S. Winograd, Matrix multiplication via arithmetic progressions, Proc.
19th Annu. ACM Sympos. Theory Comput. (STOC), 1987, pp. 1–6.
[22] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein, Introduction to algorithms, MIT
press, 2001.
[23] G. B. Dantzig, Application of the simplex method to a transportation problem, Activity anal-
ysis and production and allocation, Wiley, 1951, pp. 359–373.
[24] ,Linear programming and extensions, Princeton University Press, 1963.
[25] C. Daskalakis, P. W. Goldberg, and C. H. Papadimitriou, The complexity of computing a Nash
equilibrium, SIAM J. Comput. 39 (2009), no. 1, 195–259.
[26] C. de Boor, A practical guide to splines, Springer, New York, 1978.
[27] E. W. Dijkstra, A note on two problems in connexion with graphs, Numer. Math. 1(1959),
no. 1, 269–271.
[28] E. A. Dinic, An algorithm for the solution of the max-flow problem with the polynomial esti-
mation, Soviet Math. Dokl. 11 (1970), 1277–1280.
[29] Y. Disser and M. Skutella, The simplex algorithm is NP-mighty, ACM Trans. Algorithms 15
(2018), no. 1, 1–19.
[30] P. G. Doyle and J. L. Snell, Random walks and electric networks, Math. Assoc. Am., 1984.
Bibliography 191
[31] R. J. Duffin, Topology of series-parallel networks, J. Math. Anal. Appl. 10 (1965), no. 2, 303–
318.
[32] J. Edmonds, Paths, trees, and flowers, Can. J. Math. 17 (1965), 449–467.
[33] J. Edmonds and R. M. Karp, Theoretical improvements in algorithmic efficiency for network
flow problems, J. ACM 19 (1972), no. 2, 248–264.
[34] P. Elias, A. Feinstein, and C. Shannon, A note on the maximum flow through a network, IRE
Trans. Inform. Theory 2(1956), no. 4, 117–119.
[35] S. E. Elmaghraby, Activity networks: Project planning and control by network models, John
Wiley & Sons, 1977.
[36] M. Florian, J. Guálat, and H. Spiess, An efficient implementation of the “PARTAN” variant of
the linear approximation method for the network equilibrium problem, Networks 17 (1987),
no. 3, 319–339.
[37] R. W. Floyd, Algorithm 97: shortest path, Commun. ACM 5(1962), no. 6, 345.
[38] L. R. Ford, Network flow theory, Tech. report, Rand Corp., Santa Monica, CA, 1956.
[39] L. R. Ford and D. R. Fulkerson, Maximal flow through a network, Can. J. Math. 8(1956),
399–404.
[40] ,A primal-dual algorithm for the capacitated hitchcock problem, Nav. Res. Logist. Q.
4(1957), no. 1, 47–54.
[41] ,Constructing maximal dynamic flows from static flows, Oper. Res. 6(1958), no. 3,
419–433.
[42] ,Flows in networks, Princeton university press, 1962.
[43] M. Frank and P. Wolfe, An algorithm for quadratic programming, Naval Res. Logis. Quart. 3
(1956), no. 1-2, 95–110.
[44] M. L. Fredman and R. E. Tarjan, Fibonacci heaps and their uses in improved network opti-
mization algorithms, J. ACM 34 (1987), no. 3, 596–615.
[45] T. Fujisawa and E. S. Kuh, Piecewise-linear theory of nonlinear networks, SIAM J. Appl.
Math. 22 (1972), no. 2, 307–328.
[46] T. Fujisawa, E. S. Kuh, and T. Ohtsuki, A sparse matrix method for analysis of piecewise-
linear resistive networks, IEEE Trans. Circuit Theor. 19 (1972), no. 6, 571–584.
[47] D. R. Fulkerson, An out-of-kilter method for minimal-cost flow problems, J. SIAM 9(1961),
no. 1, 18–27.
[48] G. Gallo, M. D. Grigoriadis, and R. E. Tarjan, A fast parametric maximum flow algorithm
and applications, SIAM J. Comput. 18 (1989), no. 1, 30–55.
192 Bibliography
[49] A. V. Goldberg and R. E. Tarjan, Finding minimum-cost circulations by canceling negative
cycles, J. ACM 36 (1989), no. 4, 873–886.
[50] ,Finding minimum-cost circulations by successive approximation, Math. Oper. Res.
15 (1990), no. 3, 430–466.
[51] ,Efficient maximum flow algorithms, Commun. ACM 57 (2014), no. 8, 82–89.
[52] R. Grone, On the geometry and Laplacian of a graph, Linear Algebra Appl. 150 (1991), 167–
178.
[53] W. W. Hager, Updating the inverse of a matrix, SIAM Rev. 31 (1989), no. 2, 221–239.
[54] D. A. Harville, Matrix algebra from a statisticians perspective, Springer, New York, NY, 1997.
[55] A. Haurie and P. Marcotte, On the relationship between Nash-Cournot and Wardrop equi-
libria, Networks 15 (1985), 295–308.
[56] M. D. Hirsch, C. H. Papadimitriou, and S. A. Vavasis, Exponential lower bounds for finding
Brouwer fix points, J. Complex. 5(1989), no. 4, 379–416.
[57] F. L. Hitchcock, The distribution of a product from several sources to numerous localities, J.
Math. Phys. 20 (1941), no. 1-4, 224–230.
[58] M. Iri, A new method of solving transportation-network problems, J. Oper. Res. Soc. Jpn. 3
(1960), no. 1, 27–87.
[59] W. S. Jewell, Optimal flow through networks, Tech. report, Operations Research Center, MIT,
1958.
[60] P. Joachims, M. Klimm, and P. Warode, paminco: Parametric minimum cost flows,https:
//github.com/paminco/paminco, Accessed: 2022-03-01.
[61] Per Joachims, Max Klimm, and Philipp Warode, Approximate parametric computation of
minimum-cost flows with convex costs, arXiv preprint arXiv:2203.13146 (2022).
[62] S. Kakutani, A generalization of brouwer’s fixed point theorem, Duke Math. J. 8(1941), no. 3,
457–459.
[63] L. V. Kantorovich, Mathematical methods of organizing and planning production, Publi-
cation House of the Leningrad Univeristy, 1939. Translated in Manag. Sci. 6(1960), no. 4,
366–422.
[64] R. M. Karp, Reducibility among combinatorial problems, Proc. Symp. Complex. Comput.
Computs., Springer, 1972, pp. 85–103.
[65] W. Karush, Minima of functions of several variables with inequalities as side constraints, M.
Sc. Dissertation. Dept. of Mathematics, Univ. of Chicago (1939).
Bibliography 193
[66] J. Katzenelson, An algorithm for solving nonlinear resistor networks, Bell Syst. Tech. J. 44
(1965), no. 8, 1605–1620.
[67] L. Khachiyan, S. Tarasov, and E. Erlich, The inscribed ellipsoid method, Soviet Math. Dokl.
37 (1988), 226–230.
[68] G. Kirchhoff, Ueber den Durchgang eines elektrischen Stromes durch eine Ebene, insbeson-
dere durch eine kreisförmige, Ann. Phys. 140 (1845), no. 4, 497–514.
[69] ,Ueber die Auflösung der Gleichungen, auf welche man bei der Untersuchung der
linearen Vertheilung galvanischer Ströme geführt wird, Ann. Phys. 148 (1847), no. 12, 497–
508.
[70] M. Klein, A primal method for minimal cost flows with applications to the assignment and
transportation problems, Manag. Sci. 14 (1967), no. 3, 205–220.
[71] M. Klimm and P. Warode, Computing all Wardrop equilibria parametrized by the flow de-
mand, Proc. 30th Annu. ACM-SIAM Sympos. Discrete Algorithms (SODA), 2019, pp. 917–
934.
[72] ,Complexity and parametric computation of equilibria in atomic splittable conges-
tion games via weighted block laplacians, Proc. 31st Annu. ACM-SIAM Sympos. Discrete
Algorithms (SODA), 2020, pp. 2728–2747.
[73] ,Parametric computation of minimum cost flows with piecewise quadratic costs,
Math. Oper. Res. 47 (2022), no. 1, 812–846.
[74] B. Klinz and G. J. Woeginger, Minimum-cost dynamic flows: The series-parallel case, Net-
works 43 (2004), no. 3, 153–162.
[75] B. Knaster, C. Kuratowski, and S. Mazurkiewicz, Ein Beweis des Fixpunktsatzes für n-
dimensionale Simplexe, Fundam. Math. 14 (1929), no. 1, 132–137.
[76] T. C. Koopmans, Optimum utilization of the transportation system, Econometrica (1949),
136–146.
[77] H. W. Kuhn and A. W. Tucker, Nonlinear programming, Proceedings of the Second Berke-
ley Symposium on Mathematical Statistics and Probability, University of California Press,
1951, pp. 481–492.
[78] E. V. Levner and A. S. Nemirovsky, A network flow algorithm for just-in-time project schedul-
ing, Eur. J. Oper. Res. 79 (1994), no. 2, 167–175.
[79] W. McKinney, Data Structures for Statistical Computing in Python, Proc. 9th Python in Sci.
Conf., 2010, pp. 56 61.
[80] R. Merris, Laplacian matrices of graphs: a survey, Linear Algebra Appl. 197 (1994), 143–176.
[81] G. J. Minty, Monotone networks, Proc. R. Soc. Lond. 257A (1960), no. 1289, 194–212.
194 Bibliography
[82] D. Monderer and L. S. Shapley, Potential games, Games Econ. Behav. 14 (1996), no. 1, 124–
143.
[83] John Forbes Nash, Non-cooperative games, Ann. Math 54 (1951), no. 2, 286–295.
[84] Y. Nesterov, Smooth minimization of non-smooth functions, Math. Program. 103 (2005),
no. 1, 127–152.
[85] N. Nisan, T. Roughgarden, E. Tardos, and V. V. Vazirani, Algorithmic game theory, Cam-
bridge University Press, 2007.
[86] S. J. O’Hare, R. D. Connors, and D. P. Watling, Mechanisms that govern how the price of
anarchy varies with travel demand, Transp. Res. Part B 84 (2016), 55–80.
[87] T. Ohtsuki, T. Fujisawa, and S. Kumagai, Existence theorems and a solution algorithm for
piecewise-linear resistor networks, SIAM J. Numer. Anal. 8(1977), no. 1, 69–99.
[88] A. Orda, R. Rom, and N. Shimkin, Competitive routing in multiuser communication net-
works, IEEE/ACM Trans. Netw. 1(1993), 510–521.
[89] J. B. Orlin, A faster strongly polynomial minimum cost flow algorithm, Oper. Res. 41 (1993),
no. 2, 338–350.
[90] C. H. Papadimitriou, On the complexity of the parity argument and other inefficient proofs
of existence, J. Comput. Syst. Sci. 48 (1994), 498–532.
[91] ,Algorithms, games, and the internet, Proc. 33rd Annu. ACM Sympos. Theory Com-
put. (STOC), 2001, pp. 749–753.
[92] M. E. Pfetsch, A. Fügenschuh, B. Geißler, N. Geißler, R. Gollmer, B. Hiller, J. Humpola,
T. Koch, T. Lehmann, A. Martin, A. Morsi, J. Röverkamp, L. Schewe, M. Schmidt, R. Schultz,
R. Schwarz, J. Schweiger, C. Stangl, M. C Steinbach, S. Vigerske, and B. M. Willert, Valida-
tion of nominations in gas network optimization: models, methods, and solutions, Optim.
Methods Softw. 30 (2015), no. 1, 15–53.
[93] A. C. Pigou, The economics of welfare, Macmillan, 1920.
[94] R. J. Plemmons, M-matrix characterizations.I—-nonsingular M-matrices, Linear Algebra Its
Appl. 18 (1977), no. 2, 175–188.
[95] H. Röck, Scaling techniques for minimal cost network flows, Discrete structures and algo-
rithms, Proc. Workshop WG 79, Carl Hansen Verlag, 1980, pp. 181–192.
[96] J. B. Rosen, Existence and uniqueness of equilibrium points for concave n-person games,
Econometrica (1965), 520–534.
[97] R. Rosenthal, A class of games possessing pure-strategy Nash equilibria, Internat. J. Game
Theory 2(1973), no. 1, 65–67.
Bibliography 195
[98] T. Roughgarden, Selfish routing and the price of anarchy, MIT Press, 2005.
[99] T. Roughgarden and E. Tardos, How bad is selfish routing?, J. ACM 49 (2002), no. 2, 236–259.
[100] K. Rupp, 40 years of microprocessor trend data, Published online at Our-
WorldInData.org. Retrieved from: https://ourworldindata.org/grapher/
transistors-per-microprocessor, 2017.
[101] A. Ruszczy´nski, Nonlinear optimization, Princeton University Press, 2006.
[102] M. Schmidt, D. Aßmann, R. Burlacu, J. Humpola, I. Joormann, N. Kanelakis, T. Koch,
D. Oucherif, M. E. Pfetsch, L. Schewe, R. Schwarz, and M. Sirvent, GasLib A Library of
Gas Network Instances, Data 2(2017), no. 4, article 40.
[103] A. Schrijver, On the history of the transportation and maximum flow problems, Math. Pro-
gram. 91 (2002), 437–445.
[104] J. Sherman and W. J. Morrison, Adjustment of an inverse matrix corresponding to a change
in one element of a given matrix, Ann. Math. Stat. 21 (1950), no. 1, 124–127.
[105] I. Shvartsman, On stability of minimizers in convex programming, Nonlinear Anal.-Theor.
75 (2012), no. 3, 1563–1571.
[106] M. Skutella, An introduction to network flows over time, Research trends in combinatorial
optimization, Springer, 2009, pp. 451–482.
[107] É. Tardos, A strongly polynomial minimum cost circulation algorithm, Combinatorica 5
(1985), no. 3, 247–255.
[108] A. N. Tolsto˘
ı, Metody nakhozhdeniya naimenshego summovogo kilometrazha pri
planirovanii perevozok v prostranstve [russian; methods of finding the minimal total kilo-
metrage in cargotransportation planning in space], Planirovanie Perevozok, Sbornik pervyı
[Russian; Transportation Planning, Volume I], Transpechat’NKPS [TransPress of the Na-
tional Commissariat of Transportation], Moscow (1930), 23–55.
[109] Transportation Networks for Research Core Team, Transportation networks for research,
https://github.com/bstabler/TransportationNetworks, Accessed: 2020-12-08.
[110] L. A. Végh, A strongly polynomial algorithm for a class of minimum-cost flow problems with
separable convex objectives, SIAM J. Comput. 45 (2016), no. 5, 1729–1761.
[111] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau,
E. Burovski, P. Peterson, W. Weckesser, J. Bright, S. J. van der Walt, M. Brett, J. Wilson, K. J.
Millman, N. Mayorov, A. R. J. Nelson, E. Jones, R. Kern, E. Larson, C. J. Carey, ˙
I. Polat, Y. Feng,
E. W. Moore, J. VanderPlas, D. Laxalde, J. Perktold, R. Cimrman, I. Henriksen, E. A. Quin-
tero, C. R. Harris, A. M. Archibald, A. H. Ribeiro, F. Pedregosa, P. van Mulbregt, and SciPy
1.0 Contributors, SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python,
Nature Methods 17 (2020), 261–272.
196 Bibliography
[112] J. von Neumann, Zur Theorie der Gesellschaftsspiele, Math. Ann. 100 (1928), no. 1, 295–320.
[113] J. von Neumann and O. Morgenstern, Theory of games and economic behavior, Princeton
University Press, 1944.
[114] J. G. Wardrop, Some theoretical aspects of road traffic research, Proc. Inst. Civ. Eng 1(1952),
no. 3, 325–362.
[115] S. Warshall, A theorem on boolean matrices, J. ACM 9(1962), no. 1, 11–12.
[116] T. R. Weymouth, Problems in natural gas engineering, Trans. Am. Soc. Mech. Eng. 34 (1912),
no. 1349, 185–231.
[117] D. P. Williamson, Network flow algorithms, Cambridge University Press, 2019.
[118] H. Youn, M. T. Gastner, and H. Jeong, Price of anarchy in transportation networks: Efficiency
and optimality control, Phys. Rev. Lett 101 (2008), 128701:1–128701:4.
[119] N. Zadeh, A bad network problem for the simplex method and other minimum cost flow
algorithms, Math. Program. 5(1973), no. 1, 255–266.
[120] ,More pathological examples for network flow problems, Math. Program. 5(1973),
no. 1, 217–224.
[121] ,Near-equivalence of network flow algorithms., Tech. report, Departement of Oper-
ations Research, Standford University, 1979.
[122] U. Zwick, The smallest networks on which the Ford-Fulkerson maximum flow procedure
may fail to terminate, Theor. Comput. Sci. 148 (1995), no. 1, 165–170.