A new mixed-integer constrained global optimization algorithm tackles oilfield production system challenges.
A new optimizer, the kParticle Decelerator — based on an evolutionary algorithm — is able to perform a global search of problems that are non-linear, non-convex and non-differentiable (discontinuous). It also has a novel dynamic, non-linear, constraint-objective handling mechanism and is able to optimize discrete and continuous variables simultaneously — e.g., find the optimum well routing and gas-lift allocation simultaneously.
Moreover, a Dynamic Link Library has been created that loads into the Petroleum Experts IPM suite to allow the user to optimize such problems. The optimizer is independent of platform and can work with network, facilities, and economic models both individually and simultaneously.
Optimization problems are ubiquitous in science and engineering. Which polynomial best fits the data? What wing size and angle would give a Formula 1 car maximum speed and handling? Which configuration of lenses yields the sharpest image? Ideally, solving a difficult optimization problem should not in itself be difficult, e.g., an aeronautical engineer with excellent knowledge of mechanical and aerodynamic principles need not be an expert in optimization theory to improve the structural integrity of his designs.
In addition, a global optimization algorithm should be powerful enough to reliably converge to the optimum on a wide variety of fitness landscapes, be they simple linear or complex non-linear. At the same time it should do so with the fewest function evaluations. Shell developed and implemented such an algorithm in the context of Integrated
Production System Models.
Optimizing oilfield production systems will always be a challenge to the operator. For example, how much gas lift should be allocated to a certain well to increase its production? What effect would this have on other wells? And would it exceed gas-lift availability? If I increase gas-lift availability, would the increase in production outweigh the increase in compression cost? Should the well be routed to a different manifold instead? These are just some of the issues that are faced on a regular basis in day-to-day production system management.
Given flow-regime changes and the multiple constraints associated within tubing and pipelines, gas lift allocation is a discontinuous, non-convex problem. The inclusion of various controls in the system model increases the level of non-convexity as well. The addition of a detailed facilities model to the surface network model just adds to the overall complexity of the problem. At the same time, there are constraints placed at many points in the system that reduce the optimization search space to a fraction of its initial volume and this renders the process all the more challenging.
Typically, oilfield production systems contain continuous controls (gas-lift allocation, pressure drops across the chokes, electric submersible pump frequencies) and discrete controls (well routings to different pressure headers, nominal pipe diameters in the design of a pipeline, switching a smart valve on/off). The combination of these continuous and discrete variables in problem formalization is commonly referred to as a mixed-integer problem. Such problems cannot be handled by traditional industry-standard Sequential Quadratic Programming (SQP) and Sequential Linear Programming (SLP) techniques.
So how do we formulate an algorithm that can meet such demanding tasks? There is a wide body of work on mixed integer non-linear programming techniques that create sub-problems by restricting the range of the integer variables and then solving these sub-problems. Such techniques, though, are limited in their global search capability and are quite complicated in practise. What would be ideal is a simpler technique that operates on both classes of variables simultaneously without relaxing any variables or constraints, while still providing a global search when meeting system constraints. Recognition of this need resulted in an initiative to develop just such an algorithm and implement it in industry-standard software.
The kParticle Decelerator
Evolutionary computation techniques occupy a large corner in the area of global optimization and were born out of attempts to overcome the deficiencies of gradient search that access only a small volume of the search space. The most popular technique in this body is genetic algorithms, which has widespread acceptance and use in almost all fields of science and engineering. These techniques have a proven track record and are constantly evolving. They are attractive to users, as they do not require any gradient information to progress to solution, thereby greatly reducing mathematical complexity and making them accessible to a wider audience. Furthermore, they are generally intuitively understandable.
Evolutionary computation typically consists of a population of individuals initialized randomly or by a designed experiment in the search space. Each individual’s position is then updated via a set of evolutionary rules which could be in the form of bit-string crossovers, as in genetic algorithms or any form of social heuristic that drives the population towards a common goal. Individuals can also die and new individuals arise to prevent premature convergence. However, they also possess a limitation common to any optimization algorithm, i.e., they are dependent on the initial population distribution and the seed for the random number generator. Hence it is quite common that such algorithms are run a few times to see whether the solution can be improved upon.
The algorithm developed here, kParticle Decelerator, is the next step ahead in techniques for oilfield optimization, as it has the features following:
1. An evolutionary population-based method that does not require the calculation of derivatives — making the calculation and implementation simpler, but also eliminating calculation and transfer of Jacobian derivative matrices from other modules.
2. Performs non-linear, non-convex (multimodal) and discontinuous (non-differentiable) fitness landscapes.
3. Handles linear/non-linear equations, constraints, and objectives.
4. A dynamic constraint-objective switching feature directs the population into the feasible region first, before beginning the optimization.
5. Deals with both continuous and discrete variables simultaneously.
6. Able to perform a global search but also has intrinsic local search properties, hence the name.
Typically, constraint violations are handled through an augmented penalty function where the penalty to the true objective function is proportional to the violation magnitude. While a penalty function essentially modifies the fitness landscape, this can potentially lead to maxima — if you want to maximize production, for instance — not being lowered enough to isolate the feasible region. Another technique solves the system as a multi-objective problem, optimizing the true objective function in itself while simultaneously minimizing the constraint violations as another objective. However, this is not commonly found in practice as, in trying to multi-task different objectives, it makes the optimization algorithm much more complex. A novel feature of the kParticle Decelerator implementation is the dynamic constraint-objective switching feature.
This can be illustrated as in Figure 1. The search space is demarcated by the outer envelope and the feasible region is highlighted as the intersection of the two constraints.
Although Particles 2 and 3 meet a constraint, they are still far away from the actual feasible region. Particle 1, on the other hand, does not meet either constraint, but is much closer to the feasible region. The kParticle Decelerator sets its objective as the minimization of any constraint violations. Hence in Figure 2, Particle 1 would be the attractive point for other particles to move toward. Once the particles enter the feasible region, the objective switches to the true objective function and particles try to exploit this region. If they stumble out of the feasible region, the objective switches back to keeping them there. In the event that the constraints are too tight, this approach guarantees a solution that comes as close as possible to satisfying the constraints.
The method is quite robust, as it needs to be for use in real oilfield production system optimization. A benchmark mathematical function set from the 2006 Congress on Evolutionary Computation, Special Session on Constrained Optimization was used in testing the algorithm. This consists of a set of 24 mathematical functions. Function g06 is presented in Figure 3 to illustrate the hurdles that a solver has to overcome in order to be declared robust. This cubic convex function has only 0.0066% of its search space being feasible. The kParticle Decelerator has found the global optimum or close to the global optimum for all functions except g14 and g22, within the maximum number of function evaluations as set by the 2006 CEC Session. This is due to the fact that these two functions contain many equations that need to be satisfied, which reduces the feasible region down to feasible points instead. Because in oilfield production systems we are always presented with constraints in the form of inequalities — and hence a feasible region — rather than having to honor a specific quantity, this does not present a matter of concern.
An improvement or confirmation of the solution can then be obtained by switching off the integer controls and using RESOLVE’s internal SLP optimizer on the continuous variables. Having integers in the problem formulation of course decreases the efficiency of any algorithm, and this is also symptomatic of the one proposed here. An easy way to get around this is to use the kParticle Decelerator to get close to the global optimum and then switch on the internal SLP routine within RESOLVE to fine tune the solution.
Case study example
Routing wells to the right manifolds is typically done using rules of thumb, such as “ The high GOR wells go in this header,” or “ LP wells go in the
LP header.” These rules do not always make sense and the result is not often believed to be optimum. In the field it is quite cumbersome to try out many alternatives. Thus, a model to test out various scenarios first has high value potential. Such an optimization is difficult, in practice, even with a model. First, there are a huge number of routing combinations. Second, the optimization is by its nature an integer optimization and GAP does not have this functionality.
A case study of a problem derived from data from a typical field follows. The GAP network model is presented in Figure 4. This model consists of 10 wells under gas-lift control with the option of being routed to any of 3 headers viz. a HP header (Sep 1 – 400 psi), MP header (Sep 2 – 200 psi) and LP header (Sep 3 – 100 psi). The number of possible routing combinations for the well is 310 (59 049). All wells have open chokes and a maximum of 5 MMcf/d gas-lift injected constraint. In addition, the overall field gas-lift availability is 10 MMcf/d.
The DLL created was installed into RESOLVE and the GAP model was run through RESOLVE. A base case was chosen as to how a typical engineer unarmed with any formal combinatorial methodology would tackle such a problem. A simple heuristic was used whereby each well was routed individually through the LP header and its production ranked. Then the two best-ranked wells were routed through the LP header while the rest were routed through the MP header. Successively ranked wells were added to the LP header until the total production from the system decreased, showing there was no more to be gained from that header. A similar process was carried out for the MP-HP headers. Each routing was optimized for gas-lift injection using GAP’s internal SQP optimizer. For the sake of comparison, the increase in oil production from this base case was 3% using the kParticle Decelerator.
When doing an asset-wide optimization, adding facilities and economic modules increases the new optimizer’s usefulness.
The intrinsic global and local search attributes of the kParticle Decelerator coupled with the novel constraint-handling mechanism makes it a versatile optimizer. New global optimization techniques are gaining ground in various disciplines within Shell, and the business impact of algorithms such as the kParticle Decelerator are potentially very large. The DLL will be distributed for use with models based on Petroleum Experts IPM Software via RESOLVE (including MoReS-GAP and HYSYS/ Unisim components). Not only can the petroleum engineering community benefit from this recent development, but also other disciplines requiring such optimization.