SlideShare ist ein Scribd-Unternehmen logo
1 von 87
Downloaden Sie, um offline zu lesen
Università degli Studi di Trieste

     FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI
               Corso di Laurea Magistrale in Informatica
                  Curriculum Ingegneria Informatica




             Approximate algorithms
                      for the
     Network Pricing Problem with Congestion


                         Tesi di Laurea in
                        Ricerca Operativa




Relatore:                                              Laureanda:
Chiar.mo Prof.                                   Desirée Rigonat
Lorenzo Castelli




                         Sessione Estiva
                   Anno Accademico 2011 - 2012
Ringraziamenti

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

    Un sentito ringraziamento va prima di tutto al mio relatore, Professor Lorenzo Castelli per
avermi dato l’opportunità di svolgere questo lavoro e per la pazienza, l’aiuto e il sostegno con cui
mi ha seguita durante quest’ultimo anno e per avermi proposto il periodo di studi all’estero, che
mi ha permesso di avvicinarmi al mondo della ricerca.
Ringrazio poi la Professoressa Martine Labbé e tutto il gruppo di ricerca del G.O.M. dell’Université
Libre de Bruxelles, per avermi dato la possibilità di lavorare con loro. È stato un onore e so-
prattutto un piacere.

    Niente di tutto questo sarebbe stato possibile se non avessi avuto il sostegno costante, sia
morale che materiale, della mia famiglia: grazie mamma e papà per aver sempre creduto in me,
Pietro per aver condiviso gioie e dolori della vita domestica, Gattila per avermi sempre ricordato
quando era ora di staccare e andare a dormire, Oscar per aver sostituito efficacemente la sveglia
e Napo per avermi costretta a fare ogni tanto una pausa!

    Come non sfruttare poi quest’occasione per dire a tutti i miei amici quanto sono stati e
sono importanti per me: è bello sapere che, non importa in quale angolo di mondo ci si trovi, a
casa ci sono delle persone su cui puoi sempre contare. Non mi basterebbe davvero il tempo per
citare ognuno, ma sappiate che vi ho pensati tutti. Qualche eccezione però è doverosa e quindi
ringrazio Marta: sei la migliore amica che si possa avere, grazie per le lunghe chiacchierate e
per condividere con me momenti di follia, di regressione infantile (Pasqua e Natale, tu sai cosa
intendo!) e per essere la persona allegra e positiva che sei! Grazie a te e a tutta la tua famiglia!
Poi devo proprio ringraziare Federico: c’è poco da dire, sei un vero amico, grazie per tutte le volte
che mi hai ascoltata, per le chiacchierate senza fine, per tutti gli hobby che abbiamo condiviso e
per le serate a base di sushi e babezzi!
Ringrazio poi tutti i miei compagni di avventure di EESTEC: Erni, Mariela, Filippo, Carlo,
Nicola, Alessandra, Enrico, Francesca, conoscervi e condividere esperienze con voi mi ha davvero
aperto un mondo, mi ha fatto imparare un sacco di cose e mi ha fatto crescere tantissimo. Siete
grandissimi!

     Infine, un grazie speciale a Matteo, che più di tutti mi ha aiutata a credere in me stessa e a
trovare la forza di continuare quando credevo di non farcela. Grazie per i tuoi incoraggiamenti,
per l’entusiasmo, per il tuo humour, lasciatelo dire..un po’ British (ma che io apprezzo enorme-
mente) e per la tua arte culinaria, quest’ultima invece prettamente Italica (per fortuna)! Vorrei
ringraziarti per tante tante altre cose, ma quella a cui tengo di più è ringraziarti semplicemente
di esserci, perchè mi rendi una persona migliore.
Grazie anche alla tua stupenda famiglia: Laura, Danilo, Chiara, John e George, grazie per tutti
i bei momenti passati assieme, e per gli incoraggiamenti che mi avete sempre dato!

Ancora una volta, grazie di cuore a tutti quanti!
I wish you all the best!
Acknowledgements
    The present thesis is the result of a research carried on from September 2011 to
August 2012; part of this work has been developed at the Graphes et Optimisation
Mathématique (G.O.M.) group of the Université Libre de Bruxelles, under the supervi-
sion of Professor Martine Labbé; further development and experimentation have been
carried on at the Laboratorio di Ricerca Operativa of the Università degli studi di Trieste
with Professor Lorenzo Castelli as supervisor.
Contents

1 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 . . .       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   16

2 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 . . . . . . . . . . . . . . . . .                               .   .   .   .   .   .   30

3 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
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 . . . . . . . . . . . . . .                          .   .   .   .   .   .   .   .   .   .   .   .   .   53

4 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 . . . . . . . .     .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   63

5 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                       .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   .   77

A Input file example                                                                                                                      79

B Programs usage                                                                                                                         83
9

Introduction
     Bilevel programs are nowadays a well known field of research. Studies have been
carried on this particular class of optimization problems since the 1970s. The Network
Pricing Problem, a particular case of which is the main subject of the present work, has
been formulated in the late 1990s (see Labbé et al. (1998)). It belongs, as the name
suggests, to the class of network optimization problems where prices have to be set on
the links of a network in order to maximize the profit of the owner. The bilevel structure
of the NPP implies that these prices will be influenced by the distribution on the network
of one or more users that want to travel on it at the minimum cost.
The NPP usually assumes that arc costs are independent of flows . In road transportation
systems, when arc costs depend on flows, the network is usually referred to as congested.
In the present work, we illustrate two asymptotically converging algorithms to solve the
NPP in the case of congested networks, hereafter referred to as the Congested Network
Pricing Problem (CNPP).
In particular, we propose to identify an equilibrium point for the CNPP using the Frank-
Wolfe algorithm (see Frank and Wolfe (1956)) by reformulating the bilevel CNPP into a
sequence of approximating single level linear problems. One of the algorithms uses these
linear approximations to solve only the second level problem (that is, the problem of the
users) while the other applies the linearization procedure to the whole CNPP.
The Frank-Wolfe linearization scheme was also used by Brotcorne et al. (2001) in the
design of a primal-dual heuristic to solve the NPP. In their work however arc costs are
still supposed to be independent of flows.

    In this thesis, Chapter 1 introduces the NPP in its generic, uncongested formulation,
together with a linearization procedure to obtain an equivalent linear single level prob-
lem.
In Chapter 2 we first define a nonlinear arc cost function in order to introduce the
congestion element; then we formulate the lower level of the CNPP as an optimization
problem with nonlinear objective function and linear constraints. Finally we present a
simplification procedure to transform the CNPP in a non linear single level problem.
In Chapter 3 a brief introduction to the Franke-Wolfe algorithm is given; then the two
F-W based algorithms to solve the CNPP are presented, together with a review of the
(very brief) pre-existent literature and some hints for future improvements.
Chapter 4 deals with implementation details, for both of the presented algorithms and
for the software used for generating the networks to be used for computational tests.
Finally, Chapter 5 is dedicated to experimental data and results, from which we desume
our final considerations and discuss future developments.
10
Chapter 1

The Network Pricing Problem

    In the present section we will introduce the Network Pricing Problem (NPP) in its
generic formulation, which does not take congestion into account. As its initial form is
that of a bilinear bilevel problem, we will first give a brief introduction to this class of
problems. Then the NPP will be introduced and we will illustrate how it can be refor-
mulated first into a single level bilinear, then into a linear problem with a mixed integer
formulation. In the present chapter we will refer to the formulations and notations in
Labbé et al. (1998), Brotcorne et al. (2000) and Brotcorne et al. (2001). Heilporn (2008)
in her PHD thesis gives a detailed analisys of the geometric structure of the problem and
the particular cases that have so far been proved to be easier to solve.



1.1    Bilevel programming
    Bilevel programs belong to a class of Stackelberg sequential games with two players,
where a leader plays first, taking into account the possible reactions of the second player,
called the follower. By denoting x and y respectively the leader’s and follower’s decision
variables vectors, this situation can be described mathematically by:


                                  min F (x, y)                                         (1.1)
                                   x,y

                                    s.t. G(x, y) ≤ 0                                   (1.2)
                                         y ∈ arg min f (x, y)                          (1.3)
                                                    y

                                           s.t. g(x, y) ≤ 0                            (1.4)
    Note that the formulation above assumes that if there are multiple optimal solutions
for the lower level problem, the solution that is most profitable for the leader is selected;
this is an optimistic approach, in opposition to a pessimistic approach where the leader
chooses the solution that protects himself against the follower’s worst possible reaction.
Both scenarios have been investigated in literature (see Heilporn (2008) for a detailed
bibliography on this).

                                               11
12                              CHAPTER 1. THE NETWORK PRICING PROBLEM

    Bilevel programs first appeared in 1973 in an article by Bracken and McGill (1973),
while the complete formulation, as described aboved, was first introduced in an article
by Shimizu and Aiyoshi (1981). An annotated bibliography containing more than one
hundred references on bilevel programming has been compiled by Vicente and Calamai
(1994), while the books by Shimizu et al. (1997) and Luo et al. (1996) are devoted, in
full or in part, to this subject.
Generically non differentiable and non convex, bilevel problems are, by nature, hard.
Even the linear bilevel problem, where the objective functions and the constraints are
linear, was proved to be N P-hard by Jeroslow (1985). Hansen et al. (1992) prove strong
N P-hardness. Vicente et al. (1994) strengthen these results and prove that merely check-
ing strict or local optimality is strongly N P-hard.



1.2     The Network Pricing Problem (NPP)
    Let us define a transportation network as a set of nodes (cities) and a set of arcs
(routes) linking some of these nodes together. At the upper and lower level, consider an
authority and a set of network users respectively. We also define a commodity as a set
of network users travelling from the same origin to the same destination. In addition to
a fixed cost associated with every arc, tolls are imposed by the authority on a specified
subset of arcs of the network. Hence the Network Pricing Problem consists of devising toll
levels on the specified subset of toll arcs in order to maximize the authority’s revenues.
Then, reacting to the tolls, each commodity travels on the shortest path from its origin
to its destination, with respect to a cost equal to the sum of tolls and initial costs. More
specifically, the formulation we will refer to in the present work assumes that only a subset
of the links has taxes and that the network is a multicommodity transportation network;
moreover, in order to avoid trivial solutions leading to infinite revenues for the authority,
we will assume that there always exists a toll-free path for each origin/destination pair.
No assumption is made regarding the non-negativity of the toll: as shown by Labbé et al.
(1998) a schema which allows negative tolls (that can be interpreted as incentives) can
lead to a better solution than one with only positive taxes.
    An optimal tolling policy is such that tolls are low enough not to deter the users from
using those links (rather than alternative routes with no toll arcs) while still generating
high profits. In this model, it is generally assumed that the users will travel on shortest
(cheapest) origin-destination routes and congestion is not taken into consideration.



1.3     The bilevel formulation of the NPP
     Let G = (N , A ∪ B) be a transportation network where N denotes the set of nodes
and A ∪ B is the set of arcs, where A is the subset of toll arcs and B the subset of toll-free
arcs. Each arc of A has a travel cost composed of a fixed part ca and an unknown toll
ta . Each arc of B bears only a fixed travel cost, identified by da .
1.3. THE BILEVEL FORMULATION OF THE NPP                                                             13

Let K denote the set of commodities, where each commodity k is associated with an
origin/destination pair (ok , dk ); the demand vector bk associated with each commodity
k is defined by:
                                     k
                                     η    if i = o(k)
                               bk =
                                i     −η k if i = d(k)                 ∀i ∈ N , ∀k ∈ K            (1.5)
                                      0     otherwise
                                    

   where η k represents the number of users of commodity k.
Finally xk denotes the number of users of commodity k on arc a ∈ A ∪ B (that is, the
         a
amount of flow on arc a for the origin/destination pair k).

    The NPP can thus be formulated as a bilevel program with bilinear objective func-
tions and linear constraints, where the flows xk denote the optimal solution of the second
                                              a
level problem parametrized by the upper level toll vector t.



        max               t a · xk
                                 a                                                                (1.6)
         t,x
               k∈K a∈A

        s.t. min      (        (ca + ta ) · xk +
                                             a             da · xk )
                                                                 a                                (1.7)
               x
                   k∈K a∈A                          a∈B

                          xk
                           a   −               xk
                                                a   = bk
                                                       i                         ∀k ∈ K, ∀i ∈ N   (1.8)
          a=i+ ∈A∪B                a=i− ∈A∪B
          xk ≥ 0
           a                                                                 ∀k ∈ K, ∀a ∈ A ∪ B   (1.9)

1.3.1    The Tmax upper bound
    It is usually assumed that there cannot exist a toll setting scheme that generates
profits and creates negative cost cycles in the network and that there exists at least
one path composed solely of untolled arcs for each origin-destination pair (the "toll-free
path" previously mentioned). These conditions avoid the degenerative and unrealistic
cases where looping in a cycle drains users’ traveling costs to zero and where a non-
alternative path scenario would allow the leader to put an infinitely high toll on one or
more links, thus leading to an infinite profit.

    In a practical scenario, by the way, such an assumption could not always hold; for
example the toll-free path could be significantly longer than the tolled path, and even if
we consider the time as a factor in the cost function of our model, such a choice could
not be likely for most "real" users (i.e. they would in any case prefer the quicker route).
Moreover, often tariffs are set by companies considering a whole set of policies that are
just partially related to traffic. In such a scenario, it is perfectly reasonable to assume
that an upper bound for the tariffs exists, much more reasonable than assuming that they
can be "arbitrarily high" or "limited by the cost of a toll-free path". Finally, whether or
14                                 CHAPTER 1. THE NETWORK PRICING PROBLEM

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

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


                                    ta ≤ T max   ∀a ∈ A ∪ B                          (1.10)
   In the present work we will assume that a feasible toll-free path always exixsts; as a
consequence the above constraint will be omitted in our formulations.

1.3.2      Complexity of the NPP
    As demonstrated by Labbé et al. (1998) this problem in its general form is strongly
N P-Hard. However a linearization scheme illustrated in the same work leads to a mixed
integer programming formulation that involves a small number of binary variables. This
formulation can be solved using standard algorithms such as branch and bound that will
lead to an exact solution in reasonable time for small instances of the problem, or allows
for efficient heuristic procedures to be developed, as shown by Brotcorne et al. (2000
and 2001). Such algorithms lead to far better results on large network since they are
able to exploit the particular structure of the network in order to quicken the solving
procedure.



1.4      Linearization scheme for the NPP
   The aim of the procedure that will briefly be illustrated in the present section (for a
more comprehensive description see Labbé et al. (1998)) is to obtain a single level linear
problem from the bilevel bilinear NPP. The process is carried on in two phases:

     1. From bilevel to single level through the theory of Duality;

     2. From bilinear to linear.

1.4.1      From bilevel NPP to single level NPP
    Under the assumptions that strong duality holds for the second level problem, and
that there exists a toll-free path for each origin/destination pair (or, alternatively, that
there exists an upper bound to tariffs), it is possible to reduce the bilevel bilinear NPP
to a single level bilinear problem.
The process implies the replacement of the second level problem by its dual constraints
1.4. LINEARIZATION SCHEME FOR THE NPP                                                     15

(while mantaining the primal feasibility constraint) and its objective by the complemen-
tary slackness condition, that is, adding another constraint which imposes primal and
dual feasibility for the respective objectives.

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


                           λk − λk ≤ ca + ta
                            i    j                    ∀a = (i, j) ∈ A, ∀k ∈ K          (1.11)
                           λk − λk ≤ da
                            i    j                    ∀a = (i, j) ∈ B, ∀k ∈ K          (1.12)

    Where i and j are respectively the head and tail nodes for arc a ∈ A ∪ B.
Moreover, since the primal constraints of flow conservation are equalities, the correspond-
ing variables λk are free.
               i


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


                                   max            η k λkk −
                                                       d            η k λkk
                                                                         o             (1.13)
                                            k∈K               k∈K

   According to the strong duality theorem, if:

  1. vector x is a feasible solution for the primal problem,
            ¯

            ¯
  2. vector λ is a feasible solution for the dual problem,

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

                           ¯
   then the vectors x and λ are optimal solutions for both of the problems.
                    ¯
Thus we can substitute the second level objective with a constraint that imposes equality
between the values of the primal and the dual objective, which implies optimality:

                                             Zprimal = Zdual                           (1.14)

   that is:


               (ca + ta ) · xk +
                             a           da · xk = η k · λkk − λkk
                                               a          d     o             ∀k ∈ K   (1.15)
         a∈A                       a∈B

    The resulting problem, equivalent to the NPP as described previously, is thus the
following:
16                                              CHAPTER 1. THE NETWORK PRICING PROBLEM



            max                   t a · xk
                                         a                                                      (1.16)
             t,x
                    k∈K a∈A

            s.t.         (ca + ta ) · xk +
                                       a              d a · xk =
                                                             a
                   a∈A                          a∈B
                              k
                         =η ·        λkk
                                      d      − λkk
                                                o                                    ∀k ∈ K     (1.17)

                                  xk −
                                   a                   xk = bk
                                                        a    i               ∀k ∈ K, ∀i ∈ N     (1.18)
               a=i+ ∈A∪B                 a=i− ∈A∪B
              λk − λk ≤ ca + ta
               i    j                                                 ∀a = (i, j) ∈ A, ∀k ∈ K   (1.19)
              λk
               i    −    λk
                          j   ≤ da                                    ∀a = (i, j) ∈ B, ∀k ∈ K   (1.20)
               k
              xa    ≥0                                                   ∀k ∈ K, ∀a ∈ A ∪ B     (1.21)
              ta ≥ 0                                                                 ∀a ∈ A     (1.22)
              λk
               i     free                                                    ∀i ∈ N , ∀k ∈ K    (1.23)

1.4.2       From bilinear NPP to linear NPP
    The problem obtained so far still contains bilinear terms in both the objective and
the complementary slackness constraint. What we want to obtain in this section is a
single level linear problem.
    First of all it is necessary to introduce a binary variable and a slack variable to
transform the bilinear term ta · xk . The binary variable is used to re-define the integer
                                   a
variable.
    Since the second level problem is a flow assignment problem, each flow demand of
the commodities is distributed on the network by following the path of minimum cost. It
follows that the binary variable introduced for each arc a ∈ A∪B and for each commodity
k ∈ K is defined as follows:


      k     1 if a ∈ A ∪ B belongs to the minimum cost path for commodity k ∈ K
     ra =
            0 otherwise
                                                                              (1.24)
     Thus resulting in:
                                      xk = η k · ra
                                       a
                                                  k
                                                                              (1.25)
     The following constraint for the new variable needs to be added to the problem:

                                              k
                                             ra ∈ {0; 1}     ∀a ∈ A ∪ B, ∀k ∈ K                 (1.26)
    Then, a slack variable is used to re-define the continuous variable. Since each com-
modity is associated with a single path (the one with minimum cost), the leader imposes
the fee on a tariffed arc a ∈ A only if this is used by at least one commodity, for which
that particular arc belongs to the path of minimum cost. Therefore, the slack variable
introduced for each arc a ∈ A and for each commodity k ∈ K is as follows:
1.4. LINEARIZATION SCHEME FOR THE NPP                                                             17


                                                             k
                                                      ta if ra = 1
                                              pk =
                                               a                                               (1.27)
                                                      0 otherwise
   The following constraints need to be added:


                    pk − ta ≤ 0
                     a                                                  ∀a ∈ A, ∀k ∈ K         (1.28)
                     − pk + ta − M · (1 − ra ) ≤ 0
                        a
                                           k
                                                                        ∀a ∈ A, ∀k ∈ K         (1.29)
                    pk
                     a   −N ·        k
                                    ra   ≤0                             ∀a ∈ A, ∀k ∈ K         (1.30)
where M e N are arbitrary big − M parameters.
Equation 1.28 forces the value of pk to zero if ta is zero. Equation 1.29 is a Big-M type
                                     a
constraint. If ra is one, the constraint must be satisfied. In fact pk will be equal to ta
                k
                                                                      a
                                            k
according to Equations 1.28 and 1.29. If ra is zero, the constraint is relaxed. Equation
1.30 denotes an upper bound for pk . If ra equals one, pk is less than Na . If ra is zero, pk
                                   a
                                         k
                                                         a
                                                                                k
                                                                                            a
is zero too.

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


    max                  η k · pk
                                a                                                              (1.31)
      p
            k∈K a∈A
                            k
     s.t.                  ra −                 ra = ek
                                                 k
                                                      i                     ∀i ∈ N , ∀k ∈ K    (1.32)
            a=i− ∈A∪B               a=i+ ∈A∪B

                  (ca · ra + pk ) +
                         k
                              a               da · ra = λkk − λkk
                                                    k
                                                         d     o                    ∀k ∈ K     (1.33)
            a∈A                a∈B
             k     k
            λi − λj ≤ ca + ta                                        ∀a = (i, j) ∈ A, ∀k ∈ K   (1.34)
            λk − λk ≤ da
             i     j                                                 ∀a = (i, j) ∈ B, ∀k ∈ K   (1.35)
             k
            pa − ta ≤ 0                                                     ∀a ∈ A, ∀k ∈ K     (1.36)
            − pk + ta − M · (1 − ra )
                a
                                  k
                                                ≤0                          ∀a ∈ A, ∀k ∈ K     (1.37)
            pk − N · ra ≤ 0
             a
                      k
                                                                            ∀a ∈ A, ∀k ∈ K     (1.38)
            ta ≥ 0                                                                   ∀a ∈ A    (1.39)
            pk ≥ 0
             a                                                              ∀a ∈ A, ∀k ∈ K     (1.40)
             k
            ra   ∈ {0; 1}                                               ∀a ∈ A ∪ B, ∀k ∈ K     (1.41)
            λk
             i    free                                                      ∀i ∈ N, ∀k ∈ K     (1.42)
   where ek is the new demand vector, defined as follows:
          i

                            −1 if i = ok
                           
                       k
                      ei =   1    if i = dk   ∀i ∈ N, ∀k ∈ K                                   (1.43)
                             0   otherwise
                           
18   CHAPTER 1. THE NETWORK PRICING PROBLEM
Chapter 2

The Congested Network Pricing
Problem

    In this section we will describe a variant to the Network Pricing Problem which takes
congestion levels into account. We will refer to this as the Congested Network Pricing
Prooblem (CNPP). The peculiarity of considering congestion lays in the fact that arc
costs are no longer considered as constants. Instead, they depend upon arc flows: they
get higher as flow levels approach the capacity of the links (which are fixed) and get lower
as flow is moved to other links. Congestion thus implies a mutual dependence between
arc costs and arc flows, and here lies the difficulty of the model. Our particular case
deals with a road transportation network, such as a highway system, so that the first
level problem remains a profit maximization problem and the second level problem will
be a Traffic Assignment Problem, which has been covered by a vast amount of literature
over the past decades. For a complete mathematical analysis of the Traffic Assignment
problem we refer to the omonymous work by Patriksson (1994) and for a more generic
introduction on optimization problems on transportation networks we refer to the work
by Sheffi (1985). No previous work covers the CNPP as presented here, however a sim-
ilar model, applied on a telecommunications network can be found in Julsain (1998).
Instead, issues related to congestion have been thoroughly investigated in the field of
Network Design Problems by Marcotte (1986).



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

                                           19
20              CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

the network is able to sustain before congestion occurs (or before the system comes to a
halt because of it). In order to introduce congestion in the NPP we have to take all this
into consideration. The scenario to which we will refer is that of a road transportation
network (i.e. a highway system) where link costs will depend upon the amount of flow
on that specific link: as the amount of flow on that link increases, the cost will increase
as well in order to avoid congestion; thus the users will be induced into moving part
of the flow to another, now cheaper link; the cost of the previously loaded link will
consequently decrease proportionally with the flow that has been removed from it, and
so on. This deviation of flow and consequent fluctuation of link costs finally converge
to a configuration of balance, that is referred to as equilibrium. An equilibrium can be
referred to either the users (thus referred to as User Equilibrium) or to the network
(System Equilibrium) depending on the final configuration we want to obtain.
All of these concepts will be anayzed in detail in the present chapter in order to apply
what explained above to the NPP.
For the proper definitions of Equilibria on a trasnsportation network we will refer to
(Wardrop, 1952).


2.2      CNPP lower level: traffic assignment problem
    In this section we will analyze the second level of the CNPP, that is, how the users of
the network (followers) spread across the arcs according to the supply (per-arc cost) and
the demand (necessity to travel form origin to destination). We will formulate assign-
ment assumptions in order to formulate the follwers’ problem as a Traffic Assignment
problem (see i.e. Sheffi (1985)).

    According to transportation system theory, the system we are considering is mono-
modal and continuous (meaning that all users/vehicles belong to the same category),
and we assume that users travel with private individual vehicles. Demand is represented
by an origin-destination (O/D) matrix and the supply is defined by the transportation
network itself (nodes, links and assigned costs).
Interaction between demand and supply is simulated according to an appropriate as-
signment model, which must be coherent with the objectives, the given constraints and
possible simplification hypotheses.
Where not otherwise specified, notation is consistent with the one used in the previous
chapter for the NPP.


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

     1. Cost-flow functions: we are considering congestion, so we define the congested
        network, where the arc-cost vector depends upon the arc-flow vector (C = C(f )).
2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM                                      21

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

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

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

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

  6. Demand characteristics: demand flows are constant in time, since they are not
     dependent upon cost fluctuations due to congestion. Thus we are considering a
     rigid demand.

   Regarding transportation costs, we are considering the following hypotheses:

  1. cost functions are separable with respect to the links, that is, the cost of a single
                                                         ¯
     arc is independent from the cost of other arcs (Ca (f ) = Ca (fa ), ∀a ∈ A).

  2. non additive path costs will not be taken into consideration; specifically, we will
     ignore all costs that cannot be obtained through a sum of single-arc costs over the
     path.

2.2.2   Taking congestion into account: D.U.E. Assignment
    Considering a congested network implies that there is not only dependence of arc
flows from arc costs (as in assignments to non-congested networks) but there is also
dependence of arc costs from arc flows (through the arc cost functions). This mutual
dependence of flows and arcs determines a final configuration of the system where flows
on paths are consistent with the cost of the paths themselves. This configuration is seen
as the state towards which the system evolves in conditions of recurring congestion, that
is, when congestion occurs in a systematic way for a sufficiently long period of analysis.
Given the above considerations and previously stated hypotheses, literature suggests that
we choose as a traffic assignment model a single-class, mono-modal and rigid demand
Deterministic User Equilibrium (D.U.E.).
    A D.U.E. assignment is consistent with Wardrop’s first principle (Wardrop, 1952),
which states that “The journey times in all routes actually used are equal and less than
those which would be experienced by a single vehicle on any unused route” . In other
words, when an equilibrium is reached, no individual is able to reduce their costs by
22             CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

choosing an alternative route over the network. Thus, unlike other models such as De-
terministic Uncongested Networks (D.U.N.) or Deterministic Network Loading (D.N.L.)
models, D.U.E. models do not assign all the demand to the path of minimum cost for
each O/D pair, but distribute it on different paths to take into account the effect of
congestion at the equilibrium condition.


2.2.3   Another type of equilibrium: System Optimum
    A possible alternative to a D.U.E. assignment is represented by a System Optimum
(S.O.) assignment, which is consistent with Wardrop’s second principle (Wardrop, 1952).
This states that which “At equilibrium the average journey time is minimum”. This
means that users must cooperate to the minimization of the total cost of the network.
    This approach can be used, for example, to calibrate the instruments of control
available to the manager of the system because flows and costs at the system optimum are
consistent with the objectives to which the operator aims. However, the resulting choice
behavior is likely to be unrealistic because some users, just to reach the minimum cost of
the system, would not choose individual paths of minimum cost. Therefore, in general,
solutions of an S.O. assignment do not coincide with those of a D.U.E. assignment.
    Thus this model, although providing a formulation and a resolution algorithm that
are similar to the D.U.E. and despite being able to provide good solutions when applied
to the road pricing problem, is not consistent to the objective of wanting to recreate a
sequential game between the parties where each seeks to achieve its purpose without any
mutual collaboration.


2.2.4   Cost functions
   Cost functions express the cost of a path or arc based on the performance of the
network. Because network congestion is taken into account, the costs vary with the
flows on which they depend. Assuming separable functions and the absence of non-
additive path costs, each arc of the network has a cost that is a function only of the flow
on the arc itself.
   According to (Wardrop, 1952), a generic arc cost function, separable and free of
non-additive costs, has the following formulation:

                   Ca (fa ) = β1 · tra (fa ) + β2 · twa (fa ) + β3 · mca (fa )       (2.1)

     where tra is the travel time, twa is the waiting time, mca is the monetary cost, β1 ,
β2 , β3 are coefficients of homogenization.

   Travel time on a directed arc of a highway network is obtained through the following
empirical relation:
                                                                β
                                                           fa
                             tra (fa ) = tr0a · 1 + α ·                              (2.2)
                                                           qa
2.2. CNPP LOWER LEVEL: TRAFFIC ASSIGNMENT PROBLEM                                         23

    where tr0a is the travel time in unconstrained conditions (i.e. optimal traffic and
weather conditions), qa is the capacity of an arc (calculated through appropriate analysis
tools provided by the technical literature(i.e. Transportation Research Board (2000)), α
e β are parameters that have to be calibrated.
    The function defined by eq. 2.2 is not linear, continuous, strictly positive and strictly
increasing.
    Waiting time can be attributed to the presence of barriers for the collection of tolls,
crossroads with traffic lights or parking areas. Since we are considering the case of a
highway network, there are no intersections and parking areas to generate waiting times,
therefore we neglect the related component of generalized cost.
    Monetary cost, borne by the individual user who travels along the transportation
network, can be further decomposed into the sum of the monetary cost of the toll and
the monetary cost of fuel (depending on the level of congestion), that is:

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

   Cost function is thus reduced to:
                                                           β
                                                      fa
                         Ca (fa ) = tr0a · 1 + α ·             + δ · ta                 (2.4)
                                                      qa

    where δ is a binary parameter with value 1 if the arc has costs, 0 otherwise.
    Note that the charge included in the cost function specified is considered independent
of the distance traveled and of the time evolution of the system (the so-called inter-and
intra-period dynamics).

2.2.5    Second level of the CNPP: flows assignment
    Let G = (N , A ∪ B) be a transportation network comprising set N of the nodes and
the union A ∪ B of disjoint sets A and B (A ∩ B = ∅), where A is the set of the arcs
where the leader imposes a tariff and B is the set of the toll-free arcs. Let K be the set of
commodities, that in this case correspond to the O/D pairs. A set of O/D pairs is thus
defined, (ok , dk ) : k ∈ K and each (ok , dk ) pair has a constant demand flow η k , that is
the number of users for the commodity k ∈ K. Let x and t be the flow and tariffs vector
respectively. We denote by xk the flow on arc a ∈ A ∪ B for the commodity (O/D pair)
                              a
k ∈ K; thus the flow on an arc is given by xa = k∈K xk . We denote by Ca (xa ) the arc
                                                           a
cost function specified as follows:

                                                       β
                                                 xa
                     Ca (xa ) = tr0a · 1 + α ·                 ∀a ∈ A ∪ B               (2.5)
                                                 qa
24                 CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

     where:

                                           xa =         xk
                                                         a       ∀a ∈ A ∪ B                           (2.6)
                                                  k∈K

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

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

                             −η k if i = ok
                            
                        k
                      bi =    ηk     if i = dk   ∀i ∈ N , ∀k ∈ K                (2.7)
                              0     otherwise
                            

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

                   xa                                       xa
     min                (Ca (ωa ) + ta )dωa +                    Ca (ωa )dωa                          (2.8)
      x
           a∈A 0                                  a∈B   0

  s.t.            xk +
                   a                xk −
                                     a               xk −
                                                      a                xk = bk
                                                                        a    i      ∀i ∈ N , ∀k ∈ K   (2.9)
        a∈i− ∩A           a∈i− ∩B          a∈i+ ∩A           a∈i+ ∩B
       k
      xa ≥ 0                                                                     ∀a ∈ A ∪ B, ∀k ∈ K (2.10)

    where i− ∈ N and i+ ∈ N are respectively the entering and exiting arcs for node
i ∈ N.
    Equation 2.8 expresses the objective function of the problem, which is nonlinear
because of the cost function adopted. Equation 2.9 imposes a number of linear constraints
which is equal to the number of network nodes in order to express conservation of flows
at the nodes. Finally, equation 2.10 imposes the non-negativity of the arc flow variables
for each commodity.
    The problem above is known as minimum cost multi-commodity flow convex prob-
lem ((LeBlanc et al., 1975)) or Traffic Assignment problem (Petersen (1975), Patriksson
(1994)). In literature there are several variations to the basic problem presented here.
Daganzo (1977a,b) proposes the introduction of capacity constraints on arc flow variables
and linearization of the cost function from a non-zero value of the flow below the limit
of capacity. However, it is believed that such changes are unnecessary here, given that
the cost function grows more than proportionally with the increase of the flow/capacity
ratio, thus already conditioning in an effective and appropriate way the distribution of
flows on the network. In addition, changes should be made to the solution algorithm and
to the convergence conditions that would make too complex and uncertain the definition
of the problem (see also Hearn and Ribera, 1981).
A stochastic variant of this problem, based on the concept of Stochastic User Equilib-
rium (S.U.E.) was also investigated thoroughly in literature (see Sheffi (1985) for the
2.3. FIRST LEVEL OF THE CNPP: LEADER PROFITS                                                             25

theoretical bases and Polyak (1990) and Damberg et al. (1996) for resolution algorithms).



2.3       First level of the CNPP: leader profits
    In this section the first level of the CNPP is considered, that is, how the leader
maximizes his or her profit by imposing fees on the tariffed arcs and dependently on the
distribution of the followers on the network at the equilibrium.
    For the original problem the objective function for the first level of the problem (the
leader’s problem) is the following:

                                             max                      xk · t a
                                                                       a                              (2.11)
                                              t,x
                                                     k∈K a∈A∪B
    As said before, it is a non-linear objective function, since it contains a bilinear term.
In addition, the following constraint will apply:

                                                  ta ≥ 0 ∀a ∈ A                                       (2.12)
    Equation 2.12 being imposed by the non negativity of the cost functions stated in
sec.2.2.4.

The resulting bilevel problem is thus the following:


  max                    xk · ta
                          a                                                                           (2.13)
    t,x
          k∈K a∈A∪B
                   xa                                         xa
  min                   (Ca (ωa ) + ta )dωa +                      Ca (ωa )dωa                        (2.14)
    x
           a∈A 0                                    a∈B   0

              xk
               a   −                xk
                                     a   =   bk
                                              i                                     ∀i ∈ N , ∀k ∈ K   (2.15)
  a=i− ∈A∪B             a=i+ ∈A∪B
  xk ≥ 0
   a                                                                             ∀a ∈ A ∪ B, ∀k ∈ K   (2.16)
  ta ≥ 0                                                                                    ∀a ∈ A    (2.17)
                                                                                                      (2.18)

With cost/flow interdependence as expressed by equation 2.5 and demand vector bk
defined by equation 2.7.


2.4       Reformulating the CNPP
   The aim of the present section is to apply a simplification scheme to the CNPP, in
order to obtain a formulation that is easier to handle. The process is carried out in two
phases:
26               CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

     1. From bilevel to single level through Lagrangian Duality;

     2. From bilinear to mixed-integer non-linear.

2.4.1     From bilevel CNPP to single level CNPP
   Symmetrically to the procedure that was carried on for the linear NPP, in this phase
the second level problem will be replaced by its KKT conditions. This is a legitimate
operation, assuming that objective and constraints are ∈ C 1 and have the characteristics
described below (see Sheffi (1985) and Bertsekas (1995)). Be such the case, a vector x
that satifies the KKT conditions, is known to be optimal for the considered problem.

Given a generical convex program:


                                          min f (x)                                    (2.19)
                                             s.t. h(x) = 0                             (2.20)
                                            g(x) ≥ 0                                   (2.21)

where f (x) and h(x) are convex and g(x) are linear.
Its Lagrangian is defined as:


                           L(x, λ, µ) = f (x) + λT h(x) − µT g(x)                      (2.22)
At a minimum point, x, we have           L(x, λ, µ) = 0 which implies that the following with
respect to the partial derivatives:



                           xL   :     f (x) + λT h(x) − µT g(x) = 0                    (2.23)
                           λL   : h(x) = 0                                             (2.24)
                           µL   : g(x) ≥ 0                                             (2.25)

Plus the following complementarity condition must hold:

                                            µT g(x) = 0                                (2.26)
In the typical instance of a Traffic Assignment problem, which is our second level prob-
lem, the corresponding constraints are the following:



      h(x) = 0 ⇒               xk −
                                a                 xk − bk = 0
                                                   a    i          ∀i ∈ N , ∀k ∈ K     (2.27)
                   a=i− ∈A∪B          a=i+ ∈A∪B
      g(x) ≥ 0 ⇒   xk ≥ 0
                    a                                           ∀a ∈ A ∪ B, ∀k ∈ K     (2.28)
2.4. REFORMULATING THE CNPP                                                                       27

Consequently, the partials derivatives are:



        xL   : Ca (xa ) + ta + λk − λk − µk = 0
                                i    j    a                      ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K   (2.29)
        λL   :                xk −
                               a                 xk − bk = 0
                                                  a    i                     ∀i ∈ N , ∀k ∈ K   (2.30)
                 a=i− ∈A∪B           a=i+ ∈A∪B

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

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



        max             ta · xk
                              a                                                                (2.33)
         t,x
                  a,k

        s.t.                 xk −
                              a              xk = bk
                                              a    i                      ∀i ∈ N , ∀k ∈ K      (2.34)
               a=i− ∈A∪B           a=i+ ∈A∪B
        Ca (xa ) + ta +       λ i − λ k − µk =
                                k
                                      j    a     0             ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K     (2.35)
        µ k · xk = 0
          a    a                                                      ∀a ∈ A ∪ B, ∀k ∈ K       (2.36)
        xk
         a   ≥0                                                       ∀a ∈ A ∪ B, ∀k ∈ K       (2.37)
        µk
         a     ≥0                                                     ∀a ∈ A ∪ B, ∀k ∈ K       (2.38)
        λk
         i       free                                                     ∀i ∈ N , ∀k ∈ K      (2.39)

where Ca (xa ) is the derivative of the cost function expressed by eq.2.5


2.4.2        From bilinear CNPP to Mixed Integer non-linear CNPP
   The problem obtained so far still contains bilinear terms in both the objective and
the complementary constraint. What we want to obtain in this section is a single level
non-linear problem with a mixed-integer formulation.

Simplification of the objective (ta · xk term)
                                      a

    In the present section we will substitute the ta · xk term in the objective with terms
                                                        a
derived from the equality constraints of the problem in order to obtain an equivalent
formulation that will be non-linear in only one variable.
28                   CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM

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


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

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


         (Ca (xk ) + ta + λk − λk ) · xk = 0
               a           i    j      a                                      ∀a = (i, j) ∈ A, ∀k ∈ K               (2.42)
         (Ca (xk ) + λk − λk ) · xk = 0
               a      i    j      a                                           ∀a = (i, j) ∈ B, ∀k ∈ K               (2.43)

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



      Ca (xk ) · xk + ta · xk + (λk − λk ) · xk = 0
           a      a         a     i    j      a                                    ∀a = (i, j) ∈ A, ∀k ∈ K          (2.44)
      Ca (xk )
           a     ·   xk
                      a   +   (λk
                                i   −     λk )
                                           j     ·   xk
                                                      a   =0                       ∀a = (i, j) ∈ B, ∀k ∈ K          (2.45)

From 2.44 we thus obtain:

             ta · xk = −Ca (xk ) · xk + (λk − λk ) · xk
                   a         a      a     j    i      a                            ∀a = (i, j) ∈ A, ∀k ∈ K          (2.46)
So the objective (eq.) becomes:

                                max                       −(Ca (xk ) · xk + (λk − λk ) · xk )
                                                                 a      a     j    i      a                         (2.47)
                                    λ,x
                                           a∈A k∈K

Note that the following equality holds:

                               (λk − λk ) · xk =
                                 j    i      a                           λk · (
                                                                          i                 xk −
                                                                                             a               xk )
                                                                                                              a     (2.48)
                 a∈A k∈K                                       k∈K i∈N            a=i− ∈A          a=i+ ∈A

Which is even more evident if we express it in the equivalent matrix-vector formulation:
                   k            k                   )i∈N λk · (Ai,a · xk ).
 a∈A    k∈K   i∈N xa · (Ai,a · λi ) = a∈A     k∈K         i            a


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


                 xk −
                  a                     xk +
                                         a                     xk −
                                                                a               xk = bk
                                                                                 a    i      ∀i ∈ N , ∀k ∈ K        (2.49)
      a=i− ∈A             a=i+ ∈A                    a=i− ∈B          a=i+ ∈B

Thus we have:

                 xk −
                  a                     xk = bk −
                                         a    i                       xk +
                                                                       a               xk
                                                                                        a    ∀i ∈ N , ∀k ∈ K        (2.50)
      a=i− ∈A             a=i+ ∈A                          a=i− ∈B           a=i+ ∈B

Following from eq.2.48 and 2.50:
2.4. REFORMULATING THE CNPP                                                                            29




                λk · (
                 i                 xk −
                                    a               xk ) =
                                                     a                                              (2.51)
      k∈K i∈N        a=i− ∈A              a=i+ ∈A

                λk · bk −
                 i    i                   λk · (
                                           i               xk +
                                                            a               xk ) ∀i ∈ N , ∀k ∈ K
                                                                             a                      (2.52)
      k∈K i∈N               k∈K i∈N            a=i− ∈B            a=i+ ∈B


Eq.2.45 states that:

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

                                                     k   k    k
We can thus substitute the           a∈A       k∈K (λj −λi )·xa       term in the objective, that becomes:


                 max                     λk · bk −
                                          i    i           Ca (xk ) · xk −
                                                                a      a           Ca (xk ) · xk
                                                                                        a      a    (2.54)
                   λ,x
                         k∈K       i∈N               a∈A                     b∈B



Linearization of the µk · xk term
                      a    a

    The problem obtained so far still contains the nonlinear constraint µk ·xk = 0 deriving
                                                                          a a
from the complementarity slackness condition. However, this term can be linearized
through a relaxation, in the following way:
                                                              k
First of all, it is necessary to introduce a binary variable za , defined as:

                                            k         1 if      µk = 0
                                                                 a
                                           za =                                                     (2.55)
                                                      0 if      µk = 0
                                                                 a

Since we don’t really need to know the exact value of µk but only have to impose that
                                                          a
it will be zero if xk = 0 and vice versa, we can write the KKT conditions as:
                    a



        Ca (xa ) + ta + λk − λk ≤ M · za
                         i    j
                                       k
                                                               ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K          (2.56)
        xk
         a   ≤ M · (1 −      k
                            za )                               ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K          (2.57)

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


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

Thus the final reformulation for the CNPP will be:
30                    CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM




  max             (   λk · bk −
                       i    i             Ca (xa ) · xk −
                                                      a           Ca (xa ) · xk )
                                                                              a                             (2.60)
     λ,x
            k∈K i∈N                 a∈A                     b∈B

 s.t.                   xk
                         a   −                xk
                                               a   =   bk
                                                        i                                        ∀i ∈ N , ∀k ∈ K
            a=i− ∈A∪B            a=i+ ∈A∪B
                                                                                                            (2.61)
 Ca (xa ) + ta +      λk
                       i   −   λk
                                j   ≤M·      k
                                            za                                      ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
                                                                                                            (2.62)
 Ca (xa ) + ta + λk − λk ≥ 0
                  i    j                                                            ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
                                                                                                            (2.63)
 xk ≤ M · (1 − za )
  a
                k
                                                                                    ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
                                                                                                            (2.64)
 xk ≥ 0
  a                                                                                 ∀a = (i, j) ∈ A ∪ B, ∀k ∈ K
                                                                                                            (2.65)
  k
 za ∈ {0; 1}                                                                                 ∀a ∈ A ∪ B, ∀k ∈ K
                                                                                                            (2.66)
 ta ≥ 0                                                                                          ∀a ∈ A, ∀k ∈ K
                                                                                                            (2.67)
 λk
  i        free                                                                                  ∀i ∈ N , ∀k ∈ K
                                                                                                             (2.68)




2.4.3        Complexity of the CNPP

    The complexity of the CNPP, as formulated above, depends heavily on the choice for
the cost function. For the particular cost function that was illustrated in section 2.2.4,
this complexity relies on the choice for the positive integer parameters α and β. We can
distinguish three situations that can occurr and that are of some interest:



     1. α = 0
                                                                                    β
                                                                              fa
           In this case the congestion-dependent term α ·                     qa        equals zero, and the CNPP
           instance becomes a standard NPP one.

           In fact, while the constraints and leader objective face no change, the follower’s
           objective becomes:
2.4. REFORMULATING THE CNPP                                                         31



                                             xa
                          min                     (Ca (ωa ) + ta )dωa =          (2.69)
                           x             0
                                a∈A∪B
                                                        xa
                               = min                         (tr0a + ta )dωa =   (2.70)
                                  x                 0
                                       a∈A∪B

                               = min              (tr0a + ta ) · xa              (2.71)
                                  x
                                       a∈A∪B


   Thus resulting in a formulation that is identical to the one illustrated in the pre-
   vious chapter for the uncongested NPP.
   The case β = 0 is similar and does not offer any interesting particolarity.

 2. α > 0 and β = 1
   In this case the CNPP instance described above represents a quadratic problem
   (note that the constraints are all linear). Its complexity is superior to the uncon-
   gested NPP, but many efficient resolutive algorithms exist for this class of problems.


 3. α > 0 and β > 1
   In this case the CNPP instance is non linear and we can expect it to be much harder
   to solve than the uncongested NPP. Several solving approaches could be possible,
   from penalizing the nonlinear constraint in the objective (thus obtaining a convex
   polyhedron as feasible region) to heuristic procedures that use local approximations
   of the nonlinear term to generate a succession af approximating subproblems, and
   so on. Two procedures of this last type will be presented in the next chapter.
32   CHAPTER 2. THE CONGESTED NETWORK PRICING PROBLEM
Chapter 3

Solving the CNPP

3.1     The Conditional Gradient method
        (Frank-Wolfe Algorithm)
    Although the bilevel formulation for the CNPP presented in the previous chapter
has not been studied so far, the User Equilibriun problem which constitutes the second
level of our problem (that is, the followers’ problem) is well known and has been studied
thoroughly in the past decades, with many resolutive algorithms developed so far. Thw
most widely known is probably the Frank-Wolfe algorithm (Frank and Wolfe (1956)),
also known as Conditional Gradient method (Bertsekas (1995)). This algorithm solves a
sequence of linear problems that approximate the original non linear one, and generates
a sequence of admissible flow vectors from the solutions of the approximating instances.
Asymptotically, this sequence will converge to the optimum solution. The fact that
it uses a linear approximation of what is here the second level part makes the F-W
algorithm particularly interesting for the resolution of the bilevel problem.

3.1.1    Applying Frank-Wolfe to the D.U.E. assignment problem
   In the present section, we will briefly illustrate how the Frank-Wolfe algorithm can
be applied to a D.U.E. resolution.

    The algorithm solves a sequence of linear problems that approximate the original
problem and then generates a sequence of admissible flows arc vectors x(j) from a feasi-
                                                                           ¯
ble solution of the original problem x(0) ∈ Sx , where Sx is the set of admissible flows arcs.
                                     ¯
The solution of the linear subproblems identifies, with respect to the current solution
x(j−1) , a direction along which to minimize the objective function in order to determine
¯
the new point x(j) .
                 ¯

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

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

                                             33
34                                                             CHAPTER 3. SOLVING THE CNPP

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


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

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

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

    The objective function described above, paired with the non-negativity and flow
conservation constraints of the Traffic Assignment Problem (eq. 2.9 and 2.10) denote an
optimization problem that corresponds to the model of D.U.N / D.N.L, the minimum
cost - multi-commodity flow linear problem. This problem can be solved through the well-
known Dijkstra’s algorithm (henceforth referred as All-or-nothing assignment (AON)).
    It follows that through the application of Frank-Wolfe algorithm it is possible to
reduce a problem of D.U.E. assignment (convex) to a sequence of approximating D.U.N.
assignment subproblems (linear), thus ignoring locally the cost-flow inter-dependence
due to congestion.
    The j-th subproblem, with j = 1, . . . , m, where m is the number of the subproblems
in the succession, can be formulated as follows:

                                    (j)                                (j)
     min            Ca (x(j−1) ) · xa,AON +
                     (j)
                         a                        Ca (x(j−1) ) · xa,AON
                                                   (j)
                                                       a                                         (3.4)
       x
              a∈A                              a∈B
                         k,(j)                  k,(j)
     s.t.               xa,AON −               xa,AON   = bk
                                                           i                       ∀i ∈ N , ∀k ∈ K
            a=i− ∈A∪B              a=i+ ∈A∪B
                                                                                                 (3.5)
      k,(j)
     xa,AON ≥ 0                                                                ∀a ∈ A ∪ B, ∀k ∈ K
                                                                                                (3.6)

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

                                          x(j−1) =
                                           a               xk,(j−1)
                                                            a                                    (3.7)
                                                     k∈K

                                           (j)                 k,(j)
                                          xa,AON =            xa,AON                             (3.8)
                                                        k∈K

       (j)    (j−1)
   Ca (xa     ) is the cost of arc a ∈ A ∪ B calculated through the specified cost function
                    (j−1)
from the arc flow xa       :
3.1. THE CONDITIONAL GRADIENT METHOD(FRANK-WOLFE ALGORITHM)35

                                                                  
                                                     (j−1)    β
                    (j) (j−1)                       xa
                   Ca (xa     ) = tr0a · 1 + α ·                     ∀a ∈ A ∪ B          (3.9)
                                                      qa
     (j)
    xa,AON is the flow on arc a ∈ A ∪ B, solution of the j-th problem obtained through
the A.O.N. resolution algorithm.
                   (j−1)
    Note that xa      arc flows of the (j − 1)-th problem are constant (since they are the
                                               (j) (j−1)
solution of this problem) and consequently Ca (xa        ) arc costs are constant for the j-th
                           (j)
problem. It follows that xa,AON arc flows are the only variables in the j-th problem, thus
resulting in a linear objective function for the j-th problem.

3.1.2      F-W algorithm steps
    The steps of the Frank-Wolfe algorithm applied to D.U.E. assignment are the follow-
ing:

Initialization An admissible starting solution is found x(0) ∈ Sx (see §3.4.1) and a
                                                           ¯
      threshold is chosen for the stopping criterion (see §3.1.3).
j-th iteration Given the flow vector x(j−1) , solution of the problem at the (j − 1)-th
                                    ¯
      iteration:
                                                                              ¯       ¯x
           1. The cost vector is determined in function of the flow vector, as C (j) = C(¯(j−1) ),
              through equation 2.5.
           2. The approximating linear problem denoted by Equations 3.4, 3.5, 3.6 is solved
              through the All-or-nothing algorithm, since arc costs (denoted as arc labels)
              are constant for the j-th iteration. Thus the flow vector for the non congested
                                       (j)
              network is obtained: xAON .
                                     ¯
           3. The descent step is executed in order to determine the final solution for the
              j-th iteration. It consists in the following one-dimensional non-linear research
              problem:
                                                                       (j)
                    µ(j) ∈ argminµ∈[0,1] ψ(µ) = z x(j−1) + µ · (¯AON − x(j−1) )
                                                  ¯             x      ¯                  (3.10)

              where µ is a scalar variable. The problem can be solved through the bisection
              algorithm or any other one-dimensional minimization procedure.
           4. Vector x(j) is found as a solution for the j-th iteration. It is a convex combi-
                     ¯
                                                                      (j)
              nation of the previous j All-or-nothing assignment xAON :
                                                                    ¯
                                                             (j)
                                   x(j) = x(j−1) + µ(j) · (¯AON − x(j−1) )
                                   ¯      ¯                x      ¯                       (3.11)

Stopping criterion The stopping test is executed against a threshold (see §3.1.3). If
    the test fails, a new iteration is executed with vector x(j) as the starting solution;
                                                              ¯
    otherwise the algorithm is stopped and x  ¯ (j) is the deterministic flows vector.
36                                                             CHAPTER 3. SOLVING THE CNPP

3.1.3    Stopping criterion
    As mentioned in Chapter 3.1.2, at the end of each iteration a stopping test is run;
when it is verified the sequence of approximating subproblems is stopped and the vectors
         ¯
x(j) and t(j) of the j-th subproblem are the optimal solutions of the CNPP problem.
¯
    In order for x(j) to be a local minumum (in our case a global minimum since the
                  ¯
objective function is convex) it has to be a stationary point for z(x). This means that
the following condition must hold:
                                                   (j)
                                   z(¯(j) )T (¯AON − x(j) ) ≥ 0
                                     x        x      ¯                               (3.12)
    However, from a practical point of view, such a termination criterion may not be
so valuable. The conditional gradient algorithm in fact is known for slowing down the
convergence rate significantly as it approaches the optimal solutiol. Moreover, in most
applications, an approximated solution that is close enough to the optimum is more
than sufficient, especially if we can obtain it more quickly, through a lower number of
iterations. Given the considerations above, we are more eager to use a threshold-based
stopping criterion, so that the algorithm will stop once a given threshold is reached.
From the convexity of the objective function we can obtain upper and lower bound
inequalities from which we will derive such a criterion.
    We know z(x) to be convex only if the following holds:

                                z(y) ≥ z(x) +              z(x)T (y − x)             (3.13)

     We therefore have that:
                          (j)                                            (j)
                      zl (¯AON ) = z(¯(j) ) +
                          x          x                   z(¯(j) )T (¯AON − x(j) )
                                                           x        x      ¯         (3.14)
                                 (j)               (j) T      (j)        (j)
                         ≤ z(¯
                             x         )+    z(¯
                                               x     )     (¯∗
                                                            x       −x
                                                                     ¯         )     (3.15)
                                 (j)
                         ≤   z(¯∗ )
                               x                                                     (3.16)

   where the equality follows from the definition of the optimal solution to the LP
                                                  (j)
problem, the first inequality by the fact that xAON solves this LP problem but not
                                                ¯
              (j)
necessarily x∗ , and the second inequality from the convexity of z. So, we have that at
            ¯
every iteration j,
                                       (j)               (j)
                                zl (¯AON ) ≤ z(¯∗ ) ≤ z(¯(j) )
                                    x          x        x                            (3.17)
    where the last inequality holds because x(j) is a feasible solution. In the condi-
                                                ¯
tional gradient algorithm the value of z descends after each iteration, thus the se-
                                                                     (j)
quence of {z(¯(j) )} strictly monotonically decreases towards z(¯∗ ), while the sequence
               x                                                   x
          (j)                    (j)
of {zl (¯AON )} approaches z(¯∗ ) from below, though not necessarily monotonically. We
        x                      x
                                         (j)
therefore always have an interval, [zl (¯AON ), z(¯(j) )], which contains the optimal objec-
                                        x         x
tive value. From this we can derive a threshold-based criterion of the type: let be a
chosen value for an acceptable relative objective error, then the stopping condition for
the j-th iteration is as follows:
3.2. CONVERGENCE CONDITIONS                                                               37


                                                 (j)
                                 |z(¯(j) ) − zl (¯AON )|
                                    x            x
                                           (j)
                                                           <                          (3.18)
                                      |zl (¯AON )|
                                           x


3.2     Convergence conditions
    In order for the Frank-Wolfe algorithm to converge to a vector of optimal solutions
after a certain number of iterations, it is necessary that certain conditions for convergence
are met.
    Since in the present work the algorithm is used for a User Equilibrium allocation, we
refer to LeBlanc et al. (1975). In the article it is recommended that the specified cost
function meets the following requirements:

  1. continuous and differentiable at least once at all points,

  2. non-negative,

  3. non-decreasing.

    As can be easily verified, the cost function used in the present work (eq. 3.9) meets
all three requirements, in particular, is strictly positive and strictly increasing.
    Typically, the Frank-Wolfe algorithm is adopted to find an equilibrium point on
congested networks in which all arcs are priced (so that the tariff component is added in
the function of generalized cost) or where there are no tariffs. In literature (Yang et al.
(2004)) there is an example of application to a mixed network with tariffed and non-
tariffed arcs, including a bilevel programming approach. However no account is taken of
the congestion and still the objective function of the optimization model is nonlinear, as
demand is elastic; moreover, there are also non-additive costs and cost functions are not
separable. The Frank-Wolfe algorithm is adapted successfully to the case examined, as
the only additional condition states that it must be convex programming.
    Further necessary conditions for the convergence of Frank-Wolfe algorithm applied
to this case could not be found in literature.


3.3     Accelerating convergence
    As it is known from numerous examples in literature, the time required for con-
vergence of the Frank-Wolfe algorithm with D.U.E. allocation can vary considerably
depending on the size and complexity of the network, on the descending step and on the
threshold for the stopping test. As the number of iterations grow, the algorithm tends
to zigzag increasingly.
    While the algorithm has the historical advantage of a low memory usage (useful for
computers especially a few decades ago), on the other hand, the computational effort
tends to increase as you get closer to the optimal solution, thus making the resolution
38                                                CHAPTER 3. SOLVING THE CNPP

in real time more critical . This can be partly overcome by setting a less restrictive
threshold although this implies to sacrifice final accuracy.
    Leaving aside the particular structure of the modeled network to more specific cases
than those of this discussion, it is possible to accelerate the convergence of the algorithm
by choosing an appropriate technique for the descending step.

    The µ(j) parameter introduced in subsection 3.1.2 was first used in LeBlanc et al.
(1975); for each j-th iteration this parameter is determined through a one-dimensional
linear research, by solving a problem determined by Equation 3.10.

    There are some alternatives in literature to the descending step described above, in
order to accelerate the convergence of the original Frank-Wolfe algorithm. In particular,
a variant of the of the parallel tangent method (PARTAN) LeBlanc et al. (1985) can be
used, where two one-dimensional minimizations are made for each iteration. In an ar-
ticle Lupi (1986) introduces another modification to the descending step that, although
providing a convergence rate of the same order of the PARTAN, requires only one one-
dimensional minimization. Variants proposed by Fukushima (1984) and Weintraub et al.
(1985) are also interesting. Please refer to the cited articles cited for a comparison of
different methods based on numerical examples.

    The Frank-Wolfe algorithm for D.U.E. assignments has some resemblance with the
Method of Successive Averages (M.S.A.) algorithm for S.U.E. allocations (Stochastic User
Equilibrium) for stochastic equilibrium, except for the cost functions used (that include
random components), the algorithm for solving approximating subproblems approxi-
mants (Dial algorithm for stochastic assignments on non congested networks (S.N.L))
and the descending step. Regarding the latter, a simple µ(j) = 1 is used, where j is the
                                                                 j
index of the iteration. By adopting this simple solution at the expense of mathematical
sophistication, the zigzag behavior is eliminated but the optimal solution we want the
algorithm to converge to may be missed.

    Again, there are alternatives in literature to the 1 descending step for the M.S.A
                                                       j
algorithm for S.U.E. allocation; for example Polyak (1990) suggests a µ(j) = j −β de-
scending step, where 0 < β < 1.
3.4. TWO-STEPS ALGORITHM                                                                              39

3.4    Two-steps algorithm
    The procedure described in the present section is a Gauss-Seidel-decomposition-type
algorithm. It solves the problem described by eq. 2.13 - 2.17 by iteratively solving first
the followers’ problem (through Frank-Wolfe) with respect to arc flows x(j) and then
                                                                           ¯
the leader’s problem with respect to the tariff vector t(j) . It is probably the most ob-
vious and immediate way to approach a resolution for our problem. It is also the only
bilevel/congestion solution approach for which some reference exists in literature. A
similar algorithm was indeed used by Julsain (1998) to find an equilibrium point on a
congested telecommunication network.

The basic steps of the algorithm are the following:


Initialization An admissible starting solution is found x(0) ∈ Sx (see §3.4.1) and a
                                                           ¯
      threshold is chosen for the stopping criterion (see §3.1.3).

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

        1. The cost vector is determined in function of the flow vector and the tariff
                       (j)
           vector, as Ca , through:
                                                                        
                                                             (j−1)   β
                                   (j)                     xa
                                  Ca = tr0a · 1 + α ·                    if a ∈ A ∪ B          (3.19)
                                                             qa

                      (j−1)                  k,(j−1)
           where xa           =     k∈K   xa           .
        2. The linear approximation for the second level problem is solved through the
           All-or-nothing algorithm, since arc costs (and tariffs) are constant for the j-th
           iteration.


                                                 (j)                 (j)
              min           (Ca + t(j−1) ) · xa,AON +
                              (j)
                                   a
                                                              (j)
                                                             Ca · xa,AON                         (3.20)
               x
                     a∈A                                  a∈B
                                     k,(j)                   k,(j)
             s.t.                   xa,AON −                xa,AON   = bk
                                                                        i           ∀i ∈ N , ∀k ∈ K
                      a=i− ∈A∪B                   a=i+ ∈A∪B
                                                                                                 (3.21)
                    k,(j)
                xa,AON ≥ 0                                                      ∀a ∈ A ∪ B, ∀k ∈ K
                                                                                               (3.22)

                                                                                           (j)
           Thus the flow vector for the non congested network is obtained: xAON .
                                                                          ¯
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis
Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis

Weitere ähnliche Inhalte

Was ist angesagt?

Hub location models in public transport planning
Hub location models in public transport planningHub location models in public transport planning
Hub location models in public transport planningsanazshn
 
Calculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsCalculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsA Jorge Garcia
 
Pattern classification via unsupervised learners
Pattern classification via unsupervised learnersPattern classification via unsupervised learners
Pattern classification via unsupervised learnersNick Palmer
 
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithm
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithmMultiuser detection based on generalized side-lobe canceller plus SOVA algorithm
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithmAitor López Hernández
 
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggFundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggRohit Bapat
 
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...SSA KPI
 
Thesis yossie
Thesis yossieThesis yossie
Thesis yossiedmolina87
 
A Matlab Implementation Of Nn
A Matlab Implementation Of NnA Matlab Implementation Of Nn
A Matlab Implementation Of NnESCOM
 
MSc_thesis_OlegZero
MSc_thesis_OlegZeroMSc_thesis_OlegZero
MSc_thesis_OlegZeroOleg Żero
 
7 introplasma
7 introplasma7 introplasma
7 introplasmaYu Chow
 
Machine learning solutions for transportation networks
Machine learning solutions for transportation networksMachine learning solutions for transportation networks
Machine learning solutions for transportation networksbutest
 
Fuzzy and Neural Approaches in Engineering MATLAB
Fuzzy and Neural Approaches in Engineering MATLABFuzzy and Neural Approaches in Engineering MATLAB
Fuzzy and Neural Approaches in Engineering MATLABESCOM
 
Script md a[1]
Script md a[1]Script md a[1]
Script md a[1]Peter
 
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...Branch and-bound nearest neighbor searching over unbalanced trie-structured o...
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...Michail Argyriou
 

Was ist angesagt? (18)

Hub location models in public transport planning
Hub location models in public transport planningHub location models in public transport planning
Hub location models in public transport planning
 
Calculus Research Lab 2: Integrals
Calculus Research Lab 2: IntegralsCalculus Research Lab 2: Integrals
Calculus Research Lab 2: Integrals
 
Pattern classification via unsupervised learners
Pattern classification via unsupervised learnersPattern classification via unsupervised learners
Pattern classification via unsupervised learners
 
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithm
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithmMultiuser detection based on generalized side-lobe canceller plus SOVA algorithm
Multiuser detection based on generalized side-lobe canceller plus SOVA algorithm
 
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zinggFundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
Fundamentals of computational_fluid_dynamics_-_h._lomax__t._pulliam__d._zingg
 
TheseHautphenne
TheseHautphenneTheseHautphenne
TheseHautphenne
 
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...
All Minimal and Maximal Open Single Machine Scheduling Problems Are Polynomia...
 
Thesis yossie
Thesis yossieThesis yossie
Thesis yossie
 
A Matlab Implementation Of Nn
A Matlab Implementation Of NnA Matlab Implementation Of Nn
A Matlab Implementation Of Nn
 
MSc_thesis_OlegZero
MSc_thesis_OlegZeroMSc_thesis_OlegZero
MSc_thesis_OlegZero
 
7 introplasma
7 introplasma7 introplasma
7 introplasma
 
Machine learning solutions for transportation networks
Machine learning solutions for transportation networksMachine learning solutions for transportation networks
Machine learning solutions for transportation networks
 
Abimbola_NMO-1
Abimbola_NMO-1Abimbola_NMO-1
Abimbola_NMO-1
 
Fuzzy and Neural Approaches in Engineering MATLAB
Fuzzy and Neural Approaches in Engineering MATLABFuzzy and Neural Approaches in Engineering MATLAB
Fuzzy and Neural Approaches in Engineering MATLAB
 
Thesis van Heesch
Thesis van HeeschThesis van Heesch
Thesis van Heesch
 
Script md a[1]
Script md a[1]Script md a[1]
Script md a[1]
 
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...Branch and-bound nearest neighbor searching over unbalanced trie-structured o...
Branch and-bound nearest neighbor searching over unbalanced trie-structured o...
 
Vic Thesis
Vic ThesisVic Thesis
Vic Thesis
 

Andere mochten auch

La casa colonica
La casa colonicaLa casa colonica
La casa colonicaicferrucci
 
Piccoli grandi giornalisti
Piccoli grandi giornalistiPiccoli grandi giornalisti
Piccoli grandi giornalistiicferrucci
 
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniSviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniDavid158026
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...danieledegan
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...enriconatella
 

Andere mochten auch (9)

Web writing
Web writingWeb writing
Web writing
 
Web writing 2
Web writing 2Web writing 2
Web writing 2
 
La casa colonica
La casa colonicaLa casa colonica
La casa colonica
 
Piccoli grandi giornalisti
Piccoli grandi giornalistiPiccoli grandi giornalisti
Piccoli grandi giornalisti
 
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbaniSviluppo di metodi per la sorveglianza acustica in ambienti urbani
Sviluppo di metodi per la sorveglianza acustica in ambienti urbani
 
Relazione Agic
Relazione AgicRelazione Agic
Relazione Agic
 
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
Autenticazione Continua Durante la Navigazione Web Basata sulla Dinamica del ...
 
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
Porting evolutivo di un’applicazione per la gestione di note spese in ambient...
 
Internet per genitori e figli
Internet per genitori e figliInternet per genitori e figli
Internet per genitori e figli
 

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

Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingAndrea Tino
 
matconvnet-manual.pdf
matconvnet-manual.pdfmatconvnet-manual.pdf
matconvnet-manual.pdfKhamis37
 
Location In Wsn
Location In WsnLocation In Wsn
Location In Wsnnetfet
 
Modeling_Future_All_Optical_Networks_without_Buff
Modeling_Future_All_Optical_Networks_without_BuffModeling_Future_All_Optical_Networks_without_Buff
Modeling_Future_All_Optical_Networks_without_BuffMiguel de Vega, Ph. D.
 
Trade-off between recognition an reconstruction: Application of Robotics Visi...
Trade-off between recognition an reconstruction: Application of Robotics Visi...Trade-off between recognition an reconstruction: Application of Robotics Visi...
Trade-off between recognition an reconstruction: Application of Robotics Visi...stainvai
 
Quantum Cryptography and Possible Attacks
Quantum Cryptography and Possible AttacksQuantum Cryptography and Possible Attacks
Quantum Cryptography and Possible AttacksArinto Murdopo
 
An_Introduction_WSNS_V1.8.pdf
An_Introduction_WSNS_V1.8.pdfAn_Introduction_WSNS_V1.8.pdf
An_Introduction_WSNS_V1.8.pdfAnil Sagar
 
Robust link adaptation in HSPA Evolved
Robust link adaptation in HSPA EvolvedRobust link adaptation in HSPA Evolved
Robust link adaptation in HSPA EvolvedDaniel Göker
 
Memoire antoine pissoort_aout2017
Memoire antoine pissoort_aout2017Memoire antoine pissoort_aout2017
Memoire antoine pissoort_aout2017Antoine Pissoort
 
Seismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationSeismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationAli Osman Öncel
 
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmIntegrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmKavita Pillai
 

Ähnlich wie Approximate Algorithms for the Network Pricing Problem with Congestion - MS thesis (20)

Master Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load BalancingMaster Thesis - A Distributed Algorithm for Stateless Load Balancing
Master Thesis - A Distributed Algorithm for Stateless Load Balancing
 
Matconvnet manual
Matconvnet manualMatconvnet manual
Matconvnet manual
 
matconvnet-manual.pdf
matconvnet-manual.pdfmatconvnet-manual.pdf
matconvnet-manual.pdf
 
MSC-2013-12
MSC-2013-12MSC-2013-12
MSC-2013-12
 
Liebman_Thesis.pdf
Liebman_Thesis.pdfLiebman_Thesis.pdf
Liebman_Thesis.pdf
 
phd_unimi_R08725
phd_unimi_R08725phd_unimi_R08725
phd_unimi_R08725
 
Location In Wsn
Location In WsnLocation In Wsn
Location In Wsn
 
Modeling_Future_All_Optical_Networks_without_Buff
Modeling_Future_All_Optical_Networks_without_BuffModeling_Future_All_Optical_Networks_without_Buff
Modeling_Future_All_Optical_Networks_without_Buff
 
Trade-off between recognition an reconstruction: Application of Robotics Visi...
Trade-off between recognition an reconstruction: Application of Robotics Visi...Trade-off between recognition an reconstruction: Application of Robotics Visi...
Trade-off between recognition an reconstruction: Application of Robotics Visi...
 
Quantum Cryptography and Possible Attacks
Quantum Cryptography and Possible AttacksQuantum Cryptography and Possible Attacks
Quantum Cryptography and Possible Attacks
 
An_Introduction_WSNS_V1.8.pdf
An_Introduction_WSNS_V1.8.pdfAn_Introduction_WSNS_V1.8.pdf
An_Introduction_WSNS_V1.8.pdf
 
Mining of massive datasets
Mining of massive datasetsMining of massive datasets
Mining of massive datasets
 
Robust link adaptation in HSPA Evolved
Robust link adaptation in HSPA EvolvedRobust link adaptation in HSPA Evolved
Robust link adaptation in HSPA Evolved
 
report
reportreport
report
 
D-STG-SG02.16.1-2001-PDF-E.pdf
D-STG-SG02.16.1-2001-PDF-E.pdfD-STG-SG02.16.1-2001-PDF-E.pdf
D-STG-SG02.16.1-2001-PDF-E.pdf
 
Memoire antoine pissoort_aout2017
Memoire antoine pissoort_aout2017Memoire antoine pissoort_aout2017
Memoire antoine pissoort_aout2017
 
Seismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete InvestigationSeismic Tomograhy for Concrete Investigation
Seismic Tomograhy for Concrete Investigation
 
Neural networks and deep learning
Neural networks and deep learningNeural networks and deep learning
Neural networks and deep learning
 
Phd dissertation
Phd dissertationPhd dissertation
Phd dissertation
 
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based ParadigmIntegrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
Integrating IoT Sensory Inputs For Cloud Manufacturing Based Paradigm
 

Kürzlich hochgeladen

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

Kürzlich hochgeladen (20)

Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

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

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