没有合适的资源?快使用搜索试试~ 我知道了~
基于神经网络的预测控制模型仿真.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 189 浏览量
2021-11-24
04:42:29
上传
评论
收藏 668KB PDF 举报
温馨提示
试读
20页
基于神经网络的预测控制模型仿真.pdf
资源推荐
资源详情
资源评论
基于神经网络的预测控制模型仿真
摘要:本文利用一种权值可以在线调整的动态 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 ) (3)
(3)误差计算模型
误差计算模型是反映神经网络期望输出与计算输出之间误差大小的函数:
Ep=1/2×∑(tpi-Opi)
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)隐层节点数的优化
2
-x
隐层节点数的多少对网络性能的影响较大,当隐节点数太多时,会导致网络学习时间过
长,甚至不能收敛;而当隐节点数过小时,网络的容错能力差。利用逐步回归分析 法并进
行参数的显著性检验来动态删除一些线形相关的隐节点,节点删除标准:当由该节点出发指
向下一层节点的所有权值和阈值均落于死区(通常取±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 神经网络仿真
假设备控对象的近似数学模型为:
yout (k)
(8)
式中,系统 a(k)是慢时变的,
a(k) 1.2(1 0.8e
0.1k
a(k) yout (k 1)
u(k 1)
1 yout
2
(k 1)
)
。
神经网络的结构选择 2-6-1,学习速度 η =0.5 和惯性系数α =0.05,输入指令信号为:
rin(k)=0.5*sin(6*л *t)。
仿真程序:
clear all; x=[0,0]';
close all;
u_1=0;
xite=0.50; y_1=0;
alfa=0.05;
I=[0,0,0,0,0,0]';
w2=rand(6,1); Iout=[0,0,0,0,0,0]';
w2_1=w2;w2_2=w2; FI=[0,0,0,0,0,0]';
w1=rand(2,6); ts=0.001;
w1_1=w1;w1_2=w1; for k=1:1:1000
dw1=0*w1; time(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;
for j=1:1:6
I(j)=x'*w1(:,j);
Iout(j)=1/(1+exp(-I(j)));
end
yn(k)=w2'*Iout;
e(k)=y(k)-yn(k);
w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w
2_2);
for j=1:1:6
FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;
end
for i=1:1:2
for j=1:1:6
dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i);
end
end
w1=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);
end
subplot(2,1,1);
plot(time,y,'r',time,yn,'b');
xlabel('times');ylabel('实 际 输出 和仿
真输出');
grid on
subplot(2,1,2);
plot(time,y-yn,'r');
xlabel('times');ylabel('error');
grid on
剩余19页未读,继续阅读
资源评论
m0_64163988
- 粉丝: 0
- 资源: 6万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功