-
In this section, we present a macroscopic methodological framework considering two different travel modes. To simulate the traffic dynamics, the accumulation-based model is used for cars, the trip-based model is used for buses. The accumulation of buses in one reservoir determines the MFD for cars. The bus speed is determined by the accumulation of buses and cars.
For each reservoir, traffic dynamics are described by the evolution of accumulation along different paths for each mode
is expressed as:$m \in \left\{ {bus,car} \right\}$ $ {\eta }_{\text{p,r}}^{\text{m}}\left(t+\delta t\right)={\eta }_{\text{p,r}}^{\text{m}}\left(t\right)+\Delta {\eta }_{\text{p,r}}^{\text{m}}\left(t\right),\quad r\in \left\{1,\dots ,N\right\},\;\;\forall p\in {P}_{\text{r}}^{\text{m}},\;\; m $ (1) where
is the time step,$\delta t$ denotes the accumulation for each mode$\eta _{{\text{p,r}}}^{\text{m}}\left( t \right)$ traveling on path$m \in \left\{ {bus,car} \right\}$ in the reservoir$p$ at time$r$ .$t$ represents the variety of the accumulation along path$\Delta \eta _{{\text{p,r}}}^{\text{m}}\left( t \right)$ in reservoir$p$ at time$r$ .$t$ is defined as the set of paths passing through the reservoir r by different mode.$P_{\text{r}}^{\text{m}}$ Accumulation-based model for cars
-
The multi-reservoir accumulation-based model is introduced by Mariotte et al.[35], which is an extension of Yildirimoglu & Geroliminis's work[34]. For cars,
in Eq. (1) is expressed as:$\Delta \eta _{{\text{p,r}}}^{\text{m}}\left( t \right)$ $ \Delta {\eta }_{\text{p,r}}^{\text{car}}\left(t\right)=\delta t\cdot \left({q}_{\text{p,r,in}}^{\text{car}}\left(t\right)-{q}_{\text{p,r,out}}^{\text{car}}\left(t\right)\right),\text{ }\forall r\in \left\{1,\dots ,N\right\},\;\;\forall p\in {P}_{\text{r}}^{\text{car}} $ (2) Where
and$q_{{\text{p,r,in}}}^{{\text{car}}}(t)$ represent the effective inflow and outflow along path p in reservoir r at time t, respectively. Depending on whether the origin or destination is inside the reservoir, the evolution of accumulation of path p in Eq. (1) can be divided into four types:$q_{{\text{p,r,out}}}^{{\text{car}}}(t)$ (i) If r is the origin reservoir but not the destination, we assume the demand generated inside the reservoir without any restrictions. The effective inflow of path
is defined as$p$ ,$q_{{\text{p,r,in}}}^{{\text{car}}}\left( t \right) = \lambda _{\text{p}}^{{\text{w,car}}}\left( t \right){\text{ }}$ is the path demand for OD pair$\lambda _{\text{p}}^{{\text{w,car}}}\left( t \right)$ by car. Let$w$ represent the transfer flow from reservoir r to$q_{{\text{p,r,out}}}^{{\text{car}}}\left( t \right)$ , which is the next reservoir in the reservoir sequence of path p. The effective outflow is calculated as${p^ + }\left( r \right)$ referring to Mariotte et al.[35] and Mariotte & Leclercq[42], where$q_{{\text{p,r,out}}}^{{\text{car}}}\left( t \right) = \eta _{{\text{p,r}}}^{{\text{car}}}\left( t \right)L_{{\text{k,r}}}^{{\text{car}}}/\eta _{{\text{k,r}}}^{{\text{car}}}\left( t \right)L_{{\text{p,r}}}^{{\text{car}}}\min \left( {\mu _{{\text{k,r}}}^{{\text{car}}}\left( t \right),O_{{\text{k,r}}}^{{\text{car}}}\left( t \right)} \right)$ ,$O_{{\text{k,r}}}^{{\text{car}}}\left( t \right)$ are the outflow demand (trip completion rate) and the restriction supply for path$\mu _{{\text{k,r}}}^{{\text{car}}}\left( t \right)$ in reservoir$k$ of cars respectively.$r$ is the most constrained path:$k$ .$k = \arg \mathop {\min }\limits_{p \in {P^{\text{r}}}} \mu _{{\text{p,r}}}^{{\text{car}}}\left( t \right){\text{/}}O_{{\text{p,r}}}^{{\text{car}}}\left( t \right)$ (ii) If r is the destination reservoir but not the origin, the outflow of path
is not limited. Hence,$p$ . For effective inflow,$\mu _{{\text{p,r}}}^{{\text{car}}}\left( t \right) = + \infty $ ,$q_{{\text{p,r,in}}}^{{\text{car}}}\left( t \right) = q_{{\text{p,}}{{\text{p}}^{{-}}}\left( {\text{r}} \right){\text{,out}}}^{{\text{car}}}\left( t \right)$ is the previous reservoir of the reservoir r on path p.${p^ - }\left( r \right)$ (iii) If r is neither the origin reservoir nor the destination reservoir, the calculation of effective outflow and effective inflow are referred to (i) and (ii) respectively.
(iv) If r is both origin reservoir and destination reservoir, the calculation of effective inflow and effective outflow are referred to (i) and (ii) respectively.
Now we focus on the effective inflow and effective outflow of transfer flow which passes through the boundary entering the reservoir or leaving the reservoir.
As defined by Geroliminis & Daganzo[47], the trip completion rate is proportional to the total production in each reservoir, defined as
. P is the total production and L is the total network length. The outflow demand is allocated according to the proportion of the accumulation along each path in the reservoir to the total accumulation in the reservoir.$O = P/L$ The outflow demand
can be derived as:$O_{{\text{p,r}}}^{{\text{car}}}\left( t \right)$ $ O_{{\text{p,r}}}^{{\text{car}}}\left( t \right) = \left\{ {\begin{array}{*{20}{l}} {\text{ }}\dfrac{{\eta _{{\text{p,r}}}^{{\text{car}}}\left( t \right)}}{{\eta _{\text{r}}^{{\text{car}}}\left( t \right)}}\dfrac{{{{\text{P}}_{\text{r}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)}}{{L_{{\text{p,r}}}^{{\text{car}}}}}{\text{ }}\;if\\\quad \eta _{\text{r}}^{{\text{car}}}\left( t \right) \lt \eta _{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right) \\ {\dfrac{{\eta _{{\text{p,r}}}^{{\text{car}}}\left( t \right)}}{{\eta _{\text{r}}^{{\text{car}}}\left( t \right)}}\dfrac{{{\text{P}}_{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)}}{{L_{{\text{p,r}}}^{{\text{car}}}}}\;\;{\text{ otherwise}}} \end{array}} \right.{\text{ }}\forall p \in P_{\text{r}}^{{\text{car}}} $ (3) where
is the average trip length in reservoir$L_{{\text{p,r}}}^{{\text{car}}}$ along path$r$ by car.$p$ and$\eta _{\text{r}}^{{\text{car}}}\left( t \right)$ are the total accumulation of cars and buses in reservoir r at time t,$\eta _{\text{r}}^{{\text{bus}}}\left( t \right)$ and${\text{P}}_{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)$ are the critical accumulation of cars and maximum production which are related to the bus accumulation in the reservoir. That means, bus accumulation over time influence the shape of the MFD profile due to the different bus frequency.$\eta _{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)$ The restriction outflow supply
corresponds to the inflow supply$\mu _{{\text{p,r}}}^{{\text{car}}}\left( t \right)$ of the next reservoir in the path p by car at time t. The existing literature has proposed different entry supply functions with higher critical value than MFD maximum capacity, and compared their performances[42]. To simplify the process, we use the reservoir entry supply function mentioned in Paipuri & Leclercq[27].$I_{{\text{p,}}{{\text{p}}^{{ + }}}\left( {\text{r}} \right)}^{{\text{car}}}\left( t \right)$ represents the entry supply production in reservoir${{\text{P}}_{{\text{S,r}}}}$ .$r$ $ {{\text{P}}_{{\text{S,r}}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right) = \left\{ {\begin{array}{*{20}{lc}} {{\text{P}}_{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right){\text{ }}\;\;if\;\;{\text{ }}\eta _{\text{r}}^{{\text{car}}}\left( t \right) \lt \eta _{\text{r}}^{{\text{crit}}}\left( {\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)} \\ {{\text{ }}{{\text{P}}_{\text{r}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)\;\;{\text{ otherwise }}} \end{array}} \right. $ (4) For transfer flow, the available entry supply production in reservoir
is$r$ , the average trip length for transfer flow is${{\text{P}}_{{\text{S,r}}}} - \displaystyle\sum\nolimits_{p \in P_{{\text{int}}}^{\text{r}}} {L_{{\text{p,r}}}^{{\text{car}}}\lambda _{\text{p}}^{{\text{w,car}}}} $ defined by Little's formula[48]. The reservoir total inflow supply$ \displaystyle\sum\nolimits_{p \in P_{\text{r}}^{{\text{ext}}}} {\eta _{{\text{p,r}}}^{{\text{car}}}\left( t \right)} {\text{/}}\displaystyle\sum\nolimits_{p \in P_r^{ext}} {\eta _{{\text{p,r}}}^{{\text{car}}}\left( t \right)/L_{{\text{p,r}}}^{{\text{car}}}} $ is the ratio of the two values.${I^{\text{r}}}$ At the same time, considering the capacity constraints of the reservoir and the nodes at the boundary, we use the sequence of macroscopic nodes corresponding to the reservoir successions of path
. The finite number of nodes on the reservoir boundary is denoted as set$p$ , each node is written as$N_{\text{r}}^{{\text{bd}}}$ . The path through node$n$ to enter the reservoir is recorded as$n$ . A detailed definition of macroscopic nodes has been given in Mariotte et al.[35]. We use a two-layer merging function also proposed in this paper to calculate restriction inflow supply for transfer flow.$P_{{\text{r,n}}}^{{\text{car}}}$ $\begin{array}{c} {\left\{ {I_{\text{p}}^{{\text{r*}}}} \right\}_{p \in P_{{\text{r,n}}}^{{\text{car}}}}} = {\text{Merge}}\left( {{{\left\{ {\lambda _{{\text{p,r}}}^{{\text{car}}}} \right\}}_{p \in P_{{\text{r,n}}}^{{\text{car}}}}},{{\left\{ {\dfrac{{\alpha _{\text{p}}^{\text{r}}}}{{\displaystyle\sum\nolimits_{k \in P_{{\text{r,n}}}^{{\text{car}}}} {\alpha _{\text{k}}^{\text{r}}} }}} \right\}}_{p \in P_{{\text{r,n}}}^{{\text{car}}}}},{D_{\text{n}}}} \right),\\\;\;{\text{ }}\forall r,\;\;\forall n \in N_{\text{r}}^{{\text{bd}}}\end{array} $ (5) where
function is the inflow merge function mentioned in Leclercq & Becarie[49]. The available supply or capacity is shared among the paths according to their merge coefficients and ensures the available supply or capacity can be used effectively. Where${\text{Merge}}\left( \cdot \right)$ is the capacity of the macroscopic node${D_{\text{n}}}$ on the boundary, which can be expressed as the aggregation of the capacity of all links connected with the node$n$ .$n$ is the inflow demand of path$\lambda _{{\text{p,r}}}^{{\text{car}}}$ in reservoir$p$ by car. For transfer flow, the value is equal to outflow demand$r$ from the previous reservoir. The merge parameter$O_{{\text{p,}}{{\text{p}}^{{- }}}\left( {\text{r}} \right)}^{{\text{car}}}$ is calculated as$\alpha _{\text{p}}^{\text{r}}$ . The second-layer merging function is described as follow:$\lambda _{\text{p}}^{\text{r}}/\sum\nolimits_{p \in P_{{\text{r,m}}}^{{\text{car}}}} {\lambda _{\text{k}}^{\text{r}}} $ $ {\left\{ {I_{\text{p}}^{\text{r}}} \right\}_{p \in P_{{\text{r,bd}}}^{{\text{car}}}}} = {\text{Merge}}\left( {{{\left\{ {I_{\text{p}}^{{\text{r*}}}} \right\}}_{p \in P_{{\text{r,bd}}}^{{\text{car}}}}},{{\left\{ {\alpha _{\text{p}}^{\text{r}}} \right\}}_{p \in P_{{\text{r,bd}}}^{{\text{car}}}}},{I^{\text{r}}}} \right),{\text{ }}\forall r $ (6) where
is the path crossing the boundary into the reservoir$P_{{\text{r,bd}}}^{{\text{car}}}$ by car. The main difference between the first layer and the second layer merging function is that one considers the capacity constraint of the node on the boundary and the other considers the reservoir supply restriction.$r$ is the inflow supply of path p in reservoir r by car at time t.$I_{{\text{p,r}}}^{{\text{car}}}\left( t \right)$ Then the evolution of car accumulation is calculated by Eq. (1). At the same time, the cumulative count curves of each path in reservoir
can be described by Eq. (7).$r$ and$U_{{\text{p,in}}}^{{\text{car,o}}}\left( t \right)$ represent the entering cumulative curve and the exiting cumulative curve of path$V_{{\text{p,out}}}^{{\text{car}}{\text{.d}}}\left( t \right)$ at time$p$ by car, respectively.$t$ represents the experienced travel time when passengers leave at time${\tau _{{\text{p,car}}}}\left( t \right)$ and choose path$t$ by car.$p$ $ \begin{gathered} U_{{\text{p,r,in}}}^{{\text{car}}}\left( t \right) = \int_0^t {q_{{\text{p,r,in}}}^{{\text{car}}}\left( t \right)} dt + \eta _{{\text{p,r}}}^{{\text{car}}}\left( 0 \right)\quad\forall r \in \left\{ {1, \ldots ,N} \right\},p \in P_{\text{r}}^{{\text{car}}} \\ V_{{\text{p,r,out}}}^{{\text{car}}}\left( t \right) = \int_0^t {q_{{\text{p,r,out}}}^{{\text{car}}}\left( t \right)} dt \\ \end{gathered} $ (7) The relationship between travel time and cumulative flow is:
$ U_{{\text{p,r,in}}}^{{\text{car}}}\left( {t - {\tau _{{\text{p,car}}}}\left( t \right)} \right) = V_{{\text{p,r,out}}}^{{\text{car}}}\left( t \right) $ (8) If
and$U_{\rm p,in}^{\rm car,o}\left( t \right)$ are strictly monotone functions with respect to time$V_{{\text{p,out}}}^{{\text{car,d}}}\left( t \right)$ , the dynamic experience travel time is calculated as:$t$ $ {\tau _{{\text{p,car}}}}\left( t \right) = t - U{_{{\text{p,in}}}^{{\rm{car,o{\text -}1}}}}\left( {V_{{\text{p,out}}}^{{\text{car,d}}}\left( t \right)} \right) $ (9) where
is the inverse function of${U_{{\rm{p,in}}}^{{\rm{car,o{\text -}1}}}}\left( \cdot \right)$ .$U_{{\rm{p,in}}}^{{\rm{car,o}}}\left( \cdot \right)$ Here, the travel time of each path
between OD pairs is the experienced travel time$p$ when passengers choose the path.${\tau _{{\text{p,car}}}}\left( t \right)$ Trip-based model for buses
-
All buses are traveling at the same speed
in reservoir$v_{\text{r}}^{{\text{bus}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)$ at time$r$ . The trip distance of bus on path$t$ in each reservoir$p$ is expressed as:$r$ $ L_{{\text{p,r}}}^{{\text{bus}}} = \int_{t - T\left( t \right)}^t {v_{\text{r}}^{{\text{bus}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)dt} $ (10) where
is the average trip length in reservoir$L_{{\text{p,r}}}^{{\text{bus}}}$ along path$r$ by bus. The bus enters the reservoir at time$p$ and leaves at time$t - T\left( t \right)$ . The bus speed$t$ at each time$v_{\text{r}}^{{\text{bus}}}\left( {\eta _{\text{r}}^{{\text{car}}}\left( t \right),\eta _{\text{r}}^{{\text{bus}}}\left( t \right)} \right)$ depends on the accumulation of cars and buses in the reservoir by 3D-MFD. We used the functional form$t$ proposed in Paipuri & Leclercq[27]:$v_{\text{r}}^{{\text{bus}}}$ $ v_{\text{r}}^{{\text{bus}}}\left( {\eta _{\text{r}}^{{\text{car}}},\eta _{\text{r}}^{{\text{bus}}}} \right) = {\beta _{{\text{b,0}}}} + {\beta _{{\text{c,b}}}}\eta _{\text{r}}^{{\text{car}}}\left( t \right) + {\beta _{{\text{b,b}}}}\eta _{\text{r}}^{{\text{bus}}}\left( t \right) $ (11) Constants
and${\beta _{{\text{c,b}}}}$ represent the marginal effect of cars and buses on bus mean speed which can be estimated with real data, These parameters can be seen specifically in Loder et al.[24].${\beta _{{\text{b,b}}}}$ We track the bus trip distance until the total trip length
is completed, record the experienced travel time$L_{\text{p}}^{{\text{bus}}} = \displaystyle\sum\limits_{r \in R} {L_{{\text{p,r}}}^{{\text{bus}}}} $ . At the same time. The accumulation of cars and buses in each reservoir can be obtained by conservation Eq. (1). For buses,${\tau _{{\text{p,bus,travel}}}}$ is expressed as:$\Delta \eta _{{\text{p,r}}}^{\text{m}}\left( t \right)$ $ \Delta {\eta }_{\text{p,r}}^{\text{bus}}\left(t\right)={\eta }_{\text{p,r,in}}^{\text{bus}}\left(t\right)-{\eta }_{\text{p,r,out}}^{\text{bus}}\left(t\right),\quad\forall r\in \left\{1,\dots ,N\right\},\;\;\forall p\in {P}_{\text{r}}^{\text{bus}} $ (12) Where
and$\eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( t \right)$ respectively represent the number of buses entering and leaving the reservoir$\eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right)$ along path$r$ at time$p$ . We also assume the demand generated inside the reservoir without any restrictions and the outflow is not limited in the destination reservoir. For the transfer flow, the number of buses entering reservoir$t$ is${p^+}\left( r \right)$ , the number of buses leaving reservoir$\eta _{{\text{p,}}{{\text{p}}^ + }\left( {\text{r}} \right){\text{,in}}}^{{\text{bus}}}\left( t \right) = \eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( {t - T\left( t \right)} \right)$ is$r$ . Combined with Eq. (1), we can get the accumulation of cars and buses at any time. According to Eq. (11), we can get the bus mean speed at the next time. The trip-based solver algorithm for buses is described in Algorithm 1.$\eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right) = \eta _{{\text{p,}}{{\text{p}}^ + }\left( {\text{r}} \right){\text{,in}}}^{{\text{bus}}}\left( {t - T\left( t \right)} \right)$ Table 1. Trip-based solver algorithm.
Input: Reservoir initial bus accumulation $\eta _{{\text{p,r}}}^{{\text{bus}}}\left( {{t_0}} \right)$ of each path, car accumulation $\eta _{{\text{p,r}}}^{{\text{car}}}\left( {{t_0}} \right)$ of each path, initial trip distance $L_{{\text{p,r,t}}}^{{\text{bus}}}\left( {{t_{\text{0}}}} \right){\text{ = 0}}$, the subscript $t$ represents the bus departing at time $t$, traffic demand profile $\lambda _{\text{p}}^{{\text{w,bus}}}\left( t \right)$, simulation duration $T$ and time step $\delta t$. 1: for $t = {t_0}$ to ${t_0} + T$ by $\delta t$ do 2: According to the bus and car accumulation which is calculated by Eq. (1), combined with reservoir 3D-MFD, the bus speed $v_{\text{r}}^{{\text{bus}}}\left( t \right)$ is determined by Eq. (11) 3: for $r = 1$ to $N$ do 4: Inflow: if $r = o$ then $\eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( t \right) = \lambda _{\text{p}}^{{\text{w,bus}}}\left( t \right) \cdot \delta t$ else $\eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( t \right) = \eta _{{\text{p,}}{{\text{p}}^{\text{ - }}}\left( {\text{r}} \right){\text{,out}}}^{{\text{bus}}}\left( t \right)$ 5: Outflow: track the trip distance $L_{{\text{p,r,t}}}^{{\text{bus}}}\left( {t{\text{ + }}\delta t} \right) = L_{{\text{p,r,t}}}^{{\text{bus}}}\left( t \right) + v_{\text{r}}^{{\text{bus}}}\left( t \right) \cdot \delta t$ 6: if $L_{{\text{p,r,t}}}^{{\text{bus}}}\left( {t{\text{ + }}\delta t} \right) > L_{{\text{p,r}}}^{{\text{bus}}}$ 7: if $r = d$ then $ {\tau _{{\text{p,bus,travel}}}}\left( t \right) = {\tau _{{\text{p,bus,travel}}}}\left( t \right) + {t_{\text{s}}} $, $\eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right) = \eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( {t{\text{ - }}{\tau _{{\text{p,bus,travel}}}}\left( t \right)} \right)$
where ${t_{\text{s}}}$ is the traveling time in reservoir $r$.8: else ${\tau _{{\text{p,bus,travel}}}}\left( t \right) = {\tau _{{\text{p,bus,travel}}}}\left( t \right) + \delta t$, $\eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right) = \eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( {t{\text{ - }}{\tau _{{\text{p,bus,travel}}}}\left( t \right)} \right)$ 9: else ${\tau _{{\text{p,bus,travel}}}}\left( t \right) = {\tau _{{\text{p,bus,travel}}}}\left( t \right) + \delta t$, $\eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right) = 0$ 10: Bus accumulation update: $\eta _{{\text{p,r}}}^{{\text{bus}}}\left( {t + \delta t} \right) = \eta _{{\text{p,r}}}^{{\text{bus}}}\left( t \right) + \eta _{{\text{p,r,in}}}^{{\text{bus}}}\left( t \right) - \eta _{{\text{p,r,out}}}^{{\text{bus}}}\left( t \right)$ 11: end for 12: end for Output: reservoir bus accumulation $\eta _{{\text{p,r}}}^{{\text{bus}}}\left( t \right)$, the experienced travel time ${\tau _{{\text{p,bus,travel}}}}\left( t \right)$ In this paper, the travel time along path
,$p$ includes the in-vehicle travel time$p \in P_{{\text{bus}}}^{\text{w}}$ and the waiting time${\tau _{{\text{p,bus,travel}}}}\left( t \right)$ of passengers at the bus stop. The waiting time is described below.$\tau _{{\rm{p,bus,\omega ait}}}^{\text{w}}$ -
First we establish a bi-level optimization framework. The upper-level problem minimizes the total time spent of all road users and bus operation cost. The lower-level problem is a region-based dynamic traffic assignment model.
Bi-level optimization framework
-
The bus optimization problem in a large-scale transportation network is formulated in a bi-level programming framework. The upper-level determines the optimal frequencies, while the lower level determines traffic behaviour decisions, which is formulated as a multi-modal DUE model with a 3D-MFD based network loading model.
Upper-level problem
-
We consider the total time spent of all road users and the bus operation cost in the upper-level model. The upper-level model is expressed as follows:
$ \min Z\left( {\mathbf{F}} \right) = \alpha \beta {T_{{\text{system}}}} + \left( {{\text{1 - }}\alpha } \right){C_{{\text{operation}}}} $ (13) $ {\text{s}}{\text{.t}}{\text{. }}\sum\limits_{w \in W} {\sum\limits_{p \in P_{{\text{bus}}}^{\text{w}}} {N_{\text{p}}^{\text{w}}\left( {{\text{F}}_{\text{p}}^{\text{w}}} \right) \cdot G_{\text{p}}^{\text{w}}} \leqslant B} {\text{ }} $ (14) $ {\text{ F}}_{\text{p}}^{\text{w}} \in {F_{\text{p}}},{\text{ }}{F_{\text{p}}} = \left\{ {{\text{F}}_{\text{p}}^{\text{1}},{\text{F}}_{\text{p}}^{\text{2}}, \ldots ,{\text{F}}_{\text{p}}^{\text{n}}} \right\} $ (15) where
is the objective function,$Z\left( {\mathbf{F}} \right)$ denotes the bus frequency vector between all OD pairs${\mathbf{F}}$ .${\mathbf{F}} = \left\{ {{{\mathbf{F}}^{\text{w}}},w \in W} \right\}$ and${T_{{\text{system}}}}$ represent the total time spent of passengers${C_{{\text{operation}}}}$ and the operating cost$\left( {{\text{person}} \cdot \min } \right)$ respectively.$\left( {\$} \right)$ and$\alpha $ represent the weight coefficients of the total time spent and the operation cost, respectively. In order to unify the units, we define a time value coefficient$1 - \alpha $ (e.g.,$\beta $ ). The detailed explanations are as follows:$\beta = 1.0{\$} /{\text{person}} \cdot \min $ (1) Total time spent of passengers
${T_{{\text{system}}}}$ The total time spent is the product of the passenger flow and the corresponding path travel time of all paths. It is used to evaluate the bus frequency improvement on the network performance.
$ {T_{{\text{system}}}} = \sum\limits_{t \in T} {\sum\limits_{w \in W} {\sum\limits_{p \in {P^{\text{w}}}} {f_{\text{p}}^{\text{w}}\left( {{\mathbf{F}},t} \right) \cdot \tau _{\text{p}}^{\text{w}}\left( {f_{\text{p}}^{\text{w}}\left( {{\mathbf{F}},t} \right),t} \right)} } } $ (16) The passenger flow
and the travel time$f_{\text{p}}^{\text{w}}\left( {{\mathbf{F}},t} \right)$ refer to the above sections.$\tau _{\text{p}}^{\text{w}}\left( {f_{\text{p}}^{\text{w}}\left( {{\mathbf{F}},t} \right),t} \right)$ (2) Operating cost of buses
${C_{{\text{operation}}}}$ Energy consumption, vehicle depreciation, personnel wages and so on should be considered in the operation cost. This paper assumes that the average single trip operation cost
in different periods is known. Therefore, the formula of the operating cost of all buses is constructed:$G_{\text{p}}^{\text{w}}$ $ {C_{{\text{operation}}}} = \sum\limits_{w \in W} {\sum\limits_{p \in P_{{\text{bus}}}^{\text{w}}} {N_{\text{p}}^{\text{w}}\left( {{\text{F}}_{\text{p}}^{\text{w}}} \right) \cdot G_{\text{p}}^{\text{w}}} } $ (17) where
is the total number of buses on path$N_{\text{p}}^{\text{w}}$ ,$p$ .$p \in P_{{\text{bus}}}^{\text{w}}$ (3) Constraint condition
Due to the limited number of buses by bus operations, the constraint condition is Eq. (15), and the operating cost cannot exceed the budget
. There are many bus lines in the actual bus transport network, so the combination of bus line frequency is huge. Therefore, we give a discrete selection of bus frequency$B$ to improve the search efficiency of the algorithm.$\left\{ {{\text{F}}_{\text{p}}^{\text{1}},{\text{F}}_{\text{p}}^{\text{2}}, \ldots ,{\text{F}}_{\text{p}}^{\text{n}}} \right\}$ is the frequency of the bus line${\text{f}}_{\text{p}}^{\text{w}}$ ,$p \in P_{{\text{bus}}}^{\text{w}}$ is the alternative frequency set.${\text{F}}_{\text{p}}^{\text{w}} \in {F_{\text{p}}},{F_{\text{p}}} = \left\{ {{\text{F}}_{\text{p}}^{\text{1}},{\text{F}}_{\text{p}}^{\text{2}}, \ldots ,{\text{F}}_{\text{p}}^{\text{n}}} \right\}$ Lower-level problem
-
In this paper, the bus lines and car routes are considered as paths. Travelers choose ones' travel mode and path following the DUE rule. The travel time of bus passengers include in-vehicle time and the waiting time at bus stops. In this model, the OD demand is time-dependent. Considering the time discretization, the DUE condition of the whole network is established as follows:
$ \begin{gathered} \tau _{{\text{p,m}}}^{\text{w}}\left( k \right) - \mu _{\text{m}}^{\text{w}}\left( k \right) = 0{\text{ if }}\forall p \in P_{\text{m}}^{\text{w}},k \in K,{\text{ }}f_{{\text{p,m}}}^{\text{w}}\left( k \right) \gt 0 \\ \tau _{{\text{p,m}}}^{\text{w}}\left( k \right) - \mu _{\text{m}}^{\text{w}}\left( k \right) \geqslant 0{\text{ if }}\forall p \in P_{\text{m}}^{\text{w}},k \in K,{\text{ }}f_{{\text{p,m}}}^{\text{w}}\left( k \right) = 0 \\ \end{gathered} $ (18) where
is the minimum travel time of travel mode$ \mu _{\text{m}}^{\text{w}}\left( k \right) $ between OD pair$ m \in \left\{ {bus,car} \right\} $ during the time interval$w$ ,$k$ is the flow of path$ f_{{\text{p,m}}}^{\text{w}}\left( k \right) $ in mode$ p $ between OD pair$ m $ during the time interval$w$ ,$k$ represents bus or car. The total passenger flow between OD pair$ m $ is$w$ . The sum of any path flow between OD pair$ {\lambda ^{\text{w}}}\left( k \right) = \displaystyle\sum\limits_{m \in \left\{ {bus,car} \right\}} {\displaystyle\sum\limits_{p \in P_{\text{m}}^{\text{w}}} {f_{{\text{p,m}}}^{\text{w}}\left( k \right)} } $ should be equal to demand$w$ , and limit all path flows to be nonnegative.${\lambda ^{\text{w}}}\left( k \right)$ and$\tau _{{\text{p,m}}}^{\text{w}}\left( k \right)$ indicate that travel time and path flow are determined by the bus frequency.$f_{{\text{p,m}}}^{\text{w}}\left( k \right)$ The DUE condition can be formulated as a variational inequality model. The variables are the path flows, which can be described as Eq. (17). Let
be the vector of all path flows.${\mathbf{f}}$ $ \sum\limits_{k \in K} {\sum\limits_{w \in W} {\sum\limits_{p \in {P_w}} {\tau {{_{\text{p}}^{\text{w}}}^ * }\left( k \right)\left[ {f_{\text{p}}^{\text{w}}\left( k \right) - f{{_{\text{p}}^{\text{w}}}^ * }\left( k \right)} \right] \geqslant 0} ,\;{\text{ }}\forall {\mathbf{f}} \in \Omega } } $ (19) Among which
is a set of feasible dynamic path flows. The travel time$\Omega = \left\{ {{\mathbf{f}} \geqslant 0\left| {\displaystyle\sum\nolimits_{p \in {P_{\text{w}}}} {f_{\text{p}}^{\text{w}}\left( k \right) = {\lambda ^{\text{w}}}\left( k \right)} ,{\text{ }}\forall w \in W, \; k \in K} \right.} \right\}$ is divided into the travel time$\tau _{\text{p}}^{\text{w}}$ and the travel time$\tau _{{\text{p,car}}}^{\text{w}}$ between OD pair$\tau _{{\text{p,bus}}}^{\text{w}}$ considering different mode. The travel time of the passengers who choose the path$w$ by car is the experienced travel time$p$ . For those who take buses, the travel time consists of the in-vehicle travel time and the waiting time before boarding. The mathematical expression is as follows:$\tau _{{\text{p,car}}}^{\text{w}}$ $\begin{array}{c} \tau _{{\text{p,bus}}}^{\text{w}}\left( {f_{{\text{p,bus}}}^{\text{w}}\left( {{\mathbf{F}},k} \right),k} \right) = \tau _{{\text{p,bus,travel}}}^{\text{w}}\left( {{\mathbf{F}},k} \right) + \tau _{{\rm{p,bus,\omega ait}}}^{\text{w}}\left( {{\mathbf{F}},k} \right),\\\forall p \in P_{{\text{bus}}}^{\text{w}},\;\;k \in K,\;\;w \in W \end{array}$ (20) where
is the in-vehicle travel time of bus which chooses$\tau _{{\text{p,bus,travel}}}^{\text{w}}\left( {{\mathbf{F}},k} \right)$ when bus frequency$p \in P_{{\text{bus}}}^{\text{w}}$ is determined.${\mathbf{F}}$ is the average waiting time (min) of passengers who choose the path by bus. Bus frequency directly influences the waiting time of passengers. The waiting time of passengers on each path$\tau _{{\rm{p,bus,\omega ait}}}^{\text{w}}\left( {{\mathbf{F}},k} \right)$ is expressed as follows:$p$ $ \tau _{{\rm{p,bus,\omega ait}}}^{\text{w}}\left( {{\mathbf{F}},k} \right) = \frac{{\displaystyle\sum\limits_{a = 1}^{f_{{\text{p,bus}}}^{\text{w}}\left( t \right)} {{\tau _{\text{p}}}\left( a \right)} }}{{f_{{\text{p,bus}}}^{\text{w}}\left( k \right)}},\;\;\forall p \in P_{{\text{bus}}}^{\text{w}},\;\;k \in K,\;\;w \in W $ (21) where
is the waiting time of the${\tau _{\text{p}}}\left( a \right)$ bus passenger on path$a{\text{ th}}$ . We can also consider the fuel cost of cars and the ticket price of buses as the basis of mode and routing choice by assuming the passenger cost per unit time.$p \in P_{{\text{bus}}}^{\text{w}}$ -
In this section, we use a double projection algorithm approach to solve the lower-level problem which is formulated as a variational inequality. The surrogate model algorithm is designed to solve the proposed bus frequency optimization problem.
Double projection algorithm used to solve the VI model
-
The double projection algorithm is used to solve the dynamic traffic assignment problem in our proposed model, see Algorithm 2. The double projection algorithm is a modified method to solve large-scale VI problems. This method avoids the drawback of slow convergence due to consistently small iteration step size. The reinitialization of the step size
is described in Algorithm 2. The applicability to solve large-scale equilibrium problems has been demonstrated.${\rho ^{\text{γ }}}$ (·) is an Euclidean projection map onto$\text{pro}{\text{j}}_{\Omega}$ .$\Omega $ and${{\mathbf{f}}^{\text{γ }}}(k)$ represent the path flow vector and the travel time vector at iteration${\mathbf{\tau }}({{\mathbf{f}}^{\text{γ }}}(k))$ during the time interval$\gamma $ , respectively.$k$ Table 2. Double projection algorithm.
Input: projection step $\bar \rho $, accuracy $\varepsilon > 0$, select parameters $\beta $, $ \xi \in \left(\text{0},\text{1}\right) $, path set ${P^{\text{w}}}$ 1: Initial path demand ${{\mathbf{f}}^0}\left( k \right) = {\lambda ^{\text{w}}}\left( k \right)/\varsigma $, $\varsigma $ is the sum of path between OD pair $w$, the dynamic travel
time ${\mathbf{\tau }}$ of all path is obtained in section "Lower-level problem". Set ${\rho ^0} = \bar \rho $, iteration $\gamma = 0$.2: while $G({{\mathbf{f}}^{\text{γ }}}) > \varepsilon $ 3: Compute ${{\mathbf{\bar f}}^{\text{γ }}}(k) = {\text{pro}}{{\text{j}}_\Omega }({{\mathbf{f}}^{\text{γ }}}(k) - {\rho ^{\text{γ }}}{\mathbf{\tau }}({{\mathbf{f}}^{\text{γ }}}(k)))$ 4: while ${\rho ^{\text{γ }}} > \beta \frac{{\left\| {{{\mathbf{f}}^{\text{γ }}}(k) - {{{\mathbf{\bar f}}}^{\text{γ }}}(k)} \right\|}}{{\left\| {{\mathbf{\tau }}({{\mathbf{f}}^{\text{γ }}}(k)) - {\mathbf{\tau }}({{{\mathbf{\bar f}}}^{\text{γ }}}(k))} \right\|}}$ do 5: ${\rho ^{\text{γ }}} = \min \left\{ {\xi {\rho ^{\text{γ }}},\beta \frac{{\left\| {{{\mathbf{f}}^{\text{γ }}}(k) - {{{\mathbf{\bar f}}}^{\text{γ }}}(k)} \right\|}}{{\left\| {{\mathbf{\tau }}({{\mathbf{f}}^{\text{γ }}}(k)) - {\mathbf{\tau }}({{{\mathbf{\bar f}}}^{\text{γ }}}(k))} \right\|}}} \right\}$ 6: Compute ${{\mathbf{\bar f}}^{\text{γ }}}(k) = {\text{pro}}{{\text{j}}_\Omega }({{\mathbf{f}}^{\text{γ }}}(k) - {\rho ^{\text{γ }}}{\mathbf{\tau }}({{\mathbf{f}}^{\text{γ }}}(k)))$ 7: end while 8: Compute ${{\mathbf{f}}^{{\text{γ + 1}}}}(k) = {\text{pro}}{{\text{j}}_\Omega }({{\mathbf{f}}^{\text{γ }}}(k) - {\rho ^{\text{γ }}}{\mathbf{\tau }}({{\mathbf{\bar f}}^{\text{γ }}}(k)))$ 9: Update travel time vector ${\mathbf{\tau }}({{\mathbf{f}}^{\gamma + 1}}(k))$ by the dynamic network loading models in previous section. Set $\gamma = \gamma + 1$ 10: end while Output: flow vector ${{\mathbf{f}}^{\text{γ }}}(k)$ To evaluate the accuracy of solutions in each iteration in the double projection algorithm, a gap function is required, see Eq. (23).
$ G\left( {\mathbf{f}} \right) = 1 - \frac{{\displaystyle\sum\limits_{k \in K} {\displaystyle\sum\limits_{w \in W} {{\lambda ^{\text{w}}}\left( k \right){u^{\text{w}}}\left( k \right)} } }}{{\displaystyle\sum\limits_{k \in K} {\sum\limits_{w \in W} {\displaystyle\sum\limits_{p \in {P^{\text{w}}}} {f_{\text{p}}^{\text{w}}\left( k \right)\tau _{\text{p}}^{\text{w}}\left( k \right)} } } }} $ (22) Where
is the minimum travel time between OD pair$ {u^{\text{w}}}(k) $ during time interval$w$ . Convergence is declared if$k$ , where$ G({\mathbf{f}}) \leqslant \varepsilon $ is a given convergence threshold value. More details of the double projection algorithm can be found in Panicucci et al.[45].$\varepsilon $ Surrogate model-based algorithm use to solve the bi-level programming problem
-
Consider M bus lines in the network and N alternative bus frequencies. We can generate
candidate plans for all bus lines. Enumerating all candidate plans to find the optimal solution is unfeasible due to the high computational complexity. The traditional heuristic algorithms for solving the bi-level model is not applicable for the large-scale network optimization problem in this paper. A surrogate-based optimization algorithm is used to solve the bi-level programming model, in which the radial basis function (RBF) is updated to approximate the total time spent of all road users in Eq. (17).${N^{\text{M}}}$ The solution of bus optimization problem is expressed as vector
. The objective function value${\mathbf{y}}$ can be calculated using Eq. (14). We use a predictive value scoring criterion and a distance scoring criterion based on RBF to predict the best candidate point. The weight coefficient of the distance scores is defined as${\mathbf{Z}}$ . The algorithm ends when the maximum number of iteration$w_n^s$ is reached. Otherwise, we update the RBF in next iteration. The detailed procedure of the surrogate-based optimization algorithm is shown in Algorithm 3. More details of surrogate model-based algorithm can refer to Liu & Wang[50] and Regis[51].${\gamma _{\max }}$ Table 3. Surrogate model-based algorithm.
Input: the maximum iterations ${\gamma _{\max }}$, the maximum consecutive successes $ C_{{\text{success}}}^{{\text{max}}} $, the maximum consecutive failures $ C_{{\text{fail}}}^{{\text{max}}} $, the initial disturbance probability $ p_{{\text{slct}}}^{{\text{init}}} $. 1: Initialization 1.1 initial evaluation points set. ${I_0} = \left\{ {{{\mathbf{y}}_1},{{\mathbf{y}}_2}, \ldots ,{{\mathbf{y}}_{{{\text{n}}_{\text{0}}}}}} \right\}$, the number of evaluation points is ${n_0}$, the real objective function value vector ${\mathbf{Z}} = \left[ {Z\left( {{{\mathbf{y}}_{\text{i}}}} \right),{{\mathbf{y}}_{\text{i}}} \in {I_0}} \right]$ corresponding to each evaluation point ${{\mathbf{y}}_{\text{i}}} = \left\{ {{{\left\{ {{f_1},{f_2}, \ldots ,{f_{{{\text{n}}_{\text{0}}}}}} \right\}}^{\text{i}}}} \right\}$ (evaluation point is the bus frequency planning of each line) is calculated, and the best feasible solution with the minimum objective value $Z\left( {{{\mathbf{y}}_{\text{i}}}} \right)$ as the current optimal solution ${{\mathbf{y}}_{{\text{best}}}}$, set the iterate number $\gamma = 0$. 1.2 initialization parameters. Initialize the counters of consecutive successes ${C_{{\text{sucess}}}} = 0$, the counters of consecutive failures ${C_{{\text{fail}}}} = 0$, the maximum number of consecutive updating success and failure of the optimal solution are $C_{{\text{success}}}^{\max }$ and $C_{{\text{fail}}}^{{\text{max}}}$, set the disturbance probability $p_{{\text{slct}}}^{\text{0}} = p_{{\text{slct}}}^{{\text{init}}}$. 2: Repeat 3: Update surrogate model.
Use the evaluation point set ${I_{\text{n}}}$ and Eq. (14) to calculate the corresponding objective function value ${\prod _{\text{n}}} = \left\{ {\left( {{{\mathbf{y}}_{\text{i}}},Z\left( {{{\mathbf{y}}_{\text{i}}}} \right)} \right),{{\mathbf{y}}_{\text{i}}} \in {I_{\text{n}}}} \right\}$, and update the surrogate model ${S_{\text{n}}}\left( {\mathbf{y}} \right)$ refer to Liu[50].4: Candidate points set generation.
Based on the perturbation probability $ {p_{{\text{slc}}t}} $, the candidate points set ${E_{\text{n}}}$ is generated by perturbing the value of any variable in the current optimal solution ${{\mathbf{y}}_{{\text{best}}}}$. When generating candidate points, ensure that each candidate point meets the investment constraint Eq. (15).5: Select the evaluation point.
Each candidate point is scored. Set ${{\mathbf{y}}_{{\text{n+1}}}}$ as the best candidate and calculate $Z({{\mathbf{y}}_{{\text{n+1}}}})$.7: Update the optimal solution.
If $Z({{\mathbf{y}}_{{\text{n+1}}}}) < Z({{\mathbf{y}}_{{\text{best}}}})$, then update the optimal solution ${{\mathbf{y}}_{{\text{best}}}} = {{\mathbf{y}}_{{\text{n+1}}}}$ and $Z({{\mathbf{y}}_{{\text{best}}}}){\text{ = }}Z({{\mathbf{y}}_{{\text{n+1}}}})$, continuous success iteration ${C_{{\text{success}}}} = {C_{{\text{success}}}} + 1$ and continuous failure iteration ${C_{{\text{fail}}}} = 0$; otherwise, let ${C_{{\text{fail}}}} = {C_{{\text{fail}}}} + 1$ and ${C_{{\text{success}}}} = 0$.8: Adjust disturbance probability.
If $ {C_{{\text{success}}}} > C_{{\text{success}}}^{{\text{max}}} $, then $ p_{{\text{slct}}}^{{\text{n+1}}} = \min \{ 2p_{{\text{slct}}}^{\text{n}},p_{{\text{slct}}}^{{\text{max}}}\} $, $ {C_{{\text{success}}}} = 0 $.
If $ {C_{{\text{fail}}}} > C_{{\text{fail}}}^{{\text{max}}} $, set $ p_{{\text{slct}}}^{{\text{n+1}}} = \max \{ p_{{\text{slct}}}^{\text{n}}/2,p_{{\text{slct}}}^{{\text{min}}}\} $ and $ {C_{{\text{fail}}}} = 0 $. Set $\gamma = \gamma + 1$.9: Update the evaluation points set.
${I_{{\text{n+1}}}} = {I_{\text{n}}} \cup \{ {{\mathbf{y}}_{{\text{n+1}}}}\} $10: Until $\gamma \geqslant {\gamma _{\max }}$ Output: ${{\mathbf{y}}_{{\text{best}}}}$ -
In this section, we conduct numerical case studies to test the performance of the proposed large-scale bus frequency optimization framework. The studied network and simulation scenarios are described in the Network structure section. The simulation results are given in the Results section. We firstly display the convergence of double projection algorithm, the result of dynamic traffic assignment, and the network traffic dynamics. Then we display the convergence process of surrogate model-based algorithm. Furthermore, we compare the optimal results in four scenarios and show the effect of our proposed model considering 3D-MFD and dynamic user equilibrium. All experiments are run on a computer with an Intel(R) Core (TM) i7 3.60 GHz and 16.0 GB RAM.
Network structure
-
The case study network consists of six reservoirs, including two regional OD pairs (1-6, 2-5) and eight paths (four car routes and four bus lines), as shown in Fig. 2. Each reservoir has a well-defined 3D-MFD. The 3D-MFD used in this paper as shown in Fig. 1b. The macroscopic paths sequence are as follows: four car routes
,$\left[ {{R_1}{\text{ }}{R_2}{\text{ }}{R_3}{\text{ }}{R_6}} \right]$ ,$\left[ {{R_1}{\text{ }}{R_4}{\text{ }}{R_5}{\text{ }}{R_6}} \right]$ ,$\left[ {{R_2}{\text{ }}{R_5}} \right]$ and four bus lines$\left[ {{R_2}{\text{ }}{R_3}{\text{ }}{R_6}{\text{ }}{R_5}} \right]$ ,$\left[ {{R_1}{\text{ }}{R_2}{\text{ }}{R_3}{\text{ }}{R_6}} \right]$ ,$\left[ {{R_1}{\text{ }}{R_4}{\text{ }}{R_5}{\text{ }}{R_6}} \right]$ ,$\left[ {{R_2}{\text{ }}{R_1}{\text{ }}{R_4}{\text{ }}{R_5}} \right]$ , corresponding to route 1, 2, 3, 4 and line 1, 2, 3, 4 in the table respectively. The red dotted lines represent the bus lines, and the black solid lines represent the car routes. The study period T = 300 min, time step is$\left[ {{R_2}{\text{ }}{R_3}{\text{ }}{R_6}{\text{ }}{R_5}} \right]$ = 60 s. The demand profile is presented in Fig. 3. Assuming that the average passenger of the car is 1.5 persons/veh, and that of the bus is 20 persons/veh.$\delta t$ Figure 2.
Reservoir system configuration. (a) The regional OD pair (1−6). (b) The regional OD pair (2−5).
The trip lengths in each reservoir by different paths are referred to in Mariotte & Leclercq[42]. For the method of estimating the trip length, we refer to Batista et al.[46] and Mariotte et al.[35]. The reservoir characteristics
are presented in Table 1.$L_{\text{p}}^{\text{m}}$ Table 1. Reservoir characteristics, where $L_{\text{1}}^{{\text{car}}}$, $L_{\text{2}}^{{\text{car}}}$, $L_3^{{\text{car}}}$, $L_{\text{4}}^{{\text{car}}}$ refer to the trip length of route 1, 2, 3, 4 and $L_{\text{1}}^{{\text{bus}}}$, $L_{\text{2}}^{{\text{bus}}}$, $L_{\text{3}}^{{\text{bus}}}$, $L_{\text{4}}^{{\text{bus}}}$ refer to the trip length of bus line 1, 2, 3, 4.
Characteristics [units] ${R_1}$ ${R_2}$ ${R_3}$ ${R_4}$ ${R_5}$ ${R_6}$ Trip length $L_{\text{1}}^{{\text{car}}}$ [m] 2500 5000 5000 − − 2500 Trip length $L_{\text{2}}^{{\text{car}}}$ [m] 2500 − − 5000 5000 2500 Trip length $L_3^{{\text{car}}}$ [m] − 2500 − − 2500 − Trip length $L_{\text{4}}^{{\text{car}}}$ [m] − 2500 5000 − 2500 5000 Bus line $L_{\text{1}}^{{\text{bus}}}$ [m] 2500 5000 5000 − − 2500 Bus line $L_{\text{2}}^{{\text{bus}}}$ [m] 2500 − − 5000 5000 3500 Bus line $L_{\text{3}}^{{\text{bus}}}$ [m] 5000 2500 − 5000 2500 − Bus line $L_{\text{4}}^{{\text{bus}}}$ [m] − 2500 5000 − 2500 5000 In the numerical study, the trip operation cost
for each bus line$G_{\text{p}}^{\text{w}} = 300{\$} /{\rm {veh}}$ , bus budget$p$ , time value coefficient$B = 100000{\$} $ . Parameters of surrogate model: disturbance probability$\beta = 1.0{\$} /{\text{veh}} \cdot \min $ , the weight coefficient${p_{{\text{slct}}}} = 0.8$ , the iteration number$w_{\text{n}}^{\text{S}} = 0.6$ .${\gamma _{\max }} = 100$ In particular, we analyze the simulation results when
. In order to obtain the optimal solution of the model, the optimization model is solved 20 times repeatedly, and the plan with the minimum objective value is selected as the result.$\alpha = 0.5$ We compare the optimal solution and results in four scenarios:
Scenario 1: Considering 2D-MFD based model and non-equilibrium condition.
Scenario 2: Considering 2D-MFD based model and equilibrium condition.
Scenario 3: Considering 3D-MFD based model and non-equilibrium condition.
Scenario 4: Considering 3D-MFD based model and equilibrium condition.
We optimize the 2D-MFD for each reservoir based on the results obtained by fitting (parabolic fitting) which match the production-MFD well[35]. The data points are based on the relationship between the production and the accumulation of vehicles in each reservoir obtained by 3D-MFD simulation. The correlation coefficient is expressed as
. When using different 2D-MFD, we also use Algorithm 1 for buses, and the bus speed is still related to the accumulation of cars and buses in the reservoir.${R^2}$ Results
Properties of our proposed model
Convergence process of double projection algorithm
-
The convergence process of the double projection algorithm to solve the DTA problem is shown in Fig. 4. A stationary Gap value has been reached in 400 iterations.
Figure 4.
Results using double projection algorithm. (a) Convergence of double projection algorithm. (b) Route choice parameters for an OD pair.
Using the double projection algorithm, the mode and route choices of all users at each time can be obtained in Fig. 4b, the proportion of demand between origin 1 and destination 6 that chooses different routes are given. The proportion of demand between OD that choose the route
, denoted as$p$ . For example, the proportion of the demand that chooses the particular regional path 1 and proportion choosing bus line 1 is denoted as$\theta _{{\text{od}}}^{\text{p}}$ and$\theta _{{\text{16}}}^{{\text{route1}}}$ , respectively.$\theta _{{\text{16}}}^{{\text{line1}}}$ Traffic dynamics
-
Figure 5a shows the evolution of accumulation in Reservoir 1 resulting from the traffic assignment and the 3D-MFD based model with the optimal bus frequency. In order to observe the traffic flow evolution in more detail, we select the first 50 min to observe the changes of the accumulation and outflow of cars in Reservoir 1. When
, the accumulation of cars in the reservoir exceeds the critical value, and the outflow demand of the reservoir has been rising. It can be seen from Fig. 5b that the outflow of the reservoir is inconsistent with the principle that is the minimum between its outflow demand and an exogenous restriction. This is the result of the interaction between different paths. Figure 5b shows that when calculating the effective outflow, the interaction relationship between different paths in the same reservoir should be analyzed and compared.$t = 7$ Figure 5.
Traffic dynamics. (a) Evolution of car accumulation in Reservoir 1. (b) Evolution of outflow in Reservoir 1. (c) Evolution of inflow in Reservoir 2. (d) Evolution of inflow in Reservoir 4.
Figure 5c & d display the inflow evolution in Reservoir 2 and Reservoir 4. The black, red and blue curves correspond to the effective inflow, inflow demand and inflow supply respectively. Note that we do not take into account the queue at the reservoir entrance. Because of the generation of travel demand in Reservoir 2 without any constraints, in Fig. 5c we can observe that there is an inflow greater than inflow supply. Since only transfer flow exists in Reservoir 4, inflow will not be greater than that of inflow supply. When the congestion disappears, its inflow supply will gradually increase, which will give more space for cars to enter this reservoir.
Based on the 3D-MFD, the bus speed in different reservoirs can be obtained under the condition that the accumulation of cars and buses are known. We can observe the bus speed evolution in Fig. 6a.
Figure 6.
Results on the (a) bus speed evolution and (b) convergence of the surrogate model based algorithm.
We display the dynamic path and mode choices of passengers, and the traffic flow evolution model of multi-reservoir can reproduce the traffic dynamics. It can be seen from Yildirimoglu & Geroliminis[34] that the evolution of congestion predicted by the MFD-based model is consistent with the micro-simulation results, Therefore, the model can predict the effect of route guidance strategy and congestion propagation in a large urban network.
Bus frequency optimization results
Convergence process of surrogate model-based algorithm
-
We use the surrogate model-based algorithm to solve the bi-level model, the algorithm can reach convergence when iterating to the 10th generation (see Fig. 6b).
Effect of considering 3D-MFD and dynamic user equilibrium
-
We compared different simulation results using 2D-MFD and 3D-MFD (Scenario 2 and Scenario 4). The total time spent of passenger and operating cost using 2D-MFD and 3D-MFD respectively are shown in Table 2.
Table 2. Total travel time of passengers and operation cost using 3D-MFD and 2D-MFD respectively.
Simulation 3D-MFD 2D-MFD The optimal frequency (min) {3.0, 4.0, 4.0, 3.0} {4.0, 0.2, 2.0, 1.0} Total time spent (veh·min) 106088.75 93111.93 Operation cost (${\$}$) 11700 44400 The objective value (${\$}$) 58894.38 68755.96 As shown in Table 2, without considering the complex interactions between buses and cars, the optimal frequency of buses is
, and the optimized objective value is$ \left\{\text{4}\text{.0},\text{0}\text{.2},\text{2}\text{.0},\text{1}\text{.0}\right\}\mathrm{min} $ 68755.96. It can be seen that although the total time spent is reduced slightly, the increase of frequency of buses leads to the decrease of waiting time of passengers choosing bus lines, but at the same time, the operating cost of buses will increase significantly, on the whole, the value of the optimized objective value increases greatly.${\$} $ Then we analyze the results of equilibrium and non-equilibrium conditions using 3D-MFD based model (Scenario 3 and Scenario 4). That is to say, the path demand is known, and the influence of bus frequency optimization on travelers' path choices is not considered. We assume a simple case, that is, all the demands are distributed on each path. First, we analyze the difference optimal solution and objective value between the equilibrium type and non-equilibrium type of assignment models. The simulation results are shown in Table 3. The impact of bus frequency optimization on dynamic traffic assignment will be discussed later. Assuming that the optimal frequency is
, the optimal value under the equilibrium condition is$ \left\{\text{3}\text{.0},\;\text{4}\text{.0},\;\text{4}\text{.0},\;\text{3}\text{.0}\right\}\mathrm{min} $ 58,894.38, and the optimal value under the non-equilibrium condition is${\$} $ 106,334.73, which is quite different from the result under the equilibrium state.${\$} $ Table 3. The optimal solution under equilibrium and non-equilibrium type.
Simulation Equilibrium Non-equilibrium Total time spent (veh·min) 106088.75 177269.47 Operation cost (min) 11700 35400 The objective value $\left( {\$} \right)$ 58894.38 106334.73 Under non-equilibrium conditions, the total travel time of the whole network system is obviously larger than the total time spent with scenario 2.
We also analyze the impact of varying the weight of total time spent on the studied system. In Fig. 7, we demonstrate how the weight of total time spent affects the delays and bus operation cost. As the weight (α) increases, , the total time spent decreases while the bus operation cost increases. Figure 8 depicts that the number of people opting for bus transportation increases as the weight (α) of total time spent increases. This suggests that we can encourage a shift towards bus travel by increasing the weight (α).
Furthermore, we summarize the results of the optimal solution in 4 scenarios: 2D-MFD and 3D-MFD based models are considered under equilibrium and non-equilibrium conditions respectively. We denote
as the error in the optimal objective value in scenario${Z_{\text{i}}}$ compared to scenario 4. That is,$i$ . The results of this comparison are shown in Table 4.$\Delta {Z_{\text{i}}} = \left[ {{Z_{\text{i}}} - {Z_{\text{4}}}} \right]/{Z_{\text{4}}}$ Table 4. Comparison of the results of the optimal solution in 4 scenarios.
Simulation The optimal
frequency (min)The objective value ($ {\$} $) $\Delta {Z_{\text{i} } }$ (%) Scenario 1
(2D-MFD non-equilibrium){1.0, 0.5, 0.5, 0.5} 68,544.698 16.39 Scenario 2
(2D-MFD equilibrium){4.0, 0.2, 2.0, 1.0} 68,755.964 16.74 Scenario 3
(3D-MFD non-equilibrium){1.0, 0.5, 1.0, 1.0} 65,623.043 11.42 Scenario 4
(3D-MFD equilibrium){3.0, 4.0, 4.0, 3.0} 58,894.376 − In this paper, the dynamic traffic assignment model based on the 3D-MFD framework is used in the bi-level programming model to find the optimal bus frequency, that is, the bus departure interval is longer than other scenarios, seeing in Table 4, which will increase the waiting time of bus passengers, but in general, the upper level cost is smaller. The proposed bus frequency model integrating 3D-MFD and dynamic traffic assignment can achieve the best optimization results. The results reveal the value of the proposed model. And this new understanding of urban traffic network capacity is very important for formulating new strategies to improve traffic. In the future, we can integrate real-time traffic information or change the bus frequency to significantly improve the network performance.
-
Data sharing not applicable to this article as no datasets were generated or analyzed during the current study.
-
About this article
Cite this article
Yuan K, Cui D, Long J. 2023. Bus frequency optimization in a large-scale multi-modal transportation system: integrating 3D-MFD and dynamic traffic assignment. Digital Transportation and Safety 2(4):241−252 doi: 10.48130/DTS-2023-0020
Bus frequency optimization in a large-scale multi-modal transportation system: integrating 3D-MFD and dynamic traffic assignment
- Received: 25 June 2023
- Accepted: 07 October 2023
- Published online: 28 December 2023
Abstract: A properly designed public transport system is expected to improve traffic efficiency. A high-frequency bus service would decrease the waiting time for passengers, but the interaction between buses and cars might result in more serious congestion. On the other hand, a low-frequency bus service would increase the waiting time for passengers and would not reduce the use of private cars. It is important to strike a balance between high and low frequencies in order to minimize the total delays for all road users. It is critical to formulate the impacts of bus frequency on congestion dynamics and mode choices. However, as far as the authors know, most proposed bus frequency optimization formulations are based on static demand and the Bureau of Public Roads function, and do not properly consider the congestion dynamics and their impacts on mode choices. To fill this gap, this paper proposes a bi-level optimization model. A three-dimensional Macroscopic Fundamental Diagram based modeling approach is developed to capture the bi-modal congestion dynamics. A variational inequality model for the user equilibrium in mode choices is presented and solved using a double projection algorithm. A surrogate model-based algorithm is used to solve the bi-level programming problem.