Retaining desirable properties in discretising a

Transportation Research Part B 41 (2007) 540–553
www.elsevier.com/locate/trb
Retaining desirable properties in discretising a travel-time model
Malachy Carey *, Y.E. Ge
School of Management and Economics, Queen’s University, 25 University Square, Belfast, Northern Ireland BT7 1NN, United Kingdom
Received 12 January 2003; accepted 20 September 2006
Abstract
A recent paper introduced a new whole-link travel time model and showed that it has various desirable properties,
including a first-in-first-out (FIFO) property, causality and consistency with the usual static model when flows are
constant. The model is formulated as a continuous-time first-order differential equation, which does not have a general
analytical solution but can be solved (approximately) numerically by forward or backward discrete-time differencing
methods. Here we show that if the step sizes are not arbitrarily small then the solutions obtained by the usual differencing
methods do not always preserve FIFO. In view of that, we introduce a new differencing method and prove that it always
preserves FIFO and the other desirable properties exhibited by the continuous-time model. In numerical examples we illustrate how the new discrete-time differencing model eliminates FIFO violations, illustrate convergence of a solution process
for the new model, and illustrate how various inflow patterns affect FIFO under the old and new differencing methods.
Ó 2006 Elsevier Ltd. All rights reserved.
Keywords: Link travel time; Dynamic traffic assignment; First-in-first-out property; FIFO
1. Introduction
For traffic networks where the flows and travel times are varying over time, it is well known that if the link
travel times are modelled as a function of the current inflow and/or outflow of the link, this can cause unrealistic behaviour of the travel times, including FIFO violations. To overcome this, in a recent paper Carey
et al. (2003) introduced a new whole-link model. They show that the above problems are avoided if, instead
of treating the link travel time as a function of the state of the link at time of entry, we treat it as a function of
an estimate of the flow in the immediate neighbourhood of the vehicle, averaged over the time the vehicle
spends traversing the link. This average flow rate can be approximated by an average of the inflow rate when
the vehicle is entering the link and the outflow rate when it is exiting from the link. They formulate the model
as a continuous-time first-order differential equation, and show that it has various desirable properties, including satisfying a first-in-first-out (FIFO) condition. The model does not have a general analytical solution, but
can be solved numerically (approximated) using various discrete-time forward or backward differencing
methods for solving first-order differential equations. However, in the present paper we show that the standard
*
Corresponding author. Tel.: +44 2890 245133; fax: +44 2890 975156.
E-mail addresses: [email protected] (M. Carey), [email protected] (Y.E. Ge).
0191-2615/$ - see front matter Ó 2006 Elsevier Ltd. All rights reserved.
doi:10.1016/j.trb.2006.09.003
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
541
forward or backward differencing methods yield solutions that can violate FIFO, though the FIFO violations
are reduced as the discretisation is refined. In view of this, we consider other solution schemes and develop an
alternative differencing method that always ensures FIFO without requiring that the time steps in the discretisation be small. The method consists of applying the backward differencing method while moving forward in
time, or applying the forward differencing method while moving backwards in time. We show that either of
these methods always preserves FIFO and other properties of the continuous-time model.
The new solution method and model ensures FIFO even if large time steps Dt are used, which is important
for various reasons. First, larger time steps reduce the amount of computation. Second, it is shown in Carey
and Ge (2003) that the approximation to the LWR traffic flow model (Lighthill and Whitham, 1955; Richards,
1956) is improved if the length of the time step is near to (but not greater than) the time taken to traverse the
link. A third reason is as follows. The differencing scheme yields a discrete-time version of the continuous-time
model. This discrete-time version can be used to model the link travel times in discrete-time or multi-period
network models for dynamic traffic assignment (DTA). In that case, the time steps in the differencing scheme
may be used as the period lengths in the multi-period models for DTA, and there are various reasons for not
making the latter period lengths in DTA models arbitrarily small.
The discrete-time solution methods developed and presented in this paper have been used to solve numerical examples in some previous papers by the authors, including Carey (1999, 2001) and Carey and Ge (2003,
2004), but neither the methods nor their properties nor their effect on FIFO have been set out or discussed in
those papers.
So that this paper may be self-contained, Section 2 summarises the model introduced in Carey et al. (2003).
Section 3 introduces standard discrete-time backward and forward differencing methods to solve the continuous-time model, shows that these can violate FIFO, introduces new differencing methods and shows that
these preserve FIFO and other properties of the continuous-time model. Section 3 also presents some simple
examples in which analytical solutions can be found. Numerical experiments are presented in Section 4 to illustrate FIFO violation arising from the use of the usual differencing methods, illustrate the convergence of an
iterative scheme designed to solve the proposed differencing method, and illustrate the effects of various inflow
profiles on FIFO under the old and new differencing schemes.
2. A continuous-time whole-link travel-time model satisfying FIFO
The continuous-time model of Carey et al. (2003) can be set out as follows. For a vehicle entering a link at
time t, let the time s(t) that it takes to traverse the link be a function h(w(t)) of a flow rate w(t), where w(t) is a
weighted average of the inflow rate when the vehicle is entering the link and the outflow rate when the vehicle
is exiting from the link. When the vehicle is entering the link at time t let the inflow be u(t) and when it is exiting at time t + s(t) let the outflow be v(t + s(t)). Hence the weighted average of these can be written as
wðtÞ ¼ buðtÞ þ ð1 bÞvðt þ sðtÞÞ;
ð1Þ
where b is a constant and 0 6 b < 1. Letting the link travel time s(t) be a function of this weighted average flow
gives
sðtÞ ¼ hðwðtÞÞ ¼ hðbuðtÞ þ ð1 bÞvðt þ sðtÞÞÞ;
ð2Þ
where h(Æ) is a given, continuous, nondecreasing or strictly increasing function. (Strictly increasing is needed
when we later use the inverse h1(Æ).) The weighted average (1) can be thought of as an approximation to the
‘‘average’’ of the flow rates in the immediate neighbourhood of the vehicle over the time that the vehicle travels
along the link. The travel-time function (2) is then simply the well-known static travel-time model s = h(u)
with the constant flow u replaced by the weighted average flow rate (1).
The functional form and parameters for the travel time function h(Æ) in this paper, as in Carey et al. (2003),
are assumed to be the same as in the widely used ‘static’ travel time functions that are used for example in
static traffic assignment network models. In the latter, the link travel time is written as a function of the link
flow and both are assumed constant over time. Since such travel time functions have been in use, discussed and
estimated for decades (e.g. see Transportation Research Board, 2000), it is not necessary to discuss them or
their estimation further here. Also, it is of course well-known that the travel time functions, flow density
542
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
functions, and speed-flow functions (the fundamental equation), are all equivalent ways of writing the same
information (given one we can rearrange to obtain the others), which is another reason for not discussing them
further here. However, it is perhaps worth noting one difference between the travel time function and the others. The travel time function relates to a specified distance on a road while the flow-density function, etc. relate
to a single point. How the choice of link length affects the results in this paper has been discussed in Carey and
Ge (2003, 2004). Also, though those papers do not explicitly refer to the discrete version of the model introduced in the present paper, they in fact use this discrete version since, for their computational examples, a discrete version was needed in order to compute solutions.
To eliminate the future outflow v(t + s(t)) from (1) and (2) Carey et al. use, and discuss, the well-known
equation (e.g. Astarita, 1996)
vðt þ sðtÞÞ ¼
uðtÞ
;
1 þ s0 ðtÞ
ð3Þ
where sR0 (t) denotes ds/dt.
R tþsðtÞ (Eq. (3) can be obtained by taking the derivative of the flow-propagation equation
t
xð0Þ þ s¼0 uðsÞds ¼ s¼0 vðsÞds, where there are initially x(0) vehicles on the link, and rearranging.) Substituting (3) in (2) gives the Carey et al. whole-link model
uðtÞ
sðtÞ ¼ hðwðtÞÞ ¼ h buðtÞ þ ð1 bÞ
:
ð4Þ
1 þ s0 ðtÞ
This can be rearranged as a first-order differential equation by inverting (4), thus
h1 ðsðtÞÞ ¼ buðtÞ þ ð1 bÞ
uðtÞ
1 þ s0 ðtÞ
and rearranging
s0 ðtÞ ¼ 1 þ
ð1 bÞuðtÞ
:
h1 ðsðtÞÞ buðtÞ
ð5Þ
A solution of (5) consists of the link travel time s(t) as a function of given inflows u(t) up to time t. The outflows v(Æ) do not appear in (5) and we assume that the form of h(Æ) or h1(Æ) is given. As discussed in Carey
et al., we will here take b as 0.5. They also showed that the model (4), or equivalently (5), has various desirable
properties. In particular, it satisfies a first-in-first-out (FIFO) property of traffic flow, without imposing any
additional equations or side constraints such as (3). Since the solution s(t) depends only on inflows u(t) up
to time t, it satisfies a causality property of traffic flow. The causality property states that the travel-time of
a user should depend only on earlier, not later, traffic. Also, if flows are constant over time then the model
(4) or (5) reduces to the static model s = h(w).
3. A discrete-time approximation to the whole-link travel time model (4) or (5)
In most cases the first-order differential equation (4) or (5) cannot be solved analytically. That is, we usually
cannot solve for s(t) as an explicit function of a given u(t), though some exceptions are given in Section 3.3
below. However, (5) can be solved numerically using one of various methods for solving first-order differential
equations (Burden and Faires, 1993). In particular, dividing the time span into N equal intervals, each of
length Dt, and replacing the derivative in (5) with a forward difference gives
sðt þ DtÞ sðtÞ
h1 ðsðtÞÞ uðtÞ
¼ 1
;
Dt
h ðsðtÞÞ buðtÞ
ð6Þ
hence
sðt þ DtÞ ¼ sðtÞ h1 ðsðtÞÞ uðtÞ
Dt;
h1 ðsðtÞÞ buðtÞ
ð7Þ
where t now represents discrete times t = 0, Dt, 2Dt, . . . , iDt, . . . , (N 1)Dt, at the beginning of time intervals
i = t/Dt = 0, 1, 2, . . . , i, . . . , (N1). s(t) is the link travel time for a user entering at time t. u(t) is the inflow
per unit time at some point in the time interval from t to t + Dt, or alternatively we can define u(t) as the
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
543
average inflow rate in the time interval. Then from (7) we can compute the travel times s(t) sequentially at
times t = Dt, 2Dt, etc., given s(0), u(t) at times t = 0, Dt, 2Dt, etc., and the form of h(Æ) or h1(Æ).
3.1. Standard forward or backward differencing can violate FIFO
Though it is shown in Carey et al. (2003) that the model (5) ensures FIFO, the FIFO property does not
necessarily continue to hold when we replace the continuous-time model (5) with a discrete-time model (7),
hence we consider that here. To do this, it is convenient to add (Dt + Dt) to the right hand side (r.h.s.) of
(7) and then add the +Dt term to the fraction term to give
sðt þ DtÞ ¼ ðsðtÞ DtÞ þ
ð1 bÞuðtÞ
Dt:
h ðsðtÞÞ buðtÞ
1
ð8Þ
A necessary and sufficient condition for FIFO in the discrete-time case is s(t + Dt) > s(t) Dt (see Appendix
A) and substituting this in (8) gives a new necessary and sufficient condition for FIFO, namely that
ð1 bÞuðtÞ
Dt > 0
h ðsðtÞÞ buðtÞ
1
ð9Þ
and since b < 1 the numerator above is always nonnegative, that (9) reduces to h1(s(t)) bu(t) > 0 or
equivalently
uðtÞ < h1 ðsðtÞÞ=b:
ð10Þ
Hence FIFO is violated if and only if (10) is violated, that is if and only if u(t) > h1(s(t))/b.
Can a u(t) occur such that u(t) > h1(s(t))/b, hence a FIFO violation? The answer is yes, as follows. On the
right-hand-side in (10), at time t the travel time s(t) is already determined from the u(t*) in earlier time periods
earlier t Dt, t 2Dt, . . . , Dt, 0. [To see that, note that by recursive substitution in (8) we can write s(t + Dt) as
a function of only the u(t*) for all earlier times t* 6 t.] Thus s(t) is already determined at time t and is independent of the current value of u(t). It follows immediately that we can always choose an exogenous u(t) sufficiently large to cause u(t) > h1(s(t))/b so that (10) is violated, which implies a FIFO violation.
To understand why the above FIFO violation occurs, and hence what may be done to prevent it, it is worth
comparing with what happens in the continuous-time model (4) or (5). That is, why does the expression
h1(s(t)) bu(t) always remain nonnegative in the continuous-time model when u(t) is continuous but can
become negative in the discrete-time model (8)? In (5), or equivalently in (4), as u(t) increases, the travel time
s(t) responds immediately at time t since this is a continuous-time model, and rate of change of s(t) is sufficient
to ensure that h1(s(t)) bu(t) does not become negative. However, as we have seen, in the discrete-time
model (8) even if there is a sudden increase in u(t) at time t (compared to u(t Dt)), there is no immediate
increase in s(t) since s(t) is determined by preceding values of u(Æ). Similarly, if the exogenous u(t) is increasing
continuously over time, the travel time s(t) lags behind in its response. How far it lags behind will depend on
the length of the time interval Dt used in the forward differencing. As a result of this lag in response we can
have h1(s(t)) < bu(t) and hence FIFO violations in (8).
The above lag in response, and hence the possibility of FIFO violations, can be reduced by using smaller
time steps Dt, so that the behaviour of the discrete-time model (8) comes closer to the continuous-time model
(5) in which FIFO violations do not occur. If a FIFO violation occurs when solving (8) then, to eliminate the
FIFO violation, we could rerun with a smaller step size Dt, and if necessary keep reducing the step size until
the FIFO violation no longer occurs. Also, since FIFO violations are more likely to occur when u(t) is increasing rapidly, we could reduce or avoid FIFO violations by using smaller step sizes when the inflows u(t) are
increasing rapidly.
The cause of possible FIFO violation in (8), as explained above, may seem rather odd. Intuitively, we might
have expected a FIFO violation to occur if there was a sudden fall in the rate of inflow, since the new less dense
inflow would have a shorter travel time, hence might overtake and pass the previous inflows. Instead, the
FIFO violation above is caused by a sudden large increase in the inflow rate u(t). However, this is a computational phenomenon caused by the forward differencing, and is not due to a real traffic phenomenon nor due
to the nature of the continuous-time model (4) or (5).
544
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
We have seen that FIFO violations can occur in the above forward differencing method (8) for solving the
differential Eq. (5). We can instead use backward differencing method to solve (5) thus
sðtÞ sðt DtÞ
h1 ðsðtÞÞ uðtÞ
¼ 1
;
Dt
h ðsðtÞÞ buðtÞ
ð11Þ
hence
sðt DtÞ ¼ sðtÞ þ
h1 ðsðtÞÞ uðtÞ
Dt;
h1 ðsðtÞÞ buðtÞ
ð12Þ
where, as before, s(t) is the link travel time for a user entering the link at time t (which is the end of one time
interval Dt and the start of the next). u(t) is now the inflow between times t Dt and t. (In forward differencing, i.e. (6) and (7), u(t) was the inflow between time t and t + Dt.)
However, when using backward differencing (12), FIFO violations can occur for the same reasons as
already explained above in the case of forward differencing.
3.2. Alternative differencing methods that retain the FIFO property, and other desirable properties
Normally a forward differencing method is applied sequentially starting at say time t = 0 and moving forward in time, and a backward differencing method is applied starting at say time t = T and moving backwards
in time. However, we have found that if we apply the backward differencing method while moving forward in
time, then FIFO violations are prevented (see Proposition 3 below). Similarly, we find that if we apply the
forward differencing method while moving backwards in time, then again FIFO violations are prevented.
We have found that these methods prevent FIFO violations even if very large time steps Dt are used, though
the methods are computationally slower than the usual differencing methods. Here we use the former method,
that is, differencing (5) backward but moving forward in time, since it is customary to move forward in time
and since this will make it easier to include the algorithm into network models for dynamic traffic assignment:
in the latter the computations usually proceed forward in time.
To apply (12) while moving forward in time we take u(t) and s(t Dt) as known at each time t, and use (12)
to compute s(t). Proceeding in this way, we can sequentially compute s(t) at times t = Dt, 2Dt, etc., given the
initial travel time s(0), the inflows u(t) at times t = 0, Dt, 2Dt, etc. and the function h1(Æ). We now show that
this method (applying (12) while moving forward in time) retains desirable properties from the continuoustime model (5) including FIFO, and we simultaneously provide a method for solving (12). Before considering
FIFO we first show two other properties of the model.
Causality property for (12) applied forward in time. It is normally assumed that the travel time, speed, etc. of
traffic on a link is affected by earlier, not later, traffic and this is often referred to (e.g. in Carey et al., 2003) as
the causality property. The travel time s(t) can be computed from (12) and in (12) the only variable other than
s(t) and s(t Dt) is u(t). But we have defined u(t) as the inflow to the link in the time interval Dt ending at time
t. It follows that s(t) is affected only by earlier traffic hence (12) satisfies causality.
Reduction to a static model, for (12) applied forward in time. For any link model with time-varying flows and
travel times, it is desirable that if the inflows or travel times are held constant over time then the model should
reduce to a standard static model. We show as follows that the model (12) has this property even when applied
sequentially forward in time.
Proposition 1. Assume (12) is applied forward in time. (a) If the travel time s(t) is constant over time, then the
inflow u(t) must be constant over time. (b) Conversely, if the link inflow is constant over all time (and the travel
time is initialised accordingly) then the link travel time will remain constant over time.
Proof. (a) If s(t) is constant over time then s(t Dt) = s(t), hence (12) reduces to h1(s(t)) u(t) = 0. Also,
s(t) constant means h1(s(t)) is constant hence u(t) = h1(s(t)) is constant. (b) Let u(t) = u be constant over
time and let the travel times be initialised so that, at time t = Dt, we have s(t Dt) = s(t) = h(u), hence
u = h1(s(t)), which reduces (12) to s(t Dt)= s(t), hence is consistent with (12). Now write (12) for the next
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
545
time point, i.e., t = 2Dt, which gives s(t) = s(t + Dt) + Dt[h1(s(t + Dt)) u]/[h1(s(t + Dt)) bu]. But we
already have s(t) = h(u), hence write the l.h.s of this equations as h(u). Thus (12) at time t = 2Dt reduces to
the same Eq. (12) as at time t = Dt, but with s(t) on the r.h.s. replaced by s(t + Dt). Hence the solution for
s(t + Dt) is the same as for s(t). h
Satisfying FIFO, for (12) applied forward in time.
Rewrite (12) as
h1 ðsðtÞÞ uðtÞ
Dt sðt DtÞ ¼ 0 given sðt DtÞ and uðtÞ
ð13Þ
h1 ðsðtÞÞ buðtÞ
and consider solving (13) forward in time, that is, use (13) to compute s(t), given s(t Dt) and u(t). Eq. (13)
usually does not have an analytic solution for s(t) (some examples of (13) that have an analytic solution are
given in Section 3.2). In general, however, (13) can be solved by numerical methods.
To discuss (13) further, including solution methods and properties, it is convenient to rearrange it as
follows:
ð1 bÞuðtÞ
sðtÞ ¼ h buðtÞ þ
given sðt DtÞ and uðtÞ
ð14Þ
1 þ ½sðtÞ sðt DtÞ=Dt
sðtÞ þ
and rewrite (14) as
sðtÞ ¼ hðwÞ;
where
ð15Þ
ð1 bÞuðtÞ
given sðt DtÞ and uðtÞ:
ð15aÞ
1 þ ½sðtÞ sðt DtÞ=Dt
Eq. (15) shows s(t) as a function of w while (15a) shows w as a function of s(t). We wish to solve this pair of
simultaneous equations (15) and (15a) for w and s(t), and to do that it convenient to write both equations in
the same way, that is, writing s(t) as a function of w. To do that, simply rearrange (i.e. invert) (15a) so that it
states s(t), at the discrete times t, as a function of w. Thus rewrite (15a) as
ð1 bÞuðtÞ
sðtÞ ¼ sðt DtÞ Dt þ
Dt , pt ðwÞ given sðt DtÞ and uðtÞ:
ð16Þ
w buðtÞ
For convenience we refer to the right-hand-side of Eq. (16) as pt(w). Eqs. (15) and (16), i.e. s(t) = h(w) and
s(t) = pt(w), can be shown on a graph, as in Fig. 2. Since (13), (15), (15a), and (16) are equivalent, instead
of considering (13) we can consider (15), (15a), and (16). The simplest way to consider (15), (15a), and (16)
is by reference to their graphs, in the following two propositions.
w ¼ buðtÞ þ
Proposition 2. Assume +1 > u(t) > 0. The graph of s(t) = pt(w), from (16), is as illustrated in Fig. 1, indicating
that s(t) = pt(w) is strictly decreasing (except at w = bu(t)), and is continuous and convex for all w> bu(t) and
continuous and concave for all w< bu(t).
Proof. At time t, the variables Dt, s(t Dt) and u(t) are known constants in (16). As w ! bu(t) from above or
from below, the fraction term in (16) goes to +1 or 1 respectively, hence has an asymptote at w = bu(t).
(The assumption +1 > u(t) > 0 ensures that a positive w = bu(t) exists.) Further, as w ! +1 the fraction
term in (16) goes to zero hence s(t) ! s(t Dt) Dt, hence s(t) has an asymptote at s(t) = s(t Dt) Dt.
Also, it is easy to check that ds/dw < 0 for all w, and d2s/dw2 > 0 when w > bu(t) and d2s/dw2 < 0 when
w < bu(t). The proposition follows immediately. h
Proposition 3. Assume that the given travel time function h(w)
(a) is continuous and nondecreasing, starting from h(w) P 0 when w = 0, and
(b) h(w) ! +1 either as w ! +1 or at some finite link flow capacity w = qm.
(c) also, the given inflow u(t) satisfies +1 > u(t) > 0 and, if there is a link flow capacity qm as in (b), the inflow
u(t) does not exceeds this capacity at any time t.
546
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
Fig. 1. Graph of (16), namely s(t) = pt(w).
Fig. 2. Graphs of (15) and (16), showing solutions of the model (15), (15a) and (16).
Then
(i) the model (15), (15a) and (16) always has a unique solution s(t) that satisfies FIFO and lies in the top right
hand quadrant in Fig. 2, illustrated by the intersection point A, and
(ii) there may also be a solution for (w, s(t)) in the interior of the rectangle (0 6 w 6 bu(t),
0 6 s(t) 6 s(t Dt) Dt), as illustrated by point B in Fig. 2. However, this solution does not satisfy FIFO
and can be ignored.
Proof. The FIFO condition for travel times starting out at discrete times t Dt and t is s(t) > s(t Dt) Dt
(see Appendix). Assumption (a) implies that (15) is as in Fig. 2, and Proposition 2 shows that (16) is as in
Fig. 2. Their solution is at their intersection(s). The graph of Eq. (16) has two separate parts. Only the part
in the top right quadrant is above the asymptote s(t)= s(t Dt) Dt, hence only this part satisfies the FIFO
condition. There are three cases to consider for the graph of Eq. (15), i.e., s(t) = h(w).
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
547
Case 1: s(t) = h(w) ! +1 at or before the vertical asymptote w = bu(t), so that there is a link flow capacity
qm 6 bu(t). In that case, assumption (c) implies that u(t) 6 qm, hence we have u(t) 6 qm 6 bu(t) hence
u(t) 6 bu(t). But the latter contradicts the assumption b < 1, hence Case 1 cannot exist.
Case 2: In Eq. (15), s(t) is always below the horizontal asymptote s(t) = s(t Dt) Dt. In that case there is no
solution satisfying FIFO. However, this is ruled out by assumption (b).
Case 3: s = h(w) enters the top right quadrant. Since s = h(w) is assumed continuous, nondecreasing and
h(w) ! +1, it must intersect with s(t) = pt(w) in the top right quadrant since the latter is also continuous and defined for all w in the quadrant, i.e. for all w > bu(t) from Proposition 2. Hence part
(i) of the proposition holds. For part (ii) of the proposition, two examples of s = h(w) curves are
drawn in Fig. 2. The one labelled Example 1 shows that s = h(w) can intersect with s(t) = pt(w) in
the bottom left quadrant, at point B, but this can be ignored since in that quadrant
0 6 s(t) 6 s(t Dt) Dt which violates FIFO.
Thus only Case 3 can occur and, in that case, (i) and (ii) hold.
h
Remark 1. As noted in part (ii) of Proposition 3, Eqs. (15), (15a) and (16) can have a second solution that
violates FIFO. To avoid this solution in any algorithm for solving (15), (15a) and (16), the search should
be restricted to the relevant ranges of w and s, i.e., to the top right quadrant in Fig. 2 (defined by
w > bu(t), s(t) > s(t Dt) Dt).
Remark 2. In the above proposition we do not assume that the inflow u(t) is continuous over time, hence
FIFO holds even if u(t) is discontinuous. In contrast, when proving that the continuous-time model (4) or
(5) satisfies FIFO, Carey et al. (2003) assume that u(t) is continuous over time. They do so since their method
of proof relies on the continuity of all the arguments in the differential Eq. (5). However, it is quite likely that
continuity of inflow u(t) is not actually essential for the FIFO property in the continuous-time model (4) or (5)
but, to prove that, would require some other method of proof. In some of the numerical examples in Carey
et al. (2003) they use a discontinuous u(t) and find that FIFO is satisfied, but of course that does not prove this
will always be true.
Remark 3. In the above proposition we do not assume that h(w) has an inverse, hence we need only assume
that it is nondecreasing rather than assume it is strictly increasing.
3.3. Analytical solutions of (13), or equivalently (15), (15a) and (16), for some special cases
In general the model (13), or equivalently (15), (15a) and (16), is likely to be difficult or impossible to solve
analytically, but can be solved numerically, as discussed in the next section. However, we here give some examples in which (13) can be solved analytically for s(t), given simple forms of h(Æ). Multiplying through (13) by
h1(s)bu(t) and rearranging gives
h1 ðsðtÞÞ½sðtÞ þ k 1 þ k 2 sðtÞ þ k 3 ¼ 0;
ð130 Þ
where k1 = s(t Dt) + Dt, k2 = bu(t) and k3 = (bs(t Dt) Dt)u(t) are known constants at time t.
Example 1. If h(Æ) is linear (i.e. s = h(w) = a + bw where a and b are constants) then h1(s) is linear
(w = h1(s) = s/b a/b) and (13 0 ) becomes quadratic in s. Hence solving for s(t) means finding the roots of a
quadratic (13 0 ).
Example 2. If h1(s) is quadratic in s then (13 0 ) is cubic in s, so that solving for s(t) means finding the roots of
a cubic equation (13 0 ).
Example 3. If s = h(w) = a + bw2 then w2 = (h1(s))2 = (s a)/b. Eq. (13 0 ) can be rewritten as [h1(s)]2[s(t) +
k1]2 = [k2s(t) + k3]2 hence substituting (h1(s))2=(s a)/b in this gives a cubic equation in s, so that solving
for s(t) means finding the roots of a cubic equation.
548
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
Example 4. If s = h(w) = a/(1 bw) then w = h1(s) = 1/b a/bs hence substituting for h1(s) in (13 0 ), and
multiplying through by s, gives a quadratic (13 0 ) in s, so that solving for s(t) means finding the roots of a quadratic (13 0 ).
Example 5. The Bureau
of Public Roads (BPR) travel time function can be written as s = h(w) = a + bw4/c
ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi
p
1
4
hence w = h (s)= ðs aÞc=b or w4 = (h1(s))4 = (s a)c/b. Eq. (13 0 ) can be rewritten as [h1(s)]4
[s (t) + k1]4 = [k2s(t) + k3]4 hence substituting in this for (h1(s))4 gives a fifth order equation in s, so that solving for s(t) means finding the roots of a fifth order equation. That would have to be solved numerically since
general fifth order polynomials, unlike lower order polynomials, do not have analytic expressions for roots,
3.4. Numerical methods for solving (13), or equivalently (15), (15a) and (16), for s(t)
Even if (13), or equivalently (13 0 ) or (15), (15a) and (16), cannot be solved analytically for s(t), it can normally
be solved numerically. Solving (13 0 ) for s(t) means finding the roots of an equation and there are several wellknown numerical methods for that (e.g. Press et al., 1992). However we also consider two other methods here.
Since (13 0 ) is equivalent to (15) and (15a) we can solve (13 0 ) by iterating between (15) and (15a). Starting from
(15) if w is given initially or from (15a) if s is given initially. The initial w should be not less than bu(t). Though this
method is intuitively simple we do not discuss its convergence properties here. It is formally similar to finding the
intersection of supply and demand curves by simulating a market adjustment process, and it is well known that
the convergence (or non convergence) of this process depends on the gradients of the respective curves.
Alternatively, since (13 0 ) is equivalent to (15), (15a) and (16) we can solve (13 0 ) by finding the intersection of
the functions in (15) and (16), for example as follows. Reformulate the problem as a minimisation problem,
minimising I(w) = jpt(w) h(w)j the absolute distance between the curves or, more generally, minimize (pt(w) –
h(w))2, or other continuous function
IðwÞ ¼ gðpt ðwÞ hðwÞÞ
that has a minimum if and only if pt(w) h(w) = 0. Having found the w that minimizes I(w), substitute this in
(15) or (16) to find s(t). Note that I(w) is a function of a single variable, w.
Both of the above methods are easily illustrated as finding the intersection of the two curves in the top right
quadrant of Fig. 2. Both methods have the advantage, compared to solving (13) or (13 0 ) directly, that we do
not have to find the inverse function of s = h(w). This is especially useful when the inverse function does not
exist or is difficult to find (see Examples 7 and 8 in Section 4). Also, compared with say Newton’s method, used
for solving (13 0 ) in Carey and Ge (2003), neither of the above methods needs a gradient-finding operation.
In the numerical examples in this paper (Section 4) we choose the second of the two methods above, for the
following reason. Proposition 4 below shows that I(w) has a unique global minimum, and is strictly decreasing
to the left of the minimum and strictly increasing to the right. It follows immediately that any of the usual line
search algorithms is guaranteed to find the minimum of I(w), to any desired degree of accuracy, hence solve
(15), (15a), (16) and (13 0 ). Efficient derivative-free line search algorithms (dichotomous search, golden section
search, Fibonacci search, etc) are readily available (e.g. see Bazaraa et al., 1993). We used the golden section
search, and used I(w) of the form I(w) = jpt(w) h(w)j though, in view of the properties of I(w) given in
Proposition 4, any of the usual forms of g(Æ) will be equally efficient.
Proposition 4. Assume (a)–(c) from Proposition 3 above. Then I(w) = g(pt(w) h(w)) is unimodal and has a unique
global minimum at the intersection of s = qt(w) and s = h(w), i.e., the intersection of (15) and (16). Let (wo, I(wo))
denote this minimum. Then I(w) is strictly decreasing when w < wo and is strictly increasing when w < wo.
Proof. From Proposition 3, (15) and (16) have a unique intersection point in w> bu(t): call this point w = wo.
From Proposition 2, s = s(w) is strictly decreasing and, by assumption (a), s = h(w) is nondecreasing. It follows that, for all w < wo, s(w) > h(w) and I(w) is decreasing, and similarly, for all w > wo, s(w) < h(w) and I(w)
is increasing. Hence the proposition holds for I(w) = jpt(w) h(w)j. Further, by assumption, g(x) has a minimum only when x = 0, hence its gradient is negative for x < 0 and positive when x > 0, hence the proposition
also holds for g(x). h
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
549
4. Numerical experiments
This section sets out three examples, or sets of examples. In the first example (Example 6) we show numerically that using (8) to approximate the solution of (4) or (5) can result in FIFO violations, and show that using
shorter time intervals reduces the extent or possibility of FIFO violations. We compare the solutions with
those obtained from (13 0 ) (or equivalently (13)), which satisfy FIFO. The second example (Example 7) illustrates the convergence of the line search method, set out in Section 3.4, to find the minimum of I(w) and hence
solve (15), (15a), (16). The third example (Example 8) illustrates how changes in the inflow profile affect the
travel times s(t), and Ds(t)/Dt, while retaining Ds(t)/Dt > 1 and thus retaining FIFO.
The first example uses a simple form of h(Æ), namely h(w) = a/(1 bw), which enables all results to be calculated manually. The last example uses a form of h(Æ) whose inverse is not obtainable analytically. The second
example uses both forms of h(Æ). In all the examples we assume b = 0.5 and I(w) = jpt(w) h(w)j.
Example 6. Comparison of solutions based on differencing models (8) and (13) respectively.
Consider the travel time function s = h(w) with h(w) = a bw where a = 1.1 and b = 0.02. Assume a link
travel time s(t Dt) = 1.25. The travel time s(t) at time t can then be computed from (8) or (13) (or
equivalently (13 0 )). We choose a simple travel-time function h(w) = a/(1 bw) so that (6) and (13 0 ) can be
solved manually: (13 0 ) is solved analytically as in Example 4 above.
Assume that the time intervals are Dt = 0.1 and that the inflow is u(t) = 10.0. Eq. (8) gives s(t) = 1.65 and
s(t) s(t Dt) + Dt = 0.5 > 0. Eq. (13) gives s(t) = 1.31 and s(t) s(t Dt) + Dt = 0.16 > 0. Thus both (8)
and (13) preserve FIFO. Now increase the inflow u(t) from 10.0 up to 15.0. Then (8) gives s(t) = 0.65 and
s(t) s(t Dt) + Dt = 0.5 < 0 (i.e. a FIFO violation, which illustrates the argument presented in Section 3.1
that (8) can violate FIFO). In contrast, (13) gives s(t) = 1.39 and s(t) s(t Dt) + Dt = 0.24 > 0, which
satisfies FIFO.
Now consider reducing Dt from 0.1 to 0.0001 while keeping u(t) = 15.0. In this case (8) gives s(t) = 1.2494 and
s(t) s(t Dt) + Dt = 0.0005 < 0, which is a FIFO violation, but the extent of the FIFO violation is reduced
significantly (from 0.5 to 0.0005). Our numerical experiments also showed that s(t) ! s(t Dt) Dt as
Dt ! 0. This is consistent with the previous assertion that refining temporal discretisation reduces the extent of
the FIFO violations (since (8) is an approximation to the continuous-time model (4) or (5) and the latter preserves
FIFO, as shown in Carey et al. (2003)). The discretised model (13) gives s(t) = 1.2946 and
s(t) s(t Dt) + Dt = 0.0447 > 0, which preserves FIFO.
Example 7. Convergence of a line search to find the minimum of I(w) hence solve (15), (15a) and (16).
In parts (i) and (ii) below we solve (13), or equivalently (15), (15a) and (16), as explained in Section 3.4, that
is, by finding the minimum of I(w).
(i) In this example we use exactly the same data as in Example 6, but solve using the above line search
method instead of using the direct analytic solution as in Example 6. Thus, let h(w) = a/(1 bw), with a = 1.1,
b = 0.02 and s(t Dt) = 1.25, and use the same three data sets as in Example 6, namely, (1) Dt = 0.1,
u(t) = 10.0; (2) Dt = 0.1, u(t) = 15.0; and (3) Dt = 0.0001, u(t) = 15.0. Using the above line search method we,
of course, again found the same solutions as in Example 6. (The initial upper bound in the line search is
qm = 1/b = 50.0.)
For the first data set, Fig. 3 shows the values of I(w), h(w) and s(w) at each iteration, and shows these
converging to the solution. It can be seen that the curves initially cycle up and down, but by the 15th iteration
the cycling stops and convergence is monotone thereafter. At the 44th iteration, the program terminated since
the convergence test was satisfied. We used a stringent convergence criterion wr wl < e = 107 where [wl, wr]
is the final interval in the line search. The convergence pattern was similar for the other two data sets.
(ii) Now consider the following form of travel time function h(Æ),
hðwÞ ¼
ð1 þ cÞa
;
c þ bw cw2 þ ekw
c P k2 =2;
k P b > 0;
ð17Þ
whose inverse in closed form does not exist. This function is continuously differentiable, strictly increasing for
all 0 6 w < qm, where qm depends on the parameters. It is discontinuous at w = qm and to the right of w = qm
550
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
3.0
I(w)
h(w)
τ (w)
I(w), h(w) and τ (w)
2.5
2.0
1.5
1.0
0.5
0.0
0
16
8
24
32
40
48
Iteration number
Fig. 3. Convergence of a line search to solve (15), (15a) and (16) as in Section 3.4, for Example 7(i).
the values of s = h(w) are s 6 0 hence physically meaningless. Therefore, we require w < qm. In the computation we assume c = 1, a = 1.1, b = 0.02, c = 0.0008, k = 0.025, hence qm = 54.088.
Assume that s(t Dt) = 1.25 and consider two sets of data (1) Dt = 0.1, u(t) = 45.0 and (2) Dt = 0.0001,
u(t) = 45.0. Using the first data set we obtain s(t) = 1.55 and s(t) s(t Dt) + Dt = 0.40 > 0 and using the
second we obtain s(t) = 1.36 and s(t) s(t Dt) + Dt = 0.11 > 0. For the first data set, Fig. 4 shows the line
search algorithm converging to the solution.
Example 8. Effects of inflow profiles on the FIFO condition.
3.0
I(w)
h(w)
τ (w)
I(w), h(w) and τ (w)
2.5
2.0
1.5
1.0
0.5
0.0
0
8
16
24
32
40
Iteration number
Fig. 4. Convergence of a line search to solve (15), (15a) and (16) as in Section 3.4, for Example 7(ii).
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
551
case 1
50
case 2
case 3
40
u(t)
30
20
10
0
0
4
8
12
16
20
24
t
Fig. 5. Inflow profiles for Example 8.
In Examples 6 and 7 we computed s(t) for a single time t, given s(t Dt) and u(t). Here we instead compute
s(t) for a series of times t = Dt, 2Dt, . . . , NDt, given only s(0) and u(t) at times t = 0, Dt, 2Dt, . . . We assume a
family of inflow profiles as follows, as illustrated in Fig. 5,
8
>
>
ðA þ BÞ sin 2Tpt1
0 6 t < T 1;
>
<
T 1 6 t < T 2;
ð18Þ
uðtÞ ¼ A þ B
>
>
>
5
pðtþT
2T
Þ
2
: A þ B sin
T 6 t < T;
2ðT T 2 Þ
2
where A and B are constant parameters through which we can adjust the maximum inflow, T denotes the time
span of the study and T1 and T2 are two constants through which we can adjust the speed at which an inflow
profile rises and falls. We assume A = 20 and B = 25 and T = 24. Consider an initial empty link with three
groups of inflow profiles below
Case 1: T1 = 5, T2 = 10;
Case 2: T1 = 1, T2 = 18;
Case 3: u(t) = 0.1 if 0 6 t < 1; u(t) = 10 if 1 6 t < 5; u(t) = 45 if 5 6 t < 10; u(t) = 20 if 10 6 t < 24.
as illustrated in Fig. 5. The first two cases are based on (18). The rise and fall of inflow in the second case is
much sharper than in the first, but the change is smooth. However, for the third case, the inflow profile is discontinuous at t = 1, 5 and 10.
We assume the same travel-time model (17) as in Example 7, with the same parameter values, and assume
time intervals Dt = 0.02 in (15), (15a) and (16). The resulting travel-time profiles and their associated gradient
profiles Ds(t)/Dt are shown in Fig. 6 (Ds(t)/Dt denotes [s(t) s(t Dt) ]/Dt).
We have already seen (see Appendix) that FIFO holds if and only if Ds(t)/Dt > 1, hence we take Ds(t)/
Dt 1 as a measure of ‘‘nearness’’ to FIFO violation, in Fig. 6(b). It can be seen from Fig. 6(b) that sharper
changes in the inflow profiles u(t) cause sharper changes in Ds(t)/Dt. More specifically, a sharp (discontinuous)
fall in inflows at time 10 causes Ds(t)/Dt to fall to near 1, but it never arrives at 1, hence never violates
FIFO. In traffic terms, the sharp falling-off of inflows enables the vehicles entering later to catch up those
entering earlier, but the FIFO condition is still preserved since the model ensures that the later, faster vehicles
cannot actually overtake the vehicles ahead.
552
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
case 1
3.6
case 2
case 3
3.1
τ (t)
2.6
2.1
1.6
1.1
0
4
8
12
16
20
24
t
2.0
case 1
case 2
1.5
case 3
τ '(t)
1.0
0.5
0.0
-0.5
-1.0
0
4
6
12
16
20
24
t
Fig. 6. Profiles of solutions for travel times s(t) and their gradients Ds(t)/Dt in Example 8: (a) profiles of travel-time s(t); (b) profiles of
gradients Ds(t)/Dt of travel times s(t).
5. Concluding remarks
We have presented a whole-link travel-time model that is a discrete-time version of the continuous-time link
travel-time model introduced in Carey et al. (2003). The discrete formulation is designed to ensure that the
desirable properties of the continuous-time model are preserved. These properties include FIFO, causality
and, if flows are constant over time, consistency with the static travel-time model.
We initially applied the usual backward or forward differencing (in Section 3.1) to the continuous-time
model ((4) or (5)) and showed that this can incur FIFO violations. Refining the time discretisation can reduce
the possibility and/or extent of FIFO violations. However, the shorter the time intervals the more computing
time the problem solving demands. For that and other reasons, we introduced a new differencing method, and
showed (Section 3.2) that this ensures that FIFO and other desirable properties of the continuous-time model
are preserved without requiring that the time steps be small. The method consists of applying backward
M. Carey, Y.E. Ge / Transportation Research Part B 41 (2007) 540–553
553
differencing to (4) or (5) while moving forward in time, or alternatively, applying forward differencing while
moving backwards in time. In most of the discussion, and in the numerical examples, we used the former
method, that is, differencing (5) backward but moving forward in time, since it is customary to move forward
in time and since this facilitates including the finite differencing into network models for dynamic traffic assignment, in which the computations normally proceed forward in time. That the new method and model does not
require that the time steps be small, facilitates embedding the model in discrete-time dynamic traffic assignment models.
We also showed (Section 3.1) that the FIFO violations obtained when using standard differencing methods
are more likely, and larger, the more rapid the changes in the inflow rate. In proving that the new differencing
method preserves FIFO, we do not require any restriction on the rate of change of inflows. Example 8 illustrates
that, with the new differencing method, FIFO is preserved no matter how rapidly inflows change, and even if the
changes are discontinuous. This is particularly important when using discrete-time computational methods.
As noted in the introduction, the new methods presented here have been used in solving numerical examples
in Carey et al. (2003), Carey and Ge (2003, 2004), and Carey (1999, 2001), but neither the method nor its properties are set out or discussed there.
Acknowledgements
We thank the Irish Higher Education Authority (HEA) for supporting this research under the North–South
Programme funded by the National Development Plan (NDP) 2000–2006, and thank the UK EPSRC (Engineering and Physical Science Research Council) for supporting it under Grant Nos. GR/R/70101 and EP/
COO7913/1. We also thank the anonymous referees.
Appendix A. A necessary and sufficient condition for FIFO
Let time be divided into discrete periods or intervals t = 1, . . . , T, each of length Dt. Let s(t) denote the time
taken to traverse a link, for traffic entering the link at any time t. Thus, traffic entering the link at time t exits at
time t + s(t) and traffic entering at time t + Dt exits at time (t + Dt) + s(t + Dt). Hence, traffic exits in the same
order that it entered if and only if (t + Dt) + s(t + Dt) > t + s(t), which reduces to Dt + s(t + Dt) > s(t), which
is the well-known necessary and sufficient condition for FIFO when time is treated as discrete. Dividing
through s(t + Dt) s(t) > Dt by Dt and letting Dt ! 0 gives s 0 (t) > 1 which is a well-known necessary
and sufficient condition for FIFO when time is treated as continuous.
References
Astarita, A., 1996. A continuous time link model for dynamic network loading based on travel time functionsProceedings of the
Thirteenth International Symposium of Transportation and Traffic Theory. Elsevier, Oxford, UK, pp. 79–102.
Bazaraa, M.S., Sherali, H.D., Shetty, C.M., 1993. Nonlinear Programming: Theory and Algorithms, second ed. John Wiley & Sons,
New York.
Burden, R.L., Faires, J.D., 1993. Numerical Analysis, fifth ed. PWF Publishing Co., International Thompson Publishing, Boston, MA.
Carey, M. 1999. A framework for user equilibrium dynamic traffic assignment. Research Report. Faculty of Business and Management,
University of Ulster, BT37 0QB., submitted for publication.
Carey, M., 2001. Dynamic traffic assignment with more flexible modelling within links. Networks and Spatial Economics 1 (4), 349–375.
Carey, M., Ge, Y.E., 2003. Comparing whole-link travel time models used in DTA. Transportation Research Part B 37 (10), 905–926.
Carey, M., Ge, Y.E., 2004. Efficient discretisation of link travel time models used in DTA. Networks and Spatial Economics 4 (3), 269–
290.
Carey, M., Ge, Y.E., McCartney, M., 2003. A whole-link travel-time model with desirable properties. Transportation Science 37 (1), 83–
96.
Lighthill, M.J., Whitham, G.B. 1955. On kinematic waves. I: flow movement in long rivers II: a theory of traffic flow on long crowded
roads. In: Proceedings of the Royal Society A 229, London, UK, pp. 281–345.
Press, W.H., Teukolsky, S.A., Vetterling, W.T., Flannery, B.P., 1992. Numerical Recipes in C, second ed. Cambridge University Press,
Cambridge, England http://www.ulib.org/webRoot/Books/Numerical_Recipes/bookcpdf/c0-0.pdf .
Richards, P.I., 1956. Shock waves on the highway. Operations Research 4 (1), 42–51.
Transportation Research Board, 2000. Highway Capacity Manual 2000Transportation Research Board. National Academy of Sciences,
Washington DC.