approximate algorithms for the network pricing problem with congestion - ms thesis

87
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: Chiar.mo Prof. Lorenzo Castelli Laureanda: Desirée Rigonat Sessione Estiva Anno Accademico 2011 - 2012

Upload: desiree-rigonat

Post on 26-Jun-2015

1.060 views

Category:

Technology


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Università degli Studi di Trieste

FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALICorso di Laurea Magistrale in Informatica

Curriculum Ingegneria Informatica

Approximate algorithmsfor the

Network Pricing Problem with Congestion

Tesi di Laurea inRicerca Operativa

Relatore:Chiar.mo Prof.Lorenzo Castelli

Laureanda:Desirée Rigonat

Sessione EstivaAnno Accademico 2011 - 2012

Page 2: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Page 3: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Ringraziamenti

E così abbiamo finalmente raggiunto questo nuovo traguardo.Sarei egoista se parlassi al singolare, il merito di questo risultato è di tante, tante persone, chein mille modi mi hanno aiutata, sostenuta, incoraggiata durante questi tre anni.

Un sentito ringraziamento va prima di tutto al mio relatore, Professor Lorenzo Castelli peravermi dato l’opportunità di svolgere questo lavoro e per la pazienza, l’aiuto e il sostegno con cuimi ha seguita durante quest’ultimo anno e per avermi proposto il periodo di studi all’estero, chemi 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, siamorale 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 ricordatoquando era ora di staccare e andare a dormire, Oscar per aver sostituito efficacemente la svegliae 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 esono importanti per me: è bello sapere che, non importa in quale angolo di mondo ci si trovi, acasa ci sono delle persone su cui puoi sempre contare. Non mi basterebbe davvero il tempo percitare ognuno, ma sappiate che vi ho pensati tutti. Qualche eccezione però è doverosa e quindiringrazio Marta: sei la migliore amica che si possa avere, grazie per le lunghe chiacchierate eper condividere con me momenti di follia, di regressione infantile (Pasqua e Natale, tu sai cosaintendo!) 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 volteche mi hai ascoltata, per le chiacchierate senza fine, per tutti gli hobby che abbiamo condiviso eper 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 davveroaperto un mondo, mi ha fatto imparare un sacco di cose e mi ha fatto crescere tantissimo. Sietegrandissimi!

Infine, un grazie speciale a Matteo, che più di tutti mi ha aiutata a credere in me stessa e atrovare 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)! Vorreiringraziarti per tante tante altre cose, ma quella a cui tengo di più è ringraziarti semplicementedi esserci, perchè mi rendi una persona migliore.Grazie anche alla tua stupenda famiglia: Laura, Danilo, Chiara, John e George, grazie per tuttii 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!

Page 4: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Page 5: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Acknowledgements

The present thesis is the result of a research carried on from September 2011 toAugust 2012; part of this work has been developed at the Graphes et OptimisationMathématique (G.O.M.) group of the Université Libre de Bruxelles, under the supervi-sion of Professor Martine Labbé; further development and experimentation have beencarried on at the Laboratorio di Ricerca Operativa of the Università degli studi di Triestewith Professor Lorenzo Castelli as supervisor.

Page 6: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Page 7: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Contents

1 The Network Pricing Problem 111.1 Bilevel programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111.2 The Network Pricing Problem (NPP) . . . . . . . . . . . . . . . . . . . . . 121.3 The bilevel formulation of the NPP . . . . . . . . . . . . . . . . . . . . . . 12

1.3.1 The Tmax upper bound . . . . . . . . . . . . . . . . . . . . . . . . 131.3.2 Complexity of the NPP . . . . . . . . . . . . . . . . . . . . . . . . 14

1.4 Linearization scheme for the NPP . . . . . . . . . . . . . . . . . . . . . . . 141.4.1 From bilevel NPP to single level NPP . . . . . . . . . . . . . . . . 141.4.2 From bilinear NPP to linear NPP . . . . . . . . . . . . . . . . . . . 16

2 The Congested Network Pricing Problem 192.1 Congestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.2 CNPP lower level: traffic assignment problem . . . . . . . . . . . . . . . . 20

2.2.1 Assignment hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.2 Taking congestion into account: D.U.E. Assignment . . . . . . . . 212.2.3 Another type of equilibrium: System Optimum . . . . . . . . . . . 222.2.4 Cost functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.2.5 Second level of the CNPP: flows assignment . . . . . . . . . . . . . 23

2.3 First level of the CNPP: leader profits . . . . . . . . . . . . . . . . . . . . 252.4 Reformulating the CNPP . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.4.1 From bilevel CNPP to single level CNPP . . . . . . . . . . . . . . 262.4.2 From bilinear CNPP to Mixed Integer non-linear CNPP . . . . . . 272.4.3 Complexity of the CNPP . . . . . . . . . . . . . . . . . . . . . . . 30

3 Solving the CNPP 333.1 The Conditional Gradient method

(Frank-Wolfe Algorithm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.1 Applying Frank-Wolfe to the D.U.E. assignment problem . . . . . 333.1.2 F-W algorithm steps . . . . . . . . . . . . . . . . . . . . . . . . . . 353.1.3 Stopping criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2 Convergence conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.3 Accelerating convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.4 Two-steps algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

7

Page 8: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.4.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.4.2 Algorithm improvements . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5 One step algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.5.1 One-level CNPP through the duality theory . . . . . . . . . . . . . 463.5.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.5.3 Algorithm steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523.5.4 Big M parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4 Implementation 554.1 Program structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554.2 Data format: input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564.3 Data format: inner representation . . . . . . . . . . . . . . . . . . . . . . . 584.4 Interaction with the Xpress solver . . . . . . . . . . . . . . . . . . . . . . . 594.5 Data output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614.6 Network generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5 Tests and results 655.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.2 Statistics: average resolution time . . . . . . . . . . . . . . . . . . . . . . . 665.3 Solution quality: equal solutions . . . . . . . . . . . . . . . . . . . . . . . 735.4 Solution quality: different solutions . . . . . . . . . . . . . . . . . . . . . . 745.5 Stopping criterion precision . . . . . . . . . . . . . . . . . . . . . . . . . . 755.6 Final considerations and further development . . . . . . . . . . . . . . . . 77

A Input file example 79

B Programs usage 83

Page 9: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

9

Introduction

Bilevel programs are nowadays a well known field of research. Studies have beencarried on this particular class of optimization problems since the 1970s. The NetworkPricing Problem, a particular case of which is the main subject of the present work, hasbeen formulated in the late 1990s (see Labbé et al. (1998)). It belongs, as the namesuggests, to the class of network optimization problems where prices have to be set onthe links of a network in order to maximize the profit of the owner. The bilevel structureof the NPP implies that these prices will be influenced by the distribution on the networkof 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 transportationsystems, 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 theNPP in the case of congested networks, hereafter referred to as the Congested NetworkPricing 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 asequence of approximating single level linear problems. One of the algorithms uses theselinear approximations to solve only the second level problem (that is, the problem of theusers) 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 thedesign of a primal-dual heuristic to solve the NPP. In their work however arc costs arestill 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 thecongestion element; then we formulate the lower level of the CNPP as an optimizationproblem with nonlinear objective function and linear constraints. Finally we present asimplification 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 twoF-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 andfor 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 desumeour final considerations and discuss future developments.

Page 10: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

10

Page 11: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Chapter 1

The Network Pricing Problem

In the present section we will introduce the Network Pricing Problem (NPP) in itsgeneric formulation, which does not take congestion into account. As its initial form isthat of a bilinear bilevel problem, we will first give a brief introduction to this class ofproblems. 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 integerformulation. In the present chapter we will refer to the formulations and notations inLabbé 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 andthe 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 decisionvariables vectors, this situation can be described mathematically by:

minx,y

F (x, y) (1.1)

s.t. G(x, y) ≤ 0 (1.2)y ∈ argmin

yf(x, y) (1.3)

s.t. g(x, y) ≤ 0 (1.4)

Note that the formulation above assumes that if there are multiple optimal solutionsfor 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 leaderchooses the solution that protects himself against the follower’s worst possible reaction.Both scenarios have been investigated in literature (see Heilporn (2008) for a detailedbibliography on this).

11

Page 12: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 articleby Shimizu and Aiyoshi (1981). An annotated bibliography containing more than onehundred 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, infull 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 arelinear, was proved to be NP-hard by Jeroslow (1985). Hansen et al. (1992) prove strongNP-hardness. Vicente et al. (1994) strengthen these results and prove that merely check-ing strict or local optimality is strongly NP-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 anauthority and a set of network users respectively. We also define a commodity as a setof network users travelling from the same origin to the same destination. In addition toa fixed cost associated with every arc, tolls are imposed by the authority on a specifiedsubset of arcs of the network. Hence the Network Pricing Problem consists of devising tolllevels 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 originto its destination, with respect to a cost equal to the sum of tolls and initial costs. Morespecifically, the formulation we will refer to in the present work assumes that only a subsetof 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) canlead 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 fromusing those links (rather than alternative routes with no toll arcs) while still generatinghigh 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 nodesand A∪B is the set of arcs, where A is the subset of toll arcs and B the subset of toll-freearcs. Each arc of A has a travel cost composed of a fixed part ca and an unknown tollta. Each arc of B bears only a fixed travel cost, identified by da.

Page 13: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

1.3. THE BILEVEL FORMULATION OF THE NPP 13

Let K denote the set of commodities, where each commodity k is associated with anorigin/destination pair (ok, dk); the demand vector bk associated with each commodityk is defined by:

bki =

ηk if i = o(k)−ηk if i = d(k)0 otherwise

∀i ∈ N ,∀k ∈ K (1.5)

where ηk represents the number of users of commodity k.Finally xka denotes the number of users of commodity k on arc a ∈ A ∪ B (that is, theamount 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 xka denote the optimal solution of the secondlevel problem parametrized by the upper level toll vector t.

maxt,x

∑k∈K

∑a∈A

ta · xka (1.6)

s.t.minx

∑k∈K

(∑a∈A

(ca + ta) · xka +∑a∈B

da · xka) (1.7)∑a=i+∈A∪B

xka −∑

a=i−∈A∪B

xka = bki ∀k ∈ K,∀i ∈ N (1.8)

xka ≥ 0 ∀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 generatesprofits and creates negative cost cycles in the network and that there exists at leastone path composed solely of untolled arcs for each origin-destination pair (the "toll-freepath" previously mentioned). These conditions avoid the degenerative and unrealisticcases 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 ormore links, thus leading to an infinite profit.

In a practical scenario, by the way, such an assumption could not always hold; forexample the toll-free path could be significantly longer than the tolled path, and even ifwe consider the time as a factor in the cost function of our model, such a choice couldnot 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 arejust partially related to traffic. In such a scenario, it is perfectly reasonable to assumethat an upper bound for the tariffs exists, much more reasonable than assuming that theycan be "arbitrarily high" or "limited by the cost of a toll-free path". Finally, whether or

Page 14: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

14 CHAPTER 1. THE NETWORK PRICING PROBLEM

not such constraints could undermine feasibility of specific instances of NPP is a matterrelated with the specific istance itself.

The common formulation of the Network Pricing Problem however allows for an up-per bound Tmax to be set for the tariffs. Since this bound can be set to infinite, it willnot alter the generality of the model and will help to find a realistic solution in casethe network is not fully compliant with the above requirements regarding toll-free paths.This implies adding the following constraint to the above model:

ta ≤ Tmax ∀a ∈ A ∪ B (1.10)

In the present work we will assume that a feasible toll-free path always exixsts; as aconsequence 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 stronglyNP-Hard. However a linearization scheme illustrated in the same work leads to a mixedinteger programming formulation that involves a small number of binary variables. Thisformulation can be solved using standard algorithms such as branch and bound that willlead to an exact solution in reasonable time for small instances of the problem, or allowsfor efficient heuristic procedures to be developed, as shown by Brotcorne et al. (2000and 2001). Such algorithms lead to far better results on large network since they areable to exploit the particular structure of the network in order to quicken the solvingprocedure.

1.4 Linearization scheme for the NPP

The aim of the procedure that will briefly be illustrated in the present section (for amore comprehensive description see Labbé et al. (1998)) is to obtain a single level linearproblem 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, andthat there exists a toll-free path for each origin/destination pair (or, alternatively, thatthere exists an upper bound to tariffs), it is possible to reduce the bilevel bilinear NPPto a single level bilinear problem.The process implies the replacement of the second level problem by its dual constraints

Page 15: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 anddual feasibility for the respective objectives.

Dual constraints: according to Equation 1.9 for each arc a ∈ A ∪ B and for eachcommodity k ∈ K a non negative primal variable xka exists. Thus the dual problem willhave as many dual constraints associated with each arc and each commodity:

λki − λkj ≤ ca + ta ∀a = (i, j) ∈ A,∀k ∈ K (1.11)

λki − λkj ≤ da ∀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 λki are free.

Primal-dual feasibility: the dual objective of the second level problem is:

max

{∑k∈K

ηkλkdk −∑k∈K

ηkλkok

}(1.13)

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 equalitybetween the values of the primal and the dual objective, which implies optimality:

Zprimal = Zdual (1.14)

that is:

∑a∈A

(ca + ta) · xka +∑a∈B

da · xka = ηk ·(λkdk − λ

kok

)∀k ∈ K (1.15)

The resulting problem, equivalent to the NPP as described previously, is thus thefollowing:

Page 16: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

16 CHAPTER 1. THE NETWORK PRICING PROBLEM

maxt,x

∑k∈K

∑a∈A

ta · xka (1.16)

s.t.∑a∈A

(ca + ta) · xka +∑a∈B

da · xka =

= ηk ·(λkdk − λ

kok

)∀k ∈ K (1.17)∑

a=i+∈A∪B

xka −∑

a=i−∈A∪B

xka = bki ∀k ∈ K,∀i ∈ N (1.18)

λki − λkj ≤ ca + ta ∀a = (i, j) ∈ A, ∀k ∈ K (1.19)

λki − λkj ≤ da ∀a = (i, j) ∈ B, ∀k ∈ K (1.20)

xka ≥ 0 ∀k ∈ K,∀a ∈ A ∪ B (1.21)ta ≥ 0 ∀a ∈ A (1.22)

λki 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 andthe complementary slackness constraint. What we want to obtain in this section is asingle level linear problem.

First of all it is necessary to introduce a binary variable and a slack variable totransform the bilinear term ta · xka. The binary variable is used to re-define the integervariable.

Since the second level problem is a flow assignment problem, each flow demand ofthe commodities is distributed on the network by following the path of minimum cost. Itfollows that the binary variable introduced for each arc a ∈ A∪B and for each commodityk ∈ K is defined as follows:

rka =

{1 if a ∈ A ∪ B belongs to the minimum cost path for commodity k ∈ K0 otherwise

(1.24)Thus resulting in:

xka = ηk · rka (1.25)

The following constraint for the new variable needs to be added to the problem:

rka ∈ {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 imposesthe fee on a tariffed arc a ∈ A only if this is used by at least one commodity, for whichthat particular arc belongs to the path of minimum cost. Therefore, the slack variableintroduced for each arc a ∈ A and for each commodity k ∈ K is as follows:

Page 17: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

1.4. LINEARIZATION SCHEME FOR THE NPP 17

pka =

{ta if rka = 10 otherwise (1.27)

The following constraints need to be added:

pka − ta ≤ 0 ∀a ∈ A,∀k ∈ K (1.28)

− pka + ta −M · (1− rka) ≤ 0 ∀a ∈ A,∀k ∈ K (1.29)

pka −N · rka ≤ 0 ∀a ∈ A,∀k ∈ K (1.30)

where M e N are arbitrary big −M parameters.Equation 1.28 forces the value of pka to zero if ta is zero. Equation 1.29 is a Big-M typeconstraint. If rka is one, the constraint must be satisfied. In fact pka will be equal to taaccording to Equations 1.28 and 1.29. If rka is zero, the constraint is relaxed. Equation1.30 denotes an upper bound for pka. If rka equals one, pka is less than Na. If rka is zero, pkais zero too.

According to the transformation carried out, the formulation of the single level NPPis as follows:

maxp

∑k∈K

∑a∈A

ηk · pka (1.31)

s.t.∑

a=i−∈A∪B

rka −∑

a=i+∈A∪B

rka = eki ∀i ∈ N , ∀k ∈ K (1.32)

∑a∈A

(ca · rka + pka) +∑a∈B

da · rka = λkdk − λkok ∀k ∈ K (1.33)

λki − λkj ≤ ca + ta ∀a = (i, j) ∈ A, ∀k ∈ K (1.34)

λki − λkj ≤ da ∀a = (i, j) ∈ B,∀k ∈ K (1.35)

pka − ta ≤ 0 ∀a ∈ A,∀k ∈ K (1.36)

− pka + ta −M · (1− rka) ≤ 0 ∀a ∈ A, ∀k ∈ K (1.37)

pka −N · rka ≤ 0 ∀a ∈ A, ∀k ∈ K (1.38)ta ≥ 0 ∀a ∈ A (1.39)

pka ≥ 0 ∀a ∈ A, ∀k ∈ K (1.40)

rka ∈ {0; 1} ∀a ∈ A ∪B, ∀k ∈ K (1.41)

λki free ∀i ∈ N, ∀k ∈ K (1.42)

where eki is the new demand vector, defined as follows:

eki =

−1 if i = ok

1 if i = dk

0 otherwise∀i ∈ N, ∀k ∈ K (1.43)

Page 18: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

18 CHAPTER 1. THE NETWORK PRICING PROBLEM

Page 19: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Chapter 2

The Congested Network PricingProblem

In this section we will describe a variant to the Network Pricing Problem which takescongestion levels into account. We will refer to this as the Congested Network PricingProoblem (CNPP). The peculiarity of considering congestion lays in the fact that arccosts are no longer considered as constants. Instead, they depend upon arc flows: theyget higher as flow levels approach the capacity of the links (which are fixed) and get loweras flow is moved to other links. Congestion thus implies a mutual dependence betweenarc costs and arc flows, and here lies the difficulty of the model. Our particular casedeals with a road transportation network, such as a highway system, so that the firstlevel problem remains a profit maximization problem and the second level problem willbe a Traffic Assignment Problem, which has been covered by a vast amount of literatureover the past decades. For a complete mathematical analysis of the Traffic Assignmentproblem we refer to the omonymous work by Patriksson (1994) and for a more genericintroduction on optimization problems on transportation networks we refer to the workby 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 ofNetwork Design Problems by Marcotte (1986).

2.1 Congestion

The generic definition of congestion on a network, either a physical transportationnetwork or a data telecommunication network states that such a condition occurs whena link or node is carrying so much data that its quality of service deteriorates. Thiscan lead to various disadvantages for the users of the network, namely delay, increasein transportation costs and can eventually lead, in worst case scenarios, to the completehalt of the service. Network congestion is thus tightly related to the concept of networkcapacity, that represents the maximum amount of units of flow that a link or a node of

19

Page 20: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

20 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

the network is able to sustain before congestion occurs (or before the system comes to ahalt because of it). In order to introduce congestion in the NPP we have to take all thisinto consideration. The scenario to which we will refer is that of a road transportationnetwork (i.e. a highway system) where link costs will depend upon the amount of flowon that specific link: as the amount of flow on that link increases, the cost will increaseas well in order to avoid congestion; thus the users will be induced into moving partof the flow to another, now cheaper link; the cost of the previously loaded link willconsequently decrease proportionally with the flow that has been removed from it, andso on. This deviation of flow and consequent fluctuation of link costs finally convergeto a configuration of balance, that is referred to as equilibrium. An equilibrium can bereferred 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 applywhat 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 ofthe network (followers) spread across the arcs according to the supply (per-arc cost) andthe demand (necessity to travel form origin to destination). We will formulate assign-ment assumptions in order to formulate the follwers’ problem as a Traffic Assignmentproblem (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 representedby an origin-destination (O/D) matrix and the supply is defined by the transportationnetwork 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 andpossible simplification hypotheses.Where not otherwise specified, notation is consistent with the one used in the previouschapter for the NPP.

2.2.1 Assignment hypotheses

In order to build a model that is consistent with the structure of a traffic assignmentproblem, we rely on the following hypotheses:

1. Cost-flow functions: we are considering congestion, so we define the congestednetwork, where the arc-cost vector depends upon the arc-flow vector (C = C(f)).

Page 21: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM 21

2. Demand-offer interaction: since we are considering a congested network andwe are not taking into account any inter-period dynamics on the evolution of thesystem, we will refer to a User Equilibrium assignment (UE); in this model we willspecifically consider the equilibrium configurations where demand, path and arcflows are equal to their respective costs.

3. Path choice behavior: users choose their path preemptively and don’t modifyit while traveling.

4. Choice model: it is completely deterministic, because the perceived usefulness isdeterministic (not aleatory); all users choose a maximum usefulness path, that isthe one with the minimum cost.

5. Classes of users: although it is possible to divide users in classes according tospecific criteria, we are considering here as an only differentiation criterion theO/D pair, thus determining a mono-class assignment for the users.

6. Demand characteristics: demand flows are constant in time, since they are notdependent upon cost fluctuations due to congestion. Thus we are considering arigid 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 singlearc 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 willignore all costs that cannot be obtained through a sum of single-arc costs over thepath.

2.2.2 Taking congestion into account: D.U.E. Assignment

Considering a congested network implies that there is not only dependence of arcflows from arc costs (as in assignments to non-congested networks) but there is alsodependence of arc costs from arc flows (through the arc cost functions). This mutualdependence of flows and arcs determines a final configuration of the system where flowson paths are consistent with the cost of the paths themselves. This configuration is seenas the state towards which the system evolves in conditions of recurring congestion, thatis, when congestion occurs in a systematic way for a sufficiently long period of analysis.Given the above considerations and previously stated hypotheses, literature suggests thatwe choose as a traffic assignment model a single-class, mono-modal and rigid demandDeterministic 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 thanthose which would be experienced by a single vehicle on any unused route” . In otherwords, when an equilibrium is reached, no individual is able to reduce their costs by

Page 22: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 foreach O/D pair, but distribute it on different paths to take into account the effect ofcongestion 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”. Thismeans 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 controlavailable to the manager of the system because flows and costs at the system optimum areconsistent with the objectives to which the operator aims. However, the resulting choicebehavior is likely to be unrealistic because some users, just to reach the minimum cost ofthe 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 thatare similar to the D.U.E. and despite being able to provide good solutions when appliedto the road pricing problem, is not consistent to the objective of wanting to recreate asequential game between the parties where each seeks to achieve its purpose without anymutual collaboration.

2.2.4 Cost functions

Cost functions express the cost of a path or arc based on the performance of thenetwork. Because network congestion is taken into account, the costs vary with theflows 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 flowon the arc itself.

According to (Wardrop, 1952), a generic arc cost function, separable and free ofnon-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 followingempirical relation:

tra(fa) = tr0a ·

[1 + α ·

(faqa

)β](2.2)

Page 23: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM 23

where tr0a is the travel time in unconstrained conditions (i.e. optimal traffic andweather conditions), qa is the capacity of an arc (calculated through appropriate analysistools 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 strictlyincreasing.

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 ahighway 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 transportationnetwork, can be further decomposed into the sum of the monetary cost of the toll andthe monetary cost of fuel (depending on the level of congestion), that is:

mca(fa) = mctoll +mcfuel(fa) (2.3)

Since this would not cause any loss in generality for our model, here we neglect thecomponent of the cost due to fuel consumption. As a consequence, the monetary cost isreduced tomca(fa) = mctoll that from now on will simply be referred to as "arc tariff" ta.

Cost function is thus reduced to:

Ca(fa) = tr0a ·

[1 + α ·

(faqa

)β]+ δ · ta (2.4)

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-andintra-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 andthe union A ∪ B of disjoint sets A and B (A ∩ B = ∅), where A is the set of the arcswhere the leader imposes a tariff and B is the set of the toll-free arcs. Let K be the set ofcommodities, that in this case correspond to the O/D pairs. A set of O/D pairs is thusdefined,

{(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 vectorrespectively. We denote by xka the flow on arc a ∈ A ∪ B for the commodity (O/D pair)k ∈ K; thus the flow on an arc is given by xa =

∑k∈K x

ka. We denote by Ca(xa) the arc

cost function specified as follows:

Ca(xa) = tr0a ·

[1 + α ·

(xaqa

)β]∀a ∈ A ∪ B (2.5)

Page 24: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

24 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

where:

xa =∑k∈K

xka ∀a ∈ A ∪ B (2.6)

Note that for every arc a ∈ A we will also have to consider the tariff ta; such tariff isadded to the cost Ca as shown by eq.2.4.

Moreover, let bk be the demand vector associated with each commodity k ∈ K, whosecomponents (one for each node i ∈ N) are:

bki =

−ηk if i = ok

ηk if i = dk

0 otherwise∀i ∈ N ,∀k ∈ K (2.7)

The arc formulation of the deterministic equilibrium assignment problem as an opti-mization model is as follows:

minx

{∑a∈A

∫ xa

0(Ca(ωa) + ta)dωa +

∑a∈B

∫ xa

0Ca(ωa)dωa

}(2.8)

s.t.∑

a∈i−∩A

xka +∑

a∈i−∩B

xka −∑

a∈i+∩A

xka −∑

a∈i+∩B

xka = bki ∀i ∈ N ,∀k ∈ K (2.9)

xka ≥ 0 ∀a ∈ A ∪ B,∀k ∈ K (2.10)

where i− ∈ N and i+ ∈ N are respectively the entering and exiting arcs for nodei ∈ N .

Equation 2.8 expresses the objective function of the problem, which is nonlinearbecause of the cost function adopted. Equation 2.9 imposes a number of linear constraintswhich is equal to the number of network nodes in order to express conservation of flowsat the nodes. Finally, equation 2.10 imposes the non-negativity of the arc flow variablesfor 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 variablesand linearization of the cost function from a non-zero value of the flow below the limitof capacity. However, it is believed that such changes are unnecessary here, given thatthe cost function grows more than proportionally with the increase of the flow/capacityratio, thus already conditioning in an effective and appropriate way the distribution offlows on the network. In addition, changes should be made to the solution algorithm andto the convergence conditions that would make too complex and uncertain the definitionof 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

Page 25: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 leadermaximizes his or her profit by imposing fees on the tariffed arcs and dependently on thedistribution of the followers on the network at the equilibrium.

For the original problem the objective function for the first level of the problem (theleader’s problem) is the following:

maxt,x

∑k∈K

∑a∈A∪B

xka · ta (2.11)

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 insec.2.2.4.

The resulting bilevel problem is thus the following:

maxt,x

∑k∈K

∑a∈A∪B

xka · ta (2.13)

minx

{∑a∈A

∫ xa

0(Ca(ωa) + ta)dωa +

∑a∈B

∫ xa

0Ca(ωa)dωa

}(2.14)∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka = bki ∀i ∈ N ,∀k ∈ K (2.15)

xka ≥ 0 ∀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, inorder to obtain a formulation that is easier to handle. The process is carried out in twophases:

Page 26: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 phasethe second level problem will be replaced by its KKT conditions. This is a legitimateoperation, assuming that objective and constraints are ∈ C1 and have the characteristicsdescribed below (see Sheffi (1985) and Bertsekas (1995)). Be such the case, a vector xthat 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) + λTh(x)− µT g(x) (2.22)

At a minimum point, x, we have ∇L(x, λ, µ) = 0 which implies that the following withrespect 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⇒∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka − bki = 0 ∀i ∈ N , ∀k ∈ K (2.27)

g(x) ≥ 0⇒ xka ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.28)

Page 27: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

2.4. REFORMULATING THE CNPP 27

Consequently, the partials derivatives are:

∇xL : Ca(xa) + ta + λki − λkj − µka = 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.29)

∇λL :∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka − bki = 0 ∀i ∈ N , ∀k ∈ K (2.30)

∇µL : xka ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.31)(2.32)

The complementarity condition will be: µTa xka = 0.Equations 2.23 and 2.26 are the Karush Kuhn Tucker Conditions (KKT ) for our secondlevel problem.By substituting the problem with its KKT conditions, we obtain the following reformu-lation for the CNPP:

maxt,x

∑a,k

ta · xka (2.33)

s.t.∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka = bki ∀i ∈ N , ∀k ∈ K (2.34)

Ca(xa) + ta + λki − λkj − µka = 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.35)

µka · xka = 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.36)

xka ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.37)

µka ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.38)

λki 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 andthe complementary constraint. What we want to obtain in this section is a single levelnon-linear problem with a mixed-integer formulation.

Simplification of the objective (ta · xka term)

In the present section we will substitute the ta · xka term in the objective with termsderived from the equality constraints of the problem in order to obtain an equivalentformulation that will be non-linear in only one variable.

Page 28: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

28 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

From the first KKT condition (eq. 2.35) we have that:

µka = Ca(xa) + ta + λki − λkj ∀a = (i, j) ∈ A,∀k ∈ K (2.40)

µka = Ca(xa) + λki − λkj ∀a = (i, j) ∈ B,∀k ∈ K (2.41)

Thus the second KKT condition (eq. 2.36) can be formulated as:

(Ca(xka) + ta + λki − λkj ) · xka = 0 ∀a = (i, j) ∈ A, ∀k ∈ K (2.42)

(Ca(xka) + λki − λkj ) · xka = 0 ∀a = (i, j) ∈ B, ∀k ∈ K (2.43)

by substituting µka with eq. 2.40 and eq. 2.41. These are equal to:

Ca(xka) · xka + ta · xka + (λki − λkj ) · xka = 0 ∀a = (i, j) ∈ A, ∀k ∈ K (2.44)

Ca(xka) · xka + (λki − λkj ) · xka = 0 ∀a = (i, j) ∈ B, ∀k ∈ K (2.45)

From 2.44 we thus obtain:

ta · xka = −Ca(xka) · xka + (λkj − λki ) · xka ∀a = (i, j) ∈ A, ∀k ∈ K (2.46)

So the objective (eq.) becomes:

maxλ,x

∑a∈A

∑k∈K−(Ca(xka) · xka + (λkj − λki ) · xka) (2.47)

Note that the following equality holds:∑a∈A

∑k∈K

(λkj − λki ) · xka =∑k∈K

∑i∈N

λki · (∑

a=i−∈A

xka −∑

a=i+∈A

xka) (2.48)

Which is even more evident if we express it in the equivalent matrix-vector formulation:∑a∈A

∑k∈K

∑i∈N x

ka · (Ai,a · λki ) =

∑a∈A

∑k∈K

∑)i∈Nλ

ki · (Ai,a · xka).

The flow conservation constraint (eq. 2.34) states that:

∑a=i−∈A

xka −∑

a=i+∈A

xka +∑

a=i−∈B

xka −∑

a=i+∈B

xka = bki ∀i ∈ N , ∀k ∈ K (2.49)

Thus we have:∑a=i−∈A

xka −∑

a=i+∈A

xka = bki −∑

a=i−∈B

xka +∑

a=i+∈B

xka ∀i ∈ N , ∀k ∈ K (2.50)

Following from eq.2.48 and 2.50:

Page 29: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

2.4. REFORMULATING THE CNPP 29

∑k∈K

∑i∈N

λki · (∑

a=i−∈A

xka −∑

a=i+∈A

xka) = (2.51)

∑k∈K

∑i∈N

λki · bki −∑k∈K

∑i∈N

λki · (∑

a=i−∈B

xka +∑

a=i+∈B

xka) ∀i ∈ N , ∀k ∈ K (2.52)

Eq.2.45 states that:

Ca(xka) · xka = (λkj − λki ) · xka ∀a = (i, j) ∈ B,∀k ∈ K (2.53)

We can thus substitute the∑

a∈A∑

k∈K(λkj−λki )·xka term in the objective, that becomes:

maxλ,x

∑k∈K

(∑i∈N

λki · bki −∑a∈ACa(xka) · xka −

∑b∈BCa(xka) · xka

)(2.54)

Linearization of the µka · xka term

The problem obtained so far still contains the nonlinear constraint µka ·xka = 0 derivingfrom the complementarity slackness condition. However, this term can be linearizedthrough a relaxation, in the following way:First of all, it is necessary to introduce a binary variable zka , defined as:

zka =

{1 if µka 6= 00 if µka = 0

(2.55)

Since we don’t really need to know the exact value of µka but only have to impose thatit will be zero if xka 6= 0 and vice versa, we can write the KKT conditions as:

Ca(xa) + ta + λki − λkj ≤M · zka ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.56)

xka ≤M · (1− zka) ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.57)

WhereM is an arbitrary Big-M constant. However, for the problem not to be unboundedthe following must also hold:

Ca(xa) + ta + λki − λkj ≥ 0 ∀a = (i, j) ∈ A ∪ B,∀k ∈ K (2.58)

xka ≥ 0 ∀a = (i, j) ∈ A ∪ B,∀k ∈ K (2.59)

Thus the final reformulation for the CNPP will be:

Page 30: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

30 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

maxλ,x

∑k∈K

(∑i∈N

λki · bki −∑a∈ACa(xa) · xka −

∑b∈BCa(xa) · xka) (2.60)

s.t.∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka = bki ∀i ∈ N , ∀k ∈ K

(2.61)

Ca(xa) + ta + λki − λkj ≤M · zka ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K(2.62)

Ca(xa) + ta + λki − λkj ≥ 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K(2.63)

xka ≤M · (1− zka) ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K(2.64)

xka ≥ 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K(2.65)

zka ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K(2.66)

ta ≥ 0 ∀a ∈ A, ∀k ∈ K(2.67)

λki 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 forthe 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 candistinguish three situations that can occurr and that are of some interest:

1. α = 0

In this case the congestion-dependent term α ·(faqa

)βequals zero, and the CNPP

instance becomes a standard NPP one.

In fact, while the constraints and leader objective face no change, the follower’sobjective becomes:

Page 31: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

2.4. REFORMULATING THE CNPP 31

minx

∑a∈A∪B

∫ xa

0(Ca(ωa) + ta)dωa = (2.69)

= minx

∑a∈A∪B

∫ xa

0(tr0a + ta)dωa = (2.70)

= minx

∑a∈A∪B

(tr0a + ta) · xa (2.71)

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 harderto solve than the uncongested NPP. Several solving approaches could be possible,from penalizing the nonlinear constraint in the objective (thus obtaining a convexpolyhedron as feasible region) to heuristic procedures that use local approximationsof the nonlinear term to generate a succession af approximating subproblems, andso on. Two procedures of this last type will be presented in the next chapter.

Page 32: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

32 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

Page 33: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 chapterhas not been studied so far, the User Equilibriun problem which constitutes the secondlevel of our problem (that is, the followers’ problem) is well known and has been studiedthoroughly in the past decades, with many resolutive algorithms developed so far. Thwmost widely known is probably the Frank-Wolfe algorithm (Frank and Wolfe (1956)),also known as Conditional Gradient method (Bertsekas (1995)). This algorithm solves asequence of linear problems that approximate the original non linear one, and generatesa sequence of admissible flow vectors from the solutions of the approximating instances.Asymptotically, this sequence will converge to the optimum solution. The fact thatit uses a linear approximation of what is here the second level part makes the F-Walgorithm 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 canbe applied to a D.U.E. resolution.

The algorithm solves a sequence of linear problems that approximate the originalproblem 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 solutionx(j−1), a direction along which to minimize the objective function in order to determinethe new point x(j).

Using the Taylor expansion stopped at the first term, the objective function z(x) canbe approximated in a point y ∈ Sx by a linear function zl(x):

z(x) ∼= zl(x) = z(y) +∇z(y)T (x− y) (3.1)

33

Page 34: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

34 CHAPTER 3. SOLVING THE CNPP

Therefore, the optimization problem with nonlinear objective function z(x) and lin-ear constraints can be approximated by a succession of problems with linear objectivefunction zl(x) and linear constraints for every point y ∈ Sx. In fact we have:

argmin z(x) ∼= argmin zl(x) = argmin z(y) +∇z(y)T (x− y) = argmin ∇z(y)T x (3.2)

Since in one point y the gradient of the objective function ∇z(x) equals the arc costvector calculated in the same point, ∇z(y) = c(y), we obtain:

argmin z(x) ∼= argmin c(y)T x (3.3)

The objective function described above, paired with the non-negativity and flowconservation constraints of the Traffic Assignment Problem (eq. 2.9 and 2.10) denote anoptimization problem that corresponds to the model of D.U.N / D.N.L, the minimumcost - 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 toreduce 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-dependencedue to congestion.

The j-th subproblem, with j = 1, . . . ,m, where m is the number of the subproblemsin the succession, can be formulated as follows:

minx

{∑a∈AC(j)a (x(j−1)a ) · x(j)a,AON +

∑a∈BC(j)a (x(j−1)a ) · x(j)a,AON

}(3.4)

s.t.∑

a=i−∈A∪B

xk,(j)a,AON −

∑a=i+∈A∪B

xk,(j)a,AON = bki ∀i ∈ N , ∀k ∈ K

(3.5)

xk,(j)a,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K

(3.6)

where x(j−1)a is the flow on arc a ∈ A ∪ B of the (j − 1)-th problem, specified asfollows:

x(j−1)a =∑k∈K

xk,(j−1)a (3.7)

x(j)a,AON =

∑k∈K

xk,(j)a,AON (3.8)

C(j)a (x(j−1)a ) is the cost of arc a ∈ A∪B calculated through the specified cost function

from the arc flow x(j−1)a :

Page 35: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.1. THE CONDITIONAL GRADIENT METHOD(FRANK-WOLFE ALGORITHM)35

C(j)a (x(j−1)a ) = tr0a ·

1 + α ·

(x(j−1)a

qa

)β ∀a ∈ A ∪ B (3.9)

x(j)a,AON is the flow on arc a ∈ A ∪ B, solution of the j-th problem obtained through

the A.O.N. resolution algorithm.

Note that x(j−1)a arc flows of the (j − 1)-th problem are constant (since they are thesolution of this problem) and consequently C(j)a (x

(j−1)a ) arc costs are constant for the j-th

problem. It follows that x(j)a,AON arc flows are the only variables in the j-th problem, thusresulting 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 athreshold ε 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)-thiteration:

1. The cost vector is determined in function of the flow vector, as C(j) = C(x(j−1)),through equation 2.5.

2. The approximating linear problem denoted by Equations 3.4, 3.5, 3.6 is solvedthrough 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 congestednetwork is obtained: x(j)AON .

3. The descent step is executed in order to determine the final solution for thej-th iteration. It consists in the following one-dimensional non-linear researchproblem:

µ(j) ∈ argminµ∈[0,1]ψ(µ) = z[x(j−1) + µ · (x(j)AON − x

(j−1))]

(3.10)

where µ is a scalar variable. The problem can be solved through the bisectionalgorithm 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-nation of the previous j All-or-nothing assignment x(j)AON :

x(j) = x(j−1) + µ(j) · (x(j)AON − x(j−1)) (3.11)

Stopping criterion The stopping test is executed against a threshold ε (see §3.1.3). Ifthe 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.

Page 36: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

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 vectorsx(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 theobjective function is convex) it has to be a stationary point for z(x). This means thatthe following condition must hold:

∇z(x(j))T (x(j)AON − x

(j)) ≥ 0 (3.12)

However, from a practical point of view, such a termination criterion may not beso valuable. The conditional gradient algorithm in fact is known for slowing down theconvergence rate significantly as it approaches the optimal solutiol. Moreover, in mostapplications, an approximated solution that is close enough to the optimum is morethan sufficient, especially if we can obtain it more quickly, through a lower number ofiterations. Given the considerations above, we are more eager to use a threshold-basedstopping 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 boundinequalities 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:

zl(x(j)AON ) = z(x(j)) +∇z(x(j))T (x

(j)AON − x

(j)) (3.14)

≤ z(x(j)) +∇z(x(j))T (x(j)∗ − x(j)) (3.15)

≤ z(x(j)∗ ) (3.16)

where the equality follows from the definition of the optimal solution to the LPproblem, the first inequality by the fact that x(j)AON solves this LP problem but notnecessarily x(j)∗ , and the second inequality from the convexity of z. So, we have that atevery iteration j,

zl(x(j)AON ) ≤ z(x(j)∗ ) ≤ z(x(j)) (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-quence of {z(x(j))} strictly monotonically decreases towards z(x(j)∗ ), while the sequenceof {zl(x

(j)AON )} approaches z(x(j)∗ ) from below, though not necessarily monotonically. We

therefore always have an interval, [zl(x(j)AON ), z(x(j))], which contains the optimal objec-

tive value. From this we can derive a threshold-based criterion of the type: let ε be achosen value for an acceptable relative objective error, then the stopping condition forthe j-th iteration is as follows:

Page 37: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.2. CONVERGENCE CONDITIONS 37

|z(x(j))− zl(x(j)AON )|

|zl(x(j)AON )|

< ε (3.18)

3.2 Convergence conditions

In order for the Frank-Wolfe algorithm to converge to a vector of optimal solutionsafter a certain number of iterations, it is necessary that certain conditions for convergenceare met.

Since in the present work the algorithm is used for a User Equilibrium allocation, werefer to LeBlanc et al. (1975). In the article it is recommended that the specified costfunction 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) meetsall three requirements, in particular, is strictly positive and strictly increasing.

Typically, the Frank-Wolfe algorithm is adopted to find an equilibrium point oncongested networks in which all arcs are priced (so that the tariff component is added inthe 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 ofthe congestion and still the objective function of the optimization model is nonlinear, asdemand is elastic; moreover, there are also non-additive costs and cost functions are notseparable. The Frank-Wolfe algorithm is adapted successfully to the case examined, asthe only additional condition states that it must be convex programming.

Further necessary conditions for the convergence of Frank-Wolfe algorithm appliedto 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 considerablydepending on the size and complexity of the network, on the descending step and on thethreshold for the stopping test. As the number of iterations grow, the algorithm tendsto zigzag increasingly.

While the algorithm has the historical advantage of a low memory usage (useful forcomputers especially a few decades ago), on the other hand, the computational efforttends to increase as you get closer to the optimal solution, thus making the resolution

Page 38: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

38 CHAPTER 3. SOLVING THE CNPP

in real time more critical . This can be partly overcome by setting a less restrictivethreshold although this implies to sacrifice final accuracy.

Leaving aside the particular structure of the modeled network to more specific casesthan those of this discussion, it is possible to accelerate the convergence of the algorithmby 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-dimensionallinear research, by solving a problem determined by Equation 3.10.

There are some alternatives in literature to the descending step described above, inorder 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 beused, where two one-dimensional minimizations are made for each iteration. In an ar-ticle Lupi (1986) introduces another modification to the descending step that, althoughproviding 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 ofdifferent methods based on numerical examples.

The Frank-Wolfe algorithm for D.U.E. assignments has some resemblance with theMethod of Successive Averages (M.S.A.) algorithm for S.U.E. allocations (Stochastic UserEquilibrium) for stochastic equilibrium, except for the cost functions used (that includerandom 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

j is used, where j is theindex of the iteration. By adopting this simple solution at the expense of mathematicalsophistication, the zigzag behavior is eliminated but the optimal solution we want thealgorithm to converge to may be missed.

Again, there are alternatives in literature to the 1j descending step for the M.S.A

algorithm for S.U.E. allocation; for example Polyak (1990) suggests a µ(j) = j−β de-scending step, where 0 < β < 1.

Page 39: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.4. TWO-STEPS ALGORITHM 39

3.4 Two-steps algorithm

The procedure described in the present section is a Gauss-Seidel-decomposition-typealgorithm. It solves the problem described by eq. 2.13 - 2.17 by iteratively solving firstthe followers’ problem (through Frank-Wolfe) with respect to arc flows x(j) and thenthe 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 onlybilevel/congestion solution approach for which some reference exists in literature. Asimilar algorithm was indeed used by Julsain (1998) to find an equilibrium point on acongested 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 athreshold ε 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 theproblem at the (j − 1)-th iteration:

1. The cost vector is determined in function of the flow vector and the tariffvector, as C(j)a , through:

C(j)a = tr0a ·

1 + α ·

(x(j−1)a

qa

)β if a ∈ A ∪ B (3.19)

where x(j−1)a =∑

k∈K xk,(j−1)a .

2. The linear approximation for the second level problem is solved through theAll-or-nothing algorithm, since arc costs (and tariffs) are constant for the j-thiteration.

minx

∑a∈A

(C(j)a + t(j−1)a ) · x(j)a,AON +∑a∈BC(j)a · x

(j)a,AON (3.20)

s.t.∑

a=i−∈A∪B

xk,(j)a,AON −

∑a=i+∈A∪B

xk,(j)a,AON = bki ∀i ∈ N ,∀k ∈ K

(3.21)

xk,(j)a,AON ≥ 0 ∀a ∈ A ∪ B,∀k ∈ K

(3.22)

Thus the flow vector for the non congested network is obtained: x(j)AON .

Page 40: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

40 CHAPTER 3. SOLVING THE CNPP

3. The F-W descending step is executed in order to determine the flows for thej-th iteration. It consists in the following one-dimensional non-linear researchproblem:

µ(j) ∈ argminµ∈[0,1]ψ(µ) = z[x(j−1) + µ · (x(j)AON − x

(j−1))]

(3.23)

where µ is a scalar variable. The problem can be solved through the bisectionalgorithm.

4. Vector x(j) is found as a convex combination of the previous j All-or-nothingassignment x(j)AON :

x(j) = x(j−1) + µ(j) · (x(j)AON − x(j−1)) (3.24)

5. The first level problem is solved in order to calculate the tariff vector t(j),which is optimal for the current iteration. This step implies the resolution ofa single level linear problem which has the same formulation of the bilinearCNPP described in eq. 2.4.2-2.39 (since at this point the flows xka are known,the problem here is linear, and the flow conservation constraint, eq. 2.34 andflow non-negativity constraint, eq. 2.37 are not necessary here):

maxt,x

∑a,k

ta · xka (3.25)

s.t. Ca(xa) + ta + λki − λkj − µka = 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.26)

µka · xka = 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.27)

µka ≥ 0 ∀a ∈ A ∪ B,∀k ∈ K (3.28)

λki free ∀i ∈ N ,∀k ∈ K (3.29)

Stopping criterion The stopping test is executed against the 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 andt(j) the optimum tariff vector associated with it.

3.4.1 Initialization

As mentioned in Chapter 3.1.2, an initialization of the sequence of approximatinglinear single-level subproblems is necessary in order to determine a feasible startingvector x(0) ∈ Sx. To do this a A.O.N. assignment problem is solved by assigning thefollowers to the network (not congested) with costs calculated at zero flow and all tariffsset to zero.

The initialization cost function is as follows:

Page 41: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.4. TWO-STEPS ALGORITHM 41

C(0)a (xa = 0) =

{tr0a + t

(0)a if a ∈ A

tr0a if a ∈ B(3.30)

The initialization problem to be solved through the All-or-Nothing algorithm, isformulated as follows:

min∑k∈K

[∑a∈A

(tr0a + t(0)a

)· xk,(0)a +

∑a∈B

tr0a · xk,(0)a

](3.31)

s.t.∑

a=i−∈A∪B

xk,(0)a −∑

a=i+∈A∪B

xk,(0)a = bki ∀i ∈ N , ∀k ∈ K (3.32)

xk,(0)a ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.33)

furthermore we set t(0)a = 0 for all a ∈ A.

3.4.2 Algorithm improvements

The most obvious way to improve the performance of the algorithm described so faris to solve the Traffic Assignment Problem at the second level with an algorithm that isboth quicker and more efficient than Frank-Wolfe.

Several alternative approaches have been proposed and are available in literature.However, since we chose to focus on the F-W implementation in the present work, herewe just intend to cite these alternative methods as ideas for future development.

Larsson and Patriksson (1992) have developed a model for deterministic equilibriumassignments called Simplicial Decomposition Method. The disaggregated form of themethod (D.S.D., Disaggregate Simplicial Decomposition) alternates a path generationphase to a master problem phase where the problem is solved using the routes gener-ated so far. The algorithm is applied to the case of stochastic equilibrium assignment inDamberg et al. (1996) as an alternative to the M.S.A algorithm.

Jayakrishnan et al. (1994) suggest the Gradient Projection (G.P.) algorithm for appli-cations relating to ATMS (Advanced Traffic Management System) telematic systems asit provides a faster convergence than the Frank-Wolfe algorithm, as shown in the numer-ical examples. Unlike the Frank-Wolfe algorithm, which finds auxiliary solutions on thevertexes of the linear feasible region, the G.P. algorithm performs successive movementstowards the direction of the minimum point of the Newtonian approximation of a trans-formed objective function. However, it is an approach based on paths rather than on arcs.

Boyce et al. (2004) use the O.B.A. (Origin-Based Algorithm) initially proposed byBar-Gera (2002) for a D.U.E. assignment to a real network, comparing the results withthose obtained through the Frank-Wolfe algorithm in terms of convergence and compu-tational effort. In Bar-Gera and Boyce (2006) the application of the O.B.A. algorithm

Page 42: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

42 CHAPTER 3. SOLVING THE CNPP

is extended to the stochastic allocation case.

In Pro (2009) a very fast and efficient algorithm denominated L.U.C.E. (Linear UserCost Equilibrium) is described. The idea behind this algorithm has its roots in Bar-Gera’s O.B.A. but instead of calculating aggregated flows and costs Hessian matrix ateach iteration, it uses first-order derivatives to obtain an efficient descent direction. Sincefirst order derivatives are much easier to calculate than any kind of Hessian approxima-tion, this algorithm outperforms all of its predecessors for speed and efficiency and iscurrently being used in commercial software. Accuracy and convergence rate of thisalgorithm are illustrated in Gentile and Noekel (2009).

Page 43: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 43

3.5 One step algorithm

A different approach to the CNPP resolution involves the linearization scheme intro-duced in 1.4.2 for the standard NPP formulation. Instead of solving only the second levelproblem by means of the Frank-Wolfe algorithm and then solving the first level problemin a following step, this algorithm solves the bilevel problem directly by solving a succes-sion of linear approximations of it. The main difference with the Two-Steps algorithm isthat here the flows xka and the tariffs ta are found at the same time. In order to do so,and in order to obtain tariffs that are good for the final flows x∗a, we also want to keeptrack of the ta found in the previous iterations, so that the tariffs will effectively interactwith the flows distribution at the second level. We thus expect the final soloution to beof better quality than the one found through the previous algorithm, where the tariffsare calculated only when the flows are already distributed, thus making them at most aslarge as the slack between the cost of the used paths and the cost of the toll-free path.

Changes to the cost functions

First of all it is necessary to modify the cost function previously defined by eq. 3.9

Ca(xa) =

tr0a ·

[1 + α ·

(xaqa

)β]+ ta if a ∈ A

tr0a ·[1 + α ·

(xaqa

)β]if a ∈ B

(3.34)

For each approximating subproblem we decompose the tariff as follows: ta = ta,old +∆ta. The cost function we will use in the algorithm will then be:

Ca(xa) =

tr0a ·

[1 + α ·

(xaqa

)β]+ ta,old if a ∈ A

tr0a ·[1 + α ·

(xaqa

)β]if a ∈ B

(3.35)

While the ∆ta component of the tariff will be the variable that we effectively calcu-late at each iteration.

Let us now recall the original CNPP bilevel problem, as described by equations 2.13-2.17:

Page 44: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

44 CHAPTER 3. SOLVING THE CNPP

maxt,x

∑k∈K

∑a∈A∪B

xka · ta (3.36)

minx

{∑a∈A

∫ xa

0(Ca(ωa) + ta)dωa +

∑a∈B

∫ xa

0Ca(ωa)dωa

}(3.37)∑

a=i−∈A∪B

xka −∑

a=i+∈A∪B

xka = bki ∀i ∈ N , ∀k ∈ K (3.38)

xka ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.39)ta ≥ 0 ∀a ∈ A (3.40)

(3.41)

If we were to apply the F-W procedure to the CNPP, with the modified cost functiondescribed by Eq. 3.35, the formulation of the j-th approximating subproblem would bethe following, according to what explained in 3.1.1 :

maxt,x

∑k∈K

∑a∈A∪B

xk,(j)a · t(j)a (3.42)

minx

{∑a∈A

(C(j)a (x(j−1)a ) + ∆t(j)a ) · x(j)a,AON +∑a∈BC(j)a (x(j−1)a ) · x(j)a,AON

}(3.43)∑

a=i−∈A∪B

xk,(j)a,AON −

∑a=i+∈A∪B

xk,(j)a,AON = bki ∀i ∈ N ,∀k ∈ K

(3.44)

xk,(j)a,AON ≥ 0 ∀a ∈ A ∪ B,∀k ∈ K

(3.45)

∆t(j)a free ∀a ∈ A(3.46)

t(j−1)a + ∆t(j)a ≥ 0 ∀a ∈ A(3.47)

Where t(j)a = t(j−1)a + ∆t

(j)a (t(j−1)a refers to the ta,old term in eq.3.35).

Changes to the objective

Since at each iteration Equation 3.11 is verified, it follows that:

xk,(j)a = xk,(j−1)a + µ(j) · (xk,(j)a,AON − xk,(j−1)a ) (3.48)

Therefore, the objective function of the leader for the j-th problem equals:

Page 45: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 45

maxt,x

∑k∈K

∑a∈A

[t(j)a · xk,(j−1)a + µ(j) · (xk,(j)a,AON − x

k,(j−1)a ))

]= (3.49)

=∑k∈K

∑a∈A

[t(j)a · xk,(j−1)a + µ(j) · t(j)a · (x

k,(j)a,AON − x

k,(j−1)a )

]= (3.50)

=∑k∈K

∑a∈A

[µ(j) · t(j)a · x

k,(j)a,AON + (1− µ) · t(j)a · xk,(j−1)a

](3.51)

Since at each iteration eq. 3.17 is verified we have that:∑k∈K

∑a∈A

[µ(j) · t(j)a · x

k,(j)a,AON + (1− µ) · t(j)a · xk,(j−1)a

]≥ (3.52)

≥∑k∈K

∑a∈A

[µ(j) · t(j)a · x

k,(j)a,AON + (1− µ) · t(j)a · x

k,(j)a,AON

]= (3.53)

=∑k∈K

∑a∈A

t(j)a · xk,(j)a,AON (3.54)

Thus we have obtained a lower bound for the value of the objective:

maxt,x

∑k∈K

∑a∈A

t(j)a · xk,(j)a,AON ≤ max

t,x

∑k∈K

∑a∈A

t(j)a · xk,(j)a (3.55)

In order to build a resolution algorithm based on linear approximations of the CNPPwe would now have two options:

1. Use maxt,x∑

k∈K∑

a∈A

[µ(j) · t(j)a · xk,(j)a,AON + (1− µ) · t(j)a · xk,(j−1)a

]as objective and

find an efficient approximation of µ(j). Any descending sequence in the [0, 1] in-terval would do. In fact, according to the F-W algorithm, the descent direction isfound between an inner point and a vertex of the feasible region, and the chosenstep size should be the one that minimizes the follower’s objective along that direc-tion. So any approximated µ(j) would not cause infeasibility, however the optimalsolution may be missed or the convergence rate could be significantly slower if theapproximation is not good enough.

2. Use maxt,x∑

k∈K∑

a∈A t(j)a ·xk,(j)a,AON as objective and relying on the cost functions

redefined by eq. 3.35 to obtain tariffs that are good enough for the xka variablesalthough being optimal for the xka,AON at the current iteration.

Both solutions have been tested through numerical experiments and the second onehas given better quality solutions, so from now on we will refer to that one only.

After these considerations, the resulting formulation for the two-level CNPP is thefollowing:

Page 46: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

46 CHAPTER 3. SOLVING THE CNPP

maxt,x

∑k∈K

∑a∈A

t(j)a · xk,(j)a,AON (3.56)

s.t.minx

{∑a∈A

(C(j)a (x(j−1)a ) + ∆t(j)a ) · x(j)a,AON +∑a∈BC(j)a (x(j−1)a ) · x(j)a,AON

}(3.57)

s.t.∑

a=i−∈A∪B

xk,(j)a,AON −

∑a=i+∈A∪B

xk,(j)a,AON = bki ∀i ∈ N , ∀k ∈ K

(3.58)

xk,(j)a,AON ≥ 0 ∀a ∈ A ∪ B,∀k ∈ K

(3.59)

∆t(j)a free ∀a ∈ A(3.60)

t(j−1)a + ∆t(j)a ≥ 0 ∀a ∈ A(3.61)

Before applying a resolution algorithm to this problem, however, it is necessary toreformulate it into a single level problem.

3.5.1 One-level CNPP through the duality theory

In this section we will turn the two-level CNPP problem into a single-level CNPP.First of all, we formulate the dual of the j-th second level subproblem of the original

CNPP problem. As shown in Chapter 1, this is possible because it is a continuous linearproblem.

Dual variables according to Equation 3.58, for each node i ∈ N and for each commodityk ∈ K a primal constraint exists for the conservation of flows on the network.It follows that in each dual j-th subproblem there are as many dual variablesassociated with each node and each commodity :

λk,(j)i ∀i ∈ N , ∀k ∈ K (3.62)

Dual constraints According to Equation 3.59 for each arc a ∈ A ∪ B and for eachcommodity k ∈ K a non-negative primal variable exists . It follows that in eachdual j-th subproblem there are as many dual constraints associated with each arcand each commodity, such as:

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) + ∆t(j)a ∀a ∈ A,∀k ∈ K (3.63)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) ∀a ∈ B, ∀k ∈ K (3.64)

(3.65)

Page 47: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 47

where h(a) and t(a) are respectively the head and tail nodes for each arc a ∈ A∪B,C(j)a (x

(j−1)a ) is the cost of the arc calculated against the arc flow x

(j−1)a of the (j−1)-

th subproblem. Furthermore, since the primal constraints of flow conservation areequalities, the corresponding dual variables λk,(j)i are free.

Dual objective function According to Equation 3.57 we want to minimize the ob-jective function of the primal j-th subproblem. It follows that in each dual j-thsubproblem we want to maximize the objective function, thus obtaining:

max

{∑k∈K

ηkλk,(j)

dk−∑k∈K

ηkλk,(j)

ok

}(3.66)

Therefore, the dual problem of the second level of the CNPP is:

max

{∑k∈K

ηkλk,(j)

dk−∑k∈K

ηkλk,(j)

ok

}(3.67)

s.t. λk,(j)h(a) − λk,(j)t(a) ≤ C

(j)a (x(j−1)a ) + ∆t(j)a ∀a ∈ A, ∀k ∈ K (3.68)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) ∀a ∈ B, ∀k ∈ K (3.69)

λk,(j)i free ∀i ∈ N , ∀k ∈ K (3.70)

According to the strong duality theorem, if:

1. vector x(j)AON is a feasible solution for the primal j-th subproblem,

2. vector λ(j) is a feasible solution for the dual j-th subproblem,

3. the values of both the primal and the dual objective function coincide,

then the vectors x(j)AON and λ(j) are optimal solutions for both of the j-th subproblems.Equality between the primal and dual j-th subproblem is obtained through the fol-

lowing steps:

Primal feasibility A solution of the j-th primal subproblem is feasible if it satisfies theprimal constraints expressed by Equation 3.58, ∀i ∈ N , ∀k ∈ K.

Dual feasibility A solution of the j-th dual subproblem is admissible if it satisfies thedual constraints expressed by Equations 3.68 and 3.70, ∀a ∈ A ∪ B,∀k ∈ K.

Coincidence of the value of the primal-dual objective functions We need to putthe two objective functions in an equality. The primal objective function can be

Page 48: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

48 CHAPTER 3. SOLVING THE CNPP

simplified as follows:

Zprimal =∑

a∈A(C(j)a (x(j−1)a ) + ∆t

(j)a ) · x(j)a,AON +

∑a∈B C

(j)a (x

(j−1)a ) · x(j)a,AON

=∑

a∈A

C(j)a

(∑k∈K

xk,(j−1)a

)︸ ︷︷ ︸

const.

+ ∆t(j)a︸ ︷︷ ︸var.

·∑k∈K

xk,(j)a,AON︸ ︷︷ ︸

var.

+

+∑

a∈B

C(j)a(∑k∈K

xk,(j−1)a

)︸ ︷︷ ︸

const.

·∑k∈K

xk,(j)a,AON︸ ︷︷ ︸

var.

=∑

k∈K

[∑a∈A(C(j)a (x

(j−1)a ) + ∆t

(j)a ) · xk,(j)a,AON +

∑a∈B C

(j)a (x

k,(j−1)a ) · xk,(j)a,AON

](3.71)

The dual objective function can be simplified as follows:

Zdual =∑

k∈K ηk︸︷︷︸const.

λk,(j)

dk︸ ︷︷ ︸var.

−∑

k∈K ηk︸︷︷︸const.

λk,(j)

ok︸ ︷︷ ︸var.

=∑

k∈K

[ηk ·

(λk,(j)

dk− λk,(j)

ok

)](3.72)

If we impose equality between Equations 3.71 and 3.72 we obtain:

Zprimal = Zdual (3.73)

=⇒∑k∈K

[∑a∈A

(C(j)a (x(j−1)a ) + ∆t(j)a ) · xk,(j)a,AON +∑a∈BC(j)a (xk,(j−1)a ) · xk,(j)a,AON

]=

=∑k∈K

[ηk ·

(λk,(j)

dk− λk,(j)

ok

)](3.74)

=⇒∑a∈A

(C(j)a (x(j−1)a ) + ∆t(j)a ) · xk,(j)a,AON +∑a∈BC(j)a (xk,(j−1)a ) · xk,(j)a,AON =

= ηk ·(λk,(j)

dk− λk,(j)

ok

)∀k ∈ K (3.75)

Thus Equation 3.75 becomes a new constraint for the single-level j-th subproblem.

Page 49: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 49

The formulation of the single level j-th CNPP subproblem is the following:

maxt,x

∑k∈K

∑a∈A

t(j)a · xk,(j)a,AON (3.76)

s.t.∑

a=i−∈A∪B

xk,(j)a,AON −

∑a=i+∈A∪B

xk,(j)a,AON = bki ∀i ∈ N , ∀k ∈ K

(3.77)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) + ∆t(j)a ∀a ∈ A,∀k ∈ K (3.78)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) ∀a ∈ B, ∀k ∈ K (3.79)∑

a∈A(C(j)a (x(j−1)a ) + ∆t(j)a ) · xk,(j)a,AON +

∑a∈BC(j)a (xk,(j−1)a ) · xk,(j)a,AON =

= ηk ·(λk,(j)

dk− λk,(j)

ok

)∀k ∈ K(3.80)

∆t(j)a free ∀a ∈ A(3.81)

t(j−1)a + ∆t(j)a ≥ 0 ∀a ∈ A(3.82)

xk,(j)a,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K

(3.83)

λk,(j)i free ∀i ∈ N , ∀k ∈ K

(3.84)

Note that the problem is still non-linear because of the t(j)a · xk,(j)a,AON in the objective

function (which contains the bilinear ∆t(j)a · xk,(j)a,AON term) and in equation 3.80 (which

also contains the ∆t(j)a · xk,(j)a,AON term).

3.5.2 Linearization

The further step we need to take now is to apply a linearization scheme analogue tothe one illustrated in 1.4.2 for the standard NPP.

First of all it is necessary to reformulate the objective:

maxt,x

∑k∈K

∑a∈A

t(j)a · xk,(j)a,AON = (3.85)

=∑k∈K

∑a∈A

(t(j−1)a + ∆t(j)a ) · xk,(j)a,AON = (3.86)

=∑k∈K

∑a∈A

(t(j−1)a · xk,(j)a,AON + ∆t(j)a · xk,(j)a,AON ) (3.87)

Page 50: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

50 CHAPTER 3. SOLVING THE CNPP

Note that we have a linear term (t(j−1)a ·xk,(j)a,AON ) and a bilinear term (∆t(j)a ·xk,(j)a,AON ).

The usual binary variable and the slack variable are thus introduced in order totransform the bilinear term ∆t

(j)a · xk,(j)a,AON .

The binary variable is used to re-define the integer flows variable:

rk,(j)a =

{1 if a ∈ A ∪B belongs to the minimum cost path for commodity k ∈ K0 otherwise

(3.88)Thus resulting in:

xk,(j)a,AON = ηk · rk,(j)a (3.89)

The following constraint for the new variable needs to be added to the problem:

rk,(j)a ∈ {0; 1} ∀a ∈ A ∪ B,∀k ∈ K (3.90)

The slack variable is used to re-define the continuous tariff variable, and is differentfor each commodity:

pk,(j)a =

{∆t

(j)a if rk,(j)a = 1

0 otherwise(3.91)

The following constraints need to be added:

pk,(j)a −∆t(j)a ≤M (j)a · (1− rk,(j)a ) ∀a ∈ A,∀k ∈ K (3.92)

− pk,(j)a + ∆t(j)a ≤M (j)a · (1− rk,(j)a ) ∀a ∈ A,∀k ∈ K (3.93)

pk,(j)a −N (j)a · rk,(j)a ≤ 0 ∀a ∈ A,∀k ∈ K (3.94)

− pk,(j)a −N (j)a · rk,(j)a ≤ 0 ∀a ∈ A,∀k ∈ K (3.95)

where M (j)a e N (j)

a are arbitrary big −M parameters.The meaning of the new variables and the added constraints are explained in detail

in 1.4.2. The very same considerations apply here except for the presence here of theconstraint defined by eq. 3.95, which substitutes the non-negativity constraint for theslack variable pka in the linearized NPP (in fact here pka is a free variable).

According to the transformation carried out, the formulation for the single level linearj-th approximating CNPP subproblem is the following:

Page 51: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 51

maxt,x

∑k∈K

∑a∈A∪B

ηk · (t(j−1)a · rk,(j)a + pk,(j)a ) (3.96)

s.t.∑

a=i−∈A∪B

rk,(j)a −∑

a=i+∈A∪B

rk,(j)a = eki ∀i ∈ N , ∀k ∈ K

(3.97)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) + ∆t(j)a ∀a ∈ A, ∀k ∈ K

(3.98)

λk,(j)h(a) − λ

k,(j)t(a) ≤ C

(j)a (x(j−1)a ) ∀a ∈ B, ∀k ∈ K

(3.99)∑a∈A

(C(j)a (xk,(j−1)a ) · rk,(j)a + pk,(j)a ) +∑a∈BC(j)a (xk,(j−1)a ) · rk,(j)a = λ

k,(j)

dk− λk,(j)

ok∀k ∈ K

(3.100)

pk,(j)a −∆t(j)a ≤M (j)a · (1− rk,(j)a )s ∀a ∈ A,∀k ∈ K

(3.101)

∆t(j)a − pk,(j)a ≤M (j)a · (1− rk,(j)a ) ∀a ∈ A,∀k ∈ K

(3.102)

pk,(j)a ≤ N (j)a · rk,(j)a ∀a ∈ A,∀k ∈ K

(3.103)

− pk,(j)a ≤ N (j)a · rk,(j)a ∀a ∈ A,∀k ∈ K

(3.104)

∆t(j)a free ∀a ∈ A(3.105)

t(j−1)a + ∆t(j)a ≥ 0 ∀a ∈ A(3.106)

pk,(j)a free ∀a ∈ A,∀k ∈ K(3.107)

rk,(j)a ∈ {0; 1} ∀a ∈ A ∪ B,∀k ∈ K(3.108)

λk,(j)i free ∀i ∈ N ,∀k ∈ K

(3.109)

where eki is the new demand vector, defined as follows:

eki =

−1 if i = ok

1 if i = dk

0 otherwise∀i ∈ N , ∀k ∈ K (3.110)

Page 52: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

52 CHAPTER 3. SOLVING THE CNPP

3.5.3 Algorithm steps

The formulation above can be used to develop a solving procedure for the originalproblem; we want to generate a succession of approximating subproblems that will con-verge to the solution of the CNPP.

Initialization a threshold ε is chosen for the stopping criterion (see §3.1.3) and the BigM parameters M and N are calculated (see §3.5.4);

Starting solution An admissible starting solution is found, as for x(0) ∈ Sx and ∆t(0) ∈R;

Initial costs Arc costs are adjusted according to the initial admissible flows vector.

j-th iteration Given the flow vector x(j−1) and the tariff vector t(j−1), solution of theproblem at the (j − 1)-th iteration:

1. The cost vector is determined in function of the flow vector and the tariffvector, as C(j)a , through:

Ca(xa) =

tr0a ·

[1 + α ·

(xaqa

)β]+ t

(j−1)a if a ∈ A

tr0a ·[1 + α ·

(xaqa

)β]if a ∈ B

(3.111)

where x(j−1)a =∑

k∈K xk,(j−1)a .

2. Linear approximating problem denoted by Equations 3.96 - 3.110 is solved inorder to obtain the All-Or-Nothing flow vector rk,(j) and the tariff differencevector ∆t(j) for the current iteration;

3. The F-W descent step is executed in order to determine the flows for the j-th iteration. It consists in the following one-dimensional non-linear researchproblem:

µ(j) ∈ argminµ∈[0,1]ψ(µ) = z[x(j−1) + µ · (r(j) · η − x(j−1))

](3.112)

where µ is a scalar variable. The problem can be solved through the bisectionalgorithm.

4. The values of rk,(j)a , are used to determine the flows by using the followingequation:

xk,(j)a = xk,(j−1)a + µ(j) ·(ηk · rk,(j)a − xk,(j−1)a

)∀a ∈ A ∪ B,∀k ∈ K (3.113)

5. Tariffs are calculated for the current iteration as:

t(j)a = t(j−1)a + ∆t(j)a (3.114)

Page 53: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

3.5. ONE STEP ALGORITHM 53

6. The value of the leader ’s objective is calculated as:

Zl =∑k∈K

∑a∈A

t(j)a · xk,(j)a (3.115)

Stopping criterion The stopping test is executed against the 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 andt(j) the optimum tariff vector associated with it.

3.5.4 Big M parameters

According to a study by Dewez et al. (2008) a non-arbitrary choice of the Big Mparameters in the linearized NPP can lead to a significant performance improvementwithin the computation of several resolution procedures. Specifically, the paper abovedemonstrates the following:Given the quantities:

pij = the cost of a shortest path from i to j using only arcs in B (i.e., a toll-free path)cij = the cost of an arc ijλkj = the cost of a shortest path from origin o(k) to j using only arcs in Bλki = the cost of a shortest path from origin o(k) to j using arcs in A ∪B, for t = 0skj = the cost of a shortest path from j to destination d(k) using only arcs in Bski = the cost of a shortest path from j to destination d(k) using arcs in A∪B, for t = 0.

We have that:

Proposition 1. For every toll arc (i, j) ∈ A and commodity k,

max{0,min{pij − cij , λkj − λki − cij , λ

kd(k) − (λki + cij + skj ), s

ki − skj − cij}} (3.116)

is a valid constant Mkij for the problem.

Proposition 2. maxk∈K{Mkij} is a valid bound for Nij .

Such bounds on the Big M parameters can lead to a better performance in both com-putation time and solution quality. However, since in our congested problem arc costschange at each iteration of the solving algorithm, recalculating all of the bounds aboveat each iteration might result in a loss of performance that could vanificate the improve-ment due to the tighter Big Ms. Thus we decided to bound those parameters to thevalue of the Toll-Free path, which is in any case the final upper bound that is stated inthe paper above, and is much quicker to calculate from a computational point of view.

Page 54: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

54 CHAPTER 3. SOLVING THE CNPP

Page 55: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Chapter 4

Implementation

The present chapter briefly describes how the previously illustrated algorithms havebeen implemented. Most of the coding was done in the C programming language. Theoptimization problems were coded in the Mosel language; interaction between the callingC program and the Xpress solver that handles the models was carried out through theMosel C API. For reference on actual software compilation and usage, see Appendix.

4.1 Program structure

The programs are structured to be as adherent as possible to the original algorithms.Thus, further considerations are to be considered valid for all developed programs. ActualCNPP resolution is carried out in the solve() function, which implements the specificresolution algorithm together with the calls to the function designed to interact with theXpress optimizer. Thus, the common structure the program share is the following:

Initialization: data structures for the CNPP instance are initialized;

Input parsing: data for the CNPP instance is acquired from a XML description file;

Optimizer setting: strings with memory address of the instance data are set to belater used for the optimizer calls;

Solving procedure: specific solving algorithm is implemented. This includes calls tothe Xpress optimizer;

Output: if a proper solution is found for the current CNPP instance, it is shown onscreen and written to an output file;

Debugging features: if activated, inner data structures and optimizer strings will bevisualized on screen, as well as partial results for each iteration of the solvingprocedure.

55

Page 56: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

56 CHAPTER 4. IMPLEMENTATION

4.2 Data format: input

The data that the algorithms (and, consequently, the implementations) need to begiven in order to solve the CNPP problem regard the structure of the network and thedetails about the users of the network, or commodities. Particularly, we need to knowthe following details about the network structure:

• Number of nodes

• Number of links

• Link source and destination node and whether the link is one-way only or both-ways (directed or indirected)

• Which links are tariffed and which are not

• Link costs at zero flow

• Link capacity to be able to consider congestion effects on link costs

Regarding the users, we need to know the following details:

• Total number of users on the network

• Amount of demand for each user

• Origin and destination for each user

We chose to transpose these data structure into a custom XML-based file formatinstead on relying on existing graph description markup languages such as GraphML orXGMML. This was mostly due to a lack of the needed structures in the considered for-mats (no existing description language provided a proper structure to describe networkusers, for example). The format we developed is extremely simple and functional, andcan be properly used for input files aimed to solve any Network Pricing Problem relatedproblem.

Here is a brief description of the used format:

1. Document root: all of the NPP instance information is enclosed in the <npp></npp> tags.

2. The <gdata> (graph data) section: contains the dimension of the problem (numberof nodes, number of tariffed arcs, number of non tariffed arcs, number of commodi-ties). As an alternative, this section might be omitted, at the expense of having toparse the input file two times or of having to use more dynamic data structures inthe host code.

Page 57: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

4.2. DATA FORMAT: INPUT 57

<gdata><nodes>200</nodes><tarcs>75</tarcs><farcs>250</farcs><kcom>16</kcom></gdata>

3. The <graph> section: contains nodes and arcs data; nodes and arcs are given anID in order to avoid ambiguities.

<graph><node><id>n0</id></node><node><id>n1</id></node>......<arc><id>a28</id><src>n0</src><dst>n1</dst><cost>98</cost><capacity>16</capacity><directed>true</directed><tariffed>false</tariffed></arc>......</graph>

4. The <commodities> section: contains the required data for each user of the network(source and destionation node, demand and a user ID in order to avoid ambiguities).

<commodities><user><id>k0</id><src>n38</src><dst>n169</dst><dem>13</dem></user>....</commodities>

Page 58: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

58 CHAPTER 4. IMPLEMENTATION

A complete example of our XML file format for a small CNPP instance is given inthe Appendices of the current work.

4.3 Data format: inner representation

The CNPP instance is internally represented by a struct construct, that holds boththe problem data and the problem variables. We chose to keep the tariffed arcs dataseparated from those of the non-tariffed ones, since this allows for easier handling inboth the C code and the Mosel code. By using pointers to the mentioned structure it ispossible to handle all of the necessary operations and data passing between the functionsof the software efficiently and without any unnecessary delay.The data that this structure needs to handle is the following (in square brackets isreported the C data type chosen for each datum):

• nodes/arcs incidence matrices for the graph: A1 (tariffed arcs) and A2 (non tariffedarcs). [Integer];

• zero flow arc cost vectors: c0 (tariffed arcs) and d0 (non tariffed arcs) [Double];

• arc capacity vectors: Q1 (tariffed arcs) and Q2 (non tariffed arcs) [Integer];

• demand vector b (one entry per commodity)[Integer];

• nodes/commodity origin/destionation matrix e. [Integer];

The variables that the structure handles are the following:

• x1 and x2, arc flows. [Double];

• r1 and r1, integer arc flows (binary for the one-step algorithm), solution of thej-th subproblem. [Integer];

• Tariff vector t. [Double];

• cost vectors: c (tariffed arcs) and d (non tariffed arcs). [Double];

• objective value: Zl. [Double];

• aggregated values: x1_ag and x2_ag that represent the total amount of flow on asingle arc. [Double];

• optimal values: t*, x1*, x2*, Zl*. [Double];

• auxiliary variables: epsilon, Tmax,M, N (these last two for the one-pass algorithmonly). [Double];

• step size for the current iteration: mu_j. [Double].

Page 59: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

4.4. INTERACTION WITH THE XPRESS SOLVER 59

4.4 Interaction with the Xpress solver

There are two viable solution that make interaction between a high level languageprogram and a .mos model possible. The first one, known as BCL, relies on buildingand executing the model from inside the host code through the proper function calls.This solution is particularly suitable if your algorithm requires to dynamically add orremove constraints, or dynamically change parameters and so on. Since this is not ourcase, whe preferred the embedded mode, whick keeps host code and .mos file separated,and allows interaction and data passing between the compiled binaries through memorypointers and function calls to the Xpress solver.

Figure 4.1: Data flow diagram

An example of a calling function for executing a Mosel compiled model (.bim file)from within a host C code is the following:

int solveLP (void) {

XPRMmodel mod;int result;

Page 60: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

60 CHAPTER 4. IMPLEMENTATION

// Initialize Mosel //if(XPRMinit()) {printf("could not initialize XPRM\n");return 2;}// Load a BIM file //if((mod=XPRMloadmod("LP.bim",NULL))==NULL) {printf("could not load LP.bim module into XPRM\n");return 3;}// Run the model //if(XPRMrunmod(mod, &result, pbs.paramsLP)) {printf("could not run model LP.bim successfully\n");return 4;}// Test whether a solution is found //if((XPRMgetprobstat(mod)&XPRM_PBRES)!=XPRM_PBOPT) {printf("No solution found for LP problem\n");return 5;}

XPRMresetmod(mod);XPRMunloadmod(mod);

return 0;}

In order to assign parametrized data in the .mos file, it is necessary to declare first allof the structures in the parameters section of the file, and only then to acquire themthrough the inizializations from "raw:" directive. Symmetrically, it is possible toreturn the model execution results (i.e. solution values, objetctive value etc.) throughthe initializations to "raw:" directive, at the end of the model. In fact, the rawMosel driver allows to access, read and write data directly from and to the specifiedmemory position, in a C like data representation.

For example, in order to pass a A1 parameter defined as follows in the Mosel file:

parametersPB_A1 = ""...end-parametersinitializations from "raw:"A1 as PB_A1

Page 61: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

4.5. DATA OUTPUT 61

...end-initializations

it is necessary to specify the corresponding memory pointer and datum size in the hostcode, through a string like:PB_A1="mem:0x12345678/8"

where:

• mem specifies that what follows is a memory address;i

• 0x12345678 is the memory pointer to the datum;

• /8 specifies the dimension in bytes of the datum;

Such strings must be specified for each of the parameters that we want to pass from thehost code to the Mosel code and vice versa. An efficient solution is to build all of thesestrings once and for all at the beginning of the code execution, and to recall them anytime it is necessary to execute a Mosel model.

4.5 Data output

If an optimal solution is found for the current CNPP instance, the resulting optimumvalues for arc flows x1, x2 and for arc costs at equilibrium c, d, together with tariffs tand leader profit Zl will be printed on screen in human readable form.

Page 62: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

62 CHAPTER 4. IMPLEMENTATION

Figure 4.2: Human readable output

Page 63: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

4.6. NETWORK GENERATION 63

4.6 Network generation

The networks used to test the presented algorithms are randomly generated, accordingto the characteristics described in the present section.Given the parameters:

• k: number of commodities;

• n: number of nodes;

• ta: number of tariffed arcs;

• nta: number of non tariffed arcs;

And the constants:

• maxArcCost (upper bound for arc cost and arc length) = 100;

• maxDemand (upper bound for commodity demand/cardinality ) = 20;

• capacity (capacity of each arc) = 2 ∗ (avg. demand on k);

All the generated networks respect the following constraints in order to have a wellbalanced complexity:

• k ·√n < nta < n · (n− 1)

• 1 ≤ ta < n · (n− 1) · nta

• k < (n · n) 16

In order to avoid loops, the following constraints must also be respected:

• All the commodity source nodes must be chosen in the first quarter of the nodeset;

• All the commodity destination nodes must be chosen in the last quarter of thenode set (thus they will never coincide with the corresponding source node);

• No arc can connect a node to itself;

• No arc can connect an intermediate node to a commodity source node;

• No arc can connect a commodity destination node to an intermediate node;

Nodes are connected through random path generation, according to the following rules:

• For all commodities from 1 to k − 1 a random path of non tariffed arcs is createdbetween n · k random nodes (destinantion node is exluded). The last node in thissequence is then connected to the destination.

Page 64: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

64 CHAPTER 4. IMPLEMENTATION

• For the k-th commodity the random path is created in order to connect all theremaining nodes. The last node in this sequence is then connected to the destina-tion.

• If the number of arcs so far generated is lower than nta, the remaining arcs arerandomly generated;

• Tariffed arcs are randomly generated after the path-cration procedure. Their lengthand cost is proportional to maxArcCost/3 ;

The rules above imply that the generated networks are acyclical and that a toll-free pathalways exists for each commodity.

Page 65: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Chapter 5

Tests and results

In the present chapter we will present some numerical results from the tests we per-formed on the previously described algorithms. Both algorithms were tested on the samesets of graphs, on which we considered both the quality of the solution and the runningtime needed to obtain it.

All tests were run on a Intel Xeon quad core machine running at 2.27 GHz, with 16GB of Ram, running a 64 bit Ubuntu Linux 10.4 operating system and the Fico Xpressoptimization suite v.7.3.

5.1 Data

All tests were performed on the same sets of networks. All networks were randomlygenerated according to the characteristics exposed in Section 4.6 and with the followingdimensions:

• 50 nodes, 250 links, number of users: 1, 5; tariffed links ratio: 5% , 10%, 15%,20%.

• 100 nodes, 500 links, number of users: 1, 10; tariffed links ratio: 5% , 10%, 15%,20%.

• 200 nodes, 1000 links, number of users: 1; tariffed links ratio: 5% , 10%, 15%,20%.

Tests were run on 10 networks per each of the above combinations.

65

Page 66: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

66 CHAPTER 5. TESTS AND RESULTS

5.2 Statistics: average resolution time

In the present section average running time data is presented for the two algorithmsfor different network sizes. All tests were performed applying the same precision for thetermination criterion for both programs (this issue is better explained in sec. 5.5).Experimental results show that on average running time is similar for both algorithmswhile the number of tariffed arcs on the network stays below 15% of the total. As thisamount grows (our tests go up to 20% of tariffed links) One Step algorithm averageresolution time grows significantly higher than resolution time for Two Steps algorithm.

Average execution time for a 50 nodes, 250 links network with 1 user, ε=0.5

Tariffed links: 5% 10% 15% 20%One Step 0m 0s 878ms 0m 0s 708ms 0m 1s 456ms 0m 1s 51msTwo Steps 0m 0s 626ms 0m 0s 541ms 0m 1s 695ms 0m 1s 75ms

Page 67: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.2. STATISTICS: AVERAGE RESOLUTION TIME 67

Average execution time for a 100 nodes, 500 links network with 1 user, ε=0.5

Tariffed links: 5% 10% 15% 20%One Step 0m 2s 870ms 0m 1s 225ms 0m 6s 347ms 0m 17s 121msTwo Steps 0m 3s 480ms 0m 1s 358ms 0m 3s 841ms 0m 9s 946ms

Page 68: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

68 CHAPTER 5. TESTS AND RESULTS

Average execution time for a 200 nodes, 1000 links network with 1 user, ε=0.5

Tariffed links: 5% 10% 15% 20%One Step 0m 6s 638ms 0m 6s 64ms 0m 14s 758ms 0m 20s 670msTwo Steps 0m 3s 764ms 0m 13s 338ms 0m 18s 805ms 0m 26s 123ms

Page 69: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.2. STATISTICS: AVERAGE RESOLUTION TIME 69

Average execution time for a 50 nodes, 250 links network with 5 users, ε=5

Tariffed links: 5% 10% 15% 20%One Step 0m 40s 517ms 1m 0s 600ms 1m 47s 762ms 1m 54s 390msTwo Steps 0m 7s 345ms 0m 24s 507ms 0m 19s 513ms 0m 21s 704ms

Page 70: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

70 CHAPTER 5. TESTS AND RESULTS

Average execution time for a 100 nodes, 500 links network with 5 users, ε=10

Tariffed links: 5% 10% 15% 20%One Step 0m 28s 373ms 3m 18s 572ms 2m 15s 802ms 10m 5s 618msTwo Steps 1m 10s 354ms 1m 28s 682ms 1m 26s 38ms 1m 36s 35ms

Page 71: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.2. STATISTICS: AVERAGE RESOLUTION TIME 71

Average execution time for a 50 nodes, 250 links network with 10 users, ε=50

Tariffed links: 5% 10% 15% 20%One Step 1m 10s 173ms 5m 49s 626ms 7m 18s 97ms 12m 36s 892msTwo Steps 0m 44s 794ms 1m 33s 545ms 1m 48s 532ms 2m 30s 108ms

Page 72: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

72 CHAPTER 5. TESTS AND RESULTS

Average execution time for a 100 nodes, 500 links network with 10 users,ε=50

Tariffed links: 5% 10% 15% 20%One Step 4m 19s 748ms 11m 48s 152ms 10m 40s 655ms 27m 54s 387msTwo Steps 0m 25s 756ms 1m 4s 88ms 3m 10s 02ms 3m 12s 750ms

Page 73: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.3. SOLUTION QUALITY: EQUAL SOLUTIONS 73

5.3 Solution quality: equal solutions

Given the structure of the NPP, and, consequently the CNPP problem, in particularthe non convex objective function for the leader, it is difficult to state whether thesolution found by our implementation is indeed the best possible for that specific instance.Heuristic algorithms, such as those illustrated in the present work, rely heavily on a"best effort" strategy where a gradual improvement of an initial solution is attempted.Consequently, different algorithmic strategies can sometimes lead to different solutionson some specific instances.In our experiments, the percentage of equal or close (different by no more than 15% ofthe bigger of the two values) solutions from the two algorithms are the following:

Tariffed links: 5% 10% 15% 20%One user, 50 nodes, 250 links 60% 60% 50% 50%One user, 100 nodes, 500 links 70% 50% 50% 30%One user, 200 nodes, 1000 links 50% 70% 40% 30%5 users, 50 nodes, 250 links 60% 40% 10% 40%5 users, 100 nodes, 500 links 30% 20% 30% 10%10 users, 50 nodes, 250 links 50% 30% 30% 20%10 users, 100 nodes, 500 links 40% 40% 40% 30%

Table 5.1: Percentage of comparable results for the two algorithms

As we can desume from the above data, what causes the solutions to become moreheterogeneous between the two algorithms is the increase of complexity of the network,together with the percentage of tariffed links.

Page 74: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

74 CHAPTER 5. TESTS AND RESULTS

5.4 Solution quality: different solutions

Let us now consider alone the instances for which the two algorithms provide differ-ent solutions: we are not considering solutions that are just slightly different, specificallybelow 15% of the value of the best one. We want to investigate which of the two algo-rithms provides the overall best results, that is, higher value for the leader’s objectiveassigning to both programs the same precision for the stopping criterion.

Note that in the following table "1" refers to One Step program, "2" refers to TwoSteps program, the percentage is an average on "how better" the results are for theindicated algorithm for that test set, the dash indicates a draw result, which means thathalf of the networks from that set gave better results through the One Step algorithm,the other half from the Two Steps algorithm.

Tariffed links: 5% 10% 15% 20%One user, 50 nodes, 250 links 1,(75%) 1,(99%) 1,(81%) 2,(65%)One user, 100 nodes, 500 links 1,(52%) 2,(47%) - 2,(69%)One user, 200 nodes, 1000 links 2,(87%) 1,(63%) 2,(79%) 2,(67%)5 users, 50 nodes, 250 links 1,(77%) 2,(34%) 1,(52%) 2,(34%)5 users, 100 nodes, 500 links 1,(72%) 1,(36%) 2,(55%) 2,(51%)10 users, 50 nodes, 250 links 1,(52%) 1,(57%) 1,(55%) 2,(32%)10 users, 100 nodes, 500 links - 2,(40%) 1,(34%) 2,(18%)

Table 5.2: solution quality

These results show that the One Step algorithm overperforms the two Steps algo-rithm on simpler networks. As the complexity of the instance increases, however, thissituation reverts.

Page 75: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.5. STOPPING CRITERION PRECISION 75

5.5 Stopping criterion precision

Solution quality and resolution time, as stated in section 3.1.3, depend heavily onthe stopping criterion of the algorithm and its precision.In our implementation the stopping test is the same for both programs and is a threshold-based criterion. Specifically, it checks whether an equilibrium is found for the follower’sproblem by checking the difference between the values of the convex objective and itslinear approximation for the current iteration against a threshold value, ε, that is givenas an input parameter by the user (in the case of the Two Steps program, a similar testis run also for the leader’s objective as a stopping criterion for the outer iterations).We ran another batch of tests in order to better understand how heavily the requiredprecision for the stopping test can influence the time needed to solve an instance of anetwork.We chose five reference values for ε (5, 10, 50, 100) and ran the tests on the 100 nodesnetworks with 10 users and 20% of tariffed links, which are the most comlpex in ourexperimental set. Another viable choice for the ε parameter could be a percentage-basedvalue (i.e. a percentage of the value of the leader’s objective) however for our tests wepreferred absolute values to make the tests more homogeneous. Since all the networksused for the tests are randomly generated with the same ranges for link cost values andsince the reference value for terminating the algorithm is the difference between the valueof the follower’s convex objective and the linear objective, our choice of absolute valuesfor ε is appropriate for the purpose of this test.

As our results illustrate, the Two Steps algorithms is significatively faster than theOne Step algorithm. This implies that, in order to obtain a comparable running timefor the One Step algorithm, it is necessary to give up on a certain amount of precisionat the second level problem.

Page 76: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

76 CHAPTER 5. TESTS AND RESULTS

Value of ε: 100 50 10 5One Step algorithm 8m 17 435ms 27m 54s 387ms 370m 15s 679msTwo Steps algorithm 1m 7s 549ms 3m 12s 750ms 7m 30s 93ms 8m 58s 903ms

Table 5.3: Running time (in seconds) for different values of ε on the 100 nodes networkswith 10 users and 20% of tariffed links

Page 77: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

5.6. FINAL CONSIDERATIONS AND FURTHER DEVELOPMENT 77

5.6 Final considerations and further development

In the present work we illustrated a particular type of Network Pricing Problem thattakes congestion into consideration and we developed two procedures for its resolution,namely One Step and Two Steps algorithms. These algorithms were then implementedand their performance were tested against different sets of networks.

What emerged from these tests is that the Two Steps algorithm scales much betteron bigger networks than the One Step algorithm, which, on the other hand, gives betterresults (that is, higher revenues for the leader) on smaller networks. This behavior isdue to the particular structure of the two procedures: in the two Steps algorithm thesecond level problem is solved first; this is a very well known convex problem known asDistributed User Equilibrium for Traffic Assignment for which many solving algorithmsexist. The one we chose to implement, the Frank-Wolfe algorithm, is the simplest andmost generic (it was first developed for solving quadratic problems, then adapted toconvex problems with linear constraints), thus rather inefficient, but it uses a sequenceof linear approximations that are each an instance of a Shortest Path problem, that canbe solved efficiently. The first level problem is instead a Linear Problem, which presentsno "well-known" structure, but the number of times it has to be solved is comparativelysmaller than the iterations of Shortest Path problem that are necessary to solve an in-stance.

On the other hand, the different approach adopted for the One step algorithm, thatis, finding both flows and tariffs at the same time has proven to be surely succesful, atleast on smaller instances: the reason why this seems not to hold any more on bigger net-works is not clear and should be investigated in future research. What instead emergesclearly from our numerical experiments is that a Frank-Wolfe-like procedure, based onlinear approximations is definitely not a good approach, especially when high precisionfor the stopping criterion is required. The time required to solve the linear problem thatrepresents the current iteration of the algorithm grows at such a high rate that evensolving instances of 10 users and 500 links required hours. The cause for this lies in thefact that this LP, that has to be solved a considered amount of times, has no well-knownstructure and consequently no well-known efficient and dedicated algorithm, as opposedto the Shortest Path problem used in the Two Steps algorithm.

Despite proving quite efficient however, the Two-Steps algorithm has quite some roomfor improvement: as discussed in section 3.4.2 one obvious step forward could be replac-ing the Frank-Wolfe procedure for the second level resolution with a more specific andmore efficient algorithm. Another issue that emerged during our computational testswith this algorithm is its high sensitivity to numerical imprecision, which resulted in avery high rate of instances that were declared "infeasible" for the LP that solves the firstlevel problem. This issue was solved by granting a certain level of "tolerance" throughdedicated slack variables. Such level of tolerance was low enough not to alter the finalsolution in any significant way. However improving the numerical precision of the algo-

Page 78: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

78 CHAPTER 5. TESTS AND RESULTS

rithm is a necessary step for further development.

One further direction that could definitely be worth investigating in the future istrying to merge the two approaches presented in this work, by developing a procedurethat can reach efficiently and quickly an equilibrium for the follower’s problem while atthe same time adapting the tariffs.In conclusion, the present work has investigated a problem for which very little literatureexists and has opened several scenarios for further development towards an efficientprocedure for its resolution.

Page 79: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Appendix A

Input file example

What follows here is a complete input file example that represent the simple directedgraph below. Node labels are indicated as n0...n5, arc capacity is indicated in parenthesesand t close to an arc cost indicates that the arc is tariffed.

The corresponding XML description is the following:

<?xml version="1.0" encoding="UTF-8"?><npp><gdata><nodes>6</nodes><tarcs>4</tarcs><farcs>6</farcs><kcom>1</kcom></gdata>

<graph>

79

Page 80: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

80 APPENDIX A. INPUT FILE EXAMPLE

<node><id>n0</id></node><node><id>n1</id></node><node><id>n2</id></node><node><id>n3</id></node><node><id>n4</id></node><node><id>n5</id></node>

<arc><id>a0</id><src>n0</src><dst>n1</dst><cost>1</cost><capacity>5</capacity><directed>true</directed><tariffed>true</tariffed></arc>

<arc><id>a1</id><src>n0</src><dst>n5</dst><cost>15</cost><capacity>12</capacity><directed>true</directed><tariffed>false</tariffed></arc>

<arc><id>a2</id><src>n0</src><dst>n2</dst><cost>2</cost><capacity>4</capacity><directed>true</directed><tariffed>false</tariffed></arc>

Page 81: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

81

<arc><id>a3</id><src>n1</src><dst>n2</dst><cost>4</cost><capacity>4</capacity><directed>true</directed><tariffed>false</tariffed></arc>

<arc><id>a4</id><src>n1</src><dst>n3</dst><cost>2</cost><capacity>5</capacity><directed>true</directed><tariffed>false</tariffed></arc>

<arc><id>a5</id><src>n2</src><dst>n3</dst><cost>2</cost><capacity>6</capacity><directed>true</directed><tariffed>false</tariffed></arc>

<arc><id>a6</id><src>n2</src><dst>n4</dst><cost>1</cost><capacity>6</capacity><directed>true</directed><tariffed>true</tariffed></arc>

<arc><id>a7</id><src>n3</src><dst>n4</dst><cost>2</cost><capacity>5</capacity><directed>true</directed><tariffed>true</tariffed></arc>

Page 82: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

82 APPENDIX A. INPUT FILE EXAMPLE

<arc><id>a8</id><src>n3</src><dst>n5</dst><cost>1</cost><capacity>6</capacity><directed>true</directed><tariffed>true</tariffed></arc>

<arc><id>a9</id><src>n4</src><dst>n5</dst><cost>3</cost><capacity>7</capacity><directed>true</directed><tariffed>false</tariffed></arc>

</graph>

<commodities><user><id>k0</id><src>n0</src><dst>n5</dst><dem>11</dem></user></commodities>

</npp>

Page 83: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Appendix B

Programs usage

This section gives a brief explanation on how to compile the developed software andhow to execute it on a CNPP instance input file. We refer to Linux as the operatingenvironment, with gcc as compiler and assume that the Xpress solver is installed in the/opt/xpressmp directory.

Compiling

The source directories contain the following files:./one/

LP.mosone.ccompile.sh

./two/FP.mosLP.mostwo.ccompile.sh

In order to compile the programs it is necessary to execute the compile.sh scriptcontained in each directory, which executes, in succession, the following commands:

$ /opt/xpressmp/bin/mosel -c "compile FP.mos"$ /opt/xpressmp/bin/mosel -c "compile LP.mos"$ gcc -I/opt/xpressmp/include/ -c two.c$ gcc -I/opt/xpressmp/include/ -L/opt/xpressmp/lib/ -o two_bin two.o -lxprm_mc

The following files will be obtained:./one/

FP.bimLP.bim

83

Page 84: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

84 APPENDIX B. PROGRAMS USAGE

one_bin

./two/FP.bimLP.bimtwo_bin

Executing

The syntax to execute any of the programs (we use one_bin as an example here) is thefollowing:

$ ./one_bin inputfile.xml epsilon [--debug]

where inputfile.xml is a CNPP instance in the previously described XML format,epsilon is the value for the required precision for the stopping test and --debug is anoptional parameter that prints on screen the results for each iteration (default behaviourprints the final solution only).

Page 85: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Bibliography

Bar-Gera, H. (2002), ‘Origin-based algorithm for the traffic assignment problem’, Trans-portation Science 36(4), 398–417.URL: http://transci.journal.informs.org/cgi/doi/10.1287/trsc.36.4.398.549

Bar-Gera, H. and Boyce, D. (2006), ‘Solving a non-convex combined travel forecastingmodel by the method of successive averages with constant step sizes’, TransportationReasearch Part B 40, 351–367.

Bertsekas, D. P. (1995), Nonlinear Programming, Athena Scientific, Belmont, MA.

Boyce, D., Ralevic-Dekic, B. and Bar-Gera, H. (2004), ‘Convergence of traffic allocations:how much is enough?’, Journal of Transportation Engineering 130(1), 49–55.

Bracken, J. and McGill, J. (1973), ‘Mathematical programs with optimization problemsin the constraints’, Operations Research (21), 37–44.

Brotcorne, L., Labbé, M., Marcotte, P. and Savard, G. (2000), ‘A bilevel model and solu-tion algorithm for a freight tariff-setting problem’, Transportation Science 34(3), 289–302.

Brotcorne, L., Labbé, M., Marcotte, P. and Savard, G. (2001), ‘A bilevel model for tolloptimization on a multicommodity transportation network’, Transportation Science35(4), 345–358.

Daganzo, C. F. (1977a), ‘On the traffic allocation problem with flow dependent costs-I’,Transportation Reasearch 11, 433–437.

Daganzo, C. F. (1977b), ‘On the traffic allocation problem with flow dependent costs-II’,Transportation Reasearch 11, 439–441.

Damberg, O., Lundgren, J. T. and Patriksson, M. (1996), ‘An algorithm for the stochasticuser equilibrium problem.’, Transportation Reasearch Part B 30(2), 115–131.

Dewez, S., Labbé, M., Marcotte, P. and Savard, G. (2008), ‘New formulations and validinequalities for a bilevel pricing problem’, Operation Research Letters 36(2), 141–149.

Frank, M. and Wolfe, P. (1956), ‘An algorithm for quadratic programming’, Naval Re-search Logistic Quarterly 3 Part 1, 95–110.

85

Page 86: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

86 BIBLIOGRAPHY

Fukushima, M. (1984), ‘A modified Frank-Wolfe algorithm for solving the traffic alloca-tion problem’, Transportation Reasearch Part B 18(2), 169–177.

Gentile, G. and Noekel, K. (2009), ‘Linear user cost equilibrium: the new algorithm fortraffic assignment in visum’, VISUM 11 Manual.

Hansen, P., Jaumard, B. and Savard, G. (1992), ‘A new branch-and-bound rules forlinear bilevel programming’, SIAM Journal on Scientific and Statistical Computing5(13), 1194–1217.

Hearn, D. W. and Ribera, J. (1981), ‘Convergence of the Frank-Wolfe method for cer-tain bounded variable traffic allocation problem’, Transportation Reasearch Part B15(6), 437–442.

Heilporn, G. (2008), Network pricing problems: complexity, polyhedral study and solu-tion approaches, PhD thesis.

Jayakrishnan, R., Tsai, W., Prashker, J. and Rajadhyaksha, S. (1994), ‘A faster path-based algorithm for traffic allocation’, Transportation Research Record (TRR), Journalof the Transportation Research Board 1443, 75–83.

Jeroslow, R. (1985), ‘The polynomial hierarchy and a simple model for competitiveanalysis’, Mathematical Programming 32, 146–164.

Julsain, H. (1998), Tarification dans les réseaux de télécommunications: une approchepar programmation mathématique à deux niveaux, Master’s thesis, Ecole Polytech-nique, Montréal.

Labbé, M., Marcotte, P. and Savard, G. (1998), ‘A bilevel model of taxation and itsapplication to optimal highway pricing’, Management Science 44(12), 1608–1622.

Larsson, T. and Patriksson, M. (1992), ‘Simplicial decomposition with disaggregatedrepresentation for the traffic allocation problem’, Transportation Science 26, 4–17.

LeBlanc, L. J., Helgason, R. V. and Boyce., D. (1985), ‘Improved efficiency of the Frank-Wolfe algorithm for convex network programs’, Transportation Science 19(4), 445–462.

LeBlanc, L. J., Morlok, B. and Pierskalla, W. (1975), ‘An efficient approach to solving theroad network equilibrium traffic allocation problem’, Transportation Research 9, 309–318.

Luo, Z., Pang, J. and Ralph, D. (1996), Mathematical Programs With Equilibrium Con-straints, Cambridge University Press.URL: http://books.google.it/books?id=plmd_XA9VkUC

Lupi, M. (1986), ‘Convergence of the Frank-Wolfe algorithm in transportation networks’,Civil Engineering and Environmental Systems 3(1), 7–15.

Page 87: Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

BIBLIOGRAPHY 87

Marcotte, P. (1986), ‘Network design problem with congestion effects: A case of bilevelprogramming’, Mathematical Programming 34(2), 142–162.URL: http://portal.acm.org/citation.cfm?id=9532.9534

Patriksson, M. (1994), The traffic assignment problem: models and methods, Topics intransportation, VSP.URL: http://books.google.it/books?id=pzVPAAAAMAAJ

Petersen, E. R. (1975), ‘A primal-dual traffic assignment algorithm’, Management Sci-ence 22(1), 87–95.URL: http://EconPapers.repec.org/RePEc:inm:ormnsc:v:22:y:1975:i:1:p:87-95

Polyak, B. T. (1990), ‘New method of stochastic approximation type’, Automation andRemote Control 51(7), 937–946.

Pro (2009), On the accurate convergence of deterministic assignment when comparingscenarios for large networks: investigating the LUCE algorithm, Vol. 187-193, L. Mus-sone, U. Crisalli, Maggioli Editore, Rimini, Italy.

Sheffi, Y. (1985), Urban Transportation Networks: Equilibrium Analysis With Mathe-matical Programming Methods, Prentice Hall.URL: http://web.mit.edu/sheffi/www/urbanTransportation.html

Shimizu, K. and Aiyoshi, E. (1981), ‘A new computational method for Stackelberg andmin-max problems by use of a penalty method’, 26, 460–466.

Shimizu, K., Ishizuka, Y. and Bard, J. (1997), Nondifferentiable and Two-Level Mathe-matical Programming, Kluwer Academic Publishers.URL: http://books.google.it/books?id=vHy_uUnPQTYC

Transportation Research Board (2000), Highway Capacity Manual 2000, National Re-search Council, Washington, D.C.

Vicente, L. and Calamai, P. (1994), ‘Bilevel and multilevel programming: A bibliographyreview’, Journal of Global Optimization (5), 291–306.

Vicente, L., Savard, G. and Júdice, J. (1994), ‘Descent approaches for quadratic bilevelprogramming’, Journal of Optimization Theory and Applications 81(2), 379–399.

Wardrop, J. G. (1952), ‘Some theoretical aspects of road traffic research’, ICE Proceed-ings: Engineering Divisions 1(3), 325–362.

Weintraub, A., Ortiz, C. and Gonzalez, J. (1985), ‘Accelerating convergence of the Frank-Wolfe algorithm’, Transportation Reasearch Part B 19(2), 113–122.

Yang, H., Zhang, X. and Meng, Q. (2004), ‘Modeling private highways in networks withentry-exit based toll charges’, Transportation Reasearch Part B 38(3), 191–213.