1 Introduction

The mining and petroleum industries are the largest natural resource industries, based on the economic values of mining and oil corporations. Ever-increasing world demand, diminishing stocks of minerals and oil, and the large capital investments involved make careful planning for effective recovery of resources a priority for mining and oil enterprises. Because of the many variables involved, developing a mine or an oil field and scheduling its production is a complex and challenging task.

Despite obvious operational differences, the mining and petroleum industries both rely on the exploration and exploitation of non-renewable natural resources. Both also require a long-term planning horizon for enterprises whose profits are tied to scheduling and production strategies. Decisions must be made in the presence of geological and commodity price uncertainty. These uncertainties affect the viability of the mining and field development projects and impact all levels of the operations, requiring mine and oil field operators to find ways to meet production targets, manage risk, and ensure the highest possible economic benefit. For both mines and oil fields, a production schedule that allows even a one percent improvement in the net present value (NPV) can represent millions of dollars and is considered to be substantial.

In the last 20 years, there has been increasing interest in using advanced optimization techniques to develop and manage the asset (whether a mineral deposit or an oil field), to make informed decisions regarding potential risks, and to maximize value and minimize costs while satisfying the various requirements and limitations of the particular operation. A considerable number of papers proposing different solution methods to deal with the exigencies of mining and oil industry operators have been published. Concurrently, there has been a growing interest in developing modeling frameworks that incorporate the characteristics of real-world applications with more details, rather than using models that are simplified versions of reality. In particular, researchers have been devising models that account for geological uncertainty and integrate the various interacting aspects of an operation that were treated separately in the past and are now optimized simultaneously so that the greatest possible benefits can be obtained.

The aim of this paper is to present a survey of recent optimization techniques for the most commonly studied aspects of strategic mine planning and oil field development. For mine planning, the open-pit mine production scheduling problem, downstream optimization, and the simultaneous optimization of mining complexes will be reviewed. Concerning oil field development, the well placement problem, the well control problem, and the general oil field development problem will be considered. The problems are first described in a concise and a simplified way. Then the main methods employed to address each problem are reviewed. In describing these methods, we try to outline the basic idea of the different approaches, with many technical details omitted on purpose, but describing the strengths and weaknesses of the various approaches. We also indicate current research trends, and we conclude by discussing some research perspectives.

Although many references are given, this paper is not quite an exhaustive survey. It gives an insight on some tools and techniques used for mining that could be extended to address specific problems faced by the oil industry, and vice versa. We believe that a cross-fertilization of ideas can show how the two scientific communities can benefit from each other. Our hope is that this paper will help researchers in the two communities know what the other community has been developing and to suggest ways in which the advances made in one field can help the other.

The rest of this paper is organized as follows: The following section describes the main optimization problems related to strategic open-pit mine planning, covers recent optimization techniques developed to address them, and outlines research perspectives. Section 3 is devoted to oil field development and operations. It reviews the key optimization problems in this context and recent methodologies proposed in the literature to tackle them and outlines research perspectives. Conclusions are presented in Sect. 4.

2 Open-Pit Mine Planning

This section discusses production scheduling in open-pit mining operations, so a brief description of the optimization problems at hand and the terms used to describe them are in order here. The considerations that must be taken into account when designing production schedules are also described.

2.1 Background and Definitions

Open-pit mining is the most common form of mining today. An open-pit mine is developed to extract minerals from hard rock deposits at or near the earth’s surface by means of a surface pit excavated using one or more horizontal benches; that is, without tunneling into the earth. Typically, the orebody is modeled as a grid of discretized blocks, each of which has specific mineral properties and is assigned a dollar value based on the amount of ore it is estimated to contain and the market value for the ore minus its extraction and processing costs. Blocks that are deemed to be profitable (ore blocks) will be extracted from the ground and sent for processing, to recover the ore that they contain, while those that are not (waste blocks), will be either not extracted or sent to a waste dump if extracted. Waste blocks may have to be extracted either to have access to ore blocks or to ensure safe wall slopes for the pit. Because ore processors have a certain capacity, in some operations, stockpiles are used to absorb an excess of ore extracted; that is, the ore is not immediately processed when it is mined but rather sent to the stockpiles from which it is reclaimed at a time when there is spare capacity. A major challenge to be overcome is the fact that it is impossible to know with certainty the exact value of each block at the time extraction decisions are made. These decisions are based on limited drilling information, from which an orebody profile is extrapolated using estimation techniques, or more recently, spatial simulation techniques. An in-depth discussion of open-pit mining can be found in the book by Hustrulid et al. (2013).

The notion of a mining complex refers not only to the mineral deposit and the means used to extract minerals from the ground but also to the destinations of the mined material at which ore is processed and converted into saleable products that are transported down the production chain and sold on contract and/or the spot market. The goal in optimizing a mining complex is to generate a long-term production plan that maximizes the net present value (NPV) of the complex while meeting various physical and operational requirements at the extraction and processing levels. These strategic decisions affect the subsequent tactical decisions and are a key factor in determining the profitability and efficiency of a mining operation.

In the next sections, three problems related to mining complexes will be reviewed: the open-pit mine production scheduling problem, downstream optimization, and the simultaneous optimization of mining complexes. The open-pit mine production scheduling problem establishes the block removal schedule, while the block destinations are fixed a priori. In downstream optimization, the mining sequence is fixed, while the destination of the blocks is optimized. Finally, in the simultaneous optimization of mining complexes, mining and processing decisions are optimized simultaneously, which might also involve optimizing other aspects such as processing modes and transportation within the mining complex. The main features of these problems and recent solution techniques developed to solve them are outlined. For each problem, we describe solution methods for the deterministic and stochastic versions of the problem, with an emphasis on stochastic versions, which are the current state of the art. This is followed by a summary and a discussion of future research perspectives.

2.2 Open-Pit Mine Production Scheduling

The open-pit mine production scheduling problem (OPMPSP) concerns designing a mining sequence over the life of the mine, typically a 10–30-year time frame. The extraction sequence is subject to certain constraints: (1) Each block can be mined only once (reserve constraints); (2) no block can be removed before any of its overlying predecessors (slope constraints); (3) the number of blocks mined in a given period (a year) cannot exceed the mining capacity (mining constraints); and, (4) the amount of ore sent to the processor(s) cannot exceed the processing capacity (processing constraints). In order to ensure efficient use of extraction equipment, processing facilities, and manpower, lower bounds may be established for the number of blocks mined and the amount of ore sent to the processor(s) in a given period. In some more advanced applications, grade-blending constraints might be required to ensure that the average ore grade in the processor(s) (quality of the mix) lies between specific lower and upper bounds. The extraction and processing operations incur costs, while the metal recovered from processing is sold and generates revenue. All cost and revenue components are future cash flows and thus must be discounted to the present, so feasible solutions of the OPMPSP are typically evaluated by their net present value (NPV) to select the one that provides the highest value.

Two versions of the OPMPSP are studied in the literature: the deterministic version and the stochastic version. In the deterministic version, geological uncertainty is ignored and a single estimate for the blocks’ ore content is used. In the stochastic version, the uncertainty is accounted for via the use of multiple equiprobable geological realizations of the orebody, also referred to as scenarios, describing the uncertain geology and accurately reproducing the spatial statistics of the drillhole data. The deterministic OPMPSP is typically formulated as a linear integer program. Most of the studies on the stochastic OPMPSP formulate the problem as a two-stage stochastic integer program (Birge and Louveaux 2011) in which the overall objective is to maximize the expected NPV of the mining operation over the scenarios describing the geological uncertainty and to minimize the future expected recourse costs incurred whenever the production targets are not met due to this uncertainty. Notable exceptions include Menabde et al. (2007), who consider a formulation maximizing the expected NPV while satisfying the production targets in an average sense; and Boland et al. (2008), who considered a multistage stochastic formulation where the missing interdependency between scenarios and decisions is simulated using conditional non-anticipativity constraints (Birge and Louveaux 2011).

The benefits of integrating metal uncertainty in the optimization process are well-documented in the literature. By taking into account the effects of metal uncertainty on present decision-making, not only is risk in meeting production targets reduced, but also major improvements in NPV in the order of 10–30% are reached (Ravenscroft 1992; Dowd 1994; Dimitrakopoulos et al. 2002; Menabde et al. 2007; Albor and Dimitrakopoulos 2010; Dimitrakopoulos 2011; Asad and Dimitrakopoulos 2013; Marcotte and Caron 2013; Fricke et al. 2014; Lamghari and Dimitrakopoulos 2016b), making the stochastic version of the OPMPSP the current state of the art in mine planning optimization. Despite that, in this paper, methods used to solve the deterministic version of the problem are also reviewed as they might be of interest to the reader.

Methods for both the deterministic and the stochastic OPMPSP can be broadly classified into three main classes:

  1. (a)

    Exact methods, which are based on mathematical programming techniques and exploit the integer programming formulation. They theoretically can provide optimal solutions if allowed to run long enough, and are therefore limited to small instances unless the problem to be solved has a special structure. For a more detailed discussion of these methods, we refer the interested reader to Wolsey (1998).

  2. (b)

    Metaheuristics, which can be seen as generic heuristic solution approaches designed to control and guide specific problem-oriented heuristics to create a process capable of escaping from local optima. They cannot certify the optimality of the solution they find, but effective implementations of these methods are likely to obtain near-optimal solutions in reasonable computational times. Their use is not limited by the size of the problem. A more detailed description of these methods is given in Gendreau and Potvin (2010).

  3. (c)

    Hybrid methods, which combine (meta)heuristics and exact methods or elements of different metaheuristics in order to increase their efficiency. We also include in this class methods that employ aggregation heuristics to group blocks into larger mining units and then solve the resulting smaller problem using an exact method. These methods do not guarantee an optimal solution or even a feasible solution.

These three classes are covered in the next three sections, respectively, with an emphasis on methods developed over the last 20 years.

2.2.1 Exact Methods

A few exact algorithms have been proposed to solve the deterministic OPMPSP. Akaike and Dagdelen (1999) proposed a Lagrangian relaxation approach that exploits the problem structure. Constraints other than the slope constraints are relaxed and dualized in the objective function with associated multipliers adjusted using the subgradient method (Fisher 1981). The resulting problem has a network structure and thus can be solved efficiently. The authors point out that this approach might, however, fail to find feasible solutions. Another Lagrangian relaxation approach was developed by Lambert and Newman (2014). In this algorithm, the constraints to dualize are chosen based on information gained when generating the initial solution. The algorithm was tested on instances with up to 25,000 blocks and 10 periods, but only those involving less than 18,000 blocks were solved within \(2\%\) of optimality in 10 hours. Caccetta and Hill (2003) proposed a branch-and-cut approach and were able to solve instances with up to 210,000 blocks and 10 periods, but not all instances were solved to optimality within 20 hours. Because of commercial issues, the authors do not disclose full details of their branch-and-cut implementation. Bley et al. (2010) introduced valid inequalities derived by combining the constraints of the problem to strengthen the formulation and solved the problem using a branch-and-bound procedure. The authors present results on small instances with up to 420 blocks and 10 periods.

Ramazan and Dimitrakopoulos (2007) were the first to propose a mathematical model that explicitly accounts for the stochastic aspect of the OPMPSP. They considered a two-stage stochastic framework that uses multiple equiprobable scenarios describing the uncertain geology. The decisions at the first stage concern the mining sequence, while deviations from production targets are determined in the second stage for each scenario. The objective is to jointly maximize the expected NPV and minimize deviations from production targets, thereby minimizing the risk of not meeting them. To favor extracting low-risk blocks in the early periods of the life of the mine and defer the extraction of riskier blocks to later periods when more information about the deposit is available, the geological risk discounting factor introduced by Ramazan and Dimitrakopoulos (2004b) was employed. Small instances with up to 10,000 blocks were solved using the general-purpose solver CPLEX. The approach was later extended by Bendorf and Dimitrakopoulos (2013) to handle multi-element deposits.

Given that exact methods can solve only small instances, strategies have been derived from the specific characteristics of the problem to reduce the number of binary variables of the integer program and thus make larger instances computationally tractable by exact methods. Studies in this vein include those of Ramazan and Dimitrakopoulos (2004a), Gaupp (2008), and Leite (2008). Ramazan and Dimitrakopoulos (2004a) considered the deterministic OPMPSP. They proposed a mixed-integer programming formulation where only the variables associated with ore blocks are restricted to be binary. Gaupp (2008) also considered the deterministic OPMPSP and developed a procedure that defines the earliest and latest period a block can be extracted. This procedure is used in a preprocessing phase to eliminate a number of binary variables from the model prior to optimization. Leite (2008) extended the approach of Ramazan and Dimitrakopoulos (2004a) to the stochastic OPMPSP. A threshold factor is used to define the probability of a block being waste. These probabilities are then used to relax the variables associated with waste blocks.

2.2.2 Metaheuristics

Six main types of metaheuristics have been applied to solve the deterministic and/or the stochastic OPMPSP: simulated annealing (SA), tabu search (TS), variable neighborhood descent (VND), genetic algorithms (GA), particle swarm algorithms (PSA), and ant colony optimization (ACO). The first three start from an initial solution \(x_1\) and move at each iteration k from \(x_k\) to a solution \(x_{k+1}\) in the neighborhood of \(x_k\). The neighborhood is defined by a particular class of transformations applied to the solution. The last three metaheuristics, on the other hand, evolve a population of solutions.

2.2.2.1 Simulated Annealing (SA) In simulated annealing (SA), at iteration k, a solution is randomly selected in the neighborhood of the current solution \(x_k\). If this solution provides an improvement, it is accepted and becomes the new current solution. Otherwise, it is accepted according to the Metropolis criterion (Metropolis et al. 1953), where the probability of acceptance depends on the magnitude of the change in the objective function value and the number of iterations already completed. The process continues until some stopping criterion is met. A more detailed description of SA is given in Kirkpatrick et al. (1983).

An early implementation of simulated annealing in the context of the stochastic OPMPSP is that of Godoy and Dimitrakopoulos (2004). The algorithm operates in three phases. First, the problem is decomposed according to the scenarios describing geological uncertainty, and each sub-problem is solved separately. In the second phase, the S solutions from the first phase are used to compute the probability of scheduling each block in each period, and these probabilities are used to derive a single solution. This solution is then improved in the next phase by applying a simulated annealing algorithm. The neighborhood structure of this algorithm uses a Shift mechanism in which a block i currently scheduled in period t is moved to another period \(t'\ne t\) as long as this is feasible, that is, as long as the resulting solution respects the constraints. The exploration of the neighborhood is restricted to only those blocks whose probability of being scheduled at their current period is smaller than 1; that is, only a subset of the neighborhood is considered. The algorithm stops when the number of rejected solutions reaches a threshold value, or after a fixed number of iterations, or after a number of iterations without an improvement in the objective function value. The algorithm was tested on a large open-pit gold mine with more than 321,000 blocks to be scheduled over 15 years, and for which 20 scenarios were used to model geological uncertainty. It yields a schedule that meets production targets, is risk resilient, and substantially improves the NPV compared to conventional scheduling practices. Leite and Dimitrakopoulos (2007) tested the algorithm on a copper deposit and got similar results. They also studied the sensitivity of the results to changes in the number of scenarios used to model geological uncertainty. They concluded that 20 is an appropriate value for this parameter.

Albor and Dimitrakopoulos (2009) also examined, through sensitivity analyses, whether the use of more than 20 scenarios is advisable. Their results corroborate those obtained by Leite and Dimitrakopoulos (2007), showing that even 15 scenarios are sufficient. The authors also explored two variants of the SA algorithm proposed by Godoy and Dimitrakopoulos (2004). The first variant considers a larger neighborhood that allows moving any block as opposed to the restricted neighborhood that discards blocks whose probability of being scheduled in their current period is equal to 1. In the second variant, the pit limits are not fixed a priori, as is the case in the studies mentioned above, resulting in a larger solution space. While the first variant was not found to outperform the original algorithm, the second variant produced improved results, leading to larger pit limits and a higher NPV.

2.2.2.2 Tabu Search (TS) Similar to simulated annealing, in tabu search (TS), at each iteration, a solution is selected in the neighborhood of the current solution. However, rather than drawing this solution at random as SA does, TS performs a full exploration of the neighborhood and selects the best neighbor solution of the current solution. To avoid cycling, solutions that were recently examined are forbidden, or declared tabu, for a number of iterations (short-term memory). Several features such as diversification and intensification strategies can be included in a basic TS algorithm to make the search more effective (Glover and Laguna 1997).

A TS algorithm for the stochastic OPMPSP was developed by Lamghari and Dimitrakopoulos (2012). In their implementation, the authors define the neighborhood as the set of solutions that can be reached by changing the period of a single block. During the search, a relaxation mechanism with self-adjusted penalty coefficients is used to allow infeasible solutions that do not respect the mining constraints, thereby creating a larger search space. Diversification mechanisms, based on frequency schemes, are applied when the incumbent solution is not improved for a certain number of iterations to allow the search to visit other regions of the solution space. The algorithm was tested on instances with up to 41,000 blocks, 11 periods, and 20 geological scenarios and yielded near-optimal solutions in a few minutes up to 2.5 h. To further decrease the computing times, Senecal (2015) developed and compared three different strategies to parallelize the algorithm. He also developed a multi-neighborhood tabu search to simultaneously optimize extraction and processing decisions. We later outline this method in Sect. 2.4.

2.2.2.3 Variable Neighborhood Descent (VND) Whereas simulated annealing and tabu search use randomness and short-term memory respectively to escape from local optima, VND achieves that by combining different descent heuristics based on different neighborhood structures. Given a pre-order of the neighborhoods, a local descent is performed using the first neighborhood. If the local optimum obtained is not better than the incumbent, then the procedure is repeated with the next neighborhood. The search restarts from the first neighborhood when either a solution which is better than the incumbent has been found or every neighborhood structure has been explored. A tutorial on the method can be found in Hansen and Mladenovic (2001).

A VND heuristic for the stochastic OPMPSP was developed by Lamghari et al. (2014). An initial solution is first generated using either a greedy procedure or a time-decomposition heuristic. This solution is then improved by applying a VND with three different neighborhood structures. The first neighborhood consists of swapping blocks between periods. The second and third neighborhoods consist of advancing and delaying the extraction of a cluster of blocks, respectively. The authors present results on instances with up to 98,000 blocks, 6 periods, and 20 geological scenarios. The variant of the method using the time-decomposition heuristic outperformed the one using the greedy heuristic, but at the expense of longer computing times.

2.2.2.4 Genetic Algorithms (GA) Unlike the metaheuristics described in the previous sections, genetic algorithms (GA) do not consider a single solution at a time but rather multiple solutions. They are randomized global search techniques inspired by natural evolution processes (Holland 1975). Basically, a GA iteratively evolves a population of chromosomes, each of which encodes a solution to the problem at hand, through the application of operators that mimic natural phenomena such as crossover, mutation, and selection of the fittest. The crossover (reproduction) operator typically combines two solutions in order to get two new ones. The mutation operator introduces some noise in the population to avoid premature convergence toward local optima. Finally, the selection operator decides which solutions will be kept in the population for the next iteration.

Denby and Schofield (1994) applied the classical genetic algorithmic framework to solve the deterministic OPMPSP. An interesting feature of this work is that the proposed algorithm simultaneously generates the pit limits and the mining sequence. Other authors have combined GA with other methods. Such studies are reviewed in Sect. 2.2.3.

2.2.2.5 Particle Swarm Algorithms (PSA) Particle swarm algorithms (PSA) are randomized global search techniques that solve optimization problems by imitating cooperative search behavior observed in animal groups such as birds. This problem-solving paradigm was proposed by Kennedy and Eberhart (1995). Similar to a genetic algorithm, a particle swarm algorithm also iteratively evolves a population of solutions, called particles. The particles move in the search space and collaborate in order to identify a global optimum. The movement of each particle depends on its best preceding position and the best position of its neighbors.

Ferland et al. (2007) capitalized on the similarity of the OPMPSP and the well-studied resource constrained project scheduling problem (RCPSP) to develop a particle swarm algorithm for the deterministic OPMPSP. In this algorithm, the initial population (swarm) is generated using a greedy randomized construction procedure. The method was tested on randomly generated small instances with up to 520 blocks, and results evaluating the impact of the different parameters on the algorithms performance were reported. Another implementation of PSA was recently proposed by Khan and Niemann-Delius (2014) and tested on larger instances with up to 10,000 blocks. PSA has also been hybridized with other metaheuristics. Studies in this vein are outlined in Sect. 2.4.

2.2.2.6 Ant Colony Optimization Algorithms (ACO) Similar to GA and PSA discussed above, ACO is also a population metaheuristic. However, it is not an improvement metaheuristic but rather a constructive metaheuristic. Based on an analogy with real ant colonies looking for food, the algorithm creates at each iteration multiple new solutions using some of the information collected in the previous iterations. A detailed description of ACO can be found in Dorigo and Stützle (2003).

An adaptation of the ACO was proposed by Shishvan and Sattarvand (2015) for the deterministic OPMPSP and later extended by Gilani and Sattarvand (2016) to address the stochastic version of the problem.

2.2.3 Hybrid Methods

As mentioned earlier, hybrid methods combine (meta)heuristics and exact methods or elements of different metaheuristics in order to increase their efficiency. Tolwinski and Underwood (1996) considered the deterministic OPMPSP. They introduced a hybrid method that combines dynamic programming techniques and a heuristic procedure similar to that proposed by Gershon (1987). In this procedure, accessible blocks are ranked according to their positional weight, defined as the sum of their economic value and the total value of their successors, and those that have the highest value are selected to be extracted. A method combining genetic algorithms and simulated annealing was proposed by Thomas (1996), while Zhang (2006) combined a genetic algorithm with a topological sorting heuristic.

Over the last 5 years, hybrid methods combining mathematical programming techniques and heuristics have been the most widely used methods to address the OPMPSP. Cullenbine et al. (2011) considered the deterministic OPMPSP. They combine Lagrangian relaxation techniques and a sliding time window heuristic (STWH). STWH is an iterative process based on a fix-and-optimize scheme. At each iteration, the set of time periods is first divided into three disjoint but consecutive subsets. Then, all variables associated with periods in the first subset are fixed to feasible values; those associated with periods in the second subset are restricted to be integer; and those associated with periods in the last subset are relaxed to be continuous. The resulting mixed-integer program (MIP) is solved, the periods partition is updated, and a new iteration is performed with this new partition. A detailed description of this technique can be found in the textbook by Pochet and Wolsey (2006). In their implementation, Cullenbine et al. (2011) relaxed not only the integrality constraints corresponding to the periods in the last subset but also the associated precedence and resource constraints. They dualized these constraints in the objective function to make solving the sub-problem tractable. The algorithm was capable of solving instances with up to 25,000 blocks and 15 periods, but as the authors point out, it might fail to generate a feasible solution. The hybrid method proposed by Moreno et al. (2010) is based on the solution of the linear relaxation of the problem, which is then transformed into an integer feasible solution using a rounding heuristic based on topological sorting. This method was successfully tested on very large instances with up to 3.5 million blocks and 15 periods, but it is applicable only to cases with one resource constraint per period and for which this constraint is an upper bound. Chicoisne et al. (2012) improved the results of Moreno et al. (2010) by adding a post-optimization phase to their algorithm. This phase applies an improvement integer programming-based heuristic, which is an enhanced version of that previously used by Amaya et al. (2009). This heuristic iteratively fixes parts of the incumbent solution and re-optimizes the remaining parts using an MIP solver.

The results were further improved by the method developed in Lamghari et al. (2015), which also combines mathematical programming algorithms with heuristic search techniques and can handle any number of resource constraints per period. The algorithm consists of three main steps. First, the problem is decomposed into easier-to-solve sub-problems, each associated with a single period. The schedules for each period are optimized by solving a linear programming problem. This might lead to an infeasible solution violating the resource constraints. A feasible schedule is obtained in the second step by applying a repair heuristic that incorporates look-ahead features. In the third step, the solution is improved by applying a variable neighborhood descent heuristic (VND) with three different neighborhood structures similar to those of Lamghari et al. (2014). Extensive experiments allowed the authors to conclude that the method is robust and can yield near-optimal solutions in short computational times.

The studies above do not account for geological uncertainty. Lamghari and Dimitrakopoulos (2016b) developed a two-phase solution approach for the stochastic OPMPSP. It is based on Rockafellar and Wets progressive hedging algorithm (PH) (Rockafellar and Wets 1991). PH is used in phase I, where the problem is first decomposed by partitioning the set of scenarios modeling geological uncertainty into groups, and then the sub-problems associated with each group are solved iteratively to drive their solutions to a common solution. This phase is based on an augmented lagrangian strategy (Bertsekas 1982). In phase II, a strategy exploiting information obtained during the PH iterations and the problem structure is used to reduce the size of the original problem, and the resulting smaller problem is solved using a sliding time window heuristic. On instances involving up to 41,000 blocks, 11 periods, and 20 geological scenarios, the method produced solutions within 1% of the optimal value in a few minutes up to a few hours. The authors also showed that the approach could provide a 1–27% increase in the value of the objective function compared to the solution obtained by solving a deterministic OPMPSP.

Chatterjee (2014) also considered the stochastic OPMPSP. The problem is decomposed by time period and a solution is obtained by sequentially solving each sub-problem and then merging the so-obtained solutions. Solving a sub-problem involves two steps. In the first step, a possibly infeasible solution is obtained by a procedure similar to that of Asad and Dimitrakopoulos (2013) in which a lagrangian relaxation technique and a minimum cut algorithm are employed. In the following step, a general-purpose mixed-integer solver is used to obtain a feasible solution, if necessary. The method recently developed by Liu and Kozan (2016) for the deterministic OPMPSP is also based on a time-decomposition approach and uses a minimum-cut algorithm.

As mentioned earlier, the use of exact methods is hindered by the large size of the problems to be solved, and to overcome this difficulty, some authors propose aggregating groups of blocks to form larger mining units. The resulting smaller model is then solved using a general-purpose mixed-integer solver either to optimality, or to an optimality gap of a specified value, or until a maximum CPU time is reached. Studies that adopted this approach include Ramazan (2007), Boland et al. (2009), and Jelvez et al. (2016), who considered the deterministic OPMPSP; and Menabde et al. (2007) and Boland et al. (2008), who considered the stochastic OPMPSP. Aggregation is useful to reduce the size of the problem so that it can be tackled with exact methods implemented in commercial solvers. However, it can severely compromise the validity and usefulness of the solution (Bienstock and Zuckerberg 2010), causing loss of profitability and possibly even leading to infeasible solutions (Boland et al. 2009).

2.3 Downstream Optimization

As opposed to the OPMPSP described in the previous section, where the focus is on the mining sequence design, in downstream optimization the material flow aspect is dealt with. A mining sequence is provided and one would like to know where to send the extracted material (waste dump, specific processor, stockpile), and, in the presence of stockpiles, how much material to take from the stockpiles and when so as to maximize the NPV, or to minimize the costs, or to minimize deviations from production or quality targets. Often, in addition to resource constraints that guarantee that the amount of material sent to each destination lies between a lower and an upper bound, grade-blending constraints are also considered to ensure that the quality of the inputs to the processors is within certain bounds. In some applications, the destination of a particular block may be restricted because of its material type or ore grade.

At the strategic level, the literature in the area of downstream optimization is rather scant. Chanda (2007) optimized the flow of material produced from five underground mines and an open-pit mine, sharing five concentrators, three smelters, and two refineries. He formulated the problem as a minimum cost flow problem, which can be solved efficiently (Ahuja et al. 1993). A similar approach was used by Topal and Ramazan (2012), who considered that the ore flowing from the mines can be either stockpiled or processed in different plants.

The studies above made various simplifications to the problem to be able to solve it efficiently. Such simplifications include ignoring geological uncertainty and assuming fixed recoveries at the processors, while recovery is often defined as a nonlinear function based on the metal content (Goodfellow 2014). Paduraru and Dimitrakopoulos (2014) incorporated these two aspects in the optimization process. They addressed the problem using a dynamic programming approach, in which approximate value function representations are used to speed up the search. Zhang and Dimitrakopoulos (2014) considered both geological and market uncertainty, as well as dynamic recoveries. They formulated the problem as a two-stage stochastic nonlinear programming model and solved it using an iterative MIP heuristic.

2.4 Simultaneous Optimization of Mining Complexes

As stated earlier, a mining complex can be described as a supply chain comprised of a series of operations: mining, ore processing, stockpile management, and transportation. Stochastic and dynamic influences affecting one part of the mining complex can have significant effects on other parts of it. Simultaneous optimization of a mining complex (SOMC) deals with all aspects of mine production scheduling. Compared to the OPMPSP described in Sect. 2.2, SOMC incorporates the material flow aspect, whether dealing with single mines, multiple mines, open-pit mines, underground mines, with different types of processors and multiple stockpiles. In addition to the linear constraints of the OPMPSP (reserve, slope, mining, and processing constraints), there might be some nonlinear constraints that stem from the use of the stockpiles and/or the movement of material from one location in the mining complex to another, and the dynamic recoveries. A more detailed discussion on simultaneous optimization of mining complexes can be found in Goodfellow and Dimitrakopoulos (2017).

Similar to the OPMPSP, both the deterministic and the stochastic versions of the SOMC have been addressed in the literature. The deterministic version is typically formulated as a mixed-integer linear or nonlinear programming model, while the stochastic version is typically formulated as a two-stage linear or nonlinear programming problem. Whether the model is linear or nonlinear depends on the specificities of the mining complex considered and the simplifications made by the authors to solve the problem. Different authors have enhanced and extended the two-stage stochastic model proposed by Ramazan and Dimitrakopoulos (2013) to account for the specificities of the mining complexes they addressed (Montiel and Dimitrakopoulos 2013, 2015; Montiel et al. 2016; Lamghari and Dimitrakopoulos 2015, 2016a). Goodfellow and Dimitrakopoulos (2016) introduced a more general two-stage stochastic nonlinear programming model that abstracts the most important aspects in mining complexes. This model is extended in Goodfellow (2014) to include the ability to simultaneously decide on the quantity and timing of capital expenditures. This provides the flexibility to increase or decrease the capacity in the mineral value chain by investing money (e.g., buying trucks, shovels and mill expansion) rather than using a fixed capacity pre-determined prior to optimization, which will likely lead to a sub-optimal use of the business’s financial capital and, in turn, to the under-utilization of the mineral resource.

Due to the complexity of the SOMC, the problem has been mainly tackled with metaheuristics and hybrid methods. An exception is the study by Urbaez and Dagdelen (1999), who considered multiple open-pit and underground mines, multiple destinations, and multiple stockpiles. They did not account for geological uncertainty and proposed a mixed-integer programming model that extends that of Hoerger et al. (1999). Small instances were solved using a general-purpose solver. The metaheuristic and hybrid methods proposed in the literature are reviewed in the following sections.

2.4.1 Metaheuristics

Montiel and Dimitrakopoulos (2013) considered a mining complex that consists of a single mine, supplying materials of different types to different processors. Geological uncertainty was taken into account, and the resulting optimization problem was solved using an extension of the simulated annealing algorithm of Godoy and Dimitrakopoulos (2004). In another paper, the authors simultaneously optimize mining, processing, and transportation decisions (Montiel and Dimitrakopoulos 2015). The problem was solved using a simulated annealing algorithm that explores several neighborhood structures. These include moving a single block to another period and modifying its destination, changing the operating mode in a processor, and changing the transportation arrangement in a processor. More recently, the authors extended this algorithm to handle mining complexes with multiple open-pit and underground mines (Montiel et al. 2016).

Another multi-neighborhood simulated annealing (MNSA) algorithm was developed by Goodfellow and Dimitrakopoulos (2016). The algorithm uses three neighborhoods. The first neighborhood changes the period in which a block is extracted. It allows any block to be moved even though the move results in a violation of the slope constraints. The neighbor solution is then transformed into a feasible one through a repair operator that moves the predecessors or the successors of the selected block. The second neighborhood changes the destination of a cluster of blocks, while the third one modifies the amount of material sent from one processor to another. The authors also compared MNSA to two other methods that combine MNSA with particle swarm and differential evolution (Storn and Price 1997), respectively. The latter proved to be the more efficient, but also the more computationally expensive.

Senecal (2015) also used multiple neighborhoods to simultaneously optimize mining and processing decisions accounting for geological uncertainty, but within a tabu search framework. The first neighborhood modifies the period in which a block is extracted, the second neighborhood modifies the destination to which an extracted block is sent, the third neighborhood combines the first two, and the fourth neighborhood consists of swapping blocks extracted in the same period between destinations. The author also developed a parallel implementation of the algorithm to reduce the overall time required to solve the problem.

2.4.2 Hybrid Methods

Similar to the OPMPSP, aggregation techniques have also been used along with exact methods in the context of the simultaneous optimization of mining complexes. Studies in this vein are those of Stone et al. (2007), and Epstein et al. (2012). Stone et al. (2007) considered scheduling the operations of multiple pits sharing the downstream infrastructure. The problem was formulated as a mixed-integer programming model and solved using the general-purpose solver CPLEX. Epstein et al. (2012) considered a mining complex that consists of multiple open-pit mines and multiple underground mines, sharing multiple downstream processing plants. The authors formulated the problem as a capacitated multi-commodity network flow model (Ahuja et al. 1993) and developed a hybrid method to solve it. The solution procedure consists of solving the LP relaxation, and then applying a rounding heuristic to obtain a feasible integer solution.

All the studies mentioned above aggregate blocks into larger mining units to reduce the size of the problem and ignore geological uncertainty. The hybrid methods mentioned now make extraction decisions at the block level and account for geological uncertainty. Lamghari and Dimitrakopoulos (2015) considered a single open-pit mine supplying material to multiple processors and proposed a two-stage stochastic programming model to simultaneously optimize the extraction and processing decisions. The authors developed a fix-and-optimize scheme that exploits the structure of the problem and uses relaxation and decomposition techniques to obtain an initial solution. An adaptive large neighborhood search heuristic (ALNS) is then applied to improve this solution. Basically, ALNS uses multiple destroy and repair methods within the search. At each iteration, a destroy method is used to remove a certain number of variables from the current solution, returning an infeasible solution. Then, a repair method rebuilds the partial solution and returns a feasible solution. This feasible solution is either accepted as a new current solution or rejected according to some pre-specified rule. ALNS alternates between destroying and repairing the current solution until some stopping criterion is met. At a given iteration, the destroy/repair method to be used is selected according to an adaptive probabilistic mechanism, which can be seen as a learning mechanism. More details about ALNS are provided in Ropke and Pisinger (2006). Lamghari and Dimitrakopoulos (2016a) developed two hybrid methods for mining complexes with a single mine, multiple processors, and multiple stockpiles. The first method is a very large-scale neighborhood search heuristic using network flow techniques to efficiently search for improving solutions in a very large neighborhood (Ahuja et al. 2002). The second method combines variable neighborhood descent and network flow techniques. Goodfellow (2014) developed a hybrid method combining simulated annealing and particle swarm for open-pit mining complexes with capital expenditures.

2.5 Summary and Suggestions for Future Research

There has been much research done on optimizing strategic mine planning decisions. Until recently, most contributions dealt with simplified models, failing to incorporate the characteristics of real-life applications such as geological uncertainty, multiple processors and stockpiles, nonlinear recoveries, and so on. In the last decade, however, there has been a sustained development of models that integrate different components and aspects of mining complexes and explicitly account for geological uncertainty, as this is essential to improving the overall mineral chain performance.

Obviously, dealing with realistic concerns adds complexity to the problem, which is already difficult to solve in its simplified form (without taking into account all the realistic aspects). As a result, there has also been a sustained development of methods capable of producing high-quality solutions to complex problems within short computing times because, as discussed in the previous sections, exact methods, although they guarantee an optimal solution, become impractical if the size of the problem is large. Research on exact methods has tried to exploit the problem structure to devise efficient methodologies, but such methods have been demonstrated to be successful only for small-scale problems, despite the increased power of computers. To address large and complex problems of practical interest, researchers have proposed either aggregation techniques to reduce the size of the problem so that the resulting model is of tractable size and can be solved using exact methods, or metaheuristics, or methods combining (meta)heuristics and exact methods. The use of these approaches substantially increases the size of the instances that can be solved. However, each of these approaches presents some weaknesses.

Aggregation can severely compromise the validity and usefulness of the solution, causing loss of profitability and possibly even leading to infeasible solutions. Approaches based on metaheuristics have been proven to be successful for solving large-scale instances without resorting to aggregation. They do not guarantee optimality, but effective implementations of such methods are likely to obtain near-optimal solutions in a reasonable amount of time, as attested by different studies. Despite their advantages, metaheuristics have two flaws. First, they might involve a relatively large number of parameters and/or algorithm choices, and they generally do not provide guidance on how to make such choices. Therefore, it is not always clear a priori which choices will perform better in a particular situation, meaning that tuning might be required if dealing with new instances of the same problem. Second, they are problem-specific methods. Problem-specific methods can often obtain excellent results for the problem they have been designed for, but they are not readily applicable to other problems or other variants of the same problem. They have to be adapted to the new problem, and if so, they might not perform as well as on the original problem. Some approaches that combine (meta)heuristics and exact methods are also limited by the same weakness; that is, they are tailored to one specific case.

As is evident from the above discussion, there is a need for solution approaches that are able to tackle large-scale instances without resorting to aggregation, that are self-managed, and that are more general than currently existing methodologies. The latter feature is particularly important for the simultaneous optimization of mining complexes since, as mentioned in the previous sections, the components of a mining complex vary from one mining operation to another. A general algorithmic framework that is reusable without major structural modifications is thus more appropriate than a problem-specific approach that must be re-adapted (if this is possible) to each new mining complex tackled. Hyper-heuristic approaches could respond to this need.

Operating at a level of abstraction above that of a metaheuristic, a hyper-heuristic is an emergent search methodology that seeks to automate the process of selecting and combining simpler heuristics or of generating new heuristics from components of existing heuristics in order to solve hard computational search problems (Burke et al. 2003; Ross 2005; Burke et al. 2013). A hyper-heuristic can be seen as an algorithm that tries to find an appropriate solution method at a given decision point rather than a solution. We believe that employing hyper-heuristics is a direction worth pursuing to tackle the large and complex mine scheduling problems. Machine learning, data mining, and data analytics techniques could be investigated to design mechanisms to choose low-level heuristics. Another direction worth pursuing involves developing frameworks to enable the use of metaheuristics as low-level heuristics (meta-hyper-heuristics). Meta-hyper-heuristics are particularly promising as they provide a more diverse and powerful set of algorithms to the high-level strategy. Hybridization of metaheuristics with integer programming techniques also deserves further investigation. By exploiting the advantages of these different algorithmic concepts at different stages of the solution process, a better performance can be achieved. Finally, note that some of the approaches outlined above might be computationally expensive. Additional research on parallelization should prove valuable to speed up the solution process.

The discussion above concerns solution methods. In terms of modeling geological uncertainty, approaches that allow the models to be updated as new information about the deposit is obtained are worth investigating. There has been more research done in this vein in petroleum than in mining, and this is something that the mining community can learn from. The research that has been done in petroleum is outlined in the next section.

3 Oil Field Development and Operations

The first applications of optimization techniques in the petroleum industry date back to the early 1950s (Charnes et al. 1954). Since then, the petroleum industry has been a heavy user of operations research to support its “underlying” activities. There are many important problems studied in the literature related to all petroleum industry activity ranging from exploration, production, pipeline development, transportation, refining, wholesaling, inventory, and retailing. An overview of some of these problems can be found in Butler (1988) and Breton and Zacour (1991). This section focuses only on oil field development and operations (exploitation).

3.1 Background and Definitions

We give a brief discussion of oil field development and operations and introduce some terminology that will be used in the rest of the paper. A more detailed discussion can be found in the books by Jahn et al. (1998) and Ahmed (2006).

An oil reservoir is a subsurface formation containing a natural accumulation of oil and gas that is confined by impermeable rock. The three fluids (oil, gas, and water) are separated in three horizontal layers according to their densities. The bottom layer is water, the central layer is oil, and the top layer is gas. The gas–oil and oil–water contacts are not as distinct as they would be in a tank, as there are capillary pressures in the reservoir. There is often gas dissolved in the oil under the natural reservoir pressure.

An oil field is an area consisting of a single reservoir or multiple geologically related reservoirs all grouped on or related to the same individual geological structure with a series of wells drilled to extract the oil and gas from the reservoir. The oil wells are placed in the oil field in a pattern that seeks to optimize the production of oil in the field. The oil rises to the surface under natural pressure by the gas, water, and rock in the oil reservoir, or by artificial drive methods such as water injection. Broadly speaking, there are two categories of wells: production wells and injection wells. A production well is used to extract oil or gas from the reservoir, while an injection well is used to inject/pump fluids (air, steam, water, natural gas, gas liquids, surfactants, alkalines, polymers, etc.) into the reservoir for the purpose of increasing recovery efficiency from nearby production wells by increasing pressure within the reservoir.

There are different ways to drill oil wells, each performing optimally in different geological formations and according to the specific configuration of hydrocarbons in the reservoir. The simplest way to drill an oil well is vertically. However, a vertical well can only access oil that immediately surrounds the end of the well. More common are wells drilled deviated from the vertical to a more or less moderate degree. A variation is a multilateral well, which has more than one branch radiating from the main borehole, each of which can drain a separate part of the reservoir. A horizontal well, on the other hand, is a well that is drilled to 80\(^{\circ }\) or more from the vertical. First, the well is drilled on a vertical path to a point just above the reservoir, the kick-off point, from which it is drilled at a gradually increasing angle until it reaches the horizontal, or close to it. The well is drilled until the pipe has reached a certain horizontal distance inside the reservoir. Because of geological uncertainty, drilling a horizontal well bears a certain degree of risk. For example, an improper estimation of the precise depth of the reservoir might see the well drilled through the reservoir before the calculated kick-off point. Despite the risk, an operator might choose to drill a horizontal well, as horizontal wells have potential to produce at high rates due to the fact that reservoirs tend to be longer and wider laterally than they are deep, and thus the horizontal well is in greater contact with the reservoir and can reach more of the reservoir than a conventional well can.

The quantity and quality of the reserves in an oil field, as well as the rock and fluid properties of the reservoir, are estimated by information gathered through seismic surveys and limited drilling. Once the field is found to be capable of producing hydrocarbons in sufficient quantities to justify commercial exploitation, the next stage is to develop it. At this stage, a set of decisions should be made regarding the design and operation of the oil field (Haugland et al. 1988). Design includes decisions related to the design of the production system such as the number and location of wells (for production and injection). Operations is concerned solely with the operation of the production system such as determining production rates and injection rates over time. The decisions above are constrained by the reservoir properties and different technical restrictions. The amount of oil that is recoverable is determined by a number of factors, including the permeability of the rocks, the strength of natural drives (the gas present, pressure from adjacent water or gravity), and the viscosity of the oil. The lifetime of the field is divided into a finite set of periods, and at each period, the production from each well cannot exceed the capacity of the platform. Additionally, in order to keep production possible, the pressure in each well must be above a specific level.

Three oil field development problems will be reviewed in the next sections: well placement, well control, and general oil field development, the last of which combine the first two. The main features of these problems and the solution techniques used to solve them are outlined, with an emphasis on recent simulation–optimization methods in which both techniques interact to find near-optimal solutions.

3.2 Well Placement

In the well placement problem (WPP), also known as well location or well positioning problem, the field is discretized into reservoir blocks. A set of potential locations of wells (centers of reservoir blocks) is given, but which wells to drill and in which sequence they should be drilled remain to be decided. Decisions might also include the number of wells to drill, their type (injection or production; vertical, horizontal, deviated, or multilateral), and their drilling trajectories. It is assumed that the control settings of the wells, such as pressures, are known and fixed. Typically, decisions are subject to the following physical restrictions: (1) the wells must be located within the reservoir grid; (2) their length cannot exceed a pre-specified value; and (3) any two wells must be at least some pre-defined distance apart. Constraints on production might also be taken into consideration and ensure that the water production is below a certain limit and/or the oil production is at least equal to the demand. The objective function usually seeks to maximize the NPV. Other alternative objective functions include maximizing cumulative oil production or minimizing bypassed oil, i.e., oil that is not going to be produced from the reservoir by the given set of wells, or minimizing the amount of produced water. Assessing the value of a potential solution to the WPP, and even checking its feasibility in some cases, is a time-consuming operation that requires the use of a reservoir simulator (Aziz and Settari 1979; Islam 2010). The simulator describes the interactions between the variables and numerically solves a set of discretized nonlinear partial differential equations to predict the flow of fluids (gas, oil, and water), and thus the production profiles associated with the solution.

As noted by Ciaurri et al. (2011b), the WPP is a complex mixed-integer nonlinear programming problem, which is further complicated by computationally expensive function evaluations/production profiles from reservoir simulation. Several methods have been proposed to solve it over the last 20 years. These methods can be classified in two families:

  1. (a)

    Gradient-based methods, which use derivatives of the objective function to define search directions. For a more detailed discussion of these methods, we refer the interested reader to Snyman (2015).

  2. (b)

    Derivative-free methods, which do not require derivative information, but rather compute values of the objective function or build and use a surrogate model of the objective function to guide the search. A more detailed discussion of these methods is given in Conn et al. (2009) and Rios and Sahinidis (2013). Note that the metaheuristics outlined in Sect. 2 can be seen as derivative-free methods.

In what follows, we first review gradient-based methods, followed by derivative-free methods.

3.2.1 Gradient-Based Methods

Two main broad classes of approaches can be identified in the literature: those that use adjoint-based techniques to calculate the gradient and those that approximate the gradient using numerical methods. These two approaches are reviewed in the following sections.

3.2.1.1 Adjoint-Based Approaches Most of the gradient-based methods proposed in the literature for the WPP are approaches where the problem is first transformed into a continuous one and an adjoint or co-state equation is then used to rapidly obtain derivative information (Pironneau 1974; Bryson and Ho 1975).

Zandvliet et al. (2008) considered the placement of a single vertical well in a 2-D reservoir model. The objective function to be maximized is the NPV. A novel feature of the algorithm proposed by the authors is the use of the concept of pseudowells. Those are wells surrounding the well whose location is to be optimized, that produce or inject at a very low rate, and consequently have a negligible effect on the reservoir’s performance. At each iteration, the gradients with respect to the pseudowells’ flow rates are calculated using an adjoint model. Then the pseudowell with the largest gradient value is identified, and the well is moved to its location. The search terminates when it encounters a local optimum. Sarma and Chen (2008) enhanced the above approach by computing the gradients with respect to the well location variables rather than with respect to the pseudowells’ flow rates, while Vlemmix et al. (2009) extended it to optimize the trajectory of a deviated well.

A slightly different approach was used in Wang et al. (2007) to determine the location of a single injection well. Initially, an injection well with a constant rate is placed in each grid block. Then, to improve the objective function, the gradients with respect to the flow rates are iteratively calculated using an adjoint model. As the algorithm progresses, the flows in some wells are driven to zero, and such wells are eliminated. The process continues until all wells but one are eliminated. More recently, the authors have extended the algorithm to the multi-well case, where the number of wells to be drilled is not specified a priori (Zhang et al. 2010).

3.2.1.2 Approximation Approaches Two major techniques have been used in the literature. The first, called simultaneous perturbation stochastic approximation (SPSA), can be viewed as a stochastic version of the steepest descent method (Spall 2003). It starts from a random position, and then, at each iteration, chooses a random direction in the search space. By using two evaluation points in the selected direction and its opposite, the algorithm determines an improving direction, gets an estimate of the value of the derivative of the objective function, and takes a step in the improving direction. The step length is the product of the approximate value of the derivative and a factor that decreases with successive iterations. The process terminates when a maximal number of iterations is performed or after a maximum number of consecutive iterations without any significant progress. The second approximation method, finite difference gradient (FDG), is similar to SPSA except that instead of choosing a random direction in the search space as SPSA does, FDG computes the search direction by a two-sided finite difference approximation of the gradient in a component-wise fashion (Spall 2003). Therefore, FDG can lead to better search directions, but at the expense of more function evaluations at each iteration (2N versus 2 evaluations, N being the dimension of the search space).

Bangerth et al. (2005) considered optimizing the location of one injection well. The authors assume that the properties of the reservoir are known and that there are a few wells already operating in it. They also assume that operation and drilling costs are independent of the well location. The objective function consists of maximizing the total revenues from produced oil over all production wells minus the cost of disposing produced water and the cost of injecting water. To solve the problem, the authors proposed an integer version of the SPSA described above. In a later paper, Bangerth et al. (2006) compared SPSA to FDG on two example cases involving single and multiple wells, respectively. The two algorithms were also compared to three other derivative-free algorithms; namely, a very fast simulated annealing algorithm (VFSA) (Ingber 1989), which is a variant of the simulated annealing algorithm outlined in Sect. 2.2.2; a Nelder–Mead (N–M) simplex algorithm, also referred to as simplex or polytope algorithm (Nelder and Mead 1965); and an adaptation of genetic algorithms, whose principles are summarized in Sect. 2.2.2. The results of the comparison carried out by Bangerth et al. (2006) indicated that both SPSA and VFSA are more efficient than the other algorithms. When comparing SPSA to VFSA, the results showed that VFSA was more robust and reliable than SPSA; however, it is more computationally expensive.

3.2.2 Derivative-Free Methods

As mentioned earlier, derivative-free methods do not involve the computation of derivatives for the objective function. We are aware of seven main types of derivative-free methods that have been applied to the WPP: simulated annealing (SA), genetic algorithms (GA), particle swarm algorithms (PSA), harmony search (HS), bound optimization by quadratic approximation (BOBYQA), covariance matrix adaptation evolution strategy (CMA-ES), and generalized pattern search (GPS) methods. In the following sections, we report on implementations of these seven algorithms to the solution of the WPP. The basic ideas of the first three methods were outlined in Sect. 2.2.2. The basic ideas of the other methods will be outlined as we go along.

3.2.2.1 Simulated Annealing (SA) One of the first derivative-free methods applied to the WPP is due to Beckner and Song (1995). They considered the well placement and drilling schedule of twelve horizontal wells of fixed length and orientation, with the objective of maximizing the NPV. The authors formulate the problem as a traveling salesman problem (TSP) and solve it using a simulated annealing algorithm. Norrena and Deutsch (2002) extended the approach of Beckner and Song (1995) to handle vertical and deviated wells, as well as multiple objectives.

3.2.2.2 Genetic Algorithms (GA) Genetic algorithms (GA) are among the most frequently applied derivative-free methods in well placement due to their little need for information about the problem domain and their ease of implementation and parallelization.

An early genetic algorithm for the WPP was developed by Bittencourt and Horne (1997), who considered determining the placement and type (vertical or horizontal) of 33 wells so as to maximize the NPV. The authors used Fang’s algorithm to generate the initial population (Fang 1980). To improve the search efficiency, the polytope method (Nelder and Mead 1965) and elements of tabu search (Glover and Laguna 1997) were used. Yeten et al. (2003) considered the optimization of the type, location and trajectory of non-conventional wells (monobore and multilateral wells). They proposed a GA algorithm hybridized with a local search method. The local search method is a hill climbing procedure applied to the best solutions of each population. To speed up the computational times, an artificial neural network is used instead of the simulator to approximate the objective function values and identify the best solutions in the current population. Simulations are then used only for these solutions. To reduce the time required for simulations, a well upscaling technique is used. The authors also investigated the effects of geological uncertainty on the solution and found that the optimal type of well can differ, depending on whether single or multiple realizations of the reservoir geology are considered.

Another GA application to optimize the type, location and trajectory of non-conventional wells under geological uncertainty can be found in Artus et al. (2006). An interesting feature of this work is that a statistical proxy based on cluster analysis is used to rapidly estimate the objective function values. This proxy provides a cumulative distribution function (CDF) of the objective function, which is used to select a subset of scenarios most appropriate for full simulation. The authors report that by simulating only 10% of the scenarios, results comparable to exhaustive simulation are obtained.

The approach used by Guyaguler and Horne (2004) to account for geological uncertainty is based on the utility theory framework (Holloway 1979). To solve the problem, the hybrid genetic algorithm proposed in Guyaguler et al. (2000) was used. This algorithm combines GA and the polytope method. Moreover, rather than evaluating the objective function, the algorithm uses proxies to estimate it, thus enabling each iteration to be carried out in less time. Both artificial networks and ordinary kriging proxies were explored, and the latter proved better. Like Guyaguler and Horne (2004), Ozdogan and Horne (2006) also used the hybrid genetic algorithm of Guyaguler et al. (2000) to address the WPP with geological uncertainty. However, the approach used to handle geological uncertainty is different, as it integrates a pseudo-history concept that enables the subsequent placement decisions to benefit from the field data acquired as the new wells are drilled. That is, history-matched models are updated as new information is obtained. The implementation of GA proposed by Morales et al. (2011) is also for the WPP under geological uncertainty. It allows the user to specify a risk aversion parameter based on which the solution is selected.

An adaptation of a variant of the genetic algorithm, known as GENECOP III (Michalewicz and Nazhiyath 1995), was proposed by Emerick et al. (2009) to simultaneously optimize the number, location, and trajectory of producer and injector wells while satisfying various linear and nonlinear constraints. This GA variant is based on concepts of co-evolution and repair algorithms used to transform infeasible solutions visited during the search into feasible ones. Lee et al. (2009) implemented a GA, along with a node-based configuration, to optimize the number, location and trajectory of horizontal wells. With respect to the previous algorithms, Lee et al. (2009) do not assume a straight line for the well trajectory. The horizontal well can have multiple kick-off points.

Other studies concern evaluating the impact of the different parameters of a GA on the algorithm’s performance and tuning them empirically. Such studies include the study of Montes et al. (2001), who considered the placement of vertical wells and that of Bukhamsin et al. (2010) who considered multilateral wells. Bukhamsin et al. (2010) also compared two variants of GA: a binary GA and a continous GA. The results show that the latter yields better results.

3.2.2.3 Particle Swarm Algorithms (PSA) Particle swarm algorithms (PSA) were first applied by Onwunalu and Durlofsky (2010) for the optimization of well type and location. The authors compared PSA with previously developed SPSA and GA methods on different types of problems, involving vertical, deviated, and dual-lateral wells. They also performed an analysis of various PSA parameters on solution quality. The results showed that PSA is superior to GA and can generally produce better solutions, while both PSA and GA outperform SPSA. The authors later extended their algorithm to optimize the type and orientation of well patterns (Onwunalu and Durlofsky 2011). The new algorithm involves two phases, both using particle swarm heuristics. In the first phase, the algorithm optimizes the parameters that define the patterns. In the second phase, which can be viewed as an improvement phase, the algorithm considers solely the patterns found during the first phase and tries to improve well locations within them. The proposed algorithm is particularly well suited for large-scale problems, as its complexity does not depend on the number of potential wells.

Nwankwor et al. (2013) proposed a hybrid algorithm where PSA is used within a differential evolution (DE) method (Storn and Price 1997). The algorithm was tested on three cases involving the placement of vertical wells, two of which account for geological uncertainty. Comparisons were made with results obtained by applying PSA and DE separately. These comparisons indicated that the combination of PSA and DE is beneficial, yielding the best results.

In Ding et al. (2014) a modified version of PSA was presented to address the WPP involving vertical wells. In this version, the value of the inertia parameter, used to update the position of the particles, is not fixed as in the basic PSA, but is rather modified during the run in an adaptive way. The authors showed that better results can be achieved by using this modified version. More recently, they extended the algorithm to address the case of horizontal and deviated wells (Ding et al. 2016).

3.2.2.4 Harmony Search (HS) Harmony search methods (HS) are inspired by an analogy with the improvisation process of jazz musicians and were initially proposed by Geem et al. (2001). Similar to GA and PSA discussed above, HS is also a randomized global search technique that iteratively evolves a population of solutions. At each iteration, a new solution is generated using operators similar to the crossover and mutation operators of the genetic algorithms. The new solution is then evaluated, and, if it is better than the worst solution in the population, it replaces it. The process is repeated until some stopping criterion is met.

As GA and PSA, HS is governed by several parameters, which are fixed a priori in basic HS. Afshari et al. (2011) proposed, the so-called improved harmony search (IHS), where the parameters are dynamically adjusted through the search. The algorithm was applied to determine the location of injection wells. To evaluate the objective function (NPV), the authors use a streamline simulator rather than the conventional finite difference (FD) and finite volume (FV) simulators typically used in the literature. Using example cases involving three 2-D synthetic fields and a 3-D real field, the authors showed that IHS improves on previous SA, GA, PSA, and HS algorithms.

3.2.2.5 Covariance Matrix Adaptation Evolution Strategy (CMA-ES) Another population-based randomized search algorithm that has been applied to solve the WPP is the so-called covariance matrix adaptation evolution strategy (CMA-ES) (Hansen and Ostermeier 2001). In CMA-ES, at each iteration, a population of candidate solutions is sampled using a multivariate normal distribution, whose parameters are adapted using feedback from previous iterations (guided by the values of the objective function that have already been calculated).

A CMA-ES algorithm for determining the locations and trajectories of multilateral wells was suggested by Bouzarkouna et al. (2012b). The authors assume that the number of wells to be placed and their type (injector or producer) are fixed. Consequently, the problem is modeled using continuous variables representing the coordinates of the sequence of points that determine the segments of the wells. To speed up the search process, a meta-model is built using true objective function evaluations collected during the optimization process (the objective function is approximated). The proposed algorithm was found to outperform GA over the example cases studied. It was later used by Bouzarkouna et al. (2012a) to solve the WPP under geological uncertainty.

3.2.2.6 Bound Optimization BY Quadratic Approximation (BOBYQA) The bound optimization by quadratic approximation (BOBYQA) algorithm was introduced by Powell (2009) to solve bound constrained optimization problems. The basic idea is to iteratively use a quadratic approximation of the objective function. At each iteration, the quadratic model is updated by solving a trust region sub-problem.

In a series of two papers, Forouzanfar et al. (2012) and Forouzanfar and Reynolds (2013) applied BOBYQA to optimize the location of vertical and horizontal wells and the trajectory of directional wells in 3D synthetic reservoirs, respectively. Since the method is designed for continuous optimization problems, in the first paper, the problem is modeled using four continuous variables; namely, the three spatial coordinates of the well center point and the length of the well. Two additional variables are considered in the second paper: the orientation angles of the well in the horizontal and vertical directions. In both papers, the NPV is maximized. The authors mention that BOBYQA is sensitive to the initial solution and suggest either applying the algorithm starting from different initial solutions or using the best engineering practice to generate the initial solution.

3.2.2.7 Generalized Pattern Search Methods (GPS) Generalized pattern search methods can be roughly described as iterative search procedures that, starting from an initial solution, progressively improve it by sampling the objective function at a finite number of points along a suitable set of search directions. At each iteration, a set of trial points on a mesh are selected and evaluated in an attempt to find a new incumbent. The mesh is centered at the current solution. It is constructed from a finite set of directions and scaled by a mesh size parameter. If a new incumbent is found, it becomes the new current solution, the mesh size is kept the same or increased, and the process is iterated. Otherwise, the mesh size is decreased. An in-depth discussion of GPS methods can be found in Audet and Dennis (2003), Kolda et al. (2003), Bogani et al. (2009), and Ciaurri et al. (2011b).

Mesh adaptive direct search (MADS) is a variant of GPS methods (Audet and Dennis 2006) that has been recently applied by Rahim and Li (2015) to solve the WPP under geological uncertainty. To reduce the number of scenarios used to model geological uncertainty to a manageable level so that the stochastic optimization problem is tractable computationally, the authors proposed an approach based on similarity, where a mixed-integer linear programming problem is solved to identify the subset of scenarios to be used within the optimization process.

3.3 Well Control

When the operations aspect is included and the placement aspect is ignored, the problem becomes the well control problem (WCP). In the WCP, the starting point is a set of wells, and one has to decide the production or operation strategies of each of them, e.g., flow rates or well pressures, also referred to as bottomhole pressures (BHPs). The WCP thus focuses on well controls as opposed to well locations and hence can be modeled using continuous variables. Typical objective functions are maximization of the NPV, maximization of the cumulative oil produced, maximization of the initial oil production rate, and minimization of the total volume of water injected or produced. Often, in addition to bound constraints that guarantee that the pressure in each well lies between a lower and an upper bound, maximum well water cut constraints are also considered in order to restrict the percentage of water in the produced fluid. In some applications, upper limits are imposed on the water injection rate.

The WCP has a nonlinear objective function and often nonlinear constraints, whose evaluation generally requires performing reservoir simulations. It is solved with nonlinear programming methods. In the next sections, we review some of these methods. We first discuss gradient-based methods, followed by derivative-free methods.

3.3.1 Gradient-Based Methods

Adjoint-based methods are the most widely used methods for the WCP. As mentioned earlier, in these methods, the gradient of the objective function is efficiently computed using adjoint procedures based on optimal control theory. These adjoint procedures are embedded within different nonlinear programming techniques to solve the WCP. Early work on this topic was initiated by Asheim (1988), who used a generalized reduced gradient method. A conjugate gradient method was suggested by Zakirov et al. (1996), while steepest ascent methods were proposed in Brouwer and Jansen (2004), Zandvliet et al. (2007), and Van Essen et al. (2011). Recent work includes Suwartadi et al. (2015), who proposed a Lagrangian barrier method to handle nonlinear constraints. Other techniques to handle nonlinear constraints were analyzed in Sarma et al. (2005a, 2008). In the first paper, the authors used a sequential quadratic programming algorithm (SQP), while in the second paper, they used a conjugate gradient method. SQP is known to be one of the most effective methods for nonlinearly constrained optimization problems (Powel 1978; Nocedal and Wright 2006). Broadly speaking, the algorithm solves a sequence of quadratic programming subproblems obtained by replacing the objective function with a quadratic approximation and the nonlinear constraints with linear approximations. For unconstrained problems, SQP reduces to Newton’s method. Volkov and Voskov (2016) investigated the impact of the time stepping strategy on solution quality for constrained WCP, when solved using SQP along with adjoint gradient methods. Doublet et al. (2009) compared an adjoint-based method to an alternate method where the problem is first transformed into an augmented lagrangian saddle point problem and then solved using the Karush–Kuhn–Tucker (KKT) conditions. They reported that both methods are comparable in terms of solution quality, but that the KKT-based method provides better computational performance. For a detailed view of various aspects of adjoint-based methods and further references, see Jansen (2011).

Adjoint-based methods are efficient, but they require access to the reservoir simulator source code. To overcome this disadvantage and use the simulator as a black-box, some authors have investigated methods where the gradients are numerically computed from function evaluations; that is, from the simulator output. Wang et al. (2002) proposed an SQP algorithm, while Yeten et al. (2002) suggested a conjugate gradient method. Chen et al. (2010) developed an augmented lagrangian method where all constraints, except the bound constraints, are penalized in the objective function. The so-obtained Lagrangian function is approximated with a quadratic model that is iteratively optimized using a trust-region gradient projection method and updated. Do and Reynolds (2013) and Yan and Reynolds (2014) discussed several methods that approximate the gradient and compared them.

The studies cited above do not account for geological uncertainty. To address geological uncertainty, two approaches are typically used in the literature. In the first approach, production optimization is performed over multiple realizations of the reservoir. Few studies have considered this approach. Van Essen et al. (2009) proposed a steepest ascent algorithm to maximize the expected NPV. To compute the gradient of the objective function, the adjoint method in Brouwer and Jansen (2004) was used. Fonseca et al. (2016a) also used a steepest ascent algorithm to maximize the expected NPV, but instead of using an adjoint method to compute the gradient of the objective function, the authors approximate the gradient using an ensemble optimization technique. Note that ensemble-based gradient methods have also been used by the authors in deterministic settings (Fonseca et al. 2015, 2016b). Alhuthali et al. (2010) considered two different problems: The first one seeks to maximize the expected NPV while minimizing standard deviation, and the second one minimizes the worst case NPV. The two problems were solved using an SQP algorithm, in which the gradients and Hessians were analytically computed. Maximizing the expected NPV while minimizing standard deviation was also considered by Liu and Reynolds (2016a), who applied an augmented lagrangian method with the gradients provided with an adjoint procedure. In another paper, the authors applied a steepest descent method to maximize both the long-term and short-term NPVs (Liu and Reynolds 2016b).

In the second approach to addressing geological uncertainty, called closed-loop reservoir management, production optimization is alternated with an extra step where the reservoir model is updated. This extra step allows reducing uncertainty as new information becomes available and is referred to as model updating or history matching or data assimilation. Among the first contributions dealing with the closed-loop reservoir management were Aitokhuehi and Durlofsky (2005) and Sarma et al. (2005b), who used numerically computed gradients and gradients calculated using adjoint procedures, respectively, within a conjugate gradient algorithm. Similar approaches have since been suggested, in which different gradient-based methods have been used (Naevdal et al. 2006; Sarma et al. 2006; Jansen et al. 2009; Chen et al. 2010). Wang et al. (2009) compared a steepest ascent algorithm to a simultaneous perturbation stochastic approximation algorithm (SPSA; c.f. Sect. 3.2.1) and found that the former is more efficient. Van Essen et al. (2013) proposed a two-level strategy that combines closed-loop reservoir management with model predictive control of production. More recently, Bukshtynov et al. (2015) proposed a framework in which the history-matching component is dealt with using the state-of-the-art SQP algorithm with the gradients provided using an adjoint procedure, while the optimization component is tackled using a sequential convex programming algorithm based on the method of moving asymptotes (Svanberg 1987). The objective function is replaced by its convex approximation, and the gradients are generated using an adjoint method. The proposed algorithm has been found to outperform SQP. Another framework has been developed by Barros et al. (2016) to assess the value of information (VOI) in the context of reservoir management, but it is, however, computationally expensive as it involves repeatedly applying robust optimization and data assimilation.

As mentioned earlier, even assessing the value of a potential solution to the WCP is a time-consuming operation that requires the use of a reservoir simulator. Different strategies have been proposed in the literature to speed up the simulation runs. Some authors have proposed reduced-order modeling procedures based on proper orthogonal decomposition, in which the reservoir states are represented in terms of a reduced set of variables (Van Doren et al. 2006; Markovinovic and Jansen 2006; Trehan and Durlofsky 2016). A detailed description of these techniques, together with a detailed literature survey of work to date in this topic within well control optimization, is provided in Jansen and Durlofsky (2016). Other authors have developed multiscale regularization methods, which enable regularizing the optimization problem in terms of multiscale reparameterization of the control variables (Lien et al. 2008; Oliveira et al. 2015).

3.3.2 Derivative-Free Methods

In the first attempts to optimize well controls using derivative-free methods, genetic algorithms (GA, c.f. Sect. 2.2.2) were often used. Harding et al. (1996) proposed a GA with a specialized crossover operator and compared it against four other methods: simulated annealing (SA, c.f. Sect. 2.2.2), sequential quadratic programming (SQP, c.f. Sect. 3.3.1), a hybrid of SA and SQP (HSA), and a memetic algorithm (MA) that combines GA and SQP. In the latter algorithm, SQP acts as a local search method used to improve each new solution produced by GA. Computational results reported by the authors indicate that MA outperformed all other methods, followed by GA, HSA, SQP, and finally SA. The authors also discussed the effects of the parameters of GA and SA on the search efficiency. Other GA and SA implementations were developed by Yang et al. (2003) to deal with production–injection operation systems. The authors reported that both methods were found stable and efficient. Almeida et al. (2007) introduced a GA for optimizing smart wells’ controls; that is, the opening and shutting of valves in these wells. The stochastic version of the problem accounting for technical uncertainty was considered. In a later paper, the authors extended the approach to account for geological uncertainty as well (Almeida et al. 2010). Yasari et al. (2013) also accounted for geological uncertainty. Moreover, they considered multiple objectives rather than a single one. To solve the multi-objective problem, they used a variant of GA called non-dominated sorting genetic algorithm (NSGA) proposed by Deb et al. (2002).

Another alternative to GA recently used in the literature is pattern search methods, also known as direct search methods. Ciaurri et al. (2011a, b) considered generalized pattern search (GPS, c.f. Sect. 3.2.2) and Hooke–Jeeves direct search (HJDS) and compared them to GA and SQP. HJDS can be viewed as a particular case of GPS. Two types of moves are performed within HJDS. The first one, the exploratory move, is designed to acquire knowledge about the objective function by moving in directions parallel to the coordinate axes. The gathered information is then combined into a pattern that indicates a probable direction for improvement. The second type of move, the pattern move, uses information acquired in the exploratory moves, and accomplishes the actual optimization of the objective function by moving in the direction of the established pattern. Each pattern move is followed by a sequence of exploratory moves that update the pattern. More information about HJDS can be found in Hooke and Jeeves (1961). Since HJDS and GPS are designed for unconstrained optimization, Ciaurri et al. (2011a, b) also considered and compared two techniques for handling constraints; namely, penalty functions and filter methods (Nocedal and Wright 2006). The results reported by the authors indicated that filter methods combined with GPS performed the best. GPS was, however, outperformed by the line-search derivarive-free method (LDSF) proposed in Asadollahi et al. (2014). In this paper, the authors also analyzed the performance of HJDS, SQP and the Nelder–Mead (NM) method. In this comparison, it was found that, among the five tested methods, NM has the worst performance, SQP gets easily trapped in local optima, and that LDSF was the most robust and efficient.

Finally, note that, as for the WPP, some authors used surrogate models to provide fast approximations of the objective function and thus speed up the search. Queipo et al. (2002) proposed a neural network surrogate. To identify promising areas of the search space, the authors used adaptive sampling. The same surrogate model was recently used by Horowitz et al. (2013) along with an SQP algorithm.

3.4 General Oil Field Development (GOFDP)

Each of the two problems discussed in the previous sections ignores one important aspect of oil field development; i.e., the WPP does not include production and well control decisions, and the WCP does not account for the design aspect even though the two parts interact with each other. In the general oil field development problem (GOFDP), also referred to as the joint placement and control problem, both design and production decisions are simultaneously optimized. The solution of the GOFDP thus determines the number of wells to drill, their type, their location, the drilling schedule, and the production plan. The objective function and the constraints are similar to those mentioned in Sects. 3.2 and 3.3 and hence might be nonlinear. Finally, as for the WPP and WCP, checking the feasibility of a potential solution and/or computing its objective function value entails running a reservoir simulation, a time-consuming operation.

Obviously, a model that takes all these aspects into consideration is complex. One approach to solve it has thus been to decompose the problem into two sub-problems, namely the well placement and well control problems, and sequentially deal with them in an iterative manner. Specifically, the well control variables are fixed to values determined in previous iterations, and the well placement variables are optimized; that is, the WPP is solved. The solution of the WPP is a fixed parameter for the next problem, which optimizes the well control variables. The process is repeated until some stopping criterion is met. This approach is referred to as the sequential or the decoupled approach and leads to a sub-optimal solution. A simultaneous approach where both sub-problems are concurrently optimized has received more attention in recent years. It is worth noting that some approaches are referred to as sequential approaches in the literature even though they do not follow the framework outlined above. An example of such approaches is that in Humphries and Haynes (2015), who proposed a two-phase heuristic. In the first phase, an initial solution is generated by fixing the well controls to a simple scheme and solving the resulting WPP. This solution is then improved in the second phase of the solution procedure, where location and well control variables are simultaneously optimized.

We categorize the solution methods for the GOFDP into three groups: Gradient-based methods, derivative-free methods, and hybrid methods that combine different techniques. These methods are reviewed in the next sections.

3.4.1 Gradient-Based Methods

One of the first efforts to integrate both placement and control decisions into a single optimization problem is the work of Wang et al. (2007), who did not define well location variables explicitly. In their study, a constant rate well is initially placed in each grid block of the reservoir model. An improvement procedure then attempts to obtain a better solution by iteratively solving a WCP and eliminating wells whose flow vanishes, thereby identifying well controls and well locations as well. The WCP was solved using an adjoint-based method, and the solution procedure was tested on a 2-D example to determine the location and control settings of a single injection well. The heuristic in Forouzanfar et al. (2010) is an extension of this procedure to the multi-well case. It consists of two main stages. In the initialization stage, a total production/injection rate is determined via a gradient projection algorithm. Then the second stage is applied to determine the number of wells, their locations, and their rates. To compute the gradients, adjoint methods were used in conjunction with analytical methods. The method developed in Forouzanfar and Reynolds (2014) is very similar. The main difference is that wells that have been eliminated at a given iteration because their flow rate dropped to zero are allowed to be reopened in subsequent iterations. This flexibility yielded a more robust solution procedure.

A different approach to the GOFDP that explicitly defines well location variables was applied in Li and Jafarpour (2012). It is based on the sequential framework described earlier. To solve the well placement sub-problem, the authors used a coordinate descent random search method (Wright 2015), while a Newton algorithm was used to solve the well control sub-problem. Coordinate descent random search is a variant of the SPSA method, described in Sect. 3.2.1, in which only one component of the gradient vector is approximated and used to determine a descent direction. Li et al. (2013) extended the approach of Li and Jafarpour (2012) to handle geological uncertainty. The objective considered is to maximize the expected NPV over several geological realizations of the reservoir. Because numerical reservoir simulations are computationally expensive, the objective function is not evaluated at each iteration. Instead, it is approximated using a limited number of randomly selected realizations. Recently, Nabavi et al. (2015) proposed a formulation of the GOFDP that takes advantage of the problem structure. More specifically, the authors include the drilling cost in the objective function, which allows them to turn the problem into a sparsity promotion optimization problem and solve it using an iterative shrinkage thresholding algorithm with gradients provided by an adjoint procedure.

3.4.2 Derivative-Free Methods

Most of the studies employed PSwarm algorithms or their variants to solve the GOFDP. PSwarm is an iterative heuristic developed by Vaz and Vicente (2007) that combines pattern search and particle swarm (PSA, c.f. Sect. 2.2.2). Basically, each iteration consists of two steps: a search step and a poll step. In the search step, new solutions are provided via a PSA algorithm. Then the poll step, which uses a pattern search method, is applied to improve the best particle in the swarm. The poll step is skipped if the search step yields a new incumbent.

An implementation of the basic PSwarm algorithm for the GOFDP is due to Wang et al. (2015a). The authors sequentially solved three separate problems. The first problem determines the number of infill wells, while the second and third ones identify the well locations and controls, respectively. Humphries et al. (2014) extended the PSwarm algorithm to handle general constraints; that is, constraints other than bound constraints. The authors also refined the algorithm in several ways: (1) the global communication topology used by the search step is replaced with the random variable neighborhood topology; (2) the poll step, which is computationally expensive, is not called after each failure of the search step but rather after a user-specified number of consecutive failures; and (3) when performing the poll step, search directions are selected among those that induce large improvements. The approach was tested to determine the locations and controls of vertical wells. A follow-up paper (Humphries and Haynes 2015) considered horizontal and inclined wells. A more complex problem was studied in Isebor et al. (2013), who, instead of focusing only on simultaneously optimizing well locations and controls, also considered determining the number, type, and drilling schedule of the wells. To solve the problem, the authors developed a variant of the PSwarm algorithm that combines PS and MADS (mesh adaptive direct search) and can handle nonlinear constraints. The same approach was adopted by Isebor et al. (2014) and extended by Isebor and Durlofsky (2014) to account for geological uncertainty and multiple objectives. The authors examined maximizing both NPV and cumulative oil production, maximizing both long-term and short-term reservoir performance, and maximizing the expected reservoir performance while minimizing the risk associated with the worst scenario. Shirangi and Durlofsky (2015) also considered geological uncertainty but only one objective (maximizing the expected NPV over multiple geological realizations). They developed a closed-loop field development optimization framework, in which the geological models (realizations) are updated as new data are collected. An interesting feature of this work is that the optimization step is not performed with the full set of history-matched models but only with a representative subset that is dynamically adjusted via a sample validation procedure, which speeds up the solution process while making sure that the realizations considered at each iteration are sufficiently representative of the full set (as the optimization progresses, the number of realizations considered is increased if needed). Another approach to select a representative subset of realizations has been proposed by the same authors in Shirangi and Durlofsky (2016). Here, the objective is to choose a subset of realizations whose flow statistics are in compliance with those of the full set, to be used within the optimization process. This subset is, however, not updated as the optimization progresses. To select such a subset, the authors proposed and compared three cluster-based methods. The first one uses flow-based information, the second one uses geology-based information, and the third one is a combination of the first two. Both Shirangi and Durlofsky (2015) and Shirangi and Durlofsky (2016) applied the PSwarm algorithm of Isebor et al. (2014) to perform the optimization.

An algorithm based on the CMA-ES framework (c.f. Sect. 3.2.2) was presented and experimentally evaluated by Forouzanfar et al. (2015). In Wang et al. (2015b), CMA-ES was compared to three other derivative-free algorithms; namely, generalized pattern search (GPS, c.f. Sect. 3.2.2), particle swarm (PSA, c.f. Sect. 2.2.2), and a multilevel coordinate search algorithm (MCS, Huyer and Neumaier (1999)). The authors reported that MCS dominates the others over the case examples studied. Different studies have compared the simultaneous approach against the sequential approach (Isebor et al. 2013, 2014; Forouzanfar et al. 2015; Humphries et al. 2014; Humphries and Haynes 2015; Wang et al. 2015b). Results showed that the simultaneous approach is generally more effective, producing better solutions.

3.4.3 Hybrid Methods

So far, only a few papers have proposed hybrid approaches for the GOFDP. Bellout et al. (2012) combined gradient-based and derivative-free algorithms within a nested optimization framework. Specifically, the upper level consists of the well placement problem (WPP), and the lower level consists of the well control problem (WCP) for a given well configuration. The WPP was solved by a pattern search algorithm. For each solution visited by the algorithm (each well configuration), the control settings associated with that configuration are determined using a sequential quadratic programming algorithm (SQP, c.f. Sect. 3.3.1), in which the gradients are computed using adjoint procedures. The authors showed that a \(20\%\) increase in NPV can be achieved by solving the GOFDP using the nested approach compared to sequentially solving the separate WPP and WCP, but at the expense of longer computing times.

Ciaurri et al. (2012) formulated the GOFDP as a mixed-integer nonlinear programming (MINLP) problem. The proposed model was solved using general optimization software developed by Bonami et al. (2008). Integer variables were handled by a branch-and-bound procedure, while continuous variables were handled using an interior point algorithm. Tavallali et al. (2013) combined the outer-approximation algorithm with equality relaxation and augmented penalty, previously used by Viswanathan and Grossmann (1990) to solve general MINLP problems, with a local search improvement heuristic.

3.5 Summary and Suggestions for Further Research

Research has been undertaken on a variety of optimization problems arising in oil field development and operations. Increasingly, researchers are studying more realistic, and consequently more complex, problems. Specifically, the trend in the literature is to forgo the traditional approach of solving the well placement and well control problems independently and instead to optimize the two problems simultaneously. Sources of uncertainty, in particular geological uncertainty, are being taken into account, and there is a growing interest in considering problems with multiple objectives.

Various solution methods have been developed to address the studied problems, typically modeled as mixed-integer nonlinear programming problems. The literature shows that derivative-free methods, in particular population-based randomized search algorithms, are commonly used to optimize well placement, while gradient-based methods are often employed to optimize well controls. Gradient-based methods are appropriate when derivative information is available. They exhibit fast convergence and can successfully solve large-scale problems. However, they converge to local optima, and the quality of the solution obtained greatly depends on the initial solution (unless the problem at hand possesses some properties, such as convexity). Moreover, gradient-based methods require first derivatives, which are often expensive to obtain numerically. One way of alleviating this drawback is by using adjoint procedures that efficiently provide gradients. These procedures, however, require full access to the reservoir simulator source code, an option that is not always available. When the evaluation of the objective function is inaccurate, the gradient information is meaningless, making gradient-based methods useless. In such situations, derivative-free methods are the methods of choice.

The distinctive feature of derivative-free methods is that they do not require derivative information to guide the search. They only use objective function values and consequently are suitable even when the derivative information is unavailable. Derivative-free methods are generally simple and easy to implement. Furthermore, theoretical convergence results have been established for a class of them. Nevertheless, these methods have some drawbacks. First, they might require a large number of objective function evaluations, making them computationally expensive. This issue can be overcome by constructing surrogate models and/or by implementing parallel versions of the algorithms. Another drawback is that many of the derivative-free algorithms are governed by several parameters that cannot be tuned easily, as appropriate values for these parameters may depend on the instance to be solved, and thus, extensive experiments often need to be carried out to determine them. One way of handling this issue is to dynamically adjust the parameters through the search process, but, with very few exceptions, this approach is not usually adopted in the oil field literature. Finally, many of the derivative-free methods have been developed for unconstrained problems and thus must be combined with additional mechanisms to handle the constraints encountered in practical settings.

There appears to be room for performance improvements that could be achieved through the use of advanced optimization techniques. Metaheuristics constitute a promising approach in this direction, yet to be explored to its full potential. These derivative-free methods exhibit a number of interesting features that make them conducive to tackling field development and operations problems. To clarify, metaheuristics can solve difficult large-scale optimization problems with discrete and/or continuous variables; with non-differentiable, discontinuous, and/or noisy objective functions; and with any kind of constraint, linear or nonlinear. Moreover, they can handle both single- and multi-objective problems. As opposed to gradient-based methods, which terminate when a local optimum is reached (due to the non-convexity of oil field problems), metaheuristics can escape from a local optimum and perform an extensive search of the solution space in the hope of finding a near-optimal solution. This is generally achieved by allowing the search to move to non-improving solutions and even infeasible solutions. Additional mechanisms to both diversify and intensify the search are also usually included. Diversification forces the exploration of unvisited or rarely visited regions of the solution space, while intensification allows a more focused and thorough exploration of promising regions to ensure that the best solutions in these regions are found. Another strength of metaheuristics is their ability to easily adapt to structural changes of the problem (adding or removing constraints).

So far, only a subset of metaheuristics (simulated annealing, genetic algorithms, particle swarm, and differential evolution) has been investigated to address oil field development and operations problems. In most such studies, only basic implementations of these algorithms, following the generic search scheme, have been used. More involved implementations that exploit the problem structure and are adapted to its specific characteristics are likely to be more effective than their basic counterparts. Furthermore, as only a few of the many possible metaheuristic approaches have been adapted for the oil field development and operations problems, new methods can be drawn from the expertise accumulated in the field of metaheuristics. In particular, approaches such as tabu search, variable neighborhood search, and adaptive large neighborhood search, all based on search paradigms different from those used so far, are worthy of investigation. Hybridization, done either by combining complementary elements of different metaheuristics or by using metaheuristics in conjunction with local search approaches, such as gradient-based methods, also deserves further study as it is likely to make the search more effective and could lead to significant performance improvements. Finally, investigating other stochastic optimization approaches, such as the progressive hedging technique, which can be embedded into a metaheuristic framework, is another research direction worth pursuing. All the approaches mentioned above have been successfully applied in mining and are most likely to be effective for oil development and operations problems.

Despite their many advantages, metaheuristics are not a cure-all and also have two drawbacks. First, some metaheuristics involve a fairly large number of parameters, and thus one would wonder which parameters have a significant impact on the algorithm performance and how they can be adjusted. Second, there are many metaheuristics, each of which has its own particular algorithmic features and degree of flexibility, but the performance of a given algorithm might change depending on the problem under consideration. This raises the issue of which metaheuristic will be the most efficient for the problem at hand. Hyper-heuristics is an important step in the direction of overcoming these drawbacks as they carry out the choices of parameters and the choices of (meta)heuristics in an automatic way. An additional strength of these automated and self-managed methodologies, which integrate ideas from machine learning, is that they are general domain-independent search methodologies that try to find an appropriate solution method, rather than a solution as such. Therefore, hyper-heuristics are more general than the traditional optimization techniques and are readily applicable or easily adaptable to solve a variety of problems. For example, a hyper-heuristic developed for the open-pit mine scheduling problem can be applied to a well placement problem by replacing/adapting the set of low-level heuristics. Because they use only limited information about the problem to solve, hyper-heuristics might not be as effective as problem-specific metaheuristics, but this issue is offset by their aforementioned advantages.

Finally, although several studies have compared different solution approaches for oil field development and operations problems, the comparisons are problematic. For example, the study in Onwunalu and Durlofsky (2010) showed that the proposed genetic algorithm outperforms SPSA, while the opposite was found in Bangerth et al. (2006). Moreover, it is difficult to draw general conclusions from these studies since the authors often use different definitions of the success of an approach, and, more importantly, the methods are compared on different case studies. Future research could benefit from the generation of benchmark instances that can be used to evaluate competing approaches.

4 Conclusions

The paper provides an overview of the research on strategic open-pit mine planning and oil field development and operations that has been carried out over the last 20 years (since 1996), describing the main optimization problems studied and the foremost methods developed to solve them. It is clear from the review that the two fields (mining and petroleum) are receiving increased attention.

Early research was conducted on simplifications of reality, but in recent research, it is increasingly common to consider larger and more complex problems that account for various realistic aspects. For example, in petroleum, research has focused on simultaneously optimizing well placement and control because of the important interactions linking these two decisions. Likewise for mining, methods have been developed to simultaneously optimize various parts of the mining complex and several aspects and levels of planning, as integrating different components of the mining complex is essential to improving the overall mineral chain performance. In both mining and petroleum, there is a growing interest in considering geological uncertainty. The methods employed to solve these problems are also more sophisticated and more refined than those of the past. Because of the complexity and the size of the problems addressed in both mining and petroleum, almost all methods proposed in the literature are approximate methods, as instances of practical interest can only be handled by such methods. The overreaching goal is not to produce an optimal solution but to produce a solution of good quality in a reasonable amount of time.

Even though considerable progress has been made at the modeling and solving levels, there is still room for improvement to make both the mining and petroleum communities benefit from each other and benefit from recent advances in operations research. Indeed, the two fields share many similarities (natural and non-renewable resources for which the demand increases and the availability decreases, uncertainty, large-scale optimization problems, complex), and have been working on related research themes, with similar goals, but there is little interaction between them. In terms of solution methods, several techniques developed for mine planning can be adapted to devise enhanced algorithms for oil field development and operations. In terms of modeling geological uncertainty, research on history-matching; i.e., updating models to reduce uncertainty as new information is obtained, is more advanced in the petroleum field than it is in the mining field. Researchers in the mining community can definitely benefit from these developments. Additionally, in the petroleum field, in order to speed up the solution process, researchers have developed methods to dynamically select subsets of simulations during the optimization, rather than using the full set at each iteration. Methods such that the one proposed by Aliyev and Durlofsky (2016), are particularly interesting for addressing mining complexes with multiple independent sources of uncertainty. Finally, advanced optimization methodologies can help both mining and petroleum industries to improve production, meet production targets, reduce costs, maximize value, and ultimately make informed decisions regarding the potential sources of risk. It is important to go beyond problem-specific solution methods overloaded with parameters and to devise methods that are general, self-adaptive, and reusable, which can be applied to both mineral and petroleum production and solve realistic models in an efficient way. Hyper-heuristics seem to be a promising research direction, and research in this direction has barely been initiated.

Many advances have been made over the last 20 years but many opportunities still exist to contribute, and we hope that this paper will stimulate further research in these important areas.