发明内容
本发明的目的是提供基于改进人工蜂群算法的注汽锅炉配汽优化方法,这种基于改进人工蜂群算法的注汽锅炉配汽优化方法用于解决在蒸汽驱开采过程中现有注汽锅炉配汽方案不合理的问题。
本发明解决其技术问题所采用的技术方案是:这种基于改进人工蜂群算法的注汽锅炉配汽优化方法:
步骤一:建立蒸汽驱注汽锅炉配汽优化数学模型;
在稠油蒸汽驱中,一个注汽锅炉同时为多个井组连续注入蒸汽,根据质量守恒和能量守恒原理,建立蒸汽驱注汽锅炉配汽优化数学模型,该模型满足以下假设条件:①经过几个蒸汽吞吐周期后,地层压力小于5MPa,适于进行蒸汽驱开采;②驱替过程是均质油藏中的一维流动过程,油层厚度大于10m;③油藏中的流体分为蒸汽区、热流体区、原油富集区、原始油藏区4个区,且各自向前推进,各区之间不存在过渡区,当某一区不存在时,其顺序不会改变;④油藏流体和岩石是不可压缩的,且在流动过程中不发生化学反应;⑤蒸汽区中不存在天然气和蒸汽,只存在不流动油和蒸汽(水);⑥油藏上下盖层性质相同且只有垂向热损失;以各井组累积油汽比之和为优化目标,建立了目标函数F:
Vkp=AkT·hkn·φk (4)
式中:F为待优化性能指标函数,f
k表示第k个井组n个月累积油汽比;n为蒸汽驱连续注入蒸汽时间,单位为月;num为注汽锅炉同时注入蒸汽的井组数;x
ki(i=1,2,3,…,n)为第k个井组第i个月每天的注汽量,单位为m
3;N
kp为第k个井组n个月累积产油量,单位为m
3;E
kRo为第k个井组油的综合驱替系数;R
ks为第k个井组溶解气油比,单位为m
3/m
3;S
koi为第k个井组原始含油饱和度;ρ
koi为第k个井组原始油密度,单位为kg/m
3;V
kp为第k个井组孔隙体积,单位为m
3;ρ
kgsc为第k个井组气体在标准状况下的密度,单位为kg/m
3;A
kT为第k个井组井网面积,单位为m
2;h
kn为第k个井组油层有效厚度,单位为m;φ
k为第k个井组孔隙度;E
kA为第k个井组面积扫油效率;
为第k个井组油相拟驱替效率;W
kJ为第k个井组累积注入蒸汽量,单位为m
3;month
i为第i个月的天数,单位为d;
模型约束条件:
xmin≤xki≤xmax(k=1,2,3,…,num,i=1,2,…,n) (7)
式中:xmin为井组每天最小注汽量,单位为m3;xmax为井组每天最大注汽量,单位为m3;xki为第k个井组第i个月每天的注汽量,单位为m3;GL为注汽锅炉每天提供的总蒸汽量,单位为m3;
目标函数式(1)和约束条件式(7)、式(8)构成蒸汽驱注汽锅炉配汽方案优化数学模型;
步骤二:获取某稠油油藏区各井组的油藏描述、地层原始条件、地下流体属性、地下岩石属性、注入井、生产井相关参数;
步骤三:设定改进人工蜂群算法参数,所述的改进人工蜂群算法参数包括:种群规模SN,蜜源个数N,维数D,最大迭代次数Iter_Max,限制次数Limit,食物源的取值范围[min,max],雇佣蜂个体极值停滞步数阈值Tid,全局最优值停滞步数阈值Tgd;
步骤四:初始迭代次数iter=0,按照混沌优化算子产生初始解Xi=(xi,1,xi,2,...,xi,D),i=1,2,…,SN;
步骤五:根据公式(1)计算解Xi(i=1,2,…,SN)的适应度值f(Xi),保存种群最优解Pgbest;
步骤六:雇佣蜂i利用式(9)进行解更新,产生新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
vi,j=xi,j+φi,j·(xi,j-xk,j) (9)
式中:φi,j是[-1,1]间的随机数;k∈{1,2,…,SN}是随机选择的一个解,且k≠i;j∈{1,2,…,D}是随机选择的一个维度,trial(i)记录雇佣蜂i的解Xi的适应度值f(Xi)连续limit次没有改变的次数
步骤七:观察蜂按照轮盘赌选择机制,依据式(10)计算选择概率p(Xi),选出具有较优适应度值的蜜蜂个体,然后由式(9)搜索产生一个新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
式中:f(Xi)为解Xi的适应度值;
步骤八:如果trial(i)>Limit,则雇佣蜂i被舍弃,变成侦察蜂,利用公式(11)产生一个新的解Xi,trial(i)=0;
xi,j=xmin,j+rand(0,1)·(xmax,j-xmin,j) (11)
式中:rand(0,1)是位于[0,1]间的一个随机数,xmin,j和xmax,j分别是第j维变量的最小值和最大值;
步骤九:执行自适应动态重组算子,保存较好解;
步骤十:执行极值扰动算子,保存种群最优解和雇佣蜂个体极值;
步骤十一:计算iter=iter+1,判断iter>Iter_Max是否满足,若满足则输出最优解,否则跳到步骤六。
上述方案步骤四中混沌优化算子为:
混沌搜索是将混沌状态引入优化变量中,通过施加混沌扰动,使其按系统内在规律进行遍历,公式如下:
yn+1=μ·yn·(1-yn) (12)
式中:μ是混沌吸引子,当μ=4时,系统进入混沌状态,生成混沌变量yn(n=1,2,...),其值在[0,1]区间内变化;
混沌优化算子具体实现过程如下:
步骤1:初始化种群个数N,控制参数μ=4,i=1;
步骤2:随机产生y0=(y01,y02,…,y0D),其中D为优化问题的维数,y0中不能包含0.25、0.5和0.75这3个数值。
步骤3:按照式(12)生成yi=(yi1,yi2,…,yiD);
步骤4:按照式(13)将yi映射为种群个体Xi=(xi1,xi2,…,xiD);
xi,j=xmin,j+yi,j·(xmax,j-xmin,j) (13)
步骤5:计算i=i+1,判断i>N,满足条件则结束,否则返回步骤3。
上述方案步骤九中自适应动态重组算子为:
设雇佣蜂共有m个,每次迭代后,雇佣蜂个体极值修改的个数为s,则公式(14)中η表示整个雇佣蜂的贡献度,
η=s/m (14)
该算子依据贡献度η,利用差分算法思想,实现雇佣蜂的自适应动态重组。首先,分别应用公式(15)和(16),确定雇佣蜂重组的个数N和幅度F;然后,随机选择3个雇佣蜂Xi、Xr1和Xr2,应用公式(17)计算Xi重组后雇佣蜂X′i;最后,比较X′i与Xi,保留较好的,
N=(1-η)·m (15)
X′i=Xi+F·(Xr1-Xr2) (17)
式(15)和(16)看出贡献度η越小,重组的雇佣蜂个数越多,重组的幅度越大,重组后的新雇佣蜂X′i与原雇佣蜂Xi变化的程度也就越大,帮助跳出局部最优,加快收敛速度;反之,贡献度η越大,重组的雇佣蜂个数越少,重组的幅度也越小,重组后的新雇佣蜂X′i与原雇佣蜂Xi变化的程度也就越小,有助于开采更高精度的解。
上述方案步骤十中极值扰动算子为:
极值扰动公式为
式中:
为第i个雇佣蜂的个体极值,
为第i个雇佣蜂扰动后的个体极值;P
gbest为全局最优值,P′
gbest为扰动后全局最优值;t
id和t
gd分别为雇佣蜂个体极值和全局最优值进化停滞步数;T
id和T
gd分别为雇佣蜂个体极值和全局最优值需要扰动的停滞步数阈值;U(0,1)为均匀分布在[0,1]之间的随机数。
本发明具有以下有益效果:
1、本发明利用改进的人工蜂群算法对注汽锅炉配汽的主要参数即各井组每天的注汽量进行优化,获得最优解。该方法操作更简单,收敛速度更快,参数优化更精确,因此,该方法实施后,能够更精确优化注汽锅炉为各井组每天分配的注汽量,实现注汽锅炉配汽方案动态调整,指导注汽锅炉配汽方案合理编制,最大限度地提高采收率,提高经济效益。
2、本发明提供了一种自适应动态重组的混沌极值扰动人工蜂群算法。该算法引入混沌优化算子产生初始解,依据雇佣蜂的贡献度对雇佣蜂进行自适应动态重组,保证种群的多样性,同时引入极值扰动算子对雇佣蜂个体极值和全局最优值实施随机扰动,加快了收敛速度,提高了种群的可进化能力。
3、本发明具有智能化的特征,缩短了注汽锅炉配汽参数调整的时间,提高了注汽锅炉配汽方案优化的自动化程度,提高各个井组的累积油汽比。
4、本发明用于稠油油藏区确定蒸汽驱注汽锅炉配汽方案,为一种注汽锅炉在蒸汽驱多个井组中优化分配蒸汽的确定方法,解决了现有注汽锅炉在蒸汽驱多个井组中分配蒸汽方案非最优的问题。
具体实施方式
下面结合附图对本发明作进一步的说明:
参阅图1,这种基于改进人工蜂群算法的注汽锅炉配汽优化方法:
步骤一:建立蒸汽驱注汽锅炉配汽优化数学模型,该蒸汽驱注汽锅炉配汽优化数学模型是依据质量守恒定律和能量守恒定律得到的解析模型。
在稠油蒸汽驱中,一个注汽锅炉同时为多个井组连续注入蒸汽,根据质量守恒和能量守恒原理,建立蒸汽驱注汽锅炉配汽优化数学模型,该模型满足以下假设条件:①经过几个蒸汽吞吐周期后,地层压力小于5MPa,适于进行蒸汽驱开采;②驱替过程是均质油藏中的一维流动过程,油层厚度大于10m;③油藏中的流体分为蒸汽区、热流体区、原油富集区、原始油藏区4个区,且各自向前推进,各区之间不存在过渡区,当某一区不存在时,其顺序不会改变;④油藏流体和岩石是不可压缩的,且在流动过程中不发生化学反应;⑤蒸汽区中不存在天然气和蒸汽,只存在不流动油和蒸汽(水);⑥油藏上下盖层性质相同且只有垂向热损失;以各井组累积油汽比之和为优化目标,建立了目标函数F:
Vkp=AkT·hkn·φk (4)
式中:F为待优化性能指标函数,f
k表示第k个井组n个月累积油汽比;n为蒸汽驱连续注入蒸汽时间,单位为月;num为注汽锅炉同时注入蒸汽的井组数;x
ki(i=1,2,3,…,n)为第k个井组第i个月每天的注汽量,单位为m
3;N
kp为第k个井组n个月累积产油量,单位为m
3;E
kRo为第k个井组油的综合驱替系数;R
ks为第k个井组溶解气油比,单位为m
3/m
3;S
koi为第k个井组原始含油饱和度;ρ
koi为第k个井组原始油密度,单位为kg/m
3;V
kp为第k个井组孔隙体积,单位为m
3;ρ
kgsc为第k个井组气体在标准状况下的密度,单位为kg/m
3;A
kT为第k个井组井网面积,单位为m
2;h
kn为第k个井组油层有效厚度,单位为m;φ
k为第k个井组孔隙度;E
kA为第k个井组面积扫油效率;
为第k个井组油相拟驱替效率;W
kJ为第k个井组累积注入蒸汽量,单位为m
3;month
i为第i个月的天数,单位为d;
模型约束条件:
xmin≤xki≤xmax(k=1,2,3,…,num,i=1,2,…,n) (7)
式中:xmin为井组每天最小注汽量,单位为m3;xmax为井组每天最大注汽量,单位为m3;xki为第k个井组第i个月每天的注汽量,单位为m3;GL为注汽锅炉每天提供的总蒸汽量,单位为m3;
目标函数式(1)和约束条件式(7)、式(8)构成蒸汽驱注汽锅炉配汽方案优化数学模型;
步骤二:获取某稠油油藏区各井组的油藏描述、地层原始条件、地下流体属性、地下岩石属性、注入井、生产井相关参数;
步骤三:设定改进人工蜂群算法参数,所述的改进人工蜂群算法参数包括:种群规模SN,蜜源个数N,维数D,最大迭代次数Iter_Max,限制次数Limit,食物源的取值范围[min,max],雇佣蜂个体极值停滞步数阈值Tid,全局最优值停滞步数阈值Tgd;
步骤四:初始迭代次数iter=0,按照混沌优化算子产生初始解Xi=(xi,1,xi,2,…,xi,D),i=1,2,…,SN;
本步骤中在改进人工蜂群算法中提出了混沌优化算子,
混沌搜索是将混沌状态引入优化变量中,通过施加混沌扰动,使其按系统内在规律进行遍历,公式如下:
yn+1=μ·yn·(1-yn) (12)
式中:μ是混沌吸引子。当μ=4时,系统进入混沌状态,生成混沌变量yn(n=1,2,...),其值在[0,1]区间内变化。
该算子具体实现过程如下:
步骤1:初始化种群个数N,控制参数μ=4,i=1。
步骤2:随机产生y0=(y01,y02,…,y0D),其中D为优化问题的维数,y0中不能包含0.25、0.5和0.75这3个数值。
步骤3:按照式(12)生成yi=(yi1,yi2,…,yiD);
步骤4:按照式(13)将yi映射为种群个体Xi=(xi1,xi2,…,xiD);
xi,j=xmin,j+yi,j·(xmax,j-xmin,j) (13)
步骤5:计算i=i+1,判断i>N,满足条件则结束,否则返回步骤3。
步骤五:根据公式(1)计算解Xi(i=1,2,…,SN)的适应度值f(Xi),保存种群最优解Pgbest;
步骤六:雇佣蜂i利用式(9)进行解更新,产生新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
vi,j=xi,j+φi,j·(xi,j-xk,j) (9)
式中:φi,j是[-1,1]间的随机数;k∈{1,2,…,SN}是随机选择的一个解,且k≠i;j∈{1,2,…,D}是随机选择的一个维度,trial(i)记录雇佣蜂i的解Xi的适应度值f(Xi)连续limit次没有改变的次数
步骤七:观察蜂按照轮盘赌选择机制,依据式(10)计算选择概率p(Xi),选出具有较优适应度值的蜜蜂个体,然后由式(9)搜索产生一个新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
式中:f(Xi)为解Xi的适应度值;
步骤八:如果trial(i)>Limit,则雇佣蜂i被舍弃,变成侦察蜂,利用公式(11)产生一个新的解Xi,trial(i)=0;
xi,j=xmin,j+rand(0,1)·(xmax,j-xmin,j) (11)
式中:rand(0,1)是位于[0,1]间的一个随机数,xmin,j和xmax,j分别是第j维变量的最小值和最大值;
步骤九:执行自适应动态重组算子,保存较好解;
本步骤在改进人工蜂群算法中提出了自适应动态重组算子。
设雇佣蜂共有m个,每次迭代后,雇佣蜂个体极值修改的个数为s,则公式(14)中η表示整个雇佣蜂的贡献度。
η=s/m (14)
该算子依据贡献度η,利用差分算法思想,实现雇佣蜂的自适应动态重组。首先,分别应用公式(15)和(16),确定雇佣蜂重组的个数N和幅度F;然后,随机选择3个雇佣蜂Xi、Xr1和Xr2,应用公式(17)计算Xi重组后雇佣蜂X′i;最后,比较X′i与Xi,保留较好的。
N=(1-η)·m (15)
X′i=Xi+F·(Xr1-Xr2) (17)
式(15)和(16)可以看出贡献度η越小,重组的雇佣蜂个数越多,重组的幅度越大,重组后的新雇佣蜂X′i与原雇佣蜂Xi变化的程度也就越大,可以帮助跳出局部最优,加快收敛速度;反之,贡献度η越大,重组的雇佣蜂个数越少,重组的幅度也越小,重组后的新雇佣蜂X′i与原雇佣蜂Xi变化的程度也就越小,有助于开采更高精度的解。
步骤十:执行极值扰动算子,保存种群最优解和雇佣蜂个体极值;
本步骤在改进人工蜂群算法中提出了极值扰动算子。
极值扰动公式为
式中:
为第i个雇佣蜂的个体极值,
为第i个雇佣蜂扰动后的个体极值;P
gbest为全局最优值,P′
gbest为扰动后全局最优值;t
id和t
gd分别为雇佣蜂个体极值和全局最优值进化停滞步数;T
id和T
gd分别为雇佣蜂个体极值和全局最优值需要扰动的停滞步数阈值;U(0,1)为均匀分布在[0,1]之间的随机数。
步骤十一:计算iter=iter+1,判断iter>Iter_Max是否满足,若满足则输出最优解,否则跳到步骤六。
本发明的原理:人工蜂群算法是一种高效的群智能算法。它模仿蜜蜂的采蜜行为进行搜索,蜜蜂根据各自的分工进行不同的活动,并实现蜂群信息的共享和交流,从而找到问题的最优解。人工蜂群算法包含了3种不同类型的蜜蜂:雇佣蜂、观察蜂和侦察蜂。雇佣蜂负责寻找新的解,并且将得到的寻找信息传递给观察蜂;观察蜂共享雇佣蜂的信息后,以某种算法选择一个较好的解,继续进行新的搜索;如果雇佣蜂的解在连续limit次没有改变,那么它将变成侦察蜂,并且它的解被舍弃,然后侦察蜂随机搜寻新的解。
虽然人工蜂群算法在许多优化问题中都表现出优于粒子群(PSO)、差分进化(DE)等算法的性能,较好的平衡了探索和开采的能力。但是由于进化方式和选择策略的影响,使算法在快速收敛的同时,增加了限入局部最优或早熟收敛的概率。为了克服上述缺陷,本发明提出的自适应动态重组的混沌极值扰动人工蜂群算法可有效地解决上述问题。该算法引入混沌优化算子产生初始解,依据雇佣蜂的贡献度对雇佣蜂进行自适应动态重组,保证种群的多样性,同时引入极值扰动算子对雇佣蜂个体极值和全局最优值实施随机扰动,加快了收敛速度,提高了种群的可进化能力。
保密性实验:利用本发明所述方法对辽河齐40块油田注汽锅炉配汽优化。
以辽河齐40块油田的某注汽锅炉为例,该锅炉同时为井组1、井组2、井组3、井组4连续66月注入蒸汽,下面分以下步骤具体说明本发明的实施方式。
步骤一:建立蒸汽驱注汽锅炉配汽优化数学模型;
步骤二:获取辽河齐40块油田油藏区的各井组油藏描述(井网面积、油层深度、油层有效厚度、油层总厚度、渗透率、孔隙度、岩石导热率)、地层原始条件(地层原始压力、地层原始温度、地层原始水饱和度、地层原始油饱和度、地层原始气饱和度)、地下流体属性(地下油密度、地下气体密度、溶解汽油比、地面条件下原油粘度)、地下岩石属性(水渗透率指数、油渗透率指数、气渗透率指数、蒸汽渗透率指数、残余水饱和度、水相残余油饱和度、气相残余油饱和度、在油水曲线上水的端点相对渗透率、在油水曲线上油的端点相对渗透率、在油气曲线上气的端点相对渗透率)、注入井和生产井(注汽压力、绝热层半径、注汽管子外半径、套管外半径、注汽井水泥环外半径、采油井半径、注汽井表皮因子、采油井表皮因子)相关参数。
步骤三:利用本发明所述方法对辽河齐40块油田注汽锅炉配汽优化时,指定的改进人工蜂群算法各相关参数值见表1。
表1辽河齐40块油田注汽锅炉配汽方案优化时改进人工蜂群算法相关参数设置
步骤四:初始迭代次数iter=0,按照混沌优化算子产生初始解Xi=(xi,1,xi,2,…,xi,D),i=1,2,…,SN;
步骤五:根据建立的蒸汽驱注汽锅炉配汽优化数学模型,计算每个解的适应度值f(Xi),保存种群最优解Pgbest;
步骤六:雇佣蜂i(i=1,2,…,N)进行解更新,产生新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
步骤七:观察蜂按照轮盘赌选择机制,计算选择概率p(Xi),选出具有较优适应度值的蜜蜂个体,然后搜索产生一个新解Vi,计算适应度值f(Vi);如果新解Vi比Xi好,则Xi=Vi,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1;
步骤八:如果trial(i)>Limit,则雇佣蜂i被舍弃,变成侦察蜂,产生一个新的解Xi,trial(i)=0;
步骤九:依据贡献度η,利用差分算法思想,实现雇佣蜂的自适应动态重组,保存较好解;
步骤十:执行极值扰动算子,保存种群最优解和雇佣蜂个体极值;
步骤十一:计算iter=iter+1,判断iter>Iter_Max是否满足,若满足则输出最优解,否则跳到步骤六。
本发明具有智能化的特征,缩短了注汽锅炉配汽参数调整的时间,提高了注汽锅炉配汽方案优化的自动化程度,提高各个井组的累积油汽比。表2是以现有注汽锅炉配汽方案与本发明优化方案对比,其中本发明优化方案的累积油汽比相对于现有方案井组1提高了8.97%,井组2提高了9.52%,井组3提高了11.42%,井组4提高了16.76%。本发明与常规方法相比,辽河齐40块油田的各井组累积油汽比均有不同程度的提高,说明采用此优化方案可以有效地提高油田的经济效益。
表2辽河齐40块油田现有方案和优化方案模拟运行66个月的性能指标结果