A fast semi-analytic algorithm for computing solutions associated with multiple moving or fixed bottlenecks: Application to joint scheduling and signal timing
2214-241X © 2016 The Authors. Elsevier B.V. All rights reserved. Peer-review under responsibility of the scientific committee of the 22 nd International Symposium on Transportation and Traffic Theory.
A fast semi-analytic algorithm for computing solutions associated with multiple moving or fixed bottlenecks: Application to joint scheduling and signal timing
Michele D. Simoni a , Christian G. Claudel b, * a Dept. of Civil, Architectural, and Environmental Engineering, University of Texas at Austin, 301E Dean Keeton, St., Austin, 78712 TX, USA Dept. of Civil, Architectural, and Environmental Engineering, University of Texas at Austin, 301E Dean Keeton, St., Austin, 78712 TX, USA
Abstract
Moving and fixed bottlenecks are moving or fixed capacity restrictions that affect the propagation of traffic flow. They are a very important modeling approach to describe the effects of slow vehicles and traffic signals in transportation networks. However, the computation of solutions associated with the presence of fixed and moving bottlenecks is complex, since they both influence and are influenced by traffic. In this study, we propose a fast numerical scheme that can efficiently compute the solutions to an arbitrary number of fixed and moving bottlenecks, for a stretch of road modeled by the Lighthill-Whitham-Richards (LWR) model with triangular fundamental diagram. The numerical scheme is based on a semi-analytic Lax-Hopf formula that requires a very low number of operations compared with existing schemes. We illustrate the performance of the numerical scheme on scenarios involving multiple slow vehicles and traffic signals, and demonstrate that this scheme can be part of an optimization loop to simultaneously optimize the schedule of several heavy-duty vehicles and traffic signals in a city for alleviating traffic congestion © 2016 The Authors. Elsevier B.V. All rights reserved. Peer-review under responsibility of the scientific committee of the 22 nd International Symposium on Transportation and Traffic Theory.
Keywords:
Multiple moving bottlenecks; Semi-analytical scheme; LWR Model; Traffic optimization Introduction
In traffic flow theory, different typologies of “slow” vehicles (or platoons) can be modeled as “moving bottlenecks”. These obstructions in traffic streams are usually associated with the presence of buses in urban traffic, and trucks or simply slower vehicles on highways. All these situations, indeed, are characterized by a partial blockage the road (typically the right lane in right hand driving countries), causing a capacity reduction. The concept of moving bottleneck can be extended to fixed bottlenecks, which represent static (spatially) and time varying capacity restrictions caused for example by traffic lights and traffic incidents. Some of the main challenges of modeling moving bottlenecks consist of identifying and modeling features regarding their speed (depending on the traffic conditions and on the maximum speed of the vehicle), their discharging flow (maximum rate at which vehicles overtake) and the entity of queue held back. Several studies have highlighted the importance of the effects of moving bottlenecks on traffic (Munoz and Daganzo, 2002; Daganzo and Laval, 2005) and have developed methodologies to include them into existing traffic models. Gazis and Herman developed in 1992 a model based on the conservation of flow, unconditional existence of the flow-density relation, * Corresponding author. Tel.: +1 512 705 7195;
E-mail address: [email protected] and independence of capacity state from the bottleneck state. The first complete formulation based on the Lighthill–Whitham–Richards (LWR) model was proposed few years later by Newell (1993; 1998) where the moving bottleneck is assumed to behave as in a scaled-down version of the freeway’s fundamental diagram not influenced by the bottleneck speed. In recent years, more comprehensive formulations of the moving bottleneck problem have been proposed by Munoz and Daganzo (2002), Leclerq et al. (2004) and Daganzo and Laval, (2005). Other studies have focused on numerical methods to solve the fixed and moving bottleneck problems within the LWR model (Lebacque et al., 1998; Giorgi et al., 2002; Leclercq, 2007). Kerner and Klenov (2010) explored thoroughly features of moving bottlenecks such as the critical speed at which traffic breakdown, based on “Three-phase traffic theory”. In recent years, moving bottlenecks were also studied in the field of applied mathematics by Lattanzio et al. (2011) and Gasser et al. (2013), who developed a coupled PDE-ODE model to reproduce the dynamics between traffic flows and moving bottlenecks like buses. In this article, we similarly propose an approach that accounts for both the impacts of moving bottlenecks on surrounding traffic and the converse. In addition, we propose an efficient algorithm allowing the simulation of an arbitrary number of moving bottlenecks associated with different maximum speeds. To achieve this, we propose in this article a new efficient formulation that computes the parameters associated with moving and fixed bottlenecks (trajectories and passing flows), without having to compute the complete solution, thereby improving computational times by orders of magnitude over classical numerical schemes, without affecting the computational accuracy. As mentioned earlier, the problem of computing the trajectories and parameters (passing flows) associated with moving bottlenecks is not straightforward, since the bottlenecks both influence and are influenced by surrounding traffic. Thus, in order to compute the density map associated with a general problem (involving initial, boundary conditions and bottlenecks), it is necessary to simultaneously compute the solution to the LWR model and the corresponding trajectories of the bottlenecks, since these are initially unknown. This process is computationally intensive. In particular, this requires us to map the solution on the entire computational domain, since the trajectories of the moving bottlenecks are affected by the solution itself. The algorithm we propose instead allows us to determine the parameters and trajectories of the moving bottlenecks without requiring us to determine the solution on the entire computational domain. It is based on an extension of the semi-analytical solutions to arbitrary Hamilton-Jacobi equations introduced in (Mazaré et al., 2011). Using semi-explicit solutions, we show that the trajectories of an arbitrary number of fixed and moving bottlenecks can be simultaneously marched forward in time for a very low computational cost. Indeed, if the piecewise affine initial conditions contain n i blocks, the piecewise affine upstream and downstream boundary conditions contain n u and n d blocks respectively, and n b bottlenecks are considered, the future evolution of each bottleneck can be computed by at most ( n u + n b +2) calculations of explicit functions, which determine the future value of the solution to the Hamilton-Jacobi equation along the trajectory of the bottleneck. Once this set of calculations is done, the future evolution of the moving bottleneck is completely determined, in function of the difference between the current value of the solution to the Hamilton Jacobi equation along the trajectory, and its future value along the predicted trajectory. This process is marched forward in time, and allows one to simultaneously compute the parameters associated with all moving and fixed bottlenecks of the problem, without having to compute the solution everywhere (indeed, solutions are only required along the trajectories of the bottleneck, greatly reducing the computational time required to solve the problem). Once the parameters and trajectories of all moving and fixed bottlenecks are known, one can use this information to efficiently compute the solution of the problem everywhere using the Lax-Hopf algorithm (which was shown to be faster than the Godunov scheme if solutions are only required at a given time horizon in (Claudel and Bayen, 2010a). Since the Lax-Hopf algorithm can compute the solution at any point of the space time domain using only initial, boundary and bottleneck data, this approach is well adapted to optimization problems in which we are only interested in knowing the solutions at a limited number of points (on which the objective function of the problem depend). Another advantage of this algorithm is its very favorable computational error characteristics. The only errors induced by the proposed scheme are errors related to the discretization in time of the fixed and moving bottleneck trajectories and passing flows, and an approximation of the behavior of the bottlenecks around intersections of bottleneck trajectories (if such intersections occur). No other numerical error is induced since the solutions to initial, boundary and bottleneck condition blocks are explicit and exact. Since all other non-event-based numerical methods to solve moving bottleneck problems (for example based on LWR (Leclercq, 2007) or on the Variational Method (Daganzo and Laval, 2005) also require discretized moving and fixed bottleneck trajectories but also use approximate solution methods to solve the LWR equation, the proposed algorithm yields more accurate solutions than such methods. Event-based methods can be exact, though they still require the computation of the solution on the entire computational domain, and to date no wave-front tracking formulation capable of handling multiple moving bottlenecks exist (Delle Monache and Goatin, 2014). Thanks to these favorable properties, the proposed algorithm could be used to efficiently tackle complex traffic estimation and control problems characterized by presence of multiple trucks or buses. For this reason, we present in this study an application of this framework to the optimization of multiple traffic signals times and buses schedules, solved by coupling the present algorithm to a genetic algorithm-based optimization framework. In the remainder of this article, we first introduce the background theory adopted in this study for the modeling of moving bottlenecks. Then, we provide a description of the fast semi-analytic algorithm to simulate single moving bottlenecks. We then extend this algorithm to scenarios including multiple moving and fixed bottlenecks, which can be associated with different types of vehicles. Finally, we illustrate the application of the proposed algorithm to different optimization problems. We conclude with a number of general remarks and recommendations for future research. Analytical solutions to the Hamilton-Jacobi PDE
In this Section we briefly summarize the main features of the macroscopic traffic simulation used to investigate moving bottlenecks. The LWR model and the Hamilton-Jacobi PDE are described respectively in Section 2.1 and Section 2.2. The generalized Lax-Hopf formula used to solve this problem is presented in Section 2.3 and the formulation of initial, boundary and internal conditions is provided in Section 2.4. Finally, in Section 2.5 we describe the model for moving bottlenecks adopted for the derivation of the internal conditions.
The LWR-PDE
Given a one-dimensional uniform section of highway, limited by x upstream and x n downstream. For a given time t and position x we define the local traffic density k(x,t) in vehicles per unit of length, and the instantaneous flow q(x,t) in vehicles per unit time. The conservation of vehicles on the highway is written as follows (Lighthill and Whitman, 1956; Richards, 1956; Garavello and Piccoli, 2006). 𝜕𝑘 ( 𝑡 , 𝑥) 𝜕𝑡 + 𝜕𝑞 ( 𝑡 , 𝑥) 𝜕𝑥 = (1) For first order traffic flow models, flow and density are related by the Fundamental Diagram (FD); in this article we adopt triangular FD (Daganzo, 1994). The FD is a positive function defined on [ ], where k j is the maximal density (jam density). It ranges in [ max ] where q max is the maximum flow (capacity). It is assumed to be differentiable with derivative Q'(0)=v>0 (free flow speed) and
Q'(k_j )=w<0 (congested wave speed), and it is defined as follows:
𝑄 𝑘 = 𝑣 𝑘 ∶ ≤ 𝑘 ≤ 𝑘 ! −𝑤 𝑘 − 𝑘 ! ∶ 𝑘 ! ≤ 𝑘 ≤ 𝑘 ! (2) The Moskovitz function
The Moskovitz function expresses the cumulated vehicle count
N(x,t) and it represents the continuous vehicle count at location x and time t . In the Moskovitz framework one assumes that all vehicles are labeled by increasing integers as they pass the entry point x of a highway section, and that they cannot pass each other. If the latest car that passed an observer standing at location x and time t is labeled n, then N(x,t)=n . Replacing k and q with N yields to Hamilton-Jacobi PDE (Newell, 1993; Daganzo, 2005a, 2006; Claudel and Bayen, 2010a): 𝜕𝑁 (𝑥, 𝑡 ) 𝜕𝑡 − 𝑄 − 𝜕𝑁 𝑥, 𝑡𝜕𝑥 = (3) The generalized Lax-Hopf Formula
From Aubin et al. (2008), the solution associated with the value condition function c, denoted by N_c, is the infimum of an infinite number of functions of the value condition: 𝑁 ! = 𝑖𝑛𝑓 𝑐 𝑡 − 𝑇 , 𝑥 − 𝑇𝑢 + 𝑇𝑅 (𝑢) 𝑠. 𝑡 . 𝑢, 𝑇 ∈ 𝑤, 𝑣 ! ×𝑅 ! 𝑎𝑛𝑑 𝑡 − 𝑇 , 𝑥 − 𝑇𝑢 ∈ 𝐷𝑜𝑚 (𝑐) (4) Where c(x,t) corresponds to: 𝑐 𝑥, 𝑡 = 𝑁 !"! 𝑥 𝑡 = 𝑁 !" 𝑡 𝑥 = 𝑥 ! 𝑁 !" 𝑡 𝑥 = 𝑥 ! (5) And 𝑅 𝑢 , which is convex transform associated with the fundamental diagram:
𝑅 𝑢 = sup !" !, ! ! (𝑄 𝑘 − 𝑢 ∙ 𝑘) (6) This equation is well known in the Hamilton-Jacobi literature and often referred to as Lax-Hopf formula (Aubin et al., 2008; Evans, 1998). Assuming a triangular fundamental diagram, the calculation of its convex transform R yields to: ∀𝑢 ∈ 𝑤, 𝑣 ! , 𝑅 𝑢 = 𝑘 ! ( 𝑣 ! − 𝑢) (7) Boundary and internal conditions based on triangular fundamental diagram a) Definition of initial, upstream, downstream and internal conditions The initial condition can be expressed as a piecewise linear function, with each linear piece defined by: 𝑐 !"!! 𝑥 = −𝑘 ! 𝑥 + 𝑏 ! ∶ 𝑥 ! ≤ 𝑥 ≤ 𝑥 ! !! +∞ ∶ 𝑜𝑡 ℎ 𝑒𝑟𝑤𝑖𝑠𝑒 (8) With the above definition, the initial condition can be written as 𝑐 !"! = min ! 𝑐 !"! ! Similarly, the upstream boundary condition is assumed to be piecewise linear, with each piece defined by: 𝑐 ! ! ! ( 𝑡 ) = 𝑞 ! 𝑡 + 𝑑 ! ∶ 𝑡 ! ≤ 𝑡 ≤ 𝑡 !!! +∞ ∶ 𝑜𝑡 ℎ 𝑒𝑟𝑤𝑖𝑠𝑒 (9) With this definition, the upstream boundary condition can be written as 𝑐 !" = min ! 𝑐 ! ! ! The downstream boundary condition is also assumed to be a piecewise linear function, with each piece defined by: 𝑐 !" ! ! ( 𝑡 ) = 𝑝 ! 𝑡 + 𝑏 ! ∶ 𝑡 ! ≤ 𝑡 ≤ 𝑡 !!! +∞ ∶ 𝑜𝑡 ℎ 𝑒𝑟𝑤𝑖𝑠𝑒 (10) This enables us to define the downstream boundary condition function as 𝑐 ! !" = min ! 𝑐 !" ! ! , The internal condition corresponding to a fixed or moving bottleneck active on the domain can be defined as: 𝑐 !" 𝑡 , 𝑥 = 𝑁 ! + 𝑁 ! − 𝑁 ! ( 𝑡 ! − 𝑡 ! ) ∙ 𝑡 − 𝑡 ! ∶ 𝑥 = 𝑥 ! + 𝑥 ! − 𝑥 ! 𝑡 ! − 𝑡 ! ∙ 𝑡 − 𝑡 ! 𝑎𝑛𝑑 𝑡 ∈ [ 𝑡 ! , 𝑡 ! ] +∞ ∶ 𝑜𝑡 ℎ 𝑒𝑟𝑤𝑖𝑠𝑒 (11) One of the major results of Mazaré et al. (2011) is that the solutions associated with each linear piece of the initial, upstream, downstream and internal boundary conditions can be computed analytically as follows: b) Solution to a linear initial condition If ≤ 𝑘 ! ≤ 𝑘 ! , the initial condition imposes a free-flow state. 𝑁 ! !"! 𝑥, 𝑡 = 𝑘 ! 𝑡𝑣 ! − 𝑥 + 𝑏 ! ∶ 𝑥 ! + 𝑡𝑣 ! ≤ 𝑥 ≤ 𝑥 ! !! + 𝑡𝑣 ! 𝑘 ! 𝑡𝑣 ! − 𝑥 + 𝑏 ! + 𝑥 ! 𝑘 ! − 𝑘 ! ∶ 𝑥 ! + 𝑡𝑤 ≤ 𝑥 ≤ 𝑥 ! !! + 𝑡𝑣 ! (12) else, if 𝑘 ! , ≤ 𝑘 ! ≤ 𝑘 ! : 𝑁 ! !"!! 𝑥, 𝑡 = 𝑘 ! 𝑡𝑤 − 𝑥 − 𝑡 𝑘 ! 𝑤 + 𝑏 ! ∶ 𝑥 ! + 𝑡𝑤 ≤ 𝑥 ≤ 𝑥 ! !! + 𝑡𝑤 𝑘 ! 𝑡𝑤 − 𝑥 − 𝑡 𝑘 ! 𝑤 + 𝑥 ! !! 𝑘 ! − 𝑘 ! + 𝑏 ! ∶ 𝑥 ! !! + 𝑡𝑤 ≤ 𝑥 ≤ 𝑥 ! !! + 𝑡𝑣 ! (13) c) Solution to a linear upstream boundary condition For an upstream boundary condition 𝑁 !" defined as: 𝑁 !" ! 𝑡 = 𝑞 ! 𝑡 + 𝑑 ! with 𝑑 ! = −𝑞 ! 𝑡 + ( 𝑡 !!! − 𝑡 ! ) !!!!!! 𝑞 !! , the solution component can be expressed as: 𝑁 ! !" ! 𝑥, 𝑡 = 𝑑 ! + 𝑞 ! 𝑡 − 𝑥 − 𝑥 ! 𝑣 ! ∶ 𝑥 ! + 𝑣 ! ( 𝑡 − 𝑡 !!! ) ≤ 𝑥 ≤ 𝑥 ! + 𝑣 ! ( 𝑡 − 𝑡 ! )𝑑 ! + 𝑞 ! 𝑡 !!! + 𝑘 ! 𝑡 − 𝑡 !!! 𝑣 ! − 𝑥 − 𝑥 ! ∶ 𝑥 ! ≤ 𝑥 ≤ 𝑥 ! + 𝑣 ! ( 𝑡 − 𝑡 !!! ) (14) d) Solution to a linear downstream boundary condition For a downstream boundary condition 𝑁 !" ! , defined as 𝑁 !" ! 𝑡 = 𝑝 ! 𝑡 + 𝑏 ! with 𝑏 ! = −𝑝 ! 𝑡 + 𝑁 !"! !!! (𝑥 ! ) +( 𝑡 !!! − 𝑡 ! ) !!!!!! 𝑞 !! , the solution component can be expressed as: 𝑁 !" ! (𝑥, 𝑡 ) = 𝑏 ! + 𝑝 ! 𝑡 − 𝑝 ! 𝑤 + 𝑘 ! 𝑥 ! − 𝑥 ∶ 𝑥 ! + 𝑤( 𝑡 − 𝑡 ! ) ≤ 𝑥 ≤ 𝑥 ! + 𝑤( 𝑡 − 𝑡 !!! )𝑏 ! + 𝑝 ! 𝑡 !!! + 𝑘 ! 𝑡 − 𝑡 !!! 𝑣 ! + 𝑥 ! − 𝑥 ∶ 𝑥 ! + 𝑤( 𝑡 − 𝑡 ! ) ≤ 𝑥 ≤ 𝑥 ! (15) e) Solution to a linear internal condition For an internal condition 𝑁 !" , the solution component can be expressed as: 𝑁 !" 𝑥, 𝑡 = 𝑡 − 𝑡 ! ∙ 𝑢 + 𝑣 ∙ 𝑘 ! + 𝑁 ! − 𝑁 ! ∙ ! ! !! ! ! ! !! ! + 𝑁 ! ∶ 𝑥 ≤ 𝑥 ! + 𝑣 ⋅ 𝑡 − 𝑡 ! ∧ 𝑥 ≥ 𝑥 ! +𝑤 ⋅ 𝑡 − 𝑡 ! ∧ 𝑡 ≥ 𝑡 ! (16) where 𝑡 ! , which corresponds to the capture time in the viability framework from which these formulations are derived (Aubin, et al., 2008), is derived as follows: 𝑡 ! = 𝑡 − 𝑥 ! + 𝑠 ∙ 𝑡 − 𝑡 ! − 𝑥𝑠 − 𝑣 ∶ 𝑥 ! + 𝑣 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 ∧ 𝑥 ! + 𝑠 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 𝑡 ! ∶ 𝑥 ! + 𝑤 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 𝑡 − 𝑥 ! + 𝑠 ∙ 𝑡 − 𝑡 ! − 𝑥𝑠 + 𝑤 ∶ 𝑒𝑙𝑠𝑒 (17) and 𝑢 corresponds to associated optimal control of the auxiliary dynamical system (Aubin et al., 2008; Bayen et al., 2007): 𝑢 = − 𝑣 ∶ 𝑥 ! + 𝑣 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 ∧ 𝑥 ! + 𝑠 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 (𝑥 ! − 𝑥)( 𝑡 − 𝑡 ! ) ∶ 𝑥 ! + 𝑤 ⋅ 𝑡 − 𝑡 ! ≤ 𝑥 𝑤 ∶ 𝑒𝑙𝑠𝑒 (18) Finally, 𝑠 corresponds to the velocity of the moving bottleneck: 𝑠 = (𝑥 ! − 𝑥 ! )( 𝑡 ! − 𝑡 ! ) (19) and r corresponds to the number of vehicles passing the moving bottleneck per unit time: 𝑟 = 𝑁 ! − 𝑁 ! 𝑡 ! − 𝑡 ! (20) These two parameters are unknown at the beginning of our problem. Indeed, only the initial position and the starting time of each moving bottleneck are known a priori, but not the evolution of the parameters s and r associated with each moving bottleneck, since they depend on the solution itself. As the matter of fact, the objective of the present article is to compute the evolution of s and r for each bottleneck, given known initial and boundary conditions, and given the knowledge of maximal velocity, starting time and starting position of the bottlenecks. Modeling single moving bottlenecks as internal conditions
The dynamics of s and r is complex, since the behavior of a moving bottleneck is inherently hybrid, with active and inactive phases depending on the state of traffic. A moving bottleneck becomes “active” when it actually slows down the incoming traffic from upstream. This situation occurs when the traffic flow is sufficiently high to be hindered by the moving bottleneck. Following Munoz and Daganzo (2004), and Daganzo and Laval (2005), three situations can be distinguished (Figure 1): 1. The moving bottleneck is inactive because there is enough capacity for regular traffic to overtake (region 1 in Figure 1) 2. The moving bottleneck is active because regular traffic is traveling at higher speed and capacity is not enough for everyone to overtake (region 2 in Figure 1) 3. The moving bottleneck is inactive because regular traffic is traveling at a lower speed than the maximum velocity of the bottleneck, because of congestion (region 3 in Figure 1) Figure 1: Flow-density relationship of moving bottlenecks according to the Munoz-Daganzo model
In order to identify whether the moving bottleneck is active and derive its corresponding internal conditions we adopted the following approach based on the difference of cumulated flow between two consecutive points along the trajectory of the moving bottleneck: • Choose an arbitrary time step ∆ 𝑡 • Calculate the values of the Moskovitz function for:
𝑀 𝑥 ! , 𝑡 ! = 𝑀 ! and 𝑀 (𝑥 ! + 𝑣 !" ∆ 𝑡 , 𝑡 ! +∆ 𝑡 ) = 𝑀 ! , where 𝑥 ! , 𝑡 ! corresponds to the position of the moving bottleneck in the end of the previous time interval, and 𝑣 !" corresponds to the maximum speed of the moving bottleneck. • Identify the three abovementioned cases based on the flow between the two consecutive points (ratio between the difference of the Moskovitz function and time): a) < ! ! !! ! ∆! < 𝑞 ! à inactivity due to low volumes (traffic is too light) b) (! ! !! ! )∆! > 𝑞 ! à activity c) (! ! !! ! )∆! < à inactivity due to congestion (traffic is slower than the maximum velocity of the bottleneck) In the above, 𝑞 ! corresponds to the maximum passing rate of the moving bottleneck, which is the maximum flow that can ever pass the moving bottleneck going at its maximum speed. The formulation of 𝑞 ! is based on the model by Munoz and Daganzo (2004) and it corresponds to: 𝑞 ! = ( ! !! !" )∙ ! ! ∙(! ! !!)! ! (21) where 𝑢 stands for the free flow speed, 𝑘 ! is the critical density and 𝑛 ! is the number of lanes. Only in the case of active moving bottlenecks, a new internal condition with speed 𝑠 = 𝑣 !" and overtaking rate 𝑟 = 𝑞 ! is defined and stored. The internal condition applies between times 𝑡 ! and 𝑡 ! + Δ 𝑡 , and between positions 𝑥 ! and 𝑥 ! + 𝑣 !" ∙ Δ 𝑡 , with beginning and end values of 𝑀 ! and 𝑀 ! = 𝑀 ! + 𝑞 ! Δ 𝑡 . In case of activity over several consecutive intervals ( ∆ 𝑡 ), only the values of the Moskovitz function at the onset and end of activity, as well as the corresponding times and positions, are stored as internal conditions 𝑐 !" . In case of inactivity of the moving bottleneck due to congested conditions, the moving bottleneck travels at the speed of the surrounding traffic (which is less than its maximal speed), given by: 𝑣 = −𝑤 ∙ (𝑘 ! − 𝑘 ! )𝑘 ! (22) Where 𝑤 corresponds to the congested speed, 𝑘 ! corresponds to the jam density and 𝑘 ! corresponds to the density of the traffic around the bottleneck. • Finally, if the moving bottleneck is inactive due to low flow conditions, its velocity is set to 𝑣 !" . This algorithm can be summarized as the below pseudocode (Algorithm 1). Algorithm 1: Pseudo-code for the computation of internal conditions associated with a single moving bottleneck
Input: ( 𝒙 , 𝒕 , 𝒙 , 𝒗 𝒎𝒃 ) moving bottleneck; Input: (v, k c, k j , n l ) Input T q r =(v-v mb )*k c *(n l -1)/n l ; 𝒕 = 𝒕 𝒙 = 𝒙 while 𝒕 ≤ 𝑻 𝒂𝒏𝒅 𝒙 𝒕 = 𝐭 + 𝚫𝒕 𝒙 = 𝒙 + 𝒗 𝒎𝒃 𝚫𝒕 M =inf{M ini , M up , M down , M int } calculated at point (x ,t ) using initial, upstream, downstream and currently defined internal conditions M =inf{M ini ,M up , M down , M int } calculated at point (x ,t ) using initial, Input initial position and time, final position, and performance characteristics of the moving bottleneck Input list of fundamental diagram parameters Input simulation time horizon Derive maximum passing rate for the moving bottleneck, given the number of lanes of the road Initialize bottleneck time Initialize bottleneck position While the bottleneck vehicle is still on the computational domain update time update position
Calculate Moskovitz function at the previous and new positions of the moving bottleneck upstream, downstream and currently defined internal conditions if (M M )/ Δ t >0 then if (M M )/ Δ t < q r 𝒕 = 𝒕 𝒙 = 𝒙 Else
Add new internal condition with parameters { 𝑵 𝒃 , 𝒙 𝒃 , 𝒕 𝒃 ; 𝑵 𝒆 , 𝒙 𝒆 , 𝒕 𝒆 } 𝒕 = 𝒕 𝒙 = 𝒙 end if Else derive speed s from Equation !𝒘∙(𝒌 !𝒌 𝒋 )𝒌 𝒕 = 𝒕 + 𝚫𝒕 𝒙 = 𝒙 + 𝒔𝚫𝒕 end if end while If bottleneck is inactive due to low flows
Update time Update position
If bottleneck is active Store new internal condition
Update time Update position
If bottleneck is inactive due to high congestion Compute actual speed of bottleneck
Update time Update position
To illustrate the capabilities of Algorithm 1, we present the following example of a stretch of a two-lane road of length 3000 m characterized by some arbitrary initial and boundary shown respectively in Table 1 and Table 2. A moving bottleneck entering at 𝑥 = 𝑚 and 𝑡 = 𝑠 with 𝑣 !" = 𝑚/𝑠 is included in the simulation (red trajectory in Figure 2). The following parameters characterizing the triangular fundamental diagram are chosen: 𝑢 = 𝑚/𝑠 , 𝑘 ! = . 𝑣𝑒 ℎ/𝑚 , 𝑘 ! = . 𝑣𝑒 ℎ/𝑚 . Table 1: upstream and downstream boundary conditions Table 2: initial conditions 𝒊 𝒕 𝒊 !𝟏 𝒕 𝒊 𝒒 𝒖𝒑𝒊 𝒒 𝒅𝒐𝒘𝒏 𝒊
0 40 1.0 0.9
40 180 1.0 0.2
180 300 1.0 0.9 The simulation, which was performed on Matlab with a 2.3 GHz processor, required about 0.75 seconds, of which less than 0.03 seconds are spent computing the parameters of the internal conditions and the trajectory of the moving bottleneck. The rest is used to compute the solution on the entire on a rectangular grid of resolution one second and ten meters. The results of the simulation are shown in a space-time-density diagram (Figure 2). This simulation illustrates the benefits of the method over existing numerical schemes. Different numerical schemes have been proposed to model moving bottlenecks (such as first order numerical schemes (Daganzo and Laval, 2005; Leclercq, 2007), variational schemes (Daganzo, 2005), or wave-front tracking schemes (Henn, 2005), although they all require the solution to be computed everywhere on the computational domain. For example, the Godunov scheme (first order) requires us to compute the solution on the entire computational grid, and so does the Variational theory (in which bottlenecks are encoded as shortcuts in the computational grid). Similarly, wave-front tracking methods require the solution to be computed on the entire computational domain. Since most optimization problems in transportation do not require us to know the solution everywhere on the computational domain, this is a significant advantage as it allows us to first compute the parameters of all moving bottlenecks, and then compute the exact solution at the few points of the computational domain needed to determine the objective to be optimized, corresponding to a significant improvement in computational time and complexity. Fast algorithm to compute multiple bottlenecks
In this section, after a brief review the moving bot we objective is to expand the previous algorithm to the case of an arbitrary number of moving and fixed bottlenecks, which can have distinct parameters (maximum velocity). 𝒊 𝒙 𝒊 !𝟏 𝒙 𝒊 𝒌 𝒊𝒏𝒊
0 1000 0.04 Figure 2: space-time-density diagram representing the results of the test stimulation. In this simulation, the trajectory of the moving bottleneck is shown in red Background
The necessity of modeling the impacts of multiple trucks, buses and other kinds of slow moving vehicles on traffic has been recognized and increasingly emphasized in the last twenty years in the field of Traffic Flow Theory. To our knowledge, all these efforts have been made to study the effects of a single moving bottleneck, or moving bottlenecks for which the parameters (activity, velocity) are determined before the simulation. The objective is t include these into current traffic models, such as the LWR model. Extending previous work to an arbitrary number of moving bottlenecks (without relying on continuous flow approximations as in Liu, et al., 2015) implies several challenges, consisting in dynamically computing several trajectories-since moving bottlenecks can both affect and be affected by surrounding traffic- and accounting for their interactions accurately and efficiently from a computational perspective. In this section, we describe how a fast algorithm based on the Lax-Hopf algorithm outlined earlier can be used to compute the solution associated with multiple moving (and fixed) bottlenecks. In order to derive multiple internal conditions associated with several (active) moving bottlenecks, while accounting for their interactions and different properties, we propose a strategy based on two important properties of the solutions to Hamilton-Jacobi equations: the existence of a domain of influence for each internal condition, and the inf-morphism property of solutions.
Inf-morphism and domains of influence
The inf-morphism property implies that we can dynamically update the number of moving bottlenecks considered in the simulation problem, without having to re-compute the solution entirely. The domains on which the solution has to be re-computed are the domains of influence of the bottlenecks, which are the set of points that can be reached by characteristics with speeds ranging from – w to v , and originating on the internal condition (moving bottleneck trajectory). Indeed, for each position of the moving bottleneck, it is possible to identify its region of influence in the space and time dimension delimited by the congested and free-flow speed in the triangular fundamental diagram (respectively equal to w and v ). Whenever the moving bottleneck i at the position ( x i ,y i ) enters in the domain of influence of the moving bottleneck j at the position ( x j ,y j ), the derivation of internal conditions has to be performed along the trajectory of moving bottleneck j . This stepwise computation can be repeated back and forth among several moving bottlenecks until the simulation is completed. Algorithm 2 summarizes this process, for an arbitrary number n b of moving bottlenecks with (possibly distinct) maximum speeds v mb,i , entering the road at ( x ,t ) and leaving at x . Passing bottlenecks and Zeno effect The model used in this study corresponds to the coupling of a PDE (the LWR equation) with an ODE describing the evolution of the slow vehicles. The latter is hybrid, in the sense that the slow vehicles can only be in the three possible states outlined earlier. As with all hybrid systems, the dynamics can sometime exhibit the Zeno effect (Johansson et al., 1999). An execution of a hybrid system is called Zeno, if it takes infinitely many discrete transitions (and therefore computational loops) to solve the problem over a finite time horizon. In the present situation, the Zeno effect arises when bottlenecks are passing each other, as illustrated in Figure 3. In this situation, their respective domains of influence impose an upper bound on the time step used to update the position of each bottleneck (to ensure that the final position of one bottleneck is always outside the domain of influence of the other), and this upper bound becomes infinitely small as their paths come to intersect. This effect complicates the implementation of the algorithm as it can lead to infinite loops, if we want an exact solution. To solve this problem, we adopt a constant time step for the computation of the trajectories associated with moving bottlenecks: this allows the execution to be complete over a finite (and bounded above) number of steps, at the cost of computational accuracy, since this introduces an approximation of the behavior of both bottlenecks when they intersect each other.
Algorithm
The corresponding pseudo-code is shown as Algorithm 2 below.
Algorithm 2: Pseudo-code implementation for the computation of internal conditions associated with n b multiple moving bottlenecks Input: ( 𝒙 𝒊 , 𝒕 𝒊 , 𝒗 𝒎𝒃 , 𝒊 ) ∀ 𝒊 ∈ [𝟏, 𝒏 𝒃 ] Input: (v, k c, k j , n l ) Input T Input initial position and time, final position, and performance characteristics of moving bottlenecks Input list of fundamental diagram parameters Input simulation time horizon Figure 3: space-time-density diagram showing the simulation of two overtaking moving bottlenecks q r,i =(v-v mb,i )*k c *(n l -1)/n l ; b={1,…,n_b} 𝒕 𝒊 = 𝒕 𝒊 𝒙 𝒊 = 𝒙 𝒊 while 𝒃 ≠ ∅ for 𝒊 ∈ 𝒃 if 𝒕 𝒊 > 𝑻 or 𝒙 𝒊 ≥ 𝒙 𝒎𝒂𝒙 𝒃 = 𝒃 \{ 𝒊 } end end l=b for 𝒊 ∈ 𝒃 for 𝒋 ∈ 𝒃\{ 𝒊 } if 𝒕 𝒊 , 𝒙 𝒊 ∈ 𝑫 𝒋 ( 𝑫 𝒋 domain of influence of bottleneck j) l=l \ {i} end end end if 𝒍 ≠ ∅ while 𝒍 ≠ ∅ pick 𝒊 ∈ 𝒍 compute propagation of moving bottleneck (according to Algorithm 1) 𝒍 = 𝒍 \{ 𝒊 } end while else Identify intersecting bottlenecks, and propagate them approximately according to Algorithm 1 end end while Derive maximum passing rate for each moving bottleneck Initialize bottlenecks list Current time for each bottleneck Current position for each bottleneck
While some bottleneck vehicles are still on the computational domain
Eliminate bottlenecks that have left the computational domain
Initialize list of bottlenecks that are not influenced by others (and that can thus be computed) Compute list list of bottlenecks that are not influenced by others If there are moving bottlenecks that are not influenced by others Propagate these bottlenecks according to Algorithm 1
If none of the bottleneck is outside of the zone of influence of all others (bottleneck intersection) An example of the application of Algorithm 2 is illustrated in the sequence of simulations in Figure 4, where the different steps of the computation of the solution are shown for a pair of moving bottlenecks (indicated by letters A and B). First, the trajectory of moving bottleneck A and its impact on traffic are computed till it intersects the domain of influence of moving bottleneck B (Figure 3a), indicated by the green lines (Phase 1). Likewise, the solution associated with moving bottleneck B can be computed till it reaches the domain of influence of moving bottleneck A at its last position in the space and time (Figure 3b). The procedure is repeated back and forth till the moving bottleneck leaves the road (Figure 3c) or the simulation ends (Figure 3d). A more general example involving ten moving bottlenecks having different speeds (Table 3) and three fixed bottlenecks (representing constant red cycles of a traffic light) on the same link used in the previous cases, is illustrated in Figure 5. The computational performance, consisting of 0.15 seconds for the computation of the internal conditions and 2.2 seconds for the computation of the solutions on a rectangular grid of resolution one second and ten meters, confirms that the algorithm can handle complex scenarios very efficiently.
Figure 4: Example propagation of two moving bottlenecks. In (a), moving bottleneck A intersects the domain of moving bottleneck B. The algorithm continues propagating both bottlenecks (b, c) until both bottlenecks have left the computational domain (d) Table 3: Moving bottleneck features 𝒊
1 2
3 4 5 6 7 8 9 10 x t
60 20 50 150 120 220 180 270 330 320 v max
5 8 10 10 8 12 10 8 5 5 Application to schedule and traffic signal optimization
In order to show the capabilities of the algorithm, two different optimization problems involving several moving and fixed bottlenecks are investigated. The first one consists in the maximization of the total outflow on a two-lane road where the decision variables include adjustments of the entry times of eight buses, and the duration of signals’ cycles and green phases. In the second one, on the same typology of scenario, the same decision variables are varied to minimize buses’ delay. In these tests, we assume that the initial and boundary conditions are known (and can be arbitrary). Though real-world applications of signal optimization involve multiple connecting links, we choose a single link (with two traffic signals) for this test. The extension of the present application to networks is straightforward, and involves the use of dynamic boundary conditions for each link, these conditions being linked together through junction models.
Formulation and computation approach
The approach adopted to solve both optimization problems is based on the search heuristic technique of the genetic algorithms (GA), which are an optimization strategy where a set of randomly generated solutions (initial population) is improved by means of an iterative procedure. This iterative process consists of selecting the best performing solutions (parents) and “breeding” them to create new “generations” of solutions (children), until an optimal solution is found. During the breeding process mutations are randomly applied (i.e. random changes in a
Figure 5: Example of simulation of several fixed and moving bottlenecks having different maximum speeds solution that occur at a predetermined probability) in order to maintain a higher diversity in the population. The interested reader may refer to Yang (2010) for a more detailed explanation of this heuristic. As Teklu et al. (2007) observe, GA are very flexible as they do not require any knowledge of the gradient and they can avoid getting stuck in local optima. Furthermore, GA are more suitable to simulation-based frameworks, as derivative-based optimization methods require the knowledge of the analytical form of the problem. For these reasons GA have been already employed to solve different joint traffic control and assignment problems (Foy et al., 1992; Lee and Machemehl, 1998; Yin, 2000; Ceylan and Bell, 2004; Teklu et al., 2007). In both the optimization problems, the objective functions depend on the entry times of i moving bottlenecks 𝑡 ! and the signal setting variables 𝜑 ! = (𝑐, 𝜙) , where 𝑐 and 𝜙 correspond respectively to the cycle time length and the green time length of traffic signal j. In the first problem, we optimize the total outflow, that is, the cumulative number of vehicles at the downstream end of the link, 𝑁 ! : max ! ! ,! ! 𝑁 ! ( 𝑡 ! , 𝜑 ! ) subject to: 1. 𝑡 ! , !" ≤ 𝑡 ! ≤ 𝑡 ! , !" ∀ 𝑖 ∈ 𝐼 moving bottlenecks’ entry times constraints 2. 𝜑 ! (𝑐, 𝜙) 𝑐 !" ≤ 𝑐 ≤ 𝑐 !" 𝜙 !" ≤ 𝜙 ≤ 𝜙 !" ∀𝑗 ∈ 𝐽 cycle times and green times constraints In the second optimization problem, which is characterized by the same decision variables and constraints of the first optimization problem (1,2), the total delay 𝐷 of moving bottlenecks is minimized. This yields to the following formulation: min ! ! ,! ! 𝐷 ( 𝑡 ! , 𝜑 ! ) Where the total delay is given by the sum of each moving bottleneck’s delay, calculated as difference between a theoretical arrival time if the moving bottleneck travels at its maximum speed ( 𝑣 !" , ! ) and its actual arrival time ( 𝑡 !" , ! ) derived from the simulation: 𝐷 𝑡 ! , 𝜑 ! = (𝑥 !, ! − 𝑥 !, ! ) 𝑣 !" , !! ∈! − 𝑡 !" , ! with 𝑥 !, ! and 𝑥 !, ! corresponding to the input entry and exit points of each moving bottleneck i. For the computation of GA, each solution is identified as a vector of values corresponding to each decision variables. The main algorithmic steps of the GA consist of: 1. Generate the initial random population of solutions corresponding to different moving bottlenecks’ entry times and signal timings (satisfying the problem constraints) 2. Calculate the fitness functions (according to the optimization problem) by means of simulation for each solution 3. Perform breeding process by means of tournament selection to select the parents and one-point crossover to generate the children 4. Perform random mutation of children with probability Pm, by randomly replacing some their decision variables’ values (satisfying the problem constraints) 5. If the maximal generation number is reached, the solution with the highest fitness is adopted as optimal solution of the problem. Else, return to the second step. Numerical results
In both optimizations problems the initial scenario consists of a two-lanes link of 3000 meters length, with two traffic lights at the positions 𝑦 ! = 𝑚 and 𝑦 ! = 𝑚 . Both traffic lights are characterized by an initial cycle time of 200s and green time of 120s. The boundary and initial conditions are reported respectively in Table 1 and Table 2. Eight buses (moving bottlenecks) enter and leave the link at different points (Table 3), and they are characterized by the same maximum speed 𝑣 !" = 𝑚/𝑠 . The following parameters characterizing the triangular fundamental diagram are chosen: 𝑢 = 𝑚/𝑠 , 𝑘 ! = . 𝑣𝑒 ℎ/𝑚 , 𝑘 ! = . 𝑣𝑒 ℎ/𝑚 . The results of the simulation are illustrated in Figure 6. Table 4: boundary conditions Table 5: initial conditions 𝒊 𝒕 𝒊 !𝟏 𝒕 𝒊 𝒒 𝒖𝒑𝒊 𝒒 𝒅𝒐𝒘𝒏 𝒊
0 40 1.2 0.5
40 300 1.2 1.0
Table 6: moving bottleneck conditions i
1 2 3 4 5 6 7 8 𝒙 𝒕
20 50 60 120 150 180 220 270 𝒙 As to the constraints of the optimization problem, the entry times of buses can be moved ahead or postponed up to 10 seconds, and cycle lengths and green times can be shrunk or extended by a factor of 0.1. In a network optimization problem, the boundary flows would become additional decision variables, and could similarly be constrained to be in some interval. The evolution of the fitness function through several generations in both optimization problems suggests the designed GA converges to a maximum/minimum rather quickly (between the 10 th and 15 th iteration) regardless of the input parameters used (see Figure 7). From a computational perspective this result implies that the optimization algorithm can be limited to fewer generations without compromising the quality of the results. More interestingly, as several tests concerning the size of the population of the GA show, the quality of the solution does not seem to be largely affected in both optimization problems (Table 4 and Table 5). Indeed, in the case of maximization of outflow, increasing the size of the population from 30 to 100 seems to improve only by 3 percent the fitness function (on average), at the expense of the computational time, which is more than tripled. Similarly, GA with a population of 100 solutions would yield to an average improvement of 10 percent compared to GA with a population of 30 solutions, but with a computation times more than three times higher. 𝒊 𝒙 𝒊 !𝟏 𝒙 𝒊 𝒌 𝒊𝒏𝒊
0 3000 0.04 Figure 6: : Space-Time-Density diagram for the original scenario before optimization Figure 7: Evolution of the fitness function over several generations in the two optimization problems † The optimal solutions corresponding to both optimization problems are displayed in Figure 8. As shown in Figure 8a, the outflow can be increased, not only by varying the cycle lengths of the two traffic lights, but also by reducing the delays caused by the moving bottlenecks (for example bus 1 and bus 5). When we minimize the bus delay instead (Figure 8b), mainly the buses’ trajectories and the settings of the more downstream traffic light are optimized to reduce buses’ wait at the traffic lights. The required computation time to calculate the objective function for each of the solutions created during the breeding procedure and accomplished by means of traffic simulation, varies between 0.05 and 0.07 seconds. Overall, this analysis suggests that, for this optimization problem involving eight moving bottlenecks and two traffic lights, it is possible to obtain fairly satisfactory solutions in a few tens of seconds, thanks to the fast algorithm introduced earlier, which we use to compute the solutions associated with multiple moving bottlenecks.
Table 6: Best score Solution improvement (%) Computation time Population 30 335 26 41.1 Population 50 344.3 28 67.4 Population 100 346.2 28.4 133.9 Table 7: Best score Solution improvement (%) Computation time Population 30 70.6 70 39.6 Population 50 48.3 79 70.6 Population 100 46.8 80 140.5 † The plotted evolutions correspond to the best results obtained for a simulation with population of 100 solutions, tournament size of 10 and mutation rate of 0.1 F i t n e ss F u n c t i o n Generation number
Average Score Best Score F i t n e ss F u n c t i o n Generation number
Average Score Best Score Conclusions and future work
In this study, we proposed a new semi-analytic numerical scheme that can be used to compute the solutions within the LWR traffic flow model given initial, upstream and downstream boundary conditions, and an arbitrary number of moving bottlenecks, which can be associated with different types of vehicles. The main feature of this scheme is the ability to endogenously and efficiently account for the interaction between several moving (and fixed) bottlenecks and surrounding traffic, without relying on continuous flow or multi-class approximations. This numerical scheme is based on a Hamilton-Jacobi formulation of the LWR model, and results from the properties of the solutions to Hamilton-Jacobi equations, and in particular the inf-morphism property. Being semi-analytic, it is very accurate (though not exact due to the piecewise linear approximation of the trajectories of the moving bottlenecks), and very fast, since it allows one to determine the trajectories of all moving bottlenecks without having to compute the solution on the entire computational domain, making it very adapted to optimization problems. We demonstrated the benefits of this algorithm by taking advantage of its high computational performance in two different optimization problems where we simultaneously optimized the schedule of eight buses and the timing of two traffic signals on a single stretch of road. These problems could be solved using known heuristics in a few dozens of seconds with a regular computer. Future work will deal with the extension of this framework to the optimization of schedules and traffic signals simultaneously over road networks. In the network case, the boundary conditions on each domain are not fixed, and the moving bottlenecks can propagate between domains. Extending the proposed framework to networks will require the estimation of boundary flows of each of the links by means of junction models, which could slightly increase the necessary computational time to compute the solution.
Figure 8: Space-time-density diagram corresponding to the results of the first optimization problem (a) and the second optimization problem (b). Buses’ trajectories are shown as red lines, and red traffic lights are indicated by yellow lines. References
Aubin, J., A.M Bayen, & P. Saint-Pierre. (2008). Dirichlet problems for some Hamilton-Jacobi equations with inequality constraints."
SIAM Journal on Control and Optimization Lebacque, J. P., Lesort, J. B., & Giorgi, F. (1998). Introducing buses into first-order macroscopic traffic flow models. Transportation Research Record: Journal of the Transportation Research Board, 1644(1), 70-79. Leclercq, L., Chanut, S., & Lesort, J. B. (2004). Moving bottlenecks in Lighthill-Whitham-Richards model: A unified theory. Transportation Research Record: Journal of the Transportation Research Board, 1883(1), 3-13. Lee, C. & Machemehl, R. B. (1998). Genetic algorithm, local and iterative searches for combining traffic assignment and signal control, Traffic and Transportation Studies: In: Proceedings of ICTTS 98, 489-497. Lighthill, M. J., & Whitham, G. B. (1955, May). On kinematic waves. II. A theory of traffic flow on long crowded roads. In Proceedings of the Royal Society of London A: Mathematical, Physical and Engineering Sciences (Vol. 229, No. 1178, pp. 317-345). The Royal Society. Liu, H., Wang, J., Wijayaratna, K., Dixit, V. V., & Waller, S. T. (2015). Integrating the Bus Vehicle Class Into the Cell Transmission Model. IEEE Transactions on Intelligent Transportation Systems, 16(5), 2620-2630. Mazaré, P. E., Dehwah, A. H., Claudel, C. G., & Bayen, A. M. (2011). Analytical and grid-free solutions to the Lighthill–Whitham–Richards traffic flow model. Transportation Research Part B: Methodological, 45(10), 1727-1748. Munoz, J. C., & Daganzo, C. F. (2004). Moving bottlenecks: a theory grounded on experimental observation. University of California Transportation Center. Newell, G. F. (1993). A simplified theory of kinematic waves in highway traffic, Part II: Queueing at freeway bottlenecks. Transportation Research Part B: Methodological, 27(4), 289-303. Newell, G. F. (1998). A moving bottleneck. Transportation Research Part B: Methodological, 32(8), 531-537. Richards, P. I. (1956). Shock waves on the highway. Operations research, 4(1), 42-51. Teklu, F., Sumalee, A., & Watling, D. (2007). A genetic algorithm approach for optimizing traffic control signals considering routing. Computer ‐‐