A TRACKING ALGORITHM FOR CAR PATHS ON ROAD NETWORKS GABRIELLA BRETTI
AND BENEDETTO PICCOLI ∗
Abstract. In this paper we introduce a computation algorithm to trace car paths on road networks, whose load evolution is modeled by conservation laws. This algorithm is composed by two parts: computation of solutions to conservation equations on each road and localization of car position resulting by interactions with waves produced on roads. Some applications and examples to describe the behavior of a driver traveling in a road network are showed. Moreover a convergence result for wave front tracking approximate solutions, with BV initial data on a single road is established. Key words. conservation laws, discontinuous ordinary differential equations, finite difference schemes, fluid-dynamic models, traffic flow AMS subject classifications. 35L65, 65L05, 34B45, 90B10, 90B20
1. Introduction. Consider the Lighthill-Whitham and Richards traffic flow model [17, 18]: ½ ∂t ρ + ∂x f (ρ) = 0, (1.1) ρ(0, x) = ρ¯(x), where ρ = ρ(t, x) is the car density, with ρ ∈ [0, ρmax ], (t, x) ∈ R+ × R, and ρ¯ a suitable initial datum. The flux f (ρ), assumed to be strictly concave, can be written as f (ρ) = ρv, where the average velocity of cars v is assumed to be a smooth strictly decreasing function of the density ρ. Suppose that a driver travels along a road, whose load is modeled by (1.1), being influenced by traffic along the road but without influencing it significantly. Then, the driver’s position x = x(t) can be obtained solving the following Cauchy problem: ½ x˙ = v(ρ(t, x)), (1.2) x(t¯) = x ¯, with x ¯ the position at initial time t¯ > 0. Notice that ρ is, in general, a discontinuous function. We look for numerical methods to find solutions to the problem (1.1)-(1.2), which was recently studied from theoretical point of view by Colombo and Marson in [6, 7]. Note that the speed of the driver v in (1.2) needs not be identical to the overall mean traffic speed in the flow in (1.1). Therefore the assumptions could be significantly relaxed and generalized as in [6]. Fluid-dynamic models can describe macroscopic phenomena as shock formation and propagation. Since they can develop discontinuities in finite time even starting from smooth initial data, the study of the analytical and numerical aspects is fundamental. In the papers [4, 5, 8, 13], some models for flows on networks based on the conservation law formulation (1.1) were proposed, and existence of solutions to Cauchy problems was proved. In particular, in [5] some rules to uniquely solve Riemann problems at junctions, where interactions between roads in the network occur, were introduced. In [3] some numerical approximations of the traffic models described in [4, 5] were provided. Moreover a simulation algorithm using Godunov scheme with boundary ∗ Istituto per le Applicazioni del Calcolo “M.Picone”, Rome, Italy, 00161 (
[email protected],
[email protected]).
1
2
G. BRETTI AND B. PICCOLI
conditions at junctions was implemented and tested. Here we present a simulation algorithm to trace the trajectory of a car traveling in a road network. The approximation procedure is composed by the following two parts: • the solutions to (1.1) on each road of the network are computed by Wave Front Tracking (WFT), [1, 14], or by Godunov scheme, [10, 16]; • the problem (1.2) is solved tracing car position through a procedure which takes into consideration interactions between the car trajectory and the (shock or rarefaction) waves on each road. Focusing on bounded variation data we establish a convergence result for the approximate solution on a single road, obtained by WFT technique, towards the solution of (1.1)-(1.2). While theoretical approaches do not provide a convergence rate, see for instance [6], we are able to give an explicit linear convergence rate expressed in terms of total variation of initial datum of density, namely T V (¯ ρ), see Theorem 4.4 formula (4.15). Then we apply the algorithm to measure the efficiency of a traffic circle. Simulations are run to test as the total travel time of a driver is influenced by the right of way parameters. It is shown, as intuition may suggest, that the best choice corresponds to traffic inside the circle having priority with respect to incoming one. In the opposite situation, the circle may even come to a complete stuck. The case of car accidents on highways is also considered. We can give accurate estimates of the travelling times, assuming to know the accident removal time. Such information is particularly interesting since static estimates are of low quality. The paper is organized as follows. Section 2 is devoted to the description of the problem. The approximation algorithm is described in Section 3 and in Section 4 theoretical results of convergence for WFT are presented. In Section 5 we propose an application of the approximation algorithm to determine the trajectory of a car moving into a portion of urban network represented by a traffic circle and into a single road when a car accident occurs. Related animations are reported on the web page [2]. 2. Background. To construct solutions to Cauchy problems to (1.1) it is important to solve Riemann problems, which are Cauchy problems with initial data of Heaviside type. If f is convex or concave, then there exist centered solutions (i.e. constant along rays xt ) consisting of a single wave, either a shock or a rarefaction. For instance, if f is concave and the initial datum is: ½ ρl , x < 0, ρ¯(x) = (2.1) ρr , x > 0, with ρl and ρr fixed constants, then the solution is a shock (if ρl ≤ ρr ): (ρl ) if x ≤ f (ρρrr)−f t, ρl −ρl ρ(t, x) = (ρl ) ρ if x > f (ρρrr)−f t, r −ρl or a rarefaction (if ρl > ρr ): 0 ρl ¡ ¢ if0 x ≤ f (ρl )t, 0 0 −1 x (f ) f (ρl )t ≤ x ≤ f (ρr )t, ρ(t, x) = t ρr if x > f 0 (ρr )t.
(2.2)
(2.3)
For (1.1), the velocity and the flux function are required to satisfy the following assumptions:
3
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
(H) v 0 (ρ) < 0 and f is smooth and strictly concave. A road network is given by a finite number of roads modeled by intervals [ai , bi ], i = 1, . . . , N , that meet at some junctions. We call Riemann problem for a road network a Cauchy problem with constant initial datum on each road. For roads endpoints not linked to any junction also boundary data are required and the corresponding boundary problem is solved. In treating networks, the main difficulty is the fact that the system at a junction is under-determined even imposing the conservation of cars. The latter can be expressed by the Rankine-Hugoniot condition at the junction: n X
f (ρi (t, bi )) =
i=1
n+m X
f (ρj (t, aj )),
j=n+1
where ρi , i = 1, . . . , n, and ρj , j = n + 1, . . . , n + m, are the car densities, respectively, on incoming and outgoing roads. To uniquely solve Riemann problems at junctions, as in [5], we make the following assumptions: (A) there are some fixed coefficients, which depend on drivers preferences, expressing the distribution of traffic from incoming to outgoing roads; (B) respecting (A), drivers behave in order to maximize the flow through junctions. To deal with rule (A) we fix a matrix, called traffic distribution matrix: A = {αji }j=n+1,...,n+m,i=1,...,n
∈
Rm×n
, with 0 < αji < 1,
n+m X
αji = 1,
j=n+1
for i = 1, . . . , n and j = n + 1, . . . , n + m, where αji represents the percentage of drivers arriving from the i-th incoming road that take the j-th outgoing road. In [13] an approach based only on the maximization of a function, e.g. flux, was proposed. In [5] it was proved the existence of solutions to Cauchy problems respecting rules (A) and (B). In the case m < n it is necessary to introduce a further rule, see [4]. If, for example, m = 1, n = 2, we fix a right of way parameter q ∈]0, 1[ and assume the following rule: (C) Assume that not all cars can enter the outgoing road and C is the quantity that can do it. Then qC cars come from first incoming road and (1 − q)C cars from the second. The rule (C) allows us to uniquely solve Riemann problems. Let us now briefly describe how solutions to Riemann problems are computed, for the details the reader is referred to [5]. We look for solutions to problem (1.1) with a single wave on each road. Rules (A)-(B) give rise to a linear programming problem. In particular, rule (B) consists in the maximization of a linear functional on a convex region determined by rule (A). More precisely, initial data of roads linked on the right (incoming roads) or on the left (outgoing roads) and constraints on the sign of waves speed, determine the region where incoming fluxes are maximized. Fix constant initial data ρi,0 on each incoming road and ρj,0 on each outgoing road. The densities of cars on the incoming roads are indicated by ρi (t, x) : R+ × Ii → [0, 1], i ∈ {1, . . . , n} and on the outgoing roads by ρj (t, x) : R+ × Ij → [0, 1], j ∈ {1, . . . , m}. Let τ : [0, 1] 7→ [0, 1], be the continuous map such that f (τ (ρ)) = f (ρ),
4
G. BRETTI AND B. PICCOLI
and τ (ρ) 6= ρ for each ρ 6= σ. We define the densities ρˆi , ρˆj (and the corresponding fluxes f (ˆ ρi ) = γˆi , f (ˆ ρj ) = γˆj ) as the new states at the junction. The unique admissible weak solution at a junction is given by the solution to Riemann problem with data (ρi,0 , ρˆi ) for incoming roads and (ˆ ρj , ρj,0 ) for outgoing roads. For instance, for incoming roads with ρi,0 ≤ ρˆi , the solution (centered in bi ) is a shock and, for a sufficiently small time, can be expressed as: ρi,0 ρi (t, x) =
ρˆi
if x ≤ bi +
f (ρˆi )−f (ρi,0 ) t, ρˆi −ρi,0
(2.4)
otherwise,
f (ρˆ )−f (ρ
)
and the velocity is given by λ = ρˆi i −ρi,0i,0 (namely the Rankine-Hugoniot relation), or, if ρi,0 > ρˆi , a rarefaction, that, for a sufficiently small time, reads as: ρi,0 ¡ ¢ if x ≤ bi + f 0 (ρi,0 )t, (f 0 )−1 xt bi + f 0 (ρi,0 )t < x < bi + f 0 (ˆ ρi )t, ρi (t, x) = (2.5) ρˆi if x ≥ bi + f 0 (ˆ ρi )t. Analogously, the waves produced by the solutions to Riemann problems for the outgoing roads are centered in the left endpoint ai . Since we look for waves emerging out of junctions, admissible solutions are obtained solving Riemann problems by waves of negative speed on incoming roads and by waves of positive speed on outgoing roads, as indicated by the following conditions (2.6)-(2.7): ½ {ρi,0 }∪]τ (ρi,0 ), 1], if 0 ≤ ρi,0 ≤ σ, ρˆi ∈ (2.6) [σ, 1], if σ ≤ ρi,0 ≤ 1, and ½ ρˆj ∈
[0, σ], {ρj,0 } ∪ [0, τ (ρj,0 )[,
if 0 ≤ ρj,0 ≤ σ, if σ ≤ ρj,0 ≤ 1.
(2.7)
The new states at junctions, namely ρˆi on incoming roads, and, ρˆj on outgoing roads, are uniquely obtained by inverting the relations: f (ˆ ρi ) = γˆi ,
f (ˆ ρj ) = γˆj ,
(2.8)
on the sets given by (2.6) and (2.7). Due to the rule (A): n
. X γˆj = αji γˆi ,
j = n + 1, ..., n + m,
i=1
then it suffices to determine the incoming fluxes γˆi , which solve the following LP problem. Define Ωi : = [0, γimax (ρi,0 )] , i = 1, ..., n, £ ¤ max (2.9) Ωj : = 0, γj (ρj,0 ) , j = n + 1, ..., n + m, © ª T Ω : = (γ1 , . . . , γn ) ∈ Ω1 × · · · × Ωn |A · (γ1 , ..., γn ) ∈ Ωn+1 × · · · × Ωn+m .
5
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
The set Ω is compact, convex and not empty. Then, γˆ ∈ Ω is the solution to max γ · 1,
(2.10)
γ∈Ω
where 1 = (1, . . . , 1) ∈ Rn . For definiteness, the flux function is chosen to be the Greenshields one (see [12]): f (ρ) = vmax
µ ρ 1−
ρ ρmax
¶ .
(2.11)
We set for simplicity ρmax = 1 = vmax , so that the velocity is v = 1 − ρ and the flux f = ρ(1 − ρ). In particular, f (0) = 0 = f (1) and f has a unique maximum in σ = 1/2.
3. Approximation schemes. In this section we describe the simulation algorithm, which is composed by the following two steps: Step 1: the density values satisfying (1.1) are computed on each road solving Riemann problems. The numerical scheme can be indifferently WFT or Godunov scheme endowed with boundary conditions at junctions; Step 2: driver’s position is determined solving problem (1.2) by means of an algorithm which, given the densities obtained at the previous step by WFT or Godunov scheme, determine the car position on the network. The choice of WFT is due to the possibility of obtaining theoretical results. On the other side, the Godunov scheme is easy to be implemented and gives a good insight for vehicular traffic problems, see [9, 15]. Also, both schemes are based on the solution to Riemann problems, thus permitting a convenient treatment of the car trajectory approximation. 3.1. The Wave Front Tracking algorithm (WFT). Here we recall briefly the technique of Wave Front Tracking, for a detailed description see [1, 9]. The WFT is a semi-discrete scheme, which can be summarized by the following steps: • approximate initial datum ρ¯ = (¯ ρ1 , . . . , ρ¯N ) by piecewise constant functions ρ¯ν ; • construct solutions to Riemann problems of ρ¯ν and approximate rarefactions by a set of small shocks; • piece approximate solutions to Riemann problems together so to get a solution for t small; • prolong waves up to first interaction time. Then one gets a new Riemann problem, solves it approximately and goes on up to the next interaction time. Next we detail the construction of WFT approximate solutions. Given a general initial datum ρ¯, we approximate it by a sequence of piecewise constant functions ρ¯ν and we construct the corresponding approximate solutions. If they converge in L1loc , then the limit is a weak entropy solution on each road, see [1] for the proof. 3.1.1. Step 1: numerical algorithm for (1.1). Let ρ¯ = (¯ ρ1 , . . . , ρ¯N ) be a map defined on the road network, ρ¯i : Ii → R, i = 1, . . . , N .
6
G. BRETTI AND B. PICCOLI
It is possible to choose a sequence of piecewise constant functions ρ¯ν such that: T ot.V ar.{¯ ρν } ≤ T ot.V ar.{¯ ρ}, |¯ ρν |L∞ ≤ |¯ ρ|L∞ , 1 |¯ ρν − ρ¯|L1 < . ν
(3.1) (3.2) (3.3)
ν By (3.1), ρ¯ν has a finite number of discontinuities, say y1ν < · · · < yK . We approxν ν imately solve the Riemann problem generated by the jump (¯ ρν (yk −), ³ ρ¯ν (y´k +)) for x−y ν
k , where each k = 1, . . . , K using piecewise constant functions of the type ϕ t ϕ : R → R. In particular, if the solution ³ ´to the Riemann problem generated by ν x−yk (¯ ρν (ykν −), ρ¯ν (ykν +)) is a shock, then ϕ is the exact solution. On the contrary, t if a rarefaction wave appears, then we split it into a centered rarefaction fan formed by a sequence of jumps of size at most 1/ν, traveling with the characteristic speed of the left state. Proceeding in this way, we are able to construct an approximate solution ρν (t, x) until a time t1 , where either two wave fronts interact together or a wave interacts with a junction. When a wave interacts with another one we simply solve the new Riemann problem; instead, when a wave reaches a junction, we solve the corresponding Riemann problem at the junction. We always split rarefaction waves inserting the value σ (if it is in the range of the rarefaction). Moreover, we let any rarefaction shock with endpoint σ have velocity zero. In order to prove existence of a wave front tracking approximate solution for every t ∈ [0, T ], where T may be also +∞, we need to estimate: 1. the number of waves; 2. the number of interactions between waves; We call the obtained function a wave front tracking approximate solution. Fix ν ∈ N and t > 0. We let K(ν, t) be the time dependent set of discontinuities and ν,k for every k ∈ K(ν, t) we let ρν,k − (t), ρ+ (t) be, respectively, the left and the right state of the discontinuity. In other words:
ν ρν,k − (t) = ρν (t, yk −), ν ρν,k + (t) = ρν (t, yk +),
where ykν is the position of the k-th discontinuity at time t in ρν . We also indicate by λk the velocity of the k-th discontinuity. For simplicity from now on we may eventually drop the index ν. If we get BV estimates on the WFT approximate solutions, we can pass to the limit obtaining a weak entropy solution. For a single conservation law on R, the number of waves decreases, thus the number of interactions is bounded by the number of waves and the total variation diminishes. For networks the situation is more complex. In particular, the number of waves may increase for interactions of waves at junctions. Still the necessary estimates can be carried out as widely described in [9]. 3.1.2. Step 2: car path. For every ν ∈ N, we call xν (t) the position of the car at time t, if the load is given by the approximate solution ρν . Then: x˙ ν (t) = v(ρν (t, xν (t))).
(3.4)
7
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
In the following Lemma we show that at interaction times with waves, the velocity of the car is greater than that of the wave in front of it. ν Lemma 3.1. If xν (t) ∈ (ykν , yk+1 ) then x˙ ν (t) = v(ρν,k + (t)) > λk+1 (t) =
f (ρν,k+1 (t)) − f (ρν,k+1 (t)) + − ρν,k+1 (t) − ρν,k+1 (t) + −
.
(3.5)
Proof. Using the Rankine-Hugoniot relation we want to prove that: f (ρν,k+1 (t)) − f (ρν,k+1 (t)) + − ρν,k+1 (t) − ρν,k+1 (t) + −
=
v(ρν,k+1 (t))ρν,k+1 (t) − v(ρν,k+1 (t))ρν,k+1 (t) + + − − ρν,k+1 (t) − ρν,k+1 (t) + −
< v(ρν,k+1 (t)). − If ρν,k+1 (t) > ρν,k+1 (t), then (3.5) is equivalent to + − v(ρν,k+1 (t))ρν,k+1 (t)−v(ρν,k+1 (t))ρν,k+1 (t) < v(ρν,k+1 (t))ρν,k+1 (t)−v(ρν,k+1 (t))ρν,k+1 (t) + + − − − + − − i.e. to v(ρν,k+1 (t)) < v(ρν,k+1 (t)). + − By the hypothesis (H), v is a strictly decreasing function, hence the last inequality is verified. (t)) > (t), then we obtain the inequality v(ρν,k+1 (t) < ρν,k+1 On the other hand, if ρν,k+1 + − + ν,k+1 v(ρ− (t)), which is again verified due to the decreasing behavior of v. Therefore, xν (t) interacts with the waves located at ykν in increasing order. A numerical algorithm is readily obtained by setting: ν • if xν (t) ∈ (ykν , yk+1 ) then x˙ ν (t) = v(ρν,k + (t)). In other words, the velocity is constant as long as no interaction with waves occurs. • if xν (t) interacts with the k-th wave of ρν , then the velocity changes from ν,k (t)) = v(ρν,k v(ρν,k−1 − (t)) to v(ρ+ (t)). +
3.2. Godunov scheme on a road network. Now, in order to describe Godunov scheme we need to introduce a numerical grid with the following notation: • ∆x is the space grid size on each road Ii ; • ∆t is the time grid size on the time interval [0, T ]; • (tl , xm ) = (l∆t, m∆x), for l = 0, 1, . . . , L and m = 0, 1, . . . , M , are the grid points, with L and M , respectively, the number of time and space nodes of the grid. l For a function v defined on the grid we write vm = v(tl , xm ). Notice that for our simulations we assume to have a constant space increment since all intervals Ii are equal, but, in general, ∆x may vary depending on the length of each road.
8
G. BRETTI AND B. PICCOLI
3.2.1. Step 1: numerical algorithm for (1.1). Godunov scheme is based on the local resolution to Riemann problems and it proceeds as follows, for further details see [11, 10]. Piecewise constant approximations of the initial data are used as the initial data of Riemann problems. Waves in two neighbor cells do not interact before time ∆t under 1 the CFL condition ∆t ≤ 2vmax ∆x, which, setting vmax = 1, reads as ∆t ≤ 12 ∆x. It is then possible to define a unique solution in the strip (tl , tl+1 ) × R by piecing the solutions obtained in each cell Rtogether. The exact solution is projected on a piecewise xm+1 ∆ 1 l+1 constant function vm = ∆x v (x, tl+1 )dx, then the mean is obtained by the xm Gauss-Green formula, and this procedure is repeated recursively. Godunov scheme can be expressed in the conservative form as: ¢ ∆t ¡ G l l l l g (vm , vm+1 )−g G (vm−1 , vm ) , l = 0, 1, . . . , L−1, m = 0, 1, . . . , M, ∆x (3.6) with g G (u, v) numerical flux. Boundary conditions of the scheme are imposed for incoming road not linked on the left and for outgoing road not linked on the right.
l+1 l vm = vm −
Conditions at a junction. For roads connected at the right endpoint, the interaction at a junction is taken into account as follows:
l+1 l − vM = vM
¢ ∆t ¡ l l γˆi − g G (vM −1 , vM ) , ∆x
while for roads connected at the left endpoint we have: v0l+1 = v0l −
¢ ∆t ¡ G l l g (v0 , v1 ) − γˆj , ∆x
where γˆi , γˆj are the maximized fluxes, respectively on incoming and outgoing roads, computed solving the linear programming problem (2.10). 3.2.2. Step 2: car path. Let us consider now a single driver moving on a road network. We develop a numerical scheme to describe car trajectory on each road composing the network. A road is parametrized as an interval and, according to the discretization previously defined, is divided into subintervals or cells, of length ∆x. At each time tl , we determine the position xl of the driver by studying interactions between the car trajectory and the density waves within a fixed cell of the numerical grid Cml = [(ml − 1)∆x, mj ∆x[. We distinguish the following two cases: Case 1) xl ∈ [(ml − 1)∆x, (ml − 21 )∆x[; Case 2) xl ∈ [(ml − 12 )∆x, ml ∆x[. In order to describe the car trajectory, we compute the new position xl+1 and, possibly update the cell index ml+1 . The approximate value of the density on the numerical grid is denoted by ρlm = ρ(tl , xm ). Let us now detail the algorithm: for notational convenience we drop the index l from m. 3.2.3. Case 1. Two cases are distinguished: a) the wave starting from the space node (m − 21 )∆x is a shock; b) the wave starting from the space node (m − 21 )∆x is a rarefaction.
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
9
Let us first study case a). The velocity of the wave, starting from the point (m − 12 )∆x at time tl , is given by λm =
f (ρlm ) − f (ρlm−1 ) . ρlm − ρlm−1
Then the car and the wave interact at the point (t¯, x ¯) given by: ¡ ¢ m − 21 ∆x − xl t¯ = , v(ρlm−1 ) − λm (3.7) l
x ¯=x +
v(ρlm−1 )t¯.
We have to further consider the following cases: i) t¯ ≥ ∆t, that means no interaction on the time interval [tl , tl+1 ]. Then we have: xl+1 = xl + v(ρlm−1 )∆t. ii) t¯ < ∆t. Then, after the interaction, see Fig. 3.1, the new position of the car is: xl+1 = x ¯ + (∆t − t¯)v(ρlm ).
x∗
tl+1
11 00
t¯
tl
(m − 1)∆x x
l
x¯ ¡m − 1 ¢ ∆x m∆x 2 Cm
Fig. 3.1. Interaction with shock.
Let us now pass to case b). Recalling that for the flux function considered we have v(ρ(t, x)) = 1 − ρ, the driver’s position is obtained by solving the ordinary differential equation: 1 0 l ρlm 1−³ ´ if x ≤ (m − 2 )∆x + f (ρm )t, 1 x−(m− )∆x 1 − 12 − 2 (t−t2l ) if f 0 (ρlm )t ≤ x − (m − 12 )∆x ≤ f 0 (ρlm+1 )t, x˙ = (3.8) 1 − ρlm+1 if x > (m − 12 )∆x + f 0 (ρlm+1 )t.
10
G. BRETTI AND B. PICCOLI
The velocity of the wave, starting from the point (m − 12 )∆x at time tl , is given by λm = f 0 (ρlm ). The first interaction point with the rarefaction wave is again expressed as in (3.7). Then, the solution to (3.8) is: µ ¶ µ¯ ¶ √ t − tl + (m − 12 )∆x − x ¯ 1 √ x(t) = m − ∆x + (t − tl ) − t − tl . (3.9) 2 t¯ − tl Now, let t¯ be the time coordinate of the final intersection point between the rarefaction wave and the car trajectory, see Fig. 3.2. Then ¡ ¢ x(t¯) − m − 12 ∆x = f 0 (ρlm ), t¯ with x(t) given by (3.9).
tl+1
1 0 0 1
t¯
tl
(m − 1)∆x xl
1 0 0 1
t¯
x ¯ (m − 1 )∆x m∆x 2 Cm
Fig. 3.2. Interaction with rarefaction.
Again we distinguish two possible cases: Case a) t¯ ≥ ∆t, i.e. no interaction between the car and the rarefaction wave occur. Since the car travels at constant speed, the new position is obtained by: xl+1 = xl + v(ρlm−1 )∆t. Case b) For Case b1)
t¯ < ∆t. case b), we need to further distinguish the following: t¯ ≥ ∆t. Then the new position is: xl+1 = x(∆t),
with x(t) given by (3.9). Case b2) t¯ < ∆t, then: xl+1 = x(t¯) + (∆t − t¯)v(ρlm ), with x(t) given by (3.9).
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
11
Since the trajectory remains inside the cell Cml even after interactions, in all sub-cases of case 1 the updated cell index is: ml+1 = ml . 3.2.4. Case 2. Two cases are distinguished: a) the wave starting from the space node (m + 21 )∆x is a shock; b) the wave starting from the space node (m + 21 )∆x is a rarefaction. We first consider case a). The velocity of the wave, starting from the point (m + 12 )∆x at time tl , is given by λm =
f (ρlm+1 ) − f (ρlm ) . ρlm+1 − ρlm
The interaction point (t¯, x ¯) of the wave with the car is given by: ¡ ¢ m + 21 ∆x − xl ¯ t= , v(ρlm+1 ) − λm (3.10) l
x ¯=x +
v(ρlm )t¯.
As before, we have two different cases: i) t¯ ≥ ∆t, that means no interaction on the time interval [tl , tl+1 ]. Then we have: xl+1 = xl + v(ρlm )∆t. ii) t¯ < ∆t. Then, after the interaction, the new position of the car is: xl+1 = x ¯ + (∆t − t¯)v(ρlm+1 ). Let us now pass to case b). We have the same equation as in (3.8) with (m− 12 )∆x replaced by (m + 21 )∆x and f 0 (ρlm ) by f 0 (ρlm+1 ). The velocity of the wave, starting from the point (m + 21 )∆x at time tl , is given by λm = f 0 (ρlm+1 ). The first interaction point with the rarefaction wave is again expressed as in (3.10). Then, the car position after t¯ and before exiting the rarefaction is given by: µ ¶ µ¯ ¶ √ t − tl + (m + 12 )∆x − x ¯ 1 √ x(t) = m + ∆x + (t − tl ) − t − tl . (3.11) 2 t¯ − tl Now, the final interaction time t¯ of the car with the rarefaction solves: ¡ ¢ x(t¯) − m + 21 ∆x = f 0 (ρlm+1 ), t¯ with x(t) given by (3.11). The distinction in sub-cases is as before: Case a) t¯ ≥ ∆t, i.e. no interaction between the car and the rarefaction wave occur. Since the car travels at constant speed, the new position is obtained by: xl+1 = xl + v(ρlm )∆t.
12
G. BRETTI AND B. PICCOLI
Case b) t¯ < ∆t. Case b1) t¯ ≥ ∆t. Then the new position is: xl+1 = x(∆t), with x(t) given by (3.11). Case b2) t¯ < ∆t, then: xl+1 = x(t¯) + (∆t − t¯)v(ρlm+1 ), with x(t) given by (3.11). Finally, the new cell index is determined as follows. If xl+1 < m∆x then ml+1 = ml , otherwise ml+1 = ml + 1. 4. Convergence of car trajectory. This section is devoted to the analysis of the convergence of the car trajectory xν in case of WFT algorithm. We consider the case of a single road [a, b]. Our point of view to estimate the car position as function of ν is the following. We think to ρν+1 as ρν with shifts applied to the initial position of waves. This can be done fixing an approximation procedure, which is simply based on sampling at points of a grid with mesh size 2−ν . Then the position of xν+1 is also thought as the position of xν plus a shift. The latter changes only at interactions with waves of ρν and ρν+1 . Thus finally the problem reduces to estimate the increase of the shifts (both of waves and car position) at every interaction. 4.1. Wave and car shifts. Assume to have a BV initial datum ρ¯(x). Then we define ρ¯ν to be the sequence approximating ρ¯ given by: ³ h x i´ ρ¯ν (x) = ρ¯ 2ν ν , ν ∈ N. (4.1) 2
ρ¯ ∆ρ
ρ¯ν
ρ¯ν+1
j2−ν
2−(ν+1)
(j + 1)2−ν
Fig. 4.1. Shift of discontinuities at time 0.
Then it is easy to notice that every wave of ρν+1 corresponds to a wave of ρν with a shift ξ of at most 2−(ν+1) , see Figure 4.1. Call ρν (t, x) the WFT solution for initial datum ρ¯ν . Then it is possible to determine the evolution of shifts of waves ξkν (t), k ∈ K(ν, t), using the following Lemma, proved in [9]: Lemma 4.1. Consider two waves with speeds λ1 and λ2 respectively, that interact together producing a wave with speed λ3 . If the first wave is shifted by ξ1 and the second wave by ξ2 , then the shift of the resulting wave is given by ξ3 =
λ1 − λ3 λ3 − λ2 ξ1 + ξ2 . λ1 − λ2 λ1 − λ2
(4.2)
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
13
Moreover we have ∆ρ3 ξ3 = ∆ρ1 ξ1 + ∆ρ2 ξ2 ,
(4.3)
where ∆ρi are the signed strengths of the corresponding waves. Lemma 4.1 permits to determine the evolution of shifts of waves. Moreover, even if the shifts sizes are not conserved, this happens for the quantity ξ · ∆ρ which ν,k represents the L1 shift of the approximate solution. Recalling that (ρν,k − (t), ρ+ (t)) is the value to the left and, respectively, to the right of the k-th jump of ρν (t), we define ν,k ∆ρνk (t) = ρν,k + (t) − ρ− (t). To study the convergence of car trajectories, we need to estimate the quantity: kxν (t) − xν+1 (t)k.
(4.4)
As for the waves of ρν , we define the shift of the car position as: ην (t) = xν+1 (t) − xν (t). Since the initial car position does not depend on the approximate solution, we have ην (0) = 0. Notice that our problem reduces to estimate |η(t)|. Such quantity varies only at interaction times with waves of ρν and ρν+1 . Since the latter are obtained shifting the formers, we can consider generic interactions of a car with waves, both presenting shifts. Thus we let ηkν be the value of ην after the interaction with the k-th wave of ρν and the k-th wave of ρν+1 . In case of Neumann boundary conditions, thus no wave from boundaries, the number of waves is decreasing. Hence the number of interactions is bounded by the number of waves in the initial datum, which in turn is at most (b − a)/2−(ν+1) . In case of Dirichlet boundary conditions, then we approximate also the boundary data with piecewise constant functions, thus getting again a finite number of possible waves and thus of interactions. 4.2. Shifts evolution. Here we consider a generic interaction between a wave front and a car trajectory. In particular, we assume that both have an initial shift and we want to estimate the value of the car position shift after the interaction, since the wave shift does not change. Say x0 the initial position of the car and s0 the initial position of the wave front with speed λ = ∆f ∆ρ , then the interaction point is: (¯ x, t¯) =
µ ¶ s0 − x0 ¯ x0 + tv(ρ− ), , v(ρ− ) − λ
(4.5)
and, after interaction, the (final) position xf at time T is given by: xf = x ¯ + (T − t¯)v(ρ+ ).
(4.6)
Call ξ ∈ R the wave shift and η− , η+ ∈ R the shifts of the car trajectory, respectively, before and after interacting with the wave. The point of interaction for the shifted wave and car position is: ¶ µ (s0 + ξ) − (x0 + η− ) (4.7) (˜ x, t˜) = x0 + η− + t˜v(ρ− ), v(ρ− ) − λ and the final position of the car x ˜f is given by: x ˜f = xf + η+ ,
(4.8)
14
G. BRETTI AND B. PICCOLI
t xf
η+
x ˜f
v(ρ+ ) t¯
(˜ x, t˜) λ
v(ρ− ) t0 x0
η−
x ¯
s0
ξ
x
Fig. 4.2. The shift for the wave front, ξ, and the shifts for the car trajectory, η− , η+ .
where η+ is given by: η+ = x ˜ + v(ρ+ )(t¯ − t˜) − x ¯.
(4.9)
Now, using (4.5)-(4.7), we can express η+ in terms of η− : (s0 + ξ) − (x0 + η− ) η− − ξ s0 − x0 + v(ρ+ ) − v(ρ− ) v(ρ− ) − λ v(ρ− ) − λ v(ρ− ) − λ v(ρ+ ) − λ v(ρ− ) − v(ρ+ ) = η− +ξ . (4.10) v(ρ− ) − λ v(ρ− ) − λ
η+ = η− + v(ρ− )
Let us set β = follows:
v(ρ+ )−λ v(ρ− )−λ
and γ =
v(ρ− )−v(ρ+ ) v(ρ− )−λ .
Then, recalling that λ = ∆f /∆ρ, it
v(ρ+ )(ρ+ − ρ− ) − ρ+ v(ρ+ ) + ρ− v(ρ− ) v(ρ− )(ρ+ − ρ− ) − ρ+ v(ρ+ ) + ρ− v(ρ− ) ρ− = , ρ+
β=
(4.11)
and, similarly, (v(ρ+ ) − v(ρ− ))(ρ+ − ρ− ) v(ρ− )(ρ+ − ρ− ) − ρ+ v(ρ+ ) + ρ− v(ρ− ) ρ+ − ρ− = . ρ+
γ=
(4.12)
Therefore, (4.10) becomes: η+ = η−
ρ− ρ+ − ρ− +ξ . ρ+ ρ+
(4.13)
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
15
4.3. Estimates for car trajectory. The sequence of interactions between waves and with the car may happen with different orders. However, we know that the car is faster than waves (Lemma 3.1), thus the car always interacts with waves in increasing order. Moreover, next Lemma shows that the worst case, for the car shift increase, happens when the car interacts with waves before waves interactions occur: Lemma 4.2. Assume that ρν (0) is strictly positive and presents only two waves (ρ1− , ρ1+ ) and (ρ2− , ρ2+ ). Let ξ1 and ξ2 be the shifts of the waves in ρν , to get the position of the waves in ρν+1 (0). We define η be the shift generated if xν interacts separately with the two waves and η˜ be the shift if the two waves meet before interacting with xν . Then |˜ η | ≤ |η|. Proof. Using (4.13) and η0 = 0, we get: η1 =
ρ1− |∆ρ1 ξ1 | |∆ρ1 ξ1 | η0 + = , ρ1+ ρ1+ ρ1+
η2 =
ρ2− |∆ρ2 ξ2 | η1 + , ρ2+ ρ2+
then, since ρ1+ = ρ2− , one gets: η=
1 (|∆ρ1 ξ1 | + |∆ρ2 ξ2 |), ρ2+
while: η˜ =
˜ ξ˜ ∆ρ ˜ ξ˜ ρ1− ∆ρ η + = , 0 ρ1+ ρ2+ ρ2+
˜ and ξ˜ are, respectively, the jump and the shift coming from the interaction where ∆ρ of the two waves. The conclusion follows by Lemma 4.1. Now we can state our first estimate for the car shift: Lemma 4.3. For every N ∈ N, provided that ρν (0) > 0, the following recurrence relation holds: ν |≤ |ηN
1
N −1 X
ν,N −1 ρ+
k=1
|∆ρνk (0)ξkν (0)|.
(4.14)
Proof. By Lemmas 3.1 and 4.2 we can assume that xν interacts with the waves of ρν (0) in increasing order before waves interactions occurs. In fact this represents the worst case for the car shift increase. We proceed by induction. Recall that η0ν = ην (0) = 0. Supposing that (4.14) is true for N , we prove the relation for N + 1 using (4.13): ν |ηN +1 | ≤
≤ =
ρν,N −
|η | + ν,N N
ρ+
ρν,N − ρν,N + 1 ρν,N +
1
ν |∆ρνN ξN |
ρν,N + N −1 X
−1 ρν,N + k=1 N X k=1
|∆ρνk ξkν | +
|∆ρνk ξkν | ≤
N 1 X
ρν,N +
k=1
ν |∆ρνN ξN |
ρν,N + |∆ρνk (0)ξkν (0)|
16
G. BRETTI AND B. PICCOLI
where the latter inequality is obtained by Lemma 4.1. We can finally state our main result: Theorem 4.4. Let ρ¯ ∈ BV and assume that WFT approximate solutions are constructed taking the initial datum ρ¯ν as in (4.1). Assume that ρ¯ ≥ ρ˜ > 0, then: |xν+1 (t) − xν (t)| ≤
2−(ν+1) T V (¯ ρ). ρ˜
(4.15)
In particular, xν (t) converges uniformly to some x(t) solution of equation (1.2) when ν → +∞. Since the grid mesh parameter is ∆x = 2−ν as showed by (4.1), the convergence speed estimate is linear in ∆x. Proof. Recall that ην (t) = xν+1 (t) − xν (t). By Lemma 4.3, for every t it holds |ην (t)| ≤
1X |∆ρνk (0)ξkν (0)|. ρ˜
(4.16)
As noticed above, the shifts at time 0 between ρν and ρν+1 , are bounded by 2−(ν+1) , see Fig. 4.1. Then, we get: |ην (t)| ≤
2−(ν+1) 2−(ν+1) X |∆ρνk (0)| = T V (¯ ρ). ρ˜ ρ˜
Thus xν (t) converges uniformly exponentially to some function x(t). By results of Colombo-Marson [6], x is a solution of (1.2). A possible extension of Theorem 4.4 if initial data vanish is given below. Theorem 4.5. Consider a single road [a, b]. Then, ∀α ∈ (0, 1) there exist ρν → ρ and xν+1 → x such that |ρ − ρν | < 2−να (b − a), −ν(1−α)
|xν+1 − xν | ≤ 2
T V (¯ ρ).
(4.17) (4.18)
Proof. It is well known that in the scalar case the following holds: |ρ(t) − ρν (t)|L1 ≤ |ρ(0) − ρν (0)|L1 . Let us take ρν (0) → ρ¯ such that ρν (0) ≥ 2−να . Then, applying Theorem 4.4, we get (4.17) . 5. Numerical tests. Simulation results and animations for numerical tests presented in this section are available on the web page [2]. Here we present a study on the trajectory of a car moving into a traffic circle: the evolution of densities was already discussed in [3]. More precisely, by reproducing the evolution in time of traffic, we compute the time needed by a car for covering a fixed path within a traffic circle composed by 8 roads and 4 junctions, as depicted in Fig. 5.1. There are two junctions with one incoming and two outgoing roads, precisely the junction (1R, 2R, 3) and the junction (3R, 4R, 4). Thus we need to assign the corresponding distribution coefficients, namely (α1R,3 , α1R,2R ) and (α3R,4 , α3R,4R ). We assume all of them to be equal to α = 0.5. For junctions with one outgoing road, namely (1, 4R, 1R) and (2R, 2, 3R), we need to fix a right of way parameter between
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
17
4
4R
3R
1
2
1R
2R
3
Fig. 5.1. Traffic circle.
the two incoming roads in order to describe the priority to pass through the junction, as prescribed by rule (C) in Section 2. We consider the following three cases for the priorities of the roads 1 and 2 bringing traffic to the circle: (1) q1 = q1 (1, 4R, 1R) = q2 = q2 (2, 2R, 3R) = 0.25; (2) q1 = q1 (1, 4R, 1R) = q2 = q2 (2, 2R, 3R) = 0.5; (3) q1 = q1 (1, 4R, 1R) = q2 = q2 (2, 2R, 3R) = 0.75. Setting parameters as in (1), 4R is the through street respect to road 1 and road 2R is the through street respect to 2. This means that the traffic inside the circle has the priority with respect to the entering one. While if we fix priorities as in (3), the situation is exactly opposite. Case (2), instead, represents the case of same priority for the traffic inside the circle and that incoming. As in [3], we consider the initial data: ρ1 (0, x) = 0.25, ρ2 (0, x) = 0.4, ρ3 (0, x) = 0.5, ρ4 (0, x) = 0.5,
(5.1)
ρ1R (0, x) = 0.5, ρ2R (0, x) = 0.5, ρ3R (0, x) = 0.5, ρ4R (0, x) = 0.5, and, for roads entering the circle, we impose the following boundary conditions: ρ1,b (t) = 0.25,
ρ2,b (t) = 0.4 .
(5.2)
Starting from the configuration given by initial data (5.1), but setting alternatively the right of way parameters according to the three mentioned cases, the behavior of traffic is different. In particular, with priorities set as in (1), shock waves causing an increase in the value of density on incoming roads 1 and 2 are rapidly produced. On the contrary, the density on roads within the circle is kept at low level. In case (2), the evolution of the density is similar to the previous case, except for the situation on roads 2R and 4R, where a shock with zero speed is produced. In case (3) after a short period of time, shocks propagating backwards along roads 2R and 4R provoke an increase in the density inside the circle until traffic becomes completely blocked. From the analysis of the three considered cases, we want to see how the behavior of a driver moving into the traffic circle can be influenced by the regulation of priority parameters. Assume that the driver follow the route (1, 1R, 2R, 3R, 4). This means that the car enters the circle from road 1, turns around for 3/4 of the circle and finally exit to road 4. In the next Figures we show that right of way parameters affects the time
18
G. BRETTI AND B. PICCOLI
for covering the path. In particular, in Figure 5.2 it is depicted the curve of the exit time as a function of the initial time t0 varying in [0, 20], for q1 = q2 = 0.25 and q1 = q2 = 0.5. The graph on the left underlines that, after a certain value of the initial time (t0 ∼ 9), the exit time becomes stable and corresponds to T = 13.3. Similarly, the graph on the right shows that for t0 ≥ 12 exit time takes asymptotically the value T = 16.1. 14
16.5
q1=q2=0.25
q1=q2=0.5
16 13.5 15.5 13
15 14.5 exit time
exit time
12.5
12
11.5
14 13.5 13 12.5
11
12 10.5 11.5 10
11 0
5
10 initial time
15
20
0
5
10 initial time
15
20
Fig. 5.2. On the left: exit time for q1 = q2 = 0.25; on the right: exit time for q1 = q2 = 0.5, for boundary data (5.2).
On the other hand, setting q1 = q2 = 0.75, independently by the initial time t0 , the car cannot exit the circle, since traffic within the circle is blocked. The graph on the left side of Fig. 5.3 represents a comparison between the cases (1) and (2) as regards the space covered by the car when starting time is t0 = 8. As we can observe, taking priority parameters q1 = q2 = 0.25, the time to exit the circle is lower, even if the first part of the travel is faster for the choice (2). Starting again at time t0 = 8 and setting right of way parameters according to (3), the car cannot exit by the second road of the path, namely road 1R and, consequently it stops, see the graph reported in Fig. 5.3 on the right. Then, keeping the initial data (5.1) as before, we impose at the left endpoint of roads 1 and 2 a periodic data bounded in [0.1, 0.4], namely: ρ1,b (t) = ρ2,b (t) =
1 3 + sin(At), 4 20
t ≥ 0,
(5.3)
where A > 0. In the next Figure 5.4 the graphs of the time for covering the path for A = 1 (on the left) and A = 5 (on the right), are depicted, with the initial time t0 varying in [0, 40]. Observing Fig. 5.4, obtained for q1 = q2 = 0.25, we can see that after a certain value of the initial time (t0 ∼ 9), the exit time becomes more stable, until it reaches the value T = 13.3, around which oscillations occur. Similarly, setting q1 = q2 = 0.5 for t0 ≥ 12 the time for covering the path shows oscillations around T = 16.1. This last simulation shows how choice (1) is preferable with respect choice (2) to reduce the travel time of drivers. Moreover, such convenience is stable with respect to time-varying incoming traffic. In fact, even introducing oscillations with different
19
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
5
1.8 q1=q2=0.25 q1=q2=0.5
4.5
1.6
4
1.4
3.5 1.2 1
space
space
3 2.5
0.8
2 0.6 1.5 0.4
1
q1=q2=0.75
0.2
0.5 0
0 6
8
10
12
14
16
18
20
22
24
5
8 10
15
20
time
25
30
35
40
time
Fig. 5.3. Time-space diagram of the car trajectory for t0 = 8. On the left: comparison between the cases (1) and (2); on the right: priorities set as in (3). 17
17 q1=q2=0.5 q1=q2=0.25
16
16
15
15
14
14
exit time
exit time
q1=q2=0.5 q1=q2=0.25
13
13
12
12
11
11
10
10 0
5
10
15
20 initial time
25
30
35
40
0
5
10
15
20 initial time
25
30
35
40
Fig. 5.4. Exit time for q1 = q2 = 0.25 (-) and q1 = q2 = 0.5 (· · · ) when t0 varies, with A = 1 (on the left) and A = 5 (on the right), for periodic boundary data (5.3).
widths, the two cases of priority parameters still produce quite different travel times. 5.0.1. Test of efficiency and of convergence of the algorithm based on Godunov scheme. Let us consider a car traveling on a single road parametrized by the interval [0, 2], where the initial and boundary data are, respectively, given by 0.3 if 0 ≤ x ≤ 0.2, 0.1 if 0.2 < x ≤ 0.5, ρ(0, x) = (5.4) ρ(t, 0) = 0.3. 0.8 if 0.5 < x ≤ 2, (5.5) If the car starts traveling at time t = 0 with initial position x0 = 0 the time needed to exit the road is T = 8. In the following Table 5.1 we present the results obtained
20
G. BRETTI AND B. PICCOLI
applying the simulation algorithm with Godunov scheme to the proposed example. On one hand we are interested in evaluating the CPU time occupied by the algorithm and on the other hand we estimate the difference between two positions at final time T , namely A∆x = |x∆x (T ) − x ∆x (T )| = |xν (T ) − xν+1 (T )|, computed numerically 2 when the space mesh parameter ∆x = 2−ν decreases. The results in Table 5.1 rep-
∆x 0.1 0.05 0.025 0.0125 0.00625
T =8 CPU time 0.51 s 1.23 s 2.61 s 5.18 s 10.13 s
A∆x 0.005423 0.002119 0.001588 0.000635 0.000319
Table 5.1 CPU time and computation of A∆x at T = 8 for ∆x varying.
resent a numerical evidence of the convergence (with a linear rate) of the algorithm, where the evolution in time of the density is computed by Godunov scheme, which ensures stability of solutions and thus represents a good compromise between numerical accuracy and occupation of CPU time. All the simulations have been performed by a personal computer, processor AMD Athlon XP 2400 Mhz, RAM 512 Mb. 5.1. Application of the tracking algorithm to highway accidents. We consider the problem of determining exactly the travelling time of a car in case of accident on a highway. More precisely, we consider a bounded highway segment and a car entering it at time t = 0. On the same segment an accident is present at position R and a consequent queue extending backward up to position L, see Fig. 5.5, where (left and right) endpoints of the queue are depicted. We assume to know the inflow of the highway segment and the time tr at which cars involved in the accident will be removed, thus permitting a free flowing of traffic. The question we want to answer is: how much time is needed by the car to cross the congested road? Using our algorithm we can compute such travelling time. The presence of the accident is simulated as a red light at point R up to time tr , when the light turns green. If tr is big enough, the car will reach the back of the queue at L and stop there. After time tr , the flow will start again at R and the corresponding rarefaction wave (accelerating cars) will eventually reach L, letting the car move. In Fig. 5.6 a time shot of the evolution of the traffic density on the highway and of the car trajectory is given. Related animations can be found on the web page [2]. 6. Conclusions. A new approximation algorithm for tracking the position of a car traveling on a road network is here developed. First the density on the network is simulated using a Godunov or a Wave-front Tracking scheme. Then the position of the car is reconstructed determining the effects of interactions with density waves. The theoretical framework of problem (1.2) was set up in [6]. The algorithm is tested on a portion of urban network, i.e. a traffic circle. In particular, the time for covering the path of a single driver is measured, showing the convenience of setting the right of way parameters so to give priority to traffic inside
CONSERVATION LAWS-ODE TRAFFIC PROBLEM
21
Fig. 5.5. Car moving on a highway segment where a car accident occured.
traffic density car trajectory
1
traffic evolution
0.8
0.6
0.4
0.2
0
0
0.5
1 road segment
1.5
2
Fig. 5.6. Evolution of traffic density (line) and car position (point).
the circle with respect to the entering one. Furthermore, a possible application of the algorithm is presented. As a theoretical result of the present work, it is proved the exponential uniform convergence of car trajectories, using the WFT algorithm and assuming BV initial data. REFERENCES [1] A. Bressan, Hyperbolic Systems of Conservation Laws - The One-dimensional Cauchy Problem, Oxford Univ. Press, 2000. [2] G. Bretti and B. Piccoli, http://www.iac.rm.cnr.it/∼bretti/Car.html [3] G. Bretti, R. Natalini and B. Piccoli, Numerical Approximations of a Traffic Flow Model on Networks, Networks and Heterogeneous Media, 1 (2006), no. 1, 57-84. [4] Y. Chitour and B. Piccoli, Traffic circles and timing of traffic lights for cars flow, Discrete and Continuous Dynamical Systems-Series B, 5 (2005), no. 3, 599-630. [5] G.M. Coclite, M. Garavello and B. Piccoli, Traffic Flow on a Road Network, Siam Math. Anal., 36 (2005), no. 6, 1862-1886. [6] R.M. Colombo and A. Marson, Conservation laws and O.D.E.s. A traffic problem, Hyperbolic problems: theory, numerics, applications, Berlin: Springer (2003), 455-461. [7] R.M. Colombo and A. Marson, A H˝ older Continuous O.D.E. Related to Traffic Flow, The Royal Society of Edinburgh Proceedings A, Section A 133 (2003), no. 4, 759-772. [8] M. Garavello, R. Natalini, B. Piccoli and A. Terracina, Andrea, Conservation laws with discontinuous flux, Netw. Heterog. Media, 2 (2007), no. 1, 159-179. [9] M. Garavello and B. Piccoli, Traffic Flow on Networks, AIMS Series on Applied Mathematics
22
G. BRETTI AND B. PICCOLI
(2006). [10] E. Godlewski and P. A. Raviart, Hyperbolic systems of conservation laws, Math´ ematiques & Applications [Mathematics and Applications], 3/4. Ellipses, Paris (1991). [11] S.K. Godunov, A finite difference method for the numerical computation of discontinuous solutions of the equations of fluid dynamics, Mat. Sb., 47 (1959), 271-290. [12] B. D. Greenshields, A study in Highway capacity, Highway Research board Proceedings, 14 (1935), 448-477. [13] H. Holden, N. H. Risebro, A Mathematical Model of Traffic Flow on a Network of Unidirectional Roads, SIAM J. Math. Anal. 26 (1995), 999–1017. [14] H. Holden, N. H. Risebro, Front Tracking for Hyperbolic Conservation Laws, Springer Series on Applied Mathematical Sciences, Vol. 152 (2002). [15] J.P. Lebacque, The Godunov scheme and what it means for first order flow models, in Transportation and Traffic Theory, Proceedings of the 13th ISTT 1996 (J.B. Lesort ed.), Pergamon, Oxford, 1996, pages 647-677. [16] R.J. LeVeque, Numerical methods for conservation laws, second edition, Lectures in Mathematics ETH Zrich, Birkh¨ auser Verlag, Basel, 1992. [17] M. J. Lighthill and G. B. Whitham, On kinetic waves. II. Theory of Traffic Flows on Long Crowded Roads, Proc. Roy. Soc. London Ser. A, 229 (1955), 317-345. [18] P. I. Richards, Shock Waves on the Highway, Oper. Res., 4 (1956), 42-51.