CN107040961B - 一种无线传感器网络拥塞控制方法 - Google Patents
一种无线传感器网络拥塞控制方法 Download PDFInfo
- Publication number
- CN107040961B CN107040961B CN201710450358.8A CN201710450358A CN107040961B CN 107040961 B CN107040961 B CN 107040961B CN 201710450358 A CN201710450358 A CN 201710450358A CN 107040961 B CN107040961 B CN 107040961B
- Authority
- CN
- China
- Prior art keywords
- particle
- pnpi
- parameters
- npi
- wireless sensor
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0289—Congestion control
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/32—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
- H04L47/326—Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames with random discard, e.g. random early discard [RED]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种无线传感器网络拥塞控制方法,为克服现有技术存在的持续的满队列和业务流对缓存的死锁问题以及传统PI方法参数固定、不能很好适应无线传感器网络环境的问题,所述的一种无线传感器网络拥塞控制方法的步骤如下:1)相关参数的定义;2)PI方法的实现;3)采用单神经元控制技术对PI方法的改进,将此步骤改进后的方法命名为NPI方法;4)改进的粒子群算法对NPI方法的参数进行在线寻优:改进的粒子群算法对NPI方法中的固定参数KP、KI的初始值和学习速率η1、η2进行在线寻优,通过实时矫正来在线调整单神经元的权值,得到的方法命名为PNPI方法;5)以丢弃概率p(k)进行主动丢包,在队列缓冲区溢出之前,提前主动丢包。
Description
技术领域
本发明涉及一种与无线传感器网络拥塞控制相关的管理方法,更具体地说,本发明涉及一种无线传感器网络拥塞控制方法。
背景技术
近年来,无线传感器网络技术得到了飞速发展,应用领域越来越广,对于无线传感器网络的要求也越来越高。随之而来的无线传感器网络拥塞问题也日益突出。无线传感器网络拥塞主要存在以下几个问题:
(1)节点级的拥塞:即节点需要发送的分组流量超过节点的发送能力,导致节点队列缓存溢出,造成数据分组的丢失和网络排队延迟的增加。
(2)无线链路级的拥塞:无线信道是共享信道,在同一时刻相邻节点只能有一个节点使用无线信道,当多个相邻节点同时竞争使用无线信道时便会产生访问冲突引起链路级拥塞,增加分组的服务时间,降低链路利用率和网络的吞吐量。
本发明主要关注节点级的拥塞问题。节点需要发送的分组流量超过节点的发送能力,导致了无线传感器网络拥塞现象的发生。一般来说,当节点队列缓存中存在过多的数据分组时,会产生拥塞。在网络发生拥塞时,会导致丢包率和延时增加,吞吐量下降,严重时会发生“拥塞崩溃”现象。
为了解决这种拥塞现象所带来的丢包率和延时增加,吞吐量急剧下降等网络性能的问题,现在无线传感器网络节点队列中普遍采用“弃尾方法”。当路由器因缓冲区不能及时处理接收的数据包时,会对暂时未能处理的数据包进行排队。按照弃尾方法将队列长度相关的参数进行预先设定,并将队列长度的参数与预定的阈值进行比较,若大于阈值,则开始丢弃大于阈值之后的数据包。“弃尾”的意思即从队列尾部开始丢弃。
但是弃尾方法中存在两个严重缺点:持续的满队列和业务流对缓存的死锁。而主动队列管理(AQM)方法在有线网络拥塞控制中的研究已经很成熟,它在拥塞之前采用预见式的提前丢包的思想,能够有效地控制队列长度,避免网络发生拥塞,解决滞后性和能量的不必要耗费问题。尤其是主动队列管理方法当中的 PI方法,能够将缓冲中的队列控制在一个不依赖于负载的水平,其实现的基本思想是对于一个新到达的包,通过比较缓冲队列长度与目标队列长度,记录其误差,通过对误差进行比例积分控制来确定新到达包的丢弃概率。
但PI方法也有很多不完善之处,所以针对PI方法的改进方法也有很多。
中国专利公开号CN102821001A,公开日为2012年12月12日,专利申请号为CN201210344427.4,专利名称为“模糊神经元主动队列管理方法在IPCOP中实现的方法”。描述了一种模糊神经元主动队列管理方法在IPCOP中实现的方法, 该方法步骤如下:1.相关参数的定义及初始化;2.等待新的数据包到达;3采用有导的Hebb学习算法对神经元加权系数动态调节;包括对当前时刻瞬时队列长度q(k)进行采样,并计算神经元方法输入量x1(k),x2(k),x3(k)的值;4.采用模糊控制方法动态调整神经元增益K,包括以x1(k)和x2(k)为输入量,神经元增益 K的变化量ΔK为输出量,对输入量x1(k)和x2(k)进行模糊化;5.计算丢弃概率 p(k)并以丢弃概率p(k)对数据包进行丢弃,包括计算丢弃概率p(k),最后将数据包以丢弃概率p(k)进行丢弃。
中国专利公开号CN102129259A,公开日为2011年7月20日,专利申请号为CN201010034360.5,专利名称为“用于砂尘环境试验风洞的基于神经网络PI 的智能温度控制系统和方法”。描述了基于神经网络PI的砂尘环境试验风洞的智能温度控制系统,其特征在于:(1)建立神经网络系统结构,(2)神经网络参数的混合学习训练,(3)PI控制,(4)限幅处理。本发明把PI控制器和神经网络结合起来,利用神经网络的自适应,离线学习和在线学习的能力得出控制变量协调控制因子,有效的确定主控设备和辅控设备。然后再通过PI控制器进行对被控对象温度的协调有效控制,当PI控制器输出控制变量之后,再进行对被控变量利用 S函数进行限幅处理,使控制变量最优化。本发明克服了现有技术在控制上协调性差的影响,提高了控制的可靠性与协调性,拓展了其应用范围,也可用于其它感应器输出信号的协调性控制。
中国专利公开号CN105281615A,公开日为2016年1月27日,专利申请号为CN201510771820.5,专利名称为“一种基于改进粒子群算法优化无刷直流电机模糊控制器的方法”。本发明公开了一种基于改进粒子群算法优化无刷直流电机模糊控制器的方法,步骤包括:将整个解空间划分为七个区域;根据目标函数计算每个粒子的适应度;根据其适应度,更新粒子的个体极值和全局极值;将所更新的个体极值和全局极值赋值给量化因子Ka、Kb和比例因子Kp、Ki、Kd;对输入输出的性能指标进行评估,如果满足目标函数则结束,如果不满足则应用改进粒子群算法将Pi、Pg代入量子粒子群公式,粒子在空间区域不断寻优,直到粒子满足目标函数,生成新的粒子群体。本发明基于改进粒子群算法能以最快的速度找出全局最优解,电机在额定转速下运行平稳,响应迅速,基本无超调出现,具有良好的随动性和动静态特性。
中国专利公开号CN101119281,公开日为2008年2月6日,专利号申请号为CN200710120757.4,专利名称为“一种传感器网络拥塞控制方法”。公开了一种传感器网络拥塞控制方法,应用于无线传感器网络中的网络节点,包括:步骤 1)、网络节点对本节点的节点门限值和报文周期数的值做初始化;步骤2)、网络节点开始一个报文周期,生成一个新的本地数据报文,并得到它的报文优先级;步骤3)、对新生成的本地数据报文做网络拥塞判断,在发生网络拥塞的前提下,将本节点的报文周期数清零,增加本节点的门限值,调整发送队列,并向邻居节点广播新的门限值;步骤4)、对网络节点是否收到其他网络节点所发送的数据报文进行判断,如果收到数据报文,执行下一步,否则,执行步骤6);步骤5)、对所收到的数据报文做网络拥塞判断,在发生网络拥塞的前提下,将本节点的报文周期数清零,增加本节点的门限值,调整发送队列,并向邻居节点广播新的门限值;步骤6)、判断是否收到了邻居节点所发送的广播消息,若收到了广播消息且广播消息中所包含的节点门限值高于本节点的门限值,则按照广播消息中的节点门限值调高本节点的门限值,调整发送队列,然后将本节点的报文周期数清零,并广播新的节点门限值;步骤7)、判断本轮报文周期的终止时刻是否已经到达,如果已经到达,则执行下一步,否则重新执行步骤4);步骤8)、判断本节点的报文周期数是否低于一个规定值,如果低于则增加报文周期数后,重新执行步骤2)。否则将报文周期数清零后,降低节点门限值,然后重新执行步骤2)。
通过分析发现,传统PI方法设定参数主要依靠经验,并且设置为静态参数,这并不有利于PI方法应对不同的网络环境实施良好的网络拥塞控制。所以,本发明结合PI方法来控制无线传感器网络节点队列中包的丢弃概率,并且通过单神经元控制技术和粒子群算法对PI方法中的参数进行在线调整和优化。从而完善了PI方法存在参数固定的不足。解决网络拥塞所带来的中间节点队列不稳定、吞吐量急剧下降、丢包率和延时高等网络性能下降的问题。
发明内容
本发明所要解决的技术问题是克服了现有技术存在的持续的满队列和业务流对缓存的死锁问题以及传统PI方法参数固定、不能很好适应无线传感器网络环境的问题,提供了一种无线传感器网络拥塞控制方法。
为解决上述技术问题,本发明是采用如下技术方案实现的:所述的一种无线传感器网络拥塞控制方法包括步骤如下:
1)相关参数的定义:
(1)KP0、KI0为PNPI方法中的两个固定参数KP、KI的初始值;
(2)K为单神经元系数,其值为0.12;
(3)wi(k)为神经元权值,i=1或2,当i=1时,初始值为2.58392e-6;i=2 时,初始值为98290e-6;
(4)节点缓存队列长度为40Packets;
(5)q0为期望队列长度,其值为20packets;
(6)q为瞬时队列长度,其初始值为0;
(7)p(k)为丢弃概率;
(8)粒子群的规模为N=30;
(9)粒子的维数D=4;
(10)粒子群惯性权重最大值w_max=0.9;
(11)粒子群惯性权重最小值w_min=0.4;
(12)PNPI方法的两个参数KP、KI的最小值KP_min=KI_min=0.0000001;
(13)PNPI方法的两个参数KP、KI的最大值KP_max=KI_max=10;
(14)η1、η2为神经元学习速率,设置最小值为η1_min=η2_min=0.0000001,最大值为η1_max=η2_max=10;
(15)V_min、V_max为粒子群速度的最小值和最大值,其值分别为V_min=-10, V_max=10,这里速度为矢量,负号表示方向;
(16)c1、c2为粒子群算法学习因子,其中c1=0.95+0.1*rand,c2=c1, rand为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;
2)比例积分控制算法PI方法的实现:
将PI方法加载到NS2软件中,并且将PI方法应用于无线传感器网络节点的队列管理中;
3)采用单神经元控制技术对PI方法的改进:
采用单神经元控制技术对PI方法的参数KP、KI进行在线调整,其中,将此步骤采用单神经元控制技术对PI方法的改进命名为单神经元比例积分控制算法NPI方法;
(1)设置NPI方法的输入量x1(k)、x2(k)以及输出量u(k);
其中:x1(k)为瞬时队列长度q与期望队列长度q0的误差,x2(k)为误差的一次差分;单神经元控制技术的输入输出关系为:
其中,K为单神经元的系数,并且保证K>0,且K=0.12,xi(k)为单神经元的输入,wi(k)为xi(k)的权重,u(k)为单神经元的输出,xi(k)、wi(k)、u(k)等变量中的“k”为NPI方法输入输出的离散变量,即单神经元输入输出时域变量t的离散化表达,下文出现的“k”含义相同;
(2)公式中采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中:z(k)为输出误差信号z(k)=e(k),ηi为神经元学习速率系数,i的取值为 1或2,η1和η2的取值范围均为[0.0000001,10],取值不同时,η1、η2为不同的学习速率系数;
(3)单神经元控制技术是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中w1(k)、w2(k)分别对应于PI方法的KI、KP;为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,w'i(k)可表示为:
传统的PI方法的两个参数KI、KP是固定的,不具有动态调整特性。为了依据无线传感器网络环境实时变化来调整PI方法的参数KI、KP,NPI方法通过其 3个步骤,即“发明内容”中的3)步骤包含的步骤(1)、(2)、(3),对神经元权值w'i(k)进行在线的自适应调整,从而获得更好的控制效果;
4)改进的粒子群算法对NPI方法的参数进行在线寻优:
改进的粒子群算法对NPI方法中的参数KP0、KI0的初始值和学习速率η1、η2进行在线寻优,通过实时矫正来在线调整单神经元的权值,其中,将此步骤采用改进的粒子群算法对NPI方法的参数进行在线寻优,命名为粒子群单神经元比例积分控制算法PNPI方法,具体步骤如下:
(1)对粒子群中粒子的位置和速度进行随机初始化,假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,…,xid,…,xiD) Vi=(vi1,vi2,...,vid,...,viD),i∈{1,2,...,N}
其中:粒子群神经元初始化参数为4个(KP0、KI0、η1、η2),所以D=4,种群规模N=30;
(2)计算每个粒子的适应度:PNPI方法中选定的适应度为:
式中:f为算法适应度;e(t)为系统的给定值与输出值的偏差,即为瞬时队列长度q与期望队列长度q0的误差,t为粒子经历的时刻;
(3)计算粒子所经历的最好位置和全局最好位置:其中粒子i所经历的最好位置为Pi=(pi1,pi2,...,pid,...,piD),其中,i=1,2,…,N,群体中所有粒子经历过最好位置,即全局最好位置为G=(pg1,pg2,...,pgd,...,pgD);粒子所经历的最好位置Pi(t) 由式(1)决定:
群体的全局最好位置G=(pg1,pg2,...,pgd,...,pgD)中的下标g由式(2)确定:
式中:g就是指当f(Pi(t))取得最小值时变量i的取值;
(4)对粒子的速度分量vid(t)和位置分量xid(t)进行进化,在改进的粒子群算法,即PSO算法中,粒子在每一维上的速度和位置更新公式如下:
vid(t+1)=wvid(t)+c1r1id(t)(pid(t)-xid(t))+c2r2id(t)(pid(t)-xid(t))
xid(t+1)=xid(t)+vid(t+1)
式中:vid和xid定义分别表示第i个粒子第d维的速度分量与位置分量;
pid为第i个粒子所经历的历史最佳位置分量;
pgd为群体所经过的历史最佳位置分量;
w为惯性权重,决定了粒子对当前速度的继承度;
r1id和r2id为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;
c1、c2为个体认知加速系数,其中c1=0.95+0.1*rand,c2=c1,rand 为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;c1表示粒子对自己经历过的历史最佳位置的记忆;c2表示粒子对整个种群所经历过的历史最佳位置的记忆能力;
学习因子c1和c2的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
(5)判断结束条件,如果未进化到预先设定的迭代次数,返回步骤(2)执行循环,否则结束迭代,执行步骤5),以丢弃概率p(k)进行主动丢包;
5)以丢弃概率p(k)进行主动丢包:
技术方案中所述的PNPI方法在NS2通信网络实验平台实现方法的步骤如下:
1)将PNPI方法加载到NS2通信网络实验平台中:
(1)将传统PNPI方法加载到NS2通信网络实验平台的“queue”处理模块中;
(2)在NS2软件的版本ns2.35文件夹下修改makefile和makefile.vc文件,makefile和makefile.vc文件为NS2系统文件,在这两个文件的OBJ_CC模块中加入代码queue/red-pd.o queue/pi.o queue\;
(3)在lib文件夹下修改ns-lib.tcl文件,ns-lib.tcl文件为NS2系统文件,在lib文件的“if{[string first"RED"$qtype]!=-1||”代码行下加入代码“if{[string first"PNPI"$qtype]!=-1||”;
(4)在lib文件夹下的ns-default文件中对PNPI参数进行初始化,其中, ns-default文件为NS2系统文件;
(5)重新编译NS2,至此,PNPI方法加载到了NS2通信网络实验平台中;
2)将PNPI方法应用于无线传感器网络节点的队列管理中:
在NS2中调用1)中的PNPI方法,实现无线传感器网络拥塞控制。
与现有技术相比本发明的有益效果是:
1.本发明所述的一种无线传感器网络拥塞控制方法解决了弃尾方法中持续的满队列和业务流对缓存的死锁;
2.对比PI方法,本发明所述的一种无线传感器网络拥塞控制方法,解决了 PI方法因参数固定不能很好的适应无线传感器网络动态环境而导致的队列长度不稳定的缺点,使队列长度稳定在期望值附近;
3.对比PI方法和采用单神经元控制技术对PI方法的改进(命名为NPI方法),本发明所述的一种无线传感器网络拥塞控制方法,在自适应调整固定参数的同时对一些参数进行了在线寻优,防止NPI方法的局部优化问题。从而更好的适应无线传感器网络环境;
4.本发明所述的一种无线传感器网络拥塞控制方法(命名为PNPI方法)在没有影响实际到达数据包的情况下,与PI方法,NPI方法比较,提高了吞吐量和分组投递率,降低了丢包率和时延,节约了网络资源,改善了网络通信质量。
附图说明
下面结合附图对本发明作进一步的说明:
图1为本发明所述的一种无线传感器网络拥塞控制方法(PNPI方法)的功能流程示意框图;
图2为本发明所述的PNPI方法的结构原理图;
图3为本发明所述的一种无线传感器网络拥塞控制方法中的对于采用单神经元控制技术对PI方法的改进(命名为NPI方法)步骤的分解功能控制原理图;
图4为本发明所述的PNPI方法中的用改进的粒子群算法对NPI方法的初始参数(KP0、KI0)、神经元学习速率(η1、η2)进行在线寻优步骤的分解功能流程示意框图;
图5为本发明所述的PNPI方法在NS-2网络仿真平台下的网络拓扑图;
图6为本发明实施例中的PI方法中间节点队列长度曲线图;
图7为本发明实施例中的NPI方法中间节点队列长度曲线图;
图8为本发明实施例中的PNPI方法中间节点队列长度曲线图;
图9为本发明实施例中的PI、NPI方法与本发明所述的PNPI方法中间节点队列长度均值对比图;
图10为本发明实施例中的PI、NPI方法与本发明所述的PNPI方法中间节点队列长度方差对比图;
图11为本发明实施例中的PI、NPI方法与本发明所述的PNPI方法中吞吐量对比曲线图;
图12为本发明实施例中的PI、NPI、PNPI方法与本发明所述的PNPI方法中瓶颈节点1的丢包率对比曲线图;
图13为本发明实施例中的PI、NPI、PNPI方法与本发明所述的PNPI方法中延时对比曲线图;
图14为本发明实施例中的PI、NPI、PNPI方法与本发明所述的PNPI方法中分组投递率对比曲线图。
具体实施方式
下面结合附图对本发明作详细的描述:
参阅图1、图2,本发明提供了一种无线传感器网络拥塞控制方法,尽管PI 方法是一种有效的拥塞控制机制和拥塞避免机制,但其仍然存在下面一些不足。
1.PI方法的参数固定,不能适应于无线传感器网络技术(Wireless SensorNetwork,WSN)的动态变化;
2.根据无线传感器网络结构,端到端的拥塞控制方法已无法有效地解决拥塞问题,因此,需要考虑将中间节点与源端配合来设计拥塞控制策略,而主动队列管理方法满足了这一点要求,所以将PI方法应用到无线传感器网络中非常有价值。
3.对传统PI方法改进的过程中,NPI方法虽然对PI方法的两个固定参数KP、KI进行了自适应调整,但单神经元控制技术有其自身增加延时的缺陷。
为了解决上述问题,产生了一些用于无线传感器网络的改进的PI拥塞控制策略方法。这些方法结合了无线传感器网络的特点,对参数进行了调整,但其参数调整的效果并不十分理想,仍需有待加强。
本发明提供了一种能够依据无线传感器网络环境,自适应调整、计算PI方法固定参数KP、KI,并且对一些参数进行在线寻优的一种无线传感器拥塞控制方法(PNPI),该方法依次含有如下步骤:
1.相关参数的定义
1)KP0、KI0为PI方法中的两个固定参数KP、KI的初始值;
2)K为单神经元系数,其值为0.12;
3)wi(k)为神经元权值,i=1,2,初始值分别为2.58392e-6和98290e-6;
4)节点缓存队列长度为40Packets;
5)q0为期望队列长度,其值为20packets;
6)q为瞬时队列长度,其初始值为0;
7)p(k)为丢弃概率;
8)粒子群的规模为N=30;
9)粒子的维数D=4;
10)粒子群惯性权重最大值wmax=0.9;
11)粒子群惯性权重最小值wmin=0.4;
12)PI方法的两个固定参数的最小值KP_min=KI_min=0.0000001;
13)PI方法的两个固定参数的最大值KP_max=KI_max=10;
14)η1、η2为神经元学习速率,设置最小值为η1_min=η2_min=0.0000001,最大值为η1_max=η2_max=10;
15)V_min、V_max为粒子群速度的最小值和最大值,其值分别为V_min=10, V_max=10;
16)c1、c2为粒子群算法学习因子,其中c1=0.95+0.1*rand,c2=c1。
2.PI方法的实现
设置PI方法两个固定参数KP0、KI0初始值,神经元系数K,期望队列长度 q0,粒子群的规模为N=30,粒子的维数D=4,粒子群惯性权重最大值wmax=0.9,粒子群惯性权重最小值wmin=0.4,PI方法的两个参数的最小值KP_min=KI_min=0.0001和最大值KP_max=KI_max=10:
1)将PI方法加载到NS2软件中的步骤如下:
其中NS2是指Network Simulator version 2,NS(Network Simulator) 是一种针对网络技术的源代码公开的、免费的软件模拟平台。
(1)将传统PI方法所包含的文件pi.h和pi.cc加载到NS2仿真软件中,其中pi.h和pi.cc为PI方法实现的代码;
(2)在ns2.35文件夹下修改makefile和makefile.vc文件,在这两个文件OBJ_CC=\ tools/random.o tools/rng.o tools/ranvar.o common/misc.o common/下加入代码queue/red-pd.o queue/pi.o queue\,其中ns2.35为NS2软件的版本;
(3)在lib文件夹下修改ns-lib.tcl文件,在lib文件的if{[string first "RED"$qtype]!=-1||下加入代码if{[string first"PI"$qtype]!=-1 ||;
(4)在lib文件夹下的ns-default文件中对PI参数进行初始化;
(5)对NS2进行重新编译,至此,把PI方法加载到了NS2软件中。
2)将PI方法应用于无线传感器网络节点的队列管理中的步骤如下:
(1)编写tcl脚本文件,模拟无线传感器网络环境;其中tcl脚本为NS2 软件的模拟脚本;
(2)将PI方法加载到tcl脚本文件中的代码:set val(ifq) Queue/DropTail/PriQueue;#interface queue type改为set val(ifq) Queue/PI;#interface queuetype。
3.采用单神经元控制技术对PI方法的改进
参阅图3,因PI方法的两个固定参数KP、KI非常重要,对于无线传感器网络拥塞控制的效果有很大影响,所以采用单神经元控制技术对PI方法的两个固定参数KP、KI进行在线调,得到的方法命名为NPI方法,本发明所述的PNPI 方法采用有监督的Hebb学习方法对PI方法的参数进行自适应调整,根据无线传感器网络动态变化情况,调整当前PI方法的两个固定参数KP、KI。
采用单神经元控制技术对PI方法的改进包括如下步骤:
1)设置PI方法的输入量x1(k)、x2(k),其中,x1(k)为瞬时队列长度q与期望值q0的误差,x2(k)为误差的一次差分;单神经元控制技术的输入输出关系为:
其中,K为单神经元的系数,并且保证K>0,xi(k)为单神经元的输入,wi(k)为 xi(k)的权重,u(k)为单神经元的输出;
2)在单神经元控制技术中,根据学习信号的不同将学习算法分为3种:无导的Hebb学习算法、有导的Delta学习算法和有导的Hebb学习算法。根据需要,本技术方案采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中,z(k)为输出误差信号z(k)=e(k),η1、η2为不同的学习速率系数;
3)单神经元控制技术是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中wi(k)分别对应于PI方法的KI、KP;为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,wi'(k)可表示为:
为了依据无线传感器网络环境的实时变化来调整方法的参数,本发明所述的PNPI方法将PI方法的两个固定参数KP、KI进行自适应调整,已有PI方法的两个固定参数KP、KI通过专家经验得出,不具有动态调整的特性;所以通过上述步骤对神经元权值进行在线调整,即对PI方法两个固定参数进行在线调整,得到的方法命名为NPI方法;准备进行下一步计算的步骤。
4.改进的粒子群算法对NPI方法的参数进行在线寻优
根据期望队列长度和瞬时队列长度的误差来调整自适应函数,达到反馈的目的。参阅图4,通过改进的粒子群算法对NPI方法的参数进行在线寻优,步骤如下:
1)对粒子群中粒子的位置和速度进行随机初始化,假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,...,xiD),Vi=(vi1,vi2,...,viD)
其中:粒子群神经元初始化参数为4个,所以D=4,种群规模N=30;
3)计算粒子所经历的最好位置和全局最好位置:其中粒子所经历的最好位置为Pi=(pi1,pi2,...,pid,...,piD),群体中所有粒子经历过最好位置,即全局最好位置为G=(pg1,pg2,...,pgd,...,pgD);其中粒子所经历的最好位置由式(1)决定:
群体的全局最好位置G=(pg1,pg2,...,pgd,...,pgD)中的下标g由式(2)确定:
4)对粒子的速度vid(t)和位置xid(t)进行进化,在标准PSO模型中,粒子在每一维上的速度和位置更新公式如下:
vid(t+1)=wvid(t)+c1r1id(t)(pid(t)-xid(t))+c2r2id(t)(pid(t)-xid(t))
xid(t+1)=xid(t)+vid(t+1)
式中:vid和xid定义分别表示第i个粒子第d维的速度分量与位置分量;
pid为第i个粒子所经历的历史最佳位置分量;
pgd为群体所经过的历史最佳位置分量;
w为惯性权重,决定了粒子对当前速度的继承度;
r1id和r2id为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;
c1为个体认知加速系数,表示粒子对自己经历过的历史最佳位置的记忆,
c2为群体认知加速系数,表示粒子对整个种群所经历过的历史最佳位置的记忆能力,学习因子的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
5)判断结束条件,如果进化到预先设定的代数,继续往下进行,否则返回步骤2)即计算每个粒子的适应度步骤。
5.以丢弃概率p(k)进行主动丢包的步骤如下:
1)本发明所述的PNPI方法需要按照步骤3即采用单神经元控制技术对PI方法的改进步骤中公式计算丢弃概率;2)得到丢弃概率后,以丢弃概率p(k)进行主动丢包,在队列缓冲区溢出之前,提前主动丢包,避免拥塞发生。
实施例
仿真条件如下:
参阅图5,为了检验本发明所述的一种无线传感器网络拥塞控制方法(命名为PNPI方法)的性能,把本发明所述的PNPI方法加载到NS-2仿真平台上,仿真使用2.35版本的NS-2平台,操作系统为Ubuntu10.04。图中所表示的为在 NS-2仿真平台上搭建的模拟无线传感器网络环境,其中节点数为14个,节点的传输范围250m,无线传感器网络的媒体访问控制(Media Address Control,MAC) 层采用802.11协议,路由协议采用AODV,节点的初始能量默认值,节点缓存队列长度为40Packets,初始源节点向汇聚节点以200kb/s的速率发送数据,包的大小为128B,采样频率w=100Hz,仿真时间50s,从0s源节点开始发送数据包到50s停止发送。
使用以下一系列的实验来说明本发明所述的PNPI方法,对于提高队列稳定程度、提高吞吐量和分组投递率、降低丢包率和时延具有一定的改善,实验的前提为:传统PI方法中固定参数值Kp=0.0000475,Ki=0.0000174。NPI方法和提出的PNPI方法中,单神经元系数为K=0.12。
PI方法、NPI方法与本发明所述的PNPI方法的网络性能比较。
参数设置:传统PI方法中期望队列长度为20Packets,固定参数值 Kp=0.0000475,Ki=0.0000174,采样频率w=100HZ,NPI方法和提出的PNPI方法中期望队列长度为20Packets,单神经元系数为K=0.12。
由实验可以得到图6、图7与图8,分别是PI方法、NPI方法与本发明所述的PNPI方法的瞬时队列长度的变化曲线,可以发现本发明所述的PNPI方法的队列长度曲线震荡幅度明显减小,并且保持较低的队列长度,而且在接下来的仿真时间里本发明所述的PNPI方法的队列长度更为平滑,几乎没有强烈的抖动。
由实验组可以得到图9和图10,分别是PI方法、NPI方法与本发明所述的PNPI方法的队列长度均值和方差的对比图。从图中可以看出PI方法均值最大, NPI和PNPI方法的均值几乎相等,而PI方法的方差远远大于其他两种方法,并且PNPI方法的方差小于NPI方法。所以PNPI方法更加稳定。
由实验组可以得到图11,是PI方法、NPI方法与本发明所述的PNPI方法的吞吐量变化的对比曲线,可以发现本发明所述的PNPI方法吞吐量几乎在每一时刻都高于PI方法和NPI方法,说明PNPI方法明显提高了无线传感器网络性能。
由实验可以得到图12,是PI方法、NPI方法与本发明所述的PNPI方法的瓶颈节点1的丢包率对比,可以发现本发明所述的PNPI方法的丢包率明显低于其他两种方法。
由实验可以得到图13,是PI方法、NPI方法与本发明所述的PNPI方法的延时对比,可以发现本发明所述的PNPI方法,其延时在仿真时间里大多数时刻都低于其他两种方法。
由实验组可以得到图14,是PI方法、NPI方法与本发明所述的PNPI方法的分组投递率对比,可以发现本发明所述的PNPI方法,其分组投递率在仿真时间里大多数时刻都高于其他两种方法。
上述实验分别检验了本发明所述的PNPI方法的性能,通过上述实验可以得出在相同的网络环境和相同的仿真条件下,本发明所述的PNPI方法取得了稳定队列长度、提高吞吐量和分组投递率、降低丢包率和延时等无线传感器网络性能。
本发明所述的PNPI方法达到了本发明的设计目标,该方法的参数根据网络环境自适应调整参数设置,而不是像其他方法由静态参数配置调节方法控制网络拥塞,并取得了良好的效果,可以证明本发明所述的PNPI方法具有自适应、动态调整的能力,且其性能优良。
Claims (2)
1.一种无线传感器网络拥塞控制方法,其特征在于,所述的一种无线传感器网络拥塞控制方法PNPI包括步骤如下:
1)相关参数的定义:
(1)KP0、KI0为PNPI方法中的两个参数KP、KI的初始值;
(2)K为单神经元系数,其值为0.12;
(3)wi(k)为神经元权值,i=1或2,当i=1时,初始值为2.58392e-6;i=2时,初始值为98290e-6;
(4)节点缓存队列长度为40Packets;
(5)q0为期望队列长度,其值为20packets;
(6)q为瞬时队列长度,其初始值为0;
(7)p(k)为丢弃概率;
(8)粒子群的规模为N=30;
(9)粒子的维数D=4;
(10)粒子群惯性权重最大值w_max=0.9;
(11)粒子群惯性权重最小值w_min=0.4;
(12)PNPI方法的两个参数KP、KI的最小值KP_min=KI_min=0.0000001;
(13)PNPI方法的两个参数KP、KI的最大值KP_max=KI_max=10;
(14)η1、η2为神经元学习速率,设置最小值为η1_min=η2_min=0.0000001,最大值为η1_max=η2_max=10;
(15)V_min、V_max为粒子群速度的最小值和最大值,其值分别为V_min=-10,V_max=10,这里速度为矢量,负号表示方向;
(16)c1、c2为粒子群算法学习因子,其中c1=0.95+0.1*rand,c2=c1,rand为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;
2)比例积分控制算法PI方法的实现:
将PI方法加载到NS2软件中,并且将PI方法应用于无线传感器网络节点的队列管理中;
3)采用单神经元控制技术对PI方法的改进:
采用单神经元控制技术对PI方法的参数KP、KI进行在线调整,其中,将此步骤采用单神经元控制技术对PI方法的改进命名为单神经元比例积分控制算法NPI方法;
(1)设置NPI方法的输入量x1(k)、x2(k)以及输出量u(k);
其中:x1(k)为瞬时队列长度q与期望队列长度q0的误差,x2(k)为误差的一次差分;单神经元控制技术的输入输出关系为:
其中,K为单神经元的系数,并且保证K>0,且K=0.12,xi(k)为单神经元的输入,wi(k)为xi(k)的权重,u(k)为单神经元的输出,xi(k)、wi(k)、u(k)等变量中的“k”为NPI方法输入输出的离散变量,即单神经元输入输出时域变量t的离散化表达,下文出现的“k”含义相同;
(2)公式中采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中:z(k)为输出误差信号z(k)=e(k),ηi为神经元学习速率系数,i的取值为1或2,η1和η2的取值范围均为[0.0000001,10],取值不同时,η1、η2为不同的学习速率系数;
(3)单神经元控制技术是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中w1(k)、w2(k)分别对应于PI方法的KI、KP;为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,wi(k)可表示为:
传统的PI方法的两个参数KI、KP是固定的,不具有动态调整特性;为了依据无线传感器网络环境实时变化来调整PI方法的参数KI、KP,NPI方法通过其3个步骤,即步骤3)包含的步骤(1)、(2)、(3),对神经元权值wi(k)进行在线的自适应调整,从而获得更好的控制效果;
4)改进的粒子群算法对NPI方法的参数进行在线寻优:
改进的粒子群算法对NPI方法中的参数KP0、KI0的初始值和学习速率η1、η2进行在线寻优,通过实时矫正来在线调整单神经元的权值,其中,将此步骤采用改进的粒子群算法对NPI方法的参数进行在线寻优,命名为粒子群单神经元比例积分控制算法PNPI方法,具体步骤如下:
(1)对粒子群中粒子的位置和速度进行随机初始化,假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,...,xid,...,xiD),Vi=(vi1,vi2,...vid,...,viD),i∈{1,2,...,N}
其中:粒子群神经元初始化参数为4个(KP0、KI0、η1、η2),所以D=4,种群规模N=30;
(2)计算每个粒子的适应度:PNPI方法中选定的适应度为:
式中:f为算法适应度;e(t)为系统的给定值与输出值的偏差,即为瞬时队列长度q与期望队列长度q0的误差,t为粒子经历的时刻;
(3)计算粒子所经历的最好位置和全局最好位置:其中粒子i所经历的最好位置为Pi=(pi1,pi2,...,pid,...,piD),其中,i=1,2,...,N,群体中所有粒子经历过最好位置,即全局最好位置为G=(pg1,pg2,...,pgd,...,pgD);粒子所经历的最好位置Pi(t)由式(1)决定:
群体的全局最好位置G=(pg1,pg2,...,pgd,...,pgD)中的下标g由式(2)确定:
式中:g就是指当f(Pi(t))取得最小值时变量i的取值;
(4)对粒子的速度分量vid(t)和位置分量xid(t)进行进化,在改进的粒子群算法,即PSO算法中,粒子在每一维上的速度和位置更新公式如下:
vid(t+1)=wvid(t)+c1r1id(t)(pid(t)-xid(t))+c2r2id(t)(pid(t)-xid(t))
xid(t+1)=xid(t)+vid(t+1)
式中:vid和xid定义分别表示第i个粒子第d维的速度分量与位置分量;
pid为第i个粒子所经历的历史最佳位置分量;
pgd为群体所经过的历史最佳位置分量;
w为惯性权重,决定了粒子对当前速度的继承度;
r1id和r2id为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;
c1、c2为个体认知加速系数,其中c1=0.95+0.1*rand,c2=c1,rand为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;c1表示粒子对自己经历过的历史最佳位置的记忆;c2表示粒子对整个种群所经历过的历史最佳位置的记忆能力;
学习因子c1和c2的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
(5)判断结束条件,如果未进化到预先设定的迭代次数,返回步骤(2)执行循环,否则结束迭代,执行步骤5),以丢弃概率p(k)进行主动丢包;
5)以丢弃概率p(k)进行主动丢包:
PNPI方法需要采用单神经元控制技术中丢弃概率公式
2.按照权利要求1所述的一种无线传感器网络拥塞控制方法PNPI在NS2通信网络实验平台的实现方法,其特征在于,所述的PNPI方法在NS2中实现的步骤如下:
1)将PNPI方法加载到NS2通信网络实验平台中:
(1)将PNPI方法加载到NS2通信网络实验平台的“queue”处理模块中;
(2)在NS2软件的版本ns2.35文件夹下修改makefile和makefile.vc文件,makefile和makefile.vc文件为NS2系统文件,在这两个文件的OBJ_CC模块中加入代码queue/red-pd.oqueue/pi.o queue\;
(3)在lib文件夹下修改ns-lib.tcl文件,ns-lib.tcl文件为NS2系统文件,在lib文件的“if{[string first"RED"$qtype]!=-1||”代码行下加入代码“if{[string first"PNPI"$qtype]!=-1||”;
(4)在lib文件夹下的ns-default文件中对PNPI参数进行初始化,其中,ns-default文件为NS2系统文件;
(5)重新编译NS2,至此,PNPI方法加载到了NS2通信网络实验平台中;
2)将PNPI方法应用于无线传感器网络节点的队列管理中:
在NS2中调用1)中的PNPI方法,实现无线传感器网络拥塞控制。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710450358.8A CN107040961B (zh) | 2017-06-15 | 2017-06-15 | 一种无线传感器网络拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710450358.8A CN107040961B (zh) | 2017-06-15 | 2017-06-15 | 一种无线传感器网络拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107040961A CN107040961A (zh) | 2017-08-11 |
CN107040961B true CN107040961B (zh) | 2020-07-14 |
Family
ID=59541161
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710450358.8A Expired - Fee Related CN107040961B (zh) | 2017-06-15 | 2017-06-15 | 一种无线传感器网络拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107040961B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108243112B (zh) * | 2018-01-11 | 2022-07-19 | 杭州网易智企科技有限公司 | 聊天群组网络流量控制方法及装置、存储介质及计算设备 |
CN108983596B (zh) * | 2018-08-08 | 2021-08-03 | 太原理工大学 | 基于广义互熵算法的orc系统单神经元控制器控制方法 |
CN109347702A (zh) * | 2018-11-13 | 2019-02-15 | 天津津航计算技术研究所 | 利用以太网缓存队列长度预测udp拥塞程度的方法 |
CN110191486A (zh) * | 2019-05-14 | 2019-08-30 | 华中师范大学 | 一种基于消息覆盖率的移动机会网络拥塞控制方法 |
CN111880406B (zh) * | 2020-07-14 | 2022-04-15 | 金陵科技学院 | 基于Hebb学习的自适应预测控制主队列管理方法 |
CN112020030B (zh) * | 2020-09-04 | 2021-06-22 | 吉林大学 | 基于模糊控制单神经元pid控制器的无线传感器网络的拥塞控制方法 |
CN112911530B (zh) * | 2020-12-09 | 2022-09-16 | 广西电网有限责任公司电力科学研究院 | 一种小微智能传感器网络拥塞辨识模型的建立方法 |
CN117499335B (zh) * | 2023-12-26 | 2024-04-16 | 天津市金超利达科技有限公司 | 一种热量表数据采集及通信方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101404622B (zh) * | 2008-11-07 | 2011-03-23 | 重庆邮电大学 | 基于多径负载均衡的无线互联网拥塞控制方法及控制器 |
CN102413509A (zh) * | 2011-11-09 | 2012-04-11 | 中国科学院上海微系统与信息技术研究所 | 一种wsn中的时延受限能耗均衡数据采集树构建方法 |
CN107070802B (zh) * | 2016-12-21 | 2021-01-12 | 吉林大学 | 基于pid控制器的无线传感器网络拥塞控制方法 |
-
2017
- 2017-06-15 CN CN201710450358.8A patent/CN107040961B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN107040961A (zh) | 2017-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107040961B (zh) | 一种无线传感器网络拥塞控制方法 | |
CN107070802B (zh) | 基于pid控制器的无线传感器网络拥塞控制方法 | |
CN111526036B (zh) | 一种短流量实时性优化方法、系统、网络传输终端 | |
Sheikhan et al. | Adaptive active queue management controller for TCP communication networks using PSO-RBF models | |
AlWahab et al. | On a deep q-network-based approach for active queue management | |
Mahawish et al. | Survey on: A variety of AQM algorithm schemas and intelligent techniques developed for congestion control | |
Yan et al. | A new active queue management algorithm based on self-adaptive fuzzy neural-network PID controller | |
Ali et al. | Efficient congestion control in communications using novel weighted ensemble deep reinforcement learning | |
Tabash et al. | A fuzzy logic based network congestion control using active queue management techniques | |
Basicevic et al. | On the application of fuzzy-based flow control approach to High Altitude Platform communications | |
Shatnawi et al. | Congestion control in ATM networks using PID controller with immune algorithm | |
Sheikhan et al. | GA-PSO-optimized neural-based control scheme for adaptive congestion control to improve performance in multimedia applications | |
Masoumzadeh et al. | Deep blue: A fuzzy q-learning enhanced active queue management scheme | |
CN113872873B (zh) | 一种适合5g新应用的多场景跨层拥塞控制方法 | |
Liu et al. | Active queue management based on Q-learning traffic predictor | |
Baburaj et al. | Finite-time sliding mode flow control design via reduced model for a connection-oriented communication network | |
CN118381765B (zh) | 无损网络拥塞控制方法、装置、设备、介质及交换机系统 | |
Jiang et al. | Performance Analysis of Active Queue Management Algorithm Based on Reinforcement Learning. | |
CN111555978A (zh) | 智能电网中具有节能和服务质量保证的sdn路由布置方法 | |
Yousif et al. | Intelligent Parameter Tuning using Deep Q-network in Adaptive Queue Management Systems | |
Cho et al. | Lyapunov-based fuzzy queue scheduling for Internet routers | |
CN118381765A (zh) | 无损网络拥塞控制方法、装置、设备、介质及交换机系统 | |
Zhang et al. | Research on sdn congestion control based on reinforcement learning | |
Xu et al. | Network congestion control algorithm based on Actor-Critic reinforcement learning model | |
Topalova et al. | Adaptive Control of Traffic Congestion with Neuro-Fuzzy based Weighted Random Early Detection |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20200714 Termination date: 20210615 |
|
CF01 | Termination of patent right due to non-payment of annual fee |