# A numerical scheme for moving bottlenecks in traffic flow

Maria Laura Delle Monache, Paola Goatin

► To cite this version:

Maria Laura Delle Monache, Paola Goatin. A numerical scheme for moving bottlenecks in traffic flow. Boletim da Sociedade Brasileira de Matemática / Bulletin of the Brazilian Mathematical Society, 2016, 47 (2), pp.605-617. 10.1007/s00574-016-0172-8 . hal-01402618

HAL Id: hal-01402618

https://inria.hal.science/hal-01402618

Submitted on 24 Nov 2016

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.
# A numerical scheme for moving bottlenecks in traffic flow

Maria Laura Delle Monache*, Paola Goatin†

## Abstract

We consider a strongly coupled PDE-ODE system that describes the moving bottlenecks created by several buses on a road. The model consists of a scalar conservation law modeling the main traffic evolution and a series of ODEs accounting for the trajectories of the buses, which depend on the surrounding traffic density. The moving bottlenecks are expressed by inequality constraints on the flux. We generalize a conservative finite volume scheme for the constrained hyperbolic PDE using a reconstruction technique and a tracking algorithm for the ODEs. Numerical simulations illustrate the impact of the buses on traffic flow.

This is joint work with C. Chalons (Université of Versailles Saint-Quentin, France).

**Keyword** Scalar conservation laws with local moving constraints, Traffic flow modeling, PDE-ODE coupling, Conservative finite volume schemes.

## 1 Introduction

We consider a circular bus route of unit length, where we model traffic flow in the presence of $N$ buses, which are responsible for moving bottlenecks on the road. This situation can be described by a coupled macroscopic-microscopic model as introduced in [13]. The dynamics of the cars density and the slower vehicles reads

$$ \partial_t \rho + \partial_x f(\rho) = 0, \qquad (t, x) \in \mathbb{R}^+ \times [0, 1], \qquad (1a) $$

$$ \rho(0, x) = \rho_0(x), \qquad x \in [0, 1], \qquad (1b) $$

$$ f(\rho(t, y_i(t))) - \dot{y}_i(t)\rho(t, y_i(t)) \leq F_{\alpha, i}, \qquad t \in \mathbb{R}^+, i = 1, \dots, N, \qquad (1c) $$

$$ \dot{y}_i(t) = \omega(\rho(t, y_i(t)+)), \qquad t \in \mathbb{R}^+, i = 1, \dots, N, \qquad (1d) $$

$$ y_i(0) = y_{0,i}, \qquad i = 1, \dots, N, \qquad (1e) $$

$$ \rho(t, 0+) = \rho(t, 1-), \qquad t \in \mathbb{R}^+, \qquad (1f) $$

where $\omega(\rho(t, y_i(t)+))$ denotes the right-hand limit of $\omega(\rho(t, x))$ at $x = y_i(t)$ and

$$ F_{\alpha, i} \doteq \frac{\alpha R}{4V} (V - \dot{y}_i(t))^2, \quad i = 1, \dots, N. $$

<footnote>*Rutgers University - Camden, USA</footnote>

<footnote>†Inria Sophia Antipolis - Méditerranée, France</footnote>
Above, $\rho = \rho(t, x) \in [0, R]$ is the scalar conserved quantity and represents the traffic density, whose maximum attainable value is $R$. The flux function $f: [0, R] \to \mathbb{R}^+$ is assumed to be strictly concave and such that $f(0) = f(R) = 0$. In this paper, we will take $f(\rho) = \rho v(\rho)$, where $v(\rho) = V(1 - \rho/R)$ is the mean traffic speed, $V$ being the maximal velocity allowed on the road.

The time-dependent variable $y_i$ denotes the position of the i-th bus. If the traffic is not too congested, each bus moves at its maximal speed $V_b < V$. When the surrounding traffic density is higher, the bus adapts its velocity accordingly. In particular, it is not possible for a bus to overtake cars. Besides, we remark that the case of buses with different maximal speeds requires a specific treatment and is not covered in this paper. In particular, we do not consider the possibility for a bus to reach and bypass another bus running ahead.

From a mathematical point of view, the velocity of the bus can be described by the following traffic density dependent function (see Figure 1)

$$ \omega(\rho) = \begin{cases} V_b & \text{if } \rho \le \rho^* \doteq R(1 - V_b/V), \\ v(\rho) & \text{otherwise.} \end{cases} $$

<figure><img src="image_1.png" /><figcaption>Figure 1: Bus and cars speeds.</figcaption></figure>

The bus acts as a moving obstacle, thus hindering the traffic flow as expressed by the flux constraint (1c). There, $\alpha \in ]0, 1[$ is the reduction rate of the road capacity due to the presence of the bus, see [8, 12, 13] for details on the derivation of the constraint (1c). Note that the inequality is always satisfied if $\dot{y}_i(t) = v(\rho)$, since the left-hand side is 0. Moreover, it is well defined even if $\rho$ has a jump at $y_i(t)$ because of the Rankine-Hugoniot conditions.
<figure><img src="image_2.png" /><figcaption>Figure 2: Flux functions for $\dot{y}_i = V_b$.</figcaption></figure>

Denoting by $\mathbb{S}^1 = \mathbb{R}/\mathbb{Z}$ the 1-dimensional torus, the notion of solution is given as follows.

**Definition 1.1** A $(N+1)$-tuple $(\rho, y_1, \dots, y_N) \in \mathcal{C}^0(\mathbb{R}^+; \mathcal{L}^1 \cap \text{BV}(\mathbb{S}^1; [0, R])) \times (\mathbf{W}^{1,1}(\mathbb{R}^+; \mathbb{S}^1))^N$ is a solution to (1) if

1. $\rho$ is a weak solution of (1a), (1b), (1f), i.e. for all $\varphi \in \mathcal{C}_c^1(\mathbb{R} \times \mathbb{S}^1; \mathbb{R})$

$$ \int_{\mathbb{R}^+} \int_{\mathbb{S}^1} (\rho \partial_t \varphi + f(\rho) \partial_x \varphi) \, dx \, dt + \int_{\mathbb{S}^1} \rho_0(x) \varphi(0, x) \, dx = 0; $$

moreover, $\rho$ satisfies Kružhkov entropy conditions [16] on $(\mathbb{R}^+ \times \mathbb{S}^1) \setminus \bigcup_{i=1}^N \{(t, y_i(t)): t \in \mathbb{R}^+\}$, i.e. for every $k \in [0, R]$ and for all $\varphi \in \mathcal{C}_c^1(\mathbb{R} \times \mathbb{S}^1; \mathbb{R}^+)$ and $\varphi(t, y_i(t)) = 0, t > 0, i = 1, \dots, N$,

$$ \int_{\mathbb{R}^+} \int_{\mathbb{S}^1} (|\rho - k|\partial_t \varphi + \operatorname{sgn}(\rho - k)(f(\rho) - f(k))\partial_x \varphi) \, dx \, dt + \int_{\mathbb{S}^1} |\rho_0 - k|\varphi(0, x) \, dx \geq 0; $$

2. for $i = 1, \dots, N$, $y_i$ is a Carathéodory solution of (1d), (1e), i.e. for a.e. $t \in \mathbb{R}^+$

$$ y_i(t) = y_{0,i} + \int_0^t \omega(\rho(s, y_i(s)+)) \, ds; $$

3. for $i = 1, \dots, N$, the constraint (1c) is satisfied, in the sense that for a.e. $t \in \mathbb{R}^+$

$$ \lim_{x \to y_i(t) \pm} (f(\rho) - \omega(\rho)\rho)(t, x) \leq F_{\alpha,i}. $$

The existence of solutions for the general Cauchy problem with BV initial data is proved in [13]. Remark that, when the constraint (1c) is enforced, a discontinuity appears, which violates the classical Kružhkov entropy condition along the bus
trajectory and will be referred to as non-classical shock. For related studies on conservation laws with fixed local constraints, the reader is referred to [4, 9].

Model (1) was first introduced and studied in an engineering setting [15, 18] (see also [10, 11] for a numerical treatment). A rigorous mathematical framework and an existence result were later proposed in [13]. Other systems modeling moving bottlenecks on roads are proposed in the applied mathematics literature: in [14, 17] the flux constraint is modeled by a mollifier, thus preserving the smoothness of the flux function; a 2 × 2 system modeling traffic flow coupled with a second order ODE is presented in [5]. In these works, standard numerical methods can be applied. The non classical shocks appearing in (1), instead, require a specific numerical treatment. A finite volume algorithm based on a locally non-uniform moving mesh which tracks the bus position was proposed in [12]. In the present paper we generalise to the case of N buses a conservative scheme introduced in [8] (see also [1, 2, 3, 6] for papers using a similar technique in a different setting), which precisely captures all discontinuities. Besides, the buses trajectories are computed by a tracking algorithm which accurately solves (1d), (1e), adapted from [7].

## 1.1 The Riemann Problem

We recall here the definition of the Riemann Solver for problem (1) given in [13] for a single bus (the index i will be dropped in this section). We denote by $RS$ the standard (i.e., without the constraint (1c)) Riemann solver for

$$ 
\begin{aligned}
\partial_t \rho + \partial_x f(\rho) &= 0, & (t, x) \in \mathbb{R}^+ \times \mathbb{R}, \\
\rho(0, x) &= \rho_0(x), & x \in \mathbb{R},
\end{aligned}
$$

with initial datum

$$ \rho_0(x) = \begin{cases} \rho_L & \text{if } x < 0, \\ \rho_R & \text{if } x > 0, \end{cases} $$

i.e., the (right continuous) map $(t, x) \mapsto RS(\rho_L, \rho_R)(x/t)$ given by the standard weak entropy solution. Moreover, let $y_0 = 0$ be the initial position of the bus and $\tilde{\rho}_\alpha$ and $\hat{\rho}_\alpha$, with $\tilde{\rho}_\alpha \le \hat{\rho}_\alpha$, be the intersection points of the flux function $f(\rho)$ with the line $f_\alpha(\rho_\alpha) + V_b(\rho - \rho_\alpha)$ (see Figure 2(a)).

**Definition 1.2** The constrained Riemann solver $RS^\alpha$ is the map $RS^\alpha: [0, R]^2 \to \mathcal{L}_{\text{loc}}^1(\mathbb{R}; [0, R])$ defined as follows.

1. If $f(RS(\rho_L, \rho_R)(V_b)) > F_\alpha + V_b RS(\rho_L, \rho_R)(V_b)$, then

$$ RS^\alpha(\rho_L, \rho_R)(x/t) = \begin{cases} RS(\rho_L, \hat{\rho}_\alpha)(x/t) & \text{if } x < V_b t, \\ RS(\tilde{\rho}_\alpha, \rho_R)(x/t) & \text{if } x \ge V_b t, \end{cases} \quad \text{and} \quad y(t) = V_b t. $$

2. If $V_b RS(\rho_L, \rho_R)(V_b) \le f(RS(\rho_L, \rho_R)(V_b)) \le F_\alpha + V_b RS(\rho_L, \rho_R)(V_b)$, then

$$ RS^\alpha(\rho_L, \rho_R) = RS(\rho_L, \rho_R) \quad \text{and} \quad y(t) = V_b t. $$

3. If $f(RS(\rho_L, \rho_R)(V_b)) < V_b RS(\rho_L, \rho_R)(V_b)$, i.e., $v(RS(\rho_L, \rho_R)(V_b)) < V_b$ then

$$ RS^\alpha(\rho_L, \rho_R) = RS(\rho_L, \rho_R) \quad \text{and} \quad y(t) = v(\rho_R)t. $$

Note that, when the constraint is enforced (point 1. in the above definition), a non-classical shock arises between $\hat{\rho}_\alpha$ and $\tilde{\rho}_\alpha$, which satisfies the Rankine-Hugoniot condition but violates the Lax entropy condition.
# 2 Numerical scheme

## 2.1 Numerical treatment for the conservation law

Approximate solutions for (1) can be computed extending the algorithm proposed in [8] for a single bus. This scheme allows to accurately capture the non-classical shock on a fixed mesh and at the same time to track the buses positions. Let $\Delta x$ and $\Delta t$ be the fixed space and time discretizations such that we can set $x_{j+\frac{1}{2}} = j\Delta x$ for $j \in \mathbb{Z}$ and $t^n = n\Delta t$ for $n \in \mathbb{N}$. Moreover, we denote by $y_i^n$ the $i$-th bus position at time $t^n$, so that $y_i^n \in C_{m_i} = [x_{m_i-\frac{1}{2}}, x_{m_i+\frac{1}{2}})$ for some $m_i \in \mathbb{Z}$, $i = 1, \dots, N$. The idea is that, whenever a non-classical shock appears, the information held by the initial data are not sufficient to correctly generate the exact solution. Therefore, it is necessary to input the left and right traces of the non-classical discontinuity in the algorithm. Whenever condition

$$f(\rho_{m_i}^n) > F_\alpha + V_b \rho_{m_i}^n, \quad (3)$$

is satisfied, a non-classical shock is expected to appear at time $t^n$ near the $i$-th bus position. If at time $t^n$ a non-classical shock is created at $y_i^n \in C_{m_i}$, for some $i = 1, \dots, N$, then the sole information $\rho_{m_i,i}^n$, which is present in the cell $C_{m_i}$ using a classical Godunov approach, is not enough to capture it. Hence, in the spirit of [6], we propose to introduce in the cells $C_{m_i}$ the left and right states $\rho_{m_i,l}^n = \hat{\rho}_\alpha$ and $\rho_{m_i,r}^n = \tilde{\rho}_\alpha$ of the non-classical discontinuity which is expected to be present in the constrained Riemann solution associated with $\rho_L = \rho_{m-1,i}^n$ and $\rho_R = \rho_{m+1,i}^n$ in case inequality (3) is satisfied. Since the presence of the non-classical shock is due to the presence of the bus, we require that this reconstructed discontinuity is located inside the cell $C_{m_i}$ at the position $\bar{x}_{m_i} = x_{m_i-\frac{1}{2}} + d_{m_i}^n \Delta x$, where $d_{m_i}^n \in [0, 1]$ is given by

$$d_{m_i}^n = \frac{\tilde{\rho}_\alpha - \rho_{m_i}^n}{\tilde{\rho}_\alpha - \hat{\rho}_\alpha}, \quad (4)$$

which implies that the proposed in-cell reconstruction is fully conservative, since

$$d_{m_i}^n \rho_{m_i,l}^n + (1 - d_{m_i}^n) \rho_{m_i,r}^n = \rho_{m_i}^n.$$

Then, the numerical flux $F_{m_i+\frac{1}{2}}^n$ at $x_{m_i+\frac{1}{2}}$ is defined by

$$\Delta t F_{m_i+\frac{1}{2}}^n = \min(\Delta t_{m_i+\frac{1}{2}}, \Delta t) f(\rho_{m_i,r}^n) + \max(\Delta t - \Delta t_{m_i+\frac{1}{2}}, 0) f(\rho_{m_i,l}^n) \quad (5)$$

where $\Delta t_{m_i+\frac{1}{2}} = \frac{1-d_{m_i}^n}{V_b} \Delta x$ represents the time needed by the reconstructed discontinuity to reach the interface $x = x_{m_i+\frac{1}{2}}$. We refer the reader to [6, 8] for more details.

This method allows to precisely capture the non-classical shocks introducing only one point of numerical diffusion, while guaranteeing mass conservation. To avoid instabilities due to numerical diffusion near classical shocks, which can make the scheme fail to capture non-classical solutions, we propose to adopt this strategy to reconstruct also classical shocks. We proceed as follows: given the left and right traces $\rho_L^n$ and $\rho_R^n$ of the shock, its position $\bar{x}_j = x_{j-\frac{1}{2}} + d_j^n \Delta x \in C_j$ is computed from

$$d_j^n = \frac{\rho_R^n - \rho_j^n}{\rho_R^n - \rho_L^n} \in [0, 1], \quad (6)$$
<figure><img src="image_3.png" /><figcaption>Figure 3: Reconstruction of a non-classical shock.</figcaption></figure>

and the numerical flux becomes

• if $\lambda(\rho_L^n, \rho_R^n) > 0$,

$$ \Delta t F_{j+\frac{1}{2}}^n = \min(\Delta t_{j+\frac{1}{2}}, \Delta t) f(\rho_R^n) + \max(\Delta t - \Delta t_{j+\frac{1}{2}}, 0) f(\rho_L^n), \quad (7) $$

with $\Delta t_{j+\frac{1}{2}} = \frac{1-d_j^n}{\lambda(\rho_L^n, \rho_R^n)} \Delta x$;

• if $\lambda(\rho_L^n, \rho_R^n) < 0$,

$$ \Delta t F_{j-\frac{1}{2}}^n = \min(\Delta t_{j-\frac{1}{2}}, \Delta t) f(\rho_L^n) + \max(\Delta t - \Delta t_{j-\frac{1}{2}}, 0) f(\rho_R^n), \quad (8) $$

with $\Delta t_{j-\frac{1}{2}} = \frac{d_j^n}{-\lambda(\rho_L^n, \rho_R^n)} \Delta x$;

• if $\lambda(\rho_L^n, \rho_R^n) = 0$,

$$ F_{j-\frac{1}{2}}^n = f(\rho_L^n) \quad \text{and} \quad F_{j+\frac{1}{2}}^n = f(\rho_R^n). $$

Above, $\lambda(\rho_L^n, \rho_R^n)$ is the speed of the shock given by the Rankine-Hugoniot condition. This additional reconstruction allows to handle correctly interactions between classical shocks and non-classical waves.

**Remark 1** Whenever a non-classical shock interacts with a classical one in the definition of the numerical flux, the priority is given to the reconstruction of the non-classical discontinuity.

## 2.2 Numerical treatment for the ODE

The buses trajectories are tracked using an algorithm based on the scheme introduced in [7], which accurately tracks the bus trajectory inside each computational cell. In particular, the following procedure is adopted:

• If $v(\rho_{m_i}^n) \ge V_b$, then the i-th bus moves at constant speed $V_b$. In this case, the bus trajectory is computed using the explicit Euler scheme $y_i^{n+1} = y_i^n + V_b \Delta t$.
* If $v(\rho_{m_i}^n) < V_b$, the i-th bus moves at the same speed of the surrounding traffic. In this case, we use the tracking algorithm in [7]. It computes the interactions between the bus trajectory and the waves produced by the Rieamnn solver at cells interfaces. A different numerical treatment is required whether the interacting wave is a rarefaction or a shock.

The complete algorithm is summarized in Algorithm 1.

## 3 Numerical results

In this section, we present two numerical tests performed with the scheme previously described to show the influence of the buses on traffic flow, and vice-versa. In both simulations, we set $V_b = 0.3$, $\alpha = 0.3$, $V = R = 1$.

**Test 1.** We consider $\rho_0(x) = 0.4$, which represent traffic in free flow equilibrium, and $N = 3$ buses initially located at $y_{0,1} = 0.2$, $y_{0,2} = 0.4$, $y_{0,3} = 0.6$. As shown in Figure 4, the presence of buses produces permanent stop-and-go waves, thus worsening traffic conditions, with creation of queues and the passage from a regime of free flow to a regime of congested flow.

**Test 2.** We consider the initial datum

$$ \rho_0(x) = \begin{cases} 0.099 & \text{if } 0 < x < 0.5, \\ 0.99 & \text{if } 0.5 < x < 1, \end{cases} $$

consisting of both a free flow and a congested state. Moreover, $N = 2$ buses are initially located at $y_{0,1} = 0.45$, $y_{0,2} = 0.5$. As shown in Figure 5, the initial distance $y_{0,2} - y_{0,1} = 0.05$ between the buses gets considerably reduced due to the interaction with the shock wave. Afterwards, the buses move at the same speed, keeping their distance and creating a single moving bottleneck.

## 4 Conclusions

In this paper, we extend the numerical method introduced in [8] to the case of several buses with the same speed law. It consists of a reconstruction based finite volume scheme that allows to capture precisely non-classical shocks for a coupled PDE-ODE problem with moving constraints. Classical and non-classical shocks are propagated exactly on a fixed mesh. We propose two numerical tests that illustrate the performances of the algorithm and are significant from the modeling point of view.

## Acknowledgments

This research was supported by the European Research Council under the European Union's Seventh Framework Program (FP/2007-2013) / ERC Grant Agreement n. 257661.

This work was finalized while the second author was visiting Inria Sophia Antipolis - Méditerranée supported by Inria Associated Team “ORESTE - Optimal REroute Strategies for Traffic management”.
**Algorithm 1** Algorithm for the conservative scheme and the bus tracking

**Input data:** Initial and boundary condition for the PDE and the ODE, $m_i$ cells indexes of the buses positions $y_i^n$, $i = 1, \dots, N$.

Compute the densities at time $t^{n+1}$ from the density values at time $t^n$ using the Godunov scheme.

for $j=1, \dots, J$ do

for $i=1, \dots, N$ do

Find $j$ such that $\rho_j^n < \rho_{j+1}^n$

if $(j \neq m_i$, and $j \neq m_i + 1$) or $(j = m_i$ and $f(\rho_{m_i}^n) \le F_\alpha + V_b \rho_{m_i}^n)$

then

Compute $d_j^n$ by (6)

if $0 \le d_j^n \le 1$ then

if $\lambda(\rho_j^n, \rho_{j+1}^n) > 0$ then

Compute $F_{j+\frac{1}{2}}^n$ using formula (7)

else if $\lambda(\rho_j^n, \rho_{j+1}^n) < 0$ then

Compute $F_{j-\frac{1}{2}}^n$ using formula (8)

end if

end if

else if $j = m_i + 1$ then

Compute $d_j^n$ by (6)

if $0 \le d_j^n \le 1$ then

if $\lambda(\rho_j^n, \rho_{j+1}^n) \ge 0$ then

Compute $F_{j+\frac{1}{2}}^n$ using formula (7)

end if

end if

end if

end for

end for

if $f(\rho_{m_i}^n) > F_\alpha + V_b \rho_{m_i}^n$, then

if $f(\mathcal{R}S(\rho_{m_i-1}^n, \rho_{m_i+1}^n)(V_b)) > F_\alpha + V_b \mathcal{R}S(\rho_{m_i-1}^n, \rho_{m_i+1}^n)(V_b)$ then

Compute $d_{m_i}^n$ by (4)

if $0 \le d_{m_i}^n \le 1$ then

Compute $F_{m_i+\frac{1}{2}}^n$ using formula (5)

end if

end if

end if

Compute the densities averages at time $t^{n+1}$ using the conservative scheme

$$ \rho_j^{n+1} = \rho_j^n - \frac{\Delta t}{\Delta t} (F_{j+\frac{1}{2}}^n - F_{j-\frac{1}{2}}^n). $$

Compute the buses positions

for $i=1, \dots, N$ do

if $v(\mathcal{R}S(\rho_{m_i-1}^n, \rho_{m_i+1}^n)(V_b)) \ge V_b$ then

$$ y_i^{n+1} = V_b \Delta t^n + y^n $$

else

$y_i^{n+1}$ computed with the tracking algorithm in [7]

end if

end for
<figure><img src="image_4.png" /><figcaption>Figure 4: **Test 1:** Time evolution of cars density and buses positions: transition from free flow to stop-and-go waves.</figcaption></figure>
<figure><img src="image_5.png" /><figcaption>Figure 5: **Test 2:** Time evolution of cars density and buses positions: reduction of distance between two following buses.</figcaption></figure>
References

[1] N. Aguillon. A Non-dissipative Reconstruction Scheme for the Compressible Euler Equations. Mar. 2014.

[2] N. Aguillon. Capturing nonclassical shocks in nonlinear elastodynamic with a conservative finite volume scheme. Feb. 2015.

[3] N. Aguillon and C. Chalons. Nondiffusive conservative schemes based on approximate Riemann solvers for Lagrangian gas dynamics. Oct. 2014.

[4] B. Andreianov, P. Goatin, and N. Seguin. Finite volume schemes for locally constrained conservation laws. *Numer. Math.*, 115(4):609–645, 2010. With supplementary material available online.

[5] R. Borsche, R. M. Colombo, and M. Garavello. On the coupling of systems of hyperbolic conservation laws with ordinary differential equations. *Nonlinearity*, 23(11):2749–2770, 2010.

[6] B. Boutin, C. Chalons, F. Lagoutière, and P. G. LeFloch. Convergent and conservative schemes for nonclassical solutions based on kinetic relations. *I. Interfaces and Free Boundaries*, 10(3):399–421, 2008.

[7] G. Bretti and B. Piccoli. A tracking algorithm for car paths on road networks. *SIAM Journal on Applied Dynamical Systems*, 7:510–531, 2008.

[8] C. Chalons, M. L. Delle Monache, and P. Goatin. A conservative scheme for non-classical solutions to a strongly coupled pde-ode problem. https://hal.inria.fr/hal-01070262, 2014.

[9] R. M. Colombo and P. Goatin. A well posed conservation law with a variable unilateral constraint. *J. Differential Equations*, 234(2):654–675, 2007.

[10] C. Daganzo and J. A. Laval. Moving bottlenecks: A numerical method that converges in flows. *Transportation Research Part B*, 39:855–863, 2004.

[11] C. Daganzo and J. A. Laval. On the numerical treatment of moving bottlenecks. *Transportation Research Part B*, 39:31–46, 2005.

[12] M. L. Delle Monache and P. Goatin. A front tracking method for a strongly coupled PDE-ODE system with moving density constraints in traffic flow. *Discrete Contin. Dyn. Syst. Ser. S*, 7(3):435–447, 2014.

[13] M. L. Delle Monache and P. Goatin. Scalar conservation laws with moving constraints arising in traffic flow modeling: an existence result. *J. Differential Equations*, 257:4015–4029, 2014. DOI:10.1016/j.jde.2014.07.014.

[14] I. Gasser, C. Lattanzio, and A. Maurizi. Vehicular traffic flow dynamics on a bus route. *Multiscale Model. Simul.*, 11(3):925–942, 2013.

[15] F. Giorgi. *Prise en compte des transports en commun de surface dans la modélisation macroscopique de l'écoulement du trafic*. PhD thesis, Institut National des Sciences Appliquées de Lyon, 2002.
[16] S. N. Kružhkov. First order quasilinear equations with several independent variables. *Mat. Sb. (N.S.)*, 81 (123):228–255, 1970.

[17] C. Lattanzio, A. Maurizi, and B. Piccoli. Moving bottlenecks in car traffic flow: a PDE-ODE coupled model. *SIAM J. Math. Anal.*, 43(1):50–67, 2011.

[18] J.-P. Lebacque, J. B. Lesort, and F. Giorgi. Introducing buses into first-order macroscopic traffic flow models. *Transportation Research Record*, 1644:70–79, 1998.