一种基于动态交通子区相似度的控制方案推荐系统
2022-10-10何通能
何通能 王 震 范 琦
(浙江工业大学信息工程学院 浙江 杭州 310023)
0 引 言
在智慧城市的建设过程中,缓解交通拥堵问题已经成为一个巨大挑战。虽然优化交通路网建设和控制车辆数量是最为直接的方法[1],但是随着物联网和智能交通系统等技术的发展,优化现有的交通控制方案(Urban Traffic Control),提高道路使用率是降低拥堵成本、减少空气污染最快速且有效的方法[2-5]。
交叉口控制方案推荐是智能交通系统中的重要组成部分,目前已经有很多应用系统通过将交通路网划分成多个交通控制子区的方式来提高信号控制网络的运行性能[6-7]。这些应用多为根据实时交通模式调整配时参数(如信号周期时长、绿信比等)的自适应控制系统[8],例如SCOOT、SCATS系统等[9-10]。
世界上已经有许多城市部署了自适应信号控制系统[11],但是在实际操作过程中仍需要专业配时人员根据多维数据提供的信息及专家经验进行人工调参。专业配时人员致力于提高城市交通路网的运行效率,保障城市交通控制的安全有序,以及满足各种复杂的交通需求[12]。当交通路网呈区域性拥堵时,例如交通高峰时期,专业配时人员的工作量是相当大的。因此,能够针对大面积交通拥堵问题的适用于专业配时人员的方案推荐系统已经成为迫切需求。
目前已有不少动态划分交通控制子区和控制方案推荐的方法,但在实际应用过程中,难以满足复杂的业务需求[13-15]。因此,本文提出一种在短时交通状态预测下,结合专家以往调控经验,可实时划分控制子区和下发控制方案的可视化方案推荐系统。
1 相关研究
为了能够充分利用可靠的流量监测设备提供的实时数据[1],实现多个信号灯联网协调控制,在20世纪70年代,自适应信号控制系统已经开始研发[2]。随着交通控制理论的完善和检测器技术的提升,逐渐提出了性能更为优越的自适应信号控制系统。Li等[3]根据安装在交叉路口处的摄像头提供的图像得出车辆排队长度,并利用车辆队列信息提出了一种自适应交通信号控制方法。Zaatouri等[4]在基于Agent运输模拟MATSim中,实现了对单交叉口自适应控制的算法,仿真实验表明该算法总体上优于固定时间控制。此外,Srinivasan等[5]扩展了传统的强化学习模式,基于FRL的自适应控制器考虑了交通实际状况,相较于FAC方案,模拟结果显示该方法能够有效防止交通网络过度拥堵。
能够根据实时交通数据,将具有类似交通状态的交叉口划分为同一片交通控制区域进行协调控制,是目前交通信号控制常用的方案。Lin等[6]使用规划域定义语言的方法,增加资源约束和时间约束创建区域交通信号控制模型。Ma等[7]考虑了交通网络的自由尺度特征,将节点优度和高峰时段交通流作为信号子控制区的划分指标。Zhang等[8]等使用网络分区的概念,提出了一种用于调节来自邻近区域的输入交通流量的区域需求管理方法。
Bretherton等[9]采用了一种全网协调延迟时间估计模型估计每个链路的车辆总延迟时间,结合交通流量数据自适应控制交通信号。Theresa等[10]根据链路之间的相关度使用光谱二分法划分城市网络。尽管大量文献中都提出了应对区域交通控制效果较为不错的自适应系统,但在实际部署的自适应系统中,仍然难以实时动态划分交通子区。
总之,提出的交通信号控制系统和子区域划分方法大多数没有能够利用历史划分的子区数据。Pascale等[11]依赖于当前的交通数据和历史数据的“窗口”,对每个交叉口控制器采取方案优化,在仿真实验中取得了不错的效果。Wen等[12]对历史数据进行深度强化学习,使用DNQ算法调整信号相位实现信号定时的自适应调整,能够显著减少交叉口延迟。综上,本文基于子区动态数据聚类算法及协同推荐算法的技术背景下,首先据动态子区的路口间的空间关系完成第一层的聚类,再使用K-means++算法对具有相同空间数据并且不同流量数据的交通子区模型进行第二层聚类。在工程实践中验证,对于大型道路网络使用历史动态交通控制子区实时推荐区域交通控制方案的有效选择。
2 系统设计
2.1 系统架构
推荐系统依赖于现有的实际部署的交通控制系统所提供的数据,避免重新部署提高成本。本文所设计的用于城市交通区域控制的方案推荐系统架构如图1所示。区域方案推荐系统由六个主要部分组成:历史动态子区数据库、短时交通流预测模型、动态交通子区划分模型、动态子区相似度计算模型、方案生成器和方案下发模块。
图1 城市交通区域控制方案推荐系统架构
系统运行之前,会根据历史数据(历史检测器数据和历史控制参数),在时间维度上将交通路网中的交叉口进行动态划分。划分后的交通子区数据存入历史动态子区数据库中,动态子区的数据量越大越有助于提高推荐方案的准确性。系统运行时,通常根据路口实时检测器数据在短时交通流量预测模块中预测路网接下来的交通流量,然后由预测的交通流量数据在动态交通子区划分模块重新划分交通控制子区。在动态子区相似度计算模块中,系统将预测状态下的交通控制子区与历史动态子区数据库中的交通子区进行相似度计算,并根据相似度进行打分排序,将相似子区的控制方案显示在方案生成器中。交通信号工程师可以根据专家经验和实际交通需求修改或直接选择最适用的方案,同时方案生成器将被选中的方案保存在历史动态子区数据库中,以提高系统的查准率。最后,系统通过可视化界面,可以直接将确定的方案下发到交通控制系统中。
分布式计算是处理海量时空数据最合适的方案,历史动态子区数据库使用K-NN算法将数据分类存储,目的是便于动态交通子区相似度计算模型的快速检索。短时交通预测模型使用小波神经网络模型(WNN)[13]。获取预测流量后,动态交通子区划分模型结合流量数据和路口之间的空间关系(如拓扑关系和距离关系)将交通路网动态划分。系统推荐的方案会直观地展示子区中各个路口的控制参数。
2.2 动态交通子区模型
σAB=min(σA,B,σB,A)
(1)
图2 T1到T2时间内的动态子区演变
单向相关度计算公式为:
(2)
(3)
(4)
2.3 分布式协同过滤推荐
2.3.1分层聚类
K-means++是一种无监督的聚类分析算法,通过计算聚类中心被选中的概率,在K-means算法的基础上大幅提高了算法效率[16]。图3是历史动态子区数据库的初始样本集处理模型,X为初始训练集。我们根据动态子区的路口间的空间关系完成第一层的聚类。由于时间维度上的切分将导致数据指数倍增加,所以我们将使用K-means++算法对具有相同空间数据并且不同流量数据的交通子区模型进行第二层聚类。
图3 分层聚类模型
(5)
式中:h为具有相同空间形状的动态子区总数。概率最大的动态子区流量数据作为下一个聚类中心,并以此迭代。最后,将各维度数据均相等并且控制方案完全一致的动态子区做去重复处理。
2.3.2子区相似度计算
时空数据的相似度计算对于算法的性能要求极高,尤其是需要实时计算的方案推荐系统[17]。欧氏距离是推荐算法中最常用的多维数据相似度计算方法[18]。但是,在单个路口的信号配置过程中,各相位之间的横向差异会影响绿灯时间的分配[19]。因此,本文不优先选用欧氏距离,下面将会比较欧氏距离与本文采用的ACS模型的实验效果。
(6)
式中:η为Min-Max标准化参数(Min-Max normalization parameter),用于相似度的归一化处理,将数据映射到(0-1)区间内,提升模型的收敛度和精度。η计算如下:
(7)
式中:ψmax、ψmin为子区流量的最大值和最小值。
(8)
式中:Sα表示点集与聚类中心的相似度。如果在聚类算法中使用同种相似度计算方法并在计算过程中记忆向量模长,有助于减少实时运算量[20]。
3 案例分析
3.1 实验设置
为了方便系统推荐的方案可以直接控制交通信号灯,系统将依赖第六代Scats系统。第六代Scats系统可以根据检测器数据自适应信号控制方案,支持信号工程师在终端(Windows系统)人为设置方案参数并控制对应交叉口的信号灯。因此,本实验选择在配备3.4 G Intel Core i7- 6700,16 GB memory 64位Windows 10操作系统的平台上进行,算法部分使用Python实现。
图4展示了中国杭州市交通路网的地理数据,包含2 328个交叉口,每两个相邻交叉口之间由路段连接。双向通行路段包含两条link,link表示具有方向的路段。我们选取2019年1月份的检测器数据结合路网地理信息动态划分子区。将划分得到的动态子区作为训练集,将训练得到的分类数据存储在历史动态子区数据库,数据结构如表1所示。
图4 中国杭州路网数据
表1 数据结构表
本文实验选择数据集中具有高度复杂路况和多个交叉点的子区域作为例子来验证区域方案推荐系统的稳定性。图5为文三西路动态子区在系统中的可视化界面,列表中显示了组团各交叉口的当日报警次数、子区交叉口数据和方案运行启动时间等信息。子区附近有景区、学校、科技园区,在高峰时段经常发生拥堵状况。按图5中编号顺序路口的SCATS编号分别为SCATS284、SCATS283、SCATS282、SCATS281、SCATS86和SCATS135。
图5 文三西路动态子区仿真界面
选取2019年4月某日上午7点到10点的该子区路口的动态数据作为实验数据。为了更好地展示推荐方案的实际运行效果,将真实的检测器数据作为短时交通流量预测模块的输出数据,其中三个路口的部分数据如表2所示。表2中流量数据指在路口的运行周期内通过该车道的车辆数。
表2 路口检测器的动态数据
3.2 计算过程
由历史子区数据库中已经划分好的子区地理数据簇进行动态数据的聚类,子区的划分由式(1)和式(2)计算。动态子区的路口流量数据序列用于离线训练过程,使用不同的随机种子进行1 000次的模拟迭代。本文使用轮廓系数(SIL)确定k的值,其计算式表示为:
(9)
即:
(10)
由式(10)可以判断:
图6展示了不同簇值的轮廓系数曲线,在簇值为230时轮廓系数最接近1,说明此时聚类效果最好。
图6 轮廓系数曲线
本文将设置三个实验分别使用欧氏距离[21]、皮尔森相关系数[22]和ACS模型验证推荐算法的有效性。为了控制实验的其他变量一致。将2019年1月份的检测器数据分别使用欧氏距离ρ和皮尔森相关系数P对动态子区簇重新聚类。实验一中D1(x)和实验二中D2(x)的取值计算如下:
D1(x)=ρ
(11)
(12)
Mean Absolute Error(MAE)的值能够反映推荐方案与人为设定方案之间的差异,计算式如下:
(13)
式中:rt,h表示在时间t处、第h路口的控制参数;T表示时间总步数;H表示子区路口总数。
图7(a)展示了三组实验在文三西路动态子区上MAE随时间变化曲线,图7(b)三组实验推荐方案的运行时间。由于ACS模型对计算参数的存储,ACS模型的运行时间整体远低于其余两组实验。而且,车道间流量数据差值严重影响周期内相位时间的分配,这对于欧氏距离和皮尔森相关系数来说是不够敏感的。
(a) MAE图
(b) 运行时间图7 MAE曲线和运行时间对比
3.3 实验评估
为了更好地验证系统在实际中的应用,对文三动态子区中的SCATS281路口进行了一个月的测试。根据实际交通需求,静态设置了路口的5个相位。图8展示了系统推荐方案窗口。方案不仅分配了相位时间而且能够根据交通需求增减相位,由于方案的参数源于车道流量的分析。这对于很多专家经验推荐系统是非常困难的,因为在训练模型中仅代理了相位。
图8 281路口方案推荐
据观察,系统推荐相位调整策略基本符合人类决策。经信号工程师修改系统推荐方案的数量远低于修改SCATS系统自适应方案的数量,这说明信号工程师的工作量明显降低。图9(a)描绘了工作日SCATS281路口效率指数变化曲线,在2019年3月路口效率指数有明显提高。此外,对比了系统部署前后文三西路子区中的主干道车流速度(图9(b))。在交通高峰时段,主干道车流速度提高约2.17%,通行效率提高约1.95%。车流速度为车辆经过检测点的平均速度:
(14)
(a) SCATS281路口效率指数
(b) 文三子区主干道车流速度图9 子区通行效率和车流速度
式中:N表示经过检测点车辆的总数;Vk表示第k辆车经过检测点的速度。
通行效率指数:是以无量纲的数字反映当前路口、区域道路交通通行效率状态的一种定量表示,数值越大表示通行效率越好。计算方法如下:
(15)
(16)
此外,还对文三西路动态子区中的其他路口推荐的方案进行了评估。在某些时段这些路口没有被划进相同子区,但控制方案的推荐考虑了临近路口交通状况。因此,与SCATS系统自适应方案相比,其余路口的推荐方案均得到了专业信号工程师的良好评价。但是,在平峰时段推荐方案效果不够明显,这可能是由于车道流量差别很小引起的。另一方面,系统存储路口空间基础配置信息,当出现个别检测器失效状况时,系统能对比出失效的检测器编号并忽略对该数据的检索,从而降低负面影响。
4 结 语
本文提出一种交通子区控制方案推荐系统,在基于子区动态数据聚类算法及协同推荐算法的技术背景下,该系统能够训练历史控制策略并学习当前控制决策,辅助信号控制工程师提高道路通行效率,尤其是在交通高峰时期。该系统最实用的能力就是依赖现有的交通控制系统的检测器数据并能够直接发至信号控制终端。本文通过分布式聚类算法和参数复用的方式大幅提高推荐方案实时推荐的效率,为城市复杂多变的交通需求提供保障。
所提出的基于子区相似度的控制方案推荐系统在真实交通环境中实现。系统还包含了子区通行效率、平均速度等指标的实时分析计算。在实验过程中,我们能直观地看到控制方案运行效果,有助于信号控制工程师与系统的交互。相比于以往的信号控制推荐系统,该系统更注重路口间的相互协调。从相对宏观的角度推荐路口的控制方案,从而降低对周边路口的反作用。
然而,在实际运行过程中,我们发现推荐系统仍有改进空间。一方面将细化控制策略的影响因素,单独分析特殊交通需求对推荐方案的干扰。另一方面将探索深度学习框架对历史可训练数据参数优化,以在推荐的方案中更多地考虑专家经验。