5.1 Introduction

A vehicle with different (eventually controlled) dynamics from general traffic along a street may reduce the road capacity, thus generating a moving bottleneck, and can be used to act on the traffic flow. The interaction between the controlled vehicle and the surrounding traffic, and the consequent flow reduction at the bottleneck position, can be described either by a conservation law with space dependent flux function [200], or by a strongly coupled PDE-ODE system proposed in [112, 208].

Many researchers addressed the problem of detecting a single vehicle among traffic. Most of these are PDE-ODE models where the main traffic is described by a scalar conservation law and the single vehicle’s trajectory satisfies an ODE. In these early works, see [81, 82], the car did not influence the surrounding traffic, making the system not fully coupled. More complicated situations involve cases in which the car influences in turn the bulk traffic. These cases give rise to more interesting control problems, where it is possible to control the main traffic stream by acting on the dynamics of single (possibly many) vehicles among the fleet. The main idea is to create moving bottlenecks that produce a non-negligible capacity drop in the main traffic flow.

The problem of fixed and moving bottlenecks was first introduced in the engineering literature [101, 102, 203, 208,209,210]. In the mathematical literature the first models involving fixed bottlenecks were proposed in [78] and [140]. The model in [78] considers the case of a tollgate that is modeled as a pointwise constraint on the maximal flux. This model can be used for control purposes as showed in Sect. 3.5. The second paper uses one-to-one junctions to account for different capacities. Later on the problem of moving bottlenecks was addressed in [112, 200]. Ad-hoc numerical schemes were introduced to solve these models numerically, see [67, 111, 146]. Moreover, extension to second order models or vehicle platooning were developed in [137, 243] respectively. These models have been used in the latest years to address control problems for traffic by using ad-hoc capacity drops, variable speed limits and autonomous vehicles (AVs). In fact, it is possible to describe the dynamics of a controller involving variable speed limits and/or pointwise capacity drops as a moving bottlenecks, see [167, 181, 228, 246].

5.2 PDE-ODE Models for Moving Bottlenecks

As usual, the flux function f is given by f(u) = uv(u), where v = v(u) is the average speed of cars, with \(v(0)=v_{\max }\) and \(v(u_{\max })=0\). We assume that the flux satisfies the condition

  1. (F)

    \(f: {\mathbf {C}}^{2}\left ([0, u_{\max }]; [0, +\infty )\right )\), \(f(0) = f(u_{\max }) = 0\),

    f strictly concave: − B ≤ f″(u) ≤−β < 0 for all \(u\in [0,u_{\max }]\), for some β, B > 0.

We note that (F) implies that v′(ρ) < 0 for every ρ ∈ ]0, R[, see [128, Lemma 1].

5.2.1 A Macroscopic Model with Space Dependent Flux

In [146, 200], the authors introduce a macroscopic model based on the LWR traffic flow model [224, 249], in which the capacity drops due to the controlled vehicle is modeled by a smooth cut-off function multiplying the flux. More precisely, the model reads as follows:

$$\displaystyle \begin{aligned} &\partial_t\, u + \partial_x\, f_\varphi (x,y(t),u) = 0 ,& t > 0,\, x \in \mathbb{R}, {} \end{aligned} $$
(5.1a)
$$\displaystyle \begin{aligned} &\dot{y}(t) = \omega \, v(u(t,y(t))),& {} t > 0, \end{aligned} $$
(5.1b)
$$\displaystyle \begin{aligned} &u(0,x) = u_0(x),& x \in \mathbb{R}, \end{aligned} $$
(5.1c)
$$\displaystyle \begin{aligned} &y(0)=y_0, & \end{aligned} $$
(5.1d)

where \(u=u(t,x)\in [0,u_{\max }]\) is the density of cars, y = y(t) is the position of the controlled vehicle, ω ∈ ]0, κ[ is its maximal speed for some κ ∈ ]0, 1], and the flux function f φ is given by

$$\displaystyle \begin{aligned} f_\varphi (x,y,u) = f(u)\cdot \varphi(x-y). \end{aligned} $$
(5.2)

In (5.2), φ(ξ) is a function representing the capacity dropping of car flows, due to the presence of the slower vehicle. We assume further the cut–off function φ(ξ) to be smooth and that there exist 0 < κ < 1 and δ > 0 such that

(φ.1):

κ ≤ φ(ξ) ≤ 1, for every \(\xi \in \mathbb {R}\);

(φ.2):

φ(ξ) = 1 for every ξ∉[−δ, δ];

(φ.3):

φ(0) = κ;

(φ.4):

φ is strictly decreasing in ] − δ, 0[ and strictly increasing in ]0, δ[;

see Fig. 5.1a. Observe that the assumption ω < κ ensures that the other vehicles can overtake the moving bottleneck caused by the controlled one.

Fig. 5.1
figure 1

(a) An example of the cut-off function φ(ξ) with δ = 0.5 and κ = 0.7. (b) Moving bottleneck speed ω v(u) and mean traffic speed at ξ = x − y(t)

The solutions to (5.1) are intended in the usual weak sense.

Definition 21

A vector (u, y) is a solution to (5.1) if u(t, ⋅) is a function in \(\mathbf {BV}(\mathbb {R})\) for a.e. t > 0 which solves (5.1a) in the sense of distributions, that is

$$\displaystyle \begin{aligned} \int_{0}^{+\infty} \int_{\mathbb{R}} \{u \, \partial_t\, \phi(t,x) + f(x,y(t),u)\, \partial_x\, \phi(t,x)\} dx dt + \int_{\mathbb{R}}u_{0}(x)\phi(0,x) dx = 0, \end{aligned}$$

for any \(\phi \in {\mathbf {C}}^{1}_c (\mathbb {R}^2;\mathbb {R}^+)\).

Moreover, the position of the slower moving vehicle y(t) solves equation (5.1b) in [0, T] in the sense of Filippov (see [132]), namely y(t) is an absolutely continuous function such that y(0) = y 0 and

$$\displaystyle \begin{aligned} \dot y (t)\in \operatorname{\overline{\mathrm{co}}}\{\omega\, v(u):u\in\mathcal{I}[u(t,y(t)-),u(t,y(t)+)]\} \end{aligned}$$

for a.e. t > 0, where the set \(\mathcal {I}[a,b]\) is defined as the smallest interval containing a and b.

Existence of such solutions is proven in [200] for any \(u_0\in \mathbf {BV} (\mathbb {R})\). The proof relies on the construction of approximate solutions by a fractional step method. A wave-front tracking approach can be found in [56]. Multiple bottlenecks can be handled as in [56, Section 6] or [146].

5.2.2 PDE-ODE Models with Flux Constraint

Following the model proposed in [112, 138, 208], we consider the following coupled PDE-ODE system

$$\displaystyle \begin{aligned} &\partial_t\, u + \partial_x\, f(u) = 0, & t > 0,\, x \in \mathbb{R}, {} \end{aligned} $$
(5.3a)
$$\displaystyle \begin{aligned} &\dot y(t) = \min\left\{ \omega(t), v(u(t,y(t)+))\right\}, & t > 0, {} \end{aligned} $$
(5.3b)
$$\displaystyle \begin{aligned} & f (u(t,y(t))) - \dot y(t) u (t,y(t)) \leq F_\alpha\left(\dot y(t)\right), {} & t> 0, \end{aligned} $$
(5.3c)
$$\displaystyle \begin{aligned} &u(0, x) = u_0(x), & x \in \mathbb{R},{} \end{aligned} $$
(5.3d)
$$\displaystyle \begin{aligned} &y(0) = y_0,& {} \end{aligned} $$
(5.3e)

where u 0 and y 0 are the initial traffic density and the controlled vehicle position, and \(\omega (t)\in [0,v_{\max }]\) is the desired speed of the controlled vehicle at time t > 0.

Remark 12

Unlike the previous model (5.1b), in (5.3b) the controlled vehicle travels at its own speed ω(t) if downstream traffic conditions allow it, i.e., if v(u(t, y(t)+)) ≥ ω(t), that is u(t, y(t)+) ≤ v −1(ω(t)) =: u (t), see Fig. 5.2.

Fig. 5.2
figure 2

The speed of the moving bottleneck: u (t) is defined by the equality v(u (t)) = ω(t)

The function F α in (5.3c) is defined as

$$\displaystyle \begin{aligned} F_\alpha\left(\dot y(t)\right):=\max_{u\in[0,u_{\max}]} \left( \alpha f(u/\alpha)-u\dot y (t)\right),\qquad \alpha \in\ ]0, 1[, \end{aligned} $$
(5.4)

and represents the road capacity reduction due to the presence of the vehicle, acting as a moving bottleneck which imposes a unilateral flux constraint at its position. The coefficient α is the capacity reduction rate given by the ratio of the number of lanes non occupied by the vehicle over the total number of lanes.

To determine the function F α, we consider reduced flux function

$$\displaystyle \begin{aligned} \begin{array}{rccc} f_{\alpha}: & [0, \alpha u_{\max}] & \longrightarrow & \mathbb{R}^+ \\ & u & \longmapsto & u v({u}/{\alpha})= \alpha f(u/\alpha), \end{array} \end{aligned}$$

which is a strictly concave function satisfying \(f_{\alpha }(0) = f_{\alpha }(\alpha u_{\max }) = 0\). For every \(\omega \in [0, v_{\max }]\), define the point \(\tilde u_{\omega }\) as the unique solution to the equation \(f^{\prime }_{\alpha }(u) = u\). Introduce also, for every \(\omega \in [0, v_{\max }]\), the function

$$\displaystyle \begin{aligned} \begin{array}{rccc} \varphi_{\omega}: & [0, u_{\max}] & \longrightarrow & \mathbb{R}^+ \\ & u & \longmapsto & f_{\alpha}(\tilde u_\omega) + \omega \left(u - \tilde u_\omega\right). \end{array} \end{aligned}$$

Hence, if \(\dot y(t)=\omega \), the function F α in (5.3c) is defined by

$$\displaystyle \begin{aligned} \begin{array}{rccc} F_\alpha: & [0, v_{\max}] & \longrightarrow & \mathbb{R}^+ \\ & \omega & \longmapsto & \varphi_\omega(0) = f_{\alpha}(\tilde u_\omega) - \omega \tilde u_\omega. \end{array} \end{aligned} $$
(5.5)

If \(\dot y(t)=v(u(t,y(t)+))\), the inequality (5.3c) is trivially satisfied since the left-hand side is zero. Finally, the points \(0 \le \check u_\omega \le \tilde u_\omega \le \hat u_\omega \le u_\omega \le u_{\max }\) are uniquely defined by

$$\displaystyle \begin{aligned} \check u_\omega = \min \mathcal{I}_\omega, \quad \hat u_\omega = \max \mathcal{I}_\omega, \quad \mathcal{I}_\omega = \left\{u \in [0, u_{\max}]:\, f(u) = \varphi_\omega (u)\right\}, \end{aligned}$$

and implicitly by

$$\displaystyle \begin{aligned} v(u_\omega) = \omega, \end{aligned}$$

see [112, 138] and Fig. 5.3. It is straightforward to see that \(\check u_{v_{\max }} = \tilde u_{v_{\max }} = \hat u_{v_{\max }} = u_{v_{\max }} =0\).

Fig. 5.3
figure 3

The definition of \(\tilde u_\omega \), \(\check u_\omega \), \(\hat u_\omega \) and u ω

Solutions of the Cauchy problem (5.3) are intended in the following weak sense.

Definition 22

A couple \((u,y)\in {\mathbf {C}}^{0}\left ( \mathbb {R}^+; {\mathbf {L}}_{\mathrm {loc}}^1 (\mathbb {R};{[0,u_{\max }]})\right ) \times {\mathbf {W}}^{\mathbf {1,1}}_{\mathbf {loc}}(\mathbb {R}^+;\mathbb {R})\), with TV(u(t, ⋅)) < + for all \(t\in \mathbb {R}^+\), is a solution to (5.3) if

  1. 1.

    For every \(\kappa \in \mathbb {R}\) and for all \(\varphi \in {\mathbf {C}}^{1}_c (\mathbb {R}^2;\mathbb {R}^+)\) it holds

    $$\displaystyle \begin{aligned} \begin{array}{rcl} & &\displaystyle \int_{\mathbb{R}^+}\int_{\mathbb{R}} \left( \left\vert u-\kappa \right\vert \partial_t \varphi +\operatorname{\mathrm{sgn}} (u-\kappa)\left(f(u)-f(\kappa)\right) \partial_x\varphi \right) \,\mathrm{d} x\, \,\mathrm{d} t \\ & &\displaystyle +\int_{\mathbb{R}} |u_0-\kappa| \varphi(0,x) \, \,\mathrm{d} x {} \\ & &\displaystyle {+} \, 2 \int_{\mathbb{R}^+} \left( f(\kappa) - \dot y (t) \kappa - \min\{f(\kappa) - \dot y (t) \kappa, F_\alpha(\dot y(t))\} \right) \varphi(t,y(t)) \, \,\mathrm{d} t \geq 0\,; \end{array} \end{aligned} $$
    (5.6a)

    2. y is a Carathéodory solution of (5.3b), (5.3e), i.e., for a.e. \(t\in \mathbb {R}^+\)

    $$\displaystyle \begin{aligned} y(t)= y_0 +\int_0^t \min\left\{ \omega(t), v(u(s,y(s)+))\right\} \ \,\mathrm{d} s \ ; \end{aligned} $$
    (5.6b)

    3. the constraint (5.3c) is satisfied, in the sense that for a.e. \(t\in \mathbb {R}^+\)

    $$\displaystyle \begin{aligned} \lim_{x\to y(t)\pm} \left( f(u) - u \min\left\{ \omega(t), v(u)\right\}\right) (t,x)\leq F_\alpha (\dot{y}(t)), \end{aligned} $$
    (5.6c)

    with F α defined in (5.4).

Well-posedness results for (5.3) are based on wave-front tracking approximations. Therefore, we focus here on the solution to the Riemann problem, i.e., problem (5.3) with initial data

$$\displaystyle \begin{aligned} y_0=0 \qquad \mbox{and}\qquad u_0(x) = \begin{cases} u_L & \mbox{ if } x < 0, \\ u_R & \mbox{ if } x > 0. \end{cases} \end{aligned} $$
(5.7)

Denote by \(\mathcal {R}\) the standard (i.e., without the constraint (5.3c)) Riemann solver for (5.3a)–(5.7), i.e., the (right continuous) map \((t,x)\mapsto \mathcal {R}(u_L,u_R)({x}/{t})\) given by the standard weak entropy solution, see Sect. A.6.1. Following [112, Definition 3.1], the constrained Riemann solver is defined below.

Definition 23

For any \(\omega \in [0,v_{\max }]\), the constrained Riemann solver \(\mathcal {R}^\omega : [0,u_{\max }]^2 \to {\mathbf {L}}^{1}_{loc}(\mathbb {R};[0,u_{\max }])\) is defined as follows.

  1. 1.

    If \(f(\mathcal {R}(u_L,u_R)(\omega ))> F_\alpha (\omega )+\omega \,\mathcal {R}(u_L,u_R)(\omega )\), then

    $$\displaystyle \begin{aligned} \mathcal{R}^\omega(u_L,u_R)(x/t)= \left\{ \begin{array}{ll} \mathcal{R}(u_L,\hat{u}_\omega)(x/t) &\mbox{if}~x < \omega t, \\ \mathcal{R}(\check{u}_\omega,u_R)(x/t) &\mbox{if}~x\geq \omega t, \end{array} \right. \quad \mbox{and}\quad y(t)=\omega t. \end{aligned}$$
  2. 2.

    If \(f(\mathcal {R}(u_L,u_R)(\omega ))\leq F_\alpha (\omega )+\omega \,\mathcal {R}(u_L,u_R)(\omega )\), then

    $$\displaystyle \begin{aligned} \mathcal{R}^\omega (u_L,u_R)=\mathcal{R}(u_L,u_R) \quad \mbox{and}\quad y(t)=\min\left\{\omega,v(u(t,y(t)+))\right\}\, t. \end{aligned}$$

Figures 5.4 and 5.5 illustrate two possible configurations corresponding to points 1. and 2. in Definition 23, respectively. In particular, we remark that when the constraint is enforced (point 1.) the jump discontinuity from \(\hat {u}_\omega \) to \(\check {u}_\omega \) is an undercompressive shock, which satisfies Rankine–Hugoniot conditions but violates Lax entropy conditions, which motivates the last term in (5.6a).

Fig. 5.4
figure 4

The constrained Riemann problem (5.3)–(5.7), case 1. In this case y(t) = y(0) + ωt, while the solution u is composed by two classical shocks separated by an undercompressive shock between \(\hat {u}_\omega \) and \(\check {u}_\omega \)

Fig. 5.5
figure 5

The constrained Riemann problem (5.3)–(5.7), case 2. In this case y(t) = y(0) + v(u R)t, while the solution for u is composed by the classical shock connecting u L to u R

We finally have the following general existence result [138], holding for initial data and controls with bounded total variation.

Theorem 32

Let the initial conditions \(u_0 \in \mathbf {BV} \left (\mathbb {R}; [0,u_{\max }]\right )\), \(y_0 \in \mathbb {R}\) , and the open-loop control \(\omega \in \mathbf {BV}\left (\mathbb {R}^+; [0, v_{\max }] \right )\) . Then there exists a solution \(\left (u, y\right )\) to (5.3) in the sense of Definition 22.

For partial stability results, see [114, 223].

The construction presented above can be extended to second order models, consisting in 2 × 2 systems of conservation laws accounting for mass conservation and an acceleration balance equation. In [272], the Aw–Rascle–Zhang (ARZ) model [23, 277] is coupled with a moving bottleneck (with constant maximal speed) as follows:

$$\displaystyle \begin{aligned} &\begin{cases} \partial_{t}u+\partial_x (u v)=0,\\ \partial_t(u (v+p(u)))+\partial_x(u v (v+p(u)))=0, \\ \end{cases} {\quad x \in \mathbb{R}, \,t>0,} {} \end{aligned} $$
(5.8a)
$$\displaystyle \begin{aligned} &\dot{y}(t)=\min \left\{ \omega, v(t,y(t)+)\right\}, {} \end{aligned} $$
(5.8b)
$$\displaystyle \begin{aligned} & \lim_{x\to y(t)\pm} \left(u (v-\min \{ \omega, v\})\right) (t,x)\leq {F_\alpha} (\dot{y} (t)), {} \end{aligned} $$
(5.8c)

with initial conditions

$$\displaystyle \begin{aligned} &u(0,x)=u_0(x), \end{aligned} $$
(5.9a)
$$\displaystyle \begin{aligned} & v(0,x) = v_0(x), {} \end{aligned} $$
(5.9b)
$$\displaystyle \begin{aligned} & y(0)=y_0. {} \end{aligned} $$
(5.9c)

Above, u = u(t, x) and v = v(t, x) denote respectively the density and the mean velocity of traffic. Note that the quantity v + p(u), usually referred to as Lagrangian marker, is transported at velocity v and depends on the density through a pressure law p ∈C 2([0, +[;[0, +[) satisfying the following hypotheses:

$$\displaystyle \begin{aligned} &p(0)=0, {} \end{aligned} $$
(5.10a)
$$\displaystyle \begin{aligned} & p'(u)>0 \quad \mbox{for every}~u>0, {} \end{aligned} $$
(5.10b)
$$\displaystyle \begin{aligned} & u\mapsto u p(u) \quad \mbox{is strictly convex.} {} \end{aligned} $$
(5.10c)

The maximal speed ω of the controlled vehicle satisfies \(0<\omega < v_{\max }\). Hence, the phase space for (5.8a) is defined by the domain

$$\displaystyle \begin{aligned} \mathcal{D} = \lbrace (u,v)\in \mathbb{R}^+\times\mathbb{R}^+ \colon 0\leq v \leq v_{\max}, \, 0\leq v+p(u) \leq p(u_{\max}) \rbrace \end{aligned}$$

away from the controlled vehicle position, and

$$\displaystyle \begin{aligned} \mathcal{D}_{\alpha} = \lbrace (u,v)\in \mathbb{R}^+\times\mathbb{R}^+ \colon 0\leq v \leq v_{\max}, \, 0\leq v+p(u) \leq p(\alpha u_{\max}) \rbrace \end{aligned}$$

at x = y(t).

When the controlled vehicle acts on the flow, namely when v > ω at x = y(t), the left and right initial states of the Riemann problem associated with (5.8) will be joined by simple waves associated with the two characteristic fields, but the phase space \(\mathcal {D}_{\alpha }\) must be preserved, namely that \(0\leq v \leq v_{\max }\) and \(v+p(u) \leq p(\alpha u_{\max })\) at the controlled vehicle position. The first constraint is already satisfied when the vehicle is not present. The second inequality is equivalent to

$$\displaystyle \begin{aligned} u (v - \omega) \leq u \left(p(\alpha u_{\max}) - p(u) - \omega \right). \end{aligned}$$

Under this form, it is clear that the constraint reads as a constraint on the relative flux at the bus position. Let us determine under which condition the quantity v + p(u) equals a constant K such that \(K \leq p(\alpha u_{\max })\), or equivalently

$$\displaystyle \begin{aligned} u(v - \omega) = u (K - p(u)) - u \omega, \end{aligned}$$

with K such that \(K \leq p(\alpha u_{\max })\). The function u → ϕ(u;K) := u(K − p(u)) −  is strictly concave in u by assumption (5.10c) and non-decreasing in K since u ≥ 0. Moreover, we have ϕ(0;K) = 0 for all K. Therefore, the maximal possible value F α of the relative flux corresponds to \(K=p(\alpha u_{\max })\) and

$$\displaystyle \begin{aligned} F_{\alpha} (\omega)= \max_{u\in[0,u_{\max}]} u \left(p(\alpha u_{\max}) - p(u) - \omega \right), \end{aligned} $$
(5.11)

which is attained at u α such that

$$\displaystyle \begin{aligned} p(\alpha u_{\max}) - u_{\alpha} p'(u_{\alpha}) - p(u_{\alpha})- \omega=0. \end{aligned} $$
(5.12)

Note that we have to assume \(\omega < p(\alpha u_{\max })\) to have u α > 0. From (5.11) and (5.12), we find that the largest admissible flux is given by \(F_{\alpha } (\omega ) = u_{\alpha }^2 p'(u_{\alpha })\). Therefore, the classical solution will remain admissible provided that the relative flux does not exceed the upper bound F α(ω), see Fig. 5.6, where we have noted w α := p(αR) and w max := p(R). This criterion is the key ingredient to determine the two possible Riemann solutions described in [272].

Fig. 5.6
figure 6

Representation of the phase plane in the fixed and in the bus reference frames. (a) Flux representation in the phase plane. (b) Flux representation in the bus reference frame

Let U L = (u L, v L) and U R = (u R, v R) be two points in the domain \(\mathcal {D}\). We consider the Riemann problem for (5.8) corresponding to the initial data

$$\displaystyle \begin{aligned} &u(0,x)= \begin{cases} u_L & \mbox{if } x<0, \\ u_R & \mbox{if } x>0, \end{cases} {} \end{aligned} $$
(5.13a)
$$\displaystyle \begin{aligned} & v(0,x) = \begin{cases} v_L & \mbox{if } x<0, \\ v_R & \mbox{if } x>0, \end{cases} {} \end{aligned} $$
(5.13b)
$$\displaystyle \begin{aligned} & y(0)=0. {} \end{aligned} $$
(5.13c)

and to the constant bottleneck speed \(\dot {y}(t)=\omega \) for all t > 0. Let I be the set

$$\displaystyle \begin{aligned} I =\lbrace u \in [0,u_{\max}]: \,u \left(v_L+p(u_L)-p(u)\right)=F_\alpha(\omega)+u \omega \rbrace . \end{aligned}$$

Since the map \(u\mapsto u \left (v_L+p(u_L)- \omega -p(u)\right )\) is strictly concave due to (5.10c), the set I contains at most two elements. If I ≠ ∅, let \((\hat {u},\hat {v})\) and \((\check {u}_1,\check {v}_1)\) be the points defined by

$$\displaystyle \begin{aligned} \hat{u}=\max I, \; \; \hat{v}=\dfrac{F_\alpha(\omega)}{\hat{u}}+\omega, \; \; \check{u}_1 = \min I \; \mbox{ and } \; \check{v}_1=\dfrac{F_\alpha(\omega)}{\check{u}_1}+\omega. \end{aligned}$$

These are respectively the points with maximal and minimal density of the Lax curve of the first family passing through (u L, v L) which satisfy the condition (5.8c) on the flux. Moreover, if v R > ω, we define the point \((\check {u}_2,\check {v}_2)\) as

$$\displaystyle \begin{aligned} \check{u}_2=\dfrac{F_\alpha(\omega)}{v_R-\omega} \; \text{ and } \; \check{v}_2=v_R. \end{aligned}$$

This is the point of maximal density of the Lax curve of the second family passing through (u R, v R) for which (5.8c) is satisfied. All these points are depicted in Fig. 5.7.

Fig. 5.7
figure 7

Notations used in the definition of the constrained Riemann solvers \(\mathcal {R}^\omega _{ARZ1}\) and \(\mathcal {R}^\omega _{ARZ2}\)

Let \(\mathcal {R}_{ARZ}\) be the standard Riemann solver for (5.8a), (5.13a), (5.13b), see [23], and let

$$\displaystyle \begin{aligned}\bar{u}(U_L,U_R)(\cdot) \; \text{ and } \; \bar{v}(U_L,U_R)(\cdot)\end{aligned}$$

be respectively the u and v components of \(\mathcal {R}_{ARZ}(U_L,U_R)(\cdot )\), and let

$$\displaystyle \begin{aligned} f_1(\mathcal{R}_{ARZ}(U_L,U_R)(\cdot)):= \bar{u}(U_L,U_R)(\cdot) \; \bar{v}(U_L,U_R)(\cdot) \end{aligned}$$

be the first component of the flux function of the ARZ system.

We propose now two possible definitions of Riemann solver for the constrained ARZ system (5.8).

Definition 24

The Riemann solver

$$\displaystyle \begin{aligned}\mathcal{R}^\omega_{ARZ1}:\mathcal{D}\times\mathcal{D}\rightarrow {\mathbf{L}}^{1}(\mathbb{R},\mathbb{R}^+\times\mathbb{R}^+)\end{aligned}$$

is defined as follows.

  1. 1.

    If \(f_1(\mathcal {R}_{ARZ}(U_L,U_R)(\omega ))>F_\alpha (\omega )+\omega \, \bar {u}(U_L,U_R)(\omega )\), then

    $$\displaystyle \begin{aligned} &\mathcal{R}^\omega_{ARZ1}(U_L,U_R)(x/t)=\begin{cases} \mathcal{R}_{ARZ}((u_L,v_L),(\hat{u},\hat{v}))(x/t) & \text{ if } x<y(t),\\ \mathcal{R}_{ARZ}((\check{u}_1,\check{v}_1),(u_R,v_R))(x/t) & \text{ if } x>y(t), \end{cases}\\ &\text{and } \; y(t)=\omega \, t. \end{aligned}$$
  2. 2.

    If \( f_1(\mathcal {R}_{ARZ}(U_L,U_R)(\omega ))\leq F_\alpha (\omega )+ \omega \, \bar {u}(U_L,U_R)(\omega )\) then

    $$\displaystyle \begin{aligned} \mathcal{R}^\omega_{ARZ1}(U_L,U_R)(x/t) = \mathcal{R}_{ARZ}(U_L,U_R)(x/t) \end{aligned}$$

    and \(y(t)=\min \left \{\omega , \bar {v}(U_L,U_R)(\omega )\right \} t.\)

Remark that the solution \(\mathcal {R}^\omega _{ARZ1}\) is conservative for both density and momentum of the vehicles. Moreover, in case 1., the solution given by \(\mathcal {R}^\omega _{ARZ1}\) does not satisfy the Lax entropy condition at the jump discontinuity between the left state \((\hat {u},\hat {v})\) and the right state \((\check {u}_1,\check {v}_1)\), because \(\check {u}_1<\hat {u}\). Therefore, as in the scalar case, \((\hat {u},\hat {v})\) and \((\check {u}_1,\check {v}_1)\) are connected by a non-classical shock (we refer the reader to [213] for an extensive survey on entropy-violating jump discontinuities).

Definition 25

The Riemann solver

$$\displaystyle \begin{aligned}\mathcal{R}^\omega_{ARZ2}:\mathcal{D}\times\mathcal{D}\rightarrow {\mathbf{L}}^{1}(\mathbb{R},\mathbb{R}^+\times\mathbb{R}^+)\end{aligned}$$

is defined as follows.

  1. 1.

    If \(f_1(\mathcal {R}_{ARZ}(U_L,U_R)(\omega ))>F_\alpha (\omega )+\omega \, \bar {u}(U_L,U_R)(\omega )\), then

    $$\displaystyle \begin{aligned} &\mathcal{R}^\omega_{ARZ2}(U_L,U_R)(x/t)=\begin{cases} \mathcal{R}_{ARZ}((u_L,v_L),(\hat{u},\hat{v}))(x/t) & \text{ if } x<y(t),\\ \mathcal{R}_{ARZ}((\check{u}_1,\check{v}_2),(u_R,v_R))(x/t) & \text{ if } x>y(t), \end{cases}\\ &\text{and } \; y(t)=\omega \, t. \end{aligned}$$
  2. 2.

    If \( f_1(\mathcal {R}_{ARZ}(U_L,U_R)(\omega ))\leq F_\alpha (\omega )+ \omega \, \bar {u}(U_L,U_R)(\omega )\) then

    $$\displaystyle \begin{aligned} \mathcal{R}^\omega_{ARZ2}(U_L,U_R)(x/t) = \mathcal{R}_{ARZ}(U_L,U_R)(x/t) \end{aligned}$$

    and \(y(t)=\min \left \{\omega , \bar {v}(U_L,U_R)(\omega )\right \} t.\)

The Riemann solver \(\mathcal {R}^\omega _{ARZ2}\) conserves only the number of the vehicles. Indeed, along the line x = y(t) the Rankine–Hugoniot condition holds for the first flux component, because both \((\hat {u},\hat {v})\) and \((\check {u}_2,\check {v}_2)\) belong to the line uv = F α(ω) + ωu, but not for the second component.

Figure 5.8 presents a comparison of the solutions given by the Riemann solvers \(\mathcal {R}^\omega _{ARZ1}\) and \(\mathcal {R}^\omega _{ARZ2}\). We observe that the solver \(\mathcal {R}^\omega _{ARZ1}\) gives a constant low density region just downstream the bus position, while applying \(\mathcal {R}^\omega _{ARZ2}\) results in turn in a region in which the density is higher and non-constant. In particular, in the latter case the bus impacts the downstream traffic on a wider region.

Fig. 5.8
figure 8

Spatio-temporal evolution of traffic density and moving bottleneck trajectory given by \(\mathcal {R}^\omega _{ARZ1}\) (top) and \(\mathcal {R}^\omega _{ARZ2}\) (bottom) corresponding to the data (u L, v L) = (9, 1) for x < 0, (u R, v R) = (2, 8) for x > 0, ω = 4, α = 0.5, \(u_{ \max }=15\) and y 0 = −0.1

5.2.3 A PDE-ODE Model for Vehicle Platooning

The first order LWR model can be adapted to describe the dynamics of the bulk traffic interacting with a platoon of vehicles. We denote by z D = z D(t) and z U = z U(t) respectively the downstream and upstream endpoints of the platoon. At the platoon location, the road capacity is reduced proportionally to the number of lanes occupied by the platoon, and the platoon acts as a flux constraint on the interval [z U(t), z D(t)]. The resulting coupled PDE-ODE model reads

$$\displaystyle \begin{aligned} &\partial_tu+\partial_x F(t,x,u) =0 , {}&(t,x)\in \mathbb{R}^+ \times \mathbb{R}, \end{aligned} $$
(5.14a)
$$\displaystyle \begin{aligned} &u(0,x)=u_0(x),{}& x\in \mathbb{R}, \end{aligned} $$
(5.14b)
$$\displaystyle \begin{aligned} &\dot{z}_U(t)=v_U(t,u(t,z_U(t)+)),{} &t\in \mathbb{R}^+, \end{aligned} $$
(5.14c)
$$\displaystyle \begin{aligned} &z_U(0)=z_U^0,{} \end{aligned} $$
(5.14d)
$$\displaystyle \begin{aligned} &\dot{z}_D(t)=v_D(t,u(t,z_D(t)+)),{} &t\in \mathbb{R}^+, \end{aligned} $$
(5.14e)
$$\displaystyle \begin{aligned} &z_D(0)=z_D^0.{} \end{aligned} $$
(5.14f)

Above, the space-time discontinuous flux function F is defined as

$$\displaystyle \begin{aligned} F(t,x,u):= \begin{cases} f(u) & \mbox{if } x\not\in [z_U(t),z_D(t)], \\ f_\alpha(u) := \alpha f(u/\alpha) & \mbox{if } x\in [z_U(t),z_D(t)]. \end{cases} \end{aligned} $$
(5.15)

To comply with the varying road capacity, we have to consider initial data u 0 such that

$$\displaystyle \begin{aligned} \begin{array}{ll} u_0(x)\in[0,\alpha u_{\max}] &\mbox{if } x\in[z_U^0,z_D^0], \\ {} u_0(x)\in[0,u_{\max}] &\mbox{otherwise. } \end{array} \end{aligned} $$
(5.16)

The dynamics of the platoon ending points is governed by (5.14c)–(5.14e), where

$$\displaystyle \begin{aligned} v_U(t,u)&:=\max\left\{ \omega_U(t), -f_\alpha(u)/(u_{\max}-u)\right\}, {} \end{aligned} $$
(5.17)
$$\displaystyle \begin{aligned} v_D(t,u)&:=\min\left\{ \omega_D(t), v(u)\right\} ,{} \end{aligned} $$
(5.18)

where \(\omega _U(t)\in [-v_{\max },v_{\max }]\) and \(\omega _D(t)\in [0,v_{\max }]\) are the controllable maximal speeds of the upstream and downstream endpoints respectively. Equation (5.18) accounts for the fact that the platoon cannot move quicker than the downstream traffic velocity. Moreover, the speed ω D is constrained to be positive, since vehicles cannot move backwards. On the other hand, if vehicles are allowed to join (and leave) the platoon, ω U may take negative values. In the case of negative speed, condition (5.17) ensures that the problem is well-posed.

Following [243], weak entropy solutions of (5.14) are intended in the following sense:

Definition 26

A weak entropy solution to (5.14)–(5.15)–(5.16) is a triple \((u, z_U, z_D)\in {\mathbf {C}}^{0}\left ( \mathbb {R}^+; {\mathbf {L}}_{\mathrm {loc}}^1(\mathbb {R};[0,u_{\max }]) \right ) \times \left ({\mathbf {W}}^{\mathbf {1,}\mathbf {\infty }}(\mathbb {R}^+;\mathbb {R}) \right )^2\) such that

  1. (i)

    \(u\in {\mathbf {L}}^{\infty } \left ( \mathbb {R}^+; \mathbf {BV} (\mathbb {R};[0,u_{\max }])\right )\);

  2. (ii)

    \(u(t,x)\in [0,\alpha u_{\max }]\) for a.e. x ∈ [z U(t), z D(t)] and t > 0;

  3. (iii)

    for all \(\kappa \in \mathbb {R}\) and all test functions \(\varphi \in {\mathbf {C}}_{\mathbf c}^{1}(\mathbb {R}^2;\mathbb {R}^+)\) it holds

    $$\displaystyle \begin{aligned} \int_{\mathbb{R}^+}\int_{\mathbb{R}} & \left( \left\vert u-\kappa \right\vert\,\partial_t\varphi +\operatorname{\mathrm{sgn}} (u-\kappa) \left( F(t,x,u)-F(t,x,\kappa) \right)\partial_x\varphi \right) \,\mathrm{d} x\, \,\mathrm{d} t \\ & +\int_{\mathbb{R}} \left\vert u_0-\kappa \right\vert \varphi(0,x) \, \,\mathrm{d} x \\ & + \int_{\mathbb{R}^+} \left\vert F(t,z_U(t)+,\kappa)-F(t,z_U(t)-,\kappa) \right\vert \varphi(t,z_U(t)) \, \,\mathrm{d} t \\ & + \int_{\mathbb{R}^+} \left\vert F(t,z_D(t)+,\kappa)-F(t,z_D(t)-,\kappa) \right\vert \varphi(t,z_D(t)) \, \,\mathrm{d} t \geq 0; \end{aligned} $$
  4. (iv)

    z U and z D are Carathéodory solutions of (5.14c)–(5.14d), respectively (5.14e)–(5.14f), i.e., for a.e. \(t\in \mathbb {R}^+\) it holds

    $$\displaystyle \begin{aligned} z_U(t) &= z_U^0 +\int_0^t v_U(s,u(s,z_U(s)+)) \, \,\mathrm{d} s, \\ z_D(t) &= z_D^0 +\int_0^t v_D(s,u(s,z_D(s)+)) \, \,\mathrm{d} s. \end{aligned} $$

The construction of the corresponding Riemann solvers is detailed in [243, Section 3]. Figure 5.9 provides an illustration of the entropy weak solution for f(u) = u(1 − u) and α = 0.5 corresponding to the following initial data:

$$\displaystyle \begin{aligned} u_0(x)= \begin{cases} 0.3 &\mbox{if}\ x<0.2, \\ 0.4 &\mbox{if}\ 0.2\leq x < 0.5, \\ 0.5 &\mbox{if}\ 0.5 \leq x < 0.8, \\ 0.9 &\mbox{if}\ x \geq 0.8, \end{cases} \qquad z_U^0=0.2, \qquad z_D^0=0.5, {} \end{aligned} $$
(5.19)

and control values ω D = 0.3 and ω U = 0.1. At the back-end of the platoon a congestion appears. For the downstream endpoint of the platoon, we have a rarefaction wave followed by a shock. When the platoon reaches the downstream congestion, the front-end point of the platoon slows down adapting its speed to the downstream traffic. Since the speeds of the initial and final points of the platoon are different, the length of the platoon changes during the simulation. In particular, the speed of the upstream endpoint is not affected by the surrounding traffic conditions.

Fig. 5.9
figure 9

Space-time evolution of the solution to (5.14) corresponding to the initial datum (5.19): plot (a) displays the absolute density values u(t, x) everywhere, plot (b) accounts for the relative density \(u(t,x)/\alpha u_{ \max }\) at the platoon location, accounting for the reduced road capacity

5.3 Numerical Methods for Moving Bottlenecks

In this section we provide numerical schemes for the moving bottleneck models introduced in Sect. 5.2. Simulations are performed using algorithms based on the Godunov scheme [154]. All the methods for the numerical approximation of the moving bottleneck models presented in this section are divided into two steps:

  1. 1.

    Numerical solution of the conservation law: using an ad-hoc finite volume method, for example, the Godunov scheme.

  2. 2.

    Numerical solution of the ODE: typically solved by an Euler-type method based on the approximate PDE solution computed at the previous step.

To discretize the conservation law, we introduce a numerical grid with the following notation:

  • Δx is the space grid size;

  • Δt is the time grid size;

  • \((t^n, x_j) = \left (n\Delta t, \left (j+\frac {1}{2}\right )\Delta x\right )\) are the grid points for \(n\in \mathbb {N}\) and \(j\in \mathbb {Z}\), respectively the number of time and space nodes of the grid, while \(x^{ }_{{j}-\frac {1}{2}}= j\Delta x\) are the cell interfaces.

In order to approximate the conservation law (5.3a), we place ourselves in the general framework of conservative finite volume schemes and first approximate the initial datum by a piecewise constant function given by its average on the discretization cells \(C_j= \left [x^{ }_{{j}-\frac {1}{2}},x^{ }_{{j}+\frac {1}{2}}\right [\), namely

$$\displaystyle \begin{aligned} u^0_j=\dfrac{1}{\Delta x}\int^{x^{}_{{j}+\frac{1}{2}}}_{x^{}_{{j}-\frac{1}{2}}} u_0(x) \,\mathrm{d} x, \quad j\in \mathbb{Z}. \end{aligned}$$

To compute the approximation \(u_j^n\) of the average value of the exact solution u at time t n on the cell C j for \( j\in \mathbb {Z}\) and n ≥ 1, we then integrate the conservation law. Using Green’s formula, we naturally end up with an iterative procedure of the form

$$\displaystyle \begin{aligned} u_j^{n+1}=u_j^{n}-\dfrac{\Delta t}{\Delta x}\left(F_{{j+}\frac{1}{2}}^{n}-F_{{j-}\frac{1}{2}}^{n}\right), \end{aligned} $$
(5.20)

where the numerical fluxes \(F_{{j+}\frac {1}{2}}^{n}\) represent an approximate value of the exact flux that passes through the interface \(x^{ }_{{j}+\frac {1}{2}}\) in the time interval [t n, t n+1[.

5.3.1 A Coupled Godunov-ODE Scheme for Model (5.1)

We first describe the Godunov numerical scheme for the space dependent flux function (5.1a). We consider a cell-centered discretization of the flux function [24] and we proceed as follows. For each point \(x\in \mathbb {R}\), we define the corresponding demand and supply functions as

$$\displaystyle \begin{aligned} D_\varphi(x,y,u) &= \begin{cases} f_\varphi (x,y,u) &\mbox{if } u<u_{\mathrm{cr}}, \\ f_\varphi (x,y,u_{\mathrm{cr}}) &\mbox{if } u\geq u_{\mathrm{cr}}, \end{cases} \\ S_\varphi(x,y,u) &= \begin{cases} f_\varphi (x,y,u_{\mathrm{cr}}) &\mbox{if } u<u_{\mathrm{cr}}, \\ f_\varphi (x,y,u) &\mbox{if } u\geq u_{\mathrm{cr}}, \end{cases} \end{aligned} $$

where \(u_{\mathrm {cr}} \in [0,u_{\max }]\) is the point of maximum of f(u). Then the Godunov numerical flux at the cell interface \(j+\frac {1}{2}\) and time t n can be computed as

$$\displaystyle \begin{aligned} F_{{j+}\frac{1}{2}}^{n} = \min\left\{D_\varphi(x_j,y^n,u_j^n), S_\varphi(x_{j+1},y^n,u_{j+1}^n) \right\}, \end{aligned}$$

where y n denotes the approximated bottleneck position at time t n. The density can then be updated using (5.20), under the strong CFL condition \(\Delta t \leq 0.5\, \Delta x / v_{\max }\).

To update the bottleneck position, let \(m\in \mathbb {Z}\) be such that y n ∈ C m. Using the updated density value \(u_m^{n+1}\), we move the bottleneck position at speed \(\omega \, v(u_m^{n+1})\) until it reaches the cell interface \(m+\frac {1}{2}\) at t n +  Δt in given by

$$\displaystyle \begin{aligned} \Delta t_{in} = \dfrac{x^{}_{{m}+\frac{1}{2}}-y^n}{\omega \, v(u_m^{n+1})}, \end{aligned}$$

after which it continues at speed \(\omega \, v(u_{m+1}^{n+1})\), see Fig. 5.10. Therefore we set

$$\displaystyle \begin{aligned} y^{n+1} = y^{n} + \min\{\Delta t, \Delta t_{in} \}\, \omega \, v(u_m^{n+1}) + \max\{ \Delta t - \Delta t_{in},0\}\,\omega \, v(u_{m+1}^{n+1}) . \end{aligned}$$

Figure 5.11 shows a controlled vehicle interacting with a shock and a rarefaction wave.

Fig. 5.10
figure 10

Construction of the approximate bottleneck trajectory y n

Fig. 5.11
figure 11

Model (5.1): x − t plots for the interaction of the controlled vehicle with a shock (left) and a rarefaction (right), with v(u) = 1 − u, κ = 0.6 and δ = 0.25

5.3.2 A Conservative Scheme for Non-Classical Solutions to the PDE-ODE Models with Flux Constraint

The PDE-ODE models (5.3), (5.8) and (5.14) can be numerically solved using the following approach, here detailed for the scalar case.

Numerical Scheme for the PDE (5.3a)

We use the classical Godunov scheme [154] away from the non-classical shocks, i.e. away from the bottleneck position. In the vicinity of the controlled vehicle position, where non-classical shock waves may arise, we refer to the approach introduced in [45], which consists in adding details in the piecewise constant representation (on each cell C j) of the approximate solution. The discontinuities are reconstructed in the relevant cells C j and used to define the numerical fluxes \(F_{{j+}\frac {1}{2}}^{n}\) instead of simply using the constant values \(u_j^{n}\) and \(u_{j+1}^{n}\). This allows to exactly capture isolated non-classical discontinuities.

Assume that at time t n, the bottlenck position y n is located in the cell C m for some \(m\in \mathbb {Z}\). According to the Riemann solver provided in Sect. 5.2.2, Definition 23, a non-classical shock could appear locally around the bus whenever the condition

$$\displaystyle \begin{aligned} f(u_{m}^n)> F_\alpha(\omega(t^n))+\omega(t^n)u_{m}^n, \end{aligned} $$
(5.21)

is satisfied. The idea is to consider \(u^n_m\) not only as an approximation of the average value of the solution at time t n on the cell C j, but also as resulting from information on the structure of the exact Riemann solution \(\mathcal {R}^{\omega (t^n)} (u_{m-1}^n,u_{m+1}^n)\) associated with the states \(u_{m-1}^n\) and \(u_{m+1}^n\). Therefore, if also

$$\displaystyle \begin{aligned} f(\mathcal{R}(u_{m-1}^n,u_{m+1}^n)(\omega(t^n)))> F_\alpha(\omega(t^n))+\omega(t^n)\mathcal{R}(u_{m-1}^n,u_{m+1}^n)(\omega(t^n)), \end{aligned} $$
(5.22)

holds, in the cell C m we replace \(u_{m}^n\) by the left and right states \(u_{m,l}^n=\hat {u}_{\omega (t^n)}\) and \(u_{m,r}^n=\check {u}_{\omega (t^n)}\) corresponding to the non-classical shock appearing in the constrained Riemann solver associated with \(u_{m-1}^n\) and \(u_{m+1}^n\). To guarantee mass conservation, the reconstructed discontinuity must be located inside C m at the position

$$\displaystyle \begin{aligned} \bar{x}_m=x_{m-\frac{1}{2}}+d^n_m\Delta x, \end{aligned} $$
(5.23)

where d m ∈ [0, 1] is defined by

$$\displaystyle \begin{aligned} d_m^n u_{m,l}^n+(1-d_m^n) u_{m,r}^n=u_m^n, \end{aligned} $$
(5.24)

see Fig. 5.12.

Fig. 5.12
figure 12

Reconstruction of a non-classical shock

We need now to define the numerical flux at the cell interfaces \(x_{m\pm \frac {1}{2}}\). Let us first recall that Godunov’s flux function (or any monotone and consistent numerical flux) is used to define \(F^n_{j+1/2}\), j ≠ m, under the classical CFL condition

$$\displaystyle \begin{aligned} \Delta t \, \max_{j\in \mathbb{Z}}\left\vert f'(u_j^n) \right\vert \leq \frac{1}{2} \, \Delta x, \end{aligned} $$
(5.25)

and we keep the same definition for \(F^n_{m+1/2}\) whenever the conditions (5.21) and (5.22) are not both satisfied simultaneously. Let us denote by

$$\displaystyle \begin{aligned} \Delta t_{m+\frac{1}{2}} = \dfrac{1-d_m^n}{V_b}\Delta x \end{aligned}$$

the time needed by the reconstructed discontinuity to reach the interface. The numerical flux at \(x_{m+\frac {1}{2}}\) is then given by

$$\displaystyle \begin{aligned} \Delta t \, F_{{m+}\frac{1}{2}}^{n}=\min{(\Delta t_{m+\frac{1}{2}}, \Delta t)}f(u_{m,r}^n) + \max{(\Delta t - \Delta t_{m+\frac{1}{2}},0)}f(u_{m,l}^n). \end{aligned} $$
(5.26)

Besides, we set \(F_{{m-}\frac {1}{2}}^{n} = f(u_{m,l}^n)\).

To overcome problems induced by numerical diffusion around classical shocks, the reconstruction technique can also be applied to classical shocks. Given a cell C j for some \(j\in \mathbb {Z}\), j ≠ m, such that \(u_{j-1}^n<u_{j+1}^n\), we introduce the left and right traces \(u_{j,l}^n=u_{j-1}^n\) and \(u_{j,r}^n=u_{j+1}^n\) of a reconstructed discontinuity and we define \(d^n_j\) by

$$\displaystyle \begin{aligned} d_j^n=\dfrac{u_{j,r}^n-u_{j}^n}{u_{j,r}^n-u_{j,l}^n}. \end{aligned} $$
(5.27)

Let us denote by \(\lambda (u_{j,l}^n ,u_{j,r}^n)\) the speed of the discontinuity given by the Rankine–Hugoniot condition, i.e.,

$$\displaystyle \begin{aligned} \lambda(u_{j,l}^n ,u_{j,r}^n) := \frac{f(u_{j,l}^n)-f(u_{j,r}^n)}{u_{j,l}^n - u_{j,r}^n}. \end{aligned}$$

Then, if it is actually possible to reconstruct such a discontinuity within the cell C j, that is to say if \(d_j^n\in [0,1]\), the numerical fluxes at \(x_{j\pm \frac {1}{2}}\) are defined by

  • if \(\lambda (u_{j,l}^n ,u_{j,r}^n)\geq 0\),

    $$\displaystyle \begin{aligned} \Delta t \, F_{{j+}\frac{1}{2}}^{n}= \min{(\Delta t_{j+\frac{1}{2}}, \Delta t)}f(u_{j,r}^n) + \max{(\Delta t - \Delta t_{j+\frac{1}{2}},0)}f(u_{j,l}^n), \end{aligned} $$
    (5.28)

    with \(\Delta t_{j+\frac {1}{2}} = \dfrac {1-d_j^n}{\lambda (u_{j,l}^n ,u_{j,r}^n)}\Delta x.\)

  • if \(\lambda (u_{j,l}^n ,u_{j,r}^n)\leq 0\),

    $$\displaystyle \begin{aligned} \Delta t \, F_{{j-}\frac{1}{2}}^{n}= \min{(\Delta t_{j-\frac{1}{2}}, \Delta t)}f(u_{j,l}^n) + \max{(\Delta t - \Delta t_{j-\frac{1}{2}},0)}f(u_{j,r}^n), \end{aligned} $$
    (5.29)

    with \(\Delta t_{j-\frac {1}{2}} = \dfrac {d_j^n}{-\lambda (u_{j,l}^n ,u_{j,r}^n)}\Delta x,\)

where, with some abuse of notation, we mean that if \(\lambda (u_{j,l}^n ,u_{j,r}^n)=0\) then \(F_{{j+}\frac {1}{2}}^{n}=f(u_{j,r}^n)\) and \(F_{{j-}\frac {1}{2}}^{n}=f(u_{j,l}^n)\).

Numerical Scheme for the ODE (5.1b)

To precisely track the controlled vehicle at each time step, we update its position y n by studying interactions between the vehicle’s trajectory and the density waves within the corresponding cell. We distinguish two cases:

  1. 1.

    Inequality (5.21) is satisfied. Then the vehicle moves at velocity ω(t n) and we update its position as y n+1 = ω(t n) Δt n + y n.

  2. 2.

    Condition (5.21) is not satisfied. In this case the PDE solution is classical. We have to distinguish two situations: either \(y^n\in [x^{ }_{{m}-\frac {1}{2}},x^{n}_{m}[\) or \(y^n\in [x^{n}_{m},x^{ }_{{m}+\frac {1}{2}}[.\) If no interaction occurs between the wave originating at the corresponding cell interface and the controlled vehicle in Δt n, the ODE is solved by

    $$\displaystyle \begin{aligned}y^{n+1}=y^n+\min\{\omega(t^n),v(u_m^n)\}\Delta t.\end{aligned}$$

    Otherwise, we check if the wave is a shock or a rarefaction:

    • If the wave is a shock, we compute the incremental interaction time \(\bar {t}\) and the vehicle’s trajectory is given by

      $$\displaystyle \begin{aligned}y^{n+1}=y^n +\min\{\omega(t^n),v(u_m^n)\}\bar t+ \min\{\omega(t^n),v(u_{m\pm1}^n)\}(\Delta t - \bar{t}).\end{aligned}$$
    • If the wave is a rarefaction, first of all, we observe that if this wave originated at \(x^{ }_{{m}-\frac {1}{2}}\) and an interaction occurs, the controlled vehicle must travel at its maximal velocity ω(t n), and it will keep this velocity, as in Case 1. Therefore, we focus on the case of a rarefaction originating at \(x^{ }_{{m}+\frac {1}{2}}\). If the vehicle is initially traveling at speed ω(t n), it will keep this velocity after the interaction, see Case 1. When the vehicle does not travel at the constant speed ω(t n), we compute its first and last interaction points with the rarefaction wave, respectively \((\bar {t},\bar {x})\) and \((\bar {\bar {t}}, \bar {\bar {x}})\), to evaluate the exact trajectory. Then:

      • If \(\bar {\bar {t}} \geq \Delta t\), the new position is given by \(y^{n+1}=\tilde y(\Delta t)\) with \(\tilde y(\Delta t)\) given by setting t =  Δt in

        $$\displaystyle \begin{aligned}\tilde y(t)= x^{}_{{m}+\frac{1}{2}} + (t-t^n)-\sqrt{t-t^n}\left(\dfrac{\bar{t}-t^n+x^{}_{{m}+\frac{1}{2}} -\bar{x}}{\sqrt{\bar{t}-t^n}}\right).\end{aligned}$$
      • If \(\bar {\bar {t}} < \Delta t\), then \(y^{n+1} = \tilde y(\bar {\bar {t}}) + (\Delta t - \bar {\bar {t}}) \min \{\omega (t^n),v(u_{m+1}^n)\}.\)

The cell index m is then updated according to the new position of the bottleneck. In Fig. 5.13, we can see the interaction of the bus with a shock and with a rarefaction.

Fig. 5.13
figure 13

Model (5.3): x − t plots for the interaction of the controlled vehicle with a shock (left) and a rarefaction (right), with v(u) = 1 − u and α = 0.6

5.4 Traffic Management by Controlled Vehicles

5.4.1 Field Experiments

Stop and go waves are instabilities of traffic that travel backwards along the road [190, 268]. Often called phantom jams, this phenomenon emerges from the collective dynamics of the drivers on the road. In [262], a seminal field experiment proved that is possible to use an automated and controlled vehicle to dissipate them. A series of experiments were conducted in a ring road setting to show that a Cognitive and Automated Test (CAT) vehicle (see Fig. 5.14), properly controlled is able to dampen stop and go waves. The experiment setup follows the work done by [263]: 22 vehicles are placed in a ring road formation on single-lane circular track of 260 meters, see Fig. 5.15. Each vehicle is equipped with OBD-II data loggers that collect GPS locations and fuel consumption for each one of the vehicles. In the center of the track, a 360 degree camera records each experiment. After post-processing, the videos will be used to generate vehicle trajectories. One of the vehicles is the University of Arizona self-driving capable CAT vehicle.

Fig. 5.14
figure 14

Arizona CAT vehicle Media credit: John de Dios, Alan Davis

Fig. 5.15
figure 15

Car alignment on a single-lane ring road track Media credit: John de Dios, Alan Davis

At the beginning of each experiment, the drivers are told to drive as they normally would. The goal of the experiments is to create stop and go waves and then dissipate them via control of the CAT vehicle. At the beginning of the experiment, the vehicles are equidistant and at rest. In Fig. 5.16, one can see the trajectories of the vehicles during an experiment. After the first minute, we observe the creation of the stop and go wave which becomes more evident if one observes the corresponding velocity oscillations in Fig. 5.17. In particular, after the wave starts, the velocity oscillates between 0 and 11 m/s. At that point, the CAT vehicle controller is activated and the wave dissipates. After 350 seconds, the control is disabled and the wave reappears again until the end of the experiment. From Figs. 5.16 and 5.17, we can see how a single CAT vehicle can dissipate stop and go waves, and reduce the oscillations of the velocities. Given that each single vehicle is equipped with a OBD-II scanner, we were also able to compute the fuel consumption for each single vehicle. We observe a reduction of fuel consumption of 43% for the total fleet, with a reduction of braking events equal to 98%.

Fig. 5.16
figure 16

Trajectories of each single vehicle on the ring road, the CAT vehicle is in blue, while the human driven vehicles trajectories are in gray

Fig. 5.17
figure 17

Speed profiles for each single vehicle on the ring road, the CAT vehicle profile is in blue, while the human driven vehicles are in gray

5.4.2 Numerical Experiments

As demonstrated by the field experiments described in the previous section, see [262], a controlled vehicle can act as moving Variable Speed Limit (VSL) to optimize the traffic flow on the overall section of the highway taken into consideration, by reducing stop and go waves, congestion and pollution. Referring to (5.3), here the control variable is the maximal speed ω of the moving bottleneck in (5.1b).

As an example, let us consider a stretch of road corresponding to the space interval [a, b] and a time horizon T f. To evaluate the impact of the control policy, we focus on the following traffic performance indexes:

  • Total Fuel Consumption (TFC). We rely on a model that expresses the fuel consumption as a function of the speed [246] and we define

    $$\displaystyle \begin{aligned} TFC(\omega):= \int_0^{T_f} \int_a^b u(t,x) K(v(u(t,x)))\, \,\mathrm{d} x\, \,\mathrm{d} t, \end{aligned} $$
    (5.30)

    where the fuel consumption depends on the traffic mean velocity according to the following polynomial expression

    $$\displaystyle \begin{aligned} K (v) = & ~5.7 \cdot 10^{-12} \cdot v^6- 3.6 \cdot 10^{-9} \cdot v^5 + 7.6 \cdot 10^{-7} \cdot v^4 \\ & - 6.1 \cdot 10^{-5} \cdot v^3 + 1.9 \cdot 10^{-3} \cdot v^2+ 1.6 \cdot 10^{-2} \cdot v+0.99, \end{aligned} $$

    see Fig. 5.18.

    Fig. 5.18
    figure 18

    Plots of the fuel consumption rate functions. (a) Fuel consumption rate K(v). (b) Total FC rate uK(v(u)))

  • Average Travel Time (ATT). This is computed as

    $$\displaystyle \begin{aligned} ATT(\omega):=\int_0^{T_f} \int_a^b \frac{1}{v(u(t,x))}\, \,\mathrm{d} x\, \,\mathrm{d} t, \end{aligned} $$
    (5.31)

    see, for example, [97].

  • Queue length. This is expressed by

    $$\displaystyle \begin{aligned} \Psi(\omega)=\frac{1}{T_f}\int_{0}^{T_f}\int_{a}^{b} \phi(u(t,x)) \,\,\mathrm{d} x\, \,\mathrm{d} t, \end{aligned} $$
    (5.32)

    where

    $$\displaystyle \begin{aligned} \phi(r)=\begin{cases} 0 &r <u_{out}-\delta,\\ \frac{1}{\delta}\left( {r}-u_{out}+\delta \right) &u_{out}-\delta \leq r \leq u_{out},\\ 1 &u_{out} <r\leq u_{\max}, \end{cases} \end{aligned} $$
    (5.33)

    for some δ > 0 small (see [83]). This functional measures the length of the traffic jam arising upward a fixed bottleneck located at x = b, which is expressed by the boundary constraint f(u(t, b−)) ≤ F out, for some given \(F_{out}\leq f_{max}:=\max _{u\in [0,u_{\max } ]}f(u)\). (For the definition and treatment of the constrained Initial-Boundary value problem see [78].) In (5.33), the u out corresponds to the congestion traffic density, which satisfies f(u out) = F out, u out ≥ u cr.

To evaluate the dependence of the above cost functionals on the control variable ω, we consider a section of highway of length L = 50 km with three lanes (therefore α = 2∕3), where we set \(v(u)=v_{\max } (1-u/u_{\max })\) with \(v_{\max }=140~\mbox{km/hr}\) and \(u_{\max }=400~vehicles/km\). The initial traffic conditions are set to \(u_0=0.3\,u_{\max }\), and the controlled vehicle is placed at y 0 = 2 km from the beginning of the road section. Boundary conditions are prescribed in terms of boundary fluxes f in and f out, setting

$$\displaystyle \begin{aligned} f_{in} (t) = \begin{cases} f^{\max} & \mbox{if } t\leq 0.5 \,T_f, \\ 0 & \mbox{if } t > 0.5\, T_f , \end{cases} \end{aligned}$$

and \(f_{out} (t) = 0.5 \,f^{\max }\) for t ∈ [0, T f], where the time horizon T f = 1 hr.

Figure 5.19 shows the dependence of the functionals (5.30)–(5.32) on the controlled vehicle maximal speed ω ∈ [0, 140].

Fig. 5.19
figure 19

Plots of the cost functionals (5.30)–(5.32). (a) Total fuel consumption (5.30). (b) Average travel time (5.31). (c) Queue length (5.32)

In order to get benefits in terms of some prescribed cost function, in this case the total fuel consumption (5.30), we design a Model Predictive Control (MPC) strategy, which is quite common in traffic management (see, among others, [31, 47, 131]). To this end, system (5.3) is discretized using the conservative scheme presented in Sect. 5.3.2. The optimization algorithm is run on a prediction horizon ΔT = 15 min and the optimal control value is applied for the time interval Δτ = 5 min before the state is updated and the optimal control re-evaluated. See [242] for further details. Figure 5.20 shows the comparison of traffic evolutions in the case of fixed vehicle speed ω(t) = 80 km/hr for all t ∈ [0, T f] (left) and in the optimal controlled case in which the vehicle speed is computed by MPC (right). In particular, we can notice that the congested region is reduced by the implementation of the control strategy. Indeed, we observe that the enforcement of the optimal control allows not only to improve the optimized functional (in this case the TFC), but also to improve the other metrics considered, see Table 5.1.

Fig. 5.20
figure 20

Top: density evolution as function of time and space in the uncontrolled (left) and controlled (right) cases. Bottom: applied maximum vehicle speed resulting from the MPC procedure

Table 5.1 Comparison between cost functionals in the controlled and uncontrolled case

5.5 Bibliographical Notes

Conservation laws with point flux constraint at a fixed space location were first introduced in [78], where a well-posedness result for scalar solutions corresponding to BV initial data and flux constraint was based on the wave-front tracking method and the doubling of variables technique. This result was then extended to an L framework in [17], were adapted finite volume schemes are proposed. The scalar setting was then further extended in [15, 68] for applications to pedestrian flow modeling, see also [14, 104] for applications to other settings. Regarding systems, [16, 105, 124, 137, 145], among others, deal with the ARZ system and its extensions.

The problem of tracking vehicles in the bulk traffic flow was studied analytically in [82] and numerically in [58]. An application to traffic states reconstruction can be found in [115].

Moving bottlenecks models were first introduced and studied in the engineering literature, see, for example, [101, 102, 203, 208,209,210]. The first mathematical settings were proposed in [112, 200] for the scalar case, and in [42, 272] for the ARZ model. Well-posedness results for strongly coupled PDE-ODE models are currently available only in the scalar case, see [112, 114, 138, 222, 223], while numerical treatments are proposed in [67, 111, 272]. Numerical approximations of the model proposed in [200] can be found in [56, 146]. The case of multiple moving bottlenecks has been addressed in [56, 113, 146], while the dynamics of moving bottlenecks at road junctions is analyzed by [125].

A similar PDE-ODE model is proposed in [201, 202] to model bounded acceleration in traffic flow.

Traffic flow management and control via connected and autonomous vehicles is currently a hot topic in transport engineering research. A number of results are available via stability analysis or simulation, such as [109, 163, 264, 274]. Some control approaches are based on implementing variable speed limit strategies, such as [31, 168, 273], or via jam absorption [172, 235]. Finally, experiments showed the effectiveness of the approach, see [261, 262, 275].