一种基于k-means聚类的VANET分簇路由方法

文档序号:33637009发布日期:2023-03-29 00:56阅读:44来源:国知局
一种基于k-means聚类的VANET分簇路由方法
一种基于k-means聚类的vanet分簇路由方法
技术领域
1.本发明属于车联网技术领域,尤其涉及一种基于k-means聚类的vanet分簇路由方法。


背景技术:

2.车辆自组网(vanet)是车联网的一个分支,是指由路边单元、车辆之间构成的一种无中心、移动自组织、多跳传输网络,旨在将数据快速传输给高速移动的车辆,支撑车辆获得实时路况以及周围车辆信息。由于道路上各种交通状况的突然性很强,车辆之间的信息传递需要有更好的时效性和可靠性。然而,车辆的高速移动会导致无线通信链路频繁中断,导致网络连接不稳定。此外,车辆与其他实体之间的交互信息量巨大,容易导致信息碰撞和拥堵。因此,很难保证vanet的低时延和高可靠性的服务质量要求。为解决这一问题引入聚类分簇算法减少网络通信延迟和链路拥塞,但传统聚类分簇算法形成的集群数过多、计算复杂度增大且簇头更换频繁,导致网络簇头数量不稳定、端到端时延高等问题。


技术实现要素:

3.发明目的:针对车辆自组网中数据路由转发延迟和可靠性问题,本发明的目的在于提供一种基于k-means聚类的vanet分簇路由方法,提高了簇头的稳定性以及网络的鲁棒性。
4.技术方案:本发明的基于k-means聚类的vanet分簇路由方法,基于目标路段内行驶的车辆,按照预设周期性执行以下步骤,保证车辆快速行驶过程中链路的连通性,降低数据包的丢失率;s1:初始化车辆节点集的参数,针对车辆节点集,基于k-means聚类算法通过迭代选出k个聚类中心节点,同时将vanet分为k个簇并给每个簇编号num;s2:将各个聚类中心节点中所属的每个簇编号num分别发送给簇内的每个簇成员cm,簇成员cm将编号num保存到各自的路由表中;s3:利用改进的人工蜂群算法选出每个簇中的簇头节点ch;首先,利用适应度函数分别计算出k个簇中每个车辆节点的适应度值,进一步地,将簇头节点id广播发送给簇内的每个簇成员cm,簇成员cm将簇头节点id存到自己的路由表中;在收到簇头节点id后,簇成员cm将自身的id发送给ch,ch将簇成员id保存到自己的路由表中;s4、簇内通信,源节点向簇头节点ch发送路由请求信息,ch查询自身路由表,如果目的节点id在路由表中,ch根据ksp路由选择算法选出最短路径,并将最短路径信息返回给源节点;否则,启动簇间路由发现过程;其中,源节点是发起通信的节点;s5、簇间通信,源节点所在簇的簇头节点ch未在自身路由表中发现目的节点id,则向路侧单元rsu发送路由请求,rsu根据目的节点的簇编号num和目的节点id查找路由表,若果找到目的节点则根据ksp路由选择算法选择最短路径,并将最短路径返回给源节点;否则
告知源节点,目的节点丢失;其中,源节点是进行路由传输时的描述,对应目的节点。
5.进一步的,步骤s1中,基于k-means聚类算法通过迭代选出k个聚类中心节点,具体包括如下步骤:s11、车辆节点数为n,在所有车辆节点中随机选择一个车辆节点作为初始聚类中心 ;s12、计算车辆节点到初始聚类中心的距离和链路连通性,并根据初始聚类中心的距离和链路连通性选择下一个初始聚类中心;s13、重复步骤s12,直到选出k个车辆节点作为初始聚类中心;s14、计算每个车辆节点到k个初始聚类中心的分簇指数,根据最小分簇指数值,将车辆节点分配给初始聚类中心;s15、根据轮廓系数,重新选择k个簇中的聚类中心;其中,是某节点i到同簇群其他节点的平均距离;是某节点i到其他簇群内节点的平均距离,轮廓系数越小说明簇内成员和簇头之间联系程度越紧密,网络结构的鲁棒性越强。
6.进一步的,步骤s12中,所述链路连通性计算定义如下:其中,是通信传输半径;是车辆节点i到初始聚类中心之间链路的可持续使用时间;是车流模型中,车辆通信时间的概率密度函数;定义如下:,定义如下:其中,是车辆节点i到初始聚类中心相对速度的均值;是相对速度ved的方差;根据的最大值选择下一个初始聚类中心。
7.进一步的,步骤s14中,所述分簇指数cluster_index的计算定义如下:

,其中为车辆节点i到初始聚类中心之间距离的平方,为车辆节点i到初始聚类中心之间速度差的平方,为车辆节点i到初始聚类中心之间加速度差的平方,为车辆节点i到初始聚类中心之间链路连通性。
8.进一步的,步骤s3中,基于人工蜂群算法选出每个簇中的簇头节点ch ,具体包括如下步骤:s31、初始化算法的基本参数,种群个数即车辆节点数,设置最大迭代次数max,蜜源的最大迭代次数limit,算法维度d;根据初始化蜜源;其中,初始蜜源l=;i是初始蜜源的数量,即初始聚类中心的数量,,是一个d维向量,、分别是的最大值和最小值;表示在0~1范围内的随机数,并且服从柯西分布;蜜源与引领蜂一一对应;s32、让每一个引领蜂在初始蜜源附近寻找新的蜜源,更新公式如下:,i≠ks33、引领蜂阶段,根据适应度函数,计算s32中蜜源的适应度值;将蜜源的适应度值进行排序,形成蜜源集,利用,计算得到反向蜜源集;如果》,则用反向蜜源集代替蜜源集;反之蜜源集不变;s34、跟随蜂阶段,引领蜂分享s33中蜜源集信息,跟随蜂在蜜源集中进一步搜索蜜源,对所有蜜源按概率,选择跟随的蜜源,即当前可跟随的最优蜜源,越大对应的适应度值越大,被开采的概率越大,根据,更新蜜源位置,n为当前迭代次数;利用参数trial记录最优蜜源,当蜜源被保留时trial为0;当蜜源被更新时,trial加1;s35、侦察蜂阶段,蜜源参数trial》limit时,该蜜源的适应度值仍然保持不变,则陷入局部最优解,记录此蜜源为当前最优解,放弃此蜜源,与此蜜源对应的引领蜂将放弃此蜜源并转变为侦察蜂﹐然后用,随机生成新蜜源,侦察蜂对这个新蜜源
进行搜索并再次转变为引领蜂;s36、完成一次迭代,记录该次迭代中最优蜜源;判断算法达到最大迭代次数max,若达到,运行结束输出最优蜜源作为簇头;若未达到,则转到s33进行下一次迭代。
9.有益效果:与现有技术相比,本发明具有如下显著优点:vanet的车辆节点具有动态的特性,网络拓扑结构频繁变化导致通信链路的不稳定,本发明方法将人工蜂群算法和k-means算法结合用于vanet分簇中;通过分簇指数对k-means算法进行改进,加快算法的收敛速度得到合适的集群数;进一步地,通过改进的人工蜂群算法中蚁群的迭代搜索获取k个分簇中全局最优的k个簇头,在不同大小车辆节点集的情况下可以得到数量相近的簇头数量,提高簇头的稳定性;在车辆节点集大小不同的情况下本发明可以将车辆节点间的端到端时延降低到5%;数据包到达率提高到96%。
附图说明
10.图1、vanet分簇路由方法流程图;图2、步骤s1的说明图;图3、步骤s3的说明图。
具体实施方式
11.下面结合附图对本发明的技术方案作进一步说明。
12.实施例1s0、参数初始化,车辆节点集大小设置为100、150、250;待测路段长度为5km;车辆速度范围是60km~120km;通信传输半径200m;s1、车辆节点集采用改进的k-means聚类算法通过迭代选出4个聚类中心节点,进一步地,将vanet分为4个簇;s2、聚类中心节点将所属的簇编号广播发送给簇内的每个簇成员cm,簇成员cm将编号存到自己的路由表中;s3、利用改进的人工蜂群算法选出每个簇中的簇头节点ch,首先,利用适应度函数分别计算出k个簇中每个车辆节点的适应度值,以s1中的聚类中心为初始蜜源;进一步地,将簇头节点id广播发送给簇内的每个簇成员cm,簇成员cm将簇头节点id存到自己的路由表中;在收到簇头节点id后,簇成员cm将自身的id发送给ch,ch将簇成员id保存到自己的路由表中;s4、簇内通信,源节点簇头节点ch发送路由请求信息,ch查询自身路由表,如果目的节点id在路由表中,ch根据ksp路由选择算法选出最短路径,并将最短路径信息返回给源节点;否则,启动簇间路由发现过程;s5、簇间通信,源节点所在簇的簇头节点ch未在自身路由表中发现目的节点id,则向路侧单元rsu发送路由请求,rsu根据目的节点的簇编号和目的节点id查找路由表,若果找到目的节点则根据ksp路由选择算法选择最短路径,并将最短路径返回给源节点;否则告知源节点,目的节点丢失;当车辆节点集大小为100时,使用本发明得到的车辆节点间端到端延迟、数据包到
达率分别是5%、96%;当车辆节点集大小为150时,使用本发明得到的端到端延迟、数据包到达率别是5%、95%;当车辆节点集大小为250时,使用本发明得到的端到端延迟、数据包到达率别是7%、94%。进一步地,在车辆节点集大小为100、150、250的情况下,簇头的数量稳定,簇头的个数都为4。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1