一种优化灰狼算法的WSN分簇路由方法

文档序号:37881181发布日期:2024-05-09 21:25阅读:154来源:国知局

本发明涉及无线通信,具体为一种优化灰狼算法的wsn分簇路由方法。


背景技术:

1、随着信息技术的飞速发展以及社会对实时数据获取和监测需求的持续增加,无线传感器网络(wireless sensor networks,wsn)作为一种新的信息采集和传输技术,引起了广泛的关注。wsn节点由数据收集、无线通信、数据处理、能量感知等模块构成,具备区域监控、数据收发、存储处理等能力,通过wsn节点之间协同工作,构建出完整的wsn。wsn在众多领域展现出了巨大的潜力和应用前景,如环境监测、农业智能化、工业自动化、医疗健康等领域。在这种网络中,大量微小的传感器节点分布在广阔的地理范围内,通过收集各种环境信息,如温度、湿度、光照等,实现对特定区域的实时监测和数据采集。wsn在实际应用中却面临着一系列挑战,其中比较突出的是路由问题。

2、wsn路由协议在wsn节点数据传输时起着非常关键的作用。wsn分簇是将网络划分为不同的节点组合(集群)的过程。其中每个集群都有一个簇头,负责从集群内的节点收集和融合数据并将其传输到基站。在实际应用中,由于大量的传感器节点通常位于不同的地理位置,数据需要以分簇的形式进行传输,因此路由方案的选择对于网络的能耗、数据传输延迟和可靠性都有重要影响。在大规模网络中,合理的分簇路由策略可以降低节点的通信负载,延长网络的寿命,并保证数据的及时传输和准确性。因此我们提出了一种优化灰狼算法的wsn分簇路由方法来解决上述问题。


技术实现思路

1、(一)解决的技术问题

2、针对现有技术的不足,本发明提供了一种优化灰狼算法的wsn分簇路由方法,解决了上述背景技术中所提出的问题。

3、(二)技术方案

4、本发明为了实现上述目的具体采用以下技术方案:

5、一种优化灰狼算法的wsn分簇路由方法,包括以下步骤:

6、步骤1:建立分簇网络模型和能量模型;

7、步骤2:优化灰狼算法;

8、步骤3:将优化灰狼的狩猎机制建模为寻找最佳簇头机制;

9、步骤4:节点成簇;

10、步骤5:优化簇首。

11、进一步地,所述步骤1中,在一个wsn网络由n个随机部署的传感器节点构成,用si表示第i个节点,相应的节点集合为{s1,s2,…,sn};并具有以下性质:

12、①每个传感器节点的初始能量相同,且具有相同的计算能力和通信能力;

13、②节点之间可以互相通信,也可以与基站直接进行通信;

14、③基站位置固定,能量没有限制且能量可以满足监测区域能量需要;

15、④节点能量有限且消耗完死亡;

16、采用leach能耗模型:

17、

18、

19、式(1)中,eelec为接收或发送1bit数据需消耗的能量;εfs和εamp为自由空间信道模型和多径衰落模型的功放因子参数;节点选用何种发射模型进行通信由d0决定,当节点间的距离d<d0时,选择自由空间信道模型,否则选择多径衰落模型;

20、节点接收kbits数据的能量损耗为:

21、erx(k)=k·eelec                    (3)

22、节点融合kbits数据消耗的能量为:

23、efx(k)=k·eda                    (4)

24、其中,eda表示融合1bit数据消耗的能量。

25、进一步地,所述步骤2中,对灰狼算法进行修正收敛因子、修正距离因子、优化α,β,δ权重以及优化包围机制;

26、修正收敛因子;

27、标准gwo算法通过收敛因子a调节参数a,从而平衡算法的全局搜索与局部搜索能力,因算法跳出局部最优值的能力较弱,从而导致在选择簇头时容易错过最佳簇头;本发明提出将线性收敛因子改为非线性收敛因子;根据反正切函数的非线性特征,对其变量及函数值进行修正提出非线性收敛因子a1更新表达式如下:

28、

29、式(5)中,t为算法迭代的次数;m为算法最大迭代次数;

30、如图1所示,a为gwo中的线性收敛因子;a1为优化后的非线性收敛因子;在迭代前期,a1取值较大且衰减速度较慢,这使得算法具有较强的全局探索能力;在迭代后期,a1迅速衰减至较少的值,局部搜索能力较强,在小范围内精细搜索,有利于加快算法收敛;

31、修正距离因子;

32、结合正余弦算法对gwo探索能力的促进作用。通过修正gwo算法中位置更新机制参数d,使α,β,δ灰狼通过加入正弦和余弦波动来增加空间探索能力。优化后的协同狩猎机制数学模型为:

33、

34、其中,rand(*)和p是属于[0,1]之间的随机数;xα/β/δ为α/β/δ灰狼的位置;cα/β/δ为xα/β/δ的系数;x(t)为当前时刻灰狼的位置;

35、优化α,β,δ权重;

36、为加快灰狼算法的收敛速度,提出α,β,δ灰狼可变权重更新策略,用于更新ω狼的位置;igwcr方法相对于β和δ更加重视α灰狼的作用;本发明以反正切函数的非线性特征,结合正余弦函数的性质,提出优化gwo算法可变权重数学模型:

37、

38、

39、ω3=1-0.8·ω1-1.2·ω2                   (9)

40、

41、式(7)和式(8)中,t表示当前迭代次数。如图2所示,ω1,ω2,ω3为α,β,δ灰狼可变权重;为突出显示α狼的作用,随着迭代次数的增加,将α狼的权重从0.83非线性减小到0.4;将β狼的权重从0.26非线性增加到0.33;将δ狼的权重从0.03非线性增加到0.28;并且α,β,δ狼的权重变化速率由大变小,实现了在迭代初期大范围搜索时以α狼为主并加快算法的收敛速度;在迭代中后期,为避免算法陷入局部最优使α,β,δ灰狼的权重逐渐接近;

42、igwcr方法最终ω灰狼的位置为:

43、x1=xα-a1·dα                        (11)

44、x2=xβ-a2·dβ                        (12)

45、x3=xδ-a3·dδ                       (13)

46、a1/2/3=2a1·rand(*)-a1                   (14)

47、x(t+1)=ω1·x1+ω2·x2+ω3·x3               (15)

48、其中,x1/x2/x3分别为α,β,δ灰狼预测的位置;a1/2/3为从2-0非线性减小的系数。

49、包围机制优化;

50、在igwo进行包围机制时,将螺旋更新位置机制和随机概率因子加入到灰狼算法的包围和攻击机制中,同时又将levy飞行策略加入到该方法的螺旋更新位置机制中;其中,螺旋更新机制和levy飞行策略,可进一步提升算法避免陷入局部最优的能力。

51、首先,引用levy飞行策略数学模型如下:

52、

53、其中,参数λ=1.5,μ和ν服从方差为和σν=1的正太分布;

54、其次,将螺旋更新位置机制加入到gwo的包围和攻击机制中;螺旋更新位置机制中加入levy飞行策略数学模型如下:

55、

56、式(17)中,b为螺旋方程的常量系数,令b=1,l为[-1,1]之间的一个随机数;

57、最后,引入随机概率因子p∈[0,1],当p≤0.5时,灰狼群体通过公式5-公式15的方法更新ω灰狼的位置;当p>0.5时,灰狼群体通过公式16-公式17的方法更新ω灰狼的位置。

58、进一步地,所述步骤3中,将优化灰狼的狩猎机制建模为寻找最佳簇头机制;在利用igwcr方法求解分簇问题时,簇首的位置是未知的,以适应度函数作为分簇的评价指标,通过将节点代入适应度函数,计算得出α,β和δ灰狼的位置,然后通过,α,β和δ灰狼来预测簇头的位置;通过igwcr方法的不断迭代,优化簇头的最佳分布;为减少igwcr方法在更新簇首分布过程中对wsn节点的能量消耗,本发明将更新簇首分布的过程在基站(base station,bs)中完成;在分簇过程中,所有节点将自身剩余能量、位置和编号信息发送给bs,bs接收并保存各节点的信息;在bs完成igwcr方法的分簇计算后,bs将结果进行广播;wsn节点根据接收的广播信息获得被选举节点及路由选择节点的具体位置信息。

59、进一步地,所述步骤4中,节点成簇;节点成簇具体的分配准则为:除簇头节点外的其他普通节点根据距离自己最近的簇头节点来确定自己所属的簇头;在这个过程中,每个普通节点会计算自己与每个簇头节点之间的距离,并选择距离最近的簇头节点作为自己的簇头。wsn节点成簇结果如图3所示。

60、进一步地,所述步骤5中,对簇首分布进行优化;其中包括:构建分簇矩阵、wsn节点映射策略、对分簇结果进行评价、适应度函数设计:

61、构建分簇矩阵;

62、本发明定义100个wsn节点,每轮分簇簇首的占比为5%。首先,构建如公式18所示的20×5分簇矩阵d。其中xi(t)包含每个节点的编号、位置和剩余能量信息,其中i为节点的序号,i=1,2,...,100;t为igwcr方法的迭代次数,t=1,2,...,m。分簇矩阵中每一行代表5个簇头的组合;每轮分簇过程中,如公式18-20所示,用igwcr方法对分簇矩阵d进行m次的更新;

63、

64、

65、

66、wsn节点映射策略;

67、在igwcr算法迭代过程中,igwcr算法所选的簇头节点位置将被更新,会出现更新后的节点位置在wsn中找不到与之匹配wsn节点的情况;此时,本发明将igwcr算法更新后预测的簇头位置映射到距离该位置最近存活节点所在位置作为实际更新后簇头节点;然后,根据映射后簇头位置来计算该节点的剩余能量、距离bs的距离、簇内wsn节点个数以及与簇内wsn节点的距离,位置映射策略如图4所示;

68、检测分簇结果;

69、通过比较每组簇头节点的适应度值,选出平均信距离较短、簇头的剩余能量较多、簇内节点分布均匀、簇头距离基站的距离较近的三组最优簇头,将它们分别定义为α、β、δ灰狼;然后通过igwcr方法的狩猎方法,由α、β、δ灰狼领导其它ω灰狼对分簇矩阵d进行更新,这个过程持续迭代m次,直到分簇矩阵中每组簇头趋于最佳簇头,随着算法的迭代分簇矩阵中的元素基本不变得到最优的分簇矩阵和本轮分簇的最佳簇头;上述分簇模型中的簇内平均通信距离、簇头剩余能量、簇内节点密度、簇头距离基站的距离这四个评价指标数学模型为:

70、

71、f2(n)=eo-er                         (22)

72、f3(n)=|n·ρ-p|                       (23)

73、f4(n)=|hd|                         (24)

74、其中,n为节点编号;p为簇内节点个数;d为传感器节点距离自己所属簇头的欧式距离;eo和er分别为簇头节点的初始能量和剩余能量;n为wsn节点总数;ρ为簇头的占比;hd为簇头节点距离基站的欧氏距离。

75、适应度函数设计;

76、将平均通信距离、簇头的剩余能量、簇内节点密度、簇头距离基站的距离纳入适应度函数的计算中,可以评估每个解的适应度值,进而进行选择和优化;适应度函数的数学模型如下:

77、f(n)=a·f1(n)+b·f2(n)+c·f3(n)+d·f4(n)             (25)

78、式(25)中,a、b、c、d为是平衡f1、f2、f3、f4的权重因子。

79、整合上述内容得到完整的igwcr方法。在wsn场景下进行分簇路由,该算法分簇流程如图5所示。

80、(三)有益效果

81、与现有技术相比,本发明提供了一种优化灰狼算法的wsn分簇路由方法,具备以下有益效果:

82、本发明,将igwcr方法和gwo_bp、figwo、gwo、leach_e、leach_n、leach算法进行对比,并在相同仿真环境下对算法进行分析,实验环境为在一个100×100m区域,随机分布了100个节点,并对100个节点进行编号,每个节点的位置和编号分别对应每个传感器节点的位置和编号。基站的位置为(50,50),如图6所示,仿真参数如图13所示,还具备以下有益效果:

83、本发明,将igwcr方法和gwo_bp、figwo、gwo算法通过在求单峰函数与多峰函数最小值可以充分体现出算法的收敛性。

84、单峰函数收敛性测试;

85、单峰函数的数学模型为:

86、

87、其中,-100≤xi≤100;

88、本发明将所提igwcr方法在单峰函数f1中进行测试。通过图7可以得出,igwcr方法在273轮时以最快的速度找到了最小值,而gwo_bp算法在785轮时找到了f1的最小值,同时igwcr算法收敛曲线的斜率大于其它3种算法。gwo、figwo算法在1000轮结束后未能找到f1的最小值。

89、多峰函数收敛性测试;

90、多峰函数的数学模型为:

91、

92、其中,-20≤xi≤20;

93、本发明将所提igwcr算法在多峰函数f2中进行测试。通过图8可以得出,igwcr方法在36轮时以最快的速度找到了最小值并收敛。同时igwcr方法的收敛曲线的斜率大于其它3种算法。gwo_bp、figwo、gwo分别在200、270、290次迭代后收敛。

94、本发明提出的igwcr方法在分簇过程中选择了簇内平均通信距离小的分簇策略作为评价指标;通过减少通信距离来减少wsn的能量消耗;图9为本发明提出的igwcr算法在0-400次迭代过程中总剩余能量高均高于其它6种对比算法;由图9可知在迭代292次时,igwcr、gwo_bp、figwo算法的总剩余能量分别比gwo算法的总剩余能量提升1.15j、0.72j、0.33j;leach算法在250次迭代后总剩余能量为0;leach_e算法在275次迭代后总剩余能量为0;leach_n算法在300次迭代后总剩余能量为0;gwo算法、figwo算法和gwo_bp算法均在400次迭代后总剩余能量为0;igwcr方法在413次迭代后总剩余能量为0;通过上述分析可知,igwcr方法有效提高了节点的能量利用效率,从而延长了网络的寿命。

95、本发明提出的igwcr方法在分簇过程中,通过选择簇头与基站通信距离较近、剩余能量较多的节点作为簇头,避免了簇头节点能量消耗过大的情况;由图10可知,在大部分迭代过程中,igwcr方法的存活节点数是最多的;leach算法在迭代140次迭代时出现死亡节点;leach_e算法在迭代200次迭代时出现死亡节点;leach_n算法在迭代208次迭代时出现死亡节点;而gwo和figwo算法分别在271、284次迭代时出现了死亡节点;gwo_bp算法和igwcr方法分别在292和302次迭代后出现了死亡节点;由图10可知在迭代374次时,igwcr、gwo_bp、figwo算法的总存活节点数分别比gwo算法的总存活节点数多了44个、20个、7个;由此可知,igwcr方法能够有效的减少节点的死亡情况和提高节点的生存能力。

96、随着网络运行时间的延长,会出现部分wsn节点死亡的现象。在网络运行的最后阶段,由于网络中所有wsn节点的剩余能量都很少,会出现已选择的簇头在分簇过程中存在节点死亡的情况。当igwcr算法所选的5个簇头中存在死亡簇头时,如图11所示,算法会将死亡簇头节点的簇内剩余存活wsn节点绕过死亡簇头节点直接将信息发送到基站。使得算法能够在网络中所有节点的剩余能量都很少的情况下,减轻邻近簇头节点的负担,实现网络能量消耗的均衡分配。

97、在每轮分簇过程中,每个节点将数据包发送给簇头,簇头融合数据并将其传输到基站;图12为基站接收到的数据包数对比图,由图12可得在迭代过程中igwcr方法的吞吐量优于其它算法;在420次迭代时,igwcr、gwo_bp、figwo算法基站接收到的数据包数分别比gwo算法提升了3550个、2400个、907个;leach、leach_e、leach_n算法基站接收到的数据包数分别为2.08×104个、2.47×104个、2.67×104个;gwo、figwo、gwo_bp、igwcr算法基站接收到的数据包数分别为3.51×104个、3.6×104个、3.71×104个、3.86×104个;本发明提出的igwcr算法相比于gwo_bp、figwo、gwo、leach_n、leach_e、leach算法总基站接收到的数据包数分别提高了4.11%、7.22%、9.97%、44.57%、56.28%、85.58%;这表明igwcr算法在提高数据传输效率和网络性能方面取得了优化。

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