Thesis for the final dissertation for my MS degree in Computer Science & Engineering.
Subject is Mathematical Optimization in the field of Network Pricing Problems.
The present thesis is the result of a research carried on from September 2011 to August 2012; part of this work has been developed at the Graphes et Optimisation Mathématique (G.O.M.) group of the Université Libre de Bruxelles, under the supervision of Professor Martine Labbé; further development and experimentation have been carried on at the Laboratorio di Ricerca Operativa of the Università degli studi di Trieste with Professor Lorenzo Castelli as supervisor.
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
1. Università degli Studi di Trieste
FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
Corso di Laurea Magistrale in Informatica
Curriculum Ingegneria Informatica
Approximate algorithms
for the
Network Pricing Problem with Congestion
Tesi di Laurea in
Ricerca Operativa
Relatore: Laureanda:
Chiar.mo Prof. Desirée Rigonat
Lorenzo Castelli
Sessione Estiva
Anno Accademico 2011 - 2012
2.
3. Ringraziamenti
E così abbiamo finalmente raggiunto questo nuovo traguardo.
Sarei egoista se parlassi al singolare, il merito di questo risultato è di tante, tante persone, che
in mille modi mi hanno aiutata, sostenuta, incoraggiata durante questi tre anni.
Un sentito ringraziamento va prima di tutto al mio relatore, Professor Lorenzo Castelli per
avermi dato l’opportunità di svolgere questo lavoro e per la pazienza, l’aiuto e il sostegno con cui
mi ha seguita durante quest’ultimo anno e per avermi proposto il periodo di studi all’estero, che
mi ha permesso di avvicinarmi al mondo della ricerca.
Ringrazio poi la Professoressa Martine Labbé e tutto il gruppo di ricerca del G.O.M. dell’Université
Libre de Bruxelles, per avermi dato la possibilità di lavorare con loro. È stato un onore e so-
prattutto un piacere.
Niente di tutto questo sarebbe stato possibile se non avessi avuto il sostegno costante, sia
morale che materiale, della mia famiglia: grazie mamma e papà per aver sempre creduto in me,
Pietro per aver condiviso gioie e dolori della vita domestica, Gattila per avermi sempre ricordato
quando era ora di staccare e andare a dormire, Oscar per aver sostituito efficacemente la sveglia
e Napo per avermi costretta a fare ogni tanto una pausa!
Come non sfruttare poi quest’occasione per dire a tutti i miei amici quanto sono stati e
sono importanti per me: è bello sapere che, non importa in quale angolo di mondo ci si trovi, a
casa ci sono delle persone su cui puoi sempre contare. Non mi basterebbe davvero il tempo per
citare ognuno, ma sappiate che vi ho pensati tutti. Qualche eccezione però è doverosa e quindi
ringrazio Marta: sei la migliore amica che si possa avere, grazie per le lunghe chiacchierate e
per condividere con me momenti di follia, di regressione infantile (Pasqua e Natale, tu sai cosa
intendo!) e per essere la persona allegra e positiva che sei! Grazie a te e a tutta la tua famiglia!
Poi devo proprio ringraziare Federico: c’è poco da dire, sei un vero amico, grazie per tutte le volte
che mi hai ascoltata, per le chiacchierate senza fine, per tutti gli hobby che abbiamo condiviso e
per le serate a base di sushi e babezzi!
Ringrazio poi tutti i miei compagni di avventure di EESTEC: Erni, Mariela, Filippo, Carlo,
Nicola, Alessandra, Enrico, Francesca, conoscervi e condividere esperienze con voi mi ha davvero
aperto un mondo, mi ha fatto imparare un sacco di cose e mi ha fatto crescere tantissimo. Siete
grandissimi!
Infine, un grazie speciale a Matteo, che più di tutti mi ha aiutata a credere in me stessa e a
trovare la forza di continuare quando credevo di non farcela. Grazie per i tuoi incoraggiamenti,
per l’entusiasmo, per il tuo humour, lasciatelo dire..un po’ British (ma che io apprezzo enorme-
mente) e per la tua arte culinaria, quest’ultima invece prettamente Italica (per fortuna)! Vorrei
ringraziarti per tante tante altre cose, ma quella a cui tengo di più è ringraziarti semplicemente
di esserci, perchè mi rendi una persona migliore.
Grazie anche alla tua stupenda famiglia: Laura, Danilo, Chiara, John e George, grazie per tutti
i bei momenti passati assieme, e per gli incoraggiamenti che mi avete sempre dato!
Ancora una volta, grazie di cuore a tutti quanti!
I wish you all the best!
4.
5. Acknowledgements
The present thesis is the result of a research carried on from September 2011 to
August 2012; part of this work has been developed at the Graphes et Optimisation
Mathématique (G.O.M.) group of the Université Libre de Bruxelles, under the supervi-
sion of Professor Martine Labbé; further development and experimentation have been
carried on at the Laboratorio di Ricerca Operativa of the Università degli studi di Trieste
with Professor Lorenzo Castelli as supervisor.
9. 9
Introduction
Bilevel programs are nowadays a well known field of research. Studies have been
carried on this particular class of optimization problems since the 1970s. The Network
Pricing Problem, a particular case of which is the main subject of the present work, has
been formulated in the late 1990s (see Labbé et al. (1998)). It belongs, as the name
suggests, to the class of network optimization problems where prices have to be set on
the links of a network in order to maximize the profit of the owner. The bilevel structure
of the NPP implies that these prices will be influenced by the distribution on the network
of one or more users that want to travel on it at the minimum cost.
The NPP usually assumes that arc costs are independent of flows . In road transportation
systems, when arc costs depend on flows, the network is usually referred to as congested.
In the present work, we illustrate two asymptotically converging algorithms to solve the
NPP in the case of congested networks, hereafter referred to as the Congested Network
Pricing Problem (CNPP).
In particular, we propose to identify an equilibrium point for the CNPP using the Frank-
Wolfe algorithm (see Frank and Wolfe (1956)) by reformulating the bilevel CNPP into a
sequence of approximating single level linear problems. One of the algorithms uses these
linear approximations to solve only the second level problem (that is, the problem of the
users) while the other applies the linearization procedure to the whole CNPP.
The Frank-Wolfe linearization scheme was also used by Brotcorne et al. (2001) in the
design of a primal-dual heuristic to solve the NPP. In their work however arc costs are
still supposed to be independent of flows.
In this thesis, Chapter 1 introduces the NPP in its generic, uncongested formulation,
together with a linearization procedure to obtain an equivalent linear single level prob-
lem.
In Chapter 2 we first define a nonlinear arc cost function in order to introduce the
congestion element; then we formulate the lower level of the CNPP as an optimization
problem with nonlinear objective function and linear constraints. Finally we present a
simplification procedure to transform the CNPP in a non linear single level problem.
In Chapter 3 a brief introduction to the Franke-Wolfe algorithm is given; then the two
F-W based algorithms to solve the CNPP are presented, together with a review of the
(very brief) pre-existent literature and some hints for future improvements.
Chapter 4 deals with implementation details, for both of the presented algorithms and
for the software used for generating the networks to be used for computational tests.
Finally, Chapter 5 is dedicated to experimental data and results, from which we desume
our final considerations and discuss future developments.
11. Chapter 1
The Network Pricing Problem
In the present section we will introduce the Network Pricing Problem (NPP) in its
generic formulation, which does not take congestion into account. As its initial form is
that of a bilinear bilevel problem, we will first give a brief introduction to this class of
problems. Then the NPP will be introduced and we will illustrate how it can be refor-
mulated first into a single level bilinear, then into a linear problem with a mixed integer
formulation. In the present chapter we will refer to the formulations and notations in
Labbé et al. (1998), Brotcorne et al. (2000) and Brotcorne et al. (2001). Heilporn (2008)
in her PHD thesis gives a detailed analisys of the geometric structure of the problem and
the particular cases that have so far been proved to be easier to solve.
1.1 Bilevel programming
Bilevel programs belong to a class of Stackelberg sequential games with two players,
where a leader plays first, taking into account the possible reactions of the second player,
called the follower. By denoting x and y respectively the leader’s and follower’s decision
variables vectors, this situation can be described mathematically by:
min F (x, y) (1.1)
x,y
s.t. G(x, y) ≤ 0 (1.2)
y ∈ arg min f (x, y) (1.3)
y
s.t. g(x, y) ≤ 0 (1.4)
Note that the formulation above assumes that if there are multiple optimal solutions
for the lower level problem, the solution that is most profitable for the leader is selected;
this is an optimistic approach, in opposition to a pessimistic approach where the leader
chooses the solution that protects himself against the follower’s worst possible reaction.
Both scenarios have been investigated in literature (see Heilporn (2008) for a detailed
bibliography on this).
11
12. 12 CHAPTER 1. THE NETWORK PRICING PROBLEM
Bilevel programs first appeared in 1973 in an article by Bracken and McGill (1973),
while the complete formulation, as described aboved, was first introduced in an article
by Shimizu and Aiyoshi (1981). An annotated bibliography containing more than one
hundred references on bilevel programming has been compiled by Vicente and Calamai
(1994), while the books by Shimizu et al. (1997) and Luo et al. (1996) are devoted, in
full or in part, to this subject.
Generically non differentiable and non convex, bilevel problems are, by nature, hard.
Even the linear bilevel problem, where the objective functions and the constraints are
linear, was proved to be N P-hard by Jeroslow (1985). Hansen et al. (1992) prove strong
N P-hardness. Vicente et al. (1994) strengthen these results and prove that merely check-
ing strict or local optimality is strongly N P-hard.
1.2 The Network Pricing Problem (NPP)
Let us define a transportation network as a set of nodes (cities) and a set of arcs
(routes) linking some of these nodes together. At the upper and lower level, consider an
authority and a set of network users respectively. We also define a commodity as a set
of network users travelling from the same origin to the same destination. In addition to
a fixed cost associated with every arc, tolls are imposed by the authority on a specified
subset of arcs of the network. Hence the Network Pricing Problem consists of devising toll
levels on the specified subset of toll arcs in order to maximize the authority’s revenues.
Then, reacting to the tolls, each commodity travels on the shortest path from its origin
to its destination, with respect to a cost equal to the sum of tolls and initial costs. More
specifically, the formulation we will refer to in the present work assumes that only a subset
of the links has taxes and that the network is a multicommodity transportation network;
moreover, in order to avoid trivial solutions leading to infinite revenues for the authority,
we will assume that there always exists a toll-free path for each origin/destination pair.
No assumption is made regarding the non-negativity of the toll: as shown by Labbé et al.
(1998) a schema which allows negative tolls (that can be interpreted as incentives) can
lead to a better solution than one with only positive taxes.
An optimal tolling policy is such that tolls are low enough not to deter the users from
using those links (rather than alternative routes with no toll arcs) while still generating
high profits. In this model, it is generally assumed that the users will travel on shortest
(cheapest) origin-destination routes and congestion is not taken into consideration.
1.3 The bilevel formulation of the NPP
Let G = (N , A ∪ B) be a transportation network where N denotes the set of nodes
and A ∪ B is the set of arcs, where A is the subset of toll arcs and B the subset of toll-free
arcs. Each arc of A has a travel cost composed of a fixed part ca and an unknown toll
ta . Each arc of B bears only a fixed travel cost, identified by da .
13. 1.3. THE BILEVEL FORMULATION OF THE NPP 13
Let K denote the set of commodities, where each commodity k is associated with an
origin/destination pair (ok , dk ); the demand vector bk associated with each commodity
k is defined by:
k
η if i = o(k)
bk =
i −η k if i = d(k) ∀i ∈ N , ∀k ∈ K (1.5)
0 otherwise
where η k represents the number of users of commodity k.
Finally xk denotes the number of users of commodity k on arc a ∈ A ∪ B (that is, the
a
amount of flow on arc a for the origin/destination pair k).
The NPP can thus be formulated as a bilevel program with bilinear objective func-
tions and linear constraints, where the flows xk denote the optimal solution of the second
a
level problem parametrized by the upper level toll vector t.
max t a · xk
a (1.6)
t,x
k∈K a∈A
s.t. min ( (ca + ta ) · xk +
a da · xk )
a (1.7)
x
k∈K a∈A a∈B
xk
a − xk
a = bk
i ∀k ∈ K, ∀i ∈ N (1.8)
a=i+ ∈A∪B a=i− ∈A∪B
xk ≥ 0
a ∀k ∈ K, ∀a ∈ A ∪ B (1.9)
1.3.1 The Tmax upper bound
It is usually assumed that there cannot exist a toll setting scheme that generates
profits and creates negative cost cycles in the network and that there exists at least
one path composed solely of untolled arcs for each origin-destination pair (the "toll-free
path" previously mentioned). These conditions avoid the degenerative and unrealistic
cases where looping in a cycle drains users’ traveling costs to zero and where a non-
alternative path scenario would allow the leader to put an infinitely high toll on one or
more links, thus leading to an infinite profit.
In a practical scenario, by the way, such an assumption could not always hold; for
example the toll-free path could be significantly longer than the tolled path, and even if
we consider the time as a factor in the cost function of our model, such a choice could
not be likely for most "real" users (i.e. they would in any case prefer the quicker route).
Moreover, often tariffs are set by companies considering a whole set of policies that are
just partially related to traffic. In such a scenario, it is perfectly reasonable to assume
that an upper bound for the tariffs exists, much more reasonable than assuming that they
can be "arbitrarily high" or "limited by the cost of a toll-free path". Finally, whether or
14. 14 CHAPTER 1. THE NETWORK PRICING PROBLEM
not such constraints could undermine feasibility of specific instances of NPP is a matter
related with the specific istance itself.
The common formulation of the Network Pricing Problem however allows for an up-
per bound T max to be set for the tariffs. Since this bound can be set to infinite, it will
not alter the generality of the model and will help to find a realistic solution in case
the network is not fully compliant with the above requirements regarding toll-free paths.
This implies adding the following constraint to the above model:
ta ≤ T max ∀a ∈ A ∪ B (1.10)
In the present work we will assume that a feasible toll-free path always exixsts; as a
consequence the above constraint will be omitted in our formulations.
1.3.2 Complexity of the NPP
As demonstrated by Labbé et al. (1998) this problem in its general form is strongly
N P-Hard. However a linearization scheme illustrated in the same work leads to a mixed
integer programming formulation that involves a small number of binary variables. This
formulation can be solved using standard algorithms such as branch and bound that will
lead to an exact solution in reasonable time for small instances of the problem, or allows
for efficient heuristic procedures to be developed, as shown by Brotcorne et al. (2000
and 2001). Such algorithms lead to far better results on large network since they are
able to exploit the particular structure of the network in order to quicken the solving
procedure.
1.4 Linearization scheme for the NPP
The aim of the procedure that will briefly be illustrated in the present section (for a
more comprehensive description see Labbé et al. (1998)) is to obtain a single level linear
problem from the bilevel bilinear NPP. The process is carried on in two phases:
1. From bilevel to single level through the theory of Duality;
2. From bilinear to linear.
1.4.1 From bilevel NPP to single level NPP
Under the assumptions that strong duality holds for the second level problem, and
that there exists a toll-free path for each origin/destination pair (or, alternatively, that
there exists an upper bound to tariffs), it is possible to reduce the bilevel bilinear NPP
to a single level bilinear problem.
The process implies the replacement of the second level problem by its dual constraints
15. 1.4. LINEARIZATION SCHEME FOR THE NPP 15
(while mantaining the primal feasibility constraint) and its objective by the complemen-
tary slackness condition, that is, adding another constraint which imposes primal and
dual feasibility for the respective objectives.
Dual constraints: according to Equation 1.9 for each arc a ∈ A ∪ B and for each
commodity k ∈ K a non negative primal variable xk exists. Thus the dual problem will
a
have as many dual constraints associated with each arc and each commodity:
λk − λk ≤ ca + ta
i j ∀a = (i, j) ∈ A, ∀k ∈ K (1.11)
λk − λk ≤ da
i j ∀a = (i, j) ∈ B, ∀k ∈ K (1.12)
Where i and j are respectively the head and tail nodes for arc a ∈ A ∪ B.
Moreover, since the primal constraints of flow conservation are equalities, the correspond-
ing variables λk are free.
i
Primal-dual feasibility: the dual objective of the second level problem is:
max η k λkk −
d η k λkk
o (1.13)
k∈K k∈K
According to the strong duality theorem, if:
1. vector x is a feasible solution for the primal problem,
¯
¯
2. vector λ is a feasible solution for the dual problem,
3. the values of both the primal and the dual objective function coincide,
¯
then the vectors x and λ are optimal solutions for both of the problems.
¯
Thus we can substitute the second level objective with a constraint that imposes equality
between the values of the primal and the dual objective, which implies optimality:
Zprimal = Zdual (1.14)
that is:
(ca + ta ) · xk +
a da · xk = η k · λkk − λkk
a d o ∀k ∈ K (1.15)
a∈A a∈B
The resulting problem, equivalent to the NPP as described previously, is thus the
following:
16. 16 CHAPTER 1. THE NETWORK PRICING PROBLEM
max t a · xk
a (1.16)
t,x
k∈K a∈A
s.t. (ca + ta ) · xk +
a d a · xk =
a
a∈A a∈B
k
=η · λkk
d − λkk
o ∀k ∈ K (1.17)
xk −
a xk = bk
a i ∀k ∈ K, ∀i ∈ N (1.18)
a=i+ ∈A∪B a=i− ∈A∪B
λk − λk ≤ ca + ta
i j ∀a = (i, j) ∈ A, ∀k ∈ K (1.19)
λk
i − λk
j ≤ da ∀a = (i, j) ∈ B, ∀k ∈ K (1.20)
k
xa ≥0 ∀k ∈ K, ∀a ∈ A ∪ B (1.21)
ta ≥ 0 ∀a ∈ A (1.22)
λk
i free ∀i ∈ N , ∀k ∈ K (1.23)
1.4.2 From bilinear NPP to linear NPP
The problem obtained so far still contains bilinear terms in both the objective and
the complementary slackness constraint. What we want to obtain in this section is a
single level linear problem.
First of all it is necessary to introduce a binary variable and a slack variable to
transform the bilinear term ta · xk . The binary variable is used to re-define the integer
a
variable.
Since the second level problem is a flow assignment problem, each flow demand of
the commodities is distributed on the network by following the path of minimum cost. It
follows that the binary variable introduced for each arc a ∈ A∪B and for each commodity
k ∈ K is defined as follows:
k 1 if a ∈ A ∪ B belongs to the minimum cost path for commodity k ∈ K
ra =
0 otherwise
(1.24)
Thus resulting in:
xk = η k · ra
a
k
(1.25)
The following constraint for the new variable needs to be added to the problem:
k
ra ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (1.26)
Then, a slack variable is used to re-define the continuous variable. Since each com-
modity is associated with a single path (the one with minimum cost), the leader imposes
the fee on a tariffed arc a ∈ A only if this is used by at least one commodity, for which
that particular arc belongs to the path of minimum cost. Therefore, the slack variable
introduced for each arc a ∈ A and for each commodity k ∈ K is as follows:
17. 1.4. LINEARIZATION SCHEME FOR THE NPP 17
k
ta if ra = 1
pk =
a (1.27)
0 otherwise
The following constraints need to be added:
pk − ta ≤ 0
a ∀a ∈ A, ∀k ∈ K (1.28)
− pk + ta − M · (1 − ra ) ≤ 0
a
k
∀a ∈ A, ∀k ∈ K (1.29)
pk
a −N · k
ra ≤0 ∀a ∈ A, ∀k ∈ K (1.30)
where M e N are arbitrary big − M parameters.
Equation 1.28 forces the value of pk to zero if ta is zero. Equation 1.29 is a Big-M type
a
constraint. If ra is one, the constraint must be satisfied. In fact pk will be equal to ta
k
a
k
according to Equations 1.28 and 1.29. If ra is zero, the constraint is relaxed. Equation
1.30 denotes an upper bound for pk . If ra equals one, pk is less than Na . If ra is zero, pk
a
k
a
k
a
is zero too.
According to the transformation carried out, the formulation of the single level NPP
is as follows:
max η k · pk
a (1.31)
p
k∈K a∈A
k
s.t. ra − ra = ek
k
i ∀i ∈ N , ∀k ∈ K (1.32)
a=i− ∈A∪B a=i+ ∈A∪B
(ca · ra + pk ) +
k
a da · ra = λkk − λkk
k
d o ∀k ∈ K (1.33)
a∈A a∈B
k k
λi − λj ≤ ca + ta ∀a = (i, j) ∈ A, ∀k ∈ K (1.34)
λk − λk ≤ da
i j ∀a = (i, j) ∈ B, ∀k ∈ K (1.35)
k
pa − ta ≤ 0 ∀a ∈ A, ∀k ∈ K (1.36)
− pk + ta − M · (1 − ra )
a
k
≤0 ∀a ∈ A, ∀k ∈ K (1.37)
pk − N · ra ≤ 0
a
k
∀a ∈ A, ∀k ∈ K (1.38)
ta ≥ 0 ∀a ∈ A (1.39)
pk ≥ 0
a ∀a ∈ A, ∀k ∈ K (1.40)
k
ra ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (1.41)
λk
i free ∀i ∈ N, ∀k ∈ K (1.42)
where ek is the new demand vector, defined as follows:
i
−1 if i = ok
k
ei = 1 if i = dk ∀i ∈ N, ∀k ∈ K (1.43)
0 otherwise
19. Chapter 2
The Congested Network Pricing
Problem
In this section we will describe a variant to the Network Pricing Problem which takes
congestion levels into account. We will refer to this as the Congested Network Pricing
Prooblem (CNPP). The peculiarity of considering congestion lays in the fact that arc
costs are no longer considered as constants. Instead, they depend upon arc flows: they
get higher as flow levels approach the capacity of the links (which are fixed) and get lower
as flow is moved to other links. Congestion thus implies a mutual dependence between
arc costs and arc flows, and here lies the difficulty of the model. Our particular case
deals with a road transportation network, such as a highway system, so that the first
level problem remains a profit maximization problem and the second level problem will
be a Traffic Assignment Problem, which has been covered by a vast amount of literature
over the past decades. For a complete mathematical analysis of the Traffic Assignment
problem we refer to the omonymous work by Patriksson (1994) and for a more generic
introduction on optimization problems on transportation networks we refer to the work
by Sheffi (1985). No previous work covers the CNPP as presented here, however a sim-
ilar model, applied on a telecommunications network can be found in Julsain (1998).
Instead, issues related to congestion have been thoroughly investigated in the field of
Network Design Problems by Marcotte (1986).
2.1 Congestion
The generic definition of congestion on a network, either a physical transportation
network or a data telecommunication network states that such a condition occurs when
a link or node is carrying so much data that its quality of service deteriorates. This
can lead to various disadvantages for the users of the network, namely delay, increase
in transportation costs and can eventually lead, in worst case scenarios, to the complete
halt of the service. Network congestion is thus tightly related to the concept of network
capacity, that represents the maximum amount of units of flow that a link or a node of
19
20. 20 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
the network is able to sustain before congestion occurs (or before the system comes to a
halt because of it). In order to introduce congestion in the NPP we have to take all this
into consideration. The scenario to which we will refer is that of a road transportation
network (i.e. a highway system) where link costs will depend upon the amount of flow
on that specific link: as the amount of flow on that link increases, the cost will increase
as well in order to avoid congestion; thus the users will be induced into moving part
of the flow to another, now cheaper link; the cost of the previously loaded link will
consequently decrease proportionally with the flow that has been removed from it, and
so on. This deviation of flow and consequent fluctuation of link costs finally converge
to a configuration of balance, that is referred to as equilibrium. An equilibrium can be
referred to either the users (thus referred to as User Equilibrium) or to the network
(System Equilibrium) depending on the final configuration we want to obtain.
All of these concepts will be anayzed in detail in the present chapter in order to apply
what explained above to the NPP.
For the proper definitions of Equilibria on a trasnsportation network we will refer to
(Wardrop, 1952).
2.2 CNPP lower level: traffic assignment problem
In this section we will analyze the second level of the CNPP, that is, how the users of
the network (followers) spread across the arcs according to the supply (per-arc cost) and
the demand (necessity to travel form origin to destination). We will formulate assign-
ment assumptions in order to formulate the follwers’ problem as a Traffic Assignment
problem (see i.e. Sheffi (1985)).
According to transportation system theory, the system we are considering is mono-
modal and continuous (meaning that all users/vehicles belong to the same category),
and we assume that users travel with private individual vehicles. Demand is represented
by an origin-destination (O/D) matrix and the supply is defined by the transportation
network itself (nodes, links and assigned costs).
Interaction between demand and supply is simulated according to an appropriate as-
signment model, which must be coherent with the objectives, the given constraints and
possible simplification hypotheses.
Where not otherwise specified, notation is consistent with the one used in the previous
chapter for the NPP.
2.2.1 Assignment hypotheses
In order to build a model that is consistent with the structure of a traffic assignment
problem, we rely on the following hypotheses:
1. Cost-flow functions: we are considering congestion, so we define the congested
network, where the arc-cost vector depends upon the arc-flow vector (C = C(f )).
21. 2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM 21
2. Demand-offer interaction: since we are considering a congested network and
we are not taking into account any inter-period dynamics on the evolution of the
system, we will refer to a User Equilibrium assignment (UE); in this model we will
specifically consider the equilibrium configurations where demand, path and arc
flows are equal to their respective costs.
3. Path choice behavior: users choose their path preemptively and don’t modify
it while traveling.
4. Choice model: it is completely deterministic, because the perceived usefulness is
deterministic (not aleatory); all users choose a maximum usefulness path, that is
the one with the minimum cost.
5. Classes of users: although it is possible to divide users in classes according to
specific criteria, we are considering here as an only differentiation criterion the
O/D pair, thus determining a mono-class assignment for the users.
6. Demand characteristics: demand flows are constant in time, since they are not
dependent upon cost fluctuations due to congestion. Thus we are considering a
rigid demand.
Regarding transportation costs, we are considering the following hypotheses:
1. cost functions are separable with respect to the links, that is, the cost of a single
¯
arc is independent from the cost of other arcs (Ca (f ) = Ca (fa ), ∀a ∈ A).
2. non additive path costs will not be taken into consideration; specifically, we will
ignore all costs that cannot be obtained through a sum of single-arc costs over the
path.
2.2.2 Taking congestion into account: D.U.E. Assignment
Considering a congested network implies that there is not only dependence of arc
flows from arc costs (as in assignments to non-congested networks) but there is also
dependence of arc costs from arc flows (through the arc cost functions). This mutual
dependence of flows and arcs determines a final configuration of the system where flows
on paths are consistent with the cost of the paths themselves. This configuration is seen
as the state towards which the system evolves in conditions of recurring congestion, that
is, when congestion occurs in a systematic way for a sufficiently long period of analysis.
Given the above considerations and previously stated hypotheses, literature suggests that
we choose as a traffic assignment model a single-class, mono-modal and rigid demand
Deterministic User Equilibrium (D.U.E.).
A D.U.E. assignment is consistent with Wardrop’s first principle (Wardrop, 1952),
which states that “The journey times in all routes actually used are equal and less than
those which would be experienced by a single vehicle on any unused route” . In other
words, when an equilibrium is reached, no individual is able to reduce their costs by
22. 22 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
choosing an alternative route over the network. Thus, unlike other models such as De-
terministic Uncongested Networks (D.U.N.) or Deterministic Network Loading (D.N.L.)
models, D.U.E. models do not assign all the demand to the path of minimum cost for
each O/D pair, but distribute it on different paths to take into account the effect of
congestion at the equilibrium condition.
2.2.3 Another type of equilibrium: System Optimum
A possible alternative to a D.U.E. assignment is represented by a System Optimum
(S.O.) assignment, which is consistent with Wardrop’s second principle (Wardrop, 1952).
This states that which “At equilibrium the average journey time is minimum”. This
means that users must cooperate to the minimization of the total cost of the network.
This approach can be used, for example, to calibrate the instruments of control
available to the manager of the system because flows and costs at the system optimum are
consistent with the objectives to which the operator aims. However, the resulting choice
behavior is likely to be unrealistic because some users, just to reach the minimum cost of
the system, would not choose individual paths of minimum cost. Therefore, in general,
solutions of an S.O. assignment do not coincide with those of a D.U.E. assignment.
Thus this model, although providing a formulation and a resolution algorithm that
are similar to the D.U.E. and despite being able to provide good solutions when applied
to the road pricing problem, is not consistent to the objective of wanting to recreate a
sequential game between the parties where each seeks to achieve its purpose without any
mutual collaboration.
2.2.4 Cost functions
Cost functions express the cost of a path or arc based on the performance of the
network. Because network congestion is taken into account, the costs vary with the
flows on which they depend. Assuming separable functions and the absence of non-
additive path costs, each arc of the network has a cost that is a function only of the flow
on the arc itself.
According to (Wardrop, 1952), a generic arc cost function, separable and free of
non-additive costs, has the following formulation:
Ca (fa ) = β1 · tra (fa ) + β2 · twa (fa ) + β3 · mca (fa ) (2.1)
where tra is the travel time, twa is the waiting time, mca is the monetary cost, β1 ,
β2 , β3 are coefficients of homogenization.
Travel time on a directed arc of a highway network is obtained through the following
empirical relation:
β
fa
tra (fa ) = tr0a · 1 + α · (2.2)
qa
23. 2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM 23
where tr0a is the travel time in unconstrained conditions (i.e. optimal traffic and
weather conditions), qa is the capacity of an arc (calculated through appropriate analysis
tools provided by the technical literature(i.e. Transportation Research Board (2000)), α
e β are parameters that have to be calibrated.
The function defined by eq. 2.2 is not linear, continuous, strictly positive and strictly
increasing.
Waiting time can be attributed to the presence of barriers for the collection of tolls,
crossroads with traffic lights or parking areas. Since we are considering the case of a
highway network, there are no intersections and parking areas to generate waiting times,
therefore we neglect the related component of generalized cost.
Monetary cost, borne by the individual user who travels along the transportation
network, can be further decomposed into the sum of the monetary cost of the toll and
the monetary cost of fuel (depending on the level of congestion), that is:
mca (fa ) = mctoll + mcf uel (fa ) (2.3)
Since this would not cause any loss in generality for our model, here we neglect the
component of the cost due to fuel consumption. As a consequence, the monetary cost is
reduced to mca (fa ) = mctoll that from now on will simply be referred to as "arc tariff" ta .
Cost function is thus reduced to:
β
fa
Ca (fa ) = tr0a · 1 + α · + δ · ta (2.4)
qa
where δ is a binary parameter with value 1 if the arc has costs, 0 otherwise.
Note that the charge included in the cost function specified is considered independent
of the distance traveled and of the time evolution of the system (the so-called inter-and
intra-period dynamics).
2.2.5 Second level of the CNPP: flows assignment
Let G = (N , A ∪ B) be a transportation network comprising set N of the nodes and
the union A ∪ B of disjoint sets A and B (A ∩ B = ∅), where A is the set of the arcs
where the leader imposes a tariff and B is the set of the toll-free arcs. Let K be the set of
commodities, that in this case correspond to the O/D pairs. A set of O/D pairs is thus
defined, (ok , dk ) : k ∈ K and each (ok , dk ) pair has a constant demand flow η k , that is
the number of users for the commodity k ∈ K. Let x and t be the flow and tariffs vector
respectively. We denote by xk the flow on arc a ∈ A ∪ B for the commodity (O/D pair)
a
k ∈ K; thus the flow on an arc is given by xa = k∈K xk . We denote by Ca (xa ) the arc
a
cost function specified as follows:
β
xa
Ca (xa ) = tr0a · 1 + α · ∀a ∈ A ∪ B (2.5)
qa
24. 24 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
where:
xa = xk
a ∀a ∈ A ∪ B (2.6)
k∈K
Note that for every arc a ∈ A we will also have to consider the tariff ta ; such tariff is
added to the cost Ca as shown by eq.2.4.
Moreover, let bk be the demand vector associated with each commodity k ∈ K, whose
components (one for each node i ∈ N ) are:
−η k if i = ok
k
bi = ηk if i = dk ∀i ∈ N , ∀k ∈ K (2.7)
0 otherwise
The arc formulation of the deterministic equilibrium assignment problem as an opti-
mization model is as follows:
xa xa
min (Ca (ωa ) + ta )dωa + Ca (ωa )dωa (2.8)
x
a∈A 0 a∈B 0
s.t. xk +
a xk −
a xk −
a xk = bk
a i ∀i ∈ N , ∀k ∈ K (2.9)
a∈i− ∩A a∈i− ∩B a∈i+ ∩A a∈i+ ∩B
k
xa ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.10)
where i− ∈ N and i+ ∈ N are respectively the entering and exiting arcs for node
i ∈ N.
Equation 2.8 expresses the objective function of the problem, which is nonlinear
because of the cost function adopted. Equation 2.9 imposes a number of linear constraints
which is equal to the number of network nodes in order to express conservation of flows
at the nodes. Finally, equation 2.10 imposes the non-negativity of the arc flow variables
for each commodity.
The problem above is known as minimum cost multi-commodity flow convex prob-
lem ((LeBlanc et al., 1975)) or Traffic Assignment problem (Petersen (1975), Patriksson
(1994)). In literature there are several variations to the basic problem presented here.
Daganzo (1977a,b) proposes the introduction of capacity constraints on arc flow variables
and linearization of the cost function from a non-zero value of the flow below the limit
of capacity. However, it is believed that such changes are unnecessary here, given that
the cost function grows more than proportionally with the increase of the flow/capacity
ratio, thus already conditioning in an effective and appropriate way the distribution of
flows on the network. In addition, changes should be made to the solution algorithm and
to the convergence conditions that would make too complex and uncertain the definition
of the problem (see also Hearn and Ribera, 1981).
A stochastic variant of this problem, based on the concept of Stochastic User Equilib-
rium (S.U.E.) was also investigated thoroughly in literature (see Sheffi (1985) for the
25. 2.3. FIRST LEVEL OF THE CNPP: LEADER PROFITS 25
theoretical bases and Polyak (1990) and Damberg et al. (1996) for resolution algorithms).
2.3 First level of the CNPP: leader profits
In this section the first level of the CNPP is considered, that is, how the leader
maximizes his or her profit by imposing fees on the tariffed arcs and dependently on the
distribution of the followers on the network at the equilibrium.
For the original problem the objective function for the first level of the problem (the
leader’s problem) is the following:
max xk · t a
a (2.11)
t,x
k∈K a∈A∪B
As said before, it is a non-linear objective function, since it contains a bilinear term.
In addition, the following constraint will apply:
ta ≥ 0 ∀a ∈ A (2.12)
Equation 2.12 being imposed by the non negativity of the cost functions stated in
sec.2.2.4.
The resulting bilevel problem is thus the following:
max xk · ta
a (2.13)
t,x
k∈K a∈A∪B
xa xa
min (Ca (ωa ) + ta )dωa + Ca (ωa )dωa (2.14)
x
a∈A 0 a∈B 0
xk
a − xk
a = bk
i ∀i ∈ N , ∀k ∈ K (2.15)
a=i− ∈A∪B a=i+ ∈A∪B
xk ≥ 0
a ∀a ∈ A ∪ B, ∀k ∈ K (2.16)
ta ≥ 0 ∀a ∈ A (2.17)
(2.18)
With cost/flow interdependence as expressed by equation 2.5 and demand vector bk
defined by equation 2.7.
2.4 Reformulating the CNPP
The aim of the present section is to apply a simplification scheme to the CNPP, in
order to obtain a formulation that is easier to handle. The process is carried out in two
phases:
26. 26 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
1. From bilevel to single level through Lagrangian Duality;
2. From bilinear to mixed-integer non-linear.
2.4.1 From bilevel CNPP to single level CNPP
Symmetrically to the procedure that was carried on for the linear NPP, in this phase
the second level problem will be replaced by its KKT conditions. This is a legitimate
operation, assuming that objective and constraints are ∈ C 1 and have the characteristics
described below (see Sheffi (1985) and Bertsekas (1995)). Be such the case, a vector x
that satifies the KKT conditions, is known to be optimal for the considered problem.
Given a generical convex program:
min f (x) (2.19)
s.t. h(x) = 0 (2.20)
g(x) ≥ 0 (2.21)
where f (x) and h(x) are convex and g(x) are linear.
Its Lagrangian is defined as:
L(x, λ, µ) = f (x) + λT h(x) − µT g(x) (2.22)
At a minimum point, x, we have L(x, λ, µ) = 0 which implies that the following with
respect to the partial derivatives:
xL : f (x) + λT h(x) − µT g(x) = 0 (2.23)
λL : h(x) = 0 (2.24)
µL : g(x) ≥ 0 (2.25)
Plus the following complementarity condition must hold:
µT g(x) = 0 (2.26)
In the typical instance of a Traffic Assignment problem, which is our second level prob-
lem, the corresponding constraints are the following:
h(x) = 0 ⇒ xk −
a xk − bk = 0
a i ∀i ∈ N , ∀k ∈ K (2.27)
a=i− ∈A∪B a=i+ ∈A∪B
g(x) ≥ 0 ⇒ xk ≥ 0
a ∀a ∈ A ∪ B, ∀k ∈ K (2.28)
27. 2.4. REFORMULATING THE CNPP 27
Consequently, the partials derivatives are:
xL : Ca (xa ) + ta + λk − λk − µk = 0
i j a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.29)
λL : xk −
a xk − bk = 0
a i ∀i ∈ N , ∀k ∈ K (2.30)
a=i− ∈A∪B a=i+ ∈A∪B
µL : xk ≥ 0
a ∀a ∈ A ∪ B, ∀k ∈ K (2.31)
(2.32)
The complementarity condition will be: µT xk = 0.
a a
Equations 2.23 and 2.26 are the Karush Kuhn Tucker Conditions (KKT ) for our second
level problem.
By substituting the problem with its KKT conditions, we obtain the following reformu-
lation for the CNPP:
max ta · xk
a (2.33)
t,x
a,k
s.t. xk −
a xk = bk
a i ∀i ∈ N , ∀k ∈ K (2.34)
a=i− ∈A∪B a=i+ ∈A∪B
Ca (xa ) + ta + λ i − λ k − µk =
k
j a 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.35)
µ k · xk = 0
a a ∀a ∈ A ∪ B, ∀k ∈ K (2.36)
xk
a ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (2.37)
µk
a ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (2.38)
λk
i free ∀i ∈ N , ∀k ∈ K (2.39)
where Ca (xa ) is the derivative of the cost function expressed by eq.2.5
2.4.2 From bilinear CNPP to Mixed Integer non-linear CNPP
The problem obtained so far still contains bilinear terms in both the objective and
the complementary constraint. What we want to obtain in this section is a single level
non-linear problem with a mixed-integer formulation.
Simplification of the objective (ta · xk term)
a
In the present section we will substitute the ta · xk term in the objective with terms
a
derived from the equality constraints of the problem in order to obtain an equivalent
formulation that will be non-linear in only one variable.
28. 28 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
From the first KKT condition (eq. 2.35) we have that:
µk = Ca (xa ) + ta + λk − λk
a i j ∀a = (i, j) ∈ A, ∀k ∈ K (2.40)
µk = Ca (xa ) + λk − λk
a i j ∀a = (i, j) ∈ B, ∀k ∈ K (2.41)
Thus the second KKT condition (eq. 2.36) can be formulated as:
(Ca (xk ) + ta + λk − λk ) · xk = 0
a i j a ∀a = (i, j) ∈ A, ∀k ∈ K (2.42)
(Ca (xk ) + λk − λk ) · xk = 0
a i j a ∀a = (i, j) ∈ B, ∀k ∈ K (2.43)
by substituting µk with eq. 2.40 and eq. 2.41. These are equal to:
a
Ca (xk ) · xk + ta · xk + (λk − λk ) · xk = 0
a a a i j a ∀a = (i, j) ∈ A, ∀k ∈ K (2.44)
Ca (xk )
a · xk
a + (λk
i − λk )
j · xk
a =0 ∀a = (i, j) ∈ B, ∀k ∈ K (2.45)
From 2.44 we thus obtain:
ta · xk = −Ca (xk ) · xk + (λk − λk ) · xk
a a a j i a ∀a = (i, j) ∈ A, ∀k ∈ K (2.46)
So the objective (eq.) becomes:
max −(Ca (xk ) · xk + (λk − λk ) · xk )
a a j i a (2.47)
λ,x
a∈A k∈K
Note that the following equality holds:
(λk − λk ) · xk =
j i a λk · (
i xk −
a xk )
a (2.48)
a∈A k∈K k∈K i∈N a=i− ∈A a=i+ ∈A
Which is even more evident if we express it in the equivalent matrix-vector formulation:
k k )i∈N λk · (Ai,a · xk ).
a∈A k∈K i∈N xa · (Ai,a · λi ) = a∈A k∈K i a
The flow conservation constraint (eq. 2.34) states that:
xk −
a xk +
a xk −
a xk = bk
a i ∀i ∈ N , ∀k ∈ K (2.49)
a=i− ∈A a=i+ ∈A a=i− ∈B a=i+ ∈B
Thus we have:
xk −
a xk = bk −
a i xk +
a xk
a ∀i ∈ N , ∀k ∈ K (2.50)
a=i− ∈A a=i+ ∈A a=i− ∈B a=i+ ∈B
Following from eq.2.48 and 2.50:
29. 2.4. REFORMULATING THE CNPP 29
λk · (
i xk −
a xk ) =
a (2.51)
k∈K i∈N a=i− ∈A a=i+ ∈A
λk · bk −
i i λk · (
i xk +
a xk ) ∀i ∈ N , ∀k ∈ K
a (2.52)
k∈K i∈N k∈K i∈N a=i− ∈B a=i+ ∈B
Eq.2.45 states that:
Ca (xk ) · xk = (λk − λk ) · xk
a a j i a ∀a = (i, j) ∈ B, ∀k ∈ K (2.53)
k k k
We can thus substitute the a∈A k∈K (λj −λi )·xa term in the objective, that becomes:
max λk · bk −
i i Ca (xk ) · xk −
a a Ca (xk ) · xk
a a (2.54)
λ,x
k∈K i∈N a∈A b∈B
Linearization of the µk · xk term
a a
The problem obtained so far still contains the nonlinear constraint µk ·xk = 0 deriving
a a
from the complementarity slackness condition. However, this term can be linearized
through a relaxation, in the following way:
k
First of all, it is necessary to introduce a binary variable za , defined as:
k 1 if µk = 0
a
za = (2.55)
0 if µk = 0
a
Since we don’t really need to know the exact value of µk but only have to impose that
a
it will be zero if xk = 0 and vice versa, we can write the KKT conditions as:
a
Ca (xa ) + ta + λk − λk ≤ M · za
i j
k
∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.56)
xk
a ≤ M · (1 − k
za ) ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.57)
Where M is an arbitrary Big-M constant. However, for the problem not to be unbounded
the following must also hold:
Ca (xa ) + ta + λk − λk ≥ 0
i j ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.58)
xk ≥ 0
a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.59)
Thus the final reformulation for the CNPP will be:
30. 30 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
max ( λk · bk −
i i Ca (xa ) · xk −
a Ca (xa ) · xk )
a (2.60)
λ,x
k∈K i∈N a∈A b∈B
s.t. xk
a − xk
a = bk
i ∀i ∈ N , ∀k ∈ K
a=i− ∈A∪B a=i+ ∈A∪B
(2.61)
Ca (xa ) + ta + λk
i − λk
j ≤M· k
za ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
(2.62)
Ca (xa ) + ta + λk − λk ≥ 0
i j ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
(2.63)
xk ≤ M · (1 − za )
a
k
∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
(2.64)
xk ≥ 0
a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
(2.65)
k
za ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K
(2.66)
ta ≥ 0 ∀a ∈ A, ∀k ∈ K
(2.67)
λk
i free ∀i ∈ N , ∀k ∈ K
(2.68)
2.4.3 Complexity of the CNPP
The complexity of the CNPP, as formulated above, depends heavily on the choice for
the cost function. For the particular cost function that was illustrated in section 2.2.4,
this complexity relies on the choice for the positive integer parameters α and β. We can
distinguish three situations that can occurr and that are of some interest:
1. α = 0
β
fa
In this case the congestion-dependent term α · qa equals zero, and the CNPP
instance becomes a standard NPP one.
In fact, while the constraints and leader objective face no change, the follower’s
objective becomes:
31. 2.4. REFORMULATING THE CNPP 31
xa
min (Ca (ωa ) + ta )dωa = (2.69)
x 0
a∈A∪B
xa
= min (tr0a + ta )dωa = (2.70)
x 0
a∈A∪B
= min (tr0a + ta ) · xa (2.71)
x
a∈A∪B
Thus resulting in a formulation that is identical to the one illustrated in the pre-
vious chapter for the uncongested NPP.
The case β = 0 is similar and does not offer any interesting particolarity.
2. α > 0 and β = 1
In this case the CNPP instance described above represents a quadratic problem
(note that the constraints are all linear). Its complexity is superior to the uncon-
gested NPP, but many efficient resolutive algorithms exist for this class of problems.
3. α > 0 and β > 1
In this case the CNPP instance is non linear and we can expect it to be much harder
to solve than the uncongested NPP. Several solving approaches could be possible,
from penalizing the nonlinear constraint in the objective (thus obtaining a convex
polyhedron as feasible region) to heuristic procedures that use local approximations
of the nonlinear term to generate a succession af approximating subproblems, and
so on. Two procedures of this last type will be presented in the next chapter.
32. 32 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
33. Chapter 3
Solving the CNPP
3.1 The Conditional Gradient method
(Frank-Wolfe Algorithm)
Although the bilevel formulation for the CNPP presented in the previous chapter
has not been studied so far, the User Equilibriun problem which constitutes the second
level of our problem (that is, the followers’ problem) is well known and has been studied
thoroughly in the past decades, with many resolutive algorithms developed so far. Thw
most widely known is probably the Frank-Wolfe algorithm (Frank and Wolfe (1956)),
also known as Conditional Gradient method (Bertsekas (1995)). This algorithm solves a
sequence of linear problems that approximate the original non linear one, and generates
a sequence of admissible flow vectors from the solutions of the approximating instances.
Asymptotically, this sequence will converge to the optimum solution. The fact that
it uses a linear approximation of what is here the second level part makes the F-W
algorithm particularly interesting for the resolution of the bilevel problem.
3.1.1 Applying Frank-Wolfe to the D.U.E. assignment problem
In the present section, we will briefly illustrate how the Frank-Wolfe algorithm can
be applied to a D.U.E. resolution.
The algorithm solves a sequence of linear problems that approximate the original
problem and then generates a sequence of admissible flows arc vectors x(j) from a feasi-
¯
ble solution of the original problem x(0) ∈ Sx , where Sx is the set of admissible flows arcs.
¯
The solution of the linear subproblems identifies, with respect to the current solution
x(j−1) , a direction along which to minimize the objective function in order to determine
¯
the new point x(j) .
¯
Using the Taylor expansion stopped at the first term, the objective function z(¯) can
x
be approximated in a point y ∈ Sx by a linear function zl (¯):
¯ x
z(¯) ∼ zl (¯) = z(¯) +
x = x y z(¯)T (¯ − y )
y x ¯ (3.1)
33
34. 34 CHAPTER 3. SOLVING THE CNPP
Therefore, the optimization problem with nonlinear objective function z(¯) and lin-
x
ear constraints can be approximated by a succession of problems with linear objective
function zl (¯) and linear constraints for every point y ∈ Sx . In fact we have:
x ¯
argmin z(¯) ∼ argmin zl (¯) = argmin z(¯) +
x = x y z(¯)T (¯ − y ) = argmin
y x ¯ z(¯)T x (3.2)
y ¯
Since in one point y the gradient of the objective function
¯ z(¯) equals the arc cost
x
vector calculated in the same point, z(¯) = c(¯), we obtain:
y ¯y
argmin z(¯) ∼ argmin c(¯)T x
x = y ¯ (3.3)
The objective function described above, paired with the non-negativity and flow
conservation constraints of the Traffic Assignment Problem (eq. 2.9 and 2.10) denote an
optimization problem that corresponds to the model of D.U.N / D.N.L, the minimum
cost - multi-commodity flow linear problem. This problem can be solved through the well-
known Dijkstra’s algorithm (henceforth referred as All-or-nothing assignment (AON)).
It follows that through the application of Frank-Wolfe algorithm it is possible to
reduce a problem of D.U.E. assignment (convex) to a sequence of approximating D.U.N.
assignment subproblems (linear), thus ignoring locally the cost-flow inter-dependence
due to congestion.
The j-th subproblem, with j = 1, . . . , m, where m is the number of the subproblems
in the succession, can be formulated as follows:
(j) (j)
min Ca (x(j−1) ) · xa,AON +
(j)
a Ca (x(j−1) ) · xa,AON
(j)
a (3.4)
x
a∈A a∈B
k,(j) k,(j)
s.t. xa,AON − xa,AON = bk
i ∀i ∈ N , ∀k ∈ K
a=i− ∈A∪B a=i+ ∈A∪B
(3.5)
k,(j)
xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K
(3.6)
(j−1)
where xa is the flow on arc a ∈ A ∪ B of the (j − 1)-th problem, specified as
follows:
x(j−1) =
a xk,(j−1)
a (3.7)
k∈K
(j) k,(j)
xa,AON = xa,AON (3.8)
k∈K
(j) (j−1)
Ca (xa ) is the cost of arc a ∈ A ∪ B calculated through the specified cost function
(j−1)
from the arc flow xa :
35. 3.1. THE CONDITIONAL GRADIENT METHOD(FRANK-WOLFE ALGORITHM)35
(j−1) β
(j) (j−1) xa
Ca (xa ) = tr0a · 1 + α · ∀a ∈ A ∪ B (3.9)
qa
(j)
xa,AON is the flow on arc a ∈ A ∪ B, solution of the j-th problem obtained through
the A.O.N. resolution algorithm.
(j−1)
Note that xa arc flows of the (j − 1)-th problem are constant (since they are the
(j) (j−1)
solution of this problem) and consequently Ca (xa ) arc costs are constant for the j-th
(j)
problem. It follows that xa,AON arc flows are the only variables in the j-th problem, thus
resulting in a linear objective function for the j-th problem.
3.1.2 F-W algorithm steps
The steps of the Frank-Wolfe algorithm applied to D.U.E. assignment are the follow-
ing:
Initialization An admissible starting solution is found x(0) ∈ Sx (see §3.4.1) and a
¯
threshold is chosen for the stopping criterion (see §3.1.3).
j-th iteration Given the flow vector x(j−1) , solution of the problem at the (j − 1)-th
¯
iteration:
¯ ¯x
1. The cost vector is determined in function of the flow vector, as C (j) = C(¯(j−1) ),
through equation 2.5.
2. The approximating linear problem denoted by Equations 3.4, 3.5, 3.6 is solved
through the All-or-nothing algorithm, since arc costs (denoted as arc labels)
are constant for the j-th iteration. Thus the flow vector for the non congested
(j)
network is obtained: xAON .
¯
3. The descent step is executed in order to determine the final solution for the
j-th iteration. It consists in the following one-dimensional non-linear research
problem:
(j)
µ(j) ∈ argminµ∈[0,1] ψ(µ) = z x(j−1) + µ · (¯AON − x(j−1) )
¯ x ¯ (3.10)
where µ is a scalar variable. The problem can be solved through the bisection
algorithm or any other one-dimensional minimization procedure.
4. Vector x(j) is found as a solution for the j-th iteration. It is a convex combi-
¯
(j)
nation of the previous j All-or-nothing assignment xAON :
¯
(j)
x(j) = x(j−1) + µ(j) · (¯AON − x(j−1) )
¯ ¯ x ¯ (3.11)
Stopping criterion The stopping test is executed against a threshold (see §3.1.3). If
the test fails, a new iteration is executed with vector x(j) as the starting solution;
¯
otherwise the algorithm is stopped and x ¯ (j) is the deterministic flows vector.
36. 36 CHAPTER 3. SOLVING THE CNPP
3.1.3 Stopping criterion
As mentioned in Chapter 3.1.2, at the end of each iteration a stopping test is run;
when it is verified the sequence of approximating subproblems is stopped and the vectors
¯
x(j) and t(j) of the j-th subproblem are the optimal solutions of the CNPP problem.
¯
In order for x(j) to be a local minumum (in our case a global minimum since the
¯
objective function is convex) it has to be a stationary point for z(x). This means that
the following condition must hold:
(j)
z(¯(j) )T (¯AON − x(j) ) ≥ 0
x x ¯ (3.12)
However, from a practical point of view, such a termination criterion may not be
so valuable. The conditional gradient algorithm in fact is known for slowing down the
convergence rate significantly as it approaches the optimal solutiol. Moreover, in most
applications, an approximated solution that is close enough to the optimum is more
than sufficient, especially if we can obtain it more quickly, through a lower number of
iterations. Given the considerations above, we are more eager to use a threshold-based
stopping criterion, so that the algorithm will stop once a given threshold is reached.
From the convexity of the objective function we can obtain upper and lower bound
inequalities from which we will derive such a criterion.
We know z(x) to be convex only if the following holds:
z(y) ≥ z(x) + z(x)T (y − x) (3.13)
We therefore have that:
(j) (j)
zl (¯AON ) = z(¯(j) ) +
x x z(¯(j) )T (¯AON − x(j) )
x x ¯ (3.14)
(j) (j) T (j) (j)
≤ z(¯
x )+ z(¯
x ) (¯∗
x −x
¯ ) (3.15)
(j)
≤ z(¯∗ )
x (3.16)
where the equality follows from the definition of the optimal solution to the LP
(j)
problem, the first inequality by the fact that xAON solves this LP problem but not
¯
(j)
necessarily x∗ , and the second inequality from the convexity of z. So, we have that at
¯
every iteration j,
(j) (j)
zl (¯AON ) ≤ z(¯∗ ) ≤ z(¯(j) )
x x x (3.17)
where the last inequality holds because x(j) is a feasible solution. In the condi-
¯
tional gradient algorithm the value of z descends after each iteration, thus the se-
(j)
quence of {z(¯(j) )} strictly monotonically decreases towards z(¯∗ ), while the sequence
x x
(j) (j)
of {zl (¯AON )} approaches z(¯∗ ) from below, though not necessarily monotonically. We
x x
(j)
therefore always have an interval, [zl (¯AON ), z(¯(j) )], which contains the optimal objec-
x x
tive value. From this we can derive a threshold-based criterion of the type: let be a
chosen value for an acceptable relative objective error, then the stopping condition for
the j-th iteration is as follows:
37. 3.2. CONVERGENCE CONDITIONS 37
(j)
|z(¯(j) ) − zl (¯AON )|
x x
(j)
< (3.18)
|zl (¯AON )|
x
3.2 Convergence conditions
In order for the Frank-Wolfe algorithm to converge to a vector of optimal solutions
after a certain number of iterations, it is necessary that certain conditions for convergence
are met.
Since in the present work the algorithm is used for a User Equilibrium allocation, we
refer to LeBlanc et al. (1975). In the article it is recommended that the specified cost
function meets the following requirements:
1. continuous and differentiable at least once at all points,
2. non-negative,
3. non-decreasing.
As can be easily verified, the cost function used in the present work (eq. 3.9) meets
all three requirements, in particular, is strictly positive and strictly increasing.
Typically, the Frank-Wolfe algorithm is adopted to find an equilibrium point on
congested networks in which all arcs are priced (so that the tariff component is added in
the function of generalized cost) or where there are no tariffs. In literature (Yang et al.
(2004)) there is an example of application to a mixed network with tariffed and non-
tariffed arcs, including a bilevel programming approach. However no account is taken of
the congestion and still the objective function of the optimization model is nonlinear, as
demand is elastic; moreover, there are also non-additive costs and cost functions are not
separable. The Frank-Wolfe algorithm is adapted successfully to the case examined, as
the only additional condition states that it must be convex programming.
Further necessary conditions for the convergence of Frank-Wolfe algorithm applied
to this case could not be found in literature.
3.3 Accelerating convergence
As it is known from numerous examples in literature, the time required for con-
vergence of the Frank-Wolfe algorithm with D.U.E. allocation can vary considerably
depending on the size and complexity of the network, on the descending step and on the
threshold for the stopping test. As the number of iterations grow, the algorithm tends
to zigzag increasingly.
While the algorithm has the historical advantage of a low memory usage (useful for
computers especially a few decades ago), on the other hand, the computational effort
tends to increase as you get closer to the optimal solution, thus making the resolution
38. 38 CHAPTER 3. SOLVING THE CNPP
in real time more critical . This can be partly overcome by setting a less restrictive
threshold although this implies to sacrifice final accuracy.
Leaving aside the particular structure of the modeled network to more specific cases
than those of this discussion, it is possible to accelerate the convergence of the algorithm
by choosing an appropriate technique for the descending step.
The µ(j) parameter introduced in subsection 3.1.2 was first used in LeBlanc et al.
(1975); for each j-th iteration this parameter is determined through a one-dimensional
linear research, by solving a problem determined by Equation 3.10.
There are some alternatives in literature to the descending step described above, in
order to accelerate the convergence of the original Frank-Wolfe algorithm. In particular,
a variant of the of the parallel tangent method (PARTAN) LeBlanc et al. (1985) can be
used, where two one-dimensional minimizations are made for each iteration. In an ar-
ticle Lupi (1986) introduces another modification to the descending step that, although
providing a convergence rate of the same order of the PARTAN, requires only one one-
dimensional minimization. Variants proposed by Fukushima (1984) and Weintraub et al.
(1985) are also interesting. Please refer to the cited articles cited for a comparison of
different methods based on numerical examples.
The Frank-Wolfe algorithm for D.U.E. assignments has some resemblance with the
Method of Successive Averages (M.S.A.) algorithm for S.U.E. allocations (Stochastic User
Equilibrium) for stochastic equilibrium, except for the cost functions used (that include
random components), the algorithm for solving approximating subproblems approxi-
mants (Dial algorithm for stochastic assignments on non congested networks (S.N.L))
and the descending step. Regarding the latter, a simple µ(j) = 1 is used, where j is the
j
index of the iteration. By adopting this simple solution at the expense of mathematical
sophistication, the zigzag behavior is eliminated but the optimal solution we want the
algorithm to converge to may be missed.
Again, there are alternatives in literature to the 1 descending step for the M.S.A
j
algorithm for S.U.E. allocation; for example Polyak (1990) suggests a µ(j) = j −β de-
scending step, where 0 < β < 1.
39. 3.4. TWO-STEPS ALGORITHM 39
3.4 Two-steps algorithm
The procedure described in the present section is a Gauss-Seidel-decomposition-type
algorithm. It solves the problem described by eq. 2.13 - 2.17 by iteratively solving first
the followers’ problem (through Frank-Wolfe) with respect to arc flows x(j) and then
¯
the leader’s problem with respect to the tariff vector t(j) . It is probably the most ob-
vious and immediate way to approach a resolution for our problem. It is also the only
bilevel/congestion solution approach for which some reference exists in literature. A
similar algorithm was indeed used by Julsain (1998) to find an equilibrium point on a
congested telecommunication network.
The basic steps of the algorithm are the following:
Initialization An admissible starting solution is found x(0) ∈ Sx (see §3.4.1) and a
¯
threshold is chosen for the stopping criterion (see §3.1.3).
j-th iteration Given the flow vector x(j−1) and the tariff vector t(j−1) , solution of the
¯
problem at the (j − 1)-th iteration:
1. The cost vector is determined in function of the flow vector and the tariff
(j)
vector, as Ca , through:
(j−1) β
(j) xa
Ca = tr0a · 1 + α · if a ∈ A ∪ B (3.19)
qa
(j−1) k,(j−1)
where xa = k∈K xa .
2. The linear approximation for the second level problem is solved through the
All-or-nothing algorithm, since arc costs (and tariffs) are constant for the j-th
iteration.
(j) (j)
min (Ca + t(j−1) ) · xa,AON +
(j)
a
(j)
Ca · xa,AON (3.20)
x
a∈A a∈B
k,(j) k,(j)
s.t. xa,AON − xa,AON = bk
i ∀i ∈ N , ∀k ∈ K
a=i− ∈A∪B a=i+ ∈A∪B
(3.21)
k,(j)
xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K
(3.22)
(j)
Thus the flow vector for the non congested network is obtained: xAON .
¯