随机函数预处理拟牛顿后处理串行遗传集总动力学方法与流程

文档序号:12063943阅读:193来源:国知局
随机函数预处理拟牛顿后处理串行遗传集总动力学方法与流程

本发明涉及馏份油加氢裂化工艺研究技术领域,具体涉及一种随机函数预处理拟牛顿后处理串行遗传集总动力学方法及系统。



背景技术:

石油化工的重要任务之一是通过加氢反应将低品质、高杂质含量高干点的大分子的原油或其预处理馏份油进行加工,以生成高品质、低杂质含量、高附加值的各类馏份油产品及下游石油化工产品的原料。由于世界原油价格、成品油价格以及下游石油石化产品的价格和需求量不断巨幅波动,因此,炼油企业必须能够对石油炼制过程的工艺参数进行实时有效的调整,以适应原油、成品油以及下游石油化工产品的价格以及需求量的变化要求。

炼油企业对石油炼制过程的工艺参数进行实时有效调整的前提依赖于对加氢过程的深刻认识以及与该过程相关的相对准确的数学模式的确立和求解。

目前所提及的集总动力学模型对于油品的馏份划分相对简单,难以高精度的描述实际工业反应及工艺实验所涉及的原料馏份以及产品馏份对于切割温度的复杂分布。进而使得采用不同的切割方案的馏份油切割结果与计算结果的误差很大。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种随机函数预处理拟牛顿后处理串行遗传集总动力学方法及系统,大大减少了采用不同的切割方案的馏份油切割结果与计算结果的误差。

第一方面,本发明提供一种随机函数预处理拟牛顿后处理串行遗传集总动力学方法,包括:

S1、根据馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所有M个矩阵元数据,所述馏份油质量分率数据包括在不同工艺条件下对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据和对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据;

S2、对步骤S1中的M个矩阵元数据通过随机函数预处理方法进行优化;

S3、对所述步骤S2中优化后的M个矩阵元数据通过遗传算法继续进行优化;

S4、对步骤S3中优化后的M个矩阵元数据通过拟牛顿法进行优化,并确定优化后的M个矩阵元数据;

S5、根据步骤S4确定的M个矩阵元数据,确定集总动力学方程的模型;

S6、根据所述步骤S5确定的集总动力学方程的模型,以对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据作为初始条件,计算不同反应空速所对应的产品馏份油的馏份油质量分率数据;

S7、将步骤S2-S6通过串行计算执行所述集总动力学方程的模拟工作。

可选的,所述步骤S1包括:

S11、划分加氢裂化反应虚拟集总组份;

S12、对加氢裂化集总动力学模型进行假设;

S13、构建加氢裂化反应网络;

S14、根据所述加氢裂化反应网络以及假设的集总动力学模型确定集总动力学方程;

S15、根据对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据、对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所有M个矩阵元数据。

可选的,所述步骤S11包括:

S111、确定所述原料油在不同工艺条件下进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据以及产品馏份油的平均沸点;

S112、根据所述原料油在不同工艺条件下进行模拟蒸馏实验的产品馏份油的馏份油质量分率数据以及产品馏份油的平均沸点,划分加氢裂化反应虚拟集总组份。

可选的,所述步骤S13包括:

划分后的N个虚拟集总组份中,第1个虚拟集总组份的产品馏份油的平均沸点最高,第N个虚拟集总组份的产品馏份油的平均沸点最低;

第i个(1≤i≤N)虚拟集总组份包含i-1个入度和N-i个出度;

其中,i表示虚拟集总组份的第i节点;N表示虚拟集总组份的数目,并且每一个虚拟集总组份对应一个节点,共N个节点。

可选的,所述步骤S14中集总动力学方程为:

其中,Ci及Cj代表不同虚拟集总组份的馏份油质量分率数据;γi代表不同虚拟集总组份的动力学计量数,不同取值分别表示不同虚拟集总组份的生成反应及消耗反应;N代表虚拟集总组份的数目;i和j分别代表不同的虚拟集总组份;kai代表矩阵元数据。

可选的,所述矩阵元数据为包括对角元的下三角矩阵。

可选的,所述步骤S2包括:

S21、所述M个矩阵元数据为通过建立以馏份油切割温度为自变量,以矩阵元数据的数值为函数值的5次幂函数计算得到的,并对所述幂函数的系数进行预设次数的穷举;

S22、对所述幂函数的系数进行预设次数的穷举后,得到与穷举数目相同的包含M个矩阵元数据的矩阵元数据组;

S23、分别将每一个矩阵元数据组中的M个矩阵元数据代入所述集总动力学方程计算产品馏份油的馏份油质量分率数据;

S24、将计算的产品馏份油的馏份油质量分率数据与在对应工艺条件下根据实验获取的产品馏份油的馏份油质量分率数据进行对比,获取所述计算的产品馏份油的馏份油质量分率数据与在对应工艺条件下根据实验获取的产品馏份油的馏份油质量分率数据的残差最小时对应的矩阵元数据,重新确定M个矩阵元数据。

可选的,所述步骤S24中,计算值与实验值的残差err为:

其中,Ccal,i表示通过计算获取的第i个虚拟集总组份的馏份油质量分率数据,而Ctest,i表示通过实验获取的第i个虚拟集总组份的馏份油质量分率数据,N为虚拟集总组份的数目,p与q为0,1,2或无穷大。

可选的,所述步骤S3包括:

S31、以所述残差err所表达的误差函数作为待优化的目标函数;

S32、对所述步骤S2中优化后的M个矩阵元数据中的每一个矩阵元数据在预设数值范围内进行扰动生成多个种群;

S33、根据扰动后的多个种群分别获取所述残差err;

S34、以所述残差err的倒数函数作为遗传算法的适应度函数,选取适应度最大时所对应的种群个体;

S35、将所述种群个体进行种群复制,作为种群父本个体;

S36、对所述种群父本个体进行交叉和变异产生新的种群个体,将所述新的种群个体作为优化后的M个矩阵元数据。

第二方面,本发明还提供了一种随机函数预处理拟牛顿后处理串行遗传集总动力学系统,包括:

参数初步确定模块,用于根据馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所有M个矩阵元数据,所述馏份油质量分率数据包括在不同工艺条件下对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据和对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据;

参数预处理模块,用于对参数初步确定模块中的M个矩阵元数据通过随机函数预处理方法进行优化;

参数优化模块,用于对参数预处理模块优化后的M个矩阵元数据通过遗传算法继续进行优化;

参数确定模块,用于对参数优化模块优化后的M个矩阵元数据通过拟牛顿法进行优化,并确定优化后的M个矩阵元数据;

模型建立模块,用于根据参数确定模块确定的M个矩阵元数据,确定集总动力学方程的模型;

质量分率计算模块,用于根据所述模型建立模块确定的集总动力学方程的模型,以对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据作为初始条件,计算不同反应空速所对应的产品馏份油的馏份油质量分率数据;

串行计算模块,用于通过串行计算执行所述集总动力学方程的模拟工作。

由上述技术方案可知,本发明提供的一种随机函数预处理拟牛顿 后处理串行遗传集总动力学方法及系统,通过随机选择机制获取馏份油质量分率数据以及集总动力学方程,确定加氢反应速率矩阵的矩阵元数据,然后依次通过随机函数预处理方法、遗传算法、拟牛顿法对确定的矩阵元数据进行预处理、遗传算法处理以及高精度精修处理获取最终优化后的矩阵元数据,并根据该最终优化后的矩阵元数据确定集总动力学方程的模型。该方法划分多个集总组份,满足工业生产产品切割的灵活性要求,并且通过三种算法对待建立模型中的参数进行优化,该建立后的集总动力学模型增强了不同馏份切割方案的灵活性,并且通过该集总动力学模型计算的馏份油质量分率数据的分布曲线与模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据的分布曲线吻合度较高。

附图说明

图1为本发明一实施例提供的一种随机函数预处理拟牛顿后处理串行遗传集总动力学方法的流程示意图;

图2为本发明一实施例提供的原料馏份油的模拟蒸馏图;

图3为本发明一实施例提供的产品馏份油的模拟蒸馏图;

图4为本发明一实施例提供的加氢裂化反应网络拓扑图;

图5为本发明一实施例提供的加氢裂化反应网络第i个虚拟组份节点有向图;

图6为本发明一实施例提供的加氢裂化反应速率矩阵的结构简图;

图7为本发明一实施例提供的串行计算算法的流程图;

图8为本发明一实施例提供的采用随机函数计算、遗传算法优化以及拟牛顿法精修计算的集总动力学方程组所获得的产品馏份油质量分率数的分布图与实验所获取的产品馏份油质量分率数据的分布图的对比图;

图9为本发明一实施例提供的不同集总划分计算获得产品馏份油质量分率数据的分布图的对比图;

图10为本发明一实施例提供的一种随机函数预处理拟牛顿后处理串行遗传集总动力学系统的结构示意图。

具体实施方式

下面结合附图,对发明的具体实施方式作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

集总动力学方法正是应用于加氢裂化或催化裂化过程的相对有效且可行的数学模式之一。该方法的基本思想是将反应涉及的各类油品按照某种原则简化划分为特定的虚拟集总组份,划分方式可以按照馏份油的沸点、沸程划分。也可按照馏份油的组份(尤其以四组份更为常见)进行划分。划分方案本身具有较大的灵活性。然后确立集总组份的虚拟反应网络,并按照确立的反应网络以及相关的反应动力学关系确立集总反应的方程式,方程式的形式一般以与一级反应相对应的线性微分方程组最为常见。然后在带入反应初始条件的前提下,通过相关的解析及数值方法求解确立的集总反应的方程式,从而获得各组虚拟集总馏份油产品随时间分布的解析或数值函数形式。进而实现对于加氢裂化或催化裂化反应产品对于反应空速(裂化时间)关系的动态细节描述。

图1为本发明实施例提供的一种随机函数预处理拟牛顿后处理串行遗传集总动力学方法的流程示意图,如图1所示,该方法包括以下步骤:

S1、根据馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所有M个矩阵元数据,所述馏份油质量分率数据包括在不同工艺条件下对原料油进行模拟蒸馏实验获取的产品馏份油 的馏份油质量分率数据和对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据;

S2、对步骤S1中的M个矩阵元数据通过随机函数预处理方法进行优化;

S3、对所述步骤S2中优化后的M个矩阵元数据通过遗传算法继续进行优化;

S4、对步骤S3中优化后的M个矩阵元数据通过拟牛顿法进行优化,并确定优化后的M个矩阵元数据;

可理解的是,上述步骤S4中,对步骤S3优化后的M个矩阵元数据所组成的广义误差函数通过拟牛顿法,依次对每一个矩阵元数据进行优化计算,并重新确定误差函数值在预设范围内时的M个矩阵元数据,其中,所述广义误差函数通过以M个矩阵元数据为自变量,以根据计算拟合的产品馏份油的馏份油质量分率数据与通过模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据差值的绝对值作为函数值确定的。

S5、根据步骤S4确定的M个矩阵元数据,确定集总动力学方程的模型。

S6、根据所述步骤S5确定的集总动力学方程的模型,以对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据作为初始条件,计算不同反应空速所对应的产品馏份油的馏份油质量分率数据。

也就是说以图2所示的原料馏份油的模拟蒸馏图所对应的不同虚拟组份的馏份油质量分率数据作为求解集总动力学反应微分方程组的初始值,采用龙格-库塔方法计算求解该微分方程组。积分的区间从0到反应空速的倒数。

S7、将步骤S2-S6通过串行计算执行所述集总动力学方程的模拟工作。

上述方法通过随机选择机制获取馏份油质量分率数据以及集总动力学方程,确定加氢反应速率矩阵的矩阵元数据,然后依次通过随机函数预处理方法、遗传算法、拟牛顿法对确定的矩阵元数据进行预处理、遗传算法处理以及高精度精修处理获取最终优化后的矩阵元数据,并根据该最终优化后的矩阵元数据确定集总动力学方程的模型。该方法划分多个集总组份,满足工业生产产品切割的灵活性要求,并且通过三种算法对待建立模型中的参数进行优化,该建立后的集总动力学模型增强了不同馏份切割方案的灵活性,并且通过该集总动力学模型计算的馏份油质量分率数据的曲线与实验结果吻合度较高。

下面通过具体的实施例来详细说明上述方法,以下实施例仅用于说明本发明的方法,但是并不用来限定本发明的保护范围。

上述步骤S1具体包括:

S11、划分加氢裂化反应虚拟集总组份;

该步骤S11具体包括如下步骤:

S111、确定所述原料油在不同工艺条件下进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据以及产品馏份油的平均沸点;

S112、根据所述原料油在不同工艺条件下进行模拟蒸馏实验的产品馏份油的馏份油质量分率数据以及产品馏份油的平均沸点,划分加氢裂化反应虚拟集总组份。

首先从40ml小型加氢装置按照不同工艺条件依次提取温度、处理量以及氢分压力不同的27组实验对应的馏份油产品,分别采集27种工艺操作条件下对原料油进行模拟蒸馏实验获取的馏份油质量分率数据和根据所述原料油进行计算拟合的馏份油质量分率数据作为本模型方法计算的参数拟合数据集。将原料油及验证试验所对应的馏份油模拟蒸馏数据绘制如图2及图3所示。在图2中,其中X坐标代表模拟蒸馏切割温度/摄氏度,Y坐标代表原料馏份油质量分率数据,图3中,X坐标代表产品馏份油切割温度/摄氏度,Y坐标代表产品馏份油质量 分率数据。将27组模拟蒸馏实验数据进行划分,将所有油品初馏点的最小值作为拟合模型体系温度的初馏点同时将所有油品干点的最大值作为拟合模型体系温度的干点,这样所有馏份油沸程均在拟合模型的所计算的沸程范围内。然后对计算所涉及的沸程按照实验及计算的需要进行集总划分,在此对该范围进行100个集总划分。

S12、对加氢裂化集总动力学模型进行假设;

该步骤S12包括如下步骤:

S121、在反应馏份和生成馏份属于同一馏程时,则该反应不予考虑;

S122、加氢裂化反应具有单向性和不可逆性;

S123、所述加氢裂化反应的速率常数受温度的影响符合Arrhenius方程;

S124、各个虚拟集总组份中较轻组份对于较重组份不发生作用,而较重组份的反应和组份反应后的累积对较轻组份的产生数量和产生速率发生影响;

S125、采用一级反应动力学模型描述;

S126、反应过程只受动力学过程控制,不受其他过程影响。

S13、构建加氢裂化反应网络;

划分后的N个虚拟集总组份中,第1个虚拟集总组份的产品馏份油的平均沸点最高,第N个虚拟集总组份的产品馏份油的平均沸点最低;

第i个(1≤i≤N)虚拟集总组份包含i-1个入度和N-i个出度;

其中,i表示虚拟集总组份的第i节点;N表示虚拟集总组份的数目,并且每一个虚拟集总组份对应一个节点,共N个节点。

举例来说,绘制反应过程的反应网络如图4所示。其中,从左到右虚拟集总组份的产品馏份油的平均沸点从低到高。在该反应网络中虚拟集总组份的总数N为100。在划分过程中,第1个虚拟集总组份的 产品馏份油的平均沸点最高,也可以理解为虚拟集总组份为最重的虚拟集总组份,而第N个虚拟集总组份的产品馏份油的平均沸点最低,也可以理解为虚拟集总组份为最轻的虚拟集总组份。现将第i个集总组份从反应网络示意图中提取出来如图5所示。对于第i个虚拟集总组份而言,其可视为包含100个节点的有向图的第i个节点。对于该节点而言,总计包含i-1个入度及N-i个出度。对于反应体系而言,i-1个入度代表第i节点虚拟集总组份接收来自于比所述第i节点的虚拟集总组份较重的i-1个节点的虚拟集总组份的馏份油裂解的产品,N-i个出度代表第i节点的虚拟集总组份自身裂解为来自于比所述第i节点的虚拟集总组份较轻的N-i个节点的虚拟集总组份提供原料。

S14、根据所述加氢裂化反应网络以及假设的集总动力学模型确定集总动力学方程;

根据反应网络图及集总反应动力学方程假设确立描述反应所涉及的常微分方程组。在本实施例中,该方程组包括100个常微分方程。

具体的,集总动力学方程为:

公式(1)

其中,Ci及Cj代表不同虚拟集总组份的馏份油质量分率数据;γi代表不同虚拟集总组份的动力学计量数,不同取值分别表示不同虚拟集总组份的生成反应及消耗反应;N代表虚拟集总组份的数目;i和j分别代表不同的虚拟集总组份;kai代表矩阵元数据。

S15、根据对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据、对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所 有M个矩阵元数据。

如图6所示,所述矩阵元数据为包括对角元的下三角矩阵,反应速率矩阵的数学形式经虚拟集总组份从轻到重排列后可转化为包含对角元的上三角矩阵。

假定加氢裂化反应速率矩阵的所有矩阵元数据,该矩阵为100x100规模。但根据前序模型假设该矩阵为下三角矩阵。同时由于反应自身的特点,反应速率矩阵对角线上每个元素表征该虚拟集总组份的裂解速率系数,它的绝对值应该等于对应列上所有其他元素的代数和。现将该实施例所涉及的加氢反应速率矩阵结构简图列于图6所示。在图6中有点的位置其矩阵元数据不为零,而空白处其矩阵元数据为零。在整个矩阵中包括5049个非零元素,这些非零元素即为本模型待优化的参数即待优化的M个矩阵元数据。

上述步骤S2包括:

S21、所述M个矩阵元数据为通过建立以馏份油切割温度为自变量,以矩阵元数据的数值为函数值的5次幂函数计算得到的,并对所述幂函数的系数进行预设次数的穷举;

S22、对所述幂函数的系数进行预设次数的穷举后,得到与穷举数目相同的包含M个矩阵元数据的矩阵元数据组;

S23、分别将每一个矩阵元数据组中的M个矩阵元数据代入所述集总动力学方程计算产品馏份油的馏份油质量分率数据;

S24、将计算的产品馏份油的馏份油质量分率数据与在对应工艺条件下根据实验获取的产品馏份油的馏份油质量分率数据进行对比,获取所述计算的产品馏份油的馏份油质量分率数据与在对应工艺条件下根据实验获取的产品馏份油的馏份油质量分率数据的残差最小时对应的矩阵元数据,重新确定M个矩阵元数据。

为了后续描述方便,将计算的产品馏份油的馏份油质量分率数据定义为计算值,与计算的产品馏份油的馏份油质量分率数据在对应工 艺条件下根据实验获取的馏份油质量分率数据定义为实验值。

具体的,上述步骤S21-S24中确立实验值与计算值的残差err最小的初始反应速率矩阵的矩阵元数据。具体的优化计算过程如下:

(1)假定600个待优化参数为-2~2之间的条件随机数,将这些随机数作为100组最高次为5的幂函数的系数,这些幂函数的自变量是馏份油的沸点,函数值是反应速率矩阵元数据的数值。通过随机生成的幂函数计算反应速率矩阵,计算结果满足反应速率矩阵每列对角线上元素绝对值等于对应列上其他所有元素的代数和这一约束条件。

(2)通过假定的待优化参数使用龙格-库塔方法以原料油模拟蒸馏曲线所对应的馏份分布为初始条件,以0到反应空速的倒数为积分区间求解所确立的包含100个常微分方程的集总动力学常微分方程组。

(3)将求解结果与对应工艺条件下产品馏份油的模拟蒸馏曲线所对应的馏份油分布曲线进行误差计算,其计算公式如下所示。在此计算过程中,取参数p=1,q=1,N=100并记录两者之间的误差。

计算值与实验值的残差err为:

公式(2)

其中,Ccal,i表示通过计算获取的第i个虚拟集总组份的馏份油质量分率数据,而Ctest,i表示通过实验获取的第i个虚拟集总组份的馏份油质量分率数据,N为虚拟集总组份的数目,p与q为0,1,2或无穷大。

(4)重复(1)-(3)过程106次,在所有诸多误差中选取误差最小值作为初始反应速率矩阵的矩阵元数据。作为下一步计算的初始值。

上述步骤S3包括:

S31、以残差err也即计算值与实验值的差值的绝对值所表达的误 差函数作为待优化的目标函数;

S32、对所述步骤S2中优化后的M个矩阵元数据中的每一个矩阵元数据在预设数值范围内进行扰动生成多个种群;

S33、根据扰动后的多个种群分别获取所述残差err;

S34、以所述残差err的倒数函数作为遗传算法的适应度函数,选取适应度最大时所对应的种群个体;

S35、将所述种群个体进行种群复制,作为种群父本个体;

S36、对所述种群父本个体进行交叉和变异产生新的种群个体,将所述新的种群个体作为优化后的M个矩阵元数据。

具体的,上述步骤S31-S36基于遗传算法确立实验值与计算值的残差最小的反应速率矩阵的矩阵元数据。具体的优化计算过程如下:

(1)对所述步骤S2中优化后的M个矩阵元数据初始值矩阵的每个元素进行小规模扰动,扰动范围为每个矩阵元数据初始值矩阵的每个元素数值的0.8-1.2倍。通过随机扰动生成规模为800的初始矩阵元数据种群。这一扰动的目的既保证了种群总体质量的“优秀性”,又保证了种群的“多样化”,并以该种群作为遗传算法优化计算的初始种群。

(2)以公式(2)所示的误差函数的倒数函数作为遗传算法的适应度函数,依次计算每个种群个体的适应度函数值。其中误差函数计算时取p=1及q=1。确保误差越小,其相关适应度越大。以便使得误差小的矩阵元数据种群更能够获得保留。

(3)采用遗传算法的选择性算法选出个体进行种群复制,作为下次计算的种群父本个体;

(4)对已选取的种群父本个体进行交叉和变异产生新的种群个体,相关的交叉率为0.1-0.9,优选为0.5,变异率为0.0001-0.05,优选为0.001;

(5)将新的种群个体替代旧的种群个体,重复步骤(2)-(4) 直至进化达到优化目标,整个遗传算法的计算代数为10000代。

保留计算过程中涉及的所有不同代数的种群个体共计8x106个,在其中选取适应度函数最大即误差函数值最小的个体作为下一步参数精修计算的初始值。

具体的,上述步骤速率矩阵元数据作为初始数据基于遗传算法优化计算速率矩阵相关矩阵元数据的具体数值这一具体过程中也可以理解为包括以下步骤:

A)将由实验值与计算值差的范数所表达的误差函数作为待优化目标函数的形式;

B)针对每个优化目标生成的初始反应速率矩阵的矩阵元数据的数值邻域内随机生成相应目标的种群,种群个体数目为20-400000个;

C)对每个种群依据相关二进制代码进行随机变换,形成新种群;

D)按C)的方式依次生成新个体,新个体数目为20-400000个;

E)以待优化的目标函数倒数或与该函数正向相关的函数做为适应度函数,依次计算每个种群个体的适应度函数值;

F)采用遗传算法的“轮盘赌”算法按照概率方式选出个体适应度函数值较大的种群进行种群复制,作为下次计算的种群父本个体;

G)对已选取的种群父本个体进行交叉和变异产生新的种群个体,相关的交叉率为0.1-0.9,变异率为0.0001-0.05;

H)将新种群替代旧种群,重复步骤C)-H)直至进化达到优化目标,整个遗传算法的计算代数为100-1000000代。

具体的,上述步骤S4中,基于拟牛顿变尺度(BFGS)算法优化上一步由遗传算法确立的矩阵元数据。具体的优化计算过程如下:

(1)以通过遗传算法计算获取的适应度函数最大的个体所对应的矩阵元数据作为拟牛顿变尺度(BFGS)计算的迭代初始值。

(2)以二阶数值差分方法计算在此初始值处的Hessian矩阵。

(3)对计算获得的对称Hessian矩阵计算特征值,如果判定Hessian 矩阵是正定矩阵,则以其作为Newton迭代所使用的二阶矩阵。如果判定Hessian矩阵不是正定矩阵,则以一个扰动的系数乘以一个单位矩阵再加到对应的Hessian矩阵上以此方法构造所谓的正定矩阵B*来逼近Hessian矩阵。以矩阵B*作为Newton迭代所使用的二阶矩阵。

(4)对迭代初始值进行变步长的牛顿迭代计算。获得具有最小值的新优化值,按公式(2)计算两者的误差,计算过程中取p=2,q=1。若前后两次计算结果误差绝对值小于0.001则停止迭代计算。否则将新的优化值代替初始值,重复(2)-(4)这一过程直至两者误差小于0.001为止。

将最终计算结果作为经过精修后的最终反应速率矩阵的矩阵元数据。进而确立集总动力学反应微分方程组的数学模式。

如图7所示,上述步骤S7具体包括如下步骤:

S71、使用计算机串行产生1000000组包含600个-2~2之间的随机幂函数系数数组,并用产生的数组通过幂函数计算反应速率矩阵的矩阵元数据;

S72、对产生的1000000组生成矩阵元数据单核串行组装生成集总动力学反应矩阵;

S73、以原料油质量分率数据的分布为初始条件以零到对应的反应空速倒数为积分区间按照生成的矩阵串行采用龙格-库塔方法计算1000000组包含100个微分方程的集总动力学方程组所对应的产品馏份油的馏份油质量分率数据的分布曲线;

S74、按照上述公式(2)计算1000000组产品馏份油的馏份油质量分率数据的分布曲线与实际产品馏份油的馏份油质量分率数据的分布曲线的差值,选择其中差值最小者所对应的包含5049个随机数的数组作为反应速率矩阵的初始动力学参数;

S75、对所获得的初始动力学参数数组中的每个元素进行其0.8-1.2倍的随机扰动串行产生800组遗传算法的初始种群,并对每个 种群个体进行二进制编码;

S76、将生成的二进制编码分组进行串行交叉、变异生成新的二进制代码,并将生成二进制代码转换为对应的遗传算法计算新种群,按照公式(2)的倒数作为遗传算法的自适应度函数,依次串行计算初始种群及新种群的自适应度函数值;

S77、将计算获得的自适应度函数值依照“轮盘赌”的方式按概率随机选取800组新种群,作为下一代种群参与后续计算;

S78、将所生成的新种群代替初始种群并记录所有种群个体的二进制编码及所有个体的自适应度函数以及误差函数值,重复S76-S77步骤10000次获得的种群作为最终种群;

S79、选取计算过程中所有个体中自适应函数数值最大也即误差函数最小的个体作为下一步精修计算的初始值;

S80、依据遗传算法选定的最优个体的每个元素采用三点数值差分的方法采用串行计算方式近似计算误差函数对于每个矩阵元数据的一阶导数向量以及二阶Hessian矩阵;

S81、对计算获得的二维Hessian矩阵进行特征分解,求取其对应的特征值,由于Hessian矩阵具有对称性,故其特征值必为实数;

S82、对Hessian矩阵进行判断看其是否为正定矩阵,如果该矩阵为正定矩阵,则直接采用Newton及一维搜索方法进行迭代计算,如果该矩阵为非正定矩阵,则以一个扰动值乘以一个单位矩阵加到该Hessian矩阵上构造一个正定矩阵再采用Newton及一维搜索方法进行迭代计算,通过迭代计算可以获得新的最优解向量;

S83、以新的解向量代替S80使用的解向量,重复S80-S82步骤直至误差函数值小于0.001为止,停止迭代计算,并将所得的解向量作为精修后的解向量,由此确定相关集总动力学的全部待定参数,确立集总动力学方程的数学形式;

S84、依据确立的集总动力学方程组以原料油质量分率数据(即 对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据)作为初始条件计算不同空速所对应的产品馏份油的馏份油质量分率数据,并可进一步依照不同切割方案计算对应的馏份油质量分率数据的分布情况。

如图8所示,X坐标代表产品馏份油切割温度/摄氏度,Y坐标代表产品馏份油质量分率数据,图中分别采用初始随机函数、遗传算法以及拟牛顿法法计算集总动力学方程组所获得的产品馏份油质量分率数据的分布图与实验所获取的产品馏份油质量分率数据的分布图的对比图。可以发现由于待优化参数数目众多通过初始随机函数计算的产品馏份油质量分率数据的分布与实验分布尚有很大差别,而通过遗传算法计算确定的产品馏份油质量分率数据的曲线则与实验所获取的产品馏份油质量分率数据的曲线相对比较接近但仍有一定的偏离,而最终经过拟牛顿法八次迭代计算精修获得的计算结果则与实验结果相当的稳合。实现了对于产品馏份油质量分率数据的分布的高精度数值拟合。

通过遗传算法计算的相关残差err=24.1186,而通过拟牛顿法7步迭代计算获得的最终残差err=3.9568.对应的反应速率矩阵由于矩阵元数据众多,仅列举部分列于表1,表1为通过各种算法计算获得残差及部分矩阵元数据的数值。

表1

为了表现本发明所涉及算法对于集总模型所涉及的虚拟集总组份数目的依赖,在此分别以20集总50集总以及100集总模型计算相关的馏份油质量分率数据的分布曲线,并将计算结果与实验结果进行对比,将对比结果列于图9所示,X坐标代表产品馏份油切割温度/ 摄氏度,Y坐标代表产品馏份油质量分率数据。上述BFGS方法对应于拟牛顿法。

计算结果表明集总组份数目对于产品馏份油质量分率的计算拟合相当重要。如果想达到较高的拟合精度必须保证足够的虚拟组份数量。当虚拟组份为20时,计算结果十分粗糙的表达了产品馏份油质量分率数据的大体趋势,但完全无法表达出产品馏份油质量分率数据的分布的细节信息,无论高沸程馏份也即平均沸点最高的虚拟集总组份的馏份油质量分率数据还是低沸程馏份也即平均沸点最低的虚拟集总组份的馏份油质量分率数据都是如此;当虚拟组份为50时,计算结果对于高沸程馏份的馏份油质量分率数据的分布吻合的较好,这是因为高沸程馏份的馏份油质量分率数据的分布随切割温度的波动较小,而模型对于低沸程馏份的馏份油质量分率数据的分布表达的较粗糙,因为低沸程馏份的馏份油质量分率数据的分布随切割温度的波动较大;当虚拟组份为100时,计算结果对于高低沸程馏份的馏份油质量分率数据的分布吻合的均较好,既反映了高沸程馏份的馏份油质量分率数据的平缓分布,也表现了低沸程馏份的馏份油质量分率数据的波动性分布。

为了表现该方法对于不同馏份切割方案的灵活实用性。现将两种不同的产品馏份油切割方案及其按照上述方法计算所获得的结果列于表2及表3所示。表2和表3为不同切割馏份的的馏份油质量分率数据的分布情况。

表2

表3

通过表2及表3的比较可以发现,由于本发明可以采用较多的集总组份对馏份油进行划分并计算,同时其计算结果拟合精度很高。因此本发明的计算结果可以对于馏份油的灵活切割方案具有十分广义和灵活的适用性。

如图10所示,本发明实施例还提供了一种随机函数预处理拟牛顿后处理串行遗传集总动力学系统的结构示意图,如图10所示,该系统包括:

参数初步确定模块101,用于根据馏份油质量分率数据以及集总动力学方程,确定加氢裂化反应速率矩阵的所有M个矩阵元数据,所述馏份油质量分率数据包括在不同工艺条件下对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据和对所述原料油进行计算拟合的产品馏份油的馏份油质量分率数据;

参数预处理模块102,用于对参数初步确定模块中的M个矩阵元数据通过随机函数预处理方法进行优化;

参数优化模块103,用于对参数预处理模块优化后的M个矩阵元数据通过遗传算法继续进行优化;

参数确定模块104,用于对参数优化模块优化后的M个矩阵元数据通过拟牛顿法进行优化,并确定优化后的M个矩阵元数据;

模型建立模块105,用于根据参数确定模块确定的M个矩阵元数据,确定集总动力学方程的模型。

质量分率计算模块106,用于根据所述模型建立模块确定的集总动力学方程的模型,以对原料油进行模拟蒸馏实验获取的产品馏份油的馏份油质量分率数据作为初始条件,计算不同反应空速所对应的产 品馏份油的馏份油质量分率数据;

串行计算模块107,用于通过串行计算执行所述集总动力学方程的模拟工作。

上述系统与上述方法是一一对应的,上述方法的实施细节也适用于该系统,本实施例不对该系统进行详细说明。

本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。

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