Summary
Normally only approximately 30% of the oil in a reservoir is extracted during primary production, but using secondary-production methods such as water or gas injection, it is often possible to increase that percentage significantly and maintain the production rate of a reservoir over a longer period of time. In reservoirs under water or gas injection, additional gains can be obtained through an efficient strategy for management of front movement and reservoir sweep. The objective of reservoir production optimization is to maximize an outcome such as sweep efficiency or net present value (NPV) through the control of completion rates or pressures. Using optimization methods, it is possible to compute control settings that result in increased oil production and decreased water production compared with production from standard practices. In this paper, we focus on optimization using sequential quadratic programming (SQP) with an ensemble-based approach to estimate the gradient for the optimization. Although uncertainty in reservoir properties is usually important for the computation of optimal controls, here we use a single realization of the reservoir to evaluate the efficiency of the optimization algorithm.
The most expensive aspect of gradient-based optimization is usually the computation of gradients. Most practical production-optimization problems involve large-scale, highly complex reservoir models with thousands of constraints, which makes numerical calculation of the gradient time consuming. Here, we use an ensemble-based approach for finding gradients and use localization to improve estimation of the gradient from a small number of realizations. The Broyden-Fletcher-Goldfarb-Shanno (BFGS) method is used for maximizing the objective function, with the Hessian estimated from a sequence of estimates of the gradient. Improving the gradient approximation using localization results in improvement to the Hessian approximation. A second important aspect of the efficiency of the method is the identification of active constraints. In this paper, we use a method for eliminating nonnegativity constraints to decrease computation time and an updating procedure to solve each iteration of SQP much faster than the base case. Both the speed of the algorithm and the final NPV were increased significantly.
We evaluate the method by applying it to optimization of control settings in the Brugge field. Brugge is a 3D synthetic model designed by TNO with 20 vertical producers and 10 vertical peripheral water injectors. All of the producers and injectors are smart wells whose downhole chokes must be adjusted to optimize NPV. The total number of completion flow rates to be controlled is 84 at each timestep, with 40 timesteps (every 6 months). There are 1,200 inequality constraints on total well liquid rates and 3,360 nonnegativity constraints on completion liquid rates. There are also inequality constraints on the bottomhole pressure (BHP) for wells at each time period.