CN114676541B - 一种交通仿真的方法、相关装置、设备以及存储介质 - Google Patents
一种交通仿真的方法、相关装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN114676541B CN114676541B CN202210588670.4A CN202210588670A CN114676541B CN 114676541 B CN114676541 B CN 114676541B CN 202210588670 A CN202210588670 A CN 202210588670A CN 114676541 B CN114676541 B CN 114676541B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- road section
- node
- information
- simulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/18—Network design, e.g. design based on topological or interconnect aspects of utility systems, piping, heating ventilation air conditioning [HVAC] or cabling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Traffic Control Systems (AREA)
Abstract
本申请公开了一种交通仿真的方法,可应用的领域包括但不限于交通领域、地图、导航、车联网和等领域。本申请包括:获取针对目标节点在第一仿真步长内的第一顶点数据集,第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息;获取针对目标节点的M组车辆信息;根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,第二顶点数据集包括节点信息、至少一组路段信息以及(M+N)组车辆信息。本申请还提供了相关装置、设备以及存储介质。本申请利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真,其仿真性能较优。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种交通仿真的方法、相关装置、设备以及存储介质。
背景技术
伴随智能运输系统(intelligent transportation system,ITS)的快速发展,交通仿真技术已成为交通工程界研究的热点领域之一。交通仿真技术是计算机技术在交通规划和交通工程领域的重要应用,其不仅可以重现交通流在时空中的变化,为交通管理与规划提供数据支持。而且可以通过校正仿真过程中的参数和环境来评价与优化道路运行效率。
根据模型对实际情况的还原与细节的描述不同,现有的交通仿真模型通常可分为宏观交通仿真模型与微观交通仿真模型。其中,微观交通仿真模型以车辆为仿真模型的基本单位,对其行驶过程中的车辆参数进行一定程度上的简化,以模拟车辆在不同道路和交通条件下的运行细节。
然而,发明人发现现有方案中至少存在如下问题,微观交通仿真模型着重于对个体行为进行模拟,只能对小型区域范围内的车辆和行人进行分析,但是随着仿真区域的扩大,其仿真性能会急剧下降。
发明内容
本申请实施例提供了一种交通仿真的方法、相关装置、设备以及存储介质。本申请利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真,其仿真性能较优。
有鉴于此,本申请一方面提供一种交通仿真的方法,包括:
获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,节点信息用于描述目标节点所对应的节点属性,至少一组路段信息用于描述第一顶点数据集内各条路段的路段属性,N组车辆信息用于描述在第一顶点数据集内各个仿真车辆的车辆属性,N为大于或等于0的整数;
获取针对目标节点的M组车辆信息,其中,M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入目标节点对应顶点数据集的各个仿真车辆的车辆属性,M为大于或等于1的整数,T为大于或等于1的整数;
根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,其中,第二顶点数据集包括节点信息、至少一组路段信息以及(M+N)组车辆信息,第二仿真步长为第一仿真步长相邻的下一个仿真步长。
本申请另一方面提供一种交通仿真的方法,该方法应用于图计算系统,图计算系统包括至少两个计算机设备;
图计算系统用于计算仿真路网中各个节点在各个仿真步长的顶点数据集;
图计算系统中的目标计算机设备用于实现上述各方面的方法,其中,目标计算机设备属于至少两个计算机设备中的一个计算机设备。
本申请另一方面提供一种交通仿真装置,包括:
获取模块,用于获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,节点信息用于描述目标节点所对应的节点属性,至少一组路段信息用于描述第一顶点数据集内各条路段的路段属性,N组车辆信息用于描述在第一顶点数据集内各个仿真车辆的车辆属性,N为大于或等于0的整数;
获取模块,还用于获取针对目标节点的M组车辆信息,其中,M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入目标节点对应顶点数据集的各个仿真车辆的车辆属性,M为大于或等于1的整数,T为大于或等于1的整数;
生成模块,用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,其中,第二顶点数据集包括节点信息、至少一组路段信息以及(M+N)组车辆信息,第二仿真步长为第一仿真步长相邻的下一个仿真步长。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于获取来源于T个顶点数据集的M个迭代数组,其中,M个迭代数组中的每个迭代数组包括目标节点所对应的节点标识以及待加入目标节点对应顶点数据集的车辆信息;
对M个迭代数组中的车辆信息进行合并处理,得到针对目标节点的M组车辆信息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,交通仿真装置还包括发送模块;
生成模块,还用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若(M+N)组车辆信息中存在P组车辆信息为待传递的车辆信息,则根据P组车辆信息生成P个迭代数组,其中,P个迭代数组中的每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息,P为大于或等于1的整数;
发送模块,用于针对P个迭代数组中的每个迭代数组,根据迭代数组中的节点标识,将迭代数组发送至节点标识对应节点的顶点数据集。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,交通仿真装置还包括解析模块;
获取模块,还用于获取针对目标节点的M组车辆信息之前,获取针对K个顶点数据集的顶点设置文件,其中,K为大于或等于1的整数;
解析模块,用于对顶点设置文件进行解析,得到仿真路网中K个顶点数据集所对应的车辆信息,其中,仿真路网表示为节点和路段构成的图结构,节点具有对应的节点信息,路段具有对应的路段信息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,交通仿真装置还包括判定模块;
获取模块,还用于获取针对目标节点的M组车辆信息之前,获取步长配置参数,其中,步长配置参数表示预先设定的最大仿真步长;
判定模块,用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若第二仿真步长等于仿真步长最大值,则结束仿真流程;
判定模块,还用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若第二仿真步长小于仿真步长最大值,则继续更新各个节点在下一个仿真步长的顶点数据集。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,节点信息包括节点标识以及节点地理坐标;
其中,节点标识用于标识唯一标识节点,且,节点标识表示为长整型的数据类型;
节点地理坐标用于描述节点所对应的横坐标位置以及纵坐标位置。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,路段信息包括路段基础信息以及路段扩展信息;
路段基础信息包括路段标识、路段起点标识、路段起点坐标、路段终点标识以及路段终点坐标;
路段扩展信息包括路段车道数、路段通行能力、路段其他属性、路段行驶速度、路段长度、路段通行类型中的至少一种;
其中,路段标识用于标识唯一路段,
路段起点标识用于标识路段的起始节点;
路段起点坐标用于描述路段起始节点所对应的横坐标位置以及纵坐标位置;
路段终点标识用于标识路段的终点节点;
路段终点坐标用于描述路段终止节点所对应的横坐标位置以及纵坐标位置;
路段车道数用于描述路段支持通行的车道数量;
路段通行能力用于描述道路疏导交通流的能力;
路段其他属性用于描述与路段相关的信息;
路段行驶速度用于描述在路段上允许行驶的速度;
路段长度用于描述路段的长度;
路段通行类型用于描述路段支持通行的对象类型。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,车辆信息包括车辆基础信息以及车辆扩展信息;
车辆基础信息包括出行标识、出行起点坐标以及出行终点坐标;
车辆扩展信息包括出行者标识、当前路段标识、当前行驶速度、当前路段行驶距离、途径路段标识、出发时间、车辆行驶状态、当前时间以及仿真步长中的至少一个;
其中,出行标识用于标识唯一出行计划,
出行起点坐标用于描述出行起始节点所对应的横坐标位置以及纵坐标位置;
出行终点坐标用于描述出行终止节点所对应的横坐标位置以及纵坐标位置;
出行者标识用于标识唯一的智能体;
当前路段标识用于描述仿真车辆当前所在路段的路段标识;
当前行驶速度用于描述仿真车辆当前的行驶速度;
当前路段行驶距离用于描述仿真车辆在当前所在路段的行驶距离;
途径路段标识用于描述仿真车辆本次出行已经过路段的路段标识;
出发时间用于描述仿真车辆本次出行的出发时间;
车辆行驶状态用于描述仿真车辆的出行状态;
仿真步长表示一次仿真迭代的时长。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,车辆扩展信息包括出发时间以及当前时间;
交通仿真装置还包括切换模块以及确定模块;
切换模块,用于若目标仿真车辆所对应的当前时间达到出发时间,则将目标仿真车辆从未激活状态切换为激活状态,其中,处于激活状态的仿真车辆基于对应的车辆信息进行行驶,目标仿真车辆为部署于仿真路网中的任意一个仿真车辆,仿真路网表示为节点和路段构成的图结构。
确定模块,用于若目标仿真车辆所对应的当前时间未达到出发时间,则确定目标仿真车辆处于未激活状态。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,车辆扩展信息包括当前行驶速度以及当前路段行驶距离;
生成模块,具体用于根据第一顶点数据集确定目标路段所对应的路段信息;
针对于(M+N)组车辆信息中的每组车辆信息,根据目标路段所对应的路段信息、当前行驶速度以及当前路段行驶距离,生成针对第二仿真步长的当前路段行驶距离;
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,车辆扩展信息包括车辆行驶状态;
交通仿真装置还包括更新模块;
更新模块,用于根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的车辆行驶状态;
生成模块,还用于若(M+N)组车辆信息中存在至少一组车辆信息所包括的车辆行驶状态为车道等待状态,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,车辆扩展信息包括当前路段标识;
更新模块,还用于根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的当前路段标识;
生成模块,还用于若(M+N)组车辆信息中存在至少一组车辆信息所包括的当前路段标识发生变化,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
本申请另一方面提供一种图计算系统,图计算系统包括至少两个计算机设备;
图计算系统用于计算仿真路网中各个节点在各个仿真步长的顶点数据集;
图计算系统中的目标计算机设备用于实现上述各方面的方法,其中,目标计算机设备属于至少两个计算机设备中的一个计算机设备。
本申请另一方面提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述各方面的方法。
本申请的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种交通仿真的方法,首先,需要获取针对目标节点在第一仿真步长内的第一顶点数据集,并且获取针对目标节点的M组车辆信息。于是,可根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集。至此完成针对目标节点的一次迭代计算。通过上述方式,基于仿真路网中的各个节点构建其对应的顶点数据集,再利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真。由于顶点数据集的数据量往往少于整个仿真路网的数据量,因此,分别对各个顶点数据集进行迭代计算的复杂度更低,其仿真性能优于对整个仿真路网进行迭代计算。
附图说明
图1为本申请实施例中基于智能决策与出行经验的一个架构示意图;
图2为本申请实施例中交通仿真的一个整体架构示意图;
图3为本申请实施例中交通仿真方法的一个流程示意图;
图4为本申请实施例中获取顶点数据集的一个示意图;
图5为本申请实施例中基于相邻仿真步长的一个车辆位置变化示意图;
图6为本申请实施例中顶点数据集、连边与边三元组的一个示意图;
图7为本申请实施例中结合对应函数功能实现交通仿真的一个示意图;
图8为本申请实施例中仿真车辆在路径上的一个示意图;
图9为本申请实施例中仿真车辆在路径上的另一个示意图;
图10为本申请实施例中图计算系统的一个架构示意图;
图11为本申请实施例中交通仿真装置的一个示意图;
图12为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种交通仿真的方法、相关装置、设备以及存储介质。本申请利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真,其仿真性能较优。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着社会发展和人们生活水平的提高,机动车保有量不断提高,而交通拥堵,环境污染等相关问题也接踵而至。相关部门通过各种方式调控道路交通资源,控制机动车保有量等解决交通问题。然而在现实交通系统中,某些措施的实施需要大量资金或人力物力的投入,有时还会导致某些隐含的交通安全问题,这就导致解决交通问题时,需要谨慎考虑措施和解决方案,并且保守地实施。同时,由于某些措施和解决方案的不确定性,导致实施的局限性较大。这种情况下,对交通系统进行仿真,对不同的措施和解决方案在仿真环境中进行测试就是一种有效的手段。通过对交通仿真模型的可视化,可直观的感受交通系统现状以及改善措施实施后的效果对比,同时,可以对其特定的数据进行提取,做到精准的量化对比。因此,交通系统仿真为交通规划咨询人员和相关部门提供了测试和优化各种道路交通计划。交通仿真技术作为智能交通运输系统的一项重要内容,伴随智能运输系统(intelligent transportation system,ITS)的快速发展,已成为国内外交通规划和交通工程界研究的热点之一。
ITS是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能(Artificial Intelligence,AI)等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
智能车路协同系统(Intelligent Vehicle Infrastructure CooperativeSystems,IVICS),简称车路协同系统,是ITS的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车与车、车与路的动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
其中,在ITS或IVICS可基于AI技术实现对车辆和行人等交通要素的模拟。例如,基于高精地图、环境感知、行为决策、路径规划、运动控制等技术,控制仿真车辆在交通系统中行驶。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,AI是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。AI也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。AI基础技术一般包括如传感器、专用AI芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。AI软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
交通仿真的目的是建立尽可能反映现实交通系统运行的实际状况,建立的模型要便于逼真地模拟出现实路网中的各种实际交通行为。例如,出行前的出行规划与决策,出行过程中车辆的跟驰行驶,车道变化,超车或交叉口信号延误导致的路径变换等。同时,为了使交通系统达到交通规划等功能,还需要交通仿真模型的建立能兼顾适时反映交通系统全局的动态和非线性变化特性,支持任意提取交通系统不同时段,各种状态下彼此的关系与影响力度,以便于对道路参数和交通状态等进行统计分析,具有一定程度上的灵活性。
交通仿真的基本原理是,将仿真区域内的所有出行者视为智能体,模拟智能体在一段时间(例如,一天)的出现情况。为了便于理解,请参阅图1,图1为本申请实施例中基于智能决策与出行经验的一个架构示意图,如图所示,整个系统架构主要分成两部分,其一为基于每个智能体在一段时间的出行活动而构建的个体决策架构。另一为基于启发式算法的模拟智能体在整个交通系统中以群体差异和经验积累为主的经验累积架构。具体地,每个智能体出行前对整个出行活动的计划,即,在选定一定的出行计划之后,智能体将会执行计划。在执行计划的过程中,由于智能体的认知偏差以及整个交通系统的动态变化,因此,还可以模拟每个智能体在出行过程中的决策过程,同时,利用启发式算法或超启发式算法还原出可能与计划产生的差别。
其中,智能体在不断的迭代过程中累积自身出行经验,根据个体差异融合对整个仿真区域内交通系统的认知,包括对其他智能体选择的认知偏差以及对整个交通系统不确定性的判断。本申请提供的技术方案,可在整个仿真过程中保留每个智能体的认知偏差与不确定性。示例性地,某智能体在某次迭代过程中获知有一定数量的车辆会在特定时间行驶在某条道路上,那么在下一次的出行过程中,该智能体会参考此次迭代的经验,动态的选择是否在下一次出行选择此条路段。同时由于每个智能体都是独立的,其他智能体可能同样会考虑此条道路太过拥堵而选取其他路段。如此反复,在迭代次数达到一定数量以后,各个智能体在制定出行时,不仅会综合考虑之前出行时累积的经验,还会博弈地考虑其他智能体是否会采用相同的路径,以及整个交通系统运行的不确定性。基于此,整个交通系统达到了与现实高度相符的动态平衡过程。
下面将结合图2,介绍交通仿真的整体流程与架构,图2为本申请实施例中交通仿真的一个整体架构示意图,如图所示,整个交通仿真架构分为五个部分,分别为“初始化”的部分,“执行计划”的部分,“评估计划”的部分,“重新规划”的部分,“结果分析与应用”的部分。在交通仿真模型正式运行之前,需要对数据和出行者的计划进行初始化,之后进入循环迭代过程。其中,执行计划是对执行的计划进行评估,根据路网拥堵程度的更新,基于自身的认知选择更好的出行计划或继续沿用以前的计划。执行重新规划好的计划并重复此过程,直到整个交通系统达到动态的平衡状态,即,计划评估后的差别落到期望值以内或达到指定的循环次数。最后,对计划数据进行分析,与实际交通状态进行对比并调整参数,再重新运行或直接应用结果,以此,形成分析报告或进行模型的可视化,便于仿真结果更直观的呈现。以下将分别对各个部分的内容进行介绍,具体地:
(1)初始化;
首先对所有智能体的出行计划,道路路网和设施等进行初始化。在初始化过程中,所有智能体初次到达仿真区域,因此,各个智能体仅基于自身的出行计划,利用查询到的路径对道路情况仅有基本了解,而对其他智能体的出行路径以及出行选择未有了解。所有智能体此时随机选择可行的出行方式。可以理解的是,如果智能体未拥有机动车,则不可以选在机动车作为其出行方式。如果智能体第一次出行选择机动车作为其出行方式,则后续的出行方式也需要选择机动车作为出行方式,直到回到出发点(例如,家)为止,而不能将其留在中间某次出行的目的地。
在确定了出行方式之后,由于对路网的拥堵程度未有感知,因此,所有路径均采用最短距离进行路径选择(公交方式除外)。
(2)执行计划;
执行计划的过程是将所有智能体的计划按照指定的仿真步长进行还原,以此模拟车辆或行人在交通系统中的具体位置与运行状态。执行过程中的车辆将会受制于交通系统的运行状态,而不会完全按照事先的计划进行。示例性地,车辆经过某个交叉口时会实时遇到信号控制,因此,需要根据实际的情况通过交叉口。示例性地,如果某一路段的车辆较多,则在此路段上的出行时间会比在车辆较少的路段上行驶的出行时间更长。示例性地,如果某一路段的车辆由于信号控制或突发事件导致车辆停滞,其容量达到一定程度后,后续路段的车辆要驶入时需要在之前的路段等待,直到路段上一定数量的车辆驶离后,后续路段的车辆才能进入此路段。
(3)评估计划;
评估计划的作用有两个层面,即,当前的出行计划执行后与计划时的差距,以及,指导此次出行计划是否会有潜在的更好计划。出行计划的评估包括在不同出行目的地之间出行过程所产生的效用。这里的评估不仅包含出行时间,还包含其他广义的出行费用,例如,公交费用,高速公路过路费等,以及潜在影响出行的可部分量化的广义费用,例如,遭遇信号控制交叉口的等待时间,公共交通的拥挤程度等。
出行计划的评估还包括在目的地进行日常活动时的效用。这里的评估包含由于交通拥堵导致的迟到,或,由于早到而设施未到开门时间而需要等待的负效用,或,由后续计划而影响的早退等。同时,初始可选计划可能会导致每次出行的次数不同,此时,在进行每个智能体的效用计算时,需要对每个智能体的出行计划总次数进行标准化再进行计算。
(4)重新规划;
重新规划参考出行计划和决策对道路状态的预判以及实施过程中预判与实际的差距。其中,超启发式算法为每个智能体设置了不同的选择策略,智能体在重新对出行进行规划的时候,会参考上一次出行时的各种出行状态,同时,也会提取历史出行过程中的均值期望以及方差等不确定性信息。在进行决策时,需要对其他智能体的决策进行预判,博弈性地选择实际的出行计划。整个交通系统的设计充分考虑了每个人在城市生活中的实际情况,对交通系统的感知误差以及对他人的选择都会在制定的出行计划里有所体现,保证整个交通系统是一个动态的系统随机过程。
(5)结果分析与应用;
在迭代达到一定次数之后,整个交通系统会达到一个动态平衡的过程。虽然部分智能体在制定出行计划时仍然会有调整,但整个交通系统会在一定的范围内小幅度的波动。此时,可以认为整个交通系统达到了动态的随机平衡状态,可对交通系统的状态进行分析。同时,可根据实际需求对模型进行应用。例如,测试在某一地段建立新的道路之后,会有多少流量可以被分流到新建道路上。或对公交和地铁的票价进行敏感性分析,测试费用变动对于公共交通出行比例的影响等。
在本申请中可采用分布式计算架构进行交通仿真,因此,在面对大规模和大批量的出行模型仿真时,其计算效率较高,计算时间大幅较短。通过计算资源的合理配置,在一定程度上可以满足半实时甚至实时的模型计算需求。实时或半实时的交通仿真模型计算可应用于应急系统指挥和避灾救难等场景,即,测试在交通系统实时崩溃的情况下,不同的救援方案的实施效果,从而选择最优的救援方案,可提供快速准确的数据决策支持。
结合上述介绍,下面将对本申请中交通仿真的方法进行介绍,请参阅图3,本申请实施例中交通仿真方法可以由计算机设备执行,该计算机设备可以是服务器或终端设备。本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和AI平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、个人电脑或车载设备等,但并不局限于此。本申请包括:
110、获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,节点信息用于描述目标节点所对应的节点属性,至少一组路段信息用于描述第一顶点数据集内各条路段的路段属性,N组车辆信息用于描述在第一顶点数据集内各个仿真车辆的车辆属性,N为大于或等于0的整数;
在一个或多个实施例中,基于仿真路网中的各个节点构建其对应的顶点数据集(vertex dataset,VD),其中,VD至少包括节点信息和路径信息。此外,还可以包括仿真车辆所对应的车辆信息。基于此,在每个仿真步长下,可对各个节点对应的VD进行更新,本申请主要以更新各个VD中的车辆信息为例进行讨论。
具体地,可获取针对目标节点在第一仿真步长内的第一VD,一个仿真步长可以设置为1秒。本申请将仿真路网中的节点信息,通往节点的路段信息,在通往节点路段上行驶的仿真车辆的车辆信息,以及正在队列中即将进入通往节点路段的仿真车辆的车辆信息,全部放入该节点对应的VD里。为了便于理解,下面将结合图4,介绍获取目标节点对应第一VD的方式。
示例性地,请参阅图4中的(A)图,如图所示,第一VD包括目标节点的节点信息以及路段1的路段信息。在此情况下,第一VD包括1组路段信息以及0组车辆信息。
示例性地,请参阅图4中的(B)图,如图所示,第一VD包括目标节点的节点信息、路段1的路段信息、仿真车辆A的车辆信息以及仿真车辆B的车辆信息。在此情况下,第一VD包括1组路段信息以及2组车辆信息。
示例性地,请参阅图4中的(C)图,如图所示,第一VD包括目标节点的节点信息、路段1的路段信息、路段2的路段信息、仿真车辆A的车辆信息、仿真车辆B的车辆信息、仿真车辆C的车辆信息以及仿真车辆D的车辆信息。在此情况下,第一VD包括2组路段信息以及4组车辆信息。
示例性地,请参阅图4中的(D)图,如图所示,第一VD包括目标节点的节点信息、路段1的路段信息、路段2的路段信息、路段3的路段信息、仿真车辆A的车辆信息、仿真车辆B的车辆信息、仿真车辆C的车辆信息、仿真车辆D的车辆信息以及仿真车辆E的车辆信息。在此情况下,第一VD包括3组路段信息以及5组车辆信息。
示例性地,请参阅图4中的(E)图,如图所示,其中,仿真车辆F为正在队列中并且即将通往路段1的仿真车辆。由此,第一VD包括目标节点的节点信息、路段1的路段信息、仿真车辆A的车辆信息、仿真车辆B的车辆信息以及仿真车辆F的车辆信息。在此情况下,第一VD包括1组路段信息以及3组车辆信息。
需要说明的是,本申请以仿真路网中的目标节点为例进行介绍,在实际应用中,可对仿真路网中的各个节点均采用类似方式进行仿真计算,故此处不做赘述。
120、获取针对目标节点的M组车辆信息,其中,M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入目标节点对应顶点数据集的各个仿真车辆的车辆属性,M为大于或等于1的整数,T为大于或等于1的整数;
在一个或多个实施例中,基于仿真路网确定与目标节点的VD具有连边(edge,ED)关系的T个VD,其中,T个VD中每个VD对应的节点与目标节点之间具有一条或两条路段。
具体地,针对于T个VD中的每个VD,需要在第一仿真步长下分别计算出会在下一个仿真步长(即,第二仿真步长)进入到目标节点对应VD的车辆信息,由此,得到M组车辆信息。可以理解的是,本申请对步骤120与步骤110的执行顺序不进行限定。
130、根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,其中,第二顶点数据集包括节点信息、至少一组路段信息以及(M+N)组车辆信息,第二仿真步长为第一仿真步长相邻的下一个仿真步长。
在一个或多个实施例中,进入第二仿真步长时,对于目标节点对应的VD而言,不仅包括在步骤110中获取到的第一VD,还包括T个VD传递过来的M组车辆信息。对此,可通过交通仿真模型模拟出仿真车辆在第二仿真步长的车辆信息,以得到更新后的(M+N)组车辆信息。基于此,得到针对目标节点的第二VD,第二VD除了包括第一VD中的节点信息和至少一组路段信息之外,还包括(M+N)组车辆信息。
具体地,为了便于理解,请参阅图5,图5为本申请实施例中基于相邻仿真步长的一个车辆位置变化示意图,如图所示,假设T个顶点数据集仅包括节点1对应的VD,在第一仿真步长中,目标节点对应的VD(即,第一VD)包括目标的节点信息、路段1的路段信息、仿真车辆A的车辆信息以及仿真车辆B的车辆信息。而节点1对应的VD包括节点1的节点信息、路段4的路段信息以及仿真车辆G的车辆信息。经过仿真计算后,确定仿真车辆G的车辆信息会在第二仿真步长加入到目标节点对应的VD中。基于此,在第二仿真步长中,基于仿真车辆A的车辆信息、仿真车辆B的车辆信息以及仿真车辆G的车辆信息进行仿真计算,从而更新得到目标节点所对应的VD(即,第二VD)。
本申请实施例中,提供了一种交通仿真的方法。通过上述方式,基于仿真路网中的各个节点构建其对应的顶点数据集,再利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真。由于顶点数据集的数据量往往少于整个仿真路网的数据量,因此,分别对各个顶点数据集进行迭代计算的复杂度更低,其仿真性能优于对整个仿真路网进行迭代计算。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,获取针对所述目标节点的M组车辆信息,具体可以包括:
获取来源于T个顶点数据集的M个迭代数组,其中,M个迭代数组中的每个迭代数组包括目标节点所对应的节点标识以及待加入目标节点对应顶点数据集的车辆信息;
对M个迭代数组中的车辆信息进行合并处理,得到针对目标节点的M组车辆信息。
在一个或多个实施例中,介绍了一种基于消息合并(mergeMsg)函数实现车辆信息合并的方式。由前述实施例可知,在大规模图计算的初始阶段以及每轮迭代后,会根据上一轮使用的消息(例如,车辆信息)以及节点变换(vprog)函数,在图上调用连接顶点(joinVertices)方法来更新每个收到消息的VD。以目标节点对应的VD为例,可采用mergeMsg函数对T个VD传递来的消息进行融合,由此,得到包含M组车辆信息的一个消息。基于此,再融合目标节点对应VD包括的所有车辆信息,结合当前VD信号控制策略更新该VD中车辆的位置信息,驾驶行为,车辆行驶状态以及驾驶操作等。
需要说明的是,为了保持仿真步长的一致性,在执行vprog函数时,每个VD均需要向自身发送消息,以保持所有VD在每个仿真步长都能够保持激活的状态,目的是为了同步所有VD的时间信息,从而使得仿真步长的一致。
具体地,在采用mergeMsg函数对T个VD传递来的消息进行融合之前,需要先将驶出T个VD的车辆信息推送给消息发送(sendMsg)函数。sendMsg函数的运行参数是一个边上下文(EdgeContext),EdgeContext可包括路径信息、节点信息和车辆信息。图计算系统(例如,Pregel)调用聚合消息(aggregateMessage)时,会将EdgeContext转换为边三元组(EdgeTriplet)对象来使用。通过迭代数组Iterator[(VertexID,A)] 指定发送给哪些节点以及发送哪些内容。由于VD与VD之间的连边上可以发送多个消息(例如,发送至目的节点的消息(sendToDst),发送至源节点的消息(sendToSrc)),因此,在迭代数组中的VertexID表示接收这条消息的节点标识(即,边上的源节点标识(srcId)或目的节点标识(dstId))。A表示要发送的车辆信息。示例性地,如果节点1需要发送一条消息A到目标节点,则有Iterator((dstId,A)),其中,dstId为目标节点的节点标识,A表示待加入目标节点对应VD的车辆信息。如果什么消息也不发送,则返回一个空的Iterator,即,Iterator.empty。
遍历当前VD里所有的车辆信息,将所有从当前路段上驶出而下一个仿真步长驶入下一个的VD的车辆信息作为发送内容,根据车辆信息保存的路径信息发送给指定VD。基于此,可采用mergeMsg函数对接收到的多个消息(例如,M个车辆信息)进行合并。例如,一个迭代数组为Iterator[(0001,车辆信息A)],另一个迭代数组为Iterator[(0001, 车辆信息B)],合并后为Iterator[(0001,车辆信息A, 车辆信息B)]。区别于vprog函数,mergeMsg函数仅能够合并消息内容,但合并之后并不会更新到VD中,而vprog函数可以根据收到的消息(即,mergeMsg函数产生的合并结果)更新VD。
其次,本申请实施例中,提供了一种基于mergeMsg实现车辆信息合并的方式。通过上述方式,将接收到来自相邻VD的多条消息进行合并,以此,直接基于合并后的消息进行处理。相比于对逐条消息进行处理,合并处理能够降低信息在集群中的传播量,从而极大的增快数据传输效率。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,还可以包括:
若(M+N)组车辆信息中存在P组车辆信息为待传递的车辆信息,则根据P组车辆信息生成P个迭代数组,其中,P个迭代数组中的每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息,P为大于或等于1的整数;
针对P个迭代数组中的每个迭代数组,根据迭代数组中的节点标识,将迭代数组发送至节点标识对应节点的顶点数据集。
在一个或多个实施例中,介绍了一种基于sendMsg函数实现消息传递的方式。由前述实施例可知,每个VD可将已经驶出自身VD对应路段的车辆信息推送给sendMsg函数。以在第二仿真步长计算得到的目标节点的第二VD为例,其中,第二VD包括(M+N)组车辆信息。假设存在P个车辆已经驶出目标节点对应的路段,即,构建P个迭代数组。
具体地,P个迭代数组中的每个迭代数组包括节点标识以及待加入节点对应VD的车辆信息。示例性地,假设节点1的节点标识为“123”,节点2的节点标识为“456”,P个迭代数组包括Iterator[(123,车辆信息A)]和Iterator[(456,车辆信息B)]。基于节点标识为“123”,向节点1对应的VD发送车辆信息A。基于节点标识为“456”,向节点2对应的VD发送车辆信息B。
其次,本申请实施例中,提供了一种基于sendMsg函数实现消息传递的方式。通过上述方式,基于VD在一轮仿真步长计算得到的车辆信息,如果存在需要传递至下一个VD的车辆信息,那么可采用sendMsg函数将车辆信息传递至向下一个VD。由此,保证了方案的可行性和可操作性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,获取针对所述目标节点的M组车辆信息之前,还可以包括:
获取针对K个顶点数据集的顶点设置文件,其中,K为大于或等于1的整数;
对顶点设置文件进行解析,得到仿真路网中K个顶点数据集所对应的车辆信息,其中,仿真路网表示为节点和路段构成的图结构,节点具有对应的节点信息,路段具有对应的路段信息。
在一个或多个实施例中,介绍了一种基于initialMsg实现仿真初始化的方式。由前述实施例可知,在开始进行交通仿真之前,还需要读取顶点设置文件,顶点设置文件中包括针对K个VD的配置内容,其中,配置内容可包括节点信息、路径信息以及车辆信息。需要说明的是,顶点设置文件的格式可以是可扩展标记语言(Extensible Markup Language,XML)或编程语言对象简谱(JavaScript Object Notation,JSON)等,此处不做限定。
具体地,对顶点设置文件进行解析之后,得到初始化消息(initialMsg)。initialMsg用于初始化仿真路网中VD的属性,即,初始化节点的节点信息、路径的路径信息以及仿真车辆的车辆信息。基于此,在图计算系统(例如,Pregel)调用时,在图上使用贴图顶点(mapVertices)来根据initialMsg的值更新每个VD的值。更新方式由vprog函数的参数而定,即,vprog函数接收initialMsg作为参数来更新对应节点的值。读取仿真路网,并将每个智能体的计划并分解成车辆信息,分配至计算机设备,同时激活所有VD。
下面将结合图6,介绍VD,ED和EdgeTriplet。请参阅图6,图6为本申请实施例中顶点数据集、连边与边三元组的一个示意图,如图所示,GraphX集群中包含VD与ED,为了便于后续仿真执行计划的计算,将VD定义为如图所示的结构,区别于仿真路网中的节点与路段,将仿真路网中的节点,通往节点的路段,在通往节点路段上行驶的仿真车辆以及正在队列中即将进入通往节点路段的仿真车辆全部放入VD里。计算时仅针对VD里仿真车辆的状态进行更新,即更新车辆信息。而仿真步长之间的信息转移为在仿真车辆行驶到不同路段的信息。ED仅保存路段中的拓扑结构信息,例如,源节点标识(srcID)到目的节点标识(desID)为单向边。同时,为了便于集群式存储,将整个仿真过程的信息拆分为由起始VD,ED以及终止VD构成的EdgeTriplet。
其次,本申请实施例中,提供了一种基于initialMsg实现仿真初始化的方式。通过上述方式,考虑到商业上应用的通用性,用户可通过自定义顶点设置文件实现不同场景的设置,使得模型兼容性较高,且功能多样化,有利于提升灵活性。基于此,除了可以解决大部分交通相关问题外,还可以解决城市规划,个人出行,公交地铁线路优化等多个问题多种场景的应用。同时扩展性好,可根据实际项目适当的调整顶点设置文件中的参数。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,获取针对所述目标节点的M组车辆信息之前,还可以包括:
获取步长配置参数,其中,步长配置参数表示预先设定的最大仿真步长;
根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,还可以包括:
若第二仿真步长等于仿真步长最大值,则结束仿真流程;
若第二仿真步长小于仿真步长最大值,则继续更新各个节点在下一个仿真步长的顶点数据集。
在一个或多个实施例中,介绍了一种设定最大迭代次数(maxIteration)的方式。由前述实施例可知,在开始进行交通仿真之前,还需要设置maxIteration。其中,maxIteration表示仿真系统的最大仿真时间(即,最大仿真步长)。如果需要仿真一整天的出现,且仿真精度为1秒时,则maxIteration设置为24*3600=86400。
具体地,以获取到目标节点在第二仿真步长的第二VD为例,如果第二仿真步长已经等于maxIteration,则仿真结束。反之,如果第二仿真步长还未达到maxIteration,则继续在下一个仿真步长中对各个VD进行更新。
下面将结合图7,介绍结合函数功能实现交通仿真的流程。请参阅图7,图7为本申请实施例中结合对应函数功能实现交通仿真的一个示意图,如图所示,首先需要制定各个智能体的出行计划,然后执行出行计划,由此进入交通仿真流程。进入仿真流程之后,需要先基于initialMsg实现仿真初始化。在初始化过程中会激活各个VD节点的属性,并定义边的活跃方向(activeDirection),即,定义消息传播的方向。
其中,活跃VD是指在某一轮迭代中,图计算系统(例如,Pregel)会以sendMsg函数和mergeMsg函数为参数来调用图中的aggregateMessage方法,然后接收到VD活跃消息。这轮迭代中所有被成功收到的消息边所对应的源VD是活跃VD,有的目的VD是活跃VD,有的边两端VD都是活跃VD。如果activeDirection参数被指定为“EdgeDirection.out”,则在下一轮迭代中,只接收消息的出边(即,源VD到目的VD)才会执行sendMsg函数。
在每一轮迭代之后,每个VD接收其他VD传入的车辆信息,同时融合自身VD所包括的车辆信息,以此进行VD更新。然后将已经驶出当前VD顶点路段的车辆信息推送给sendMsg函数。sendMsg函数遍历当前VD里所有的车辆信息,将所有从当前路段上驶出而下一个步长驶入下一个的VD的车辆信息作为发送内容,根据车辆想保存的路径信息发送给指定VD。mergeMsg函数对接收到的多条消息进行融合。至此完成一轮迭代。
其次,本申请实施例中,提供了一种设定maxIteration的方式。通过上述方式,集合实际仿真需求设定交通系统的最大仿真步长,当达到最大仿真步长时,即可结束仿真流程。从而提升方案的实用性和可操作性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,节点信息包括节点标识以及节点地理坐标;
其中,节点标识用于标识唯一标识节点,且,节点标识表示为长整型的数据类型;
节点地理坐标用于描述节点所对应的横坐标位置以及纵坐标位置。
在一个或多个实施例中,介绍了一种节点信息的表示方式。由前述实施例可知,节点信息表示仿真路网中节点对应的信息。其中,仿真路网由节点(node)和路段(link)构成,这里的节点和路段并非实际路网中的整条道路或交叉口,而是将其按照拓扑关系,几何关系,交通管理,道路等级和属性等打断重新构建的单向路段。所有双向路段均被分割为两条单向路段。节点和路段组成拓扑结构的仿真路网,为了保证路网数据在获取和应用时具有可扩展性和通用性,可以使用公开地图(OpenstreetMap),或通用拓扑结构的地理信息系统(Geographic Information System,GIS)数据进行转换修改合成。
具体地,以一个节点为例,节点的节点信息包括节点标识以及节点地理坐标。为了便于理解,请参阅表1,表1为节点信息的一个示意。
表1
其中,节点由唯一标识(即,节点标识)以及地理坐标组成。节点标识的数据类型为长整型,是64位有符号的,并且以二进制补码表示的整数。取值范围为大于或等于-9,223,372,036,854,775,808 (-2^63),且小于或等于9,223,372,036,854,775,807(2^63 -1)。
采用长整型作为节点标识的原因包括:第一,交通仿真模型的目标为大规模路网的仿真建模,如果采用短整形或其他整数类型,可能由于路网节点过多而导致节点标识溢出,从而违背标识唯一性的标准。第二,整数类型在复杂,大数据量计算的时候可以提供比字符,浮点等复杂类型更为快速的检索,在比对(哈希值,内存地址,唯一性等)的时间上也具有更好的优势。同时,节点作为GraphX 图结构顶点的父类,与其要求的类型相一致,避免了集群图计算时出现的兼容性问题以及解析错误。
其次,本申请实施例中,提供了一种节点信息的表示方式。通过上述方式,考虑到仿真路网中往往包括大量的节点,因此,采用长整型来表征节点标识能够避免标识溢出,从而一定程度上保证了标识唯一性标准。与此同时,整型在复杂且大数据量计算时可以提供比字符和浮点更为快速的检索和比对功能。而且节点作为图结构顶点的父类,与其要求的类型相一致,以此避免集群图计算时出现的兼容性问题以及解析错误等问题。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,路段信息包括路段基础信息以及路段扩展信息;
路段基础信息包括路段标识、路段起点标识、路段起点坐标、路段终点标识以及路段终点坐标;
路段扩展信息包括路段车道数、路段通行能力、路段其他属性、路段行驶速度、路段长度、路段通行类型中的至少一种;
其中,路段标识用于标识唯一路段,
路段起点标识用于标识路段的起始节点;
路段起点坐标用于描述路段起始节点所对应的横坐标位置以及纵坐标位置;
路段终点标识用于标识路段的终点节点;
路段终点坐标用于描述路段终止节点所对应的横坐标位置以及纵坐标位置;
路段车道数用于描述路段支持通行的车道数量;
路段通行能力用于描述道路疏导交通流的能力;
路段其他属性用于描述与路段相关的信息;
路段行驶速度用于描述在路段上允许行驶的速度;
路段长度用于描述路段的长度;
路段通行类型用于描述路段支持通行的对象类型。
在一个或多个实施例中,介绍了一种路段信息的表示方式。由前述实施例可知,路段信息表示仿真路网中路段对应的信息,可以进一步将路段信息分为路段基础信息以及路段扩展信息。路段信息中存储了整个仿真路网的拓扑结构关系及各个路段的属性信息,例如,道路的车道数,路段的通行能力,行驶速度以及允许的出行方式等。与一般意义上的路段不同的一点是,一般的道路或GIS数据的路段除少量单行道以外,大多是双向的,而本申请中所指的路段是将一般意义上的双向路段按照拓扑结构关系拆分成两条有向路段。
具体地,以一个路段为例,路段的路段信息包括路段基础信息以及路段扩展信息。为了便于理解,请参阅表2,表2为路段信息的一个示意。
表2
其中,路段通行能力为单向所有车道的总通行能力,可采用标准车当量数(Passenger Car Unit,PCU)来表示,PCU也称当量交通量,是将实际的各种机动车和非机动车交通量按一定的折算系数换算成某种标准车型的当量交通量。
同时,为简化计算与存储,所有弧线路段均被拆分为多段直线路段,因此,路段的几何长度并不能代表实际的路段长度,实际的路段长度保存在字段长度中。
由于智能体在出行时会考虑不同的出行方式,因此,路段的数据会记录允许的出行方式。按照城市道路等级而言,路段通行类型通常分为快速路,主干道与部分次干道。只允许机动车行驶,即允许小汽车与公交车行驶。其他道路(例如,支路以及小区内部道路)则允许步行或自行车行驶。这样设计的初衷时可以涵盖所有的出行方式,如果采用地铁线路,则将路段通行类型设置为仅采用地铁通行即可,也可以使用路段表示而不用创建单独的网络路段系统。
其次,本申请实施例中,提供了一种路段信息的表示方式。通过上述方式,路段信息中存储了仿真网络的拓扑结构关系及路段基本属性信息,并且在定义路段信息时考虑了后续GraphX计算时对Edge的定义方式,可作为后续GraphX的Edge使用。从而保证了方案的可行性和可操作性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,车辆信息包括车辆基础信息以及车辆扩展信息;
车辆基础信息包括出行标识、出行起点坐标以及出行终点坐标;
车辆扩展信息包括出行者标识、当前路段标识、当前行驶速度、当前路段行驶距离、途径路段标识、出发时间、车辆行驶状态、当前时间以及仿真步长中的至少一个;
其中,出行标识用于标识唯一出行计划,
出行起点坐标用于描述出行起始节点所对应的横坐标位置以及纵坐标位置;
出行终点坐标用于描述出行终止节点所对应的横坐标位置以及纵坐标位置;
出行者标识用于标识唯一的智能体;
当前路段标识用于描述仿真车辆当前所在路段的路段标识;
当前行驶速度用于描述仿真车辆当前的行驶速度;
当前路段行驶距离用于描述仿真车辆在当前所在路段的行驶距离;
途径路段标识用于描述仿真车辆本次出行已经过路段的路段标识;
出发时间用于描述仿真车辆本次出行的出发时间;
车辆行驶状态用于描述仿真车辆的出行状态;
仿真步长表示一次仿真迭代的时长。
在一个或多个实施例中,介绍了一种车辆信息的表示方式。由前述实施例可知,车辆信息表示仿真车辆对应的信息,可以进一步将车辆信息分为车辆基础信息以及车辆扩展信息。车辆信息表示智能体在一段时间内(例如,一天)的出行计划中,从一次活动到下次活动的所有信息合集。其中,包含智能体此次出行的出行标识以及此次出行所属的智能体标识,用于后续恢复与评价整个智能体的出行计划。
具体地,以一个仿真车辆为例,仿真车辆的车辆信息包括车辆基础信息以及车辆扩展信息。为了便于理解,请参阅表3,表3为车辆信息的一个示意。
表3
其中,途径路段标识和出发时间可以作为一个整体,采用“String[]”进行表示。车辆信息是图计算系统(例如,Pregel)计算时每个仿真步长更新和计算的主体内容,每次更新和计算时,更新的是所有车辆信息的属性信息,包含但不仅限于当前路段标识、当前行驶速度、当前路段行驶距离、途径路段标识、当前时间以及车辆行驶状态等。图计算系统(例如,Pregel)中的每个VD计算在下一个仿真步长开始之前需要交换的车辆信息,仅交换那些车辆信息在当前路段发生改变的信息,即,驶离当前路段的车辆在下个仿真步长之前的交换信息是会被发送到包含驶入路段的VD中。
其次,本申请实施例中,提供了一种车辆信息的表示方式。通过上述方式,基于智能体的出行决策生成车辆信息,即,利用车辆信息可模拟智能体出行的过程。由此,这样的设计更符合实际出行情况,充分考虑到出行者个体的实际感受与决策。从而提升仿真结果的准确性和逼真性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,车辆扩展信息包括出发时间以及当前时间;
还可以包括:
若目标仿真车辆所对应的当前时间达到出发时间,则将目标仿真车辆从未激活状态切换为激活状态,其中,处于激活状态的仿真车辆基于对应的车辆信息进行行驶,目标仿真车辆为部署于仿真路网中的任意一个仿真车辆,仿真路网表示为节点和路段构成的图结构。
若目标仿真车辆所对应的当前时间未达到出发时间,则确定目标仿真车辆处于未激活状态。
在一个或多个实施例中,介绍了一种基于激活车辆行驶状态的方式。由前述实施例可知,每个车辆扩展信息可以包括出发时间以及当前时间,以仿真步长为1秒为例,基于此,出发时间与当前时间也可以采用“秒”为单位进行表示。为了便于说明,下面将以目标仿真车辆为例进行介绍,其中,目标仿真车辆即为仿真路网中的任意一个仿真车辆。
具体地,为了便于理解,请参阅图8,图8为本申请实施例中激活仿真车辆的一个示意图,如图所示,假设目标仿真车辆为图示中的“仿真车辆X”,且假设仿真车辆X的出发时间为14点00分00秒。每个仿真车辆在出发时间到达之前,只更新当前时间对应的属性值,而其他属性皆处于未被激活的默认值状态。示例性地,仿真车辆X在下一个仿真步长的当前时间为13时59分59秒,此时,仿真车辆X仍然处于未激活状态。示例性地,仿真车辆X在下一个仿真步长的当前时间为14时00分00秒,此时,仿真车辆X从未激活状态切换为激活状态,即,仿真车辆X可以开始更新除了“当前时间”以外的其他属性值,并按照车辆信息在仿真路网上行驶。
需要说明的是,当出发时间到来时,仿真车辆可以进入路径信息的第一条路段进行排队,只有路段上的仿真车辆未超过饱和值时才会进入路段。
再次,本申请实施例中,提供了一种基于激活车辆行驶状态的方式。通过上述方式,将仿真车辆部署在出发起始位置,一旦当前时间达到出发时间,仿真车辆即可按照对应的车辆信息在仿真路网中进行行驶。由此可见,在交通仿真过程中,能够贴近于真实的智能体出行情况,从而提升交通仿真的准确性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,车辆扩展信息包括当前行驶速度以及当前路段行驶距离;
根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,具体可以包括:
根据第一顶点数据集确定目标路段所对应的路段信息;
针对于(M+N)组车辆信息中的每组车辆信息,根据目标路段所对应的路段信息、当前行驶速度以及当前路段行驶距离,生成针对第二仿真步长的当前路段行驶距离;
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集。
在一个或多个实施例中,介绍了一种计算仿真车辆所在位置的方式。由前述实施例可知,每个车辆扩展信息可以包括当前行驶速度以及当前路段行驶距离。基于此,每当有仿真车辆进入路段时,路段的行驶时间会根据公共道路局(Bureau of Public Road,BPR)函数进行更新。路段的行驶时间更新后,会根据当前路段的流量并采用BPR函数计算仿真车辆的当前行驶速度。同时,根据当前行驶速度并结合仿真车辆在当前路段行驶距离,更新仿真车辆的位置,由此得到仿真车辆更新后的当前路段行驶距离。
具体地,获取针对目标节点在第一仿真步长内的第一VD,基于第一VD可获取目标路段的路段信息,其中,目标路段即为仿真车辆在第一仿真步长所在的路段。基于此,根据路段信息可知路段长度,再结合(M+N)组车辆信息中每组车辆信息所包括的当前行驶速度以及当前路段行驶距离,更新当前路段行驶距离,即,得到针对第二仿真步长的当前路段行驶距离。基于此,根据每组车辆信息所包括的针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二VD。
需要说明的是,一种情况下,如果第二仿真步长的当前路段行驶距离超出目标路段的路段长度,则结合交叉口信号信息,可提取下一条路段的路段信息。如果当前路段允许进入仿真车辆直接驶入下个车辆,同时在下一个仿真步长将此车辆信息传递至下一个VD。
另一种情况下,为了便于理解,请参阅图9,图9为本申请实施例中仿真车辆在路径上的另一个示意图,如图所示,如果仿真车辆F在进入路段时检测到待进入路段由于各种原因已经饱和,则仿真车辆F进入下一路段的排队队列,同时在下一个仿真步长将此车辆信息传递至下一个VD。
再次,本申请实施例中,提供了一种计算仿真车辆所在位置的方式。通过上述方式,由于车辆信息中记录了出行过程中所需的基本信息,因此,在图计算系统(例如,Pregel)计算过程中,会在特定的条件下实时记录车辆信息作为后续分析统计输出。基于此,车辆信息从出行计划转换过来后,出行状态作为模型的输入,后续状态的更新则作为模型计算的输出。由此,保证了方案的可行性和可操作性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,车辆扩展信息包括车辆行驶状态;
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,还可以包括:
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的车辆行驶状态;
若(M+N)组车辆信息中存在至少一组车辆信息所包括的车辆行驶状态为车道等待状态,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
在一个或多个实施例中,介绍了一种基于车辆行驶状态向后传递车辆信息的方式。由前述实施例可知,车辆扩展信息可以包括车辆行驶状态。基于此,下面将以生成针对目标节点在第二仿真步长的第二VD为例进行介绍,其中,第二VD包括(M+N)组车辆信息。
具体地,获取(M+N)组车辆信息中每组车辆信息所包括的当前路段行驶距离,以此更新车辆行驶状态。如果仿真车辆X更新得到的当前路段行驶距离超出了当前所在路段,但是下一个路段还处于饱和状态,那么将仿真车辆X的车辆行驶状态更新为“车道等待状态”。基于此,如果(M+N)组车辆信息中存在至少一组车辆信息所包括的车辆行驶状态为车道等待状态,则生成相应的至少一组迭代数组,并传递至下一个VD。
需要说明的是,这里的迭代数组与前述实施例中介绍的迭代数组类似,此次不做赘述。
进一步地,本申请实施例中,提供了一种基于车辆行驶状态向后传递车辆信息的方式。通过上述方式,如果判定在下一个仿真步长有仿真车辆处于车道等待状态,则表示该仿真车辆即将驶入下一个路段,因此,可基于车辆行驶状态向下一个VD更新车辆信息,由此,提升方案的可行性和可操作性。
可选地,在上述图3所对应的各个实施例的基础上,本申请实施例提供的另一个可选实施例中,车辆扩展信息包括当前路段标识;
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,还可以包括:
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的当前路段标识;
若(M+N)组车辆信息中存在至少一组车辆信息所包括的当前路段标识发生变化,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
在一个或多个实施例中,介绍了一种基于当前路段标识向后传递车辆信息的方式。由前述实施例可知,车辆扩展信息可以包括当前路段标识。基于此,下面将以生成针对目标节点在第二仿真步长的第二VD为例进行介绍,其中,第二VD包括(M+N)组车辆信息。
具体地,获取(M+N)组车辆信息中每组车辆信息所包括的当前路段行驶距离,以此更新当前路段标识。如果仿真车辆X更新得到的当前路段行驶距离超出了当前所在路段,那么将仿真车辆X的当前路段标识更新为下一个路段的标识。基于此,如果(M+N)组车辆信息中存在至少一组车辆信息所包括的当前路段标识发生变化,则生成相应的至少一组迭代数组,并传递至下一个VD。
需要说明的是,这里的迭代数组与前述实施例中介绍的迭代数组类似,此次不做赘述。
进一步地,本申请实施例中,提供了一种基于当前路段标识向后传递车辆信息的方式。通过上述方式,如果判定在下一个仿真步长有仿真车辆的当前路段标识发生变化,则表示该仿真车辆即将驶入下一个路段,因此,可基于车辆行驶状态向下一个VD更新车辆信息,由此,提升方案的可行性和可操作性。
结合上述介绍,下面将介绍用于实现本申请的图计算系统,即,该图计算系统用于执行本申请提供的交通仿真方法。图计算系统包括至少两个计算机设备,至少两个计算机设备包括服务器和终端设备中的至少一种。计算机设备之间可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。其中,计算机设备可基于节点对应的VD实现交通仿真。
为了便于理解,请参阅图10,图10为本申请实施例中图计算系统的一个架构示意图,如图所示,图计算系统作为一个计算机集群,可运行Pregel架构。一个图计算任务会被分解到多个计算机设备上同时执行,即,选择图计算系统中的多个计算机设备执行图计算任务。一个计算机设备会被选为主控(master)设备,其他计算机设备作为工作(worker)设备。其中,主控设备主要负责将整个图结构(例如,仿真路网)的切分,采用切边法将其切割为子图,并将任务分配给各个工作设备。主控设备对工作设备下达命令,进行每一个“超级步(Super Step)”的计算,并同步和收集计算结果。
其中,Pregel在概念模型上遵循整体同步并行(Bulk Synchronous Parallel,BSP)模式。整个计算过程由若干顺序运行的超级步(Super Step)组成,系统从一个“超级步”迈向下一个“超级步”,直到达到算法的终止条件。本申请中的“仿真步长”即可理解为是“超级步”。基于此,在超大规模城市基于出行活动的车道及轨迹还原计算架构中,将出行计划确定后分配到动态路径上,根据Pregel架构计算每个仿真步长每一个智能体的精确位置与活动信息,精确还原其在车道级别的出行轨迹。
本申请兼顾了集群计算的优势,整个架构设计时既可以兼容在集群上运行,又保证了单机运行的效率性与可执行性。随着计算机与社会的发展,大型区域的交通仿真的需求越加迫切,集群计算的优势兼顾了可对大型区域仿真的同时,保证了计算时间与计算效率。
下面对本申请中的交通仿真装置进行详细描述,请参阅图11,图11为本申请实施例中交通仿真装置的一个实施例示意图,交通仿真装置30包括:
获取模块310,用于获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,节点信息用于描述目标节点所对应的节点属性,至少一组路段信息用于描述第一顶点数据集内各条路段的路段属性,N组车辆信息用于描述在第一顶点数据集内各个仿真车辆的车辆属性,N为大于或等于0的整数;
获取模块310,还用于获取针对目标节点的M组车辆信息,其中,M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入目标节点对应顶点数据集的各个仿真车辆的车辆属性,M为大于或等于1的整数,T为大于或等于1的整数;
生成模块320,用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,其中,第二顶点数据集包括节点信息、至少一组路段信息以及(M+N)组车辆信息,第二仿真步长为第一仿真步长相邻的下一个仿真步长。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,基于仿真路网中的各个节点构建其对应的顶点数据集,再利用迭代算法可计算出各个顶点数据集内的车辆信息在不同仿真步长下的变化情况。由此,达到对于整个交通系统的仿真。由于顶点数据集的数据量往往少于整个仿真路网的数据量,因此,分别对各个顶点数据集进行迭代计算的复杂度更低,其仿真性能优于对整个仿真路网进行迭代计算。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,
获取模块310,具体用于获取来源于T个顶点数据集的M个迭代数组,其中,M个迭代数组中的每个迭代数组包括目标节点所对应的节点标识以及待加入目标节点对应顶点数据集的车辆信息;
对M个迭代数组中的车辆信息进行合并处理,得到针对目标节点的M组车辆信息。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,将接收到来自相邻VD的多条消息进行合并,以此,直接基于合并后的消息进行处理。相比于对逐条消息进行处理,合并处理能够降低信息在集群中的传播量,从而极大的增快数据传输效率。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,交通仿真装置30还包括发送模块330;
生成模块320,还用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若(M+N)组车辆信息中存在P组车辆信息为待传递的车辆信息,则根据P组车辆信息生成P个迭代数组,其中,P个迭代数组中的每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息,P为大于或等于1的整数;
发送模块330,用于针对P个迭代数组中的每个迭代数组,根据迭代数组中的节点标识,将迭代数组发送至节点标识对应节点的顶点数据集。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,基于VD在一轮仿真步长计算得到的车辆信息,如果存在需要传递至下一个VD的车辆信息,那么可采用sendMsg函数将车辆信息传递至向下一个VD。由此,保证了方案的可行性和可操作性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,交通仿真装置30还包括解析模块340;
获取模块310,还用于获取针对所述目标节点的M组车辆信息之前,获取针对K个顶点数据集的顶点设置文件,其中,K为大于或等于1的整数;
解析模块340,用于对顶点设置文件进行解析,得到仿真路网中K个顶点数据集所对应的车辆信息,其中,仿真路网表示为节点和路段构成的图结构,节点具有对应的节点信息,路段具有对应的路段信息。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,考虑到商业上应用的通用性,用户可通过自定义顶点设置文件实现不同场景的设置,使得模型兼容性较高,且功能多样化,有利于提升灵活性。基于此,除了可以解决大部分交通相关问题外,还可以解决城市规划,个人出行,公交地铁线路优化等多个问题多种场景的应用。同时扩展性好,可根据实际项目适当的调整顶点设置文件中的参数。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,交通仿真装置30还包括判定模块350;
获取模块310,还用于获取针对所述目标节点的M组车辆信息之前,获取步长配置参数,其中,步长配置参数表示预先设定的最大仿真步长;
判定模块350,用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若第二仿真步长等于仿真步长最大值,则结束仿真流程;
判定模块350,还用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,若第二仿真步长小于仿真步长最大值,则继续更新各个节点在下一个仿真步长的顶点数据集。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,集合实际仿真需求设定交通系统的最大仿真步长,当达到最大仿真步长时,即可结束仿真流程。从而提升方案的实用性和可操作性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,节点信息包括节点标识以及节点地理坐标;
其中,节点标识用于标识唯一标识节点,且,节点标识表示为长整型的数据类型;
节点地理坐标用于描述节点所对应的横坐标位置以及纵坐标位置。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,考虑到仿真路网中往往包括大量的节点,因此,采用长整型来表征节点标识能够避免标识溢出,从而一定程度上保证了标识唯一性标准。与此同时,整型在复杂且大数据量计算时可以提供比字符和浮点更为快速的检索和比对功能。而且节点作为图结构顶点的父类,与其要求的类型相一致,以此避免集群图计算时出现的兼容性问题以及解析错误等问题。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,路段信息包括路段基础信息以及路段扩展信息;
路段基础信息包括路段标识、路段起点标识、路段起点坐标、路段终点标识以及路段终点坐标;
路段扩展信息包括路段车道数、路段通行能力、路段其他属性、路段行驶速度、路段长度、路段通行类型中的至少一种;
其中,路段标识用于标识唯一路段,
路段起点标识用于标识路段的起始节点;
路段起点坐标用于描述路段起始节点所对应的横坐标位置以及纵坐标位置;
路段终点标识用于标识路段的终点节点;
路段终点坐标用于描述路段终止节点所对应的横坐标位置以及纵坐标位置;
路段车道数用于描述路段支持通行的车道数量;
路段通行能力用于描述道路疏导交通流的能力;
路段其他属性用于描述与路段相关的信息;
路段行驶速度用于描述在路段上允许行驶的速度;
路段长度用于描述路段的长度;
路段通行类型用于描述路段支持通行的对象类型。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,路段信息中存储了仿真网络的拓扑结构关系及路段基本属性信息,并且在定义路段信息时考虑了后续GraphX计算时对Edge的定义方式,可作为后续GraphX的Edge使用。从而保证了方案的可行性和可操作性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,车辆信息包括车辆基础信息以及车辆扩展信息;
车辆基础信息包括出行标识、出行起点坐标以及出行终点坐标;
车辆扩展信息包括出行者标识、当前路段标识、当前行驶速度、当前路段行驶距离、途径路段标识、出发时间、车辆行驶状态、当前时间以及仿真步长中的至少一个;
其中,出行标识用于标识唯一出行计划,
出行起点坐标用于描述出行起始节点所对应的横坐标位置以及纵坐标位置;
出行终点坐标用于描述出行终止节点所对应的横坐标位置以及纵坐标位置;
出行者标识用于标识唯一的智能体;
当前路段标识用于描述仿真车辆当前所在路段的路段标识;
当前行驶速度用于描述仿真车辆当前的行驶速度;
当前路段行驶距离用于描述仿真车辆在当前所在路段的行驶距离;
途径路段标识用于描述仿真车辆本次出行已经过路段的路段标识;
出发时间用于描述仿真车辆本次出行的出发时间;
车辆行驶状态用于描述仿真车辆的出行状态;
仿真步长表示一次仿真迭代的时长。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,基于智能体的出行决策生成车辆信息,即,利用车辆信息可模拟智能体出行的过程。由此,这样的设计更符合实际出行情况,充分考虑到出行者个体的实际感受与决策。从而提升仿真结果的准确性和逼真性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,车辆扩展信息包括出发时间以及当前时间;
交通仿真装置30还包括切换模块360以及确定模块370;
切换模块360,用于若目标仿真车辆所对应的当前时间达到出发时间,则将目标仿真车辆从未激活状态切换为激活状态,其中,处于激活状态的仿真车辆基于对应的车辆信息进行行驶,目标仿真车辆为部署于仿真路网中的任意一个仿真车辆,仿真路网表示为节点和路段构成的图结构。
确定模块370,用于若目标仿真车辆所对应的当前时间未达到出发时间,则确定目标仿真车辆处于未激活状态。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,将仿真车辆部署在出发起始位置,一旦当前时间达到出发时间,仿真车辆即可按照对应的车辆信息在仿真路网中进行行驶。由此可见,在交通仿真过程中,能够贴近于真实的智能体出行情况,从而提升交通仿真的准确性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,车辆扩展信息包括当前行驶速度以及当前路段行驶距离;
生成模块320,具体用于根据第一顶点数据集确定目标路段所对应的路段信息;
针对于(M+N)组车辆信息中的每组车辆信息,根据目标路段所对应的路段信息、当前行驶速度以及当前路段行驶距离,生成针对第二仿真步长的当前路段行驶距离;
根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,由于车辆信息中记录了出行过程中所需的基本信息,因此,在图计算系统(例如,Pregel)计算过程中,会在特定的条件下实时记录车辆信息作为后续分析统计输出。基于此,车辆信息从出行计划转换过来后,出行状态作为模型的输入,后续状态的更新则作为模型计算的输出。由此,保证了方案的可行性和可操作性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,车辆扩展信息包括车辆行驶状态;
交通仿真装置30还包括更新模块380;
更新模块380,用于根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的车辆行驶状态;
生成模块320,还用于若(M+N)组车辆信息中存在至少一组车辆信息所包括的车辆行驶状态为车道等待状态,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,如果判定在下一个仿真步长有仿真车辆处于车道等待状态,则表示该仿真车辆即将驶入下一个路段,因此,可基于车辆行驶状态向下一个VD更新车辆信息,由此,提升方案的可行性和可操作性。
可选地,在上述图11所对应的实施例的基础上,本申请实施例提供的交通仿真装置30的另一实施例中,车辆扩展信息包括当前路段标识;
更新模块380,还用于根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,生成针对目标节点在第二仿真步长的第二顶点数据集之后,根据(M+N)组车辆信息中每组车辆信息针对第二仿真步长的当前路段行驶距离,更新(M+N)组车辆信息中每组车辆信息所包括的当前路段标识;
生成模块320,还用于若(M+N)组车辆信息中存在至少一组车辆信息所包括的当前路段标识发生变化,则根据至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
本申请实施例中,提供了一种交通仿真装置。采用上述装置,如果判定在下一个仿真步长有仿真车辆的当前路段标识发生变化,则表示该仿真车辆即将驶入下一个路段,因此,可基于车辆行驶状态向下一个VD更新车辆信息,由此,提升方案的可行性和可操作性。
本申请提供的交通仿真装置可部署于服务器。为了便于说明,请参阅图12,图12是本申请实施例提供的一种服务器结构示意图,如图所示,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)422(例如,一个或一个以上处理器)和存储器432,一个或一个以上存储应用程序442或数据444的存储介质430(例如一个或一个以上海量存储设备)。其中,存储器432和存储介质430可以是短暂存储或持久存储。存储在存储介质430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器422可以设置为与存储介质430通信,在服务器400上执行存储介质430中的一系列指令操作。
服务器400还可以包括一个或一个以上电源426,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口458,和/或,一个或一个以上操作系统441,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图12所示的服务器结构。
本申请实施例中还提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,该处理器执行计算机程序时,实现前述各个实施例描述方法的步骤。
本申请实施例中还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
本申请实施例中还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,实现前述各个实施例描述方法的步骤。
可以理解的是,在本申请的具体实施方式中,涉及到用户信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (17)
1.一种交通仿真的方法,其特征在于,包括:
获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,所述第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,所述节点信息用于描述所述目标节点所对应的节点属性,所述至少一组路段信息用于描述所述第一顶点数据集内各条路段的路段属性,所述N组车辆信息用于描述在所述第一顶点数据集内各个仿真车辆的车辆属性,所述N为大于或等于0的整数;
获取针对所述目标节点的M组车辆信息,具体包括:基于仿真路网确定与所述目标节点的所述第一顶点数据集具有连边关系的T个顶点数据集,所述T个顶点数据集中每个顶点数据集对应的节点与所述目标节点之间具有至少一条路段;针对所述T个顶点数据集中每个顶点数据集,在所述第一仿真步长下分别计算出会在下一个仿真步长进入到所述目标节点对应的所述第一顶点数据集的车辆信息,得到所述M组车辆信息,其中,所述M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入所述目标节点对应顶点数据集的各个仿真车辆的车辆属性,所述M为大于或等于1的整数,所述T为大于或等于1的整数;
根据所述第一顶点数据集以及所述M组车辆信息,生成针对所述目标节点在第二仿真步长的第二顶点数据集,其中,所述第二顶点数据集包括所述节点信息、所述至少一组路段信息以及(M+N)组车辆信息,所述第二仿真步长为所述第一仿真步长相邻的下一个仿真步长。
2.根据权利要求1所述的方法,其特征在于,所述获取针对所述目标节点的M组车辆信息,包括:
获取来源于所述T个顶点数据集的M个迭代数组,其中,所述M个迭代数组中的每个迭代数组包括所述目标节点所对应的节点标识以及待加入所述目标节点对应顶点数据集的车辆信息;
对所述M个迭代数组中的车辆信息进行合并处理,得到针对所述目标节点的所述M组车辆信息。
3.根据权利要求1所述的方法,其特征在于,所述根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,所述方法还包括:
若所述(M+N)组车辆信息中存在P组车辆信息为待传递的车辆信息,则根据所述P组车辆信息生成P个迭代数组,其中,所述P个迭代数组中的每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息,所述P为大于或等于1的整数;
针对所述P个迭代数组中的每个迭代数组,根据迭代数组中的节点标识,将迭代数组发送至节点标识对应节点的顶点数据集。
4.根据权利要求1所述的方法,其特征在于,所述获取针对所述目标节点的M组车辆信息之前,所述方法还包括:
获取针对K个顶点数据集的顶点设置文件,其中,所述K为大于或等于1的整数;
对所述顶点设置文件进行解析,得到仿真路网中K个顶点数据集所对应的车辆信息,其中,所述仿真路网表示为节点和路段构成的图结构,所述节点具有对应的节点信息,所述路段具有对应的路段信息。
5.根据权利要求1所述的方法,其特征在于,所述获取针对所述目标节点的M组车辆信息之前,所述方法还包括:
获取步长配置参数,其中,所述步长配置参数表示预先设定的最大仿真步长;
所述根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集之后,所述方法还包括:
若所述第二仿真步长等于所述仿真步长最大值,则结束仿真流程;
若所述第二仿真步长小于所述仿真步长最大值,则继续更新各个节点在下一个仿真步长的顶点数据集。
6.根据权利要求1所述的方法,其特征在于,所述节点信息包括节点标识以及节点地理坐标;
其中,所述节点标识用于标识唯一标识节点,且,所述节点标识表示为长整型的数据类型;
所述节点地理坐标用于描述节点所对应的横坐标位置以及纵坐标位置。
7.根据权利要求1所述的方法,其特征在于,所述路段信息包括路段基础信息以及路段扩展信息;
所述路段基础信息包括路段标识、路段起点标识、路段起点坐标、路段终点标识以及路段终点坐标;
所述路段扩展信息包括路段车道数、路段通行能力、路段其他属性、路段行驶速度、路段长度、路段通行类型中的至少一种;
其中,所述路段标识用于标识唯一路段,
所述路段起点标识用于标识路段的起始节点;
所述路段起点坐标用于描述路段起始节点所对应的横坐标位置以及纵坐标位置;
所述路段终点标识用于标识路段的终点节点;
所述路段终点坐标用于描述路段终止节点所对应的横坐标位置以及纵坐标位置;
所述路段车道数用于描述路段支持通行的车道数量;
所述路段通行能力用于描述道路疏导交通流的能力;
所述路段其他属性用于描述与路段相关的信息;
所述路段行驶速度用于描述在路段上允许行驶的速度;
所述路段长度用于描述路段的长度;
所述路段通行类型用于描述路段支持通行的对象类型。
8.根据权利要求1所述的方法,其特征在于,所述车辆信息包括车辆基础信息以及车辆扩展信息;
所述车辆基础信息包括出行标识、出行起点坐标以及出行终点坐标;
所述车辆扩展信息包括出行者标识、当前路段标识、当前行驶速度、当前路段行驶距离、途径路段标识、出发时间、车辆行驶状态、当前时间以及仿真步长中的至少一个;
其中,所述出行标识用于标识唯一出行计划,
所述出行起点坐标用于描述出行起始节点所对应的横坐标位置以及纵坐标位置;
所述出行终点坐标用于描述出行终止节点所对应的横坐标位置以及纵坐标位置;
所述出行者标识用于标识唯一的智能体;
所述当前路段标识用于描述仿真车辆当前所在路段的路段标识;
所述当前行驶速度用于描述仿真车辆当前的行驶速度;
所述当前路段行驶距离用于描述仿真车辆在当前所在路段的行驶距离;
所述途径路段标识用于描述仿真车辆本次出行已经过路段的路段标识;
所述出发时间用于描述仿真车辆本次出行的出发时间;
所述车辆行驶状态用于描述仿真车辆的出行状态;
所述仿真步长表示一次仿真迭代的时长。
9.根据权利要求8所述的方法,其特征在于,所述车辆扩展信息包括所述出发时间以及所述当前时间;
所述方法还包括:
若目标仿真车辆所对应的当前时间达到所述出发时间,则将所述目标仿真车辆从未激活状态切换为激活状态,其中,处于所述激活状态的仿真车辆基于对应的车辆信息进行行驶,所述目标仿真车辆为部署于仿真路网中的任意一个仿真车辆,所述仿真路网表示为节点和路段构成的图结构;
若所述目标仿真车辆所对应的当前时间未达到所述出发时间,则确定所述目标仿真车辆处于所述未激活状态。
10.根据权利要求8所述的方法,其特征在于,所述车辆扩展信息包括所述当前行驶速度以及所述当前路段行驶距离;
所述根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,包括:
根据所述第一顶点数据集确定目标路段所对应的路段信息;
针对于所述(M+N)组车辆信息中的每组车辆信息,根据目标路段所对应的路段信息、所述当前行驶速度以及所述当前路段行驶距离,生成针对所述第二仿真步长的当前路段行驶距离;
根据所述(M+N)组车辆信息中每组车辆信息针对所述第二仿真步长的当前路段行驶距离,生成针对所述目标节点在第二仿真步长的第二顶点数据集。
11.根据权利要求10所述的方法,其特征在于,所述车辆扩展信息包括所述车辆行驶状态;
所述根据所述(M+N)组车辆信息中每组车辆信息针对所述第二仿真步长的当前路段行驶距离,生成针对所述目标节点在第二仿真步长的第二顶点数据集之后,所述方法还包括:
根据所述(M+N)组车辆信息中每组车辆信息针对所述第二仿真步长的当前路段行驶距离,更新所述(M+N)组车辆信息中每组车辆信息所包括的车辆行驶状态;
若所述(M+N)组车辆信息中存在至少一组车辆信息所包括的车辆行驶状态为车道等待状态,则根据所述至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
12.根据权利要求10所述的方法,其特征在于,所述车辆扩展信息包括所述当前路段标识;
所述根据所述(M+N)组车辆信息中每组车辆信息针对所述第二仿真步长的当前路段行驶距离,生成针对所述目标节点在第二仿真步长的第二顶点数据集之后,所述方法还包括:
根据所述(M+N)组车辆信息中每组车辆信息针对所述第二仿真步长的当前路段行驶距离,更新所述(M+N)组车辆信息中每组车辆信息所包括的当前路段标识;
若所述(M+N)组车辆信息中存在至少一组车辆信息所包括的当前路段标识发生变化,则根据所述至少一组车辆信息生成至少一组迭代数组,其中,每个迭代数组包括节点所对应的节点标识以及待加入节点对应顶点数据集的车辆信息。
13.一种交通仿真的方法,其特征在于,所述方法应用于图计算系统,所述图计算系统包括至少两个计算机设备;
所述图计算系统用于计算仿真路网中各个节点在各个仿真步长的顶点数据集;
所述图计算系统中的目标计算机设备用于实现权利要求1至12中任一项所述的方法的步骤,其中,所述目标计算机设备属于所述至少两个计算机设备中的一个计算机设备。
14.一种交通仿真装置,其特征在于,包括:
获取模块,用于获取针对目标节点在第一仿真步长内的第一顶点数据集,其中,所述第一顶点数据集包括节点信息、至少一组路段信息以及N组车辆信息,所述节点信息用于描述所述目标节点所对应的节点属性,所述至少一组路段信息用于描述所述第一顶点数据集内各条路段的路段属性,所述N组车辆信息用于描述在所述第一顶点数据集内各个仿真车辆的车辆属性,所述N为大于或等于0的整数;
所述获取模块,还用于获取针对所述目标节点的M组车辆信息,具体包括:基于仿真路网确定与所述目标节点的所述第一顶点数据集具有连边关系的T个顶点数据集,所述T个顶点数据集中每个顶点数据集对应的节点与所述目标节点之间具有至少一条路段;针对所述T个顶点数据集中每个顶点数据集,在所述第一仿真步长下分别计算出会在下一个仿真步长进入到所述目标节点对应的所述第一顶点数据集的车辆信息,得到所述M组车辆信息,其中,所述M组车辆信息用于描述来源于T个顶点数据集在所述第一仿真步长,计算得到待加入所述目标节点对应顶点数据集的各个仿真车辆的车辆属性,所述M为大于或等于1的整数,所述T为大于或等于1的整数;
生成模块,用于根据第一顶点数据集以及M组车辆信息,生成针对目标节点在第二仿真步长的第二顶点数据集,其中,所述第二顶点数据集包括所述节点信息、所述至少一组路段信息以及(M+N)组车辆信息,所述第二仿真步长为所述第一仿真步长相邻的下一个仿真步长。
15.一种图计算系统,其特征在于,所述图计算系统包括至少两个计算机设备;
所述图计算系统用于计算仿真路网中各个节点在各个仿真步长的顶点数据集;
所述图计算系统中的目标计算机设备用于实现权利要求1至12中任一项所述的方法的步骤,其中,所述目标计算机设备属于所述至少两个计算机设备中的一个计算机设备。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至12任一项所述的方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210588670.4A CN114676541B (zh) | 2022-05-27 | 2022-05-27 | 一种交通仿真的方法、相关装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210588670.4A CN114676541B (zh) | 2022-05-27 | 2022-05-27 | 一种交通仿真的方法、相关装置、设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114676541A CN114676541A (zh) | 2022-06-28 |
CN114676541B true CN114676541B (zh) | 2022-09-23 |
Family
ID=82080601
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210588670.4A Active CN114676541B (zh) | 2022-05-27 | 2022-05-27 | 一种交通仿真的方法、相关装置、设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114676541B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115952692B (zh) * | 2023-03-10 | 2023-05-30 | 腾讯科技(深圳)有限公司 | 道路交通的仿真方法和装置、存储介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818497A (zh) * | 2021-04-19 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 交通仿真方法、装置、计算机设备和存储介质 |
CN113191028A (zh) * | 2021-06-30 | 2021-07-30 | 深圳坤湛科技有限公司 | 交通仿真方法、系统、程序及介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11215471B2 (en) * | 2019-01-25 | 2022-01-04 | Uber Technologies, Inc. | Autonomous vehicle positioning for trip optimization |
CN111815940B (zh) * | 2019-04-09 | 2022-07-29 | 阿里巴巴集团控股有限公司 | 交通仿真方法、装置、电子设备及计算机可读存储介质 |
CN113191029B (zh) * | 2021-06-30 | 2022-02-11 | 深圳坤湛科技有限公司 | 基于集群计算的交通仿真方法、程序及介质 |
-
2022
- 2022-05-27 CN CN202210588670.4A patent/CN114676541B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818497A (zh) * | 2021-04-19 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 交通仿真方法、装置、计算机设备和存储介质 |
CN113191028A (zh) * | 2021-06-30 | 2021-07-30 | 深圳坤湛科技有限公司 | 交通仿真方法、系统、程序及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114676541A (zh) | 2022-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103412975B (zh) | 动态交通仿真平台及其仿真方法 | |
Lobo et al. | InTAS--The Ingolstadt Traffic Scenario for SUMO | |
Krajzewicz et al. | Recent development and applications of SUMO-Simulation of Urban MObility | |
Maciejewski | A comparison of microscopic traffic flow simulation systems for an urban area | |
Gora | A genetic algorithm approach to optimization of vehicular traffic in cities by means of configuring traffic lights | |
CN114676541B (zh) | 一种交通仿真的方法、相关装置、设备以及存储介质 | |
Fujimoto et al. | Ad hoc distributed simulations | |
Codeca et al. | SAGA: An Activity-based Multi-modal Mobility ScenarioGenerator for SUMO | |
Schrab et al. | A large-scale traffic scenario of berlin for evaluating smart mobility applications | |
CN113191029B (zh) | 基于集群计算的交通仿真方法、程序及介质 | |
Zhang et al. | CAVSim: A microscope traffic simulator for connected and automated vehicles environment | |
Monga et al. | Sumo (simulation of urban mobility) and osm (open street map) implementation | |
CN114386536A (zh) | 区域确定方法、装置、计算设备以及存储介质 | |
Jung et al. | Simulation framework for modeling large-scale flexible transit systems | |
Picone et al. | Simulating smart cities with DEUS | |
Sinha et al. | Distributed computing approach to optimize road traffic simulation | |
Ban et al. | A multiscale simulation platform for connected and automated transportation systems | |
Valente et al. | An innovative approach for modelling urban road traffic using timed automata and formal methods | |
Rakow et al. | Investigation of the system-wide effects of intelligent infrastructure concepts with microscopic and mesoscopic traffic simulation | |
CN115499467A (zh) | 基于数字孪生的智能网联车测试平台及其搭建方法与系统 | |
Shi et al. | An adaptive route guidance model considering the effect of traffic signals based on deep reinforcement learning | |
Silva et al. | Temporal evolution of vehicular network simulators: Challenges and perspectives | |
Jin | Modelling the influence of neighbourhood design on daily trip patterns in urban neighbourhoods | |
Silva et al. | Survey of vehicular network simulators: A temporal approach | |
Aydt et al. | Symbiotic simulation for future electro-mobility transportation systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070397 Country of ref document: HK |