Your SlideShare is downloading. ×
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

1,042
views

Published on

Thesis for the final dissertation for my MS degree in Computer Science & Engineering. …

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.

Published in: Technology, Business

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,042
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Università degli Studi di Trieste FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Curriculum Ingegneria Informatica Approximate algorithms for the Network Pricing Problem with Congestion Tesi di Laurea in Ricerca OperativaRelatore: Laureanda:Chiar.mo Prof. Desirée RigonatLorenzo Castelli Sessione Estiva Anno Accademico 2011 - 2012
  • 2. 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!
  • 3. 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.
  • 4. Contents1 The Network Pricing Problem 11 1.1 Bilevel programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.2 The Network Pricing Problem (NPP) . . . . . . . . . . . . . . . . . . . . . 12 1.3 The bilevel formulation of the NPP . . . . . . . . . . . . . . . . . . . . . . 12 1.3.1 The Tmax upper bound . . . . . . . . . . . . . . . . . . . . . . . . 13 1.3.2 Complexity of the NPP . . . . . . . . . . . . . . . . . . . . . . . . 14 1.4 Linearization scheme for the NPP . . . . . . . . . . . . . . . . . . . . . . . 14 1.4.1 From bilevel NPP to single level NPP . . . . . . . . . . . . . . . . 14 1.4.2 From bilinear NPP to linear NPP . . . . . . . . . . . . . . . . . . . 162 The Congested Network Pricing Problem 19 2.1 Congestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.2 CNPP lower level: traffic assignment problem . . . . . . . . . . . . . . . . 20 2.2.1 Assignment hypotheses . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2.2 Taking congestion into account: D.U.E. Assignment . . . . . . . . 21 2.2.3 Another type of equilibrium: System Optimum . . . . . . . . . . . 22 2.2.4 Cost functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2.2.5 Second level of the CNPP: flows assignment . . . . . . . . . . . . . 23 2.3 First level of the CNPP: leader profits . . . . . . . . . . . . . . . . . . . . 25 2.4 Reformulating the CNPP . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 2.4.1 From bilevel CNPP to single level CNPP . . . . . . . . . . . . . . 26 2.4.2 From bilinear CNPP to Mixed Integer non-linear CNPP . . . . . . 27 2.4.3 Complexity of the CNPP . . . . . . . . . . . . . . . . . . . . . . . 303 Solving the CNPP 33 3.1 The Conditional Gradient method (Frank-Wolfe Algorithm) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.1 Applying Frank-Wolfe to the D.U.E. assignment problem . . . . . 33 3.1.2 F-W algorithm steps . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.1.3 Stopping criterion . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.2 Convergence conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3 Accelerating convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4 Two-steps algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 7
  • 5. 3.4.1 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.2 Algorithm improvements . . . . . . . . . . . . . . . . . . . . . . . . 41 3.5 One step algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.5.1 One-level CNPP through the duality theory . . . . . . . . . . . . . 46 3.5.2 Linearization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.5.3 Algorithm steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 3.5.4 Big M parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . 534 Implementation 55 4.1 Program structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 4.2 Data format: input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 4.3 Data format: inner representation . . . . . . . . . . . . . . . . . . . . . . . 58 4.4 Interaction with the Xpress solver . . . . . . . . . . . . . . . . . . . . . . . 59 4.5 Data output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 4.6 Network generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635 Tests and results 65 5.1 Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 Statistics: average resolution time . . . . . . . . . . . . . . . . . . . . . . . 66 5.3 Solution quality: equal solutions . . . . . . . . . . . . . . . . . . . . . . . 73 5.4 Solution quality: different solutions . . . . . . . . . . . . . . . . . . . . . . 74 5.5 Stopping criterion precision . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.6 Final considerations and further development . . . . . . . . . . . . . . . . 77A Input file example 79B Programs usage 83
  • 6. 9Introduction 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.
  • 7. 10
  • 8. Chapter 1The 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: min F (x, y) (1.1) x,y s.t. G(x, y) ≤ 0 (1.2) y ∈ arg min f (x, y) (1.3) y s.t. g(x, y) ≤ 0 (1.4) Note that the formulation above assumes that if there are multiple optimal 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
  • 9. 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 N P-hard by Jeroslow (1985). Hansen et al. (1992) prove strongN P-hardness. Vicente et al. (1994) strengthen these results and prove that merely check-ing strict or local optimality is strongly N P-hard.1.2 The Network Pricing Problem (NPP) Let us define a transportation network as a set of nodes (cities) and a set of arcs(routes) linking some of these nodes together. At the upper and lower level, consider 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 .
  • 10. 1.3. THE BILEVEL FORMULATION OF THE NPP 13Let 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:  k  η if i = o(k) bk = i −η k if i = d(k) ∀i ∈ N , ∀k ∈ K (1.5) 0 otherwise  where η k represents the number of users of commodity k.Finally xk denotes the number of users of commodity k on arc a ∈ A ∪ B (that is, the aamount of flow on arc a for the origin/destination pair k). The NPP can thus be formulated as a bilevel program with bilinear objective func-tions and linear constraints, where the flows xk denote the optimal solution of the second alevel problem parametrized by the upper level toll vector t. max t a · xk a (1.6) t,x k∈K a∈A s.t. min ( (ca + ta ) · xk + a da · xk ) a (1.7) x k∈K a∈A a∈B xk a − xk a = bk i ∀k ∈ K, ∀i ∈ N (1.8) a=i+ ∈A∪B a=i− ∈A∪B xk ≥ 0 a ∀k ∈ K, ∀a ∈ A ∪ B (1.9)1.3.1 The Tmax upper bound It is usually assumed that there cannot exist a toll setting scheme that 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
  • 11. 14 CHAPTER 1. THE NETWORK PRICING PROBLEMnot 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 T max 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 ≤ T max ∀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 stronglyN P-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
  • 12. 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 xk exists. Thus the dual problem will ahave as many dual constraints associated with each arc and each commodity: λk − λk ≤ ca + ta i j ∀a = (i, j) ∈ A, ∀k ∈ K (1.11) λk − λk ≤ da i j ∀a = (i, j) ∈ B, ∀k ∈ K (1.12) Where i and j are respectively the head and tail nodes for arc a ∈ A ∪ B.Moreover, since the primal constraints of flow conservation are equalities, the correspond-ing variables λk are free. i Primal-dual feasibility: the dual objective of the second level problem is: max η k λkk − d η k λkk o (1.13) k∈K k∈K According to the strong duality theorem, if: 1. vector x is a feasible solution for the primal problem, ¯ ¯ 2. vector λ is a feasible solution for the dual problem, 3. the values of both the primal and the dual objective function coincide, ¯ then the vectors x and λ are optimal solutions for both of the problems. ¯Thus we can substitute the second level objective with a constraint that imposes equalitybetween the values of the primal and the dual objective, which implies optimality: Zprimal = Zdual (1.14) that is: (ca + ta ) · xk + a da · xk = η k · λkk − λkk a d o ∀k ∈ K (1.15) a∈A a∈B The resulting problem, equivalent to the NPP as described previously, is thus thefollowing:
  • 13. 16 CHAPTER 1. THE NETWORK PRICING PROBLEM max t a · xk a (1.16) t,x k∈K a∈A s.t. (ca + ta ) · xk + a d a · xk = a a∈A a∈B k =η · λkk d − λkk o ∀k ∈ K (1.17) xk − a xk = bk a i ∀k ∈ K, ∀i ∈ N (1.18) a=i+ ∈A∪B a=i− ∈A∪B λk − λk ≤ ca + ta i j ∀a = (i, j) ∈ A, ∀k ∈ K (1.19) λk i − λk j ≤ da ∀a = (i, j) ∈ B, ∀k ∈ K (1.20) k xa ≥0 ∀k ∈ K, ∀a ∈ A ∪ B (1.21) ta ≥ 0 ∀a ∈ A (1.22) λk i free ∀i ∈ N , ∀k ∈ K (1.23)1.4.2 From bilinear NPP to linear NPP The problem obtained so far still contains bilinear terms in both the objective 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 · xk . The binary variable is used to re-define the integer avariable. 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: k 1 if a ∈ A ∪ B belongs to the minimum cost path for commodity k ∈ K ra = 0 otherwise (1.24) Thus resulting in: xk = η k · ra a k (1.25) The following constraint for the new variable needs to be added to the problem: k ra ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (1.26) Then, a slack variable is used to re-define the continuous variable. Since each com-modity is associated with a single path (the one with minimum cost), the leader 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:
  • 14. 1.4. LINEARIZATION SCHEME FOR THE NPP 17 k ta if ra = 1 pk = a (1.27) 0 otherwise The following constraints need to be added: pk − ta ≤ 0 a ∀a ∈ A, ∀k ∈ K (1.28) − pk + ta − M · (1 − ra ) ≤ 0 a k ∀a ∈ A, ∀k ∈ K (1.29) pk a −N · k ra ≤0 ∀a ∈ A, ∀k ∈ K (1.30)where M e N are arbitrary big − M parameters.Equation 1.28 forces the value of pk to zero if ta is zero. Equation 1.29 is a Big-M type aconstraint. If ra is one, the constraint must be satisfied. In fact pk will be equal to ta k a kaccording to Equations 1.28 and 1.29. If ra is zero, the constraint is relaxed. Equation1.30 denotes an upper bound for pk . If ra equals one, pk is less than Na . If ra is zero, pk a k a k ais zero too. According to the transformation carried out, the formulation of the single level NPPis as follows: max η k · pk a (1.31) p k∈K a∈A k s.t. ra − ra = ek k i ∀i ∈ N , ∀k ∈ K (1.32) a=i− ∈A∪B a=i+ ∈A∪B (ca · ra + pk ) + k a da · ra = λkk − λkk k d o ∀k ∈ K (1.33) a∈A a∈B k k λi − λj ≤ ca + ta ∀a = (i, j) ∈ A, ∀k ∈ K (1.34) λk − λk ≤ da i j ∀a = (i, j) ∈ B, ∀k ∈ K (1.35) k pa − ta ≤ 0 ∀a ∈ A, ∀k ∈ K (1.36) − pk + ta − M · (1 − ra ) a k ≤0 ∀a ∈ A, ∀k ∈ K (1.37) pk − N · ra ≤ 0 a k ∀a ∈ A, ∀k ∈ K (1.38) ta ≥ 0 ∀a ∈ A (1.39) pk ≥ 0 a ∀a ∈ A, ∀k ∈ K (1.40) k ra ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (1.41) λk i free ∀i ∈ N, ∀k ∈ K (1.42) where ek is the new demand vector, defined as follows: i  −1 if i = ok  k ei = 1 if i = dk ∀i ∈ N, ∀k ∈ K (1.43) 0 otherwise 
  • 15. 18 CHAPTER 1. THE NETWORK PRICING PROBLEM
  • 16. Chapter 2The 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
  • 17. 20 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEMthe 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 congested network, where the arc-cost vector depends upon the arc-flow vector (C = C(f )).
  • 18. 2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM 21 2. Demand-offer interaction: since we are considering a congested network and we are not taking into account any inter-period dynamics on the evolution of the system, we will refer to a User Equilibrium assignment (UE); in this model we will specifically consider the equilibrium configurations where demand, path and arc flows are equal to their respective costs. 3. Path choice behavior: users choose their path preemptively and don’t modify it while traveling. 4. Choice model: it is completely deterministic, because the perceived usefulness is deterministic (not aleatory); all users choose a maximum usefulness path, that is the one with the minimum cost. 5. Classes of users: although it is possible to divide users in classes according to specific criteria, we are considering here as an only differentiation criterion the O/D pair, thus determining a mono-class assignment for the users. 6. Demand characteristics: demand flows are constant in time, since they are not dependent upon cost fluctuations due to congestion. Thus we are considering a rigid demand. Regarding transportation costs, we are considering the following hypotheses: 1. cost functions are separable with respect to the links, that is, the cost of a single ¯ arc is independent from the cost of other arcs (Ca (f ) = Ca (fa ), ∀a ∈ A). 2. non additive path costs will not be taken into consideration; specifically, we will ignore all costs that cannot be obtained through a sum of single-arc costs over the path.2.2.2 Taking congestion into account: D.U.E. Assignment Considering a congested network implies that there is not only dependence of 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
  • 19. 22 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEMchoosing 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: β fa tra (fa ) = tr0a · 1 + α · (2.2) qa
  • 20. 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 + mcf uel (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 to mca (fa ) = mctoll that from now on will simply be referred to as "arc tariff" ta . Cost function is thus reduced to: β fa Ca (fa ) = tr0a · 1 + α · + δ · ta (2.4) qa where δ is a binary parameter with value 1 if the arc has costs, 0 otherwise. Note that the charge included in the cost function specified is considered independentof 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 isthe number of users for the commodity k ∈ K. Let x and t be the flow and tariffs vectorrespectively. We denote by xk the flow on arc a ∈ A ∪ B for the commodity (O/D pair) ak ∈ K; thus the flow on an arc is given by xa = k∈K xk . We denote by Ca (xa ) the arc acost function specified as follows: β xa Ca (xa ) = tr0a · 1 + α · ∀a ∈ A ∪ B (2.5) qa
  • 21. 24 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM where: xa = xk a ∀a ∈ A ∪ B (2.6) k∈K Note that for every arc a ∈ A we will also have to consider the tariff ta ; such tariff 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:  −η k if i = ok  k bi = ηk if i = dk ∀i ∈ N , ∀k ∈ K (2.7) 0 otherwise  The arc formulation of the deterministic equilibrium assignment problem as an opti-mization model is as follows: xa xa min (Ca (ωa ) + ta )dωa + Ca (ωa )dωa (2.8) x a∈A 0 a∈B 0 s.t. xk + a xk − a xk − a xk = bk a i ∀i ∈ N , ∀k ∈ K (2.9) a∈i− ∩A a∈i− ∩B a∈i+ ∩A a∈i+ ∩B k xa ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (2.10) where i− ∈ N and i+ ∈ N are respectively the entering and exiting arcs for 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
  • 22. 2.3. FIRST LEVEL OF THE CNPP: LEADER PROFITS 25theoretical 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: max xk · t a a (2.11) t,x k∈K a∈A∪B As said before, it is a non-linear objective function, since it contains a bilinear term.In addition, the following constraint will apply: ta ≥ 0 ∀a ∈ A (2.12) Equation 2.12 being imposed by the non negativity of the cost functions stated insec.2.2.4.The resulting bilevel problem is thus the following: max xk · ta a (2.13) t,x k∈K a∈A∪B xa xa min (Ca (ωa ) + ta )dωa + Ca (ωa )dωa (2.14) x a∈A 0 a∈B 0 xk a − xk a = bk i ∀i ∈ N , ∀k ∈ K (2.15) a=i− ∈A∪B a=i+ ∈A∪B xk ≥ 0 a ∀a ∈ A ∪ B, ∀k ∈ K (2.16) ta ≥ 0 ∀a ∈ A (2.17) (2.18)With cost/flow interdependence as expressed by equation 2.5 and demand vector bkdefined 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:
  • 23. 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 ∈ C 1 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) + λT h(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 ⇒ xk − a xk − bk = 0 a i ∀i ∈ N , ∀k ∈ K (2.27) a=i− ∈A∪B a=i+ ∈A∪B g(x) ≥ 0 ⇒ xk ≥ 0 a ∀a ∈ A ∪ B, ∀k ∈ K (2.28)
  • 24. 2.4. REFORMULATING THE CNPP 27Consequently, the partials derivatives are: xL : Ca (xa ) + ta + λk − λk − µk = 0 i j a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.29) λL : xk − a xk − bk = 0 a i ∀i ∈ N , ∀k ∈ K (2.30) a=i− ∈A∪B a=i+ ∈A∪B µL : xk ≥ 0 a ∀a ∈ A ∪ B, ∀k ∈ K (2.31) (2.32)The complementarity condition will be: µT xk = 0. a aEquations 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: max ta · xk a (2.33) t,x a,k s.t. xk − a xk = bk a i ∀i ∈ N , ∀k ∈ K (2.34) a=i− ∈A∪B a=i+ ∈A∪B Ca (xa ) + ta + λ i − λ k − µk = k j a 0 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.35) µ k · xk = 0 a a ∀a ∈ A ∪ B, ∀k ∈ K (2.36) xk a ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (2.37) µk a ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (2.38) λk i free ∀i ∈ N , ∀k ∈ K (2.39)where Ca (xa ) is the derivative of the cost function expressed by eq.2.52.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 · xk term) a In the present section we will substitute the ta · xk term in the objective with terms aderived from the equality constraints of the problem in order to obtain an equivalentformulation that will be non-linear in only one variable.
  • 25. 28 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEMFrom the first KKT condition (eq. 2.35) we have that: µk = Ca (xa ) + ta + λk − λk a i j ∀a = (i, j) ∈ A, ∀k ∈ K (2.40) µk = Ca (xa ) + λk − λk a i j ∀a = (i, j) ∈ B, ∀k ∈ K (2.41)Thus the second KKT condition (eq. 2.36) can be formulated as: (Ca (xk ) + ta + λk − λk ) · xk = 0 a i j a ∀a = (i, j) ∈ A, ∀k ∈ K (2.42) (Ca (xk ) + λk − λk ) · xk = 0 a i j a ∀a = (i, j) ∈ B, ∀k ∈ K (2.43)by substituting µk with eq. 2.40 and eq. 2.41. These are equal to: a Ca (xk ) · xk + ta · xk + (λk − λk ) · xk = 0 a a a i j a ∀a = (i, j) ∈ A, ∀k ∈ K (2.44) Ca (xk ) a · xk a + (λk i − λk ) j · xk a =0 ∀a = (i, j) ∈ B, ∀k ∈ K (2.45)From 2.44 we thus obtain: ta · xk = −Ca (xk ) · xk + (λk − λk ) · xk a a a j i a ∀a = (i, j) ∈ A, ∀k ∈ K (2.46)So the objective (eq.) becomes: max −(Ca (xk ) · xk + (λk − λk ) · xk ) a a j i a (2.47) λ,x a∈A k∈KNote that the following equality holds: (λk − λk ) · xk = j i a λk · ( i xk − a xk ) a (2.48) a∈A k∈K k∈K i∈N a=i− ∈A a=i+ ∈AWhich is even more evident if we express it in the equivalent matrix-vector formulation: k k )i∈N λk · (Ai,a · xk ). a∈A k∈K i∈N xa · (Ai,a · λi ) = a∈A k∈K i aThe flow conservation constraint (eq. 2.34) states that: xk − a xk + a xk − a xk = bk a i ∀i ∈ N , ∀k ∈ K (2.49) a=i− ∈A a=i+ ∈A a=i− ∈B a=i+ ∈BThus we have: xk − a xk = bk − a i xk + a xk a ∀i ∈ N , ∀k ∈ K (2.50) a=i− ∈A a=i+ ∈A a=i− ∈B a=i+ ∈BFollowing from eq.2.48 and 2.50:
  • 26. 2.4. REFORMULATING THE CNPP 29 λk · ( i xk − a xk ) = a (2.51) k∈K i∈N a=i− ∈A a=i+ ∈A λk · bk − i i λk · ( i xk + a xk ) ∀i ∈ N , ∀k ∈ K a (2.52) k∈K i∈N k∈K i∈N a=i− ∈B a=i+ ∈BEq.2.45 states that: Ca (xk ) · xk = (λk − λk ) · xk a a j i a ∀a = (i, j) ∈ B, ∀k ∈ K (2.53) k k kWe can thus substitute the a∈A k∈K (λj −λi )·xa term in the objective, that becomes: max λk · bk − i i Ca (xk ) · xk − a a Ca (xk ) · xk a a (2.54) λ,x k∈K i∈N a∈A b∈BLinearization of the µk · xk term a a The problem obtained so far still contains the nonlinear constraint µk ·xk = 0 deriving a afrom the complementarity slackness condition. However, this term can be linearizedthrough a relaxation, in the following way: kFirst of all, it is necessary to introduce a binary variable za , defined as: k 1 if µk = 0 a za = (2.55) 0 if µk = 0 aSince we don’t really need to know the exact value of µk but only have to impose that ait will be zero if xk = 0 and vice versa, we can write the KKT conditions as: a Ca (xa ) + ta + λk − λk ≤ M · za i j k ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.56) xk a ≤ M · (1 − k za ) ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.57)Where M is an arbitrary Big-M constant. However, for the problem not to be unboundedthe following must also hold: Ca (xa ) + ta + λk − λk ≥ 0 i j ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.58) xk ≥ 0 a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.59)Thus the final reformulation for the CNPP will be:
  • 27. 30 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM max ( λk · bk − i i Ca (xa ) · xk − a Ca (xa ) · xk ) a (2.60) λ,x k∈K i∈N a∈A b∈B s.t. xk a − xk a = bk i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (2.61) Ca (xa ) + ta + λk i − λk j ≤M· k za ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.62) Ca (xa ) + ta + λk − λk ≥ 0 i j ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.63) xk ≤ M · (1 − za ) a k ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.64) xk ≥ 0 a ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K (2.65) k za ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (2.66) ta ≥ 0 ∀a ∈ A, ∀k ∈ K (2.67) λk i free ∀i ∈ N , ∀k ∈ K (2.68)2.4.3 Complexity of the CNPP The complexity of the CNPP, as formulated above, depends heavily on the choice 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 β fa In this case the congestion-dependent term α · qa equals zero, and the CNPP instance becomes a standard NPP one. In fact, while the constraints and leader objective face no change, the follower’s objective becomes:
  • 28. 2.4. REFORMULATING THE CNPP 31 xa min (Ca (ωa ) + ta )dωa = (2.69) x 0 a∈A∪B xa = min (tr0a + ta )dωa = (2.70) x 0 a∈A∪B = min (tr0a + ta ) · xa (2.71) x a∈A∪B Thus resulting in a formulation that is identical to the one illustrated in the pre- vious chapter for the uncongested NPP. The case β = 0 is similar and does not offer any interesting particolarity. 2. α > 0 and β = 1 In this case the CNPP instance described above represents a quadratic problem (note that the constraints are all linear). Its complexity is superior to the uncon- gested NPP, but many efficient resolutive algorithms exist for this class of problems. 3. α > 0 and β > 1 In this case the CNPP instance is non linear and we can expect it to be much harder to solve than the uncongested NPP. Several solving approaches could be possible, from penalizing the nonlinear constraint in the objective (thus obtaining a convex polyhedron as feasible region) to heuristic procedures that use local approximations of the nonlinear term to generate a succession af approximating subproblems, and so on. Two procedures of this last type will be presented in the next chapter.
  • 29. 32 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
  • 30. Chapter 3Solving the CNPP3.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 determine¯the new point x(j) . ¯ Using the Taylor expansion stopped at the first term, the objective function z(¯) can xbe approximated in a point y ∈ Sx by a linear function zl (¯): ¯ x z(¯) ∼ zl (¯) = z(¯) + x = x y z(¯)T (¯ − y ) y x ¯ (3.1) 33
  • 31. 34 CHAPTER 3. SOLVING THE CNPP Therefore, the optimization problem with nonlinear objective function z(¯) and lin- xear constraints can be approximated by a succession of problems with linear objectivefunction zl (¯) and linear constraints for every point y ∈ Sx . In fact we have: x ¯ argmin z(¯) ∼ argmin zl (¯) = argmin z(¯) + x = x y z(¯)T (¯ − y ) = argmin y x ¯ z(¯)T x (3.2) y ¯ Since in one point y the gradient of the objective function ¯ z(¯) equals the arc cost xvector calculated in the same point, z(¯) = c(¯), we obtain: y ¯y argmin z(¯) ∼ argmin c(¯)T x x = y ¯ (3.3) The objective function described above, paired with the non-negativity and 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: (j) (j) min Ca (x(j−1) ) · xa,AON + (j) a Ca (x(j−1) ) · xa,AON (j) a (3.4) x a∈A a∈B k,(j) k,(j) s.t. xa,AON − xa,AON = bk i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (3.5) k,(j) xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.6) (j−1) where xa is the flow on arc a ∈ A ∪ B of the (j − 1)-th problem, specified asfollows: x(j−1) = a xk,(j−1) a (3.7) k∈K (j) k,(j) xa,AON = xa,AON (3.8) k∈K (j) (j−1) Ca (xa ) is the cost of arc a ∈ A ∪ B calculated through the specified cost function (j−1)from the arc flow xa :
  • 32. 3.1. THE CONDITIONAL GRADIENT METHOD(FRANK-WOLFE ALGORITHM)35   (j−1) β (j) (j−1) xa Ca (xa ) = tr0a · 1 + α ·  ∀a ∈ A ∪ B (3.9) qa (j) xa,AON is the flow on arc a ∈ A ∪ B, solution of the j-th problem obtained throughthe A.O.N. resolution algorithm. (j−1) Note that xa arc flows of the (j − 1)-th problem are constant (since they are the (j) (j−1)solution of this problem) and consequently Ca (xa ) arc costs are constant for the j-th (j)problem. It follows that xa,AON arc flows are the only variables in the j-th problem, 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 a ¯ threshold is chosen for the stopping criterion (see §3.1.3).j-th iteration Given the flow vector x(j−1) , solution of the problem at the (j − 1)-th ¯ iteration: ¯ ¯x 1. The cost vector is determined in function of the flow vector, as C (j) = C(¯(j−1) ), through equation 2.5. 2. The approximating linear problem denoted by Equations 3.4, 3.5, 3.6 is solved through the All-or-nothing algorithm, since arc costs (denoted as arc labels) are constant for the j-th iteration. Thus the flow vector for the non congested (j) network is obtained: xAON . ¯ 3. The descent step is executed in order to determine the final solution for the j-th iteration. It consists in the following one-dimensional non-linear research problem: (j) µ(j) ∈ argminµ∈[0,1] ψ(µ) = z x(j−1) + µ · (¯AON − x(j−1) ) ¯ x ¯ (3.10) where µ is a scalar variable. The problem can be solved through the bisection algorithm or any other one-dimensional minimization procedure. 4. Vector x(j) is found as a solution for the j-th iteration. It is a convex combi- ¯ (j) nation of the previous j All-or-nothing assignment xAON : ¯ (j) x(j) = x(j−1) + µ(j) · (¯AON − x(j−1) ) ¯ ¯ x ¯ (3.11)Stopping criterion The stopping test is executed against a threshold (see §3.1.3). If the test fails, a new iteration is executed with vector x(j) as the starting solution; ¯ otherwise the algorithm is stopped and x ¯ (j) is the deterministic flows vector.
  • 33. 36 CHAPTER 3. SOLVING THE CNPP3.1.3 Stopping criterion As mentioned in Chapter 3.1.2, at the end of each iteration a stopping test is run;when it is verified the sequence of approximating subproblems is stopped and the vectors ¯x(j) and t(j) of the j-th subproblem are the optimal solutions of the CNPP problem.¯ In order for x(j) to be a local minumum (in our case a global minimum since the ¯objective function is convex) it has to be a stationary point for z(x). This means thatthe following condition must hold: (j) z(¯(j) )T (¯AON − x(j) ) ≥ 0 x x ¯ (3.12) However, from a practical point of view, such a termination criterion may not 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: (j) (j) zl (¯AON ) = z(¯(j) ) + x x z(¯(j) )T (¯AON − x(j) ) x x ¯ (3.14) (j) (j) T (j) (j) ≤ z(¯ x )+ z(¯ x ) (¯∗ x −x ¯ ) (3.15) (j) ≤ z(¯∗ ) x (3.16) where the equality follows from the definition of the optimal solution to the LP (j)problem, the first inequality by the fact that xAON solves this LP problem but not ¯ (j)necessarily x∗ , and the second inequality from the convexity of z. So, we have that at ¯every iteration j, (j) (j) zl (¯AON ) ≤ z(¯∗ ) ≤ z(¯(j) ) x x x (3.17) where the last inequality holds because x(j) is a feasible solution. In the condi- ¯tional gradient algorithm the value of z descends after each iteration, thus the se- (j)quence of {z(¯(j) )} strictly monotonically decreases towards z(¯∗ ), while the sequence x x (j) (j)of {zl (¯AON )} approaches z(¯∗ ) from below, though not necessarily monotonically. We x x (j)therefore always have an interval, [zl (¯AON ), z(¯(j) )], which contains the optimal objec- x xtive 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:
  • 34. 3.2. CONVERGENCE CONDITIONS 37 (j) |z(¯(j) ) − zl (¯AON )| x x (j) < (3.18) |zl (¯AON )| x3.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
  • 35. 38 CHAPTER 3. SOLVING THE CNPPin 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 is used, where j is the jindex 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 1 descending step for the M.S.A jalgorithm for S.U.E. allocation; for example Polyak (1990) suggests a µ(j) = j −β de-scending step, where 0 < β < 1.
  • 36. 3.4. TWO-STEPS ALGORITHM 393.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 then ¯the leader’s problem with respect to the tariff vector t(j) . It is probably the most ob-vious and immediate way to approach a resolution for our problem. It is also the 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 a ¯ threshold is chosen for the stopping criterion (see §3.1.3).j-th iteration Given the flow vector x(j−1) and the tariff vector t(j−1) , solution of the ¯ problem at the (j − 1)-th iteration: 1. The cost vector is determined in function of the flow vector and the tariff (j) vector, as Ca , through:   (j−1) β (j) xa Ca = tr0a · 1 + α ·  if a ∈ A ∪ B (3.19) qa (j−1) k,(j−1) where xa = k∈K xa . 2. The linear approximation for the second level problem is solved through the All-or-nothing algorithm, since arc costs (and tariffs) are constant for the j-th iteration. (j) (j) min (Ca + t(j−1) ) · xa,AON + (j) a (j) Ca · xa,AON (3.20) x a∈A a∈B k,(j) k,(j) s.t. xa,AON − xa,AON = bk i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (3.21) k,(j) xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.22) (j) Thus the flow vector for the non congested network is obtained: xAON . ¯
  • 37. 40 CHAPTER 3. SOLVING THE CNPP 3. The F-W descending step is executed in order to determine the flows for the j-th iteration. It consists in the following one-dimensional non-linear research problem: (j) µ(j) ∈ argminµ∈[0,1] ψ(µ) = z x(j−1) + µ · (¯AON − x(j−1) ) ¯ x ¯ (3.23) where µ is a scalar variable. The problem can be solved through the bisection algorithm. 4. Vector x(j) is found as a convex combination of the previous j All-or-nothing ¯ (j) assignment xAON : ¯ (j) x(j) = x(j−1) + µ(j) · (¯AON − x(j−1) ) ¯ ¯ x ¯ (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 of a single level linear problem which has the same formulation of the bilinear CNPP described in eq. 2.4.2-2.39 (since at this point the flows xk are known, a the problem here is linear, and the flow conservation constraint, eq. 2.34 and flow non-negativity constraint, eq. 2.37 are not necessary here): max ta · xk a (3.25) t,x a,k s.t. Ca (xa ) + ta + λk − λk − µk = 0 i j a ∀a ∈ A ∪ B, ∀k ∈ K (3.26) µk a · xk a =0 ∀a ∈ A ∪ B, ∀k ∈ K (3.27) µk a ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (3.28) k λi 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 and ¯ ¯ t(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 the ¯followers to the network (not congested) with costs calculated at zero flow and all tariffsset to zero. The initialization cost function is as follows:
  • 38. 3.4. TWO-STEPS ALGORITHM 41 (0) (0) tr0a + ta if a ∈ A Ca (xa = 0) = (3.30) tr0a if a ∈ B The initialization problem to be solved through the All-or-Nothing algorithm, isformulated as follows: min tr0a + t(0) · xa + a k,(0) tr0a · xk,(0) a (3.31) k∈K a∈A a∈B s.t. xk,(0) − a xk,(0) = bk a i ∀i ∈ N , ∀k ∈ K (3.32) a=i− ∈A∪B a=i+ ∈A∪B xk,(0) ≥ 0 a ∀a ∈ A ∪ B, ∀k ∈ K (3.33) (0) furthermore we set ta = 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
  • 39. 42 CHAPTER 3. SOLVING THE CNPPis 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).
  • 40. 3.5. ONE STEP ALGORITHM 433.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 xk and the tariffs ta are found at the same time. In order to do so, aand in order to obtain tariffs that are good for the final flows x∗ , we also want to keep atrack 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  β  tr0a · 1 + α · xa + ta if a ∈ A   qa Ca (xa ) = β (3.34)  tr0a · 1 + α · xa if a ∈ B   qa 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:  β  tr0a · 1 + α · xa + ta,old if a ∈ A   qa Ca (xa ) = β (3.35)  tr0a · 1 + α · xa if a ∈ B   qa 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:
  • 41. 44 CHAPTER 3. SOLVING THE CNPP max xk · ta a (3.36) t,x k∈K a∈A∪B xa xa min (Ca (ωa ) + ta )dωa + Ca (ωa )dωa (3.37) x a∈A 0 a∈B 0 xk a − xk a = bk i ∀i ∈ N , ∀k ∈ K (3.38) a=i− ∈A∪B a=i+ ∈A∪B xk ≥ 0 a ∀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 :max xa · t(j) k,(j) a (3.42) t,x k∈K a∈A∪B (j) (j)min (Ca (x(j−1) ) + ∆t(j) ) · xa,AON + (j) a a Ca (x(j−1) ) · xa,AON (j) a (3.43) x a∈A a∈B k,(j) k,(j) xa,AON − xa,AON = bk i ∀i ∈ N , ∀k ∈ Ka=i− ∈A∪B a=i+ ∈A∪B (3.44) k,(j)xa,AON ≥0 ∀a ∈ A ∪ B, ∀k ∈ K (3.45)∆t(j) a free ∀a ∈ A (3.46)t(j−1) + ∆t(j) ≥ 0 a a ∀a ∈ A (3.47) (j) (j−1) (j) (j−1) Where ta = ta + ∆ta (ta 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: k,(j) xk,(j) = xk,(j−1) + µ(j) · (xa,AON − xk,(j−1) ) a a a (3.48) Therefore, the objective function of the leader for the j-th problem equals:
  • 42. 3.5. ONE STEP ALGORITHM 45 k,(j) max t(j) · xk,(j−1) + µ(j) · (xa,AON − xk,(j−1) )) = a a a (3.49) t,x k∈K a∈A k,(j) = t(j) · xk,(j−1) + µ(j) · t(j) · (xa,AON − xk,(j−1) ) = a a a a (3.50) k∈K a∈A k,(j) = µ(j) · t(j) · xa,AON + (1 − µ) · t(j) · xk,(j−1) a a a (3.51) k∈K a∈A Since at each iteration eq. 3.17 is verified we have that: k,(j) µ(j) · t(j) · xa,AON + (1 − µ) · t(j) · xk,(j−1) ≥ a a a (3.52) k∈K a∈A k,(j) k,(j) ≥ µ(j) · t(j) · xa,AON + (1 − µ) · t(j) · xa,AON = a a (3.53) k∈K a∈A k,(j) = t(j) · xa,AON a (3.54) k∈K a∈A Thus we have obtained a lower bound for the value of the objective: k,(j) max t(j) · xa,AON a ≤ max t(j) · xk,(j) a a (3.55) t,x t,x k∈K a∈A k∈K a∈A In order to build a resolution algorithm based on linear approximations of the CNPPwe would now have two options: (j) k,(j) (j) k,(j−1) 1. Use maxt,x k∈K a∈A µ(j) · ta · xa,AON + (1 − µ) · ta · xa 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 is found between an inner point and a vertex of the feasible region, and the chosen step 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 optimal solution may be missed or the convergence rate could be significantly slower if the approximation is not good enough. (j) k,(j) 2. Use maxt,x k∈K a∈A ta · xa,AON as objective and relying on the cost functions redefined by eq. 3.35 to obtain tariffs that are good enough for the xk variables a although being optimal for the xk a,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:
  • 43. 46 CHAPTER 3. SOLVING THE CNPP k,(j)max t(j) · xa,AON a (3.56) t,x k∈K a∈A (j) (j−1) (j) (j)s.t. min (Ca (xa ) + ∆t(j) ) · xa,AON + a Ca (x(j−1) ) · xa,AON (j) a (3.57) x a∈A a∈B k,(j) k,(j)s.t. xa,AON − xa,AON = bk i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (3.58) k,(j)xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.59)∆t(j) a free ∀a ∈ A (3.60)t(j−1) + ∆t(j) ≥ 0 a a ∀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 originalCNPP 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 commodity k ∈ 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 variables associated 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 each commodity k ∈ K a non-negative primal variable exists . It follows that in each dual j-th subproblem there are as many dual constraints associated with each arc and each commodity, such as: k,(j) k,(j) λh(a) − λt(a) ≤ Ca (x(j−1) ) + ∆t(j) (j) a a ∀a ∈ A, ∀k ∈ K (3.63) k,(j) k,(j) λh(a) − λt(a) ≤ Ca (x(j−1) ) (j) a ∀a ∈ B, ∀k ∈ K (3.64) (3.65)
  • 44. 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, (j) (j−1) (j−1) Ca (xa ) is the cost of the arc calculated against the arc flow xa of the (j −1)- th subproblem. Furthermore, since the primal constraints of flow conservation are k,(j) equalities, the corresponding dual variables λ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-th subproblem we want to maximize the objective function, thus obtaining: k,(j) k,(j) max η k λdk − η k λ ok (3.66) k∈K k∈K Therefore, the dual problem of the second level of the CNPP is: k,(j) k,(j) max η k λdk − η k λok (3.67) k∈K k∈K k,(j) k,(j) s.t. λh(a) − λt(a) ≤ Ca (x(j−1) ) + ∆t(j) (j) a a ∀a ∈ A, ∀k ∈ K (3.68) k,(j) k,(j) λh(a) − λt(a) ≤ Ca (x(j−1) ) (j) a ∀a ∈ B, ∀k ∈ K (3.69) k,(j) λi free ∀i ∈ N , ∀k ∈ K (3.70) According to the strong duality theorem, if: (j) 1. vector xAON 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, (j) ¯then the vectors xAON 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 the primal 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 the dual 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 put the two objective functions in an equality. The primal objective function can be
  • 45. 48 CHAPTER 3. SOLVING THE CNPP simplified as follows: (j) (j−1) (j) (j) (j) (j−1) (j) Zprimal = a∈A (Ca (xa ) + ∆ta ) · xa,AON + a∈B Ca (xa ) · xa,AON        (j) k,(j)  xk,(j−1) + ∆t(j)   = a∈A Ca · xa,AON  +  a a    k∈K var.  k∈K  const. var.      (j) k,(j)  + a∈B Ca  xk,(j−1) a · xa,AON    k∈K k∈K  const. var. (j) (j−1) (j) k,(j) (j) k,(j−1) k,(j) = k∈K a∈A (Ca (xa ) + ∆ta ) · xa,AON + a∈B Ca (xa ) · xa,AON (3.71) The dual objective function can be simplified as follows: k,(j) k,(j) Zdual = k∈K η k λdk − k∈K η k λ ok const. var. const. var. k,(j) k,(j) = k∈K η k · λdk − λok (3.72) If we impose equality between Equations 3.71 and 3.72 we obtain: Zprimal = Zdual (3.73) k,(j) k,(j) =⇒ (Ca (x(j−1) ) + ∆t(j) ) · xa,AON + (j) a a Ca (xk,(j−1) ) · xa,AON = (j) a k∈K a∈A a∈B k,(j) k,(j) = ηk · λdk − λok (3.74) k∈K k,(j) k,(j) =⇒ (Ca (x(j−1) ) + ∆t(j) ) · xa,AON + (j) a a Ca (xk,(j−1) ) · xa,AON = (j) a a∈A a∈B k,(j) k,(j) = ηk · λdk − λ ok ∀k ∈ K (3.75) Thus Equation 3.75 becomes a new constraint for the single-level j-th subproblem.
  • 46. 3.5. ONE STEP ALGORITHM 49 The formulation of the single level j-th CNPP subproblem is the following: k,(j) max t(j) · xa,AON a (3.76) t,x k∈K a∈A k,(j) k,(j) s.t. xa,AON − xa,AON = bk i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (3.77) k,(j) k,(j) (j) (j−1)λh(a) − λt(a) ≤ Ca (xa ) + ∆t(j) a ∀a ∈ A, ∀k ∈ K (3.78) k,(j) k,(j) (j) (j−1)λh(a) − λt(a) ≤ Ca (xa ) ∀a ∈ B, ∀k ∈ K (3.79) k,(j) k,(j) (Ca (x(j−1) ) + ∆t(j) ) · xa,AON + (j) a a Ca (xk,(j−1) ) · xa,AON = (j) a a∈A a∈B k,(j) k,(j) = ηk · λdk − λ ok ∀k ∈ K (3.80)∆t(j) a free ∀a ∈ A (3.81)t(j−1) + ∆t(j) ≥ 0 a a ∀a ∈ A (3.82) k,(j)xa,AON ≥ 0 ∀a ∈ A ∪ B, ∀k ∈ K (3.83) k,(j)λi free ∀i ∈ N , ∀k ∈ K (3.84) (j) k,(j) Note that the problem is still non-linear because of the ta · xa,AON in the objective (j) k,(j)function (which contains the bilinear ∆ta · xa,AON term) and in equation 3.80 (which (j) k,(j)also contains the ∆ta · xa,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: k,(j) max t(j) · xa,AON = a (3.85) t,x k∈K a∈A k,(j) = (t(j−1) + ∆t(j) ) · xa,AON = a a (3.86) k∈K a∈A k,(j) k,(j) = (t(j−1) · xa,AON + ∆t(j) · xa,AON ) a a (3.87) k∈K a∈A
  • 47. 50 CHAPTER 3. SOLVING THE CNPP (j−1) k,(j) (j) k,(j) Note that we have a linear term (ta · xa,AON ) and a bilinear term (∆ta · xa,AON ). The usual binary variable and the slack variable are thus introduced in order to (j) k,(j)transform the bilinear term ∆ta · xa,AON . The binary variable is used to re-define the integer flows variable: k,(j) 1 if a ∈ A ∪ B belongs to the minimum cost path for commodity k ∈ K ra = 0 otherwise (3.88) Thus resulting in: k,(j) xa,AON = η k · ra k,(j) (3.89) The following constraint for the new variable needs to be added to the problem: k,(j) ra ∈ {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: (j) k,(j) ∆ta if ra =1 pk,(j) = a (3.91) 0 otherwise The following constraints need to be added: pa − ∆t(j) ≤ Ma · (1 − ra ) k,(j) a (j) k,(j) ∀a ∈ A, ∀k ∈ K (3.92) − pk,(j) + ∆t(j) ≤ Ma · (1 − ra ) a a (j) k,(j) ∀a ∈ A, ∀k ∈ K (3.93) k,(j) (j) k,(j) pa − Na · ra ≤0 ∀a ∈ A, ∀k ∈ K (3.94) − pk,(j) a − (j) Na · k,(j) ra ≤0 ∀a ∈ A, ∀k ∈ K (3.95) (j) (j)where Ma e Na are arbitrary big − M parameters. The meaning of the new variables and the added constraints are explained in detailin 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 pk in the linearized NPP (in fact here pk is a free variable). a a According to the transformation carried out, the formulation for the single level linearj-th approximating CNPP subproblem is the following:
  • 48. 3.5. ONE STEP ALGORITHM 51max η k · (ta (j−1) · ra + pk,(j) ) k,(j) a (3.96) t,x k∈K a∈A∪B k,(j) k,(j)s.t. ra − ra = ek i ∀i ∈ N , ∀k ∈ K a=i− ∈A∪B a=i+ ∈A∪B (3.97) k,(j) k,(j)λh(a) − λt(a) ≤ Ca (x(j−1) ) + ∆t(j) (j) a a ∀a ∈ A, ∀k ∈ K (3.98) k,(j) k,(j)λh(a) − λt(a) ≤ Ca (x(j−1) ) (j) a ∀a ∈ B, ∀k ∈ K (3.99) (j) k,(j−1) k,(j) k,(j) k,(j) k,(j) (Ca (xa ) · ra + pa ) + Ca (xk,(j−1) ) · ra (j) a k,(j) = λdk − λ ok ∀k ∈ Ka∈A a∈B (3.100)pk,(j) − ∆t(j) ≤ Ma · (1 − ra )s a a (j) k,(j) ∀a ∈ A, ∀k ∈ K (3.101)∆t(j) − pa a k,(j) (j) k,(j) ≤ Ma · (1 − ra ) ∀a ∈ A, ∀k ∈ K (3.102)pk,(j) ≤ Na · ra a (j) k,(j) ∀a ∈ A, ∀k ∈ K (3.103)− pk,(j) ≤ Na · ra a (j) k,(j) ∀a ∈ A, ∀k ∈ K (3.104)∆t(j) a free ∀a ∈ A (3.105)t(j−1) + ∆t(j) ≥ 0 a a ∀a ∈ A (3.106)pk,(j) a free ∀a ∈ A, ∀k ∈ K (3.107) k,(j)ra ∈ {0; 1} ∀a ∈ A ∪ B, ∀k ∈ K (3.108) k,(j)λi free ∀i ∈ N , ∀k ∈ K (3.109) where ek is the new demand vector, defined as follows: i  −1 if i = ok  k ei = 1 if i = dk ∀i ∈ N , ∀k ∈ K (3.110) 0 otherwise 
  • 49. 52 CHAPTER 3. SOLVING THE CNPP3.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 Big M 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 the ¯ problem at the (j − 1)-th iteration: 1. The cost vector is determined in function of the flow vector and the tariff (j) vector, as Ca , through:  β (j−1)  tr0a · 1 + α · xa + ta if a ∈ A   qa Ca (xa ) = β (3.111)  tr0a · 1 + α · xa if a ∈ B   qa (j−1) k,(j−1) where xa = k∈K xa . 2. Linear approximating problem denoted by Equations 3.96 - 3.110 is solved in order to obtain the All-Or-Nothing flow vector rk,(j) and the tariff difference vector ∆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 research problem: µ(j) ∈ argminµ∈[0,1] ψ(µ) = z x(j−1) + µ · (¯(j) · η − x(j−1) ) ¯ r ¯ (3.112) where µ is a scalar variable. The problem can be solved through the bisection algorithm. k,(j) 4. The values of ra , are used to determine the flows by using the following equation: k,(j) xa = xk,(j−1) + µ(j) · η k · ra − xk,(j−1) a k,(j) a ∀a ∈ A ∪ B, ∀k ∈ K (3.113) 5. Tariffs are calculated for the current iteration as: t(j) = t(j−1) + ∆t(j) a a a (3.114)
  • 50. 3.5. ONE STEP ALGORITHM 53 6. The value of the leader ’s objective is calculated as: Zl = t(j) · xk,(j) a a (3.115) k∈K a∈AStopping 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 and ¯ ¯ t(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 kλj = the cost of a shortest path from origin o(k) to j using only arcs in Bλk = the cost of a shortest path from origin o(k) to j using arcs in A ∪ B, for t = 0 isk = the cost of a shortest path from j to destination d(k) using only arcs in B jsk = the cost of a shortest path from j to destination d(k) using arcs in A ∪ B, for t = 0. iWe have that:Proposition 1. For every toll arc (i, j) ∈ A and commodity k, k k max{0, min{pij − cij , λj − λk − cij , λd(k) − (λk + cij + sk ), sk − sk − cij }} i i j i j (3.116) kis a valid constant Mij for the problem. kProposition 2. maxk∈K {Mij } 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.
  • 51. 54 CHAPTER 3. SOLVING THE CNPP
  • 52. Chapter 4Implementation 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 be later used for the optimizer calls;Solving procedure: specific solving algorithm is implemented. This includes calls to the Xpress optimizer;Output: if a proper solution is found for the current CNPP instance, it is shown on screen and written to an output file;Debugging features: if activated, inner data structures and optimizer strings will be visualized on screen, as well as partial results for each iteration of the solving procedure. 55
  • 53. 56 CHAPTER 4. IMPLEMENTATION4.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 (number of 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 to parse the input file two times or of having to use more dynamic data structures in the host code.
  • 54. 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 an ID 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>
  • 55. 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 tariffed arcs). [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 the j-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 a single arc. [Double]; • optimal values: t*, x1*, x2*, Zl*. [Double]; • auxiliary variables: epsilon, Tmax,M, N (these last two for the one-pass algorithm only). [Double]; • step size for the current iteration: mu_j. [Double].
  • 56. 4.4. INTERACTION WITH THE XPRESS SOLVER 594.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;
  • 57. 60 CHAPTER 4. IMPLEMENTATION// Initialize Mosel //if(XPRMinit()) {printf("could not initialize XPRMn");return 2;}// Load a BIM file //if((mod=XPRMloadmod("LP.bim",NULL))==NULL) {printf("could not load LP.bim module into XPRMn");return 3;}// Run the model //if(XPRMrunmod(mod, &result, pbs.paramsLP)) {printf("could not run model LP.bim successfullyn");return 4;}// Test whether a solution is found //if((XPRMgetprobstat(mod)&XPRM_PBRES)!=XPRM_PBOPT) {printf("No solution found for LP problemn");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: parameters PB_A1 = "" ... end-parameters initializations from "raw:" A1 as PB_A1
  • 58. 4.5. DATA OUTPUT 61 ... end-initializationsit 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.
  • 59. 62 CHAPTER 4. IMPLEMENTATION Figure 4.2: Human readable output
  • 60. 4.6. NETWORK GENERATION 634.6 Network generationThe 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) 16In 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 node set; • All the commodity destination nodes must be chosen in the last quarter of the node 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 created between n · k random nodes (destinantion node is exluded). The last node in this sequence is then connected to the destination.
  • 61. 64 CHAPTER 4. IMPLEMENTATION • For the k-th commodity the random path is created in order to connect all the remaining 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 are randomly generated; • Tariffed arcs are randomly generated after the path-cration procedure. Their length and 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.
  • 62. Chapter 5Tests 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
  • 63. 66 CHAPTER 5. TESTS AND RESULTS5.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 51ms Two Steps 0m 0s 626ms 0m 0s 541ms 0m 1s 695ms 0m 1s 75ms
  • 64. 5.2. STATISTICS: AVERAGE RESOLUTION TIME 67Average 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 121ms Two Steps 0m 3s 480ms 0m 1s 358ms 0m 3s 841ms 0m 9s 946ms
  • 65. 68 CHAPTER 5. TESTS AND RESULTSAverage 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 670ms Two Steps 0m 3s 764ms 0m 13s 338ms 0m 18s 805ms 0m 26s 123ms
  • 66. 5.2. STATISTICS: AVERAGE RESOLUTION TIME 69Average 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 390ms Two Steps 0m 7s 345ms 0m 24s 507ms 0m 19s 513ms 0m 21s 704ms
  • 67. 70 CHAPTER 5. TESTS AND RESULTSAverage 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 618ms Two Steps 1m 10s 354ms 1m 28s 682ms 1m 26s 38ms 1m 36s 35ms
  • 68. 5.2. STATISTICS: AVERAGE RESOLUTION TIME 71Average 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 892ms Two Steps 0m 44s 794ms 1m 33s 545ms 1m 48s 532ms 2m 30s 108ms
  • 69. 72 CHAPTER 5. TESTS AND RESULTSAverage 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 387ms Two Steps 0m 25s 756ms 1m 4s 88ms 3m 10s 02ms 3m 12s 750ms
  • 70. 5.3. SOLUTION QUALITY: EQUAL SOLUTIONS 735.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.
  • 71. 74 CHAPTER 5. TESTS AND RESULTS5.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.
  • 72. 5.5. STOPPING CRITERION PRECISION 755.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.
  • 73. 76 CHAPTER 5. TESTS AND RESULTS Value of : 100 50 10 5 One Step algorithm 8m 17 435ms 27m 54s 387ms 370m 15s 679ms Two Steps algorithm 1m 7s 549ms 3m 12s 750ms 7m 30s 93ms 8m 58s 903msTable 5.3: Running time (in seconds) for different values of on the 100 nodes networkswith 10 users and 20% of tariffed links
  • 74. 5.6. FINAL CONSIDERATIONS AND FURTHER DEVELOPMENT 775.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-
  • 75. 78 CHAPTER 5. TESTS AND RESULTSrithm 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.
  • 76. Appendix AInput 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
  • 77. 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>
  • 78. 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>
  • 79. 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>
  • 80. Appendix BPrograms 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.mos one.c compile.sh ./two/ FP.mos LP.mos two.c compile.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.bim LP.bim 83
  • 81. 84 APPENDIX B. PROGRAMS USAGE one_bin ./two/ FP.bim LP.bim two_binExecutingThe 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).
  • 82. BibliographyBar-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.549Bar-Gera, H. and Boyce, D. (2006), ‘Solving a non-convex combined travel forecasting model by the method of successive averages with constant step sizes’, Transportation Reasearch 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 problems in 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 toll optimization on a multicommodity transportation network’, Transportation Science 35(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 stochastic user equilibrium problem.’, Transportation Reasearch Part B 30(2), 115–131.Dewez, S., Labbé, M., Marcotte, P. and Savard, G. (2008), ‘New formulations and valid inequalities 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
  • 83. 86 BIBLIOGRAPHYFukushima, 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 for traffic assignment in visum’, VISUM 11 Manual.Hansen, P., Jaumard, B. and Savard, G. (1992), ‘A new branch-and-bound rules for linear bilevel programming’, SIAM Journal on Scientific and Statistical Computing 5(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 B 15(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), Journal of the Transportation Research Board 1443, 75–83.Jeroslow, R. (1985), ‘The polynomial hierarchy and a simple model for competitive analysis’, Mathematical Programming 32, 146–164.Julsain, H. (1998), Tarification dans les réseaux de télécommunications: une approche par 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 its application to optimal highway pricing’, Management Science 44(12), 1608–1622.Larsson, T. and Patriksson, M. (1992), ‘Simplicial decomposition with disaggregated representation 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 the road 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_XA9VkUCLupi, M. (1986), ‘Convergence of the Frank-Wolfe algorithm in transportation networks’, Civil Engineering and Environmental Systems 3(1), 7–15.
  • 84. BIBLIOGRAPHY 87Marcotte, P. (1986), ‘Network design problem with congestion effects: A case of bilevel programming’, Mathematical Programming 34(2), 142–162. URL: http://portal.acm.org/citation.cfm?id=9532.9534Patriksson, M. (1994), The traffic assignment problem: models and methods, Topics in transportation, VSP. URL: http://books.google.it/books?id=pzVPAAAAMAAJPetersen, 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-95Polyak, B. T. (1990), ‘New method of stochastic approximation type’, Automation and Remote Control 51(7), 937–946.Pro (2009), On the accurate convergence of deterministic assignment when comparing scenarios 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.htmlShimizu, K. and Aiyoshi, E. (1981), ‘A new computational method for Stackelberg and min-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_uUnPQTYCTransportation 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 bibliography review’, Journal of Global Optimization (5), 291–306.Vicente, L., Savard, G. and Júdice, J. (1994), ‘Descent approaches for quadratic bilevel programming’, 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 with entry-exit based toll charges’, Transportation Reasearch Part B 38(3), 191–213.