基于神经网络的预测控制模型仿真
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于神经网络的预测控制模型仿真
摘要:本文利用一种权值可以在线调整的动态BP神经网络对模型预测误差进行拟合并与预测模型一起构成动态组合预测器,在此基础上形成对模型误差具有动态补偿能力的预测控制算法。该算法显著提高了预测精度,增强了预测控制算法的鲁棒性。
关键词:预测控制神经网络动态矩阵误差补偿
1.引言
动态矩阵控制(DMC)是一种适用于渐近稳定的线性或弱非线性对象的预测控制算法,目前已广泛应用于工业过程控制。它基于对象阶跃响应系数建立预测模型,因此建模简单,同时采用多步滚动优化与反馈校正相结合,能直接处理大时滞对象,并具有良好的跟踪性能和较强的鲁棒性。
但是,DMC算法在实际控制中存在一系列问题,模型失配是其中普遍存在的一个问题,并会不同程度地影响系统性能。DMC在实际控制中产生模型失配的原因主要有2个,一是诸如建模误差、环境干扰等因素,它会在实际控制的全程范围内引起DMC的模型失配;二是实际系统的非线性特性,这一特性使得被控对象的模型发生变化,此时若用一组固定的阶跃响应数据设计控制器进行全程范围的控制,必然会使实际控制在对象的非建模区段内出现模型失配。针对DMC模型失配问题,已有学者进行了大量的研究,并取得了丰富的研究成果,其中有基于DMC控制参数在线辨识的智能控制算法,基于模型在线辨识的自校正控制算法以及用神经元网络进行模型辨识、在辨识的基础上再进行动态矩阵控制等。这些算法尽管进行在线辨识修正对象模型参数,仍对对象降阶建模误差(结构性建模误差)的鲁棒性不好,并对随机噪声干扰较敏感。针对以上问题,出现了基于误差校正的动态矩阵控制算法。这些文献用基于时间序列预测的数学模型误差代替原模型误差,得到对未来误差的预测。有人还将这种误差预测方法引入动态矩阵控制,并应用于实际。这种方法虽然使系统表现出良好的稳定性,但建立精确的误差数学模型还存在一定的困难。
本文利用神经网络通过训练学习能逼近任意连续有界函数的特点,建立了一种采用BP 神经网络进行预测误差补偿的DMC预测控制模型。其中神经网络预测误差描述了在预测模型中未能包含的一切不确定性信息,可以归结为用BP神经网络基于一系列过去的误差信息预测未来的误差,它作为模型预测的重要补充,不仅降低建立数学模型的负担,而且还可以弥补在对象模型中已简化或无法加以考虑的一切其他因素。
本文通过进行仿真,验证了基于神经网络误差补偿的预测控制算法的有效性及优越性,
从而增强了动态矩阵控制算法的鲁棒性。
2.BP神经网络模型
BP神经网络模型处理信息的基本原理是:输入信号Xi通过中间节点(隐层点)作用于输出节点,经过非线形变换,产生输出信号Yk,网络训练的每个样本包括输入向量X和期望输出量t,网络输出值Y与期望输出值t之间的偏差,通过调整输入节点与隐层节点的联接强度取值Wij和隐层节点与输出节点之间的联接强度Tjk以及阈值,使误差沿梯度方向下降,经过反复学习训练,确定与最小误差相对应的网络参数(权值和阈值),训练即告停止。此时经过训练的神经网络即能对类似样本的输入信息,自行处理输出误差最小的经过非线形转换的信息。
2.1 BP模型建立
BP网络模型包括其输入输出模型、作用函数模型、误差计算模型和自学习模型。
(1)节点输出模型
隐节点输出模型:Oj=f(∑Wij×Xi-q j) (1)
输出节点输出模型:Yk=f(∑Tjk×Oj-q k) (2)
f-非线形作用函数;q -神经单元阈值。
(2)作用函数模型
作用函数是反映下层输入对上层节点刺激脉冲强度的函数,又称刺激函数,一般取为(0,1)内连续取值Sigmoid函数: f(x)= 1/(1+e-x) (3)(3)误差计算模型
误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:
Ep=1/2×∑(tpi-Opi)2
tpi- i节点的期望输出值;Opi-i节点计算输出值。 (4) (4)自学习模型
神经网络的学习过程,即连接下层节点和上层节点之间的权重拒阵Wij的设定和误差修正过程。BP网络有师学习方式-需要设定期望值和无师学习方式-只需输入模式之分。自学习模型为
△Wij(n+1)= h×Фi×Oj+a×△Wij(n) (5) h-学习因子;Фi-输出节点i的计算误差;Oj-输出节点j的计算输出;a-动量因子。
2.2 BP网络模型的缺陷分析及优化策略
(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.3 BP 神经网络仿真
假设备控对象的近似数学模型为: 2()(1)
()(1)
1(1)a k yout k yout k u k yout k -=+-+-
(8)
式中,系统a (k )是慢时变的,0.1() 1.2(10.8)k
a k e
-=-。
神经网络的结构选择2-6-1,学习速度 η=0.5和惯性系数α=0.05,输入指令信号为:
rin(k)=0.5*sin(6*л*t)。 仿真程序: clear all; close all; 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; for k=1:1:1000 time(k)=k*ts; u(k)=0.50*sin(3*2*pi*k*ts);