«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (1): 21-29  DOI: 10.19678/j.issn.1000-3428.0057513
0

引用本文  

闫帅明, 卜旭辉, 朱盼盼, 等. 一种数据丢包情况下的交叉口排队长度均衡控制方法[J]. 计算机工程, 2021, 47(1), 21-29. DOI: 10.19678/j.issn.1000-3428.0057513.
YAN Shuaiming, BU Xuhui, ZHU Panpan, et al. A Queue Length Balance Control Method for Intersection in the Case of Data Packet Dropout[J]. Computer Engineering, 2021, 47(1), 21-29. DOI: 10.19678/j.issn.1000-3428.0057513.

基金项目

国家自然科学基金(61573129,U1804147);河南省创新型科技团队项目(CXTD2016054);河南理工大学创新型科技团队项目(T2019-2)

通信作者

卜旭辉(通信作者), 教授、博士

作者简介

闫帅明(1992-), 男, 硕士研究生, 主研方向为无模型自适应控制、交通控制;
朱盼盼, 硕士研究生;
梁嘉琪, 博士研究生

文章历史

收稿日期:2020-02-26
修回日期:2020-03-27
一种数据丢包情况下的交叉口排队长度均衡控制方法
闫帅明 , 卜旭辉 , 朱盼盼 , 梁嘉琪     
河南理工大学 电气工程与自动化学院, 河南 焦作 454000
摘要:针对交通数据在传输过程中随机丢包造成交通拥堵的问题,提出一种新的交叉口排队长度均衡控制方法。考虑到交叉口交通控制的重复特性和强非线性,将无模型自适应迭代学习控制方案应用于交叉口排队长度控制中,通过实时调整各交叉口的信号配时方案来调节路口车辆的排队长度,实现各交叉口排队长度的均衡。针对道路交通网络控制中排队长度差值数据在传输过程中存在的丢包现象,将数据丢失现象描述为概率已知的伯努利序列,提出数据丢失情况下的补偿算法,即利用上次迭代的输出数据、伪梯度的估计值和控制输入差值对丢失数据进行补偿,解决存在数据丢包情况下多交叉口排队长度均衡控制问题。仿真结果表明,该方法在数据丢包的情况下迭代100次左右能够收敛于期望值并达到期望控制效果,验证了补偿算法的有效性。
关键词交通拥堵    数据丢包    无模型自适应迭代学习控制    信号配时    排队长度均衡    补偿算法    
A Queue Length Balance Control Method for Intersection in the Case of Data Packet Dropout
YAN Shuaiming , BU Xuhui , ZHU Panpan , LIANG Jiaqi     
School of Electrical Engineering and Automation, Henan Polytechnic University, Jiaozuo, Henan 454000, China
Abstract: To address the traffic congestion caused by random packet dropout in the process of traffic data transmission, this paper proposes a method to control the queue length balance at intersections based on data packet dropout.Considering the repetitive characteristics and strong non-linearity of traffic control at intersections, the Model-Free Adaptive Iterative Learning Control(MFAILC) scheme is applied to the queue length control at intersections, adjusting the queue length of vehicles in the intersection by changing the signal timing scheme for each intersection in real time to achieve the balance of long queues at intersections.According to the phenomenon of packet dropout of the queue length difference data in the transmission process in the road traffic network control, the data dropout is described as a Bernoulli sequence with known probability.On this basis a compensation algorithm under data dropout is proposed, which compensates for the lost data by using the output data of the previous iteration, the estimated value of pseudo gradient and the control input difference to solve the problem of queue length balance control in the case of data packet dropout.Simulation results show that the proposed method can converge to the expected value and achieve the desired control effect after about 100 iterations in the case of data dropout, which verifies the effectiveness of the compensation algorithm.
Key words: traffic congestion    data packet dropout    Model-Free Adaptive Iterative Learning Control(MFAILC)    signal timing    queue length balance    compensation algorithm    
0 概述

为解决交通拥堵问题, 缓解交通压力, 国内外学者提出了匝道控制、交叉口信号控制[1-3]等控制方法, 其中交叉口信号控制是解决交通拥堵问题的重要方法之一, 合理的交叉口的信号优化策略可以缓解城市道路拥挤程度, 提高出行效率。

自GAZIS和POTTS[4]等人对交叉口控制进行研究以来, 随着交通控制技术的发展, 交叉口控制总体应用方案可分为定时信号控制、按钮式控制和感应式控制等[5]。其中, 定时信号配时方案是当前应用最广泛的交通控制方法, 该方法通过提前设置好各个相位的信号周期来对交叉口进行控制, 在当前有些路口中根据时段不同会给出不同的配时比例, 这也属于定时信号周期的范畴。按钮式控制属于人工控制的一种, 即在有交通需求时按动按钮, 此方法适用于非交叉口(即路段上)的人行横道上。感应式控制是当前适用较广的控制方法之一, 其中根据次干道的交通需求而进行控制的方法称为半感应控制, 根据提前在路口内安装检测设备进行控制的方法称为全感应控制。

上述方法中除按钮式控制外, 其他方法均属于自动控制。采用上述自动控制策略在解决交通拥堵问题中已经起到了一定的效果, 但是随着交通量的不断增大, 上述方法已经不能满足当前需要, 如在日常交通出行中会经常出现交叉口交通流密度过大及车辆行驶缓慢问题, 或某一相位的排队长度远大于另一相位排队长度的现象。为缓解交通压力, 研究人员根据不同的控制标准提出了许多先进的控制方法, 其中, 文献[6-8]提出一种基于ILC的方案对交通信号进行控制, 通过设置学习增益对每次迭代的输入学习优化得到信号配时方案, 取得了良好的控制效果, 文献[9-11]通过道路密度均衡控制思想对交叉口进行控制, 在对交通密度控制上取得了良好的控制效果[12], 文献[13]对在网络控制中的数据丢包问题进行论述, 通过取上一时刻的输出值作为对丢失时刻输出值的补偿, 并对MFAC算法进行改进, 从而达到期望控制效果, 文献[14]应用MFAC算法通过对丢失时刻的输入值进行修正来处理数据丢失情况, 该方法在实际应用中取得了一定的控制效果。

上述交通控制研究在实际的路网控制中会受到信号波动、信号传输等条件的影响, 从而造成网络数据丢包的现象, 如在文献[13-14]方法中, 如果出现上下时刻的输出和输入差值较大的情况, 则会影响系统的补偿性能以及应用性。

由于无模型自适应迭代学习控制(MFAILC)是一种针对完全未知非线性离散系统的无模型方法, 考虑到交叉口控制系统重复和建模困难的特性, 本文基于交叉口排队长度均衡控制思想, 针对在路网网络控制中存在的数据丢包问题, 提出一种数据丢包情况下的交叉口排队长度均衡控制方法。在数据丢包情况下利用系统输入输出数据构造控制器, 并考虑到数据丢失对系统控制性能的影响, 设计一种数据丢失补偿算法。

1 系统模型及问题描述 1.1 系统模型

根据储存转发模型的建模方法[15], 本节考虑过饱和交叉口的动态特性, 给出交叉口各指标的数学描述。四相位交叉口示意图如图 1所示。

Download:
图 1 四相位交叉口示意图 Fig. 1 Schematic diagram of four-phase intersection

图 1可以看出, 四相位交叉口包含了东西、南北方向的直行、右转、左转等4个相位, 对于2个交叉口分别有8个排队长度, 排队长度定义如下:在交叉口1, 相位1(东西)西向东、东向西的排队长度为${y_{1,1}}\left( k \right)、{y_{1, 3}}\left( k \right)$, 相位2(南北)南向北、北向南的排队长度为$ {y_{1, 2}}\left( k \right)、{y_{1, 4}}\left( k \right)$; 在交叉口2, 相位1(东西)西向东、东向西的排队长度为${y_{2, 1}}\left( k \right)、{y_{2, 3}}\left( k \right)$, 相位2(南北)南向北、北向南的排队长度为${y_{2, 2}}\left( k \right)、{y_{2, 4}}\left( k \right)$。其中, ${C_1}$${C_2}$为2个交叉口, ${p_z}$${q_z}$为路段上的交通扰动, Lz为两交叉口之间路段z的长度。

根据文献[16-17], 在路口${C_1}$到路口$ {C_2}$之间路段z上, k周期时的排队长度xz如下:

$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + q_z^{{\rm{in}}}\left( k \right) - q_z^{{\rm{out}}}\left( k \right) + {p_z}\left( k \right) - {q_z}\left( k \right) $ (1)

其中, $q_z^{{\rm{in}}}\left( k \right)$$q_z^{{\rm{out}}}\left( k \right)$分别为在k时刻路段z的流入量和流出量, ${p_z}\left( k \right)$${q_z}\left( k \right)$是在k时刻路段z中流出和流入路段的车辆数, ${p_z}\left( k \right)$${q_z}\left( k \right)$是系统的干扰项, 用${d_z}\left( k \right)$表示。

$q_z^{{\rm{in}}}\left( k \right)$$q_z^{{\rm{out}}}\left( k \right)$表示如下:

$ q_z^{{\rm{in}}}\left( k \right) = \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) $ (2)
$ q_z^{{\rm{out}}}\left( k \right) = \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) $ (3)

其中, ${I_{{c_1}}}$为进入交叉口${C_1}$所有支路的集合, ${r_m}$为上游车辆的转向比, ${s_m}$为上游路段的饱和流率, ${u_m}\left( k \right)$为上游支路转向路段的路灯时间, V为下游支路的集合, ${r_n}$为路段$ z$流入下游路段的转向比, ${s_n}$为对应路段z的饱和流率, ${u_n}\left( k \right)$为交叉口流入下游支路的绿灯时间。

绿灯时间满足如下条件:

$ \mathop \sum \limits_{i \in {F_c}} {u_{c, i}}\left( k \right) + {t_c} = T $ (4)
$ {u_{{\rm{min}}}} < {u_{c, i}}\left( k \right) < {u_{{\rm{max}}}} $ (5)

其中, ${F_C}$为交叉口$ c$对应的相位集合, ${u_{c, i}}\left( k \right)$为交叉口$ c$中的相位$ i$的绿灯时长, $ {t_c}$为总损失时间, $ T$为周期时间, ${u_{{\rm{min}}}}$为最小绿灯时长, ${u_{{\rm{max}}}}$为最大绿灯时长。

将式(2)、式(3)代入式(1)可得:

$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) - \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) + {d_z}\left( k \right) $ (6)
$ \begin{array}{l} \mathop \sum \limits_{m \in {I_{{c_1}}}} {r_m}{s_m}{u_m}\left( k \right) - \mathop \sum \limits_{n \in V} {r_n}{s_n}{u_n}\left( k \right) = \\ \left[ {{r_{m1}}{s_{m1}}{r_{m2}}{s_{m2}}{r_{m3}}{s_{m3}} - {r_{n1}}{s_{n1}} - {r_{n2}}{s_{n1}}{\rm{}} - {r_{n3}}{s_{n1}}} \right] \times \\ {[{u_{m1}}\left( k \right){\rm{}}{u_{m2}}\left( k \right){\rm{}}{u_{m3}}\left( k \right){\rm{}}{u_{n1}}\left( k \right){\rm{}}{u_{n2}}\left( k \right){\rm{}}{u_{n3}}\left( k \right)]^{\rm{T}}} = \\ \mathit{\boldsymbol{b}} \times \mathit{\boldsymbol{u}}\left( k \right) \end{array} $ (7)

其中:

$ \mathit{\boldsymbol{b}} = \left[ {{r_{m1}}{s_{m1}}{\rm{}}{r_{m2}}{s_{m2}}{\rm{}}{r_{m3}}{s_{m3}}{\rm{}} - {r_{n1}}{s_{n1}}{\rm{}} - {r_{n2}}{s_{n1}}{\rm{}} - {r_{n3}}{s_{n1}}} \right] $
$ \mathit{\boldsymbol{u}}\left( k \right) = {[{u_{m1}}\left( k \right){\rm{}}{u_{m2}}\left( k \right){\rm{}}{u_{m3}}\left( k \right){\rm{}}{u_{n1}}\left( k \right){\rm{}}{u_{n2}}\left( k \right){\rm{}}{u_{n3}}\left( k \right)]^{\rm{T}}} $

根据式(7), 式(6)可改写为:

$ {x_z}\left( {k + 1} \right) = {x_z}\left( k \right) + \mathit{\boldsymbol{bu}}\left( k \right) + {d_z}\left( k \right) $ (8)

路段$ z$$ k$时刻路段末端的排队长度用${y_z}\left( {k + 1} \right)$表示:

$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + {Q_z}\left( k \right) - q_z^{{\rm{out}}}\left( k \right) $ (9)

其中, ${Q_z}\left( k \right)$为经过路段$ z$到达路口队列末的车辆数, 由式(10)表示:

$ {Q_z}\left( k \right) = {\rm{min}}\left\{ {{\rho _z}\left( k \right){v_z}\left( k \right){n_z}T, } \right.\left. {{x_z}\left( k \right) - {y_z}\left( k \right)} \right\} $ (10)

其中, 路段$ z$的密度和速度分别为${\rho _z}\left( k \right)$${v_z}\left( k \right)$, ${n_z}$为路段$z $的车道数, $T $为信号周期。路段的密度影响该路段的交通流速度, 即速度$ {v_z}\left( k \right)$的描述如下:

${\rho _{{\rm{min}}}} \le {\rho _z}\left( k \right) \le {\rho _{{\rm{max}}}}$时:

$ {v_z}\left( {{\rho _z}\left( k \right)} \right) = {v_{{\rm{free}}}} \times {\left[ {1 - {{\left( {\frac{{{\rho _z}\left( k \right)}}{{{\rho _{{\rm{max}}}}}}} \right)}^a}} \right]^b} $ (11)

否则:

$ {v_z}\left( k \right) = \left\{ {\begin{array}{*{20}{c}} {{v_{{\rm{free}}}}, {\rm{}}{\rho _z}\left( k \right) < {\rho _{{\rm{min}}}}}\\ {{v_{{\rm{min}}}}, {\rho _z}\left( k \right) > {\rho _{{\rm{max}}}}} \end{array}} \right. $ (12)

其中, ${v_{{\rm{free}}}}$为自由速度, 即在没有发生道路拥堵时的平均速度, ${v_{{\rm{min}}}}$为最小速度, 即达到饱和后道路的平均密度。

式(11)、式(12)中的${\rho _z}\left( k \right)$可以表示如下:

$ {\rho _z}\left( k \right) = \frac{{{x_z}\left( k \right) - {y_z}\left( k \right)}}{{{n_z}\left( {{L_z} - \frac{{{y_z}\left( k \right)}}{{{n_z} \times {\rho _{{\rm{max}}}}}}} \right)}} $ (13)

其中, ${\rho _{{\rm{min}}}}$是在路段上车辆能以自由速度${v_{{\rm{free}}}}$行驶时的临界密度, ${v_{{\rm{min}}}}$则对应的是阻塞密度${\rho _{{\rm{max}}}}$, ${L_z}$为路段的长度, $a $$ b$为系统参数。

由于${n_z}$${L_z}$${v_{{\rm{free}}}}$${v_{{\rm{min}}}}$${\rho _{{\rm{min}}}}$${\rho _{{\rm{max}}}}$等均为常数, 结合式(10)~式(13), 式(8)是关于${x_z}\left( k \right)$${y_z}\left( k \right)$的函数, 改写为:

$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + f\left( {{x_z}\left( k \right), {y_z}\left( k \right)} \right) - q_z^{{\rm{out}}}\left( k \right) $ (14)

其中, $f\left( {{\rm{}} \cdot {\rm{}}} \right)$为非线性函数。

根据式(7), 式(14)可改写为:

$ {y_z}\left( {k + 1} \right) = {y_z}\left( k \right) + f\left( {{x_z}\left( k \right), {y_z}\left( k \right)} \right) - \mathit{\boldsymbol{a}} \times \bar u\left( k \right) $ (15)

其中, $\mathit{\boldsymbol{a}} = \left[ {{0_{\rm{}}}\;0{\rm{}}\;0{{\rm{}}_{\rm{}}} - {r_{n1}}{s_{n1}}{\rm{}} - {r_{n2}}{s_{n1}}{\rm{}} - {r_{n3}}{s_{n1}}} \right]$

根据式(8)、式(15), 四相位交叉口的排队长度动态方程如下所示:

$ \left\{ {\begin{array}{*{20}{l}} {\mathit{\boldsymbol{x}}\left( {k + 1} \right) = \mathit{\boldsymbol{x}}\left( k \right) + \mathit{\boldsymbol{bu}}\left( k \right) + \mathit{\boldsymbol{d}}\left( k \right)}\\ {\mathit{\boldsymbol{y}}\left( {k + 1} \right) = \mathit{\boldsymbol{y}}\left( k \right) + \mathit{\boldsymbol{f}}\left( {x\left( k \right),\mathit{\boldsymbol{y}}\left( k \right)} \right) + \mathit{\boldsymbol{au}}\left( k \right)} \end{array}} \right. $ (16)
1.2 问题描述

在交叉口系统中时常会出现"红灯排长队, 绿灯无车行"的现象, 这种现象降低了交叉口绿灯使用效率, 增加了出行成本。

排队长度均衡控制思想根据交叉口的实际排队长度合理分配绿灯时间, 实现各交叉口排队长度的均衡控制。在交叉口交通控制中的固定配时方案下, 随着周期数的增加, 两个交叉口的排队长度差值会越来越大, 这样的配时是不合理的, 需要根据实际排队长度对信号灯重新配时, 使交叉口的排队长度达到平衡, 所以均衡控制思想能够合理地分配信号灯的时长, 使得各路口的排队长度达到均衡。

基于均衡控制思想, 首先定义一个反映控制方案效果的指标, 即交叉口排队长度差(Queuing Length Difference, QLD)。定义在同一个交叉口下, 其中各相位中最大的排队长度为该方向上的排队长度, 其表示如下:

$ {L_{c, j}}\left( {l, k + 1} \right) = {\rm{max}}\left\{ {{y_{c, i}}\left( {l, k + 1} \right), } \right.\left. {{y_{c, i + 2}}\left( {l, k + 1} \right)} \right\}\\ c = 1, 2,i = 1, 2,j = 1, 2 $ (17)
$ \begin{array}{l} {z_c}\left( {l, k + 1} \right) = {\rm{max}}\left\{ {{L_{c, j}}\left( {l, k + 1} \right){L_{c, j + 1}}\left( {l, k + 1} \right)} \right\}\\ c = 1, 2 \end{array} $ (18)
$ \begin{array}{l} Y\left( {l, k + 1} \right) = {Z_1}\left( {l, k + 1} \right) - {Z_2}\left( {l, k + 1} \right) \end{array} $ (19)

其中, ${y_{c, i}}\left( {l, k + 1} \right)$为第$ c$个交叉口的第$ i$个路口在第$k + 1 $个周期的排队长度, ${L_{c, j}}\left( {l, k + 1} \right)$为第$c $个交叉口的第$j $个方向在第$k + 1 $个周期的排队长度, ${z_c}\left( {l, k + 1} \right)$为第$c $个交叉口在第$k + 1 $个周期的排队长度, $Y\left( {l, k + 1} \right)$表示两交叉口的排队长度差。

在1.1节中, 首先对交叉口进行建模, 得到的系统动态模型式(16)满足如下假设:

假设1   对于式(16)中的函数$f\left( \cdot \right)$, 满足一致全局Lipschitz条件, 即:

$ \begin{array}{l} \left\| {f\left( {x\left( {1,k} \right),y\left( {1,k} \right)} \right) - f\left( {x\left( {2,k} \right),y\left( {2,k} \right)} \right)} \right\| \le \\ {k_x}\left\| {x\left( {2,k} \right) - x\left( {1,k} \right)} \right\| + {k_y}\left\| {y\left( {2,k} \right) - y\left( {1,k} \right)} \right\| \end{array} $ (20)

其中, ${k_x}$${k_y}$为Lipschitz常数。

假设2   给定期望向量${\mathit{\boldsymbol{y}}_d}\left( k \right)$, 存在唯一有界控制输入向量${\mathit{\boldsymbol{u}}_d}\left( k \right)$, 使得:

$ \left\{ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{x}}_d}\left( {k + 1} \right) = {\mathit{\boldsymbol{x}}_d}\left( k \right) + \mathit{\boldsymbol{b}}{\mathit{\boldsymbol{u}}_d}(k) + \mathit{\boldsymbol{d}}\left( k \right)}\\ {{\mathit{\boldsymbol{y}}_d}\left( {k + 1} \right) = {\mathit{\boldsymbol{y}}_d}\left( k \right) + f\left( {{{\boldsymbol{x}}_d}\left( k \right), {\mathit{\boldsymbol{y}}_d}\left( k \right)} \right) + \mathit{\boldsymbol{a}}{\mathit{\boldsymbol{u}}_d}\left( k \right)} \end{array}} \right. $ (21)

根据式(17)~式(19), 交叉口的排队长度差可以转换为:

$ Y\left( {l, k + 1} \right) = f\left( {Y\left( {l, k} \right), \mathit{\boldsymbol{u}}\left( {l, k} \right)} \right) $ (22)

其中, $f\left( \cdot \right)$为未知非线性函数。

定义排队误差$e\left( {l, k} \right)$如下:

$ e\left( {l, k} \right) = {Y_d}\left( k \right) - Y\left( {l - 1, k} \right) $ (23)

考虑到网络控制过程中受到各种因素的影响, 导致排队长度差值数据在传输过程中存在数据丢失的现象。本文将数据丢失现象描述为概率已知的伯努利序列$\alpha \left( {l, k} \right)$, 并假设控制器可以检测出当前系统排队长度差是否丢失, 其定义为:

$ \alpha \left( {l, k} \right) = \left\{ {\begin{array}{*{20}{c}} {0, Y\left( {l, k} \right){\rm{}}数据丢失}\\ {1, 其他{\rm{}}\begin{array}{*{20}{c}} \;&\;&\; \end{array}} \end{array}} \right. $ (24)

本文的控制任务是基于式(16)在满足各初始的条件下, 寻找信号灯的最优控制${\boldsymbol{u}}\left( {l, k} \right)$, 使得系统存在数据丢失的情况下能达到期望效果, 即实现各交叉口排队长度的均衡控制。

2 控制方案设计

本节基于MFAILC方法[18], 提出数据丢包情况下的交叉口排队长度均衡控制方案。该方案通过调节信号灯${\boldsymbol{u}}\left( {l, k} \right)$的时长来改变各个路口的车辆排队长度, 使得存在数据丢包时在同一周期的排队误差$e\left( {l, k} \right)$收敛于零。

假设3  在式(22)中, $f\left( \cdot \right)$关于第2个变量的偏梯度是连续的[18]

假设4  在交叉口交通系统式(22)中, 对任意时刻$ k$, 当迭代次数$l$接近无穷大时, ${\hat \phi _{i, c}}\left( {l, k} \right)$满足$ {\hat \phi _{i, c}} (l, k)>0$${\hat \phi _{i, c}}\left( {l, k} \right) < 0$, 其中$ i = 1, 2, \cdots , 8$为交叉口控制输入数目。

定理1   在满足上述假设条件下的系统式(22), 当${\rm{\Delta }}{u_i}\left( {l, k} \right) \ne 0$的条件下时, 在任意时刻$k $和迭代次数$ l$, 一定存在一个与迭代相关的时变参数${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right)$ [18-20], 使得:

$ {\rm{\Delta }}Y\left( {l, k + 1} \right) = {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ (25)

其中, ${\rm{\Delta }}Y\left( {l, k + 1} \right) = Y\left( {l, k + 1} \right) - Y\left( {l - 1, k + 1} \right), $ $\Delta \boldsymbol{u} \left( {l, k} \right) = \boldsymbol{u} \left( {l, k} \right) - \boldsymbol{u} \left( {l - 1, k} \right)$, $\mathit{\boldsymbol{u}}\left( {l, k} \right) = {[{u_1}\left( {l, k} \right), {u_2}\left( {l, k} \right), \cdots , {u_8}\left( {l, k} \right)]^{\rm{T}}}$, ${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) = \left[ {{\phi _1}\left( {l,k} \right),{\phi _2}\left( {l,k} \right), \cdots ,{\phi _8}\left( {l,k} \right)} \right] $为系统的伪梯度。

当存在数据丢失的情况下时, 排队长度差可由式(26)表示:

$ \bar Y\left( {l, k} \right) = \left\{ {\begin{array}{*{20}{c}} {Y\left( {l, k} \right)\alpha \left( {l, k} \right) = 1}\\ {\hat Y\left( {l, k} \right), \alpha \left( {l, k} \right) = 0} \end{array}} \right. $ (26)

由此, 式(23)、式(25)可分别改写为:

$ e\left( {l, k} \right) = {Y_d}\left( k \right) - \bar Y\left( {l, k} \right) $ (27)
$ {\rm{\Delta }}\bar Y\left( {l, k + 1} \right) = {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ (28)

当输出数据丢失时, 可以根据式(28)利用$\bar Y(l - 1, $$k + 1)$${\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right)$${\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right)$$Y\left( {l, k} \right)$进行估计, 其输出补偿算法如下:

$ \hat Y\left( {l, k + 1} \right) = \bar Y\left( {l - 1, k + 1} \right) + {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) $ (29)

因为${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right)$为未知量, 设计其估计算法[18]为:

$ \begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right) = {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1, k} \right) + \frac{{\alpha \left( {l, k} \right)\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1, k} \right)}^{\rm{T}}}}}{{\mu + || {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1, k} \right)} ||^2 }}} \times }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\left( {{\rm{\Delta }}\bar Y\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1, k} \right)} \right)} \end{array} $ (30)

其中, $\eta \in( 0, 2]$是步长因子, $\mu > 0$, ${\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right) = \left[ {{{\hat \phi }_1}\left( {l, k} \right), {{\hat \phi }_2}\left( {l, k} \right), \cdots , {{\hat \phi }_8}\left( {l, k} \right)} \right]$${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right)$的估计值, $\mathit{\boldsymbol{u}}\left( {l, k} \right) = {[{u_1}\left( {l, k} \right), {u_2}\left( {l, k} \right), \cdots , {u_8}\left( {l, k} \right)]^{\rm{T}}}$

基于式(30), 设计数据丢失下的控制器为:

$ \begin{array}{*{20}{l}} {\mathit{\boldsymbol{u}}\left( {l, k} \right) = \mathit{\boldsymbol{u}}\left( {l - 1, k} \right) + \frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l, k} \right)}^{\rm{T}}}}}{{\lambda + || {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l, k} \right)}||^2}}} \times }\\ \;\;\;\;\;\;\;{{\rm{}}e\left( {l - 1, k + 1} \right)} \end{array} $ (31)

其中, $\rho \in \left( {0, 1} \right]$, $\lambda > 0$

为提高式(30)对时变参数的跟踪能力, 定义如下参数重置机制:

$ \begin{array}{*{20}{l}} {{{\hat \phi }_{i,c}}\left( {l,k} \right) = {{\hat \phi }_{i,c}}\left( {1,k} \right),\left| {{{\hat \phi }_{i,c}}\left( {l,k} \right)} \right| \le \varepsilon ,\left| {\Delta {u_i}\left( {l - 1,k} \right)} \right| \le \varepsilon ,}\\ {{\rm{sign}}\left( {{{\hat \phi }_{i,c}}\left( {l,k} \right)} \right) \ne {\rm{sign}}\left( {{{\hat \phi }_{i,c}}\left( {1,k} \right)} \right),i = 1,2, \cdots ,8} \end{array} $ (32)

其中, $\lambda > 0, \mu > 0, \rho \in \left( {0, 1} \right]$, $ \varepsilon $是一个小正数, ${\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right) = {\left[ {{{\hat \phi }_1}\left( {l, k} \right), {{\hat \phi }_2}\left( {l, k} \right), \cdots , {{\hat \phi }_8}\left( {l, k} \right)} \right]^{\rm{T}}}$

为使该方案满足实际道路控制要求, 控制输入$\mathit{\boldsymbol{u}}\left( {l, k} \right)$满足以下条件:

$ \mathit{\boldsymbol{u}}\left( {l,k} \right) = \left\{ \begin{array}{l} \mathit{\boldsymbol{u}}\left( {l,k} \right),{\rm{}}{u_{{\rm{min}}}} < \mathit{\boldsymbol{u}}\left( {l,k} \right) < {u_{{\rm{max}}}}\\ {\mathit{\boldsymbol{u}}_{{\rm{min}}}},\mathit{\boldsymbol{u}}\left( {l,k} \right) < {u_{{\rm{min}}}}\\ {\mathit{\boldsymbol{u}}_{{\rm{max}}}},\mathit{\boldsymbol{u}}\left( {l,k} \right) > {u_{{\rm{max}}}} \end{array} \right. $ (33)

由数据补偿算法式(29)、参数迭代更新算法式(30)、学习控制算法式(31)、参数重置算法式(32)和$\mathit{\boldsymbol{u}}\left( {l, k} \right)$的限制条件式(33)共同组成了交叉口控制系统的MFAILC方案。

3 收敛性分析

定理2   对于交叉口系统式(16), 在假设成立的条件下, 采用式(30)~式(32), 在存在排队长度差丢失的条件下, 能够保证当$ l$趋近于无穷时, 系统的输出最大跟踪误差在整个采样周期上收敛于零。

证明   其他情形定义伪梯度估计误差为:

$ {\mathit{\boldsymbol{ \boldsymbol{\tilde \varPhi} }}_c}\left( {l,k} \right) = {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l,k} \right) - {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) $

将式(30)两边同时减去${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right)$, 可得:

$ \begin{array}{*{20}{l}} {{\rm{}}\mathit{\boldsymbol{}}{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right){\rm{}} = {\rm{}}{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right){\rm{}} - \left( {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right){\rm{}} - {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l - 1,k} \right)} \right) + }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\alpha \left( {l,k} \right)\left[ {\frac{{\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + || {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)} || ^2}}}} \right.({\rm{\Delta }}\bar Y\left( {l - 1,k + 1} \right) - }\\ {\left. {\begin{array}{*{20}{c}} {}\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right))}\\ {} \end{array}} \right]} \end{array} $ (34)

将式(28)代入式(34), 可得:

$ \begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right) = {{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) + }\\ {\alpha \left( {l,k} \right)\left[ {\frac{{\eta \Delta \mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}} \right. \times }\\ {\left. {\begin{array}{*{20}{c}} {}\\ {\left( {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l - 1,k} \right)\Delta \boldsymbol{u}\left( {l - 1,k} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right)\Delta \boldsymbol{u}\left( {l - 1,k} \right)} \right)}\\ {} \end{array}} \right] = }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \alpha \left( {l,k} \right) \times \frac{{\eta \Delta \mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}} \times }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) = }\\ {\left( {1 - \alpha \left( {l,k} \right)\frac{{\eta {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}} \right) \times }\\ {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right) - \Delta {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right)} \end{array} $ (35)

由式(35)可以看出, 当$0 < \eta \le 1$$\mu > 0$时, $\frac{{\eta {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}{{\mu + {{\left\| {\Delta \mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}$关于$|| {\Delta \mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)} || ^2}} $单调增加, 其最小值为$\frac{{\eta {\varepsilon ^2}}}{{\mu + {\varepsilon ^2}}}$, 由上文描述, $\alpha \left( {l, k} \right)$的取值为1或0, 则一定会存在一个$d $值使得式(36)成立:

$ \begin{array}{*{20}{l}} {0 < \left\| {\left( {1 - \alpha \left( {l,k} \right)\frac{{\eta {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}}{{\mu + {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l,k} \right)} \right\|}^2}}}} \right)} \right\| \le }\\ {1 - \frac{{\eta {\varepsilon ^2}}}{{\mu + {\varepsilon ^2}}} = d < 1} \end{array} $ (36)

由定理1可知, $\left\| {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right)} \right\|$有上界$\bar b$, 则$\left\| {{\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l,k} \right) - {\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l - 1,k} \right)} \right\| \le 2\bar b$, 对式(35)两边取范数, 利用式(36), 可得:

$ \begin{array}{*{20}{l}} {\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l,k} \right)} \right\| \le d\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 1,k} \right)} \right\| + 2\bar b \le }\\ {{d^2}\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {l - 2,k} \right)} \right\| + 2d\bar b + 2\bar b \le \cdots \le }\\ {{d^{l - 1}}\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}}_c}\left( {1,k} \right)} \right\| + \frac{{2\bar b\left( {1 - {d^{l - 1}}} \right)}}{{1 - d}}} \end{array} $ (37)

由定理1可知, ${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( {l, k} \right)$是有界的, 再由式(47)可知${\mathit{\boldsymbol{ \boldsymbol{\widetilde \varPhi} }}_c}\left( {l,k} \right)$是有界的, 那么也可得出${\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right)$是有界的。

定义跟踪误差:

$ e\left( {l, k + 1} \right) = {Y_d}\left( {k + 1} \right) - \bar Y\left( {l, k + 1} \right) $ (38)

因为系统的数据是不完全丢失的, 所以设${k_j}$表示数据未丢失时刻, 由补偿算法式(29)可知, 在相邻的没有数据丢失时刻, ${k_j}$${k_{j - 1}}$之间有:

$ \begin{array}{l} e\left( {l, k + 1} \right) = {Y_d}\left( {k + 1} \right) - \bar Y\left( {l, k + 1} \right) = \\ {Y_d}\left( {k + 1} \right) - \bar Y\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) = \\ e\left( {l - 1, k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l, k} \right){\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l, k} \right) \end{array} $ (39)

根据式(30)、式(31), 在数据丢失时刻控制算法、参数更新算法可写为:

$ \begin{array}{*{20}{l}} {\mathit{\boldsymbol{u}}\left( {l,k} \right) = \mathit{\boldsymbol{u}}\left( {l - 1,k} \right) + \frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} \times }\\ \;\;\;\;\;\;\;\;\;\;\;\;{\left[ {e\left( {l - 1,k + 1} \right)} \right]} \end{array} $ (40)
$ {\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l,k} \right) = \left\{ {\begin{array}{*{20}{l}} {\begin{array}{*{20}{l}} {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right) + \frac{{\eta {\rm{\Delta }}\mathit{\boldsymbol{u}}{{\left( {l - 1,k} \right)}^{\rm{T}}}}}{{\mu + {{\left\| {{\rm{\Delta }}\mathit{\boldsymbol{u}}\left( {l - 1,k} \right)} \right\|}^2}}} \times }\\ {({\rm{\Delta }}\bar Y\left( {l - 1,k + 1} \right) - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right) \times }\\ {{\rm{\Delta }} {\boldsymbol{u}} \left( {l - 1,k} \right)),{\rm{}}k = {k_j},{\rm{}}k = {k_{j - 1}}} \end{array}}\\ {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l - 1,k} \right),{\rm{}}{k_{j - 1}} < k < {k_j}\begin{array}{*{20}{c}} {}&{} \end{array}} \end{array}} \right. $ (41)

将式(40)代入式(39), 可得:

$ \begin{array}{*{20}{l}} {e\left( {l,k + 1} \right) = \left( {1 - {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)\frac{{\rho {{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}}} \right) \times }\\ {\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;e\left( {l - 1,k + 1} \right)} \end{array} $ (42)

由式(37)证明${\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}_c}\left( {l, k} \right)$有界, 即上界$\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\| \le b$。令${\lambda _{{\rm{min}}}} = \frac{{{b^2}}}{4}$, 取$\lambda > {\lambda _{{\rm{min}}}}$, 一定存在一个常数${M_1}$$0 < {M_1} < 1$, 使得式(43)成立:

$ 0 < {M_1} \le \frac{{{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right){{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} $ (43)

利用不等式${a^2} + {b^2} \ge 2ab$, 式(43)可写为:

$ \begin{array}{*{20}{l}} {0 < {M_1} \le \frac{{{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right){{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}{{\left( {l,k} \right)}^{\rm{T}}}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}} \le }\\ \;\;\;\;\;\;\;\;\;\;\;{{\rm{}}\frac{{{b^2}}}{{2\sqrt \lambda b}} < \frac{b}{{2\sqrt {{\lambda _{{\rm{min}}}}} }} = 1} \end{array} $ (44)

定义$c\left( {l,k} \right) = 1 - \frac{{\rho {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}}{{\lambda + {{\left\| {{{\mathit{\boldsymbol{ \boldsymbol{\hat \varPhi} }}}_c}\left( {l,k} \right)} \right\|}^2}}}$, 根据式(44)和$0 < \rho \le 1$, 可知$0 < c\left( {l, k} \right)$, 且存在一个正常数${d_2}({d_2} < 1)$, 使得:

$ c\left( {l, k} \right) \le 1 - \rho {M_1} = {d_2} < 1 $ (45)

式(42)可写为:

$ e\left( {l, k + 1} \right) = c\left( {l, k} \right)e\left( {l - 1, k + 1} \right) $ (46)

对式(46)两边取绝对值可得:

$ \begin{array}{*{20}{l}} {\left| {e\left( {l, k + 1} \right)} \right| = c\left( {l, k} \right)\left| {e\left( {l - 1, k + 1} \right)} \right| \le }\\ {\begin{array}{*{20}{c}} {}&{}&{}&{} \end{array}{\rm{}}{d_2}\left| {e\left( {l - 1, k + 1} \right)} \right| \le \ldots \le {d_2}^{l - 1}\left| {e\left( {1, k + 1} \right)} \right|} \end{array} $ (47)

由式(47)可知, $e\left( {l, k + 1} \right)$在迭代次数$l $趋近于无穷时收敛于零。

定理2证明完毕。

4 仿真结果与分析

本文分别通过MATLAB仿真和VISSIM-MATLAB联合仿真对算法进行验证。为快速验证算法的有效性, 首先使用MATLAB仿真对算法的可行性进行验证, 然后根据VISSIM-MATLAB联合仿真平台利用建立路网对算法进行验证。

4.1 MATLAB仿真

为验证文中所述控制方案的有效性, 分别给出固定配时方案、文献[18]方案和本文方案的交叉口仿真结果。

考虑一个两交叉口路段, 如图 1所示。MFAILC系统参数主要有: $\mu = 1$, $\eta = 0.01$, $\rho = - 1$, $\lambda = 1$, $\varepsilon = 1 \times {10^{ - 5}}$, ${\mathit{\boldsymbol{ \boldsymbol{\varPhi} }}_c}\left( 1 \right) = {\left[ {0.1, 0.1, \cdots , 0.1} \right]^{\rm{T}}}$; 交通流模型的系统参数主要有:转向比$r = \frac{1}{3}$, 饱和流率${s_1} = 0.5$, ${s_2} = 0.6$, $L = 2\;000\;{\rm{m}}$, $a = 1.7$, $b = 1.8$; 期望排队长度差值${y_d} = 0$; 各相位初始绿灯时长为$u = 30\;{\rm{s}}$, 初始排队长度$y = 20\;{\rm{m}}$

车流量加载情况如下:

$ \begin{array}{*{20}{l}} {{\rm{}}{x_1}\left( k \right) = 5 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_2}\left( k \right) = 10 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_3}\left( k \right) = 15 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_4}\left( k \right) = 15 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_5}\left( k \right) = 20 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)}\\ {{\rm{}}{x_6}\left( k \right) = 25 + 10{\rm{sin}}\left( {k \times {\rm{ \mathit{ π} }}/n} \right)} \end{array} $ (48)

其中, $k \in \left( {0, 45} \right]$为信号周期个数, ${x_1}, {x_2}, \cdots , {x_6}$为流入路网的车流量, $ n$为仿真总周期数。

在上述模型的基础上利用固定配时进行仿真, 结果如图 2所示。

Download:
图 2 固定配时方案下的排队长度 Fig. 2 Queue length under fixed time scheme

从固定配时方案的仿真结果可以看出, 各个路口的排队长度会随着车辆数的变化而不断增大, 且各个路口之间的排队长度差也会越来越大。这种情况在实际的交通系统中会造成交通堵塞, 影响出行效率。

通过对固定配时方案和MFAILC方案的仿真结果对比分析可知, MFAILC方案能通过改变绿灯配时使得各交叉口的排队长度趋于均衡。从各路口的排队长度变化情况也可以看出, MFAILC方案要优于固定配时方案, 这也验证了MFAILC方案的可行性和优越性。

采用MFAILC方案后的排队长度差、排队长度及各个路口的排队长度变化情况如图 3所示。从图 3可以看出, 随着周期的变大和迭代次数的增加, 排队长度差不断趋于一致, 达到了期望的效果。

Download:
图 3 MFAILC方案下排队长度差 Fig. 3 Queue length difference under MFAILC scheme

本文需要对比固定配时方案和MFAILC方案的控制效果以及在数据丢失下的MFAILC方案(采用文献[18]的方法)和丢失数据补偿方案的控制效果。这样可以清晰地表述出数据丢包对实际控制系统的影响和本文提出的补偿算法的控制效果。数据丢包后的MFAILC控制效果和补偿方案下的控制效果如图 4所示。

Download:
图 4 数据丢失描述 Fig. 4 Data dropout description

图 5~图 8为在数据丢失率为0.5时不同方案下各个路口的交通情况, 其中, 图 5图 6为文献[18]方法的控制效果, 图 7图 8为本文方案下的控制效果。

Download:
图 5 数据丢失下第10次迭代的排队长度差 Fig. 5 Queue length difference of the 10th iteration under data dropout
Download:
图 6 第10次迭代的排队长度差 Fig. 6 Queue length difference for the 10th iteration
Download:
图 7 补偿方案下的排队长度差 Fig. 7 Queue length difference under compensation scheme
Download:
图 8 补偿方案下第10次迭代的排队长度差 Fig. 8 Queue length difference for the 10th iteration under the compensation scheme

首先对比图 6图 8, 在数据丢包的情况下第45个周期的排队长度差都能收敛于期望值零, 但是在数据丢失时收敛速度较另外两种方案会比较慢。通过图 3图 5图 7的对比可以发现, 在数据丢失的情况下实际排队长度收敛效果会很差, 在补偿方案下虽然会有很大波动但也能快速达到收敛。通过对比可以看出, 在数据丢失的情况下排队长度波动比较大, 而收敛后能够连续保持收敛。

根据上文仿真结果对比可知, 本文补偿方案能削弱数据丢失对交通控制系统的影响, 通过对丢失数据的补偿, 交叉口系统的排队长度差能够收敛于期望值, 避免了实际交叉口交通控制中出现的"绿灯无车行、红灯排长队"的现象。

4.2 MATLAB-VISSIM联合仿真

考虑一个多交叉口路网, 利用VISSIM搭建路网模型, 如图 9所示, 路网包含2条主干道和4条次干道。为证明本文算法具有普遍性, 路网内同时设计了T型交叉口、两车道与三车道交叉口等, 共计有8个路口的排队长度, 包括常用的四相位和两相位控制方式, 且在右转车道不设信号灯, 左转占用1个车道。仿真为30个信号周期, 每个周期为120 s, 期望排队长度差为零。在没有交叉口连接的路段仅考虑到达车辆数和消散车辆数。

Download:
图 9 多交叉口路网 Fig. 9 Multi-intersection road network

路网有各路口车流量加载数据, 即流入路网车辆数, 各路口各相位绿灯时长初始值如表 1所示。系统参数为: $\eta = 1.2$, $\mu = 0.005$, $\rho = 1$, $\lambda = 0.01$, $\varepsilon = 1 \times {10^{ - 5}}$

下载CSV 表 1 车流量加载数据 Table 1 Vehicle flow loading data  

图 10为在数据丢包下MFAILC方案控制各个路口的车辆排队长度。从图 10可以看出, 在车辆完全加载结束时, 经过迭代各个路口的排队长度趋于稳定, 由于出现数据丢失的情况, 因此各个路口的车辆排队长度还有很大幅度的波动, 但由于算法的作用, 整体排队情况不会出现较大震荡。

Download:
图 10 数据丢包下的排队长度 Fig. 10 Queue length under data packet dropout

图 11为在数据丢失情况下的排队长度差与迭代次数和周期之间的关系。从图 11可以看出, 在存在输出数据丢失的情况下, MFAILC配时方案虽然能使排队长度差向着期望值靠拢, 但是由于数据丢包的影响, 收敛速度很慢且出现较大的震荡。

Download:
图 11 数据丢失下的排队长度差 Fig. 11 Queue length difference under data dropout

因此, 根据图 10图 11所示对交通信号控制的影响, 需要数据补偿方案来削弱输出数据丢包对交叉口信号控制的影响如图 12所示。

Download:
图 12 补偿方案下的路口排队长度 Fig. 12 Intersection queue length under compensation scheme

图 13可以看出, 在补偿方案下各个路口的排队长度经过100次迭代后基本趋于均衡, 由于路口车辆的累积作用, 随着周期数的增大而增大, 但是到达一定的高度则趋于一致。由于受到数据丢包的影响在达到均衡后还会出现震荡, 但是由于补偿的作用则会继续趋于收敛。与图 10对比可以看出, 补偿方案能有效地对丢失数据进行补偿。通过与图 11的对比可以发现, 补偿方案能够有效地对丢失的排队长度差值进行补偿, 虽然有些补偿时刻会出现震荡, 但是总体趋于平稳, 达到了预期效果。

Download:
图 13 补偿方案下的排队长度差 Fig. 13 Queue length difference under compensation scheme
5 结束语

本文研究道路网络控制中因数据丢包造成的道路拥堵问题, 提出一种带有丢包补偿的多交叉口排队长度均衡控制方案。建立交叉口运行过程的模型, 考虑到该系统的非线性系统和交叉口控制重复特性, 结合MFAC和ILC的优点给出基于MFAILC的交叉口排队长度均衡控制方案。针对数据丢失问题, 对上述方案进行改进, 设计交叉口丢失数据的补偿算法, 利用算法本身的伪梯度值、跟踪误差等对丢失数据进行估计。通过MATLAB与VISSIM的联合仿真结果表明, MFAILC方案可使交叉口的排队长度差收敛于期望值, 在实际运用中能很好地缓解道路交叉口的交通拥堵问题。在数据丢失的情况下, 改进算法能够有效地对其进行补偿, 削弱了数据丢失对系统的影响。由于在交通系统中, 数据需进行网络传输到达交通控制中心, 然而数据信号只有通过量化编码后才能进行网络传输, 因此下一步将在本文研究基础上同时考虑数据量化和数据丢失的交叉口控制方案。

参考文献
[1]
WU Bing, LI Ye. Traffic management and control[M]. Beijing: China Communications Press, 2009. (in Chinese)
吴兵, 李晔. 交通管理与控制[M]. 北京: 人民交通出版社, 2009.
[2]
GARTNER N H.Development and testing of a demand-responsive strategy for traffic signal control[C]//Proceedings of American Control Conference.Arlington, USA: IEEE Press, 2009: 1-10.
[3]
BELL M G H. Future directions in traffic signal control[J]. Transportation Research Part A:Policy and Practice, 1992, 26(4): 303-313. DOI:10.1016/0965-8564(92)90018-3
[4]
GAZIS D C, POTTS R B.The oversaturated intersection[C]//Proceedings of the 2nd International Symposium on Theory of Road Traffic Flow.London, UK: [s.n.], 1963: 35.
[5]
GORDON R L, TIGHE W. Traffic control systems handbook[M]. [S.1.]: U.S.Government Printing Office, 2005.
[6]
ZHENG Yichen, ZHANG Yi, HU Jianming. Iterative learning based adaptive traffic signal control[J]. Journal of Transportation Systems Engineering and Information Technology, 2010, 10(16): 34-40. (in Chinese)
郑一辰, 张毅, 胡坚明. 一种基于迭代学习的自适应交通信号控制方法[J]. 交通运输系统工程与信息, 2010, 10(16): 34-40.
[7]
ZHANG Long, YU Fashan, KANG Hong, et al. Study on method of signal timing at one over-saturation intersection[J]. Electronic Measurement Technology, 2016, 39(5): 150-153. (in Chinese)
张龙, 余发山, 康洪, 等. 过饱和单交叉口信号配时控制算法的研究[J]. 电子测量技术, 2016, 39(5): 150-153. DOI:10.3969/j.issn.1002-7300.2016.05.041
[8]
YAN Fei, TIAN Fuli, SHI Zhongke. Iterative learning control for urban traffic signals and the impacts on macroscopic fundamental diagram of road networks[J]. Control Theory & Applications, 2016, 33(5): 645-652. (in Chinese)
闫飞, 田福礼, 史忠科. 城市交通信号的迭代学习控制及其对路网宏观基本图的影响[J]. 控制理论与应用, 2016, 33(5): 645-652.
[9]
QI Chi, HOU Zhongsheng, JIA Yan. Optimal signal timing strategy based on the equilibrium of queue length[J]. Control and Decision, 2012, 27(8): 1191-1194, 1200. (in Chinese)
齐驰, 侯忠生, 贾琰. 基于排队长度均衡的交叉口信号配时优化策略[J]. 控制与决策, 2012, 27(8): 1191-1194, 1200.
[10]
HAO Jiangen, HOU Zhongsheng, LIU Xiangbin. Vehicle queuing length balanced-control of the signalized isolated intersection via multi-parametric programming[J]. Control and Decision, 2013, 28(4): 595-599. (in Chinese)
郝建根, 侯忠生, 柳向斌. 基于多参数规划的单交叉口排队长度均衡控制[J]. 控制与决策, 2013, 28(4): 595-599.
[11]
ZHAO Huan.Green time model free adaptive control of isolated intersection[D].Beijing: Beijing Jiaotong University, 2009.(in Chinese)
赵欢.单信号交叉口绿灯时间无模型自适应控制[D].北京: 北京交通大学, 2009.
[12]
WEN Kaige, QU Shiru, ZHANG Yumei. Multiphase traffic signal adaptive controlling model for urban isolated intersection[J]. Journal of System Simulation, 2009, 21(10): 3066-3070. (in Chinese)
温凯歌, 曲仕茹, 张玉梅. 城市单交叉口信号多相位自适应控制模型[J]. 系统仿真学报, 2009, 21(10): 3066-3070.
[13]
HOU Zhongsheng, BU Xuhui. Model free adaptive control with data dropouts[J]. Expert Systems with Applications, 2011, 38(8): 10709-10717. DOI:10.1016/j.eswa.2011.01.158
[14]
PANG Zhonghua, LIU Guoping, ZHOU Donghua, et al. Data-driven control with input design-based data dropout compensation for networked nonlinear Systems[J]. IEEE Transactions on Control Systems Technology, 2017, 25(2): 628-636. DOI:10.1109/TCST.2016.2557278
[15]
HAO Jiangen.Application research on traffic control based on data-driven control approaches[D].Beijing: Beijing Jiaotong University, 2013.(in Chinese)
郝建根.数据驱动控制方法在交通控制中的应用研究[D].北京: 北京交通大学, 2013.
[16]
YAN Fei, YAN Gaowei, REN Mifeng, et al. A novel control strategy for balancing traffic flow in urban traffic network based on iterative learning control[J]. Physica A:Statistcal Mechanics and Its Applications, 2018, 508: 519-531. DOI:10.1016/j.physa.2018.05.134
[17]
YAN Fei, TIAN Fuli, SHI Zhongke. An iterative learning approach for traffic signal control of urban road networks[J]. IET Control Theory and Applications, 2017, 11(4): 466-475. DOI:10.1049/iet-cta.2016.0376
[18]
HOU Zhongsheng, JIN Shangtai. Model-free adaptive control theory and application[M]. Beijing: Science Press, 2013. (in Chinese)
侯忠生, 金尚泰. 无模型自适应控制理论与应用[M]. 北京: 科学出版社, 2013.
[19]
XU Piaopiao, BU Xuhui. The optimization control simulation of pH of the wastewater discharge in chemical production[J]. Computer Simulation, 2017, 34(7): 326-330. (in Chinese)
许漂漂, 卜旭辉. 化工生产废水中pH值排放优化控制仿真[J]. 计算机仿真, 2017, 34(7): 326-330. DOI:10.3969/j.issn.1006-9348.2017.07.073
[20]
HOU Zhongsheng, JIN Shangtai. Data driven model-free adaptive control for a class of MIMO nonlinear discrete-time systems[J]. IEEE Transactions on Neural Networks, 2011, 22(12): 2173-2188. DOI:10.1109/TNN.2011.2176141