基于自动编码器和多目标优化的自动历史拟合方法及系统与流程

文档序号:12365005阅读:416来源:国知局
基于自动编码器和多目标优化的自动历史拟合方法及系统与流程
本发明涉及地球物理学中物探开发
技术领域
,具体涉及基于自动编码器和多目标优化的自动历史拟合方法及系统。
背景技术
:在油藏数值模拟中,为了使动态预测能够尽量接近实际情况,通常需要对油藏数据进行历史拟合,根据所观测到的实际油藏动态来调整油藏模型参数,使得模型的计算拟合量与实际油藏动态观测值的误差在允许的范围内,为后续油藏开采服务。传统的历史拟合方法通过不断手工调整模型参数,工作量大、繁琐,且效率低下。自动历史拟合方法通过采用优化算法自动调整油藏模型参数,缩短拟合时间,提升拟合精度。因此,研究快速的自动历史拟合方法是实现油藏历史拟合的急切需求。在求解历史拟合问题上常见的方法主要有三种,分别为梯度类方法、数据同化方法和随机类方法。主要的梯度类算法包括牛顿型(Newton)方法和有限储存BFGS(LBFGS)方法等,无梯度类算法包括随机扰动梯度近似法(SPSA)、集合卡尔曼滤波法(ENKF)等。牛顿型(Newton)方法:在梯度类算法中,Newton方法是一种较为优秀的拟合算法,也是应用范围最广的梯度类算法。T.B.Tan等(1991)采用Gauss-Newton方法,完成了三维三相的全隐式油藏数值模拟器的设计,该模拟器可以进行初步的自动历史拟合操作,但Gauss-Newton方法在使用中需要对Hessian矩阵进行存储和计算,不适合解决大型油藏模拟自动历史拟合问题。有限储存BFGS(LBFGS)方法:2002年,Zhang.F等采用有限储存BFGS(LBFGS)方法,省略了对Hessian矩阵进行存储和计算的过程,只需获取迭代部分得到的梯度值及目标函数值即可完成计算,解决了Gauss-Newton方法在解决大型油藏模拟自动历史拟合时效果不理想的问题。2006年,Gao.G等对该算法做出了改进,提升了拟合的效率与稳定性。2010年,Tavakoli等基于奇异值分解,结合LBFGS方法给出一种新的参数降维拟合算法。虽然此方法在处理油藏模拟自动历史拟合问题时有着较为优异的效果,但是其无法在油藏数值模拟器中通用,有较大的局限性,因此正逐渐被无梯度类优化方法所替代。随机扰动梯度近似法(SPSA)方法:2007年,Gao.G等首先在油藏测试实例中通过SPSA方法对油藏模拟自动历史拟合进行研究并取得了较好的拟合结果,但是这种方法仍然存在计算效率不高,收敛速度较慢的问题,且该方法没有考虑到各油藏模拟参数之间的关联性。2010年,Li.G等基于Gauss分布提出改进的随机扰动优化算法SGSD,在计算中引入了地质模型变量协方差矩阵,有效提高了拟合过程的效率和准确度。集合卡尔曼滤波(ENKF)方法:集合卡尔曼滤波(ENKF)法在油藏模型拟合过程中不需要对伴随矩阵进行存储与计算,开发和操作更为简便,且优化得到的油藏模型较为准确,因此受到了国内外众多相关领域研究学者的日益关注。Emerick等将ENKF法与蒙特卡洛法应用于油藏自动历史拟合过程的研究尚处于起步阶段,未来还有巨大的发展空间和发展前景。随机类方法:随机类算法是目前发展较快的一种算法,该类算法在计算过程中以随机概率和搜索策略来求解问题,它能够解决目标函数复杂和梯度求解困难的问题。2004年Tokuda和Takahashi将遗传算法应用岩心驱替的历史拟合中,实验结果表明虽然遗传算法能够有效的求解历史拟合问题,但是存在计算效率较低的问题,并且在历史拟合中可能陷入局部收敛。虽然遗传算法在计算过程中能够搜索到较优的解,但是在当油藏模型较大时计算效率较低。2009年YasinHajizadeh将ACO算法引入到历史拟合问题的求解中,实验结果表明该算法相对于传统的遗传算法求解效率更高。同年YasinHajizadeh将DE算法引入到历史拟合问题的求解中,该算法仅需要少量的参数就能够实现油藏自动历史拟合,但是该算法在大型油藏模型中难以实现。一年后Mohamed引入PSO算法求解油藏历史拟合问题,该方法在处理高维问题时能够获得更优的结果,是一类较为有效的历史拟合方法。随机类方法采用随机概率和一定搜索策略寻找最优解,能够找到较为优秀的全局最优值,为油藏自动历史拟合的实现提供了一种新的解决方案。综上所述,采用随机类算法求解较大规模的油藏历史拟合问题,在计算效率以及精度方面需要进一步的改进。由于油藏自动历史拟合实质上是一类复杂的多目标问题,维数过高导致参数优化搜索空间巨大,因此必须采用降维技术对高维优化空间进行降维处理,寻找出原始油藏数据在低维空间的表示,通过减少计算维度,提高历史拟合的精度及效率。当前,在高维数据降维方面国内外学者在基于流形或高斯分布假设方面开展了相关研究工作。数据降维技术按照降维后所获得的低维空间数据与原始大规模网格油藏静态参数点之间的关系差异,可分为线性与非线性降维算法两大类。线性降维算法的计算复杂度低且简便高效,但面对强属性相关或者非线性相关的地质数据不能取得良好的降维效果。而非线性降维算法特别是基于流行学习的降维算法在处理非线性的数据时降维效果良好,但计算相对较复杂、不容易理解。技术实现要素:本发明所要解决的技术问题是提供基于自动编码器和多目标优化的自动历史拟合方法及系统,能够采用自动编码器对大规模网格油藏静态参数进行降维与重构处理,同时采用多目标算法实现油藏数值模拟自动历史拟合,提高计算的效率和精度。本发明解决上述技术问题的技术方案如下:一方面,本发明提供了基于自动编码器和多目标优化的自动历史拟合方法,所述方法包括:S1、读取原始的高维油藏静态参数,并采用自动编码器对所述高维油藏静态参数进行降维,得到降维后的油藏静态参数;S2、采用基于分解的多目标优化算法对所述降维后的油藏静态参数进行优化,得到降维并优化的油藏静态参数;S3、采用自动编码器对所述降维并优化的油藏静态参数进行数据重构,得到优化高维油藏静态参数;S4、对所述优化高维油藏静态参数进行历史拟合模拟计算,得到模拟生产结果;S5、将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则输出所述优化高维油藏静态参数,并结束流程,否则,返回步骤S2。本发明的有益效果:本发明提供的一种基于自动编码器和多目标优化的自动历史拟合方法,采用自动编码器对大规模网格油藏静态参数进行降维,然后采用多目标算法实现油藏数值模拟自动历史拟合,提高计算的效率和精度,并在得到降维并优化的油藏静态参数后,再采用自动编码器对降维并优化的油藏静态参数进行重构,得到优化高维油藏静态参数,采用所述优化高维油藏静态参数来得到模拟生产结果。本发明将基于深度学习的自动编码器与多目标算法应用于油藏历史拟合问题,大大减少了优化参数的搜索空间,通过自动编码器的数据降维去除大规模网格数据噪声等冗余信息,实现从原始大规模网格油藏静态参数到低维数据空间之间的双向映射,弥补了大部分降维方法在降维后无法实现从低维空间重构高维数据的问题,多目标算法提高计算的精度,使得到的模拟生产结果更加接近真实生产结果。进一步的,所述S1具体包括:构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述高维油藏静态参数压缩至隐藏层并去掉数据中的冗余信息,然后在输出层中对压缩至隐藏层中的数据进行降维,得到降维后的油藏静态参数,其中,所述高维油藏静态参数具体包括各划分网格的渗透率以及孔隙度。采用上述进一步方案的有益效果:对大规模网格油藏静态参数进行降维并在降维过程中去除数据中的冗余信息,以便方便后续多目标算法对降维后的油藏静态参数进行优化,维数越小,优化结果就更加精确。进一步的,所述S2具体包括:S21、构造历史拟合目标函数,所述目标函数由多个子目标问题对应的子目标函数构成;S22、初始化参数,并设置优化停止条件,所述参数至少包括迭代次数、种群规模、参考点以及多个子目标问题分别对应的权重向量,所述参考点为每代各子目标函数的最优解的组合;S23、根据预设算法规则条件更新参考点、相邻子问题的解以及种群;S24、判断是否满足所述优化停止条件,若满足,则输出最优目标函数值以及所述最优目标函数值对应的降维并优化的油藏静态参数,否则返回步骤S23。采用上述进一步方案的有益效果:采用基于分解策略的多目标优化算法实现油藏数值模拟自动历史拟合,自动调整油藏模型参数,缩短拟合时间,提升拟合精度,提高计算的效率和精度。进一步的,所述S3具体包括;构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述降维并优化的油藏静态参数压缩至隐藏层,然后在输出层中对压缩至隐藏层中的数据进行重构,得到优化高维油藏静态参数。采用上述进一步方案的有益效果:对多目标算法优化得到的低维数据进行重构,以得到优化后的高维数据,以便后续根据优化后的高维数据得到更加接近真实生产值的模拟生产结果。另一方面,本发明提供了基于自动编码器和多目标优化的自动历史拟合系统,所述系统包括:读取降维模块,用于读取原始的高维油藏静态参数,并采用自动编码器对所述高维油藏静态参数进行降维,得到降维后的油藏静态参数;优化模块,用于采用基于分解的多目标优化算法对所述降维后的油藏静态参数进行优化,得到降维并优化的油藏静态参数;重构模块,用于采用自动编码器对所述降维并优化的油藏静态参数进行数据重构,得到优化高维油藏静态参数;模拟计算模块,用于对所述优化高维油藏静态参数进行历史拟合模拟计算,得到模拟生产结果;比较判断模块,用于将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则转至所述输出模块,否则,转至所述优化模块。输出模块,用于在所述误差低于预设误差值时,输出所述优化高维油藏静态参数。本发明的有益效果:本发明提供的一种基于自动编码器和多目标优化的自动历史拟合系统,采用自动编码器对大规模网格油藏静态参数进行降维,然后采用多目标算法实现油藏数值模拟自动历史拟合,提高计算的效率和精度,并在得到降维并优化的油藏静态参数后,再采用自动编码器对降维并优化的油藏静态参数进行重构,得到优化高维油藏静态参数,采用所述优化高维油藏静态参数来得到模拟生产结果。本发明将基于深度学习的自动编码器与多目标算法应用于油藏历史拟合问题,大大减少了优化参数的搜索空间,通过自动编码器的数据降维去除大规模网格数据噪声等冗余信息,实现从原始大规模网格油藏静态参数到低维数据空间之间的双向映射,弥补了大部分降维方法在降维后无法实现从低维空间重构高维数据的问题,多目标算法提高计算的精度,使得到的模拟生产结果更加接近真实生产结果。进一步的,所述读取降维模块具体用于:构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述高维油藏静态参数压缩至隐藏层并去掉数据中的冗余信息,然后在输出层中对压缩至隐藏层中的数据进行降维,得到降维后的油藏静态参数,其中,所述高维油藏静态参数具体包括各划分网格的渗透率以及孔隙度。采用上述进一步方案的有益效果:对大规模网格油藏静态参数进行降维并在降维过程中去除数据中的冗余信息,以便方便后续多目标算法对降维后的油藏静态参数进行优化,维数越小,优化结果就更加精确。进一步的,所述优化模块具体包括:构造单元,用于构造油藏目标函数,所述目标函数由多个子目标问题对应的子目标函数构成;初始化单元,用于初始化参数,并设置优化停止条件,所述参数至少包括迭代次数、种群规模、参考点以及多个子目标问题分别对应的权重向量,所述参考点为每代各子目标函数的最优解的组合;更新单元,用于根据预设算法规则条件更新参考点、相邻子问题的解以及种群;判断单元,用于判断是否满足所述优化停止条件,若满足,则转至最优值输出单元,否则转至所述更新单元;最优值输出单元,用于输出最优目标函数值以及所述最优目标函数值对应的降维并优化的油藏静态参数。采用上述进一步方案的有益效果:采用基于分解策略的多目标优化算法实现油藏数值模拟自动历史拟合,自动调整油藏模型参数,缩短拟合时间,提升拟合精度,提高计算的效率和精度。进一步的,所述重构模块具体用于:构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述降维并优化的油藏静态参数压缩至隐藏层,然后在输出层中对压缩至隐藏层中的数据进行重构,得到优化高维油藏静态参数。采用上述进一步方案的有益效果:对多目标算法优化得到的低维数据进行重构,以得到优化后的高维数据,以便后续根据优化后的高维数据得到更加接近真实生产值的模拟生产结果。附图说明图1为本发明实施例1的基于自动编码器和多目标优化的自动历史拟合方法流程图;图2为本发明实施例1的自动编码器算法模型结构图;图3为本发明实施例1的自动编码器的整体结构图;图4为本发明实施例1的基于切比雪夫法的多目标算法流程图;图5为本发明实施例1的基于多目标算法的油藏参数历史拟合方法流程图;图6为现有技术中的原油藏模拟自动历史拟合结构流程图;图7为本发明实施例1的基于自动编码器和多目标优化的自动历史拟合方法的第一种方式流程图;图8为本发明实施例1的基于自动编码器和多目标优化的自动历史拟合方法的第二种方式流程图;图9为本发明实施例1的PUNQ-S3油藏模型顶层分布结构与井口分布图;图10为本发明实施例1的大规模网格油藏静态参数经过自动编码器降维后的部分数据示例;图11为本发明实施例1的降维后的油藏静态参数经过自动编码器重构后返回的部分高维数据示例;图12为本发明实施例1的PUNQ-S3油藏模型渗透率总体分布情况图;图13为本发明实施例1的原MOEA/D历史拟合程序与基于自动编码器的MOEA/D历史拟合程序在500代以内的不匹配值的比较情况图;图14为本发明实施例1的井1的井底压力、气油比、含水率拟合图;图15为本发明实施例1的井4的井底压力、气油比、含水率拟合图;图16为本发明实施例1的井5的井底压力、气油比、含水率拟合图;图17为本发明实施例1的井11的井底压力、气油比、含水率拟合图;图18为本发明实施例1的井12的井底压力、气油比、含水率拟合图;图19为本发明实施例1的井15的井底压力、气油比、含水率拟合图;图20为本发明实施例1的井1的井底压力、气油比、含水率拟合预测图;图21为本发明实施例1的井4的井底压力、气油比、含水率拟合预测图;图22为本发明实施例1的井5的井底压力、气油比、含水率拟合预测图;图23为本发明实施例1的井11的井底压力、气油比、含水率拟合预测图;图24为本发明实施例1的井12的井底压力、气油比、含水率拟合预测图;图25为本发明实施例1的井15的井底压力、气油比、含水率拟合预测图;图26为本发明实施例2的基于自动编码器和多目标优化的自动历史拟合系统示意图。具体实施方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。实施例1、基于自动编码器和多目标优化的自动历史拟合方法。下面结合图1至图25对本实施例提供的方法进行详细说明。参见图1,S1、读取原始的高维油藏静态参数,并采用自动编码器对所述高维油藏静态参数进行降维,得到降维后的油藏静态参数。具体的,构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述高维油藏静态参数压缩至隐藏层并去掉数据中的冗余信息,然后在输出层中对压缩至隐藏层中的数据进行降维,得到降维后的油藏静态参数,其中,所述高维油藏静态参数具体包括各划分网格的渗透率以及孔隙度。其中,高维油藏静态参数具体是指大规模网格油藏静态参数,油藏静态参数具体包括各划分网格的渗透率和孔隙度等参数。具体的,自动编码器是深度学习中的一个重要方法,可以看作是一种尽可能复现输入信号的前馈神经网络,其基本原理将数据进行压缩,然后保证损失尽可能小的情况将数据恢复。自动编码器模型主要由输入层、隐藏层和输出层三部分组成,根据自动编码器算法模型结构图图2所示,图中最左侧的结点代表输入层,最右侧的结点代表输出层,中间一列结点代表隐藏层。输出层与输入层的神经元数量完全相等,而隐藏层的神经元数量少于另外两层,让网络只学习最重要的特性和实现降维。隐藏层的数量可以为一个或是多个,当自动编码器只有一个隐藏层的时候,其原理与主成分分析法类似;有多个隐含层的时候,每两层之间可以用能量函数RBM来进行预训练,最后通过BP(误差反向传播ErrorBackPropagation,BP)算法来对最终权值进行调整。自动编码器的作用是将输入层中的数据压缩至隐藏层,再在输出层中重建数据。如果输入数据是完全随机且相互独立同分布,网络将难以建立起有效的压缩模型。由于实际数据存在着不同程度的冗余信息,通过自动编码器学习发现并去掉这些冗余信息,再在输出层将压缩的数据还原,同时数据损失尽可能小。针对大规模网格油藏历史拟合优化参数空间巨大的问题,采用自动编码器降维,对数据压缩和恢复。自动编码器原理是将输入层中的数据xi压缩至隐藏层,再在输出层中重建数据。如果输入数据是完全随机且相互独立同分布,网络将难以建立起有效的压缩模型。由于实际数据存在着不同程度的冗余信息,通过自动编码器学习发现并去掉这些冗余信息,再在输出层将压缩的数据还原,同时数据损失尽可能小,即使得对应的目标函数的值尽可能趋近于0,如公式(1)所示,其中,xi表示输入层中的数据,表示输出层中的数据,m表示数据的个数。J(W,b)=1mΣi=1m(x^-x)2---(1)]]>自动编码器去除原数据冗余信息和还原数据的过程,也就是对高维数据进行降维及数据重构的过程。本发明中主要对油藏数值模型中各网格的静态参数如孔隙度,渗透率等参数进行降维及重构。在对高维空间数据的处理上,通过自动编码器的方法找到高维空间数据集的低维空间。整个系统工程主要分为编码器和解码器两部分。编码器部分负责对大规模网格油藏静态参数的降维,将高维空间的油藏数据降低到一定维数的低维空间上,解码器部分负责对低维数据的重构,可视为编码器部分的逆过程,通过此部分可将低维空间上的油藏数据还原到高维空间。编码器与解码器之间存在着称为码字层的数据交汇,其作为整个自编码网络的关键部分,可以反映出具有嵌套结构的高维空间数据集的本质规律,同时可对高维空间油藏数据集的本质特征维数进行判断。自动编码器的工作原理为,通过对编码器与解码器两个单元权重的初始化,努力使原始空间数据与重构数据之间的误差达到最小,并以此为标准对自动编码器进行训练,通过解码器和编码器采用向后传播误差导数链式法则来求取所需的梯度值,从而实现对自编码网络权重的调整。如自动编码器的整体结构图图3所示。基于自动编码器的数据降维算法降维过程的具体描述如下:(1)给定无标签的大规模网格油藏静态参数,用非监督学习学习特征。(2)通过编码器产生特征,将第一隐藏层输出的编码(code)当成第二隐藏层的输入信号,通过最小化重构误差得到第二层的参数和输入的code,然后训练下一层,逐层训练。(3)通过有监督学习对每一层的参数进行微调,使降维结果更准确。S2、采用基于分解的多目标优化算法对所述降维后的油藏静态参数进行优化,得到降维并优化的油藏静态参数。自动编码器数据降维算法作为一种非线性数据降维算法,可以在高维数据空间以及低维空间之间建立双向的映射关系,弥补了大部分非线性数据降维算法无法建立由低维空间返回至高维数据空间的逆映射的缺陷。通过数据降维算法,可以将高维数据降至低维进行计算,减少了参加计算的数据维数,降低了数据的损耗。而通过数据重构可以将油藏数据重新返回到高维空间,从而避免由于数据维数的变化而产生的误差。步骤S2具体包括以下步骤:S21、构造历史拟合目标函数,所述目标函数由多个子目标问题对应的子目标函数构成。具体的,在解决油藏历史拟合问题时,对于复杂油田,需要进行拟合的生产井数量较多,每口井又存在多个拟合量。因此油藏历史拟合问题存在多个拟合量,这些拟合量间一般是相互竞争的关系,因此本质上可以看作是一个多目标优化问题。本发明采用基于分解的多目标优化(MOEA/D)算法应用于油藏历史拟合,以有效地对油藏中多个井的多个目标进行优化。油藏数值模型中需要优化的参数是各划分网格的静态参数如渗透率、孔隙度等,其初始值可通过某种概率分布模型如高斯分布随机赋值,优化目标是通过调用油藏数值模拟软件计算得到的各生产井或区块各时间片的含水率、气油比和井底压力等预测值与真实值尽可能接近,其中,区块是指包括多个生产井。对应的目标函数如公式(2)所示:f1(φ,kh,kv)=1nwΣj1ntΣk{wjkFwwct_obs(tk)-Fwwct_sin(φ,kh,kv,tk)δjk)2f2(φ,kh,kv)=1nwΣj1ntΣk{wjkFwgor_obs(tk)-Fwgor_sin(φ,kh,kv,tk)δjk)2f3(φ,kh,kv)=1nwΣj1ntΣk{wjkFwbhp_obs(tk)-Fwbhp_sin(φ,kh,kv,tk)δjk)2minf(φ,kh,kv)=min(f1(φ,kh,kv),f2(φ,kh,kv),f3(φ,kh,kv))---(2)]]>其中井的数量为nw,各井的标识为j,拟合数据的输出时刻为k,输出时刻数量之和为nt,观测误差为δ,孔隙度值为φ,水平渗透率值为kv,垂直渗透率值为kh,油藏模型在k时刻的实际生产数据为Fobs(tk),油藏模型在k时刻模拟计算得到的生产数据为Fsim(φ,kh,kv,tk),拟合数据的加权因子为wjk。综上所述,本发明采用基于分解的(MOEA/D)多目标算法对油藏中单个井或者区块中的多个井的多个目标值进行优化,并在此基础上调用油藏数值模拟软件计算,使预测值与真实值尽可能接近,达到历史拟合的效果。主要输入的数据包括各类油藏静动态参数,如渗透率、孔隙度等静态参数,生产动态数据包括各油井的产液量、日产油、年产油、含水率等,网格数据,相对渗透率、毛管压力以及油藏流体的PVT属性数据,油、水、气的地面密度,岩石压缩系数等物性参数。S22、初始化参数,并设置优化停止条件,所述参数至少包括迭代次数、种群规模、参考点以及多个子目标问题分别对应的权重向量,所述参考点为每代各子目标函数的最优解的组合。S23、根据预设算法规则条件更新参考点、相邻子问题的解以及种群。S24、判断是否满足所述优化停止条件,若满足,则输出最优目标函数值以及所述最优目标函数值对应的降维并优化的油藏静态参数,否则返回步骤S23。具体的,基于分解的多目标演化算法(MOEA/D)的主要思路就是通过将多目标问题进行分解,采用适当的权值分布来将整体的多目标问题转化为多个子目标问题,再采用一般求解单目标问题的方式,对每个子目标问题使用演化算法搜索结果,每一个与权重向量相对应的单目标子问题的当前非劣解组合形成演化算法的整体解。而每一个权重向量所对应的邻域关系为权重向量之间的欧氏空间距离,子问题的演化过程即近邻子问题在演化过程中对于结果的搜索过程。MOEA/D算法采用演化算法求解单目标优化问题时所采用的适应度分配与多样性保持的策略来进行子问题的更新,在算法的复杂度方面开销较低。算法的重点是将一个多目标问题分解为若干个子问题进行分别求解,常采用的分解策略有加权求和法、切比雪夫法(TchebycheffApproach)以及边界交集法等。切比雪夫距离(TchebycheffDistance)指的是向量空间中的一种度量,将空间中两点的距离定义为其相应各坐标值之差的最大值。以空间中的两点(x1,y1)与(x2,y2)为例,其相应的切比雪夫距离为max(|x2-x1|,|y2-y1|)。而基于切比雪夫法的MOEA/D算法框架主要包含有以下几个主要内容,假设所要求取的多目标优化问题为MinimizeF(x)=(f1(x),...,fm(x))T,Subjecttox∈Ω,其中,fm(x)为子目标函数,则有:(1)种群中的N个点x1,...,xN∈Ω,其中xi表示为第i个子问题的解决方案,N表示子问题的个数。(2)存在一组FV1,...,FVN,其中FVi代表了xi的F-Value值的大小,在对所有的i=1,...,N时,都有FVi=F(xi)的等式成立。(3)存在一组z=(z1,...,zm)T,其中zi表示为fi子目标在当前演化的过程中每一时刻所能搜索到的最优值。如图4所示,基于切比雪夫法的MOEA/D算法主要包括以下步骤:步骤1、初始化:1.1、初始化种群;1.2、初始化权重向量λ1,…,λi…,λN,每个子问题对应一个权重向量,计算任意两个权重向量的欧氏距离,得到每个权重向量的T个最相邻的权重向量,对于所有的i=1,...,N,设置B(i)={i1,...,iT},其中是λi的T个最近邻权重向量;1.3、随机化初始种群得到x1,...,xN,设置FVi=F(xi);1.4、初始化参考点z=(z1,...,zm)T。步骤2、更新,对于所有的i=1,...,N,执行以下步骤:2.1、繁殖:从B(i)中随机选取k,l然后对xk和xl使用遗传算子得到新的个体y;2.2、提高:应用该问题的特殊性来修理/改进y个体,从而得到新个体生产y′;2.3、更新参考点z:对每一个值j=1,...,m,如果zj<fj(y′),那么设置zj=fj(y′);2.4、更新相邻子问题的解:对每一个值j∈B(i),如果gte(y′|λi,z)≤gte(xj|λi,z),那么设置xj=y′,FVj=F(y′)。其中,gte是一个关于λ的连续函数,根据连续函数的定义,若λi,λj邻近,则对应的标量目标函数gte(x|λi,Z*)、gte(x|λj,Z*)的最佳解决方案也是邻近的;2.5、更新种群。步骤3、停止准则:如果优化后的值满足算法输入时的预设要求,那么算法运行停止,输出最优目标函数值以及所述最优目标函数值对应的优化参数结果;否则,转到步骤2。基于多目标算法的历史拟合算法来优化油藏参数的步骤如下:首先要设置输入参数和输出参数,其中输入参数具体包括油藏模型数据文件、模拟输出文件位置、拟合参数(渗透率、孔隙度)的取值范围和拟合最小误差等参数;输出参数具体包括最优目标函数值、最优目标函数值对应的优化参数以及产量数据等。输入输出参数设置完成后,如图5所示,MOEA/D算法的油藏参数历史拟合主要包括以下步骤:步骤1、初始化,主要是对算法的种群大小、演化代数、交叉变异概率和初始群体等进行初始化:1.1、初始权重向量λ1,…,λi…,λN;1.2、计算任意两个权重向量的欧氏距离,得到每个权重向量的T个最相邻的权重向量,对于所有的i=1,...,N,设置B(i)={i1,...,iT},其中是λi的T个最近邻权重向量;1.3、根据拟合参数的取值范围随机初始化种群,得到x1,...,xN,设置FVi=F(xi);1.4、通过历史拟合模拟软件ECLIPSE的拟合值来初始化参考点z=(z1,...,zm)T。步骤2、更新,对于所有的i=1,...,N,执行以下步骤:2.1、繁殖:从B(i)中随机选取k,l然后对xk和xl使用遗传算子得到新的个体y;2.2提高:应用油藏历史拟合特殊性来改进2.1中获得的个体y,从而得到新个体生产y′,并通过ECLIPSE软件计算出对应的拟合值;2.3更新参考点z:对每一个值j=1,...,m,如果参考点的值zj<fj(y′),那么将其设置为zj=fj(y′);2.4更新相邻子问题的解:对每一个j∈B(i),如果gte(y′|λi,z)≤gte(xj|λi,z),那么设置xj=y′,FVj=F(y′)。其中,gte是一个关于λ的连续函数,根据连续函数的定义,若λi,λj邻近,则对应的标量目标函数gte(x|λi,Z*)、gte(x|λj,Z*)的最佳解决方案也是邻近的;2.5更新种群。步骤3、停止准则:如果优化后的值满足算法输入时的预设要求,那么算法运行停止,输出最优目标函数值、最优目标函数值对应的优化参数以及产量数据等;否则,转到步骤2。在该算法中,ECLIPSE模拟器计算的过程是比较耗时的,往往取决于油藏模型的大小。S3、采用自动编码器对所述降维并优化的油藏静态参数进行数据重构,得到优化高维油藏静态参数。具体的,构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述降维并优化的油藏静态参数压缩至隐藏层,然后在输出层中对压缩至隐藏层中的数据进行重构,得到优化高维油藏静态参数。S4、对所述优化高维油藏静态参数进行历史拟合模拟计算,得到模拟生产结果。S5、将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则输出所述优化高维油藏静态参数即优化的渗透率和孔隙度等参数,并结束流程,否则,返回步骤S2。具体的,(1)读取待拟合的相关油藏数据(包括含水率、气油比、井底压力、起始时间和生产井号等);(2)筛选与相应生产井中初始生产日期匹配的含水率、气油比和井底压力参数;(3)将筛选出的数据带入模型中通过Eclipse进行计算,计算后,若仍有生产井没有计算则转(2);(4)将各个生产井计算结果输出并保存;(5)带入模型中求解,与真实注水量匹配,获取每一轮每一口井累计误差;(6)对累计误差进行验证,若误差值未达到理想值,说明拟合效果不够好,继续(7),若达到说明拟合效果良好,输出拟合结果并结束。同时检验是否达到循环代数(模块中设定为500代),若达不到则继续(7),反之结束;(7)将油藏参数做降维处理,准备对油藏模拟参数进行优化;(8)采用交叉变换的方法对油藏模拟参数进行处理;(9)将进行参数优化的油藏模拟参数通过数据重构的方式重新返回至高维空间,重复(1)。原油藏模拟自动历史拟合结构流程图如图6所示,在对原始大规模网格油藏静态参数进行优化时,不对数据进行降维,直接对大规模网格油藏静态参数进行优化,并且参数优化效果差,得到的模拟生产结果与实际生产结果相差太多。具体的,在采用自动编码器和多目标历史拟合算法对油藏参数进行优化得到接近于真实生产值的模拟生产值的过程中,可以有两种方法实现此流程,具体包括:如图7所示,第一种方式:步骤1、读取大规模网格油藏静态参数即高维油藏静态参数,并采用自动编码器对所述大规模网格油藏静态参数进行降维,得到降维后的油藏静态参数;步骤2、采用基于分解的多目标演化方法对所述降维后的油藏静态参数进行优化,在到达预设的迭代次数后,优化结束并得到最优并降维的油藏静态参数;步骤3、采用所述自动编码器对所述最优并降维的油藏静态参数进行数据重构,得到最优大规模网格油藏静态参数;步骤4、对所述最优大规模网格油藏静态参数进行历史拟合模拟计算,计算得到模拟生产结果;步骤5、将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则输出所述模拟生产结果对应的最优大规模网格油藏静态参数,并结束流程,否则转至步骤S2。在第一种方式中的方法中,在算法迭代次数结束之后,从中选取最优目标函数对应的最优低维油藏参数,然后利用自动编码器将其重构得到最优大规模网格油藏静态参数,然后调用ECLIPSE模拟器计算得到模拟生产值,并将所述模拟生产值与实际生产值进行比较得到误差值,如果所述误差值低于预设误差值,则输出所述模拟生产值、最优大规模网格油藏静态参数、最优低维油藏参数以及实际误差值,如果不满足要求,则重复此流程。本方法中每次计算都要等到达迭代次数之后再停止,从中选取最优的低维油藏参数,并不在算法过程中将模拟生产值与实际生产值进行比较,这种方式中算法停止条件为到达最大迭代次数。如图8所示,第二种方式:步骤1、读取大规模网格油藏静态参数,并采用自动编码器的方法对所述大规模网格油藏静态参数进行降维,得到降维后的油藏静态参数;步骤2、采用基于分解的多目标演化方法对所述降维后的油藏静态参数进行一次迭代更新,得到一个优化并降维的油藏静态参数;步骤3、采用自动编码器对所述优化并降维的油藏静态参数进行数据重构,得到优化大规模网格油藏静态参数;步骤3、对所述优化大规模网格油藏静态参数进行历史拟合模拟计算,计算得到模拟生产结果;步骤4、将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则所述优化大规模网格油藏静态参数为最优大规模网格油藏静态参数,并输出所述最优大规模网格油藏静态参数,并结束流程,否则,返回步骤S2直到到达预设的迭代次数,从所有迭代次数对应得到的所有目标函数中选择最优的目标函数值对应的最优油藏参数值以及该最优油藏参数值对应的模拟生产值,并结束流程。在第二种方式中的方法中,每迭代一次得到一个优化低维油藏参数,并将其利用自动编码器进行重构得到优化大规模网格油藏静态参数,并调用ECLIPSE模拟器计算得到模拟生产值,并将所述模拟生产值与实际生产值进行比较得到误差值,如果所述误差值低于预设误差值,则输出所述模拟生产值、优化大规模网格油藏静态参数、优化低维油藏参数以及实际误差值。本方法中不需要在到达迭代次数之后再停止,只要满足预设误差要求就可以停止流程,这种方式中算法停止条件为实际误差值低于预设误差值或者达到最大迭代次数。具体实验模型得到的实例:主要通过对前述基于自动编码器和多目标演化算法的油藏历史拟合方法进行研究实验以检验其效果。实验模型为PUNQ-S3油藏数据模型。PUNQ-S3油藏数据模型作为一个三维三相的油藏工程模型,由19*28*25个网格块构成,共分为五层,每层为2660个网格块,每个网格块的大小一致,其中包含1761个有效网格块。在油藏模型的东部和南部各存在一处大型断层,在西部和北部区域存在一处相当厚的含水层相连。原模型中共有6口生产井,不含注水井。在油藏结构的中心部分存在一个小的气帽,各生产井的布局都围绕于该气帽,其总体分布结构如图9所示,图9为PUNQ-S3油藏模型顶层分布结构与井口分布图。1、实验参数设置及过程介绍为了验证基于自动编码器的数据降维算法在优化油藏历史拟合问题上的有效性,将MOEA/D历史拟合算法和应用自动编码器数据降维算法的MOEA/D历史拟合算法进行实验对比。所有的油藏历史拟合实验参数统一设置如下:(1)单次自动编码器数据降维循环代数,设置为100代;(2)降维过程噪声,设置为0.01;(3)预设误差值ε,设置为0.01;(4)MOEA/D算法算子设置:种群规模为21;权重向量数量为20;交叉概率为0.7;变异概率为0.01;循环次数为500。为了保证实验结果的准确性,按照上述实验方案和参数设置分别进行十次实验,统计分析最终优化结果。2、降维与重构数据结果在油藏模型历史拟合参数优化部分,油藏模拟参数由原有的2660维通过自动编码器数据降维算法降维至200维,如图10所示,图10为降维后的部分数据示例。参数优化部分完成后,通过数据重构将200维的低维数据重新返回到2660维如图11所示,图11为通过重构返回的部分高维数据示例,返回至高维空间后的2660维数据与原有的油藏模拟数据之间的差异通常在0.05以内,属于正常的误差范围内,显示了算法较好的重构效果。3、拟合油藏模型渗透率总体分布情况通过历史拟合过程所得到的油藏模型渗透率的总体分布情况如图12所示,图12为PUNQ-S3油藏模型渗透率总体分布情况图。4、油藏历史拟合总体情况比较根据原MOEA/D历史拟合程序与基于自动编码器的MOEA/D历史拟合程序的实验结果,通过对相同的代数下的最小不匹配值(Misfit)和具体参数的历史拟合情况进行了相关的实验和分析。图13为原MOEA/D历史拟合程序与基于自动编码器的MOEA/D历史拟合程序在500代以内的不匹配值(Misfit)的比较情况,由于实验的前面几代的不匹配值(Misfit)数值太大不便于观察实验结果,故在画图中已舍去。不匹配值越小的时候,说明拟合值与实际测量值之间的差异程度越小,即拟合效果越好,进一步说明拟合算法的效果越优。如图13所示,MOEA/D历史拟合方法在37代之后逐渐收敛,而基于自动编码器的MOEA/D历史拟合方法在105代之后逐渐收敛,在约187代趋于收敛,拟合效果优于MOEA/D历史拟合方法。对比发现,基于自动编码器的MOEA/D历史拟合方法在总体拟合的精度效果上要优于原有方法。5、油藏单井历史拟合情况比较为进一步说明新算法历史拟合效果,将基于自动编码器的MOEA/D历史拟合方法和MOEA/D历史拟合方法计算出的单口井的含水率(WWCT)、井底压力(WBHP)和气油比(WGOR)等参数同模型真实值分别进行对比,如图14-19所示,图14为井1的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图;图15为井4的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图;图16为井5的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图;图17为井11的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图;图18为井12的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图;图19为井15的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合图。其中,图14-19分别是生产井1、4、5、11、12和15六口井的参数拟合图,其中带圆点虚线曲线为基于自动编码器的MOEA/D历史拟合方法的拟合曲线,带三角实线曲线为原MOEA/D历史拟合方法的拟合曲线,带圆点实线曲线为模型真实值的拟合曲线。如图14-19所示,所有生产井的含水率、井底压力和气油比参数拟合结果,特别含水率的拟合基于自动编码器的MOEA/D历史拟合方法拟合效果更优。为进一步说明拟合效果,对拟合结果采用均方根误差(RE)及整体误差(EE)进行了计算和统计,计算公式如公式(3)和公式(4)所示:RE=1NΣi=1N[Di]2---(3)]]>EE=Σi=1N[|Ni-Ni′|]---(4)]]>其中,Di为单口井第i个数据的平方根误差,N为数据的个数,Ni为参数拟合结果,Ni'为参数模型的真实值。MOEA/D历史拟合方法的拟合误差统计结果如表1所示:表1MOEA/D历史拟合方法的拟合均方根误差及整体误差基于自动编码器的MOEA/D历史拟合方法的拟合误差统计结果如表2所示:表2基于自动编码器的MOEA/D历史拟合方法的拟合均方根误差及整体误差综上所述,基于自动编码器的MOEA/D历史拟合方法具有较好的优化效果。6、油藏单井历史拟合预测情况比较为进一步说明基于自动编码器的MOEA/D历史拟合方法油藏生产预测的效果,取单口井前2000天的生产数据训练集,训练得到模型,然后采用模型预测后1000天的生产数据与真实数据进行对比,如图20-25所示,图20为井1的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;图21为井4的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;图22为井5的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;图23为井11的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;图24为井12的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;图25为井15的WBHP(井底压力)、WGOR(气油比)、WWCT(含水率)拟合预测图;其中,图20-25分别是生产井1、4、5、11、12和15六口井的含水率(WWCT)、井底压力(WBHP)和气油率(WGOR)的预测结果,前2000天为拟合值,后1000天为预测值,其中带圆点虚线曲线为基于自动编码器的MOEA/D历史拟合方法的预测拟合曲线,带三角实线曲线为MOEA/D历史拟合方法的预测拟合曲线,带圆点实线曲线为历史拟合真实值的拟合曲线。从六口生产井的预测图中可看出,基于自动编码器的MOEA/D历史拟合方法预测的效果和准确度更加准确。采用均方根误差(RE)及整体误差(EE)进一步计算和统计,结果如表3和表4所示:表3MOEA/D历史拟合方法的预测均方根误差及整体误差表4基于自动编码器的MOEA/D历史拟合方法的预测均方根误差及整体误差综上所述,基于自动编码器的MOEA/D历史拟合方法,采用基于深度学习的数据降维技术与多目标算法,通过减少优化参数的搜索空间,去除大规模网格数据噪声等冗余信息,大大提高了历史拟合计算的精度,提高模型的预测能力。实施例2、基于自动编码器和多目标优化的自动历史拟合系统。下面结合图26对本实施例提供的系统进行详细说明。参见图26,本实施例提供的一种基于自动编码器和多目标优化的自动历史拟合系统,所述系统包括读取降维模块、优化模块、重构模块、模拟计算模块、比较判断模块以及输出模块。读取降维模块,用于读取原始的高维油藏静态参数,并采用自动编码器对所述高维油藏静态参数进行降维,得到降维后的油藏静态参数。具体的,所述读取降维模块用于构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述高维油藏静态参数压缩至隐藏层并去掉数据中的冗余信息,然后在输出层中对压缩至隐藏层中的数据进行降维,得到降维后的油藏静态参数,其中,所述高维油藏静态参数具体包括各划分网格的渗透率以及孔隙度。优化模块,用于采用基于分解的多目标优化算法对所述降维后的油藏静态参数进行优化,得到降维并优化的油藏静态参数。所述优化模块具体包括:构造单元、初始化单元、更新单元、判断单元以及最优值输出单元。构造单元,用于构造油藏目标函数,所述目标函数由多个子目标问题对应的子目标函数构成。初始化单元,用于初始化参数,并设置优化停止条件,所述参数至少包括迭代次数、种群规模、参考点以及多个子目标问题分别对应的权重向量,所述参考点为每代各子目标函数的最优解的组合。更新单元,用于根据预设算法规则条件更新参考点、相邻子问题的解以及种群。判断单元,用于判断是否满足所述优化停止条件,若满足,则转至最优值输出单元,否则转至所述更新单元。最优值输出单元,用于输出最优目标函数值以及所述最优目标函数值对应的降维并优化的油藏静态参数。重构模块,用于采用自动编码器对所述降维并优化的油藏静态参数进行数据重构,得到优化高维油藏静态参数。具体的,所述重构模块用于构造自动编码器目标函数,并根据所述自动编码器目标函数将自动编码器输入层中的所述降维并优化的油藏静态参数压缩至隐藏层,然后在输出层中对压缩至隐藏层中的数据进行重构,得到优化高维油藏静态参数。模拟计算模块,用于对所述优化高维油藏静态参数进行历史拟合模拟计算,得到模拟生产结果。比较判断模块,用于将所述模拟生产结果与实际生产结果进行比较得到误差,判断所述误差是否低于预设误差值,若低于,则转至所述输出模块,否则,转至所述优化模块。输出模块,用于在所述误差低于预设误差值时,输出所述优化高维油藏静态参数。本发明的优点在于:(1)优化参数前采用自动编码器降维,减少优化参数维数,大大减小优化搜索空间;(2)通过降维去除高维数据中的噪声等冗余信息,提高数据处理的精度;(3)采用基于分解的多目标演化算法(MOEA/D)进行油藏多目标历史拟合;(4)将已降维的低维空间数据通过数据重构返回到原高维空间,减少因数据维度变化而带来的精度损失。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1