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

深度学习工具箱™软件中实现的神经网络预测控制器使用非线性工厂的神经网络模型来预测未来工厂的性能。然后,控制器计算控制输入,将优化工厂性能在一个指定的未来时间范围。模型预测控制的第一步是确定神经网络被控对象的模型(系统辨识)。接下来,控制器使用被控对象模型来预测未来的性能。(参见模型预测控制工具箱™文档,了解各种模型预测控制策略在线性系统中的应用。)

下面的部分描述了系统识别过程。接下来是对优化过程的描述。最后讨论了如何使用在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

在哪里N1,N2Nu定义跟踪误差和控制增量评估的范围。的u变量是暂时的控制信号,yr是期望的响应吗y是网络模型响应。的ρ值确定控制增量的平方和对性能指数的贡献。

下面的框图说明了模型预测控制过程。该控制器由神经网络工厂模型和优化块。优化块确定的值u“最小化J,然后将最佳u被输入到植物。控制器块在Simulink实现,如在以下部分中描述。金宝app

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

本节显示NN预测控制器块是如何使用的。第一步是将神经网络预测控制块从深层学习工具箱块库在Simulink的主编复制。金宝app见Simulin金宝appk的文件,如果你不知道如何做到这一点。该步骤在以下示例中跳过。

一个例子模型具备深度学习Toolbox软件,以显示使用预测控制器。本例中使用的催化连续搅拌反应釜(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

在哪里h(t)为液位,Cb(t)为该过程输出端的产物浓度,w1(t)为浓缩饲料的流量Cb1w2(t)是稀释进料的流率Cb2。输入浓度设置为Cb1= 24.9和Cb2= 0.1。随着消费率有关的常数k1= 1和k2= 1。

控制器的目标是,通过调节流量以保持产品浓度w1(t)。为了简化该示例中,组w2(t) = 0.1。油箱的水平面h(t)不被控制该实验。

要运行这个例子:

  1. 运行MATLAB®

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

    工厂模块包含Simulink CSTR工厂模型。金宝app将神经网络预测控制器块信号连接如下:

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

    • 电站输出信号被连接到工厂块输出。

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

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

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

  5. 点击生成的训练数据该程序生成通过将一系列的随机输入步骤的Simulink的工厂模型的训练数据。金宝app然后,潜能训练数据显示在类似如下的人物。

  6. 点击接受数据,然后单击列车网络的在植物识别窗口。工厂模型培训开始。按照训练算法(trainlm在这种情况下)你选择。这是批量训练的直接应用,如在多层浅神经网络和反向传播训练。训练完成后,将显示所得到的工厂模型的响应,如下图所示。(如果存在的话,也有用于验证和测试数据的单独地块。)

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

  7. 选择在植物识别窗口。这会将训练的神经网络模型厂进入NN预测控制器模块。

  8. 选择在神经网络预测控制窗口。此负载控制器参数到NN预测控制器块。

  9. 通过选择菜单选项返回到Sim金宝appulink的主编,并开始模拟模拟>运行。当模拟运行时,将显示设备输出和参考信号,如下图所示。