一种基于微观交通仿真和神经网络的高速路网系统最优路径分配方法与流程

文档序号:36606791发布日期:2024-01-06 23:11阅读:11来源:国知局
一种基于微观交通仿真和神经网络的高速路网系统最优路径分配方法与流程

本发明涉及交通路径规划方法,具体涉及一种基于微观交通仿真和神经网络的高速路网系统最优路径分配方法。


背景技术:

1、交通路径分配指的是将交通需求分配到路网上od(origin and destination,路径的起点和终点)间各路径的过程。在路网交通管控中,为缓解拥堵、提升路网区域的整体通行能力,交通诱导是常见的一种管控方式,而以系统最优为目标的路径分配方法可为交通诱导提供有力的理论支撑。

2、系统最优路径分配的优化目标为路网总出行时间成本,与路网每条路段的行程时间相关。当前,主流的系统最优路径分配方法的核心是构建路阻函数,即构建路段行程时间与路段流量的关系,但在模型求解中往往将基于交通需求分配到路段的出行量与路段流量混为一谈,容易导致模型求解结果失真。事实上,基于交通需求分配到路段的出行量代表对需求端的控制,而路段流量代表车流在路段上实际运行所呈现的状态。受路段通行能力的限制,路段流量总是小于或等于其所分配的出行量。微观交通仿真在区分路段分配所得出行量和路段实际流量上具有天然的优势,通过对车道级路网和每个车辆个体微观驾驶行为的建模,可充分模拟某路径分配方案下路网中车流实际运行的效果,其理论体系和应用技术发展已十分成熟,但却存在运算效率低下的问题,难以满足系统最优路径分配快速求解、路网交通及时管控的需求。


技术实现思路

1、本发明的目的在于提供一种基于微观交通仿真和神经网络的高速路网系统最优路径分配方法,以解决传统系统最优路径分配方法中难以对路段分配所得出行量和路段实际流量两大参数进行识别区分以至于求解结果容易失真的问题,并提高求解运算的效率。

2、为解决上述技术问题,本发明所采用的技术方案如下:

3、一种基于微观交通仿真和神经网络的高速路网系统最优路径分配方法,该方法具体步骤如下:

4、步骤s1、确定一个大目标研究路网区域,从线上获取该区域的osm路网,基于仿真软件sumo的netconvert工具将其转换为xml文件格式的sumo路网文件,sumo路网文件中的非交叉口edge类型对象,定义为targetedge,对大目标研究路网区域的sumo路网文件进行采样,生成若干局部单元的sumo路网文件和sumo路径文件,基于sumo对每个局部单元进行不同路径出行量、路段限速场景下的1小时交通仿真,输出每个场景下局部单元中每条路段的流量数据,其中osm全名为openstreetmap,是开源地图数据,sumo全名为simulation ofurban mobility,是用于交通仿真的开源软件;

5、步骤s2、将不同路径分配、路段限速场景下的每个局部单元的targetedge作为样本,输入深度神经网络中进行训练,构建路段流量推演模型,样本标签为targetedge的路段流量,样本特征包括targetedge的车道数、限速、长度、优先级,和fromins、fromouts、toins、toouts对象中所包含的路段的出行量、车道数、限速、长度、优先级等属性,其中,fromins指以targetedge起点为终点的所有路段,fromouts指以targetedge起点为起点的所有其他路段,toins指以targetedge终点为终点的所有其他路段,toouts指以targetedge终点为起点的所有路段,路段出行量的计算方法如下:

6、

7、式中,s表示一种路径分配方案,指定了各od对w下路径rw的出行量rw指od对w包含的所有路径,w指所有od对,指示路段a与路径rw的对应关系,若路径rw经过路段a则为1,否则为0,da,s为路段a在路径分配方案s下的出行量;

8、步骤s3、对于一个已知路径分配场景的测试路网,对各路段流量进行迭代预测,获得各路段预测流量后,计算各路段预测流量与出行量乘积的总和,作为路网总出行时间成本指数;

9、步骤s4、针对研究区域路网,已知各od对w的出行量dw,将其一个路径分配方案作为一个个体,将对应的由步骤s3预测所得总出行时间成本指数的负数作为个体适应度,构建以总出行时间成本指数最小为目标的遗传算法流程,求解出系统最优路径分配方案。

10、本发明还具有以下优选设计:

11、所述步骤s1的所述对大目标研究路网区域的sumo路网文件进行采样的具体步骤包括:

12、步骤s1-1、遍历大目标研究路网区域的sumo路网文件中每一个targetedge对象;

13、步骤s1-2、识别targetedge的fromins、fromouts、toins、toouts对象,若targetedge的fromins、fromouts、toins、toouts对象的识别结果均为空,说明该targetedge为游离路段,则该targetedge不可用,程序跳转至下一次遍历;

14、步骤s1-3、识别该局部单元中所包含的fromjuncs、middlejuncs、tojuncs对象,其中,fromjuncs指局部单元的边缘起始交叉口,主要由fromins和toins对象的起始交叉口构成,tojuncs指局部单元的边缘终止交叉口,主要由fromouts和toouts对象的终止交叉口构成,middlejuncs对象指局部单元的中间交叉口,主要由fromins和toins对象的终止交叉口、fromouts和toouts对象的起始交叉口构成,当fromins对象为空且toouts对象不为空时,则将targetedge的起始交叉口也归入fromjuncs,将targetedge的终止交叉口也归入middlejuncs;当fromins对象不为空且toouts对象为空时,则将targetedge的终止交叉口也归入tojuncs,将targetedge的起始交叉口也归入middlejuncs,对识别出的fromjuncs、middlejuncs、tojuncs对象分别进行去重,针对高速路网场景,当检测到局部单元中存在信号控制类型的交叉口时,该局部单元判定为不可用,程序跳转至下一次遍历;

15、步骤s1-4、根据targetedge和识别所得的fromins、fromouts、toins、toouts、romjuncs、middlejuncs、tojuncs对象,从大目标研究路网区域的sumo路网文件中将对象所属的xml元素进行提取,另存为一份局部单元的sumo路网文件,此外,将局部单元中所存在的边缘起始路段即不存在上游路段的路段和边缘终止路段即不存在下游路段的路段分别作为起终点,生成一系列路径,保存为局部单元的sumo路径文件。

16、所述步骤s2中所述构建路段流量推演模型时,样本的特征向量设置方法如下:

17、设定每个targetedge的fromins、fromouts、toins、toouts对象均各有3条路段,若无该对象路段则将其各属性赋值为0,对于一个训练样本,其特征向量设置为:

18、feature=[dfromins(0),dfromins(1),dfromins(2),dfromouts(0),dfromouts(1),dfromouts(2),dtoins(0),dtoins(1),dtoins(2),dtoouts(0),dtoouts(1),dtoouts(2),nfromins(0),nfromins(1),nfromins(2),nfromouts(0),nfromouts(1),nfromouts(2),ntoins(0),ntoins(1),ntoins(2),ntoouts(0),ntoouts(1),ntoouts(2),ntargetedge,sfromins(0),sfromins(1),sfromins(2),sfromouts(0),sfromouts(1),sfromouts(2),stoins(0),stoins(1),stoins(2),stoouts(0),stoouts(1),stoouts(2),stargetedge,lfromins(0),lfromins(1),lfromins(2),lfromouts(0),lfromouts(1),lfromouts(2),ltoins(0),ltoins(1),ltoins(2),ltoouts(0),ltoouts(1),ltoouts(2),ltargetedge,pfromins(0),pfromins(1),pfromins(2),pfromouts(0),pfromouts(1),pfromouts(2),ptoins(0),ptoins(1),ptoins(2),ptoouts(0),ptoouts(1),ptoouts(2),ptargetedge]

19、式中,dfromins、nfromins、sfromins、lfromins、pfromins分别为fromins对象中路段的出行量、车道数、限速、长度、优先级,dfromouts、nfromouts、sfromouts、lfromouts、pfromouts分别为fromouts对象中路段的出行量、车道数、限速、长度、优先级,dtoins、ntoins、stoins、ltoins、ptoins分别为toins对象中路段的出行量、车道数、限速、长度、优先级,dtoouts、ntoouts、stoouts、ltoouts、ptoouts分别为toouts对象中路段的出行量、车道数、限速、长度、优先级,上标(0)、(1)、(2)分别指示各fromins、fromouts、toins、toouts对象中的3条路段,ntargetedge、stargetedge、ltargetedge、ptargetedge分别为targetedge路段的车道数、限速、长度、优先级。

20、所述步骤s3中获得路网的总出行时间成本指数的方法如下:

21、步骤s3-1、获取测试路网中所有路径所涉及的路段,记为集合validedges,并计算出集合validedges中各路段a的出行量da,s,

22、步骤s3-2、新建一个长度与集合validedges相同的集合prevolumess,用于存储集合validedges中各路段a的预测流量prevolumea,s,prevolumea,s∈prevolumess,将prevolumea,s初始化为da,s,

23、步骤s3-3、遍历validedges中各路段a,将路段a的车道数、限速、长度、优先级,和路段a所属的fromins、fromouts、toins、toouts对象中所包含的路段的预测流量、车道数、限速、长度、优先级等属性作为路段流量推演模型的输入,预测得到路段a的新预测流量prevolumea,s*,判定prevolumea,s*不小于0且不超过da,s时,将prevolumea,s*的值赋值给prevolumea,s,

24、步骤s3-4、将步骤s3-3所进行的预测过程,迭代10次,即获得最终的各路段a的预测流量prevolumea,s,

25、步骤s3-5、根据各路段a的出行量和预测流量,计算得到路网总出行时间成本指数,计算方法如下:

26、

27、式中,prevolumea,s为路径分配方案s下路段a的预测流量;totalcosts为路径分配方案s下的路网总出行时间成本指数。

28、所述步骤s4中基于所述以总出行时间成本指数最小为目标的遗传算法流程,求解系统最优路径分配方案的具体过程如下,

29、步骤s4-1、随机生成n个个体作为初始种群,记为pop={p0,…,pn},每个个体p表示一种路径分配方案s,其随机生成方法如下:

30、步骤s4-1-1、对于每个od对w,新建一个由0元素构成的长度等同于路径rw数量的集合routevolsw,

31、步骤s4-1-2、将od对w的出行量进行均匀划分,将每一等份随机与集合routevolsw的某一位元素进行相加并用加和结果覆盖该位元素原来的值,

32、步骤s4-1-3、根据步骤s4-1-2生成所有od对w的集合routevolsw后,按照任一固定的od对w的排列顺序,对所有od对w的集合routevolsw进行合并,即生成一个个体,

33、步骤s4-2、将种群pop的每个个体的元素数值编码为二进制,且保持编码长度一致,记为bpop={bp0,…,bpn},其中bpop为经二进制编码后的种群,bp0,…,bpn分别为经二进制编码后的个体,

34、步骤s4-3、新建变量maxreward和best_routevols,分别初始化为-1e50和空值,用于后续算法进行迭代时存放最高的个体适应度和个体,maxreward是所有已迭代次数中获得的最大个体适应度,best_routevols为所有已迭代次数中获得的最大个体适应度的个体,新建一个变量keepnum,初始化为0,用于记录后续算法个体适应度不再提升的迭代次数,

35、步骤s4-4、当变量keepnum的值不超过设定的迭代次数阈值时,执行如下所示的迭代过程:

36、步骤s4-4-1、对于种群bpop的每个个体,将其元素解码为十进制后,采用步骤s3的方法预测对应的路网总出行时间成本指数,将总出行时间成本指数的负数作为该个体的适应度,总出行时间成本指数越低,表明该路径分配方案的适应度越高,将由种群bpop每个个体适应度构成的集合记为rewards={reward0,…,rewardn},其中reward0,…,rewardn分别表示种群bpop中每个个体的适应度,

37、步骤s4-4-2、根据概率集合probs_cum,从种群bpop中选择出n个个体,随机生成一个[0,1]范围内的数值rand,获取概率集合probs_cum中大于数值rand的所有概率,取筛选出的概率对应的索引最小值,则该索引值对应的个体被选中,将被选出的n个个体记为种群bpop_select,判断种群bpop_select中是否包含种群bpop中适应度最高的个体,若是,则从bpop_select中分离出适应度最高的个体记为bps*;若否,则从bpop_select中删去适应度最低的个体,并获取种群bpop中适应度最高的个体同样记为bps*,此时种群bpop_select仅包含n-1个个体,记为

38、bpop_select={bps0,…,bpsn-1},

39、

40、

41、式中,probs表示由种群bpop中每个个体的被选中概率构成的集合,prob0,…,probn分别表示种群bpop中每个个体的被选中概率,probs_cum表示由种群bpop中每个个体的累积概率构成的集合,probc0,…,probcn分别表示种群bpop中每个个体的累积概率,min函数表示取输入集合中最小的元素的值,

42、步骤s4-4-3、按照预设为0.6的交叉概率对种群bpop_select中的个体实行交叉操作,首先拷贝一个bpop_select的副本记为bpop_cross,作为实行交叉操作后的种群,将种群bpop_cross中的个体进行随机的两两配对,对于每一对个体,根据交叉概率决定是否对其进行交叉操作,若进行交叉操作,则将两个个体相同索引下的元素中随机一位数进行互换,并在个体交叉操作完成后检查个体中所对应的每个od对w的路径出行量之和是否还等于出行量dw,否则根据出行量dw与当前od对w的路径出行量之和的比值对个体进行修正,使其每个od对w的路径出行量之和仍等于出行量dw,

43、步骤s4-4-4、按照预设为0.02的变异概率对种群bpop_cross中的个体实行变异操作,首先拷贝一个bpop_cross的副本记为bpop_mutate,作为实行变异操作后的种群,对于种群bpop_mutate中的每个个体的每个元素的每一位数值,按变异概率决定是否对其进行置换,置换方法即若该位数值原来为0时则置换为1,若该位数值原来为1时则置换为0,在个体变异操作完成后检查个体中所对应的每个od对w的路径出行量之和是否还等于出行量dw,否则根据出行量dw与当前od对w的路径出行量之和的比值对个体进行修正,使其每个od对w的路径出行量之和仍等于出行量dw,

44、步骤s4-4-4、经过对种群bpop的选择、交叉、变异等操作,最终生成种群bpop_mutate和个体bps*,将其合并为共n个个体并赋值给种群bpop,

45、步骤s4-4-5、判断个体bps*的适应度reward*是否大于maxreward,若是,则将reward*的值赋值给maxreward,将个体bps*的元素解码为十进制后赋值给best_routevols,并将变量keepnum赋值为0;若否,将变量keepnum的值加1,

46、步骤s4-5、当keepnum超过预设的迭代次数阈值时,结束迭代过程,返回best_routevols,即为所求得的系统最优路径分配方案。

47、本发明具有以下有益效果:

48、第一,本发明提出的系统最优路径分配方法是构建在由微观仿真平台生成的大量样本之上的,在获取不同路径分配方案下路网的实际交通运行状态方面具有优势,比主流的基于路阻函数建模对系统最优路径分配方案进行求解的方法更为准确。

49、第二,本发明通过将微观仿真平台预生成的大量样本输入至深度神经网络进行训练,建立可根据路径分配方案快速预测路网交通运行状态的深度学习模型,并融合了遗传求解算法,解决了微观交通仿真运算效率低下、在路网管控场景中难以对系统最优路径分配方案进行快速求解的问题。

50、第三,本发明在构建预测路网交通运行状态的深度学习模型时,通过对osm路网进行大量的局部单元采样,获取尽可能多样化的路网结构特征,仅通过一次大规模训练,即可适应多数形态路网的交通运行状态预测需求,提升模型的适用性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1