一种基于二进制鲸鱼优化算法的分簇方法及系统
未命名
08-15
阅读:103
评论:0
1.本发明涉及飞行自组织网络技术领域,尤其涉及一种基于二进制鲸鱼优化算法的分簇方法及系统。
背景技术:
2.多无人机网络通常被称为飞行自组网(flying ad hoc network,fanet)。在fanet中,所有无人机建立一个自组织网络,只有部分无人机连接到基础设施,其他无人机使用中间无人机以多跳的方式与地面基站通信。由于单个uav(unmanned aerial vehicle,无人机)的能量和计算能力有限,不可能保证随时随地的最佳工作状态,而多无人机之间紧密协作组成无人机集群可以用于完成各种复杂和特殊环境下的任务。因此,逐渐成为了当前无人机作战应用的重要形式。
3.但fanet中由于节点移动性高,入网和退网较为频繁,这对网络的建立和维护造成了一定的困难,并且随着无人机规模增大,很难对其进行高效的控制与管理。将网络划分集群可有助于解决上述问题,划分过程基于不同的参数,uav被分到不同的集群小组中,在节点的有效通信范围内可以互相直接通信,共享信道和资源。因此提出一种基于二进制鲸鱼优化算法的分簇方法及系统,基于网络带宽和节点覆盖能力来计算网络中需划分的最优集群数目;采用离散二进制鲸鱼优化(bwoa)算法用于选择簇头,基于能量、簇内距离和簇间距离来设计适应度函数选择簇头,划分集群;设置维护策略实现集群的高效维护;集群路由通信,通过集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。与先前的研究工作相比,本发明在降低能耗提高网络生存周期方面有较好的表现。
技术实现要素:
4.本发明针对飞行自组织网络中由于能量资源限制和高移动性导致的链路故障、路由开销高等问题,提出一种基于二进制鲸鱼优化算法的分簇方法及系统。
5.为了实现上述目的,本发明采用以下技术方案:
6.本发明一方面提出一种基于二进制鲸鱼优化算法的分簇方法,包括:
7.步骤1,基于网络带宽和节点覆盖范围约束计算最优集群数目;
8.步骤2,利用二进制鲸鱼优化算法选择簇头;
9.步骤3,根据距离划分无人机集群;
10.步骤4,通过设置维护策略实现集群的高效维护;
11.步骤5,集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。
12.进一步地,所述步骤1包括:
13.步骤101,建立节点覆盖范围的约束如式(4)(5)所示:
14.d
ij
=min{dis(i,1),dis(i,2),...,dis(i,k)} (1)
[0015][0016][0017][0018][0019]
其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;rj表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n
[0020]
表示无人机节点总个数;u={uav1,uav2,...,uavi,...,uavn}为所有无人机节点集合;c={ch1,ch2,...,chj,...,chk}为所有簇头节点集合;约束条件保证每个节点都被簇头节点所覆盖,且同时只与一个簇头连接;
[0021]
步骤102,建立满足网络带宽的约束如式(7)所示:
[0022][0023][0024]
其中,b1和b2为集群内和集群间带宽,第j个集群内簇成员个数为mj;
[0025]
步骤103,建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)
[0026]
所示:
[0027][0028][0029][0030]
上述约束条件分别为:1.每个簇成员只与一个簇头连接,2.所有簇成员都与簇头连接,3.集群内和集群间达到带宽均衡。
[0031]
进一步地,所述步骤2包括:
[0032]
步骤201,初始鲸鱼种群:鲸鱼采用二进制编码方式,对n个uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量;
[0033]
步骤202,设置二进制鲸鱼算法的最大迭代次数t
max
;
[0034]
步骤203,计算每头鲸鱼的适应度值:基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:
[0035][0036][0037]
[0038][0039]
fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f4ꢀꢀꢀꢀꢀꢀꢀ
(13)
[0040]
其中e(uavi)为网络中第i个uav节点的剩余能量(i=1,2,3,
…
,n),e(chj)
[0041]
为第j个ch节点的剩余能量(j=1,2,3,
…
,k),m为第j个簇中uav节点个数;
[0042]
dis(uavi,chj)为集群中簇头chj和簇成员uavi之间的距离;dis(chj,bs)为集群中簇头chj和基站bs之间的距离;cnumj为集群j的大小;w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数;
[0043]
步骤204,直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。
[0044]
进一步地,所述步骤3包括:
[0045]
步骤301,对于所有非簇头uav(uavi,i=1,2,
…
,n),计算与其通信范围内所有ch(chj,j=1,2,
…
,k)节点的距离;
[0046]
步骤302,若uav与chj之间距离最小,则加入该集群。
[0047]
进一步地,所述步骤4包括:
[0048]
步骤401,对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于该值或簇头离开集群则进行集群维护,重新选举簇头;
[0049]
步骤402,若簇成员离开集群,则在该集群的成员列表中删除该节点。
[0050]
进一步地,所述步骤5包括:
[0051]
步骤501,对于集群内通信:首先查找邻居表,若在其邻居表中则直接通信,否则转发给簇头与目标节点进行通信;
[0052]
步骤502,对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择下一跳节点,路径选择函数如式(14)所示:
[0053][0054]
其中,ej表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。
[0055]
本发明另一方面提出一种基于二进制鲸鱼优化算法的分簇系统,包括:
[0056]
最优集群数目求解模块,用于基于网络带宽和节点覆盖范围约束计算最优集群数目;
[0057]
簇头选举模块,用于利用二进制鲸鱼优化算法选择簇头;
[0058]
集群划分模块,用于根据距离划分无人机集群;
[0059]
集群维护模块,用于通过设置维护策略实现集群的高效维护;
[0060]
路由通信模块,用于集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。
[0061]
进一步地,所述最优集群数目求解模块包括:
[0062]
第一约束建立子模块,用于建立节点覆盖范围的约束如式(4)(5)所示:
[0063]dij
=min{dis(i,1),dis(i,2),...,dis(i,k)}
ꢀꢀꢀꢀꢀ
(1)
[0064]
[0065][0066][0067][0068]
其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;rj表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n表示无人机节点总个数;u={uav1,uav2,...,uavi,...,uavn}为所有无人机节点集合;c={ch1,ch2,...,chj,...,chk}为所有簇头节点集合;约束条件保证每个节点都被簇头节点所覆盖,且同时只与一个簇头连接;
[0069]
第二约束建立子模块,用于建立满足网络带宽的约束如式(7)所示:
[0070][0071][0072]
其中,b1和b2为集群内和集群间带宽,第j个集群内簇成员个数为mj;
[0073]
最优集群数目求解子模块,用于建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)所示:
[0074][0075]
上述约束条件分别为:1.每个簇成员只与一个簇头连接,2.所有簇成员都与簇头连接,3,集群内和集群间达到带宽均衡。
[0076]
进一步地,所述簇头选举模块包括:
[0077]
初始化子模块,用于初始鲸鱼种群:鲸鱼采用二进制编码方式,对n个uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量。
[0078]
最大迭代次数设置子模块,用于设置二进制鲸鱼算法的最大迭代次数t
max
;
[0079]
适应度值计算子模块,用于计算每头鲸鱼的适应度值:基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:
[0080][0081][0082][0083]
[0084]
fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f4ꢀꢀꢀꢀꢀꢀꢀ
(13)
[0085]
其中e(uavi)为网络中第i个uav节点的剩余能量(i=1,2,3,
…
,n),e(chj)为第j个ch节点的剩余能量(j=1,2,3,
…
,k),m为第j个簇中uav节点个数;dis(uavi,chj)为集群中簇头chj和簇成员uavi之间的距离;dis(chj,bs)为集群中簇头chj和基站bs之间的距离;cnumj为集群j的大小;w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数;
[0086]
最优簇头得出子模块,用于直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。
[0087]
进一步地,所述集群划分模块包括:
[0088]
距离计算子模块,用于对于所有非簇头uav(uavi,i=1,2,
…
,n),计算与其通信范围内所有ch(chj,j=1,2,
…
,k)节点的距离;
[0089]
加入集群子模块,用于若uav与chj之间距离最小,则加入该集群。
[0090]
进一步地,所述集群维护模块包括:
[0091]
簇头维护子模块,用于对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于该值或簇头离开集群则进行集群维护,重新选举簇头。
[0092]
簇成员维护子模块,用于若簇成员离开集群,则在该集群的成员列表中删除该节点。
[0093]
进一步地,所述路由通信模块包括:
[0094]
集群内通信子模块,用于对于集群内通信:首先查找邻居表,若在其邻居表中则直接通信,否则转发给簇头与目标节点进行通信;
[0095]
集群间通信子模块,用于对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择下一跳节点,路径选择函数如式(14)所示:
[0096][0097]
其中,ej表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。
[0098]
与现有技术相比,本发明具有的有益效果:
[0099]
本发明通过网络带宽和节点覆盖能力来计算网络中需划分的最优集群数目,以合理充分利用网络资源,实现网络资源利用最大化。
[0100]
本发明提出了一种基于二进制鲸鱼优化算法的聚类方案。采用离散二进制鲸鱼优化(bwoa)算法用于选择簇头。该算法基于能量、簇内距离和簇间距离的适应度函数选择簇头,划分集群;设置维护策略实现集群的高效维护;集群路由通信,通过集群内和集群间设置不同路由策略。该方案在满足无人机集群的通信需求的基础上,在降低能耗提高网络生存周期方面有较好表现。
附图说明
[0101]
图1为本发明实施例的一种基于二进制鲸鱼优化算法的分簇方法的基本流程图;
[0102]
图2为本发明实施例fanet中uav随机分布示意图;
[0103]
图3为本发明实施例fanet中集群划分示意图;
[0104]
图4为本发明实施例一种基于二进制鲸鱼优化算法的分簇系统架构示意图。
具体实施方式
[0105]
下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0106]
如图1所示,一种基于二进制鲸鱼优化算法的分簇方法,包括:
[0107]
步骤s101,基于网络带宽和节点覆盖范围约束计算最优集群数目;
[0108]
步骤s102,利用二进制鲸鱼优化算法选择簇头;
[0109]
步骤s103,根据距离划分无人机集群;
[0110]
步骤s104,通过设置维护策略实现集群的高效维护;
[0111]
步骤s105,集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。
[0112]
进一步地,所述步骤s101中,基于网络带宽和节点覆盖范围约束计算最优集群数目的具体步骤如下:
[0113]
步骤s101.1,建立节点覆盖范围的约束如式(4)(5)所示:
[0114]dij
=min{dis(i,1),dis(i,2),...,dis(i,k)}
ꢀꢀꢀꢀꢀꢀ
(1)
[0115][0116][0117][0118][0119]
其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;rj表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n表示无人机节点总个数;u={uav1,uav2,...,uavi,...,uavn}为所有无人机节点集合;c={ch1,ch2,...,chj,...,chk}为所有簇头节点集合。约束条件保证每个节点都被簇头节点所覆盖,且同时只与一个簇头连接。
[0120]
步骤s101.2,建立满足网络带宽的约束如式(7)所示:
[0121][0122][0123]
其中,b1和b2为集群内和集群间带宽,第j个集群内簇成员个数为mj。
[0124]
步骤s103.3:建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)所示:
[0125][0126]
上述约束条件分别为:1.每个簇成员只与一个簇头连接,2.所有簇成员都与簇头
连接,3.集群内和集群间达到带宽均衡。
[0127]
进一步地,所述步骤s102中,利用二进制鲸鱼优化算法选择簇头的具体步骤如下:
[0128]
步骤s102.1,初始鲸鱼种群。鲸鱼采用二进制编码方式,对n个uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量。作为一种可实施方式,鲸鱼数量设置为50。
[0129]
步骤s102.2,设置二进制鲸鱼算法的最大迭代次数t
max
,作为一种可实施方式,t
max
=100。
[0130]
步骤s102.3,计算每头鲸鱼的适应度值。基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:
[0131][0132]
其中e(uavi)为网络中第i个uav节点的剩余能量(i=1,2,3,
…
,n),e(chj)为第j个ch节点的剩余能量(j=1,2,3,
…
,k)。
[0133][0134]
其中dis(uavi,chj)为集群中簇头chj和簇成员uavi之间的距离。
[0135][0136]
其中dis(chj,bs)为集群中簇头chj和基站bs之间的距离。
[0137][0138]
其中cnumj为集群j的大小。
[0139]
fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f4ꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0140]
其中w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数。
[0141]
步骤s102.4,直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。
[0142]
进一步地,所述步骤s103中,根据距离划分无人机集群的具体步骤如下:
[0143]
步骤s103.1,对于所有非簇头uav(uavi,i=1,2,
…
,n),计算与其通信范围内所有ch(chj,j=1,2,
…
,k)节点的距离;
[0144]
步骤s103.2,若uav与chj之间距离最小,则加入该集群。
[0145]
进一步地,所述步骤s104中,通过设置维护策略实现集群的高效维护的具体步骤如下:
[0146]
步骤s104.1,对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于设置的能量阈值或簇头离开集群则进行集群维护,重新选举簇头;
[0147]
步骤s104.2,若簇成员离开集群,则在该集群的成员列表中删除该节点。
[0148]
进一步地,所述步骤s105中,集群路由通信,通过集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求的具体步骤如下:
[0149]
步骤s105.1,对于集群内通信:首先查找邻居表,若在其邻居表中则直接通信,否则转发给簇头与目标节点进行通信;
[0150]
步骤s105.2,对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择
下一跳节点,路径选择函数如式(14)所示:
[0151][0152]
其中,ej表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。
[0153]
在上述实施例的基础上,如图4所示,本发明另一方面提出一种基于二进制鲸鱼优化算法的分簇系统,包括:
[0154]
最优集群数目求解模块,用于基于网络带宽和节点覆盖范围约束计算最优集群数目;
[0155]
簇头选举模块,用于利用二进制鲸鱼优化算法选择簇头;
[0156]
集群划分模块,用于根据距离划分无人机集群;
[0157]
集群维护模块,用于通过设置维护策略实现集群的高效维护;
[0158]
路由通信模块,用于集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。
[0159]
进一步地,所述最优集群数目求解模块包括:
[0160]
第一约束建立子模块,用于建立节点覆盖范围的约束如式(4)(5)所示:
[0161]dij
=min{dis(i,1),dis(i,2),...,dis(i,k)}
ꢀꢀꢀꢀꢀꢀꢀ
(1)
[0162][0163][0164][0165][0166]
其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;rj表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n表示无人机节点总个数;u={uav1,uav2,...,uavi,...,uavn}为所有无人机节点集合;c={ch1,ch2,...,chj,...,chk}为所有簇头节点集合。约束条件保证每个节点都被簇头节点所覆盖,且同时只与一个簇头连接。
[0167]
第二约束建立子模块,用于建立满足网络带宽的约束如式(7)所示:
[0168][0169][0170]
其中,b1和b2为集群内和集群间带宽,第j个集群内簇成员个数为mj。
[0171]
最优集群数目求解子模块,用于建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)所示:
[0172][0173]
上述约束条件分别为:1.每个簇成员只与一个簇头连接,2.所有簇成员都与簇头连接。3.集群内和集群间达到带宽均衡。
[0174]
进一步地,所述簇头选举模块包括:
[0175]
初始化子模块,用于初始鲸鱼种群。鲸鱼采用二进制编码方式,对n个uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量。
[0176]
最大迭代次数设置子模块,用于设置二进制鲸鱼算法的最大迭代次数t
max
。
[0177]
适应度值计算子模块,用于计算每头鲸鱼的适应度值。基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:
[0178][0179]
其中e(uavi)为网络中第i个uav节点的剩余能量(i=1,2,3,
…
,n),e(chj)为第j个ch节点的剩余能量(j=1,2,3,
…
,k)。
[0180][0181]
其中dis(uavi,chj)为集群中簇头chj和簇成员uavi之间的距离。
[0182][0183]
其中dis(chj,bs)为集群中簇头chj和基站bs之间的距离。
[0184][0185]
其中cnumj为集群j的大小。
[0186]
fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f4ꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0187]
其中w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数。
[0188]
最优簇头得出子模块,用于直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。
[0189]
进一步地,所述集群划分模块包括:
[0190]
距离计算子模块,用于对于所有非簇头uav(uavi,i=1,2,
…
,n),计算与其通信范围内所有ch(chj,j=1,2,
…
,k)节点的距离;
[0191]
加入集群子模块,用于若uav与chj之间距离最小,则加入该集群。
[0192]
进一步地,所述集群维护模块包括:
[0193]
簇头维护子模块,用于对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于设置的能量阈值或簇头离开集群则进行集群维护,重新选举簇头;
[0194]
簇成员维护子模块,用于若簇成员离开集群,则在该集群的成员列表中删除该节点。
[0195]
进一步地,所述路由通信模块包括:
[0196]
集群内通信子模块,用于对于集群内通信:首先查找邻居表,若在其邻居表中则直接通信,否则转发给簇头与目标节点进行通信;
[0197]
集群间通信子模块,用于对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择下一跳节点,路径选择函数如式(14)所示:
[0198][0199]
其中,ej表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。
[0200]
综上,本发明首先基于网络带宽和节点覆盖范围约束计算出网络中的最优集群数目;其次,基于最优集群数目根据节点簇内和簇间距离、剩余能量的加权值采用二进制鲸鱼优化算法选择簇头,并基于距离进行集群划分;再次,设置集群维护策略来实现集群的高效维护;最后,对集群内和集群间的采用不同路由通信策略;以实现在较低的能量消耗下满足无人机集群的通信需求,提高网络性能。
[0201]
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
技术特征:
1.一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,包括:步骤1,基于网络带宽和节点覆盖范围约束计算最优集群数目;步骤2,利用二进制鲸鱼优化算法选择簇头;步骤3,根据距离划分无人机集群;步骤4,通过设置维护策略实现集群的高效维护;步骤5,集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。2.根据权利要求1所述的一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,所述步骤1包括:步骤101,建立节点覆盖范围的约束如式(4)(5)所示:d
ij
=min{dis(i,1),dis(i,2),...,dis(i,k)}
ꢀꢀꢀꢀꢀ
(1)(1)(1)(1)其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;r
j
表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n表示无人机节点总个数;u={uav1,uav2,...,uav
i
,...,uav
n
}为所有无人机节点集合;c={ch1,ch2,...,ch
j
,...,ch
k
}为所有簇头节点集合;步骤102,建立满足网络带宽的约束如式(7)所示:步骤102,建立满足网络带宽的约束如式(7)所示:其中,b1和b2为集群内和集群间带宽,m
j
为第j个集群内簇成员个数;步骤103,建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)所示:上述约束条件分别为:每个簇成员只与一个簇头连接,所有簇成员都与簇头连接,集群内和集群间达到带宽均衡。3.根据权利要求1所述的一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,所述步骤2包括:
步骤201,初始鲸鱼种群:鲸鱼采用二进制编码方式,对n个无人机uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量;步骤202,设置二进制鲸鱼算法的最大迭代次数t
max
;步骤203,计算每头鲸鱼的适应度值:基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:选择适应度函数,如式(13)所示:选择适应度函数,如式(13)所示:选择适应度函数,如式(13)所示:fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f
4 (13)其中e(uav
i
)为网络中第i个uav节点的剩余能量,i=1,2,3,
…
,n;e(ch
j
)为第j个簇头ch节点的剩余能量,j=1,2,3,
…
,k;dis(uav
i
,ch
j
)为集群中簇头ch
j
和簇成员uav
i
之间的距离;m为第j个集群中uav节点个数;dis(ch
j
,bs)为集群中簇头ch
j
和基站bs之间的距离;cnum
j
为集群j的大小;w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数;步骤204,直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。4.根据权利要求1所述的一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,所述步骤3包括:步骤301,对于所有非簇头无人机节点,计算与其通信范围内所有簇头节点的距离;步骤302,若无人机节点与第j个集群之间距离最小,则加入该集群。5.根据权利要求1所述的一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,所述步骤4包括:步骤401,对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于设置的能量阈值或簇头离开集群则进行集群维护,重新选举簇头;步骤402,若簇成员离开集群,则在该集群的成员列表中删除该节点。6.根据权利要求1所述的一种基于二进制鲸鱼优化算法的分簇方法,其特征在于,所述步骤5包括:步骤501,对于集群内通信:首先查找邻居表,若目标无人机节点在其邻居表中则直接通信,否则转发给簇头与目标无人机节点进行通信;步骤502,对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择下一跳节点,路径选择函数如式(14)所示:其中,e
j
表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。7.一种基于二进制鲸鱼优化算法的分簇系统,其特征在于,包括:最优集群数目求解模块,用于基于网络带宽和节点覆盖范围约束计算最优集群数目;
簇头选举模块,用于利用二进制鲸鱼优化算法选择簇头;集群划分模块,用于根据距离划分无人机集群;集群维护模块,用于通过设置维护策略实现集群的高效维护;路由通信模块,用于集群路由通信,通过在集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。8.根据权利要求7所述的一种基于二进制鲸鱼优化算法的分簇系统,其特征在于,所述最优集群数目求解模块包括:第一约束建立子模块,用于建立节点覆盖范围的约束如式(4)(5)所示:d
ij
=min{dis(i,1),dis(i,2),...,dis(i,k)} (1)(1)(1)(1)其中d
ij
表示无人机节点i到簇头j的距离;k表示簇头总个数;r
j
表示簇头j的覆盖范围;如果节点i在簇头j的覆盖范围内,l
ij
为1,否则l
ij
为0;n表示无人机节点总个数;u={uav1,uav2,...,uav
i
,...,uav
n
}为所有无人机节点集合;c={ch1,ch2,...,ch
j
,...,ch
k
}为所有簇头节点集合;第二约束建立子模块,用于建立满足网络带宽的约束如式(7)所示:第二约束建立子模块,用于建立满足网络带宽的约束如式(7)所示:其中,b1和b2为集群内和集群间带宽,m
j
为第j个集群内簇成员个数;最优集群数目求解子模块,用于建立满足节点覆盖范围和网络带宽的最优集群数目的约束如式(8)所示:上述约束条件分别为:每个簇成员只与一个簇头连接,所有簇成员都与簇头连接,集群内和集群间达到带宽均衡。9.根据权利要求7所述的一种基于二进制鲸鱼优化算法的分簇系统,其特征在于,所述簇头选举模块包括:初始化子模块,用于初始鲸鱼种群:鲸鱼采用二进制编码方式,对n个无人机uav进行簇头选举,每个uav节点有唯一的id编号,鲸鱼在某一时刻的位置为一个n维的二进制向量;
最大迭代次数设置子模块,用于设置二进制鲸鱼算法的最大迭代次数t
max
;适应度值计算子模块,用于计算每头鲸鱼的适应度值:基于能量、簇内和簇间距离及负载均衡设计簇头选择适应度函数,如式(13)所示:载均衡设计簇头选择适应度函数,如式(13)所示:载均衡设计簇头选择适应度函数,如式(13)所示:载均衡设计簇头选择适应度函数,如式(13)所示:fitness=w1×
f1+w2×
f2+w3×
f3+w4×
f4ꢀꢀꢀꢀꢀꢀꢀꢀ
(13)其中e(uav
i
)为网络中第i个uav节点的剩余能量,i=1,2,3,
…
,n;e(ch
j
)为第j个簇头ch节点的剩余能量,j=1,2,3,
…
,k;dis(uav
i
,ch
j
)为集群中簇头ch
j
和簇成员uav
i
之间的距离;m为第j个集群中uav节点个数;dis(ch
j
,bs)为集群中簇头ch
j
和基站bs之间的距离;cnum
j
为集群j的大小;w1+w2+w3+w4=1,w1,w2,w3,w4为(0,1)之间的权重参数;最优簇头得出子模块,用于直到达到最大迭代次数,输出具有最优解的鲸鱼的位置,即选举的簇头uav。10.根据权利要求7所述的一种基于二进制鲸鱼优化算法的分簇系统,其特征在于,所述集群划分模块包括:距离计算子模块,用于对于所有非簇头无人机节点,计算与其通信范围内所有簇头节点的距离;加入集群子模块,用于若无人机节点与第j个集群之间距离最小,则加入该集群;进一步地,所述集群维护模块包括:簇头维护子模块,用于对簇头设置能量阈值,周期性检测节点能量,如果簇头能量水平低于设置的能量阈值或簇头离开集群则进行集群维护,重新选举簇头;簇成员维护子模块,用于若簇成员离开集群,则在该集群的成员列表中删除该节点;进一步地,所述路由通信模块包括:集群内通信子模块,用于对于集群内通信:首先查找邻居表,若目标无人机节点在其邻居表中则直接通信,否则转发给簇头与目标无人机节点进行通信;集群间通信子模块,用于对于集群间通信:基于无人机节点剩余能量和距离的加权函数选择下一跳节点,路径选择函数如式(14)所示:其中,e
j
表示节点j的剩余能量;dis(i,j)表示节点i和j之间的距离。
技术总结
本发明属于飞行自组织网络技术领域,公开一种基于二进制鲸鱼优化算法的分簇方法及系统,该方法包括:步骤1:基于网络带宽和节点覆盖范围约束计算最优集群数目;步骤2:利用二进制鲸鱼优化算法选择簇头;步骤3:根据距离划分无人机集群;步骤4:通过设置维护策略实现集群的高效维护;步骤5:集群路由通信,通过集群内和集群间设置不同路由策略,以实现在较低的能量消耗下满足无人机集群的通信需求。本发明同时考虑了网络带宽和节点覆盖能力计算最优集群数目,利用二进制鲸鱼优化算法选举簇头划分集群,在能耗和网络生存期方面有较好的表现。在能耗和网络生存期方面有较好的表现。在能耗和网络生存期方面有较好的表现。
技术研发人员:闫永航 夏雪文 曹莹 李智佳 袁科
受保护的技术使用者:河南大学
技术研发日:2023.01.11
技术公布日:2023/8/14
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
