一种基于多代理模型的常压精馏过程建模方法与流程

文档序号:17152826发布日期:2019-03-19 23:37阅读:258来源:国知局
一种基于多代理模型的常压精馏过程建模方法与流程

本发明涉及石油化工领域中一种常压装置的代理模型建立方法,尤其涉及一种基于多代理模型的常压精馏过程建模方法。



背景技术:

常压精馏装置在石油加工行业占有者举足轻重的地位,它是石油加工的第一道工序,承担着对原油的初步分离的重任。从常压精馏过程来看,由于原油切换频繁导致其数学模型异常复杂。此外,常压精馏装置通常伴随着能耗大与效率低等问题。与发达国家相比,我国的常压生产过程存在严重的高成本、高能耗、资源利用率低等问题。通常来讲,解决这些问题的关键在于对精馏过程实施操作优化,使装置在面临原料、设备运行状况乃至环境、市场等因素变化时保持平稳与高效运行。然而,实施操作优化是需要过程对象的模型作为基础。由于常压精馏过程对象的数学模型异常复杂,不利于在线的高效运算,因此建立代理模型就成为一中常见的解决方案。

所谓代理模型是指代替复杂的实际对象的近似模型,用来在一定程度上解决在线控制与优化算法在适应度评价时的耗时计算问题。简单来讲,代理模型就是要输入与输出之间的回归模型,而建立回归模型的方式有多种,常见的回归模型包括:统计回归模型、神经网络(neuralnetwork,nn)、高斯过程回归(gaussianprocessregression,gpr)、支持向量机、极限学习机(extremelearningmachine,elm)等等。统计回归模型中最常见的莫过于偏最小二乘(partialleastsquare,pls)算法,大多局限于输入与输出之间的线性回归关系。虽然pls算法可借鉴支持向量机领域的核学习技巧拓展成非线性形式,但是在线实施时涉及到大量核函数计算,无法保证高效率的实时计算。神经网络在完成离线建模后,在线调用时计算速度明显比支持向量机快,因此成为建立代理模型的首选方式。值得指出的是,广义回归神经网络(generalizedregressionnn,grnn)具有很强的非线性拟合能力,且在训练样本数据较少时,预测效果也很好。另外,elm算法的优势在于训练速度很快与泛化能力很强,已被广泛用于分类、回归等问题中,同样是建立代理模型的首选方法。

然而,有这么多的算法可供选择,如何选择最优的算法建立代理模型呢?以及如何不断优化更新代理模型从而保证回归精度呢?通常来讲,没有哪一个算法在建立代理模型问题上是最优的,只能更具具体的问题进行测试从而选择相应的算法。近年来,多模型的建模思路得到越来越多人的认可,这主要是多模型可以充分发挥各个子模型的优势。因此,多模型的建模方案为算法的选择提供可行之路。一般而言,回归精度与采样数据的更新是直接相关的。通过不断的对训练数据加点的操作能够完善与充实训练数据集,以新训练数据集训练相应的代理模型理应提升模型的精度。而在加点的过程中,需要对数据进行搜寻,这就涉及到一个优化问题。可以说,如何如何建立多代理模型并对多个代理模型进行优化更新是一个丞待解决的难题,在现有科研文献与专利材料中,还鲜有涉及这方面的研究成果与技术。



技术实现要素:

本发明所要解决的主要技术问题是:如何建立多代理模型并对多个代理模型进行优化更新以保证回归精度。为此,本发明公开一种基于多代理模型的常压精馏过程建模方法。具体来讲,本发明方法首先利用常压精馏机理模型生成输入与输出训练数据后,利用grnn、elm、和gpr算法分别建立三个不同回归模型。其次,利用三个回归模型误差大小对子回归模型加权,从而加权得到最终对输出的估计值。然后,利用差分进化(differentialevolution,de)算法搜寻新输入输出样本数据,从而不断优化回归模型直至满足误差精度要求。

本发明解决上述技术问题所采用的技术方案为:一种基于多代理模型的常压精馏过程建模方法,包括以下所示步骤:

(1)确定常压精馏过程对象的输入测量变量与输出测量变量,并利用常压精馏过程的机理模型生成n个输入样本数据及其对应的n个输出样本数据,分别记做输入矩阵x∈rn×α与输出矩阵为y∈rn×β,其中,α与β分别为输入测量变量与输出测量变量的个数,rn×α表示n×α维的实数矩阵。

一般而言,常压精馏过程的输入测量变量有8个,包括:原油混炼比、回流比、原料进料温度、原料进料流量、常压顶部循环回流比、两个常压中段的回流比、和常压的回流温度,而输出测量变量常见一般为4个:石脑油产品流量、煤油产品流量、轻柴油产品流量、和重柴油产品流量。

(2)分别对输入矩阵x与输出矩阵y实施归一化处理,对应得到归一化后的输入矩阵并计算矩阵中各个行向量之间的距离,将最大距离记为dist。

(3)利用广义回归神经网络(grnn)算法建立输入矩阵与输出矩阵之间的回归模型:其中,f1表示grnn拟合的非线性函数,e1为误差矩阵。利用grnn算法建立回归模型的具体实施过程介绍如下:

首先,确定grnn模式层神经元激活函数的参数θ(一般建议取值θ=5a)。

其次,根据如下所示公式计算grnn模式层各个神经元的输出pi:

上式(1)中,i=1,2,…,n,符号||||表示计算向量的长度,z∈r1×a为任意输入向量,选择输入矩阵中第i行的行向量xi做为grnn模式层第i个神经元的模式向量。

再次,根据公式计算grnn求和层第一类神经元的输出并更具如下所示公式计算grnn求和层第二类神经元的输出sj:

上式(2)中,yij为输出矩阵中第i行、第j列的元素,j=1,2,…,β。值得指出的是,grnn求和层第一类神经元的个数为1,而第二类神经元的个数有β个。

然后,计算grnn输出层各个神经元的输出值那么输入向量z经grnn模型映射后的输出向量为

最后,以非线性函数f1表示上述拟合过程,则以输入矩阵中各个行向量分别做为输入向量,经grnn模型映射后得到的输出估计值为矩阵估计误差矩阵

(4)利用极限学习机(elm)算法建立输入矩阵与输出矩阵之间的回归模型:其中,f2表示elm拟合的非线性函数,e2为误差矩阵。利用elm算法建立回归模型的具体实施过程介绍如下:

首先,设置elm网络结构中隐层神经元的个数为l,在-1与+1之间随机生成一个l×α维的权重系数矩阵w,在0与+1之间随机生成l×1维的偏置向量b。

其次,根据公式hi=1./1+exp(wxit+b)计算向量xi经隐层神经元映射后的输出向量hi,其中,./表示向量中位置对应的元素相除,上标号t表示矩阵或向量的转置,xi为输入矩阵中第i行的行向量。

然后,根据公式计算elm输出层的权重系数矩阵那么输入矩阵经elm模型非线性映射后的输出估计值为其中非线性函数f2表示上述拟合过程,矩阵h=[h1,h2,…,hn]t

最后,计算估计误差矩阵

(5)利用高斯过程回归(gpr)算法建立输入矩阵与输出矩阵之间的回归模型:其中,f3表示gpr算法拟合的非线性函数,矩阵e3中各列向量为零均值、方差分别为{σ1,σ2,…,σβ}的高斯噪声。

值得注意的是,标准的gpr算法只能建立输出矩阵与单变量输出之间的回归模型。由于输出矩阵包含有β>1个测量变量,因此需将矩阵中各列向量分别单独做为输出向量后,建立β个gpr模型,然后在合并成一个回归模型。

设输出向量y为矩阵中的任意一列的列向量,gpr算法需要确定的模型参数包括:方差σ、核参数c与η。

首先,根据如下所示公式计算核协方差矩阵c∈rn×n中的第i行、第j列元素cij:

上式中,xi与xj分别为矩阵中第i行与第j行的行向量,当i=j时,当i≠j时,i,j=1,2,…,n。

其次,如下所示公式计算极大似然函数l:

上式中,|c|表示计算矩阵c的行列式。

然后,在计算极大似然函数相对于模型参数集θ={σ,c,η}的偏导数:

最后,利用共轭梯度法对式(3)中偏导数做最大化求解得到的最优解即为gpr算法的模型参数集θ。

确定好gpr算法的模型参数集θ={σ,c,η}后,即可对任意输入数据向量z∈r1×α所对应的输出值进行预测,具体的预测方法如下所示:

首先,根据如下所示公式计算核协方差向量k∈rn×1

上式中,ki为核协方差向量k中第i个元素。

其次,根据公式计算输出的估计值与此同时,gpr算法还给出预测误差的方差cov(z)=cz-ktc-1k,其中cz=η+σ。

最后,以输入矩阵中各个行向量分别做为输入向量,经β个gpr模型映射后得到的输出估计值构建矩阵并计算估计误差矩阵

(6)根据公式ελ=sum{diag(eλteλ)}计算各回归模型的累计误差ελ,然后根据如下所示公式确定各回归模型的权重系数ρλ:

其中λ=1,2,3,diag(eλteλ)表示将矩阵eλteλ中对角线上的元素转换成向量的操作,sum{}表计算向量各元素之和。

(7)再次利用常压精馏过程的机理模型生成n个输入输出数据,记输入数据为矩阵x*∈rn×α,记输出数据为矩阵y*∈rn×β

(8)分别对x*与y*实施归一化处理,对应得到输入矩阵与输出矩阵

(9)以作为回归模型输入,分别调用步骤(3)、步骤(4)、和步骤(5)中建立的回归模型,计算grnn模型的输出估计值elm模型的输出估计值和gpr模型的输出估计值

(10)根据公式计算加权输出估计值并计算输出估计的均方误差

(11)判断是否满足条件:e<elim?若是,则建模过程结束;若否,则继续执行下一步骤(12),其中elim为误差上限,建议取值elim=0.5。

(12)利用差分进化(de)算法搜索满足如下所示目标函数的数据向量z1:

上式中,yz1表示以数据向量z1为输入,常压精馏过程机理模型所对应的输出值。

(13)利用de算法搜索满足如下所示目标函数的数据向量z3:

上式中,yz2表示以数据向量z2为输入,常压精馏过程机理模型所对应的输出值。

(14)利用de算法搜索满足如下所示目标函数的数据向量z3:

上式中,cov(z3)=cz-ktc-1k,核协方差向量k的计算方式如上述公式(6)所示。

上述步骤(12)至步骤(14)中利用de算法搜索数据向量zλ的具体实施过程介绍如下:

①设置de算法的参数,包括种群个数d、缩放因子z(一般取z=0.6)、最大迭代次数imax(一般设置imax≥1000)、以及交叉概率ξ=0.1。

②设置迭代次数m=1,按均值为零、标准差为1的正态分布随机生成d个1×α维的向量各向量即代表各个种群。

③分别以做为输入向量,计算对应的目标函数值j1,j2,…,jd。

④将j1,j2,…,jd中最优值所对应的输入向量记做并根据如下所示公式为每个种群产生一个对应的变异向量vd:

上式中,d=1,2,…,d,下标号γ与η为从区间[1,d]中随机产生的2个互不相同的整数。若是目标函数为公式(8)与公式(9),目标函数最优值为最小值;若是目标函数为公式(10),则目标函数最优值为最大值。

⑤按照如下所示公式对每个变异向量vd进行修正,即:

其中,vd,g表示向量vd中的第g个元素,g=1,2,…,α。

⑥根据如下所示公式产生d个尝试向量ud∈r1×α,即:

其中,ud,g与分别为ud与中第g个元素,向量rand表示0到1之间均匀分布的任意随机数。

⑦依据如下所示公式更新种群即:

上式中,j(ud)表示将ud做为输入向量,计算得到的目标函数值。

⑧判断是否满足条件:m<m?若是,则置m=m+1后返回步骤③;若否,则终止de算法后,得到优化结果:

(15)分别计算z1,z2,z3与输入矩阵中各行向量之间的距离,将距离最小值分别记为dist1、dist2、和dist3,判断是否满足条件:distλ≥0.7dist?若是,则保留相应的zλ;若否,则丢弃相应的zλ。

(16)将保留的zλ及其对应的输出yzλ分别添加进输入输入矩阵与输出矩阵得到更新后的输入矩阵与输出矩阵再返回步骤(3)直至满足步骤(11)中的建模结束条件。

与传统方法相比,本发明方法的优势在于:

首先,本发明方法利用输入输出数据建立了多个代理模型,不仅可以避免建模算法的选择问题,而且还发挥了多模型建模的优势。已有文献证明多模型的泛化能力是优越于单个模型的,因此本发明方法的回归精度是可以得到保证的。其次,本发明方法通过de算法不断地搜寻新样本点,从而达到完善输入输出训练数据集的目的,可进一步提升各个回归模型的泛化能力。可以说,本发明方法是一种更为优选的常压精馏塔过程代理模型建模方法。

附图说明

图1为常压精馏过程代理模型建立的实施示意图。

图2为本发明方法建模过程误差逐渐减小的示意图。

具体实施方式

下面结合附图与具体的实施案例对本发明方法进行详细的说明。

如图1所示,本发明公开一种基于多代理模型的常压塔精馏过程建模方法,具体实施方式如下所示。

步骤(1):利用常压精馏过程的机理模型生成n=200个输入输出采样数据,记输入数据矩阵为x∈r200×8,记输出数据矩阵为y∈r200×4

步骤(2):分别对输入矩阵x与输出矩阵y实施归一化处理,对应得到归一化后的输入矩阵并计算矩阵中各个行向量之间的距离,将最大距离记为dist。

步骤(3):利用广义回归神经网络(grnn)算法建立输入矩阵与输出矩阵之间的回归模型:

步骤(4):利用极限学习机(elm)算法建立输入矩阵与输出矩阵之间的回归模型:

步骤(5):利用高斯过程回归(gpr)算法建立输入矩阵与输出矩阵之间的回归模型:

步骤(6):根据公式ελ=sum{diag(eλteλ)}计算各回归模型的累计误差ελ,然后根据上述公式(7)确定各回归模型的权重系数ρλ。

步骤(7):再次利用常压精馏过程的机理模型生成n=10个输入输出数据,记输入数据为矩阵x*∈r10×8,记输出数据为矩阵y*∈r10×4

步骤(8):分别对x*与y*实施归一化处理,对应得到输入矩阵与输出矩阵

步骤(9):以作为回归模型输入,分别调用步骤(3)、步骤(4)、和步骤(5)中建立的回归模型,计算grnn模型的输出估计值elm模型的输出估计值和gpr模型的输出估计值

步骤(10):根据公式计算加权输出估计值并计算输出估计的均方误差

步骤(11):判断是否满足条件:e<elim?若是,则建模过程结束;若否,则继续执行下一步骤(12)。

步骤(12):利用差分进化(de)算法搜索满足如下所示目标函数的数据向量z1:

步骤(13):利用de算法搜索满足如下所示目标函数的数据向量z3:

步骤(14):利用de算法搜索满足如下所示目标函数的数据向量z3:

步骤(15):分别计算z1,z2,z3与输入矩阵中各行向量之间的距离,将距离最小值分别记为dist1、dist2、和dist3,判断是否满足条件:distλ≥0.7dist?若是,则保留相应的zλ;若否,则丢弃相应的zλ。

步骤(16):将保留的zλ及其对应的输出yzλ分别添加进输入输入矩阵与输出矩阵得到更新后的输入矩阵与输出矩阵再返回步骤(3)直至建模过程结束。

最后,将上述建模过程中均方误差的变化情况显示于图2中,从图2中可以发现,代理模型的误差在逐步降低,也就是说精度通过往复优化是在不断提升的。

上述实施案例只用来解释说明本发明的具体实施,而不是对本发明进行限制。在本发明的精神和权利要求的保护范围内,对本发明做出的任何修改,都落入本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1