主要内容

神经网络预测控制器的设计金宝app

在Deep Learning Toolbox™软件中实现的神经网络预测控制器使用非线性植物的神经网络模型来预测未来植物的性能。然后控制器计算控制输入,在指定的未来时间范围内优化工厂性能。模型预测控制的第一步是确定神经网络的植物模型(系统辨识)。接下来,控制器使用工厂模型来预测未来的性能。(请参阅模型预测控制工具箱™文档,以完全覆盖各种模型预测控制策略在线性系统中的应用。)

下面介绍系统的识别过程。接下来是对优化过程的描述。最后,讨论了如何使用在Simulink中实现的模型预测控制器块金宝app®环境。

系统识别

模型预测控制的第一阶段是训练一个神经网络来表示植物的正向动态。将植物输出与神经网络输出之间的预测误差作为神经网络训练信号。其过程如下图所示:

神经网络植物模型使用以前的输入和以前的植物输出来预测未来植物输出的值。神经网络植物模型结构如下图所示。

该网络可以在批处理模式下进行离线训练,使用从工厂运行中收集的数据。您可以使用中讨论的任何训练算法多层浅层神经网络与反向传播训练用于网络培训。下面几节将更详细地讨论这个过程。

预测控制

模型预测控制方法基于视距后退技术[SoHa96].神经网络模型预测植物在特定范围内的反应时间范围。数值优化程序使用预测来确定在指定范围内使以下性能准则最小化的控制信号

J j N 1 N 2 y r t + j y t + j 2 + ρ j 1 N u u t + j 1 u t + j 2 2

在哪里N1N2,Nu定义计算跟踪误差和控制增量的范围。的u变量为暂定控制信号,yr是期望的反应,和y是网络模型的响应。ρ值决定了控制增量平方和对性能指标的贡献。

下面的方框图说明了模型预测控制过程。控制器由神经网络植物模型和优化块组成。的值u'来最小化J,然后是最优u是植物的输入。控制器块在Simulink中实现,如下节所述。金宝app

使用神经网络预测控制器块

本节将展示如何使用NN预测控制器块。第一步是从深度学习工具箱块库中复制NN预测控制器块到Simulink编辑器中。金宝app如果您不确定如何金宝app做到这一点,请参阅Simulink文档。本例跳过此步骤。

深度学习工具箱软件提供了一个示例模型来展示预测控制器的使用。这个例子使用了催化剂连续搅拌槽反应器(CSTR)。该过程的示意图如下图所示。

系统的动态模型为

d h t d t w 1 t + w 2 t 0.2 h t d C b t d t C b 1 C b t w 1 t h t + C b 2 C b t w 2 t h t k 1 C b t 1 + k 2 C b t 2

在哪里ht)为液面,Cbt)为工艺输出端的产物浓度,w1t)为浓缩进料的流量Cb1,w2t)为稀释饲料的流量Cb2.输入浓度设置为Cb1= 24.9和Cb2= 0.1。与消费速度相关的常数是k1= 1和k2= 1。

控制器的目的是通过调节流量来保持产品浓度w1t).为简化示例,请设置w2t) = 0.1。水箱的高度ht)在这个实验中没有被控制。

运行此示例:

  1. 开始MATLAB®

  2. 类型predcstr在MATLAB命令窗口中。该命令使用以下模型打开Simulink编辑器。金宝app

    植物块包含Simulink CSTR植物模型。金宝appNN Predictive Controller块信号连接如下:

    • 控制信号连接到工厂模型的输入。

    • 植物输出信号连接到植物块输出。

    • 参考信号连接到随机参考信号。

  3. 双击NN预测控制器块。这为模型预测控制器的设计打开了如下窗口。此窗口允许您更改控制器视野N2而且Nu.(N1固定为1。)前面描述的加权参数ρ也在这个窗口中定义。参数α用于控制优化。它决定了一个成功的优化步骤需要降低多少性能。您可以选择优化算法使用哪个线性最小化例程,并且可以决定在每个采样时间执行优化算法的迭代次数。线性最小化例程是中所讨论的那些例程的轻微修改多层浅层神经网络与反向传播训练

  4. 选择植物鉴别.这将打开以下窗口。在使用控制器之前,您必须开发神经网络植物模型。工厂模型预测未来的工厂产量。优化算法使用这些预测来确定优化未来性能的控制输入。植物模型神经网络有一个隐藏层,如前所述。您可以在此窗口中选择该层的大小、延迟输入和延迟输出的数量以及训练函数。您可以选择中描述的任何训练功能多层浅层神经网络与反向传播训练训练神经网络植物模型。

  5. 点击生成培训数据该程序通过对Simulink植物模型应用一系列随机步进输入来生成训练数据。金宝app然后,潜在的训练数据以类似下图的方式显示。

  6. 点击接受数据,然后按列车网络的在植物识别窗口。植物模型训练开始。根据训练算法(trainlm在这种情况下)你选择。这是批处理训练的一个简单应用,如中所述多层浅层神经网络与反向传播训练.训练完成后,显示得到的植物模型的响应,如下图所示。(如果存在的话,还有用于验证和测试数据的单独图表。)

    然后,您可以通过选择继续使用相同的数据集进行训练列车网络的同样,你可以删除生成的数据并生成一个新的数据集,或者您可以接受当前的工厂模型并开始模拟闭环系统。对于本例,开始模拟,如下面的步骤所示。

  7. 选择好吧在植物识别窗口。这将把训练好的神经网络植物模型加载到神经网络预测控制器块中。

  8. 选择好吧在神经网络预测控制窗口中。这将控制器参数加载到NN预测控制器块中。

  9. 返回到Simulink编辑器金宝app,并通过选择菜单选项开始模拟模拟>运行.随着仿真的运行,设备输出和参考信号显示出来,如下图所示。