You are on page 1of 34

Gentile G.

Linear User Cost Equilibrium: a new algorithm for traffic assignment

Linear User Cost Equilibrium: a new algorithm for traffic assignment

Guido Gentile

Dipartimento di Idraulica Trasporti e Strade, Sapienza Università di Roma

Via Eudossiana, 18 – 00184 Roma, Italy. guido.gentile@uniroma1.it

ABSTRACT

In this paper a new algorithm to solve the traffic assignment problem is proposed: the Linear User
Cost Equilibrium (LUCE). The main idea is to seek at every node a deterministic equilibrium for
the local route choice of users directed toward a same destination among the links of its forward star.
The cost function associated to each one of these travel alternatives expresses the average
impedance to reach the destination by continuing the trip with that link, linearized at the current
flow pattern. We prove that the solution to such linear program in terms of destination flows,
recursively applied for each node, provides a descent direction with respect to the classical sum-
integral objective function. The network loading is then performed through the corresponding
splitting rates, thus avoiding explicit path enumeration. Exploiting the inexpensive information
provided by the derivatives of the link costs with respect to link flows, LUCE achieves a very high
convergence speed that compares favourably to the other methods, while it assigns the demand flow
of each o-d couple on several paths at once.

Keywords: deterministic traffic assignment, linear user equilibrium, destination splitting rates, link
cost derivatives, accurate algorithm convergence, multiple path loading, implicit path enumeration.

1 INTRODUCTION

Although traffic assignment is a rather mature issue in transport modelling, to find an accurate
equilibrium on real networks is still a difficult problem to be solved. In practice, the algorithms
currently available are not truly satisfactory for many applications: they simply don’t converge in
reasonable time fine enough to allow consistent comparisons between design scenarios. Indeed,
apparently small errors in the iterative procedure do not allow to appreciate the real differences

01 April 2009 page 1 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

among equilibria and may lead to false conclusions in relevant projects, thus vanishing any
modelling effort.

This is a well recognized problem by the recent literature (see, for example, Boyce et al., 2004), but
is not really acceptable by practitioners, who are asking researchers and developers to enhance the
algorithm convergence. To satisfy this necessity and overcome such a drawback, the main software
producers in the world are in these days changing their traffic assignment procedures (e.g. VISUM,
TRANSCAD, EMME), thus animating the international debate and the competition on this topic.

In this context, LUCE gives a noticeable contribution: it converges between 10 and 100 times faster
than other recent algorithms and allows on large networks to reach in few minutes and iterations the
relative gap of 10E-8, that is considered enough for any application. This result conveys a
considerable advance in modelling practice, more than in algorithm theory.

After 30 years of Frank-Wolfe domain (LeBlanc, 1973; Nguyen, 1973), the seminal work of Bar-
Gera (2002) opened the way to a new generation of solution methods for deterministic assignment,
that exploit the natural partition of the Beckmann’s mathematical program (1956) into sub-problems,
one for each origin. The proposed LUCE algorithm revisits this approach by searching along a
descent direction obtained through cost equilibration at nodes, for each destination – we find more
intuitive and informative to consider destinations, instead of origins, since these are the aims of
travellers.

The main idea is to seek at every node a user equilibrium (Wardrop, 1952) for the local route choice
of divers directed toward the destination among the links of its forward star. The cost function
associated to each one of these travel alternatives expresses the average impedance to reach the
destination by continuing the trip with the link at hand, linearized at the current flow pattern.

To allow recursive computations, only the links that belong to the current bush are included in the
local choice set – a bush is an acyclic sub-graph that connects each origin to the destination at hand.
The unique solution to the resulting linear user cost equilibrium in terms of destination flows,
applied at each node of the bush in topological order, provides a descent direction with respect to
the classical sum-integral objective function of the original “non-linear” assignment problem. This
postulate is proved only with reference to any given bush of the destination. To ensure the
convergence of the procedure towards an equilibrium where all paths of the graph satisfy Wardrop’s
conditions, the current bush of the destination is changed at the beginning of each iteration, by

01 April 2009 page 2 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

trying whether is possible (the resulting sub-graph must still be acyclic) to exclude unused links that
bring away from the destination and to include links that improve shortest paths.

At each iteration, the proposed algorithm requires no shortest path but two visits of the bush links
for each destination, that is equal to the complexity of the STOCH single pass procedure (Dial,
1971) for the Logit network loading. Moreover, contrary to the classical All Or Nothing assignment
to shortest paths, the network loading map resulting from the application of the LUCE algorithm is
a one-to-one function, that combined with the arc cost function yields a well-defined fixed point
operator, thus offering both computational and theoretical advantages. In conclusion, exploiting the
inexpensive information provided by the derivatives of the arc costs with respect to link flows,
LUCE presents a higher convergence speed than the existing methods, both in terms of runtime and
iterations.

The rest of the paper is organized as follows. In section 2, we present the mathematical formulation
of the traffic assignment problem. In section 3, we analyze in detail the linear equilibrium at nodes
for users directed toward a given destination. In section 4, we prove that the proposed procedure
yields a descent direction for the traffic assignment problem and provide an example to clarify the
method. In section 5, we sketch the overall assignment algorithm. In section 6 we apply it to several
benchmark networks with various levels of congestion, so as to investigate different step techniques
along the proposed descent direction, analyze the properties of the resulting algorithm for different
cost functions, compare the performance of our procedure to other assignment methods.

2 MATHEMATICAL FORMULATION

The transport network is represented through a directed graph G = (N, A), where N is the set of the
nodes and A ⊆ N×N is the set of the links.

We adopt the following notation:

fij total flow on link ij∈A, generic element of the (|A|×1) vector f ;

cij cost of link ij∈A, generic element of the (|A|×1) vector c ;

cij( fij) cost function of link ij∈A ,

01 April 2009 page 3 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Z⊆N set of the zone centroids ;

Dod demand flow between origin o∈Z and destination d∈Z, generic element of the (|Z|2×1)
vector D, that is the o-d matrix in row major order ;

Kid set of the acyclic paths between node i∈N and destination d∈Z ;

K = ∪o∈Z ∪d∈Z Kod is the set of paths available to users ;

δijk is 1, if link ij∈A belongs to path k, and 0, otherwise – for k∈K, this is the generic element
of the (|A|×|K|) matrix Δ ;

λodk is 1, if path k∈K connects origin o∈Z to destination d∈Z (i.e. k∈Kod), and 0, otherwise –
this is the generic element of the (|Z|2×|K|) matrix Λ ;

Fk flow on path k∈K, generic element of the (|K|×1) vector F ;

Ck cost of path k – for k∈K this is the generic element of the (|K|×1) vector C ;

W id minimum cost to reach destination d∈Z from node i∈N ;

|S| cardinality of the generic set S ;

[TRUE] = 1, [FALSE] = 0 .

There are two fundamental relations between flow variables. The flow on link ij∈A is the sum of
the flows on the paths that include it:

fij = ∑k∈K δijk ⋅ Fk ;

the travel demand between origin o∈Z and destination d∈Z must be equal to the sum of the flows
on the paths that connect them:

∑k∈Kod Fk = Dod ;

moreover, all path flows must satisfy non-negativity constraints: Fk ≥ 0, k∈K.

As usual, we assume additive path costs, i.e. the impedance Ck associated by users to a given path k
is the sum of the costs on the links that belong to it:

Ck = ∑ij∈A δijk ⋅ cij . (1)

By definition, the minimum cost to reach destination d∈Z from node i∈N is the cost of any shortest

01 April 2009 page 4 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

path that connects them:

Wid = min{Ck : k∈Kid} . (2)

In the classical case of separable arc cost functions, fixed demand and deterministic route choice,
the traffic assignment problem can be formalized through the following program:
fij
min{ω(f) = ∑ij∈A 0∫ cij( f ) ⋅ d f: f∈Θ}, (3)

where:

Θ = {f∈ℜ|A|: f = Δ⋅F, F∈Ω} is the set of feasible link flows, and

Ω = {F∈ℜ|K|: F ≥ 0, Λ⋅F = D} is the set of feasible path flows.

To ensure the existence and uniqueness of the solution to problem (3) we assume that:

cij( fij) is non-negative, continuous, strictly monotone increasing ;

Kod is non-empty ;

Dod is non-negative .

Problem (3), which is convex, can also be expressed in terms of path flows as follows:
∑k∈K δijk ⋅ Fk
min{Φ(F) = ∑ij∈A 0∫ cij( f ) ⋅ d f: F∈Ω} , (4)

where, although the solution uniqueness does not hold anymore, the convexity of the mathematical
program is preserved, implying that any descent algorithm in the space of path flows will provide
one of the global solutions, which then make up a convex set.

The relevance of program (4) to traffic assignment stands from the fact that, in the case of additive
path costs, its first order (necessary) conditions coincide with the following formulation of the
deterministic user equilibrium based on Wardrop’s Principles, for each o∈Z and d∈Z:

Fk ⋅ (Ck - Wod) = 0 , ∀k∈Kod , (5.1)

Ck ≥ Wod , ∀k∈Kod , (5.2)

Fk ≥ 0 , ∀k∈Kod , (5.3)

01 April 2009 page 5 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

∑k∈Kod Fk = Dod . (5.4)

Based on (5):

- all used paths (Fk > 0) have minimum cost (Ck = Wod) ;

- any unused path (Fk = 0) has not a lower cost (Ck ≥ Wod) .

We have a user equilibrium if conditions (5) hold jointly for each o-d couple, under the condition
that each path cost Ck is a function (potentially) of all the path flows F through the arc cost function:

Ck = ∑ij∈A δijk ⋅ cij(∑k∈K δijk ⋅ Fk) , in compact form C = ΔT⋅c(Δ⋅F) . (6)

Since the gradient of Φ(F) is C = ΔT⋅ c(Δ⋅F), by linearizing the objective function of problem (4) at
a given a point F∈Ω, for X → F we obtain:

Φ(X) = Φ(F) + CT⋅(X-F) + o(||X-F||). (7)

From equation (7) we recognize that a direction E-F is descent if and only if:

CT⋅(E-F) < 0. (8)

In other words, to decrease the objective function and maintain feasibility we necessarily have to
shift path flows getting a lower total cost with respect to the current cost pattern, i.e. move the
current solution from F towards an E∈Ω, such that CT⋅E < CT⋅F, where C = ΔT⋅c(Δ⋅F); the
necessity derives from the convexity of the problem, since in this case at any point X such that
CT⋅(X-F) > 0 we have: Φ(X) > Φ(F).

This approach to determine a descent direction can be applied to each o-d pair separately, to each
destination, or to the whole network jointly. Based on the above general rule, setting the flow
pattern E by means of an all-or-nothing assignment to shortest paths clearly provides a descent
direction. If such a direction is adopted for all o-d pairs of the network jointly, and a line search is
applied along it, we obtain the well known Frank-Wolfe algorithm. However, at equilibrium each o-
d pair typically uses several paths, implying that any descent direction that loads a single path is
intrinsically myopic; in fact such algorithms tail badly.

Once we get a feasible descent direction E-F, since Ω is convex, we can move the current solution
along the segment F+α⋅(E-F) and take a step α∈(0,1] such that the objective function of problem

01 April 2009 page 6 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

(4), redefined as φ(α) = Φ(F+α⋅(E-F)), is sufficiently lowered. In this respect, knowing that Φ is C1
and convex, and thus also φ is such, we can consider the following alternative approaches:

- minimize φ through a line search along the segment, e.g. by means of the bisection method;

- minimize an approximation of φ along the segment, e.g. the quadratic interpolation driven by the
derivative at α = 0 and α = 1, i.e. α = min{1, 1 / (1 - ∂φ(1)/∂α / ∂φ(0)/∂α)} ;

- determine the largest step α = 0.5k, for any non-negative integer k, such that: ∂φ(0.5k)/∂α < 0 , i.e.
by an Armijo-like search.

All the three methods require to compute the directional derivative of the objective function:

∂φ(α)/∂α = c(Δ⋅(F+α⋅(E-F)))T ⋅ Δ⋅(E-F) , (9)

which implies to evaluate the arc costs at the candidate flows F+α⋅(E-F), and then the difference
between the corresponding total costs obtained with the flows E and F; if such total costs with E are
smaller than those with F, then ∂φ(α)/∂α is negative so that the optimal solution is more toward E,
and vice versa.

3 LOCAL USER EQUILIBRIUM

In this section we present a new method to determine a descent direction, which is based on local
shifts of flows that satisfy the total cost lowering rule, by exploiting the inexpensive information
provided by the derivatives of the arc costs with respect to link flows.

To grasp immediately the underlying idea, we can refer to the simplest network where one o-d pair
with demand D is connected by two links with cost function c1( f1) and c2( f2), respectively. At the
current flow pattern f ′ = (D/2, D/2), it is c1′ < c2′ (see Figure 1, below), so that an all or nothing
approach would lead to a descent direction (D, 0), which is far away from the equilibrium f* (black
circle in the Figure). The LUCE approach, instead, is to consider the first order approximations of
the cost functions at the current flow pattern, i.e. ca′ + ∂ca( fa)/∂fa ⋅ ( fa - fa′), and determine a user
equilibrium e among these lines (white circle in the Figure): this descent direction efficiently
approaches the equilibrium f*, and in most cases can be taken as the new iterate with a step one.

01 April 2009 page 7 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

f′ e f*
c2

c2 ′

c1 ′ c2( f2)

c1( f1)

f1 D/2 f2
D

Figure 1. Linear Cost User Equilibrium between two paths.

In the following we will focus on users directed to destination d∈Z and in particular on their local
route choice at a generic node i∈N.

At equilibrium only shortest paths are utilized to reach d. Since the arc cost functions are strictly
monotone increasing (i.e. an arc cost can be null only if its flow is such), these paths make up an
acyclic sub-graph of G, that is a (reverse) bush rooted at d. On this base, when seeking a descent
direction, in the following we can limit our attention to the current bush B(d) ⊆ A and introduce a
updating mechanism to make sure that eventually any shortest path will be included into it.

For the topology of the bush we will use the following notation:

FSB(i, d) = {j∈N: ij∈B(d)} the forward star of node i∈N made-up by nodes that can be reached
from it through links belonging to the current bush B(d) of destination d∈Z;

BSB(i, d) = {j∈N: ji∈B(d)} the backward star of node i∈N made-up by nodes that can reach it
through links belonging to the current bush B(d) of destination d∈Z.

For the flow pattern we will use the following notation:

fijd current flow on link ij∈A directed to destination d∈Z ; by construction it is fijd = 0 for each
j∉FSB(i, d) ; moreover it clearly is: fij = ∑d∈Z fijd ;

fid = ∑j∈FSB(i, d) fijd current flow leaving node i∈N directed to destination d∈Z ;

01 April 2009 page 8 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

yijd = fijd / fid current flow proportion on link ij∈A directed to destination d∈Z , if fid > 0;
yijd = 0 , otherwise ;

eijd descent direction, in terms of flow on link ij∈A directed to destination d∈Z ;

e id descent direction, in terms of flow leaving node i∈N directed to destination d∈Z ;

xijd = eijd / eid descent direction, in terms of flow proportion on link ij∈A directed to destination
d∈Z.

For the cost pattern we will use the following notation:

Cid average cost to reach destination d∈Z from node i∈N ;

gij cost derivative of link ij∈A ;

Gid derivative of the average cost to reach destination d∈Z from node i∈N .

The average cost Cid is the expected impedance that a user encounters by travelling from node i∈N
to destination d∈N; here it is defined recursively based on the current flow pattern:

if fid > 0 , then Cid = ∑j∈FSB(i, d) yijd ⋅ (cij + Cjd) , else (10.1)

Cid = min{cij + Cjd: j∈FSB(i, d)} , (10.2)

as if drivers utilize paths accordingly with the current flow proportions. In the following we assume
that the cost function cij( fij) is differentiable for each link ij∈A:

gij = ∂cij( fij) / ∂fij . (11)

Under the assumption that an infinitesimal increment of flow leaving node i∈N directed towards
destination d∈Z would diverge accordingly with the current flow proportions, we have :

if fid > 0, then Gid = ∂Cid / ∂fid = ∑j∈FSB(i, d) yijd 2 ⋅ (gij + Gjd) , else (12.1)

Gid = ∑j∈FSB(i, d) [Cid = cij + Cjd] ⋅ (gij + Gjd) / ∑j∈FSB(i, d) [Cid = cij + Cjd] , (12.2)

where the derivatives gij + Gjd are scaled by the share yijd of ∂fid utilizing link ij and then passing
through node j, that jointly with the flow proportion involved in the averaging yields the square yijd 2.

The average costs and their derivatives can be computed by processing the nodes of the bush in
reverse topological order, starting from Cdd = Gdd = 0.

01 April 2009 page 9 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Through the recursive equation (12) we gave a local definition of Cid. However, casting the
deterministic model into the framework of sequential route choices, where the probability Pk of a
path k directed to a destination d∈Z is given by the product among the flow proportions of the links
A(k) = {ij∈A: δijk = 1} that make it up, i.e.

Pk = ∏ij∈A(k) yijd , (13)

we can prove that (10) is equivalent to the following global definition of the average cost:

Cid = ∑k∈KBid Pk ⋅ Ck , (14)

where KBid is the set of paths from node i∈N to destination d∈Z whose links belong to the current
bush B(d): KBid = {k∈Kid : A(k) ⊆ B(d)}. Indeed, by partitioning KBid on the base of the first link,
since by definition it is ∑k∈KBid Pk = 1, we have:

Cid = ∑k∈KBid Pk ⋅ Ck = ∑j∈FSB(i, d) ∑k∈KBjd ( yijd ⋅ Pk) ⋅ (cij + Ck) = ∑j∈FSB(i, d) yijd ⋅ (cij + Cjd) = Cid .

We now address the local user equilibrium for the eid drivers directed to destination d∈Z, whose
available alternatives are the links of the bush exiting from node i∈N. To each travel alternative we
associate the cost function:

vijd(eijd) = (cij + Cjd) + (gij + Gjd) ⋅ (eijd - yijd ⋅ eid) , (15)

resulting from a linearization at the current flow pattern of the average cost encountered by a user
choosing the generic link ij, with j∈FSB(i, d).

This problem can be formulated, in analogy to (5), by the following system of inequalities:

eijd ⋅ (vijd(eijd) - Vid) = 0 , ∀j∈FSB(i, d) , (16.1)

vijd(eijd) ≥ Vid , ∀j∈FSB(i, d) , (16.2)

eijd ≥ 0 , ∀j∈FSB(i, d) , (16.3)

∑j∈FSB(i, d) eijd = eid , (16.4)

where we denote:

Vid local equilibrium cost to reach destination d∈Z from node i∈N ;

vijd cost of the local alternative j∈FSB(i, d) to reach destination d∈Z from node i∈N.

01 April 2009 page 10 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

If eid = 0, the solution to the above problem is trivially: eijd = 0, for each j∈FSB(i, d). Consider then
the case where eid > 0. To improve readability, problem (16) can be rewritten as:

xj ⋅ (aj + bj ⋅ xj - v) = 0 , ∀j∈J , (17.1)

aj + bj ⋅ xj ≥ v , ∀j∈J , (17.2)

xj ≥ 0 , ∀j∈J , (17.3)

∑j∈J xj = 1 , (17.4)

where:

J = {(i, j, d): j∈FSB(i, d)} ;

aj = (cij + Cjd) - (gij + Gjd) ⋅ eid ⋅ yijd ;

bj = (gij + Gjd) ⋅ eid ;

xj = eijd / eid ;

v = Vid .

Applying the usual Beckmann approach we can reformulate the equilibrium problem (17) as the
following quadratic program:
xj
min{∑j∈J 0∫ (aj + bj ⋅ x) ⋅ dx: x∈X} = min{∑j∈J aj ⋅ xj + 0.5 ⋅ bj ⋅ xj2: x∈X} , (18)

where X is the convex set of all vectors satisfying the feasibility conditions (17.3) and (17.4). The
gradient of the objective function is a vector with generic entry aj + bj ⋅ xj , and then the Hessian of
the objective function is a diagonal matrix with generic entry bj . Therefore, if all entries bj are
strictly positive, the Hessian is positive definite and problem (18) has a unique solution. In order to
ensure such a desirable property we assume, without loss of generality, that the derivates gij are
strictly positive for all links ij∈A. Indeed, since the arc cost functions are strictly monotone
increasing, gij can be null only if also fijd is null; therefore, at the equilibrium bj = 0 implies xj = 0. In
practice we can substitute any gij = 0 with a small ε.

To solve problem (17) we propose the following simple method. In order to satisfy condition (17.1),
either it is xj = 0, or it is aj + bj ⋅ xj = v. Let H ⊂ J be the set of alternatives with positive flow, that is
H = { j∈J: xj > 0}. For any given H, the solution in terms of flow proportions is immediate, since
from (17.4) it is ∑j∈H (v - aj) / bj = 1; therefore we have:

01 April 2009 page 11 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

v = (1 + ∑j∈H aj / bj) / (∑j∈H 1 / bj) , (19.1)

xj = (v - aj) / bj , ∀j∈H , (19.2)

xj = 0 , ∀j∈J \ H . (19.3)

The flow proportions provided by (19) implicitly satisfy (17.4), but to state that the chosen H yields
the actual solution of problem (17), we still must ensure the following conditions: aj < v, for each
j∈H (as required by (17.3), since xj = (v - aj) / bj > 0), and aj ≥ v, for each j∈J \ H (as required by
(17.2), since xj = 0). This implies that at the solution the value of v resulting form (19.1) must
partition the set J into two sub-sets: the set H, made up by the alternatives j such that aj < v , and its
complement J \ H, made up by the alternatives j such that aj ≥ v.

At a first glance the problem to determine the set H of alternatives with positive flow may seam to
be combinatorial; however, this is not the case. Indeed, equation (19.1) can be rewritten as a
recursive formula, thus showing the effect of adding an alternative k to the set H:

v(H ∪ {k}) = (v(H) ⋅ ∑j∈H 1 / bj + ak / bk) / (∑j∈H 1 / bj + 1 / bk) . (20)

The right hand side of (20) can be interpreted as an average between v(H) and ak with positive
weights ∑j∈H 1 / bj and 1 / bk . Therefore, the local equilibrium cost increases by adding to H any
alternative k for which ak is higher than the current value v(H), and vice versa it decreases by
removing from H such alternatives. Consequently, the correct partition set H can be simply obtained
by removing iteratively to an initially complete set each alternative j∈H such that aj > v, i.e. each
alternative for which (19.2) yields a negative flow proportion.

Incidentally, it’s worth noticing the perfect analogy of (19.1) with the expression of the total travel
time at a stop in hyperpath-based transit assignment, given by the waiting time plus the riding time,
in the case of independent exponential headways whose mean is bj and riding times once boarded
equal to aj for each line j. The above greedy algorithm is proved to be valid also to determine the
attractive lines, although in that case we start from an empty set (Pallottino and Nguyen, 1988).

4 DESCENT DIRECTION

To obtain a complete pattern of link flows ed for a given destination d∈Z consistent with the local
user equilibrium we simply have to solve problem (16) at each node i∈N\{d} proceeding in

01 April 2009 page 12 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

topological order, where the node flow is computed as follows:

eid = ∑j∈BSB(i, d) ejid + Did . (21)

In section 2 it has been shown that a given direction is descent if, and only if, (8) holds true, which
in terms of link flows directed to destination d∈Z becomes:

∑ij∈A cij ⋅ (eijd - fijd) < 0 , (22)

expressing that the shift of flow from fd to ed must entail a decrease of total cost with respect to the
current cost pattern. To state that the proposed procedure provides a descent direction, in the
following we prove that the above inequality (22) holds true at the recursive solutions of problems
(16), given that in the current flow pattern fd only the links belonging to the current bush B(d) may
be utilized by construction.

Proof.

First we prove that: ∑ij∈A cij ⋅ (eijd - fijd) = ∑i∈N Did ⋅ (Ĉid - Cid), where Ĉid is the expected impedance
at node i∈N with respect to flow proportions xd, while Cid is defined with respect to yd:

Ĉid = ∑j∈FSB(i, d) xijd ⋅ (cij + Ĉjd) . (23)

Manipulating (23) and (10) we obtain:

eid ⋅ Ĉid - ∑j∈FSB(i, d) eijd ⋅ Ĉjd = ∑j∈FSB(i, d) eijd ⋅ cij , (24)

fid ⋅ Cid - ∑j∈FSB(i, d) fijd ⋅ Cjd = ∑j∈FSB(i, d) fijd ⋅ cij . (25)

Subtracting (25) to (24) and summing over all nodes we get:

∑i∈N eid ⋅ Ĉid - ∑i∈N ∑j∈FSB(i, d) eijd ⋅ Ĉjd - ∑i∈N fid ⋅ Cid + ∑i∈N ∑j∈FSB(i, d) fijd ⋅ Cjd = ∑i∈N ∑j∈FSB(i, d) (eijd - fijd) ⋅ cij . (26)

Since it is: ∑i∈N ∑j∈FSB(i, d) eijd⋅Ĉjd = ∑i∈N Ĉid⋅∑j∈BSB(i, d) ejid and ∑i∈N ∑j∈FSB(i, d) fijd⋅Cjd = ∑i∈N Cid⋅∑j∈BSB(i, d) fjid,
while it is: ∑i∈N Ĉid ⋅ (eid - ∑j∈BSB(i, d) ejid) = ∑i∈N Ĉid ⋅ Did and ∑i∈N Cid ⋅ ( fid - ∑j∈BSB(i, d) fjid) = ∑i∈N Cid ⋅ Did,
then we have from (26):

∑i∈N Did ⋅ (Ĉid - Cid) = ∑i∈N ∑j∈FSB(i, d) (eijd - fijd) ⋅ cij = ∑ij∈A cij ⋅ (eijd - fijd) . (27)

To obtain (22) we now prove that Ĉid < Cid at each node i∈N when ed ≠ fd is obtained through (16).

If eijd > 0, since based on (16.1) we have: eid ⋅ (gij + Gjd) ⋅ (xijd - yijd) = Wid - (cij + Cjd), then

01 April 2009 page 13 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

(xijd - yijd) and Wid - (cij + Cjd) have the same sign, given that it is: eid ⋅ (gij + Gjd) > 0. The same is
true if eijd = 0, since based on (16.2) we have: eid ⋅ (gij + Gjd) ⋅ (xijd - yijd) ≥ Wid - (cij + Cjd), given that
in this case it is: (xijd - yijd) ≤ 0. Therefore, at node i∈N for any j∈FSB(i, d), if xijd ≠ yijd, it is:

(xijd - yijd) ⋅ (Wid - (cij + Cjd)) > 0 . (28)

Summing up (28) over the forward star, since ∑j∈FSB(i, d) xijd = ∑j∈FSB(i, d) yijd = 1, we obtain:

∑j∈FSB(i, d) (xijd - yijd) ⋅ (cij + Cjd) < Wid ⋅ ∑j∈FSB(i, d) (xijd - yijd) = 0 . (29)

Proceeding in reverse topological order, since for the first two nodes it is Ĉjd = Cjd, by induction we
can finally see that:

Ĉid ≡ ∑j∈FSB(i, d) xijd ⋅ (cij + Ĉjd) ≤ ∑j∈FSB(i, d) xijd ⋅ (cij + Cjd) < ∑j∈FSB(i, d) yijd ⋅ (cij + Cjd) ≡ Cid . (30)

Thus ed-fd is a descent direction, unless the recursive solution of problems (16) yields fd, in which
case we are already at the equilibrium for that destination. ■

It is interesting to note that in the proof we did not use the fact that gij represent the cost derivatives,
but only that gij are positive numbers. This means that any approximation in the computation of
such derivatives is acceptable. However, using the derivatives ensures, that given an infinitesimal
perturbation from the equilibrium, the LUCE algorithm solves the traffic assignment problem with
only one iteration with a first order approximation.

By construction the LUCE algorithm defines a one-to-one map for the network loading that can be
used to formulate the deterministic assignment as a well-defined fixed point problem. Moreover,
based on (13) we can determine a specific path flow pattern to be used in od-matrix estimation and
critical link analysis.

In the following we present an example showing the computation of the descent direction provided
by the LUCE algorithm. We consider the graph of the Braess paradox, with 4 nodes and 5 links.

01 April 2009 page 14 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

0 11 0
0 0 11
4 4 4
3 10 7 4 52 42
1 2 1 0.5 9 2

3 5 8 7 4 8 52 21 42
3 2 3 2 3 2
0 1 2 0 0.5 2 9 0 2

11 5 3 6 29 41
2 1 0.33 0.66 9 0
1 1 1
13 9 81
9 9 9
node arc node arc node arc
Tid Tij fid fijd Wid cij
Did Uij Did yijd eid * eijd *

Figure 2A. Numerical example of the procedure to obtain the descent direction.

In the example, the arc cost function is cij = Tij + Uij ⋅ fij2 so that its derivatives is gij = 2 ⋅ Uij ⋅ fij .

There is only one destination d = 4, and two origins with travel demand D14 = 9 and D24 = 2. We
consider an initial flow pattern where all available paths, the 3 routes from 1 to 4 and the 2 routes
from 2 to 4, are equally used by each o-d pair. Clearly, in this case it is fij = fijd and the bush is the
entire network.

After we evaluate at the current flow pattern the arc costs and their derivatives, we can compute for
each node i the average cost Cid and its derivative Gid iteratively stating from the destination, where
Cdd = Gdd = 0, and proceeding in reverse topological order. To this aim we apply the formulas:

Cid = ∑j∈FSB(i, d) yijd ⋅ (cij + Cjd) , Gid = ∑j∈FSB(i, d) yijd 2 ⋅ (gij + Gjd) .

While the computation for node 3 is trivial, since its forward star is a singleton, for node 2 we have:

C24 = y234 ⋅ (c23 + C34) + y244 ⋅ (c24 + C44) = 0.5 ⋅ (21 + 52) + 0.5 ⋅ (42 + 0) = 57.5 ,

G24 = y234 2⋅ (g23 + G34) + y244 2 ⋅ (g24 + G44) = 0.52 ⋅ (8 + 14) + 0.52 ⋅ (16 + 0) = 9.5 ,

and for node 1 it is:

C34 = y134 ⋅ (c13 + C34) + y124 ⋅ (c12 + C24) = 0.33⋅(29 + 52) + 0.66⋅(41 + 57.5) = 92.7 ,

G34 = y134 2⋅ (g12 + G34) + y124 2 ⋅ (g12 + G24) = 0.332⋅(12 + 14) + 0.662⋅(12 + 9.5) = 12.4 .

01 April 2009 page 15 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

0 11 11
0 0 11
4 4 4
52 42 6.93 4.07 6.32 4.68
14 16 1 0.63 42.97 53.76

52 21 57.5 6.93 2.43 6.5 6.32 2.41 7.09


3 2 3 2 3 2
14 8 9.5 46.7 0.37 55.1 42.97 10.79 53.76

29 41 4.5 4.5 3.91 5.09


12 12 0.5 0.5 41.65 30.86
1 1 1
92.7 9 9
12.4 196.6 84.62
node arc node arc node arc
Cid cij eid eijd fid * fijd *
Gid gij Vid xijd Wid * cij *

Figure 2B. Numerical example of the procedure to obtain the descent direction.

Now we can compute for each node i the node flows eid and the link flows eijd iteratively by
proceeding in topological order.

To this aim we shall focus on the local route choice of the eid users, whose available alternatives are
the links of the bush exiting from node i. To each travel alternative we associate the cost function:

vij(eijd) = (cij + Cjd) + (gij + Gjd) ⋅ (eijd - yijd ⋅ eid) ,

resulting from a linearization at the current flow pattern of the average cost encountered by a user
choosing link ij, and we look for an equilibrium. We have shown that the latter can be determined
using the following formulas:

Vid = (1 + ∑j∈J aijd / bijd) / (∑j∈J 1 / bijd) , eijd = eid ⋅ (Vid - aijd) / bijd ,

where: aijd = (cij + Cjd) - (gij + Gjd) ⋅ eid ⋅ yijd, bijd = (gij + Gjd) ⋅ eid, while J is set initially to the
forward star FSB(i, d); if some eijd results to be negative, then it is set to zero, j is removed from J
and the computation is repeated.

We star then with node 1, whose node flow is e14 = D14 = 6 :

a134 = (c13 + C34) - (g13 + G34) ⋅ e14 ⋅ y134 = (29 + 52) - (12 + 14) ⋅ 9 ⋅ 0.33 = 3 ,

a124 = (c12 + C24) - (g12 + G24) ⋅ e14 ⋅ y124 = (41 + 57.5) - (12 + 9.5) ⋅ 9 ⋅ 0.66 = -30.5 ,

b134 = (g13 + G34) ⋅ e14 = (29 + 14) ⋅ 9 = 387 ,

01 April 2009 page 16 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

b124 = (g12 + G24) ⋅ e14 = (41 + 9.5) ⋅ 9 = 454.5 ,

V14 = (1 + a134/b134 + a124/b124) / (1/b134 +1/b124) = (1+ 3/387-30.5/454.5) / (1/387+1/454.5) = 196.6 ,

e134 = e14 ⋅ (V14 - a134) / b134 = 9 ⋅ (196.6 - 3) / 387 = 4.5 ,

e124 = e14 ⋅ (V14 - a124) / b124 = 9 ⋅ (196.6 + 30.5) / 454.5 = 4.5 .

Then we go on with node 2, whose node flow is e24 = e124 + D24 = 4.50 + 2 = 6.5 :

a234 = (c23 + C34) - (g23 + G34) ⋅ e24 ⋅ y234 = (21 + 52) - (8 + 14) ⋅ 6.5 ⋅ 0.5 = 1.5 ,

a244 = (c24 + C44) - (g24 + G44) ⋅ e24 ⋅ y244 = (42 + 0) - (16 + 0) ⋅ 6.5 ⋅ 0.5 = -10 ,

b234 = (g23 + G34) ⋅ e14 = (8 + 14) ⋅ 6.5 = 143 ,

b244 = (g24 + G44) ⋅ e14 = (16 + 0) ⋅ 6.5 = 104 ,

V24 = (1 + a234/b234 + a244/b244) / (1/b234 +1/b244) = (1 +1.5/143 -10/104) / (1/143+1/104) = 55.1 ,

e234 = e24 ⋅ (V24 - a234) / b234 = 6.5 ⋅ (55.1 - 1.5) / 143 = 2.43 ,

e244 = e24 ⋅ (V24 - a244) / b244 = 6.5 ⋅ (55.1 + 10) / 104 = 4.07 .

Finally we consider node 3, whose node flow is e34 = e134 + e234 + D34 = 4.5 + 2.43 + 0 = 6.93 :

Since there is only one alternative here, we have immediately e344 = e34 = 6.93, while we compute
V34 only or completeness as follows:

V34 = (c34 + C44) + (g34 + G44) ⋅ (e344 - e34 ⋅ y344) = (52 + 0) + (14 + 0) ⋅ (6.55 - 6.93 ⋅ 1) = 46.7 .

The flow pattern we have just found is a descent direction because we have:

∑ij∈A fijd ⋅ cij = 949 > ∑ij∈A eijd ⋅ cij = 897 .

In Figure 2A, we have shown (denoted by an asterisk) the AON assignment on shortest paths. In
Figure 2B, we show (denoted by an asterisk) the equilibrium flow and cost pattern. It can be seen
that one single iteration of the proposed descent direction allows a substantial step towards the
solution, for the case at hand. A through numerical experimentation of the proposed method in
comparison with other assignment algorithms is presented in the last section of this paper.

01 April 2009 page 17 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

5 ASSIGNMENT ALGORITHM

Below we provide a pseudo code of the procedure within the framework of an assignment algorithm.

function LUCE
f=0 initialize the solution flows to zero
for k = 1 to n perform n iterations
for each d∈Z for each destination d
for each ij∈A compute arc costs and their derivatives
cij = max{cij( fij), ε}
gij = max{∂cij( fij)/∂fij, ε}
if fid > 0 then yijd = fijd / fid else yijd = 0
B(d) =B(B(d), c, f) initialize or modify the current bush
Cdd = 0 the average cost of the destination is zero
Gdd = 0 so its derivative
for each i:∃ij∈B(d) in reverse topological order for each node i ≠ d in the bush
if fid > 0 then
Cid = ∑j∈FSB(i, d) yijd ⋅ (cij + Cjd) compute the node average cost to d
Gid = ∑j∈FSB(i, d) yijd 2⋅ (gij + Gjd) and its derivative
else
Cid = min{cij + Cjd: j∈FSB(i, d)}
Gid = ∑j∈FSB(i, d) [Cid = cij + Cjd] ⋅ (gij + Gjd) / ∑j∈FSB(i, d) [Cid = cij + Cjd]
ed = 0 reset the link and node flows to d
for each o∈Z load on the origins the demand to d
d
eo = Dod
for each i:∃ij∈B(d) in topological order for each node i ≠ d the bush
J = FSB(i, d) initialize the set of links with positive flow
λ=0
until λ = 1 do
λ=1
Vid = (eid + ∑j∈J (cij + Cjd) / (gij + Gjd) - eid⋅yijd] / ∑j∈J 1/(gij + Gjd)
for each j∈J
eijd = Vid / (gij + Gjd) - (cij + Cjd) / (gij + Gjd) + eid⋅yijd

01 April 2009 page 18 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

if eijd < 0 then


eijd = 0
J = J \ {j} remove ij from the set of links with positive flow
λ=0 then repeat the procedure
for each j∈J
ejd = ejd + eijd propagate the link flows to the head node flows
α=1
if k > 1 then quadratic interpolation
∂φ(1)/∂α = ∑ij∈A cij( fij + α⋅(eijd - fijd)) ⋅ (eijd - fijd)
if ∂φ(1)/∂α ≥ 0 then
∂φ(0)/∂α = ∑ij∈A cij ⋅ (eijd - fijd)
if ∂φ(0)/∂α ≥ 0 then α = 0 else α = 1 / (1 - ∂φ(1)/∂α / ∂φ(0)/∂α)
for each ij∈A update link flows
fij = fij + α⋅(eijd - fijd)
fijd = fijd + α⋅(eijd - fijd)

The strict monotonicity of the arc cost functions lets us force, without loss of generality, the costs cij
to be strictly positive for all links ij∈A, since links with null impedances would are unused. Thus,
the bush of each destination d∈Z is initialized with the set of efficient links that bring closer to the
destination, i.e. B(d) = {ij∈A: Wid > Wjd}, where the minimum cost are evaluated at zero flow.

At the generic iteration, instead, any non-efficient link on the bush carrying no destination flow, i.e.
ij∈B(d) : Wid < Wjd , fifd = 0, is removed from it, while any link that would improve shortest paths on
the bush whose reverse link does not carry destination flow, i.e. ij∉B(d) : Wid > cij + Wjd , fjid = 0, is
added to it. If the resulting sub-graph is acyclic, then it is substituted to the current bush of that
destination. Since the LUCE algorithm tends to an equilibrium on the bush, eventually the flow on
non-efficient paths disappears and the bush can be properly modified.

The minimum costs on the bush can be obtained through the following recursive equation, to be
computed in topological order:

Wid = min{cij + Wjd : j∈FSB(i, d)} . (31)

Therefore, besides the initialization of the bushes, the LUCE algorithm does not involve shortest
path computations on general graphs, but only simple visits of acyclic bushes.

01 April 2009 page 19 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

The implementation of the LUCE algorithm requires to memorize the current bush and specific link
flows for each destination. This burden can be partially alleviated by recording only the positive
link flows and then rebuild a spanning bush at each iteration.

The performances of the procedure are substantially improved by the following trivial speed-ups:

- skip the processing of destinations whose relative gap is lower than half the average;

- avoid computing costs and derivatives of links whose destination flow is not changed;

- postpone the checking for updates of destinations with stable bushes.

6 NUMERICAL RESULTS

In this section we analyze the convergence of the proposed LUCE algorithm.

Typically, the distance of the current flow patter f from the equilibrium is measured in terms of the
relative gap ρ(f) = 1 - W(c(f))T⋅D / c(f)T⋅f, where W(c(f))T⋅D are the total minimum costs, while
c(f)T⋅f are the total equilibrium costs. Based on Wardrop’s First Principle, the relative gap tends to
zero at equilibrium, and is always smaller than one. As an alternative, the accuracy of convergence
can be expressed by the maximum cost difference between used paths, which also tends to zero at
equilibrium.

In the following, we present the behaviour of LUCE on the eight networks synthetically described
in Table 1, showing the evolution of both the relative gap and the maximum gap in terms of
iterations and run time (referred to a 2.0GHz cpu). These benchmarks, cover a wide range of
possible cases, from small to very large (in terms of links and zones cardinality), from almost
uncongested to heavily congested (ΔT denotes the relative increment of total costs from zero flow
to equilibrium).

Table 1. Benchmarks considered in the convergence analysis.

network links zones ΔT%


sioux falls 76 24 148
dial 80 4 135
cosenza 524 36 17
winnipeg 2836 138 17
lynnwood 3414 139 43

01 April 2009 page 20 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

roma 9369 453 341


chicago 39018 1768 44
philadelpia 40003 1489 31

In all instances, LUCE converges to a satisfactory ρ = 10E-5 (many experts agree that beyond this
level, no practical modifications of the solution are usually appreciated) with very few iterations
(between 10 and 20), and with some more iterations (between 20 and 40) reaches its limit of
numerical instability, that is ρ = 10E-8 for 16 digit computers. The decreasing pattern is smoother
for the relative gap (Figure 3), that is an aggregated indicator of convergence, than for the
maximum gap (Figure 4), that expresses a worst case distance from the equilibrium.

Relative gap of LUCE for different networks


1.E-03
philadelphia
chicago
1.E-04
roma
lynnwood
relative gap

1.E-05 winnipeg
cosenza
sioux
1.E-06 dial

1.E-07

1.E-08
0 10 20 30 40 50 60 70
iteration [n°]

Figure 3. Convergence of LUCE in terms of relative gap.

01 April 2009 page 21 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Maximum gap of LUCE for different networks


1.E+00
philadelphia
chicago
maximum gap [min]

1.E-01
roma
lynnwood
1.E-02 winnipeg
cosenza
sioux
1.E-03 dial

1.E-04

1.E-05
0 10 20 30 40 50 60 70
iteration [n°]

Figure 4. Convergence of LUCE in terms of maximum gap.

In general, LUCE appears to be a very robust method, because the relative computation time (run
time dived by the number of links and by the number of zones) that is required to obtain either an
accurate or a loose solution does not vary considerably for the different networks, as depicted in
Figure 5, although heavy congestion implies longer run times, as everyone can expect (see the case
of the Rome). This reflects the linear complexity of the algorithm, and means that the modeller can
profit of making a rough estimate on run times in advance. Thus LUCE matches the expectations of
practitioners, who can well accept that computing times grow proportionally with the dimension of
the problem in terms of supply (i.e. links) and demand (i.e. zones). Actually, with path based
methods the problem complexity scales instead linearly in terms of od-couples and quadratically in
terms of zones. Moreover, the overall convergence seems to be fairly linear, despite some convexity
is practically unavoidable in any traffic assignment algorithm for large networks with several
destinations.

01 April 2009 page 22 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Relative computation time of LUCE for different networks


1.E-03
philadelpia
1.E-04 chicago
relative gap

roma
1.E-05
lynnwood

1.E-06 winnipeg
cosenza
1.E-07

1.E-08
0 10 20 30 40 50 60
run time [sec / (1M * nA * nZ)]

Figure 5. Relative computation time of LUCE for six real networks.

To study more in detail the decreasing gap pattern of the proposed algorithm we exploited a
mathematical library for arbitrary precision arithmetic into a simplified implementation of LUCE.
Based on our experiments, round-off errors may in fact compromise the theoretical descent of the
method and its numerical stability, only when the convergence in terms of relative gap reaches half
the number of digits adopted for the representation of real numbers in the computer, e.g. ρ = 1E-8
and 16 digits. Figure 6 shows that in practice LUCE has a linear convergence.

01 April 2009 page 23 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Accurate convergence of LUCE on Dial's network


1.E-01
1.E-03
1.E-05
1.E-07
relative gap

1.E-09
1.E-11
1.E-13
1.E-15
1.E-17
1.E-19
1.E-21
1.E-23
1.E-25
0 500 1000 1500 2000
iterations [n°]

Figure 6. Converge of LUCE through high precision arithmetic on Dial’s network.

The LUCE algorithm updates at each iteration the current bush of every destination, until all
shortest links ij, such that cij + Wjd ≤ Wid, belong to it. During the procedure, the number of such
links that are not included into the current bush converges rapidly to zero for most destinations
along with the relative gap, as depicted in Figure 7. Incidentally, this feature can be exploited to
save some run time by avoiding frequent checks for updates once bush stability is achieved.
However, for very large or very congested networks this process is somewhat slower and may
remain partially uncompleted when the target convergence to equilibrium in terms of the relative
gap is reached, although this occurs for a small fraction of destinations (usually, less than 1%) and
very few links each (between 1 and 2, on the average).

It’s worth mentioning that, while links with null impedance are allowed in the practical
implementation of LUCE, as they are actually useful when reproducing turn prohibitions, these may
jeopardize the ability of the algorithm to find stable optimal bushes when they are to form
alternative sub-paths with zero or very small costs. After all, when the arc cost functions loose strict
monotonicity, the solution uniqueness is not guaranteed anymore.

01 April 2009 page 24 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Shortest links not in the bush of LUCE for different networks


0.20
0.18 philadelphia
chicago
0.16 roma
0.14 lynnwood
links [n°/nD]

0.12 winnipeg
0.10 cosenza
sioux
0.08 dial
0.06
0.04
0.02
0.00
0 10 20 30 40 50 60 70
iteration [n°]

Figure 7. Number of shortest links, divided by the number of destinations, that are not included into
the current bush during the iterations of LUCE.

To choose the step method used in combination with the descent direction provided by LUCE we
have compared on the above benchmarks the three algorithms proposed at the end of section 2: line
search by bisection, analytic minimization of the quadratic interpolation, Armijo rule. Best
performances are obtained through either the second or the third method, as depicted in Figure 8
with reference to the Chicago network. However, the quadratic interpolation benefits from the
theoretical property of not requiring line search iterations within the step method, and in fact it is
sometimes slightly faster than the Armijo rule, so that it was preferred to the latter in the
specification of the assignment algorithm.

01 April 2009 page 25 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Combining LUCE with different step methods for Chicago


1.E-03
bisection search
1.E-04
armijo rule
relative gap

1.E-05
quadratic interpolation
1.E-06

1.E-07

1.E-08
0 25 50 75 100
run time on a 2.0GHz CPU [min]

Figure 8. Convergence of LUCE in combination with three step methods on the Chicago network.

The substantial equivalence between the Armijo rule and the quadratic interpolation derives also
from the fact that for most destinations at each iteration the unitary step provided by the LUCE
direction is optimal, as depicted in Figure 9.

Step length of LUCE for different networks


1.0
0.9
0.8
0.7
step length

0.6 philadelphia
chicago
0.5
roma
0.4 lynnwood
0.3 winnipeg
0.2 cosenza
sioux
0.1 dial
0.0
0 10 20 30 40 50 60 70
iteration [n°]

Figure 9. Average step length among all destinations during the iterations of LUCE.

01 April 2009 page 26 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

In Figure 10 we plot the relative gap against the run time to analyze the convergence of LUCE on
the Chicago network for four levels of demand, obtained scaling by 0.5, 1.0, 1.5 and 2.0 the original
o-d matrix. As expected the speed of convergence decreases noticeably with the relevance of
congestion, showing in this case an even proportionality: about 10 times the total cost increment
(from 44% to 415%) requires about 10 times the computation effort (form 28 min to 214 min).

Sensitivity of LUCE to the demand for Chicago


1.E-03
Dx0.5 (ΔT=9%)
1.E-04 Dx1.0 (ΔT=44%)
Dx1.5 (ΔT=151%)
relative gap

1.E-05
Dx2.0 (ΔT=415%)

1.E-06

1.E-07

1.E-08
0 25 50 75 100 125 150 175 200 225
run time on a 2.0GHz CPU [min]

Figure 10. Convergence sensitivity of LUCE to congestion on the Chicago network.

In Figure 11 we plot the relative gap against the run time to analyze the convergence of LUCE on
the Chicago network for four different values of the BPR exponent β, so as to understand the
importance of the cost function shape, where:

c( f ) = T + U ⋅ ( f / Q)β .

As expected the speed of convergence decreases noticeably with the sharpness of the impedance
elbow at capacity Q. Actually, when the exponent β is high (between 4 and 8), the very steep
derivatives for flows over capacities induce instability to the equilibrium, so that the assignment
problem becomes numerically harder to solve, at no apparent advantage.

01 April 2009 page 27 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Sensitivity of LUCE to the BPR exponent for Chicago


1.E-03
b=2 (ΔT=26%)
1.E-04 b=4 (ΔT=44%)
b=6 (ΔT=86%)
relative gap

1.E-05 b=8 (ΔT=301%)

1.E-06

1.E-07

1.E-08
0 25 50 75 100 125
run time on a 2.0GHz CPU [min]

Figure 11. Convergence sensitivity of LUCE to the BPR exponent on the Chicago network.

Indeed, static models are by definition unsuited to cope with over-saturation and queues; therefore,
the attempt of introducing a step function with high exponents to reproduce the effect of the
capacity constraint is, on our opinion, a modelling countersense. On the other hand, in fact, high
exponents tend to neglect the under-saturation congestion due to vehicle interaction, since the cost
function becomes extremely flat for flows below capacity. Moreover, the power function is
arithmetically cumbersome to calculate, especially when the exponent is a high real number; this
makes the computation of BPR cost functions amazingly slow in practical implementations. In
conclusion, we should discourage the use of high exponents in the BPR functions and support
instead the use of alternative shapes for the cost functions.

As a first viable alternative, we propose here the following hyperbolic arc cost function:

c( f ) = T + U ⋅ f / (γ ⋅ Q - f ), if f < 0.9 ⋅ γ ⋅ Q ;

c( f ) = T + 9 ⋅ U + 100 ⋅ U ⋅ ( f / Q / γ - 0.9), otherwise,

where the parameters T, U and Q have the same physical meaning that for BPR functions. Indeed,
setting γ = 2 - (β - 2) / 10 we obtained a good fit of the hyperbolic function with the corresponding
BPR function for the range of commonly used exponents, as shown in the Figure 12 below, where
T = U = Q = 1.

01 April 2009 page 28 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Hyperbolic and BPR cost functions


10
9 HYP b=3 HYP b=5
8 BPR b=3 BPR b=5
cost / uncongested

7
6
5
4
3
2
1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 1.5
flow / capacity

Figure 12. Fitness of the hyperbolic function to the BPR function.

Figure 13 and 14 show that using the above HYP function the sensitivity to the ex exponent and
now coefficient β is much less critical, and in general convergence is faster and smoother.

Sensitivity of LUCE to the HYP coefficient for Chicago


1.E-03
b=2 (ΔT=39%)
1.E-04 b=4 (ΔT=52%)
b=6 (ΔT=76%)
relative gap

1.E-05 b=8 (ΔT=120%)

1.E-06

1.E-07

1.E-08
0 5 10 15 20 25 30 35 40 45 50 55 60
run time on a 2.0GHz CPU [min]

Figure 13. Sensitivity of LUCE to the coefficient β of the hyperbolic function, for Chicago network.

01 April 2009 page 29 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Sensitivity of LUCE with HYP to the demand for Chicago


1.E-03
Dx0.5 (ΔT=12%)
1.E-04 Dx1 (ΔT=52%)
Dx1.5 (ΔT=205%)
relative gap

1.E-05
Dx2 (ΔT=484%)

1.E-06

1.E-07

1.E-08
0 25 50 75 100 125 150
run time on a 2.0GHz CPU [min]

Figure 14. Sensitivity of LUCE to the demand with the hyperbolic function, for Chicago network.

As a second practical alternative, we propose here the following piecewise linear arc cost function:

c( f ) = T + U ⋅ f / Q, if f ≤ Q ;

c( f ) = T + U + β ⋅ U ⋅ ( f / Q - 1), otherwise,

where the parameters T, U and Q have the same physical meaning that for BPR and HYP functions.

Figure 15 and 16 show that using the above PWL function the sensitivity to the coefficient β is even
less critical, and convergence is much faster.

01 April 2009 page 30 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

Sensitivity of LUCE to the PWL coefficient for Chicago


1.E-03
b=2 (ΔT=24%)
1.E-04 b=4 (ΔT=31%)
b=6 (ΔT=37%)
relative gap

1.E-05 b=8 (ΔT=43%)

1.E-06

1.E-07

1.E-08
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
run time on a 2.0GHz CPU [min]

Figure 15. Sensitivity of LUCE to the coefficient β of the piecewise linear function, for Chicago network.

Sensitivity of LUCE with PWL to the demand for Chicago


1.E-03
Dx0.5 (ΔT=12%)
1.E-04 Dx1 (ΔT=52%)
Dx1.5 (ΔT=55%)
relative gap

1.E-05
Dx2 (ΔT=82%)

1.E-06

1.E-07

1.E-08
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
run time on a 2.0GHz CPU [min]

Figure 16. Sensitivity of LUCE to the demand with the piecewise linear function, for Chicago network.

Finally, in Figure 17 we compare the convergence performances of five different algorithms on the
Chicago network. Frank Wolfe by LeBlanc (1973) and Nguyen (1973) is here reported just to recall
that an accurate solution of the assignment problem requires in practice more specialized

01 April 2009 page 31 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

procedures.

Bar-Gera’s OBA (2002) takes into account link and node cost derivates with the aim of calculating
Newton-type flow shifts among the paths of the bush, thus obtaining a descent direction in the space
of link flows. The efficient computation of this second-order formulation requires to introduce an
approximation of the exact analytical expressions. Moreover, the resulting flow shifts may lead to
violations of non-negativity constraints, thus requiring some truncations. It’s worth noting that
LUCE exploits the same information, i.e. cost derivatives, but instead of seeking some parallelism
to non-linear optimization techniques like the OBA, it adopts an ad-hoc approach founded on the
intuitive ideas of local equilibrium and first-order approximation.

Algorithm B proposed by Dial (2006) is a link based procedure that shifts trips from max- to min-
paths to make their cost difference minima.

The Projected Gradient algorithm, recently revised by Florian (2009), is a path based method that
regards their costs as the gradient of the sum integral objective function.

Convergence of different algorithms for Chicago


1.E-03
LUCE

1.E-04 FW
relative gap

OBA
1.E-05 B
PG
1.E-06

1.E-07
0 50 100 150 200 250 300 350 400 450 500
run time on a 2.0GHz CPU [min]

Figure 17. Performance comparison of LUCE to other four assignment algorithms on the Chicago
network, whose convergence patterns are retrieved from papers and presentations.

01 April 2009 page 32 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

CONCLUSIONS

To conclude this paper we will summarize below the main properties of the proposed algorithm to
solve the classical equilibrium problem with fixed demand, deterministic route choice and separable
arc cost functions.

LUCE is formally proved to converge at equilibrium. We tested that it is actually capable of solving
numerically the traffic assignment problem with any wanted accuracy, under the condition that the
computer arithmetic precision is twice as much the aimed relative gap. The convergence shows to
be linear, but its rate decreases with the level of congestion and with the sharpness of cost functions.
To alleviate this problem, that affects any algorithm, we have proposed a hyperbolic shape and a
piecewise linear shape of the arc cost function instead of the power based BPR.

LUCE appears to be at least 10 times faster than the most advanced methods recently proposed in
the literature. Few iterations, say 20, are usually enough to reach a convergence suitable for most
applications.

LUCE has a linear complexity in terms of links and zones, unlike many other methods that are path
based or require shortest path searches on cyclic graphs. In particular, the runtime is not sensitive to
the number of o-d couples but only to the number of destinations, given the implicit path
enumeration.

LUCE does not need to store in memory single o-d paths but only destination bushes, that however
offer a much richer finite set of used alternatives, whose probabilities can be easily obtained ex-post.

LUCE allows for a fixed point formulation of the equilibrium problem also in the deterministic case
without introducing one to many maps.

LUCE is based on a simple idea that can be understood with a single chart and exploits the concept
of derivatives that is familiar to any engineer.

LUCE is implemented in VISUM, one of the most popular software for transport planning.

ACKNOWLEDGEMENTS

The key concept of LUCE has been inspired by the conversations had with Hillel Bar-Gera during
the First International Symposium on DTA, held in Leeds 2006. Klaus Noekel from PTV strongly
supported an effective and efficient implementation. The idea of how dealing with bushes was

01 April 2009 page 33 of 34


Gentile G. Linear User Cost Equilibrium: a new algorithm for traffic assignment

elaborated from Dial’s paper.

REFERENCES

Beckmann M., McGuire C., Winston C. (1956) Studies in the economics of transportation. Yale
University Press, New Haven, CT.

Bar-Gera H. (2002) Origin-based algorithm for the transportation assignment problem.


Transportation Science 36, 398-417.

Boyce D., Ralevic-Dekic B., Bar-Gera H. (2004) Convergence of traffic assignments: how much is
enough? ASCE Journal of Transportation Engineering 130, 49-55.

Dial R. (1971) A probabilistic multipath assignment model than obviates path enumeration.
Transport Research 5, 83-111.

Dial R. (2006) A path-based user-equilibrium traffic assignment algorithm that obviates path
storage and enumeration. Transport Research B 40, 917-936.

Florian M. (2009) New look at projected gradient method for equilibrium assignment.
Transportation Research Board Annual Meeting 2009, Paper #09-0852.

LeBlanc L. (1973) Mathematical programming algorithms for large scale network equilibrium and
network design problems. Ph.D. Dissertation. Department of Industrial Engineering and
Management Sciences, Northwestern University.

Nguyen S. (1973) A mathematical programming approach to equilibrium methods of traffic


assignment with fixed demands. Publication 138, Département d’Informatique et de Recherche
Opérationnelle, Université de Montréal, Québec.

Nguyen S., Pallottino S. (1988) Equilibrium traffic assignment for large scale transit networks.
European Journal of Operational Research 37, 176-186.

Wardrop J. (1952) Some theoretical aspects of road traffic research. Proceedings of the Institution
of Civil Engineers, Part 2, 325-378.

01 April 2009 page 34 of 34

You might also like