经济政策委员会对环氧乙烷生产的控制
这个例子展示了如何最大化的生产环氧乙烷装置使用一个经济利润MPC控制器。这个控制器是使用非线性MPC控制器实现一个定制的基于绩效的成本函数。
非线性氧化乙烯装置
乙烯(C2H4)转换成环氧乙烷(灭菌)发生在冷却,气相催化反应器。三个反应同时发生在反应器内的气相混合:
C2H4 + 0.5 * O2 - >灭菌
C2H4 + 3 * O2 - > 2 * CO2 + 2 * H2O
灭菌+ 2.5 * O2 - > 2 * CO2 + 2 * H2O
第一个反应是想要和其他两个是多余的,因为他们减少灭菌生产。的混合空气和乙烯不断送入反应堆。反应堆的第一原则非线性动态模型是实现为一组常微分方程(常微分方程)oxidationPlantCT
函数。有关更多信息,请参见oxidationPlantCT.m
。
植物有四个州:
气体密度在反应堆()
反应堆C2H4浓度()
在反应堆灭菌浓度()
反应堆温度()
工厂有三个输入:
饲料C2H4浓度()
反应堆冷却套管温度()
C2H4饲料率()
所有变量在模型中是按比例缩小的无量纲和团结的秩序。基本的植物方程和参数从[1]获得一些输入/输出的变化定义和排序。
植物是渐近开环稳定。
控制目标和约束
主要控制目标是最大化环氧乙烷(灭菌)产量(进而最大化利润)在任何稳态操作点,C2H4在原料流的可用性。
灭菌生产率被定义为产品的灭菌浓度反应器()和总容积流量退出反应堆()。
操作点实际上是由三个输入框。是C2H4提要中的浓度,MPC控制器可以操纵。是冷却套管温度,使温度稳定。是C2H4进给速率,表明可用乙烯来自一个上游的过程。灭菌产量更高的进给速率增加了可实现的。在这个例子中,两个和测量干扰。
在最初的操作点最优产量
在初始条件,冷却夹克温度1.1
和C2H4可用性0.175
。
Tc = 1.1;C2H4Avalability = 0.175;
灭菌生产速度席卷计算最优的操作范围C2H4提要中的浓度()使用fsolve
。优化工具箱是必需的optimoptions
和fsolve
命令。
uRange = 0.1:0.1:3;EORate = 0(长度(uRange), 1);optimopt = optimoptions (“fsolve”,“显示”,“没有”);为ct = 1:长度(uRange) xRange =实际(fsolve (@ (x) oxidationPlantCT (x, [uRange (ct); Tc; C2H4Avalability]),兰德(1、4),optimopt));EORate (ct) = C2H4Avalability / uRange (ct) * xRange (3) * xRange (4);结束图绘制(uRange EORate)包含(“C2H4浓度提要”)ylabel (“灭菌产量”)
0.0156实现的最佳灭菌产量= 1.6。换句话说,如果工厂最初经营C2H4浓度不同饲料,你期望经济MPC控制器将它1.6灭菌产量达到最优。
非线性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因为有MVs比ov少。
非线性植物模型中定义oxidationPlantDT
。它是一个离散时间模型,多步显式欧拉方法用于集成。虽然这个示例使用非线性植物模型,你也可以使用线性植物模型实现经济政策委员会。
nlobj.Model。StateFcn =“oxidationPlantDT”;nlobj.Model。IsContinuousTime = false;
一般来说,为了提高计算效率,这是最佳实践提供一个分析雅可比矩阵函数预测模型。在本例中,您没有提供一个因为仿真是不够快。
的相对较大的样品时间25
这里使用秒时适当的植物稳定和主要目标是经济优化。预测地平线2
,提供一个预测时间是50秒。
Ts = 25;nlobj。Ts = t;%样品时间nlobj。PredictionHorizon = 2;%预测地平线nlobj。ControlHorizon = 2;%控制地平线
中的所有状态预测模型基于第一原则必须是积极的。因此,指定一个最小零的绑定状态。
nlobj.States (1)。最小值= 0;nlobj.States (2)。最小值= 0;nlobj.States (3)。最小值= 0;nlobj.States (4)。最小值= 0;
植物输入之间必须保持在饱和范围内吗0.1
和3
。
nlobj.MV。最小值= 0.1;nlobj.MV。Max = 3;
利率的变化也仅限于+ / -0.02
/秒。
nlobj.MV。杀鼠灵= -0.02 * Ts;nlobj.MV。RateMax = 0.02 * Ts;
经济政策委员会的定义代价函数
而不是使用标准的二次目标函数,一个自定义代价函数作为替代。你想最大化灭菌生产速度预测地平线的尽头。
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,[情况;Tc; C2H4Avalability]),兰德(1、4),optimopt));
灭菌生产率是0.0138,0.0156的远离最优条件。
EORate0 = C2H4Avalability /情况* * x0 x0 (3) (4);
验证状态函数和成本函数的初始条件。
validateFcns (nlobj x0,情况,[Tc C2H4Avalability]);
模型。StateFcn就可以了。没有指定的输出函数。假设“y = x”预测模型。优化。CustomCostFcn就可以了。用户提供的模型分析、成本和约束函数完成。
你可以计算使用的第一步nlmpcmove
函数。它返回一个MV的1.0,表明经济政策委员会将增加从0.5到1 MV,被控变量率限制约束。
mv = nlmpcmove (x0, nlobj情况,0 (1、4),[Tc C2H4Avalability]);
金宝app与经济MPC控制器仿真软件模型
打开仿真软件模型。金宝app
mdl =“mpc_economicEO”;open_system (mdl)
最初冷却套管温度1.1
和保持不变的100秒。然后增加到1.15
灭菌生产速度,因此,减少最优0.0156
来0.0135
。
C2H4最初可用性0.175
和保持不变的200秒。然后增加到0.25
,因此,提高灭菌产量最优0.0135
来0.0195
。
模型包括常数(零)参考输出的四个工厂。非线性MPC控制器块需要这些参考信号,但是他们忽视了定制的成本函数。
工厂子系统通过集成的常微分方程计算植物状态oxidationPlantCT.m
。假设所有的州是可衡量的,这样你不需要实现一个非线性状态估计在这个例子。的灭菌
植物输出瞬时灭菌生产速率,用于显示目的。
模拟模型和分析结果
运行仿真。
open_system ([mdl' / MV ']);open_system ([mdl/灭菌的]);sim (mdl)
因为灭菌装置操作在初始条件不是最优的,它可以提高利润。在第一个100秒,经济MPC控制器逐渐移动工厂真正的最适条件下相同的冷却套管温度和C2H4可用性约束。它可以提高灭菌生产速度:
这可能是每年数百万美元的大规模生产。
在接下来的100秒,冷却套管温度增加1.1
来1.15
。经济MPC控制器使植物顺利到新的最优条件0.0135
像预期的那样。
在接下来的100秒,C2H4可用性增加0.175
来0.25
。经济再次MPC控制器能够将植物新最佳稳定状态0.0195
。
关闭仿真软件模型。金宝app
bdclose (mdl)
引用
[1]h . m . Ellis勾勒出p·d·Christofides。“经济模型预测控制设计输入变化率约束处理和保证经济表现。”电脑和化学工程。92卷,2016年,页18-36。