You are on page 1of 44

6

6 Algorithms

Trip distribution models, of various types, may be implemented using Module 3.22 (Matrix Balanc-
ing) and by preparing the necessary input by using Module 3.21 (Triple-Index Operations).

The most general assignment model that may be implemented by using Emme is a multimodal
equilibrium assignment which incorporates direct demand functions, that is, demand functions
that accomplish trip generation/attraction, trip distribution and mode choice simultaneously. A
wide variety of demand functions may be integrated into such a procedure.

Any variant of the auto assignment can be prepared using Module 5.11, and carried out by
Module 5.21. A standard (strategy based) transit assignment can be prepared using
Module 5.11, and carried out by Module 5.31. A deterministic transit assignment can be pre-
pared and executed using Module 5.36.

This chapter contains the description of the algorithms used in Emme for :

• Implementing trip distribution models in 2 or 3 dimensions (see Section 6.1, page 6-2).

• The equilibrium (capacity constrained) auto assignment with turn penalties at selected intersec-
tions, with fixed demand (see Section 6.2.2, page 6-12).

• The same equilibrium auto assignment, but with variable demand (see Section 6.2.3, page 6-17).

• The same equilibrium auto assignment, but for multiple user classes (see Section 6.2.5,
page 6-22).

• The standard transit assignment, based on the concept of optimal strategies, with fixed demand
(see Section 6.3, page 6-24).

• The deterministic or timetable based transit assignment (see Section 6.4, page 6-39).

2007/02/23 6-1
Matrix Balancing and Trip Distribution Models Emme Prompt Manual

6.1 Matrix Balancing and Trip Distribution Models

6.1.1 Two-dimensional balancing

There is a wide variety of trip distribution models used in practice. The two-dimensional matrix
balancing algorithm implemented in Module 3.22 provides the possibility of implementing aggre-
gate trip distribution models such as Fratar, entropy, gravity and others that use this procedure.

Trip distribution models, that use two-dimensional matrix balancing, take as input a matrix c pq , an
origin matrix O p (the trip productions) and a destination matrix D q (the attractions), in order to
compute an origin-destination matrix g pq (the balanced matrix) by finding origin balancing coeffi-
cients α p and destination balancing coefficient β q which satisfy :

g pq = α p ⋅ β q ⋅ c pq for each O-D pair ( p, q ) (6.1.1)

∑g q pq = Op for each origin p (6.1.2)

∑g p pq = Dq for each destination q (6.1.3)

g pq ≥ 0 for each O-D pair ( p, q ) (6.1.4)

Note that it is assumed that

∑ p
Op = ∑D q q. (6.1.5)

Such trip distribution models are called “multiplicative”, since g pq is the product of α p , β q and
c pq . The solution algorithm, which is usually referred to as the “balancing method”, determines
α p , β q and g pq . It is stated below as it is implemented in Emme :

0 Initialization
l = 0 (iteration count);
0
α 0p = 1 for each p; β q = 1 for each q.

1 Balancing Rows
l+1 Op
αp = ---------------------------
- for each p.

l
q
β q ⋅ c pq

2 Balancing Columns
l+1 Dq
βq = ----------------------------------
- for each q.

l+1
p
α p ⋅ c pq

3 Stopping Test
l+1 l l+1 l
⎛ αp – αp βq – β q⎞
If max ⎜ max p -----------------------
l+1
-, max q ----------------------
l+1 ⎟
≤ε ,
⎝ αp βq ⎠

6-2 2007/02/23
Emme Prompt Manual Two-dimensional balancing

or if l + 1 = lmax , then stop.


Otherwise l = l + 1 and return to Step 1.

Two criteria are used in the stopping test :

1 The maximum relative error on origin and destination sums which, in theory, should decrease
towards 0. In practice, it is compared to the parameter ε, which takes a small but non-zero value.
The maximum error is computed as one of its equivalent form :
l+1
∑ ∑
l l l
αp – αp
l
αp
l
αp ⋅ q q
β ⋅ c pq Op – g
q pq
-----------------------
l+1
- = 1 – -----------
l+1
= 1 – --------------------------------------- = -------------------------------
-
αp αp Op Op

2 The maximum number of balancing iterations to be performed, lmax.

The algorithm terminates when one of these two criteria is satisfied. The balanced matrix is then
l+1 l+1
given by g pq = α p ⋅ βq ⋅ c pq , for each ( p, q ) .

This method dates back to at least 1937 when Kruithof used it for the prediction of telephone traf-
fic in Holland. Fratar (1954) and Furness (1965) applied it in the context of vehicular trip
distribution. It is often called the Furness or Fratar method.

A particular (multiplicative) trip distribution model may be implemented in Emme by using the
two-dimensional balancing procedure provided in Module 3.22 and by preparing the appropriate
inputs by using Module 3.21 (Matrix Calculations ). The table below gives examples of the type of
trip distribution models that may be implemented by using only two-dimensional balancing. For
each of these models, the production and attraction vectors correspond to predicted productions
and attractions; the resulting balanced matrix is a predicted O-D matrix. In this table, u pq are the
travel times (sometimes called impedances) from origins p to destinations q.
Model Type Matrix to Balance

Growth Base year O-D matrix


– θu pq
Entropy e
General Gravity Deterrence function f ( u pq )

The “growth” model is sometimes referred to as the Fratar model. It is important to note that any
cell c pq which equals zero in the base year O-D matrix, will equal zero in the predicted O-D
matrix.

The “entropy” model, which uses a negative exponential deterrence function, became popular due
to the work of Wilson (1967) and was studied extensively. The convergence of the balancing
method for this model was proven by Evans (1970). Also, Evans (1971) and Evans (1973)
showed that the calibration of the parameter θ is done by determining a value of θ which results in
a predicted O-D matrix yielding the same total travel time, T̂ , as the observed base year matrix.
Evans (1973), showed that the total travel time of a predicted O-D matrix,
T (θ)= ∑∑gp q pq ( θ )u pq is a decreasing function of θ .

2007/02/23 6-3
Matrix Balancing and Trip Distribution Models Emme Prompt Manual

There are several iterative methods that “calibrate” θ , by starting with an initial estimate of θ (a
good choice is 1 ⁄ T̂ ) and find successive values of θ that converge to a certain value. This
value, after a two-dimensional balancing, yields an origin-destination matrix which matches the
observed total travel time.

The “general gravity” model refers to multiplicative trip distribution models which use deterrence
functions that have particular functional forms. These functions have been determined to suit best
the pattern of spatial interaction of an urban area. An example of such a function is the gamma
function c pq = u –pqλ e –θu pq .

The main advantage of this deterrence function is that it permits the modeling of short trips in
cases where short trips are less frequent than those that would be predicted by a negative expo-
nential deterrence function. In practice, there is a variety of deterrence functions which are used
and an exhaustive enumeration of such functions is beyond the scope of this manual.

It is appropriate to mention that even if ∑ p


Op = ∑D
q q there is always the possibility that no
O-D matrix satisfies equations (6.1.2) - (6.1.4). Although such a situation arises seldom in prac-
tice, the interested reader may refer to Bacharach (1970), who gave a necessary and sufficient
condition for the existence of a feasible origin-destination matrix.

6.1.2 Three-dimensional balancing

Three-dimensional trip distribution models, which use an additional stratification of trips other than
by origins and destinations, use the three-dimensional balancing procedure of Evans and Kirby
(1974).

In order to illustrate the “third dimension”, consider a screen line that divides an urban area into
two separate parts, say A and B. The traffic counts obtained from the screen line give the number
of trips from A to B and from B to A. If the predicted matrix g pq is to be compatible with this infor-
mation, one could assign the O-D pairs ( p, q ) into 4 classes :

• class 1 : O-D pairs with trips from A to B

• class 2 : O-D pairs with trips from B to A

• class 3 : O-D pairs with trips from A to A

• class 4 : O-D pairs with trips from B to B

The total number of trips associated with class 1 is the screen line count of trips from A to B and
with class 2, the screen line count of trips from B to A. The totals associated with classes 3 and 4
are the appropriate number of trips from A to A and from B to B. The aim is to obtain the matrix
g pq that satisfies these additional conditions, and also respects the usual production and attrac-
tion totals.

6-4 2007/02/23
Emme Prompt Manual Three-dimensional balancing

As another example of the “third dimension”, consider the following subdivision of the O-D pairs
( p, q ) into k classes, which are based on the impedance u pq of making the trip from p to q. O-D
pair ( p, q ) belongs to class k if the travel impedance u pq is such that u k ≤ u pq < u k where u k
and u k are the lower and upper bounds of impedance interval k. A matrix with elements k pq is
used to identify that O-D pair ( p, q ) belongs to interval k. The information for the selection of
classes (impedance intervals) is obtained, for instance, from a histogram of travel time distribution
obtained from a “base year” matrix and the corresponding travel times.

Trip distribution models that use three-dimensional balancing take as an input a matrix c pq , an
origin matrix O p (the trip productions), a destination matrix D q (the trip attractions), the third
dimension totals F k , for each interval k, and the third dimension matrix k pq . They compute an ori-
gin-destination matrix g pq (the balanced matrix), by finding origin balancing coefficients α p , des-
tination balancing coefficients β q and third-dimension balancing coefficients γ k which satisfy :
pq

g pq = α p ⋅ β q ⋅ γ k pq ⋅ c pq for each O-D pair ( p, q ) (6.1.6)

∑g q pq = Op for each origin p (6.1.7)

∑g p pq = Dq for each destination q (6.1.8)


( p, q ) k pq = k
g pq = F k for each interval k (6.1.9)

Note that it is assumed that

∑ p
Op = ∑D q q = ∑F. k k (6.1.10)

This class of distribution models is also multiplicative since g pq is the product of α p , β q , γ k


pq

and c pq . The solution algorithm, which is a balancing method taking into account the “third
dimension” totals F k as well, is stated below as it is implemented in Emme :

0 Initialization
l = 0 (iteration count);
0
α p = 1 for each p;
0
β q = 1 for each q;
0
γ k pq = 1 for each k.

1 Balancing Rows
l+1 Op
αp = -----------------------------------------
- for each p.

l
q q
β ⋅ γ kl pq ⋅ c pq

2 Balancing Columns

2007/02/23 6-5
Auto Assignment Emme Prompt Manual

l+1 Dq
βq = ------------------------------------------------ for each q.

l+1 l
p p
α ⋅ γ k pq ⋅ c pq

3 Balancing Third Dimension Totals


Fk
+ 1 = ----------------------------------------------------------------
γ kl pq - for each k.

l+1 l+1
α p ⋅ β q ⋅ c pq
( p, q ) k pq = k

4 Stopping Test
l+1 l l+1 l l+1 l
⎛ αp – αp βq – βq γk – γ k⎞
l+1
-, max q ----------------------
If max ⎜ max p ----------------------- l+1
, max k ---------------------
l+1 ⎟
- ≤ε
⎝ αp βq γk ⎠
or if l + 1 = lmax , then stop.
Otherwise l = l + 1 and return to Step 1.

The stopping criteria are the same as those used for the two-dimensional balancing algorithm.
l+1 l+1 l+1
When the algorithm terminates, the balanced matrix is given by g pq = α p ⋅ βq ⋅ γk ⋅ c pq .
pq

When the input matrix c pq equals 1 for all O-D pairs which are supposed to have nonnegative
demand, the third dimension balancing coefficients γ k pq have the interpretation of the “deterrence”
associated with travel interval k. This may then be considered to be a “calibration” of the deter-
rence function, which was the motivation of the work of Evans and Kirby. These coefficients may
be used to fit a deterrence function f ( u pq ) , which then serves as input to a two-dimensional trip
distribution model.

6.2 Auto Assignment

6.2.1 General principle of the equilibrium auto assignment

The algorithm implemented in Module 5.21 to solve the equilibrium (capacity constrained) auto
traffic assignment problem is the linear approximation algorithm, which was proposed first by
Bruynooghe, Gibert and Sakarovitch (1968). The subsequent work of LeBlanc, Morlok and Pier-
skalla (1975), Florian and Nguyen (1976) and Dow and Van Vliet (1979), among others, made this
method popular in practice. Before stating the model and algorithm implemented in the Emme
code, a brief explanation of the equilibrium principle is given, as well as some simple examples,
that illustrate the equilibrium principle and the functioning of the solution algorithm.

The behavioral assumption of the equilibrium traffic assignment problem is that each user
chooses the route that he perceives the best; if there is a shorter route than the one that he is
using, he will choose it. This results in flows that satisfy Wardrop’s (1952) user optimal principle,
that no user can improve his travel time by changing routes. The consequence is that the equilib-
rium traffic assignment corresponds to a set of flows such that all paths used between an ori-
gin-destination pair are of equal time. We examine next the results produced for a simple example
by the linear approximation method, incremental assignment, capacity restraint and the succes-
sive average method.

6-6 2007/02/23
Emme Prompt Manual General principle of the equilibrium auto assignment

The solution to the equilibrium traffic assignment problem is equivalent to solving a problem where
the area under the volume-delay curves is minimized. This can be seen intuitively from the little
example shown in Figure 6-1. (The result is due to Beckmann, McGuire and Winsten (1956)).

Figure 6-1 Illustration of the equilibrium assignment problem

v1

v = 1000 p q v = 1000
v2

v2 v2
1000 800 600 400 200 0 1000 800 600 400 200 0
50 50 50 50
40 40 40 40
30 30 30 30
s1 ( v1 )

s2 ( v2 )

s1 ( v1 )

s2 ( v2 )
20 20 20 20
10 10 10 10
0 0 0 0
0 200 400 600 800 1000 0 200 400 600 800 1000
v1 v1
Assignment not in equilibrium. Assignment in equilibrium. Area under
volume-delay curves is minimized.

The linear approximation method

The linear approximation method (Frank and Wolfe, 1956) has the advantage that, at each itera-
tion, the total area under the volume-delay curves decreases and a measure of the difference
between the current flows and the equilibrium flows can easily be estimated. It has the following
general steps :

0 Initialization
Initial solution v 0 is obtained by an all-or-nothing assignment of demand g on shortest
paths computed with arc costs s 0 = s ( 0 ) ;
k = 0 (iteration count).

1 Update Link Costs


k = k +1;
sk = s( vk – 1 ) .

2 Descent Direction
y k is obtained by an all-or-nothing assignment of demand g on shortest paths com-
puted with arc costs s k .

3 Compute Optimal Step Size

2007/02/23 6-7
Auto Assignment Emme Prompt Manual

k
λ is the value of λ for which the area under the volume-delay curves is minimized,
k–1 k k–1
for the flow v + λ( y – v ), 0≤λ≤1

4 Update Link Flows


k k–1 k k k–1
v = v + λ (y – v ).

5 Stopping Criterion
k k–1 k k
If s v – s y > ε return to Step 1 (total travel time still significantly different from
total travel time on shortest paths),
* k * k
otherwise v = v , s = s ( v ) and stop.

The example considered consists of three links with the travel time functions shown below. The
demand is 1000 trips from p to q.
1
s 1 ( v 1 ) = 10 { 1 + 0.15 { v 1 ⁄ 200 } 4 }

s 2 ( v 2 ) = 20 { 1 + 0.15 { v 2 ⁄ 400 } 4 } p
2
q

s 3 ( v 3 ) = 25 { 1 + 0.15 { v 3 ⁄ 300 } 4 } 3

The results obtained after the first nine iterations of the linear approximation method, as well as
the optimal solution, where all paths used are of equal length, are given in Table 6.1. The figures
under the column indicated F ( v ) give the area under the volume-delay curves which is mini-
mized where the flows are so-called “equilibrium” flows and all the paths used are of equal length.

Table 6.1 Linear approximation method

k k k k k k k k
Iteration k s1 s2 s3 v1 v2 v3 F (v ) λ

0 10.00 20.00 25.00 1000 0 0 197500 1.00000

1 947.50 20.00 25.00 403 597 0 19740 0.59654

2 34.84 34.84 25.00 338 500 161 18999 0.16113

3 22.30 27.35 25.31 362 483 155 18945 0.03555

4 26.09 26.36 25.27 355 473 173 18936 0.02040

5 24.82 25.86 25.41 359 469 171 18934 0.00719

6 25.61 25.69 25.40 357 467 176 18933 0.00536

7 25.28 25.57 25.44 359 466 175 18933 0.00200

8 25.50 25.52 25.44 358 465 177 18933 0.00156

9 25.40 25.49 25.45 358 465 177 18933 0.00059


* * * * * * *
Opt. Sol. s1 s2 s3 v1 v2 v3 F (v )

25.46 25.46 25.46 358 465 177 18933

6-8 2007/02/23
Emme Prompt Manual General principle of the equilibrium auto assignment

The incremental method

The incremental method proceeds through the following general steps :

0 Initialization
Define number of increments N;
v0 = 0 ;
k = 0 (iteration count).

1 Update Link Costs


k k–1
k = k +1; s = s(v ).

2 Load Increment of Demand


k
y is obtained by an all-or-nothing assignment of demand g ⁄ N on shortest paths
computed with arc costs s k .

3 Update Link Flows


k k–1 k
v = v +y .

4 Stopping Criterion
If k < N return to Step 1;
* k * k
otherwise v = v , s = s ( v ) and stop.

The results obtained with the incremental assignment method where N is chosen to be 10 are
given in Table 6.2. It is easy to see that the flows resemble those obtained with the linear approx-
imation method but the times are not equal on all the used links. Since the method is heuristic,
there is no reason to anticipate that the flows will satisfy strictly the equilibrium conditions; the fact
that the times may be quite different on the paths used makes it impossible to use the travel times
for cost benefit analyses.

Table 6.2 Incremental method

k k k k k k k
Iteration k s1 s2 s3 v1 v2 v3 F (v )

1 10.00 20.00 25.00 100 0 0 1002

2 10.09 20.00 25.00 200 0 0 2060

3 11.50 20.00 25.00 300 0 0 3456

4 17.59 20.00 25.00 400 0 0 5920

5 34.00 20.00 25.00 400 100 0 7920

6 34.00 20.01 25.00 400 200 0 9928

7 34.00 20.19 25.00 400 300 0 11977

8 34.00 20.95 25.00 400 400 0 14160

9 34.00 23.00 25.00 400 500 0 16652

2007/02/23 6-9
Auto Assignment Emme Prompt Manual

Table 6.2 Incremental method (continued)

k k k k k k k
Iteration k s1 s2 s3 v1 v2 v3 F (v )

10 34.00 27.32 25.00 400 500 100 19153


* * * * * * *
Solution s1 s2 s3 v1 v2 v3 F (v )

34.00 27.32 25.05 400 500 100 19153

The capacity restraint method

The capacity restraint method is probably one of the first heuristic methods used for the emulation
of equilibrium flows. It proceeds through the following general steps :

0 Initialization
Define number of iterations N;
initial solution y0 is obtained by an all-or-nothing assignment of demand g on shortest
paths computed with arc costs s 0 = s ( 0 ) ;
k = 0 (iteration count).

1 Update Link Costs


k = k +1;
k k–1 k–1
s = 0.75 s + 0.25s ( y ).

2 Load Demand
k
y is obtained by an all-or-nothing assignment on shortest paths computed with arc
k
costs s .

3 Stopping Criterion
If k < N return to Step 1;

∑ 3 N –k * *
otherwise v*= 1 ⁄ 4 ⋅ y , s = s ( v ) and stop.
k=0

As can be seen in Table 6.3, this method produces flows which are quite different from the equilib-
rium flows.

Table 6.3 Capacity restraint method

k k k k k k k
Iteration k s1 s2 s3 y1 y2 y3 F (v )

0 10.00 20.00 25.00 1000 0 0 –

1 244.38 20.00 25.00 0 1000 0 –

2 185.79 49.30 25.00 0 0 1000 –

3 141.84 41.98 140.74 0 1000 0 –

4 108.88 65.79 111.81 0 1000 0 –

6-10 2007/02/23
Emme Prompt Manual General principle of the equilibrium auto assignment

Table 6.3 Capacity restraint method (continued)

k k k k k k k
Iteration k s1 s2 s3 y1 y2 y3 F (v )

5 84.16 83.64 90.11 0 1000 0 –

6 65.62 97.03 73.83 1000 0 0 –

7 286.09 77.77 61.62 0 0 1000 –

8 217.07 63.33 168.21 0 1000 0 –

9 165.30 81.80 132.41 0 1000 0 –

10 126.48 95.65 105.56 0 1000 0 –


* * * * * * *
Solution s1 s2 s3 v1 v2 v3 F (v )

for N=9 13.66 27.32 26.81 250 500 250 19756


for N=10 10.00 57.08 26.81 0 750 250 26902

The successive average method

The last method which we will look at is the successive average method, which is known to be a
convergent method. However its convergence is very slow and there is no reasonable stopping
criterion, other than an arbitrary number of iterations. The method resembles the linear approxi-
mation method, except that the step size, lambda, is arbitrarily fixed to yield a solution in which
each of the all-or-nothing flows y k have the same weight. The general steps of the method are :

0 Initialization
Define number of iterations N;
initial solution v 0 is obtained by an all-or-nothing assignment of demand g on shortest
paths computed with arc costs s 0 = s ( 0 ) ;
k = 0 (iteration count).

1 Update Link Costs


k k–1
k = k +1; s = s(v ).

2 All-or-Nothing Assignment
k
y is obtained by loading demand g on shortest paths computed with arc costs s k .

3 Compute Step Size


k 1
λ = ------------ .
k+1

4 Update Link Flows


k k–1 k k k–1
v = v + λ (y – v ).

5 Stopping Criterion
If k < N return to Step 1;

2007/02/23 6-11
Auto Assignment Emme Prompt Manual

* k * k
otherwise v = v , s = s ( v ) and stop.

The results obtained after the first nine iterations of this method are given in Table 6.4. It is easy
to see that this method has a tendency to oscillate. After nine iterations, the flows resemble the
equilibrium flows but the times are quite different on the used links.

Table 6.4 Successive average method

k k k k k k k k
Iteration k s1 s2 s3 v1 v2 v3 F (v ) λ

0 10.00 20.00 25.00 1000 0 0 197500

1 947.50 20.00 25.00 500 500 0 21592 0.50000

2 68.59 27.32 25.00 333 333 333 19582 0.33333

3 21.57 21.45 30.72 250 500 250 19756 0.25000

4 13.66 27.32 26.81 400 400 200 19190 0.20000

5 34.00 23.00 25.74 333 500 167 19016 0.16667

6 21.57 27.32 25.36 429 429 143 19484 0.14286

7 41.63 23.95 25.19 375 500 125 19001 0.12500

8 28.54 27.32 25.11 333 444 222 19006 0.11111

9 21.57 24.57 26.13 400 400 200 19190 0.10000


* * * * * * *
Solution s1 s2 s3 v1 v2 v3 F (v )

34.00 23.00 25.74 400 400 200 19190

6.2.2 The fixed demand auto assignment model

The assignment model implemented in Module 5.21 is considerably more complex and refined
than the simple example given in the preceding section, since it considers turn penalties as well
as different car occupancy rates by O-D pairs and fixed background volumes. This text is a trans-
lation of selected sections of Spiess (1984).

The auto assignment model implemented in Emme computes the equilibrium flows and travel
times by solving the fixed demand problem :

va va

∑ ∑ ∑ ∑
1 a2
Min f ( v ) =

a∈A 0
s a ( v + x a )dv +
i∈I a1 ∈

Ai a2 ∈
+
Ai ∫
0
p a1 a2 ( v + x a1 a2 )dv

6-12 2007/02/23
Emme Prompt Manual The fixed demand auto assignment model

subject to :
va = ∑ k∈K
δ ak h k a ∈ A,

va
1 a2
= ∑k ∈ K δa k δa k hk
1 2
a 1 ∈ A i– , a 2 ∈ A i+ , i ∈ I ,

∑ h
k ∈ K pq k
= ( g pq ⁄ η pq ) + γ pq p ∈ P, q ∈ Q ,

hk ≥ 0 k ∈ K pq , p ∈ P , q ∈ Q .

The notation used is described below.

Indices and sets :


p∈P origin zones
q∈Q destination zones
i∈I nodes of the auto network
a∈A links of the auto network

a∈ Ai links “ending” at node i
+
a∈ Ai links “starting” at node i
k ∈ K pq directed paths linking p and q
k∈K all the directed paths
i∈I nodes corresponding to intersections with turn penalties

Constants :
δ ak 1 if link a belongs to path k
g pq auto demand from p to q (persons)
η pq car occupancy for O-D pair p, q (persons/car)
γ pq additional demand (vehicles)
xa additional volume on link a (vehicles), volad
xa additional volume on turn ( a 1 a 2 ) , pvolad
1 a2

Functions :
sa ( va ) volume-delay or cost function on link a, fdxx
p a1 a2 ( v a1 a2 ) penalty function on the turn ( a 1 a 2 ) , fpxx
(The volume-delay and penalty functions are non-decreasing functions of the auto volumes)

Variables :
va auto volume on link a, volau
va auto volume on turn ( a 1 a 2 ) , pvolau
1 a2

hk flow on path k

This model is solved by the linear approximation method which was described in Section 6.2.1.
The main advantage of this method is that the path flows h k , k ∈ K , need not be stored explicitly,
thus reducing drastically the data storage requirements.

2007/02/23 6-13
Auto Assignment Emme Prompt Manual

The linear approximation method finds, given a current feasible solution v , a descent direction
( y – v ) , by solving a subproblem where the objective function is a first order (linear) approxima-
tion of the nonlinear objective function of the problem to be solved. For the fixed demand network
equilibrium, this subproblem is

Min ∑ a∈A
ya sa ( va + xa ) + ∑ ∑
i∈I

a1 ∈ Ai
∑ +
a2 ∈ Ai
y a1 a2 p a1 a2 ( v a1 a2 + x a1 a2 )

which may be solved by assigning all the demand to the shortest paths (all-or-nothing assign-
ment) that consider explicitly the turn penalties at penalized intersections. This is a well known
problem (Potts and Oliver, 1972) and is solved by an adaptation of a shortest path algorithm which
labels links rather than nodes. The algorithm implemented in the Emme code takes advantage of
the fact that only a subset of the nodes, I , have penalized turns.

Shortest path algorithm with turn penalties


(from origin p to all destinations q ∈ Q )

Given a network with costs c a on links and c a 1 a2 on turns at intersection nodes i ∈ I , this algo-
rithm computes the shortest paths from origin p to all destinations q ∈ Q , as well as their length
u q . Paths are stored by using pointers on the preceding link ( b q is the last link on the path to
destination q and b a is the link that precedes link a ). The path from p to q can be followed in
reverse order; it is of the form a 1 = b a2, a 2 = b a3 , ..., a N = b q where b a1 = 0 . The distance
from origin p to link a is stored in u a . The algorithm also uses a boolean variable, φ i , for each
node i ∈ I . This variable takes the value 1, if the path from p to i (inclusively) does not contain
any intersection, and 0 otherwise. The set of links A denotes the links that have been reached,
but that do not have a permanent label yet.

0 Initialization
uq = ∞ , bq = ∞ , q ∈ Q ;
φ i = 0 , i ∈ I – { p } ; φ p = 1;
+
ua = ∞ , ba = ∞ , a ∈ A – A p ;
+
ua = ca , ba = 0 , a ∈ A p ;
+
A= A p .

1 Selection of Links to Label

While A ≠ ∅ do :

a) determine a = ( i, j ) ∈ A such that u a ≤ u a , a ∈ A

b) if j ∈ Q go to Step 2;

if j ∈ I go to Step 3;
otherwise go to Step 4;

6-14 2007/02/23
Emme Prompt Manual The fixed demand auto assignment model

c) A:= A – { a } .
Stop.

2 Node j is a Destination
uq = ua ; bq = a .

3 Node j is an Intersection
+
For a = ( j, l ) ∈ A j such that φ l = 0 do :

if u a + c aa + c a < u a then u a = u a + c aa + c a ; b a = a ; A= A + {a} .

4 Node j is a Regular Node


+
For a = ( j, l ) ∈ A j such that l ≠ i do :

if u a + c a < u a then u a = u a + c a ; b a = a ; A = A + { a } ; φ j = φi .

This shortest path algorithm is applied to the auto network with costs

ca = sa ( va ) a ∈ A,

– +
c a1 a2 = p a1 a2 ( v a1 a2 ) a1 ∈ Ai , a2 ∈ Ai , i ∈ I ,

and then the demand g pq is assigned to the found paths in order to obtain the volumes y. The
optimal step length, λ∗, for the direction descent (y - v) is the one that minimizes the objective
function, that is
( 1 – λ )v a + λy a
Min f ( λ ) = ∑ ∫ a∈A 0
s a ( v )dv
( 1 – λ )v a + λy a
+∑ ∑ ∑ ∫
1 a2 1 a2
– +
p a1 a2 ( v )dv
i∈I a1 ∈ Ai a2 ∈ Ai 0

In order to ensure numerical stability, it is preferable to annul the gradient of the function f ( λ ) :

df ( λ )
f ' ( λ ) = -------------- =
dλ ∑ s ( ( 1 – λ ) v + λy ) ( y – v ) +
a∈A
a a a a a

∑ ∑ ∑ p ((1 – λ) v
i∈I a1 ∈ Ai

a2 ∈ Ai
+ a1 a2 a1 a2 + λy a1 a2 ) ( y a1 a2 – v a1 a2 )

* *
• If f ' ( 0 ) ≤ ε , then λ = 0 and the algorithm terminates with the solution v = v.
*
• If f ' ( 1 ) < 0 , then λ = 1 ; that is v is replaced by y.
• Otherwise, the optimal value of λ is the one that annuls the gradient,
*
df ( λ ) *
------------------ = 0, 0 ≤ λ ≤ 1 .

*
Carrying out the computation of λ on the gradient of f ( λ ) has the following advantages :

• The algorithms that find the “zero” of a monotone function are generally more efficient than those
for minimizing a convex function.

2007/02/23 6-15
Auto Assignment Emme Prompt Manual

• Finding the “zero” of a function is more stable numerically than finding the minimum of a function,
which may take on very large values, particularly if computations are done in single precision.

• The evaluation of the gradient is simpler than the evaluation of the objective function. For the net-
work equilibrium problem, the computation of the gradient requires only sums of evaluations of
volume-delay functions and turning penalty functions. Also, it does not require the evaluation of
integrals.
Each evaluation of the function f ' ( λ ) requires not only to access the values of v and y, but also
those of the parameters of the volume-delay and penalty functions, which are never stored in main
memory, but have to be read from the database when needed. This implies that any algorithm,
which generates iteratively the λ values for which f ' ( λ ) needs to be evaluated, will not be very
efficient, since it would require a very large number of database accesses in order to obtain the
function parameters. In contrast, the method implemented in Module 5.21 determines, at the
beginning of each iteration, a set of λ values for which the gradient f ' ( λ ) is computed. Hence,
the evaluation of all gradient values can be accomplished in parallel, i.e. requiring each function
parameter to be accessed only once. The optimal step λ * is then approximated by using a qua-
dratic interpolation on the computed support points. The set of supporting λ values (L) and the
corresponding values (G) of f ' ( λ ) are given in the report of Module 5.21, as well as the so com-
puted value of λ * , as shown in the following example .

Search for lambda:L= 0.000000 0.062500 0.125000 0.250000 0.500000 1.000000


G=-.143E+07-0.100E+07-0.582E+06 0.790E+06 0.111E+08 0.128E+09
Appr. optimal lambda:0.186071 Estimated error: 0.006084

Since the costs that correspond to the updated solution, (i.e. after step λ * ) have to be computed
for input to the next iteration, they can also be used to evaluate exactly f ' ( λ * ) (which ideally
should always be 0) and to use this information to estimate the approximation error due to the
interpolation.

At each iteration of the linear approximation method, the solution of the subproblem provides a
lower bound, LB, for the optimal value of the objective function f ( v * ) , which is

LB = f ( v ) + ∑ s (v
a∈A a a
+ xa ) ( ya – va ) + ∑ ∑ i∈I

a1 ∈ Ai ∑ +
a2 ∈ Ai
p a1 a2 ( v a1 a2 + x a1 a2 ) ( y a1 a2 – v a1 a2 )

due to the fact that the objective function is convex. f ( v ) is the current value of the objective
function. The numerical value of the optimal solution of the subproblem, f ( v ) – LB is referred to
as the current gap, or GAP.

The best current lower bound, BLB, is the largest value of the LB obtained up to the current
iteration. The relative gap, which is a measure of the closeness of the current assignment to a
perfect equilibrium assignment, is computed as

( f ( v ) – BLB )
Relative Gap = ---------------------------------- *100
f (v)

Empirically, assignments that are characterized by a relative gap of 1% or less, are considered
sufficiently close to a perfect equilibrium assignment.

6-16 2007/02/23
Emme Prompt Manual The variable demand auto assignment model

The solution of the subproblem provides another criterion for characterizing the closeness of an
assignment to a perfect equilibrium assignment. If one rewrites GAP as T – S where

T = ∑ s (v
a∈A a a
+ x a )v a + ∑ ∑ i∈I a1 ∈ Ai
– ∑ a2 ∈ Ai
+
p a1 a2 ( v a1 a2 + x a1 a2 )v a1 a2

S = ∑ s (v
a∈A a a
+ xa ) ya + ∑ ∑ i∈I a1 ∈ Ai
– ∑ a2 ∈ Ai
+
p a1 a2 ( v a1 a2 + x a1 a2 ) y a1 a2

it is easily recognized that S represents the total travel times on the current shortest paths and T
is the total travel time on the currently used paths. For a perfect equilibrium assignment, T = S .

Clearly, when S is sufficiently close to T , one may terminate computations. In fact, it is intuitive to
define the travel time difference to be the mean trip time on network less the mean minimal trip
time (or mean trip times on shortest path) :

T –S
------------------------------------------------------------------------------
∑ p∈P ∑ q∈Q
( g pq ⁄ η pq ) + γ pq

and to select as a stopping criterion a suitable small value for this difference. As noted above,
T – S is the value of the current GAP. The mean trip time less the mean minimal trip time is the
GAP divided by the total number of trips, which is also referred to as the normalized gap.

6.2.3 The variable demand auto assignment model

The variable demand auto assignment model implemented in Emme computes the equilibrium
auto demand, link flows and travel times by solving the problem :

va va

∑ ∑ ∑ ∑
1 a2
Min f ( v, g ) =
a∈A 0 ∫ s a ( v + x a )dv +
i∈I a1 ∈

Ai a2 ∈
+
Ai ∫ 0
p
a1 a2
( v + x a1 a2 )dv
g pq
– ∑ p∈P ∑ q∈Q
( 1 ⁄ η pq )
∫ 0
W pq ( y )dy

subject to :
va = ∑ k∈K
δ ak h k a ∈ A,

v a1 a2 = ∑ k∈K
δ a1 k δ a2 k h k a 1 ∈ A i– , a 2 ∈ A i+ , i∈I ,

∑ h
k ∈ K pq k
– ( g pq ⁄ η pq ) – γ pq = 0 p ∈ P, q ∈ Q ,

hk ≥ 0 k ∈ K pq , p ∈ P , q ∈ Q ,

g pq ≥ 0 p ∈ P, q ∈ Q .

2007/02/23 6-17
Auto Assignment Emme Prompt Manual

The additional notation used is described below.

Functions :
G pq ( u pq ) auto demand function for O-D pair ( p, q ) , faxx
W pq ( g pq ) inverse of auto demand function for O-D pair ( p, q )
(The auto demand functions are non-decreasing functions of the travel time)

Variables :
g pq auto demand for O-D pair ( p, q ) , gpqau
w pq inverse of auto demand for O-D pair ( p, q ) , wpqau
u pq current value of shortest path for O-D pair ( p, q ) , upqau
f pq value of auto demand function evaluated with u pq for O-D pair ( p, q ) , fpqau

This model is solved by the partial linear approximation method (see Florian, 1986,
pp 175-176). The main advantage of this method, when compared to the linear approximation
method, is that the third term of the objective function is not linearized and the algorithm may be
implemented by requiring only evaluations of the inverse demand function. The user is only
required to enter the auto demand function. The inverse demand is obtained numerically, by
using the secant method.

The partial linear approximation method finds, given a current solution ( v, g ) , a descent direction
( y – v, f – g ) , by solving a subproblem where the link and turn delay functions are linearized,
but the inverse demand functions are not. The resulting subproblem is :

Min ∑ a∈A
ya sa ( va + xa ) + ∑ ∑ i∈I a1 ∈ Ai
– ∑ a2 ∈ Ai
+
y a1 a2 p a
1 a2
( v a1 a2 + x a1 a2 )
–∑ ∑ p∈P q∈Q
( 1 ⁄ η pq )W pq ( f pq )

This subproblem may be solved by computing u pq , the shortest paths based on the current link
and transfer times, and then determining the corresponding demand f pq = G pq ( u pq ). Then the
demand f pq is assigned to the shortest paths found in computing u pq , in order to find the link and
turn volumes ( y a, y a1 a2 ) .

The optimal step length, λ * , for the direction of descent ( y – v, f – g ) is the one that minimizes
the objective function, that is

( 1 – λ )v a + λy a
Min f ( λ ) = ∑ a∈A ∫
0
s a ( v + x a )dv
( 1 – λ )v a + λy a

∑ ∑ ∑
1 a2 1 a2
+
i∈I a1 ∈

Ai a2 ∈
+
Ai ∫
0
p
a1 a2
( v + x a1 a2 )dv
( 1 – λ ) g pq + λf
∑ ∑ ∫
pq
+ ( 1 ⁄ η pq ) W pq ( y )dy
p∈P q∈Q 0

6-18 2007/02/23
Emme Prompt Manual The variable demand auto assignment model

In order to ensure numerical stability and also to avoid the evaluation of the integrals of the inverse
demand function, which is not available in an analytical form, it is preferable to annul the gradient
of the function f ' ( λ ) :

df ( λ )
f ' ( λ ) = -------------- =
dλ ∑ s ( ( 1 – λ ) v + λy ) ( y
a∈A a a a a – va )

+∑ ∑ ∑ p – + a1 a2 ( ( 1 – λ ) v a1 a2 + λy a1 a2 ) ( y a1 a2 – v a1 a2 )
i∈I a1 ∈ Ai a2 ∈ Ai

+∑ ∑ ( 1 ⁄ η )W pq pq ( ( 1 – λ ) g pq + λf pq ) ( f pq – g pq )
p∈P q∈Q

* *
• If f ' ( 0 ) ≤ ε , then λ = 0 and the algorithm terminates with the solution v = v,
*
g = g.
*
• If f ' ( 1 ) < 0 , then λ = 1 ; that is v is replaced by y and g is replaced by f.

• Otherwise, the optimal value of lambda is the one that annuls the gradient,
*
df ( λ ) *
----------------- = 0, 0 ≤ λ ≤ 1 .

Each evaluation of the function f ' ( λ ) requires the access to the values of v and y, f and g, as
well as all the parameters of the link volume-delay, turn penalty and auto demand function, which
are not stored in main memory but have to be read from the database when needed. In order to
minimize the number of database accesses, the method implemented in Module 5.21 deter-
mines, at each iteration, a set of λ values for which the gradient f ' ( λ ) is computed. Hence the
evaluation of the gradient values can be accomplished by requiring each function parameter to be
accessed only once per iteration. In order to find the optimal λ , the inverse demand function,
W pq ( g pq ) , must be evaluated in the range ( g pq, f pq ) . This is done by a simple linear approxi-
mation, by using the straight line which connects ( g pq, w pq ) and ( f pq, u pq ) that is
W pq ( g pq + λ ( f pq – g pq ) ) = w pq + λ ( u pq – w pq ) .

This linear approximation, which is illustrated in Figure 6-2, will be closer (better) to the actual val-
ues of the inverse demand function, as the solution is approached. (This is the basis of the secant
method used to approximate the inverse demand function.)

2007/02/23 6-19
Auto Assignment Emme Prompt Manual

Figure 6-2 Linear approximation of the inverse demand function

Time
W pq ( g pq )

λ * in this interval

W pq ( g pq ) = w pq
w pq + λ ( u pq – w pq )

W pq ( f pq ) = u pq

g pq f pq Demand, g pq

This results in the following simplification of the third term of f ' ( v )

∑ p∈P
∑ q∈Q
( 1 ⁄ η pq )W pq ( ( 1 – λ ) g pq + λ f pq ) ( f pq – g pq )

∑ ∑
= (1 – λ)
p∈P q∈Q
( 1 ⁄ η pq )W pq ( g pq ) ( f pq – g pq )
+ λ∑ ∑ (1 ⁄ η pq )W pq ( g pq ) ( f pq – g pq )
p∈P q∈Q

The set of supporting λ values and the corresponding values of f ' ( λ ) are given in a report of
*
Module 5.21, as well as the computed λ , as shown in the following example .

Search for lambda:L= 0.000000 0.062500 0.125000 0.250000 0.500000 1.000000


G=-.739E+06-0.521E+06-0.321E+06 0.188E+06 0.319E+07 0.338E+08
Appr. optimal lambda:0.218897 Estimated error: -0.006613

Since all the link and turn times, as well as the values of f pq, u pq , g pq and w pq have to be com-
puted as an input to the next iteration, these values are also used to estimate the approximation
error due to the interpolation.

The values of the auto demand g pq are not updated at the beginning of the next iteration, until the
shortest path of the corresponding origin has just been computed. Once a stopping criterion has
been met at the end of an iteration, the g pq have not yet been updated and the u pq , f pq and w pq
lag one iteration behind as well. Therefore the computations have to be finished with part of an
iteration, in which the g pq , f pq, u pq and w pq are updated but no step size is computed. This
implementation permits to interrupt a variable demand assignment, just as is the case with the
fixed demand, and to continue later on, by requesting more iterations to be performed on an exist-
ing assignment.

At each iteration of the partial linear approximation method, the solution of the subproblem pro-
vides the value of the current gap, GAP. Since the inverse demand functions are not known

6-20 2007/02/23
Emme Prompt Manual Path analysis

explicitly, the objective function for the variable demand assignment is not computed. However
the value of the current gap divided by the total number of current vehicle trips

GAP
------------------------------------------------------------------------------
∑ p∈P
∑ q∈Q
( g pq ⁄ η pq ) + γ pq

may be used to define a Normalized Gap. Although this quantity is not strictly decreasing from
one iteration to the next, it may be used as a stopping criterion, since for a perfect equilibrium
assignment its value is zero.

6.2.4 Path analysis

The path analysis feature (see Path analysis on page 4-265) provides a general framework for
the simultaneous computation of a variety of path dependent information, which may be needed in
addition to the usual assignment results, but are entirely consistent with the path used by the
assigned flow.

Setting up a path analysis requires the specification of a link attribute c a , a path operator ⊗
which computes a path attribute c k , a path threshold interval ( C , C ), and an analyzed
demand g pq for paths which satisfy the threshold conditions on c k .

For each path generated during the shortest path computation step of the normal assignments,
the path attribute c k is computed by applying the path operator ⊗ (which can be any operator
such as +, .min., .max., *, .psum., .addle.) to the link attribute c a .

ck = ⊗a ∈ k ca k ∈ K pq , p ∈ P , q ∈ Q

Note that the shortest path tree is stored as a pointer vector which contains for each link the next
link towards the root node. This means that the path attribute c k is computed from the destina-
tion to the origin. This is important to remember when using an asymmetric path operator such as
.psum. or .addle.(see Section 3.7.1, page 3-55).

Checking the path attribute c k against the specified threshold interval ( C , C ) determines if the
path is included in the subsequent slave assignment of the analyzed demand g . The retained
paths define the set of selected paths K̃ .

The results of the path analysis are :

• Selected volumes on links

ṽ a = ∑ p∈P
∑ q∈Q
g pq ∑ k ∈ K̃ pq
δ ak p k

2007/02/23 6-21
Auto Assignment Emme Prompt Manual

• Selected volumes on turns

ṽ a1 a2 = ∑ p∈P
∑ q∈Q
g pq ∑ k ∈ K̃ pq
δ a1 k δ a2 k p k

where p k is the proportion of the analyzed demand of O-D pair ( p, q ) assigned on path k

• O-D attribute matrix, which can be one of the following :


c pq = ∑ k ∈ K pq
pk ck path attribute (with no condition)

c̃ pq = ∑ k ∈ K̃ pq
pk ck selected path attribute

g̃ pq = ∑ k ∈ K̃ pq
p k g pq analyzed demand on selected paths

t pq = g pq ∑ k ∈ K̃ pq
pk ck selected path attribute weighted by analyzed demand

The path proportions p k , k ∈ K pq , p ∈ P , q ∈ Q are computed implicitly by using the optimal


*
step size λ , obtained at each iteration of the equilibrium auto assignment.

The path analysis feature of Emme may serve for common applications, such as "select link" anal-
yses, partial assignments, or the computation of cost or distance matrices. It can also be used for
more advanced applications, such as the implementation of a gradient based method for adjusting
an O-D matrix by using observed flows (see Spiess (1990)).

6.2.5 A simplified multi-class user equilibrium assignment

In the single-class equilibrium assignment, all travellers on a given link a ∈ A experience the
same cost s a ( v a ) (also called the volume-delay function), which is a non-decreasing function of
v a , the volume on the link a.

The multi-class user equilibrium assignment problem arises if different categories of travellers
experience different cost functions. Let m ∈ M denote the set of distinct user classes. For each
m'
user class m, the cost on link a depends on the class volumes v a of all classes M, i.e
m m'
sa ( va m' ∈ M ) .

In this general form, the multi-class equilibrium assignment problem is equivalent to an equilibrium
assignment with generalized (or non-diagonal) costs. This problem has been studied intensively
in the past. It is well known that it corresponds to a variational inequality problem, which, in gen-
eral, has no unique solution and also can not be transformed into a convex optimization problem.

In Emme, a simpler form of the multi-class assignment is implemented. It is assumed that the
cost of link a perceived by a user of class m can be written as
m m
sa ( va ) = sa ( va ) + ba a∈ A, m∈ M .

6-22 2007/02/23
Emme Prompt Manual A simplified multi-class user equilibrium assignment

This implies that the different classes are all subject to the same congestion effect (based on the
m
total volume of the link), but each user class perceives a different constant bias b a .

It is easy to show that this simplified multi-class user equilibrium assignment problem is equivalent
to a convex optimization problem of the form
va
∑ ∫ ∑ ∑
m m
Min a∈A
s a ( v )dv + va ba
0 m∈M a∈A

subject to the usual conservation of flow constraints.

This simplified problem is implemented in a very similar way as the single-class equilibrium
assignment. In particular, the following points are worth to be noted :

• The usual Frank-Wolfe algorithm is used to solve the problem.

• The subproblem consists in a series of shortest path assignments based on the current vol-
umes, one assignment for each user class.
m
• It is not necessary to store the class specific volumes v a explicitly - the total volumes v a are
sufficient.

• The class specific term in the objective function is kept in a scalar. For the solution of the
subproblem, the corresponding term is accumulated during the loading phase of the shortest
path assignment. For the one-dimensional search for the optimal step length, this leads to an
additional linear term, which can easily be accounted for.

m
An interesting special case arises when b a = 0 or ∞ for all links a ∈ A and all classes m ∈ M .
This case implies that the different user classes perceive the same costs, but each can access
only a class specific subnetwork (such is often the case when traffic regulations forbid certain
types of vehicles on certain streets). In this case, the class-specific term in the objective function
m m
can be shown to be always zero, since if b a = ∞ then v a = 0 (i.e. a is a forbidden link).

For this special case, the implementation is even simpler, since the objective function is identical
to the single class assignment. In this case, it suffices to change the subproblem to assign all
classes to their respective subnetworks and accumulate the flows from all classes into the same
(extremal) flow vector y a . All the remaining parts of the algorithm (one dimensional search, com-
putation of objective function, update, stopping criteria) remain unchanged.

The multi-class user assignment implemented in Emme has a lot of applications. Indeed, in most
of the situations where different users perceive the link cost differently, this difference is not due to
a different perception of the congestion effects, but to some exogenous variables, which can be
m
dealt with adequately by means of the bias variable b a . Some examples are :

• traffic restrictions for heavy traffic

• separate HOV-lanes

• “vignette” schemes for accessing freeways

• toll gates with stratified fares

2007/02/23 6-23
Standard Transit Assignment Emme Prompt Manual

6.2.6 Link volume composition

The link auto volumes corresponding to the equilibrium are unique, however this is not necessarily
the case for the various components of these volumes (such as class specific volumes, or
selected volumes resulting from a path analysis). The component volumes obtained from an
Emme assignment correspond to the path proportions generated in that assignment.

For example, consider the small network illustrated below. There are 200 vehicles going from A to
B, and 800 from A to C. At equilibrium, the volume on link 1 is 600, and the volume on link 2 is
400. These equilibrium volumes are unique, and are determined by the network conditions.

600
link 1 B
200
1000
A
800
link 2 C
400

A select link analysis for link 1 must determine the number of vehicles on that link which are going
to B and C respectively. However, the link volumes of 600 vehicles may result from combinations
such as :

200 to B 0 to C
0 to B 200 to C
100 to B 100 to C
50 to B 150 to C
… …

The specific combination obtained from an additional options assignment depends on the path
proportions (for each O-D pair) generated in the assignment, and as such depends on the total
network structure.

6.3 Standard Transit Assignment

6.3.1 The concept of strategy

The standard transit assignment model implemented in Emme is based on the concept of optimal
strategies (Spiess, 1984; Spiess and Florian, 1989). First the concepts underlying a strategy and
optimal strategies are described; then the algorithm implemented in Module 5.31 is presented in
detail. (The text of Section 6.3.1 to Section 6.3.4 consists of selected excerpts of the second ref-
erence above.)

Let T denote a transit network consisting of a set of nodes, a set of transit lines, each defined as a
sequence of nodes at which passengers may board and alight, and a set of walk links, each con-
necting two nodes. The times (or costs) that are associated with each walk link and each seg-

6-24 2007/02/23
Emme Prompt Manual The concept of strategy

ment of a transit line are constant and known. At each node that is served by a line, the
distribution of interarrival times of the vehicles of that line is known. Therefore, assuming that one
knows the rate of arrival of the passengers at each node, one can construct the distribution of the
waiting time for a vehicle of a given line. Hence, one can calculate the combined expected waiting
time for the arrival of the first vehicle, among any given set of lines passing at the same node, as
well as the probability of each line arriving first.

Note that each walk link may be replaced by a transit line of one link with a zero waiting time (very
high frequency). In the following, the walk links will therefore not always be distinguished from the
segments of the transit lines. In order to simplify the formulation, it is also assumed that the transit
network T is strongly connected.

Consider the transit traveller whose trip originates at node A and is destined to node B. It is
assumed that he behaves in a way that minimizes his total expected travel time, which is the
weighted sum of expected walk, wait, and in-vehicle time. This assumption seems natural and it
also parallels the behavioral assumptions made for car traffic route choice. Since the weights may
always be normalized to 1 by scaling the times used in the definition of the network, one need not
consider the weights separately. Thus, the term time will be used, even if these “times” may actu-
ally include weight factors and should then more appropriately be called “generalized costs”.

One could be tempted to reformulate the above problem as : “How does one find the path from
node A to node B which minimizes the expected total travel time?”, and by doing so one would
already have changed the problem. One is accustomed to assume that the traveller selects a sin-
gle path from a choice set which is the set of all possible paths. This is true in the case of a car
driver, but this is not the case for a transit rider. He may, for instance, choose a set of paths and let
the vehicle that arrives first determine which of the paths is actually used to get to his destination;
in which case his choice does not correspond with the “a priori” specification of a path. His choice
is therefore more complex than just the selection of a single path out of the set of possible paths.
If the problem is limited to finding the path with the smallest expected travel time, a restriction of
the problem is solved, yielding a suboptimal solution.

Any element of the traveller’s choice set is called a strategy. A strategy is a set of rules that,
when applied, allows the traveller to reach his destination. The number and the kind of different
strategies that the traveller may choose from depend on the information that is available to him
during his trip. If no additional information becomes available during the trip, a strategy defines a
path. For the transit network given in Figure 6-3, an example of such a strategy would be :
Take line 2 to node Y; transfer to line 3 and exit at node B.

If the traveller, while waiting at a node, knows the line which is to be served next, a strategy may
include subsets of lines and would then be :
Take the next vehicle among lines 1 and 2; if line 1 was taken, exit at B; if line
2 was taken, transfer at node Y to any of the lines 3 or 4 and exit at B.

The more information available to the traveller (such as elapsed waiting time, arrival times of vehi-
cles seen while waiting at a stop, information on other vehicles while riding in a vehicle by looking
out of the window, ...), the more complex the strategies may become; for example :
Wait up to five minutes for a vehicle of line 1; otherwise take line 2; if at node
X you see a vehicle of line 3 (express bus), transfer to line 3, otherwise con-
tinue to node Y and transfer there to any of the lines 3 or 4.

The assumption is made that the only information that is available to the traveller during his trip is
that he finds out, while waiting at a node, which line is about to be served next; i.e., he may at that
time decide whether or not to board this vehicle. Consequently, only strategies that correspond to
the second example given above are considered. It is then possible to define a strategy of this
type by specifying at every node of the network, except at the destination node, a non-empty set
of attractive lines, and for each of these lines the (upstream) node at which the traveller alights.

2007/02/23 6-25
Standard Transit Assignment Emme Prompt Manual

Note that when walk links are included in the network, a strategy may contain at a node an outgo-
ing walk link instead of the set of attractive lines.

Given a strategy, an actual trip is then carried out according to a mechanism that may be stated
systematically as :

0 : Set node to origin node.


1 : Board vehicle that arrives first among the vehicles of the set of attractive lines at node.
2 : Alight at the predetermined node.
3 : If not yet at destination, set node to current node and return to step 1. Otherwise the
trip is completed.

A strategy is said to be feasible if the graph defined by the attractive lines of the strategy does not
contain cycles. Note that a strategy as defined above has a well determined destination node.
The origin node, on the other hand, does not enter in the definition of a strategy. A strategy is
therefore a set of rules that enables the traveller to reach his destination starting from any node in
the network.

Figure 6-3, which represents the transit lines used earlier to illustrate the concept of a strategy,
shows a small transit network consisting only of four nodes and four transit lines. Since the net-
work does not contain cycles, any strategy, as defined above, is feasible. There are 75 different
strategies for reaching the destination node B from nodes A, X and Y. This is seen by the enumer-
ation of all possible sets of attractive lines at each node except B, as shown in Table 6.5. How-
ever, there are only five distinct paths from A to B, four distinct paths from X to B and two distinct
paths from Y to B.

In this example, the waiting time is computed by assuming that transit riders wait on the average
half of the interarrival interval and that frequencies are combined linearly. The line probability is
the probability that the line will be boarded and is the ratio of its frequency divided by the com-
bined frequency.

Figure 6-3 An example transit network

25 min
Line 1
(hdw=12 min)

7 min 6 min
Line 2
(hdw=12 min)

4 min 4 min
Line 3
(hdw=30 min)

10 min
Line 4
(hdw=6 min)

Node: A X Y B

6-26 2007/02/23
Emme Prompt Manual The concept of strategy

Figure 6-4 Optimal strategy


Expected travel time from A v=0.50
to B is 27.75 minutes
Line 1

v=0.50 v=0.50
Line 2

v=0.00 v=0.08
Line 3

v=0.42
Line 4
A X Y B
Attractive Lines
(1→B, 2→Y) (2→Y, 3→B) (3→B, 4→B)

Figure 6-5 Best path to node B


Expected travel time from A
v=1.00
to B is 31 minutes
Line 1

v=0.00 v=0.00
Line 2

v=0.00 v=0.00
Line 3

v=0.00
Line 4
A X Y B
Attractive Lines
(1→B) (3→B) (4→B)

2007/02/23 6-27
Standard Transit Assignment Emme Prompt Manual

Figure 6-6 Best transfer sequence


Expected travel time from A
v=0.00
to B is 30.5 minutes
Line 1

v=1.00 v=1.00
Line 2

v=0.00 v=0.17
Line 3

v=0.83
Line 4
A X Y B
Attractive Lines
(2→Y) (3→B) (3→B, 4→B)

By using the in-vehicle times indicated in Figure 6-3 and the expected waiting time and line proba-
bilities for each set of attractive lines at each node, as given in Table 6.6, one can now calculate
the expected total travel time from A to B for each strategy. Figure 6-4 shows the optimal strategy,
that is, the one minimizing the expected travel time. Note that the expected travel time is 27.75
minutes and that this strategy does not correspond to the choice of a single path. The volumes
indicated on the line segments correspond to the assignment of one trip from A to B, and are
denoted by v in Figure 6-4 to Figure 6-6.

Table 6.5 All possible sets of attractive lines

Node Attractive Lines Waiting Time Line Probabilities

(line → exit node) (minutes) 1 2 3 4

A 1→B 6.0 1.00 – –


A 2→X 6.0 – 1.00 – –
A 2→Y 6.0 – 1.00 – –
A 1→B, 2→X 3.0 0.50 0.50 – –
A 1→B, 2→Y 3.0 0.50 0.50 – –

X 2→Y 6.0 – 1.00 – –


X 3→Y 15.0 – – 1.00 –
X 3→B 15.0 – – 1.00 –
X 2→Y, 3→Y 4.3 – 0.71 0.29 –
X 2→Y, 3→B 4.3 – 0.71 0.29 –

Y 3→B 15.0 – – 1.00 –


Y 4→B 3.0 – – 1.00
Y 3→B, 4→B 2.5 – – 0.17 0.83

6.3.2 Model formulation

Next, a model is developed in which the traveller’s choice set consists of all feasible strategies. It
will become evident that, due to the asymmetry inherent to the transit trip, this model can only be
solved efficiently by assigning the demands from all origins to a single destination at the same
time.

6-28 2007/02/23
Emme Prompt Manual Model formulation

A transit trip consists, in general, of several trip components that may include some or all of the
following :

• access from origin to transit stop

• waiting for a vehicle

• riding in a vehicle

• alighting a vehicle

• walking between two transit stops

• egress from transit stop to destination

A non-negative time (or cost) is usually used to quantify each of these trip components, with the
exception of waiting for a vehicle, which is quantified by using the statistical distribution of wait-
ing times for the arrival of the first vehicle of a given transit line at a given stop.

In order to simplify the presentation, we consider in the following a generalized formulation of the
problem, in which every trip component includes a constant time as well as a distribution of wait-
ing times. The trip components are represented by links a ∈ A of a network G = ( I , A ) with
+ -
nodes i ∈ I . Let A i (A i ) denote the set of outgoing (incoming) links at node i ∈ I . Each link
a ∈ A is characterized by the pair ( c a, G a ) where c a is a non-negative link travel time and G a
the distribution function for the waiting time G a ( x ) = Prob { waiting time on link a ≤ x } .

The functions G a ( x ) can be obtained from the distribution of interarrival times (headways) and
the distribution of passenger arrival times. Let h a ( x ) be the density function of the distribution of
interarrival times (headways) of the vehicles on link a. Let H a ( x ) denote its cumulative
x
H a( x)=
∫ h ( t )dt
0
a

Assuming uniform arrival of passengers at the transit stop, the waiting time distribution for service
on link a is

ga( x) = (1 – H a( x)) ⁄

0
( 1 – H a ( t ) )dt

with the cumulative


x
Ga( x ) =
∫ g ( t )dt
0
a

For a link a that does not involve waiting we have

⎧ 0, if x < 0

Ga( x ) = ∆( x ) = ⎨
⎪ 1, if x ≥ 0

Using this generalized formulation we can represent any transit network T. The mechanics that
are involved in constructing the links and the nodes of the generalized network depend very much
on the particularities of the transit network and the degree of aggregation considered.

2007/02/23 6-29
Standard Transit Assignment Emme Prompt Manual

Figure 6-7 Link representation of example transit network


( 25, ∆ )
A1 B1

( 7, ∆ ) ( 6, ∆ )
A2 X2 Y2

( 0, ∆ )
( 4, ∆ ) ( 4, ∆ )
( 0, G 2 )

( 0, G 1 )
X3 Y3 B3

( 0, G 2 )
( 0, ∆ )

( 0, ∆ )

( 0, G 3 )

( 0, ∆ )
( 10, ∆ )

( 0, G 3 )

( 0, ∆ )
Y4 B4

( 0, G 4 )
( 0, G 4 )
A X Y B

Figure 6-8 Simplified link representation of example transit network

25, G 1

6, ∆
7, G 2 X2 Y 10, G 4
A B
0, G 2

0, G 3
0, ∆

0, ∆
4, ∆

4, G 3
X Y3

Figure 6-7 shows such a network representation for the transit network of Figure 6-3. In this case
only three types of trip components are considered : waiting (no travel time), riding (no waiting)
and alighting (no travel time and no waiting time). The links incident to and from nodes A, X, Y
and B represent alighting and boarding respectively. By noting that a node which has only one
incoming link a 1 with ( c a , G a ) and one outgoing link a 2 with ( c a , G a = ∆ ) may be replaced
1 1 2 2

with a single link a with ( c a = c a1 + c a2, G a = G a1 ) , the network of Figure 6-7 may be reduced to
the one shown in Figure 6-8.

Since this generalized formulation no longer explicitly identifies transit lines but relies only on links,
one can no longer use the terminology associated with the transit lines, such as waiting for a vehi-
cle of a transit line. Instead, in the following, the convention that each link is served by vehicles
and that the passenger, instead of waiting for a vehicle of a certain line, waits for a link to be
served, is used.

6-30 2007/02/23
Emme Prompt Manual Model formulation

For the transit route choice problem in this generalized form, a strategy to reach destination node
r is defined by a partial network G r = (I , A ) that contains only those links that will be used as a
consequence of this strategy. We can therefore denote a strategy by the corresponding subset of
links A ⊆ A , or alternatively, by the partition of these links according to their I-node
⎧ + + ⎫
⎨ A i = A i ∩ A , i ∈ I ⎬ . Links not included in strategy A are never used. Among the links that
⎩ ⎭
are included in the strategy A , at each node i ∈ I , a traveller boards the first vehicle that serves
+ +
any of the links a ∈ A i . Hence, A i corresponds to the set of attractive lines that was discussed
+
in Section 6.2 and, A i ≠ ∅ for i ≠ r . For a strategy to be feasible it must contain at least one
path from each node to the destination node r and it must not contain any cycle.

+
Let W( A i ) denote the expected waiting time for the arrival of the first vehicle serving any of the
+ + + +
links a ∈ A i . W( A i ) is called the combined waiting time of links a ∈ A i . Let further P a ( A i )
+
be the probability that link a is served first among the links A i . For convenience we define
+ + + +
P a ( A i ) = 0 for all a ∉ A i . W( A i ) and P a ( A i ) depend on the distributions of waiting time
G a ( x ) according to the following relationships :

∫∏
+
W( A i ) = +
{ 1 – G a ( x ) }dx
0 a ∈ Ai



+
Pa ( Ai ) =
∫ 0
ga( x) +
a ∈ Ai
{ 1 – G a' ( x ) }dx
a' ≠ a

The model that will be presented here is based on the assignment of the trips from all nodes
toward a single node r, that we shall denote the destination node. This is different from most
other assignment models, transit or highway, which always consider the trips from one origin node
to all destination nodes. Let g i , i ∈ I – { r } , be the demand (number of trips) from node i to the
destination node r. In order to simplify the notation, we define g r = – ∑ i≠r
gi .

We assume further that g i > 0 , i ∈ I – { r } , which prevents degeneracy of the variables to


occur, thus allowing for more compact proofs in the analysis of the model. We note however, that
all results presented below remain valid for g i ≥ 0 , i ∈ I – { r } .

Given a strategy A , the demand g i , i ∈ I , is assigned to the network yielding link volumes
v a, a ∈ A . The volume at a node, which we denote v i , i ∈ I , is the sum of the volumes of all
incoming links and the demand at that node

vi = ∑ a ∈ Ai

va + g i i∈I. (6.3.1)

The node volume v i is distributed on the outgoing links according to their link probabilities under
strategy A

+ +
v a = P a ( A i )v i a ∈ Ai , i ∈ I . (6.3.2)

2007/02/23 6-31
Standard Transit Assignment Emme Prompt Manual


+
Since +
P a ( A i ) = 1 , (1) and (2) ensure that the conservation of flow equation is satisfied.
a ∈ Ai

∑ +
a ∈ Ai
va – ∑ a ∈ Ai

va = g i i∈I (6.3.3)

*
The optimal strategy A is the strategy which minimizes the expected total travel time including
waiting time. The most general formulation of the transit model is described by Spiess (1984).

In the following, the special case is considered in which the waiting time distribution of each link a
(or transit line, in the original form of the problem) is quantified by a positive parameter f a, which
will be called the frequency of a link. The expected combined waiting time and the link probabili-
ties are derived from the frequencies in the following way :

+ α
W( A i ) = -------------------------- α>0, (6.3.4)
∑ +
a ∈ Ai
fa

+ fa +
P a ( A i ) = ---------------------------- a ∈ Ai . (6.3.5)
∑ +
a′ ∈ A i
fa

The case α = 1 corresponds to an exponential distribution of interarrival times of the vehicles


with mean 1 ⁄ f a and a uniform passenger arrival rate at the nodes. The case α = 1 ⁄ 2 is an
approximation of a constant interarrival time 1 ⁄ f a for the vehicles on link a. This measure of wait-
ing time is the most widely used approach in practice.

The factor α may also model the effect of different perceptions of waiting time and in-vehicle
time. Since the link probabilities (5) are independent of the units in which f a is specified, it is
always possible to scale the frequencies by a factor 1 ⁄ α . Without loss of generality one can
therefore assume α = 1 in the following sections.

It is proved in Spiess (1984), that the transit assignment model is equivalent to solving the follow-
ing problem :

Min ∑ c v
a∈A a a
+ ∑ i∈I
ωi (6.3.6)

subject to

∑ +
a ∈ Ai
va – ∑ a ∈ Ai

va = g i i∈I ,

+
va ≤ f a ωi a ∈ Ai , i∈I , (6.3.7)

va ≥ 0 a∈ A. (6.3.8)

where ω i denote the total waiting time for all trips at node i.

6-32 2007/02/23
Emme Prompt Manual The solution algorithm

6.3.3 The solution algorithm

This model may be solved by the following algorithm which is composed of two parts. In a first
*
pass, from the destination node to all origins, the optimal strategy A and the expected total travel
*
times u i from each node i ∈ I to the destination node r are computed. In a second pass, from
all origins to the destination, the demand is assigned to the network according to the optimal
strategy. The algorithm is below :

Part 1 : Find optimal strategy

1.1 Initialization
ui = ∞ , i ∈ I – { r } , ur = 0 ;
f i = 0, i ∈ I ;

S = A; A = ∅.

1.2 Get Next Link


If S = ∅ then stop,
else find a = ( i, j ) ∈ S which satisfies
u j + c a ≤ u j′ + c a′ , a′ = ( i′, j′ ) ∈ S ;

S = S – {a} .

1.3 Update Node Label


If u i ≥ u j + c a then
if f a < ∞ (waiting involved)
u i = ( f i u i + f a ( u j + c a ) ) ⁄ ( f i + f a ),

f i = f i + f a , A = A + {a} ;
else ( f a = ∞ , no waiting involved)

ui = u j + ca ,
+
f i = ∞; A i = { a } ;
go to Step 1.2.

Part 2 : Assign demand according to optimal strategy

2.1 Initialization
vi = g i , i∈I ;

2.2 Loading
Do for every link a ∈ A , in decreasing order of ( u j + c a ) :

if a ∈ A then v a = ( f a ⁄ f i )v i,
v j = v j + v a;
else va = 0 .

2007/02/23 6-33
Standard Transit Assignment Emme Prompt Manual

In Step 1.1 the node labels u i , i.e. the expected travel times to reach the destination, are set to
infinity for all nodes except the destination, for which it is initialized to zero. The auxiliary variables
f i, i ∈ I , that contain the combined frequencies of all selected links at node i, are initialized to
zero. The set S is used to identify the links that have not yet been examined, and the set A is
used to identify the optimal strategy.

In Step 1.2 the link nearest to the destination is selected among the links not yet examined. The
time considered is u j + c a , that is, the time from the I-node of the link to the destination not includ-
ing the waiting time at node i. If this time is smaller than the current time associated with node i,
u i , link a is included in the optimal strategy and u i and f i are updated according to the formulas
given in Step 1.3. Note that when the label of a node i, u i , is improved for the first time, we have
f i u i = 0 ⋅ ∞. In order to keep the algorithm as compact as possible we adopt the convention
0 ⋅ ∞ = 1 whenever this case occurs. (When α ≠ 1 is used in (6.3.4), this convention
becomes 0 ⋅ ∞ = α .) Part 1 of the algorithm terminates when all links have been examined.

In the second part of the algorithm, the demand from node i to the destination, g i , is assigned to
the network according to the strategy A . This is done by assigning to each link a ∈ A the pro-
portion of the node volume v i that corresponds to its frequency. Since the links are processed in
reverse topological order (decreasing u j + c a ), the node volumes may be updated in parallel,
hence making it possible to examine every link only once. A proof of the validity of the algorithm
may be found in Spiess (1984), Spiess and Florian (1989).

6.3.4 A numerical example

The following example shows how the algorithm is applied to the small network of Figure 6-3.
Since the waiting times and the link probabilities given in Table 6.5 correspond to the special case
(6.3.4) and (6.3.5), it is possible to assign frequencies f a to the links. Figure 6-9 shows the net-
work as well as the link times and frequencies ( c a, f a ) (note that some links have no waiting
component, f a = ∞ , hence the modified version of the algorithm is therefore used).

Figure 6-9 Transit network with link costs and frequencies ( c a, f a )


( 25, 1 ⁄ 6 )

( 6, ∞ )
( 7, 1 ⁄ 6 ) X2 Y ( 10, 1 ⁄ 3 )

A B
( 0, 1 ⁄ 15 )
( 0, 1 ⁄ 6 )
( 0, ∞ )

( 0, ∞ )

( 4, ∞ )

( 4, 1 ⁄ 15 )
X Y3

6-34 2007/02/23
Emme Prompt Manual A numerical example

Table 6.6 shows how the optimal strategy is computed (part 1 of the algorithm) while in Table 6.7
the demand, one trip from A to B, is assigned to the network (part 2 of the algorithm).

Table 6.6 Find optimal strategy for example network

Node labels ( u i, f i ) Link with Min u j + c a

# A X2 X Y3 Y B a = ( i, j ) fa u j + ca a∈A

1 ∞, 0 ∞, 0 ∞, 0 ∞, 0 ∞, 0 0,0 (Y3,B) ∞ 4.0 yes

2 " " " 4.0, ∞ " " (Y,Y3) 1/15 4.0 yes

3 " " " " 19.0,1/15 " (X,Y3) 1/15 8.0 yes

4 " " 23.0,1/15 " " " (Y,B) 1/3 10.0 yes

5 " " " " 11.5,2/5 " (Y3,Y) ∞ 11.5 no

6 " " " " " " (X2,Y) ∞ 17.5 yes

7 " 17.5, ∞ " " " " (X,X2) 1/6 17.5 yes

8 " " 19.0,7/30 " " " (X2,X) ∞ 19.0 no

9 " " " " " " (A,X2) 1/6 24.5 yes

10 30.5,1/6 " " " " " (A,B) 1/6 25.0 yes

27.75,1/3 17.5, ∞ 19.0,7/30 4.0, ∞ 11.5,2/5 0,0 – – – –

Table 6.7 Assign demand on example network

Link Node Volumes

# ( i, j ) Volume A X2 X Y3 Y B

– – 1.00 0.00 0.00 0.00 0.00 -1.00

10 (A,B) 0.50 1.00 0.00 0.00 0.00 0.00 -0.50

9 (A,X2) 0.50 1.00 0.50 0.00 0.00 0.00 -0.50

8 (X2,X) 0.00 1.00 0.50 0.00 0.00 0.00 -0.50

7 (X,X2) 0.00 1.00 0.50 0.00 0.00 0.00 -0.50

6 (X2,Y) 0.50 1.00 0.50 0.00 0.00 0.50 -0.50

5 (Y,Y3) 0.00 1.00 0.50 0.00 0.00 0.50 -0.50

4 (Y,B) 0.42 1.00 0.50 0.00 0.00 0.50 -0.08

3 (X,Y3) 0.00 1.00 0.50 0.00 0.00 0.50 -0.08

2 (Y,Y3) 0.08 1.00 0.50 0.00 0.08 0.50 -0.08

1 (Y3,B) 0.08 1.00 0.50 0.00 0.08 0.50 0.00

The solution found by the algorithm corresponds to the optimal strategy displayed in Figure 6-4. If
the network contains more than one destination node, the algorithm is applied once for each
destination. In this case, working memory space can be saved by modifying the algorithm slightly

2007/02/23 6-35
Standard Transit Assignment Emme Prompt Manual

so that the variables v a , a ∈ A , are used directly to store the accumulated link volumes for all
destinations as follows :

1 Initialize link volumes v a = 0 , a∈ A.

2 Assign the demand to each destination using the algorithm above with Step 2.2 modified in the
following way :
Do for every link a ∈ A , in increasing order of ( u j + c a ) :

if a ∈ A then
v a = v a + ( f a ⁄ f i )v i , v j = v j + ( f a ⁄ f i )v i .

6.3.5 The standard transit assignment algorithm implemented in Emme

The implementation of the standard transit assignment algorithm in the Emme code takes advan-
tage of the data structure used to store link and line segment data. Before giving the detailed
steps of the algorithm implemented in Module 5.31, we require the following notation. (This sec-
tion is a translation of selected sections of Spiess (1984).)

Indices and sets :


i∈I nodes of the base network
a∈A links of auxiliary transit modes (that are not transit lines)

a ∈ Ai links ending at node i
+
a∈ Ai links starting at node i
l∈L transit lines
s ∈ Sl stops of transit line l
s ∈ Si stops at node i

Constants :
ts travel time on the line segment following stop s (computed using transit time func-
tion ftxx)
ta travel time on link a (auxiliary transit mode)
pi boarding time at node i (constant or node specific, as specified in Module 5.11)
αi wait time factor at node i (constant or node specific, as specified in Module 5.11)
fl frequency of line l (inverse of the effective headway, as specified in Module 5.11)
q q
g i (= g i ) transit demand from node i to destination q (in persons) 0 for regular nodes, g i
for zones

Variables :
us expected travel time from stop s to the destination, excluding wait time
ui expected travel time from node i to the destination q, when leaving i on a transit
line
u i' expected travel time from node i to the destination q, when leaving i on an auxil-
iary transit mode
bs successor element of stop s
bi successor element of node i

6-36 2007/02/23
Emme Prompt Manual The standard transit assignment algorithm implemented in Emme

Variables :
fi combined frequency of attractive lines at node i
i
S stops of attractive lines at node i
vs cumulative volume on the transit line segment following stop s (voltr)
va cumulative volume on auxiliary transit link a (volax)
vi temporary volume at node i

By using this notation, it is possible to state the transit assignment algorithm, for one destination,
as it is implemented in Module 5.31.

Part 1 : Computation of optimal strategies to reach destination q

0 Initialization
us = ∞ , s ∈ Sl , l ∈ L ;
u i = ∞ , u i' = ∞ , i ∈ I – { q } , uq = 0 ;
f i = 0, v i = g i , i ∈ I ;

I = { q } , S̃ = ∅ , S = ∅ .

1 Selection of Elements to Label


While Ĩ ∪ S̃ ≠ ∅ do :

a) determine j ∈ Ĩ such that

Min ( u j, u j' ) ≤ Min ( u i, u i' ) , i ∈ Ĩ ;

b) determine s ∈ S̃ such that

u s ≤ u s′ , s′ ∈ S̃ ;

c) if S̃ = ∅ or Min ( u j, u j' ) ≤ u s then go to Step 2,


otherwise go to Step 3;

2 Scanning and Labeling at Node j


j
a) if u j' < u j then u j = u j' , S = ∅;
j
b) for each stop s ∈ S do :
if u s > u j then u s = u j , bs = j , S̃ = S̃ ∪ { s } ;

c) for each link a = ( i, j ) ∈ A j do :

if u i' > u j then u i' = u j + t a , bi = j , Ĩ = Ĩ ∪ { i } ;


d) Ĩ = Ĩ – { j } .

3 Scanning and Labeling at Stop s


i
Let i and l be such that s ∈ S and s ∈ S l , and let s′ be the preceding stop on the
itinerary on line l, if one exists.
a) if s′ exists and u s′ > u s + t s′ then

u s′ = u s + t s′ , b s′ = s , S̃ = S̃ ∪ { s′ } ;

2007/02/23 6-37
Standard Transit Assignment Emme Prompt Manual

b) if u i > u s + p i then
i i
S = S + {s} , u i = ( f i u i + f l ( u s + p i ) ) ⁄ ( f i + f l ),

f i = f i + f, Ĩ = Ĩ ∪ { i } ;*

c) S̃ = S̃ – { s } .

Part 2 : Assignment of trips on the transit network

4 Scanning of the Network in Reverse Topological Order of the Nodes


For all i ∈ I – { q } , in decreasing order of u i , do :

i
if S = ∅ then go to Step 5,
otherwise go to Step 6;

5 Loading of a Link
a = ( i, j ) = b i , v a = v a + v i , v j = v j + v i .

6 Loading of Line Segments


i
For each stop s ∈ S do :
a) v = ( f l ⁄ f i )v i,
vs = vs + v ,
e = s;
b) repeat :
e = be ,
ve = ve + v
until e ∈ I .

The same algorithm is repeated for each destination q. Note that the auxiliary transit and transit
volumes v a + v s are not initialized for each destination, thus, at the end they will contain the total
transit volumes for all destinations. In fact, it is even possible to assign several demand matrices
sequentially in the same transit volumes.

This statement of the algorithm differs from the algorithm given in Section 6.3.3, even though the
basic model is the same. This is due to the fact that the algorithm was adapted to the data struc-
tures used in Emme to represent the transit lines and auxiliary transit modes, Also, certain techni-
cal details are not presented explicitly such as :

• number of boardings stored at each stop


• express lines that skip certain stops

• line segments where transit passengers may only board (exit)

i
* When adding the first attractive stop to S , u s = ∞ and f i = 0 . The convention 0 ⋅ ∞ = α i is used in
this case.

6-38 2007/02/23
Emme Prompt Manual Deterministic Transit Assignment

• coefficients (weights) of generalized cost

• the handling of layovers

• initial boarding and final alightings at each node

• splitting up of time components

All these features are implemented in Module 5.31, but would have made the presentation cum-
bersome.

6.4 Deterministic Transit Assignment

6.4.1 General problem definition

The basic timetable based assignment problem is to find an optimal path for a passenger, given
an origin node, a destination node, and departure or arrival time information. The deterministic
transit assignment does not necessarily minimize the total elapsed travel time, but rather uses
weight factors and non-time-based cost elements in determining the optimal path. Therefore, the
algorithm tracks both time (to determine the feasibility of a path) and cost (to determine the attrac-
tiveness of a path).

The timetable information for each transit line is specified via the following attributes:

• The headway is the interval between successive runs of the line (in minutes).

• The offset is the departure time of the first run (in minutes after the beginning of the period).

• The number of runs is the number of times the line operates.

• The segment time is the travel time on a transit segment.

• The dwell time is the time spent at a node serving passengers.

A particular run (number N) thus starts at offset+(N-1)∗headway, and its timetable for stops along
the route is determined by the segment times and the dwell times.

Figure 6-10 Timetable information for a transit line

6.4.2 The deterministic transit assignment algorithm

The deterministic transit assignment problem is solved using a least cost path algorithm on a
space-time network, given by the timetable information plus the transit and auxiliary transit
network. An efficient implementation of such an algorithm must consider the following points:

• As the timetable information is based on repetitions (many runs of the same line), the
space-time network can become very large (even infinite for continuous services).

• As walking (or using an auxiliary transit mode) is considered to have an infinite frequency, the
space-time network theoretically contains an infinite number of corresponding links. Even if,
in an optimal path, walking always starts immediately after the departure from the origin or
after alighting from a line, the possibility of walking for more than one link creates an expo-
nential number of walk “opportunities” in the space-time network.

2007/02/23 6-39
Deterministic Transit Assignment Emme Prompt Manual

Node

2
1

3
Run
Run

Run
D

Segment time

Dwell time
C
Headway

Offset
B
A

Time

The algorithm implemented in Module 5.36 generates dynamically the part of the network that is
actually needed for the computations (instead of explicitly building the whole network, which would
be too costly, both in terms of CPU time and memory space).

The algorithm computes paths either forward (starting at the origin), for trips with a desired depar-
ture time, or backward (starting at the destination) for trips with a desired arrival time.

Description of the algorithm (for trips with a desired departure time)

• The basic space-time network element on which the assignment is based is an event. An event is
the combination of a place (node or segment) and a time. A path is a chain of events with
increasing times. The transition from an event to another event is an activity:

From-event To-event Activity


node node walking
node segment waiting and boarding
segment segment riding
segment node alighting

• At the beginning of the algorithm one or several initial events are created at the origin node, each
one corresponding to a possible departure time, based on the granularity and the maximum earli-
ness and lateness. All other events are created as needed during the construction of the least
cost path.

• In the usual label-setting manner, each newly created event is inserted into the heap of reached,
but not yet scanned events. The heap is sorted according to the minimum cost at which an event
can be reached from the origin.

6-40 2007/02/23
Emme Prompt Manual Event dominance

• The algorithm successively retrieves the event with the least cost from the heap and scans it, that
is, it checks for all possible next activities (which depend on the event type):

Event type Possible next activities


node • for all lines stopping at node, wait and board the next vehicle that passes
• for all auxiliary transit links leaving node, “walk” to neighboring node
segment • continue riding on the next segment of the same line
• alight at J-node

• For each of the possible next activities, the time tp and cost cp of the corresponding potential next
event p is computed and compared with the scanned events which already exist at the same
element. The algorithm searches for events r which occur at the same element, but earlier than p
(tr < tp), and which satisfy cr + (tp - tr)*w ≤ cp, where w is the wait time weight.

• If such an event r does exist, it dominates the potential new event p, so that the latter does
not even have to be created (see Event dominance on page 6-41).

• If no event r satisfies the above condition, the new event p is inserted into the heap.

In other words, the above formula tests if the cost of the new event p is less than the cost of an
earlier event r plus the cost of waiting from tr to tp.

• After a newly created event is inserted into the heap, all later events at this element (which are
necessarily still in the heap) are checked, using the same formula as above, to see whether they
are dominated by the new event. All events dominated by the new event can be removed from the
heap and deleted, since they cannot be part of the optimal path.

• The algorithm terminates if an event corresponding to the destination node has been scanned
(optimal path found) or if the heap is empty (no path exists). In the case of several destination
nodes (which allows the simultaneous assignment of trips from one origin to several destinations,
all having the same departure time) at least one event for each destination has to be scanned for
terminating the algorithm.

6.4.3 Event dominance

The above mentioned concept of dominance between two events at the same network element
(node or segment) is used to reduce the number of alternatives to be explored. Since any domi-
nated event does not need to be considered further:

• the algorithm does not include a dominated event in the heap

• when including a new element in the heap, the algorithm discards from the heap any element
dominated by the new one.

For example, consider the following two events that occur at a given node or segment:
E1 with time t1 and cost c1
E2 with time t2 and cost c2
The earlier event E1 (t1 < t2) dominates E2 if c1 + (t2 - t1)*w ≤ c2 where w is the wait time weight
(set to 1 in the current implementation).

This concept, which is crucial for an efficient implementation of the deterministic transit assign-
ment, is illustrated by the cost/time diagrams in the figures below. These diagrams represent the
cost of several events that take place at a given node or segment, and the time at which they

2007/02/23 6-41
Deterministic Transit Assignment Emme Prompt Manual

occur. The diagonal line starting at an event illustrates the dominance condition, and its slope is w
(the wait time weight).

In Figure 6-11, A, B, C, D, and E are existing events at a given node or segment. The shaded
region shows the area dominated by these events. The algorithm is now considering the two new
potential events X and Y.

• The potential event X is in the dominated area, so it does not have to be considered any
further. In this case, it is the events B and C which are dominating X:
cB + (tX - tB)*w ≤ cX and cC + (tX - tC)*w ≤ cX
• The potential event Y is in the white region, that is, it is not dominated by any of the existing
events. So the event Y is created and inserted into the heap. Testing Y against the later
events D and E shows that Y dominates both of them:
cY + (tD - tY)*w ≤ cD and cY + (tE - tY)*w ≤ cE
so that they can both be discarded.

Figure 6-12 shows the new cost/time diagram, after event Y has been inserted into the heap, and
events D and E have been discarded.

As an example, assume that events A, B, C, D, E, X and Y are different ways to arrive at a given
node, by alighting from a transit line or arriving from an auxiliary transit link:

• Event B (for example, arriving with line B) occurs earlier than event X (for example, arriving
with line X). Also, the cost of event B plus the cost of waiting until event X (arrival of line X) is
less than the cost of event X. So event B dominates event X.

• Event B also occurs earlier than event C (for example, arriving with line C). But the cost of
event B plus the cost of waiting until event C (arrival of line C) is larger than the cost of event
C. So event B does not dominate event C.

Figure 6-11 Cost vs. time diagram with potential events X and Y

Cost

X
E

C
D
A

B
Y

Time

6-42 2007/02/23
Emme Prompt Manual References

Figure 6-12 Cost vs. time diagram after insertion of event Y into the heap

Cost

C
A

B
Y

Time

6.5 References

Bacharach (1970), Bi-proportional Matrices and Input-Output Change, Cambridge University


Press, Cambridge.

Beckmann, M.J., McGuire, C.B. and Winsten, C.B. (1956), Studies in the Economics of Transpor-
tation, Yale University Press, New Haven.

Bruynooghe A., Gibert A. and Sakarovitch M. (1968), Une méthode d’affectation du traffic, Pro-
ceedings of fourth symposium on the theory of traffic flow (Karlsruhe).

Constantin I., Le calcul des attributs des options pour un voyage sur un réseau multimodal, M.Sc.
thesis, Département d’informatique et de recherche opérationnelle, Université de Montréal, 1986.

Dow P. and Van Vliet D. (1979), Capacity restrained road assignment, Traffic Engineering and
Control 20, 296-305.

Evans, A.W. (1970), Some Properties of Trip Distribution Methods, Transportation Research 4,
pp. 19-36.

Evans, A.W. (1971), The Calibration of Trip Distribution Models into Exponential or Similar
Cost Functions, Transportation Research 5, pp. 15-28.

Evans, S.P. (1973), A Relationship between the gravity model of Trip Distribution and the Trans-
portation Problem in Linear Programming, Transportation Research 7, pp. 39-61.

Evans S.P. and Kirby H.R. (1974), A three-dimensional Furness procedure for calibrating gravity
models, Transportation Research 8, pp. 105-122.

2007/02/23 6-43
References Emme Prompt Manual

Florian M. and Nguyen S. (1976), An application and validation of equilibrium trip assignment
methods, Transportation Science 10, 374-389.

Florian M. (1986), Nonlinear Cost Network Models in Transportation Analysis, Mathematical


Programming Study 26, pp. 167-196.

Frank, M. and Wolfe, P. (1956), An Algorithm for Quadratic Programming, Naval Res. Logist.
Q., 3, 95-110.

Fratar, T.S. (1954), Vehicular Trip Distribution by Successive Approximation, Traffic Quarterly,
Vol.8, pp. 53-56.

Furness, K.P. (1965), Time Function Iteration, Traffic Engineering and Control, pp. 458-460.

Kruithof, J. (1937), Calculation of Telephone Traffic, De Ingenieur 52, E15-E25.

LeBlanc L.J., Morlok E.K. and Pierskalla W.P. (1975), An efficient approach to solving the road
network equilibrium traffic assignment problem, Transportation Research 5, 309-318.

Potts, R.B. and Oliver, R.M. (1972), Flows in Transportation Networks, Academic Press, New
York and London.

Spiess, H. (1984), Contributions à la théorie et aux outils de planification des réseaux de trans-
port urbain, Ph.D. Thesis, Department of Computer Science and Operational Research, Univer-
sity of Montreal.

Spiess, H. and Florian, M. (1989), Optimal Strategies : A New Assignment Model for Transit Net-
works, Transportation Research B, Vol. 23B, No.2, 83-102.

Spiess, H. (1990), A Gradient Approach for the O-D Matrix Adjustment Problem, Publication
#693, Centre for Research on Transportation, University of Montreal.

Wardrop, J.G. (1952), Some Theoretical Aspects of Road Traffic Research, Proc. Inst. Civ. Eng.,
Part II, 325-378.

Wilson, A.G. (1967), A Statistical Theory of Spatial Distribution Models, Transportation


Research 1, pp. 253-269.

6-44 2007/02/23

You might also like