一种基于时变网上的速度建模及在线路径规划方法

文档序号:36828835发布日期:2024-01-26 16:41阅读:14来源:国知局
一种基于时变网上的速度建模及在线路径规划方法

本发明涉及路径规划领域,尤其涉及一种基于时变网上的速度建模及在线路径规划方法。


背景技术:

1、随着时代的发展,近年来路径规划得到了更为广泛的研究。现有的路径规划研究主要集中在静态场景中,在一定的条件下,寻找从源点到终点的最优路径,从而节省时间、降低成本、提高效率。例如,一名乘客从当前位置出发前往目的地。乘客要求司机以最短的时间到达,司机会以当前位置为源点,以目的地的位置为目标来查询一条最短路径。事实上,由于存在堵车、车祸等动态实时交通状况,使得规划的路径并不总是最优的,即距离最短路径并不一定是耗时最短路径。


技术实现思路

1、本发明提供一种基于时变网上的速度建模及在线路径规划方法,以克服上述技术问题。

2、一种基于时变网上的速度建模及在线路径规划方法,包括,

3、步骤1、获取路网数据集,所述路网数据集包括结点数据集和边数据集,结点数据集中每个结点都包含结点名称、经度和维度三个属性,边数据集中每条边都包含边名称、源结点、目标结点以及距离四个属性,获取每一条边的其他属性,所述其他属性包括车道数、汇入边集合、汇出边集合,计算每条边的最大停留车辆数,

4、步骤2、确定初始时刻、计算周期,基于初始时刻将计算周期划分为计算时刻集,

5、步骤3、对于每一计算时刻,判断计算时刻是否为初始时刻,若是则计算初始时刻每条边的最大停留车辆数,确定计算时刻对应的交通状态,根据交通状态和最大停留车辆数计算每条边在计算时刻对应的剩余车辆数,如不是,则根据前一计算时刻对应的剩余车辆数、实际汇入车辆数和实际汇出车辆数计算每条边在计算时刻对应的剩余车辆数,

6、获取所有计算时刻各条边对应的剩余车辆数,分别计算各计算时刻各条边对应的交通密度、各条边对应的车辆平均速度以及各条边对应的路段耗时,基于各条边对应的路段耗时对路网数据集进行更新,所述对路网数据集进行更新是对各条边的权重进行更新,

7、步骤4、获取待查询起始结点和结束节点,初始化堆,所述堆用于存储起始节点和结束节点之间的最短耗时路径,将待查询起始节点作为一条路径存储在堆中,判断堆首路径的尾节点是否为结束节点,若不是结束节点,则基于堆中存储的路径、路径处理策略从更新后的路网数据集中获取新的路径,计算新的路径的预估总耗时,并将新的路径存储至堆中,并重新判断堆首路径的尾节点是否为结束节点,若是结束节点,获取堆首路径作为待查询起始节点和结束节点之间的最短耗时路径。

8、优选地,所述根据交通状态和最大停留车辆数计算每条边在计算时刻对应的剩余车辆数包括当交通状态为高峰状态时,每条边在计算时刻对应的剩余车辆数根据公式(1)确定剩余车辆数的范围,其中高峰状态为车速小于第一阈值,

9、e.maxstaycars×0.35<t-e.remaincars<e.maxstaycars×0.45 (1)

10、当交通状态为适中状态时,每条边在计算时刻对应的剩余车辆数根据公式(2)确定剩余车辆数的范围,其中适中状态为车速大于等于第一阈值小于等于第二阈值,

11、e.maxstaycars×0.25<t-e.remaincars<e.maxstaycars×0.35 (2)

12、当交通状态为通畅状态时,每条边在计算时刻对应的剩余车辆数根据公式(3)确定剩余车辆数的范围,其中通畅状态为车速大于第二阈值,

13、e.maxstaycars×0<t-e.remaincars<e.maxstaycars×0.25 (3)

14、其中通畅状态为车速大于第二阈值,e.maxstaycars表示边e的最大停留车辆数,t表示计算时刻,

15、基于不同交通状态确定剩余车辆数的范围后,从剩余车辆数的范围中随机取值作为计算时刻对应的剩余车辆数。

16、优选地,所述根据前一计算时刻对应的剩余车辆数、实际汇入车辆数和实际汇出车辆数计算每条边在计算时刻对应的剩余车辆数包括根据公式(4)计算,

17、(t+1)-e.remaincars=t-e.remaincars+∑e’∈inedgest-factoutcars(e’,e)-∑e”∈outedgest-fact out cars(e,e”) (4)

18、其中,e’∈e.inedges,inedges表示e的汇入边集合,outedges表示e的汇出边集合,e”∈e.outedges,t-e.remaincars表示t时刻e的剩余车辆数,factoutcars(e’,e)表示e’中实际汇出到e中的车辆数,factoutcars(e,e”)表示e中实际汇出到e”中的车辆数,factoutcars(e’,e)、factoutcars(e,e”)的计算包括,

19、若e∈e,e”∈e.outedges,e”不为空,根据公式(5)计算实际汇出车辆数,

20、factoutcars(e,e”)=min{min{waitoutcars(e,e”),limitcars(e,e”)},

21、maxacceptcars(e,e”)} (5)

22、其中,waitoutcars(e,e”)表示边e中等待汇出到e”的车辆数即待汇出车辆数,maxacceptcars(e,e”)表示允许e汇出到边e”的最大车辆数即最大接收车辆数,limitcars(e,e”)表示路口限制车辆数,

23、若e∈e,e’∈e.inedges,e’为空,e’的实际汇出车辆数根据t计算时刻所属交通状态来确定,首先根据公式(6)、(7)、(8)确定t计算时刻对应的实际汇出车辆数的范围,基于实际汇出车辆数的范围随机取值作为t计算时刻对应的实际汇出车辆数,

24、t计算时刻为高峰状态,

25、e.remaincars×0.4<t-factoutcars(e’,e)<e.remaincars×0.45 (6)

26、t计算时刻为适中状态,

27、e.remaincars×0.2<t-factoutcars(e’,e)<e.remaincars×0.4 (7)

28、t计算时刻为通畅状态,

29、e.remaincars×0<t-factoutcars(e’,e)<e.remaincars×0.2 (8)

30、若e∈e,e”∈e.outedges,e”为空,e的实际汇出车辆数根据t计算时刻所属交通状态来确定:首先根据公式(9)、(10)、(11)确定t计算时刻对应的实际汇出车辆数的范围,基于实际汇出车辆数的范围随机取值作为t计算时刻对应的实际汇出车辆数,

31、t计算时刻为高峰状态:

32、e.waitoutcars×0.5<t-factoutcars(e,e”)<e.waitoutcars×0.6 (9)

33、t计算时刻为适中状态:

34、e.waitoutcars×0.6<t-factoutcars(e,e”)<e.waitoutcars×0.8 (10)

35、t计算时刻为通畅状态:

36、e.waitoutcars×0.8<t-factoutcarss(e,e”)<e.waitoutcars×1 (11)

37、其中,e到e”的待汇出车辆数waitoutcar(e,e”)根据公式(12)计算,任意e和e”之间都有一个比例参数pr,记作pr(e,e”):

38、waitoutcars(e,e”)=e.remaincars×pr(e,e”) (12)

39、若e∈e且e”∈e.outedges,e”为空,则根据当前交通状态和历史数据来确定e-e”的待汇出车辆数:首先根据公式(13)、(14)、(15)确定t计算时刻对应的待汇出车辆数的范围,基于待汇出车辆数的范围随机取值作为t计算时刻对应的待汇出车辆数,

40、t计算时刻为高峰状态:

41、t-e.remaincars×0.4<t-waitoutcars(e,e”)<t-e.remaincars×0.5 (13)

42、t计算时刻为适中状态:

43、t-e.remaincars×0.5<t-waitoutcars(e,e”)<t-e.remaincars×0.7 (14)

44、t计算时刻为通畅状态:

45、t-e.remaincars×0.7<t-waitoutcarss(e,e”)<t-e.remaincars×1 (15)

46、其中,e.remaincars表示e的剩余车辆数,waitoutcars(e’,e)表示e’到e的待汇出车辆数。

47、优选地,所述分别计算各计算时刻各条边对应的交通密度、各条边对应的车辆平均速度以及各条边对应的路段耗时包括根据公式(16)计算交通密度,

48、

49、其中,e.remaincars表示e的剩余车辆数,distance表示距离长度;lane表示车道数;当e达到饱和状态即停满车时,当前密度称为阻塞密度,记作kj,交通密度k∈[0,kj],其中,阻塞密度

50、

51、根据公式(17)计算车辆平均速度,

52、

53、其中,uf=-vf/cj,ρ=k/kj,cj=vf/4,cj是运动波速,vf是自由流速度,k是密度,kj是阻塞密度,

54、根据公式(18)计算路段耗时,

55、

56、其中,distance表示距离长度。

57、优选地,所述步骤4包括,

58、步骤4.1:在t时刻,初始化堆h:将起始结点vi作为一条路径存入堆h中,即堆h={{vi}},

59、步骤4.2:取出堆h中的堆首路径path,对其进行路径处理策略,将新生成的路径重新加入到堆中,并按照预估总耗时pretime升序重新排序,实时更新堆中所有路径的pretime,

60、所述路径处理策略包括,

61、取出堆首路径path后,对path的尾结点进行处理,处理流程如下:

62、首先判断path的尾结点是否存在邻居结点;若不存在邻居结点,则将堆首路径path淘汰,执行下一堆首路径;

63、若存在邻居结点,查找的所有邻居结点,判断邻居结点是否已作为处理结点被处理过,

64、若邻居结点已经被处理过,则将该邻居结点淘汰,返回处理下一邻居结点;

65、若邻居结点未被处理过,将未处理过且不在路径中的所有邻接结点加入到path中生成多条新路径,所述生成多条新路径是分别将各邻接节点与path进行连接组成新路径,计算新路径中新加入路段的路段耗时e.time,计算新路径到达结束结点的预估直线耗时prelinetime和新路径的预估总耗时pretime,并将这些新路径按照pretime递增的顺序加入到堆中,

66、步骤4.3:重复步骤4.2,停止条件为堆首路径path尾结点等于结束结点,返回堆首路径path,path即为最短耗时路径。

67、本发明提供一种基于时变网上的速度建模及在线路径规划方法,解决了现有的路径规划的精准性问题。本发明中借助将道路网络中边的权重设为通过该边所需的时间,动态的进行路径规划。相较于已有算法,本发明充分考虑了道路网络的动态性,不再采用距离作为权值,而是采用路段耗时,使得权值更有意义。此外,还采取了路径处理策略,只针对其中最有可能成为结果的路径进行计算以及排序,并获得最短耗时路径。

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