[摘 要] 利用非线性激励函数的局部线性表示,提出一种可用于非线性过程的基于神经网络模型的约束广义预测控制算法。该算法将非线性搜索转化为只对当前控制增量的约束,避免了非线性优化求解,并不需要很多的计算量。文中给出了仿真结果。
[关键词] 神经网络模型;广义预测控制;非线性过程;约束
1 引 言
由于广义预测控制(gpc)[1、2]具有预测模型、滚动优化和反馈校正三个基本特征,因而具有优良的控制性能和鲁棒性,它被认为是具有代表性的预测控制算法之一,已大量应用于工业过程中。对于非线性系统,由于很难得到精确的模型,这对研究非线性gpc是不利的。80年代中期以来,用神经网络来描述非线性系统并对其进行控制已成为国际上的研究热点之一,而把神经网络应用于预测控制研究近年来也逐渐的增多了。已经出现了很多基于神经网络的预测控制算法。
然而,对于约束预测控制的研究则更有意义,目前,对于线性系统和非线性系统的约束预测控制都进行了大量的研究。文献[3]给出了线性系统的一种约束预测控制算法。文中提出利用非线性激励函数的局部线性表示,将非线性多步预测转化为一系列的局部线性多步预测,并将文献[3]的方法推广到非线性系统,得到了一种非线性系统约束广义预测控制算法,并给出了仿真结果。
2 非线性系统的模型及其表示
考虑以下被控系统
其中:n,m分别为时间序列{y(t)}和{u(t)}的阶次,d+1为系统的时滞。
该系统可以用3层bp神经网络表示为
为层与层之间的连接权,输入结点为n+m个,隐层结点为i个,输出结点为1个,g为激励函数
则有,y(t)=g[s3(t)],利用泰勒展开,其中心点设为s31,得到下式
这里θ(t)代表向量(y(t-1),…,y(t-n),u(t-d-1),…,u(t-d-m)),ε1是函数符号。并且定义θ(t+i)为:(y(t+i-1),…,y(t+i-n),u(t+i-d-1),…,u(t+i-d-m)),同理,对g[s2i(t)]也类似处理,设中心点为s2i(i=1,2,…,i),则有
其中,ε2 i(i=1,…,i)也是函数符号,并可令常数s31,s2i(i=1,2,…,i)为零。
将式(2—7)代入式(2—6),并将非线性部分ε1(θ(t)),ε2 i(θ(t))(i=1,…,i)合并成ε(θ(t)),从而有
为书写简便,令式(2—8)中的第二项为n,第一
把y(t)写成离散差分方程形式
至此,已将该非线性系统分成了两部分:线性部分和非线性部分,其线性部分系数由式(2—12)求取。
当取g(x)的中心点为零时,g′(0)=0.25,则式(2—10)中mi为0.0625 w3(i)。
3 控制系统设计
3.1 输出预测
注意到n为常数,式(2—11)可写为
将预测输出分成3部分,一部分取决于过去的输入和输出,用yp表示。另一部分取决于现在和未来的输入,表示为gu。第三部分包括非线性误差e1和反馈校正项e2,其中e2包含p个y(t)-(t),因此得到
这里预测时域和控制时域均为p,y(t)为实际输出,(t)为神经网络模型输出。由于yp是系统的自由输出,因此它可由其神经网络模型计算。而g中的元素计算如下
其中,α为输出柔化系数,ys为设定值。
3.2 控制输入柔化系数
控制输入柔化系数β体现在下式中
其中β≥0,通常β≤1。
3.3 控制算法
由式(3—2)、(3—5),得
控制输入和其增量的约束为
为
另外,分别设参考轨迹向量和目标函数为
(3-13)
其中:ktk为标量。最终的控制增量为
从而得到控制律
u(t)=u(t-1)+δu(t)(3—15)
由于系统为非线性的,因此式(3—6)中的e1是未知的,文中采取迭代求取控制律,算法为
其中,e10为e1的初始值,δu(t)0为δu(t)的初始值,下标j代表各分量第j步的值。而ymj为求出的δu(t)j代入神经网络模型而求出的输出,δ∈(0,1)。当y=ym时,求出的δu(t)为最优控制。若足够小,则可认为δu(t)j+1为控制律。
现将文中算法归纳如下:
(1)用输入输出样本对神经网络进行一段时间的离线训练,得到权值的初值;
(2)读取系统输出y(t),辨识网络的权值;
(3)利用第2章的方法得到系统的线性表示;
(4)计算系统的自由输出yp;
(5)用式(3—12)计算参考轨迹;
(6)用式(3—15)求取控制量,进行控制;











