基于控制网格精细化的管式反应器动态优化系统转让专利

申请号 : CN201711116200.3

文献号 : CN107908110B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘兴高李国栋王雅琳卢建刚阳春华孙优贤桂卫华

申请人 : 浙江大学

摘要 :

本发明公开了基于控制网格精细化的管式反应器动态优化系统,由管式反应器、流率传感器、模数转换器、现场总线网络、DCS、主控室流率及产品浓度显示、流率控制阀门端的数模转换器、流率控制阀门构成。控制室工程师指定管式反应器进料中各反应物料的浓度,DCS通过控制网格精细化优化方法得出使目标产品在管式反应器末端浓度最大的流率控制策略,并转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门执行相应动作,流率传感器实时采集管式反应器流率并回送给DCS,使控制室工程师随时掌握生产过程。本发明能够最大化管式反应器末端目标产品的浓度,实现挖潜增效。

权利要求 :

1.基于控制网格精细化的管式反应器动态优化系统,能够对管式反应器流率进行自动控制,以最大化管式反应器末端目标产品的浓度;其特征在于:由管式反应器(11)、流率传感器(12)、模数转换器(13)、现场总线网络(14)、分布式控制系统(15)、主控室流率及产品浓度显示(16)、流率控制阀门端的数模转换器(17)、流率控制阀门(18)构成;控制室工程师指定管式反应器进料中各反应物料的浓度,分布式控制系统通过控制网格精细化优化方法得出使目标产品在管式反应器末端浓度最大的流率控制策略,并转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门执行相应动作,流率传感器实时采集管式反应器流率并回送给分布式控制系统,使控制室工程师随时掌握生产过程;所述系统的运行过程包括:步骤A1:控制室工程师指定管式反应器进料中各反应物料的浓度、需要最大化浓度的目标产品及流率控制要求;

步骤A2:分布式控制系统执行内部的控制网格精细化优化方法,获得使管式反应器末端目标产品浓度最大的流率控制策略;

步骤A3:分布式控制系统将计算获得的流率控制策略转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门根据收到的控制指令执行相应动作;

步骤A4:管式反应器的流率传感器实时采集流率,经过模数转换器后用现场总线网络回送给分布式控制系统,并在主控室内显示,使控制室工程师随时掌握生产过程;

所述的分布式控制系统,包括信息采集模块、初始化模块、控制网格精细化模块、ODE求解模块、梯度计算模块、非线性规划(Non-linear Programming,简称NLP)问题求解模块、精细化收敛性判断模块、控制指令输出模块;其中信息采集模块包括进料浓度状态采集、目标产品采集、流率控制要求采集三个子模块,NLP问题求解模块包括寻优方向计算、寻优步长计算、NLP收敛性判断三个子模块;

为获得使管式反应器末端目标产品浓度最大的流率控制策略,所述的分布式控制系统执行的控制网格精细化优化方法,运行步骤如下:步骤B1:信息采集模块(31)获取控制室工程师指定的反应物料的初始浓度、需要最大化浓度的目标产品以及流率控制要求;

步骤B2:初始化模块(32)开始运行,采用分段常量参数化,设置管长的分段数N、对应的控制网格为 流率控制策略的参数化向量的初始猜测值 设定NLP问题的计算精度tol1和网格精细化的收敛精度tol2,将迭代次数k1和精细化次数k2置零;

步骤B3:当k2=0时,执行步骤B4;否则,通过控制网格精细化模块(33)对控制网格进行精细化处理,得到新的控制网格 及其对应的参数化向量步骤B4:通过ODE求解模块(34)获取本次迭代的物料浓度 和目标函数值步骤B5:通过梯度计算模块(35)获取本次迭代的梯度信息 当k1=0时跳过步骤B6直接执行步骤B7;

步骤B6:NLP问题求解模块(36)运行,通过NLP收敛性判断模块进行收敛性判断,如果与上一次迭代的目标函数值 之差的绝对值小于精度tol1,则判断收敛性满足,执行步骤B9;如果收敛性不满足,则继续执行步骤B7;

步骤B7:用 的值覆盖 的值,并将迭代次数k1增加1;

步骤B8:NLP问题求解模块(36)利用在步骤B4和B5中获得的目标函数值和梯度信息,通过计算寻优方向和寻优步长,获得比 更优的新的流率控制策略 该步骤执行完成后再次跳转至步骤B4;

步骤B9:精细化收敛性判断模块(37)运行,记 当k2=0时,执行步骤B10,否则,判断 与上一次精细化的目标函数值 之差的绝对值是否小于精度tol2,如果是,则判断收敛性满足,并将本次迭代的流率控制策略转换流率控制阀门的开度指令输出,否则收敛性不满足,置精细化次数k2:=k2+1,继续执行步骤B3,直至精细化收敛性判断模块满足为止;

所述的控制网格精细化模块,采用如下步骤实现:

步骤C1:由以下公式计算网格节点处的左斜率 和右斜率

其中,uk表示流率控制策略的参数化向量 的第k个分量,tk表示uk和uk+1之间的网格节点;

步骤C2:若网格节点tk处的左右斜率满足如下要求,则从网格中剔除该节点:其中,εe是一个较小的正实数;网格节点tk剔除后,uk和uk+1所对应的网格合并为一个新的网格,其上的参数更新为(uk+uk+1)/2;

步骤C3:若网格节点tk处的左斜率满足:

其中,εi是一个大于εe的正实数,则在[tk-1,tk]上插入网格节点;若网格节点tk处的右斜率满足:则在[tk-1,tk]上插入网格节点;实际应用时,可根据左右斜率的绝对值大小自由设定加入节点的个数;

步骤C4:根据步骤C2和C3中剔除和插入的节点,生成新的控制网格和相应的参数化向量;

所述的ODE求解模块,采用的是四步Runge-Kutta方法,计算公式为:其中,t表示沿管长方向的变化,ti表示Runge-Kutta方法选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,积分步长h为任意两相邻积分时刻之差,x(ti)表示距管式反应器入口ti处的物料浓度,F(·)是描述状态微分方程的函数,K1、K2、K3、K4分别表示Runge-Kutta法积分过程中的4个节点的函数值;

所述的梯度计算模块,采用的是伴随方法:

步骤D1:令λ(t)为协态向量,它的值由伴随方程确定:

其中,tf表示管式反应器的末端,H表示哈密尔顿函数,且H=L+λ(t)TF,L为目标函数的积分项,Φ[x(tf)]为目标函数的稳态项;

步骤D2:对于伴随方程,采用四步Runge-Kutta方法得到协态向量λ(t)在各积分时刻的值,计算公式为:其中,t表示沿管长方向的变化,ti为ODE求解模块中选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,并且ti+1=ti+h,h为积分步长,Q1、Q2、Q3、Q4分别表示Runge-Kutta法积分过程中的4个节点的函数值;

步骤D3:基于得到的协态向量λ(t)的值,由以下公式得到梯度信息

其中, 和 表示 的第一个和第二个分量,依此类推;

所述的NLP问题求解模块,采用如下步骤实现:

步骤E1:执行步骤B6-B7;

步骤E2:将流率控制策略 作为向量空间中的某个点,记作P1,P1对应的目标函数值就是步骤E3:从点P1出发,根据选用的NLP算法和点P1处的梯度信息 构造向量空间中的一个寻优方向 和步长(k1)

步骤E4:通过式 I构造向量空间中对应u 的另外一个点P2,使

得P2对应的目标函数值 比 更优,其中,I是与 同维数的向量。

说明书 :

基于控制网格精细化的管式反应器动态优化系统

技术领域

[0001] 本发明涉及反应器控制领域,主要是基于控制网格精细化的管式反应器动态优化系统。能够对管式反应器的流率进行自动控制,以最大化目标产品的浓度,从而提高反应器的生产效率。

背景技术

[0002] 管式反应器属于平推流反应器,广泛应用于石油化工、精细化工等工业生产中,如丙烯聚合生产。
[0003] 对于管长固定的管式反应器,当原料配额比、浓度等物料参数确定以后,影响产品产量的关键因素是反应物流动速度,即流率。由于不同产品的生产工艺要求不同,所以按生产工艺要求对管式反应器进行自动流率控制具有重要意义。
[0004] 当前,国内管式反应器的控制方法中很少采用动态优化理论及对应方法,控制器中的参数往往凭已有经验设定,生产效率有待进一步提高。采用动态优化方法后的管式反应器的产品浓度可以进一步提高,实现挖潜增效。

发明内容

[0005] 为了提高管式反应器目标产品的浓度,本发明提供了基于控制网格精细化的管式反应器动态优化系统。
[0006] 本发明的目的是通过以下技术方案来实现的:基于控制网格精细化的管式反应器动态优化系统,能够对管式反应器流率进行自动控制,以最大化管式反应器末端目标产品的浓度。其特征在于:由管式反应器11、流率传感器12、模数转换器13、现场总线网络14、DCS15、主控室流率及产品浓度显示16、流率控制阀门端的数模转换器17、流率控制阀门18构成。控制室工程师指定管式反应器进料中各反应物料的浓度,DCS通过控制网格精细化优化方法得出使目标产品在管式反应器末端浓度最大的流率控制策略,并转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门执行相应动作,流率传感器实时采集管式反应器流率并回送给DCS,使控制室工程师随时掌握生产过程。所述系统的运行过程包括:
[0007] 步骤A1:控制室工程师指定管式反应器进料中各反应物料的浓度、需要最大化浓度的目标产品及流率控制要求;
[0008] 步骤A2:DCS执行内部的控制网格精细化优化方法,获得使管式反应器末端目标产品浓度最大的流率控制策略;
[0009] 步骤A3:DCS将计算获得的流率控制策略转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门根据收到的控制指令执行相应动作;
[0010] 步骤A4:管式反应器的流率传感器实时采集流率,经过模数转换器后用现场总线网络回送给DCS,并在主控室内显示,使控制室工程师随时掌握生产过程。
[0011] 所述的DCS,包括信息采集模块、初始化模块、控制网格精细化模块、ODE求解模块、梯度计算模块、非线性规划(Non-linear Programming,简称NLP)问题求解模块、精细化收敛性判断模块、控制指令输出模块。其中信息采集模块包括进料浓度状态采集、目标产品采集、流率控制要求采集三个子模块,NLP问题求解模块包括寻优方向计算、寻优步长计算、NLP收敛性判断三个子模块。
[0012] 管式反应器的生产过程可以描述为:
[0013]
[0014] 其中,t表示沿管长方向的变化;u(t)表示流率;x(t)表示管式反应器中沿管长方向变化的物料浓度;F(·)是根据物料平衡、能量平衡等建立的微分方程组。从该描述可以看出,管式反应器中目标产品的生产过程可以用数学上的一组微分方程组来表示。
[0015] 要使管式反应器中目标产品的浓度最大化,以x1(t)表示目标产品沿管长变化的浓度,则该问题的最终表达式为:
[0016]
[0017] 其中,t0表示管式反应器的进料口处,tf表示管式反应器的末端,J表示需要最大化的目标函数。该问题本质上是动态优化问题。但是,传统方法对于这类问题的求解,具有效率低、精度差的缺陷,难以满足实际生产时高效率的要求。
[0018] 本发明解决其技术问题所采用的技术方案是:在DCS中集成了控制网格精细化优化方法,并以此为基础构建了一套动态优化控制系统。所述的系统的完整结构包括管式反应器21、流率传感器22、模数转换器23、现场总线网络24、DCS25、主控室流率及产品浓度显示26、流率控制阀门端的数模转换器27、流率控制阀门28。
[0019] 所述的系统的运行过程包括:
[0020] 步骤A1:控制室工程师指定管式反应器进料中各反应物料的浓度、需要最大化浓度的目标产品及流率控制要求;
[0021] 步骤A2:DCS执行内部的控制网格精细化优化方法,获得使管式反应器末端目标产品浓度最大的流率控制策略;
[0022] 步骤A3:DCS将计算获得的流率控制策略转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门根据收到的控制指令执行相应动作;
[0023] 步骤A4:管式反应器的流率传感器实时采集流率,经过模数转换器后用现场总线网络回送给DCS,并在主控室内显示,使控制室工程师随时掌握生产过程。
[0024] 所述的DCS,包括信息采集模块、初始化模块、控制网格精细化模块、ODE求解模块、梯度计算模块、非线性规划(Non-linear Programming,简称NLP)问题求解模块、精细化收敛性判断模块、控制指令输出模块。其中信息采集模块包括进料浓度状态采集、目标产品采集、流率控制要求采集三个子模块,NLP问题求解模块包括寻优方向计算、寻优步长计算、NLP收敛性判断三个子模块。
[0025] 为获得使管式反应器末端目标产品浓度最大的流率控制策略,所述的DCS执行的控制网格精细化优化方法,运行步骤如下:
[0026] 步骤B1:信息采集模块31获取工程师指定的反应物料的初始浓度、需要最大化浓度的目标产品以及流率控制要求;
[0027] 步骤B2:初始化模块32开始运行,采用分段常量参数化,设置管长的分段数N、对应的控制网格为 流率控制策略的参数化向量的初始猜测值 设定NLP问题的计算精度tol1和网格精细化的收敛精度tol2,将迭代次数k1和精细化次数k2置零;
[0028] 步骤B3:当k2=0时,执行步骤B4;否则,通过控制网格精细化模块33对控制网格进行精细化处理,得到新的控制网格 及其对应的参数化向量
[0029] 步骤B4:通过ODE求解模块34获取本次迭代的物料浓度 和目标函数值[0030] 步骤B5:通过梯度计算模块35获取本次迭代的梯度信息 当k1=0时跳过步骤B6直接执行步骤B7;
[0031] 步骤B6:NLP问题求解模块36运行,通过NLP收敛性判断模块进行收敛性判断,如果与上一次迭代的目标函数值 之差的绝对值小于精度tol1,则判断收敛性满足,执行步骤B9;如果收敛性不满足,则继续执行步骤B7;
[0032] 步骤B7:用 的值覆盖 的值,并将迭代次数k1增加1;
[0033] 步骤B8:NLP问题求解模块36利用在步骤B4和B5中获得的目标函数值和梯度信息,通过计算寻优方向和寻优步长,获得比 更优的新的流率控制策略 该步骤执行完成后再次跳转至步骤B4;
[0034] 步骤B9:精细化收敛性判断模块37运行,记 当k2=0时,执行步骤B10,否则,判断 与上一次精细化的目标函数值 之差的绝对值是否小于精度tol2,如果是,则判断收敛性满足,并将本次迭代的流率控制策略转换流率控制阀门的开度指令输出,否则收敛性不满足,置精细化次数k2:=k2+1,继续执行步骤B3,直至精细化收敛性判断模块满足为止。
[0035] 所述的控制网格精细化模块,采用如下步骤实现:
[0036] 步骤C1:由以下公式计算网格节点处的左斜率 和右斜率 (k=1,…,N-1):
[0037]
[0038]
[0039] 其中,uk表示流率控制策略的参数化向量u的第k个分量,tk表示uk和uk+1之间的网格节点。
[0040] 步骤C2:若网格节点tk处的左右斜率满足如下要求,则从网格中剔除该节点:
[0041]
[0042] 其中,εe是一个较小的正实数。网格节点tk剔除后,uk和uk+1所对应的网格合并为一个新的网格,其上的参数更新为(uk+uk+1)/2。
[0043] 步骤C3:若网格节点tk处的左斜率满足:
[0044]
[0045] 其中,εi是一个大于εe的正实数,则在[tk-1,tk]上插入网格节点;若网格节点tk处的右斜率满足:
[0046]
[0047] 则在[tk-1,tk]上插入网格节点。实际应用时,可根据左右斜率的绝对值大小自由设定加入节点的个数。
[0048] 步骤C4:根据步骤C2和C3中剔除和插入的节点,生成新的控制网格和相应的参数化向量。
[0049] 所述的ODE求解模块,采用的是四步Runge-Kutta方法,计算公式为:
[0050]
[0051] 其中,t表示沿管长方向的变化,ti表示Runge-Kutta方法选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,积分步长h为任意两相邻积分时刻之差,x(ti)表示距管式反应器入口ti处的物料浓度,F(·)是描述状态微分方程的函数,K1、K2、K3、K4分别表示Runge-Kutta法积分过程中的4个节点的函数值。
[0052] 所述的梯度计算模块,采用的是伴随方法:
[0053] 步骤D1:令λ(t)为协态向量,它的值由伴随方程确定:
[0054]
[0055] 其中,tf表示管式反应器的末端,H表示哈密尔顿函数,且H=L+λ(t)TF,L为目标函数的积分项,Φ[x(tf)]为目标函数的稳态项。
[0056] 步骤D2:对于伴随方程,采用四步Runge-Kutta方法得到协态向量λ(t)在各积分时刻的值,计算公式为:
[0057]
[0058] 其中,t表示沿管长方向的变化,ti为ODE求解模块中选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,并且ti+1=ti+h,h为积分步长,Q1、Q2、Q3、Q4分别表示Runge-Kutta法积分过程中的4个节点的函数值。
[0059] 步骤D3:基于得到的协态向量λ(t)的值,由以下公式得到梯度信息[0060]
[0061] 其中, 和 表示 的第一个和第二个分量,依此类推。
[0062] 所述的NLP问题求解模块,采用如下步骤实现:
[0063] 步骤E1:如果 与上一次迭代的目标函数值 的绝对值之差小于精度tol1,则判断收敛性满足,返回本次迭代得到的流率控制策略;如果收敛性不满足,则继续执行步骤E2;
[0064] 步骤E2:用 的值覆盖 的值,并将迭代次数k1增加1;
[0065] 步骤E3:将流率控制策略 作为向量空间中的某个点,记作P1,P1对应的目标函数值就是
[0066] 步骤E4:从点P1出发,根据选用的NLP算法和点P1处的梯度信息 构造向量空间中的一个寻优方向 和步长
[0067] 步骤E5:通过式 构造向量空间中对应 的另外一个点P2,使得P2对应的目标函数值 比 更优,其中,I是与 同维数的向量。
[0068] 本发明的有益效果主要表现在:基于控制网格精细化的管式反应器动态优化系统,能够计算出管式反应器的最优流率控制策略,可以适应问题的最优控制曲线,特别是找到问题的不连续点,能够获得较高的精度;采用自适应策略之后,下一次最优控制曲线的初始估计值是当前迭代的最优曲线,由此可以获得较快的收敛速度,减少得到最优控制策略所需的计算时间。本发明能够最大化管式反应器中目标产品的浓度,实现挖掘增效。

附图说明

[0069] 图1是本发明的功能示意图;
[0070] 图2是本发明的结构示意图;
[0071] 图3是本发明DCS内部模块结构图;

具体实施方式

[0072] 如图1所示,管式反应器的生产过程可以描述为:
[0073]
[0074] 其中,t表示沿管长方向的变化;u(t)表示流率;x(t)表示管式反应器中沿管长方向变化的物料浓度;F(·)是根据物料平衡、能量平衡等建立的微分方程组。从该描述可以看出,管式反应器中目标产品的生产过程可以用数学上的一组微分方程组来表示。
[0075] 要使管式反应器中目标产品的浓度最大化,以x1(t)表示目标产品沿管长变化的浓度,则该问题的最终表达式为:
[0076]
[0077] 其中,t0表示管式反应器的进料口处,tf表示管式反应器的末端,J表示需要最大化的目标函数。该问题本质上是动态优化问题。但是,传统方法对于这类问题的求解,具有效率低、精度差的缺陷,难以满足实际生产时高效率的要求。
[0078] 本发明解决其技术问题所采用的技术方案是:在DCS中集成了控制网格精细化优化方法,并以此为基础构建了一套动态优化控制系统。所述的系统的完整结构如图2所示,包括管式反应器21、流率传感器22、模数转换器23、现场总线网络24、DCS25、主控室流率及产品浓度显示26、流率控制阀门端的数模转换器27、流率控制阀门28。
[0079] 所述的系统的运行过程包括:
[0080] 步骤A1:控制室工程师指定管式反应器进料中各反应物料的浓度、需要最大化浓度的目标产品及流率控制要求;
[0081] 步骤A2:DCS执行内部的控制网格精细化优化方法,获得使管式反应器末端目标产品浓度最大的流率控制策略;
[0082] 步骤A3:DCS将计算获得的流率控制策略转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门根据收到的控制指令执行相应动作;
[0083] 步骤A4:管式反应器的流率传感器实时采集流率,经过模数转换器后用现场总线网络回送给DCS,并在主控室内显示,使控制室工程师随时掌握生产过程。
[0084] 所述的DCS,包括信息采集模块、初始化模块、控制网格精细化模块、ODE求解模块、梯度计算模块、非线性规划(Non-linear Programming,简称NLP)问题求解模块、精细化收敛性判断模块、控制指令输出模块。其中信息采集模块包括进料浓度状态采集、目标产品采集、流率控制要求采集三个子模块,NLP问题求解模块包括寻优方向计算、寻优步长计算、NLP收敛性判断三个子模块。
[0085] 为获得使管式反应器末端目标产品浓度最大的流率控制策略,所述的DCS执行的控制网格精细化优化方法,运行步骤如下:
[0086] 步骤B1:信息采集模块31获取工程师指定的反应物料的初始浓度、需要最大化浓度的目标产品以及流率控制要求;
[0087] 步骤B2:初始化模块32开始运行,采用分段常量参数化,设置管长的分段数N、对应的控制网格为 流率控制策略的参数化向量的初始猜测值 设定NLP问题的计算精度tol1和网格精细化的收敛精度tol2,将迭代次数k1和精细化次数k2置零;
[0088] 步骤B3:当k2=0时,执行步骤B4;否则,通过控制网格精细化模块33对控制网格进行精细化处理,得到新的控制网格 及其对应的参数化向量
[0089] 步骤B4:通过ODE求解模块34获取本次迭代的物料浓度 和目标函数值[0090] 步骤B5:通过梯度计算模块35获取本次迭代的梯度信息 当k1=0时跳过步骤B6直接执行步骤B7;
[0091] 步骤B6:NLP问题求解模块36运行,通过NLP收敛性判断模块进行收敛性判断,如果与上一次迭代的目标函数值 之差的绝对值小于精度tol1,则判断收敛性满足,执行步骤B9;如果收敛性不满足,则继续执行步骤B7;
[0092] 步骤B7:用 的值覆盖 的值,并将迭代次数k1增加1;
[0093] 步骤B8:NLP问题求解模块36利用在步骤B4和B5中获得的目标函数值和梯度信息,通过计算寻优方向和寻优步长,获得比 更优的新的流率控制策略 该步骤执行完成后再次跳转至步骤B4;
[0094] 步骤B9:精细化收敛性判断模块37运行,记 当k2=0时,执行步骤B10,否则,判断 与上一次精细化的目标函数值 之差的绝对值是否小于精度tol2,如果是,则判断收敛性满足,并将本次迭代的流率控制策略转换流率控制阀门的开度指令输出,否则收敛性不满足,置精细化次数k2:=k2+1,继续执行步骤B3,直至精细化收敛性判断模块满足为止。
[0095] 所述的控制网格精细化模块,采用如下步骤实现:
[0096] 步骤C1:由以下公式计算网格节点处的左斜率 和右斜率 (k=1,…,N-1):
[0097]
[0098]
[0099] 其中,uk表示流率控制策略的参数化向量u的第k个分量,tk表示uk和uk+1之间的网格节点。
[0100] 步骤C2:若网格节点tk处的左右斜率满足如下要求,则从网格中剔除该节点:
[0101]
[0102] 其中,εe是一个较小的正实数。网格节点tk剔除后,uk和uk+1所对应的网格合并为一个新的网格,其上的参数更新为(uk+uk+1)/2。
[0103] 步骤C3:若网格节点tk处的左斜率满足:
[0104]
[0105] 其中,εi是一个大于εe的正实数,则在[tk-1,tk]上插入网格节点;若网格节点tk处的右斜率满足:
[0106]
[0107] 则在[tk-1,tk]上插入网格节点。实际应用时,可根据左右斜率的绝对值大小自由设定加入节点的个数。
[0108] 步骤C4:根据步骤C2和C3中剔除和插入的节点,生成新的控制网格和相应的参数化向量。
[0109] 所述的ODE求解模块,采用的是四步Runge-Kutta方法,计算公式为:
[0110]
[0111] 其中,t表示沿管长方向的变化,ti表示Runge-Kutta方法选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,积分步长h为任意两相邻积分时刻之差,x(ti)表示距管式反应器入口ti处的物料浓度,F(·)是描述状态微分方程的函数,K1、K2、K3、K4分别表示Runge-Kutta法积分过程中的4个节点的函数值。
[0112] 所述的梯度计算模块,采用的是伴随方法:
[0113] 步骤D1:令λ(t)为协态向量,它的值由伴随方程确定:
[0114]
[0115] 其中,tf表示管式反应器的末端,H表示哈密尔顿函数,且H=L+λ(t)TF,L为目标函数的积分项,Φ[x(tf)]为目标函数的稳态项。
[0116] 步骤D2:对于伴随方程,采用四步Runge-Kutta方法得到协态向量λ(t)在各积分时刻的值,计算公式为:
[0117]
[0118] 其中,t表示沿管长方向的变化,ti为ODE求解模块中选择的积分时刻,ti+1表示位于时刻ti后的积分时刻,并且ti+1=ti+h,h为积分步长,Q1、Q2、Q3、Q4分别表示Runge-Kutta法积分过程中的4个节点的函数值。
[0119] 步骤D3:基于得到的协态向量λ(t)的值,由以下公式得到梯度信息[0120]
[0121] 其中, 和 表示 的第一个和第二个分量,依此类推。
[0122] 所述的NLP问题求解模块,采用如下步骤实现:
[0123] 步骤E1:如果 与上一次迭代的目标函数值 的绝对值之差小于精度tol1,则判断收敛性满足,返回本次迭代得到的流率控制策略;如果收敛性不满足,则继续执行步骤E2;
[0124] 步骤E2:用 的值覆盖 的值,并将迭代次数k1增加1;
[0125] 步骤E3:将流率控制策略 作为向量空间中的某个点,记作P1,P1对应的目标函数值就是
[0126] 步骤E4:从点P1出发,根据选用的NLP算法和点P1处的梯度信息 构造向量空间中的一个寻优方向 和步长
[0127] 步骤E5:通过式 构造向量空间中对应 的另外一个点P2,使得P2对应的目标函数值 比 更优,其中,I是与 同维数的向量。
[0128] 实施例1
[0129] 在管式反应器中发生并行反应:A→B和A→C,反应速率常数分别为k1和k2,B是目标产品,C是副产物,目标是控制阻塞流率使得产物B在反应器末端的浓度最大。用xA(t)和xB(t)分别表示物料A和B沿管长的浓度,u(t)=k1L/v(t)是与阻塞流率直接相关的物理量,其中L为反应器长度,v(t)是阻塞流率。最终,该最优控制问题可以化简表示为:
[0130]
[0131] 其中,J表示要最大化的物料B的浓度,tf表示管式反应器的末端,t表示沿管长方向长度变化,x(0)物料A和B在管式反应器入口处的初始浓度。为了获得使得目标产品B在管式反应器末端浓度最大的流率控制策略,DCS运行控制网格精细化优化方法,其运行过程如图3所示,执行步骤为:
[0132] 步骤F1:信息采集模块31获取工程师指定的反应物料的初始浓度x(0)=[1 0]T、需要最大化浓度的目标产品B、以及流率控制要求0≤u(t)≤5;
[0133] 步骤F2:初始化模块32开始运行,采用分段常量参数化,设置管长的分段数为8、对应的控制网格 为均匀划分、流率控制策略的参数化向量的初始猜测值u(k)为0.5,设定NLP问题的计算精度tol1和网格精细化的收敛精度tol2分别为10-7和10-6,将迭代次数k1和精细化次数k2置零;
[0134] 步骤F3:当k2=0时,执行步骤F4;否则,通过控制网格精细化模块33对控制网格进行精细化处理,得到新的控制网格 及其对应的参数化向量
[0135] 步骤F4:通过ODE求解模块34获取本次迭代的物料浓度 和目标函数值[0136] 步骤F5:通过梯度计算模块35获取本次迭代的梯度信息 当k1=0时跳过步骤F6直接执行步骤F7;
[0137] 步骤F6:NLP问题求解模块36运行,通过NLP收敛性判断模块进行收敛性判断,如果与上一次迭代的目标函数值 之差的绝对值小于精度tol1,则判断收敛性满足,执行步骤F9;如果收敛性不满足,则继续执行步骤F7;
[0138] 步骤F7:用 的值覆盖 的值,并将迭代次数k1增加1;
[0139] 步骤F8:NLP问题求解模块36利用在步骤F4和F5中获得的目标函数值和梯度信息,通过计算寻优方向和寻优步长,获得比 更优的新的流率控制策略 该步骤执行完成后再次跳转至步骤F4;
[0140] 步骤F9:精细化收敛性判断模块37运行,记 当k2=0时,执行步骤F10,否则,判断 与上一次精细化的目标函数值 之差的绝对值是否小于精度tol2,如果是,则判断收敛性满足,并将本次迭代的流率控制转换混合流率阀门的开度指令输出,否则收敛性不满足,置精细化次数k2:=k2+1,继续执行步骤F3,直至精细化收敛性判断模块满足为止。
[0141] 最后,DCS将通过控制网格精细化优化方法获得的流率控制策略转换为流率控制阀门的开度指令,通过现场总线网络发送给流率控制阀门端的数模转换器,使流率控制阀门根据收到的控制指令执行相应动作,同时用流率传感器实时采集管式反应器沿管长分布的流率,经过模数转换器后用现场总线网络回送给DCS,并在主控室内显示。
[0142] 以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。