The invention generally relates to a system and method for optimizing production from wellbores. In particular, the invention relates to a system and method for optimizing a reservoir model, a well network model in order, and/or a processing plant model to optimize the production from a wellbore.
A reservoir model is a mathematical representation of the subsurface, structures, fluids, and wells that can be used to carry out dynamic predictions of reservoir and fluid behavior. Reservoir models are typically used in the oil and gas industry to simulate reservoir and relevant fluid behavior given a set of input parameters. Often, simulations run based on reservoir models are optimized to provide an output that is maximized in relation to an objective function, such as maximizing profits or production.
A well network model is a nodal analysis model used to calculate pressure and flow rate (and sometimes temperature) for a network of wells, connecting pipework, and potential surface processing facilities. Well network models are typically used in the oil and gas industry to simulate pressure and flow of fluid within the network given a set of input parameters. As in the case of reservoir models, simulations run based on well network models are often optimized to provide an output that is maximized in relation to an objective function, such as maximizing profits or production.
It would be beneficial to provide a system and method which can optimize the reservoir model and/or the well network model using multiple, the same, or different objective functions. Among other advantages, by use of a system that can functionally couple a reservoir model and a well network model and that can optimize one or both of the models using selected objective functions, [1] the simulation is more representative of the real world, given the implicit uncertainties associated with each of the models (primarily the reservoir model); [2] the simulation can account for changing conditions with depletion of the reservoir and changes in the configuration at the well network level; [3] the user can specify more relevant real world engineering problems incorporating reservoir and well network models in a coupled context; [4] the results provided by optimizing a combined system are more realistic and meaningful given the inclusion of real constraints and model interaction; and [5] the key design parameters for each of the models can be user defined and optimized accordingly with a suitable optimizer or combination thereof to provide more relevant simulation results.
A processing plant model can also be coupled to the reservoir model and the well network model. A processing plant model is a mathematical representation of an upstream processing plant which simulates the work of the plant given various plant parameters, such as process capacity and physical constraints. Like the previous models, simulations run based on process plant models may be optimized in relation to an objective function. Linking the processing plant model to the reservoir model and/or the well network model provides the simulations the implicit real world uncertainties associated with a processing plant model, the ability to account for changes in the processing plant capacity, and a more realistic and overall view of the oil production process.
Thus there exists a continuing need for an arrangement and/or technique that addresses one or more of the problems that are stated above.
According to a first aspect, the present invention consists of a method optimizing an objective function related to a subterranean well system, comprising constructing a reservoir model and a well network model of the well system; functionally connecting a controller to the reservoir model and the well network model; running a simulation with at least one of the reservoir model and the well network model and with a set of input variables related to the at least one of the reservoir model and the well network model; and optimizing an objective function by varying the set of variables.
The invention further provides that the optimizing step can comprise optimizing an objective function that relates only to the reservoir model, the well network model, or to both the reservoir model and the well network model.
The invention further provides that the optimizing step can comprise optimizing a first objective function that relates to the reservoir model and optimizing a second objective function that relates to the well network model. The invention further provides that the optimizing of the first and second objective functions can occur simultaneously. The invention further provides that the optimizing of a first objective function step and optimizing a second objective function step can each comprise conducting the optimization with one of a discrete optimizer module, a continuous optimizer module, and a mixed-mode optimizer module. The invention further provides that the optimizing a first objective step and optimizing a second objective function step can be conducted using different optimizer modules.
The invention further provides that the objective function may be constrained with at least one secondary objective.
The invention further provides that the optimizing step can be conducted with a discrete optimizer module, a continuous optimizer module, or a mixed-mode optimizer module.
The invention further provides that the optimizing step can comprise maximizing the production of hydrocarbons from the well system. The invention further provides that the set of variables can comprise the positions of at least one valve located in the well system. The invention further provides that the well system can comprise a single wellbore, a plurality of wellbores, or at least one subsea wellbore.
The invention further provides that the optimizing step can comprise varying the set of variables using a directed search component and a random search component.
The invention further provides that the constructing step can comprise obtaining data from sensors located in the well system. The invention further provides that the obtaining step can comprise permanently deploying the sensors in the well system. The invention further provides that the obtaining step can comprise temporarily deploying the sensors in the well system.
The invention further provides that the constructing step can comprise constructing the reservoir model using at least one of reservoir data, well data, and production data from the well system.
The invention further provides that the constructing step can comprise constructing the well network model using at least one of pipeline physical data, fluid property data, and process element performance data from the well system.
The invention further provides that the method can further comprise: constructing a processing plant model related to the well system; functionally connecting the controller to the processing plant model; running a simulation with at least one of the reservoir model, the well network model, and the processing plant model and with a set of variables related to the at least one of the reservoir model, the well network model, and the processing plant model; and optimizing an objective function by varying the set of variables.
The invention further provides that the optimizing step can comprise optimizing an objective function that relates only to the processing plant model.
The invention further provides that the optimizing step can comprise optimizing an objective function that relates to at least two of the reservoir model, the well network model, and the processing plant model.
The invention further provides that the optimizing step can comprise optimizing an objective function that relates to each of the reservoir model, the well network model, and the processing plant model.
The invention further provides that the controller can be stored in a memory of a computer system. The invention further provides that the reservoir model and well network model can also be stored in the memory.
The invention further provides that a type of optimizer module can be selected to use for the optimizing step. The invention further provides that the selecting step can be performed by an operator or automatically by a computer system.
According to a first aspect, the present invention consists of a system for optimizing an objective function related to a subterranean well system, comprising: a storage medium including a reservoir model and a well network model of the well system; a controller functionally connected to the reservoir model and the well network model; a processor adapted to run a simulation with at least one of the reservoir model and the well network model and with a set of input variables related to the at least one of the reservoir model and the well network model; and the controller adapted to optimize an objective function by varying the set of variables.
The invention further provides that the objective function can relate only to the reservoir model, the well network model, or both the reservoir model and the well network model.
The invention further provides that the controller can optimize a first objective function that relates to the reservoir model and optimize a second objective function that relates to the well network model. The invention further provides that the controller can optimize each of the first and second objective functions with one of a discrete optimizer module, a continuous optimizer module, and a mixed-mode optimizer module. The invention further provides that the controller can optimize the first and second objective functions with a different optimizer module. The invention further provides that the controller can optimize the first and second objective functions simultaneously.
The invention further provides that the objective function can be constrained with at least one secondary objective.
The invention further provides that the controller can optimize the objective function with a discrete optimizer module, a continuous optimizer module, or a mixed-mode optimizer module.
The invention further provides that the objective function can be the maximization of the production of hydrocarbons from the well system.
The invention further provides that the set of variables can comprise the positions of at least one valve located in the well system.
The invention further provides that the well system can comprise a single wellbore, a plurality of wellbores or at least one subsea wellbore.
The invention further provides that the controller can be adapted to vary the set of variables using a directed search component and a random search component in order to optimize the objective function.
The invention further provides that the reservoir model can be constructed using data from sensors located in the well system. The invention further provides that the sensors can be permanently deployed in the well system. The invention further provides that the sensors can be temporarily deployed in the well system.
The invention further provides that the reservoir model can be constructed using at least one of reservoir data, well data, and production data from the well system.
The invention further provides that the well network model can be constructed using at least one of pipeline physical data, fluid property data, and process element performance data from the well system.
The invention further provides that the system can further comprise: the storage medium includes a processing plant model related to the well system; the controller is functionally connected to the processing plant model; the processor is adapted to run a simulation with at least one of the reservoir model, the well network model, and the processing plant model and with a set of variables related to the at least one of the reservoir model, the well network model, and the processing plant model; and the controller is adapted to optimize an objective function by varying the set of variables.
The invention further provides that the objective function can relate only to the processing planet model, to at least two of the reservoir model, the well network model, and the processing plant model, or to each of the reservoir model, the well network model, and the processing plant model.
The invention further provides that the storage medium can be a computer storage medium and the controller is also stored in the computer storage medium. The invention further provides that an optimizer module can be selected to optimize the objective function. The invention further provides that the optimizer module can be selected by an operator of the system or by the controller.
According to a third aspect, the invention provides a method of optimizing an objective function related to a subterranean well system, comprising: constructing a reservoir model and a well network model of the well system; functionally connecting a controller to the reservoir model and the well network model; selecting whether to optimize either or both of the reservoir model and the network model; choosing at least one objective function to optimize; running a simulation with a set of input variables related to at least one of the reservoir model and the well network model; and optimizing the at least one objective function by varying the set of variables.
Advantages and other features of the invention will become apparent from the following description, drawing and claims.
Generally, as previously described, a “reservoir model” is a mathematical representation of the subsurface, structures, fluids, and wells that can be used to carry out dynamic predictions of reservoir and fluid behavior. A reservoir model is typically constructed in a basic form early on in the life of a reservoir and can thereafter be refined and updated. The reservoir model 12, as shown in
Also generally and as previously described, a “well network model” is a nodal analysis model used to calculate pressure and flow rate (and sometimes temperature) for a wellbore, possibly network of wells, and connecting pipework. The well network model 14, as shown in
A well network model 14 may be made for a single well system 200 as shown in
A well network model 14 may also be made for a multi-well system 15 as shown in
A well network model 14 may also be made for a multi-well system 50 as shown in
In one embodiment of the invention as shown in
As known in the art, the reservoir model 12 and the well network model 14 are used to simulate the effect the reservoir and well system would have based on a given set of input parameters chosen by an operator. The simulations provide a more complete understanding of reservoir behavior and help the operator make decisions regarding the reservoir and well system based on desired outputs. The processing plant model 202 may be used to simulate the upstream effects and constraints on the overall production. Together, the reservoir model 12, the well network model 14, and the processing plant model 202 give operators an overall view of the production flow.
The reservoir model 12, the well network model 14, and the processing plant model 202 may be stored within a computer system 60, shown as dotted lines in
The computer system 60 may be located remotely from the well systems 15, 50, or 200. In some embodiments, the computer system 60 is remotely connected to sensors and other equipment in the well systems 15, 50, or 200 and also to sensors and other equipment in the physical pipes and equipment that comprise the well network model 14 and the processing plant model 202. This remote connection enables the intermittent or continuous (as the case may be) transmission of data from the relevant sensors and equipment to the computer system 60. Reception of such data by the computer system 60 allows the models 12, 14, and 202 to be updated, either intermittently or continuously. Such remote transmission of data can occur via a transmission route 62 which can comprise the internet, satellite signals, electronic or fiber optic cable, telephone lines, or other local network.
The controller 10 may also be located in the computer system 60, such as being stored in the computer system's 60 memory. The controller 10 is functionally connected to the reservoir model 12, the well network model 14, and/or the processing plant model 202. In one embodiment, the controller 10 is included in the software package that is loaded for execution on the computer system 60. In other embodiments, the controller 10 is part of the special-purpose hardware information module previously described. The controller 10 manages the information between models 12, 14, and 202 thereby enabling simulations to be run incorporating all of the models.
In the embodiment not including the processing plant model 202, the controller 10 is adapted to optimize the reservoir model 12, the well network model 14, or both. In the embodiment including the processing plant model 202, the controller 10 is adapted to optimize the reservoir model 12, the well network model 14, the processing plant model 202, two of them, or all three. In other words, each of the reservoir model 12, the well network model 14, and the processing plant model 202 may be isolated and optimized, or two, or all of the models 12, 14, and 202 may be optimized together, depending on the desires and problem solving strategy of the operator.
The controller 10 may optimize each of the models 12, 14, or 202 with respect to different stipulated objective functions. The reservoir model 12 can be optimized alone, for instance, to manage well placements, zonal isolation and for pressure maintenance in order to maximize recovery and therefore to maximize monetary return. Each of the well network model 14 and the processing plant model 202 can be optimized alone, for instance, for capacity and pressure to maximize recovery, reduce costs, and maximize monetary return.
The reservoir model 12 can also be optimized together with the well network model 14 for oil recovery and profits taking into account the changing reservoir conditions with time (i.e. reservoir depletion). The processing plant model 202 can also be coupled into the optimization scheme in order to take into account the upstream effects and constraints of the production process.
In general, and as shown in
A schematic of the controller 10 is shown in
In order to provide the ability to solve different types of problems, the controller 10 may also include optimizer modules 64 that are discrete optimizer modules, continuous optimizer modules, or mixed mode optimizer modules. Discrete optimizer modules optimize a parameter in relation to fixed positions/solutions within a range, such as when a downhole valve has a plurality of discrete positions between open and close (including just open and close). Continuous optimizer modules optimize a parameter in relation to an infinite number of positions/solutions within a range, such as when a downhole valve has an infinite number of positions between open and close. Mixed mode optimizer modules optimize a parameter in relation to fixed positions/solutions for some elements (such as discrete position downhole valve) and to an infinite number of positions/solutions for other elements (such as downhole valves with an infinite number of settings). Mixed mode optimizer modules are valuable in more complex field managements when both discrete and infinite position/solution elements must be optimized.
Once the objective function is defined by the operator, the operator, in one embodiment, can select which optimizer module 64 is best suited to optimize the relevant objective function. Selection of an optimizer module 64 depends on many factors, including the actual objective function, the constraints applied, linearity, non-linearity, and the availability of sensitivity information. As previously discussed, an operator may partition the work between optimizer modules 64 if necessary or may select one optimizer module 64 for the entire problem, if possible.
There are also several methods used to address multi-objective problems, such as when at least one model 12, 14, 202 is to be optimized based on more than one objective or when different models 12, 14, 202 are optimized based on different objectives. In one method, each of the objectives is incorporated or summed into the main objective function, with each of the multiple objectives being given a weight in relation to the other objectives. In another method, objectives other than the first main objective are incorporated into constraints built into the main objective function. And in yet another method, each of the objectives is optimized independently and are then coupled together to provide a number of equally feasible solutions to the operator. An operator decides which method to use based on a variety of factors, including his/her problem solving knowledge and experience. In another embodiment, the solution method is automatically selected by the controller 10 based on the objective function defined by the operator and on additional information provided by the user.
One embodiment of an optimizer module 64 is the local stochastic search algorithm (“LSS”) shown in
At initial step 400, the controller 10 initiates the search with a starting vector X0. At step 402, X1 is calculated as follows:
X1=X0+z0 sf[max−min], (1)
wherein z0 is a random stochastic variable between 0 and 1, sf is a step factor indicating the max possible step for a given variable, and [max−min] defines the bounds of a given variable. X1 thus represents X0 plus a random augmentation term provided by the optimizer at the first iteration. The search direction is then set at step 404 as follows:
dk=(Xk−Xk−1), (2)
wherein Xk is the current vector and Xk−1 is the previous vector. At step 406, the LSS establishes the new search vector as follows:
wherein α is the weight of the directed search component and is between 0 and 1, (1−α) is the weight of the random search component, z0,1,2,3 are random stochastic variables between 0 and 1 which assign the actual step size taken as a fraction of the maximum step possible, and dki is the unit vector of the search direction vector dk. Thus, Xk+1 is a search vector influenced by a directed search component, α(z1 sleng dki), and a random search component (1−α)(z2 sf [max−min]). The objective function (ƒ) is then solved for and the relevant directed and random search weights α, (1−α) are changed in step 408 as follows:
If: ƒnew<ƒthen Xbest=Xnew (7)
α=α·αinc and sf=sf·sfinc (8)
Else: ƒ<ƒnew (9)
α=α·αdec and sf=sf·sfdec (10)
Subject to: αmin<α<αmax (11)
sfmin<sf<sfmax (12)
If the newly solved function (ƒnew) is less than the previous function (ƒ), then the optimizer assumes that the new vector Xnew provides a superior solution than the previous vector and saves the current vector Xnew as the best solution vector found thus far, Xbest. The optimizer then also increases the weight of α by a user defined scalar of αinc (such as 20%) and increases the step factor sf by a user defined scalar of sfinc (such as 20%), since the optimizer assumes that the search is being conducted in a satisfactory direction. If the newly solved function (ƒnew) is greater than the previous function (ƒ). then the optimizer assumes that the new vector Xnew provides an inferior solution than the previous vector and retains the previous vector as the best solution vector found thus far, Xbest. The optimizer then also decreases the weight of α by a user defined scalar of αdec (such as 20%) and decreases the step factor sf by a user defined scalar of sfdec (such as 20%), since the optimizer assumes that the search is being conducted in a poor direction. It is noted that as shown, the optimizer assumes that the function (ƒ) is being minimized. However, it will be recognized that a maximization problem can also be solved by introducing a multiplier of (−1).
Next, in step 410, the optimizer tests for convergence to determine if the optimum solution for the objective function has been found. As with most evolutionary type algorithms, the LSS requires termination conditions for ceasing its search. This may be provided by a number of convergence criteria, such as the maximum number of search steps, maximum number of no function improvement steps, maximum number of attempts to generate a feasible vector, and the count of duplicate search vectors generated. The last two tests indicate that all feasible and possible search steps from the current have been explored. If the test at step 410 results in convergence, then the optimizer goes to step 414 and presents the best solution (Xbest) to the user as an optimal solution. If the test does not result in convergence, then the optimizer proceeds to step 412 wherein the iteration number is increased by 1, and the process returns to step 404. From steps 404 to 410, the optimizer repeats its search until the test in step 410 results in convergence.
The LSS optimizer can be operated in continuous mode, discrete mode, or mixed mode. The scheme shown in
Xnew=Xk+1 subject to max {Xk+1−Xk}≦maxdstep (13)
For the LSS to operate in mixed mode, the search vector is effectively partitioned into two sub-vectors, one vector describing the continuous variables and the second vector describing the discrete variables.
The LSS algorithm is an evolutionary algorithm. Typical of algorithms in this class it employs a stochastic update mechanism in the pursuit of function improvement. As illustrated, the LSS undertakes a local search moving from a current search point to a more feasible one. It can therefore be considered a variant of the (1+1) evolutionary strategy. That is, one parent yielding one offspring at each step, with the better candidate surviving to continue the search process. In another embodiment, the algorithm can be made to undertake a global search by setting the maximum possible step size to be high initially and reducing this with each step, akin to the temperature schedule in simulated annealing.
The algorithm comprises a single search vector, which is updated at each step with the addition of a weighted term for directed search and one for random search. As the method is derivative free, the direction of search, that perceived to be the direction of descent as illustrated, is provided by the difference between two consecutive search vectors. The weight of directed search increases with each reduction in function value and conversely reduces to random search when no function improvement is found.
The LSS handles constraints with the addition of penalty terms for each constraint in violation, given by the following augmented function:
where, cν (number of constraints in violation)<c (total number of constraints), γ is a constant penalty factor and Pi(X, C), the penalty function for the i-th constraint in violation, is a function of X and the constraint matrix C. The multiplier term provided by the i-th violated constraint ensures that the worst feasible solution is superior to the best infeasible solution. This allows the algorithm to start from both feasible and infeasible starting search vectors.
Bound constraints are handled separately from those specifically assigned, though a similar policy of adding a penalty term to the overall cost function for each variable exceeding its bounds is adopted.
The algorithm is also made to store all vectors searched, such as in computer system 60 memory, so that duplication of effort is avoided. This is important when solutions are sought from a numerical solver. Further, this information can be employed in the development and application of a generalized response surface to improve the efficiency of the search mechanism. A new search vector is generated repeatedly until one, which is feasible, non-duplicate and within bounds is found.
The ability to hill climb, that is, escape from a local minimum, is an important feature of most evolutionary algorithms. As illustrated, the LSS performs a local search, under the assumption that the optimal valve position vector will be in the neighbourhood of the current operating vector. Nonetheless, as previously disclosed, this global search ability can be provided in the illustrated algorithm by increasing the search step size at the outset or once a local minimum has been found.
In one embodiment, the controller 10 and an optimizer module 64 (such as the LSS) can be used to manage and control the positions of the downhole valves in an intelligent completion in order to maximize the oil produced. The number, type, and settings of the valves employed (discrete or continuous) are defined in the well network model 14 and the settings are included as the input variables to the objective function (e.g. maximizing the oil produced for a given valve definition). The valve settings are then varied by the optimizer module 64 in order to optimize the objective function. The output of this optimized simulation would then be the valve settings for the given number and type of valves resulting in maximum oil production. An operator can then set the actual valves in the well system to the settings provided by the optimized solution.
Besides maximizing the oil produced or the profits made, other objective functions can include minimizing the water produced, or controlling the gas-oil ratio. As previously described, depending on the problem-solving scheme chosen, primary and secondary objectives can be managed through the use of constraints. For instance, the objective function can be maximizing oil recovery while the constraints can be minimizing water cut and/or ensuring the capacity constraints are met at well and separator level.
Instead of the valve settings being the input variable for the objective function, other input variables can be used, such as flowline management, control of artificial lift parameters, pump speed, separator pressure, and capacity size.
The versatility of the approach described is characterized by the ease with which an objective function can be designed by the user and by the use of specific optimizers for the treatment of a given optimization problem (that is, the application of specific discrete, continuous, or mixed mode optimizers according to need). Moreover, the approach enables the linking of two or more models, as the operator desires, as well as the selection of different optimizers for each model or the decision not to optimize certain models.
In one embodiment, a rationalization module (not shown) is also incorporated with or to the controller 10. The rationalization module correlates all of the constraints included in the optimization procedure in relation to the reservoir model 12, well network model 14, and processing plant model 202. This has the benefit of ensuring consistency and preventing conflict during the simulation and during the optimization process. In addition, in order for the optimizer module to effectively optimize, the optimizer module needs to be aware of the constraints of each of the models. Therefore, the controller transfers the constraints from each of the models (12, 14, 202) to the rationalization module, which determines whether there is a conflict. If there is no conflict, then the optimizer module will optimize the operation. If there is a conflict, then the rationalization module will identify the conflicting constraints at the outset. The module may then alert the user and/or automatically resolve the conflict, such as by modifying the conflicting constraints (within certain guidelines, such as a hierarchy) to remove the conflict. Then, the optimizer module will optimize the operation.
As an example, if one of the reservoir model 12 constraints is a maximum flowing bottomhole pressure that is less than the suction pressure of a separator (part of the well network model 14), then, in physical terms, there would be no flow in the wellbore and the simulation run would crash, give spurious results, or return as unresolved. In this case, the controller obtains the constraints for the flowing bottomhole pressure and the separation suction pressure and transfers them to the rationalization module, which would identify the conflict to the user or automatically resolve as above.
Instructions of the various software routines or modules discussed herein (such as the reservoir model 12, the well network model 14, the processing plant model 202, the controller 10, or the optimizer modules 64) are stored on one or more storage devices in a system and loaded for execution on a control unit or processor. The control unit or processor includes microprocessors, microcontrollers, processor modules or subsystems (including one or more microprocessors or microcontrollers), or other control or computing devices. As used here, a “controller” or “module” refers to hardware, software, or a combination thereof. A “controller” or “module” can refer to a single component or to plural components (whether software, hardware, or a combination thereof).
Data and instructions (of the various software modules and layers) are stored in a storage device, which can be implemented as one or more machine-readable storage media. The storage media include different forms of memory including semiconductor memory devices such as dynamic or static random access memories (DRAMs or SRAMs), erasable and programmable read-only memories (EPROMs), electrically erasable and programmable read-only memories (EEPROMs) and flash memories; magnetic disks such as fixed, floppy and removable disks; other magnetic media including tape; and optical media such as compact disks (CDs) or digital video disks (DVDs).
The instructions of the software modules or layers are loaded or transported to the system in one of many different ways. For example, code segments including instructions stored on floppy disks, CD or DVD media, a hard disk, or transported through a network interface card, modem, or other interface device are loaded into the system and executed as corresponding software modules or layers. In the loading or transport process, data signals that are embodied in carrier waves (transmitted over telephone lines, network lines, wireless links, cables, and the like) communicate the code segments, including instructions, to the system. Such carrier waves are in the form of electrical, optical, acoustical, electromagnetic, or other types of signals.
While the invention has been disclosed with respect to a limited number of embodiments, those skilled in the art, having the benefit of this disclosure, will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of the invention.
Number | Date | Country | Kind |
---|---|---|---|
0226623.7 | Nov 2002 | GB | national |
0312142.3 | May 2003 | GB | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/GB03/04764 | 11/4/2003 | WO | 9/11/2006 |