当前位置:首页 期刊杂志

基于XGBoost 模型的炼油厂氢气网络动态多输出预测模型

时间:2024-08-31

王 宁, 曹萃文

(华东理工大学化工过程先进控制与优化技术教育部重点实验室,上海 200237)

氢作为一种原料或者副产品广泛应用于工业中,在传统能源深加工方面起着举足轻重的作用。炼油业是氢消耗的最大终端市场,氢是炼油厂生产高质量石化产品的重要原料。近年来,由于环境法规严格的限制以及原油价格越来越贵但质量越来越差,炼油厂被迫增加加氢处理流程。

目前,氢气网络的优化方法主要包括夹点分析法和超结构法。夹点分析法是一种基于热力学原理的过程集成技术,于20 世纪80 年代初由英国著名学者Linnhoff 和Hindmarsh[1]提出。1996 年,Towler 等[2]首次将这种方法用于氢气网络。夹点分析法通常采用图形化方法,物理意义明确,易于理解,操作简单,但它无法直接获得精确的操作点,对于复杂的系统不能表现出很好的效果;虽然夹点分析法对公用工程量的优化很有用,但对于多目标的优化问题,却无法单独使用;另外,夹点分析法无法有效处理所有的实际约束。因此,研究者对应用于氢气网络优化问题的数学规划法(超结构法)进行了大量的研究[3-5]。

超结构法是一种建立与实际工程相符合的数学规划模型的方法,它是系统工程中的一种重要研究方法,在换热网络、水网络和反应器网络等的建模和优化方面得到了广泛的应用。2001 年,Hallale 等[6]首先提出将超结构法应用于氢气网络的优化问题上。超结构法可以用于包含复杂约束的氢气网络系统,也可以用于多目标的氢气网络优化问题,具有一定的灵活性,但它不像夹点分析法那样直观和物理意义明确,且存在不合理不贴合实际的地方。因此,有研究以一种氢夹点图解法原理为基础,针对现有的炼油厂氢气网络的超结构模型,建立夹点法约束,并融入超结构法模型进行混合建模,同时考虑最小新氢(即高纯度氢气)消耗量以及最小氢气剩余量两种因素下的模型[6-10]。该模型的目标是静态目标,在氢气网络的优化问题中,往往将氢气的流量和纯度采用一个固定不变的设计值,但在产氢或耗氢的实际生产过程中,这些量往往随着温度等参数的变化而变化,因此,模型的目标也应该是动态变化的目标,存在着不确定性。

XGBoost 模型是由Chen 等[11]在2016 年提出的一种新型的深度学习模型,近年来被数据科学家广泛使用,且因可扩展性在许多领域取得先进的成果。Lei 等[12]用了6 种机器学习方法建立预测模型,其中XGBoost 分类模型实现了最准确的预测。Guangye等[13]建立了一个多信息的短期电力负荷XGBoost 模型进行电力负荷预测,结果表明,XGBoost 预测模型相对于随机森林、贝叶斯和K 近邻模型在训练速度和预测精度方面都具有优势[14]。Xia 等[15]使用贝叶斯超参数的XGBoost 优化信用评分模型,叶倩怡[16]进行了基于XGBoost 的实体零售业销售额预测研究,Mustapha 等[17]使用XGBoost模型对生物活性分子进行了预测[18]。XGBoost 模型在信息技术和软件工程[19-22]、生物与医学工程[12,17,23]、经济与金融[15,24]等诸多领域有着卓越的表现[25],但是还未被应用到氢气网络工业工程中。

本文以某炼油厂实际连续重整装置氢气纯度和氢气产量的动态变化数据为基础,利用文献[7]计算得到以最小新氢消耗量和最小氢气剩余量为目标的动态数据,首次提出采用XGBoost 模型对氢气网络的两种动态目标建立动态多输出预测模型并进行预测分析。由于神经网络是非线性系统控制与建模的重要手段[26-27],因此,本文与BP 神经网络模型的预测结果进行了比较,以验证模型的有效性。

1 基于XGBoost 模型的炼油厂氢气网络动态多输出预测

炼油厂的新氢一般较难制取,成本较高,氢气网络的优化要求新氢用量最小化。炼油厂通常不对氢气设立储罐进行余量储存,生产过程中,多余的氢气将排入燃料系统或者放空燃烧。因此,考虑到炼油厂的经济效益问题,对氢气网络因不同工况、不同氢气纯度和不同氢气产量的动态变化导致不同配置的氢源(产氢装置)和氢阱(耗氢装置)下的实时动态的最小新氢消耗量和最小氢气剩余量进行准确的预测,能够对氢气网络的合理配置与优化提供指导决策支持,减少新氢的消耗量和燃气的排放量,以提高炼油厂的技术水平和经济效益。

1.1 数据来源

某炼油厂中,现有5 套产氢装置,分别为2 套连续重整装置和3 套制氢装置。1#和2#制氢经同一套变压吸附(PSA)装置提纯,氢纯度达99.9%;3#制氢装置由PSA 装置将氢气提纯到99.9%,供后续用氢。目前,1#制氢装置正处于停工状态。除了PSA装置外,氢气提纯装置还包括1 套膜分离装置[28]。

现有耗氢装置分别为S-Zorb、润滑油加氢、加氢裂化、4#柴油加氢、重整预加氢、苯抽提、航煤加氢、蜡油加氢处理、3#柴油加氢,分别用SK1~SK9表示。

本文是在连续重整装置的原厂数据与在Aspen HYSYS 中实现的模拟数据的混合动态数据基础上进行的研究。在连续重整装置工艺中,反应温度是操作人员用来控制质量的主要参数,通常被定义为加权平均入口温度和加权平均床层温度,而实际生产中操作人员可以调整反应器的入口温度;另外,为了保持催化剂的稳定性,保持一定的氢气循环也十分必要。由于重整为吸热反应, 为了保持一定的反应温度,设置4 个重叠串联的反应器,每个反应器均设有进料加热炉以提供反应必须的热量。以4 个反应器温度以及循环氢量作为输入,氢气的产量以及氢气的纯度作为部分输出,利用原厂数据以及Aspen HYSYS 中建立的机理模型得到氢气产量和氢气纯度随4 个反应器温度和循环氢量变化的数据源。设表示两套连续重整装置的动态氢气产量(氢气产量以流率来衡量),y3表示动态氢气纯度变量,炼油厂涉氢装置数据汇总如表1 所示,SC1~SC7分别代表2#制氢、3#制氢、1#与2#连续重整、膜分离、润滑油加氢干气、1#催化干气、3#催化干气。和y3随4 个反应器温度以及循环氢量变化的数据共计39 804 组,表2列出了其中5 组数据。

表 1 炼油厂氢气装置数据汇总Table 1 Data collection of hydrogen plant in refinery

我们在“一种夹点法与超结构法混合的炼油厂氢气网络优化调度方法”[7]专利中提出一种氢气网络线性规划模型目标如下:

最小新氢消耗量目标:

最小氢气剩余量目标:

其中: Fj,k为氢源j 分配到氢阱k 的氢气流量,为氢源j 的最大设计供应量,J 为氢源的集合,K 为氢阱的集合, J′为新氢的集合, Fj′,k为新氢 j′分配到氢阱k 的氢气流量。

1.2 基于XGBoost 模型的氢气网络动态多输出预测

XGBoost 是一种大规模并行的Boosted Tree 的模型[11],如果只依据一棵树进行预测,无法准确得到预测结果。因此,XGBoost 采用多棵CART 树进行预测,将每棵树的预测值加和作为最终的预测值。

XGBoost 模型中一共有3 种类型的参数:通用参数(General Parameters),Booster 参数(Booster Parame ters)和学习目标参数(Task Parameters)。通用参数决定了上升过程中哪种上升模型被选择,通常是线性和树型模型;Booster 参数取决于选择的上升模型类型;学习目标参数决定学习策略,定义学习任务和相应的学习目标。

(1)通用参数

booster:默认值为gbtree。决定使用哪个上升模型,可以是gbtree,gblinear 或者dart。gbtree 和dart 使用基于树的模型,而gblinear 使用线性函数。

num_feature:XGBoost 自动设置,不需要用户设置,在boosting 提升过程中使用的特征维度,设置为特征的个数。

silent:默认值为0,设置为0 时连续打印运行信息,设置为1 时静默模式,不打印。

(2)Booster 参数

eta:默认值为0.3,别名为learning rate,更新叶子节点权重的时候,收缩步长来防止过拟合。在每次提升计算之后,可以直接获得新的特征权值,这样可以使得提升过程更加稳健。

表 2 连续重整装置氢气纯度和氢气产量动态数据Table 2 Dynamic data of hydrogen purity and hydrogen production in continuous reforming unit

表 3 最小新氢消耗量目标和最小氢气剩余量目标动态数据Table 3 Dynamic data of the minimum fresh hydrogen consumption and the minimum hydrogen surplus

max_depth:默认值为6,这个值为树的最大深度,也是用来防止过拟合的。树的深度越大,越容易过拟合。

lambda:默认值为1,L2 为正则化项的惩罚系数,用来控制XGBoost 的正则化部分。参数越大,越不容易过拟合。

n_estimatores:总共迭代的次数,即决策树的个数。

(3)学习目标参数

eval_metric:自定义评测函数,选择项“rmse”为均方根误差;“mae”为平均绝对值误差;“logloss”为负对数似然;“error”为二分类错误率。其值通过错误分类数目与全部分类数目比值得到。预测值大于0.5 被认为是正实例,其他归为负实例。

seed:默认值为0,随机数种子,设置其可以复现随机数据的结果,也可用于调整参数。

本文基于XGBoost 的Python 库,使用表3 中的39 804 组动态数据,随机选取20%数据组成测试集,80%数据组成训练集,以4 个反应器温度以及循环氢数据为输入特征,以最小新氢消耗量和最小氢气剩余量数据为输出,将eval_metric(自定义评测函数)设置为“mae”,learning rate 设置为0.05,max_depth 设置为4,为了防止过拟合,silent 设置为1,对于n_estimatores参数的选择,给出模型单独两个输出目标最小新氢消耗量目标和最小氢气剩余量目标在测试集上的平均绝对值误差(MAE)的变化过程,结果如图1 所示,横坐标是树的数目,纵坐标是MAE 的值,可以发现在测试集上决策树数目为200 时,MAE 的值就迅速降到最低,之后基本不变,因此在后面的实验中n_estimatores参数的值设置为200,其余参数均设置为默认值。

本文含有两个目标,因此采用了MultiOutput Regressor()函数,对于每一个目标可以训练出一个回归器,通过检查对应的回归器,可以获取关于目标的信息,目的是训练出多输出的预测模型。

基于上述参数设置,以最小新氢消耗量和最小氢气剩余量动态数据为模型输出,训练动态多输出预测模型。为了更好地反映预测误差的实际情况,衡量预测值与真实值的偏差,基于XGBoost 的动态多输出预测模型的性能,本文采用MAE 和均方根百分误差(RMSPE)来评估,公式如下:

为了验证本文提出模型的有效性,采用相同数据集,相同的输入特征和输出,使用隐含层12 个节点的标准BP 神经网络模型与本文模型进行预测结果对比,表5 和表6 分别显示了基于XGBoost 的氢气网络动态多输出预测模型和BP 神经网络模型的性能指标结果。包括MAE 和RMSPE,从表中可以发现,本文预测模型两个输出目标的MAE 值和RMSPE值都远小于BP 神经网络模型的MAE 值和RMSPE值,并且本文预测模型两个输出目标的RMSPE 值都趋于0,可以看出在测试集上的效果很好。

图2 示出了基于XGBoost 的氢气网络动态多输出预测模型测试集样本的最小新氢消耗量目标和最小氢气剩余量目标的预测误差散点图,从图中可以看出,大部分测试集样本的预测误差很小,样本误差散点聚集在±40~±50 之间,只有个别的点偏差较大,同样可以发现,两个目标的预测效果都很不错。

图 1 两种目标在测试集上的MAE 变化曲线Fig. 1 MAE curves of the two targets on the test set

表 4 最小新氢消耗量和最小氢气剩余量真实值和模型预测值数据Table 4 Real values and model predictive values of the minimum fresh hydrogen consumption and the minimum hydrogen surplus

表 5 基于XGBoost 的氢气网络动态多输出预测模型性能指标Table 5 Performance indexes of the dynamic multi-output prediction model of the hydrogen network based on XGBoost

表 6 BP 神经网络模型性能指标Table 6 Performance indexes of the back propagation neural network model

2 模型的特征重要度分析

模型的5 个输入特征与最小新氢消耗量和最小氢气剩余量单独两个输出目标的特征重要度得分如图3 所示。图中,纵坐标表示5 个输入特征,f0~f4 分别表示反应器1 温度、反应器2 温度、反应器3 温度、反应器4 温度以及循环氢量,横坐标表示特征的重要度得分(F score),根据特征重要度打分,可以分辨出特征对于模型的重要性。值得注意的是,在最小新氢消耗量目标中,反应器2 温度(f1)以及反应器4 温度(f3)在所有特征中的得分非常靠前,尤其是反应器4 温度的重要度得分最高,而在最小氢气剩余量目标中,反应器1 温度(f0)以及反应器4 温度(f3)在所有特征中的得分非常靠前,尤其是反应器4 温度的重要度得分最高,也就是说,该特征是对最小新氢消耗量目标和最小氢气剩余量目标都有着非常重要影响的特征。在最小新氢消耗量目标中,并未出现循环氢量(f4)特征,即循环氢量对于最小新氢消耗量目标并没有影响,而在最小氢气剩余量目标中,反应器2 温度(f1)和反应器3 温度(f2)的得分比较靠后,即它们对于最小氢气剩余量目标的影响较小。

图 2 测试集样本两种目标的预测误差散点图Fig. 2 Scatter diagram of prediction error for the two targets of the test set samples

图 3 两种目标特征重要度得分Fig. 3 Feature importance scores of the two targets

两种目标的特征权重数据分别为[0.166 83、0.347 11、0.126 49、0.359 56、0]和[0.358 26、0.065 63、0.062 94、0.396 45、0.116 73],不难发现,特征权重数据与特征重要度得分的结果一致,在这些特征中对模型影响最大的是反应器4 温度,对于最小新氢消耗量来说,循环氢量没有影响,对于最小氢气剩余量来说,反应器2 温度和反应器3 温度影响最小。

3 总 结

本文研究了基于XGBoost 模型的炼油厂氢气网络动态多输出预测模型。以Aspen HYSYS 模拟实际反应过程对实际数据进行补充得到的随实际生产动态环境变化的动态数据为数据源,采用“一种夹点法与超结构法混合的炼油厂氢气网络优化调度方法”[7]对源数据进行处理,最后使用得到的最小新氢消耗量和最小氢气剩余量两种目标的动态数据进行氢气网络动态多输出预测,并对模型性能进行了评估。为了验证模型的有效性,与BP 神经网络模型进行了对比,得到了很好的预测效果。最后,本文对模型的特征重要度进行了分析,得出对于模型来说影响最大的特征是反应器4 的温度的结论。

基于XGBoost 模型的炼油厂氢气网络动态多输出预测模型可以对不同工况下的实时动态的最小新氢消耗量以及最小氢气剩余量进行准确的预测,能够基于预测结果对氢气网络的合理配置与优化提供指导决策支持,以提高炼油企业的经济效益。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!