Steam-assisted gravity drainage (SAGD) using parallel pairs of horizontal wells, one drilled for steam injection and the other for oil recovery, is the most widely used and effective in-situ method for recovering the Canadian oil sands.
An optimization task is used to identify the parameters that will produce either a maximum or minimum value for objective functions the user specifies. In the area of reservoir simulation, the parameters can be well spacing to identify optimal field development plan, or a steam injection pressure/rate and a liquid production rate in the SAGD process for optimal operating conditions. The objective functions may be physical quantities, such as cumulative oil produced, the recovery factor, and the cumulative steam-oil ratio, or an economic index like net present value (NPV) dependent on those physical quantities. They can also be a function independent on the physical quantities, e.g., a history match data error if the optimization task is history match.
The objective of this thesis is to develop an optimizer using a genetic algorithm that can be used to optimize a variety of tasks in reservoir simulation, including the history match error minimization, the optimal field development plan, production optimization and process optimization. In this work, the genetic algorithm using both binary and continuous encoding is designed and developed, which can be coupled with a reservoir simulator to study optimization tasks in reservoir simulations. This genetic algorithm is benchmarked with the traditional gradient based optimization algorithm. The genetic algorithm optimizer coupled with a reservoir simulator is used to optimize the steam injection rates over the life of a steam-assisted gravity drainage process in a reservoir with gas cap. The parameter sensitivities of the genetic algorithm are studied.