一种基于上下游路口车流量的启发式缺失道路车流量推算方法技术

技术编号:18290772 阅读:41 留言:0更新日期:2018-06-24 06:01
本发明专利技术公开了一种基于上下游路口车流量的启发式缺失道路车流量推算方法。建立路口和道路的联系,标记流量,区分未知流量道路;计算初始流量差指标;根据每条未知车流量道路的上游路口和下游路口的车流量情况计算未知道路的车流量,每条未知流量道路的流量值更新作为一种方案,计算该方案的流量差指标,每次迭代选取流量差最小的一种方案,直到达到迭代次数或流量差指标不能下降为止,输出一个包含路网上所有道路ID和车流量数据的映射集合。本发明专利技术利用上下游路口的进出车流量关系计算每一次的更新方案,并以流量差最小目标和迭代次数为约束条件进行启发式搜索,可以在可控的时间内给出一个更加完善的车流量分布情况,缓解车流量数据不足的问题。

【技术实现步骤摘要】
一种基于上下游路口车流量的启发式缺失道路车流量推算方法
本专利技术属于交通车流量数据处理领域,尤其涉及一种基于上下游路口车流量的启发式缺失道路车流量推算方法。
技术介绍
随着大数据技术和物联网技术的发展,交通领域中的车流量数据也逐步受到了重视,具有更多的应用领域。基于车流量数据,可以计算车流平均速度,为市民进行拥堵分析和预测;可以估算道路的通行时间,为市民出行推荐行程时间较短的线路;可以生成OD(出发和目的地)矩阵进行微观交通仿真,探究交通流运行规律。但是由于道路众多,有些道路上没有安装检测设备,或者有些道路安装了检测设备但是设备无法正常工作,这些因素都会导致我们无法获得完整的路网车流量数据,影响了上层应用的服务质量和正常工作。为了解决车流量数据不足的问题,一些可用的手段包括:添加新的设备,覆盖目标;进行实际交通流量调查,弥补缺失数据。但是这些手段会增加经济负担和人力开销。当然也可以通过其他设备来补充道路流量数据,如可以通过高清摄像头的图片对车流量进行统计,这需要利用图像处理相关的技术,但是如果某条道路没有安装设备,还是无法获取到车流量数据。此外,与车流量反推相关的研究有:湖南省公路学会的程正国和周也,基于高速公路封闭的特点,利用收费站出口车流量来发推主线交通量,但是由于城市道路没有收费站,也不封闭,所以该方法就无法适用;此外,在微观交通仿真领域,有OD反推相关的研究,但是该问题与本专利技术研究的问题并不一样,相同的是:两个问题都是基于不完整的道路车流量进行推算;不同的是:本专利技术推算的是整个道路的车流量,OD反推求的是所有出发点(Origin)到目的地(Destination)之间出行量的表格,也就是某条路线对车辆的吸引量,并不需要求出整个路网的车流量。
技术实现思路
本专利技术为了节省经济、人力成本,提高方法的适用性,通过利用已有道路的车流量数据,提供了一种基于上下游路口车流量的启发式缺失道路车流量推算方法。本专利技术的目的是通过以下技术方案来实现的:一种基于上下游路口车流量的启发式缺失道路车流量推算方法,包括以下步骤:(1)建立路口和道路的联系:为所有路口和道路建立内存对象,使得每条道路有唯一上游路口和唯一下游路口,并为对象提供唯一ID;将路口对象放入集合Junctions中,将所有道路对象放入集合Edges中;对于每条道路:设置道路对象的上游路口的ID和下游路口的ID;在上游路口的离开道路集合中添加该道路的ID;在下游路口的进入道路集合中添加该道路的ID;(2)标记流量,区分未知流量道路:读取已知的带有道路ID和流量的输入数据,将流量值非0的道路ID和流量值存入流量映射集合Demands中;根据Edges集合,将Demands集合中未出现过的道路的流量标记为0,存入Demands中,并将道路ID放入未知流量集合U中;(3)计算初始流量差指标,记为min_d,流量差指标d的计算方法如下所示:其中,V表示所有的路口节点,v表示某个路口节点,ed(v)表示所有以v为终点的道路集合,i表示某一条进入该路口的道路,bg(v)表示所有以v为起点的道路集合,o表示某一条离开该路口的道路,f(i)表示进入道路的车流量,f(o)表示离开道路的车流量;(4)进行启发式搜索:根据每条未知车流量道路的上游路口和下游路口的车流量情况计算未知道路的车流量,每条未知流量道路的流量值更新作为一种方案,计算该方案的流量差指标,每次迭代选取流量差最小的一种方案,直到达到迭代次数或者流量差指标不能下降为止;(5)输出推算结果,即输出一个映射集合Map,包含路网上所有道路ID和车流量数据的映射。进一步地,所述步骤(4)中,迭代前先判断是否达到迭代次数,达到则结束,否则初始化本轮方案:设置需要更新的道路ID为空,对应的流量更新值为0,然后开始迭代,每轮迭代包括下子步骤:(4.1)保存道路流量旧值:从未知流量的道路集合U中按集合元素访问顺序获取一个道路ID,保留该道路在流量映射集合Demands中的流量值v_old,然后在集合Demands中设置该道路流量为0;(4.2)根据上游路口车流量情况计算道路缺失车流量f0,如下所示:其中,p表示道路的上游路口;ed(p)表示所有以p为终点的道路集合;bg(p)表示所有以p为起点的道路集合;k函数表示过滤出车流量数据非0的道路;uk函数表示过滤出车流量为0的道路;s表示求集合的大小;i表示某一条进入该路口的道路;o表示某一条离开该路口的道路;f(i)表示进入道路i的车流量;f(o)表示离开道路o的车流量;(4.3)根据下游路口车流量情况计算道路缺失车流量f1,如下所示:其中,q表示道路的下游路口;ed(q)表示所有以q为终点的道路集合;bg(q)表示所有以q为起点的道路集合;k函数表示过滤出车流量数据非0的道路;uk函数表示过滤出车流量为0的道路;s表示求集合的大小;i表示某一条进入该路口的道路;o表示某一条离开该路口的道路;f(i)表示进入道路i的车流量;f(o)表示离开道路o的车流量;(4.4)根据步骤(4.2)得到的f0和步骤(4.3)得到的f1计算缺失道路的车流量f;(4.5)方案评价与更新:将该道路流量标记为f,利用步骤(3)中的流量差指标计算方法计算此方案的流量差指标d,然后将流量映射集合Demands中该道路的流量值设置成v_old,如果d<min_d,则更新本次迭代的方案:将需要更新的道路ID设置为该道路的ID,将方案需要设置的道路流量值设置为f,并设置min_d的值为d,如果d>=min_d,不需要任何操作;(4.6)继续按上述步骤遍历集合中的其它道路,集合U中道路遍历结束后,判断更新方案中需要更新的道路ID是否为空,为空则算法结束,否则按方案更新道路的流量值,并开始下轮迭代。进一步地,所述步骤(4.2)中,根据道路ID获取道路对象,然后通过道路对象的上游路口ID在Junctions集合中找到上游路口对象p;k函数实现步骤包括:初始化计数器值为0,遍历集合中道路,根据道路ID去流量映射集合Demands中找到该道路的车流量值,如果车流量值不是0则计数器加1,返回总的计数值;uk函数实现步骤包括:初始化计数器值为0,遍历集合中道路,根据道路ID去流量映射集合Demands中找到该道路的车流量值,如果车流量值是0则计数器加1,返回总的计数值。进一步地,所述步骤(4.3)中,根据道路ID获取道路对象,然后通过道路对象的下游路口ID在Junctions集合中找到下游路口对象q;k函数实现步骤包括:初始化计数器值为0,遍历集合中道路,根据道路ID去流量映射集合Demands中找到该道路的车流量值,如果车流量值不是0则计数器加1,返回总的计数值;uk函数实现步骤包括:初始化计数器值为0,遍历集合中道路,根据道路ID去流量映射集合Demands中找到该道路的车流量值,如果车流量值是0则计数器加1,返回总的计数值。进一步地,所述步骤(4.4)中,缺失道路的车流量f计算公式如下:其中,abs函数表示自定义的取正函数,如下所示:本专利技术利用上游路口车流量状况计算出一个值f0,利用下游路口车流量状况计算出一个值f1,大部分道路都是取二者的平均值作为缺失道路的流量值f,并没有以单独的本文档来自技高网
...
一种基于上下游路口车流量的启发式缺失道路车流量推算方法

【技术保护点】
1.一种基于上下游路口车流量的启发式缺失道路车流量推算方法,其特征在于,包括以下步骤:(1)建立路口和道路的联系:为所有路口和道路建立内存对象,使得每条道路有唯一上游路口和唯一下游路口,并为对象提供唯一ID;将路口对象放入集合Junctions中,将所有道路对象放入集合Edges中;对于每条道路:设置道路对象的上游路口的ID和下游路口的ID;在上游路口的离开道路集合中添加该道路的ID;在下游路口的进入道路集合中添加该道路的ID;(2)标记流量,区分未知流量道路:读取已知的带有道路ID和流量的输入数据,将流量值非0的道路ID和流量值存入流量映射集合Demands中;根据Edges集合,将Demands集合中未出现过的道路的流量标记为0,存入Demands中,并将道路ID放入未知流量集合U中;(3)计算初始流量差指标,记为min_d,流量差指标d的计算方法如下所示:

【技术特征摘要】
1.一种基于上下游路口车流量的启发式缺失道路车流量推算方法,其特征在于,包括以下步骤:(1)建立路口和道路的联系:为所有路口和道路建立内存对象,使得每条道路有唯一上游路口和唯一下游路口,并为对象提供唯一ID;将路口对象放入集合Junctions中,将所有道路对象放入集合Edges中;对于每条道路:设置道路对象的上游路口的ID和下游路口的ID;在上游路口的离开道路集合中添加该道路的ID;在下游路口的进入道路集合中添加该道路的ID;(2)标记流量,区分未知流量道路:读取已知的带有道路ID和流量的输入数据,将流量值非0的道路ID和流量值存入流量映射集合Demands中;根据Edges集合,将Demands集合中未出现过的道路的流量标记为0,存入Demands中,并将道路ID放入未知流量集合U中;(3)计算初始流量差指标,记为min_d,流量差指标d的计算方法如下所示:其中,V表示所有的路口节点,v表示某个路口节点,ed(v)表示所有以v为终点的道路集合,i表示某一条进入该路口的道路,bg(v)表示所有以v为起点的道路集合,o表示某一条离开该路口的道路,f(i)表示进入道路的车流量,f(o)表示离开道路的车流量;(4)进行启发式搜索:根据每条未知车流量道路的上游路口和下游路口的车流量情况计算未知道路的车流量,每条未知流量道路的流量值更新作为一种方案,计算该方案的流量差指标,每次迭代选取流量差最小的一种方案,直到达到迭代次数或者流量差指标不能下降为止;(5)输出推算结果,即输出一个映射集合Map,包含路网上所有道路ID和车流量数据的映射。2.根据据权利要1所述的一种基于上下游路口车流量的启发式缺失道路车流量推算方法,其特征在于,所述步骤(4)中,迭代前先判断是否达到迭代次数,达到则结束,否则初始化本轮方案:设置需要更新的道路ID为空,对应的流量更新值为0,然后开始迭代,每轮迭代包括下子步骤:(4.1)保存道路流量旧值:从未知流量的道路集合U中按集合元素访问顺序获取一个道路ID,保留该道路在流量映射集合Demands中的流量值v_old,然后在集合Demands中设置该道路流量为0;(4.2)根据上游路口车流量情况计算道路缺失车流量f0,如下所示:其中,p表示道路的上游路口;ed(p)表示所有以p为终点的道路集合;bg(p)表示所有以p为起点的道路集合;k函数表示过滤出车流量数据非0的道路;uk函数表示过滤出车流量为0的道路;s表示求集合的大小;i表示某一条进入该路口的道路;o表示某一条离开该路口的道路;f(i)表示进入道路i的车流量;f(o)表示离开道路o的车流量;(4.3)根据下游路口车流量情况计算道路缺失车流量f1,如下所示...

【专利技术属性】
技术研发人员:陈奇张子健胡斌闵大为
申请(专利权)人:广东行远信息技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1