基于神经网络的预测控制模型仿真

2实际输出和仿真输出神经对象输出效果神经网络仿真输出效果10-1-200.10.20.30.40.5times0.60.70.80.910.50error-0.5-1-1.5-200.10.20.30.40.5times0.60.70.8误差0.91

图2-1 神经网络仿真图

3.动态矩阵控制

DMC算法分为三部分:预测模型、滚动优化和反馈校正。

3.1 预测模型

在DMC算法中,首先需要测定对象单位阶跃响应的采样值ai?a(iT),i=1,2,??。其中,T为采样周期。对于渐进稳定的对象,阶跃响应在某一tN?NT,后将趋于平稳,以至ai(i>N)与aN的误差和量化误差及测量误差有相同的数量级,因而可认为,aN已近似等于阶跃响应的稳态值aS?a(?)。这样,对象的动态信息就可以近似用有限集合?a1,a2??aN?加以描述。这个集合的参数构成了DMC的模型参数,向量a=?a1,a2??aN?称为模型向量,N称为模型时域长度。

虽然阶跃响应是一种非参数模型,但由于线性系统具有比例和叠加性质,故利用这组模型参数?ai?,已足以预测在任意输入作用下系统在未来时刻的输出值。在t=kT时刻,假如控

制量不再变化时系统在未来N个时刻的输出值为

~y0(k?1k),~y0(k?2k),??,~y0(k?Nk),那么,在控制增量?u(k)作用后系统的输出可

yN1(k)?~yN0(k)?a?u(k) (3-1) ~?~y0(k?1k)???yN0(k)???预测,其中~?表示在t=kT时刻预测的尚无?u(k)作用时未来N个时刻

?~?y(k?Nk)0???~y1(k?1k)???yN1(k)???的系统输出。~?表示在t=kT时刻预测的有控制增量?u(k)作用时未来

?~??y1(k?Nk)??a1???N个时刻的系统输出。a????为阶跃响应模型向量,其元素为描述系统动态特性的N个阶

??aN??跃响应系数。式中,上标~表示预测,k?ik表示在t=kT时刻预测t=(k+i)T时刻。

同样,如果考虑到现在和未来M个时刻控制增量的变化,在t=kT时刻预测在控制增量

?u(k),?,?u(k?M?1)作用下系统在未来P个时刻的输出为

yPM(k)?~yP0(k)?A?uM(k) (3-2) ~?~y0(k?1k)???yP0(k)???式中~?为t=kT时刻预测的无控制增量时未来P个时刻的系统输出。

?~??y0(k?Nk)??~yM(k?1k)???~yPM(k)????u(k?M?1)时?为t=kT时刻预测的有M个控制增量?u(k),??,?~?y(k?Pk)M????u(k)???为从现在起M个时刻的控制增量。

未来P个时刻的系统输出。?uM(k)???????u(k?M?1)???a10?0??aa?0?21?称为动态矩阵,其元素为描述系统动态特性的阶跃响应系数。 A??????????aa?a?p?M?1??pp?1?3.2 滚动优化

DMC是一种以优化确定控制策略的算法。在采样时刻t=kT的优化性能指标可取为

2minJ(k)??qi[?(k?i)?~yM(k?ik)]2+?rj?u(k?j?1) (3-3)

i?1PMj?1即通过选择该时刻起M个时刻的控制增量?u(k),?,?u(k?M?1),使系统在未来P

~~(N?P?M)个时刻的输出值yM(k?1k),?,yM(k?Pk) 尽可能接近其期望值

?(k?1),??(k?P)。性能指标中的第二项是对控制增量的约束,即不允许控制量的变

化过于剧烈。式中,qi,rj为权系数,P和M分别称为优化时域长度和控制时域长度。

显然,在不同时刻,优化性能指标是不同的,但其相对形式却是一致的,都具有类似于(3-1)的形式,所谓“滚动优化”,就是指优化时域随时间不断地向前推移。

引入向量和矩阵记号

??(k?1)??, Q=diag(q,?,q), R=diag(r,?,r)

?p(k)???1PM1?????(k?P)??则优化性能指标式(2-1)可改写为

minJ(k)??p(k)?~yPM(k)式中,Q, R分别称为误差权矩阵和控制权矩阵。

2Q??uM(k)R (3-4)

2在不考虑输入输出约束的情况下,在t=kT时刻,?p(k),yp0(k)均为己知,使J(k) 取最小的?uM(k)可通过极值必要条件

dJ(k)求得

d?uM(k)?uM(k)?(ATQA?R)?1ATQ(?p(k)?~yp0(k)) (3-5)

这就是t=kT时刻解得的最优控制增量序列。由于这一最优解完全是基于预测模型求得的因而是开环最优解. 3.3 反馈校正

由于模型误差、弱非线性特性及其它在实际过程中存在的不确定因素,按预测模型式(3-2)得到的开环最优控制规律式(3-5)不一定能导致系统输出紧密地跟随期望值,它也不能顾及对象受到的扰动。为了纠正模型预测与实际的不一致,必须及时地利用过程的误差信息对输出预测值进行修正,而不应等到这M个控制增量都实施后再作校正。为此,在t=kT时刻首先实施?uM(k)中的第一个控制作用 ?u(k)=c?uM(k)?

TcT(ATQA?R)?1ATQ??P(k)?~yP0(k)?? (3-6) T~d?(k)?y(k)?pP0?u(k)?u(k?1)??u(k) (3-7)

其中

cT?(10?0)

dT?cT(ATQA?R)?1ATQ?(d1d2?dP) (3-8)

由于?u(k)已作用于对象,对系统未来输出的预测便要叠加上?u(k)产生的影响,即由式

yN1(k)。到下一个采样时刻t=(k+1)T,不是继续实施最优解?uM(k)中的第二个(2-1)算出~分量?u(k?1),而是检测系统的实际输出y(k + 1),并与按模型预测算得的该时刻输出,

y1(k?1k)进行比较,构成预测误差。 yN1(k)中的第一个分量~即~e(k?1)?y(k?1)?~y1(k?1k) (3-9)

这一误差反映了模型中未包含的各种不确定因素,如模型失配、干扰等。由于预测误差的存在,以后各时刻输出值的预侧也应在模型预测的基础上加以校正,这些未来误差的预测,可通过对现时误差e(k+ 1) 加权系数hih,(i =1,2,?,N )得到

~ycor(k?1)?~yN1(k)?he(k?1) (3-10)

?~ycor(k?1k?1)???ycor(k?1)???式中~?为t=(k+1)T时刻经误差校正后所预测的系统在

?~?y(k?Nk?1)cor???h?1t=(k+i)T(i=1,?,N)时刻的输出.h??????hN???为误差校正向量,其中,h1 =1。 ???ycor(k?1)的各分量中。除第一项外.其余各项分别是t=(k+1)T时刻在尚无经校正后的~?u(k?1)等未来控制增量作用时对输出在t=(k+2)T,?,(k+N)T时刻的预测值,它们可作为

yN0(k?1)的前N一1个分量,即 t=(k+1)T时刻~~y0(k?1?ik?1)?~ycor(k?1?ik?1),i=1,?,N-1

yN0(k?1)中的最后一个分量。即t=(k+1)T时刻对i=(k+1+N)T输出的预测,可由而~~y0(k?Nk?1)来近似,即~y0(k?Nk?1)=~ycor(k?Nk?1),上述关系可用向量形式表

~yN0(k?1)?S?~ycor(k?1) (3-11)

联系客服:779662525#qq.com(#替换为@)