主要内容

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

这个例子展示了如何利用经济的MPC控制器最大化环氧乙烷工厂的生产利润。该控制器使用非线性MPC控制器实现,具有自定义的基于性能的代价函数。

非线性乙烯氧化装置

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

C2h4 + 0.5* o2 -> c2h4o
C2h4 + 3* o2 -> 2* co2 + 2* h2o
C2h4o + 2.5* o2 -> 2* co2 + 2* h2o

第一个反应是需要的,其他两个反应是不需要的,因为它们减少了C2H4O的产生。空气和乙烯的混合物连续地被送入反应器。将反应器的第一性原理非线性动力学模型用常微分方程(ODEs)来实现oxidationPlantCT函数。有关更多信息,请参见oxidationPlantCT.m

工厂有四种状态:

  • 反应堆内气体密度(x_1美元

  • 反应器内C2H4浓度(x_2美元

  • 反应器内C2H4O浓度(x_3美元

  • 反应堆温度(x_4美元

该植物有三个输入:

  • 进料中C2H4浓度(u_1美元

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

  • C2H4进给速率(u_3美元

模型中的所有变量都缩放为无量纲且具有统一的顺序。基本装置方程和参数由[1]得到,但输入/输出定义和排序有所改变。

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

控制目标和约束条件

主要控制目标是在给定原料流中C2H4的可用性的情况下,在任何稳态工作点最大限度地提高环氧乙烷(C2H4O)的生产率(进而使利润最大化)。

C2H4O生产速率定义为反应器中C2H4O浓度的乘积(x_3美元)和从反应器流出的总容积流量($ {u_3} / {u_1} * {x_4} $).

工作点有效地由三个输入决定。u_1美元为进料中C2H4的浓度,MPC控制器可以对其进行操作。u_2美元是冷却夹套温度,保持温度稳定。u_3美元为C2H4进料速率,表示来自上游工艺的有效乙烯。更高的进料速率可以提高C2H4O的产量。在这个例子中,两者都是u_2美元而且u_3美元是测得的扰动。

初始工作点的最优产量

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

Tc = 1.1;C2H4Avalability = 0.175;

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

uRange = 0.1:0.1:3;EORate = 0(长度(uRange),1);Optimopt = optimoptions(“fsolve”“显示”“没有”);ct = 1:长度(uRange) xRange = real(fsolve(@(x) oxidationPlantCT(x,[uRange(ct);Tc;C2H4Avalability]),rand(1,4),optimopt));eate (ct) = C2H4Avalability/uRange(ct)*xRange(3)*xRange(4);结束图形图(uRange, eate) xlabel(“饲料中C2H4浓度”) ylabel (“C2H4O生产速率”

C2H4O的最佳产率为0.0156u_1美元= 1.6。换句话说,如果工厂最初在饲料中使用不同的C2H4浓度运行,则期望经济MPC控制器将其降至1.6,从而实现最佳的C2H4O产量。

非线性MPC设计

经济型MPC可以用非线性MPC控制器实现。预测模型有四个状态和三个输入(一个MV和两个MDs)。在本例中,由于不需要输出函数,假设y = x。

Nlobj = nlmpc(4,4,“MV”, 1“医学博士”3 [2]);nlobj.States(1)。Name =“窝”;nlobj.States(1)。Name =“C2H4”;nlobj.States(1)。Name =“灭菌”;nlobj.States(1)。Name =“Tc”;nlobj.MV.Name =“CEin”;nlobj.MD(1)。Name =“Tc”;nlobj.MD(2)。Name =“可用性”
在标准代价函数中,默认情况下对一个或多个ov应用零权重,因为mv比ov少。

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

nlobj.Model.StateFcn =“oxidationPlantDT”;nlobj.Model.IsContinuousTime = false;

一般来说,为提高计算效率,最好的做法是为预测模型提供一个解析雅可比函数。在本例中,由于模拟速度足够快,所以不提供。

比较大的采样时间25当工厂稳定且主要目标是经济优化时,这里使用的秒是合适的。预测范围为2,预测时间为50秒。

Ts = 25;nlobj。Ts = Ts;%采样时间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.1而且3.

nlobj.MV.Min = 0.1;nlobj.MV.Max = 3;

的变化率u_1美元也仅限于+/-0.02/秒。

nlobj.MV.RateMin = -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

U0 = 0.5;

求稳态时的状态fsolve

x0 = real(fsolve(@(x) oxidationPlantCT(x,[u0;Tc;C2H4Avalability]),rand(1,4),optimopt));

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

EORate0 = C2H4Avalability/u0*x0(3)*x0(4);

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

validateFcns (nlobj x0,情况,[Tc C2H4Avalability]);
模型。StateFcn是OK的。没有指定输出函数。假设预测模型中“y = x”。优化。CustomCostFcn是OK的。分析了用户提供的模型、成本和约束函数。

你可以计算第一步使用nlmpcmove函数。它返回的MV为1.0,表明经济MPC将把MV从0.5提高到1,受受操纵的可变利率约束的限制。

mv = nlmpcmove(nlobj,x0,u0, 0 (1,4),[Tc C2H4Avalability]);

金宝app具有经济MPC控制器的Simulink模型

打开Simulin金宝appk模型。

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控制器块需要这些参考信号,但它们在自定义代价函数中被忽略。

Plant子系统通过集成ode来计算工厂状态oxidationPlantCT.m.假设所有的状态都是可测量的,因此在本例中不需要实现非线性状态估计器。的灭菌工厂产量是瞬时的C2H4O生产速率,用于显示目的。

模拟模型并分析结果

运行模拟。

open_system ([mdl' / MV ']);open_system ([mdl/灭菌的]);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金宝app模型。

bdclose (mdl)

参考文献

H.杜兰德,M.埃利斯,P. D.克里斯托菲德斯。经济模型预测控制设计用于输入变化率约束处理和保证经济性能。计算机与化学工程.Vol. 92,2016, pp 18-36。

相关的话题