车联网中人工鱼群分簇方法、存储介质和装置转让专利

申请号 : CN202010509269.8

文献号 : CN112004208B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邵彩幸程风欣

申请人 : 西南民族大学

摘要 :

本发明公开了一种车联网中人工鱼群分簇方法、存储介质和装置,方法利用人工鱼群算法的适应值F进行车联网分簇,所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定。本发明对车联网城市路口环境进行分析,设计了新的簇头评估参数,提出了一种基于人工鱼群的车辆分簇方法;该方法通过人工鱼的行为,在网络范围内筛选出合适的簇头,从而获得最优的车辆簇数目;研究结果表明,本发明所提方法与著名的CLPSO算法相比,可以产生更少的车辆簇,这意味着可以更好地减少通信开销,降低端到端延迟。

权利要求 :

1.车联网中人工鱼群分簇方法,利用人工鱼群算法的适应值F进行车联网分簇,其特征在于:所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定;其中车辆节点i的所述车辆节点度数Ci为:

Ci=|Ki‑θ|

式中, j为另一车辆节点, dij为节点i、j之间的距离,r为车辆节点i的通信范围,θ为当交通密度最大时通信范围内所有的邻居节点数目;

车辆节点i的所述车辆节点移动性CR(i)为:式中,车辆的移动性MC(i,j)=RVM(i,j)*RAM(i,j),RVM(i,j)为车辆节点i和j间的速度相对性, RAM(i,j)为车辆节点i和j间的加速度相对性, Vmax和amax分别表示速度上限和加速度上限,Vi、Vj、ai、aj分别表示车辆节点i的速度、车辆节点j的速度、车辆节点i的加速度、车辆节点j的加速度;Nmember(k)为第k个簇的成员个数;

所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定包括:式中,α是权重系数,CN是生成簇的个数。

2.根据权利要求1所述的车联网中人工鱼群分簇方法,其特征在于:通常情况下,所述车辆节点度数C和车辆节点移动性CR的比例为1∶1;而当某段时间车流量较少时,所述车辆节点度数C的权重增加。

3.根据权利要求1所述的车联网中人工鱼群分簇方法,其特征在于:所述方法包括以下步骤:

初始化鱼群后,进行迭代;所述迭代包括:对车辆节点i执行聚群行为,计算新的位置和对应的适应值;同时对车辆节点i执行追随行为,计算新的位置和对应的适应值;

选择所述聚群行为和追随行为中的较高的适应值,并与车辆节点i的适应值进行比较:若大于则进行下一次迭代,否则执行觅食行为、并计算新的位置和对应的适应值后,进行下一次迭代。

4.根据权利要求3所述的车联网中人工鱼群分簇方法,其特征在于:所述迭代的迭代次数与种群规模N和最大迭代次数Max_iteration相关;在每次迭代完成后,首先判断本轮迭代次数是否大于种群规模N,若不是则继续进行本轮迭代,否则判断迭代轮数是否大于最大迭代次数Max_iteration,若不是则进行新一轮的迭代,否则直接结束得到簇头节点。

5.根据权利要求3所述的车联网中人工鱼群分簇方法,其特征在于:所述聚群行为包括:

计算当前簇头CHi的视野范围内伙伴数目Nf及视野中心位置如果 则表示视野中心位置的适应值较好并且不太拥挤,于是按照以下公式向中心移动一步:式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长。

6.根据权利要求3所述的车联网中人工鱼群分簇方法,其特征在于:所述追随行为包括:

搜索当前簇头CHi视野范围内的邻居中适应值最优的对应的位置Xmax(t);如果则表明邻居Xmax处的适应值较好并且不太拥挤,于是按照以下公式向邻居的方向移动一步:式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长,rand是随机函数。

7.根据权利要求3所述的车联网中人工鱼群分簇方法,其特征在于:所述觅食行为包括:

基于当前簇头CHi的位置,在视野范围里随机选择一个位置Xj,选择方式如下:Xj(t)=Xi(t)+Visual*Rand(0,1)式中,Xi(t)为当前车辆节点i的位置,Visual是人工鱼视野范围,rand是随机函数;

如果Xj处的适应值优于CHi位置的适应值,则CHi根据以下公式向Xj移动一步,并且Xj选为新的CH:

式中,step是人工鱼移动步长;

反之,再在视野范围内重新随机选择位置进行比较,若多次尝试后,仍无法达到觅食条件,则执行随机行为:

Xi(t+1)=Xi(t)+Visual*Rand(0,1)。

8.一种计算机程序存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现权利要求1‑7任一项所述的车联网中人工鱼群分簇方法。

9.一种执行车联网中人工鱼群分簇方法的装置,其特征在于:包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述的车联网中人工鱼群分簇方法的步骤。

说明书 :

车联网中人工鱼群分簇方法、存储介质和装置

技术领域

[0001] 本发明涉及车联网领域,尤其涉及车联网中人工鱼群分簇方法、存储介质和装置。

背景技术

[0002] 随着智能交通系统的发展,车联网(Vehicular Ad Hoc Networks,VANET)做智能交通系统的组成部分,近年来已成为无线自组织网络领域的研究热点。VANET对减少交通事
故,缓解道路阻塞,满足各种行驶需求具有重要意义。车联网虽然是移动自组织网络的一个
分支,但有着车辆节点移动性强、网络拓扑变化频繁、节点间通信链接断续、车辆移动轨迹
规律且受道路分布影响等不同于移动自组织网络的特性。使得传统的适合静态网络的Ad 
Hoc路由协议存在很多局限性,如网络整体的吞吐量降低,路由开销增加,数据投递的时延
增加,导致用户实时性的体验大大折扣。将分簇形式的拓扑结构应用于车载自组网的环境,
可以降低网络维护的成本,提高可扩展性。城市车联网中,通过分簇的方式将车辆划分到多
个不同的团体。车辆节点分为簇头和簇成员两类,簇头负责簇群内部和不同簇间的数据通
信,由于簇成员的功能和作用比较单一,簇头并不需要维护复杂的路由信息,从而降低信息
的碰撞概率,提高信道利用率,具有较强的鲁棒性。但是,在车辆节点密集的城市路口划分
出合适的簇数是一个重要问题。因为簇太多会导致较高的延迟而簇太少又会导致间断性的
链接。车联网作为移动自组织网络的分支,目前车联网分簇算法大多是基于经典算法不断
改进创新而来。
[0003] 对于现有技术算法的研究和对比,发现在车联网的应用环境中,大多数分簇算法利用了车辆的驾驶信息进行分簇,其中,簇头对网络性能有着重要影响。并且这些分簇算法
的适用场景大多为直道或者是高速公路场景,很少有分簇算法能够胜任复杂且情况多变的
路口场景下的分簇任务。

发明内容

[0004] 本发明的目的在于克服现有技术的不足,提供车联网中人工鱼群分簇方法、存储介质和装置。
[0005] 本发明的目的是通过以下技术方案来实现的:
[0006] 本发明的第一方面,提供车联网中人工鱼群分簇方法,利用人工鱼群算法的适应值F进行车联网分簇,所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定;其中车
辆节点i的所述车辆节点度数Ci为:
[0007] Ci=|Ki‑θ|
[0008] 式中, j为另一车辆节点, dij为节点i、j之间的距离,r为车辆节点i的通信范围,θ为当交通密度最大时通信范围内所有的邻居节点
数目;
[0009] 车辆节点i的所述车辆节点移动性CR(i)为:
[0010]
[0011] 式中,车辆的移动性MC(i,j)=RVM(i,j)*RAM(i,j),RVM(i,j)为车辆节点i和j间的速度相对性, RAM(i,j)为车辆节点i和j间的加速度相
对性, Vmax和amax分别表示速度上限和加速度上限,Vi、Vj、
ai、aj分别表示车辆节点i的速度、车辆节点j的速度、车辆节点i的加速度、车辆节点j的加速
度;Nmember(k)为第k个簇的成员个数。
[0012] 进一步地,所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定包括:
[0013]
[0014] 式中,α是权重系数,CN是生成簇的个数。
[0015] 进一步地,通常情况下,所述车辆节点度数C和车辆节点移动性CR的比例为1:1;而当某段时间车流量较少时,所述车辆节点度数C的权重增加。
[0016] 进一步地,所述方法包括以下步骤:
[0017] 初始化鱼群后,进行迭代;所述迭代包括:
[0018] 对车辆节点i执行聚群行为,计算新的位置和对应的适应值;同时对车辆节点i执行追随行为,计算新的位置和对应的适应值;
[0019] 选择所述聚群行为和追随行为中的较高的适应值,并与车辆节点i的适应值进行比较:若大于则进行下一次迭代,否则执行觅食行为、并计算新的位置和对应的适应值后,
进行下一次迭代。
[0020] 进一步地,所述迭代的迭代次数与种群规模N和最大迭代次数Max_iteration相关;在每次迭代完成后,首先判断本轮迭代次数是否大于种群规模N,若不是则继续进行本
轮迭代,否则判断迭代轮数是否大于最大迭代次数Max_iteration,若不是则进行新一轮的
迭代,否则直接结束得到簇头节点。
[0021] 进一步地,所述聚群行为包括:
[0022] 计算当 前簇头 CHi的 视野范围 内伙伴 数目N f及视野 中心位 置如果 则表示视野中心位置的适应值较好并且不太拥挤,
于是按照以下公式向中心移动一步:
[0023]
[0024] 式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长。
[0025] 进一步地,所述追随行为包括:
[0026] 搜索当前簇头CHi视野范围内的邻居中适应值最优的对应的位置Xmax(t);如果则表明邻居Xmax处的适应值较好并且不太拥挤,于是按照以下公式向邻居的方向移
动一步:
[0027]
[0028] 式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长,rand是随机函数。
[0029] 进一步地,所述觅食行为包括:
[0030] 基于当前簇头CHi的位置,在视野范围里随机选择一个位置Xj,选择方式如下:
[0031] Xj(t)=Xi(t)+Visual*Rand(0,1)
[0032] 式中,Xi(t)为当前车辆节点i的位置,Visual是人工鱼视野范围,rand是随机函数;
[0033] 如果Xj处的适应值优于CHi位置的适应值,则CHi根据以下公式向Xj移动一步,并且Xj选为新的CH:
[0034]
[0035] 式中,step是人工鱼移动步长;
[0036] 反之,再在视野范围内重新随机选择位置进行比较,若多次尝试次数后,仍无法达到觅食条件,则执行随机行为:
[0037] Xi(t+1)=Xi(t)+Visual*Rand(0,1)。
[0038] 本发明的第二方面,提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的车联网中人工鱼群分簇方法。
[0039] 本发明的第三方面,提供一种装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现所述的车
联网中人工鱼群分簇方法的步骤。
[0040] 本发明的有益效果是:
[0041] 本申请对车联网城市路口环境进行分析,设计了新的簇头评估参数,提出了一种基于人工鱼群的车辆分簇方法。该方法通过人工鱼的行为,在网络范围内筛选出合适的簇
头,从而获得最优的车辆簇数目。研究结果表明,本申请所提方法与著名的CLPSO算法相比,
可以产生更少的车辆簇,这意味着可以更好地减少通信开销,降低端到端延迟。

附图说明

[0042] 图1为本发明一示例实施例公开的车辆节点行驶模型;
[0043] 图2为本发明一示例实施例公开的发明流程图;
[0044] 图3~图6为本发明一示例性实施例公开的车辆节点在30、40、50、60时本示例性实施例的簇数和CLPSO簇数与通信距离的关系比较示意图。

具体实施方式

[0045] 下面结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人
员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0046] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数
形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包
含一个或多个相关联的列出项目的任何或所有可能组合。
[0047] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离
本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第
一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……
时”或“响应于确定”。
[0048] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0049] 在本发明一示例性实施例公开的车联网中人工鱼群分簇方法,利用人工鱼群算法的适应值F进行车联网分簇,在该示例性实施例中,这里我们考虑了车辆节点的度数、车辆
的移动性两种因素,设计了一个簇头能力参数,用来衡量节点的作为簇头的能力大小。
[0050] 下述示例性实施例的系统模型如图1所示,是以含有十字路口的双向多车道的城市场景为基础而建立的。在车联网中,将移动的车辆看作节点,每个节点都配备有车载通信
单元,在车辆行驶过程中,车辆上的车载通信单元能够周期性地以广播的形式接收或发送
各类数据,包括车辆之间的控制报文以及交通事件预警消息等。车辆可通过自带的GPS定位
系统可获取自身的位置、方向、行驶速度等信息。
[0051] 具体地,所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定。在网络中,每个节点都会周期性广播HELLO控制报文,从而发现通信范围内的邻居节点,进而计算节点
度数。节点度数Ci在这里是指第i个节点与周围节点的连通状况,Ci值越大表示与周围节点
的连通状况越好。在网络的初始阶段,每个节点都会与通信范围内的邻居之间周期性地交
互控制报文,节点度数则可以通过这种控制报文的数量来获得。如果不考虑节点度数,随机
选择簇首的方法有时会选择一个没有邻居的节点作为簇首。
[0052] 其中车辆节点i的所述车辆节点度数Ci为:
[0053] Ci=|Ki‑θ|
[0054] 式中, j为另一车辆节点, dij为节点i、j之间的距离,r为车辆节点i的通信范围,θ为当交通密度最大时通信范围内所有的邻居节点
数目;
[0055] 更为具体地,θ=2r*133*m/1000,m为公路中车辆的车道数,交通阻塞密度为133辆/(车道·km),该值可替换。
[0056] 连通度越大,说明车辆分布越理想,对网络资源的利用率越高。
[0057] 而对于车辆节点移动性CR(i),节点i和j从GPS设备上获取的自身速度和加速度。车辆节点i的所述车辆节点移动性CR(i)为:
[0058]
[0059] 式中,车辆的移动性MC(i,j)=RVM(i,j)*RAM(i,j),RVM(i,j)为车辆节点i和j间的速度相对性, RAM(i,j)为车辆节点i和j间的加速度相
对性, Vmax和amax分别表示速度上限和加速度上限,Vi、Vj、
ai、aj分别表示车辆节点i的速度、车辆节点j的速度、车辆节点i的加速度、车辆节点j的加速
度;NMEMBER(k)为第k个簇的成员个数。
[0060] 如果一个节点拥有比较高的CR,说明由它作为一个簇的簇头,生成的簇中的节点移动相似性会比较高。因此,倾向于选择拥有更高CR值的节点作为簇首。
[0061] 移动性MC的设计,我们同时考虑了两个相关因子,即速度相对性RVM和加速度相对性RAM。若一个节点拥有更高的移动性,则说明这个节点与其邻居节点之间呈现出更相似的
移动规律,属于同一个簇的节点移动规律越相似,簇结构越稳定。移动性MC与RVM和RAM是正
相关的,RVM描述的是车辆节点间位置变化的相似性,RVM越大MC越大;RAM描述的是车辆节
点间速度变化的相似性,RAM越大MC越大,因此我们采用直接相乘的方式来求MC。
[0062] 更优地,在一示例性实施例中,所述适应值F由车辆节点度数C和车辆节点移动性CR共同决定包括:
[0063]
[0064] 式中,α是权重系数,CN是生成簇的个数。
[0065] 更优地,在一示例性实施例中,通常情况下,所述车辆节点度数C和车辆节点移动性CR的比例为1:1;而当某段时间车流量较少时,所述车辆节点度数C的权重增加。、
[0066] 具体地,这里的权重系数代表了每种因素对簇头选取结果的影响程度,在该示例性实施例中选择1:1的比例是根据实验数据而定的,即权重系数都取0.5,我们发现在这种
情况下获得的分簇数量最优。当然如果某段时间车流量很少,这时算选的车辆节点大概率
没有邻居节点,在这种情况下节点度数的影响更大,可考虑适当增加节点度数Ci的权重。
[0067] 更优地,参见图2,图2示出了本发明一示例性实施例的所述方法包括以下步骤:
[0068] 初始化鱼群后,进行迭代;所述迭代包括:
[0069] 对车辆节点i执行聚群行为,计算新的位置和对应的适应值;同时对车辆节点i执行追随行为,计算新的位置和对应的适应值;
[0070] 选择所述聚群行为和追随行为中的较高的适应值,并与车辆节点i的适应值进行比较:若大于则进行下一次迭代,否则执行觅食行为、并计算新的位置和对应的适应值后,
进行下一次迭代。
[0071] 更优地,在一示例性实施例中,如图2所示,所述迭代的迭代次数与种群规模N和最大迭代次数Max_iteration相关;在每次迭代完成后,首先判断本轮迭代次数是否大于种群
规模N,若不是则继续进行本轮迭代,否则判断迭代轮数是否大于最大迭代次数Max_
iteration,若不是则进行新一轮的迭代,否则直接结束得到簇头节点。
[0072] 更优地,在一示例性实施例中,所述聚群行为包括:
[0073] 计算当 前簇头 CHi的 视野范围 内伙伴 数目N f及视野 中心位 置如果 则表示视野中心位置的适应值较好并且不太拥挤,
于是按照以下公式向中心移动一步:
[0074]
[0075] 式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长。
[0076] 更优地,在一示例性实施例中,所述追随行为包括:
[0077] 搜索当前簇头CHi视野范围内的邻居中适应值最优的对应的位置Xmax(t);如果则表明邻居Xmax处的适应值较好并且不太拥挤,于是按照以下公式向邻居的方向移
动一步:
[0078]
[0079] 式中,Xi(t)为当前车辆节点i的位置,N是节点总数,δ是拥挤度因子,step是人工鱼移动步长,rand是随机函数。
[0080] 更优地,在一示例性实施例中,所述觅食行为包括:
[0081] 基于当前簇头CHi的位置,在视野范围里随机选择一个位置Xj,选择方式如下:
[0082] Xj(t)=Xi(t)+Visual*Rand(0,1)
[0083] 式中,Xi(t)为当前车辆节点i的位置,Visual是人工鱼视野范围,rand是随机函数;
[0084] 如果Xj处的适应值优于CHi位置的适应值,则CHi根据以下公式向Xj移动一步,并且Xj选为新的CH:
[0085]
[0086] 式中,step是人工鱼移动步长;
[0087] 反之,再在视野范围内重新随机选择位置进行比较,若多次尝试次数后,仍无法达到觅食条件,则执行随机行为:
[0088] Xi(t+1)=Xi(t)+Visual*Rand(0,1)。
[0089] 因此,基于上述示例性实施例,下述内容提供了所述方法的实验数据:
[0090] 使用MATLAB对提出的基于人工鱼群的车联网分簇算法进行验证,并在同样条件下,对文献(W.Shahzad,F.A.Khan,and A.B.Siddiqui.Clustering in mobile adhoc 
networks using comprehensive learning particle swarm optimization(clpso)
.inInternational Conference on Future Generation Communi‑cation and 
Networking.Springer,2009,pp.342–349)提出的CLPSO算法进行对比分析。仿真参数设置
如下表所示。
[0091]参数名称 本申请(AFSA‑V) CLPSO
车辆节点个数 30‑60 30‑60
网络规模 1km*1km 1km*1km
通信范围 100m‑600m 100m‑600m
车辆速度 30km/h‑50km/h 30km/h‑50km/h
2 2
加速度 1.5m/s 1.5m/s
车道数 8 8
种群数量 100 100
迭代次数 100 100
α 0.5 0.5
[0092] 表1仿真参数设定表
[0093] 从实验结果来看,使用本示例性实施例所提算法组成的簇的数目比使用CLPSO算法组成的簇的数目更少,有利于降低通信延迟。如图3~6,显示的是增加车辆节点数量和车
辆通信距离对车辆簇数目的影响。可以看到在相同条件下,本示例性实施例产生的车辆簇
数目均少于CLPSO算法产生的车辆簇数目。此外,还可以观察到车辆通信距离对簇的数目有
重要的影响,固定车辆节点数目,车辆通信范围从100米增加到600米,可以看到车辆簇的数
目在减少,这是因为如果一个车辆的通信距离较大,那么簇的数量就会减少,因为传输数据
的车辆通信范围越大,车辆通信覆盖的区域就越大。因此,一个车辆簇将容纳更多的节点,
从而簇的数目就更少。综上所述,与CLPSO算法相比,本示例性实施例所提放啊可以提供更
优的簇头数量,即形成更少的车辆簇,整体的通信竞争将减少,这可以有效的降低通信时
延。
[0094] 与上述任意方法示例性实施例具有相同的发明构思,本申请的又一示例性实施例提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现所述的
车联网中人工鱼群分簇方法。
[0095] 与上述任意方法示例性实施例具有相同的发明构思,本申请的又一示例性实施例提供一种装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的
计算机程序,所述处理器执行所述计算机程序时实现所述的车联网中人工鱼群分簇方法的
步骤。
[0096] 显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或
变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或
变动仍处于本发明创造的保护范围之中。