一种基于实时路况的智能导航算法的制作方法

文档序号:16590919发布日期:2019-01-14 19:06阅读:1004来源:国知局
一种基于实时路况的智能导航算法的制作方法

本发明涉及车辆导航领域,更具体地,涉及一种基于实时路况的智能导航算法。



背景技术:

随着经济的发展和人们生活水平的提高,城市道路上的车辆急剧增加,大大推动了车辆导航产业的发展。传统的导航产品,大都是根据事先存储的地图,基于图论的思想,采用迪杰斯特拉算法、a*算法等算法得到最短路径。现有的导航算法有随道路网络增大计算时间急剧增加、导航路线忽略实时状况,不考虑道路拥塞等缺点,容易出现某些路段聚集大批车辆,造成车流量分布不均衡、道路拥塞等问题。

在处理大规模复杂动态坏境的路径规划问题时,智能优化算法往往有较好的性能。蚁群算法作为智能优化算法之一,其思想来源于蚁群觅食行为的探索,蚂蚁觅食过程中,在走过的道路留下一定信息素,随着信息素浓度的增加从而指引蚁群觅食。由于其具有正反馈、鲁棒性好、可并行等优点,已被广泛应用于如旅行商问题tsp、车间任务调度jsp等经典的组合优化问题中。



技术实现要素:

本发明的目的是解决上述一个或多个缺陷,提出一种基于实时路况的智能导航算法。

为实现以上发明目的,采用的技术方案是:

一种基于实时路况的智能导航算法,包括以下步骤:

s1:将交通网络的路况信息上传到数据中心,该信息包括路段长度、车辆数目、车道数,并根据以上信息估算车流量以及道路畅通系数:

ωij=qij/(dij*nij)(1)

上式(1)中ωij为车流量,qij为路段ij的车辆数目,dij为该路段长度,nij为车道数;

公式(2)中,μij为路段ij的道路畅通系数,μij∈[0,1],它与车流量ωij有关,当ωij很大时,道路畅通系数趋于0,反之,道路畅通系数趋于1;

s2:初始化信息启发因子α、期望启发因子β、路径启发因子ηij(ηij=1/dij),时间启发因子λ,并根据道路畅通系数及路段连接节点与最短直线的偏移程度h来初始化信息素浓度,信息素浓度的初始化具体计算如公式(3)所示:

其中τij(0)为节点i和j之间路段的信息素浓度,s为所求路径的起点,e为终点;dse表示从点d到点e的直线距离,dsj和dje同理;该公式表示初始信息素浓度随着路段偏移程度h增大而减少,随着道路畅通系数增大而增大,即路段越靠近中心直线、道路越畅通,信息素浓度越大;

s3:计算路段节点转移矩阵,为蚂蚁k构造解路线;

将蚂蚁k放在起点s,修改禁忌表,将s放入禁忌表中s→tabuk,蚂蚁k从路段节点i到下一路段节点j的转移规则为:生成一个随机数r∈(0,1),r<=阈值时,选取概率最大的路段节点j,即:当r>阈值时,采用轮盘赌的方式选取,如公式(4):

其中,allowedk为蚂蚁k的候选访问路段节点表,即未被访问过的路段节点集合;

s4:信息素浓度的局部更新,当蚂蚁完成搜索后一部分信息素会挥发,同时蚂蚁会在走过的路段节点释放信息素,对信息素更新规则进行如下改进:

τ'ij(t+1)=(1-ρ')τij(t)+ρ'δτij(t)(5)

ρ'=ρ+(1-μij)(7)

其中,公式(5)表示下一次迭代中,信息素浓度等于挥发后剩余浓度加上蚂蚁新释放的信息素浓度,设信息素蒸发率和蚂蚁的信息素释放速率均为ρ',δτij(t)为所有蚂蚁所释放的信息素总和;公式(6)中,δτkij(t)为蚂蚁k在路段(i,j)释放的信息素,若蚂蚁k经过该路段,否则δτkij(t)=0;公式(7)对信息素蒸发率进行改进,将其与道路畅通系数联系起来,ρ为传统意义上的蒸发率,ρ'为重新定义后的蒸发率;

s5:信息素浓度的全局更新,每次迭代完成后,对最优解的信息素浓度进行更新,规则如下:

τ'ij(t)=τij(t)+σρδτij(8)

其中,公式(8)表示对所有蚂蚁中最优解的信息素进行更新,σ为信息素的奖励系数,σ∈[0,1],公式(9)中,li为第i代蚂蚁中的最优解路径长度,lmin为全局最优解的路径长度,为局部最优解的平均长度;

s6:随着迭代次数动态调整蒸发率,使得蒸发率随着迭代深度的增加而减少:

其中,ρa为蒸发率下限,ρb为蒸发率上限,gent为当前迭代到第t代,gent为最大的迭代次数;

s7:重复步骤s2-s6,直到迭代n代,算法停止;

s8:输出最优导航路线。

与现有技术相比,本发明的有益效果是:

1)根据路段连接节点与最短中心直线的偏移程度来初始化信息素,控制蚂蚁的搜索范围,避免了蚂蚁的盲目搜索;

2)在选择路段节点构造路线时,考虑路段畅通程度,对路段节点设置不同的概率,根据道路畅通系数选择下一节点,进行基于路况信心的实时导航。通过设置随机数选择不同的概率设置方法,使得一部分蚂蚁直接选择当前最优的路段节点,加快收敛速度,另一部分蚂蚁通过轮盘赌进行选择,在一定程度上避免蚂蚁陷入局部最优;

3)对信息素浓度局部更新时考虑道路畅通系数,路段越畅通,信息素蒸发越慢,路段越拥塞,信息素蒸发越快,将道路畅通系数与蒸发率结合起来,使得蚂蚁尽可能选择当前较畅通的路段,避免蚂蚁聚集在某一路段,造成路段拥塞;

4)引入精英蚂蚁的思想,对最优蚂蚁的信息素浓度进行更新,对它进行额外奖励,引入这种额外的信息素强化手段有助于更好地引导蚂蚁搜索的偏向,使得蚂蚁向最优解路线靠拢,大大加快算法的收敛速度;

5)随着迭代次数动态调整蒸发率,使得蒸发率随着迭代深度的增加而减少,使得算法在探索全局最优值的同时,在一定程度上保证了收敛速度。

附图说明

图1为基于实时路况的智能导航算法的流程图;

图2为路段连接节点与最短中心直线偏移的示意图;

图3为最优导航路线的示意图。

具体实施方式

附图仅用于示例性说明,不能理解为对本专利的限制;

以下结合附图和实施例对本发明做进一步的阐述。

实施例1

一种基于实时路况的智能导航算法,请参考图1,包括以下步骤:

s1:将交通网络的路况信息上传到数据中心,该信息包括路段长度、车辆数目、车道数,并根据以上信息估算车流量以及道路畅通系数:

ωij=qij/(dij*nij)(1)

上式(1)中ωij为车流量,qij为路段ij的车辆数目,dij为该路段长度,nij为车道数;

公式(2)中,μij为路段ij的道路畅通系数,μij∈[0,1],它与车流量ωij有关,当ωij很大时,道路畅通系数趋于0,反之,道路畅通系数趋于1;

s2:初始化信息启发因子α、期望启发因子β、路径启发因子ηij(ηij=1/dij),时间启发因子λ,并根据道路畅通系数及路段连接节点与最短直线的偏移程度h来初始化信息素浓度,如图2所示,信息素浓度的初始化具体计算如公式(3)所示:

其中τij(0)为节点i和j之间路段的信息素浓度,s为所求路径的起点,e为终点;dse表示从点d到点e的直线距离,dsj和dje同理;该公式表示初始信息素浓度随着路段偏移程度h增大而减少,随着道路畅通系数增大而增大,即路段越靠近中心直线、道路越畅通,信息素浓度越大;

s3:计算路段节点转移矩阵,为蚂蚁k构造解路线;

将蚂蚁k放在起点s,修改禁忌表,将s放入禁忌表中s→tabuk,蚂蚁k从路段节点i到下一路段节点j的转移规则为:生成一个随机数r∈(0,1),r<=阈值时,选取概率最大的路段节点j,即:当r>阈值时,采用轮盘赌的方式选取,如公式(4):

其中,allowedk为蚂蚁k的候选访问路段节点表,即未被访问过的路段节点集合;

s4:信息素浓度的局部更新,当蚂蚁完成搜索后一部分信息素会挥发,同时蚂蚁会在走过的路段节点释放信息素,对信息素更新规则进行如下改进:

τ'ij(t+1)=(1-ρ')τij(t)+ρ'δτij(t)(5)

ρ'=ρ+(1-μij)(7)

其中,公式(5)表示下一次迭代中,信息素浓度等于挥发后剩余浓度加上蚂蚁新释放的信息素浓度,设信息素蒸发率和蚂蚁的信息素释放速率均为ρ',δτij(t)为所有蚂蚁所释放的信息素总和;公式(6)中,δτkij(t)为蚂蚁k在路段(i,j)释放的信息素,若蚂蚁k经过该路段,否则δτkij(t)=0;公式(7)对信息素蒸发率进行改进,将其与道路畅通系数联系起来,ρ为传统意义上的蒸发率,ρ'为重新定义后的蒸发率;

s5:信息素浓度的全局更新,每次迭代完成后,对最优解的信息素浓度进行更新,规则如下:

τ'ij(t)=τij(t)+σρδτij(8)

其中,公式(8)表示对所有蚂蚁中最优解的信息素进行更新,σ为信息素的奖励系数,σ∈[0,1],公式(9)中,li为第i代蚂蚁中的最优解路径长度,lmin为全局最优解的路径长度,为局部最优解的平均长度;

s6:随着迭代次数动态调整蒸发率,使得蒸发率随着迭代深度的增加而减少:

其中,ρa为蒸发率下限,ρb为蒸发率上限,gent为当前迭代到第t代,gent为最大的迭代次数;

s7:重复步骤s2-s6,直到迭代n代,算法停止;

s8:输出最优导航路线,如图3所示。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。

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