基于免疫遗传的改进预测函数网络控制算法
2014-08-02时维国马庆龙宋存利
时维国 马庆龙 宋存利
(大连交通大学电气信息学院,辽宁 大连 116028)
网络控制系统(Networked Control System,NCS)是指利用实时通信网络将系统中传感器、控制器及执行机构等部件构成闭环控制回路的实时反馈控制系统。网络的引入会产生时延、丢包及错序等问题。网络时延是影响控制性能的主要因素之一,许多学者对其进行了大量的研究。Luck R和 Ray A在数据接收端增加缓冲区,将随机时延转化成确定时延,从而将随机时变系统转换成确定性系统[1]。Al-mutiri和Naif Begad针对线性被控对象和可调节PI控制器,采用模糊理论对网络时延进行补偿[2]。孙鹏菊等提出了一种基于线性外推的占空比预测控制算法,明显提高了控制环路的带宽,有效改善了在短时延影响下系统的动态性能[3]。陈虹等采用一种预测步数可变的广义预测控制算法,能够使网络控制台适应延时小幅波动[4]。田中大等利用粒子群优化的最小二乘支持向量机建立NCS随机时延预测模型预测未来时刻的时延,通过快速隐式广义预测控制算法对 NCS 随机时延进行补偿[5]。张智焕等提出了基于Wiener 模型的非线性系统自适应的预测函数控制(PFC)算法,该模型是用带遗忘因子的递推最小二乘法在线辨识得到的,并根据所得参数直接计算非线性预测函数控制律[6]。贺国艳等提出了针对被控对象相互之间有强耦合性、网络延时及丢包等问题,采用神经网络对时延进行补偿的预测函数控制算法,但求解过于复杂、繁琐,甚至无法实现有效控制[7]。
综上,针对网络诱导时延补偿算法的研究主要集中在短时延方面,并取得了大量的研究成果,但对于网络诱导长时延难以保证良好的控制效果,甚至会导致系统失稳。在基函数较多和被控对象之间存在耦合的情况下,传统预测函数控制中加权系数的求取方法(如最小二乘法、单纯形法及梯度下降法等)因需解耦导致计算繁琐、复杂,降低了系统的实时性,甚至无法求得最优解。
笔者针对网络控制系统存在长时延的情况,提出一种改进的基于免疫算法的预测函数控制算法,该算法采用改进的结合精英策略的人工免疫遗传算法求取基函数加权值,在基本免疫算法的基础上,以R位相同算法确定抗体相似度和期望繁殖率,进而计算选择概率,保持了种群的多样性,用大范围随机搜索代替数学解耦,省去了解耦过程,减少了在线计算量,有效地抑制了局部最优解的出现,进而保证了系统的控制性能和实时性。
1 基于PFC的网络控制系统①
预测函数控制把每一时刻加入的控制输入看作若干预先选定的基函数的线性组合[8],其结构如图1所示。在其作用下,系统输出则可表述为加权基函数作用于对象后响应的线性叠加。在线优化的目的是在满足控制性能指标的前提下求取最优的加权系数组合,进而算出未来的控制输入。
图1 考虑网络时延预测函数网络控制系统结构框图
1.1 基函数
在预测函数控制中,控制量表示为若干己知基函数的线性组合。基函数的选取依赖于被控对象的性质和参考轨迹的要求,可取为阶跃、斜坡及指数函数等。线性组合可表示为:
(1)
式中n——基函数的个数;
Ui(k)——第i个基函数;
μi——第i个基函数的加权值。
1.2 预测模型
选择预测模型时,只要是具有预测功能的信息集合,任何表现形式均可作为预测模型。笔者选择被控对象的阶跃响应作为预测模型。预测模型的输出为:
(2)
其中,hi(k)是k时刻被控对象在第i个基函数作用下的响应;y0(k)是k时刻模型的自由输出,仅依赖于过去时刻的控制量和输出量,与当前时刻和将来时刻的控制量无关。
1.3 参考轨迹
PFC通过优化性能指标确定对象未来控制量,从而使对象模型的预测输出沿着某个期望轨迹达到设定值。参考轨迹取决于使用者对系统闭环响应的要求,与设定值和系统的实际输出有关,笔者选择的参考轨迹为:
yr(k+i)=c(k+i)-λi(c(k)-y(k))
(3)
λ=e-Ts/Tr
式中c——设定值;
Tr——参考轨迹的响应时间;
Ts——采样周期;
y——系统的实际输出。
1.4 滚动优化
PFC采用滚动优化策略,即在不同时刻都有一个形式相同但包含不同时间区域的性能指标。笔者为了在优化时域上使参考轨迹和预测输出的误差平方和最小,采用二次型性能指标形式:
(4)
ym(k+i)为k+i时刻预测模型输出;i为预测时域;e(k+i)为k+i时刻的误差,其计算式为:
e(k+i)=y(k)-ym(k)
(5)
将式(1)~(3)、(5)代入式(4),进行寻优迭代求解。
2 改进后的免疫遗传算法
免疫遗传算法是一种改进的基于生物免疫机制,可以模拟和反映生物机体免疫系统的特点,并结合工程优化应用的仿生优化算法[9]。与传统遗传算法相比,免疫算法用抗体间的相似度和种群的抗体浓度改进选择算子,有效抑制局部出现最优解,保持了种群的多样性。笔者提出求解基函数加权系数的改进免疫遗传算法,算法中种群的个体采用二进制编码表示,运用R位相同方法计算抗体间的相似度和浓度,进而求得期望繁殖概率(选择算子),经过N代的遗传计算后,得到k时刻使J最小时的U(k)值,即为最优控制量。
2.1 计算抗体与抗体间的相似度
通过计算抗体与抗体间的相似度、抗体的浓度和适应度获得期望繁殖概率,并将其作为新的选择算子。假设有一个规模为M的抗体种群,其中每一个抗体都可以表示成一个具有N个元素的一维向量。
抗体与抗体间的相似度反映了抗体之间的相似程度,其计算式为:
SV,S=KV,S/L
(6)
其中,KV,S表示抗体V和抗体S中对应位编码相同的位数,L表示抗体长度。抗体与抗体间的相似度越高,种群的多样性越差,使得到局部最优解的可能性增大。采用R位相同方法计算抗体与抗体间的相似度:设每一代种群有40个抗体,每个抗体包括10个基因位,采用二进制编码表示基函数的加权值;抗体V和S的编码有超过R位相同,则表示抗体V和S相同。由于算法中涉及到由二进制转换到十进制,因此要对两个抗体中的编码按照顺序逐一进行比较。计算抗体和抗体间的相似度是为抑制高浓度抗体的繁殖做准备。
2.2 计算抗体浓度
抗体浓度CV是指抗体V在群体中相似个体所占的比例,即:
(7)
(8)
式中R——预先设定的判定亲和度的参数,R是小于1的正数。
2.3 计算期望繁殖概率
在群体中,每个个体的期望繁殖概率P由抗体适应度AV和抗体浓度CV共同决定,即:
(9)
其中∂为调节因子[10]。个体的适应度由目标函数决定,适应度越高,期望的繁殖概率越大;个体的浓度越大,期望的繁殖概率越小。这样就抑制了浓度高的个体,鼓励了适应性好的个体,从而确保了种群的多样性,将计算得到的P作为新的选择算子。
改进后的免疫算法采用精英保留策略,在父代中保留10个目标函数最小的个体,将其与父代种群经过遗传操作后产生的新种群组合在一起排序,进行优化计算,选择目标函数最小的前M个个体组成新的子代种群。
3 仿真实验分析
在 Matlab 环境下采用Simulink和True Time工具箱构建NCS仿真框图,包括3个True Time Kernel模块(分别对应传感器、执行器和控制器)和一个True Time Network模块(网络类型采用CDMA/CD(Ethernet)),预测时域和控制时域的长度均为4,采样周期为0.5s,跟踪设定值为:
(10)
在流程工业生产过程中,生产过程一般都可以近似表示为:
G(s)=Ke-τs/(Ts+1)
(11)
式中K——增益;
T——过程惯性时间常数;
τ——纯时滞时间。
笔者选择的被控对象为:
G(s)=1/(s+1)
(12)
考虑被控对象为一阶的情况下,基函数选定为一个阶跃函数[11],即:
(13)
选择调节因子∂=0.95,种群大小M=40,R=0.7,最大遗传代数为40。交叉算子Pc=0.7,进行单点变异,变异算子Pm=0.4。
考虑没有延时和带有1s延时的网络控制系统,采用传统预测函数控制算法进行仿真,跟踪曲线如图2所示。
a. 无网络时延
b. 网络时延为1s
对网络时延为1s的网络控制系统,采用改进的预测函数控制算法进行仿真,跟踪曲线如图3所示。
图3 网络时延为1s时改进的免疫算法预测函数控制算法跟踪曲线
图2、3中实线表示设定值,虚线表示实际输出曲线。从图2可以看出:传统的预测函数控制响应缓慢,无法快速跟踪轨迹,在加入延时后,会增大系统误差,并出现控制滞后的现象。对比图2b和图3可以看出:改进的预测函数控制器能够更加快速、准确地跟踪设定值,当设定值产生变化时,控制器能够立刻对输出进行调整,保证了良好的跟踪效果。
4 结束语
针对网络诱导长时延对网络控制系统性能的严重影响,提出了一种改进的基于免疫遗传预测函数控制算法,该算法以R位相同算法结合精英策略确定抗体相似度和期望繁殖率,进而计算选择概率,以求取预测基函数的加权值,有效地抑制了局部最优解的出现,保持了种群的多样性,达到寻求全局最优解的目的。实验表明,该算法保证了长时延网络控制系统的稳定性,能够准确、快速地跟踪设定值,保证了系统的稳定性,又具有良好的控制效果。