Patent Description:
<CIT> describes a method for drilling closely spaced wells comprising: drilling a second well using magnetic ranging to control a distance between the second well and a first well; and drilling a third well using magnetic ranging to control a distance between the third well and the first and second wells.

The present invention resides in a computer-implemented method of determining trajectories for a plurality of wells while avoiding collision between wells as defined in claim <NUM>. Preferred embodiments are defined in claims <NUM> to <NUM>. In a further aspect, the present invention resides in a computer system for determining trajectories for a plurality of wells while avoiding collision between wells as defined in claim <NUM>.

The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate examples of the present teachings and together with the description, serve to explain the principles of the present teachings. In the figures:.

The following detailed description refers to the accompanying drawings. Wherever convenient, the same reference numbers are used in the drawings and the following description to refer to the same or similar parts.

Some examples provide techniques for finding directions and distances for nudge operations for well trajectories. Some examples utilize an analytic geometric model defined in three-dimensional space to find nudge solutions quickly. The algorithm complexity may not be larger than O(n), where n is the number of trajectories to be designed. Examples may be applied to several situations of well trajectory design, including:.

The input for some examples includes the basic information used for trajectory design, e.g., surface locations of planning well trajectories and offset well trajectory data, well path and well placement, uncertainty information, etc. According to some examples, the input information includes the well surface locations and information sufficient to determine zones of uncertainty for each well trajectory. The output of some examples includes a set of recommended collision-free nudging vectors (i.e., azimuth direction and distance). Such vectors may be selected with respect to anti-collision nudge direction and distance in three-dimensional space. As described in detail herein, the gradients of a quantitative separation factor may be used for such optimization. A reduction to practice has been constructed and successfully tested.

<FIG> illustrates an oilfield <NUM> in accordance with implementations of various technologies and techniques described herein. As shown, the oilfield has a plurality of wellsites <NUM> operatively connected to central processing facility <NUM>. The oilfield configuration of <FIG> is not intended to limit the scope of the anti-collision trajectory design techniques disclosed herein. Part, or all, of the oilfield may be on land and/or sea. Also, while a single oilfield with a single processing facility and a plurality of wellsites is depicted, any combination of one or more oilfields, one or more processing facilities and one or more wellsites may be present.

Wellsites <NUM> have equipment that forms wellbores <NUM> into the earth. The wellbores <NUM> may extend through subterranean formations <NUM>, including reservoirs <NUM>.

The placement of wellsites <NUM> and the trajectories of their wellbores <NUM> may be designed using examples disclosed herein. Such design may be performed automatically using electronic computer equipment, and the trajectories may be ensured to be collision-free. Examples are expected to shorten the period of the entire well planning process. Traditionally, when dealing with multiple-trajectory design and considering the anti-collision issue, a difficult part is the very time-consuming testing by a well path designer. Examples may expedite the well design process, and the results may be implemented directly so as to benefit the planning process.

<FIG> illustrates an ellipse <NUM> and pedal curve <NUM> representing a zone of uncertainty according to some examples disclosed herein. In general, when drilling a well, the borehole may deviate from its expected position. To quantify such deviation, examples may consider zones of uncertainty, which specify a range of locations for the actual position of the borehole. Zones of uncertainty may be considered as, for example, three-dimensional ellipsoids, two-dimensional ellipses, or two-dimensional pedal curves of ellipses. The three-dimensional ellipsoids may have their major axes perpendicular to the wellbore direction. The ellipses and pedal curves may lie in a two-dimensional plane parallel with the surface, again with their major axes perpendicular to the wellbore direction. The three-dimensional ellipsoids may be projected onto two-dimensional planes, e.g., parallel to the surface, to derive two-dimensional ellipses of uncertainty.

Ellipse <NUM> and pedal curve <NUM> may be determined for a borehole <NUM> through the origin (<NUM>,<NUM>) and perpendicular to the page. Ellipse <NUM> of <FIG> may be expressed as an algebraic equation, by way of non-limiting example, <MAT>, where (x, y) is a point on the ellipse, a represents the semi-major axis length, and b represents the semi-minor axis length. Pedal curve <NUM> for ellipse <NUM> may be expressed as, by way of non-limiting example, (x<NUM> + y<NUM>)<NUM> = a<NUM>x<NUM> + b<NUM>y<NUM>, with the same parameters. Ellipses and pedal curves that are not centered at the origin and which axes are not parallel or perpendicular to the x and y axes may utilize different equations.

Examples may use zones of uncertainty to determine separation factors, described presently.

<FIG> illustrates a surface <NUM> representing separation factor values corresponding to well locations according to some examples disclosed herein. There are several metrics for collision risk in well trajectories, e.g., Separation Factor (SF), Oriented Separation Factor (OSF), etc. Herein, each such metric is referred to as a "separation factor". As separation factor values get larger, the collision risk gets smaller. Thus, as shown in <FIG>, the height of surface <NUM> depicts the separation factor between an offset well at the origin (<NUM>, <NUM>) <NUM> and a primary well at a corresponding position on the xy-plane.

Separation factors may be defined as mathematical functions of spatial distance and well placement uncertainty. Thus, separation factors may be defined in part using ellipsoids, projected ellipses, ellipse-based pedal curves, or any other zones of uncertainty. For example, the separation factor for two wells with known ellipses of uncertainty at a location along their wellbores in a horizontal plane may be determined as the distance between the wellbore centers divided by the sum of (<NUM>) the distance between the first well's center and the point on its respective ellipse of uncertainty (or corresponding pedal curve) that lies on a line connecting the wellbore centers and (<NUM>) the distance between the second well's center and the point on its respective ellipse of uncertainty (or corresponding pedal curve) that lies on the line connecting the wellbore centers. Other formulas are possible. For example, for wellbores with known ellipsoids of uncertainty, such ellipsoids may be projected onto the horizontal plane to form ellipses, and the preceding formula may be used.

Some examples utilize a separation factor as a measurement for the collision issue. In particular, some examples utilize a gradient of a separation factor, as shown and described presently in reference to <FIG>.

<FIG> illustrates nudge directions for wells <NUM>, <NUM> according to some examples disclosed herein. In particular, relative to offset well <NUM> at the origin, <FIG> depicts a vector field representing a gradient of a separation factor for primary wells <NUM>, <NUM> at various locations in the field. For primary well <NUM>, vector <NUM> indicates a direction in which the separation factor relative to offset well <NUM> diminishes the fastest, which may be used as a nudge direction according to various examples. Likewise, for primary well <NUM>, vector <NUM> indicates the direction of maximal separation factor decrease relative to offset well <NUM>. Vector <NUM> may thus be used for a nudge direction according to various examples. Contour lines in <FIG> mark locations at which a separation factor, here an oriented separation factor, is equal to thresholds <NUM> and <NUM>.

<FIG> illustrates a nudged well trajectory <NUM> according to some examples disclosed herein. In particular, <FIG> depicts offset well <NUM> with wellsite at location A on the surface and subject well <NUM> with wellsite at location B on the surface. Both original trajectory <NUM> and nudged trajectory <NUM> of subject well <NUM> are shown. Original trajectory <NUM> is associated with three-dimensional ellipsoid of uncertainty <NUM> and its two-dimensional projected ellipse of uncertainty <NUM>. Nudged trajectory <NUM> is associated with three-dimensional ellipsoid of uncertainty <NUM> and its two-dimensional projected ellipse <NUM>. Ellipsoid of uncertainty <NUM> for offset well <NUM> and ellipsoid of uncertainty <NUM> for original trajectory <NUM> of subject well <NUM> intersect, indicating that the trajectories may collide. Ellipsoid of uncertainty <NUM> for nudged trajectory <NUM> does not intersect ellipsoid of uncertainty <NUM> for offset well, indicating that their respective trajectories are collision free. Nudge vector <NUM> indicates the direction (e.g., azimuth direction) and magnitude (e.g., distance) of the nudge used to obtain nudged trajectory <NUM> from original trajectory <NUM>. Examples may be used to obtain nudge vector <NUM> for avoiding collision between the trajectories of wells <NUM>, <NUM>.

<FIG> is a flow diagram of a method <NUM> for determining trajectories for a plurality of wells while avoiding collisions between wells according to some examples disclosed herein. Method <NUM> may be implemented using processor system <NUM> as shown and described below in reference to <FIG>.

In general, method <NUM> operates iteratively as follows. Initially, assign the spatial locations of the trajectories to be nudged, and calculate the corresponding separation factors and their gradients give the zones of uncertainty. For the iteration, the nudge positions are calculated by a vector sum of the gradients (nudge vectors) that enlarge the separation factor the most and with smallest displacement. At each iteration, the collision risk for each trajectory is checked. When the separation factor value reaches a predetermined threshold (e.g., between <NUM> and <NUM>), the corresponding nudge position are stored temporarily and not updated. As the iteration progresses, the global separation factor value is also checked. Once the global separation factor value gets larger than the predetermined threshold or the process reaches a predetermined maximum number of iterations, method <NUM> stops and returns the results (e.g., the nudge vectors).

Turning specifically to method <NUM> as depicted in <FIG>, at <NUM>, method <NUM> obtains draft (e.g., initial) trajectories for an offset well and one or more subject wells. Method <NUM> may obtain such trajectories by acquiring them from offset well libraries, well planning software, records of drilling equipment, or by manual entry by a user, for example. The draft trajectories may be acquired in terms of the spatial locations of trajectory to be nudged.

At <NUM>, method <NUM> performs a separation factor calculation. In order to do so, method <NUM> determines a zone of uncertainty for the offset well and each subject well. Then, according to the current trajectory (e.g., the draft trajectory for the first iteration), method <NUM> calculates separation factors for each pair of wells.

In more detail, a separation factor (here an oriented separation factor) for an offset well located by way of non-limiting example at (<NUM>,<NUM>) and a primary well located by way of non-limiting example at (x, y) may be calculated as follows. On the horizontal plain, the respective ellipses of uncertainty may be described by their semi-major axes, semi-minor axes, and the angles between the major axis and the eastern direction (or northern direction). Denote α the angle between the semi-major axis of the primary well and the eastern (e.g., positive x-axis) direction, and denote β the angle between the semi-major axis of the offset well and the eastern (e.g., positive x-axis) direction. Denote a<NUM> the length of the semi-major axis, and denote b<NUM> the length of the semi-minor axis, of the ellipse of uncertainty (which may be a projection of an ellipsoid of uncertainty) for the offset well. Denote a<NUM> the length of the semi-major axis, and denote b<NUM> the length of the semi-minor axis, of the ellipse of uncertainty (which may be a projection of an ellipsoid of uncertainty) for the primary well. Then the separation factor may be determined, by way of non-limiting example, as: <MAT> The parameters in Equation (<NUM>) are as follows: <MAT> <MAT> <MAT> <MAT> <MAT> <MAT> <MAT>.

At <NUM>, method <NUM> checks whether a collision is predicted. To do so, method <NUM> may determine local separation factors for each well as an initial step. Herein, a local separation factor for a particular well is the minimum separation factor among separation factors for each pair of wells that include the particular well. That is, the local separation factor for a particular well is the minimum separation factor for the particular well and any other well. Also at <NUM>, method <NUM> determines a global separation factor for the wells. Herein, a global separation factor for the plurality of wells is the minimum separation factor relative to any pair of wells among the plurality of wells. The global separation factor may be calculated directly or derived as a minimum among all local separation factors, in examples for which local separation factors are determined. Method <NUM> proceeds to check whether the global separation factor exceeds a predetermined threshold. Example suitable thresholds include <NUM>, <NUM>, etc. If the global separation factor exceeds the threshold, then control passes to <NUM>. Otherwise, if the global separation factor does not exceed the threshold, then control passes to <NUM>.

At <NUM>, the current nudge positions (e.g., nudge plan or nudge vectors) are output and method <NUM> ends. The nudge positions may be output by display on a computer screen, for example.

At <NUM>, method <NUM> determines analytic gradients of separation factor functions for each pair of wells. This may include projecting ellipsoids of uncertainty for each well onto a horizontal plane and using a corresponding separation factor function relative to the resulting ellipses. The gradient <MAT> at a point (x, y) in the horizontal plane may be determined, by way of non-limiting example, as: <MAT> <MAT> The parameters in Equations (<NUM>) and (<NUM>) are defined above in reference to Equations (<NUM>) - (<NUM>) and as follows: <MAT> <MAT>.

At <NUM>, method <NUM> updates nudge positions for at least one well trajectory. Method <NUM> may store well trajectories in a position matrix according to some examples. Such a position matrix may be in the form of a vector of ordered pairs representing a nudge location, e.g., an azimuth direction and associated distance. At the initial iteration, each ordered pair may be the coordinates of each wellsite. This may be represented as, by way of non-limiting example: <MAT> In Equation (<NUM>), the superscript <NUM> represents the initial (<NUM>-th) iteration, and the subscript i represents the i-th well with wellsite at coordinates <MAT> (for i = <NUM>,. That is, <MAT> represents the surface location on the horizontal plane of the i-th well. The ordered pairs may be updated for iteration t and represented as, by way of non-limiting example: <MAT> Thus, the position matrix for the t-th iteration may be represented as, by way of non-limiting example, the following n×<NUM> matrix: <MAT>.

The nudge positions represented by the position matrix may be updated per <NUM> using a move matrix containing nudge vectors for each well at iteration t. The nudge vector for the i-th well at iteration t may be represented as, by way of non-limiting example: <MAT> In Equation (<NUM>), <MAT> represents the number of wells that have collision issues with the i-th well at iteration t (e.g., as determined per the techniques of <NUM>), and the term <MAT> represents the separation factor gradient for the i-th andj-th wells, which may be represented using Equations (<NUM>) and (<NUM>) as, by way of non-limiting example: <MAT> To update for step t+<NUM>, the move matrix is constructed based on the nudge vector of each well, so that the nudging positions move along the separation factor increasing direction. Thus, the move matrix may be represented as, by way of non-limiting example: <MAT>.

Thus, the position matrix for step t+<NUM>, Pt+<NUM>, may be determined as a sum of the position matrix from step t, Pt, and the move matrix from step t, ΔPt. In the sum, the move matrix may be scaled by a relax factor α between <NUM> and <NUM> to control the rate of iteration.

Note that if, during an iteration, a nudging position for a given well is "safe" (e.g., the minimum separation factor with other wells is larger than a safe separation factor threshold as determined per <NUM>), then that position may not be updated in the iteration. This is accounted for by the term <MAT> of Equation (<NUM>), which denotes the number of wells that have a collision issue with the i-th well at step t.

After <NUM>, control reverts to <NUM>. The iteration may continue until no collision issue is detected at <NUM>, or a predetermined number of iteration steps have been completed, whichever occurs first, according to some examples.

<FIG> illustrates initial surface locations of a plurality of wells <NUM> on a pad according to some examples disclosed herein. In particular, <FIG> depicts an example use case for examples, namely, pad design for multiple wells. As shown, there are eight wells <NUM> in line, and their zones of uncertainty <NUM> (here, pedal curves) intersect with each other. Thus, a trajectory nudge scheme is needed.

<FIG> illustrates nudge locations for the wells <NUM> of <FIG> according to some examples disclosed herein. As shown, nudge positions <NUM> represent optimized locations where the trajectories should be nudged to for collision free trajectories (e.g., with separation factors larger than certain threshold) with minimum displacements for the wells <NUM>. Note that the zones of uncertainty <NUM> (here, pedal curves) for the nudged trajectories do not intersect.

<FIG> illustrates planned trajectory changes based on the nudge locations of <FIG> according to some examples disclosed herein. Thus, <FIG> depicts the surface positions of wells <NUM> and the associated nudge positions <NUM>. Note that the original vertical segments, e.g., <NUM>, are diverted to planed trajectories, e.g., <NUM>, based on the nudge positions <NUM>.

<FIG> illustrates local separation factors <NUM> for a plurality of wells <NUM> throughout an iteration of a method for determining collision-avoiding trajectories for the wells according to some examples disclosed herein. The local separation factors <NUM> for wells <NUM> may be as described above in reference to <NUM> of method <NUM>, that is, the local separation factor for a particular well is the minimum separation factor for the particular well and any other well. Note that the local separation factors <NUM> generally increase as the iterations progress. Note that in particular, the local separation factor for well <NUM> exceeds the predetermined separation factor threshold of <NUM> in iterations <NUM> through <NUM>. Therefore, the corresponding nudge position <NUM> is not updated in iterations <NUM>-<NUM>.

<FIG> illustrates a technique for directing wells to one or more target locations <NUM> according to some examples disclosed herein. In particular, method <NUM> of <FIG> may be adapted to both avoid collisions between wells and direct one or more trajectories to a selected target, e.g., at target location <NUM>. During the iteration, the effect of the target locations <NUM> may be accounted for, because shortening the trajectory to the targets typically reduces unnecessary costs. Method <NUM> may be adapted by adding small push vectors <NUM> that direct the trajectories toward the target <NUM>. Such push vectors <NUM> may be added to the nudge vectors <NUM>, e.g., by adapting Equation (<NUM>).

In more detail, method <NUM> may be adapted to direct trajectories to one or more targets as follows. Initially, identify the underground target location(s) and their projection(s) on the surface. Next, according to some examples, the surface projection of the nearest target to the wellsites are selected. According to other examples, the nearest target might not be the best choice for the first the target selection, however, selecting the nearest target is likely the most common. Next, for each target surface location <NUM>, as shown in <FIG>, in each iteration step of method <NUM>, add each target oriented push vector <NUM> to its respective nudge vector <NUM> to obtain target-adjusted vectors <NUM>. The target-adjusted vectors <NUM> are then used as a new force to separate nudge positions. The following equations may be used to formalize this process. The target-induced push vectors Vt are calculated by scaling vector differences from current positions p of the nudges to the target position(s) pt. This scaling process may be represented as follows, by way of non-limiting example: <MAT> In Equation (<NUM>), Vt represents the target-induced push vectors, p represents current nudge positions, and pt represents the target position(s). Equation (<NUM>) may be adapted by adding the target-induced push vector of Equation (<NUM>), which may be represented as follows, by way of non-limiting example: <MAT> In Equation (<NUM>), the parameters are as described above in reference to Equations (<NUM>) and (<NUM>). Thus, employing method <NUM> with Equation (<NUM>) substituted for Equation (<NUM>) may be used to determine trajectories for a plurality of wells while directing trajectories to one or more targets and avoiding collisions between wells.

<FIG> illustrates surface locations of a plurality of wells <NUM> and a plurality of obstacles <NUM> according to some examples disclosed herein. According to some examples, the disclosed technique for determining trajectories for a plurality of wells while avoiding collision between wells may be adapted to avoid underground obstacles, e.g., obstacles <NUM>. Any of a variety of obstacles may be avoided, including geological faults, anti-targets, etc. To do so, method <NUM> is adapted for collisions between the trajectories and the obstacles. The obstacles may be associated with zones of uncertainty <NUM>, which may be utilized for determining separation factors and gradients e.g., as disclosed in reference to Equations (<NUM>)-(<NUM>). The zones of uncertainty <NUM> may be regularly shaped, e.g., circular, such that the calculations are relatively simple. Further, in method <NUM>, the locations of obstacles <NUM> and zones of uncertainty <NUM> are held constant throughout the iteration. With these changes, method <NUM> is adapted to avoid obstacles while determining trajectories for a plurality of wells while avoiding collision between the wells.

<FIG> illustrates nudge positions <NUM> that avoid collisions and obstacles for the wells <NUM> of <FIG>. That is, <FIG> depicts the results of applying method <NUM> adapted as described above in reference to <FIG> to wells <NUM> and obstacles <NUM>. The resulting nudge positions <NUM> both avoid collisions between wells <NUM> and avoid obstacles <NUM>.

<FIG> illustrates a schematic view of a computing or processor system <NUM> for implementing one or more examples of the methods disclosed herein. The processor system <NUM> may include one or more processors <NUM> of varying core configurations (including multiple cores) and clock frequencies. The one or more processors <NUM> may be operable to execute instructions, apply logic, etc. It will be appreciated that these functions may be provided by multiple processors or multiple cores on a single chip operating in parallel and/or communicably linked together. In at least one example, the one or more processors <NUM> may be or include one or more GPUs.

The processor system <NUM> may also include a memory system, which may be or include one or more memory devices and/or computer-readable media <NUM> of varying physical dimensions, accessibility, storage capacities, etc. such as flash drives, hard drives, disks, random access memory, etc., for storing data, such as images, files, and program instructions for execution by the processor <NUM>. In an example, the computer-readable media <NUM> may store instructions that, when executed by the processor <NUM>, are configured to cause the processor system <NUM> to perform operations. For example, execution of such instructions may cause the processor system <NUM> to implement one or more portions and/or examples of the method(s) described above, e.g., the methods of <FIG> and/or <NUM>.

The processor system <NUM> may also include one or more network interfaces <NUM>. The network interfaces <NUM> may include any hardware, applications, and/or other software. Accordingly, the network interfaces <NUM> may include Ethernet adapters, wireless transceivers, PCI interfaces, and/or serial network components, for communicating over wired or wireless media using protocols, such as Ethernet, wireless Ethernet, etc..

As an example, the processor system <NUM> may be a mobile device that includes one or more network interfaces for communication of information. For example, a mobile device may include a wireless network interface (e.g., operable via one or more IEEE <NUM> protocols, ETSI GSM, BLUETOOTH®, satellite, etc.). As an example, a mobile device may include components such as a main processor, memory, a display, display graphics circuitry (e.g., optionally including touch and gesture circuitry), a SIM slot, audio/video circuitry, motion processing circuitry (e.g., accelerometer, gyroscope), wireless LAN circuitry, smart card circuitry, transmitter circuitry, GPS circuitry, and a battery. As an example, a mobile device may be configured as a cell phone, a tablet, etc. As an example, a method may be implemented (e.g., wholly or in part) using a mobile device. As an example, a system may include one or more mobile devices.

The processor system <NUM> may further include one or more peripheral interfaces <NUM>, for communication with a display, projector, keyboards, mice, touchpads, sensors, other types of input and/or output peripherals, and/or the like. In some implementations, the components of processor system <NUM> need not be enclosed within a single enclosure or even located in close proximity to one another, but in other implementations, the components and/or others may be provided in a single enclosure. As an example, a system may be a distributed environment, for example, a so-called "cloud" environment where various devices, components, etc. interact for purposes of data storage, communications, computing, etc. As an example, a method may be implemented in a distributed environment (e.g., wholly or in part as a cloud-based service).

As an example, information may be input from a display (e.g., a touchscreen), output to a display or both. As an example, information may be output to a projector, a laser device, a printer, etc. such that the information may be viewed. As an example, information may be output stereographically or holographically. As to a printer, consider a 2D or a 3D printer. As an example, a 3D printer may include one or more substances that can be output to construct a 3D object. For example, data may be provided to a 3D printer to construct a 3D representation of a subterranean formation. As an example, layers may be constructed in 3D (e.g., horizons, etc.), geobodies constructed in 3D, etc. As an example, holes, fractures, etc., may be constructed in 3D (e.g., as positive structures, as negative structures, etc.).

The memory device <NUM> may be physically or logically arranged or configured to store data on one or more storage devices <NUM>. The storage device <NUM> may include one or more file systems or databases in any suitable format. The storage device <NUM> may also include one or more software programs <NUM>, which may contain interpretable or executable instructions for performing one or more of the disclosed processes. When requested by the processor <NUM>, one or more of the software programs <NUM>, or a portion thereof, may be loaded from the storage devices <NUM> to the memory devices <NUM> for execution by the processor <NUM>.

Those skilled in the art will appreciate that the above-described componentry is merely one example of a hardware configuration, as the processor system <NUM> may include any type of hardware components, including any accompanying firmware or software, for performing the disclosed implementations. The processor system <NUM> may also be implemented in part or in whole by electronic circuit components or processors, such as application-specific integrated circuits (ASICs) or field-programmable gate arrays (FPGAs).

Claim 1:
A computer-implemented method of determining trajectories for a plurality of primary wells while avoiding collision between wells, the method comprising:
determining a zone of uncertainty for individual wells of the plurality of wells, whereby a plurality of zones of uncertainty are determined;
determining (<NUM>), based on the plurality of zones of uncertainty, a minimum separation factor for an offset well at location (<NUM>,<NUM>) and individual wells of the plurality of primary wells at location (x, y), whereby a plurality of minimum separation factors is determined according to: <MAT> where: <MAT>, <MAT>, α is the angle between the semi-major axis of the primary well and the positive x-axis direction, β is the angle between the semi-major axis of the offset well and the positive x-axis direction, a<NUM> is the length of the semi-major axis, b<NUM> is the length of the semi-minor axis of the ellipse of uncertainty for the offset well, a<NUM> is the length of the semi-major axis and b<NUM> is the length of the semi-minor axis, of the ellipse of uncertainty for the primary well;
determining (<NUM>), based on at least one zone of uncertainty of the plurality of zones of uncertainty, a gradient of a separation factor for at least one pair of wells of the plurality of pairs of wells, whereby at least one separation factor gradient <MAT> is determined at a point (x, y) in the horizontal plane as: <MAT> <MAT> where Mp = Apx<NUM> + Cpxy + Bpy<NUM>, and Mo = Aox<NUM> + Coxy + Boy<NUM>;
updating (<NUM>) a nudge position for at least one well, based on at least one of the at least one separation factor gradient and based on at least one minimum separation factor of the plurality of separation factors; and
providing, based on the updating, nudge positions for the individual wells of the plurality of wells.