APP下载

基于HABC-RBF 神经网络的蒸汽驱预测方法

2018-03-20倪红梅刘永建李盼池

吉林大学学报(信息科学版) 2018年1期
关键词:蒸汽驱结点扰动

倪红梅,刘永建,李盼池

0 引 言

稠油是石油资源的重要组成部分,蒸汽驱是提高稠油油藏采收率的一种重要方法,可取得较好的开发效果。准确有效的实现蒸汽驱开发效果预测是现场注采方案合理制定的基础,它是蒸汽驱开采是否成功的关键。近几十年来,国内外专家在蒸汽驱开发效果预测问题上进行了大量的研究,提出了很多方法。李平科等[1]在热采数值模拟的基础上,利用回归分析,建立了油藏参数和蒸汽驱开发采收率之间的预测公式。蒲海洋等[2]从半经验型和解析型的角度,分析和总结了国内外油藏专家近30年来建立的蒸汽驱预测模型。文献[3]依据经验公式,利用正交分析,通过回归法得到待定系数和参数的关系式,提出了一种新的蒸汽驱开发效果评价方法。文献[4]针对裂缝性碳酸盐岩储层,提出了一种新的蒸汽驱开发效果评价工具,借助现场数据,引入粒子群优化的人工神经网络和统计方法,实现蒸汽驱开发效果的预测,取得了较好的效果。文献[5]为提高蒸汽驱的预测性能,在前人的解析模型基础上,进行了改进,提出了一种新的解析模型。

由于蒸汽驱开发效果影响因素较多,开采过程非常复杂,应用传统数学方法很难建立有效的蒸汽驱开发效果预测模型。人工神经网络作为一种非线性映射模型,具有很强的处理大规模复杂非线性动力学系统的能力,非常适合解决预测领域中的一些复杂问题[6-8]。RBF(Radial Basis Function)神经网络是单一隐含层的前馈网络,具有简单的拓扑结构、更好的逼近能力和更快的学习速度[9]。RBF神经网络已被证明具有可逼近任意连续函数的能力,已经成功地应用于非线性系统的建模与控制中[10-12]。然而,RBF神经网络参数的选取对网络的学习和泛化能力有较大的影响,不合适的选取将严重影响网络的性能。为提高RBF神经网络预测精确度,也出现了多种调整网络模型参数,包括隐含层结点数、基函数的中心和宽度、隐含层到输出层的连接权值的算法。

人工蜂群(ABC:Artificial Bee Colony)算法是一种新的生物启发优化算法,具有控制参数少、全局优化能力强、易于实现[13]等优点。它已被证明比粒子群优化(PSO:Particle Swarm Optimization)算法和差分进化(DE:Differential Evolution)算法更有效,被广泛应用于解决组合优化和参数优化的问题[14-16]。然而,与其他优化算法一样,ABC算法也存在收敛速度慢的问题。为此,国内外研究人员提出了许多改进算法[17-19]。

笔者提出一种混合人工蜂群(HABC:Hybrid Artificial Bee Colony)算法,将其应用于RBF神经网络参数的优化,建立蒸汽驱开发效果预测模型。该算法为充分利用解的历史信息,应用种群最优解,修改雇佣蜂解和观察蜂解的搜索方程,帮助雇佣蜂和观察蜂搜索到更好的解,借鉴差分进化算法思想,完成对种群最优解和个体搜索解的随机扰动,加快了收敛速度,提高了种群的可进化能力。以辽河油田齐40块为例,试算结果表明,该方法的预测精度优于PSO-RBF模型和ABC-RBF模型。实例证明,HABC算法与RBF神经网络相融合,建立的蒸汽驱开发效果预测模型是可行、有效的。

图1 RBF神经网络结构Fig.1 RBF neural network stucture

1 RBF神经网络模型

RBF神经网络具有3层结构,即:输入层、隐含层和输出层。假定RBF神经网络的输出只有1个单元,径向基函数采用高斯函数,输入为m维,训练样本为{Xi,yi}(i=1,2,…,N),其中Xi=(xi1,xi2,…,xim)为输入变量;yi为期望输出变量;N为训练样本数。多输入单输出RBF神经网络结构如图1所示。

RBF神经网络的隐含层第j个结点的输出为

其中Cj和σj分别为基函数的中心和宽度。

输出层通过隐含层结点输出的线性组合产生最终输出。RBF神经网络的输出为

其中wj为连接权值;h为隐含层结点数。

RBF神经网络的精度主要取决于隐含层结点数h、基函数的中心Cj和宽度σj、隐含层到输出层的连接权值wj等参数,通过优化网络这些参数,可提高网络的预测精度。采用HABC算法可以对这些参数进行优化,优化后能使RBF神经网络具有更高的预测精度。

2 HABC算法

2.1 ABC算法

ABC算法是一种基于蜂群智能行为的优化算法。该算法包含了3种不同类型的蜜蜂:雇佣蜂、观察蜂和侦察蜂。雇佣蜂负责寻找新的解,并将得到的寻找信息传递给观察蜂。观察蜂共享雇佣蜂的信息后,以某种算法选择一个较好的解,继续进行新的搜索;若雇佣蜂的解在连续Slimit次没有改变,则它将变为侦察蜂,并舍弃其解,然后侦察蜂随机搜寻新的解。

假设种群规模为SN,Xi=(xi,1,xi,2,…,xi,D)为候选解,i∈{1,2,…,SN}为优化问题的维度,ABC算法包括以下3个主要阶段。

1)雇佣蜂阶段。每个雇佣蜂都有寻找新解的功能,Xi根据

开采新的解Vi=(vi,1,vi,2,…,vi,D)。若Vi的解更好,则替换Xi。式(3)中,ψi,j是在范围间的随机数;k∈(1,2,…,SN)是随机选择的解,且k≠i;j∈{1,2,…,D}是随机选择的维度。

2)观察蜂阶段。首先观察蜂按照某种选择策略,选择较好解;然后依据所选择的解,继续搜索新解。如果选择轮盘赌机制,则选择概率p(Xi)依据

确定。式(4)中f(Xi)为适应度值。

3)侦察蜂阶段。如果Xi的适应度值连续Slimit次没有改变,则Xi被舍弃,其所对应的雇佣蜂转变成侦察蜂,依据

继续搜寻新的解。式(5)中,rand(0,1)是位于[0,1]间的随机数,xmin,j和xmax,j分别是第j维变量的最小值和最大值。

2.2 HABC算法

HABC算法基本思想就是利用解的历史信息,应用种群最优解,修改雇佣蜂解和观察蜂解的搜索方程,帮助雇佣蜂和观察蜂搜索到更好的解,借鉴差分进化算法思想,完成对种群最优解和个体搜索解随机扰动,采用混合编码,优化RBF神经网络的参数。该算法主要由修改解搜索方程算子、种群最优解随机扰动算子、个体搜索解随机扰动算子实现。

2.2.1 修改解搜索方程算子

与其他优化算法一样,ABC算法也存在收敛速度慢的问题。究其原因,主要是标准的ABC算法在解的搜寻过程中不能充分利用历史信息,导致开发新解效果较差。为充分利用历史信息,加快新解的开发能力,应用种群最优解,将雇佣蜂解和观察蜂解的搜索方程由式(3)改为

以便帮助雇佣蜂和观察蜂搜索到更好的解。式(6)中,Pg,j为种群最优解的第j维,其他参数与上面相同。

该算子与标准ABC算法相比,解搜索方程增加了第3项,利用当前最优解指导搜索,由于新添加的项使搜索到的新解相对于式(3)趋向于当前最优解,直接修正了求解搜索方程,可加快收敛速度。

2.2.2 种群最优解随机扰动算子

在每隔T次迭代后,利用差分进化算法思想,完成种群最优解Pg1的随机扰动,应用

计算Pg1扰动后解Pg′1;最后比较Pg1与Pg′1,留下较优的。其中,Pg1为种群最优解,Pg2为种群次最优解,α为在T次迭代后种群最优解Pg1的修改次数。

依据式(7)可以看出,修改次数α越小,扰动后的新种群最优解的P′g1的变化程度越大,可帮助加快收敛速度。反之,修改次数α越大,扰动后的P′g1变化也就越小,有助于开采更高精度的解。

2.2.3 个体搜索解随机扰动算子

在每隔T次迭代后,利用差分进化算法思想,完成个体解Xi的随机扰动。首先任选2个解Xr1和Xr2,应用

计算Xi扰动后解X′i;最后比较Xi′与Xi,留下较优的。其中αi为在T次迭代后个体搜索解Xi的修改次数。

依据式(8)可以看出,修改次数αi越小,扰动后新的解Xi′的变化程度越大,可帮助跳出局部最优。反之,修改次数αi越大,扰动后新的解X′i的变化也就越小,可以完成局部搜索。

3 HABC算法优化RBF神经网络

为实现RBF神经网络隐含层结点数h、基函数的中心Cj和宽度σj、连接权值wj的优化,笔者使用二进制和实数相混合的编码方式。其中隐含层结点使用二进制编码,“1”代表该结点连接到输入和输出结点,处于选中状态,“0”代表该结点没有连接到输入和输出结点,处于未选中状态,则隐含层结点数就是编码相加;Cj、σj和wj采用实数编码。假设混合编码的维数为

其中I、H和O分别为输入、隐含和输出各层结点数;SIH为基函数的中心个数;H为基函数的宽度个数;WHO为连接权值个数。

HABC算法优化RBF神经网络的实现步骤如下。

Step1 初始化参数,包括种群规模SN,蜜源个数N,维数D,迭代次数K,限制次数SLimit,初始解Xi=(xi,1,xi,2,…,xi,D),i=1,2,…,SN, 代表一组 RBF神经网络的参数, 即 h、Cj、σj和wj。

Step2 计算每个解的适应度值。适应函数如下式

其中N为训练的样本数,ydi是期望输出值,yi是实际输出值。

Step3 雇佣蜂利用式(6)进行解更新,产生新解Vi,利用式(10)计算适应度值;若新解优于旧解,则用新解替换旧解,记录蜜源修改次数,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1。

Step4 观察蜂按照式(4)计算选择概率p(Xi),并由式(6)搜索产生一个新解Vi,计算适应度值f(Xi)和f(Vi);若f(Vi)>f(Xi),则Xi=Vi,记录蜜源修改次数,trial(i)=0;否则原解Xi不变,trial(i)=trial(i)+1。

Step5 若trial(i)>Slimit,则雇佣蜂i被舍弃,变成侦察蜂,利用式(5)产生的新解Vi,修改次数设置为0。

Step6 执行个体搜索解随机扰动算子,保存较好解。

Step7 执行种群最优解随机扰动算子,保存种群最优解和次最优解。

Step8 修改iter=iter+1,判断是否满足终止条件,如满足,则输出最优解,即确定RBF神经网络参数,即隐含层结点数h、基函数的中心Cj和宽度σj、连接权值wj,否则返回Step3。

4 应用实例

4.1 仿真条件

以辽河油田齐40块为研究对象,通过现场专家分析和研究,确定11个参数(即原始含油饱和度、原油粘度、油层深度、渗透率、油层有效厚度、原始温度、原始压力、井网面积、注汽速率、蒸汽干度和注汽压力)作为模型的主要影响因素,选取累积油汽比以衡量预测效果的好坏程度,收集65个井组数据[20]。最后确定55个井组数据作为训练样本和10个井组数据作为测试样本后,建立预测模型数据集。

由于建立的预测模型数据不是在同一个数量级,需进行归一化预处理。具体算法如下

其中Xmin、Xmax分别代表蒸汽驱开发效果预测数据集中最小和最大值,X为原始预测数据集中的数据,Xnormal表示归一化数据。

笔者采用Matlab2014a开发环境,建立了3种预测模型,分别是:PSO-RBF模型、ABC-RBF模型和HABC-RBF模型。PSO算法参数设置如下:种群规模N=200,粒子维数D=182(隐含层结点使用的二进制串长度为13),学习因子c1=c2=1.496 18,惯性权重w=0.729 8,最大迭代次数k=2 000。ABC和HABC算法参数设置如下:种群规模SN=200,蜜源个数N=100,维数D=182,限制次数Slimit=100,最大迭代次数k=2 000。

4.2 仿真结果

将测试样本中的10组数据分别应用3种不同预测模型进行预测,其结果如表1所示。从表1可以看出,10组测试样本应用3种不同预测模型进行预测,多数样本预测结果接近期望值,个别样本误差较大。分析表明,误差较大的样本在训练样本中所占比例较小,训练数据样本的均衡性严重影响了预测模型的质量。通过表1预测结果可以算出,3种模型PSO-RBF、ABC-RBF和HABC-RBF的最好测试样本相对误差分别为3.67%、2.95%、0.09%;最差测试样本相对误差分别为33.45%、31.24%、11.79%;平均相对误差分别为12.47%、8.41%、4.58%。由此也可看出,HABC-RBF模型的预测结果最好。

表1 不同模型预测结果Tab.1 Prediction results of different models

4.3 结果分析

为更准确的对比3种不同优化算法建立的蒸汽驱开发效果预测模型,绘制了累积油汽比预测指标的不同模型预测结果对比图,如图2所示。

图2显示了10组测试样本数据应用3种不同的预测模型的预测结果。可看到,HABC-RBF模型只有测试样本8与期望值偏差较大,其他样本都非常接近期望值;PSO-RBF模型与HABC-RBF模型相比较差,大部分样本距离期望值比较远;ABC-RBF模型预测各样本数据值好于PSO-RBF模型,但比HABC-RBF模型稍差。

从实验结果可看出,分别将PSO、ABC和HABC 3种不同优化算法应用于RBF神经网络参数优化中,取得了不同优化结果,产生了不同的蒸汽驱开发效果预测模型。预测结果不同可看出,HABC算法表现出更有效的全局搜索能力,避免早熟收敛,适用于蒸汽驱开发效果预测。

图2 预测结果对比图Fig.2 Comparison chart of prediction results

5 结 语

笔者分别应用PSO算法、ABC算法和HABC算法对RBF神经网络进行优化,建立了3种不同的蒸汽驱开发效果预测模型。以辽河油田齐40块为例进行了试算,不同预测模型的对比结果表明,HABCRBF模型的收敛速度和预测精度都优于PSO-RBF模型和ABC-RBF模型。HABC-RBF模型能记忆样本信息,实现复杂非线性系统数学模型的建立,进行蒸汽驱开发效果预测,并且预测效果较好。因此,将HABC算法与RBF神经网络相融合,应用于蒸汽驱开发效果预测方面是可行、有效的。

[1]李平科,张侠,岳清山.蒸汽驱开发采收率预测新方法[J].石油勘探与开发,1996,23(1):51-54.LI Pingke,ZHANG Xia,YUE Qingshan.A New Method of Predicting Oil Recovery Factor of Steam Drive[J].Petroleum Exploration and Development,1996,23(1):51-54.

[2]蒲海洋,苏文江,张锐.蒸汽驱模型的特征分析及合理模型的选择方法 [J].石油大学学报:自然科学版,2002,26(5):60-64.PU Haiyang,SU Wenjiang,ZHANG Rui.Characteristic Analysis and Reasonable Selection of Steam Flooding Models for Heavy Oil Reservoirs[J].Journal of the University of Petroleum,2002,26(5):60-64.

[3]张兆祥,刘慧卿,杨阳,等.稠油油藏蒸汽驱评价新方法[J].石油学报,2014,35(4):733-738.ZHANG Zhaoxiang,LIU Huiqing,YANG Yang,et al.A New Evaluation Method of Steam Flooding for Heavy Oil Reservoirs[J].Acta Petrolei Sinica,2014,35(4):733-738.

[4]ALI SHAFIEI,MAURICE B DUSSEAULT,SOHRAB ZENDEHBOUDI,et al.A New Screening Tool for Evaluation of Steamflooding Performance in Naturally Fractured Carbonate Reservoirs[J].Fuel,2013,108(11):502-514.

[5]CHANDRA S,MAMORA D D.Improved Steamflood Analytical Model[J].Spereservoir Evaluation and Engineering,2007,10(6):638-643.

[6]TATAR A,NAJAFIMARGHMALEKI A,BARATIHAROONI A,et al.Implementing Radial Basis Function Neural Networks for Prediction of Saturation Pressure of Crude Oils[J].Petroleum Science and Technology,2016,34(5):454-463.

[7]TATAR A,BARATIHAROONI A,MORADI S,et al.Prediction of Heavy Oil Viscosity Using a Radial Basis Function Neural Network[J].Petroleum Science and Technology,2016,34(21):1742-1748.

[8]AREF HASHEMI FATH.Application of Radial Basis Function Neural Networks in Bubble Point Oil Formation Volume Factor Prediction for Petroleum Systems[J].Fluid Phase Equilibria,2017,437:14-22.

[9]孙丹,万里明,孙延风,等.一种改进的RBF神经网络混合学习算法 [J].吉林大学学报:理学版,2010,48(5):817-822.SUN Dan,WAN Liming,SUN Yanfeng,et al.An Improved Hybrid Learning Algorithm for RBF Neural Network[J].Journal of Jilin University:Science Edition,2010,48(5):817-822.

[10]GAN M,LI H X,PENG H.A Variable Projection Approach for Efficient Estimation of RBF-ARX Model[J].IEEE Transactions on Cybernetics,2015,45(3):476-485.

[11]WU Jiansheng,LONG Jin,LIU Mingzhe.Evolving RBF Neural Networks for Rainfall Prediction Using Hybrid Particle Swarm Optimization and Genetic Algorithm[J].Neurocomputing,2015,148:136-142.

[12]XU Hao,ZUO Xingquan,LIUChuanyi,et al.Predicting Virtual Machine's Power via a RBF Neural Network[J].Advances in Swarm Intelligence,2016,9713:370-381.

[13]霍凤财,杜颖,刘洋.人工蜂群算法及其应用[J].吉林大学学报:信息科学版,2016,34(4):468-476.HUO Fengcai,DU Ying,LIU Yang.Artificial Bee Colony Algorithm and Its Application[J].Journal of Jilin University:Information Science Edition,2016,34(4):468-476.

[14]LI Junqing,PAN Quanke,TASGETIREN M.A Discrete Artificial Bee Colony Algorithm for the Multi-Objective Flexible Job-Shop Scheduling Problem with Maintenance Activities[J].Applied Mathematical Modeling,2014,38(3):1111-1132.

[15]BHANDARI A K,KUMAR A,SINGH G K.Modified Artificial Bee Colony Based Computationally Efficient Multilevel Thresholding for Satellite Image Segmentation Using Kapur's,Otsu and Tsallis Functions[J].Expert Systems with Applications,2015,42(3):1573-1601.

[16]LI Bai,LI Ya,GONG Ligang.Protein Secondary Structure Optimization Using an Improved Artificial Bee Colony Algorithm Based on AB Off-Lattice Model[J].Engineering Applications of Artificial Intelligence,2014,27(1):70-79.

[17]SHARMA T K,PANT M,BANSAL J C.Some Modification to Enhance the Performance of Artificial Bee Colony[C]∥IEEE Congress on Evolutionary Computation(CEC).Brisbane,Australia:IEEE,2012:1-8.

[18]KARABOGA D,GORKEMLI B.A Quick Artificial Bee Colony(qABC)Algorithm for Optimization Problems[C]∥Innovations in Intelligent Systems and Applications.Trabzon,Turkey:[s.n.],2012:1-5.

[19]刘霞,张姗姗,胡铭鉴.基于混沌人工蜂群算法优化的SVM齿轮故障诊断[J].吉林大学学报:信息科学版,2015,33(4):476-484.LIU Xia,ZHANG Shanshan,HU Mingjian.SVM Optimization Based on Chaotic Artificial Colony Algorithm Gear Fault Diagnosis[J].Journal of Jilin University:Information Science Edition,2015,33(4):476-484.

[20]倪红梅.基于智能计算的蒸汽驱开发效果预测与参数优化方法研究[D].大庆:东北石油大学计算机与信息技术学院,2016.NI Hongmei.Research on Steam Flooding Development Effectiveness Prediction and Parameter Optimization Method Based on Intelligent Computation[D].Daqing:School of Computer and Information Technology,Northeast Petroleum University,2016.

猜你喜欢

蒸汽驱结点扰动
Bernoulli泛函上典则酉对合的扰动
LEACH 算法应用于矿井无线通信的路由算法研究
辽河中深层稠油蒸汽驱技术研究与应用
转换机制下具有非线性扰动的随机SIVS传染病模型的定性分析
一类四次扰动Liénard系统的极限环分支
基于八数码问题的搜索算法的研究
带扰动块的细长旋成体背部绕流数值模拟
辽河油田蒸汽驱国内首次大规模开发超稠油
胜利稠油蒸汽驱开发现状及主要影响因素