CN114501576A - 一种基于强化学习的sdwsn最优路径计算方法 - Google Patents
一种基于强化学习的sdwsn最优路径计算方法 Download PDFInfo
- Publication number
- CN114501576A CN114501576A CN202210107090.9A CN202210107090A CN114501576A CN 114501576 A CN114501576 A CN 114501576A CN 202210107090 A CN202210107090 A CN 202210107090A CN 114501576 A CN114501576 A CN 114501576A
- Authority
- CN
- China
- Prior art keywords
- node
- cluster head
- nodes
- energy
- energy consumption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000002787 reinforcement Effects 0.000 title claims abstract description 27
- 238000004364 calculation method Methods 0.000 title claims abstract description 13
- 241000854291 Dianthus carthusianorum Species 0.000 claims abstract description 169
- 238000005265 energy consumption Methods 0.000 claims abstract description 57
- 230000005540 biological transmission Effects 0.000 claims abstract description 25
- 238000000034 method Methods 0.000 claims abstract description 16
- 230000009471 action Effects 0.000 claims description 29
- 238000004891 communication Methods 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 18
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 8
- 238000004220 aggregation Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 8
- 230000009191 jumping Effects 0.000 claims description 6
- 238000005457 optimization Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000003993 interaction Effects 0.000 claims description 4
- 230000001174 ascending effect Effects 0.000 claims description 2
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000008901 benefit Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 125000000217 alkyl group Chemical group 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/02—Communication route or path selection, e.g. power-based or shortest path routing
- H04W40/04—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources
- H04W40/10—Communication route or path selection, e.g. power-based or shortest path routing based on wireless node resources based on available power or energy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/08—Learning-based routing, e.g. using neural networks or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于强化学习的SDWSN最优路径计算方法,属于软件定义无线传感网络领域。该方法包括:S1:结合节点位置和时延信息,构建网络节点能耗估算模型,并根据该模型估算所有节点的能耗速率;S2:根据能耗和节点密度空间的相关性,采用动态半径的簇头选择算法,计算出事件区域需要选取的簇头节点数k;同时选取k个副簇头节点作为簇头节点的簇内数据转发节点;S3:采用基于强化学习的最优路径选择算法,计算传输的最优路径。本发明能有效提高生存周期、均衡网络能耗和提高数据包传输率。
Description
技术领域
本发明属于软件定义无线传感网络领域,涉及一种基于强化学习的软件定义无线传感网(SoftwareDefined Wireless SensorNetwork,SDWSN)最优路径计算方法。
背景技术
无线传感器网络(WSNs)有很多位于不同领域的传感器组成,有的是固定的,也有的是在动态环境中的移动节点,并且WSNs的重要性逐日俱增。每个传感器节点包括一个小电源、传输和处理单元。传感器节点感知环境,处理数据,并将其传输到远程基站。在过去,无线传感器网络以其易于部署、灵活性、可扩展性和低成本等优点而受到研究界的关注。它被应用于许多领域,如医疗保健、交通控制、结构监测、家庭应用,以及更多的应用。然而,它也被用于环境监测,灾区和军事应用。由于传感器节点电池体积小,在危险环境下无法充电,所以一般情况下传感器节点被部署一次后需要工作很长时间,从而簇头节点能量消耗成为无线传感器网络中的一个重要问题。它具有能量管理、通信能力、内存、安全性、异构性、复杂性等资源限制,因此优化路由路径是提高无线传感器网络能量消耗的重要手段。
路由是一个选择将数据从源节点发送到目标节点的路径的过程。一些架构,比如软件定义的网络(SDN)可以帮助优化WSNs中的路由。SDN是一种新兴的体系结构,具有灵活性、动态性和低管理成本。它把数据平面和控制平面分开。数据平面包括网络节点,控制平面包括网络控制器。SDN控制器可以全局查看底层网络,有效地控制整个网络。由于其灵活的体系结构,SDN在许多现代网络应用程序中得到了广泛的应用。然而,它有一些局限:在实时应用程序中寻找最佳路由路径等,从而降低了网络性能。
在实时应用程序中,采用强化学习选择路由路径是一种很有前景的机器学习技术,可以找到最佳的路由路径。然而,在传统的路由协议中,簇头节点使用预先建立的路由路径进行数据传输。它没有反映当前网络的确切状态,其中路由表是事先建立的。在基于强化学习的算法中,Q-value被分配给每个表示动作最优的可能动作。在学习过程中,代理根据Q-value选择一个动作。在每一轮之后,代理根据之前更新Q-value的动作获得奖励。随着时间的推移,代理学习网络行为,根据网络情况改变路由路径,并实时地经过一些迭代后得到最优路径。因此,基于强化学习的路由算法比传统的非强化学习的路由算法具有更好的性能。
发明内容
有鉴于此,本发明的目的在于提供一种基于强化学习的SDWSN最优路径计算方法,用于有效提高生存周期、均衡网络能耗和提高数据包传输率,以保证整个网络资源调度合理可靠。
为达到上述目的,本发明提供如下技术方案:
一种基于强化学习的SDWSN最优路径计算方法,具体包括以下步骤:
S1:结合节点位置和时延信息,构建网络节点能耗估算模型,并根据该模型估算所有节点的能耗速率;
S2:根据能耗和节点密度空间的相关性,采用动态半径的簇头选择算法,计算出事件区域需要选取的簇头节点数k;同时选取k个副簇头节点作为簇头节点的簇内数据转发节点;
S3:采用基于强化学习的最优路径选择算法,计算传输的最优路径。
进一步,步骤S1中,构建网络节点能耗估算模型,具体包括:网络区域为半径R的圆形区域,若干个传感器节点随机非均匀分布在圆形区域内,圆心O为代理节点(可充电超级节点RSN),RSN完成与控制器之间的消息交互,RSN感知范围半径为rO的事件区域;
半径为R的圆形区域随机发生网络事件,一个周期内,单位面积发生事件概率为Φ,每个事件产生m个报文,且数据产生频率为f;距离事件源c跳外数据被聚合,c跳内的数据未被聚合;节点传输半径为r;在网络中取一个圆环次半径为rx→0,圆环内节点j与节点O的距离为rO,且rO=hr+d,h为跳数,d表示小于一跳的距离,该区域节点密度为ρ,由此得到该区域c跳内未聚合的数据包数Punagg为:
Punagg=m*Φ*π*rx[2*rO+2*(rO+r)+...+2*(rO+c*r)+(c+1)*r]
c跳外被聚合的数据包总数Pagg为:
区域S1内节点j传输的数据包总数P为:
节点传输一个数据包的能量为enode,可以计算出节点j每个周期所传输数据的能量消耗Enode为:
Enode=P*enode
节点非通信能量消耗Euncom为:(引入了发送时延能耗、传播时延能耗和排队时延能耗;)
其中,et为节点等待每毫秒所消耗的能量,k是事件区域的簇头总数,q为数据帧长度,vk是数据的传输速度:
由以上得出每个节点一个周期的能耗E为:E=Enode+Euncom。
进一步,步骤S2中,构建计算簇头节点数k的表达式为:
其中,kh是在HOT区域分配最少的簇头数量,ρh是HOT区域的密度最小的区域的节点密度,Ph是HOT区域的密度最小的区域节点传输的数据包总数。
进一步,步骤S2中,动态半径的簇头选择算法,具体包括以下步骤:
S21:通过计算出的事件区域需要选取的簇头节点数k,初始簇头节点数量为A=0;
S22:SDN控制器分别生成节点集N(A)、N(B)和NA(C),集合N(B)初始化为除O节点的所有节点的集合,其余集合为空;
S23:SDN控制器在集合N(B)中选择能量最多的节点作为簇头节点,并放入集合N(A),同时从N(B)中移除;
S24:考虑节点的能量和簇头节点的密度得出簇头通信半径Rcluster:
其中,Rcom是节点最大的通信半径,α1、α2和α3分别表示密度权重、距离权重和能量权重;nj表示邻居节点的数量,nmax表示最大节点的数量;d(j,O)表示簇头节点到节点O的距离,D表示簇头节点到O的最大距离,dmin表示簇头节点到O的最小距离;Ej表示簇头节点剩余能量,Emax是簇头节点最大时的能量;
S25:A=A+1,如果A=k则算法结束,否则执行S26;
S26:对集合N(B)中节点进行判断,把在半径Rcluster圆内的节点移至集合NA(C);
S27:在集合NA(C)中选取副簇头,副簇头节点要接近O节点和下一跳的簇群;
簇内节点计算出Deputy值,选取最小的Deputy的节点作为副簇头;
S28:判断N(B)集合是否为空,若空则执行S29,否则执行S210;
S29:重置N(A)、N(B)和NA(C)为初始状态,令A=1,Rcluster=Rcluster-Rm,跳转S26;
S210:选择能量最多的节点为簇头节点并放入集合N(A),并从N(B)中移除该节点,并计算Rcluster。
进一步,步骤S3中,数据传输阶段:簇间通信采用单跳通信与多跳通信的混合模式,SDN控制器计算簇头节点的路径。
进一步,步骤S3中,计算传输的最优路径,具体包括以下步骤:
S31:初始化SDN控制器;
S32:SDN控制器在距离阈值和最大副簇头节点数内收集所有副簇头节点的能量和副簇头节点间的距离信息;
S33:将S32收集信息作为链路的权重,并按递增的顺序排序;
S34:随机选取一个副簇头节点作为起点,建立已包含的副簇头节点为集合F,未包含的副簇头节点为集合V,V到F所有链路的权重为集合C;
S35:选择C中最小权重对应V中的副簇头节点i;
S36:判断V是否为空,具体包括:
S361:若V不为空则将副簇头节点i加入F,同时从V中删除,更新V中其余副簇头节点到F中副簇头节点权重最优路径,跳转到步骤S34;
S362:若V为空,则输出最小生成树,初步得到路由路径表列表,继续执行步骤S37;
S37:SDN控制器从路由路径表列表中随机选择一个路由路径表并广播;
S38:使用强化学习实时更新路由路径表列表;
S39:通过设定的奖励函数计算奖励,并在每一周期学习结束后计算Q-value,根据获得奖励选择下一跳副簇头节点,由此更新路由路径表列表,先判断是否有簇头节点能量耗尽,若有则跳至S32;若无接着判断是否有副簇头节点能量耗尽;具体包括:
S391:有副簇头节点能量耗尽,则从路由路径表列表中去除该副簇头节点,并跳转到S32;
S392:如果没有簇头节点能量耗尽则跳转到步骤S38。
进一步,步骤S38中,使用强化学习实时更新路由路径表列表,具体包括以下步骤:
S381:引入四个指标权重作为强化学习的奖励对模型影响占比,分别是数据包的发送成功率f(sm)、副簇头节点的剩余能量比率e(sm)、到O节点的距离比率dsink(sm)与到O节点的跳数比率h(sm)的影响占比,得到副簇头节点奖励函数为:
其中,fsend(sm)是副簇头节点发送包总数,faccept(sm)是相邻副簇头节点接收包的数;eall(sm)是总能量,eresidue(sm)是剩余能量;dnext(sm)是相邻副簇头节点到O节点的距离,dsink(sm)是到O节点最大的距离;hi(sm)是从相邻副簇头节点到O节点的跳数,hmax(sm)是到O节点最大跳数;α、χ、δ和β是四种指标权重对模型影响占比,可以根据所需模型自行设置;
S382:上述公式只考虑了当前行动的影响,本发明把后续的行动的影响也考虑进去为:
Um=Rm+γRm+1+γ2Rm+2+γ3Rm+3+...+γk-mRk-m
其中,Um是折扣回报率,γ是决定未来奖励重要性的折扣因子,也是根据实验实时需求进行设定;则Q-value公式如下:
Q(sm,am)=E[Um|Sm=sm,Am=am]
其中,Q(sm,am)表示价值函数,Sm是让节点处在S={si,sm,sn,…,sk},这表示一轮结束后即要从新的节点开始传输数据包,择控制器需要从路由表列表中重新选择一个路由表,sm表示节点选取的路由表,Am表示节点选择传输的下一个相邻节点这个动作,即A={a1,a2,a3,…,ak},am分别表示节点选择sm状态下动作,E表示期望;
S383:设定从未更新列表中选择行动的占比设为ε,在更新的路由路径表中选择最优行动的占比为1-ε,ε决定新获取的信息更新到原信息的程度和范围(ε>0),maxQ(sm+1,am+1)是最优动作价值函数,即选择相邻副簇头节点最大的Q-value;
由此得到更新的Q-value:
Q(sm,am)=(1-ε)*Q(sm,am)+ε*(Um+γ0maxQ(sm+1,am+1))
其中,γ0表示未来奖励重要性的折扣因子;
S384:由于奖励的期望不易求解,这里加入神经网络参数ζ,即Q(sm,am;ζ);则优化目标为:
使用梯度下降更新参数,使得Q-value对奖励的评估更加精准;损失函数LOSSm、损失函数梯度ψ和更新后ζ分别为:
其中,τ表示学习率。
本发明的有益效果在于:
1)本发明在建立能耗模型时候,加入了发送时延、传播时延和排队时延的能耗,是使能量消耗速率更精准;
2)本发明在采用在事件域的能耗越低,簇头数量越多,相反则簇头数量越少的分配簇头原则,均衡了网络能耗;
3)本发明采用的簇头选择算法,簇头的通信半径综合考虑了节点的密度以及位置进行动态改变,并为了降低簇头节点的能耗加入选择副簇头,选取副簇头节点作为簇头节点的簇内数据转发节点,通过降低簇头节点的传输距离从而降低传输数据的能耗,进一步延长网络寿命;
4)本发明提供了一个有效的软件定义无线传感器网络有效路由解决方案,能够集中控制整个网络,并引入强化学习,提出了包含四种指标权重的奖励函数,并且引入当前行动后的行动奖励,从而使网络能够根据最大回报选择最优路径并能够有效提高网络生存时间。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1是本发明基于强化学习的SDWSN最优路径计算方法的流程图;
图2是本发明实施例中能量消耗估算模型示意图;
图3是本发明实施例中簇头节点选择算法流程图;
图4是本发明实施例中路由路径表列表更新流程图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
请参阅图1~图4,在软件定义无线传感网络中,包含应用层、控制层和数据层,SDN控制器作为汇聚节点(基站),网络中所有传感器的节点都只是在数据层实现简单的按流表、组表转发数据功能,并在SDN-WISE协议中为每一个传感器节点都指定了一个可识别的ID,可实现以流的形式按照流表规则转发数据,使得数据层和控制层分离。在数据层增加代理节点-可充电超级节点(RSN),可充电超级节点完成与SDN控制器之间的信息交互。
网络模型为:网络区域为半径R圆形区域,若干个传感器节点随机非均匀分布在区域内,在圆心O为代理节点(RSN),RSN完成与控制器之间的消息交互,RSN感知范围半径为rO形成事件区域。
通过本发明提出的网络能耗速率估算模型估算所有节点的能耗速率,具体如下:
半径为R圆形网络区域随机发生网络事件,一个周期内,单位面积发生事件概率为Φ,每个事件产生m报文,且网络的汇报频率f;在网络中取一个圆环次半径为rx→0,节点j在圆环内,它距离O节点距离为rO,且rO=hr+d,h为跳数,d表示小于一跳的距离,该区域S1节点密度为ρ,以j为圆心,rj为半径,半径rj圆内有qj个节点,则:
图2为本发明软件定义无线传感网络的能量消耗速率的估算模型。
每个传感器节点都要消耗一定的能量来发送和接收数据包。所以节点能量消耗可以分为三部分:1)节点发送接收数据包所需能量(传输一个数据包的能量为enode);2)活跃模式的非通信能量消耗(et为节点等待每毫秒所消耗的能量);3)休眠模式下的能量消耗。由于休眠模式下的能耗相比其余两种能耗对能量消耗影响不大,所以本发明只考虑其余两种能耗。
1)节点发送接收数据包所需能量
距离事件源c跳节点被聚合,c跳外的数据未被聚合。区域S1面积为:
区域S1自身产生的数据包为:
C跳内未被聚合产生的数据包为:
P2=m*Φ*π*rx*[2*rO+2*(rx+r)+...+2*(rx+c*r)+(c+1)*r]
则距区域S1c跳内数据包总数为:
Punagg=P1+P2
=m*Φ*π*rx[2*rO+2*(rO+r)+...+2*(rO+c*r)+(c+1)*r]
c跳外的数据会被聚合,本实施例采用LSSMA模型,根据此模型,聚合的结果为:
区域S1内节点j传输的数据包总是为P:
节点传输一个数据包的能量为enode,可以计算出节点j每个周期所传输数据的能量消耗为:
Enode=P*enode
2)节点非通信能量消耗Euncom
非通信能量消耗考虑时延的能耗,具体包括发送时延能耗、传播时延能耗和排队时延能耗。
k是事件区域的簇头总数,q为数据帧长度,v是数据的传输速度,电磁波在信道上的传播速率设为光速3*105m/s,排队时延做出极端假设,假设所有的数据包都经过节点j。
由以上得出每个节点一个周期的能耗为:
E=Enode+Euncom
接下来需要计算事件域需要分配根据事件域的能耗越低,簇头数量越多,相反则簇头数量越少的分配簇头原则,使得事件域的能耗均衡。在距离节点O点的区域(HOT区域)中密度最小的区域是能耗最高的,所以在HOT区域配置最少的簇头节点,在其他区域调节簇头数量,使得网络各个区域能耗接近HOT区密度最小的区域,即Ej=EHOT,由此可求得k:
其中,kh是在HOT区域分配最少的簇头数量,ρh是HOT区域的密度最小的区域的节点密度,Ph是HOT区域的密度最小的区域节点传输的数据包总数。
采用动态半径的簇头选择算法,选取k个簇头,因为簇头节点在整个周期都保持清醒,所以簇头的能耗远大于普通节点的能耗,为了降低簇头节点的能耗,选取k个副簇头节点作为簇头节点的簇内数据转发节点,通过降低簇头节点的传输距离从而降低传输数据的能耗。具体选择算法流程图如图3。
Step1:通过S3计算出事件区域需要选取的簇头节点数k,初始簇头节点数量为A=0;
Step2:SDN控制器分别生成节点集N(A)、N(B)和Nn(C),集合N(B)一开始包含除O节点的所有节点,其余集合为空;
Step3:SDN控制器在所有节点中选择能量最多的节点作为簇头节点,并放入集合N(A),并从N(B)中移除该节点;
Step4:考虑节点的能量和簇头节点的密度得出下面公式计算簇头通信半径:
其中,Rcom是节点最大的通信半径,α1、α2和α3分别表示密度权重、距离权重和能量权重;nj表示邻居节点的数量,nmax表示最大节点的数量;d(j,O)表示簇头节点到节点O的距离,D表示簇头节点到O的最大距离,dmin是簇头节点到O的最小距离;Ej表示簇头节点剩余能量,Emax是簇头节点最大时的能量。
Step5:A=A+1,如果A=k则算法结束,否则执行Step6;
Step6:对集合N(B)中节点进行判断,把在半径Rcluster圆内的节点移至集合NA(C);
Step7:在集合NA(C)中选取副簇头,副簇头节点要接近节点O和下一跳的簇群。
簇内节点计算出Deputy值,选取最小的Deputy的节点作为副簇头;
Step8:判断N(B)集合是否为空,若为空执行Step9,若不为空则执行Step10;
Step9:重置N(A)、N(B)和NA(C)为初始状态,并A=1,Rcluster=Rcluster-Rm,接着执行Step6;
Step10:选择能量最多的节点为簇头节点并放入集合N(A),并从N(B)中移除该节点,并计算Rcluster。
最后是数据传输阶段,簇间通信采用单跳通信与多跳通信的混合模式,SDN控制器需要计算簇头节点的路径,本发明使用基于强化学习路由路径的选择算法。算法具体过程如下。
首先初始化广播SDN控制器,在距离阈值和最大副簇头节点数内收集所有副簇头节点的能量和副簇头节点间的距离,将收集的副簇头节点能量和副簇头节点间距离作为链路的权重,并按递增的顺序排序;随机选取一个副簇头节点作为起点,通过STP输出最小生成树,初步得到路由路径列表。
强化学习是可以根据以往经验来选择路由路径,所以引入强化学习实时更新路由表。SDN控制器从上述第二阶段随机选取一个的路由路径表,并使用下述强化学习过程实时更新路由路径表列表。
其中强化学习包括:状态(S)、动作(A)、奖励(R)与奖励的期望(Q-value)。
状态:S是让agent处在S={si,sm,sn...,sk},这表示一轮结束后即要从新的副簇头节点开始传输数据包,择控制器需要从路由路径表列表中重新选择一个路由表。
动作:A是agent的一种行为,表示副簇头节点选择传输的下一个相邻副簇头节点这个动作,即A={a1,a2,a3...,ak}。
奖励:奖励Rk是agent采取行动A之后的反馈,可以是正反馈,也可以示负反馈,由奖励可以得到Rk=R1+γR2+γ2R3+...+γk-1Rk,0<γ≤1,其中γ是决定未来奖励重要性的折扣因子,因为离当前副簇头节点越远则影响值越小,所以得Q-value为:Q(sk,ak)=E[Ut|Sk=sk,Ak=ak]。
本发明引入不同的奖励函数度量,包含数据包的发送成功率、副簇头节点的剩余能量比率、到O节点的距离与到O节点的跳数。并且每个指标的权重都将考虑在所提出的奖励中,其定义分别如下:
其中,fsend(sm)是副簇头节点发送包总数,faccept(sm)是相邻副簇头节点接收包的数,f(sm)是副簇头节点发送包的成功率。
其中,eall(sm)是总能量,eresidue(sm)是剩余能量,e(sm)是剩余能量比率。
其中,dnext(sm)是相邻副簇头节点到O节点的距离,dsink(sm)是到O节点最大的距离。
其中,hi(sm)是从相邻副簇头节点到节点O的跳数,hmax(sm)是到节点O最大跳数。
由以上设定所有副簇头节点的奖励为:
其中,γ1、γ2、γ3与γ4以及α、χ、δ和β是可以自行进行设置,使四个指标权重对模型影响大小不一样。本实施例主要考虑距离和能量对模型的影响,所以设定α、χ和δ为1,β设为2,则得到副簇头节点奖励公式为:
上述公式只考虑了当前动作的影响,本发明把后续的动作的影响也考虑进去为:
由于强化学习采用一个随机策略来选择行动,这里设定从未更新列表中选择行动的占比设为ε,在更新的路由路径表中选择最优行动的占比为1-ε,ε决定新获取的信息更新到原信息的程度和范围(0<ε),γ是决定未来奖励重要性的折扣因子,maxQ(sm+1,am+1)是最优动作价值函数,即选择相邻副簇头节点最大的Q-value。由此得到更新的Q-value:
Q(sm,am)=(1-ε)*Q(sm,am)+ε*(Um+γ0maxQ(sm+1,am+1))
此处加入神经网络,神经网络参数设为ζ,即Q(sm,am;ζ)。使用梯度下降更新参数ζ,使得Q-value对奖励的评估更加精准。优化目标为:
损失函数为:
损失函数的梯度为:
损失函数梯度下降得到新的ζ,由此更新了Q-value:
每经历一次游历,SDN控制器获取传感器副簇头节点的状态数据并按照上述计算奖励,并根据系统反馈回的报酬选择路由路径,如果为负奖励,则会降低网络性能需要改变路径;否则,保持原路径。
在与此同时SDN控制器还不断的监控收集每个副簇头节点的剩余能量,如果任何副簇头节点的能量小于阈值,则将其排除在副簇头节点列表之外,并使用普利姆算法重新计算路由路径表列表,再按照上述过程重新更新路由路径列表。建立路由路径表,其算法流程图如图4。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (7)
1.一种基于强化学习的SDWSN最优路径计算方法,其特征在于,该方法具体包括以下步骤:
S1:结合节点位置和时延信息,构建网络节点能耗估算模型,并根据该模型估算所有节点的能耗速率;
S2:根据能耗和节点密度空间的相关性,采用动态半径的簇头选择算法,计算出事件区域需要选取的簇头节点数k;同时选取k个副簇头节点作为簇头节点的簇内数据转发节点;
S3:采用基于强化学习的最优路径选择算法,计算传输的最优路径。
2.根据权利要求1所述的SDWSN最优路径计算方法,其特征在于,步骤S1中,构建网络节点能耗估算模型,具体包括:网络区域为半径R的圆形区域,若干个传感器节点随机非均匀分布在圆形区域内,圆心O为代理节点,RSN完成与控制器之间的消息交互,RSN感知范围半径为rO的事件区域;
半径为R的圆形区域随机发生网络事件,一个周期内,单位面积发生事件概率为Φ,每个事件产生m个报文,且数据产生频率为f;距离事件源c跳外数据被聚合,c跳内的数据未被聚合;节点传输半径为r;在网络中取一个圆环次半径为rx→0,圆环内节点j与节点O的距离为rO,且rO=hr+d,h为跳数,d表示小于一跳的距离,该区域节点密度为v,由此得到该区域c跳内未聚合的数据包数Punagg为:
Punagg=m*Φ*π*rx[2*rO+2*(rO+r)+...+2*(rO+c*r)+(c+1)*r]
c跳外被聚合的数据包总数Pagg为:
区域S1内节点j传输的数据包总数P为:
节点传输一个数据包的能量为enode,计算出节点j每个周期所传输数据的能量消耗Enode为:
Enode=P*enode
节点非通信能量消耗Euncom为:
其中,et为节点等待每毫秒所消耗的能量,k是事件区域的簇头总数,q为数据帧长度,vk是数据的传输速度:
由以上得出每个节点一个周期的能耗E为:E=Enode+Euncom。
4.根据权利要求3所述的SDWSN最优路径计算方法,其特征在于,步骤S2中,动态半径的簇头选择算法,具体包括以下步骤:
S21:通过计算出的事件区域需要选取的簇头节点数k,初始簇头节点数量为A=0;
S22:SDN控制器分别生成节点集N(A)、N(B)和NA(C),集合N(B)初始化为除O节点的所有节点的集合,其余集合为空;
S23:SDN控制器在集合N(B)中选择能量最多的节点作为簇头节点,并放入集合N(A),同时从N(B)中移除;
S24:考虑节点的能量和簇头节点的密度得出簇头通信半径Rcluster:
其中,Rcom是节点最大的通信半径,α1、α2和α3分别表示密度权重、距离权重和能量权重;nj表示邻居节点的数量,nmax表示最大节点的数量;d(j,O)表示簇头节点到节点O的距离,D表示簇头节点到O的最大距离,dmin表示簇头节点到O的最小距离;Ej表示簇头节点剩余能量,Emax是簇头节点最大时的能量;
S25:A=A+1,如果A=k则算法结束,否则执行S26;
S26:对集合N(B)中节点进行判断,把在半径Rcluster圆内的节点移至集合NA(C);
S27:在集合NA(C)中选取副簇头,副簇头节点要接近O节点和下一跳的簇群;
簇内节点计算出Deputy值,选取最小的Deputy的节点作为副簇头;
S28:判断N(B)集合是否为空,若空则执行S29,否则执行S210;
S29:重置N(A)、N(B)和NA(C)为初始状态,令A=1,Rcluster=Rcluster-Rm,跳转S26;
S210:选择能量最多的节点为簇头节点并放入集合N(A),并从N(B)中移除该节点,并计算Rcluster。
5.根据权利要求1所述的SDWSN最优路径计算方法,其特征在于,步骤S3中,数据传输阶段:簇间通信采用单跳通信与多跳通信的混合模式,SDN控制器计算簇头节点的路径。
6.根据权利要求4所述的SDWSN最优路径计算方法,其特征在于,步骤S3中,计算传输的最优路径,具体包括以下步骤:
S31:初始化SDN控制器;
S32:SDN控制器在距离阈值和最大副簇头节点数内收集所有副簇头节点的能量和副簇头节点间的距离信息;
S33:将S32收集信息作为链路的权重,并按递增的顺序排序;
S34:随机选取一个副簇头节点作为起点,建立已包含的副簇头节点为集合F,未包含的副簇头节点为集合V,V到F所有链路的权重为集合C;
S35:选择C中最小权重对应V中的副簇头节点i;
S36:判断V是否为空,具体包括:
S361:若V不为空则将副簇头节点i加入F,同时从V中删除,更新V中其余副簇头节点到F中副簇头节点权重最优路径,跳转到步骤S34;
S362:若V为空,则输出最小生成树,初步得到路由路径表列表,继续执行步骤S37;
S37:SDN控制器从路由路径表列表中随机选择一个路由路径表并广播;
S38:使用强化学习实时更新路由路径表列表;
S39:通过设定的奖励函数计算奖励,并在每一周期学习结束后计算Q-value,根据获得奖励选择下一跳副簇头节点,由此更新路由路径表列表,先判断是否有簇头节点能量耗尽,若有则跳至S32;若无接着判断是否有副簇头节点能量耗尽;具体包括:
S391:有副簇头节点能量耗尽,则从路由路径表列表中去除该副簇头节点,并跳转到S32;
S392:如果没有簇头节点能量耗尽则跳转到步骤S38。
7.根据权利要求6所述的SDWSN最优路径计算方法,其特征在于,步骤S38中,使用强化学习实时更新路由路径表列表,具体包括以下步骤:
S381:引入四个指标权重作为强化学习的奖励对模型影响占比,分别是数据包的发送成功率f(sm)、副簇头节点的剩余能量比率e(sm)、到O节点的距离比率dsink(sm)与到O节点的跳数比率h(sm)的影响占比,得到副簇头节点奖励函数为:
其中,fsend(sm)是副簇头节点发送包总数,faccept(sm)是相邻副簇头节点接收包的数;eall(sm)是总能量,eresidue(sm)是剩余能量;dnext(sm)是相邻副簇头节点到O节点的距离,dsink(sm)是到O节点最大的距离;hi(sm)是从相邻副簇头节点到O节点的跳数,hmax(sm)是到O节点最大跳数;α、χ、δ和β是四种指标权重对模型影响占比;
S382:上述公式只考虑了当前行动的影响,把后续的行动的影响也考虑进去为:
Um=Rm+γRm+1+γ2Rm+2+γ3Rm+3+...+γk-mRk-m
其中,Um是折扣回报率,γ是决定未来奖励重要性的折扣因子;则Q-value公式如下:
Q(sm,am)=E[Um|Sm=sm,Am=am]
其中,Q(sm,am)表示价值函数;Sm是让节点处在S={si,sm,sn,…,sk},表示一轮结束后即要从新的节点开始传输数据包,择控制器需要从路由表列表中重新选择一个路由表;sm表示节点选取sm路由表,Am表示节点选择传输的下一个相邻节点这个动作,即A={a1,a2,a3,…,ak},am分别表示节点选择动作am,E表示期望;
S383:设定从未更新列表中选择行动的占比设为ε,在更新的路由路径表中选择最优行动的占比为1-ε,ε决定新获取的信息更新到原信息的程度和范围,ε>0;maxQ(sm+1,am+1)是最优动作价值函数,即选择相邻副簇头节点最大的Q-value;
由此得到更新的Q-value:
Q(sm,am)=(1-ε)*Q(sm,am)+ε*(Um+γ0maxQ(sm+1,am+1))
其中,γ0表示未来奖励重要性的折扣因子;
S384:加入神经网络参数ζ,即Q(sm,am;ζ);则优化目标为:
使用梯度下降更新参数,使得Q-value对奖励的评估更加精准;损失函数LOSSm、损失函数梯度ψ和更新后ζ分别为:
其中,τ表示学习率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107090.9A CN114501576B (zh) | 2022-01-28 | 2022-01-28 | 一种基于强化学习的sdwsn最优路径计算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107090.9A CN114501576B (zh) | 2022-01-28 | 2022-01-28 | 一种基于强化学习的sdwsn最优路径计算方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501576A true CN114501576A (zh) | 2022-05-13 |
CN114501576B CN114501576B (zh) | 2024-06-18 |
Family
ID=81475962
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210107090.9A Active CN114501576B (zh) | 2022-01-28 | 2022-01-28 | 一种基于强化学习的sdwsn最优路径计算方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501576B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115175268A (zh) * | 2022-07-01 | 2022-10-11 | 重庆邮电大学 | 一种基于深度强化学习的异构网络节能路由方法 |
CN115987886A (zh) * | 2022-12-22 | 2023-04-18 | 厦门大学 | 一种基于元学习参数优化的水声网络q学习路由方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360051A (zh) * | 2008-07-11 | 2009-02-04 | 西安电子科技大学 | 一种能量高效的无线传感器网络路由方法 |
CN104853395A (zh) * | 2014-12-16 | 2015-08-19 | 黄伟 | 一种多感知不等半径无线传感网络路由实现方法 |
CN107969008A (zh) * | 2017-11-06 | 2018-04-27 | 东南大学 | 一种软件定义传感网集中式路由计算方法 |
CN108566663A (zh) * | 2018-01-10 | 2018-09-21 | 重庆邮电大学 | 基于扰动粒子群优化的sdwsn能耗均衡路由算法 |
CN111200856A (zh) * | 2020-02-19 | 2020-05-26 | 重庆邮电大学 | 一种无线传感器的多跳最优路径选择方法 |
CN111447658A (zh) * | 2019-01-16 | 2020-07-24 | 沈阳理工大学 | 一种基于sdwsn的分簇路由方法 |
CN112004256A (zh) * | 2019-05-27 | 2020-11-27 | 北京邮电大学 | 路由方法、装置、电子设备及存储介质 |
CN112752320A (zh) * | 2020-12-31 | 2021-05-04 | 南京航空航天大学 | 一个基于双层分簇的高能效无线传感器网络拓扑控制方法 |
CN113395660A (zh) * | 2021-06-18 | 2021-09-14 | 河南大学 | 基于树的WSNs移动汇聚节点自适应位置更新能耗优化方法 |
CN113923802A (zh) * | 2021-10-09 | 2022-01-11 | 东南大学 | 软件定义无线传感器网络中能量高效的分层拓扑控制方法 |
-
2022
- 2022-01-28 CN CN202210107090.9A patent/CN114501576B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101360051A (zh) * | 2008-07-11 | 2009-02-04 | 西安电子科技大学 | 一种能量高效的无线传感器网络路由方法 |
CN104853395A (zh) * | 2014-12-16 | 2015-08-19 | 黄伟 | 一种多感知不等半径无线传感网络路由实现方法 |
CN107969008A (zh) * | 2017-11-06 | 2018-04-27 | 东南大学 | 一种软件定义传感网集中式路由计算方法 |
CN108566663A (zh) * | 2018-01-10 | 2018-09-21 | 重庆邮电大学 | 基于扰动粒子群优化的sdwsn能耗均衡路由算法 |
CN111447658A (zh) * | 2019-01-16 | 2020-07-24 | 沈阳理工大学 | 一种基于sdwsn的分簇路由方法 |
CN112004256A (zh) * | 2019-05-27 | 2020-11-27 | 北京邮电大学 | 路由方法、装置、电子设备及存储介质 |
CN111200856A (zh) * | 2020-02-19 | 2020-05-26 | 重庆邮电大学 | 一种无线传感器的多跳最优路径选择方法 |
CN112752320A (zh) * | 2020-12-31 | 2021-05-04 | 南京航空航天大学 | 一个基于双层分簇的高能效无线传感器网络拓扑控制方法 |
CN113395660A (zh) * | 2021-06-18 | 2021-09-14 | 河南大学 | 基于树的WSNs移动汇聚节点自适应位置更新能耗优化方法 |
CN113923802A (zh) * | 2021-10-09 | 2022-01-11 | 东南大学 | 软件定义无线传感器网络中能量高效的分层拓扑控制方法 |
Non-Patent Citations (3)
Title |
---|
冯江;茅晓荣;吴春春;: "一种能量均衡有效的WSN分簇路由算法", 计算机工程, no. 23, 5 December 2012 (2012-12-05), pages 88 - 91 * |
吴禹霜: "基于SDWSN的实时图路由算法研究", CNKI优秀硕士学位论文全文库, 15 June 2023 (2023-06-15) * |
解志斌;于谦;沈斌;刘庆华;田雨波;: "一种新的基于粒子群优化的双簇头分簇路由算法", 传感技术学报, no. 08, 15 August 2013 (2013-08-15), pages 1135 - 1139 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115175268A (zh) * | 2022-07-01 | 2022-10-11 | 重庆邮电大学 | 一种基于深度强化学习的异构网络节能路由方法 |
CN115987886A (zh) * | 2022-12-22 | 2023-04-18 | 厦门大学 | 一种基于元学习参数优化的水声网络q学习路由方法 |
CN115987886B (zh) * | 2022-12-22 | 2024-06-04 | 厦门大学 | 一种基于元学习参数优化的水声网络q学习路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114501576B (zh) | 2024-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Arafat et al. | A Q-learning-based topology-aware routing protocol for flying ad hoc networks | |
Agarwal et al. | Survey of clustering algorithms for MANET | |
CN112469100B (zh) | 基于可充电多基站式无线异构传感器网络的分层路由算法 | |
AlShawi et al. | Lifetime enhancement in wireless sensor networks using fuzzy approach and A-star algorithm | |
Boukerche et al. | Efficient green protocols for sustainable wireless sensor networks | |
CN111698705B (zh) | 一种基于能量优化的无线传感器网络非均匀分簇路由方法 | |
CN108566663A (zh) | 基于扰动粒子群优化的sdwsn能耗均衡路由算法 | |
CN105636143A (zh) | 基于合作博弈的无线传感器网络分簇协作路由算法 | |
CN114501576B (zh) | 一种基于强化学习的sdwsn最优路径计算方法 | |
Pati et al. | Design of an energy efficient routing protocol for MANETs based on AODV | |
CN111818553B (zh) | 基于模糊逻辑的无线传感器网络改进多跳leach协议的数据传输方法 | |
CN104301965A (zh) | 一种无线传感器网络非均匀分簇节点调度方法 | |
CN113709841B (zh) | 一种基于布谷鸟算法和K-means算法的WSN路由协议方法 | |
CN111629415B (zh) | 一种基于马尔科夫决策过程模型的机会路由协议设计方法 | |
Zhao et al. | Routing in energy harvesting wireless sensor networks with dual alternative batteries | |
Prakash et al. | Delay-aware relay node selection for cluster-based wireless sensor networks | |
Wang et al. | A multi-featured actor-critic relay selection scheme for large-scale energy harvesting WSNs | |
Liu et al. | Intelligent routing algorithm for wireless sensor networks dynamically guided by distributed neural networks | |
Zhang et al. | A distributed framework for low-latency data collection in battery-free wireless sensor networks | |
CN113747505B (zh) | 一种基于leach的无线传感器网络低功耗路由方法 | |
Karunanithy et al. | An Efficient Distributed Clustering and Gradient based Routing Protocol for Wireless Sensor Networks. | |
Ortiz et al. | Intelligent role-based routing for dense wireless sensor networks | |
Srividhya et al. | Fuzzy based hierachical unequal clustering in wireless sensor networks | |
Liu et al. | An Improved Multi-hop LEACH Protocol Based on Fuzzy Logic for Wireless Sensor Networks | |
Kurian et al. | Mobile Sink Data Gathering and Path Determination in WSN based on P-AACO Approach |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |