2.845

2023影响因子

(CJCR)

  • 中文核心
  • EI
  • 中国科技核心
  • Scopus
  • CSCD
  • 英国科学文摘

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

考虑爬坡约束的油井间抽批调度问题

郎劲 唐立新

郎劲, 唐立新. 考虑爬坡约束的油井间抽批调度问题. 自动化学报, 2019, 45(2): 388-397. doi: 10.16383/j.aas.c150332
引用本文: 郎劲, 唐立新. 考虑爬坡约束的油井间抽批调度问题. 自动化学报, 2019, 45(2): 388-397. doi: 10.16383/j.aas.c150332
LANG Jin, TANG Li-Xin. Batch Scheduling Problem of Oil Well Considering Ramping Constraints in Oilfield Production. ACTA AUTOMATICA SINICA, 2019, 45(2): 388-397. doi: 10.16383/j.aas.c150332
Citation: LANG Jin, TANG Li-Xin. Batch Scheduling Problem of Oil Well Considering Ramping Constraints in Oilfield Production. ACTA AUTOMATICA SINICA, 2019, 45(2): 388-397. doi: 10.16383/j.aas.c150332

考虑爬坡约束的油井间抽批调度问题

doi: 10.16383/j.aas.c150332
基金项目: 

国家重点研发计划资助项目 2016YFB0901900

流程工业综合自动化国家重点实验室基础研究项目 2013ZCX02

111引智基地 B16009

国家自然科学基金重点国际合作项目 71520107004

详细信息
    作者简介:

    郎劲  智能工业数据解析与优化教育部重点实验室(东北大学)讲师.主要研究方向为机组调度, 能源建模与优化.E-mail:langjin@ise.neu.edu.cn

    通讯作者:

    唐立新  东北大学工业与系统工程研究所教授.主要研究方向为生产批调度, 库存控制与供应链计划, 生产过程操作优化.本文通信作者.E-mail:lixintang@mail.neu.edu.cn

Batch Scheduling Problem of Oil Well Considering Ramping Constraints in Oilfield Production

Funds: 

National Key Research and Development Program of China 2016YFB0901900

State Key Laboratory of Synthetical Automation for Process Industrial Fundamental Research Funds 2013ZCX02

the 111 Project B16009

the Major International Joint Research Project of the National Natural Science Foundation of China 71520107004

More Information
    Author Bio:

     Lecturer at the Key Laboratory of Data Analytics and Optimization for Smart Industry, Northeastern University. Her research interest covers scheduling, energy modelling, and optimization algorithms

    Corresponding author: TANG Li-Xin  Professor at the Institute of Industrial & Systems Engineering, Northeastern University. His research interest covers batching and scheduling of the production operations, inventory control and supply chain planning, and production-process operations optimization. Corresponding author of this paper
  • 摘要: 油井间抽批调度问题是确定未来给定计划期内油田井场间抽工作方式的油井各时间段的启停状态及采油量,在满足采油需求的情况下,考虑油井底部压力变化特征对油井开启的影响以及油井最小开关机时间和爬坡约束等生产工艺要求,使总的油井采油运行成本最小.针对油井数量多而导致大规模常规数学规划模型难以求解的困难,建立了基于批的混合整数规划模型.根据模型特点设计了基于变量分离的拉格朗日松弛算法(Lagrangian relaxation,LR)进行求解.针对常规动态规划方法求解分解后的带有爬坡约束的单机组子问题效率低的缺点,提出了用特征点代表同一阶段具有相同性质节点群的状态空间约简策略,使动态规划搜索节点的复杂度从On4)降到On2),显著提高了算法的搜索效率.通过大量随机产生的数值实验表明,提出的基于变量分离的LR算法,小规模问题与CPLEX获得的最优解接近,中大规模问题能够在合理的计算时间内获得高质量的解.
  • 石油是不可再生资源, 是关系到国家安全的重要战略资源.随着近年来对石油的连续开采, 部分油井已进入开采的中后期, 油层出现明显的供液不足, 许多低产油井仍在继续采油, 表现出低渗、低压、低产、低效的特征.而石油的开采所用的油井设备是非常耗电的, 油井电费支出占原油生产成本的20%~40%.因此, 为了避免能源浪费和设备的损耗而采用间抽的方法进行采油[1].油井间抽就是当油井出现供液量不足或者空抽时, 关闭油井, 等待一段时间进行蓄油.当动液面达到抽油压力的最低要求时, 再启动油井继续采油.对油井进行间抽调度, 能够提高油田的采油率, 增加电机的运行寿命和工作效率, 降低能耗和生产成本, 对实现油田的精细化管理具有重要的意义.

    生产实际中手工作业难以实现精细化的生产.因此如何科学制定出合理的间抽调度方案, 以达到降低能耗、提高油井采油率, 是目前开采中后期迫切需要解决的问题, 该问题已经引起了国内外专家的广泛关注.据作者目前所知, 关于油井间抽调度问题的研究主要有: Aronofsky等[2]研究了石油开采的经济调度问题, 针对多个油藏和多个油井系统, 考虑井底压力对开采影响因素, 建立了线性规划模型. Carvalho等[3]考虑油藏地质特性, 研究了多时段的油井生产调度问题, 以最小化生产运行成本为目标, 决策油井多时段的启停状态和采油量. Carvalho等[4]针对海上油田的开采提出了混合整数线性规划模型, 决策油井平台的布局及油井的采油量, 保证达到采油量的需求. Kosmidis等[5]考虑油藏的非线性特性、油藏的多相流和地面设施的约束, 建立了混合整数规划模型, 以确定油井的开关机状态、油井的采油量和气举井的位置. Bohannon[6]针对油田设计和生产计划问题建立了混合整数规划模型. Iyer等[7]针对海上油田的生产计划进行研究, 考虑了平台和油井的生产能力、每个时段油井的采油量和开采油藏的选择等生产工艺约束, 以一般的最优性优化决策指标为目标, 建立了多阶段混合线性规划模型, 并设计了分支定界算法进行求解. Ray等[8]以油田开采中气举采油的方式为背景, 确定注入油井的气体的量, 保证油藏的最大化的采油量.考虑问题的复杂性和难度, 设计了进化算法进行求解. Gunnerud等[9]针对油田实时生产优化问题, 利用分段线性的方法把问题进行线性化, 建立了混合整数线性规划模型, 并利用拉格朗日松弛算法和Dantzig-Wolfe相结合的算法进行求解. de Souza等[10]针对连续开采气举采油的计划调度问题进行研究, 以压缩机年均成本、燃料等生产运行成本为目标, 建立了非线性数学规划模型. Gunnerud等[11]针对大规模油田生产网络优化系统进行研究, 提出了基于列生成的分支定价算法获得问题的最优解. Tavallali[12]等针对油田油井的布局及油井生产计划问题进行研究, 并利用更加缜密的流体动力学的方法对地下情况进行分析, 可以不需要预先固定油井的位置进行优化. Knudsen等[13]针对页岩气中的多个油井系统为背景, 确定油井的关机次数.针对问题的特征, 设计了拉格朗日松弛算法进行求解.刘安枕[14]提出了基于优化算法的油井间抽调度, 目标是在满足采油需求的同时, 油井停机时间最长, 开机时间最短.李军亮等[15]通过观测关井阶段和开井阶段的液面高度变化, 然后采用GM(1, 1)模型建模.根据灰色系统理论中的“新信息优先”原理, 实现了模型的实时调整及间抽周期的实时预测.

    本文的井网机组间抽调度问题与已有的研究问题相比具有如下特点: 1)问题本身在考虑传统油藏储量的同时, 以批的方式对油井进行调度. 2)考虑了油井运行稳定性和降低维修率要求, 增加了运行过程中的爬坡约束和最小开关机时间约束, 使油井前后时段的抽油量圆滑过渡, 无大波动的冲击, 有利于增加油井的使用寿命. 3)在求解方法方面, 本文构造了拉格朗日松弛算法进行求解.针对分解后的带有爬坡约束的单机组子问题, 开发了动态规划方法进行求解, 并进一步提出了用特征点代表同一阶段具有相同性质节点群的状态空间约简策略, 使动态规划搜索节点的复杂度从O$(n^4)$降到O$(n^2)$, 显著提高算法的搜索效率.

    一个油田是由很多油藏组成的, 一个油藏里面又包含了很多油井, 油井之间有的是在一个油层进行开采, 有的是连接了相同的集输管道不同油层进行开采.油井的间抽调度跟油井井底和油藏的压差值密切相关.当油井关机后, 井底的动液面会不断上升, 即井底的流动压力不断恢复, 当恢复到最低采油需求的值时, 可以开机进行采油.当油井开机后, 井底的压力随着石油的产出, 井底的动液面不断降低, 即井底的流动压力不断减少, 当油井井底压力比采油要求压力值低时, 需要对油井进行停抽.

    油井的开关机状态虽然在设计上是可以随时切换的, 但是在实际生产运行中, 如果油井采油量在相邻时段上升或者下降的速率过快, 或频繁对油井进行启停操作, 将会增加维修成本, 影响油井电机的使用寿命.因此在油井运行时考虑了爬坡约束, 即油井在单位时间采油量允许上升和下降的速率.在油井间抽调度中, 同时考虑了油井开关机持续时间的限制约束.即如果油井开机, 则必须开机一定的小时数, 才可以允许关机.同样, 如果油井关机, 则必须关机一定的小时数, 才可以允许开机, 以提高整机寿命, 尤其是油泵的寿命, 减少机械故障, 提高可靠性.

    针对大规模油井调度问题, 本文提出了批建模策略.批建模的思想主要是根据油井间物理位置分布的相近性以及连通性, 将相同集输管道的、型号相同的油井进行聚合组批.图 1为某油田的一个油藏示意图, 其中, 每一个圆代表一个油井.根据批建模策略, 具有相同颜色的油井群可以聚合成一个批.相应的油藏总体采油量的需求转化为对井批采油量的需求.

    图 1  油井批聚合示意图
    Fig. 1  The process of well divided into batching

    通过分析批模型参数与单机模型参数的关系, 批划分后提出了参数聚合方法.设批聚合前油井$w$最大最小采油量为: $\tilde{x}_{w}^{\max }$, $\tilde{x}_{w}^{\min }$; 批聚合后油井$i$的最大、最小采油量为: $x_{i}^{\max}$, $x_{i}^{\min}$.批聚合前油井$w$最大、最小允许压力值$\tilde{p}_{w}^{\max }$, $\tilde{p}_{w}^{\min }$; 批聚合后油井$i$最大、最小允许压力值$p_{i}^{\max}$, $p_{i}^{\min}$.批聚合前油井$w$在$t$时刻开始、结束时油井井底压力为: $\tilde{p}_{wt}^{\rm in}$, $\tilde{p}_{wt}^{\rm out}$; 批聚合后油井$i$在$t$时刻开始、结束时油井井底压力为: , $p_{it}^{\rm out}$. ${{\tilde{\gamma }}_{w}}$表示批聚合前油井$w$的运行费用系数; 表示批聚合后油井$i$运行费用系数. 表示第$k$批的油井的个数, , , , $j=1, \text{ 2, }\cdots \text{, }K$, $i\ne j$.其参数聚合规则如下:

    1) 油井的采油量聚合规则: , .

    2) 油井压力参数聚合规则: , ; , .

    3) 油井其他参数值聚合规则为:聚合后的参数为任取批聚合前批内油井的参数值.如:第$k$个批内, 运行费用系数聚合规则为: .

    油田机组间抽批调度问题描述如下:给定一个油藏, 油藏内有$n$个油井, 把$n$个具有相同集输管道且型号相同的油井归结为$k$个批.以批建模策略和方法, 满足油田采油需求和油井爬坡约束、最小开关机时间约束、采油量限制等约束, 确定未来一定期间内油井各时刻的启停状态及开机运行时的采油量以达到最小化采油成本的目的.

    根据上述参数聚合方法, 直接利用批聚合后的模型参数和决策变量建立油井间抽调度批模型数学规划模型.

    模型参数:

    $N$:油井总数;

    $\Omega$:油井集合, $\Omega=\{1, 2, \cdots, N\}$;

    $T$:调度周期;

    $K$:油井批的总数;

    $D_t$:油井在$t$时刻采油量的总需求;

    ${{D}_{kt}}$:第$k$批油井在$t$时刻产油量的总需求,

    $\qquad {{D}_{1t}}+{{D}_{2t}}+\cdots+ {{D}_{kt}}={{D}_{t}}$;

    ${{\Delta }_{i}}$:油井$i$在运行时相邻两个连续时间段内最大允许采油量;

    $U{{R}_{i}}$:油井$i$从关机到开机时, 允许最大的采油量;

    $D{{R}_{i}}$:油井$i$从开机到关机时, 允许最大的采油量;

    $F_{it}^{\rm on}$:油井$i$在$t$时刻开始持续开机时间;

    $F_{it}^{\rm off}$:油井$i$在$i$时刻开始持续停抽时间;

    $L$:时间调度周期;

    $T_{i0}^{\rm on}$:油井$i$的最小开机时间;

    $T_{i}^{\rm off}$:油井$i$的最小停抽时间;

    $T_{i0}^{\rm off}$:油井$i$的初始停抽时间;

    ${{u}_{i0}}$:油井$i$的初始开关机状态;

    $S_i$:油井$i$的启动费用.

    决策变量:

    $u_{it}$:油井$i$在$t$时刻的启停状态, 1为开机状态, 0为停抽状态;

    $x_{it}$:油井$i$在$t$时刻的采油量.

    建立的批聚合后的数学规划模型如下:

    $ \text{min}\sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{\left[ {{\gamma }_{i}}x_{it}^{{}}u_{it}^{{}}+{{S}_{i}}u_{it}^{{}}(1-u_{i, \text{ }t-1}^{{}}) \right]}} $

    (1)

    s. t.

    $ \sum\limits_{i\in {{\Omega }_{k}}}{{{x}_{it}}}\ge {{D}_{kt}}\quad ~~~~~~~\forall t\in T, \text{ } k\in K\ $

    (2)

    $ \begin{array}{l} \left[F_{i, t-1}^{\rm on}-T_{i}^{\rm on} \right]\left[u_{i, t-1}^{{}}-{{u}_{it}} \right]\ge 0\quad \forall i\in \Omega, \text{ } t\in T\ \\ \left[F_{i, t-1}^{\rm off}-T_{i}^{\rm off} \right]\left[ u_{i, t-1}^{{}}-{{u}_{it}} \right]\ge 0\quad \forall i\in \Omega , \text{ } t\in T \end{array} $

    (3)

    $ \left\{ \begin{aligned} &{{x}_{i, t+1}}-{{x}_{it}}\ge -{{u}_{i, t+1}}{{\Delta }_{i}}, \text{ } \text{ }{{u}_{it}}={{u}_{i, t+1}}=1 \\ &{{x}_{i, t+1}}-{{x}_{it}}\le {{u}_{it}}\Delta_{i}, \quad ~~~~~\text{ }{{u}_{it}}={{u}_{i, t+1}}=1\text{ } \\ &{{x}_{i, t+1}}-{{x}_{it}}\le U{{R}_{i}}, \quad ~~~~~~\text{ }{{u}_{it}}=0\text{, }{{u}_{i, t+1}}=1\text{ } \\ &{{x}_{it}}-{{x}_{i, t+1}}\le D{{R}_{i}}, \quad ~~~~~~\text{ }{{u}_{it}}=1, \text{ }{{u}_{i, t+1}}=0\text{ } \\ \end{aligned} \right. $

    (4)

    $ {{u}_{it}}x_{i}^{\min }\le {{x}_{it}}\le {{u}_{it}}x_{i}^{\max }\quad \forall i\in \Omega, \text{ }\forall t\in T\ $

    (5)

    $ 常规油井运行和停抽时, 井底压力变化约束 $

    (6)

    $ {{u}_{it}}\in \left\{ 0, \text{ 1} \right\}\quad ~~~~~~~~~~~\forall i\in \Omega, \text{ } t\in T $

    (7)

    约束(2)表示每个批的需求约束.要求每个批的油井采油量达到各自的需求量.约束(3)表示油井最小开关机的启停约束.当油井开机时, 必须持续运行一段时间才允许关机.同样, 当油井关机时, 必须持续关机一段时间才允许开机.即, 油井开机运行时, ${{u}_{it}}=1$.当油井前一时刻开机${{u}_{i, t-1}}=1$时, 如果油井持续开机时间小于油井最小开机时间, 则油井当前时刻必须保持开机.即:当时, ${{u}_{it}}=1$, 满足最小开机时间约束的要求; 如果大于等于油井最小开机时间, 则当前时刻油井可开机也可以停抽.即: $F_{i, t-1}^{\rm on}\ge T_{i}^{\rm on}$时, ${{u}_{it}}=1$或者${{u}_{it}}=0$都可.同理, 当油井停抽时, ${{u}_{it}}=0$.当油井前一时刻${{u}_{i, t-1}}=0$时, 如果油井持续关机时间小于油井的最小关机时间, 则油井必须保持停抽状态.即:当时, ${{u}_{it}}=0$, 满足最小关机约束的要求.当油井的持续关机时间大于等于最小关机时间要求时, 油井当前状态可以停抽也可开机.即:当时, ${{u}_{it}}=1$或者${{u}_{it}}=0$都可.约束(4)表示油井的爬坡约束, 包括油井运行时相邻两个时刻采油量增加或者减少的爬坡约束, 油井下一时刻开机或者关机时采油量的爬坡约束.约束(5)表示油井产油量输出的上下限的限制.约束(6)为常规油井生产调度的压力约束, 即油井运行和停抽时, 井底压力的变化.当油井处于运行状态时, 油井的压力逐渐减小.当油井处于停抽时, 油井的压力逐渐增大.约束(7)为变量的取值范围.

    建立的数学规划模型是具有整数变量和连续变量的混合整数规划模型, 本身是一个非凸的、离散的优化问题, 属于NP难问题, 大规模求解时在合理的时间内很难获得最优解, 因此寻找该问题的近优解成为主要研究方式.

    根据模型的结构特点, 本文设计了拉格朗日松弛方法(Lagrangian relaxation, LR)求解该问题.拉格朗日松弛算法是求解混合整数规划问题的一种有效的最优化算法[16-17].拉格朗日松弛算法的主要思想如下:通过拉格朗日乘子将模型中的耦合约束松弛到目标函数中, 得到原问题的松弛问题, 对于给定的一组乘子, 松弛问题可以分解为单个机组的子问题, 得到的对偶函数的目标值是原问题的下界.同时, 构造启发式算法将对偶问题得到的解转换成原问题的可行解, 可行解的目标值是原问题的上界.解的质量通过上下界之间的对偶间隙来衡量.

    本文之所以采用基于变量分离技术的拉格朗日松弛算法求解该模型是因为模型里压力约束的特殊性, 每一时刻的压力值都受前一时刻压力值的影响, 由于对偶问题需要用动态规划求解, 而动态规划要求状态具有无后效性, 即如果给定某一阶段的状态, 则在这一阶段以后过程的发展不受这阶段以前各段状态的影响.因此, 本文利用分离变量技术解决压力约束无法采用动态规划方法求解子问题的难题.

    具体的分离方法为:引入一个新的变量${{y}_{it}}$, 令${{x}_{it}}={{y}_{it}}$, 将此等式约束引入模型.相当于在模型里加入了一个约束式.对应地, 变量${{x}_{it}}$在目标函数中分解为, 在部分约束中被变量${{y}_{it}}$替代.令, 那么原问题可以重新表述如下:

    $ \min\sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{\left[{{\gamma }_{i}}(\alpha x_{it}^{{}}+\beta {{y}_{it}})+{{S}_{i}}u_{it}^{{}}(1-u_{i, \text{ }t-1}^{{}}) \right]}} $

    (8)

    满足约束(2)~(7)和

    $ {{x}_{it}}={{y}_{it, }}\quad ~~~~~~~~~~~\forall i\in N, \text{ } t\in T $

    (9)

    通过乘子$\left\{ {{\pi }_{it}} \right\}$, (无符号限制)把耦合约束(2)、(9)引入到目标函数中, 得到松弛问题LR.

    LR: $L(\lambda )=\min {{Z}_{LR}}$, 其中

    $ \begin{aligned} &{{Z}_{LR}}\equiv \sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{[{{\gamma }_{i}}(\alpha x_{it}^{{}}+\beta {{y}_{it}})+{{S}_{i}}{{u}_{it}}(1-{{u}_{i, t-1}})]}} -\\ &\text{ }\sum\limits_{k=1}^{K}{\sum\limits_{t=1}^{T}{{{\pi }_{kt}}(\sum\limits_{i\in {{\Omega }_{k}}}{{{x}_{it}}}-{{D}_{kt}})}}-\sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{{{\lambda }_{it}}({{x}_{it}}-{{y}_{it}})}} \\ \end{aligned} $

    (10)

    满足约束(3)~(7).

    对于给定的乘子$\left\{ {{\pi }_{it}} \right\}$, 可以把松弛问题(LR)分解为两个独立的子问题, 即LR1:

    $ \begin{aligned} &\min \Big\{\sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{\left[({{\gamma }_{i}}\alpha -{{\lambda }_{it}})x_{it}^{{}}+{{S}_{i}}u_{it}^{{}}(1-u_{i, \text{ }t-1}^{{}}) \right]}}- \\ &\qquad \text{ }\sum\limits_{k=1}^{K}{\sum\limits_{t=1}^{T}{{{\pi }_{kt}}(\sum\limits_{i\in {{\Omega }_{k}}}{{{x}_{it}}}-{{D}_{kt}})\Big\}}} \\ \end{aligned} $

    (11)

    满足约束(3)~(5)和(7).

    LR2:

    $ \min \sum\limits_{i=1}^{N}{\sum\limits_{t=1}^{T}{\left[({{\gamma }_{i}}\beta +{{\lambda }_{it}})y_{it}^{{}} \right]}} $

    (12)

    满足约束(6).

    拉格朗日对偶问题(Lagrange duality, LD)为: Max$L(\lambda )$, 其中

    $ \begin{align} L(\lambda )=\, &\min \sum\limits_{i=1}^{N} \sum\limits_{t=1}^{T}[({{\gamma }_{i}}\alpha - {{\lambda }_{it}})x_{it}^{{}}+\nonumber\\ &({{\gamma }_{i}}\beta +{{\lambda }_{it}}){{y}_{it}}) + {{S}_{i}}{{u}_{it}} (1-{{u}_{i, t-1}})] \end{align} $

    (13)

    满足约束(3)~(7).

    3.2.1   求解带有爬坡约束的子问题LR1

    LR1子问题是带有爬坡约束混合整数规划问题, 既有离散变量又有连续变量约束, 而且相邻两时段的发电量是耦合的, ${{x}_{it}}$受到区间爬坡速率的约束不能随意变化.如果用常规的动态规划进行求解, 得到的解不是问题的最优解.因此, 本文提出一种新型的动态规划方法, 用于求得该问题的最优解.

    在新的动态规划转移图$G$ (如图 3)中, 起点为$s$, 终点为$d$.每个节点代表了一个状态, 两个节点之间的连线表示一个可能的状态转移.每个阶段的节点为$({{\tau }_{h}}, {{\tau }_{k}})$, 且${{\tau }_{k}}\ge {{\tau }_{h}}$, 表示油井开机的起止时间.考虑最小开机时间约束, 所有的$<$${{\tau }_{h}}$+$T_{i}^{\rm on}-1$对应的都是不可行的状态, 因此在动态规划中不考虑此类节点.对于每一个节点, ${{\tau }_{h}}$被称作前端节点, ${{\tau }_{k}}$称作是后端节点.

    图 2  $({{\tau }_{rn}},{{\tau }_{qn}})$和$T$的关系图
    Fig. 2  The diagram for the relationship between $({{\tau }_{rn}},{{\tau }_{qn}})$ and $T$
    图 3  动态规划状态转移图
    Fig. 3  Dynamic programming state transition diagram

    在状态转移图$G$中, 是在假设所有状态转移都满足了油井井底压力的约束前提下进行的.前后连接的节点$({{\tau }_{h}}, {{\tau }_{k}})$和表示油井在时刻${{\tau }_{k}}$+1关机, 在${{\tau }_{r}}$时刻又开机, 其中, 满足最小关机约束.油井在开关机时的运行费用和启动费用与节点及边有关.每一个边的转移费用都为油井的启动费用.从起点$s$到所有节点的状态转移, 代表了油井的初始状态和下一阶段状态的关系.每条从$s$到$d$的路径表示了单机组子问题的一个可行解.对于每一个阶段的节点的开机运行费用和油井的$x_{it}^{{}}$相关.对于每一个$({{\tau }_{h}}, {{\tau }_{k}})$节点, 其转移费用可以用带有爬坡约束的经济分配问题进行求解.记为问题DP1:

    $ \min {{L}_{i}}(\lambda ) $

    (14)

    s. t.约束(3)~(5)和(7).

    转化为线性规划问题后可以用CPLEX进行求解.

    一般求解该类问题的动态规划都是以时间$t$作为阶段, 但是新的动态规划节点是开机起止时间段, 因此不能以时间$t$作为阶段了.本文根据油井的初始状态和最小开关机时间确定阶段.其规则如下:已知${{\tau }_{k1}}={{\tau }_{h1}}+T_{i}^{\rm on}-1$, , 设油井的阶段数为$S$, 第一个阶段中${{\tau }_{h1}}$和值最小的节点为$({{\tau }_{h1}}, {{\tau }_{k1}})$, 第二阶段${{\tau }_{h2}}$和${{\tau }_{k2}}$值最小的节点为, $n$个阶段后的${{\tau }_{hn}}$和值最小的节点为$({{\tau }_{hn}}, {{\tau }_{kn}})$.则:

    1) 当${{u}_{i0}}=0$, 如果${{T}_{i0}}<T_{i}^{\rm off}$, .如果, 则${{\tau }_{h1}}=1$.当$n$$>$1时, 且, .

    2) 当${{u}_{i0}}=1$, ${{\tau }_{h1}}=1$.

    a) 如果${{T}_{i0}}\ge T_{i}^{\rm on}$, 或当${{T}_{i0}}<T_{i}^{\rm on}$, 且时, ${{\tau }_{k1}}=1$.当$n$$>$1时, , .

    b) 如果${{T}_{i0}}<T_{i}^{\rm on}$, , 当$n$$>$1时, , ${{\tau }_{kn}}=nT_{i}^{\rm on}+(n-1)T_{i}^{\rm off}-{{T}_{i0}}$.确定${{\tau }_{h1}}$和${{\tau }_{k1}}$值后, 根据其$n$次迭代后的$({{\tau }_{hn}}, {{\tau }_{kn}})$值, 可以确定阶段数为:

    1) 如果$\text{ }{{\tau }_{hn}}\le T, {{\tau }_{kn}}\text{}T$, 则阶段$S=n$.

    2) 如果, 则阶段$S=n-1.$

    $({{\tau }_{hn}}, {{\tau }_{kn}})$和$T$之间的关系如图 2所示.

    状态转移图$G$中, 节点的复杂性为${\rm O}\text{(}{{n}^{2}}\text{)}$, 节点之间弧的复杂性为${\rm O}\text{(}{{n}^{4}}\text{)}$.

    从状态空间图$G$中可以观测到如下的特征:

    1) 对于每个节点$({{\tau }_{h}}, {{\tau }_{k}})$, 其值相同的节点在下一个阶段连接的节点是相同的.

    2) 两个节点$({{\tau }_{h}}, {{\tau }_{k}})$和之间的转移费用是相同的, 都等于油井的启动费用.

    3) 对于每一个阶段具有相同${{\tau }_{k}}$值的节点, 我们用$k$代表其费用最小的节点, 这里我们把$k$称之为具有相同值的费用最小的节点的特征点.这样可以避免转移过程中遍历所有点.

    用特征点代替节点的新的状态转移图定义为图$V$, 如图 3所示.图$V$和原来的状态空间转移图$G$是等价的.证明如下:

    性质1. 图$G$和图$V$是等价的证明:设阶段为$s$, ${D}_{s}({h}_{s}$, ${k}_{s})$表示在$s$阶段到状态$({{h}_{s}}$, ${{k}_{s}})$的允许决策集合.则图$G$的状态转移方程为: ${{f}_{s+1}}({{h}_{s+1}}$, ${{f}_{s}}({{u}_{s}}({{h}_{s}}$, ${{k}_{s}})) \}$.

    因为节点间的转移费用是相同的, 得到: , 可简化为.因为图$V$中的节点(特征点)费用是图$G$中相同后端节点$k$的费用值的最小值, 即:

    $ \begin{align*}&{{k}_{s+1}}=\underset{{}}{\mathop{\arg \min }}\, \left\{ {{f}_{s+1}}({{h}_{s+1}}, {{k}_{s+1}}) \right\}, \\&\hskip10mm\text{ }{{k}_{s+1}}\ge 1, \text{ }1\le {{h}_{s+1}}\le {{k}_{s+1}}\\& {{f}_{s+1}}({{k}_{s+1}})=\underset{{}}{\mathop{\min }}\, \left\{ {{f}_{s+1}}({{h}_{s+1}}, {{k}_{s+1}}) \right\}, \\ &\hskip10mm \text{ }{{k}_{s+1}}\ge 1, \text{ }1\le {{h}_{s+1}}\le {{k}_{s+1}}\end{align*} $

    $ \begin{align*}&{{f}_{s+1}}({{k}_{s+1}})=\\ &\hskip10mm \underset{{}}{\mathop{\min }}\, \left\{ \underset{({{h}_{s}}, {{k}_{s}})\in {{D}_{s}}({{h}_{s}}, {{k}_{s}})}{\mathop{\min }}\, \left\{ {{f}_{s}}({{u}_{s}}({{h}_{s}}, {{k}_{s}})) \right\} \right\}, \\ &\hskip10mm \text{ }{{k}_{s+1}}\ge 1, \text{ }1\le {{h}_{s+1}}\le {{k}_{s+1}}\end{align*} $

    因为同一阶段, 特征点$k$转移到下一个阶段的节点相同, 相邻阶段的状态转移费用又相等, 因此, 只需要先比较特征点$k$的费用值即可, 则得到如下等式:

    $ \begin{align*}&{{k}_{s}}=\underset{{}}{\mathop{\arg \min }}\, \left\{ {{f}_{s}}({{h}_{s}}, {{k}_{s}}) \right\}, \\&\qquad{{k}_{s+1}}\ge 1, \text{ }1\le {{h}_{s+1}}\le {{k}_{s+1}}\\ &\underset{({{h}_{s}}, {{k}_{s}})\in {{D}_{s}}({{h}_{s}}, {{k}_{s}})}{\mathop{\min }}\, \left\{ {{f}_{s}}({{u}_{s}}({{h}_{s}}, {{k}_{s}})) \right\}=\\&\qquad\underset{{{k}_{s}}\in {{D}_{s}}({{k}_{s}})}{\mathop{\min }}\, \left\{ {{f}_{s}}({{u}_{s}} ({{k}_{s}})) \right\}, {{k}_{s}}\ge 1, 1\le {{h}_{s}}\le {{k}_{s}}\end{align*} $

    $ {{f}_{s+1}}({{h}_{s+1}}, {{k}_{s+1}})={{f}_{s+1}}({{k}_{s+1}}),\;\; \text{ }{{k}_{s}}\ge 1, \text{ }1\le {{h}_{s}}\le {{k}_{s}}. $

    因此, 当$\text{ }1\le {{k}_{s}}\le T$时, ${{f}_{s+1}}({{k}_{s+1}})$.即图$G$和图$V$是等价的.

    图$G$中节点的复杂性为${\rm O}\text{(}{{n}^{2}}\text{)}$, 图$V$中节点的复杂性为${\rm O}\text{(}n\text{)}$, 节点之间弧的复杂性为${\rm O}\text{(}{{n}^{2}}\text{)}$.相对于原来的状态转移图$G$, 节点的复杂性从降到${\rm O}\text{(}n\text{)}$, 弧的复杂性从${\rm O}\text{(}{{n}^{4}}\text{)}$降到.即使对于小规模问题, 这样的转换也是一项非常重要的工作, 不仅简化了状态转移图, 也大大减少了需要乘子迭代的拉格朗日松弛算法的求解时间.

    上述方法举例如下:

    以初始状态是关机3小时, 最小开关机时间都为2小时, 调度周期$T$为8小时的油井为例, 其状态转移如图 3所示.从图 3中可以看出并不是所有的节点都会转移到下一个阶段, 随着阶段的增加, 节点是逐渐减少的.在同一阶段后端时刻相同的节点有很多, 比如第一阶段后端时刻为3的节点有(1, 3)、(2, 3), 而这两个节点对应第二阶段相同的节点(6, 7)、(6, 8)、(7, 8)和(8, 8).利用动态规划方法求解时, 一般选择费用最小的点作为此阶段的决策点.由于各个阶段状态转移的费用是相同的, 因此可以只比较(1, 3)、(2, 3)费用值即可, 其费用最小的节点用相同的特征点3来表示.同理, 在第二阶段, 与特征点3相关联的特征点为7或8.

    以此类推, 把各个阶段具有相同${{\tau }_{k}}$的节点都用特征点$k$表示, 就得到新的动态规划转移图, 如图 3所示. 图 3中, 每一个$k\, (1<k<9)$表示特征点, 每一个特征点的费用值是所有相同节点的最小费用值.两个特征点之间的弧的费用就是油井的启动费用.由于最小开关机时间的限制, 随着$k$值增加, 并不是所有的特征点都能转移到下一个阶段, 随着阶段增加, 每个阶段的节点也会逐渐减少.变换前后状态节点之间的连接线明显减少.

    3.2.2   求解压力子问题LR2

    压力子问题有两种处理方法, 第一种是直接用CPLEX求解, 第二种是根据压力约束的特点进行求解.下面介绍第二种方法:

    最优解性:定义

    当${{\lambda }_{it}}\ge 0$时, ${{y}_{it}}=0$, ${{u}_{it}}=0$, $E$=0.

    当${{\lambda }_{it}}<0$时, ${{y}_{it}}=p_{i}^{\max }$, ${{u}_{it}}=1$.

    因可直接观测出, 故证明略.

    由于压力子问题前后两个状态的采油量直接跟压力相关, 因此无需用标准的动态规划方法进行求解.当尝试用CPLEX优化软件求解该子问题时, 即使是小规模问题, 也需要消耗大量的时间.因此, 本文设计了启发式算法, 利用最优解性质, 在满足最优解性质时, 保证获得解是最优解; 不能满足最优解性质时, 获得的解是近优解.其主要思想如下:

    步骤1. 令$t=1$.

    步骤2. 判断是否满足最优解条件, 如果满足, 则转到步骤4, 如果不满足, 则转到步骤3.

    步骤3. 判断油井的状态, 若${{u}_{it}}=0$, 根据约束(6)计算出停机后的压力值.若${{u}_{it}}=1$, 判断油井压力值和最大生产量的关系.若, 则${{x}_{it}}=x_{i}^{\max }$, 若, 则从$t=1$到当前时段, 找到乘子值最小时对应的时段, 令${{x}_{it}}=0$.

    步骤4. $t=t+1$, 若$t\ge T$, 转到步骤5.

    步骤5. 算法停止, 获得油井$i$压力子问题的调度方案.

    由于松弛问题的解对于原问题常常是不可行的, 可能会违反需求约束, 需要设计启发式算法将其转化为可行解.构造启发式算法时, 要考虑该问题的特征, 即油井间抽操作受到三个重要约束的制约:最小开关机时间约束、爬坡约束和压力变化约束.这三个约束是相互关联的, 对油井的启停状态影响非常大, 如图 4所示.因此本文设计了两阶段启发式算法将松弛问题得到的解转化为可行解.第一阶段启发式先保证满足油井的最小开关机约束和压力约束, 第二阶段是根据第一阶段决策出的油井最小开关机时间, 保证油井开机运行时其采油量满足爬坡约束, 进而决策出油井的每个时段的采油量.通过两阶段启发式算法所得到的可行解能够为原问题的最优目标函数值提供一个上界.

    图 4  三个约束对油井启停的影响
    Fig. 4  The influence of three constraints on the start-up/shut-down

    由于压力子问题是近似求解, 其获得的对偶问题的目标值, 不是最优目标函数值的真实下界, 因此只能作为代理下界进行迭代.本文采用了代理次梯度[18]方法用于更新乘子的值.

    为了减少代理次梯度方法的下界高估对乘子的影响, 步长因子取值减少, 范围缩小一半, 即.其乘子${{\pi }_{it}}$, ${{\lambda }_{it}}$在$h$次迭代中的更新公式分别如下:

    计算次梯度, 得到搜索的方向:

    $ g_{kt}^{(1)}={{D}_{kt}}-\sum\limits_{i\in {{Z}_{k}}}{{{x}_{it}}} $

    (15)

    $ g_{it}^{(2)}={{y}_{it}}-{{x}_{it}} $

    (16)

    每次迭代都需要按照上面的公式, 更新次梯度.其中${{x}_{it}}$和${{y}_{it}}$是单机子问题求得的最优解.

    然后沿着次梯度的方向更新乘子, 第一个子问题每次迭代的乘子更新公式如下:

    $ \pi _{_{_{k(t+1)}}}^{l+1}=\pi _{_{_{kt}}}^{l}+{{s}^{l}}{{g}^{1}}_{_{kt}} $

    (17)

    第二个子问题每次迭代的乘子更新公式如下:

    $ \lambda _{_{_{i(t+1)}}}^{l+1}=\lambda _{_{_{it}}}^{l}+{{s}^{l}}g{{_{it}^{2}}^{{}}} $

    (18)

    其中步长为: $0<{{s}^{l}}<(F-L)/$ .式中$F$是每一次迭代启发式求得的原问题的最优值, 即原问题的上界值, $L$是每一代对偶问题求得的最优值, 即原问题的下界值.

    为了验证所提出模型和算法的有效性, 把建立的非线性数学规划模型线性转化为线性整数规模模型, 转化后可以直接利用商业软件CPLEX 11.0进行求解.算法用Visual C++对算法编码, 全部模型和算法在PC机(3.10 GHz主频和4.00 GB内存)上进行测试.

    4.1.1   实验参数设置

    为验证算法的性能, 提出的算法采用C++编程实验, 在PC机(Pentium-Ⅳ 2.83 GHz CPU)上进行测试.在实验测试中, 把变换后的线性整数规模模型直接采用商业软件CPLEX 11.0软件进行求解. CPLEX的算法最长运行时间设置为1 800秒.其他的CPLEX设置保持软件的默认设置.对于拉格朗日松弛算法, 算法性能的评价采用两个指标:对偶间隙和计算时间(秒).对偶间隙$\%$的计算如下:可行解的目标函数值$ZU$ (原问题的一个上界)减去对偶函数的值$ZL$ (原问题的一个下界), 再除以对偶函数的值$ZL$, 最后转化成百分比的形式.上界是在算法迭代过程中找到的最小的目标函数值.以对偶间隙小于$0.5\, \%$或迭代次数小于500作为算法的终止条件.设调度周期为24小时, 初始的压力值为机组的最大压力值.开机爬坡$U{{R}_{i}}$和关机爬坡$D{{R}_{i}}$满足[600, 700]间的均匀分布, 上升爬坡和下降爬坡$\Delta _{i}^{{}}$满足[400, 600]间均匀分布.其他油井参数在表 1中给出的范围中均匀随机产生.

    表 1  与油井相关的参数的生成范围
    Table 1  Range of values for parameters corresponding to oil wells
    参数(单位) 下限 上限
    $x_{i}^{\min }$ (barrel) 30 100
    $x_{i}^{\max }$ (barrel) 800 1 200
    $p_{i}^{\max } $ (psia) 6 000 7 000
    $p_{i}^{\min }$ (psia) 2 500 3 500
    $p^{\rm given}$ (psia) 6 000 700
    $T_{i}^{\rm off}$ (h) 1 6
    $T_{i}^{\rm on}$ (h) 1 6
    $T_{i0}^{{}}$ (h) $-$8 8
    ${{S}_{i}}$ ($) 70 150
    ${{c}_{1i}}$ 0.10 0.20
    ${{c}_{2i}}$ 0.02 0.65
    ${{\alpha }_{1i}}$ 40 70
    ${{a}_{2i}}$ 0.02 0.30
    ${{\gamma }_{i}}$ 9.00 9.30
    $D_{1t}^{{}}$ (barrel) 500 1 500
    $D_{2t}^{{}}$ (barrel) 500 1 500
    下载: 导出CSV 
    | 显示表格
    4.1.2   实验结果

    为了验证所提出算法的有效性, 设计了不同的求解方法比较各算法的目标函数值和运算时间进行评价. 1)用CPLEX单独求解. 2)采用LR方法, 子问题用CPLEX求解, 标记为LR-CPLEX. 3)利用变量分离机组的拉格朗日方法, 压力子问题用CPLEX求解, 标记为LD-CPLEX. 4)本文设计的子问题带有状态空间约简策略的基于变量分离的的LR方法, 标记为LD.每种规模随机产生和求解了10组, $N=10$和$N=30$为小规模问题, $N=50$到100为中规模问题, $N=300$到$N=900$为大规模问题.计算结果如表 2表 3所示, 表 2表 3中的数值是所测规模的10组实例的平均值. 表 2中的数值为目标函数值的比值, 即每个规模自身求得的目标函数值与所有算法求解单机模型和批模型所有目标函数值取最小值的比值.即: , $i=1, \text{ }2, \text{ }3, \cdots, 8$.其中, ${{Z}_{1}}/{{Z}_{2}}$表示CPLEX分别求解单机模型和批模型获得的目标函数值, ${{Z}_{3}}/{{Z}_{4}}$表示LR-CPLEX分别求解单机模型和批模型获得的目标函数值, ${{Z}_{5}}/{{Z}_{6}}$表示LD-CPLEX求解单机模型和批模型获得的目标函数值. ${{Z}_{7}}/{{Z}_{8}}$表示LD求解分别求解单机模型批模型获得的目标函数值. 表 3中的数值表示不同求解方法在求解单机模型和批模型时所需要的计算时间.

    表 2  模型与算法的性能比较结果
    Table 2  Computational results of the LR algorithm and the CPLEX solver
    规模 CPLEX LR-CPLEX LD-CPLEX LD
    $T \times N$ $AR_1$ (单机) $AR_2$ (批) $AR_3$ (单机) $AR_4$ (批) $AR_5$ (单机) $AR_6$ (批) $AR_7$ (单机) $AR_8$ (批)
    $24 \times 10$ 1.00000 1.01340 1.00442 1.01340 1.00440 1.01339 1.00467 1.01340
    $24 \times 30$ 1.00000 1.00463 1.01224 1.00885 1.01201 1.00885 1.01224 1.00885
    $24 \times 50$ 1.00000 1.00224 1.01004 1.01388 1.01004 1.01258 1.00999 1.01388
    $24 \times 70$ 1.00000 1.00113 1.01075 1.00761 1.01049 1.00762 1.01124 1.00762
    $24 \times 90$ 1.00000 1.00078 1.01140 1.01146 1.01089 1.01119 1.01107 1.01160
    $24 \times 100$ 1.00000 1.00037 1.01330 1.01016 1.01178 1.01020 1.01196 1.01016
    $24 \times 300$ 1.02071 1.00000 1.01223 1.01016 1.01195 1.01008 1.01209 1.01059
    $24 \times 500$ 1.08078 1.00000 1.01254 1.01145 1.01243 1.01131 1.01249 1.01156
    $24 \times 700$ 1.12516 1.00000 1.01278 1.01191 1.01256 1.01152 1.01257 1.01154
    $24 \times 900$ 1.15323 1.00000 1.01217 1.01129 1.01477 1.01133 1.01181 1.01124
    AVE 1.03799 1.00225 1.01119 1.01102 1.01113 1.01081 1.01101 1.01104
    下载: 导出CSV 
    | 显示表格
    表 3  模型与算法的计算时间比较
    Table 3  Computational time of the proposed model and algorithm
    规模 CPLEX LR-CPLEX LD-CPLEX LD
    $T\times N$ 单机 单机 单机 单机
    $24 \times 10$ 120.44 0.03 9.62 1.19 14.37 2.59 0.15 0.05
    $24 \times 30$ 247.45 1.25 27.64 2.50 36.82 3.77 0.17 0.03
    $24 \times 50$ 3 600 26.65 48.07 4.23 68.40 105.18 0.34 0.05
    $24 \times 70$ 3 600 359.45 72.52 6.06 96.70 11.65 0.42 0.05
    $24 \times 90$ 3 600 788.54 97.53 7.70 287.47 216.25 0.49 0.05
    $24 \times 100$ 3 600 342.16 116.42 8.75 1 074.90 866.45 0.51 0.06
    $24 \times 300$ 3 600 3 600 557.95 28.69 789.05 241.23 1.70 0.17
    $24 \times 500$ 3 600 3 600 1 273.16 53.08 1 810.21 183.56 2.80 0.28
    $24 \times 700$ 3 600 3 600 2 329.22 78.07 3 250.06 307.01 3.93 0.39
    $24 \times 900$ 3 600 3 600 3 597 105.56 3 600 734.70 5.07 0.50
    AVE 2 916.79 1 591.81 812.91 29.58 1 102.8 267.24 1.56 0.16
    下载: 导出CSV 
    | 显示表格

    与单机模型相比, 批模型明显降低了问题维数, 显著降低了变量的规模.以规模$24\times30$为例, 单机模型的变量个数为6 481, 0-1变量个数为2 160, 非零系数个数为38 300, 约束个数为13 704;而批模型的变量个数仅为649, 0-1变量个数为216, 非零系数个数为3 830, 约束个数为1 392.从表 2表 3的计算结果, 可以得出如下结论:

    1) 模型的有效性

    a) 从表 3的小规模问题CPLEX求解结果中可以看出, 批模型求解的速度明显优于单机模型.

    b) 从表 3的中规模问题CPLEX求解结果中可以看出, 当单机模型在允许时间内不能获得最优解时, 批模型依然能够在给定的时间内求解该问题.

    c) 批模型和单机模型在求解精度上, 从表 2的CPLEX求解小规模问题的结果中可以看出, 当单机模型在限定内能够获得最优解时, 批模型的求解精度仅降低了$0.902\, \%$.对于中大规模问题, 单机模型在限定时间内不能获得最优解时, 批模型的求解精度跟单机模型相比平均提高了$4.692\, \%$.

    2) LD算法有效性

    a) 从表 2的中小规模问题中可以看出, 提出的LD算法跟CPLEX相比, 单机模型的求解精度降低$1.196\, \%$, 批模型的求解精度降低$0.716\, \%$.从大规模问题中可以看出, LD算法与CPLEX相比, 单机模型的求解精度比CPLEX提高了$8.373\, \%$, 批模型的求解精度比CPLEX降低$1.123\, \%$.从表 3中可以看出, 无论是求解单机模型还是批模型, LD的求解效率明显优于CPLEX.

    b) 从表 3的大规模问题看出, 无论是单机模型还是批模型, CPLEX在限定的时间(3 600 s)内已经无法得到问题的最优解, 而设计的LD算法无论对于单机模型还是批模型, 都能够快速地得到问题的近优解, LD算法求解批模型的各个规模的平均计算时间仅为0.16.

    c) 从表 2中可以看出, 提出的LD算法跟LR-CPLEX算法相比, LD求解批模型的平均求解精度仅降低0.002 %, 但从表 3中可以看出, LD求解效率明显优于LR-CPLEX的算法.

    d) 从表 2中可以看出, 提出的LD算法跟LD-CPLEX算法相比, LD求解批模型的平均求解精度仅降低$0.023\, \%$, 但从表 3中可以看出, LD求解效率都明显优于LD-CPLEX的算法.

    e) 从表 2表 3中的LD算法中可以看出, 批模型比单机模型的平均求解精度仅降低了$0.003\, \%$, 但求解效率提高了8.75倍.

    以上结果表明, 提出的批模型的求解效率明显优于单机模型.提出的LD算法, 不仅求解的精度高, 在求解效率上也明显优于其他算法.

    本文针对大规模油井间抽调度问题, 考虑油井生产时的井底压力约束, 爬坡约束和最小开关机约束, 把同一油藏内的油井划分为批进行调度, 提出了批建模的策略.利用提出的批聚合的策略和方法, 以采油成本最小为优化目标建立了混合整数规划批模型.针对大规模问题CPLEX无法有效快速求解的难题, 本文提出基于变量分离的拉格朗日分解算法进行求解.为了加速算法求解效率, 根据动态规划的结构特征, 提出了用特征点代表同一阶段具有相同性质节点群的状态空间约简策略, 降低搜索复杂度, 用于提高算法的搜索效率.为了测试模型和算法的性能, 随机产生了大量数据进行计算实验.结果表明, 在模型方面, 基于批聚合策略和方法建立的批模型明显降低了问题的维度, 显著提高了求解效率和求解规模; 在优化算法方面, 提出的基于变量分离的LR算法, 能够在合理的计算时间内获得高质量的解.


  • 本文责任编委 宋士吉
  • 图  1  油井批聚合示意图

    Fig.  1  The process of well divided into batching

    图  2  $({{\tau }_{rn}},{{\tau }_{qn}})$和$T$的关系图

    Fig.  2  The diagram for the relationship between $({{\tau }_{rn}},{{\tau }_{qn}})$ and $T$

    图  3  动态规划状态转移图

    Fig.  3  Dynamic programming state transition diagram

    图  4  三个约束对油井启停的影响

    Fig.  4  The influence of three constraints on the start-up/shut-down

    表  1  与油井相关的参数的生成范围

    Table  1  Range of values for parameters corresponding to oil wells

    参数(单位) 下限 上限
    $x_{i}^{\min }$ (barrel) 30 100
    $x_{i}^{\max }$ (barrel) 800 1 200
    $p_{i}^{\max } $ (psia) 6 000 7 000
    $p_{i}^{\min }$ (psia) 2 500 3 500
    $p^{\rm given}$ (psia) 6 000 700
    $T_{i}^{\rm off}$ (h) 1 6
    $T_{i}^{\rm on}$ (h) 1 6
    $T_{i0}^{{}}$ (h) $-$8 8
    ${{S}_{i}}$ ($) 70 150
    ${{c}_{1i}}$ 0.10 0.20
    ${{c}_{2i}}$ 0.02 0.65
    ${{\alpha }_{1i}}$ 40 70
    ${{a}_{2i}}$ 0.02 0.30
    ${{\gamma }_{i}}$ 9.00 9.30
    $D_{1t}^{{}}$ (barrel) 500 1 500
    $D_{2t}^{{}}$ (barrel) 500 1 500
    下载: 导出CSV

    表  2  模型与算法的性能比较结果

    Table  2  Computational results of the LR algorithm and the CPLEX solver

    规模 CPLEX LR-CPLEX LD-CPLEX LD
    $T \times N$ $AR_1$ (单机) $AR_2$ (批) $AR_3$ (单机) $AR_4$ (批) $AR_5$ (单机) $AR_6$ (批) $AR_7$ (单机) $AR_8$ (批)
    $24 \times 10$ 1.00000 1.01340 1.00442 1.01340 1.00440 1.01339 1.00467 1.01340
    $24 \times 30$ 1.00000 1.00463 1.01224 1.00885 1.01201 1.00885 1.01224 1.00885
    $24 \times 50$ 1.00000 1.00224 1.01004 1.01388 1.01004 1.01258 1.00999 1.01388
    $24 \times 70$ 1.00000 1.00113 1.01075 1.00761 1.01049 1.00762 1.01124 1.00762
    $24 \times 90$ 1.00000 1.00078 1.01140 1.01146 1.01089 1.01119 1.01107 1.01160
    $24 \times 100$ 1.00000 1.00037 1.01330 1.01016 1.01178 1.01020 1.01196 1.01016
    $24 \times 300$ 1.02071 1.00000 1.01223 1.01016 1.01195 1.01008 1.01209 1.01059
    $24 \times 500$ 1.08078 1.00000 1.01254 1.01145 1.01243 1.01131 1.01249 1.01156
    $24 \times 700$ 1.12516 1.00000 1.01278 1.01191 1.01256 1.01152 1.01257 1.01154
    $24 \times 900$ 1.15323 1.00000 1.01217 1.01129 1.01477 1.01133 1.01181 1.01124
    AVE 1.03799 1.00225 1.01119 1.01102 1.01113 1.01081 1.01101 1.01104
    下载: 导出CSV

    表  3  模型与算法的计算时间比较

    Table  3  Computational time of the proposed model and algorithm

    规模 CPLEX LR-CPLEX LD-CPLEX LD
    $T\times N$ 单机 单机 单机 单机
    $24 \times 10$ 120.44 0.03 9.62 1.19 14.37 2.59 0.15 0.05
    $24 \times 30$ 247.45 1.25 27.64 2.50 36.82 3.77 0.17 0.03
    $24 \times 50$ 3 600 26.65 48.07 4.23 68.40 105.18 0.34 0.05
    $24 \times 70$ 3 600 359.45 72.52 6.06 96.70 11.65 0.42 0.05
    $24 \times 90$ 3 600 788.54 97.53 7.70 287.47 216.25 0.49 0.05
    $24 \times 100$ 3 600 342.16 116.42 8.75 1 074.90 866.45 0.51 0.06
    $24 \times 300$ 3 600 3 600 557.95 28.69 789.05 241.23 1.70 0.17
    $24 \times 500$ 3 600 3 600 1 273.16 53.08 1 810.21 183.56 2.80 0.28
    $24 \times 700$ 3 600 3 600 2 329.22 78.07 3 250.06 307.01 3.93 0.39
    $24 \times 900$ 3 600 3 600 3 597 105.56 3 600 734.70 5.07 0.50
    AVE 2 916.79 1 591.81 812.91 29.58 1 102.8 267.24 1.56 0.16
    下载: 导出CSV
  • [1] 邹艳霞.采油工艺技术.北京:石油工业出版社, 2006.

    Zou Yan-Xia. Oil Recovery Technology. Beijing:Petroleum Industry Press, 2006.
    [2] Aronofsky J S, Williams A C. The use of linear programming and mathematical models in under-ground oil production. Management Science, 1962, 102(9):394-407 http://www.jstor.org/stable/2627243
    [3] Ortíz-Gómez A, Rico-Ramirez V, Hernández-Castro S. Mixed-integer multiperiod model for the planning of oilfield production. Computers & Chemical Engineering, 2002, 26 (4-5):703-714 http://www.sciencedirect.com/science/article/pii/S0098135401007785
    [4] Carvalho M C A, Pinto J M. A bilevel decomposition technique for the optimal planning of offshore platforms. Brazilian Journal of Chemical Engineering, , 2006, 23:1-11 doi: 10.1590/S0104-66322006000100001
    [5] Kosmidis V D, Perkins J D, Pistikopoulos E N. A mixed integer optimization formulation for the well scheduling problem on petroleum fields. Energy Conversion and Management, 2005, 29(7):1523-1541 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=719730687ba4482a43dd2d21505f754f
    [6] Bohannon M J. A linear programming model for optimum development of multi-reservoir pipeline systems. Journal of Petroleum Technology, 1970, 22(11):1429-1436 doi: 10.2118/2626-PA
    [7] Iyer R R, Grossmann I E. Optimal planning and scheduling of offshore oil field infrastructure investment and operations. Industrial & Engineering Chemistry Research, 1998, 37(4):1380-1397 doi: 10.1021/ie970532x
    [8] Ray T, Sarker R. Genetic algorithm for solving a gas lift optimization problem. Journal of Petroleum Science and Engineering, 2007, 59(1):84-89 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=76d3d0022e44918e343c4a29adef1155
    [9] Gunnerud V, Foss B. Oil production optimization-a piecewise linear model, solved with two decomposition strategies. Computers and Chemical Engineering, 2010, 34:1803-1812 doi: 10.1016/j.compchemeng.2009.10.019
    [10] de Souza J N M, de Medeiros J L, Costa A L H, Nunes G C. Modeling, simulation and optimization of continuous gas lift systems for deepwater offshore petroleum production. Journal of Petroleum Science and Engineering, 2010, 72(3):277-289 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=df7aac76fdbccba507c64edc1ebed4a5
    [11] Gunnerud V, Foss B A, McKinnon K I M, Nygreen B. Oil production optimization solved by piecewise linearization in a Branch & Price framework. Computers & Operations Research, 2012, 39:2469-2477 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=ff149d047b1a5fb3d0cf4a9e0b1b3517
    [12] Tavallali M S, Karimi I A, Teo K M, Baxendale D, Ayatollahi Sh. Optimal producer well placement and production planning in an oil reservoir. Computers and Chemical Engineering, 2013, 55:109-125 doi: 10.1016/j.compchemeng.2013.04.002
    [13] Knudsen B R, Grossmann I E, Foss B, Conn A R. Lagrangian relaxation based decomposition for well scheduling in shale-gas systems. Computers & Chemical Engineering, 2014, 63(17):234-249 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=39d251bbeea01b1723089638e646e93f
    [14] 刘安枕.基于优化算法的油井间抽控制系统设计与实现.西安航空技术高等专科学校学报, 2008, 26(3):39-41 doi: 10.3969/j.issn.1008-9233.2008.03.014

    Liu An-Zhen. Designing and realization of oil drilling interval pump controlling system based on optimization. Journal of Xi'an Aerotechnical College, 2008, 26(3):39-41 doi: 10.3969/j.issn.1008-9233.2008.03.014
    [15] 李军亮, 廖锐全, 陈晓春.抽油井间抽周期的灰色预测.断块油气田, 2012, 19(5):634-637 http://d.old.wanfangdata.com.cn/Periodical/dkyqt201205022

    Li Jun-Liang, Liao Rui-Quan, Chen Xiao-Chun. Grey prediction of intermittent cycle for pumping well. Fault-Block Oil & Gas Field, 2012, 19(5):634-637 http://d.old.wanfangdata.com.cn/Periodical/dkyqt201205022
    [16] Shapiro J F. Generalized Lagrange multipliers in integer programming. Operations Research, 1971, 19:68-76 doi: 10.1287/opre.19.1.68
    [17] Fisher M L. The Lagrangian relaxation method for solving integer programming problems. Management Scienc, 1981, 27:1-18 doi: 10.1287/mnsc.27.1.1
    [18] Kaskavelis C A, Caramanis M C. Efficient Lagrangian relaxation algorithms for industry size job-shop scheduling problems. IIE Transactions, 1998, 30:1085-1097 http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=10.1080/07408179808966565
  • 期刊类型引用(2)

    1. 檀朝东,李玉泽,高小永,艾信,夔国凤,孙玉铎,冯钢. 丛式井场抽油机井群错峰开井间抽运行调度优化. 西安石油大学学报(自然科学版). 2021(05): 83-90 . 百度学术
    2. 贾兆红,王燕,张以文. 求解差异机器平行批调度的双目标协同蚁群算法. 自动化学报. 2020(06): 1121-1135 . 本站查看

    其他类型引用(2)

  • 加载中
  • 图(4) / 表(3)
    计量
    • 文章访问数:  2128
    • HTML全文浏览量:  325
    • PDF下载量:  407
    • 被引次数: 4
    出版历程
    • 收稿日期:  2015-05-25
    • 录用日期:  2016-06-30
    • 刊出日期:  2019-02-20

    目录

    /

    返回文章
    返回