<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Energy Res.</journal-id>
<journal-title>Frontiers in Energy Research</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Energy Res.</abbrev-journal-title>
<issn pub-type="epub">2296-598X</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1340008</article-id>
<article-id pub-id-type="doi">10.3389/fenrg.2023.1340008</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Energy Research</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Horizontal well placement optimization based on matrix directional continuous element summation algorithm</article-title>
<alt-title alt-title-type="left-running-head">Huang et al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/fenrg.2023.1340008">10.3389/fenrg.2023.1340008</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Huang</surname>
<given-names>Ruijie</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2579725/overview"/>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/investigation/"/>
<role content-type="https://credit.niso.org/contributor-roles/methodology/"/>
<role content-type="https://credit.niso.org/contributor-roles/validation/"/>
<role content-type="https://credit.niso.org/contributor-roles/writing-original-draft/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wang</surname>
<given-names>Kun</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/conceptualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Li</surname>
<given-names>Li</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Xie</surname>
<given-names>Mingying</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Dai</surname>
<given-names>Jianwen</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Feng</surname>
<given-names>Shasha</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/supervision/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Liu</surname>
<given-names>Siyu</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<role content-type="https://credit.niso.org/contributor-roles/visualization/"/>
<role content-type="https://credit.niso.org/contributor-roles/Writing - review &#x26; editing/"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Nanhai East Petroleum Research Institute</institution>, <institution>Shenzhen Branch of CNOOC Limited</institution>, <addr-line>Shenzhen</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Key Laboratory of Oil and Gas Reservoir Geology and Exploitation</institution>, <institution>Southwest Petroleum University</institution>, <addr-line>Chengdu</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1966247/overview">Yishan Liu</ext-link>, Research Institute of Petroleum Exploration and Development (RIPED), China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1682668/overview">Keliu Wu</ext-link>, China University of Petroleum, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1514109/overview">Daigang Wang</ext-link>, China University of Petroleum, Beijing, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Ruijie Huang, <email>huangrj10@cnooc.com.cn</email>
</corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>01</month>
<year>2024</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1340008</elocation-id>
<history>
<date date-type="received">
<day>17</day>
<month>11</month>
<year>2023</year>
</date>
<date date-type="accepted">
<day>08</day>
<month>12</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2024 Huang, Wang, Li, Xie, Dai, Feng and Liu.</copyright-statement>
<copyright-year>2024</copyright-year>
<copyright-holder>Huang, Wang, Li, Xie, Dai, Feng and Liu</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>During the course of actual oilfield development, judicious selection and design of well placement are paramount due to cost constraints and operating conditions. This paper introduces the Matrix Directional Continuous Elements Summation Algorithm (MDCESA), which is utilized to identify that segment with the largest summation for a given length in a 2D or a 3D matrix. An additional function that accounts for the distance between segments was added when searching for multiple segments to avoid intersections or overlaps between segments. The well placement optimization was transformed into a segment summation on a 3D matrix. Our findings reveal significant advancements in well placement optimization. Employing the MDCESA method, six producers were identified and their production performance was compared against two previously selected producers using a reservoir numerical simulator. The results demonstrated that the wells selected through MDCESA exhibited a substantial improvement in production efficiency. Specifically, there was an 11.6% increase in average cumulative oil production over a 15-year period compared to the wells selected by traditional methods. This research not only presents a significant leap in well placement optimization but also sets a foundation for further innovations in reservoir management and development strategies in offshore oilfields.</p>
</abstract>
<kwd-group>
<kwd>offshore oilfield</kwd>
<kwd>horizontal well</kwd>
<kwd>well placement optimization</kwd>
<kwd>reservoir production potential</kwd>
<kwd>matrix directional continuous element summation algorithm</kwd>
</kwd-group>
<custom-meta-wrap>
<custom-meta>
<meta-name>section-at-acceptance</meta-name>
<meta-value>Advanced Clean Fuel Technologies</meta-value>
</custom-meta>
</custom-meta-wrap>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Offshore oilfield development plays a vital role in the global energy supply. Estimates from the United States Geological Survey (USGS), approximately 30 percent of the world&#x2019;s hydrocarbon resources are located in the oceans, with around 60 percent of the oil and 40 percent of the natural gas located in deep and ultra-deep water areas. Recent advancements in deep-water drilling technologies have rendered the exploitation of these resources feasible, positioning deep-water fields as future pivotal contributors to the augmentation of hydrocarbon production (<xref ref-type="bibr" rid="B39">Rogner, 1997</xref>; <xref ref-type="bibr" rid="B49">Zou et al., 2015</xref>).</p>
<p>However, oilfield development, especially offshore oil and gas development, is a high-risk, high-investment business model that requires huge capital investments to support complex equipment construction, exploration, drilling, production and transportation (<xref ref-type="bibr" rid="B6">Behrenbruch, 1993</xref>; <xref ref-type="bibr" rid="B44">Wang et al., 2019</xref>). Therefore, compared with the development of onshore oil fields, the strategic development of offshore oil fields (especially deepwater oil fields) typically prioritizes reservoirs with better physical conditions in order to reduce the development cost, which are characterized by low viscosity, high oil abundance, high porosity and high permeability (<xref ref-type="bibr" rid="B21">Gupta and Grossmann, 2016</xref>; <xref ref-type="bibr" rid="B22">2017</xref>). In actual oilfield production, the development strategy of &#x201c;fewer wells, higher production&#x201d; is mainly adopted, so for reservoir engineers, reasonable well placement selection and well pattern design are of paramount importance.</p>
<p>The well placement optimization problem is considered a challenging task because it involves numerous static and dynamic factors such as reservoir physical properties, heterogeneity, and fluid flow characteristics (<xref ref-type="bibr" rid="B41">Tavallali et al., 2013</xref>; <xref ref-type="bibr" rid="B8">Chen et al., 2018</xref>). Finding the optimal well placement requires executing a large number of reservoir simulations, which is computationally intensive, so it is crucial to establish a novel efficient well placement optimization method (<xref ref-type="bibr" rid="B25">Islam et al., 2020</xref>). In recent years, many researchers have carried out a large number of studies for the well placement optimization problem, which can be mainly divided into three main categories: 1) reservoir numerical simulation method, 2) reservoir potential/quality map method, and 3) surrogate model based intelligent optimization method.</p>
<p>The first mainstream approach to well placement optimization is reservoir numerical simulation. Reservoir numerical simulation is a very important and widely used tool in oilfield development (<xref ref-type="bibr" rid="B10">Coats, 1982</xref>, 12290; <xref ref-type="bibr" rid="B34">Peaceman, 2000</xref>; <xref ref-type="bibr" rid="B18">Ertekin et al., 2001</xref>; <xref ref-type="bibr" rid="B9">Chen, 2007</xref>). It utilizes mathematical models and computational techniques to simulate fluid flow and interactions within the reservoir to predict full reservoir and individual well production performance (<xref ref-type="bibr" rid="B26">Kazemi et al., 1976</xref>; <xref ref-type="bibr" rid="B30">Matth&#xe4;i et al., 2007</xref>; <xref ref-type="bibr" rid="B17">Dumkwu et al., 2012</xref>).</p>
<p>Reservoir engineers often use the predicted development performance to optimize development plans. <xref ref-type="bibr" rid="B45">Wei et al. (2017)</xref> utilized a comprehensive dataset, including seismic data, well logs, and production history, to categorize a super-giant carbonate reservoir into three types (good, medium, and poor), established their distribution patterns, and proposed tailored water flooding plans based on fine-scale geological modeling and reservoir numerical simulation, effectively increasing the estimated ultimate recovery (EUR) by more than 20% compared to natural depletion. <xref ref-type="bibr" rid="B27">Li et al. (2016)</xref> introduced a systematic technique combining analytical and numerical production analysis, pressure transient analysis, material balance analysis, and geological analysis to effectively evaluate reservoir properties and forecast production performance of fractured vuggy carbonate gas condensate reservoirs with complex characteristics. <xref ref-type="bibr" rid="B1">Agada et al. (2014)</xref> utilized a high-resolution three-dimensional outcrop model of a Jurassic carbonate ramp to perform detailed and systematic flow simulations, demonstrating that reservoir performance and oil recovery in carbonate reservoirs are significantly influenced by small- and large-scale geological features, with subseismic faults and oyster bioherms identified as major controls, and showcased how optimizing well placement and injection fluid can mitigate fluid channelling and enhance oil recovery.</p>
<p>Simulation based method also widely used in well placement optimization. <xref ref-type="bibr" rid="B20">Forouzanfar et al. (2010)</xref> developed a two-stage well placement optimization method, employing a gradient-based algorithm with the adjoint method and gradient projection for constraints, effectively determining the optimal number, locations, and rates of water injection and producing wells, while mitigating the effects of pre-specifying well rates and operational reservoir life. <xref ref-type="bibr" rid="B42">Taware et al. (2012)</xref> utilized a novel method based on streamline simulation and total time of flight calculations to optimize well placements in a mature offshore carbonate field, outperforming traditional well placement techniques and successfully validating the approach with subsequent field infill drilling. <xref ref-type="bibr" rid="B14">Deng et al. (2010)</xref> implemented a comprehensive approach integrating proactive well placement technology, thorough rock physics and petrophysics studies, geomechanical analysis, and real-time interpretation and reservoir simulation, successfully enhancing productivity beyond initial predictions for horizontal wells in the complex offshore field of Bohai Bay. <xref ref-type="bibr" rid="B46">Yu et al. (2015)</xref> applied numerical reservoir simulation to model CO<sub>2</sub> injection as a huff-n-puff process in Bakken tight oil reservoirs, revealing that CO<sub>2</sub> molecular diffusion significantly enhances oil recovery, especially in formations with lower permeability, longer fracture half-length, and more heterogeneity, providing valuable insights into the effectiveness and key parameters of CO<sub>2</sub> enhanced oil recovery in unconventional tight oil reservoirs. <xref ref-type="bibr" rid="B43">van Vark et al. (2004)</xref> conducted a simulation study evaluating various enhanced oil recovery processes in low permeability carbonate reservoirs in Abu Dhabi, concluding that miscible acid gas injection emerges as the preferable recovery method due to its favorable interaction with native oil, efficient asphaltene dissolution, and advantageous mobility ratio. <xref ref-type="bibr" rid="B2">Al-Fadhli et al. (2019)</xref> utilized modeling and simulation to implement the downhole water sink technique with an inverted ESP completion in Greater Burgan Field, achieving increased ultimate oil recovery, mitigated rapid water coning conditions in a high permeability water drive reservoir, and established an optimal development strategy, resulting in a 25% increase in oil production and an 18% reduction in water production over 5&#xa0;years in the study well.</p>
<p>The second commonly used method of well placement optimization is the reservoir production potential map or quality map method. The reservoir production potential map, also known as a quality map, is a visual graphical tool used to characterize the differences in production potential among various regions of a reservoir. It is usually based on the results of reservoir numerical simulation, and integrates some key reservoir parameters and production data to visualize complex data and help reservoir engineers make more rational decisions.</p>
<p>The concept of the reservoir production potential map was first introduced by <xref ref-type="bibr" rid="B11">da Cruz et al. (1999)</xref>. <xref ref-type="bibr" rid="B12">Da Cruz et al. (2004)</xref> introduced the &#x201c;quality map&#x201d; a 2D representation aiding in reservoir management by visualizing reservoir responses and uncertainties. The &#x201c;quality map&#x201d; is created by running flow simulations with varied well locations and generating multiple stochastic realizations to capture geological uncertainties, with applications demonstrated across 50 realistic reservoir models.</p>
<p>Some researchers have improved the calculation method of production potential map on the basis of previous studies in order to better characterize the production performance and represent the internal differences of reservoirs. <xref ref-type="bibr" rid="B4">Badru (2003)</xref> presented basic and modified quality map approaches which provide a straightforward two-dimensional reservoir representation requiring no simulation runs. The approaches enhanced efficiency of well placement optimization by using the quality map as a preliminary screening tool (<xref ref-type="bibr" rid="B5">Badru and Kabir, 2003</xref>). <xref ref-type="bibr" rid="B13">De et al. (2005)</xref> developed a faster and reliable methodology for generating quality maps, essential tools in defining and optimizing production strategies, by integrating geological and fluid variables to identify areas with varying production potentials. The effectiveness of this approach is demonstrated using three reservoir models. <xref ref-type="bibr" rid="B28">Liu and Jalali (2006)</xref> presented a methodology that transforms standard reservoir models into maps of production potential, guiding the strategic placement of wells across various phases of field development. This approach shows a marked improvement in field recovery factor when compared to traditional fixed spacing approaches. <xref ref-type="bibr" rid="B15">Ding et al. (2014)</xref> modified the productivity model to account for the negative effects of bottom water and gas cap on field development, thereby providing a more accurate representation of the production potential in various grid blocks of the reservoir.</p>
<p>Some researchers have combined production potential map and stochastic search algorithms to develop some well placement optimization methods. <xref ref-type="bibr" rid="B7">Chen et al. (2017)</xref> employed an analytical formula-based objective function and Cat Swarm Optimization (CSO) algorithm to establish a well placement optimization method, solving the problem of low efficiency in traditional well placement optimization processes that rely on numerical simulators, and significantly accelerating the well placement optimization process. <xref ref-type="bibr" rid="B16">Ding et al. (2019)</xref> utilized the Direct Mapping of Productivity Potential (DMPP) technique and Threshold Value of Productivity Potential (TVPP) management strategy in conjunction with Particle Swarm Optimization (PSO), to establish a more efficient well placement optimization process, significantly reducing optimization time while maintaining optimization effectiveness in oil field development. <xref ref-type="bibr" rid="B24">Harb et al. (2020)</xref> implemented the black hole particle swarm optimization (BHPSO) method, a hybrid evolutionary optimization technique, for simultaneous well placement optimization in terms of well count, location, type, and trajectory, achieving superior performance compared to the standard PSO with reduced computational requirements.</p>
<p>The third method used for well placement optimization is an artificial intelligence approach based on an surrogate model. Some researchers believe that potential maps and stochastic search algorithms are not always effective in solving well placement optimization problems. Therefore, they look for new ways to establish surrogate models as the basis of optimization algorithms, and data-driven artificial intelligence models are one of them (<xref ref-type="bibr" rid="B29">Liu et al., 2021</xref>; <xref ref-type="bibr" rid="B35">Peng et al., 2022</xref>; <xref ref-type="bibr" rid="B47">Zhang et al., 2022</xref>; <xref ref-type="bibr" rid="B48">Zhong et al., 2022</xref>).</p>
<p>
<xref ref-type="bibr" rid="B40">Salehian et al. (2022)</xref> utilized an ensemble learning of surrogate-models-assisted optimization framework, incorporating Convolutional Neural Network (CNN) and Simultaneous Perturbation Stochastic Approximation (SPSA), to provide diverse and near-optimum well placement solutions with reduced computational cost, achieving superior operational flexibility and computational efficiency compared to conventional methods in the Brugge and Egg field case studies. <xref ref-type="bibr" rid="B32">Moolya et al. (2022)</xref> employed a hybrid approach combining surrogate modeling and Multiperiod Mixed-Integer Linear Programming (MILP), alongside a novel methodology of Spatial Aggregation and Disaggregation, to efficiently determine optimal producer locations accounting for surface infrastructure constraints, significantly reducing computational expenses while ensuring maximization of the NPV. <xref ref-type="bibr" rid="B19">Foroud et al. (2012)</xref> employed various metamodeling techniques, including 18 different metamodels, and integrated the best performing model with a Genetic algorithm for global optimization search, to efficiently determine the optimal location, direction, and length of a new horizontal well in a mature oil reservoir, resulting in a substantial increase in accumulative oil production and a significant reduction in computation time. <xref ref-type="bibr" rid="B3">Arouri et al. (2022)</xref> utilized a surrogate-based well-placement optimization approach, incorporating both analytical and physics-based surrogates with manifold mapping, a multi-fidelity technique, in derivative-free, noninvasive corrections to optimize drilling locations within hydrocarbon reservoirs, demonstrating noticeable computational acceleration and effective well placement in hydrocarbon fields under stringent computing resource constraints. <xref ref-type="bibr" rid="B33">Nasir et al. (2020)</xref> developed a hybrid optimization framework named E-MADS, integrating the Enhanced Success History-Based Adaptive Differential Evolution (ESHADE) strategy with a Mesh Adaptive Direct Search (MADS) local pattern search method, and employed a gradient boosting machine learning technique to create a surrogate model, achieving superior performance in the joint optimization of well location and time-varying control for oil fields. <xref ref-type="bibr" rid="B38">Redouane et al. (2019)</xref> implemented a hybrid intelligent system combining a Genetic Algorithm (GA), a hybrid constraint-handling strategy, Gaussian Process (GP) surrogate modeling, and an adaptive sampling routine, optimizing well placement in fractured reservoirs with arbitrary well trajectories, complex grids, and various constraints, showcasing high accuracy and efficiency in the challenging real well placement project in El Gassi field, Hassi-Massoud, Algeria. <xref ref-type="bibr" rid="B36">Pouladi et al. (2017)</xref> introduced a novel proxy using the Fast Marching Method (FMM) for volumetric pressure approximation to optimize production well placement, achieving satisfactory results with significantly reduced computational costs, demonstrated through application to single and multiple production well placements in standard reservoir models, and comparison with conventional simulator-based methods. <xref ref-type="bibr" rid="B31">Miyagi et al. (2018)</xref> applied various variants of the Covariance Matrix Adaptation Evolution Strategy (CMA-ES) with mixed integer support to optimize well placement and injection scheduling in a Carbon dioxide Capture and Storage (CCS) project, discovering that the CMA-ES with step-size lower bound outperformed other variants, showcasing robustness and effectiveness in handling mixed integer programming problems in geologic CO<sub>2</sub> storage optimization. <xref ref-type="bibr" rid="B37">Redouane et al. (2018)</xref> developed a hybrid intelligent approach, integrating adaptive space-filling surrogate modeling with an evolutionary algorithm, to optimize well placement under field constraints, resulting in a more accurate, reliable, and efficient solution compared to traditional automatic optimization routines, even with a realistic and complex reservoir model. <xref ref-type="bibr" rid="B23">Hamida et al. (2017)</xref> utilized a modified Genetic Algorithm (GA) incorporating a novel &#x201c;Similarity Operator&#x201d; for optimal well placement in oil fields, enhancing the solution quality by considering interactions with pre-located wells and geological features, demonstrating robust performance on both the PUNQ-S3 and Brugge field datasets.</p>
<p>Based on the previous literature research we found that there are advantages and disadvantages of these three methods as listed in <xref ref-type="table" rid="T1">Table 1</xref>. Reservoir numerical simulation is currently the most credible tool for optimization, but its high computational complexity and the need to run a large number of cases when faced with a well optimization problem leads to its low computational efficiency. The optimization method that combines the reservoir production potential map and the stochastic search algorithm offers higher computational efficiency, but this method is generally ineffective in the application of large-scale real reservoir model, which is less practical for the actual production of oilfield. Surrogate model based intelligent optimization method also has similar problems, this method is predominantly applied to theoretical model or mechanism model, and less applied in the actual reservoir model. Currently, the surrogate model unable to fully supplant the reservoir simulation model.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Comparison of advantages and disadvantages of three main well placement optimization methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="left">Techniques</th>
<th align="left">Advantage</th>
<th align="left">Disadvantage</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td rowspan="2" align="left">Reservoir numerical simulation</td>
<td align="left">&#x2022; High prediction accuracy</td>
<td align="left">&#x2022; High computational complexity</td>
</tr>
<tr>
<td align="left">&#x2022; High credibility of calculation results</td>
<td align="left">&#x2022; Requiring substantial computational resources</td>
</tr>
<tr>
<td rowspan="2" align="left">Reservoir production potential map based optimization method</td>
<td rowspan="2" align="left">&#x2022; High computational efficiency</td>
<td align="left">&#x2022; Less effective in large-scale reservoir model</td>
</tr>
<tr>
<td align="left">&#x2022; Production potential map formula need to be modified for the specific reservoir</td>
</tr>
<tr>
<td rowspan="2" align="left">Surrogate model based intelligent optimization method</td>
<td rowspan="2" align="left">&#x2022; High computational efficiency</td>
<td align="left">&#x2022; Results are degraded in high dimension</td>
</tr>
<tr>
<td align="left">&#x2022; Fewer applications in large-scale actual reservoir model</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>This paper establishes a fast well placement optimization workflow considering the practical application needs of oilfield production. The basic process involves establishing the Matrix Directional Continuous Elements Summation Algorithm (MDCESA) for 2D planar matrix and 3D spatial matrix, constructing a modified production potential map characterization formula for a specific reservoir, and then using the algorithm to execute a well placement optimization task. This article is divided into the following sections. In <xref ref-type="sec" rid="s2">Section 2</xref>, we introduce the methodology of the Matrix Directional Continuous Elements Summation Algorithm (MDCESA) and reservoir production potential calculation method. <xref ref-type="sec" rid="s3">Section 3</xref> introduces the application of the proposed method in a actual deep-water reservoir model. The discussion and conclusions are given in <xref ref-type="sec" rid="s4">Section 4</xref>, <xref ref-type="sec" rid="s5">5</xref>.</p>
</sec>
<sec sec-type="methods" id="s2">
<title>2 Methodology</title>
<sec id="s2-1">
<title>2.1 Matrix directional continuous elements summation algorithm (MDCESA)</title>
<p>The core idea of this method is transforming the horizontal well placement optimization problem into a matrix element summation problem, the reservoir model into a matrix model, and the horizontal section of a horizontal well into a segment of continuous elements of length <italic>l</italic>.</p>
<sec id="s2-1-1">
<title>2.1.1 Calculate max sum of segment</title>
<p>In a two-dimensional planar matrix, this task can be transformed into finding a segment of consecutive points of length <italic>l</italic> in all possible directions from a given point <italic>(m, n)</italic>, and compute the cumulative value of these sequences to find the sequence with the largest value. This function is defined as &#x201c;Calculate Max Sum of Segment&#x201d;.</p>
<p>The principle of &#x201c;Calculate Max Sum of Segment&#x201d; is as follows. Assuming that the two-dimensional planar matrix <italic>A</italic> (<xref ref-type="fig" rid="F1">Figure 1A</xref>) is composed of elements <italic>A</italic>
<sub>
<italic>mn</italic>
</sub> and dimensions <italic>(M &#xd7; N)</italic>, where <italic>M</italic> is the number of rows and <italic>N</italic> is the number of columns.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Schematic diagram of a two-dimensional planar matrix: <bold>(A)</bold> a two-dimensional planar matrix; <bold>(B)</bold> Ignored grid distribution considering the well spacing &#x3d; 1.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g001.tif"/>
</fig>
<p>For a given point <italic>(m, n)</italic> and a direction vector <italic>(dx, dy)</italic>, a segment <italic>S</italic> is delineated as Eq. <xref ref-type="disp-formula" rid="e1">1</xref>
<disp-formula id="e1">
<mml:math id="m1">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>S(k)</italic> is the <italic>k</italic>th element of the segment <italic>S</italic>, <italic>l</italic> is the length of the segment.</p>
<p>For a two-dimensional planar matrix, there are eight directions from a given point: [(1, 0), (&#x2212;1, 0), (0, 1), (0, &#x2212;1), (1, 1), (1, &#x2212;1), (&#x2212;1, 1), (&#x2212;1, &#x2212;1)].</p>
<p>The summation for a segment of length <italic>l</italic> is given by Eq. <xref ref-type="disp-formula" rid="e2">2</xref>
<disp-formula id="e2">
<mml:math id="m2">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">k</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>The pseudocode for &#x201c;Calculate Max Sum of Segment&#x201d; is encapsulated in <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>. We need to input the matrix and the coordinates of a given point, set the length of the segment, and subsequently computes the sum of the segments in all possible directions and output the value and direction of the max one. The possible cases for each element of the matrix can be calculated through iterative loop traversal.</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>Calculate Max Sum of Segment.<list list-type="simple">
<list-item>
<p>
<bold>Input:</bold> <inline-formula id="inf1">
<mml:math id="m3">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (coordinates and length), <inline-formula id="inf2">
<mml:math id="m4">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (MxN matrix)</p>
</list-item>
<list-item>
<p>
<bold>Output:</bold> <inline-formula id="inf3">
<mml:math id="m5">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (maximum sum of segment), <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (direction of the segment)</p>
</list-item>
<list-item>
<p>1:&#x2003;<bold>function</bold> <sc>CalculateSegmentSum</sc> <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>2:&#x2003;&#x2003;&#x2003;<inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>X</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>number&#x2009;of&#x2009;rows&#x2009;in&#x2009;matrix</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>3:&#x2003;&#x2003;<inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>Y</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>number&#x2009;of&#x2009;columns&#x2009;in&#x2009;matrix</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>4:&#x2003;&#x2003;<inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>5:&#x2003;&#x2003;<inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>None</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>6:&#x2003;&#x2003;<inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>7:&#x2003;&#x2003;<bold>for</bold> each <inline-formula id="inf11">
<mml:math id="m13">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> in <inline-formula id="inf12">
<mml:math id="m14">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>8:&#x2003;&#x2003;&#x2003;<inline-formula id="inf13">
<mml:math id="m15">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>9:&#x2003;&#x2003;&#x2003;<bold>for</bold> <inline-formula id="inf14">
<mml:math id="m16">
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf15">
<mml:math id="m17">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>10:&#x2003;&#x2003;&#x2003;&#x2003;<bold>if</bold> <inline-formula id="inf16">
<mml:math id="m18">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>X</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf17">
<mml:math id="m19">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>l</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>Y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>11:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf18">
<mml:math id="m20">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>m</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>12:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<bold>end if</bold>
</p>
</list-item>
<list-item>
<p>13:&#x2003;&#x2003;&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>14:&#x2003;&#x2003;&#x2003;<bold>if</bold> <inline-formula id="inf19">
<mml:math id="m21">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x3e;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>15:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf20">
<mml:math id="m22">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>s</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>16:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf21">
<mml:math id="m23">
<mml:mrow>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>17:&#x2003;&#x2003;&#x2003;<bold>end if</bold>
</p>
</list-item>
<list-item>
<p>18:&#x2003;&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>19:&#x2003;&#x2003;<bold>return</bold> <inline-formula id="inf22">
<mml:math id="m24">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="italic">max</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>_</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>20:&#x2003;<bold>end function</bold>
</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s2-1-2">
<title>2.1.2 Set horizontal well spacing</title>
<p>Based on the actual situation of oilfield development, well placement optimization needs to consider the distance between wells to preclude the intersection or overlap of wells.</p>
<p>To address this requirement, we introduce a methodology whereby subsequent to the selection of the initial segment, the segment itself along with its adjacent elements are designated as &#x201c;ignored&#x201d;. This strategy ensures that the selection of the ensuing segment does not incorporate the constituents of the initial segment. <xref ref-type="fig" rid="F1">Figure 1</xref> illustrates the basic principle of this approach. The red line represents the horizontal well, and X represents the grid that is ignored when the distance around the horizontal well is 1.</p>
<p>Given a matrix <italic>A</italic>, a starting point <italic>(m, n)</italic>, a direction vector <italic>(dx, dy)</italic>, the length of segment <italic>l</italic>, and the well spacing <italic>distance</italic>, the principle of method is as follows Eq. <xref ref-type="disp-formula" rid="e3">3</xref>
<disp-formula id="e3">
<mml:math id="m25">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold-italic">I</mml:mi>
<mml:mi mathvariant="bold-italic">g</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">e</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mo>&#x222a;</mml:mo>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mfenced open="" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2223;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>Where, <inline-formula id="inf23">
<mml:math id="m26">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mi>l</mml:mi>
<mml:mi>l</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents all ignored elements; <inline-formula id="inf24">
<mml:math id="m27">
<mml:mrow>
<mml:mi>S</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>I</mml:mi>
<mml:mi>g</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>e</mml:mi>
<mml:mi>d</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> represents the elements of the previous segment; <inline-formula id="inf25">
<mml:math id="m28">
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>s</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2223;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> represents the set of elements to be ignored around the previous segment, as shown in Eqs <xref ref-type="disp-formula" rid="e4">4</xref>, <xref ref-type="disp-formula" rid="e5">5</xref>
<disp-formula id="e4">
<mml:math id="m29">
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>
<disp-formula id="e5">
<mml:math id="m30">
<mml:mrow>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">s</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>Where, <inline-formula id="inf26">
<mml:math id="m31">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf27">
<mml:math id="m32">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>r</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>d</mml:mi>
<mml:mo>_</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> are integers from <inline-formula id="inf28">
<mml:math id="m33">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf29">
<mml:math id="m34">
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>i</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>c</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> representing the offsets in the <italic>x</italic> and <italic>y</italic> directions when searching around each position <inline-formula id="inf30">
<mml:math id="m35">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>The pseudocode for Set Horizontal Well Spacing is outlined in <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref>. The &#x201c;<italic>distance&#x201d;</italic> in <xref ref-type="statement" rid="Algorithm_2">Algorithm 2</xref> represents the minimum spacing between horizontal wells, by this function we can make sure that horizontal wells will not intersect or overlap with each other. The spacing between them will be greater than value of &#x201c;<italic>distance&#x201d;</italic>.</p>
<p>
<statement content-type="algorithm" id="Algorithm_2">
<label>Algorithm 2</label>
<p>Set Horizontal Well Spacing.<list list-type="simple">
<list-item>
<p>1:&#x2003;<bold>Input:</bold> <inline-formula id="inf31">
<mml:math id="m36">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> - start coordinates of the segment</p>
</list-item>
<list-item>
<p>2:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf32">
<mml:math id="m37">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> - length of the segment</p>
</list-item>
<list-item>
<p>3:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf33">
<mml:math id="m38">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> - direction vector of the segment</p>
</list-item>
<list-item>
<p>4:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf34">
<mml:math id="m39">
<mml:mtext>ignored</mml:mtext>
</mml:math>
</inline-formula> - current set of ignored points</p>
</list-item>
<list-item>
<p>5:&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf35">
<mml:math id="m40">
<mml:mtext>distance</mml:mtext>
</mml:math>
</inline-formula> - surrounding distance to ignore</p>
</list-item>
<list-item>
<p>6:&#x2003;<bold>Output:</bold> Updated set of ignored points</p>
</list-item>
<list-item>
<p>7:&#x2003;<bold>function</bold> <sc>SetSurroundingToIgnore</sc> <inline-formula id="inf36">
<mml:math id="m41">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>ignored</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>distance</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>8:&#x2003;&#x2003;<inline-formula id="inf37">
<mml:math id="m42">
<mml:mrow>
<mml:mtext>lenX&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>number&#x2009;of&#x2009;rows&#x2009;in&#x2009;matrix</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>9:&#x2003;&#x2003;<inline-formula id="inf38">
<mml:math id="m43">
<mml:mrow>
<mml:mtext>lenY&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>number&#x2009;of&#x2009;columns&#x2009;in&#x2009;matrix</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Iterate over each point in the segment</p>
</list-item>
<list-item>
<p>10:&#x2003;<bold>for</bold> <inline-formula id="inf39">
<mml:math id="m44">
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> to <inline-formula id="inf40">
<mml:math id="m45">
<mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>11:&#x2003;&#x2003;&#x2003;<inline-formula id="inf41">
<mml:math id="m46">
<mml:mrow>
<mml:mtext>currentX&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>12:&#x2003;&#x2003;&#x2003;<inline-formula id="inf42">
<mml:math id="m47">
<mml:mrow>
<mml:mtext>currentY&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi>n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Iterate over the surrounding area of the current point</p>
</list-item>
<list-item>
<p>13:&#x2003;&#x2003;<bold>for</bold> <inline-formula id="inf43">
<mml:math id="m48">
<mml:mrow>
<mml:mtext>surround</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext>dx&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;distance&#x2009;to&#x2009;distance</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>14:&#x2003;&#x2003;&#x2003;<bold>for</bold> <inline-formula id="inf44">
<mml:math id="m49">
<mml:mrow>
<mml:mtext>surround</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext>dy&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>&#x2009;distance&#x2009;to&#x2009;distance</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> <bold>do</bold>
</p>
</list-item>
<list-item>
<p>15:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf45">
<mml:math id="m50">
<mml:mrow>
<mml:mtext>surroundX&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>currentX</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mtext>surround</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext>dx</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>16:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf46">
<mml:math id="m51">
<mml:mrow>
<mml:mtext>surroundY&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>currentY</mml:mtext>
<mml:mo>&#x2b;</mml:mo>
<mml:mtext>surround</mml:mtext>
<mml:mo>_</mml:mo>
<mml:mtext>dy</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> &#x22b3; Check if the surrounding point is within the matrix boundaries</p>
</list-item>
<list-item>
<p>17:&#x2003;&#x2003;&#x2003;&#x2003;<bold>if</bold> <inline-formula id="inf47">
<mml:math id="m52">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mtext>surroundX&#x2009;</mml:mtext>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;lenX</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf48">
<mml:math id="m53">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mtext>surroundY&#x2009;</mml:mtext>
<mml:mo>&#x3c;</mml:mo>
<mml:mtext>&#x2009;lenY</mml:mtext>
</mml:mrow>
</mml:math>
</inline-formula> <bold>then</bold>
</p>
</list-item>
<list-item>
<p>18:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<inline-formula id="inf49">
<mml:math id="m54">
<mml:mrow>
<mml:mtext>ignored&#x2009;</mml:mtext>
<mml:mo>&#x2190;</mml:mo>
<mml:mtext>ignored</mml:mtext>
<mml:mo>&#x222a;</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="}" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mtext>surroundX</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>surroundY</mml:mtext>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>19:&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;&#x2003;<bold>end if</bold>
</p>
</list-item>
<list-item>
<p>20:&#x2003;&#x2003;&#x2003;&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>21:&#x2003;&#x2003;&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>22:&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>23:&#x2003;<bold>return</bold> <inline-formula id="inf50">
<mml:math id="m55">
<mml:mtext>ignored</mml:mtext>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>24:&#x2003;<bold>end function</bold>
</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s2-1-3">
<title>2.1.3 The framework of the proposed method</title>
<p>The pseudocode delineating the framework of the proposed methodology is encapsulated in <xref ref-type="statement" rid="Algorithm_3">Algorithm 3</xref>. This framework solves the well placement optimization for a two-dimensional matrix considering horizontal section length and well spacing conditions. Inputting predefined parameters of length of segments (horizontal well length), number of segments (number of horizontal wells), and distance (well spacing), this framework finds the optimal result.</p>
<p>
<statement content-type="algorithm" id="Algorithm_3">
<label>Algorithm 3</label>
<p>Framework of The Proposed Method.<list list-type="simple">
<list-item>
<p>1:&#x2003;<bold>Input:</bold> matrix, <inline-formula id="inf51">
<mml:math id="m56">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> (length of segments), segments_count (number of segments to find)</p>
</list-item>
<list-item>
<p>2:&#x2003;<bold>Output:</bold> max_sums (list of maximum sums), max_positions (starting positions of segments), max_directions (directions of segments)</p>
</list-item>
<list-item>
<p>3:&#x2003;<bold>function</bold> <sc>CalculateSegmentSum</sc> <inline-formula id="inf52">
<mml:math id="m57">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>matrix</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>4:&#x2003;Compute the sum of segments in all directions from <inline-formula id="inf53">
<mml:math id="m58">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> with length <inline-formula id="inf54">
<mml:math id="m59">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>5:&#x2003;<bold>return</bold> the maximum sum and its direction</p>
</list-item>
<list-item>
<p>6:&#x2003;<bold>end function</bold>
</p>
</list-item>
<list-item>
<p>7:&#x2003;<bold>function</bold> <sc>SetSurroundingToIgnore</sc> <inline-formula id="inf55">
<mml:math id="m60">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>ignored</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>distance</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>8:&#x2003;Mark the surroundings of the segment starting at <inline-formula id="inf56">
<mml:math id="m61">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> with direction <inline-formula id="inf57">
<mml:math id="m62">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and length <inline-formula id="inf58">
<mml:math id="m63">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> as ignored</p>
</list-item>
<list-item>
<p>9:&#x2003;<bold>end function</bold>
</p>
</list-item>
<list-item>
<p>10:&#x2003;<bold>function</bold> <sc>IsSegmentIgnored</sc> <inline-formula id="inf59">
<mml:math id="m64">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>ignored</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>11:&#x2003;Check if the segment starting at <inline-formula id="inf60">
<mml:math id="m65">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> with direction <inline-formula id="inf61">
<mml:math id="m66">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
<mml:mrow>
<mml:mi>d</mml:mi>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> and length <inline-formula id="inf62">
<mml:math id="m67">
<mml:mrow>
<mml:mi>l</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is in the ignored set</p>
</list-item>
<list-item>
<p>12:&#x2003;<bold>return</bold> True if ignored, False otherwise</p>
</list-item>
<list-item>
<p>13:&#x2003;<bold>end function</bold>
</p>
</list-item>
<list-item>
<p>14:&#x2003;<bold>function</bold> <sc>FindMaxSegment</sc> <inline-formula id="inf63">
<mml:math id="m68">
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mtext>matrix</mml:mtext>
<mml:mo>,</mml:mo>
</mml:mrow>
<mml:mi>l</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext>ignored</mml:mtext>
<mml:mo>,</mml:mo>
<mml:mtext>distance</mml:mtext>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>15:&#x2003;Find the segment with the maximum sum in the matrix that is not ignored</p>
</list-item>
<list-item>
<p>16:&#x2003;<bold>return</bold> the maximum sum, its starting position, and direction</p>
</list-item>
<list-item>
<p>17:&#x2003;<bold>end function</bold>
</p>
</list-item>
<list-item>
<p>18:&#x2003;</p>
</list-item>
<list-item>
<p>19:&#x2003;<bold>procedure</bold> <sc>Main</sc>
</p>
</list-item>
<list-item>
<p>20:&#x2003;Load matrix from an Excel file</p>
</list-item>
<list-item>
<p>21:&#x2003;Initialize variables: max_sums, max_positions, max_directions, ignored</p>
</list-item>
<list-item>
<p>22:&#x2003;<bold>for</bold> segments_count times <bold>do</bold>
</p>
</list-item>
<list-item>
<p>23:&#x2003;&#x2003;&#x2003;Find the segment with the maximum sum using <sc>FindMaxSegment</sc>
</p>
</list-item>
<list-item>
<p>24:&#x2003;&#x2003;&#x2003;Add the results to max_sums, max_positions, and max_directions</p>
</list-item>
<list-item>
<p>25:&#x2003;&#x2003;&#x2003;Update the ignored set using <sc>SetSurroundingToIgnore</sc>
</p>
</list-item>
<list-item>
<p>26:&#x2003;<bold>end for</bold>
</p>
</list-item>
<list-item>
<p>27:&#x2003;Display the results</p>
</list-item>
<list-item>
<p>28:&#x2003;Plot the original matrix and the found segments</p>
</list-item>
<list-item>
<p>29:&#x2003;<bold>end procedure</bold>
</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s2-1-4">
<title>2.1.4 Extending the algorithm to 3D reservoir modeling</title>
<p>The reservoir is a three-dimensional spatial distribution field, and the well placement optimization results based on a two-dimensional planar distribution field are inaccurate. To better simulate the real situation of the reservoir, the application of the proposed framework is extended to a three-dimensional spatial matrix.</p>
<p>The principle of modified Calculate Max Sum of Segment is as follows. Assume that the three-dimensional planar matrix <italic>A</italic> (<xref ref-type="fig" rid="F2">Figure 2</xref>) has elements <italic>A</italic>
<sub>
<italic>mnp</italic>
</sub> and dimensions <italic>(M &#xd7; N &#xd7; P)</italic>, where <italic>M</italic> is the number of rows, <italic>N</italic> is the number of columns, and <italic>P</italic> is the depth.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Schematic diagram of a three-dimensional matrix.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g002.tif"/>
</fig>
<p>For a given point <italic>(m, n, p)</italic> and a direction vector <italic>(dx, dy, dz)</italic>, we can define a segment <italic>S</italic> as Eq. <xref ref-type="disp-formula" rid="e6">6</xref>
<disp-formula id="e6">
<mml:math id="m69">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">A</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x22c5;</mml:mo>
<mml:mi mathvariant="bold-italic">d</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">f</mml:mi>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mn mathvariant="bold">0</mml:mn>
<mml:mo>&#x2264;</mml:mo>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="bold-italic">l</mml:mi>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>where <italic>S(r)</italic> is the <italic>r</italic>th element of the segment <italic>S</italic>, <italic>l</italic> is the length of the segment.</p>
<p>In the 3D matrix, there are 26 possible directions from a given start point, as listed in <xref ref-type="table" rid="T2">Table 2</xref>.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>All possible directions in a 3D matrix starting from a specific point.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Type</th>
<th align="center">Direction</th>
<th align="center">
<italic>(dx, dy, dz)</italic>
</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">On the X-axis</td>
<td align="center">Left and Right</td>
<td align="center">(-1, 0, 0) and (1, 0, 0)</td>
</tr>
<tr>
<td align="center">On the Y-axis</td>
<td align="center">Up and Down</td>
<td align="center">(0, &#x2212;1, 0) and (0, 1, 0)</td>
</tr>
<tr>
<td align="center">On the Z-axis</td>
<td align="center">Front and Back</td>
<td align="center">(0, 0, &#x2212;1) and (0, 0, 1)</td>
</tr>
<tr>
<td align="center">On the XY plane</td>
<td align="center">Upper-left, Upper-right, Lower-left, and Lower-right</td>
<td align="center">(-1, 1, 0), (1, 1, 0), (&#x2212;1, &#x2212;1, 0), and (1, &#x2212;1, 0)</td>
</tr>
<tr>
<td align="center">On the XZ plane</td>
<td align="center">Left-front, Left-back, Right-front, and Right-back</td>
<td align="center">(-1, 0, 1), (&#x2212;1, 0, &#x2212;1), (1, 0, 1) and (1, 0, &#x2212;1)</td>
</tr>
<tr>
<td align="center">On the YZ plane</td>
<td align="center">Upper-front, Upper-back, Lower-front, and Lower-back</td>
<td align="center">(0, &#x2212;1, &#x2212;1), (0, &#x2212;1, 1), (0, 1, &#x2212;1), and (0, 1, 1)</td>
</tr>
<tr>
<td rowspan="4" align="center">Diagonal directions of the three axes</td>
<td align="center">Upper-left-front and Upper-left-back</td>
<td align="center">(-1, &#x2212;1, &#x2212;1) and (&#x2212;1, &#x2212;1, 1)</td>
</tr>
<tr>
<td align="center">Upper-right-front and Upper-right-back</td>
<td align="center">(1, &#x2212;1, &#x2212;1) and (1, &#x2212;1, 1)</td>
</tr>
<tr>
<td align="center">Lower-left-front and Lower-left-back</td>
<td align="center">(-1, 1, &#x2212;1) and (&#x2212;1, 1, 1)</td>
</tr>
<tr>
<td align="center">Lower-right-front and Lower-right-back</td>
<td align="center">(1, 1, &#x2212;1) and (1, 1, 1)</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The sum of segment of length <italic>l</italic> as Eq. <xref ref-type="disp-formula" rid="e7">7</xref>
<disp-formula id="e7">
<mml:math id="m70">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mi mathvariant="bold-italic">u</mml:mi>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mstyle displaystyle="true">
<mml:munderover>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">0</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi mathvariant="bold-italic">l</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:munderover>
</mml:mstyle>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>The pseudocode for modified Calculate Max Sum of Segment is similar with <xref ref-type="statement" rid="Algorithm_1">Algorithm 1</xref>. Change the possible directions of the 2D matrix to the possible directions of the 3D matrix (<xref ref-type="table" rid="T2">Table 2</xref>). In this way, we can find the maximum segment in the 3D matrix for a given length <italic>l</italic>.</p>
</sec>
</sec>
<sec id="s2-2">
<title>2.2 Application in theoretical models</title>
<p>To validate the proposed method, it is applied to random 2D and 3D matrices. A two-dimensional matrix of dimensions <italic>(11 &#xd7; 11)</italic> was synthesized, with each element assigned a random integer ranging from 0 to 100, as illustrated in <xref ref-type="fig" rid="F3">Figure 3A</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Application of MDCESA to random 2D and 3D matrix: <bold>(A)</bold> Result of 2D matrix; <bold>(B)</bold> Result of 3D matrix.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g003.tif"/>
</fig>
<p>The segment length was designated as 4, MDCESA was utilized to systematically assess each element within the matrix. The algorithm computed the sum of the elements spanned by the segment, subsequently identifying the segment&#x2019;s maximal value, start point, end point, and direction. Similarly, a 3D matrix <italic>(11 &#xd7; 11 &#xd7; 11)</italic> is randomly generated and the same operation is performed using the MDCESA. The visualization results are shown in <xref ref-type="fig" rid="F3">Figure 3</xref>.</p>
<p>In the 2D matrix scenario, value of optimal segment is 354, start position is (3, 2), end position is (6, 2), direction is (1, 0). In the 3D matrix scenario, value of optimal segment is 387, start position is (7, 4, 0), end position is (10, 4, 0), direction is (1, 0, 0).</p>
<p>In order to validate the multi-well optimization considering well spacing, a random two-dimensional matrix with dimensions <italic>(20 &#xd7; 20)</italic> was generated for the validation process. Within the MDCESA, the segment length was set at 4, and the well count was set at 4 and 6, respectively. The optimization results are depicted in <xref ref-type="fig" rid="F4">Figure 4</xref>; <xref ref-type="table" rid="T3">Table 3</xref>. The framework demonstrated robust performance on the random matrix, adeptly identifying optimal segments while ensuring that these segments maintained a separation that met or exceeded a predefined threshold and did not intersect or overlap.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Application of MDCESA in random 2D matrix (Considering well spacing): <bold>(A)</bold> Well count is 4; <bold>(B)</bold> Well count is 6.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g004.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Results of application of MDCESA in random 2D matrix (Considering well spacing).</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Segment name</th>
<th align="center">Value</th>
<th align="center">Start position</th>
<th align="center">End position</th>
<th align="center">Direction</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">W-1</td>
<td align="center">347</td>
<td align="center">(13, 3)</td>
<td align="center">(16, 6)</td>
<td align="center">(1, 1)</td>
</tr>
<tr>
<td align="center">W-2</td>
<td align="center">339</td>
<td align="center">(4, 2)</td>
<td align="center">(4, 5)</td>
<td align="center">(0, 1)</td>
</tr>
<tr>
<td align="center">W-3</td>
<td align="center">339</td>
<td align="center">(7, 4)</td>
<td align="center">(7, 7)</td>
<td align="center">(0, 1)</td>
</tr>
<tr>
<td align="center">W-4</td>
<td align="center">333</td>
<td align="center">(7, 10)</td>
<td align="center">(7, 13)</td>
<td align="center">(0, 1)</td>
</tr>
<tr>
<td align="center">W-5</td>
<td align="center">330</td>
<td align="center">(13, 10)</td>
<td align="center">(13, 13)</td>
<td align="center">(0, 1)</td>
</tr>
<tr>
<td align="center">W-6</td>
<td align="center">328</td>
<td align="center">(1, 3)</td>
<td align="center">(1, 6)</td>
<td align="center">(0, 1)</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s2-3">
<title>2.3 Reservoir production potential</title>
<p>In order to comprehensively consider the influence of reservoir abundance, pore pressure, formation permeability, distance from the boundary and structure position on production capacity, <xref ref-type="bibr" rid="B28">Liu and Jalali (2006)</xref> proposed the concept of reservoir production potential based on the study of <xref ref-type="bibr" rid="B11">da Cruz et al. (1999)</xref>, i.e., the potential oil and gas resource production capacity of the material and energy embedded in the reservoir under the comprehensive consideration of the static and dynamic influencing factors of the reservoir.</p>
<p>The formula for this calculation is outlined as follows:<disp-formula id="e8">
<mml:math id="m71">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf64">
<mml:math id="m72">
<mml:mrow>
<mml:msub>
<mml:mi>J</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf65">
<mml:math id="m73">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, and <inline-formula id="inf66">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the production potential, oil saturation, and pressure at the grid <italic>(m, n, p)</italic> at <italic>t</italic> time respectively. <inline-formula id="inf67">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi>S</mml:mi>
<mml:mrow>
<mml:mi>o</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the residual oil saturation; <inline-formula id="inf68">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mi>P</mml:mi>
<mml:mi mathvariant="italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the minimum well bottom pressure; <inline-formula id="inf69">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>K</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the permeability at the grid <italic>(m, n, p)</italic>; <inline-formula id="inf70">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the distance from the grid <italic>(m, n, p)</italic> to the closest boundary.</p>
<p>In this study, the formula for calculating production potential was tailored to accommodate the specific reservoir type, taking into account the relationships between the target reservoir type, oil-water distribution relationship, structure features, and fluid flow characteristics. This involved an integration of pertinent data, including porosity, permeability, pressure, reservoir thickness, structure elevation, boundary data, and fluid viscosity, to refine the formula, enhancing its specificity and adaptability.</p>
<p>The modified calculation formula is as follows:<disp-formula id="e9">
<mml:math id="m79">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">J</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">S</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mi mathvariant="bold-italic">r</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">o</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">P</mml:mi>
<mml:mi mathvariant="bold-italic">min</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x22c5;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">K</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">&#x3c6;</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mi mathvariant="bold-italic">ln</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">r</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x22c5;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold-italic">h</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>/</mml:mo>
<mml:mi mathvariant="bold-italic">H</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">m</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">x</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">y</mml:mi>
</mml:msub>
<mml:mo>;</mml:mo>
<mml:mi mathvariant="bold-italic">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn mathvariant="bold">1,2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x22ef;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold-italic">n</mml:mi>
<mml:mi mathvariant="bold-italic">z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf71">
<mml:math id="m80">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3bc;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the viscosity at the grid <italic>(m, n, p)</italic>; <inline-formula id="inf72">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3c6;</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the porosity at the grid <italic>(m, n, p)</italic>; <inline-formula id="inf73">
<mml:math id="m82">
<mml:mrow>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>m</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>p</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the thickness of the formation (the distance from the grid <italic>(m, n, p)</italic> to the oil-water interface, indicating the effect of the location of the structure on the production potential); <inline-formula id="inf74">
<mml:math id="m83">
<mml:mrow>
<mml:mi>H</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the distance from the highest point of the reservoir to the oil-water interface.</p>
<p>Moreover, we refrained from applying logarithmic transformation to the permeability values as such a conversion could significantly diminish the influence of permeability on the estimated production potential, a factor particularly critical in low-permeability reservoirs.</p>
<p>The production potential for Reservoir F was estimated utilizing the aforementioned Eqs <xref ref-type="disp-formula" rid="e8">8</xref>, <xref ref-type="disp-formula" rid="e9">9</xref>, and the results are visually represented in <xref ref-type="fig" rid="F5">Figure 5</xref>. <xref ref-type="fig" rid="F5">Figure 5A</xref> illustrates the oil saturation distribution of the 3<sup>rd</sup> layer of the F reservoir. <xref ref-type="fig" rid="F5">Figure 5B</xref> depicts the computed production potential map, with zones of the model where Net to Gross (NTG) equals zero being purposefully omitted, hence appearing as voids on the map.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Comparison of reservoir oil saturation map and reservoir production potential map: <bold>(A)</bold> Oil saturation map; <bold>(B)</bold> Production potential map.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g005.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Case study</title>
<sec id="s3-1">
<title>3.1 Workflow</title>
<p>This section aims to apply and validate the proposed MDCESA on the actual offshore reservoir model; the workflow is shown in <xref ref-type="fig" rid="F6">Figure 6</xref>. First, the reservoir model data, formatted in GRDECL, is exported and subjected to data processing. Second, the MDCESA is deployed to optimize well placement based on maps depicting oil saturation and production potential. Finally, the production performance of the optimally positioned wells is corroborated using a reservoir numerical simulator, and the results are benchmarked against those from previously manually chosen wells.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Workflow of case study in actual reservoir model.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g006.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>3.2 Reservoir background</title>
<p>The F reservoir, a deepwater reservoir, is located in the eastern part of the South China Sea, in the northern part of a sag in the Zhujiangkou Basin, where the water depth is about 286&#xa0;m. The reservoir is a point-reef reservoir developed on the coastal deposit. The sedimentary phases can be categorized as littoral, carbonate plateau, bio-banking, and bio-reef phases in the following order from bottom to top. The depth of the reservoir is from &#x2212;1802.0 to &#x2212;1862.5&#xa0;m, and the reservoir type is low-permeability reef limestone reservoir, with strong non-homogeneity, average porosity of 17.9%&#x2013;22.3%, average permeability of 5.5&#x2013;50.1&#xa0;mD, which belongs to medium-porosity, low-permeability reservoir, and the development of high-angle tectonic fissures.</p>
<p>The fluid of F reservoir is light oil, the viscosity of formation crude oil is 5.5&#x2013;5.6&#xa0;mPa&#x2219;s, and the fluidity is poor. Considering the lack of natural energy in the limestone reservoir, the reservoir is developed by combining natural energy and artificial water flooding. A total of 10 producers and 3 water injectors are designed, of which most of the producers are long horizontal wells and maximum reservoir contact (MRC) wells in order to maximize the use of reserves and enhance oil recovery. The F reservoir was put into production in September 2022, and a total of 11 wells have been put into production so far.</p>
</sec>
<sec id="s3-3">
<title>3.3 Optimization on saturation map</title>
<p>Oil saturation is an important parameter in reservoir development; therefore, the oil saturation map is commonly used to guide well placement optimization. We used MDCESA to optimize on the oil saturation map by setting the number of horizontal wells &#x3d; 5, horizontal section length &#x3d; 15 grids (750&#xa0;m), and minimum well spacing &#x3d; 4 grids (200&#xa0;m). Oil saturation map in the 3<sup>rd</sup> layer of F reservoir is shown in <xref ref-type="fig" rid="F7">Figure 7A</xref>. From the well placement optimization result (<xref ref-type="fig" rid="F7">Figure 7B</xref>), it can be seen that the ideally sited wells predominantly occupy zones with high oil saturation, congruent with established petrophysical principles.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Oil saturation map and well placement optimization results: <bold>(A)</bold> Oil saturation map in the 3<sup>rd</sup> layer of F reservoir; <bold>(B)</bold> Well placement optimization result of F reservoir based on the oil saturation map.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g007.tif"/>
</fig>
<p>Nevertheless, the optimization derived solely from the oil saturation map overlooked critical factors such as fluid flow capacity, reservoir permeability, reservoir energy, structural complexities, and boundary constraints, all of which significantly impact a well&#x2019;s production performance. This oversight resulted in the suboptimal placement of well W-5, positioned perilously close to a water body, thereby exposing it to the imminent threat of water breakthrough despite its location in an area of locally high oil saturation.</p>
<p>The reliance on an oil saturation map for well placement is thus deemed inadequate; a more comprehensive approach necessitates the use of a production potential map. This realization underpins the rationale for revising the production potential calculation formula, aiming to integrate all aforementioned factors for a more cogent optimization strategy.</p>
</sec>
<sec id="s3-4">
<title>3.4 Optimization on potential map</title>
<p>Facing the challenges of optimization based on oil saturation map, we calculated the production potential map of F reservoir, in which the 3<sup>rd</sup> layer is shown in <xref ref-type="fig" rid="F8">Figure 8A</xref>. We set the same parameters for the optimization algorithm: the number of horizontal wells &#x3d; 5, horizontal section length &#x3d; 15 grids (750&#xa0;m), and minimum well spacing &#x3d; 4 grids (200&#xa0;m). From the well placement optimization result (<xref ref-type="fig" rid="F8">Figure 8B</xref>), it can be seen that the optimization results are more reasonable compared to the optimization result based on the oil saturation map.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Production potential map and well placement optimization results: <bold>(A)</bold> Production potential map in the 3<sup>rd</sup> layer of F reservoir; <bold>(B)</bold> Well placement optimization result of F reservoir based on the production potential map.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g008.tif"/>
</fig>
<p>Similarly, we apply MDCESA to the reservoir-wide production potential model for well optimization, setting the number of horizontal wells &#x3d; 5, horizontal section length &#x3d; 15 grids (750&#xa0;m), and minimum well spacing &#x3d; 4 grids (200&#xa0;m). The results including the well name, production potential value, start and end positions and direction of each well are shown in <xref ref-type="table" rid="T4">Table 4</xref>.</p>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Results of optimization based on F reservoir production potential model.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center">Well name</th>
<th align="center">Production potential value</th>
<th align="center">Start position</th>
<th align="center">End position</th>
<th align="center">Direction</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">W-1</td>
<td align="center">63.91</td>
<td align="center">(78, 86, 9)</td>
<td align="center">(78, 101, 9)</td>
<td align="center">(0, 1, 0)</td>
</tr>
<tr>
<td align="center">W-2</td>
<td align="center">60.04</td>
<td align="center">(77, 87, 12)</td>
<td align="center">(77, 102, 12)</td>
<td align="center">(0, 1, 0)</td>
</tr>
<tr>
<td align="center">W-3</td>
<td align="center">54.53</td>
<td align="center">(64, 95, 18)</td>
<td align="center">(79, 95, 18)</td>
<td align="center">(1, 0, 0)</td>
</tr>
<tr>
<td align="center">W-4</td>
<td align="center">54.36</td>
<td align="center">(66, 92, 18)</td>
<td align="center">(81, 92, 18)</td>
<td align="center">(1, 0, 0)</td>
</tr>
<tr>
<td align="center">W-5</td>
<td align="center">51.51</td>
<td align="center">(60, 94, 10)</td>
<td align="center">(75, 94, 10)</td>
<td align="center">(1, 0, 0)</td>
</tr>
<tr>
<td align="center">W-6</td>
<td align="center">50.79</td>
<td align="center">(80, 92, 15)</td>
<td align="center">(65, 92, 15)</td>
<td align="center">(&#x2212;1, 0, 0)</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-5">
<title>3.5 Optimization results evaluation</title>
<p>In order to validate the production performance of the selected horizontal producers, we imported the six producers (W-1, W-2, W-3, W-4, W-5, and W-6) into the reservoir numerical simulator and compared the production of these wells with the previous manually selected wells (A5H and A9H).</p>
<p>Oil production rate and cumulative oil production for these 8 wells are summarized in <xref ref-type="fig" rid="F9">Figure 9</xref>. The performance of the six wells (W-1 through W-6) shows a decreasing sequence that is consistent with their production potential values. The two previously manually planned producers (A5H and A9H) performed worse than the wells selected based on the MDCESA in terms of the length of the plateau, the rate of decline, and the cumulative oil production. Comparing the 15-year cumulative oil production of these wells, the newly selected wells showed an 11.6% increase in average cumulative oil production over the previously selected wells.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Simulated well performance of the selected six producers and the previous manually selected two producers: <bold>(A)</bold> Oil production rate; <bold>(B)</bold> Cumulative oil production.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g009.tif"/>
</fig>
<p>Plotting A5H and A9H on the production potential map (<xref ref-type="fig" rid="F10">Figures 10B</xref>, <xref ref-type="fig" rid="F11">11B</xref>) shows that both wells are located away from the core area of the production potential map. This locational disadvantage is the primary cause for their diminished production.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Location of the previous manually selected well A5H: <bold>(A)</bold> Oil saturation map; <bold>(B)</bold> Production potential map.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g010.tif"/>
</fig>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Location of the previous manually selected well A9H: <bold>(A)</bold> Oil saturation map; <bold>(B)</bold> Production potential map.</p>
</caption>
<graphic xlink:href="fenrg-11-1340008-g011.tif"/>
</fig>
<p>The MDCESA method offers superior benefits in terms of precision and efficiency in optimization. Traditional well placement optimization, which rely on geological modeling and iterative reservoir simulation workflows, typically incur substantial time investments&#x2014;ranging from several days to weeks. In contrast, the MDCESA approach completes the process in a mere fraction of that time, often within minutes to hours.</p>
</sec>
</sec>
<sec sec-type="discussion" id="s4">
<title>4 Discussion</title>
<p>The purpose of this research is to develop a novel methodology for quickly obtaining optimal horizontal well placement during the reservoir development. Currently, the traditional workflow of geologic modeling and reservoir numerical simulation consumes a lot of time and computational costs. The application of artificial intelligence techniques that utilize surrogate models and algorithms optimizing multiple parameters has not been extensively realized in practical reservoir scenarios. The utilization of a reservoir production potential map emerges as an effective instrument for guiding the well design and selection process.</p>
<p>The main advantage of the proposed method in this study is that it can quickly identity reasonable well placements, computational efficiency is substantially improved over conventional methods, and the production performance of screened wells is improved, and this method can serve as an important component in the early-stage or mid-stage of the traditional workflow of modeling and simulation to assist in the planning and selection of well placements.</p>
<p>The development of the MDCESA represents a significant step forward in the field of well placement optimization, particularly in the context of offshore oilfield development. The primary objective of this work was to introduce a method that can efficiently identify the most productive segments for well placement in both 2D and 3D matrices. MDCESA stands out in its ability to consider the distance between multiple segments, thus avoiding intersections or overlaps. This approach redefines well placement optimization, transitioning from heuristic and manual selection processes to a more systematic, algorithm-driven method.</p>
<p>While the results obtained using the MDCESA are promising, it is important to acknowledge certain limitations of this method. Firstly, the algorithm&#x2019;s current form assumes a certain level of uniformity in reservoir characteristics, which may not always be the case in more heterogeneous formations. This could affect the algorithm&#x2019;s applicability in reservoirs with highly variable geological features. Secondly, the MDCESA, in its current iteration, does not explicitly account for operational constraints such as drilling difficulties or economic factors that could influence well placement decisions. Future versions of the algorithm could be enhanced to include these aspects for a more holistic approach to well placement.</p>
<p>In light of these limitations, future research should focus on enhancing the MDCESA to incorporate a broader range of geological and operational variables. Efforts could also be directed towards testing the algorithm&#x2019;s effectiveness in different types of reservoirs and under varying operational conditions.</p>
</sec>
<sec sec-type="conclusion" id="s5">
<title>5 Conclusion</title>
<p>In this study, the Matrix Directional Continuous Elements Summation Algorithm (MDCESA) was developed to determine the segment with the maximum value in the 2D and 3D matrices considering the distance between multiple segments. Subsequently, the reservoir production potential calculation formula was modified, which takes into full consideration the static geological characteristics and the dynamic performance of the reservoir. Finally, we transformed the well placement optimization into segment summation on a 3D matrix, and successfully applied MDCESA to actual offshore reservoir development. Our key findings demonstrate that MDCESA significantly enhances well placement decisions, as evidenced by an 11.6% increase in average cumulative oil production over a 15-year period compared to traditional selection methods. In conclusion, the MDCESA offers a novel and effective solution to well placement challenges in offshore oilfields, with promising implications for the future of oil and gas extraction and reservoir management. The specific conclusions are as follows.<list list-type="simple">
<list-item>
<p>1. The establishment of the Matrix Directional Continuous Elements Summation Algorithm (MDCESA) is designed to identify the segment with the highest summation value for a specified length within 2D or 3D matrices. Furthermore, the algorithm has been enhanced by incorporating a feature that accounts for the distance between multiple segments, effectively preventing any intersection or overlap among them.</p>
</list-item>
<list-item>
<p>2. Modified reservoir production potential calculation formula was developed in this study. Compared to the oil saturation map, the production potential map comprehensively characterizes the potential resource production capacity of the material and energy contained in the reservoir, while considering the effects of static and dynamic parameters of the reservoir. The updated formula, which now includes considerations for fluid viscosity, structural elevation, and oil formation thickness, offers a more pragmatic and comprehensive tool for reservoir evaluation.</p>
</list-item>
<list-item>
<p>3. The process of well placement optimization was redefined as a problem of segment summation within a 3D matrix, and the MDCESA was adeptly employed to locate optimal well positions in an actual offshore reservoir based on the production potential map. Six producers were selected using the MDCESA approach and the production performance of each of these six wells and two previously manually selected producers was calculated by using the reservoir numerical simulator. Comparing the 15-year cumulative oil production of these wells, the newly selected wells demonstrated an 11.6% increase in average cumulative oil production over the previously selected wells.</p>
</list-item>
</list>
</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s6">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/supplementary material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s7">
<title>Author contributions</title>
<p>RH: Conceptualization, Investigation, Methodology, Validation, Writing&#x2013;original draft. KW: Conceptualization, Supervision, Writing&#x2013;review and editing. LL: Supervision, Writing&#x2013;review and editing. MX: Supervision, Writing&#x2013;review and editing. JD: Supervision, Writing&#x2013;review and editing. SF: Supervision, Writing&#x2013;review and editing. SL: Visualization, Writing&#x2013;review and editing.</p>
</sec>
<sec id="s8">
<title>Funding</title>
<p>The author(s) declare financial support was received for the research, authorship, and/or publication of this article. This research was funded by China National Offshore Oil Corporation (CNOOC) Major Science and Technology Project in the 14th Five-Year Plan (Grant No: CNOOC-KJGG2022-0701), and CNOOC (China) Limited Comprehensive Research Project &#x201c;Key Technology Research for Production Increase of 20 Million Tons in Eastern South China Sea Oilfields&#x201d; (Grant No: CNOOC-KJ135 ZDXM37SZ03SZ).</p>
</sec>
<ack>
<p>The authors gratefully acknowledge the support of Nanhai East Petroleum Research Institute. The authors also thank the reviewers for their valuable comments.</p>
</ack>
<sec sec-type="COI-statement" id="s9">
<title>Conflict of interest</title>
<p>Authors RH, KW, LL, MX, JD, SF, and SL were employed by Shenzhen Branch of CNOOC Limited.</p>
<p>The authors declare that this study received funding from Shenzhen Branch of CNOOC Limited. The funder was not involved in the study design, collection, analysis, interpretation of data, the writing of this article, or the decision to submit it for publication.</p>
</sec>
<sec sec-type="disclaimer" id="s10">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Agada</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Geiger</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Toigulova</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Agar</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Shekhar</surname>
<given-names>R.</given-names>
</name>
<etal/>
</person-group> (<year>2014</year>). <article-title>Numerical simulation of fluid-flow processes in a 3D high-resolution carbonate reservoir analogue</article-title>. <source>Pet. Geosci.</source> <volume>20</volume>, <fpage>125</fpage>&#x2013;<lpage>142</lpage>. <pub-id pub-id-type="doi">10.1144/petgeo2012-096</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Al-Fadhli</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Kurma</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Kovyazin</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Muhammad</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). &#x201c;<article-title>Modeling and simulation to produce thin layers of remaining oil using downhole water sink technique for improved oil recovery. A case study in greater burgan field</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Middle East Oil and Gas Show and Conference</conf-name>, <conf-loc>Manama, Bahrain</conf-loc>, <conf-date>March, 2019</conf-date>. <pub-id pub-id-type="doi">10.2118/194839-MS</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Arouri</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Echeverr&#xed;a Ciaurri</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Sayyafzadeh</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>A study of simulation-based surrogates in well-placement optimization for hydrocarbon production</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>216</volume>, <fpage>110639</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2022.110639</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="web">
<person-group person-group-type="author">
<name>
<surname>Badru</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Well-placement optimization using the quality map approach</article-title>. <comment>Available at: <ext-link ext-link-type="uri" xlink:href="http://pangaea.stanford.edu/ERE/pdf/pereports/MS/Badru03.pdf">http://pangaea.stanford.edu/ERE/pdf/pereports/MS/Badru03.pdf</ext-link> (Accessed October 27, 2023)</comment>.</citation>
</ref>
<ref id="B5">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Badru</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Kabir</surname>
<given-names>C. S.</given-names>
</name>
</person-group> (<year>2003</year>). &#x201c;<article-title>Well placement optimization in field development</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Annual Technical Conference and Exhibition</conf-name>, <conf-loc>Denver, Colorado</conf-loc>, <conf-date>October, 2003</conf-date>. <pub-id pub-id-type="doi">10.2118/84191-MS</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Behrenbruch</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>1993</year>). <article-title>Offshore oilfield development planning</article-title>. <source>J. Petroleum Technol.</source> <volume>45</volume>, <fpage>735</fpage>&#x2013;<lpage>743</lpage>. <pub-id pub-id-type="doi">10.2118/22957-PA</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Geng</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Well placement optimization using an analytical formula-based objective function and cat swarm optimization algorithm</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>157</volume>, <fpage>1067</fpage>&#x2013;<lpage>1083</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2017.08.024</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Well placement optimization for offshore oilfield based on Theil index and differential evolution algorithm</article-title>. <source>J. Petrol Explor Prod. Technol.</source> <volume>8</volume>, <fpage>1225</fpage>&#x2013;<lpage>1233</lpage>. <pub-id pub-id-type="doi">10.1007/s13202-017-0403-6</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2007</year>). <source>Reservoir simulation: mathematical techniques in oil recovery</source>. <publisher-loc>Philadelphia, PA, USA</publisher-loc>: <publisher-name>SIAM/Society for Industrial and Applied Mathematics</publisher-name>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Coats</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>1982</year>). <article-title>Reservoir simulation: state of the art (includes associated papers 11927 and 12290)</article-title>. <source>J. Petroleum Technol.</source> <volume>34</volume>, <fpage>1633</fpage>&#x2013;<lpage>1642</lpage>. <pub-id pub-id-type="doi">10.2118/10020-PA</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>da Cruz</surname>
<given-names>P. S.</given-names>
</name>
<name>
<surname>Horne</surname>
<given-names>R. N.</given-names>
</name>
<name>
<surname>Deutsch</surname>
<given-names>C. V.</given-names>
</name>
</person-group> (<year>1999</year>). &#x201c;<article-title>The quality map: a tool for reservoir uncertainty quantification and decision making</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Annual Technical Conference and Exhibition</conf-name>, <conf-loc>Manama, Bahrain</conf-loc>, <conf-date>October, 1999</conf-date>. <pub-id pub-id-type="doi">10.2118/56578-MS</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Da Cruz</surname>
<given-names>P. S.</given-names>
</name>
<name>
<surname>Horne</surname>
<given-names>R. N.</given-names>
</name>
<name>
<surname>Deutsch</surname>
<given-names>C. V.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>The quality map: a tool for reservoir uncertainty quantification and decision making</article-title>. <source>SPE Reserv. Eval. Eng.</source> <volume>7</volume>, <fpage>6</fpage>&#x2013;<lpage>14</lpage>. <pub-id pub-id-type="doi">10.2118/87642-PA</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>De</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Cavalcante Filho</surname>
<given-names>J. S.</given-names>
</name>
</person-group> (<year>2005</year>). &#x201c;<article-title>Methodology for quality map generation to assist with the selection and refinement of production strategies</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Annual Technical Conference and Exhibition</conf-name>, <conf-loc>Dallas, Texas, USA</conf-loc>, <conf-date>October, 2005</conf-date>. <pub-id pub-id-type="doi">10.2118/101940-STU</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Deng</surname>
<given-names>J. M.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>Y. S.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>B.</given-names>
</name>
<etal/>
</person-group> (<year>2010</year>). &#x201c;<article-title>Proactive well placement integrated into a systematical approach enhances productivity in a complex offshore field, Bohai bay</article-title>,&#x201d; in <conf-name>Paper presented at the International Oil and Gas Conference and Exhibition in China</conf-name>, <conf-loc>Beijing, China</conf-loc>, <conf-date>June, 2010</conf-date>. <pub-id pub-id-type="doi">10.2118/131133-MS</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jiang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Optimization of well placement by combination of a modified particle swarm optimization algorithm and quality map method</article-title>. <source>Comput. Geosci.</source> <volume>18</volume>, <fpage>747</fpage>&#x2013;<lpage>762</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-014-9422-2</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ding</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Lu</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Xi</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Well placement optimization using direct mapping of productivity potential and threshold value of productivity potential management strategy</article-title>. <source>Comput. Chem. Eng.</source> <volume>121</volume>, <fpage>327</fpage>&#x2013;<lpage>337</lpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2018.11.013</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Dumkwu</surname>
<given-names>F. A.</given-names>
</name>
<name>
<surname>Islam</surname>
<given-names>A. W.</given-names>
</name>
<name>
<surname>Carlson</surname>
<given-names>E. S.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Review of well models and assessment of their impacts on numerical reservoir simulation performance</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>82</volume> (<issue>83</issue>), <fpage>174</fpage>&#x2013;<lpage>186</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2011.12.005</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Ertekin</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Abou-Kassem</surname>
<given-names>J. H.</given-names>
</name>
<name>
<surname>King</surname>
<given-names>G. R.</given-names>
</name>
</person-group> (<year>2001</year>). <source>Basic applied reservoir simulation</source>. <publisher-loc>Richardson, TX, USA</publisher-loc>: <publisher-name>Society of Petroleum Engineers</publisher-name>.</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Foroud</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Seifi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Hassani</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2012</year>). <article-title>Surrogate-based optimization of horizontal well placement in a mature oil reservoir</article-title>. <source>Petroleum Sci. Technol.</source> <volume>30</volume>, <fpage>1091</fpage>&#x2013;<lpage>1101</lpage>. <pub-id pub-id-type="doi">10.1080/10916466.2010.519751</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Forouzanfar</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Reynolds</surname>
<given-names>A. C.</given-names>
</name>
</person-group> (<year>2010</year>). &#x201c;<article-title>A two-stage well placement optimization method based on adjoint gradient</article-title>,&#x201d; in <conf-name>SPE Annual Technical</conf-name>, <conf-loc>Florence, Italy</conf-loc>, <conf-date>September, 2010</conf-date>. <pub-id pub-id-type="doi">10.2118/135304-MS</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Grossmann</surname>
<given-names>I. E.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Development planning of offshore oilfield infrastructure</article-title>,&#x201d; in <source>Alternative energy sources and technologies: process design and operation</source>. Editor <person-group person-group-type="editor">
<name>
<surname>Mart&#xed;n</surname>
<given-names>M.</given-names>
</name>
</person-group> (<publisher-loc>Cham, Germany</publisher-loc>: <publisher-name>Springer International Publishing</publisher-name>), <fpage>33</fpage>&#x2013;<lpage>87</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-28752-2_3</pub-id>
</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gupta</surname>
<given-names>V.</given-names>
</name>
<name>
<surname>Grossmann</surname>
<given-names>I. E.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Offshore oilfield development planning under uncertainty and fiscal considerations</article-title>. <source>Optim. Eng.</source> <volume>18</volume>, <fpage>3</fpage>&#x2013;<lpage>33</lpage>. <pub-id pub-id-type="doi">10.1007/s11081-016-9331-4</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hamida</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Azizi</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Saad</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>An efficient geometry-based optimization approach for well placement in oil fields</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>149</volume>, <fpage>383</fpage>&#x2013;<lpage>392</lpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2016.10.055</pub-id>
</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Harb</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Kassem</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Ghorayeb</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Black hole particle swarm optimization for well placement optimization</article-title>. <source>Comput. Geosci.</source> <volume>24</volume>, <fpage>1979</fpage>&#x2013;<lpage>2000</lpage>. <pub-id pub-id-type="doi">10.1007/s10596-019-09887-8</pub-id>
</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Islam</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Vasant</surname>
<given-names>P. M.</given-names>
</name>
<name>
<surname>Negash</surname>
<given-names>B. M.</given-names>
</name>
<name>
<surname>Laruccia</surname>
<given-names>M. B.</given-names>
</name>
<name>
<surname>Myint</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Watada</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A holistic review on artificial intelligence techniques for well placement optimization problem</article-title>. <source>Adv. Eng. Softw.</source> <volume>141</volume>, <fpage>102767</fpage>. <pub-id pub-id-type="doi">10.1016/j.advengsoft.2019.102767</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Kazemi</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Merrill</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Porterfield</surname>
<given-names>K. L.</given-names>
</name>
<name>
<surname>Zeman</surname>
<given-names>P. R.</given-names>
</name>
</person-group> (<year>1976</year>). <article-title>Numerical simulation of water-oil flow in naturally fractured reservoirs</article-title>. <source>Soc. Petroleum Eng. J.</source> <volume>16</volume>, <fpage>317</fpage>&#x2013;<lpage>326</lpage>. <pub-id pub-id-type="doi">10.2118/5719-PA</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Li</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Deng</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>A systematic technique of production forecast for fractured vuggy carbonate gas condensate reservoirs</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Kingdom of Saudi Arabia Annual Technical Symposium and Exhibition</conf-name>, <conf-loc>Dammam, Saudi Arabia</conf-loc>, <conf-date>April, 2016</conf-date>. <pub-id pub-id-type="doi">10.2118/182776-MS</pub-id>
</citation>
</ref>
<ref id="B28">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Jalali</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2006</year>). &#x201c;<article-title>Closing the loop between reservoir modeling and well placement and positioning</article-title>,&#x201d; in <conf-name>Paper presented at the Intelligent Energy Conference and Exhibition</conf-name>, <conf-loc>Amsterdam, The Netherlands</conf-loc>, <conf-date>April, 2006</conf-date>. <pub-id pub-id-type="doi">10.2118/98198-MS</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Sheng</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Andy Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhou</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>A rapid waterflooding optimization method based on INSIM-FPT data-driven model and its application to three-dimensional reservoirs</article-title>. <source>Fuel</source> <volume>292</volume>, <fpage>120219</fpage>. <pub-id pub-id-type="doi">10.1016/j.fuel.2021.120219</pub-id>
</citation>
</ref>
<ref id="B30">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Matth&#xe4;i</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>Geiger</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Roberts</surname>
<given-names>S. G.</given-names>
</name>
<name>
<surname>Paluszny</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Belayneh</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Burri</surname>
<given-names>A.</given-names>
</name>
<etal/>
</person-group> (<year>2007</year>). <article-title>Numerical simulation of multi-phase fluid flow in structurally complex reservoirs</article-title>. <source>SP</source> <volume>292</volume>, <fpage>405</fpage>&#x2013;<lpage>429</lpage>. <pub-id pub-id-type="doi">10.1144/SP292.22</pub-id>
</citation>
</ref>
<ref id="B31">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Miyagi</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>akimoto</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yamamoto</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Well placement optimization for carbon dioxide capture and storage via CMA-ES with mixed integer support</article-title>,&#x201d; in <conf-name>Proceedings of the Genetic and Evolutionary Computation Conference Companion GECCO &#x2019;18</conf-name>, <conf-loc>New York, NY, USA</conf-loc>, <conf-date>July, 2018</conf-date>, <fpage>1696</fpage>&#x2013;<lpage>1703</lpage>. <pub-id pub-id-type="doi">10.1145/3205651.3205706</pub-id>
</citation>
</ref>
<ref id="B32">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moolya</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Rodr&#xed;guez-Mart&#xed;nez</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Grossmann</surname>
<given-names>I. E.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Optimal producer well placement and multiperiod production scheduling using surrogate modeling</article-title>. <source>Comput. Chem. Eng.</source> <volume>165</volume>, <fpage>107941</fpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2022.107941</pub-id>
</citation>
</ref>
<ref id="B33">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nasir</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Yu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Sepehrnoori</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Hybrid derivative-free technique and effective machine learning surrogate for nonlinear constrained well placement and production optimization</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>186</volume>, <fpage>106726</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2019.106726</pub-id>
</citation>
</ref>
<ref id="B34">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Peaceman</surname>
<given-names>D. W.</given-names>
</name>
</person-group> (<year>2000</year>). <source>Fundamentals of numerical reservoir simulation</source>. <publisher-loc>Amsterdam, Netherlands</publisher-loc>: <publisher-name>Elsevier</publisher-name>.</citation>
</ref>
<ref id="B35">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Peng</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Rao</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhao</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhong</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>A proxy model to predict reservoir dynamic pressure profile of fracture network based on deep convolutional generative adversarial networks (DCGAN)</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>208</volume>, <fpage>109577</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2021.109577</pub-id>
</citation>
</ref>
<ref id="B36">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Pouladi</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Keshavarz</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Sharifi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Ahmadi</surname>
<given-names>M. A.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A robust proxy for production well placement optimization problems</article-title>. <source>Fuel</source> <volume>206</volume>, <fpage>467</fpage>&#x2013;<lpage>481</lpage>. <pub-id pub-id-type="doi">10.1016/j.fuel.2017.06.030</pub-id>
</citation>
</ref>
<ref id="B37">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Redouane</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zeraibi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Nait Amar</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Automated optimization of well placement via adaptive space-filling surrogate modelling and evolutionary algorithm</article-title>,&#x201d; in <conf-name>Paper presented at the Abu Dhabi International Petroleum Exhibition and Conference</conf-name>, <conf-loc>Abu Dhabi, UAE</conf-loc>, <conf-date>November, 2018</conf-date>. <pub-id pub-id-type="doi">10.2118/193040-MS</pub-id>
</citation>
</ref>
<ref id="B38">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Redouane</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Zeraibi</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Nait Amar</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Adaptive surrogate modeling with evolutionary algorithm for well placement optimization in fractured reservoirs</article-title>. <source>Appl. Soft Comput.</source> <volume>80</volume>, <fpage>177</fpage>&#x2013;<lpage>191</lpage>. <pub-id pub-id-type="doi">10.1016/j.asoc.2019.03.022</pub-id>
</citation>
</ref>
<ref id="B39">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rogner</surname>
<given-names>H.-H.</given-names>
</name>
</person-group> (<year>1997</year>). <article-title>An assessment of world hydrocarbon resources</article-title>. <source>Annu. Rev. Energy Environ.</source> <volume>22</volume>, <fpage>217</fpage>&#x2013;<lpage>262</lpage>. <pub-id pub-id-type="doi">10.1146/annurev.energy.22.1.217</pub-id>
</citation>
</ref>
<ref id="B40">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Salehian</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Haghighat Sefat</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Muradov</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Multi-solution well placement optimization using ensemble learning of surrogate models</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>210</volume>, <fpage>110076</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2021.110076</pub-id>
</citation>
</ref>
<ref id="B41">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tavallali</surname>
<given-names>M. S.</given-names>
</name>
<name>
<surname>Karimi</surname>
<given-names>I. A.</given-names>
</name>
<name>
<surname>Teo</surname>
<given-names>K. M.</given-names>
</name>
<name>
<surname>Baxendale</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ayatollahi</surname>
<given-names>Sh.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Optimal producer well placement and production planning in an oil reservoir</article-title>. <source>Comput. Chem. Eng.</source> <volume>55</volume>, <fpage>109</fpage>&#x2013;<lpage>125</lpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2013.04.002</pub-id>
</citation>
</ref>
<ref id="B42">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Taware</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Park</surname>
<given-names>H.-Y.</given-names>
</name>
<name>
<surname>Datta-Gupta</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Bhattacharya</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Tomar</surname>
<given-names>A. K.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>M.</given-names>
</name>
<etal/>
</person-group> (<year>2012</year>). &#x201c;<article-title>Well placement optimization in a mature carbonate waterflood using streamline-based quality maps</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Oil and Gas India Conference and Exhibition</conf-name>, <conf-loc>Mumbai, India</conf-loc>, <conf-date>March, 2012</conf-date>. <pub-id pub-id-type="doi">10.2118/155055-MS</pub-id>
</citation>
</ref>
<ref id="B43">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>van Vark</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Masalmeh</surname>
<given-names>S. K.</given-names>
</name>
<name>
<surname>van Dorp</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Al Nasr</surname>
<given-names>M. A.</given-names>
</name>
<name>
<surname>Al-Khanbashi</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2004</year>). &#x201c;<article-title>Simulation study of miscible gas injection for enhanced oil recovery in low permeable carbonate reservoirs in abu dhabi</article-title>,&#x201d; in <conf-name>Paper presented at the Abu Dhabi International Conference and Exhibition</conf-name>, <conf-loc>Abu Dhabi, United Arab Emirates</conf-loc>, <conf-date>October, 2004</conf-date>. <pub-id pub-id-type="doi">10.2118/88717-MS</pub-id>
</citation>
</ref>
<ref id="B44">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Estefen</surname>
<given-names>S. F.</given-names>
</name>
<name>
<surname>Louren&#xe7;o</surname>
<given-names>M. I.</given-names>
</name>
<name>
<surname>Hong</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Optimal design and scheduling for offshore oil-field development</article-title>. <source>Comput. Chem. Eng.</source> <volume>123</volume>, <fpage>300</fpage>&#x2013;<lpage>316</lpage>. <pub-id pub-id-type="doi">10.1016/j.compchemeng.2019.01.005</pub-id>
</citation>
</ref>
<ref id="B45">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Wei</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zheng</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>B.</given-names>
</name>
</person-group> (<year>2017</year>). &#x201c;<article-title>A comprehensive reservoir characterization and water flooding optimization for different types of reservoir &#x2013; case study of a giant carbonate reservoir in the Middle East</article-title>,&#x201d; in <conf-name>Paper presented at the SPE Symposium: Production Enhancement and Cost Optimisation</conf-name>, <conf-loc>Kuala Lumpur, Malaysia</conf-loc>, <conf-date>November, 2017</conf-date>. <pub-id pub-id-type="doi">10.2118/189236-MS</pub-id>
</citation>
</ref>
<ref id="B46">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Lashgari</surname>
<given-names>H. R.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Sepehrnoori</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>CO2 injection for enhanced oil recovery in Bakken tight oil reservoirs</article-title>. <source>Fuel</source> <volume>159</volume>, <fpage>354</fpage>&#x2013;<lpage>363</lpage>. <pub-id pub-id-type="doi">10.1016/j.fuel.2015.06.092</pub-id>
</citation>
</ref>
<ref id="B47">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Ma</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Yang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>The prediction of reservoir production based proxy model considering spatial data and vector data</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>208</volume>, <fpage>109694</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2021.109694</pub-id>
</citation>
</ref>
<ref id="B48">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhong</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Xue</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Qi</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Yao</surname>
<given-names>C.</given-names>
</name>
<etal/>
</person-group> (<year>2022</year>). <article-title>Surrogate-reformulation-assisted multitasking knowledge transfer for production optimization</article-title>. <source>J. Petroleum Sci. Eng.</source> <volume>208</volume>, <fpage>109486</fpage>. <pub-id pub-id-type="doi">10.1016/j.petrol.2021.109486</pub-id>
</citation>
</ref>
<ref id="B49">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zou</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Zhai</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>J.</given-names>
</name>
<etal/>
</person-group> (<year>2015</year>). <article-title>Formation, distribution, potential and prediction of global conventional and unconventional hydrocarbon resources</article-title>. <source>Petroleum Explor. Dev.</source> <volume>42</volume>, <fpage>14</fpage>&#x2013;<lpage>28</lpage>. <pub-id pub-id-type="doi">10.1016/S1876-3804(15)60002-7</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>