CN107070802A - 基于pid控制器的无线传感器网络拥塞控制技术 - Google Patents
基于pid控制器的无线传感器网络拥塞控制技术 Download PDFInfo
- Publication number
- CN107070802A CN107070802A CN201611192230.8A CN201611192230A CN107070802A CN 107070802 A CN107070802 A CN 107070802A CN 201611192230 A CN201611192230 A CN 201611192230A CN 107070802 A CN107070802 A CN 107070802A
- Authority
- CN
- China
- Prior art keywords
- mrow
- particle
- pid
- msub
- mtd
- 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
Classifications
-
- 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/12—Avoiding congestion; Recovering from congestion
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/62—Queue scheduling characterised by scheduling criteria
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种采用计算机程序的基于PID控制器的无线传感器网络拥塞控制方法。该方法包括的步骤有:相关参数的定义及初始化;将PID控制技术与主动队列管理方法相结合得到的PID队列管理拥塞算法嵌入到无线传感器网络环境中;用单神经元控制技术对PID控制器固定的参数(KP、KI、Kd)进行整定;用改进的粒子群算法对神经元PID控制器的初始参数(KP0、KI0、Kd0),神经元学习速率(η1、η2、η3)进行在线寻优;得到PID控制器的三个适应无线传感器网络动态环境的参数后计算丢弃概率(P)丢弃数据包。其中采用粒子群算法寻优的学习因子为C1=0.95+0.1*rand,C2=C1,有导的Hebb学习算法来调整加权系数(wi(k))的值。从而达到在线调整PID队列拥塞算法的参数,使其适应无线传感器网络的特点。达到缓减无线传感器网络拥塞的目的。
Description
技术领域
本发明涉及一种与无线传感器网络拥塞控制相关的PID队列拥塞管理方法,更具体地说,特别涉及一种基于PID的无线传感器网络节点队列拥塞管理方法。
背景技术
在无线传感器网络中存在无线传感器网络拥塞问题,无线传感器网络的拥塞可以分为两种类型:一种类型是节点级的拥塞,就是节点需要发送的分组流量超过节点的发送能力,导致缓存溢出造成数据分组的丢失和网络排队延迟的增加;另一种类型是无线链路级的拥塞,无线信道是共享信道,在同一时刻相邻节点只能有一个节点使用无线信道,当多个相邻节点同时竞争使用无线信道时,就会产生访问冲突引起链路级拥塞,增加分组的服务时间,降低链路利用率和网络的吞吐量。
本发明主要关注无线传感器网络结构和节点缓存不足的问题,因为无线传感器网络大规模部署和以数据为中心的非对称的多对一数据流通信模式,使得WSN容易发生拥塞,WSN作为一种分组转发的网络,当突发数据流大规模地涌向某些传感器节点时,将因这些节点有限的输出流可用带宽和缓存空间,使得到来的分组不能被及时转发而不得不被丢弃,从而引起拥塞;另外,WSN采用逐跳的多对一通信方式,这使得sink节点所产生的“漏斗效应”也很容易产生拥塞。拥塞造成了数据分组丢失甚至重要检测信息的丢弃,减小了数据传输的成功率,降低了传输服务质量,而且数据重传进一步导致能量消耗增加,因此需要拥塞控制机制来管理网络。
为了解决拥塞现象所带来的中间节点队列不稳定、吞吐量急剧下降、丢包率过高等网络性能下降的问题,现在WSN的节点(无线路由)中普遍采用“弃尾方法”,当无线路由因缓冲区不能及时处理接收的数据包时,会对暂时未能处理的数据包进行排队。按照弃尾方法将队列长度相关的参数进行预先设定,并将队列长度的参数与预定的阈值进行比较,若大于阈值,则开始丢弃大于阈值之后的数据包。“弃尾”的意思即从队列尾部开始丢弃。
但是弃尾方法存在导致某个数据流进入死锁状态,让无线路由器缓存长期处于满队列状态,而主动队列管理(AQM)方法在有线网络拥塞控制中的研究已经很成熟,它在拥塞之前采用预见式的提前丢包的思想,能够有效地控 制队列长度,避免网络发生拥塞,解决滞后性和能量的不必要耗费问题。
中国专利公开号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)进行丢弃。
中国专利公开号CN104486248A,公开日为2015年4月1日,专利申请号为CN201410729812.X,专利名称为“基于广义PID的随机早期检测算法的AQM系统和方法”。描述了一种基于广义PID的随机早期检测算法的AQM系统和方法,该系统包括BP神经网络模块、广义PID控制模块和随机早期检测模块;BP神经网络通过自身的学习,可以找到某一最优控制规律下的参数。广义PID控制模块对调整好的自身参数做比例、积分、微分运算并将不同网络负载下队列长度稳定在对应的固定值,随机早期检测模块获取该固定值作为最大丢弃概率,经自身调节产生一个适用于当前负载的丢弃概率,被控对象依据该丢弃概率做出相应反应,使路由器中的队列长度能稳定到一个预期值。以此来达到提高网络资源的利用率,降低网络的平均时延的目的。
中国专利公开号CN1874299,公开日为2006年12月6日,专利申请号为200610012141.0,专利名称为“基于滑模变结构控制的路由主动队列管理方法”。该发明属于路由器队列管理和拥塞控制领域,其特点在于:在设定的激活的会话数、队列长度目标值、链路容量、往返时延范围内的小队列长度情况下,采用比例控制和恒值控制相结合的、滑模参数ω=2的滑模变结构控制系统来控制分组丢弃概率。该发明具有适应性、鲁棒性比PI控制器强、在实现主动队列管理时可保证较高链路利用率的同时减小端到端延时的特点。
中国专利公开号CN102196502A,公开日为2011年9月21日,专利号申请号为CN201110084987.6,专利名称为“一种面向无线传感器网络的拥塞控制方法”。该发明公开了一种面向无线传感器网络的拥塞控制方法,包括以下五个步骤:1.在传感器网络的源端,选择一些代表节点代替所有感知节点进行事件报告;2.节点根据本地缓冲区占用率检测拥塞;3.根据到汇聚节点sink的距离,将源到汇聚节点sink之间的节点分为远sink节点和近sink节点;4. 如果是远sink检测到拥塞,就发送后向拥塞告知,告知消息沿着数据源方向传播。收到告知消息的节点采用基于流量调度的拥塞处理方法;5.如果是近sink节点检测到拥塞,就向汇聚节点sink发送前向拥塞告知,汇聚节点sink收到拥塞告知消息后根据应用需求对代表节点的速率或数量进行调节。该方法针对无线传感器网络不同区域可能出现的拥塞问题采用不同的处理方法,可以及时、有效地避免或减轻拥塞。
中国专利公开号CN101119281,公开日为2008年2月6日,专利号申请号为CN200710120757.4,专利名称为“一种传感器网络拥塞控制方法”。公开了一种传感器网络拥塞控制方法,应用于无线传感器网络中的网络节点,包括:步骤1)、网络节点对本节点的节点门限值和报文周期数的值做初始化;步骤2)、网络节点开始一个报文周期,生成一个新的本地数据报文,并得到它的报文优先级;步骤3)、对新生成的本地数据报文做网络拥塞判断,在发生网络拥塞的前提下,将本节点的报文周期数清零,增加本节点的门限值,调整发送队列,并向邻居节点广播新的门限值;步骤4)、对网络节点是否收到其他网络节点所发送的数据报文进行判断,如果收到数据报文,执行下一步,否则,执行步骤6)、;步骤5)、对所收到的数据报文做网络拥塞判断,在发生网络拥塞的前提下,将本节点的报文周期数清零,增加本节点的门限值,调整发送队列,并向邻居节点广播新的门限值;步骤6)、判断是否收到了邻居节点所发送的广播消息,若收到了广播消息且广播消息中所包含的节点门限值高于本节点的门限值,则按照广播消息中的节点门限值调高本节点的门限值,调整发送队列,然后将本节点的报文周期数清零,并广播新的节点门限值;步骤7)、判断本轮报文周期的终止时刻是否已经到达,如果已经到达,则执行下一步,否则重新执行步骤4);步骤8)、判断本节点的报文周期数是否低于一个规定值,如果低于则增加报文周期数后,重新执行步骤2),否则将报文周期数清零后,降低节点门限值,然后重新执行步骤2)。
但是,随着WSN规模的不断增长,通过分析发现,大部分研究是基于拥塞检测与缓解的拥塞控制,其思想是将发生拥塞的WSN恢复正常,这个恢复过程不仅花费很长时间,而且消耗了WSN有限的能量,端到端的拥塞控制方法已无法有效地解决拥塞问题,因此,需要考虑将中间节点与源端配合来设计拥塞控制策略,所以,本发明将PID控制技术结合主动队列管理算法提出的PID拥塞控制算法嵌入到WSN环境中。在拥塞之前采用提前丢包的思想,能够有效地控制队列长度,避免网络发生拥塞,解决滞后性和能量的不必要耗费问题。
发明内容
本发明的目的是为了解决无线传感器网络拥塞的问题,而提供的一种基 于PID控制器的无线传感器网络拥塞控制技术。
本发明包括:不但将PID控制技术结合主动队列管理算法提出的PID拥塞控制算法嵌入到WSN环境中,而且对PID控制器中固定参数不能很好的适应WSN的动态变化,提出了粒子群神经元PID算法(PNPID)。该算法不仅通过神经元控制技术对PID算法固定参数进行动态调整而且采用改进的粒子群算法对参数进行在线寻优,克服了PID拥塞控制方法不能很好的适应WSN动态环境。
本发明的工作过程及原理为:基于PID控制器的无线传感器网络拥塞控制技术,包括如下步骤:将PID控制技术结合主动队列管理算法提出的PID拥塞控制算法嵌入到WSN环境中;根据设置的无线传感器网络状况对PNPID算法的参数初始化,设置期望队列长度,采样频率等相关参数;采用单神经元控制技术对PID队列拥塞控制模型的参数KI、KP、Kd进行在线调整;改进的粒子群算法对神经元PID算法中的KI、KP、Kd初始值和学习速率进行在线寻优,通过实时矫正来在线调整单神经元的权值,防止单神经元算法的局部优化问题,使得算法性能达到最优。由此得到PNPID算法;按照PNPID算法得到的丢弃概率p进行主动丢包,使得队列缓冲区溢出之前,提前主动丢包,避免拥塞发生。
技术方案中所述的改进的粒子群算法对神经元PID算法中的KI、KP、Kd初始值和学习速率进行在线寻优,通过实时矫正来在线调整单神经元的权值,防止单神经元算法的局部优化问题,使得算法性能达到最优包括如下步骤:
1)对粒子群中粒子的位置和速度进行随机初始化,假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,...,xiD),Vi=(vi1,vi2,...,viD)
其中:粒子群神经元初始化参数为6个,所以D=6,种群规模N=30;
2)计算每个粒子的适应度(本文选定的适应度);
3)计算粒子所经历的最好位置pi=(pi1,pi2,...,piD),计算群体中所有粒子经历过最好位置,即全局最好位置G=(pg1,pg2,...,pgD)。其中粒子所经历的最好位置由式(1)决定:
群体的全局最好位置G=(pg1,pg2,...,pgD)中的下标g由式(2)确定:
4)对粒子的速度和位置进行进化。在标准PSO模型中,粒子在每一维上的速度和位置更新公式如下:
Vid(t+1)=ωVid(t)+c1r1id(t)(Pid(t)-Xid(t))+c2r2id(t)(Pgd(t)-Xid(t))
Xid(t+1)=Xid(t)+Vid(t+1)
式中Vid和Xid义分别表示第i个粒子第d维的速度分量与位置分量;Pid为第i个粒子所经历的历史最佳位置分量,Pgd为群体所经过的历史最佳位置分量;w为惯性权重,决定了粒子对当前速度的继承度;r1和r2为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;c1为个体认知加速系数,表示粒子对自己经历过的历史最佳位置的记忆,c2为群体认知加速系数,表示粒子对整个种群所经历过的历史最佳位置的记忆能力,学习因子的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
5)判断结束条件,目标函数的适应度达到足够好或者进化到预先设定的代数,否则返回步骤(2),继续进行。
技术方案中所述的采用单神经元控制技术对PID队列拥塞控制模型的参数KI、KP、Kd进行在线调整包括如下步骤:
1)设置算法的输入量x1(k)、x2(k)、x3(k)其中,x1(k)为瞬时队列长度(q)与期望值(q0)的误差,x2(k)为误差的一次差分,x3(k)为误差的二次差分。神经元控制系统的输入输出关系为:
其中,K为单神经元的增益,并且保证K>0,xi(k)为单神经元的输入,wi(k)为xi(k)的权重,u(k)为单神经元的输出;
2)采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中,z(k)为输出误差信号z(k)=e(k),η1、η2、η3为不同的学习速率系数, 在仿真中可以根据情况进行设定,从而得到良好的控制效果;
3)单神经元控制器是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中wi(k)分别对应于PID控制算法的KI、KP、Kd。为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,wi'(k)可表示为:
技术方案中所述的将PID控制技术结合主动队列管理算法提出的PID拥塞控制算法嵌入到WSN环境中包括如下步骤:
1)首先,将PID算法包含的文件pid.h和pid.cc加入到NS2仿真软件中;
2)其次,在ns2.35文件夹下修改makefile和makefile.vc文件,在这来两个文件夹下相应的位置加入queue pid.o\;
3)接着,在lib文件夹下修改ns-lib.tcl文件,在文件中加入PID;
4)然后,在lib文件夹下的ns-default文件中对PID参数进行初始化;
5)最后,对NS2进行重新编译,至此把PID算法锲入到了NS2中。
本发明的有益效果:1.已经用于WSN的PI算法没有微分环节,本发明所述的基于PID控制器的无线传感器网络拥塞控制技术(PNPID),在PI算法的基础上加入了微分环节;
2.对比PID算法与PI算法,本发明所述的PNPID方法,解决了PID和PI存在参数固定的缺点而导致的不能很好的适应WSN动态环境;
3.对比PI和PID方法,本发明所述的PNPID方法,在自适应调整固定参数的同时对一些参数进行了在线寻优。从而更好的适应WSN环境;
4.在没有影响实际到达数据包的情况下,降低了丢包率,节约了网络资源,改善了网络通信质量。
参阅图5,为了检验本发明所述的PNPID方法的性能,把本发明所述的PNPID方法加载到NS-2仿真平台上,仿真使用2.35版本的NS-2平台,操作系统为Ubuntu10.04。图中所表示的为在NS-2仿真平台上搭建的模拟WSN拥塞的网络环境,其中其中节点数为23个,节点的传输范围250m,MAC层采用802.11,路由协议采用AODV,节点的初始能量默认值,瓶颈节点处接口队列长度为300Packets,初始源节点向汇聚节点以rate_1Mb的速率发送数据, 平均包大小为128B,仿真时间50s,从1s源节点开始发送数据包到50s停止发送。
使用以下一系列的实验来说明本发明所述的PNPID方法,对于提高队列稳定程度、提高吞吐量和降低丢包率具有明显的改善,实验的前提为:传统PI算法中期望队列长度为150Packets,固定参数值Kp=0.0000475,Ki=0.0000174。采样频率w=100HZ。传统PID算法中期望队列长度为150Packets,固定参数值kp=0.0000129,ki=0.0000222,kd=0.0000095,提出的PNPID算法中期望队列长度为150Packets,神经元增益为K=0.12。
实验组
PI、PID方法与本发明所述的PNPID方法的中间节点队列长度稳定性性能比较
参数设置:传统PI算法中期望队列长度为150Packets,固定参数值Kp=0.0000475,Ki=0.0000174,采样频率w=100HZ,传统PID算法中期望队列长度为150Packets,固定参数值kp=0.0000129,ki=0.0000222,kd=0.0000095,提出的PNPID算法中期望队列长度为150Packets,神经元增益为K=0.12。实验组里包含3个实验,构成1组对比实验。
由实验组可以得到图6、图7与图8,分别是PI、PID方法与本发明所述的PNPID方法的瞬时队列长度的变化曲线,可以发现本发明所述的PNPID方法的平均队列曲线震荡幅度明显减小,并且保持较低的队列长度,没有PID方法在仿真实验中出现的满队列情况,而且在接下来的仿真时间里本发明所述的PNPID方法的平均队列长度更为平滑,几乎没有强烈的抖动。
由实验组可以得到图9,是PI、PID方法与本发明所述的PNPID方法的吞吐量变化的对比曲线,可以发现本发明所述的PNPID方法吞吐量明显高于PI、PID方法,说明PNPID方法明显提高了WSN的网络性能。
由实验组可以得到图10,是PI、PID方法与本发明所述的PNPID方法的丢包率对比,可以发现本发明所述的PNPID方法的丢包率明显减小。
上述实验分别检验了本发明所述的PNPID方法的性能,通过上述实验可以得出本发明所述的PNPID方法在WSN环境下,在相同的网络环境相同的仿真条件下取得了稳定队列长度、提高吞吐量、降低丢包率,提高WSN通信质量的良好的性能。
本发明所述的PNPID方法达到了本发明的设计目标,该方法的参数根据网络环境自适应调整参数设置,而不是像其他方法由静态参数配置调节方法控制网络拥塞,并取得了良好的效果,可以证明本发明所述的PNPID方法具有自适应、动态调整的能力,且其性能优良。
附图说明
图1为本发明实施例的基于PID控制器的无线传感器网络拥塞控制技术(PNPID)的功能流程示意框图;
图2为本发明实施例的基于PID控制器的无线传感器网络拥塞控制技术(PNPID)的控制原理图;
图3为本发明实施例的基于PID控制器的无线传感器网络拥塞控制技术中的对于用单神经元控制技术对PID控制器固定的参数(KP、KI、Kd)进行整定步骤的分解功能控制原理图;
图4为本发明实施例的基于PID控制器的无线传感器网络拥塞控制技术中的用改进的粒子群算法对神经元PID控制器的初始参数(KP0、KI0、Kd0),神经元学习速率(η1、η2、η3)进行在线寻优步骤的分解功能流程示意框图;
图5为本发明实施例的基于PID控制器的无线传感器网络拥塞控制技术在NS-2网络仿真平台下的网络拓扑图;
图6为本发明实施例的PI方法中间节点队列长度曲线图;
图7为本发明实施例的PID方法中间节点队列长度曲线图;
图8为本发明实施例的PNPID方法中间节点队列长度曲线图;
图9为本发明实施例的PI、PID方法与本发明所述的PNPID方法中吞吐量对比曲线图;
图10为本发明实施例的PI、PID方法与本发明所述的PNPID方法中丢包率对比曲线图。
具体实施方式
请参阅图1到图10所示,为本发明的实施例,包括本发明实施例的PNPID算法的控制原理图、流程图、PI、PID、本发明实施例的PNPID算法的队列长度,吞吐量,丢包率实验对比图。
本实施例的工作过程及原理为:
下面结合附图对本发明作详细的描述:尽管和其他WSN网络拥塞相比,PI、PID是一种有效的拥塞控制机制,但其仍然存在下面一些不足。
1.以往WSN拥塞控制策略多集中在拥塞检测和拥塞处理,这些策略只有在拥塞发生以后才对其处理,存在一定的滞后性,消耗了WSN有限的能量;而PI、PID控制器和主动队列管理方法相结合的用于WSN的拥塞控制策略不仅能在拥塞发生前对其进行检测而且采用提前丢包的方法来避免和缓解拥塞。
2.PI、PID方法的参数固定,不能适应于WSN的动态变化;
3.根据无线传感器网络结构,端到端的拥塞控制方法已无法有效地解决 拥塞问题,因此,需要考虑将中间节点与源端配合来设计拥塞控制策略,而主动队列管理方法满足了这一点要求,所以将主动队列管理方法结合PID控制器应用到WSN中非常有价值。
为了解决上述问题,产生了一些用于WSN的改进的PI、PID拥塞控制策略方法。这些方法结合了WSN的特点,对参数进行了调整,但其参数调整的效果并不十分理想,仍需有待加强。
本发明提供了一种能够依据WSN网络环境自适应调整计算PID固定参数并且对一些参数进行在线寻优,使结果达到最优,基于PID控制器的无线传感器拥塞控制技术(PNPID),该方法依次含有如下步骤:
1.相关参数的定义
1)KP0、KI0、Kd0为PID三个参数初始值;
2)K为神经元系数;
3)η1、η2、η3为神经元学习速率;
4)wi(k)为神经元权值;
5)q0为期望队列长度;
6)q为瞬时队列长度;
7)P为丢弃概率;
8)粒子群的规模为N=30;
9)粒子的维数D=6;
10)粒子群惯性权重最大值w_max=0.9;
11)粒子群惯性权重最小值w_min=0.4;
12)PID控制器的三个参数的最小值Kp_min=KI_min=Kd_min=0.0001;
13)PID控制器的三个参数的最大值Kp_max=KI_max=Kd_max=10;
14)V_min、V_max为粒子群速度的最大值和最小值;
15)c1、c2为粒子群算法学习因子;
16)q为(瞬时队列长度也称)当前队列长度。
2.在WSN中嵌入(装入以计算机程序所体现的)本发明所述的PNPID方法,设置PID三个参数KP0、KI0、Kd0初始值,神经元系数K,期望队列长度q0,粒子群的规模为N=30,粒子的维数D=6,粒子群惯性权重最大值w_max=0.9,粒子群惯性权重最小值w_min=0.4,PID控制器的三个参数的最小值Kp_min=KI_min=Kd_min=0.0001,PID控制器的三个参数的最大值Kp_max=KI_max=Kd_max=10:
将PNPID方法锲入NS2仿真软件的WSN网络环境步骤如下:
1)首先,将PID算法包含的文件pid.h和pid.cc加入到NS2仿真软件中;
2)其次,在ns2.35文件夹下修改makefile和makefile.vc文件,在这来两
3)接着,在lib文件夹下修改ns-lib.tcl文件,在文件中加入PID;
4)然后,在lib文件夹下的ns-default文件中对PID参数进行初始化;
5)最后,对NS2进行重新编译,至此把PID算法锲入到了NS2中。
3.对于采用单神经元控制技术对PID控制器固定参数进行在线调整
参阅图3,因为PID控制器的三个参数是非常重要的参数,对于WSN网络拥塞控制的效果有很大影响,所以本发明所述的PNPID方法将PID三个固定参数做了进一步完善工作,本发明所述的PNPID方法将PID控制器用有监督的Hebb学习方法对其参数进行自适应调整,根据WSN动态变化情况,调整当前PID的三个参数。
对于采用单神经元控制技术对PID控制器参数调整包括如下步骤:
1)设置算法的输入量x1(k)、x2(k)、x3(k)其中,x1(k)为瞬时队列长度(q)与期望值(q0)的误差,x2(k)为误差的一次差分,x3(k)为误差的二次差分。神经元控制系统的输入输出关系为:
其中,K为单神经元的增益,并且保证K>0,xi(k)为单神经元的输入,wi(k)为xi(k)的权重,u(k)为单神经元的输出;
2)采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中,z(k)为输出误差信号z(k)=e(k),η1、η2、η3为不同的学习速率系数,在仿真中可以根据情况进行设定,从而得到良好的控制效果;
3)单神经元控制器是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中wi(k)分别对应于PID控制算法的KI、KP、Kd。为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,wi'(k)可表示为:
为了依据WSN网络环境的实时变化来调整方法的参数,本发明所述的PNPID方法将PID控制器的参数进行自适应调整,已有PID方法的三个固定 参数通过专家经验得出,不具有动态调整的特性。所以通过上述步骤对神经元权值进行在线调整,即对PID三个固定参数进行在线调整。准备进行下一步计算的步骤。
4.通过粒子群算法对一些参数进行在线寻优:根据期望队列长度和瞬时队列长度的误差来调整自适应函数,达到反馈的目的。
参阅图4通过粒子群算法对一些参数进行在线寻优的步骤如下:
1)对粒子群中粒子的位置和速度进行随机初始化。假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,...,xiD),Vi=(vi1,vi2,...,viD)
其中:粒子群神经元初始化参数为6个,所以D=6,种群规模N=30;
2)计算每个粒子的适应度(本文选定的适应度);
3)计算粒子所经历的最好位置pi=(pi1,pi2,...,piD),计算群体中所有粒子经历过最好位置,即全局最好位置G=(pg1,pg2,...,pgD),其中粒子所经历的最好位置由式(1)决定:
群体的全局最好位置G=(pg1,pg2,...,pgD)中的下标g由式(2)确定:
4)对粒子的速度和位置进行进化。在标准PSO模型中,粒子在每一维上的速度和位置更新公式如下:
Vid(t+1)=ωVid(t)+c1r1id(t)(Pid(t)-Xid(t))+c2r2id(t)(Pgd(t)-Xid(t))
Xid(t+1)=Xid(t)+Vid(t+1)
式中Vid和Xid义分别表示第i个粒子第d维的速度分量与位置分量;Pid为第i个粒子所经历的历史最佳位置分量,Pgd为群体所经过的历史最佳位置分量;w为惯性权重,决定了粒子对当前速度的继承度;r1和r2为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;c1为个体认知加速系数,表示粒子对自己经历过的历史最佳位置的记忆,c2为群体认知加速系数,表示粒子对整个 种群所经历过的历史最佳位置的记忆能力,学习因子的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
5)判断结束条件,目标函数的适应度达到足够好或者进化到预先设定的代数,否则返回步骤(2),继续进行;
6)通过单神经元控制技术和粒子群方法对参数在线寻优得到PID控制其的三个参数后计算丢弃概率P并以丢弃概率P丢弃数据包。
参阅图1图2,为了反映拥塞状况本发明所述的PNPID方法需要按照公式:
得到丢弃概率后,将其输入到被控对象中得到瞬时队列长度,通过反馈作用于PNPID方法输入端,达到反馈控制目的,对整个方法进行实时在线调整,从而很好的控制WSN的网络拥塞问题。
Claims (1)
1.一种采用计算机程序的基于PID控制器的无线传感器网络拥塞控制技术,其特征在于:所述的基于PID控制器的无线传感器网络拥塞控制技术包括如下步骤:相关参数的定义及初始化;将PID控制技术与主动队列管理方法相结合得到的PID队列管理拥塞算法嵌入到无线传感器网络(WSN)环境中;用单神经元控制技术对PID控制器固定的参数(KP、KI、Kd)进行整定;用改进的粒子群算法对神经元PID控制器的初始参数(KP0、KI0、Kd0)、神经元学习速率(η1、η2、η3)进行在线寻优;得到PID控制器的三个适应与无线传感器网络动态环境的参数后计算丢弃概率(P)丢弃数据包;
所述的用单神经元控制技术对PID控制器固定的参数(KP、KI、Kd)进行整定包括如下步骤:
1)设置算法的输入量x1(k)、x2(k)、x3(k)其中,x1(k)为瞬时队列长度(q)与期望值(q0)的误差,x2(k)为误差的一次差分,x3(k)为误差的二次差分,神经元控制系统的输入输出关系为:
其中,其中,K为单神经元的增益,并且保证K>0,xi(k)为单神经元的输入,wi(k)为xi(k)的权重,u(k)为单神经元的输出;
2)采用有导的Hebb学习算法来调节加权系数wi(k),其表达式为:
wi(k+1)=wi(k)+ηiz(k)u(k)xi(k)
其中,z(k)为输出误差信号z(k)=e(k),η1、η2、η3为不同的学习速率系数,在仿真中可以根据情况进行设定,从而得到良好的控制效果;
3)单神经元控制器是通过调整输入变量xi(k)的权重wi(k)来实现自适应调整的,其中wi(k)分别对应于PID控制算法的KI、KP、Kd,为了实现算法的收敛性和鲁棒性,采用规范化学习算法进行处理,则表达式可以写成下式:
其中,可表示为:
所述的用改进的粒子群算法对神经元PID控制器的初始参数(KP0、KI0、Kd0)、神经元学习速率(η1、η2、η3)进行在线寻优,包括如下步骤:
1)对粒子群中粒子的位置和速度进行随机初始化,假设一个粒子群的种群规模为N,每个粒子代表D维搜索空间中的一个解,其中粒子i在求解空间中的位置和速度分别表示为:
Xi=(xi1,xi2,...,xiD),Vi=(vi1,vi2,...,viD)
其中:粒子群神经元初始化参数为6个,所以D=6,种群规模N=30;
2)计算每个粒子的适应度(本文选定的适应度);
3)计算粒子所经历的最好位置pi=(pi1,pi2,...,piD),计算群体中所有粒子经历过最好位置,即全局最好位置G=(pg1,pg2,...,pgD),其中粒子所经历的最好位置由式(1)决定:
<mrow>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo><</mo>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
<mo>&GreaterEqual;</mo>
<mi>f</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>t</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
</mrow>
群体的全局最好位置G=(pg1,pg2,...,pgD)中的下标g由式(2)确定:
<mrow>
<mtable>
<mtr>
<mtd>
<mrow>
<mi>g</mi>
<mo>=</mo>
<mi>arg</mi>
<munder>
<mrow>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
</mrow>
<mrow>
<mn>1</mn>
<mo>&le;</mo>
<mi>i</mi>
<mo>&le;</mo>
<mi>D</mi>
</mrow>
</munder>
<mo>{</mo>
<mi>f</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mo>(</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>)</mo>
<mo>}</mo>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>g</mi>
<mo>&Element;</mo>
<mo>{</mo>
<mn>1</mn>
<mo>,</mo>
<mn>2</mn>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mi>D</mi>
<mo>}</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
4)对粒子的速度和位置进行进化,在标准PSO模型中,粒子在每一维上的速度和位置更新公式如下:
Vid(t+1)=ωVid(t)+c1r1id(t)(Pid(t)-Xid(t))+c2r2id(t)(Pgd(t)-Xid(t))
Xid(t+1)=Xid(t)+Vid(t+1)
式中Vid和Xid义分别表示第i个粒子第d维的速度分量与位置分量;Pid为第i个粒子所经历的历史最佳位置分量,Pgd为群体所经过的历史最佳位置分量;w为惯性权重,决定了粒子对当前速度的继承度;r1和r2为[0,1]区间内均匀分布且相互独立的随机数,称为随机因子;c1为个体认知加速系数,表示粒子对自己经历过的历史最佳位置的记忆,c2为群体认知加速系数,表示粒子对整个种群所经历过的历史最佳位置的记忆能力,学习因子的存在使得粒子具有自我总结和向群体中最优个体学习的能力,通过两种能力的相互补充协调,粒子不断向着全局最优位置或局部最优位置靠近;
5)判断结束条件,目标函数的适应度达到足够好或者进化到预先设定的代数,否则返回步骤(2),继续进行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611192230.8A CN107070802B (zh) | 2016-12-21 | 2016-12-21 | 基于pid控制器的无线传感器网络拥塞控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611192230.8A CN107070802B (zh) | 2016-12-21 | 2016-12-21 | 基于pid控制器的无线传感器网络拥塞控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070802A true CN107070802A (zh) | 2017-08-18 |
CN107070802B CN107070802B (zh) | 2021-01-12 |
Family
ID=59619816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611192230.8A Expired - Fee Related CN107070802B (zh) | 2016-12-21 | 2016-12-21 | 基于pid控制器的无线传感器网络拥塞控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070802B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040961A (zh) * | 2017-06-15 | 2017-08-11 | 吉林大学 | 一种无线传感器网络拥塞控制方法 |
CN108243112A (zh) * | 2018-01-11 | 2018-07-03 | 杭州朗和科技有限公司 | 聊天群组网络流量控制方法及装置、存储介质及计算设备 |
CN113015119A (zh) * | 2020-12-08 | 2021-06-22 | 广西电网有限责任公司电力科学研究院 | 智能传感器网络拥塞自抗扰控制方法 |
CN113141315A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种拥塞控制方法及设备 |
CN113438181A (zh) * | 2021-08-26 | 2021-09-24 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN114047701A (zh) * | 2021-11-22 | 2022-02-15 | 广西电网有限责任公司电力科学研究院 | 一种智能传感器网络拥塞自适应模型预测控制方法 |
CN114915662A (zh) * | 2022-04-18 | 2022-08-16 | 上海斑马来拉物流科技有限公司 | 数据请求的处理方法、系统、终端及可读存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821001A (zh) * | 2012-09-17 | 2012-12-12 | 吉林大学 | 模糊神经元主动队列管理方法在ipcop中实现的方法 |
CN103124396A (zh) * | 2013-01-24 | 2013-05-29 | 河南科技大学 | 基于交叉粒子群的无线传感器网络移动节点定位方法 |
CN103164742A (zh) * | 2013-04-02 | 2013-06-19 | 南京邮电大学 | 一种基于粒子群优化神经网络的服务器性能预测方法 |
CN103592852A (zh) * | 2013-11-29 | 2014-02-19 | 西南交通大学 | 基于粒子群膜算法的pid控制器优化设计方法 |
CN103747530A (zh) * | 2014-01-06 | 2014-04-23 | 吉林大学 | 部分重叠信道下的无线Mesh网络信道分配系统及方法 |
CN103971908A (zh) * | 2014-05-06 | 2014-08-06 | 国家电网公司 | 一种变压器噪声抑制方法 |
CN104834215A (zh) * | 2015-03-24 | 2015-08-12 | 浙江师范大学 | 一种变异粒子群优化的bp神经网络pid控制算法 |
CN105281615A (zh) * | 2015-11-12 | 2016-01-27 | 广西师范大学 | 一种基于改进粒子群算法优化无刷直流电机模糊控制器的方法 |
CN105430706A (zh) * | 2015-11-03 | 2016-03-23 | 国网江西省电力科学研究院 | 一种基于改进粒子群算法的无线传感网络路由优化方法 |
-
2016
- 2016-12-21 CN CN201611192230.8A patent/CN107070802B/zh not_active Expired - Fee Related
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102821001A (zh) * | 2012-09-17 | 2012-12-12 | 吉林大学 | 模糊神经元主动队列管理方法在ipcop中实现的方法 |
CN103124396A (zh) * | 2013-01-24 | 2013-05-29 | 河南科技大学 | 基于交叉粒子群的无线传感器网络移动节点定位方法 |
CN103164742A (zh) * | 2013-04-02 | 2013-06-19 | 南京邮电大学 | 一种基于粒子群优化神经网络的服务器性能预测方法 |
CN103592852A (zh) * | 2013-11-29 | 2014-02-19 | 西南交通大学 | 基于粒子群膜算法的pid控制器优化设计方法 |
CN103747530A (zh) * | 2014-01-06 | 2014-04-23 | 吉林大学 | 部分重叠信道下的无线Mesh网络信道分配系统及方法 |
CN103971908A (zh) * | 2014-05-06 | 2014-08-06 | 国家电网公司 | 一种变压器噪声抑制方法 |
CN104834215A (zh) * | 2015-03-24 | 2015-08-12 | 浙江师范大学 | 一种变异粒子群优化的bp神经网络pid控制算法 |
CN105430706A (zh) * | 2015-11-03 | 2016-03-23 | 国网江西省电力科学研究院 | 一种基于改进粒子群算法的无线传感网络路由优化方法 |
CN105281615A (zh) * | 2015-11-12 | 2016-01-27 | 广西师范大学 | 一种基于改进粒子群算法优化无刷直流电机模糊控制器的方法 |
Non-Patent Citations (2)
Title |
---|
刘道: "基于改进粒子群优化算法的PID参数整定研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
孙金生,李彬: "模糊神经元自适应PID控制AQM算法", 《东南大学学报(自然科学版)》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107040961A (zh) * | 2017-06-15 | 2017-08-11 | 吉林大学 | 一种无线传感器网络拥塞控制方法 |
CN108243112A (zh) * | 2018-01-11 | 2018-07-03 | 杭州朗和科技有限公司 | 聊天群组网络流量控制方法及装置、存储介质及计算设备 |
CN108243112B (zh) * | 2018-01-11 | 2022-07-19 | 杭州网易智企科技有限公司 | 聊天群组网络流量控制方法及装置、存储介质及计算设备 |
CN113015119A (zh) * | 2020-12-08 | 2021-06-22 | 广西电网有限责任公司电力科学研究院 | 智能传感器网络拥塞自抗扰控制方法 |
CN113015119B (zh) * | 2020-12-08 | 2023-05-16 | 广西电网有限责任公司电力科学研究院 | 智能传感器网络拥塞自抗扰控制方法 |
CN113141315A (zh) * | 2021-04-20 | 2021-07-20 | 上海卓易科技股份有限公司 | 一种拥塞控制方法及设备 |
CN113141315B (zh) * | 2021-04-20 | 2022-12-27 | 上海卓易科技股份有限公司 | 一种拥塞控制方法及设备 |
CN113438181A (zh) * | 2021-08-26 | 2021-09-24 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN113438181B (zh) * | 2021-08-26 | 2021-11-09 | 北京邮电大学 | 网络拥塞控制方法和装置 |
CN114047701A (zh) * | 2021-11-22 | 2022-02-15 | 广西电网有限责任公司电力科学研究院 | 一种智能传感器网络拥塞自适应模型预测控制方法 |
CN114047701B (zh) * | 2021-11-22 | 2023-08-11 | 广西电网有限责任公司电力科学研究院 | 一种智能传感器网络拥塞自适应模型预测控制方法 |
CN114915662A (zh) * | 2022-04-18 | 2022-08-16 | 上海斑马来拉物流科技有限公司 | 数据请求的处理方法、系统、终端及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107070802B (zh) | 2021-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070802A (zh) | 基于pid控制器的无线传感器网络拥塞控制技术 | |
CN107634911B (zh) | 一种信息中心网络中基于深度学习的自适应拥塞控制方法 | |
CN111818570B (zh) | 一种面向真实网络环境的智能拥塞控制方法及系统 | |
CN106160953B (zh) | 一种基于学习型能效模型的传输方法 | |
CN107040961A (zh) | 一种无线传感器网络拥塞控制方法 | |
CN105704055B (zh) | 一种基于自然启发的网络拥塞预防方法 | |
CN110167071B (zh) | 一种基于竞争的mac层逐跳双向拥塞控制方法 | |
CN113890854B (zh) | 一种基于深度增强学习的数据中心网络传输方法 | |
Liao et al. | Towards fair and efficient learning-based congestion control | |
Manshahia et al. | Computational intelligence for congestion control and quality of service improvement in wireless sensor networks | |
CN110691364B (zh) | 基于双曲正割学习率因子的q路由方法 | |
Hu et al. | Nonlinear model predictive congestion control based on lstm for active queue management in tcp network | |
CN116760777B (zh) | 一种基于abea3c的多路径拥塞控制方法 | |
Pham et al. | Fuzzy Congestion Control and Avoidance for CoAP in IoT Networks | |
Ahmad et al. | An Active Queue Management to Assist Time-critical Applications in Rural Area Networks using deep learning | |
CN113300970B (zh) | 基于深度学习的tcp拥塞动态控制方法及装置 | |
Thrimoorthy et al. | Congestion control in Wireless Sensor Network based on prediction modeling with HMM | |
Ju | Computer network routing algorithm based on genetic algorithm | |
Bai et al. | MACC: Cross-layer multi-agent congestion control with deep reinforcement learning | |
Kaur et al. | An Efficient and Reliable Routing Protocol using bio-inspired techniques for congestion control in WSN | |
Sup et al. | Acknowledge-Based Non-Congestion Estimation: An Indirect Queue Management Approach For Concurrent Tcp And Udp-Like Flows | |
Li et al. | TCP-PPCC: Online-learning proximal policy for congestion control | |
Lakshmi et al. | CONGESTION CONTROL IN WIRED COMMUNICATION USING REINFORCEMENT LEARNING | |
Yang et al. | GDMD: A Transmission Control Scheme with Block Information-aware for Delay Sensitive Multimedia | |
Bai et al. | MA-CC: Cross-Layer Congestion Control via Multi-agent Reinforcement Learning |
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: 20210112 Termination date: 20211221 |
|
CF01 | Termination of patent right due to non-payment of annual fee |