Optimization of Oil Production - Applied to the Marlim Field
Abstract
This thesis considers short-term petroleum production planning at the Marlim field operated by the Brazilian energy company, Petrobras. The production asset to be optimized is an Floating Production and Storage Operating unit, including several oil producing wells and gas lift technology. Current practice for oil companies is to optimize the different parts of a production system separately. To avoid sub-optimal decisions, there is a need for integrated optimization models that consider all relevant decision variables simultaneously. The objective of the models presented in this thesis is to maximize total oil production extracted from the reservoir. It is assumed that producing as much oil as possible is always economically preferable. The decisions to be made include production rate allocation of water, oil and gas from each well. In addition, allocation of lift gas to wells and pressure at different components of the system are important outcomes. Routing of flow adds further complexity to the model. The optimization problem studied has integer requirements, in addition to several non-linear flow and pressure relationships. These have been approximated using piecewise linearization with special ordered sets of type 2, resulting in a mixed integer linear programming model. Different methods are implemented to solve the problem and evaluated to find the most appropriate optimization method. The optimization model was initially solved using Branch & Bound. Due to the block-angular structure of the problem, Dantzig-Wolfe decomposition was implemented to improve solution efficiency. Further, different heuristics were added to reduce the duality gap.Generating realistic datasets was done with the PIPESIM simulator. The algorithms were implemented in Mosel, which is a high-level modelling and programming language, and solved with the Xpress-MP solver.The results show that decomposing the model has a huge effect when the complexity of the system increases. Adding heuristics to the decomposed model is found to be an effective way of generating good integer programming solutions. When deciding what method to use, the trade-off between model realism and solution time must be weighted. A good, heuristically obtained solution could often be more useful than using exact solution methods that are very time consuming.