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.
© Copyright 2026 Paperzz