An approach to modelling time-varying ¯ows on congested
networks
Malachy Carey
a,*, Eswaran Subrahmanian
b aFaculty of Business and Management, University of Ulster, Newtownabbey, Northern Ireland, BT37 0QB, UK b
Engineering Design Research Center, Carnegie Mellon University, 5000 Forbes Avenue, Pittsburg, PA 15213, USA
Received 13 August 1998; received in revised form 9 February 1999; accepted 9 April 1999
Abstract
In mathematical programming models of time-varying ¯ows on trac networks (dynamic trac as-signment) a key component is the model of ¯ow behaviour within individual links. However, to maintain tractability in these models, time-varying link ¯ows tend to be modelled in very simple ways. Here we try to model link ¯ows more ¯exibly, so that the trip time of a vehicle on a link is in¯uenced by the ¯ow rate when the vehicle enters the link, the ¯ow rate when the vehicle exits from the link, and knock-on eects from trac ahead on the link. We concentrate on congestion along links, but the model can be extended, for example by dividing each link into a travel link followed by a queue `link'. We also concentrate on a system optimising model but outline how this can be extended to user equilibrium.
We consider the properties of the model, and ®nd that the ®rst-in-®rst-out (FIFO) property of road trac holds unless there is a sharp increase in in¯ows to a link followed by a sharp decrease. We also investigate the ``holding back'' of ¯ows, a phenomenon associated with intertemporal network optimisation models in general. We apply the model to simple network examples. The model has the advantage of being linear and having a special structure which may be exploited to develop more ecient solution
tech-niques. Ó 2000 Elsevier Science Ltd. All rights reserved.
Keywords:Dynamic trac assignment; Time-varying ¯ows; Networks; Congestion; FIFO
1. Introduction
Mathematical programming models of time-varying ¯ows on trac networks (dynamic trac assignment) consist basically of three parts: conservation of ¯ow, route choice criteria (usually user equilibrium or system optimum), and a model of ¯ow behaviour or propagation within
www.elsevier.com/locate/trb
*Corresponding author. Tel.: +44-01232-366352; fax: +44-01232-366868. E-mail address: [email protected].
0191-2615/00/$ - see front matterÓ2000 Elsevier Science Ltd. All rights reserved.
individual links. The latter, the link ¯ow model, is crucial in determining the temporal dynamics, for example how the link trip times and out¯ow rates build up and fall o over the peak period. However, in mathematical programming models for dynamic trac assignment, the link ¯ow models are generally expressed as relatively simple functions, to retain tractability of the math-ematical programme (see for example Merchant and Nemhauser, 1978; Carey, 1987, 1992; Friesz et al., 1989, 1993; Janson, 1991; Ran and Boyce, 1994, 1996; Lam and Huang, 1995; Wu et al., 1998; Chen and Hsueh, 1998; others, or surveys in Mahmassani and Peeta, 1995; Ran and Boyce, 1996). The out¯ow rate is often treated as a function of only the volume on the link at time of exit from the link, or the link trip time may be treated as a function of only the ¯ow rate at time of entry to the link. In contrast a fully accurate model of time-varying ¯ow and trip time on a link would consider density, speed and ¯ow rate evolving along the link and would be highly nonlinear and nonconvex (e.g., Gartner et al., 1997; Fox, 1997). Unfortunately, if we introduce such non-linear, nonconvex equations as explicit constraints in a large scale mathematical programming network model the result is likely to be computationally intractable. (Nonlinearity or noncon-vexity is much less of a problem in simulation type models, but these are not our concern here.) In the present paper we develop a model in which we seek to reduce the con¯ict between accuracy and tractability, to allow nonlinear inter-temporal interdependencies on each link, while retaining a linear convex programme. We let trip time on a link be determined by the rate of in¯ow when the trac enters the link, the rate of out¯ow when the trac exits from the link, and the speed of trac ahead on the link. The latter introduces knock-on eects caused by slower trac ahead on the link due to the ®rst-in-®rst-out property of road trac.
The relationships between link trip times and link ¯ows are nonlinear, but instead of intro-ducing these relationships as explicit nonlinear constraints in the mathematical programme, we use them to de®ne sets of time±space links which the trac may use. We present the trac with a choice among these time±space links (hence a choice of link trip times). We rely on the op-timisation process in the model to ensure that the model chooses the (shortest) link trip time that is consistent with the ¯ow rate at entry to the link, the ¯ow rate at time of exit from the link, and ®rst-in-®rst-out. Interdependence between current and past ¯ows on a spatial link are ensured by having weighted capacity constraints on subsets of time±space links. These ensure that, if there is denser trac ahead on a link, this will automatically block, and hence slow down, following trac on the link. At any point in time, the model allows several time±space ¯ows at dierent points along a link, and these may have dierent speeds and densities. This is particularly important in the case of long links, when modelling congestion building up or falling o over time.
Here we consider congestion only in the form of ¯ow dependent travel times along links, but the model can be extended to also include congestion in the form of a queues. For example, links may be divided into a travel link followed by a queue `link'. The delay and throughput on a queue link can be modelled dierently from the travel link.
dierence is suciently large, the present model may allow the fast trac to ``jump over'' the slow trac into the gap ahead of it, causing an FIFO violation.)
However, if FIFO violations do occur in an application of this model, it is immediately evident in the solution: a violation shows up as two or more utilised time±space links intersecting each other. In that case, we have a few options. If the FIFO violations are few and small, and perhaps not in critical areas of the network, then we could choose to ignore them. Alternatively, FIFO can be ensured by introducing additional nonconvex constraints (Carey, 1992), but this makes the mathematical programme much less tractable. These nonconvex constraints can be formulated as linear constraints with zero-one integer variables hence, if there are only a few FIFO violations, only a few integer variables may be needed, which may be tolerable.
An alternative more sophisticated approach would be to start the solution process with an initial trial set of time±space links, and repeatedly add or subtract appropriate time±space links in the course of the solution process. In this way we can ensure that no time±space links are in-troduced that would cross each other (hence violate FIFO). This sounds like the above integer programming approach, however, in ongoing research (Carey, 1997) we have found ecient and fast ways to do this, by iteratively revising the set of permissible time±space links, and not in-troducing any intersecting (FIFO violating) links. Each interim solution immediately indicates which time±space links to drop and which to add. However, this approach would take far too much space to set out, explore and test properly here, and will be discussed elsewhere (see Carey, 1997). In the present paper we are concerned with how the present model works without intro-ducing nonconvex constraints or new algorithms or methods to handle FIFO.
Quite independently of FIFO, there is also another phenomenon which occurs in mathematical programming models of network ¯ows over time, and which is of particular importance for road trac. This is the ``holding-back'' of ¯ows on links. If the time taken to traverse a link increases with the ¯ow rate on the link then, to minimise overall travel times or costs, it may be desirable to ``hold back'' trac from entering that link. That is, it may be optimal to take trac which has already entered a link and not let it exit until congestion on downstream links is lower, say wait until after the downstream peak. However, individual travellers would not choose to behave in such an altruistic way, and would not have the information available on which to base such decisions. Hence, if back appears in the solution, it can be interpreted as special holding-back ¯ow controls, which could be imposed by a suitable trac control system.
Note that such holding back of ¯ows over time cannot occur in static (single period) trac as-signment models, since by de®nition there is no time dimension in such models. Also, holding-back can and does commonly occur in dynamic network models not concerned with road trac (e.g., in models of production or distribution or air trac). But in these contexts holding back of ¯ows is not a problem, since it can be implemented in practice, and indeed is implemented in practice.
If holding-back trac controls are not permitted or contemplated in practice, then we would need to introduce additional constraints or methods to prevent holding-back in modelling trac ¯ows. Although the holding-back phenomenon is dierent from the FIFO phenomenon, it turns out that the methods outlined above for preventing FIFO can also be used to prevent holding-back. Indeed, in ongoing work (Carey, 1997) the algorithms designed to prevent FIFO violations also prevent holding-back.
under which the model satis®es this condition. In Section 4 we show that in the solution of the model some ¯ows may be ``held back'' on some links so as to reduce overall travel costs. This is consistent with the system optimising nature of the model, but it may or may not currently be possible to implement these ¯ow controls in practice. In Section 5 we illustrate the model for a small test network of 6 nodes and 7 links. In Section 6 we extend the model to allow multiple destinations, and in Section 7 we outline how the model and approach can be extended to user equilibrium. In Section 8 we conclude and indicate future work.
2. A single-destination model for dynamic congested ¯ows
Let a network be represented by a graphG fN;AgwhereAis a set of directed links, denoted j2A, and N  f1;. . .;k;. . .;ng is a set of nodes. We refer to this as the ``spatial'' network, to distinguish it from the ``time-expanded'' or dynamic network below. Let the planning horizon be divided into time periods t1;. . .;T of equal length, and construct a time-expanded network fromGas follows (see Fig. 1). Make a copy of the node setN for each periodt1. . .;T, so that
for each nodek there are nowT time±space nodes, denotedkt; t1;. . .;T. Then for each linkj in the spatial network construct a set of time±space links jts, joining the entry node of link j at
each timetto the exit nodes of linkjat all later timesst1;t2;. . .Thus for each spatial link
jwe have time±space links jts; s1;. . .;T; t1;. . .;T.
Letxjts denote the number of vehicles (the ¯ow) that enters spatial linkjin time period tand exits from it in periods. In the time±space network, this is the number of vehicles present on the
time±space linkjts. We assume that each time period is exactly one time unit in length, so that the
¯ow can also be referred to as the ¯ow rate:xjtscan be referred to as the in¯ow rate to the spatial link at timetor the out¯ow rate at times. The number of vehicles on the spatial link at timetis
referred to as the trac volume. This is equal to the sum of the ¯ows that entered beforet and have not yet exited at timet, i.e. the sum of all time±space link ¯owsxjt0s0 wheret0 <tands0>s.
We seldom refer to trac volume in this paper.
For notational convenience we will treat the variables xjts as if they are de®ned for all
st;. . .;T. However, in practice we need only de®ne ¯ows xjts (and links jts) for
st;. . .;tmj, where mj (or mjt) is an integer greater than the maximum number of time
periods needed to traverse link j. The advantage of this restriction on the set of xjts variables is that the number of these variables then increases only linearly rather than quadratically with T.
Let the exogenous demand (in¯ow) at node k in period tbe Ekt.
For convenience we will usually not explicitly distinguish between the spatial network and the time-expanded network, but the meaning should be clear from the context. Thus, for example, we refer to thetth copy of spatial nodek as ``nodek at timet'' and also as ``nodekt''. Similarly, the ``in¯ow to linkj at timet'' is equivalent to the ``¯ow on linkjts''.
Flow conservation, over space and time: Conservation of ¯ows requires that for each nodek at each timetthe total in¯ow should equal the total out¯ow. The out¯ow from nodekat timetis the sum of the ¯owsxjtswhich originate at timetand terminate at later times,st;. . .;T, on all links out kpointing out of node k. Similarly, the in¯ow to nodek at timetconsists of the exogenous in¯ow Ekt and the sum of the endogenous in¯owsxjst originating in earlier timess1;. . .;t, on the set of links in k pointing into node k. Thus ¯ow conservation states that,
X
A graphical illustration of this conservation equation for node k3 at time t4 is given in Fig. 1.
Travel time/cost: The aggregate travel time or cost experienced by the ¯owxjtswhich enters link j at time t and exits at time s, is xjts sÿt, hence the aggregate travel time/cost for all trac
entering the network within the time span of the model is
zX
2.1. Relationship between link ¯ow, trip time and cost
In this section we consider only a single link hence for simplicity we omit the link subscriptj. If the ¯ow rate on a link is constant, the relationship between the ¯ow ratexand the timestaken to traverse the link is the travel time functionsf x. In trac ¯ow theorysf x is assumed to be perhaps initially ¯at for low (free¯ow) trac ¯ow rates, then slope upwards as trac becomes more dense, and eventually perhaps bend backwards as increasing density causes the ¯ow rate to fall. In both static and dynamic trac assignment it is usually assumed that f x is a nonde-creasing convex function, which implies that it does not have a backward bending portion. In the model presented below we can formally include all of the above forms of f x, including a backward bendingf x, or anf xwhich becomes vertical. The latter corresponds to imposing an upper bound on the ¯ow rate. However, the fact that we can formally easily represent a backward bending f x does not imply that the model will behave well in that case.
It is convenient here to assume that f x is piecewise linear, since this allows us to map breakpoints off xonto the links of a time-expanded network (Fig. 2(a) and (b)). If the givenf x is nonlinear we can easily take a piecewise linear approximation. Let xi;f xi, i1;. . .;I, be breakpoints off x. To ensure integer trip times for the time±space links, choose the breakpoints of f xatf x 1;. . .;I, so that the breakpoints are (xi;i). Then, corresponding to each breakpoint (xi;i) off xin Fig. 2(b), construct a time±space link joining the entry node of linkjat timetto the exit node of linkjat timeti(Fig. 2(a)), and give this time±space link a capacityxifÿ1 i.
Reverting to our time notation t;s the trip times i0;. . .;I, on time±space links become
sÿt;st;. . .;T, so that the capacities of the time±space links are written as xixsÿt. For
notational simplicity in the rest of this paper we writexts instead ofxsÿt. (This also has the ad-vantage that it allows for the introduction of the trip time functionsf xthat depend on the time of entry to the link, thusft x.)
If the in¯ow xt to the spatial link is exactly at a breakpoint (say theith) in Fig. 2(b), then this in¯ow will all be assigned to the corresponding (ith) time±space link. Now suppose that the in¯ow xt to the spatial link lies between two break points off x, say betweenxtsandxt;s1. In that case,
xt can be written as xt atsxtsat;s1xt;s1 where atsat;s1 1, 06ats61. This can be inter-preted as a ¯ow ofxtsatsxtson the time±space link ts and a ¯ow of xt;s1 at;s1xt;s1 on the
time±space link t;s1. In general we do not know the link in¯owxt in advance, hence we do
not know which pair of break-points it will lie between. To allow for that write the piecewise linear functionf x, for eacht, as
f xt in X
This is a standard way of writing a piecewise linear function: constraints such as (3.3) are sometimes referred to as convexity constraints and (3.5) is referred to as a special ordered set (SOS) condition. But here we also de®ne
xtsatsxts 4 and interpretxtsas a ¯ow on a time±space link fromttos, so that (3.2) is interpreted as assigning the in¯owxt to a ``fan'' of time±space links.
The ``fans'' of in¯ows to a link, in periodst1;. . .;T, imply a fan of out¯ows in each periods.
with at most two neighbouring members
of the setfast; s1;. . .;tgbeing nonzero; 5:5
where thexst are constants computed fromxstfÿ1 tÿs.
2.2. An LP formulation of SO dynamic network assignment
We can now write a programme to minimise the total travel costs (2) subject to the conservation equations (1) and the piecewise linear trip time functions (3.1)±(3.5), (5.1)±(5.5) and (4). The latter equations are written above for a single link, hence to extend to all links in the network, introduce the link subscript j throughout, so that ats, xts, xts, and f xts become ajts, xjts, xjts and fj xjts. Eqs. (3.1), (3.2), (5.1), (5.2) are merely de®nitional and can be omitted. Then using xjtsajtsxjts from (4) to substitute forxjts in (1) and (2) gives the following linear programme.
Pa : minimise z fajtsg  terpreted as: Find the set of ¯owsxjts ajtsxjts on the time±space links to minimise total travel costs, given the exogenous travel demands. The constraints (6.3) ensure that, for trac entering each spatial linkjat timet, the average trip time is greater than or equal to that given by the link trip time function sjfj xjt in, as de®ned by the piecewise linearisation (3.1)±(3.5). Similarly, the constraints (6.4) ensure that, for trac exiting from each spatial link jat timet, the average trip time is greater than or equal to that given by the link trip time functionsjfj xjt out, as de®ned by (5.1)±(5.5). The cost minimizing objective function of Pa tends to force down the link trip times hence moving the above `greater than or equal to' towards `equal to', as discussed below.
Reasons for omitting the SOS constraints ((3.5), (5.5)) and writing the convexity constraints
Proposition 1.Let c xi;i1;. . .;I, be the break-points of an increasing convex function c x and
Proof.This is well known, see for example Bazaraa et al. (1993).
Corollary 1.Letc xts;s1;. . .;T, be the breakpoints of an increasing convex functionc xt, and
and the omitted condition(3.5) will be satis®ed.
Proof.This is just a change of notation.
Corollary 2.If the cost functionc xis the travel costc x xf x where the link trip time function
f x is nondecreasing and convex, then the corollary applies.
Proof. If f x is dierentiable then dc x=dxf x xdf x=dx, which is positive since
df x=dxP0, as f x is nondecreasing. Also, d2c x=dx22 df x=dxd2
f x=dx2, which is
nonnegative sincef xis nondecreasing and convex. Hencec xis convex and increasing. This can also be shown even iff xis not twice dierentiable.
In the present paper the costs we wish to minimise are the total travel timesc x (link ¯ow) (link trip time)xf x, and it is usual in trac assignment models to assume f x is non-decreasing and convex, hence Corollary 2 applies. From Corollary 2, (3.5) holds in the solution of Pt, so that at most two neighbouring time±space links are utilised. If only one is used, it will be used to capacity (i.e.,xts xts). If two are used the ¯ow is split between them in the ratioats to at;s1, and the utilised links tsand t;s1are shortest (lowest capacity) time±space links which
have the capacity to carry the ¯owxt while satisfyingatsat;s11.
Example: Illustrating how a change (fall) in the in¯ow rate can force (6.4) to be a strict in-equality rather than an in-equality. Consider the single spatial link illustrated in Fig. 3. Let the time± space link capacities be:
The in¯ow of 20 units in periodt2 takes exactly 2 periods to traverse the link (i.e. 2 f 20). This 20 is the only ¯ow which can now exit at t4:a2;4 x2;4=x2;4  20=20 1, hence any
further out¯ow at t4 would cause P4
s1as;4 >1, which would violate (6.4).
Now consider the (smaller) in¯ow of 5 units in the next period,t3. Since f 5 1, this 5 units would ``normally'' take exactly 1 period to traverse the link. But this would mean an ad-ditional 5 units exiting in period t4, which we have seen is not allowed. Hence these 5 units have to wait until period 5 to exit, thus takingtwoperiods instead of one to traverse the link: in eect the 5 units have been held back to allow the slower (denser) ¯ow ahead (which entered earlier) to exit from the link. Since x3;5 5 is less than the capacityx3;5 of the time±space link we
have a3;5  x3;5=x3;5  5=20 1=4, hence PTs3a3;s1=4, so that in this case (6.4) is a strict inequality.
More generally, we can show that if in¯ows to the link are decreasing over time, and if we have a ®ne discretisation of time, then in a solution of ProgramPa, normally (6.4) will yield equalities and (6.3) will yield strict inequalities (see also Section 3). The converse holds if in¯ows to the link are increasing over time. Letting (6.3) and (6.4) be inequalities can also lead to holding-back of trac on a link, which may or may not be acceptable in practice, as discussed in Section 4.
2.3. Reformulation of the dynamic SO program Pa with explicit ¯ow variables
Recall from (4) that xjtsajtsxjts hence ajtsxjts=xjts. Using this to substitute for ajts throughout Program Pa, we obtain an equivalent formulation in terms of xjtss rather than ajtss, that is, in terms of ¯ows on time±space links rather than in terms of their capacity utilisation rates.
Link trip time, tÿs f x: 0 1 2 ±
Capacity of time±space link,xts: 0 5 20 ±
Px : minimize z fxjtsg 
3. The ®rst-in-®rst-out (FIFO) or ``no passing'' condition
In a road trac network vehicles will, on average, exit from a link in the same chronological order in which they entered the link. Of course, individual vehicles may pass each other, but this is still consistent with stating an FIFO or ``no passing'' condition as follows: the ``typical'' or av-erage user entering a link in periodtwill exit from that link before (or as soon as) the typical user who enters the link in any later time period t0. The FIFO condition would be violated if, for example, trac which enters a link in period 3 exits in period 7 while trac which enters in period 4 exits beforeperiod 7 (say in period 6).
For the time±space network models Pa andPx, FIFO can be illustrated using Fig. 4(a) and (b). Fig. 4(a) shows the fans of time±space links that are available in programmesPa andPx. However, if a solutionPaorPxsatis®es FIFO then the sets of links actually used will look like Fig. 4(b). That is, only nonintersecting subsets of the time±space links are used. This implies that the link trip time (hence speed) of trac on the spatial link is aected by the trip time (hence speed) of trac ahead of it. For example, if more trac were to enter at timetthis would increase its trip time, so that some or all of it has to travel on longer time±space links. But to keep these utilised longer time±space links from intersecting with the next set of utilised time±space links (for trac entering in the next periodt1), the latter time±space links have to be adjusted, and so on.
Since the FIFO requirement refers to ¯ows within a single spatial link, it is easier to discuss it in the context of a single link model, thus
Pj: Same as ProgrammePa but for a single link (with all link subscripts jdropped) and with the in¯owsxt to the link in all periodst1;. . .;T, given.
This leaves only the case of increasing ¯ows followed by decreasing ¯ows. In an example below, we show that if the there is a sharp increase in in¯owsxt followed by a sharp decrease in in¯ows then a FIFO violation can occur. However, if there is a relatively smooth transition from in-creasing to dein-creasing in¯ows, then a FIFO violation will not occur. For example, in the nu-merical examples in Sections 5 and 6 below, the solutions all satisfy FIFO, even though the trac in¯ows change fairly rapidly from increasing to decreasing.
The above discussion and results are based on examining the single link programmePj. Pro-grammePaextendsPjto a network of such links, by introducing conservation equations at nodes. The results discussed here will hold for all links in Programme Pa if there is no holding-back of ¯ows on links, as discussed in Section 4. If holding-back of out¯ows occurs for some links for some time periods then, for those links and time periods, the FIFO results discussed here may not apply.
Example of an FIFO violation in ProgrammePa caused by a sharp rise and fall in in¯ows to a link. Consider a single spatial link with the following time±space link capacities,
Fig. 4. Time±space links available inPavs utilised inPa. (a) Time±space links available in programmeP, for spatial link
and in¯ows to the link in periodst1;2 and 3 as shown in Fig. 5. For expositional simplicity we have assumed in¯ows and link capacities such that the in¯ow in each period takes an exact integer number of time periods to traverse the link. Thus (Fig. 5) the in¯ows in periods 2 and 3 violate the FIFO condition, since they exit in periods 5 and 4, respectively, which is the reverse of the chronological order in which they entered.
If in the solution of Programme Pj, Pa or Px we ®nd that FIFO is violated for some links for some time periods, then we have two options. First, if the FIFO violation is quite small we may choose to ignore it. Second, if the FIFO condition is too large to ignore, we can introduce explicit constraints in the programme to prevent FIFO. Explicit FIFO constraints for a link can be stated formally as follows. Let`jt be the average time taken to traverse linkjfor ¯ow which entersj at timet, so that t`jtis the average time at which this ¯ow exits from linkj. Then FIFO for linkj can be stated as,
t`jt6 t0`
jt0 for all t0>t; t1;. . .;T: 8:1
Also,`jt can be computed as follows. Flow xjtstakes sÿtperiods to traverse linkj, hence the (weighted) average time taken to traverse linkj is,
`jt 
Substituting this in both sides of (8.1) gives FIFO as a nonlinear inequality constraint,
t X
Unfortunately, (8.3) can be shown to represent a nonconvex constraint set, and indeed any other method of formulating an explicit FIFO constraint here will inevitably result in a non-convex constraint set (see Carey, 1992). Nonnon-convex constraints can be handled in mathematical programmes, but they make the programme much more dicult both computationally and analytically. Trac network programmes for realistic urban road networks tend to have very large numbers of variables and constraints, usually thousands when we take account of links needed to represent turning movements at intersections or junctions. When we also introduce T time periods, as in Programmes Pa orPx, this multiplies the network size by approximately T to give a time±space network. If explicit FIFO constraints (8.3) are needed for a large proportion of these links then the programme may become dicult or impractical to solve in a reasonable time.
Above we mentioned two options for dealing with FIFO violations. There is of course a third option, namely switch to some alternative modelling approach. If signi®cant FIFO vio-lations occur or if, in advance, we fear they may occur, and we do not wish to introduce explicit FIFO constraints, or ®nd this impractical, we may seek a dierent modelling approach. It seems that FIFO violations can occur in Pa or Px if there is a relatively sharp switch from increasing to decreasing in¯ows to some links. Hence we might check the travel demand data in advance to see if it contains such ¯uctuations, and if so then seek a dierent approach. The problem with this option is that alternative modelling approaches for dynamic trac assign-ment seem to either have FIFO problems of their own or contain some other serious problems or limitations.
4. Holding back of ¯ows ± or a form of optimal ¯ow control
In computational examples, and in Propositions 2 and 4, we ®nd that the solutions of Pro-grammesPa orPxsometimes exhibits a property which we refer to as holding-back of ¯ows. That is, the ¯ows exit from some link in some time periods at less than the maximum or `natural' out¯ow rate for that link. By the natural out¯ow rate we mean the rate that would occur if we applied Programme Pa to that single link on its own, using exactly the same link in¯ows
(xjt; t1;. . .;T) as occurred in the network modelPa.
Left to themselves, road users would not hold back on a link because of congestion on later links. However, this holding-back behaviour is perfectly understandable in a system optimising trac model. A system optimizer may wish to reduce the out¯ow rate from a link, or the speed at which the ¯ow x traverses a link, in order to prevent that trac from running into and exacer-bating congestion on later links downstream. Such a reduction in the speed (hence the out¯ow rate) for a link will increase the aggregate travel time/cost for that link, but this increase may be more than compensated for by reducing congestion on later links down stream. The system op-timiser may wish to hold back such ¯ows until the congestion on later links downstream has diminished.
Proposition 2.Consider the cost curve c x xf x de®ned by the piecewise function
cjt xjt in 
XT
st
ajtsxjtsfj xjts 9
subject to(6.3)and(6.5)andxjt in PT
stajtsxjts. Then as illustrated in Fig.6(a),all points in the
shaded area(between the curve and the chord from the origin to the rightmost break-point) can be achieved,
Fig. 6. (a) Points (shaded) attainable in ProgrammePaorPx; (b) Total time or cost cxsincurred traversing a link;
(a) by allowing(6.3)to be a strict inequalityPT
stajts<1,and/or
(b) by allowingnonneighbouring members of fajts; st;. . .;Tg to be nonzero.
Conversely, neither(a)nor(b),nor any combination thereof,can generate any points outside of the shaded area.
Remark.Both (a) and (b) are allowed in Program Pa.
Proof. Eqs. (9), (6.3) and (6.5) de®ne all points on the line cxf x. Under relaxation (b), the
Eqs. (9), (6.3) and (6.5) are simply a de®nition of all convex combinations of the points on the curvecxf x, and these points de®ne the shaded region in Fig. 6(a). Sincecxf xis a convex function the shaded region is always above the curve.
Under relaxation (a), Eqs. (9), (6.3) and (6.5) are simply a de®nition of all points on chords from the origin to the curve cxf x, and again these points de®ne the shaded region in Fig. 6(a). And again, sincecxf x is a convex function the shaded region is always above the curve.
Corollary 3.In the proposition the link ¯ow is de®ned as the in¯owxjt into the spatial link. We can
also state the proposition for out¯ows xjt out Pt
s1ajstxjst from the spatial link. To do that,
replace (9) with cjt 
Pt
s1ajstxjstfj xjst; replace (6.3) with (6.4), and in (b) change the set to fajst; s1;. . .;tg.
The above proposition helps motivate dropping the requirement that at most two neighbouring members of the sets fajts; st;. . .;Tgand fajst; s1;. . .;tgbe nonzero. This allows the solu-tion to behave as a system-optimizing ¯ow controller, setting/enforcing travel times/costs which are greater on some links than those given by the cost function xf x.
Proposition 3. Points in the shaded area above the total time/cost curve in Fig. 6(b) correspond to
points in the shaded area above the trip time curve in Fig.6(c).That is,the boundary ABCDA in6(b)
corresponds to the boundaryA0BCDA00A0 in6(c).
Proof. If c>xf x then c=x>f x, if cxf x then c=x f x, and if c<xf x then c=x<f x. Thus, points above/on/below the cxf x function in Fig. 6(b) map into points above/on/below respectively thesf xcurve in Fig. 6(c).
Now consider the samexvalue, sayxx1, in Fig. 6(b) and (c). Atxx1 in 6(b) the total cost
on the dashed line ABC isx1f xmax. In 6(c) the total cost atCiscBxmaxf xmaxhence, by similar
triangles, the total cost at B is cB  x1=xmaxcC x1=xmaxxmaxf xmax x1f xmax. That is, the
point B in 6(b) maps into point B in 6(c). Butxx1was chosen arbitrarily, hence the line ABC in
6(b) maps onto the line A0BC in 6(c).
Proposition 4.In ProgrammePa (orPx)above,the solution can include link ¯ows which are delayed or held back on a link, or links, for the sole purpose of preventing these ¯ows from running into and exacerbating congestion on links downstream. These link ¯ows correspond to points in the shaded areas above the cost/time curves in Fig.6(b) and(c).
Such delays can occur even if the travel time functions sfj x, from which the capacities
xjtsfjÿ1 sÿt of time±space links are computed, are strictly convex increasing functions.
Remark. Although this proposition may seem somewhat unsurprising, it contrasts with the
behaviour of an alternative dynamic model for congested network ¯ows, in Carey (1987). In that model (Theorems 1 and 2) no ¯ows will be held back from exiting from a link (``¯ow controls'' will be zero) if the link travel time functions fj x are convex increasing. (In Carey (1987), the link capacities xfÿ1
j s do not appear explicitly in the model. Instead, a ¯ow-density function is used, derived fromfj x.)
Proof.To prove the proposition we need only give an illustrative example, which is keep as simple
as possible. Consider the simple 3 node, 2 link network in Fig. 7, with each link having the following link trip time schedule.
Link trip time, sÿt f xts 0 1 2 3 4
Capacity of time±space link,xts 0 5 10 13 15
Let the exogenous in¯ow at node 1 in period 1 be 5 units and the exogenous in¯ow at node 2 in period 2 be 20 units. Two alternative feasible ways of assigning these ¯ows are illustrated in Fig. 7. Feasibleassignment Ais shown by the broken lines, and incurs a total cost of 5 1  510 4 65 time units. The assignment is based on choosing link trip times exactly as in the above schedule: this is equivalent to choosing pointsonthe cost functionsxf xandf xin Fig. 6(b) and (c) respectively.
Feasibleassignment B is the solution provided by Programme Pa (or Px) and is shown by the solid lines in Fig. 7. This solution incurs a total cost of 5 2 5 2 10 2 40 time units, which is an improvement on assignment A. Note that the 5 units which enter at node 1 taketwo(instead of one) period to traverse link 1. This ensures that these 5 units enter node 2 when congestion is lower, at t2 instead of att1. The proposition follows immediately.
In various runs of ProgrammePa (Section 5) we ®nd that, for some links and time periods, the solution does indeed display the properties (a) and (b) of Proposition 2 above. In the case of property (b), we found that occasionally a set of three or four (rather than two) neighbouringajtss were nonzero.
5. A single-destination example
In this section, we present the solution of the single-destination modelPxfor the simple 6 node, 7 link network shown in Fig. 8. Nodes 1±5 are treated as origins and the matrix of travel demands between these origins and the destination node 6 is given in Table 1. All 7 links are assumed to have the same piecewise linear trip time function, given in Table 2. The planning interval is di-vided into 20 time periods.
Given this data we solved the linear Programme Px using a standard linear programming package. The solution is illustrated for link 7 in Fig. 9, which shows that the in¯ows, out¯ows and the total volume on link 7 all build up to a peak and then fall o again to zero. The vertical distance between the cumulative in¯ow and out¯ow curves in Fig. 9 shows the volume on the link at that time, and the horizontal distance represents the link trip time`t. The eect of congestion on
link trip times can be seen clearly in the graph. For example, it can be seen that a user entering at
Fig. 9. Cumulative in¯ow±out¯ow pattern for link 7. Table 2
Link trip time schedule for examples in Sections 5 and 6
Link trip time sÿt Link ¯ow capacityxts Link trip time sÿt Link ¯ow capacityxts
1 0.0100 10 116.1895
2 32.7298 11 122.4745
3 54.7723 12 128.4593
4 67.0820 13 134.1641
5 77.4597 14 139.6424
6 86.6025 15 144.9138
7 94.8683 16 150.0000
8 102.4695 17 154.9193
9 109.5445 18 159.6872
19 164.3168
Table 1
Exogenous in¯ows into nodes over time
Time period of entry 1 2 3 4 5 6 7 8 9 10 11±20
In¯ow into nodes 1, 2, 5 5 10 15 20 20 15 10 5 0 0 0
the peak (periodst6 tot9) encounters a higher trip time `6than a user entering during the
fall-o from the peak (e.g., `10).
The average travel times for users entering node 1 in time periods 4 and 7 were computed for all three possible origin±destination (OD) paths (Table 3). There is a signi®cant dierence between the travel times associated with dierent starting times (t4 and t7), since the travel times depend on congestion encountered at the time of travel. Even for trac entering the same node (say node 1) at the same time (t7), the average travel times for the three paths dier by up to 15%: we do not expect them to be equal as this is a system optimum not a user equilibrium.
The increase in path travel times associated with congestion in this model is due not only to (a) the link trip timessjfj increasing with link in¯ow or out¯ow rates, but also due to (b) trac being held back on some relatively uncongested links so as to prevent them running into even worse congestion downstream. This ``controlled'' trac ¯ow is gradually released as congestion down-stream clears. This is illustrated in Fig. 10 which shows, for link 3 for all time periods, the dierence between the system optimal travel time and the theoretical minimum travel time. The latter is computed by applying the link trip time functionfj xto the link in¯ows and out¯ows. Our ex-perience with testing the model on several networks con®rms the intuition that the system optimal
Table 3
Average travel times on paths, for users entering at node 1
Time of entry at node 1 Path 1±3±6 Path 1±5±7 Path 2±4±7
t4 5.05414 4.49278 4.88095
t7 4.80348 4.13099 4.29476
solution tends to delay some users on earlier links so as to force these users to arrive at later links when congestion is lower. For the same reason, for links leading directly into the destination node, there is no dierence between the system optimal travel time and the minimum travel time.
6. Multiple commodities or destinations
The single-destination model Pa (or Px) presented in Section 2 above can now be extended to handle multiple destinations or multiple commodities. LetD be the set of destination nodes: we will refer to trac bound for destinationd2Das trac typed. Then extend modelPaas follows: (a) Change the variablesajtstoadjts and the constantsEkttoEdkt. (In the Px formulation of the programme change the variablesxjts toxdjts, but do not change the constantsxjts toxdjts.) (b) Repeat the ¯ow conservation equations (6.2) and the nonnegativities (6.5), for all ¯ow types d2D.
(c) Sum the objective function over all ¯ow typesd2D. (d) The aggregate in¯ow to linkjat timetisxjt in P
d2D
PT
stxdjtsand the aggregate out¯ow from linkj at timet isxjt out 
P
d2D
Pt
s1xdjst. To ensure that these aggregate in¯ows and out¯ows are consistent with the link trip time functions and yield the appropriate travel cost function, we repeat the analysis of Section 2 with appropriate minor changes. A result of this is that the constraints (6.3) and (6.4) in modelPaabove become constraints (10.3) and (10.4) in modelM below.
A multiple destination, or multiple trac type, model for least cost dynamic trac ¯ows can now be stated as: typesd 2D, the model can be viewed as the aggregation of the single-destination models for each trac type, with the link trip times and time±space paths determined by the aggregate ¯ows (i.e. summed overd 2D).
in Fig. 11. Nodes 1±4 are treated as origins, nodes 4 and 5 are treated as destinations, and the matrix of OD demands is given in Table 4. All four links are assumed to have the same piecewise linear link trip time function, given in Table 2.
Given the above data we solved ProgrammeMausing a standard linear programming package. In the solution, the link and path trip times and ¯ow rates built up to a peak and fell o again, in a similar way to that shown for the single-destination example in Figs. 9 and 10. For example, trac which entered link 1 at time t4 and exited at node 4 took 7.101 minutes for the trip. Trac which made the same journey but entered at timet5, took 6.473 min. The time needed for the trip in completely uncongested conditions is 3 min.
7. Extending to user equilibrium
First consider why the system optimum obtained from Program Px (or equivalently Pa) is in general not a user equilibrium. Program Px has one characteristic in common with user equilib-rium: the trip time sÿt on each time±space link is the actual trip time perceived by a user.
However, the time±space paths obtained in a solution of ProgramPxare not necessarily the time± space paths that would be freely chosen by users. The users are ``forced'' or constrained in their choices of time±space paths by the convexity constraints (6.3) and (6.4), or equivalently con-straints (6.3) and (6.4) in Pa. As a result the solution is not normally a user equilibrium.
This can be stated more formally as follows. SincePxis a LP its solution is equivalent to solving a set of Kuhn±Tucker conditions (equivalent to the primal and dual constraints of the LP plus complementarity conditions). If we write out the Kuhn±Tucker conditions then by rearranging them we can show that, for users entering the network at any given time±space nodetk, the trip cost on all utilised paths from there to a destination are equal, where the path costs consist of:
(a) the user perceived cost of the path (i.e. the sum of the trip times sÿton all time±space
links on the path), plus,
(b) a cost associated with satisfying the convexity constraints (7.3) and (7.4) (i.e. the sum of koutÿkin on all time±space links on the path, where kout and kin are the dual variables asso-ciated with (7.4) and (7.3), respectively).
Fig. 11. A simple corridor network.
Table 4
Exogenous in¯ows at each node 1±4 of Fig. 11
Time period,t 1 2 3 4 5 6 7 8 9 10±20
Exogenous in¯ow at nodes k1±3, for destinationd4
0 0 5 10 14 18 14 10 5 0
Exogenous in¯ow at nodes k1±4, for destinationd5
If the terms in (b) are all zero the path costs reduce to the user-perceived costs in (a), so that we have a user equilibrium. The terms in (b) will be zero if we omit the constraints (7.3) and (7.4). In view of this we have elsewhere (Carey, 1997) devised a user equilibrium assignment model that can be stated roughly as follows. The model is similar toPx, except that it omits the constraints (7.3) and (7.4) from the LP and instead uses an iterative procedure to ensure that these constraints (7.3) and (7.4) will be satis®ed without actually including them as explicit constraints in the LP. In the iterative procedure, instead of constructing a complete fan of time± space links jts; s1;. . .; we construct only the time±space links that we think will be used in
the solution. If we have chosen correctly then Eqs. (7.3) and (7.4) will not be needed to con-strain the ¯ows to the appropriate time±space links, hence we can omit them. To implement this procedure, ®rst ``guess'' which time±space links will be used, and solve the LP including only these time±space links. If in the LP solution the ¯ow assigned to any time±space link jts is
greater (OR less) than the ¯ow calculated from the link trip time function (greater OR less than fjÿ1 sÿt), then remove this time±space link jtsand insert a new time±space link jts0 wheres0is larger (smaller) than s. Solve the new LP, and repeat the process until it converges. This model and algorithm are set out in detail in Carey (1997), where it is shown that at convergence the solution is a user equilibrium.
8. Concluding remarks
We have developed a new model for time-varying trac assignment on a congested network. The formulation utilizes a time-expanded network, and allows the time taken to traverse each link to vary endogenously with the ¯ow rate for trac entering or exiting the link, and be aected by trac ahead on the link. We have explored the properties of the model and solutions, developed a single-destination and a multiple-destination version of the model and illustrated these with simple network examples. We observe that the behaviour of the solutions is consistent with in-tuition and with analogies from static network models.
The model (Programme Pa or Px) is linear and can be solved using a standard linear pro-gramming package. For a single-destination network with n spatial nodes, J links and T time periods, the number of constraints is at most n2JT which increases linearly withJ and T. Also, for each time period t and link j we have (T ÿt) time±space ¯ow variables, ajt;t1,
ajt;t2;. . .;ajt;T, henceJT2=2 variables in all. However, many of these are not needed. Letmbe an
estimate of the maximum number of time periods needed to traverse any link in the network. Then for each time periodtand linkjwe need de®ne onlymvariables,ajt;t1;. . .;ajt;tm, henceJTm variables in all. Thus the number of variables increases onlylinearlywithT andJ. In the multiple-destination modelM the number of constraints is njDj 2JT and the number of variables is at mostjDjJTm. Thus again the number of constraints and variables increases only linearly with each of the problem dimensionsjDj;n;J and T, taken separately.
time structure which may be exploited to develop faster, more ecient solution algorithms, but we do not pursue this further here.
ProgrammePx can also be viewed as a standard linear least cost network ¯ow problems (7.1), (7.2) and 7.5) subject to generalised upper bound constraints (7.3) and (7.4). The alternative formulation Pa can be viewed as ageneralizedleast cost network problems (6.1), (6.2) and (6.5), again subject to additional nonnetwork type side constraints (6.3) and (6.4). There are special purpose codes available to solve such least cost network problems that have additional nonnet-work type side constraints (for example McBride, 1985; Kennington and Whisman, 1990).
The present paper presents a system optimisation version of the model. In future work we will present a user equilibrium version and the relationships between the two versions. Also, as mentioned earlier, we are developing extensions of the present model (Carey, 1997) in which FIFO violations and holding back of ¯ows will be automatically prevented. The approach developed here can be extended in other ways. For example, we here concentrate on congestion in the form of delays along links. This can be extended to include congestion in the form of a queue at the exit end of each link, for some or all links. To introduce this, divide each link into two parts or links, a travel link and a queueing link.
Acknowledgements
This research was supported by grants GR/J/53171 and GR/L/80904 from the UK Engineering and Physical Sciences Research Council (EPSRC). An earlier version of this paper (Carey, 1984) was ®rst presented and distributed at the ORSA/TIMS conference in San Francisco on 15 May 1984, and was later presented at meetings in Pittsburg, London and Lyon. All computations in that paper were done by Eswaran Subrahmanian. However, since proceedings were not published, some colleagues have over the years asked us to submit the paper for publication and we would like to thank them for their advice. Other activities and projects intervened to cause a long delay in submitting for formal publication. Surprisingly, the paper does not appear to have been su-perseded by later work. The models and numerical examples in the paper are unchanged from Carey (1984). However, the discussion and references have had to be revised in the light of de-velopments in the past 14 years.
Appendix A. Propositions about FIFO, for Section 3
The following two proposition are concerned with ProgrammePj, and are referred to just after setting out Programme Pj in Section 3. Proposition A.1 is needed to prove Proposition A.2. Programme Pj can be set out more fully as follows.
XT
(a)If the in¯owsxt into link j are increasing (or nondecreasing) over time,then ProgrammePj
reduces to T separate programmes, in which constraints of type (A.4) are automatically satis®ed without being explicitly included. That is, it reduces to t1;. . .;T; independent programmes of the form,
(b) Similarly, if the in¯ows xt (in) to link j are decreasing (or nonincreasing) over time, then Programme Pj reduces to T separate programmes in which constraints of type (A.3)are
au-tomatically satis®ed without being explicitly included. That is, it reduces to t1;. . .;T;
in-Proof.(a) We proceed as follows. ConsiderT separate programmes of typePjt, one for each period
t1;. . .;T. We show that the solution of theseT programmes satis®es the constraints ofPj. But
the objective function ofPjis the sum of the objective functions of theT programmes of typePjt. Hence no solution ofPj can improve on the set of solutions from theT separate programmes of typePjt.
ConsiderT separate programmes of typePjt, one for each periodt1;. . .;T. Consider theat;ss
from the solution of ProgrammePjt, and theat1;ss from the solution ProgrammePj;t1. Theseat;ss
andat1;ss satisfy the constraints (A.3) ofPjsince the latter are the same as the constraints (A.3) of thePjts. It remains only to show that theseat;ss andat1;ss satisfy the constraints (A.4) ofPj. We do
that as follows.
It follows from Proposition 1 that the in¯owxt may be split into at most two components,xt;s and xt;s1, which correspond to two neighbouring break-points of f x, as in Fig. 2. Suppose xt andxt1lie between the same pair of break-points off x, say`and `1. Then in Programme
Pjt the two components of xt exit from the link at times (t`) and (t`1), and the two components ofxt1 exit at times t1 `and ( t1 `1). Forxt the two utilised break-point weights areat;`andat;`1, and forxt1they areat1;`andat1;`1. By assumption (a),xt6xt1
at;t`Pat1; t1`: 1
But from (A.3),
at;t`at;t`1 1: 2
Using (*1) to substitute for at;t` in (*2) gives
at1; t1`at;t`161 3
which is precisely (A.4) for periodt1`. And sincetwas chosen arbitrarily (A.4) holds for all periodst1`;t1;. . .;T.
(b) The proof is similar to that for (a), with appropriate changes of notation.
Proposition A.2. Any solution of Programme Pj will satisfy FIFO if, over time t1;. . .;T; the
in¯ows xt (in) are (a) nondecreasing or (b) nonincreasing or (c) constant.
Proof.(a) Increasing (or at least nondecreasing) in¯ows over time.
If the in¯ows are nondecreasing over time then, from Proposition A.1, ProgrammePj reduces toT separate programmes of typePjt, each with a constraint of type (A.3) and no constraints of type (A.4). Hence in this proof we need consider only ProgrammePjt.
In¯ows non-decreasing over time means in¯ows xt6xt1. Then, since f0 xP0, we have link
trip times f xt6f xt1, hencetf xt6 t1 f xt1, which is the FIFO condition.
How-ever, in a solution of ProgrammePjtthese ¯ows may be split into components on time±space links from ttos and we have to prove FIFO for these components.
It follows from Proposition 1 that the in¯owxt may be split into at most two components, xts and xt;s1, which take times f xtjD and f xtjD1 respectively to traverse the link, where t f xtjDmeanstf xtrounded down to the nearest integer. Hence these components ofxtexit at times tf xtjD and tf xtjD1. Similarly, the in¯ow xt1 may be split into at most two
components, which exit at times t1 f xt1jD and t1 f xt1jD1. Thus, the latest
exit time for a component of the in¯ow xt is (tf xtjD1) and the earliest exit time for a component of in¯owxt1 is t1 f xt1jD1. But
tf xtjD16 t1 f xt1jD1;
since we have already shownf xt6f xt1. Hence FIFO holds.
(b) Decreasing (or at least nonincreasing) in¯ows over time. The proof here is as above with appropriate minor changes. In particular, if the in¯ows are non-increasing over time then, from Proposition A.1, ProgrammePj reduces to T separate programmes of type Pjt, each with a con-straint of type (A.4) and no concon-straints of type (A.3). That is, the `convexity' concon-straints apply at theexitof the spatial link rather than at the entrance. This changes the notation in the proof but it is otherwise the same.
(c) In¯ows constant over time are simply a special case of (a) or (b) above.
References
Bazaraa, M.S., Sherali H.D., Shetty C.M., 1993. Nonlinear Programming: Theory and Algorithms. Wiley, New York. Carey, M., 1984. Exploring time varying ¯ows on congested networks. Carnegie Mellon University, Pittsburgh, PA.
Carey, M., 1987. Optimal time-varying ¯ows on congested networks. Operations Research 35 (1), 56±69. Carey, M., 1992. Nonconvexity of the dynamic trac assignment problem. Transp. Res. B 26 (2), 127±133.
Carey, M., 1997. A framework for dynamic trac assignment: models and algorithms. Research Report, Faculty of Business and Management, Univ. of Ulster, N. Ireland, BT37 0QB.
Chen, H.-K., Hsueh, C.-F., 1998. A model and an algorithm for the dynamic user-optimal route choice problem. Transp. Res. B 32 (3), 219±234.
Fox, K. (Ed.), 1997. Review of micro-simulation models. http://www.its.leeds.ac.uk/ smartest/. Deliverable No. 3 of the SMARTEST (Simulation Modelling Applied to Road Transport European Scheme Tests) Project. Institute of Transport Studies, Leeds University, Leeds, England.
Friesz, T.L., Luque, J., Tobin, R.L., Wie, B.-W., 1989. Dynamic network trac assignment considered as a continuous time optimal control problem. Operations Research 37 (6), 893±901.
Friesz, T.L., Bernstein, D., Smith, T.E., Tobin, R.L., Wie, B.-W., 1993. A variational inequality formulation of the dynamic network user equilibrium problem. Operations Research 41 (1), 179±191.
Gartner, N., Messer, C.J., Rathi, A.K. (Eds.), 1997. Trac ¯ow theory: a state of the art report. http://stargate.ornl. gov/trb/tft.html. This is an update and expansion of Trac Flow Theory, Special Report 165. Transportation Research Board, USA.
Janson, B.N., 1991. Dynamic trac assignment for urban road networks. Transp. Res. B 25, 143±161.
Kennington, J.L., Whisman, A., 1990. Netside User's Guide. Technical Report 90-CSE-37, Department of Computer Science and Engineering, Southern Methodist University, Dallas, TX.
Lam, W.H.K., Huang, H.-J., 1995. Dynamic user optimal trac assignment model for many to one travel demand. Transp. Res. B 29 (4), 243±259.
Mahmassani, H.S., Peeta, S., 1995. System optimal dynamic assignment for electronic route guidance in a congested trac network, In: Gartner, N.H., Improta, G. (Eds.), Urban trac networks: dynamic ¯ow modelling and control. Springer, London, pp. 3±37.
Merchant, D.K., Nemhauser, G.L., 1978. A model and an algorithm for the dynamic trac assignment problem. Transp. Science 12 (3), 183±199.
McBride, R., 1985. Solving embedded generalized network problems. Eur. J. Oper. Res. 21, 82±92.
Ran, B., Boyce, D., 1994. Dynamic Urban Transportation Network Models ± Theory and Implications for Intelligent Vehicle-Highway Systems, Lecture notes in Economics and Mathematical Systems 417. Springer, Heidelberg. Ran, B., Boyce, D., 1996. Modelling Dynamic Transportation Networks. Springer, Heidelberg.