【技术实现步骤摘要】
一种基于GPU的微观交通模拟方法和装置
[0001]本专利技术涉及交通模拟
,尤其涉及一种基于
GPU
的微观交通模拟方法和装置
。
技术介绍
[0002]微观交通模拟是对城市道路网上的车辆驾驶行为以及多个车辆之间的关联关系和相互影响进行模拟的过程,通过微观交通模拟可以得到城市微观与宏观的交通运行态势,从而帮助决策者选择更优的城市道路网规划方案或进行城市交通承载力的测算
。
因此,微观交通模拟对于城市建设有着重要意义
。
[0003]对于城市级别的微观交通模拟,其存在需要消耗大量算力的特点,这对微观交通模拟所选用的计算设备与计算模型提出了高的要求
。
然而,目前的微观交通模拟基本上采用单线程或多线程的方式进行计算,如
SUMO[1]、CityFlow[2]、QarSUMO[3]等,存在着单台计算机的
CPU
难以支撑城市级别的细粒度微观交通模拟的情况,这制约了微观交通模拟真正发挥其价值,使得下游的决策优化任务无法高效开展
。
[0004]近年来,
GPU
的大算力特点使得
GPU
计算加速在许多领域都取得了突破性的成果,特别是在深度学习领域
。
因此,将
GPU
应用于微观交通模拟中是支撑城市级别的细粒度微观交通模拟的有效手段,故而如何设计基于
GPU
的微观交通模拟方法是一个亟待解决的问题
。
专利技术内 ...
【技术保护点】
【技术特征摘要】
1.
一种基于
GPU
的微观交通模拟方法,用于
GPU
中执行的每一轮模拟迭代,其特征在于,所述方法包括:构建城市道路网每一个车道的主链
‑
支链链表;基于所述主链
‑
支链链表,生成城市道路网每一个车辆的车辆索引;根据城市道路网每一个车辆的车辆索引和从外部获取的城市道路网每一个车辆的路径规划,模拟每一个车辆的交通运行;其中,每一个所述车道的主链
‑
支链链表中的主链用于描述每一个所述车道上的车辆及其之间的位置关系,支链用于描述每一个所述车道及其相邻车道上车辆之间的位置关系;每一个所述车辆的车辆索引,用于索引每一个所述车辆所属车道以及每一个所述车辆的周围车辆;每一个所述车辆的路径规划,为每一个所述车辆从给定起点到给定终点的驾驶导航
。2.
根据权利要求1所述的基于
GPU
的微观交通模拟方法,其特征在于,所述构建城市道路网每一个车道的主链
‑
支链链表,包括:令
GPU
中一个线程负责城市道路网中一个车道的主链
‑
支链链表构建任务,通过
GPU
多线程并行执行方式生成城市道路网每一个车道的主链
‑
支链链表;其中,
GPU
的任一线程执行城市道路网任一车道的主链
‑
支链链表构建任务的过程,包括:向所述任一线程的编程框架中写入所述任一车道初始信息以及主链
‑
支链链表构建算法代码,以使所述任一线程生成所述任一车道的主链
‑
支链链表;所述任一车道初始信息包括上一轮模拟迭代时所述任一车道的主链
、
离开车辆列表和加入车辆列表
。3.
根据权利要求2所述的基于
GPU
的微观交通模拟方法,其特征在于,所述主链
‑
支链链表构建算法,包括:输入上一轮模拟迭代时目标车道的主链
、
离开车辆列表和加入车辆列表;记录上一轮模拟迭代时所述目标车道的主链和离开车辆列表共有的车辆节点,并删除上一轮模拟迭代时所述目标车道的主链中的所述车辆节点,得到第一链表;对上一轮模拟迭代时目标车道的加入车辆列表进行车辆位置排序,并将车辆有序序列对应的有序链表记为第二链表;基于所述第一链表和所述第二链表,生成本轮模拟迭代时所述目标车道的主链;根据本轮模拟迭代时所述目标车道及其每一个相邻车道的主链,建立所述目标车道中每一个车辆与其在所述目标车道的每一个相邻车道上的最接近的前车和后车之间的链接,以生成本轮模拟迭代时所述目标车道的支链;基于本轮模拟迭代时所述目标车道的主链和支链,组成本轮模拟迭代时所述目标车道的主链
‑
支链链表
。4.
根据权利要求3所述的基于
GPU
的微观交通模拟方法,其特征在于,所述基于所述第一链表和所述第二链表,生成本轮模拟迭代时所述目标车道的主链,包括:将所述第一链表和所述第二链表进行有序合并,得到本轮模拟迭代时所述目标车道的主链;
或者对所述第一链表进行重排序,并将重排序后的所述第一链表和所述第二链表进行有序合并,得到本轮模拟迭代时所述目标车道的主链
。5.
根据权利要求1所述的基于
GPU
的微观交通模拟方法,其特征在于,所述根据城市道路网每一个车辆的车辆索引和从外部获取的城市道路网每一个车辆的路径规划,模拟每一个车辆的交通运行,包括:令
GPU
中一个线程...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。