基于改进遗传算法的直流锅炉主蒸汽温度自校正控制
2013-10-10方彦军胡文凯
方彦军,胡文凯
(武汉大学 动力与机械学院,湖北 武汉 430072)
0 引言
主蒸汽温度是直流锅炉运行中需要监视的一个重要参数,过高或者过低都会影响机组的安全经济运行。随着高参数、大容量机组逐步参与电网调峰,机组负荷会发生大幅变动,主蒸汽温度也将承受剧烈变化[1]。优化主蒸汽温度控制方法,提高控制精度和稳定性,能够减少爆管事故的发生,提高机组变负荷快速响应能力,对于机组长期的安全、经济运行具有重要意义。
常规主蒸汽温度控制结合前馈补偿和串级系统等策略[2],采用固定参数或分段PID构造控制器,没有完全考虑主蒸汽温度在变负荷下模型变化的影响,工况复杂时还需手工操作和监督控制,严重影响了机组的经济性和安全性,可见常规控制方法在对象模型变化时,往往达不到理想效果。而自校正控制可以不断测量系统状态,进而调节控制器参数,在解决模型不确定控制问题时具有明显优势[3]。自校正控制思想最早在1958年由Kalman提出,并于1973年由Astrom等发展形成,该方法具有较好的解决非线性、多模态、变工况控制问题的能力,因而受到广泛关注并逐步得到推广应用,如文献[4]采用了自校正模糊控制策略解决多变量非线性控制问题,文献[5]提出了基于遗传算法(GA)的自校正PID用于化工过程温度控制,仿真试验结果表明,这些控制策略均比传统方法具有更好的控制效果。
本文将自校正控制方法引入直流锅炉主蒸汽温度控制中,分别采用GA和最小方差率辨识被控对象模型参数和构造控制器,以满足变负荷下的主蒸汽温度控制要求。为了使辨识过程达到较好的收敛精度和速度,对遗传算子、种群初始化方法和概率选择方式等进行了改进,并将GA引入自校正控制系统中,设计了控制算法的运算流程。最后对某超临界直流锅炉的主蒸汽温度控制进行仿真,结果表明本文所提自校正控制方法具有较快的响应速度和较强的抗干扰能力。
1 主蒸汽温度控制系统结构
超(超)临界机组主蒸汽温度具有复杂的动态特性,影响因素包括水燃比、中间点温度和减温水量等,其中喷水减温是主蒸汽温度的直接调节方式。在减温水量扰动下的主蒸汽温度θ1有较大容积迟延,而减温器出口蒸汽温度θ2有明显导前作用,因此可以将主蒸汽温度控制系统构建为以θ1为主参数、θ2为副参数的串级回路,其结构如图1所示。其中,r为参考输入,W1(s)、W2(s)分别表示主、副回路控制器、γ1、γ2分别表示主、副回路测量变送器。
图1 常规主蒸汽温度串级控制系统结构Fig.1 Normal cascading control system of main steam temperature
自校正控制是目前研究较为系统的一类自适应控制方法,它根据控制系统的期望输出、实际输出、控制作用和外部扰动等可测变量实时改变控制器参数,使系统高性能指标达到最优[6]。自校正控制系统结构如图2所示,自校正控制器主要包括模型参数估计器、控制器参数设计器和可变参数控制器3个部分。
将自校正控制策略引入主蒸汽温度串级系统中,采用GA在线辨识被控对象模型参数,并根据辨识结果设计控制器参数,其基本结构如图3所示。由于串级系统中包含主、副回路2个部分,因此需要同时辨识导前区和惰性区对象,并根据辨识结果优化主、副回路控制器参数,最终实现稳定控制。
图2 自校正控制系统原理图Fig.2 Schematic diagram of self-tuning control system
图3 主蒸汽温度串级自校正控制系统结构Fig.3 Cascading self-tuning control system of main steam temperature
2 GA的分析与改进
GA是一种全局优化搜索方法,利用随机化技术对被编码的参数空间进行高效搜索,具有简单通用、鲁棒性强和搜索效率高等优点[7],其主要内容包括编码方式、适应度函数、遗传算子、初始种群和遗传参数等。本文采用实数编码问题参数,辨识过程中采用的适应度函数为:
2.1 遗传算子
简单GA(SGA)选择算子为比例选择,其选择概率与适应度值直接相关,体现不出优秀个体的竞争力。为了使优秀个体繁殖到下一代的概率更大,又防止因其繁殖过多而造成早熟收敛的问题,本文采用线性排序选择,其个体概率计算公式为:
其中,M为群体大小;j为降序序号;η+为最佳个体期望数,η-为最差个体期望数,η++η-=2。
交叉算子通过在下一代产生新个体来保持种群的多样性,实数编码GA的交叉方法很多,以算术交叉最为简便,本文采用非均匀线性交叉[8]。设父代个体为Xt1和Xt2,则交叉后产生子代个体为:
其中,t为当前进化代数;c为比例因子,其取值在(0,1)之间随机产生。
变异算子的作用是保证种群一定程度的多样性,实数变异需要选择一定步长在父代个体的基础上进行加减运算。本文采用高斯变异算子[9],子代个体的计算公式为:
其中,N(0,σ)为高斯分布,σ为方差。为了使变异步长随遗传代数的增加而减少,本文将σ设定为动态参数 σ(t),即:
其中,T为遗传代数。
2.2 初始种群均匀设计
SGA的初始种群是随机产生的,这种方法容易造成初始种群多样性较小,不利于种群进化,从而导致过早收敛。因此,在无法预知最优解具体区域的情况下,应该使初始种群的个体均匀分布在解空间中,使种群具有较好的多样性,从而降低种群过早收敛或陷入局部最优的概率。本文采用均匀设计方法构造初始种群,先构造均匀设计表[10],再根据设计表构造初始种群。若需要辨识的参数有n个,如果设定种群大小为m,则可以构造一个n因素m水平的均匀设计表,使初始种群个体以散点形式均匀分布在n维空间中。
2.3 概率适应性选择
交叉概率Pc和变异概率Pm对GA的性能有重要影响,在SGA中通常以经验法估算,具有很大的盲目性,且固定概率不适用于种群进化特征。为了提高GA收敛精度和速度,提出了Pc和Pm的适应性选择方法。Pc初值较大,后逐渐递减;Pm初值较小,后逐渐增大。概率调整曲线采用Sigmoid函数[11],其计算公式为:
其中,Pc1为初始交叉概率,Pc2为终止交叉概率;Pm1为初始变异概率,Pm2为终止变异概率;α为形状因子,设定为20;Ns为分界点,设定为0.25。采用此概率选择方法,能够适应种群进化前期收敛快而后期收敛慢的特征,提高GA搜索性能。
3 自校正控制算法
3.1 单步输出预测模型
由于主蒸汽温度具有大滞后特性,即在主蒸汽温度串级系统惰性区对象中存在纯延时d,因此要使输出方差最小,就必须提前d步预测输出量,再根据预测值来设计控制器参数。单回路最小方差自校正控制系统结构如图 4所示[12]。
图4 最小方差自校正控制系统Fig.4 Self-tuning control system with generalized minimum variance
被控对象模型为受控的自回归滑动平均差分方程(CARMA)模型,用差分方程可以表示为:
其中,y(k)为系统输出;u(k)为控制量;ξ(k)为白噪声;d 为对象纯时延;A(z-1)、B(z-1)和 C(z-1)为被控对象和扰动对象的加权多项式。
其中,各阶次分别为 ne=d-1,ng=na-1,nf=nb+d-1。
3.2 广义最小方差控制律
广义最小方差自校正控制,在求解控制率的性能指标中引入控制量的加权项,从而抑制控制作用的剧烈变化[13],控制器目标函数设计为:
其中,E{·}表示方差计算;y(k+d)、yr(k+d)分别为k+d时刻系统实际输出及期望输出;u(k)为控制量;P(z-1)、R(z-1)和 Q(z-1)为实际输出、期望输出和控制量的加权项,分别具有改善闭环系统性能、柔化期望输出和约束控制量的作用。
在设计控制系统时,一般可取 P(z-1)=1、R(z-1)=1和Q(z-1)=q0,从而在不影响控制精度和稳定性的前提下简化运算。q0需根据实际情况加以调节,q0过小则会失去对控制作用的约束,难以保证稳定性;q0过大则无法实现最优控制。使性能指标最小的广义最小方差控制率为:
3.3 基于GA的自校正控制流程
使用GA在线辨识模型参数时,采用递推修正策略,通过辨识修正项来更新模型参数,其原理为:
步骤 2 采样当前实际输出 y(k)、期望输出yr(k+d)。
步骤 3 根据上次辨识结果估计参数范围,利用改进GA实时辨识参数修正项,通过式(16)计算,即得到,其过程分为以下几步:
b.采用均匀设计方法构造初始种群;
d.对种群进行选择、交叉和变异操作,以进化到下一代群体 P(t+1);
e.如果达到最大进化代数,则完成搜索得到最优解,否则返回步骤c。
步骤 5 利用式(15)计算控制量 u(k)。
步骤 6 令k=k+1,返回步骤2,循环计算。
对于主蒸汽温度串级系统,主、副回路采用相同流程进行控制,通过反复迭代计算,辨识不同工况下的对象模型,并根据所获模型参数调整控制器参数,从而最终实现对主蒸汽温度的稳定控制。
4 主蒸汽温度控制仿真
锅炉主蒸汽温度被控对象模型可以用多容惯性传递函数表示,当阶次较高时,也可以用带纯迟延的一阶惯性传递函数替代。仿真试验采用某600 MW超临界机组在不同工况下的主蒸汽温度模型[14](如表1所示),包括惰性区和导前区2个部分,其模型结构可以表示成式(17)、(18)形式[15]。
其中,K、T、τ分别为惰性区对象模型的比例系数、时间常数和延迟时间;K2和T1、T2分别为导前区对象的比例系数和时间常数。控制过程是将传递函数转化为差分方程形式后,对方程系数进行辨识,以便在计算过程中直接利用辨识结果。
表1 不同负荷下被控对象模型Tab.1 Models of controlled objects for different loads
使用改进GA辨识被控对象模型时,需要现对GA部分参数进行设置,以保证模型参数辨识过程具有较好的收敛精度和速度。鉴于控制过程中数据样本数量较少和在线控制对速度的要求,本文在大量实验基础上确定了GA参数设置如下:种群大小P=20;进化代数G=40;选择压力 Sp=1.6;初始交叉概率Pc1=0.6,初始交叉概率Pc2=0.9;初始变异概率Pm1=0.01,终止变异概率Pm2=0.1。
将改进GA应用于模型辨识单次测试,采用37%负荷下的惰性区模型,构造随机扰动下的数据样本,样本长度l=289,采样周期为1 s,并与SGA辨识结果进行比较。图5反映了改进GA和SGA在进行一次辨识时的目标函数进化曲线。从图中可以看出,改进GA比SGA更快找到最优解,且搜索到的目标值更好,即改进GA具有更好的收敛速度和收敛精度。
图5 GA和SGA进化曲线对比Fig.5 Comparison of evolution curves between GA and SGA
仿真试验分无噪声和有噪声2种条件进行,采用时间长度为8000 s的单位阶跃输入,采样周期为1 s,有噪条件下,在主、副回路均引入期望为0、方差为1×10-4的白噪声。对象模型采用37%、50%、75%、100%4组不同负荷下的模型,以模拟实际控制中模型随负荷变化的过程,每段负荷持续2000 s,并通过阶跃变换对负荷进行切换。考虑到现场锅炉启动时主蒸汽温度并非从0开始上升,且初始状态调节过程复杂,为尽可能模拟实际情况,仿真试验仅分析稳定运行后的调节过程和工况切换过程。
模型辨识前需对CARMA模型系数初值和修正项范围进行设定,且初值设定宜较小。主回路为一阶模型,系数初值设为 a1=0.001,b0=0.001,c1=0,系数对应修正项范围均设为[-0.01,0.01],初始延迟时间d设为 10,修正项范围设为[-10,10];副回路为二阶模型,系数初值设为 a1=a2=0.001,b0=b1=0.001,c1=0,对应修正项范围均设为[-0.01,0.01],延迟时间d=1不参与辨识。建立好初始条件后,采用改进GA实时辨识模型参数,并结合广义最小方差率完成主蒸汽温度的自校正控制过程,同时采用基于SGA的自校正控制进行对比分析,无噪和有噪条件下的仿真结果分别如图6、7所示。
图6 无噪条件下主蒸汽温度自校正控制阶跃响应Fig.6 Response of main steam temperature self-tuning control to step change(without noise)
图7 有噪条件下主蒸汽温度自校正控制阶跃响应Fig.7 Response of main steam temperature self-tuning control to step change(with noise)
从图6可以看出,无噪声扰动条件下,采用基于改进GA的自校正控制比基于SGA的自校正控制具有更稳定的控制过程,负荷切换时具有更短的调整时间,各阶段最大动态偏差也更小。改进GA在2000 s、4000 s、6000 s 3处切换点,恢复到稳定状态的调节时间分别为 523 s、228 s、137 s,最大偏差分别为 4.99%、5.88%、4.43%;SGA的3处切换点调节时间分别为873 s、1029 s、982 s,最大偏差分别为 4.99%、5.94%、6.04%,即基于改进GA的自校正控制具有更强的状态恢复能力,更能适应模型变换的影响。
从图7可以看出,有噪声扰动条件下,采用基于改进GA的自校正控制比基于SGA的自校正控制具有更小的误差。仿真过程中,改进GA的累积方差为29.8820,均方差为0.0037;SGA的累积方差为81.7789,均方差为0.0102。可见,基于改进GA的自校正控制具有更强抗干扰能力。
根据仿真分析结果可知,基于改进GA的主蒸汽温度自校正控制具有更快的响应速度,输出曲线变化趋势更为平稳,在控制过程的各阶段都实现了稳定控制,虽然在模型切换时超调增加,但又迅速回到了稳定状态,没有出现较大波动。而基于SGA的主蒸汽温度自校正控制,其调节品质相对较差,容易出现超调或者调节不足的情况。因此,采用本文所提改进GA进行主蒸汽温度自校正控制具有更好的调节品质,更能满足大型火电机组主蒸汽温度的实际控制需求。
5 结语
本文针对变负荷下直流锅炉主蒸汽温度被控对象模型不确定的特点,设计了减温水扰动下的主蒸汽温度串级自校正控制方法。在自校正控制系统中,引入改进GA实时估计模型参数,并采用最小方差控制率实现稳定控制。通过对某超临界机组在变负荷下的主蒸汽温度控制仿真结果表明,本文所提改进GA具有较好的收敛精度和速度,基于改进GA的自校正控制具有较好的调节品质,能够满足变负荷下的主蒸汽温度控制需求,且该算法计算机实现容易,在实际控制中可以通过C语言和组态语言联合编程实现在线应用。