神经预测控制实验 - 预测算法研究

2019-02-15 18:28

实验内容2:基于Simulink的神经网络控制系统仿真

1. 课件p62-69中Neural Network Blockset模块集练习;

2. 采用此节的3个例子,参照课件步骤,自己试验,体验神经网络控制及效果。 参考例子:模型预测神经网络控制实例分析—搅拌器控制系统

模型预测

模型预测方法是基于水平后退的方法,神经网络模型预测在指定时间内预测模型响应。预测使用数字最优化程序来确定控制信号,通过最优化如下的性能准则函数:

J??[yr(t?j)?ym(t?j)]???[u(t?j?1)?u(t?j?2)]22j?1j?1N2Nu

式中,N2为预测时域长度;Nu为控制时域长度;u(t) 为控制信号;yr为期望响应,ym为网络模型响应,?为控制量加权系数。

下图描述了模型预测控制的过程。控制器由神经网络模型和最优化方块组成,最优化方块确定u(通过最小化J),最优u值作为神经网络模型的输入,控制器方块可用Simulink实现。

ControlleryNeural Network Modelmyru*Optimizationu

Plantyp模型预测神经网络控制实例分析—搅拌器控制系统

1) 问题的描述

要讨论的问题基于一个搅拌器(CSTR),如图14所示。

对于这个系统,其动力学模型为:

dh(t)?w1(t)?w2(t)?0.2h(t)dtdCb(t)k1Cb(t)w(t)w(t)?(Cb1?Cb(t))1?(Cb2?Cb(t))2?dth(t)h(t)(1?k2Cb(t))2

其中,h(t)为液面高度,Cb(t)为产品输出浓度,w1(t)为浓缩液Cb1的输入流速,w2(t)为稀释液Cb2的输入流速。输入浓度设定为:Cb1=24.9,Cb2=0.1。消耗常量设置为:k1=1,k2=1。

控制的目标:

通过调节流速w2(t)来保持产品浓度。为了简化演示过程,不妨设w1(t)=0.1。在本例中不考虑液面高度h(t)。

1、建立模型

在MATLAB命令窗口中输入命令“predcstr”,弹出1-1所示的模型窗口。

图1-1 模型窗口

其中,神经网络预测控制模块(NN Predictive Controller)和X(2Y)Graph模块由神经网络模块集(Neural Network Blockset)中的控制系统模块库(Control Systems)复制而来。

Plant(Continuous Stirred Tank Reactor)模块包含了搅拌器系统的Simulink模型。

双击NN Predictive Controller 模块,将会产生一个神经网络预测控制器参数设置窗口(Neural Network Predictive Control),如图1-2所示。这个窗口用于设计模型预测控制器。

图1-2 神经网络预测控制器参数设置窗口

在这个窗口中,有多项参数可以调整,用于改变预测控制算法中的有关参数。将鼠标

移到相应的位置,就会出现对这一参数的说明。

现将这些说明加以解释: ① Cost Honizon(N2)——预测时域长度 ② Control Honizon(Nu) ——控制时域长度 ③ Control Weighting Factor(ρ)——控制量加权系数 ④ Search Parameter(α)——线性搜索参数,决定搜索何时停止 ⑤ Minimization Routine——选择一个线性搜索用做最优化算法 ⑥ Iterations Per Sample Time——选择在每一个采样时间中优化算法迭代的次数 下面是四个按钮的说明: ① Plant Identification——系统辨识。在控制器使用之前,系统必须先进行辨识。 ② OK 、Apply——在控制器参数设定好以后,单击这两个按钮的任一个都可以将这些

参数导入Simulink模型。 ③ Cancel ——取消刚才的设置。 2、系统辨识

在神经网络预测控制器的窗口中单击[Plant Identification]按钮,将产生一个模型辨识参数设置窗口(Plant Identification),用于设置系统辨识的参数,如图1-3所示。

图1-3 模型辨识参数设置窗口

在控制器使用以前,必须首先利用辨识技术建立神经网络模型。这个模型预测系统未来的输出值。优化算法使用这些预测值来决定控制输入,以优化未来的性能。系统的神经网络模型有一个隐含层。这个隐含层的大小、输入和输出的时延,以及训练函数都在图中的窗口中设置。可以选择BP网络中的任意训练函数来训练网络模型。

在窗口菜单中有一项File,其包括的子项中有两项用于导入和导出系统模型对应的网络。图1-3中有很多参数需要设置,现将这些参数分别加以解释。 1 Size of Hidden Layer—设置在系统模型网络隐含层中的神经元数; ○

2 Sampling Interval(sec)—指定程序从Simulink模型中采集数据的间隔; ○

3 No. Delayed Plant Inputs—指定了加到系统网络模型的输入延迟; ○

4 No. Delayed Plant Outputs—指定了加到系统网络模型的输出延迟; ○

5 Normalize Training Data—指定是否使用premnmx函数来将数据标准化 ○

6 Training Samples—指定了为训练而产生的数据点的数目; ○

7 Maximum Plant Input—指定了随机输入的最大值; ○

8 Minimum Plant Input—指定了随机输入的最小值; ○

9 Maximum Interval Value(sec)—指定一个最大的间隔,在这个间隔中,随机输入将保持不○变

10 Minimum Interval Value(sec)—指定一个最小的间隔,在这个间隔中,随机输入将保持不○变;

11 Limit Output Data—用于选择系统输出是否为有界值; ○

12 Maximum Plant Output—指定了输出的最大值 ○

13 Minimum Plant Output—指定了输出的最小值 ○

14 Simulink Plant Model—指定用于产生训练数据的模型 ○

15 Training Epochs—指定训练迭代的次数; ○

16 Training Function—指定训练函数 ○

17 Use Current Weights—指定是否选择当前的权值用于连续训练; ○

18 Use Valid Data—指定是否选择合法数据停止训练; ○

19 Use Testing Data—指定在训练过程中测试数据是否被追踪。 ○

下面是关于按钮的说明:

1 Generate Training Data—产生用于网络训练的数据; ○

2 Import Data—从工作空间或者一个文件中导入数据; ○

3 Export Data—将训练数据导出到工作空间或者一个文件中; ○

4 Train Network—开始网络模型的训练,在训练前必须已经产生或者导入了数据; ○

5 OK 、○Apply—在网络模型经过训练后,单击这两个按钮中的任何一个都可以将网络导入Simulink模型;

6 Cancel—取消刚才的设置; ○

系统辨识分为两步:第一步为产生训练数据,第二步为训练网络模型。在模型辨识窗口中,设置好相应的参数后,单击【Generate Training Data】,程序就回通过对Simulink网络模型提供一系列随机阶跃信号,来产生训练数据。图1-4显示了这些训练数据。


神经预测控制实验 - 预测算法研究.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:民间股神

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: