发明内容
本发明的目的是为了解决现有蒸汽驱注采方案确定方法需要调整参数较多、操作复杂、计算速度慢、注采方案非最优的问题,提供一种基于随机扰动粒子群算法的蒸汽驱注采方案确定方法。
本发明的基于随机扰动粒子群算法的蒸汽驱注采方案确定方法,它包括如下步骤:
步骤一:获取某稠油油藏区的油藏描述、地层原始条件、地下流体属性、地下岩石属性、注入井和生产井相关参数,对该油藏区建立蒸汽驱解析模型;
步骤二:设定粒子群算法的参数,所述的参数包括:粒子种群规模N,粒子维数L,粒子各维的速度范围[Vimin,Vimax],其中i=1,2,…,L,粒子各维位置的范围[Ximin,Ximax],其中i=1,2,…,L,惯性权重w,学习因子C1和C2,扰动步长step,最大迭代次数Iter_Max和相邻两次迭代的适应度最小变化量Var_Min;
该稠油油藏区进行连续n个月的注汽,第i个月的注汽量为xi,其中i=1,2,…,n,n为正整数,xn+1表示该油藏区的注汽干度,则粒子群中每个粒子X的编码为X=(x1,x2,…xn,xn+1),每个粒子的维数L为n+1,粒子各维的速度范围[Vimin,Vimax],粒子各维位置的范围[Ximin,Ximax],即各月注汽量和注汽干度的范围;
步骤三:利用随机函数产生每个粒子各维位置和速度的初始值xi (1)(i=1,2,…,L)和vi (1)(i=1,2,…,L),令初始的迭代次数t=1,粒子群优化开始;
步骤四:对于每个粒子对应蒸汽驱注采方案应用蒸汽驱解析模型进行效果模拟,从模拟输出的性能指标中得到第t次迭代的累计油汽比f(t),将f(t)作为该粒子的适应度评价值;
比较累计油汽比和该粒子历史上最大累计油汽比Pbest,当f(t)>Pbest时,且粒子各维位置处于适宜解空间内,即Ximin<xi (t)<Ximax(i=1,2,…,L),则Pbest=f(t),Pbest为个体极值,转入步骤五;
步骤五:从所有粒子中选择个体极值Pbest最大的粒子作为全局极值Gbest对应的粒子;
步骤六:设置循环计数器初值times2=0,对每个粒子记忆中最优粒子开始随机扰动,转入步骤七;
步骤七:对每个粒子记忆中最优粒子进行随机扰动操作:Pbestnew=Pbestold+step*rand,式中Pbestnew为新产生点的位置,Pbestold为记忆中最优粒子的位置,step为扰动步长,rand为分布在[0,1]间的随机数;
步骤八:应用蒸汽驱解析模型进行效果模拟,输出新产生点的适应度评价值,若大于记忆中最优粒子的适应度评价值,则接受新产生点为记忆中最优粒子;
步骤九:如果times2小于粒子种群规模N,times2=times2+1,转入步骤七;否则转入步骤十;
步骤十:根据下面的公式更新每个粒子各维位置和速度,获取新的位置xi (t+1)和速度vi (t+1):
上式中,r1和r2是[0,1]之间的随机数;
步骤十一:如果t=Iter_Max,或者相邻两次迭代的全局极值之差小于适应度最小变化量Var_Min,则全局极值Gbest对应的粒子结果即是最优的该油藏区蒸汽驱注采方案,转入步骤十二;否则,t=t+1,返回步骤四。
步骤十二:根据步骤十一确定的最优该油藏区蒸汽驱注采方案,应用蒸汽驱解析模型进行效果模拟,输出累计产油量、累计油汽比和采收率。
本发明与已有的蒸汽驱注采参数确定技术相比:本发明需要调整的参数更少,操作简单,收敛速度更快,参数确定更精确,对每个记忆中的最优方案实施随机扰动,只接受使适应度评价值增加的随机扰动操作,可使记忆中的最优方案跳出局部最优解,同时能够提高解的精度,因此该方法实施后,能够更精确优化蒸汽驱注采参数,实现蒸汽驱注采方案动态调整,指导开发方案合理编制,最大限度地提高采收率,提高经济效益。
具体实施方式
具体实施方式一:本发明的基于随机扰动粒子群算法的蒸汽驱注采方案确定方法,它包括如下步骤:
步骤一:获取某稠油油藏区的油藏描述、地层原始条件、地下流体属性、地下岩石属性、注入井和生产井相关参数,对该油藏区建立蒸汽驱解析模型;
步骤二:设定粒子群算法的参数,所述的参数包括:粒子种群规模N,粒子维数L,粒子各维的速度范围[Vimin,Vimax],其中i=1,2,…,L,粒子各维位置的范围[Ximin,Ximax],其中i=1,2,…,L,惯性权重w,学习因子C1和C2,扰动步长step,最大迭代次数Iter_Max和相邻两次迭代的适应度最小变化量Var_Min;
该油藏区进行连续n个月的注汽,第i个月的注汽量为xi,其中i=1,2,…,n,n为正整数,xn+1表示该油藏区的注汽干度,则粒子群中每个粒子X的编码为X=(x1,x2,…xn,xn+1),每个粒子的维数L为n+1,粒子各维的速度范围[Vimin,Vimax],粒子各维位置的范围[Ximin,Ximax],即各月注汽量和注汽干度的范围;
步骤三:利用随机函数产生每个粒子各维位置和速度的初始值xi (1)(i=1,2,…,L)和vi (1)(i=1,2,…,L),令初始的迭代次数t=1,粒子群优化开始;
步骤四:对于每个粒子对应蒸汽驱注采方案应用蒸汽驱解析模型进行效果模拟,从模拟输出的性能指标中得到第t次迭代的累计油汽比f(t),将f(t)作为该粒子的适应度评价值;
比较累计油汽比和该粒子历史上最大累计油汽比Pbest,当f(t)>Pbest时,且粒子各维位置处于适宜解空间内,即Ximin<xi (t)<Ximax(i=1,2,…,L),则Pbest=f(t),Pbest为个体极值,转入步骤五;
步骤五:从所有粒子中选择个体极值Pbest最大的粒子作为全局极值Gbest对应的粒子;
步骤六:设置循环计数器初值times2=0,对每个粒子记忆中最优粒子开始随机扰动,转入步骤七;
步骤七:对每个粒子记忆中最优粒子进行随机扰动操作:Pbestnew=Pbestold+step*rand,式中Pbestnew为新产生点的位置,Pbestold为记忆中最优粒子的位置,step为扰动步长,rand为分布在[0,1]间的随机数;
步骤八:应用蒸汽驱解析模型进行效果模拟,输出新产生点的适应度评价值,若大于记忆中最优粒子的适应度评价值,则接受新产生点为记忆中最优粒子;
步骤九:如果times2小于粒子种群规模N,times2=times2+1,转入步骤七;
否则转入步骤十;
步骤十:根据下面的公式更新每个粒子各维位置和速度,获取新的位置xi (t+1)和速度vi (t+1):
上式中,r1和r2是[0,1]之间的随机数;
步骤十一:如果t=Iter_Max,或者相邻两次迭代的全局极值之差小于适应度最小变化量Var_Min,则全局极值Gbest对应的粒子结果即是最优的该油藏区蒸汽驱注采方案,转入步骤十二;否则,t=t+1,返回步骤四。
步骤十二:根据步骤十一的确定的最优的该油田区域蒸汽驱注采方案,应用蒸汽驱解析模型进行效果模拟,输出累计产油量、累计油汽比和采收率。
本实施方式中涉及到的蒸汽驱解析模型是根据石油大学学报1993年第17卷第1期发表的《蒸汽驱开发指标预测的解析模型》建立的,从分析蒸汽驱物理过程入手,建立起蒸汽超覆物理模式,把蒸汽驱过程中的油藏分为具有超覆前缘的四个区:原始油藏区、原油富集区、热流体区和蒸汽区。经过各区超覆前缘等价位置的转换,把超覆物理模式等价转换成活塞式推进物理模式;然后建立各区的物质平衡方程和能量平衡方程,求解出各区中油、汽、水饱和度以及前缘等价位置。提出了综合驱替效率的概念,利用拟驱替效率和面积波及效率计算出各时刻油、气、水、汽(当出现蒸汽突破时)的产出量及油汽比等一系列开发指标,并与经验方法预测结果和蒸汽驱数值模拟结果进行了对比。结果表明,本发明中蒸汽驱开发指标预测效果模拟计算的产量曲线与热采数值模型的计算结果较为吻合。
具体实施方式二:本实施方式与具体实施方式一不同的是每间隔迭代次数为m时,0<m<Iter_Max,在初始种群中对最差粒子重新初始化其位置和速度。
本发明的原理:粒子群算法是由Kennedy和Eberhart博士提出的一种演化计算技术,其核心思想是对生物社会性行为的模拟。假设在搜索食物区域里只有一块食物,所有的小鸟都不知道食物在什么地方,Kennedy等认为鸟之间存在着互相交换信息,通过估计自身的适应度值,它们知道当前的位置离食物还有多远,所以搜索目前离食物最近的鸟的周围区域是找到食物的最简单有效的办法,通过鸟之间的集体协作使群体达到最优。粒子群算法从这种模型中得到启示并用于解决优化问题。在粒子群算法中每个优化问题的潜在解都可以想象成搜索空间中的一只鸟,我们称之为“粒子”。粒子的状态好坏,由被优化问题决定的适应度值表示。每个粒子还有一个速度决定粒子飞翔的方向和距离,粒子追随当前的最优粒子在解空间进行搜索。
标准粒子群算法在初期搜索效率极高,但在接近最优解时搜索速度低,且很难得到精确最优解。为了克服上述缺陷,提出的随机扰动粒子群优化算法可有效地解决上述问题:(1)对每个记忆中的最优粒子实施随机扰动,只接受使个体适应度增加的随机扰动操作,可使记忆中的最优粒子跳出局部最优解,同时能够提高解的精度;(2)对最差粒子重新初始化,既可提高种群的多样性,又可提高搜索效率。在研究过程中,将其应用于各种问题的优化取得了良好效果。
对于蒸汽驱注采参数来说,主要包括注汽量和注汽干度,其中注汽量每个月都可以变化,基于随机扰动粒子群算法的蒸汽驱注采方案优化主要针对各月的注汽量和注汽干度。
设对于某稠油油藏区进行n个月的注汽,第i个月的注汽量为xi,其中,i=1,2,…,n,xn+1表示该油藏区的注汽干度,则粒子群中每个粒子X的编码为X=(x1,x2,…xn,xn+1),上式中,每个粒子的维数L为n+1。
在优化过程中,首先建立蒸汽驱注采参数与粒子群算法中粒子之间的映射,然后利用对应的蒸汽驱注采方案通过蒸汽驱解析模型进行效果模拟,得到性能指标累计油汽比,作为各粒子的评价值。
在随机扰动粒子群优化算法中,由于算法加入的随机因素,使优化得到的各粒子位置和速度具有出现负数或大数值的情况,而各月的注汽量一般设定在[800,1200]桶的范围内,注汽干度一般在[40%,95%]范围内,因此有必要在优化过程中考虑位置和速度取值的约束条件。利用粒子群算法解决带约束的非线性优化问题,这里使用保留适宜解的方法来处理。使用这种方法,每个粒子可以在整个解空间内进行搜索,但在保留历史个体极值和全局极值能力方面,只追踪那些处于可行解空间内的粒子;同时,为加速优化进程,在初始化时,所有粒子都采用在适宜解范围之内的随机初始解。
以辽河油田齐40块油田的蒸汽驱注采方案确定为例具体说明。
获取辽河油田齐40块油藏区的油藏描述(井网面积、油层深度、油层有效厚度、油层总厚度、渗透率、孔隙度、岩石导热率)、地层原始条件(地层原始压力、地层原始温度、地层原始水饱和度、地层原始油饱和度、地层原始气饱和度)、地下流体属性(地下油密度、地下气体密度、溶解汽油比、地面条件下原油粘度)、地下岩石属性(水渗透率指数、油渗透率指数、气渗透率指数、蒸汽渗透率指数、残余水饱和度、水相残余油饱和度、气相残余油饱和度、在油水曲线上水的端点相对渗透率、在油水曲线上油的端点相对渗透率、在油气曲线上气的端点相对渗透率)、注入井和生产井(注汽压力、绝热层半径、注汽管子外半径、套管外半径、注汽井水泥环外半径、采油井半径、注汽井表皮因子、采油井表皮因子)相关参数取值见表1,对该油藏区建立蒸汽驱解析模型。
表1辽河齐40块油田油藏描述、地层原始条件、地下流体属性等相关参数设置
利用本发明所述方法对辽河油田齐40块蒸汽驱注采方案确定时,指定的随机扰动粒子群算法各相关参数值见表2。
表2辽河油田齐40块采用本发明方法相关参数设置
根据以上参数,采用本发明的方法确定辽河油田齐40块的蒸汽驱注采方案。本发明具有智能化的特征,缩短了注采参数调整的时间,提高了注采方案优化的自动化程度,提高原油采收率和累计油汽比。表3是以本发明确定方法、标准粒子群优化方法与其他现有蒸汽驱注采方法对比,其中本发明确定方法的累计油汽比相对于现有方法增多了13.87%,累计采油量增多了11.62%,采收率增多了10.27%,并且各项指标都优于标准粒子群优化方法。本发明与常规方法相比,辽河油田齐40块的累计油汽比、累计产油量和采收率均有不同程度的提高,并且优于标准粒子群优化结果,说明采用本发明确定方法可以有效地提高油田的经济效益。
表3辽河齐40块油田现有方案和本发明确定方案模拟运行66个月的性能指标结果