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

这个例子展示了如何使用一个经济的MPC控制器来最大化环氧乙烷工厂的产量以获取利润。该控制器采用带有自定义性能成本函数的非线性MPC控制器实现。

这个例子需要Simulink®软件来模拟Si金宝appmulink中乙烯氧化装置的非线性MPC控制。

如果~ mpcchecktoolboxinstalled (“金宝app模型”)disp (运金宝app行这个例子需要Simulink(R)。)返回结束

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

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

非线性乙烯氧化装置

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

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

第一种反应是需要的,另外两种是不需要的,因为它们减少了C2H4O的生成。空气和乙烯的混合物不断地进入反应器。反应器的第一原理非线性动力学模型被实现为一组常微分方程(ode)oxidationPlantCT函数。有关更多信息,请参见oxidationPlantCT.m

工厂有四个州:

  • 堆内气体密度(x_1美元)

  • 反应器中C2H4浓度(x_2美元)

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

  • 反应堆温度(x_4美元)

工厂有三个投入:

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

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

  • C2H4进给速度(u_3美元)

模型中的所有变量都按无量纲和统一顺序缩放。基本的植物方程和参数是从[1]得到的,在输入/输出定义和排序上做了一些改变。

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

控制目标及限制

主要的控制目标是最大限度地提高环氧乙烷(C2H4O)的产量(这反过来又使利润最大化)在任何稳态操作点,给定的可用性的C2H4在饲料流。

所述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.1C2H4的可用性是0.175

TC = 1.1;C2H4Avalability = 0.175;

通过扫描饲料中C2H4浓度的操作范围(u_1美元)使用fsolve

uRange = 0.1:0.1:3;EORate = 0(长度(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)包含(饲料中C2H4浓度)ylabel(“灭菌产量”)

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

非线性MPC设计

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

nlobj = nlmpc (4 4“MV”,1'MD'3 [2]);nlobj.States (1)。Name =“窝”;nlobj.States (1)。Name =“C2H4”;nlobj.States (1)。Name =“灭菌”;nlobj.States (1)。Name =“锝”;nlobj.MV。Name =“CEin”;nlobj.MD(1)请将.Name =“锝”;nlobj.MD (2)。Name =“可用性”;
在标准成本函数中,默认情况下对一个或多个OVs应用零权值,因为与OVs相比,MVs更少。

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

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

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

相对较大的采样时间25这里使用的秒是适当的,当工厂是稳定的,主要目标是经济优化。预测地平线2,因此预测时间为50秒。

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

基于第一性原理,预测模型中的所有状态必须为正。因此,指定所有状态的最小界为0。

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 /情况* * x0 x0 (3) (4);

验证初始条件下的状态函数和成本函数。

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

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

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

金宝appSimulink模型与经济MPC控制器

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

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

模拟模型并分析结果

运行仿真。

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

由于C2H4O装置在初始条件下运行不是最优的,其利润可以得到提高。在前100秒内,在相同的冷却套温度和C2H4可用性约束下,经济性MPC控制器逐渐将工厂移动到真正的最优状态。提高了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)

参考

[1] H. Durand, M. Ellis, P. D. Christofides。经济模型预测控制设计用于输入变化率约束处理和保证经济性能。计算机与化学工程。第92卷,2016年,第18-36页。

相关话题