久章智能JZLOG
原型产品 · Prototype · 公众号原文

炼油厂优化 Refinery Optimization

本文是关于炼油厂优化问题的场景、模型、求解结果与建模技巧的内容。

本文是关于炼油厂优化问题的场景、模型、求解结果与建模技巧的内容。

一、问题描述

炼油厂购买两种原油(原油1和原油2)。这些原油经过四个过程:蒸馏、重整、裂解和混合,生产出汽油和燃料出售。

1. Distillation蒸馏

蒸馏根据沸点将每种原油分离成称为轻石脑油、中石脑油、重石脑、轻油、重油和渣油的馏分,轻、中和重石脑油的辛烷值分别为90、80和70。下表给出了每种原油中各成分的比例:

【补充知识:汽油的辛烷值(Octane Rating)是衡量汽油抗爆性能的一个指标,它表示汽油在内燃机中燃烧时抵抗自燃(即爆震)的能力。辛烷值越高,汽油的抗爆震性能越好,发动机在高压缩比下运行时越不容易发生爆震】

(注:蒸馏过程中有少量的浪费。)

2. Reforming重整

石脑油可以立即用于混合成不同等级的汽油,或者可以进入重整。重整产生重整汽油,辛烷值为115。每桶不同种类石脑油的重整汽油产率如下:

1桶轻石脑油产0.6桶重整汽油;

1桶中石脑油产0.52桶重整汽油;

1桶重石脑油产0.45桶重整汽油。

3. Cracking裂解

这些油(轻质和重质)可以直接混合成喷气燃料或燃料油,也可以投入催化裂化过程。催化裂化器产生裂化油和裂化汽油。裂化汽油的辛烷值为105。

1桶轻质油生产0.68桶裂化油和0.28桶裂化汽油;

1桶重油生产0.75桶裂化油和0.2桶裂化汽油。

裂化油用于调和燃料油和喷气燃料;裂解汽油用于调和汽油。

渣油可用于生产润滑油或调和喷气燃料和燃料油:

每桶渣油生产0.5桶润滑油。

4. Blending混合

(1)汽油(汽车燃料)

有两种汽油,普通汽油和优质汽油,是由石脑油、重整汽油和裂解汽油混合而成的。关于它们的唯一规定是,普通汽油的辛烷值必须至少为84,高级汽油的辛烷值必须至少为94。假定辛烷值按体积线性混合。

(2)喷气燃料

有关喷气燃料的规定是其蒸气压不得超过1公斤平方厘米。轻油、重油、裂化油和渣油的蒸气压分别为1.0、0.6、1.5和0.05 kg cm 2。可以再次假设蒸汽压按体积线性混合。

(3)燃料油

为了生产燃料油,轻油、裂化油、重油和渣油必须按10:4:3:1的比例混合。

原油转化过程图

在使用的数量和工艺上存在可用性和能力限制,如下所示:

1. 原油1的日供应量为20000桶。

2. 原油2的日供应量为30000桶。

3. 每天最多可蒸馏出45000桶原油。

4. 每天最多可重整10000桶石脑油。

5. 每天最多可裂解8000桶石油。

6. 润滑油的日产量必须在500至1000桶之间。

7. 优质车用燃料产量必须至少为常规车用燃料产量的40%。

来自最终产品销售的利润贡献(以便士/桶计)如下:

为了使总利润最大化,炼油厂的操作应如何规划?

二、求解

石油工业是线性规划模型的主要用户。这是典型应用中的一个非常小的部分。一般来说,所使用的模型将由数千个约束组成,可能将一个以上的炼油厂连接在一起。

1. 变量

考虑到这种模型中有许多不同种类的变量,在描述公式时使用助记符名称是方便的。以下变量用于表示材料的数量(以桶计):

2. 约束可供量

原油的有限可供量提供了简单的上界约束:

能力约束

蒸馏能力约束:

重整能力约束:

裂解能力约束:

关于润滑油生产的规定给出了以下下限和上限约束:

连续性:

轻石脑油的产量取决于所用原油的数量,同时考虑到每种原油在蒸馏下的分离方式。这给出:

对于MN、HN、LO、HO和R存在类似的约束。

-0.2CRA-0.25CRB+MN=0

-0.2CRA-0.18CRB+HN=0

-0.12CRA-0.08CRB+LO=0

-0.2CRA-0.19CRB+HO=0

-0.13-0.12CRB+R=0

生产的重整汽油的量取决于重整过程中使用的石脑油的量。这给出了约束:

生产的裂解油和裂解汽油的数量取决于使用的轻油和重油的数量。这给出了约束条件:

润滑油的生产(和销售)量是渣油使用量的0.5倍。这给出:

用于重整和混合的轻石脑油的量等于可用的量。这给出:

对于MN和HN存在类似的约束。

-MN+MNRG+MNPMF+MNRMF=0

-HN+HNRG+HNPMF+HNRMF=0

用于裂化和混合的轻油的数量与可用的数量相等。这给出:

-LO+LOCGO+LOJF+0.55FO=0

蒸馏后的轻油有:用于裂解(LOCGO)、用于生产喷气燃料(LOJF)和用于生产燃料油。对于燃料油的调和,轻油的比例固定为10/18。因此,这里并没有引入单独的变量,即用于生产燃料油的轻油,而是直接用轻油占用燃料油的比例表示。

HO、CO和R也存在类似的限制,也涉及固定比例的FO,以及CG和RG。

-HO+HOCGO+HOJF+3/18FO=0

-CO+COJF+4/18FO=0

-R+RJF+1/18FO+RLBO=0

-CG+CGRMF+CGPMF=0

-RG+RGRMF+RGPMF=0

生产的优质汽车燃料的数量等于其成分的总量。这给出:

RMF和JF也存在类似的限制。

-LNPMF-MNRMF-HNRMF-RGRMF-CGRMF+RMF=0

-LOJF-HOJF-COJF-RJF+JF=0

优质汽车燃料产量必须至少为常规汽车燃料产量的40%,

品质

有必要规定高级汽车燃料的辛烷值不低于94。这是由以下约束完成的:

(体积可看为权重系数,加权求和之后再除以总量,即PMF<=94)

RMF也有类似的限制。

-90LNPMF-80MNRMF-70HNRMF-115RGRMF-105CGRMF+84RMF<=0

对于喷气燃料,我们有蒸汽压的限制。

该模型有29个约束条件,以及三个变量的简单界限。

3. 目标函数

唯一涉及利润(或成本)的变量是最终产品。这给出了要最大化的目标(以磅为单位),

三、求解

最优解的利润为211365英镑。

第三部分中定义的变量的最佳值如下:

四、展示炼油厂优化问题页面展示

五、建模小tip

modal formulations用于减少约束数量

在这个问题中,对于燃料油混合,其中的成分(轻油、重油、裂化油和渣油)是按固定比例混合的。在此,最好将FO的生产视为一项固定的活动。这就是modal formulations方法,其中活动表示过程的极端操作模式。在石油工业中,从活动而不是数量的角度来思考是很常见的。在这种情况下,活动的数量会按比例自动固定各成分的数量。

模态公式举例:

在大型LP问题中,可以使用模态公式来减少约束的数量。如果一系列约束只涉及少数变量,则可以考虑这些变量空间的可行域。例如,假设x_A和x_B是LP模型中的两个(非负)变量,并且它们出现在以下约束中:

如图3.3所示,这种情况可以通过用变量而不是x_A和x_B来表示“极端运行模式”的活动来模拟。如果这些变量是λ0、λ1、λ2、λ3和λ4,我们只需指定单个约束。

当x_A和x_B出现在模型的其他部分时,除了现在被忽略的约束(3.26),(3.27)和(3.28)之外,我们替换以下表达式:

对于x_A,λ1,λ2,……的系数是图3.3中x_A轴上对应的值,同样地,对于x_B,替换后变量的系数是x_B轴对应的值。

在本例中,我们节省了两个约束。巧妙地使用这个想法可以大大节省模型中的约束数量。

参考文献

[1] Williams, H. P. (2013). Model Building in Mathematical Programming (5th ed.). Wiley.

作者 | 刘思佳

欢迎关注「久章智能」公众号

了解更多智能决策的前沿技术与行业应用

联系人|张新杰
联系方式|13311931669
邮箱|[email protected]
久章智能公众号
负责人微信

本文转载自久章智能微信公众号(原文发布于 2024-09-11),内容保持原貌。扫码关注公众号「久章智能」,第一时间获取智能决策系列文章。阅读原文 ↗