CN113191029B - 基于集群计算的交通仿真方法、程序及介质 - Google Patents

基于集群计算的交通仿真方法、程序及介质 Download PDF

Info

Publication number
CN113191029B
CN113191029B CN202110735981.4A CN202110735981A CN113191029B CN 113191029 B CN113191029 B CN 113191029B CN 202110735981 A CN202110735981 A CN 202110735981A CN 113191029 B CN113191029 B CN 113191029B
Authority
CN
China
Prior art keywords
cluster
travel
traffic simulation
node
trip
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
Application number
CN202110735981.4A
Other languages
English (en)
Other versions
CN113191029A (zh
Inventor
吕明
王金明
虞振昕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Kunzhan Technology Co ltd
Original Assignee
Shenzhen Kunzhan Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Kunzhan Technology Co ltd filed Critical Shenzhen Kunzhan Technology Co ltd
Priority to CN202110735981.4A priority Critical patent/CN113191029B/zh
Publication of CN113191029A publication Critical patent/CN113191029A/zh
Application granted granted Critical
Publication of CN113191029B publication Critical patent/CN113191029B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0637Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Educational Administration (AREA)
  • Economics (AREA)
  • General Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Computer Hardware Design (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明公开了一种基于集群计算的交通仿真方法、程序及介质,该方法包括以下步骤:在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果;若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;直至所述评估结果满足第一预设条件,生成交通仿真结果;本发明提升大型区域交通仿真的计算速度与计算效率。

Description

基于集群计算的交通仿真方法、程序及介质
技术领域
本发明涉及交通仿真领域,尤其涉及一种基于集群计算的交通仿真方法、程序及介质。
背景技术
随着计算机与社会的发展,大型区域的交通仿真的需求越加迫切,现有技术采用的分布式交通仿真主要有两种,一种采用HLA(High Level Architecture)规范,需要采用特定的仿真支撑平台(RTI平台);另一种是基于面向服务的架构(Service OrientedArchitecture,SOA)和Web服务技术;这两种方式在进行交通仿真时,都需要做大量的软件开发和硬件配置工作,无法灵活快速地适应交通仿真的需求。
发明内容
有鉴于此,本申请实施例提供一种基于集群计算的交通仿真方法、程序及介质,提升大型区域交通仿真的计算速度与计算效率。
本申请实施例提供了一种基于集群计算的交通仿真方法,所述方法包括:
在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果;
若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;
基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;
直至所述评估结果满足第一预设条件,生成交通仿真结果。
在一实施例中,所述基于Pregel集群计算架构执行所述出行计划,包括:
初始化并激活集群节点;
确定所述集群节点中的源节点以及目标节点;
将出行计划数据通过所述源节点发送至所述目标节点;
获取所述出行计划数据中的变化信息;
融合所述出行计划数据中的变化信息以及所述目标节点的自身数据更新所述目标节点,生成目标节点的更新数据;
将所述更新数据发送至各个集群节点上,重新激活集群节点;
直至达到第二预设条件,则停止执行所述出行计划。
在一实施例中,所述初始化并激活集群节点,包括:
获取路网数据并进行解析,生成路网拓扑图;
将每个出行者的所述出行计划数据分解,生成多个单次出行计划并分配到所述路网拓扑图中的各个集群节点上。
在一实施例中,所述获取路网数据并进行解析,生成路网拓扑图,包括:
获取路网数据,将所述路网数据分解为节点信息以及路段信息;
将所述节点信息保存于节点,生成初始化节点;
将所述路段信息保存于边,生成初始化边;
结合所述初始化节点以及所述初始化边,生成所述路网拓扑图。
在一实施例中,所述节点信息,至少包括:路网数据中的全部节点、指向所述节点的边、所述边上的车辆信息以及预驶入所述边的车辆信息;所述路段信息至少包括源节点编号以及目标节点编号。
在一实施例中,所述初始化出行者的出行计划,包括:
确定出行方式;
利用所述出行方式,基于最短出行距离选择出行计划。
在一实施例中,所述基于Pregel集群计算架构执行所述出行计划,并生成评估结果,包括:
按照预设的时间步长,利用Pregel集群计算架构所述出行计划,并获取执行所述出行计划产生的出行效用;
利用所述出行计划产生的出行效用,对所述出行计划进行评估,生成所述评估结果。
在一实施例中,所述直至所述评估结果满足预设条件,生成交通仿真结果,包括:
对所述评估结果进行计数;
直至所述评估结果的次数大于或者等于预设循环次数,则生成交通仿真结果。
为实现上述目的,还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一所述的基于集群计算的交通仿真方法的步骤。
为实现上述目的,还提供一种计算机存储介质,所述计算机存储介质上存储有基于集群计算的交通仿真方法程序,所述基于集群计算的交通仿真方法程序被处理器执行时实现上述任一所述的基于集群计算的交通仿真方法的步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果;通过Pregel集群计算架构交通仿真系统中的出行计划,提高计算速度与计算效率。
若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;直至所述评估结果满足第一预设条件,生成交通仿真结果;通过个人出行决策以及超启发式算法对出行计划进行重新规划,充分考虑出行者在生活中的实际情况,结合出行者的决策,交通系统中临时出现的不确定性,系统的感知误差以及他人出行经验的参考等进行充分考虑,为保证整个交通系统的动态平衡提供支持。
附图说明
图1为本申请基于集群计算的交通仿真方法第一实施例的流程示意图;
图2为个人出行决策的架构示意图;
图3为本申请交通仿真方法的整体架构图;
图4为本申请基于集群计算的交通仿真方法第一实施例中步骤S110的具体实施步骤;
图5为本申请基于集群计算的执行计划过程的示意图;
图6为本申请基于集群计算的交通仿真方法步骤S111的具体实施步骤;
图7为本申请基于集群计算的交通仿真方法步骤S1111的具体实施步骤;
图8为本申请节点信息的结构示意图;
图9为本申请基于集群计算的交通仿真方法第二实施例的流程示意图。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果;若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;直至所述评估结果满足第一预设条件,生成交通仿真结果;本发明提升大型区域交通仿真的计算速度与计算效率。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
参照图1,图1为本申请基于集群计算的交通仿真方法的第一实施例,所述方法包括:
步骤 S110:在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果。
具体地,出行者可以是交通仿真系统中的智能个体,被模拟计算一定时长的出行情况;其中一定时长可以为24小时(一天),也可以是一周,或者更长时间,在此并不作限定。
同时,对交通仿真系统中的出行者的出行计划,以及道路路网、设施等进行初始化,可以是所有出行者第一次到达模型仿真的区域,对道路系统仅有基本了解,且不了解其他出行者的出行路径以及出行选择,可以通过智能终端查询路径规划出行计划,其中智能终端可以是智能手机、平板电脑以及智能手表等。
具体地,执行出行计划,是将所有出行者的计划进行还原,具体模拟车辆或行人在整个交通系统、路网中的具体位置以及运行状态。其中,整个执行过程中的车辆将会受制于整个交通系统的运行状态,而不会完全按照事先的计划进行,比如车辆经过某个交叉口时会实时的遭遇信号控制,根据实际的情况通过交叉口,同时如果某一路段的车辆较多,则其在此路段上的出行时间会比车辆较少时的时间长。另外,如果某一路段的车辆由于信号控制或突发事件导致车辆停滞,其容量达到一定程度后,后续路段的车辆要驶入时需要在之前的路段等待,直到路段上一定数量的车辆驶离后后续路段的车辆才能进入此路段。
具体地,集群(cluster)技术是一种较新的技术,通过集群计算,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。通过集群计算,可以大大提高交通仿真过程的计算速度以及计算效率,可以达到大型区域秒级仿真结果,即可以仿真百万人口城市的整个交通系统,达到车辆及出行者在每秒的位置及操作等。
其中,本实施例使用的是Pregel集群计算架构进行集群计算,pregel是一种基于BSP模型实现的并行图处理系统。为了解决大型图的分布式计算问题,Pregel搭建了一套可扩展的、有容错机制的平台,该平台提供了一套非常灵活的API,可以描述各种各样的图计算。Pregel作为分布式图计算的计算框架,主要用于图遍历、最短路径、PageRank计算等等。
步骤S120:若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划。
具体地,评估结果未满足第一预设条件可以是评估结果的差别在期望值范围内,或者也可以是评估结果的迭代次数达到预设循环次数,在此并不作限定,可以根据仿真系统的具体需要进行调整。
进一步,参照图2,图2为个人出行决策的架构,出行者在不断的迭代过程中累积自身出行经验,根据个体差异融合对整个城市/区域交通系统的认知,包括对其他个体选择的认知偏差以及对整个交通仿真系统不确定性的判断。个体对整个系统的认知与经验积累使之有别于其他的交通仿真软件,整个仿真过程中会保留每个出行者个体的认知偏差与不确定性,举例来说,某出行者在某次迭代过程中获取到有一定数量的车辆在特定时间行驶在某条道路上,在下一次的出行过程中此出行者会参考此次迭代的经验,动态的选择是否在下一次出行选择此条路段,同时由于每个出行者都是独立的智能体,其他出行者可能同样考虑犹豫此条道路太过拥堵而选取其他路段。如此反复,在迭代次数达到一定数量以后,个体出行者在制定出行不仅会综合考虑之前出行时累积的经验,还会博弈的考虑其他出行者是否会采用相同的路径,以及整个交通系统运行的不确定性。也因此,整个交通系统达到了与现实高度相符的动态平衡过程。
步骤S130:基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果。
具体地,参照步骤S120,利用Pregel集群计算架构执行新的出行计划。
步骤S140:直至所述评估结果满足第一预设条件,生成交通仿真结果。
具体地,在所述评估结果满足第一预设条件时,整个交通系统会达到一个动态平衡的过程,此时虽然部分出行者在进行出行计划的规划时仍然会有调整,但整个交通系统会在一定的范围内小幅度的波动。此时可以认为整个交通系统达到了动态的随机平衡状态,可以对交通系统的状态进行分析并生成交通仿真结果。
需要另外说明的是,可以根据实际需求对交通仿真模型进行应用,比如,测试在某一地段建立新的道路前后由多少流量可以被分流到新建道路上,或对公交、地铁的票价进行敏感性分析,测试费用变动时对公交出行比例的影响等。由于整个交通仿真系统采用了分布式计算架构,面对大规模大批量的出行模型仿真时,其计算效率提高,计算时间大幅缩短,通过计算资源的合理配置,在一定程度上可以满足半实时甚至实时的模型计算需求。实时或半实时的交通仿真模型计算可以用于应急系统指挥,避灾救难等场景,测试在交通系统实时崩溃的情况下不同的救援方案的实施效果,从而选择最优的救援方案,可提供快速准确的数据决策支持。
进一步地,生成交通仿真结果后,对交通仿真结果进行分析;将交通仿真结果与实际交通数据进行对比,调整参数后重新运行交通仿真系统;也可以将调整参数后的交通仿真系统进行应用;应用的方式可以包括形成分析报告,也可以是进行交通仿真模型的可视化,使仿真结果更加直观的呈现,提高交通仿真结果的直观性。
参照图3,图3为本申请交通仿真方法的整体架构图。
在上述实施例中,存在的有益效果为:在初始化出行者的出行计划后,基于Pregel集群计算架构所述出行计划,并生成评估结果;通过Pregel集群计算架构执行交通仿真系统中的出行计划,提高交通仿真过程中的计算速度与计算效率。
若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;直至所述评估结果满足第一预设条件,生成交通仿真结果;通过个人出行决策以及超启发式算法对出行计划进行重新规划,充分考虑出行者在生活中的实际情况,结合出行者的决策,交通系统中临时出现的不确定性,系统的感知误差以及他人出行经验的参考等进行充分考虑,为保证整个交通系统的动态平衡提供支持。
参照图4,图4为本申请基于集群计算的交通仿真方法第一实施例中步骤S110的具体实施步骤,所述基于Pregel集群计算架构所述出行计划,包括:
步骤S111:初始化并激活集群节点。
具体地,可以使用initialMsg函数初始化消息;这个初始化消息会被用来初始化图中的每个节点的属性,在pregel架构调用时,会首先在拓扑图上使用mapVertices来根据initialMsg的值更新每个节点的值。至于如何更新,则由vprog参数而定,vprog函数就接收了initialMsg消息作为参数来更新对应节点的值。
步骤S112:确定所述集群节点中的源节点以及目标节点。
步骤S113:将出行计划数据通过所述源节点发送至所述目标节点。
具体地,sendMsg为消息发送函数。该函数的运行参数是一个代表边的上下文,pregel在调用aggregateMessage时,会将EdgeContext转换成EdgeTriplet对象来使用,用户需要通过Iterator[(VertexID,A)]指定发送哪些消息,发送哪些节点,发送哪些内容;因为在一条边上可以发送多个消息,如sendToDst,sendToSrc,所以这里是个Iterator(迭代器),每个元素是一个tuple(元组),其中的VertexID便是接收此消息的节点编号,只能是该边上的目标节点编号或者源节点编号,而A就是要发送的内容。因此,如果要由源节点发送一条消息A到目标节点,则可以表示为:Iterator((dstId,A)),如果什么消息也不发送,则返回一个空的Iterator:Iterator.empty。
遍历当前节点里所有的路段上的车辆,将所有从当前路段上驶出而下一个步长驶入下一个的节点的出行计划(VehicleTrip)车辆作为发送内容,根据VehicleTrip保存的路径信息发送给指定节点。
具体地,activeDirection表示边的活跃方向。活跃节点是指在某一轮迭代中,pregel会以sendMsg和mergeMsg为参数来调用graph的aggregateMessage方法后收到消息的节点活跃消息(这轮迭代中所有被成功收到的消息),其中有的源节点是活跃节点,有的目标节点是活跃节点,有的路段两端节点都是活跃节点。如果activeDirection参数被指定为“EdgeDirection.out”,则在下一轮迭代中,只接收消息的出边(src—>dst)才会执行sendMsg函数。
步骤S114:获取所述出行计划数据中的变化信息。
步骤S115:融合所述出行计划数据中的变化信息以及所述目标节点的自身数据更新所述目标节点,生成目标节点的更新数据。
具体地,vprog为节点变换函数。在初始时,以及每轮迭代后,pregel会根据上一轮使用的信息和这里的vprog函数在图上调用joinVertices方法变化每个收到消息的节点。
此步骤首先接受从别的顶点传入的出行计划(VehicleTrip),同时融合本顶点所有路段上VehicleTrip位置及状态信息,结合当前节点(VD)信号控制策略更新本顶点路段上车辆的位置信息,驾驶行为、车辆状态以及驾驶操作,最后,将已经驶出当前顶点路段的车辆推送给sendMSg函数。另一个实施例区别于其他Pregel架构算法的一点是,普通的Pregel架构是只向需要的节点发送信息,在此为保持仿真步长的一致性,在进行节点变化函数的时候,无论是否需要,均需要向自身发送信息以保持所有节点在每个超步保持激活的状态,目的是为同步所有节点的时间信息,以保持仿真步长的一致。
具体地,mergeMsg为邻居节点收到多条消息时的合并逻辑。区别与vprog,mergeMsg仅能合并消息内容,但合并后并不会更新到节点中去,而vprog函数可以根据收到的消息(就是mergeMsg产生的结果)更新节点属性。此函数可以降低信息在集群中的传播量,从而极大的增快数据传输效率。
具体地,出行计划( VehicleTrip)是出行者在一整天的出行计划当中从一次活动到下次活动的所有信息的合集。其中包含此次出行的id以及此次出行所属的出行者id,用于后续恢复与评价整个出行者出行计划,此次出行的起讫点。VehicleTrip是Pregel计算时每个超步节点更新和计算的主体内容,每次更新与计算时更新的是所有VehicleTrip的属性信息,包括当前的路段,当前行驶的速度,在路段上的位置,时间戳信息以及车辆状态信息如未开始行程,车辆在路段前等待或完成出行等信息,而Pregel中每个节点计算结束下个超步开始前交换的信息除自身以外,仅交换那些VehicleTrip当前路段发生改变的信息,即驶离当前路段的车辆在下个超步之前集群间交换信息是会被发送到包含驶入路段的节点;具体可以参照表1。
表1
Figure 438820DEST_PATH_IMAGE001
每个VehicleTrip对象包含了车辆运行过程中的路径信息以及出发时间等信息,每辆车在出发时间到达前只更新当前对象的currentTime属性值,其他属性皆处于未被激活的默认值状态,当出发时间到来时,车辆会进入路径信息的第一条路段进行排队,只有路段上的车辆未超过饱和值时才会进入路段;同时每当有车辆进入路段时,路段的行驶时间会根据BPR函数(美国联邦公路局函数,使用于路段自由行驶时间计算)进行更新,路段的行驶时间更新后,会根据当前路段的流量及BPR函数计算车辆的速度,同时会根据当前速度结合车辆在当前路段的位置更新车辆的位置,如果当前车辆的位置更新后超出路段长度,则结合交叉口信号信息,从路径中提取下一条路段信息,如果当前路段允许进入车辆时则驶入下个车辆,同时在下一个超步发送信息传递此VehicleTrip的所有信息至新的节点;如果车辆在进入路段时检测到待进入路段车辆由于各种原因已经饱和,则车辆进入下一路段的排队队列,同时在下一个超步发送信息传递此VehicleTrip的所有信息至新的节点。
由于VehicleTrip中记录了出行过程中基本所有的信息,因此在Pregel计算过程中,会在特定的条件下实时记录VehicleTrip的信息作为后续分析统计输出,因此,VehicleTrip的信息从出行计划转换过来后,出行状态作为模型的输入而后续状态的更新则作为模型计算过程中的输出。
步骤S116:将所述更新数据发送至各个集群节点上,重新激活集群节点。
步骤S117:直至达到第二预设条件,则停止执行所述出行计划。
具体地,第二预设条件可以是迭代次数达到最大迭代次数;其中maxIteration可以为交通仿真系统中最大迭代次数及最终系统仿真时间或者给定的仿真步长,如果要仿真一整天的出行,仿真精度为1秒,则此值设置为24*3600 = 86400。
需要另外说明的是,重复以上步骤直到达到预先指定的迭代次数(可以为最大迭代次数),或所有VehicleTrip都完成了其出行,则程序终止,同时执行计划部分结束。
其中,具体可以参照图5,图5为基于集群计算的执行计划过程的示意图。
在上述实施例中,通过利用集群计算具体实现出行计划的执行,大大提高交通仿真过程的计算速度以及计算效率。
参照图6,图6为本申请基于集群计算的交通仿真方法步骤S111的具体实施步骤,所述初始化并激活集群节点,包括:
步骤S1111:获取路网数据并进行解析,生成路网拓扑图。
具体地,路网数据包括节点信息以及路段信息,可以是一个城市整个的交通数据。
步骤S1112:将每个出行者的所述出行计划数据分解,生成多个单次出行计划并分配到所述路网拓扑图中的各个集群节点上。
具体地,读取解析路网,将每个出行者的计划并分解成多个单次出行计划,分配至集群节点上,同时激活所有节点。
在上述实施例中,通过路网数据,正确构建路网拓扑图,并将出行计划分解后分配至网络拓扑图中的各个集群节点上,为正确执行出行计划提供保障,从而提供执行出行计划的准确度。
参照图7,图7为本申请基于集群计算的交通仿真方法步骤S1111的具体实施步骤,所述获取路网数据并进行解析,生成路网拓扑图,包括:
步骤S1111-1:获取路网数据,将所述路网数据分解为节点信息以及路段信息。
具体地,路网数据包括Node(节点)与Link(路段),节点与路段并非实际路网中的整条道路或交叉口,而是将其按照拓扑关系,几何关系或交通管制,道路等级,属性等打断后重构的单向路段。所有双向道路均被分割为两条单向路段。节点与路段组成由拓扑结构的图结构(路网),为保持路网数据获取和应用时的可拓展性与通用性,可以使用OpenstreetMap或任何通用的由拓扑结构的GIS数据进行转换修改合成。其中节点信息的属性如表2所示:
表2
id long
coord x double
y double
Node(节点)由唯一标识的id以及地理坐标组成,其中id类型为长整型,是 64 位、有符号的以二进制补码表示的整数;取值范围 [-9,223,372,036,854,775,808(-263), 9,223,372,036,854,775,807(263 -1)]。采用长整型作为Node的唯一标识的id的原因有亮点:模型的目标为大规模路网的仿真建模,如果采用短整形或其他整数类型可能由于路网节点过大而导致标识id溢出从而违背id的唯一性标准;整数类型在复杂,大数据量计算的时候可以提供比字符,浮点等复杂类型更为快速的检索,比对(哈希值,内存地址,唯一性等)时间,同时Node作为GraphX图结构顶点的父类,与其要求的类型相一致,避免了集群计算时出现的兼容性问题以及解析错误。
路段数据中存取了整个网络的拓扑结构关系及路段基本属性信息,如道路的车道数,通行能力,行驶速度以及允许的出行方式。与一般意义上的路段不同的一点是,一般的道路或GIS数据的路段除少量单行道以外,都是双向的,这里的路段是将一般意义上的双向路段按照拓扑结构关系拆分成两条有向路段,路段通行能力为单向所有车道的总通行能力。同时为简化计算与存储,所有弧线路段均被拆分为多段直线路段,因此,路段的几何长度并不能代表实际的路段长度,实际的路段长度保存在字段length中;同时由于出行者在出行时会考虑不同的出行方式,因此路段的数据会记录允许的出行方式,按照城市道路等级通常来说快速路、主干道与部分次干道只允许机动车行驶,即允许小汽车与公交车行驶,其他道路如支路、小区内部道路则允许步行或自行车行驶;这样设计的初衷是可以涵盖所有的出行方式,如地铁线路(设置modes方式仅为地铁即可)也可以使用路段表示而不用创建单独的网络路段系统。另外,Link(路段)在定义时考虑了后续GraphX计算时Edge(边)的定义方式,作为后续GraphX的Edge使用;其中路段信息的属性如表3所示:
表3
Figure 156240DEST_PATH_IMAGE002
步骤S1111-2:将所述节点信息保存于节点,生成初始化节点。
具体地,节点信息可以是表1中所示属性包含的信息,但在此并不限定表1中的数据,可以是其他节点相关的信息。
步骤S1111-3:将所述路段信息保存于边,生成初始化边。
具体地,路段信息可以是表3中所示属性包含的信息,但在此并不限定表3中的数据,可以是其他节点相关的信息。
步骤S1111-4:结合所述初始化节点以及所述初始化边,生成所述路网拓扑图。
在上述实施例中,存在的有益效果为:通过具体的节点以及路段的属性设置,生成准确的路网拓扑图,保证后续执行计划的准确性,从而提高交通仿真的准确性。
在其中一个实施例中,所述节点信息,至少包括:路网数据中的全部节点、指向所述节点的边、所述边上的车辆信息以及预驶入所述边的车辆信息;所述路段信息至少包括源节点编号以及目标节点编号。
具体地,本实施例对节点信息进行重新定义。为方便后续仿真执行计划部分的计算,本实施例将节点信息定义为如图8所示的结构,将路网数据中的全部节点、指向所述节点的边、所述边上的车辆信息以及预驶入所述边的车辆信息全部放进节点信息里。计算时只针对节点信息里的车辆的状态进行更新,pregel超步间信息的转移为在车辆行驶到不同路段的信息。另外路段信息只保存路段中的拓扑结构信息,即srcID(源节点编号)与desID(目标节点编号),且为单向边;同时为方便集群式存储,将整个仿真过程的信息拆分成包含源节点,边,目标节点三者组成关联关系。
参照图9,图9为本申请基于集群计算的交通仿真方法的第二实施例,所述方法,包括:
步骤S210:确定出行方式。
具体地,出行方式可以包括公交、地铁、步行、骑行(自行车、电动车、摩托车)、驾车等;所有出行者此时随机选择可行的出行方式(例如其未拥有机动车,则不可以选择驾车作为其出行方式,如果出行者第一次出行选择驾车作为其出行方式,则后续的出行方式也需要选择驾车作为出行方式,直到回到目的地为止,而不能将其留在中间某次出行的目的地)。
步骤S220:利用所述出行方式,基于最短出行距离选择出行计划。
具体地,在确定了出行方式之后,由于出行者对路网的拥堵程度未有感知,所有路径均采用最短出行距离进行路径选择(公交方式除外),同时也可以采用最短出行时间进行路径选择,在此并不作限定,可以根据出行者的实际情况进行选择。
步骤S230:按照预设的时间步长,利用Pregel集群计算架构执行所述出行计划,并获取执行所述出行计划产生的出行效用。
具体地,预设的时间步长可以为每五分钟或者每十分钟,具体的时间步长,在此并不限定。
具体地,可以基于不同出行目的地之间的出行过程中产生的效用以及在目的地进行活动时产生的效用;其中所述效用可以是负效用,其中,负效用是指某种商品或劳务给人们所带来的不舒服或痛苦的感受,商品或劳务会满足人们的欲望而具有效用。但如果某种商品的总效用达到了最大点,继续增加这种商品的消费量就必然产生负效应。
同时,基于不同出行目的地之间的出行过程中产生的效用,包括出行时间(公交车、地铁车厢的拥挤程度、道路车辆拥挤程度、等待时间以及遭遇的信号控制的交叉口),出行费用(公交费用、高速公路过路费、出租车费用、以及其他潜在的影响出行且可量化的费用);另外,在目的地进行活动时产生的效用包括由于交通拥堵导致的迟到、早到产生不必要的等待时间以及由后续出行计划影响产生的早退等。
需要另外说明的是,在对每个出行者的出行计划进行效用计算时,需要对每个出行者的出行计划进行标准化后进行计算,可以按照平均时间或者出行平均费用等。
步骤S240:利用所述出行计划产生的出行效用,对所述出行计划进行评估,生成所述评估结果。
步骤S250:若所述评估结果未满足第一预设条件,则利用个人出行决策的选择策略以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划。
步骤S260:基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果。
步骤S270:对所述评估结果进行计数。
步骤S280:直至所述评估结果的次数大于或者等于预设循环次数,则生成交通仿真结果。
具体地,预设循环次数在此并不限定,根据交通仿真系统所要求的精度设置。
第二实施例与第一实施例相比,具体包括步骤S210、步骤S220、步骤S230以及步骤S240,其他步骤在第一实施例中已经进行了阐述,在此不再赘述。
在上述实施例中,存在的有益效果为:本实施例避免了商业软件需要兼顾多个场景,模型建立后只能解决固定几类问题的弊端,灵活性高,计算结果除可以解决大部分交通相关问题外,还可以解决城市规划,个人出行,公交地铁线路优化等多个问题多种场景的应用。同时扩展性好,可以根据实际项目适当的调整模型参数,兼容性高于同类软件,同时避免了传统交通仿真软件从上帝视角建立模型,本申请考虑出行者个人的实际感受与决策、选择过程中所考虑的各种因素,更贴合于实际情况,因此模型结果也更加精确与逼真。
在其中一个实施例中,本申请基于集群计算的交通仿真方法的第二实施例步骤S250的具体实施步骤,所述利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划包括:
步骤S251:基于个人出行决策的选择策略,对每个出行者重新生成多个第一出行计划。
具体地,为尽量符合现实情况中出行者的选择决策过程,个人出行决策的选择策略采用双层策略结构。
进一步地,根据个人出行决策第一层选择策略以及第二层选择策略的不同,对每个出行者重新进行规划,生成多个第一出行计划;所述第一策略至少包括:改变出行目的地、改变出行方式、改变出行路径、改变出行目标;所述第二策略至少包括最短出行距离、最短出行时间、包含不确定性、参考上次出行经验。
步骤S252:执行所述第一出行计划,并生成所述第一出行计划的评估结果。
步骤S253:对比多个所述第一出行计划的评估结果,得到对比结果,利用所述对比结果对所述个人出行决策的选择策略进行更新。
具体地,可以根据评估结果的优劣对个人出行决策的选择策略进行更新,以产生更加符合现实情况中出行者的选择以及决策。
步骤S254:直至所述第一出行计划的评估结果达到第三预设条件,则停止对所述个人出行决策的选择策略进行更新,获得所述新的出行计划。
具体地,若当前的第一出行计划的评估结果优于上次的第一出行计划的评估结果,则将当前的第一出行计划中选择的所述第一策略以及所述第二策略的权重增加设定值;
若当前的第一出行计划的评估结果差于上次的第一出行计划的评估结果,则将当前的第一出行计划中选择的所述第一策略以及所述第二策略的权重减少所述设定值。
具体地,设定值可以为0.1,也可以是其他的数值,在此不作限定。
进一步地,如果当前的第一出行计划的评估结果优于上次的第一出行计划的评估结果,则当前的第一出行计划选中的策略的权值将会增大,则在后续的个人决策选择中,其被选中的概率会增大设定值;而如果当前的第一出行计划的评估结果差于上次的第一出行计划的评估结果,则将当前的第一出行计划选中的策略的权值降低设定值,从而变相增大其他策略被选中的概率。
若当前的第一出行计划的评估结果等于上次的第一出行计划的评估结果,且评选结果的对比次数超过预设阈值,则将当前的第一出行计划中选择的所述第一策略以及所述第二策略的权重重置为初始值。
具体地,在迭代过程中可能存在计算过程中即使经过了多次迭代,出行者策略的评估结果未能有显著的提升,此时程序可能陷入局部最优的状态,即使更新权值也未能跳出局部最优,为解决这种情况,系统设置了重置功能,在评选结果的对比次数(连续迭代)超过10次后评估结果未能有显著提升,则重置所有策略的选择权重,以期可以跳出局部最优的状态;其中,初始值可以是0,初始值也可以是根据出行者的偏好对个人出行决策的选择策略中的第一策略以及第二策略进行权重设置。
具体地,第一出行计划的评估结果达到第三预设条件可以是第一出行计划的评估次数达到预设阈值,预设阈值在此不作限定;也可以是第一出行计划重新规划的计算时间超过预先设置的时间阈值,时间阈值在此不作限定;以及也可以是经过多次迭代后计算结果呈现收敛状态。
在上述实施例中,存在的有益效果为:通过个人出行决策以及超启发式算法对出行计划进行重新规划,考虑出行者个人的实际感受与决策、选择过程中所考虑的各种因素,更贴合于实际情况,因此模型结果也更加精确与逼真。
本申请还保护一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现上述任一所述的基于集群计算的交通仿真方法的步骤。
本申请还保护一种计算机存储介质,所述计算机存储介质上存储有基于集群计算的交通仿真方法程序,所述基于集群计算的交通仿真方法程序被处理器执行时实现上述任一所述的基于集群计算的交通仿真方法的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发
明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (8)

1.一种基于集群计算的交通仿真方法,其特征在于,所述方法包括:
在初始化出行者的出行计划后,基于Pregel集群计算架构执行所述出行计划,并生成评估结果;
若所述评估结果未满足第一预设条件,则利用个人出行决策以及超启发式算法对所述出行计划进行重新规划,生成新的出行计划;
基于Pregel集群计算架构执行所述新的出行计划,并重新生成评估结果;
直至所述评估结果满足第一预设条件,生成交通仿真结果;
其中,所述基于Pregel集群计算架构执行所述出行计划,包括:
初始化并激活集群节点;
确定所述集群节点中的源节点以及目标节点;
将出行计划数据通过所述源节点发送至所述目标节点;
获取所述出行计划数据中的变化信息;
融合所述出行计划数据中的变化信息以及所述目标节点的自身数据更新所述目标节点,生成目标节点的更新数据;
将所述更新数据发送至各个集群节点上,重新激活集群节点;
直至达到第二预设条件,则停止执行所述出行计划。
2.如权利要求1所述的基于集群计算的交通仿真方法,其特征在于,所述初始化并激活集群节点,包括:
获取路网数据并进行解析,生成路网拓扑图;
将每个出行者的所述出行计划数据分解,生成多个单次出行计划并分配到所述路网拓扑图中的各个集群节点上。
3.如权利要求2所述的基于集群计算的交通仿真方法,其特征在于,所述获取路网数据并进行解析,生成路网拓扑图,包括:
获取路网数据,将所述路网数据分解为节点信息以及路段信息;
将所述节点信息保存于节点,生成初始化节点;
将所述路段信息保存于边,生成初始化边;
结合所述初始化节点以及所述初始化边,生成所述路网拓扑图。
4.如权利要求3所述的基于集群计算的交通仿真方法,其特征在于,所述节点信息,至少包括:路网数据中的全部节点、指向所述节点的边、所述边上的车辆信息以及预驶入所述边的车辆信息;所述路段信息至少包括源节点编号以及目标节点编号。
5.如权利要求1所述的基于集群计算的交通仿真方法,其特征在于,所述初始化出行者的出行计划,包括:
确定出行方式;
利用所述出行方式,基于最短出行距离选择出行计划。
6.如权利要求1所述的基于集群计算的交通仿真方法,其特征在于,所述基于Pregel集群计算架构执行所述出行计划,并生成评估结果,包括:
按照预设的时间步长,利用Pregel集群计算架构执行所述出行计划,并获取执行所述出行计划产生的出行效用;
利用所述出行计划产生的出行效用,对所述出行计划进行评估,生成所述评估结果。
7.如权利要求1所述的基于集群计算的交通仿真方法,其特征在于,所述直至所述评估结果满足预设条件,生成交通仿真结果,包括:
对所述评估结果进行计数;
直至所述评估结果的次数大于或者等于预设循环次数,则生成交通仿真结果。
8.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有基于集群计算的交通仿真方法程序,所述基于集群计算的交通仿真方法程序被处理器执行时实现权利要求1-7任一所述的基于集群计算的交通仿真方法的步骤。
CN202110735981.4A 2021-06-30 2021-06-30 基于集群计算的交通仿真方法、程序及介质 Active CN113191029B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110735981.4A CN113191029B (zh) 2021-06-30 2021-06-30 基于集群计算的交通仿真方法、程序及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110735981.4A CN113191029B (zh) 2021-06-30 2021-06-30 基于集群计算的交通仿真方法、程序及介质

Publications (2)

Publication Number Publication Date
CN113191029A CN113191029A (zh) 2021-07-30
CN113191029B true CN113191029B (zh) 2022-02-11

Family

ID=76976737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110735981.4A Active CN113191029B (zh) 2021-06-30 2021-06-30 基于集群计算的交通仿真方法、程序及介质

Country Status (1)

Country Link
CN (1) CN113191029B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114066001B (zh) * 2021-09-25 2024-03-19 苏州智能交通信息科技股份有限公司 基于出行本征的交通服务优化方法、系统、终端及介质
CN114676541B (zh) * 2022-05-27 2022-09-23 腾讯科技(深圳)有限公司 一种交通仿真的方法、相关装置、设备以及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110570660A (zh) * 2019-11-06 2019-12-13 深圳市城市交通规划设计研究中心有限公司 一种实时在线交通仿真系统及方法
CN110942625A (zh) * 2019-11-06 2020-03-31 深圳市城市交通规划设计研究中心有限公司 基于现实路径流量回溯调节的动态od估计方法及装置
CN111815940A (zh) * 2019-04-09 2020-10-23 阿里巴巴集团控股有限公司 交通仿真方法、装置、电子设备及计算机可读存储介质
CN112182901A (zh) * 2020-10-10 2021-01-05 福建船政交通职业学院 一种城市型旅游者出行仿真方法及系统
CN112488400A (zh) * 2020-12-04 2021-03-12 南通大学 基于区块链技术与出行计划共享的交通出行行为调控方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102750427B (zh) * 2012-07-23 2014-09-17 中国地质大学(武汉) 基于多智能体活动模型的城市交通规划仿真方法及系统
CN103412975B (zh) * 2013-07-11 2016-10-05 吴建平 动态交通仿真平台及其仿真方法
CN111473784B (zh) * 2020-04-16 2023-06-20 南京航空航天大学 基于分布节点信息区块的无人机集群协同导航系统及方法
CN112668813A (zh) * 2021-03-16 2021-04-16 中智行科技有限公司 评估优化方法、装置、电子设备和存储介质
CN112818497B (zh) * 2021-04-19 2021-06-29 腾讯科技(深圳)有限公司 交通仿真方法、装置、计算机设备和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111815940A (zh) * 2019-04-09 2020-10-23 阿里巴巴集团控股有限公司 交通仿真方法、装置、电子设备及计算机可读存储介质
CN110570660A (zh) * 2019-11-06 2019-12-13 深圳市城市交通规划设计研究中心有限公司 一种实时在线交通仿真系统及方法
CN110942625A (zh) * 2019-11-06 2020-03-31 深圳市城市交通规划设计研究中心有限公司 基于现实路径流量回溯调节的动态od估计方法及装置
CN112182901A (zh) * 2020-10-10 2021-01-05 福建船政交通职业学院 一种城市型旅游者出行仿真方法及系统
CN112488400A (zh) * 2020-12-04 2021-03-12 南通大学 基于区块链技术与出行计划共享的交通出行行为调控方法

Also Published As

Publication number Publication date
CN113191029A (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
Zwick et al. Agent-based simulation of city-wide autonomous ride-pooling and the impact on traffic noise
CN113191029B (zh) 基于集群计算的交通仿真方法、程序及介质
Saprykin et al. GEMSim: A GPU-accelerated multi-modal mobility simulator for large-scale scenarios
Maciejewski A comparison of microscopic traffic flow simulation systems for an urban area
CN104731963B (zh) 一种基于车联网的网格化路径推荐方法及系统
CN113763700B (zh) 信息处理方法、装置、计算机设备及存储介质
Zhao et al. Agent-based model (ABM) for city-scale traffic simulation: A case study on San Francisco
CN114812584B (zh) 一种路径规划方法、系统、存储介质及设备
CN113191028B (zh) 交通仿真方法、系统、程序及介质
Ho et al. An improved pheromone-based vehicle rerouting system to reduce traffic congestion
CN114386536B (zh) 区域确定方法、装置、计算设备以及存储介质
Fujimoto et al. Ad hoc distributed simulations
Hrncir et al. Speedups for multi-criteria urban bicycle routing
Hogeveen et al. Quantifying the fleet composition at full adoption of shared autonomous electric vehicles: An agent-based approach
Kamiński et al. Multiagent routing simulation with partial smart vehicles penetration
CN107588779B (zh) 一种基于任意两节点间行程时间的车辆智能导航方法
WO2024103770A1 (zh) 空间划分方法、装置及存储介质
CN114676541B (zh) 一种交通仿真的方法、相关装置、设备以及存储介质
Naseri Gorgoon et al. An Agent-Based Modelling for Ride Sharing Optimization Using a* Algorithm and Clustering Approach
Bosmans et al. Adaptivity in multi-level traffic simulation using experimental frames
Uehara et al. Evaluation of a hierarchical cooperative transport system using demand responsive bus on a dynamic simulation
Fernandes et al. Parallel microscopic simulation of metropolitan-scale traffic
Khodadadi et al. Improve traffic management in the vehicular ad hoc networks by combining ant colony algorithm and fuzzy system
Lv et al. Optimization of dynamic parking guidance information for special events
Elbery et al. City-level agent-based multi-modal modeling of transportation networks: Model development and preliminary testing

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