环氧乙烷生产的经济MPC控制

这个例子显示了如何使用经济MPC控制器最大限度的生产利润环氧乙烷工厂。这种控制器是采用与基于性能的自定义的成本函数非线性的MPC控制器实现。

此示例需要的Simulink软件来模拟在Si万博1manbetxmulink乙烯氧化植物的非线性MPC控制。

如果~ mpcchecktoolboxinstalled (“万博1manbetx模型”)DISP(运万博1manbetx行这个示例需要Simulink(R)。)返回结束

该示例使用fsolve从优化工具箱™命令查找标称平衡工作点和fmincon方法作为默认非线性规划解算器。

如果~ mpcchecktoolboxinstalled (“optim”)DISP('必须安装优化工具箱才能运行此示例。')返回结束

非线性乙烯氧化厂

乙烯(C2H4)转化为环氧乙烷(C2H4O)在一个冷却的气相催化反应器中发生。反应器内混合良好的气相中同时发生三个反应:

C2H4 + 0.5 * O2  - > C2H4O
C2H4 + 3 * O2  - > 2 * CO 2 + 2 * H 2 O
C2H4O + 2.5*O2 -> 2*CO2 + 2*H2O

第一反应就是想因为他们减少C2H4O生产其他两个是不必要的。空气和乙烯的混合物连续地供入反应器。将反应器的第一原理非线性动态模型被实现为一组在普通微分方程(常微分方程)的oxidationPlantCT函数。有关更多信息,请参见oxidationPlantCT.m

该工厂有四个州:

  • 反应堆内气体密度($ X_1 $)

  • C2H4浓度在反应器($ X_2 $)

  • 反应器内C2H4O浓度($ X_3 $)

  • 反应堆温度($ X_4 $)

该工厂有三个输入:

  • C2H4浓度在饲料中(u_1美元)

  • 反应器冷却夹套温度(u_2美元)

  • C2H4进给速度(u_3美元)

模型中的所有变量都缩放为无量纲的统一秩序和。基本植物方程和参数是从[1],在输入/输出定义和订货一些变化而获得。

该装置是渐近开环稳定的。

控制目标和约束

主控制目标是最大化的环氧乙烷(C2H4O)生产速率(其进而最大化利润)在任何稳态工作点,给定的C 2 H 4进料流中的可用性。

所述C2H4O生产速率被定义为C2H4O浓度在反应器(产品$ X_3 $)和出反应堆的总容积流量($ {U_3} / {U_1} * {} X_4 $)。

操作点实际上是由三个输入决定的。u_1美元是C 2 H 4浓度在饲料中,该MPC控制器可以操纵。u_2美元是冷却夹套温度,这使温度稳定。u_3美元为C2H4进料速率,表示可用乙烯来自上游工艺。较高的进给率可以提高C2H4O的可实现产量。在本例中,两者都是u_2美元u_3美元测量干扰。

最优生产价格位于初始运转点

在初始条件下,冷却夹套温度是1.1和C2H4可用性0.175

TC = 1.1;C2H4Avalability = 0.175;

通过扫描进料中C2H4浓度的工作范围,计算出最佳C2H4O产量(u_1美元)使用fsolve

uRange = 0.1:0.1:3;EORate =零(长度(uRange),1);optimopt = optimoptions(“fsolve”,'显示','没有');CT = 1:长度(uRange)XRANGE =实际(fsolve(@(X)oxidationPlantCT(X,[uRange(CT);锝; C2H4Avalability]),兰特(1,4),optimopt));EORate(CT)= C2H4Avalability / uRange(CT)* XRANGE(3)* XRANGE(4);结束图图(uRange,EORate)xlabel(“饲料中C2H4的浓度”)ylabel(“C2H4O生产率”)

在at时,C2H4O的最佳产率为0.0156u_1美元= 1.6。换句话说,如果工厂最初在饲料中使用不同的C2H4浓度,你可以期望经济MPC控制器将其控制在1.6,从而达到最佳的C2H4O产量。

非线性MPC设计

经济MPC可以用非线性MPC控制器来实现。预测模型具有四个状态和三个输入(一个MV和两个MD)。在这个例子中,因为你并不需要一个输出功能,假设Y = X。

nlobj = nlmpc (4 4“MV”1,'MD'3 [2]);nlobj.States(1)。Name =“窝”;nlobj.States(1)。Name =“C2H4”;nlobj.States(1)。Name ='C2H4O';nlobj.States(1)。Name =“锝”;nlobj.MV.Name =“CEin”;nlobj.MD(1)请将.Name =“锝”;nlobj.MD(2)。Name =“可用性”;
在标准的成本函数,零个权重是通过默认,因为有比的MV OVS少施加到一个或多个OVS。

文中定义了非线性对象模型oxidationPlantDT。它是一种离散时间模型,采用多步显式欧拉法进行积分。虽然本例使用非线性植物模型,但您也可以使用线性植物模型实现经济的MPC。

nlobj.Model。StateFcn ='oxidationPlantDT';nlobj.Model。IsContinuousTime = false;

一般来说,为了提高计算效率,它是提供一种用于预测模型的分析雅可比功能最佳实践。在这个例子中,你不提供一个因为模拟是速度不够快。

的样本时间比较大25当工厂是稳定的,主要目标是经济优化时,使用秒是合适的。预测地平线2,这获得了预测时间是50秒。

Ts = 25;nlobj。Ts = t;% 采样时间nlobj。PredictionHorizon = 2;%的预测范围nlobj。ControlHorizon = 1;%控制范围

在预测模型中的所有国家都必须根据第一原则是积极的。因此,指定所有国家必然为零的最小值。

nlobj.States(1).Min = 0;nlobj.States(2).Min = 0;nlobj.States(3).Min = 0;nlobj.States(4).Min = 0;

植物输入u_1美元必须留之间的饱和度限制范围内0.13.

nlobj.MV。最小值= 0.1;nlobj.MV。Max = 3;

的变化率u_1美元也限制在+/-0.02/秒。

nlobj.MV。杀鼠灵= -0.02 * Ts;nlobj.MV。RateMax = 0.02 * Ts;

自定义代价函数经济MPC

而不是使用标准二次目标函数的,定制的成本函数被用作替换。你想在预测跨度结束最大化C2H4O生产速度。

F =  - (U3 / U1 * X3 * X4)

在负号f用于最大化生产,由于控制器最小化f在优化。有关更多信息,请参见oxidationCostFcn.m

nlobj.Optimization.CustomCostFcn ='oxidationCostFcn';nlobj.Optimization.ReplaceStandardCost = TRUE;

验证自定义功能

假设工厂最初工作在u1 = 0.5

情况= 0.5;

使用查找状态在稳定状态fsolve

X0 =实际(fsolve(@(X)oxidationPlantCT(X,[U0;锝; C2H4Avalability]),兰特(1,4),optimopt));

C2H4O的产率为0.0138,与0.0156的最佳条件相差甚远。

EORate0 = C2H4Avalability / U0 * X0(3)* X 0(4);

在初始条件下验证状态函数和代价函数。

validateFcns (nlobj x0,情况,[Tc C2H4Avalability]);
Model.StateFcn是OK。无输出函数指定。假设“Y = X”中的预测模型。Optimization.CustomCostFcn是OK。用户提供的模型,成本和约束函数的分析完成。

你可以计算第一步nlmpcmove函数。它返回1.0的MV,这表明经济MPC将增加MV为0.5至1,由MVRate约束限制。

MV = nlmpcmove(nlobj,X0,U0,零(1,4),[TC C2H4Avalability]);

万博1manbetxSimulink模型与经济MPC控制器

打开Simulin万博1manbetxk模型。

mdl =“mpc_economicEO”;open_system(MDL)

冷却夹套温度为初始温度1.1并且在前100秒保持不变。然后增加到1.15,从而降低C2H4O的最佳产率0.01560.0135

该C2H4可用性最初0.175并在前200秒保持不变。然后增加到0.25的,因此,增加了从最佳C2H4O生产速率0.01350.0195

该模型包含四个工厂输出的常量(零)引用。非线性MPC控制器需要这些参考信号,但在自定义代价函数中被忽略。

植物子系统通过集成ode来计算植物状态oxidationPlantCT.m。假设所有的状态是可测量的,这样你就不需要实现这个例子非线性状态估计。该C2H4O工厂产量是瞬时C2H4O产量,用于显示目的。

仿真建模和分析结果

运行模拟。

open_system ([mdl'/ MV']);open_system ([mdl'/ C2H4O']);SIM(MDL)

由于在初始条件下运行的C2H4O装置不是最优的,因此可以提高其利润。在最初的100秒内,经济MPC控制器在相同的冷却夹套温度和C2H4可用性约束条件下,逐渐将工厂移动到真正的最佳状态。通过以下方法提高C2H4O的产量:

$$ \左({0.0156  -  0.0138} \右)/0.0138 = 13 \%$$

如果大规模生产,每年可能价值数百万美元。

在接下来的100秒,冷却夹套温度从增加1.11.15。经济MPC控制器移动顺利厂到新的最优条件0.0135如预期。

在接下来的100秒内,C2H4可用性从0.1750.25。经济MPC控制器能够再次工厂移到新的最优稳态0.0195

关闭Simulink万博1manbetx模型。

bdclose(MDL)

参考

[1] H.杜兰德,M.埃利斯,P. D.赫里斯托菲。“经济模型预测控制设计了变化率输入的制约处理和保证经济的表现。”计算机与化学工程。卷。92,2016,第18-36。

相关话题