一种基于粒子群的车载网络路由路径优化方法
技术领域
本发明属于无线通信技术领域,尤其涉及一种基于粒子群的车载网络路由路径优化方法。
背景技术
车载网络是指在交通环境中车辆之间、车辆与固定接入点之间及车辆与行人之间相互通信组成的开放式移动网络,其目标是为了在道路上构建一个自组织的、部署方便、费用低廉、结构开放的车辆间通信网络,提供无中心、自组织、支持多跳转发的数据传输能力,以实现事故预警、辅助驾驶、道路交通信息查询、车间通信和Internet接入服务等应用。许多人将车载网络视为无线自组织网络(AdHoc Network)的一种特殊的实际应用,不过,由于车载网络本身所具有的网络特点,例如拓扑高动态、时延要求严格、节点移动速度高、轨迹可预测、能量无限、定位准确等,还有其应用前景明朗且广阔,研究范围横跨智能交通系统领域、计算机网络领域以及无线通信领域三大传统研究领域,使得对车载网络的研究吸引了许多学术界和工业界的注意。
解决路由问题是完成节点之间通信的关键,由于车载网络自身的特点,使得QoS路由算法成为当前研究的热点,这个算法的核心思想是在满足网络通信的基本条件下尽可能的减少通信代价,QoS路由算法主要需要考虑3个参数:(1)时延,节点之间的同时是通过中间节点完成的,源节点将数据发送给中间节点,由中间节点诸葛传递数据直到目的节点,如果这一过程所需要时间太长,那么数据就会长时间的占用网络资源;(2)可乘性参数,如误差率、分组丢失率等,其总的QoS值等于构成这条路径的所有链路的QoS值之积;(3)取最小参数,如峰值速率、瓶颈带宽等,这列指标的特点是其总的QoS值等于构成这条路径的所有链路的QoS值中的最大值或最小值。因此在尽量考虑多个参数的条件下选择合适的搞笑的算法实现车载自组织网络QoS路由优化选择成为了重点。
1995年J.Kennedy和R.C.Eberhartp首次提出了粒子群算法(PSO)。它同遗传算法类似,它也是更具对环境的适应度将种群中的个体移动到最好的区域;不同之处在于它不像其它演化算法那样对个体使用演化算子,而是将每个个体看作寻优空间中的一个没有体积的粒子,在搜索空间中以一定的速度飞行,通过环境的学习和适应,根据个体和群体的飞行经验的综合分析结果来动态调整飞行速度。是一种基于群体的智能优化工具。由于粒子群算法概念简单、参数较少、容易实现,切收敛速度快、优化效率高等特点,因此,该算法一经提出,便引起了各领域的学者的广泛关注。
PSO先生成初始种群,即在可行解空间中随机初始化一群粒子,每个粒子都为优化问题的一个可行解,并由目标函数为之确定一个适应值(Fitness Value)。每个粒子将在解空间中运动,并有一个速度决定其方向和距离。通常粒子将追随当前的最优粒子而动,并经过迭代搜索最后得到最优解。在每一代中,粒子将跟踪两个极值,一个是粒子本身迄今为止找到的最优解pbest,另外一个是整个种族迄今为止找到的最优解gbest。
发明内容
本发明针对背景技术的不足提供了一种基于粒子群的车载网络路由路径优化方法,对于多个QoS量化指标进行罚函数运算得出路径开销,每条路径根据个体最佳路径和群体最佳路径,调整路径内部节点,达到一定迭代次数后得出最佳路径,来提高网络资源的利用率。
本发明为解决上述技术问题采用以下技术方案:
根据本发明提出的一种基于粒子群的车载网络路由方法,包括以下步骤:
一种基于粒子群的车载网络路由路径优化方法,主要包括以下步骤:
步骤1)输入车载网络G,所述G是车载网络节点的以及网络链路的加权有向图,G=(N,E),其中,N是网络节点集合,E是网络链路集合;
步骤2)输入车载网络G的路由路径的起始节点Nbegin和终止节点Nend;
步骤3)获取起始节点Nbegin到终止节点Nend的路径集合Q;
步骤4)计算路径集合Q中每条路径的开销,从路径集合Q中取出的路径Mid的开销F(Mid)由链路上权值表示:
其中,为加传输代价权值,为带宽限制权值,为最大时延权值,是指N中的节点Ni和节点Nj节点之间的链路;RT表示Mid上的链路集合,W表示可用带宽,δ为满足通信需求最小带宽,Δ为给定通信的最大时延,是惩罚函数,当满足约束条件的时候,该函数为1,否则该函数等于r,且0<r<1;
步骤5)更新第time次迭代后每个编号的路径的个体最佳路径和整个路径集合的群体最佳路径当将赋值给当将赋值给
步骤6)当time>timeMAX,结束输出最佳路径反之计算路径调整方向
其中,路由调整方向是指路径中的具体节点向另一个节点的位置进行调整,表示第time次迭代后路径Mid,第time表示迭代次数,Mid表示路径编号,初始路径调整方向为ω为惯性权值,c1和c2分别为认知参数和社会参数,ξ和η为两个独立的服从[0,1]之间均匀分布的随机数,所述的表示在第time+1次迭代中路径Mid有ξ的概率向个体最佳路径调整,所述的表示第time+1次迭代中路径Mid有η的概率向群体最佳路径调整;
步骤7)调整路径内部节点,把路径中的节点按照步骤6)求出的路由调整方向调整;
其中,是指在第time+1次迭代中路径调整,当Ni节点调整后的位置不与真实节点重合或者不是路径中上一跳节点的邻接节点,就选择一个距离位置最近的Ni的上一跳节点的邻接节点来代替;
步骤8)计算和的适应值变化量ΔF,当ΔF<q,接受路径调整,否则仍为q为允许目标函数变坏范围;
将time值自增1,返回步骤4)。
作为本发明一种基于粒子群的车载网络路由路径优化方法的进一步优选方案,所述步骤3具体包含如下步骤:
步骤31)初始化id=0,设置Mid为(Nbegin),所有节点的可用值为true,所述节点的可用值是指节点是否可以加入路径的标志值;所述Mid是编号为id的节点的有序集合,该有序集合中的节点依次组成由Nbegin到Nend的路径,当Mid为(Nbegin)时,Mid包含节点Nbegin;所述id是一个整型变量;
步骤32)将G中除了起始节点Nbegin和其邻接节点以外的节点的可用值置为true,在Nbegin节点的邻接节点中,选择距离Nend最近的且可用值为true的任意一个节点,当存在该节点时,将该节点加入Mid并按照次序放置到Mid中原有节点的末尾,再将该节点的可用值置为false;当Nbegin节点的邻接节点中没有可用值为true的节点,进入步骤4);
步骤33)从Mid中按照次序排在最后的节点的邻接节点中,选择不在Mid中、距离Nend最近、可用值为true的任意一个节点,当存在该节点时,将该节点加入Mid并按照次序放置到Mid中原有节点的末尾,再将该节点的可用值置为false;当Mid中按照次序排在最后的节点的邻接节点中,没有可用值为true的节点,将Mid中按照次序排在最后的节点从Mid中删除,重新进入步骤33);
步骤34)判断Mid中按照次序排在最后的节点是不是Nend,当Mid中按照次序排在最后的节点不是Nend,进入步骤33);
步骤35)将Mid加入Nbegin到Nend的路径集合Q,将id值自增1,进入步骤32)。
作为本发明一种基于粒子群的车载网络路由路径优化方法的进一步优选方案,在步骤4)中使用粒子群算法对QoS的多个量化指标进行罚函数运算来计算开销。
作为本发明一种基于粒子群的车载网络路由路径优化方法的进一步优选方案,在步骤7)中,惯性权重ω采用线性减小的调整策略:其中,ωI为初始时的惯性权重;ωT为终止时的惯性权重。
5、根据权利要求1所述的一种基于粒子群的车载网络路由路径优化方法,其特征在于,在步骤8)中,在算法中加入模拟退火的思想提高粒子群算法的效率。
本发明采用以上技术方案与现有技术相比,具有以下技术效果:
本发明车载自组织网络路由优化的一个关键点就是在尽量考虑多个参数的条件下,选择一个合适高效的算法实现车载自组织网络的QoS路由优化,即选择一条从源节点到目的节点的优化路径。使用了粒子群算法,参数较少、容易实现,切收敛速度快、优化效率高。加入模拟退火的思想,使算法可以高效处理多峰值实际问题。
附图说明
图1是使用粒子群优化算法对车载自组织网络中路由路径优化优化方法流程;
图2是模拟小型车载网络加权无向图;
图3是模拟小型车载网络节点位置信息表。
具体实施方式
下面结合附图对本发明的技术方案做进一步的详细说明:
一种基于粒子群的车载网络路由路径优化方法,如图1所示,主要包括以下步骤:
步骤1)输入车载网络G,所述G是车载网络节点的以及网络链路的加权有向图,G=(N,E),所述N是网络节点集合,E是网络链路集合,加权是指对网络链路集合E内的链路加传输代价权值带宽限制权值和最大时延权值 是指N中的节点Ni和节点Nj节点之间的链路。
设定迭代阈值timeMAX值,初始化迭代变量time为0,所述timeMAX为用户输入的允许迭代的最大次数。
步骤2)输入车载网络G的路由路径的起始节点Nbegin和终止节点Nend;
步骤3)获取起始节点Nbegin到终止节点Nend的路径集合Q;具体步骤如下:
步骤31)初始化id=0,设置Mid为(Nbegin),所有节点的可用值为true,所述节点的可用值是指节点是否可以加入路径的标志值;所述Mid是编号为id的节点的有序集合,该有序集合中的节点依次组成由Nbegin到Nend的路径,当Mid为(Nbegin)时,Mid包含节点Nbegin;所述id是一个整型变量;
步骤32)将G中除了起始节点Nbegin和其邻接节点以外的节点的可用值置为true,在Nbegin节点的邻接节点中,选择距离Nend最近的且可用值为true的任意一个节点,当存在该节点时,将该节点加入Mid并按照次序放置到Mid中原有节点的末尾,再将该节点的可用值置为false;当Nbegin节点的邻接节点中没有可用值为true的节点,进入步骤4);
步骤33)从Mid中按照次序排在最后的节点的邻接节点中,选择不在Mid中、距离Nend最近、可用值为true的任意一个节点,当存在该节点时,将该节点加入Mid并按照次序放置到Mid中原有节点的末尾,再将该节点的可用值置为false;当Mid中按照次序排在最后的节点的邻接节点中,没有可用值为true的节点,将Mid中按照次序排在最后的节点从Mid中删除,重新进入步骤33);
步骤34)判断Mid中按照次序排在最后的节点是不是Nend,当Mid中按照次序排在最后的节点不是Nend,进入步骤33);
步骤35)将Mid加入Nbegin到Nend的路径集合Q,将id值自增1,进入步骤32)。
步骤4)计算路径集合Q中每条路径的开销,所述路径的开销是指花费在路径中节点链路上的开销,从路径集合Q中取出的路径Mid的开销F(Mid)由链路上权值表示:
其中,RT表示Mid上的链路集合,W表示可用带宽,δ为满足通信需求最小带宽,Δ为给定通信的最大时延,是惩罚函数,当满足约束条件的时候,该函数为1,否则该函数等于r,且0<r<1;
当第一次计算路径Mid开销时,把当前路径Mid作为编号为id的路径的个体最佳路径赋值给并比较集合内所有路径的个体最佳路径的开销,选择开销最少的任意一个路径作为群体最佳路径赋值给所述的个体最佳路径表示编号为id的路径在第time次迭代过程中开销最少的路径,所述的群体最佳路径是指所有路径在第time次迭代过程中开销最少的路径进入步骤6)。
当不是第一次计算Q中的路径开销进入步骤5)。
步骤5)更新第time次迭代后每个编号的路径的个体最佳路径和整个路径集合的群体最佳路径当将赋值给当将赋值给
步骤6)当time>timeMAX,结束输出最佳路径反之计算路径调整方向
其中,路由调整方向是指路径中的具体节点向另一个节点的位置进行调整,表示第time次迭代后路径Mid,第time表示迭代次数,Mid表示路径编号,初始路径调整方向为ω为惯性权值,c1和c2称为加速因子,分别为认知参数和社会参数,ξ和η为两个独立的服从[0,1]之间均匀分布的随机数,所述的表示在第time+1次迭代中路径Mid有ξ的概率向个体最佳路径调整,所述的表示第time+1次迭代中路径Mid有η的概率向群体最佳路径调整;
步骤7)调整路径内部节点,把路径中的节点按照步骤6)求出的路由调整方向调整;
所述是指在第time+1次迭代中路径调整,当Ni节点调整后的位置不与真实节点重合或者不是路径中上一跳节点的邻接节点,就选择一个距离位置最近的Ni的上一跳节点的邻接节点来代替;
步骤8)计算和的适应值变化量ΔF,当ΔF<q,接受路径调整,否则仍为q为允许目标函数变坏范围;
将time值自增1,返回步骤4)。
输入车载网络加权无向图如图2所示,将无向图放入直角坐标系中得到车载网络节点位置信息表如图3所示。
用户输入起始节点1号节点和终止节点9号节点。由权利要求书中的步骤3)可以得到路径集合:
所述的w是指无向图中加在链路上的传输代价、带宽限制和最大时延等权值。
设定timeMAX值并初始化time=0,按照步骤41)中的公式 计算{Mid}中每条路由路径的开销F(Mid),由于是第一次计算开销F(Mid),将M0赋值给将M1赋值给将M2赋值给并选择三者中的最大值将其赋值给不妨设M1的开销最小。
比较timeMAX和time的大小,这里是第一次迭代time<timeMAX。继续往下进行。
按照步骤7)中的公式计算路径调整方向以下的具体实施中以M0为例:
预先设定允许目标函数变坏范围q,按照步骤8)中的公式和表1中的网络节点位置信息计算路由调整
假设节点Ntemp(5+c2η(5-5),3.5+c2η(2.1-3.5))靠近节点N2,节点Ntemp(5+c2η(5-5),3.5+c2η(2.1-3.5))靠近节点N7,那么计算假设ΔQ<q,接受路径调整将赋值给time++。返回步骤42)。
本发明使用粒子群优化算法对QoS路由算法进行优化,对于多个QoS量化指标进行罚函数运算,再综合代价得出适应值,来适应车载自组织网络节点拓扑结构变化频繁的特点,提高网络资源的利用率。