基金项目:福建省自然科学基金(2015J01275); 福建省教育厅省属高校科研项目(JK2015034)
通信作者:jiangyinhuang@xmut.edu.cn
(School of Electrical Engineering and Automation,Xiamen University of Technology,Xiamen 361024,China)
nonlinear systems; non-steady state; linear parameter varying(LPV)model; circulation fluidized bed boiler
DOI: 10.6043/j.issn.0438-0479.201608005
针对无稳态非线性系统,提出2种线性变参数(linear parameter varying,LPV)模型辨识方法.对于线性权重LPV模型,结合高斯牛顿法和最小二乘法对局部线性模型的参数寻优; 对于高斯权重LPV模型,采用Narendra-Gallman算法并根据参数与优化目标之间的关系,将参数分为线性部分和非线性部分并进行交替迭代.通过对循环流化床锅炉实际工业系统的建模结果和实测结果对比验证了所提算法的有效性.与带稳态LPV模型相比,3个主要输出蒸汽压力、蒸汽温度和炉膛温度均获得较好的输出拟合效果,最优匹配率分别提高52.8%,21.1%和32.2%以上.验证了所提算法在复杂工业非线性对象建模上的有效性和实用性.
Two kinds of identification methods of the linear parameter varying(LPV)models for the nonlinear systems without steady states are both proposed in this paper.For the LPV model with linear weights,because parameters only exist in the local linear models,Gauss-Newton method and least square method are combined to estimate all parameters.For the LPV model with Gaussian weights,parameters exist in both weighting functions and local linear models.Narendra-Gallman method is used to estimate parameters.In the method,all parameters are divided into linear and nonlinear parts according to the relationship between them and optimization objectives.Then these two parts are estimated using the alternating iterative method.The proposed algorithm is validated by identifying an industrial circulation fluidized bed boiler.The outputs of the LPV model and real process of three main outputs:steam pressure,steam temperature and furnace temperature are analyzed and compared.Best fittings of these outputs are increased by 52.8%,21.1% and 32.2% respectively,confirming the validity and practicability of the algorithm in the identification field of complex nonlinear industrial processes.
近年来,尽管计算机技术和先进辨识算法取得了长足进步,但是所提出的先进算法在工业现场的实际应用中却始终存在局限.其中最主要的原因是大多数工业过程具有其特有的、复杂的随机非线性特性,且包含扰动因素,限制了辨识算法的应用[1].历经几十年的研究,针对非线性系统的辨识手段发展出了多种思路.较早的思路是首先根据系统运行原理构造机理模型,随后采用预测误差法[2]、非线性最小二乘法[3]等估计待定机理模型中的参数.这种思路的优势在于模型结构符合系统运行特性,弊端在于构造机理模型时需要对建模对象的运行原理和动态特性有充分的认识,且模型往往由若干复杂微分方程构成,不便于控制,所以此类模型的主要用途在于系统仿真和运行特性分析.为简化模型结构使其能够用于在线控制,一类基于数据驱动的建模方法应运而生,如神经网络模型[4]、支持向量机模型[5]等.此类算法无需工业对象的先验知识,模型结构较为简单,但忽略了对建模对象固有运行特性的分析,在物理意义上与实际模型差别较大.还有一类辨识方法通过多模型的组合构建动态模型来适应复杂工业对象的时变非线性特性,在保证模型尽量符合系统动态特性和输入输出物理关系的前提下,降低辨识和控制难度,如最大期望算法[6]和线性变参数(linear parameter varying,LPV)模型[7]等.Zhu等[8]对LPV模型结构做了改进,提出了针对带稳态非线性系统的辨识算法,将所有待定参数集中在局部模型权重端,大大降低了辨识难度,同时保证了LPV模型在系统整个运行轨迹上的稳定性.然而该算法要求建模对象的运行轨迹由若干稳态和过渡阶段构成,对于常见的间歇化工过程,如精细化工、生物制品、农产品深加工等,由于生产过程不含稳态,该算法不再适用.此类无稳态过程的非线性程度更强,控制精度对模型质量也提出了更高的要求,其建模手段逐渐受到学术界的广泛关注,近年来涌现的方法包括混合逻辑动态优化[9]以及机理建模方法[10]等,但这些模型存在着模型物理意义与实际系统差别较大、无法保证全局稳定性、难以用于控制等缺点.本研究以文献[8]为基础,研究了无稳态非线性系统的建模问题,提出局部模型和权重函数均含待定参数的无稳态LPV模型结构,并结合高斯牛顿法和最小二乘法进行参数交替迭代寻优的思路,进而以工业循环流化床锅炉作为研究对象,验证所提算法的有效性.
Zhu等[8]提出了一种简化的基于多模型插值的LPV模型结构.其主要思想是:若建模对象的操作轨迹由若干稳态阶段及过渡阶段构成,假定稳态阶段系统模型可近似为线性模型,则系统LPV模型由各稳态阶段的线性模型插值构成.模型权重取决于当前系统运行状态,并由“操作变量”定量描述,所选操作变量是系统中可测或可算变量,要求能够充分反映系统运行状态,即在稳态阶段,其值近似恒定; 在过渡阶段,其值逐渐过渡到另一个相对定值.实践中根据建模对象的非线性复杂程度,一般选择1~2个操作变量进行建模.以m个输入单输出系统为例,记w1(t)和w2(t)为系统的两个操作变量t时刻的取值,假设该系统运行轨迹上共有n1×n2个相对稳态(工作点),其中wi1(i=1,2,…,n1)表示w1(t)上第i个稳态值,wj2(j=1,2,…,n2)表示w2(t)上第j个稳态值.则所有工作点处对应的操作变量值分别为:
[w11,w12],[w11,w22],…,[w11,wn22],…,
[wn11,wn22].
对于带稳态的非线性系统,基于多模型插值的LPV模型输出(^overy)(t)由式(1)计算:
(^overy)(t)=∑n1i=1∑n2j=1αi,j(wi1,wj2)(^overy)i,j(t),(1)
其中,模型权重αi,j(wi1,wj2)是关于两个操作变量的实函数,(^overy)i,j(t)为在稳态工作点[wi1,wj2]处辨识得到的局部线性模型输出.为方便讨论,进一步假设同工作点上的所有线性模型分母相同,且分子分母阶次均为r,将(^overy)i,j(t)细化为式(2):
(^overy)i,j(t)=(^overG)i,j1(q)u1(t)+…+(^overG)i,jm(q)um(t)=
1/(Ai,j(q))[Bi,j1(q)u1(t)+…+Bi,jm(q)um(t)],(2)
其中,(^overG)i,jk(k=1,2,…m)为输出与输入uk(t)之间的传递函数; Ai,j(q)和Bi,jk(q)分别为(^overG)i,jk 的分母和分子,q为单位滞后因子,且满足式(3):
Ai,j(q)=1+ai,j1 q-1+…+ai,jr q-r,
Bi,jk(q)=bi,j,k1 q-1+…+bi,j,kr q-r,(k=1,2,…,m).(3)
此类LPV模型的最大优点在于:根据线性系统叠加定理,只要局部线性模型稳定,则可以保证LPV模型的全局稳定性; 同时,确定局部线性模型后,后续无需对其进行迭代优化,大大降低了辨识难度.但该算法也存在明显局限性,即要求建模对象运行轨迹必须包含相对稳态阶段,才能辨识局部线性模型.对于无稳态过程的对象,如Batch过程,此算法将失效.本研究在此基础上,采用相同的LPV模型结构,探讨无稳态非线性系统的LPV模型辨识问题.
线性函数、多项式函数和高斯函数是最常见的3种LPV模型权重形式.其中,传统多项式权重由于没有对权重值做限制,容易造成插值后LPV模型增益方向错误.虽然这个缺点可以通过增加约束解决[11],但辨识过程中引入了若干拉格朗日乘子,加大了寻优难度,若用于无稳态系统的LPV模型中,将使LPV模型的权重部分和局部模型部分均面临复杂寻优问题,为保证辨识算法的实用性,本研究只讨论基于线性权重和高斯权重的LPV模型辨识算法.
对于无稳态非线性系统,局部线性模型无法通过稳态点上数据辨识确定,需进行寻优.双操作变量LPV模型的线性权重形式已在文献[12]中进行推导并给出计算公式,在此不做赘述.线性权重中无待定参数,可直接由当前操作变量值w1(t)、w2(t)确定,所以,辨识无稳态对象的线性权重LPV模型仅需对局部线性模型进行寻优.在式(2)和(3)中,记θ=[a1,11 …a1,1r,b1,1,11 …bn1,n2,mr]为待定参数序列,N为采样数据长度,则θ可通过极小化LPV模型的输出误差εOE(t)来求解:
(^overθ)=argminθ ∑Nt=r+1εOE(t)2=
argminθ∑Nt=r+1[y(t)-(^overy)(t)]2,(4)
其中,y(t)为系统实际输出,将式(1)和(2)代入(^overy)(t)可得
y(t)-(^overy)(t)=y(t)-∑n1i=1∑n2j=1αi,j(wi1,wj2)(^overy)i,j(t)=y(t)-∑n1i=1∑n2j=1αi,j(wi1,wj2)1/(Ai,j(q))
[Bi,j1(q)u1(t)+…+Bi,jm(q)um(t)]=y(t)-∑n1i=1∑n2j=1αi,j(wi1,wj2)
([(bi,j,11 q-1+…+bi,j,1r q-r)u1(t)+…+(bi,j,m1 q-1+…+bi,j,mr q-r)um(t)])/(1+ai,j1 q-1+…+ai,jr q-r).(5)
从式(5)可看出,由于线性权重没有待定参数,所有待定参数均集中在局部线性模型中,并且,ai,jk(k=1,2,…,r)与εOE呈非线性关系,必须采用非线性数值计算方法求解式(4)的优化命题.在此采用高斯牛顿法[13]和最小二乘法相结合的方法进行迭代求解.在每一次迭代中,令式(4)中的εOE(t)在局部最优解附近进行近似泰勒展开,通过求偏导实现待定参数和输出误差之间关系的线性化,随后进行最小二乘解的计算确定下一组待定参数,直至输出误差小于某阈值.具体算法如下:假设(^overθ)kModel 是第k次迭代获得的模型参数序列[a1,1(k)1 …a1,1(k)r,b1,1,1(k)1 …bn1,n2,m(k)r],且接近全局最优解.忽略泰勒展开式中的高次项,则输出误差可近似为
εOE(t,θModel)≈ε(t,(^overθ)kModel)+
(ε(t,θModel))/(θTModel)〖JB>2|〗θ=(^overθ)k(θModel-(^overθ)kModel)=
ε(t,(^overθ)kModel)+φk(t)(θModel-(^overθ)kModel)=
-[φk(t)(^overθ)kModel-ε(t,(^overθ)kModel)]+φk(t)θModel,(6)
其中,
φk(t)=(ε(t,θModel))/(θTModel)〖JB>2|〗θModel=(^overθ)kModel=
[(ε(t,θModel))/(a1,11 )〖JB>2|〗(^overa)1,1(k)1…(ε(t,θModel))/(an1,n2r )〖JB>2|〗(^overa)n1,n2(k)r(ε(t,θModel))/(b1,1,11 )〖JB>2|〗b1,1,1(k)1…(ε(t,θModel))/(bn1,n2,mr )〖JB>2|〗bn1,n2,m(k)r]=
[α1,1(w11,w12)(B1,1(k)1(q)u1(t-1)+…+B1,1(k)m(q)um(t-1))/(A1,1(k)(q)2)
αn1,n2(wn11,wn22)(Bn1,n2(k)1(q)u1(t-r)+…+Bn1,n2(k)m(q)um(t-r))/(An1,n2(k)(q)2)
-α1,1(wn11,wn22)1/(A1,1(k)(q))u1(t-1)
-αn1,n2(wn11,wn22)1/(An1,n2(k)(q))um(t-r)]T.(7)
处理后,ai,jk(k=1,2,…,r)与εOE(t)呈线性关系,可直接用最小二乘法求解.将式(6)~(7)代入式(4),结合最小二乘解式,推导得待定参数序列的下一步估计值为
(^overθ)k+1Model=
[∑Nt=r+1[φk(t)]Tφk(t)]-1∑Nt=r+1[φk(t)]T
[φk(t)(^overθ)kModel-ε(t,(^overθ)kModel)]=(^overθ)kModel-
[∑Nt=r+1[φk(t)]Tφk(t)]-1∑Nt=r+1[φk(t)]Tε(t,(^overθ)kModel).(8)
数次迭代之后,当输出误差小于某个设定的阈值时,即可停止迭代.
上述算法的有效性很大程度取决于待定参数的初值.若初值能够尽可能接近局部最优解,则式(6)的近似误差较小,能够在有限次数内结束迭代.若初值与最优解偏差较大,则难以保证算法的收敛性.在实际应用时,为提高初始局部模型的精度,在无稳态阶段的情况下,应尽量截取所选工作点附近的数据片段进行辨识.常规的线性模型辨识手段均可用于局部模型的初始建模.
双操作变量的高斯权重可记为
αi,j(wi1,wj2)=exp[-1/2(((w1(t)-wi1)/(σ1i,j ))2+
((w2(t)-wj2)/(σ2i,j ))2)],(9)
其中σ1i,j 和σ2i,j是分别对应2个工作点变量的待定分离系数.
与线性权重不同,高斯权重中含有待定参数,故若继续采用式(4)进行参数寻优,则待定参数包含2部分,一部分在权重函数中,另外一部分在局部模型中,且高斯权重的待定参数在指数函数的分母上,显著加大了求解难度.针对此问题,可采用Narendra-Gallman算法[14]求解.该方法的基本思想是,根据待定参数与优化命题的关系,将待定参数分为线性部分和非线性部分,每次迭代分为2步:先固定非线性部分,优化线性部分; 再固定线性部分,优化非线性部分.已有文献证明该方法是处理复杂线性、非线性混合优化命题的有效方法,且具有鲁棒性强、收敛性强的优点.本研究将其应用于无稳态系统的高斯权重LPV模型辨识中,具体步骤如下:
1)确定待定参数初值、迭代结束阈值.
待定参数包括各工作点处的高斯函数分离系数,以及局部线性模型的分子分母系数.其中,根据高斯函数图像特性以及LPV模型的结构特点,分离系数初值设为相邻操作变量值的1/3,如σ11,1 的初值设为(w21-w11)/3; σ21,1 的初值设为(w22-w12)/3.对各组局部线性模型的初值,则选择对应工作点附近的数据进行辨识.设置足够小的正数ε作为迭代结束阈值,当LPV模型输出误差小于ε时停止迭代.设置迭代计数器初值nCount=1.
2)固定优化命题的非线性部分,优化线性部分.
同样采用式(4)作为优化命题.所有待定参数中,局部模型分子上的参数[b1,1,11 …bn1,n2,mr]与εOE呈线性关系,权重参数[σ11,1,σ21,1,…σ1n1,n2,σ2n1,n2]以及局部模型分母参数[a1,11 …a1,1r]与εOE呈非线性关系.按照Narendra-Gallman算法思路,保持非线性部分不变,仅优化线性部分.记当前局部模型分子参数序列为(^overθ)(k)B=[b1,1,1(k)1,…,bn1,n2,m(k)r],直接采用最小二乘法进行优化,得:
(^overθ)(k+1)B=[ΦTΦ]-1ΦTY,(10)
其中,
Y=[y(r+1)
y(r+2)
y(N)],Φ=[(α1,1(w11,w12)u1(r))/(A1,1(k))(α1,1(w11,w12)u1(r-1))/(A1,1(k))…(αn1,n2(wn11,wn22)um(1))/(An1,n2(k))
(α1,1(w11,w12)u1(N-1))/(A1,1(k))(α1,1(w11,w12)u1(N-2))/(A1,1(k))…(αn1,n2(wn11,wn22)um(N-r))/(An1,n2(k))].
3)固定优化命题的线性部分,优化非线性部分.
从理论角度,应保持2)计算出的(^overθ)(k+1)B不变,同时优化剩余的高斯权重参数和局部模型分母参数.然而,经过多次实验表明,由于没有对局部模型分母参数做约束,寻优过程中难以保证局部模型的稳定性,从而影响了插值后LPV模型的稳定性.为确保各局部模型的稳定性,在此仅优化权重参数.很多数值计算方法都可以用来优化权重参数,如最速下降法等.在本步骤中进行内层迭代,每次迭代通过对权重参数序列求偏导,计算负梯度向量并由此确定搜索方向.
4)用式(4)计算LPV模型输出误差VNOE.若VNOE<ε则停止迭代; 反之令nCount=nCount+1,返回2).
值得注意的是,若系统仅含有一个操作变量,1.1节和1.2节的所有算法和步骤依然适用.辨识时仅需删去权重函数的其中一维,减少对应的待定参数即可.
本节以工业循环流化床锅炉系统为实例,辨识其不同权重下的LPV模型,验证第1节提出的辨识算法的有效性.图1为该系统的运行原理图.该锅炉以煤作为主要原料,通过煤渣在炉膛中燃烧产生热量,加热常温水而获得最终产品水蒸汽.系统运行过程中,一次风和
二次风分别从炉膛的底部和中部吹入,以保证原料在炉膛中循环流动并充分燃烧; 同时,通过引风机抽走炉膛气体,保证锅炉内部压力平衡.文献[15]以给煤机转速、一次风量、二次风量、回料风量、引风量共5个变量作为输入变量; 出口氧气含量、炉膛压力、炉膛温度、蒸汽压力和蒸汽温度共5个变量作为被控变量; 选取蒸汽流量作为唯一操作变量,将系统运行状态划分为高负荷阶段和低负荷阶段,采用带稳态阶段的辨识算法获得了一组多变量LPV模型,为本研究奠定了重要基础.然而,该流化床锅炉系统并非严格的“带稳态”系统,从采集到的蒸汽流量数据来看,即使在相同负荷等级下,蒸汽流量依然呈现较大波动,而并非大致保持稳定.在高低负荷阶段分别辨识一组局部线性模型后,未经优化直接插值,虽然辨识难度较低,但由于局部模型本身误差较大,直接影响了插值后LPV模型的精度,导致其中3个输出的拟合误差均较大,从而也影响了后续控制的效果.本节将采用第1节提出的无稳态LPV模型辨识算法,通过LPV模型权重部分和模型部分的交替寻优反复迭代,进一步增加局部线性模型以及LPV模型的准确性.为方便建模效果的对比,辨识所用原始数据以及选择的输入和输出变量均与文献[15]相同.即在不影响正常工业生产的前提下,在系统输入端分别叠加小幅值广义二进制噪声进行4.5 d连续不间断的数据采集,采样周期为1 min.通过对运行数据的分析以及与现场工程师交流得知,出口蒸汽流量的波动源于白天和夜晚产量的不同,并且是造成系统非线性的主要因素,系统的其他变量均随着蒸汽流量的变化而做出相应调整,将其作为唯一的操作变量.图2为蒸汽流量原始采样数据,由于数据历时4.5 d,从图中可看出处于白天的高负荷和处于夜晚的低负荷阶段交替进行,各出现5次.根据低、中、高负荷选择如下3个典型工作点:
工作点1:蒸汽流量=20 m3/h;
工作点2:蒸汽流量=30 m3/h;
工作点3:蒸汽流量=40 m3/h.
将所有采样数据分成2个部分:第1~22 000个采样数据用于辨识LPV模型; 剩下18 000个采样数据用于模型验证.选择上述工作点附近的对应原始数据进行局部模型辨识,即:选取蒸汽流量在[15,25]范围内的数据用于辨识工作点1的初始线性模型; 选取蒸汽流量在[25,35]范围内的数据用于辨识工作点2的模型; 选取蒸汽流量在[35,45]范围内的数据用于辨识工作点3的模型.辨识采用渐进辨识算法[16]和对应的MATLAB链接库进行,该链接库能够方便地进行多输入多输出系统的线性模型辨识,将辨识出的模型进行降阶,并对分母做归一化处理,方便后续LPV模型的插值计算.在本例中,令所有局部线性模型降为3阶,同时令相同工作点上所有模型的分母相同.以2.1节辨识获得的线性模型,作为式(1)中LPV模型中局部模型初值分别用1.1和1.2节所提方法,构建基于线性权重和高斯权重的LPV模型.文献[15]的结果中,不管采用何种权重,5个输出中蒸汽压力、蒸汽温度和炉膛温度的拟合效果很差,在此着重对这3个输出进行对比.由于2种权重值略有不同,寻优后的局部线性模型也不尽相同,但增益大小总体相差不大.基于线性权重的LPV模型中,所有待定参数均集中在局部模型中,由于共有5个输入且为3阶模型,故每个输出对应的LPV模型待定参数总数=输入个数×模型分子参数×工作点数=5×3×3=45; 以蒸汽压力为例,寻优共经过132次迭代结束.基于高斯权重的LPV模型中,待定参数分布于权重部分和局部模型中,故每个输出对应的LPV模型待定参数总数比基于线性权重的LPV模型多3个,共48个; 蒸汽压力的寻优共经过356次迭代结束.虽然待定参数仅相差3,但由于Narendra-Gallman算法在每次迭代中需要进行线性部分和非线性部分的交替寻优,在优化非线性部分时还引入了最速下降法,最终寻优时间远大于基于线性权重的LPV模型.图3为2种LPV模型在3个输出的拟合曲线.从图中可以看出,2种权重的LPV模型输出均能够较好地拟合实际值.为使比较结果更为直观,表1对比了文献[15]中带稳态LPV模型和本文中无稳态LPV模型的最优匹配率RBFT:
RBFT=100%×max(1-(=y(t)-(^overy)(t)=2)/(=y(t)-(-overy)=2),0),(11)
其中,(-overy)为系统输出均值.
综合考虑图3和表1的对比结果,用无稳态LPV模型对循环硫化床锅炉进行建模,获得了比带稳态LPV模型更好的拟合效果和最优匹配率,3个输出的最优匹配率均有了显著的提高.这是因为该锅炉运行过程中,造成非线性的主要因素,即蒸汽流量的波动无明显稳态,尤其在高负荷阶段,蒸汽流量在35~50 m3/h范围内持续并快速变化(如图2所示),系统运行模型也随之发生改变.采用带稳态LPV模型对其建模时,分别截取了高、低负荷附近的数据辨识局部模型并直接参与插值,局部模型本身带有较大的误差,后续虽调整模型权重仍不足以消除这些误差,导致最终拟合效果不尽如人意; 而采用无稳态LPV模型时,辨识过程中不仅调整了局部模型权重,同时也对局部线性模型参数做了优化,使局部模型更加精确,使得整体LPV模型获得更好的拟合效果.在均采用无稳态LPV模型的前提下,由于高斯函数和线性函数的图像形式和权重值均相似,采用高斯权重并没有比采用线性权重获得明显更好的效果.由于在辨识过程中,高斯权重LPV模型的寻优难度和耗费时间远大于线性权重LPV模型,故针对此系统,采用基于线性权重的无稳态LPV模型建模是较为合适的选择.
本研究中主要探讨无稳态非线性系统的LPV模型辨识问题,推导并给出了基于线性权重和高斯权重的LPV模型辨识算法.与带稳态非线性系统LPV模型辨识方法不同,无稳态系统的LPV模型无法用稳态点上的数据辨识局部模型并直接参与插值,需先截取典型工作范围内的数据辨识初始局部模型,并在后续进行优化,这一特点极大增加了建模的难度.对于线性权重的LPV模型,权重值无需寻优,本研究采用高斯牛顿法和最小二乘法结合的方式,在每次寻优中通过模型误差的近似泰勒展开使待定参数和优化目标呈线性关系,随后采用最小二乘法进行求解.对于高斯权重的LPV模型,权重部分和局部模型部分均存在待定参数,采用Narendra-Gallman算法,按照与优化目标关系将待定参数分为线性部分和非线性部分,每次迭代固定其中一部分,优化另一部分.通过对工业实例循环流化床锅炉进行建模验证所提算法的有效性,选择蒸汽流量作为操作变量,辨识5个输入3个输出的LPV模型.通过模型输出拟合效果以及最优匹配率对比可知,采用无稳态LPV模型对该系统进行建模,获得了比采用带稳态LPV模型更好的结果.在所考量的3个主要输出中,带稳态LPV模型均出现较低匹配率,甚至蒸汽压力的匹配率仅有2.4%,而无稳态LPV模型则最优匹配率均在53.8%以上.另外,2种无稳态LPV模型相比,虽然高斯权重获得了比线性权重略好的匹配率,但寻优难度大且需消耗大量时间,在实用性上不如采用线性权重.