基于神经网络的预测控制模型仿真摘要:本文利用一种权值可以在线调整的动态BP神经网络对模型预测误差进行拟合并与预测模型一起构成动态组合预测器,在此基础上形成对模型误差具有动态补偿能力的预测控制算法。该算法显著提高了预测精度,增强了预测控制算法的鲁棒性。关键词:预测控制神经网络动态矩阵误差补偿1.引言动态矩阵控制(DMC)是一种适用于渐近稳定的线性或弱非线性对象的预测控制算法,目前已广泛应用于工业过程控制。它基于对象阶跃响应系数建立预测模型,因此建模简单,同时采用多步滚动优化与反馈校正相结合,能直接处理大时滞对象,并具有良好的跟踪性能和较强的鲁棒性。但是,DMC算法在实际控制中存在一系列问题,模型失配是其中普遍存在的一个问题,并会不同程度地影响系统性能。DMC在实际控制中产生模型失配的原因主要有2个,一是诸如建模误差、环境干扰等因素,它会在实际控制的全程范围内引起DMC的模型失配;二是实际系统的非线性特性,这一特性使得被控对象的模型发生变化,此时若用一组固定的阶跃响应数据设计控制器进行全程范围的控制,必然会使实际控制在对象的非建模区段内出现模型失配。针对DMC模型失配问题,已有学者进行了大量的研究,并取得了丰富的研究成果,其中有基于DMC控制参数在线辨识的智能控制算法,基于模型在线辨识的自校正控制算法以及用神经元网络进行模型辨识、在辨识的基础上再进行动态矩阵控制等。这些算法尽管进行在线辨识修正对象模型参数,仍对对象降阶建模误差(结构性建模误差)的鲁棒性不好,并对随机噪声干扰较敏感。针对以上问题,出现了基于误差校正的动态矩阵控制算法。这些文献用基于时间序列预测的数学模型误差代替原模型误差,得到对未来误差的预测。有人还将这种误差预测方法引入动态矩阵控制,并应用于实际。这种方法虽然使系统表现出良好的稳定性,但建立精确的误差数学模型还存在一定的困难。本文利用神经网络通过训练学习能逼近任意连续有界函数的特点,建立了一种采用BP神经网络进行预测误差补偿的DMC预测控制模型。其中神经网络预测误差描述了在预测模型中未能包含的一切不确定性信息,可以归结为用BP神经网络基于一系列过去的误差信息预测未来的误差,它作为模型预测的重要补充,不仅降低建立数学模型的负担,而且还可以弥补在对象模型中已简化或无法加以考虑的一切其他因素。本文通过进行仿真,验证了基于神经网络误差补偿的预测控制算法的有效性及优越性,从而增强了动态矩阵控制算法的鲁棒性。2.BP神经网络模型BP神经网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号Yk,网络训练的每个样本包括输入向量X和期望输出量t,网络输出值Y与期望输出值t之间的偏差,通过调整输入节点与隐层节点的联接强度取值Wij和隐层节点与输出节点之间的联接强度Tjk以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。2.1BP模型建立BP网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。(1)节点输出模型隐节点输出模型:Oj=f(∑Wij×Xi-qj)(1)输出节点输出模型:Yk=f(∑Tjk×Oj-qk)(2)f-非线形作用函数;q-神经单元阈值。(2)作用函数模型作用函数是反映下层输入对上层节点刺激脉冲强度的函数,又称刺激函数,一般取为(0,1)内连续取值Sigmoid函数:f(x)=1/(1+e-x)(3)(3)误差计算模型误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:Ep=1/2×∑(tpi-Opi)2tpi-i节点的期望输出值;Opi-i节点计算输出值。(4)(4)自学习模型神经网络的学习过程,即连接下层节点和上层节点之间的权重拒阵Wij的设定和误差修正过程。BP网络有师学习方式-需要设定期望值和无师学习方式-只需输入模式之分。自学习模型为△Wij(n+1)=h×Фi×Oj+a×△Wij(n)(5)h-学习因子;Фi-输出节点i的计算误差;Oj-输出节点j的计算输出;a-动量因子。2.2BP网络模型的缺陷分析及优化策略(1)学习因子h的优化采用变步长法根据输出误差大小自动调整学习因子,来减少迭代次数和加快收敛速度。h=h+a×(Ep(n)-Ep(n-1))/Ep(n)a为调整步长,0~1之间取值(6)(2)隐层节点数的优化隐层节点数的多少对网络性能的影响较大,当隐节点数太多时,会导致网络学习时间过长,甚至不能收敛;而当隐节点数过小时,网络的容错能力差。利用逐步回归分析法并进行参数的显著性检验来动态删除一些线形相关的隐节点,节点删除标准:当由该节点出发指向下一层节点的所有权值和阈值均落于死区(通常取±0.1、±0.05等区间)之中,则该节点可删除。最佳隐节点数L可参考下面公式计算:L=(m+n)1/2+c(7)m-输入节点数;n-输出节点数;c-介于1~10的常数。(3)输入和输出神经元的确定利用多元回归分析法对神经网络的输入参数进行处理,删除相关性强的输入参数,来减少输入节点数。(4)算法优化由于BP算法采用的是剃度下降法,因而易陷于局部最小并且训练时间较长。用基于生物免疫机制地既能全局搜索又能避免未成熟收敛的免疫遗传算法IGA取代传统BP算法来克服此缺点。2.3BP神经网络仿真假设备控对象的近似数学模型为:2()(1)()(1)1(1)akyoutkyoutkukyoutk(8)式中,系统a(k)是慢时变的,0.1()1.2(10.8)kake。神经网络的结构选择2-6-1,学习速度η=0.5和惯性系数α=0.05,输入指令信号为:rin(k)=0.5*sin(6*л*t)。仿真程序:clearall;closeall;xite=0.50;alfa=0.05;w2=rand(6,1);w2_1=w2;w2_2=w2;w1=rand(2,6);w1_1=w1;w1_2=w1;dw1=0*w1;x=[0,0]';u_1=0;y_1=0;I=[0,0,0,0,0,0]';Iout=[0,0,0,0,0,0]';FI=[0,0,0,0,0,0]';ts=0.001;fork=1:1:1000time(k)=k*ts;u(k)=0.50*sin(3*2*pi*k*ts);a(k)=1.2*(1-0.8*exp(-0.1*k));y(k)=a(k)*y_1/(1+y_1^2)+u_1;forj=1:1:6I(j)=x'*w1(:,j);Iout(j)=1/(1+exp(-I(j)));endyn(k)=w2'*Iout;e(k)=y(k)-yn(k);w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);forj=1:1:6FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;endfori=1:1:2forj=1:1:6dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i);endendw1=w1_1+dw1+alfa*(w1_1-w1_2);x(1)=u(k);x(2)=y(k);w1_2=w1_1;w1_1=w1;w2_2=w2_1;w2_1=w2;u_1=u(k);y_1=y(k);endsubplot(2,1,1);plot(time,y,'r',time,yn,'b');xlabel('times');ylabel('实际输出和仿真输出');gridonsubplot(2,1,2);plot(time,y-yn,'r');xlabel('times');ylabel('error');gridon00.10.20.30.40.50.60.70.80.91-2-1012times实际输出和仿真输出00.10.20.30.40.50.60.70.80.91-2-1.5-1-0.500.5timeserror误差神经对象输出效果神经网络仿真输出效果图2-1神经网络仿真图3.动态矩阵控制DMC算法分为三部分:预测模型、滚动优化和反馈校正。3.1预测模型在DMC算法中,首先需要测定对象单位阶跃响应的采样值)(iTaai,i=1,2,……。其中,T为采样周期。对于渐进稳定的对象,阶跃响应在某一NTNt,后将趋于平稳,以至ia(iN)与Na的误差和量化误差及测量误差有相同的数量级,因而可认为,Na已近似等于阶跃响应的稳态值)(aaS。这样,对象的动态信息就可以近似用有限集合Naaa21,加以描述。这个集合的参数构成了DMC的模型参数,向量a=Naaa21,称为模型向量,N称为模型时域长度。虽然阶跃响应是一种非参数模型,但由于线性系统具有比例和叠加性质,故利用这组模型参数ia,已足以预测在任意输入作用下系统在未来时刻的输出值。在t=kT时刻,假如控制量不再变化时系统在未来N个时刻的输出值为)(~),2(~),1(~000kNkykkykky,,那么,在控制增量)(ku作用后系统的输出可由)()(~)(~01kuakykyNN(3-1)预测,其中)(~)1(~)(~000kNkykkykyN表示在t=kT时刻预测的尚无)(ku作用时未来N个时刻的系统输出。)(~)1(~)(~111kNkykkykyN表示在t=kT时刻预测的有控制增量)(ku作用时未来N个时刻的系统输出。Naaa1为阶跃响应模型向量,其元素为描述系统动态特性的N个阶跃响应系数。式中,上标~表示预测,kik表示在t=kT时刻预测t=(k+i)T时刻。同样,如果考虑到现在和未来M个时刻控制增量的变化,在t=kT时刻预测在控制增量)(ku,⋯,)1(Mku作用下系统在未来P个时刻的输出为)()(~)(~0kuAkykyMPPM(3-2)式中)(~)1(~)(~000PkNkykkyky为t=kT时刻预测的无控制增量时未来P个时刻的系统输出。)P(~)1(~)(~MMPMkkykkyky为t=kT时刻预测的有M个控制增量)(ku,……,)1(Mku时未来P个时刻的系统输出。)1()()(MkukukuM为从现在起M个时刻的控制增量。11121000MpppaaaaaaA称为动态矩阵,其元素为描述系统动态特性的阶跃响应系数。3.2滚动优化DMC是一种以优化确定控制策略的算法。在采样时刻t=kT的优化性能指标可取为PiMikikyikqkJ12)](~)([)(min+M12)1(jjjkur(3-3)即通过选择该时刻起M个时刻的控制增量)(ku,⋯,)1(Mku,使系统在未来P(MPN)个时刻的输出值)1(~kkyM,…,)(~kPkyM尽可能接近其期望值)1(k,…)(Pk。性能指标中的第二项是对控制增量的约束,即不允许控制量的变化过于剧烈。式中,iq,jr为权系数,P和M分别称为优化时域长度和控制时域长度。显然,在不同时刻,优化性能指标是不同的,但其相对形式却是一致的,都具有类似于(3-1)的形式,所谓“滚动优化”,就是指优化时域随时间不断地向前推移。引入向量和矩阵记号)()1()(Pkkkp,Q=diag(1q,…,Pq),R=diag(1r,…,Mr)则优化性能指标式(2-1)可改写为22)()(~)()(minRMQPMpkukykkJ(3-4)式中,Q,R分别称为误差权矩阵和控制权矩阵。在不考虑输入输出约束的情况下,在t=kT时刻,)(kp,)(0kyp均为己知,使J(k)取最小的)(kuM可通过极值必要条件)()(kudkdJM求得))(~)(()