随机种子数预处理单纯型后处理分布遗传集总动力学方法与流程

文档序号:12064075阅读:243来源:国知局
随机种子数预处理单纯型后处理分布遗传集总动力学方法与流程

本发明涉及馏份油加氢裂化工艺研究技术领域,具体涉及一种随机种子数预处理单纯型后处理分布遗传集总动力学方法及系统。



背景技术:

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

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

目前所提及的集总动力学模型对于油品的馏份划分相对简单,难以高精度的描述实际工业反应及工艺实验所涉及的原料馏份以及产品馏份对于切割温度的复杂分布。进而使得采用不同的切割方案的馏份油切割结果与计算结果的误差很大。另外,集总动力学模型中的反应速率常数一般情况下采用Guass-Newton方法、Marquardt方法或其改进变形方法进行求解。求解过程通常在内层采用龙格-库塔方法求解微分方程组,在外层采用拟牛顿变尺度方法优化反应速率常数。由于Guass-Newton方法或变尺度方法需要计算包含二阶导数的规模为n*n(n为集总方程所涉及的虚拟馏份个数)的Hessian矩阵或较大规模的相关变换后的对称正定矩阵。因此,随着集总组份数量的增加计算规模急速膨胀。计算存储开销及计算时间开销急速增加。在迭代计算步 数较多的情况下更是如此。



技术实现要素:

针对现有技术中的缺陷,本发明提供一种随机种子数预处理单纯型后处理分布遗传集总动力学方法及系统,在减少采用不同的切割方案的馏份油切割结果与计算结果的误差的同时,提高了模型的运算效率。

第一方面,本发明提供一种随机种子数预处理单纯型后处理分布遗传集总动力学方法,包括:

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个矩阵元数据进行预设次数的穷举获取多个矩阵元数据组;

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

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

可选的,所述步骤S23中,计算值与实验值的残差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、构建加氢裂化反应网络;

所述步骤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个入度代表第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个矩阵元数据进行预设次数的穷举获取多个矩阵元数据组;

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

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

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

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

(1)假定5049个待优化参数为0-100之间的条件随机数,这组条件随机数满足每列对角线上元素绝对值等于对应列上其他所有元素的代数和这一约束条件。

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

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

计算值与实验值的残差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中,基于单纯型算法优化上一步由遗传算法确立的矩阵元数据。具体的优化计算过程如下:

(1)以通过遗传算法计算获取的适应度函数最大的个体所对应的矩阵元数据在邻域范围内的5050(M+1)组扰动数组作为单纯型算法计算的初始高维空间顶点x(i)∈EM,i=1...M+1。

(2)设置后续计算的反射系数α>0,扩展系数γ>1以及压缩系数0<β<1和允许误差ε>0。

(3)依次计算函数值f(x(i)),i=1,2,...,M+1。令k=1。k代表单纯型计算的迭代次数。

(4)确定计算函数值的最高点x(h),次高点x(l)以及最低点x(g),h,g,l∈{1,2,...,M+1},使得:

f(x(h))=max{f(x(1)),f(x(2)),...,f(x(M+1))}

f(x(g))=max{f(x(i))|x(i)≠x(h))}

f(x(l))=min{f(x(1)),f(x(2)),...,f(x(M+1))}

(5)计算除x(h)以外的M个点的形心并计算

(6)进行反射计算令再计算f(x(M+2))。

(7)如果f(x(M+2))<f(x(l))那么进行扩展,令再计算f(x(M+3))转入第(8)步,如果f(x(l))≤f(x(M+2))≤f(x(g))则令x(h)=x(M+2)同时将f(x(h))=f(x(M+2))转入第(10)步。如果f(x(M+2))>f(x(g))则进行压缩计算令f(x(h′))=min{f(x(h)),f(x(M+2))},其中h′∈(h,M+2}令进一步计算f(x(M+4)),转入第(9)步。

(8)如果f(x(M+3))<f(x(M+2)),则令x(h)=x(M+3),f(x(h))=f(x(M+3))转入第(10)步,否则令x(h)=x(M+2),f(x(h))=f(x(M+2))再转入第(10)步。

(9)如果f(x(M+4))<f(x(h′)),则令x(h)=x(M+4),f(x(h))=f(x(M+4))转入第(10)步。否则进行收缩计算令i=1,2,...,M+1。依次计算f(x(i)),i=1,2,...,M+1,转入第(10)步。

(10)检测是否满足收敛准则。如果计算收敛停止计算,线性最好点即为所求;否则,令k=k+1,返回第(4)步。

在整个计算过程中参数选择如下:反射系数α=0.001,压缩系数 β=0.95,扩展系数γ=1.05以及允许误差ε=0.001。

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

S71、使用分布计算机160核同步并行产生1000000组包含5049个0~100之间的随机数的数组;

S72、对产生的1000000个随机数组进行160核同步组装生成集总动力学反应矩阵;

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

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

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

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

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

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

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

S80、设置后续计算的反射系数、扩展系数、压缩系数以及允许误差使用计算机分布并计算随机生成单纯型初始高维空间的顶点并以此并行计算各顶点的误差函数值;

S81、对计算获得的高维空间顶点函数值进行排序,依次选出函数值中的最大值、次大值以及最小值,并计算相关高维单纯型的形心及其形心函数值;

S82、按照已经设置的反射系数、扩展系数、压缩系数分别按照算法要求进行反射计算、拓展计算以及压缩计算生成相关的高维空间坐标点以及这些坐标点对应的误差函数值,并对生成的误差函数值进行判断,以便决定算法体系是进行收缩计算或者是进行收敛判断;

S83、按照设定的允许误差计算收敛判据如不满足,重复步骤S80-S82直至误差函数值小于0.0001为止,停止迭代计算,并将所得的解向量作为精修后的解向量,由此确立相关集总动力学的全部待定参数,确立集总动力学方程的数学形式;

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

具体的,上述步骤在步骤S71之前还包括图中未示出的步骤S70;

S70、连接计算硬件并设置分布计算环境,将5台32核高密度计算结点计算机进行并联,同时将第一台计算机设定为主计算结点,该计算结点除执行计算以外,还负责各个计算结点的任务分配及调度。整个计算系统可视为一个拥有160计算核的大型虚拟计算机。

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

通过遗传算法计算的相关残差err=24.1186,而通过单纯型7步迭代计算获得的最终残差err=3.9568.对应的反应速率矩阵由于矩阵元数据众多,表1示出了通过各种算法计算获得残差及部分矩阵元数据的数值。

表1

对上述方法中选取不同的集总数以及不同的切割方案以及采用不同的计算方法消耗的时间分别对比如下:

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

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

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

表2

表3

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

(3)为了表现分布计算方法对于计算的加速效果,在此采用不同的集总组份模型采用不同的分布计算系统予以计算,将相关程序的 计算时间列于表4所示,表4示出了不同计算规模及计算硬件配置消耗机时间。

表4

由表4的数据可以发现,随着计算核心数目的增加计算时间缩短,确实能够增加计算效率。但是,分布式计算系统计算时间的缩短并不与计算核心数的增加呈简单的反比例关系。这是因为分布计算系统牵涉到较多的中间计算数据及计算文件的网络传输。一般这类传输速度远低于高密度计算结点的计算速度。但是尤其是对于多集总数目的动力学体系通过分布计算确实可将计算时间大大缩短。例如,对于250集总动力学模型的整个计算过程而言,使用串行计算相关机时约为150天左右,而使用160核分布计算系统则可以保证在2天左右完成相同的计算工作。

如图10所示,本发明实施例还提供了一种随机种子数预处理单纯型后处理分布遗传集总动力学系统的结构示意图,如图10所示,该系统包括:

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

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

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

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

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

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

分布式计算模块107,用于通过多核处理器分布计算执行所述集总动力学方程的模拟工作。

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

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

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

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

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