1 Introduction

Mining is the process of extracting a naturally occurring material from the earth to derive profit. Operations research has been used extensively in mining to plan when and how to perform both surface and underground extraction; decisions entail how to recover and treat the extracted material, which is (i) metallic ores such as iron and copper, (ii) nonmetallic minerals such as sand and gravel, and (iii) fossil fuels such as coal.

Mining has five stages: (i) prospecting, or discovering a mineral deposit; (ii) exploration (including resource modeling), or determining the value of the deposit via estimation and simulation techniques, e.g., Krige (1951) and Deutsch (2004); (iii) development, i.e., obtaining land rights and stripping topsoil from the deposit; (iv) exploitation, i.e., extracting the material; and (v) reclamation, i.e., restoring the mined area to an environmentally acceptable state. Operations research has been used in mining, primarily for the development and exploitation stages. Studies evaluate the economic potential of a project, considering factors such as the size, shape, and location of the deposit, the mining method (e.g., open pit or underground), the deposit’s estimated ore content, estimated market prices, and the rate of ore extraction. Near-optimal long-range operational mine plans improve the economic viability of the project, or allow prospectors to turn their attention to more economical deposits as soon as possible (Lee 1984). If the project progresses, more detailed operational designs provide mine planners with specific extraction schedules at various levels of detail, e.g., monthly or yearly.

These operational plans suggest the sequence of extraction for notional three-dimensional blocks containing estimated (deterministic) amounts of ore and waste. Large excavators and haul trucks extract and subsequently transport the material to a processing plant or to an intermediate site (e.g., a mill, a leachpad, a stockpile), or to a waste dump, depending on the expected profitability of the material and processing-plant capacity. The rate at which the material is excavated and processed depends on initial capital expenditure decisions regarding purchasing equipment such as haul trucks, loaders, and processing plants, and installing infrastructure such as roads and rail lines. Processed ore can be sold according to long-term contracts or on the spot market. Waste is left in piles, which must ultimately be reclaimed when the deposit is closed. The rate at which material can be extracted from the deposit is governed by production constraints, while the rate at which it can be sent through a processing plant is governed by processing constraints.

Figure 1 depicts a deep surface mine that is typical of hardrock-metal deposits containing copper or fossil fuel deposits containing coal. Overburden (i.e., waste) must be removed before extraction can begin. Haul roads wind up through the mine from the bottom of the pit to the surface. Extraction occurs from benches, which are the floors from which material is mined.

Fig. 1
figure 1

Schematic illustration of an open-pit mine (Source: http://visual.merriam-webster.com/energy/geothermal-fossil-energy/coal-mine/open-pit-mine.php)

The purpose of our paper is three-fold: (i) to introduce the reader to classical operational mine planning problems whose solutions support design and scheduling in the development and exploitation phases of an open pit mining project; (ii) to describe and provide data sets for variants of these problems on which researchers can test existing and new algorithms using open-source data; and (iii) to encourage researchers to develop new, more accurate models and increasingly sophisticated algorithms to solve three types of open pit mining problems: the ultimate pit limit problem and two kinds of open pit block sequencing problems. This paper follows in the tradition of publicly available problem instances, beginning with NETLIB (Gay 1985), OR-Library (Beasley 1990), TSPLIB (Reinelt 1991), and MIPLIB (Bixby et al. 1992), all of which have spurred research interest in their respective fields.

In the remainder of this section, we give background on open pit mining operations, and explain constructs relevant for the optimization models we pose in our paper; we then describe the purpose of our mining library. The subsequent sections of this paper are organized as follows: In Sect. 2, we provide a brief overview of academic work on open pit mining problems. We give a mathematical description of three types of open pit mining problems in Sect. 3. Section 4 details data instances, including the format for numerical values used. Section 5 concludes with current numerical results for open pit production scheduling problems. We give the file format specifications in Appendix A.

1.1 Background

A common construct in open pit mining problems is the notion of spatial reference points called blocks. Geometric sequencing constraints (see Figs. 2 and 3) ensure that the pit walls are stable and that the equipment can access the areas to be mined. These precedence constraints ensure that blocks immediately affecting a given block’s ability to be mined are extracted before the given block is extracted. The relationship between block precedences is clearly transitive, i.e., if block a requires block b to be extracted, and block b requires block c to be extracted, then block a also requires block c to be extracted; this transitivity is implied by the original precedences. We can use this transitivity property to describe a precedence relationship as immediate if it is not implied by any other pair of precedences, allowing us to model precedence constraints simply by enforcing immediate precedences in our models.

Fig. 2
figure 2

Sequencing rules can be based, for example, on the removal of five blocks above a given block, block 6 (left) or on the removal of nine blocks above a given block, block 10 (right)

Fig. 3
figure 3

Sequencing approximation based on the removal of all blocks at a 45-degree angle above a given block, for three, eight and thirty levels

These sequencing rules can be thought of as approximations in strategic planning models to those used for tactical production scheduling. For example, if all the blocks on top of block number 10 in Fig. 2 are removed, block 10 could be still surrounded by eight blocks on its level, rendering the extraction of block 10 either extremely costly or impossible. In fact, “blocks” do not exist in practical mining operations. They simply serve as modeling tools to discretize the orebody. The units, sometimes termed “smallest mining units,” that are used for scheduling purposes, must be representative of the mining operation being modeled. (See, for example, Askari-Nasab et al. (2011) who present descriptions of and formulations for suitable block sizes.) For production scheduling at the tactical level, one may more realistically use aggregated blocks to fit the geology of the operation and the time fidelity of the model; Tabesh and Askari-Nasab (2011) present a clustering algorithm based on a similarity index to aggregate blocks into these smallest mining units. While Fig. 2 may adequately represent sequencing in a “flat” mine such as a limestone quarry or a bauxite mine, very complex sequencing rules may be required, especially in underground operations (see, e.g., O’Sullivan and Newman 2012) (Brickey 2012). Ultimately, we present the precedence format in our library in a very general way such that the user may specify any set of blocks as predecessors of a given block.

The open pit production scheduling problem, whose variants we subsequently mathematically define as (CPIT) and (PCPSP), seeks to determine when, if ever, to mine each block in the deposit and what to do with each block that is extracted, i.e., send it to a particular type of processing plant or to the dump. The objective is to maximize the net present value gained from the extracted material subject to spatial precedence constraints, and to various operational constraints. The simplest variant of this problem might only contain a single (upper bound) operational resource constraint, i.e., a production (or extraction) upper bound. More complicated variants possess multiple operational resource constraints, e.g., processing limits, lower bound operational resource constraints, inventory balance, and/or blending requirements.

We introduce a simplified version of the production scheduling problem that details the shape of the final pit, or part of the mine design. The ultimate pit limit problem, which we later mathematically define as \(\mathit{(UPIT)}\), takes as given an undiscounted value for each block in a deposit; this value is based on a selling price, an estimated quantity of ore and waste contained in each block, the corresponding costs associated with block extraction, and, if applicable, processing. The model then determines the pit boundary to maximize undiscounted ore value. This problem balances the ore-to-waste (stripping) ratio with the cumulative value of blocks in the pit boundaries. The ultimate pit limit problem ignores the dimension of time, and, hence, the time value of money. Omissions due to the lack of a temporal aspect include operational resource constraints, ore blending constraints, and stockpiling considerations. The problem also assumes that the cutoff grade, i.e., the grade that separates ore from waste, is fixed. The assumption is that blocks above a threshold ratio of ore to total tonnage are sent to a processing plant, whereupon value (based on selling price less extraction and processing costs) is derived from the block, while those whose ratio falls below the threshold are sent to the dump, whereupon a cost is incurred from having extracted the block. Open-pit mine design, in design problems more general than \(\mathit{(UPIT)}\), also includes the location and type of haulage ramps and additional infrastructure, as well as long-term decisions regarding the size and location of production and processing facilities.

1.2 Traditional and current solution methodologies

The solution of various instances of the ultimate pit limit problem, differentiated by price, results in a series of nested pits; a given (notional) selling price for the ore defines the smallest pit and increasing ore prices define larger, economically viable pits. Traditional open-pit production scheduling groups the nested pits within the ultimate (or largest) pit into pushbacks, where a single pushback is often associated with similar operational resource usage, e.g., extraction equipment. Within each pushback (which contains only a small subset of the overall number of blocks within the block model), an extraction sequence is then determined. Among pushbacks, an extraction sequence is also delineated. Depending on the homogeneity of the material being extracted and the time fidelity of the model, blocks in some pushbacks may be extracted before all blocks in a previously started pushback have been mined. The basic premise of this approach is that one can determine a cutoff grade policy to maximize net present value (NPV) subject to capacity and other operational constraints. Higher cutoff grades in the initial years of the project lead to higher overall NPVs; over the life of the mine, the tendency is to reduce the cutoff grade to a break-even level. Lane (1988), Fytas et al. (1987), and Kim and Zhao (1994), among others, address cutoff grades.

Three problematic aspects of this approach can be (i) the assumption of a fixed cutoff grade, which depends on an arbitrary delineation between ore and waste; (ii) the use of notional (and monotonically increasing) prices to construct arbitrarily defined nested pits or pushbacks; and (iii) the piecemeal approach to the entire optimization problem, which disregards the temporal interaction of operational resource requirements. Naturally, this can lead to suboptimal solutions to the production scheduling problem.

More recently, hardware, software, and algorithmic developments have allowed instances of (CPIT) and (PCPSP) to be solved as a monolithic problem. The corresponding models possess binary variables that determine whether or not a given block is mined in a certain time period. In some cases, additional (continuous) variables indicate the amount of a block sent to a particular destination in a certain time period. The objective maximizes net present value. The constraints, generally linear, reflect the definition of the production scheduling problem.

Many open pit mines are discretized into tens of thousands, or even millions of blocks. The ultimate pit limit problem can be viewed as a maximum closure problem (Lerchs and Grossmann 1965), and fast solution techniques currently solve even the largest instances well. However, the open pit production scheduling problem and its variants possess only an underlying network structure, i.e., they are not network flow problems in and of themselves. This problem and its variants not only account for time, which increases the number of variables dramatically, but also possess complicating side constraints to incorporate restrictions such as minimum and maximum operational resource usage per time period; model instances usually contain between 10 and 20 time periods although some instances, e.g., those that consider time fidelity finer than a year, can contain as many as 100 time periods. Corresponding problem instances contain millions or tens of millions of binary variables and hundreds of thousands, or even millions, of constraints.

2 Literature review

The seminal work of Lerchs and Grossmann (1965) provides an exact and computationally tractable (network-based) method for solving the ultimate pit limit problem; Underwood and Tolwinski (1998) and Hochbaum and Chen (2000), Hochbaum (2001), and Chandran and Hochbaum (2009), among others, extend this work. However, a solution to the ultimate pit limit problem specifies only the economic envelope of profitable blocks given pit-slope requirements, and necessitates that the revenue associated with the extraction of a block is fixed a priori. Furthermore, the problem ignores the time aspect of the production scheduling problem, and, hence, the associated operational resource constraints. The ultimate pit limit problem is fairly well defined. However, the production scheduling problem has many variants, all of which contain precedence constraints, as the ultimate pit limit model does. In addition to these constraints, production scheduling problem variants possess at least one upper limit on an operational resource constraint, and may accommodate one or more of the following considerations: (i) blending, (ii) lower bounds on production, (iii) lower bounds on processing, (iv) upper bounds on production, (v) upper bounds on processing, (vi) inventory, and/or (vii) variable cutoff grade. (Note that this terminology is a misnomer: A variable cutoff grade implies that the grade at which a block is classified as ore is allowed to vary based on the block and time period; however, this situation is better expressed as “no cutoff grade.”) In describing the open pit production scheduling models below, we mention those aspects that the models include.

The earliest work that addresses sequencing together with operational resource constraints, i.e., the production scheduling problem, is perhaps found in Johnson (1969), who proposes a very general linear program to maximize net present value subject to sequencing and operational resource constraints; he allows for a variable cutoff grade and proposes Dantzig-Wolfe decomposition to solve model instances. Because of the state of hardware and software at the time, he illustrates only small examples. Early computational work relies on the following simplifications: (i) blocks are aggregated into strata, e.g., Busnach et al. (1985), Klingman and Phillips (1988), and Gershon and Murphy (1989); (ii) binary block extraction decisions are relaxed to be continuous, e.g., Tan and Ramani (1992), Fytas et al. (1993); and/or (iii) the monolithic problem is addressed in stages, e.g., Sundar and Acharya (1995), Sevim and Lei (1998). Heuristics, e.g., genetic algorithms, also appear in the literature, e.g., Denby and Schofield (1994), Zhang (2006), though the examples tested are small.

Caccetta and Hill (2003) provide an exact approach to solving a monolithic production scheduling problem by defining variables representing whether a block is mined by time period t. The model contains precedence constraints, as well as operational resource constraints, processing plant grade constraints, and inventory balance constraints; they use a fixed cutoff grade. The authors use a branch-and-cut strategy combined with a heuristic to solve model instances. Ramazan (2007) assumes a fixed cutoff grade, and includes upper and lower bounds on processing, and upper bounds on production. He also includes a grade constraint. The author constructs aggregate “fundamental trees” to reduce the size of his production scheduling problem.

Researchers have used Lagrangian Relaxation, e.g., Dagdelen and Johnson (1986), in order to maximize net present value subject to constraints on production and processing. Akaike and Dagdelen (1999) extend this work by iteratively altering the values of the Lagrangian multipliers until the solution to the relaxed problem meets the original side constraints, if possible. Kawahata (2006) includes a variable cutoff grade. This research has been successful at solving some instances, though authors also report difficulty in obtaining convergence, or even determining a feasible solution for the monolithic problem. In addition to Lagrangian Relaxation, authors develop heuristics to generate good, feasible integer solutions. Amaya et al. (2009) assume a fixed cutoff grade and impose upper bound constraints on production and processing. The authors develop a random, local search heuristic that seeks to improve on an incumbent solution by iteratively fixing and relaxing part of the solution, and that produces solutions for the largest model instances solved to date, i.e., containing as many as four million blocks and 15 time periods.

Given the size and complexity of production scheduling problems, researchers realize that the ability to solve the associated linear programming relaxation without the use of the simplex method is fundamental to solving corresponding large-scale integer programs. The following authors exploit this idea: Boland et al. (2009) propose an aggregation scheme for their production scheduling model, which assumes a variable cutoff grade and possesses upper bound constraints on production and processing. The authors introduce aggregates of blocks grouped by precedence and use this construct to approximate a solution for the original, mixed integer program. Gleixner (2008) extends results from this model variant with a different type of aggregation and also presents ideas for using Lagrangian Relaxation in this context. Askari-Nasab et al. (2010) present two formulations which rely on the construct of a “mining-cut”; this construct helps to aggregate blocks appropriately. While one of the authors’ formulations relies solely on mining-cuts, the other uses both blocks and mining-cuts. The advantage of the latter formulation is more accurate modeling of pit slopes, while the former formulation contains fewer variables and is therefore more tractable. Chicoisne et al. (2012) propose a new algorithm to solve linear programming relaxations of large instances of the same problem, and a set of heuristics to solve the corresponding integer program. The related algorithms of Bienstock and Zuckerberg (2010) include the decision of whether the extracted material should be sent to a processing plant or to the waste dump, i.e., they include a variable cutoff grade.

Osanloo et al. (2008) review optimization models for long-term, open-pit scheduling. See Newman et al. (2010) for a detailed literature review covering both open pit and underground mine planning. In this paper, we focus specifically on mining applications. However, the structure of our problem variants is related to that of other network models with side constraints, e.g., generalized assignment, multi-commodity flow, and constrained shortest path. See, e.g., Ahuja et al. (1993), Carlyle et al. (2008), and the references contained therein.

3 Model description

We proceed to set forth three mathematical models relevant to open pit mining. In Sect. 3.1, we give notation for all three models. Script letters represent set names, while upper- and lower-case letters in Roman font denote parameters; standard lower-case letters of x and y serve as our variables. Parameter and variable names decorated with hats or tildes correspond to related notation that differs by index depending on the model formulation in which it is used. Section 3.2 describes the ultimate pit limit problem. Section 3.3 gives the constrained pit limit problem. Finally, Sect. 3.4 introduces the precedence constrained production scheduling problem. Sections 3.5 and 3.6 provide a discussion regarding the strength of the formulation and modeling implications for the three models we set forth, respectively.

3.1 Notation

  • Indices and sets:

    1. \(t \in\mathcal{T}\): set of time periods t in the horizon.

    2. \(b \in\mathcal{B}\): set of blocks b.

    3. \(b' \in\mathcal{B}_{b}\): set of blocks b′ that are predecessor blocks for block b.

    4. \(r \in\mathcal{R}\): set of operational resource types r.

    5. \(d \in\mathcal{D}\): set of destinations d.

  • Parameters:

    1. p b (\(\hat{p}_{bt}\), \(\check{p}_{bd}\), \(\tilde {p}_{bdt}\)): profit obtained from extracting (and processing) block b (at time period t and/or sending it to destination d) ($).

    2. α: discount rate used in computing the objective function (profit) coefficients.

    3. q br (\(\hat{q}_{brd}\)): the amount of operational resource r used to extract and, if applicable, process, block b (when sent to destination d) (tons).

    4. \(\underline{R}_{rt}\): minimum availability of operational resource r in time period t (tons).

    5. \(\overline{R}_{rt}\): maximum availability of operational resource r in time period t (tons).

    6. A: arbitrary constraint coefficients on general side constraints.

    7. \(\underline{a}\), \(\bar{a}\): arbitrary lower and upper bounds, respectively, on general side constraints (vectors with the number of rows equal to that in A).

  • Variables:

    1. \(\hat{x}_{b} = 1\) if block b is in the final pit design, 0 otherwise.

    2. x bt : 1 if we extract block b in time period t, 0 otherwise.

    3. y bdt : the amount of block b sent to destination d in time period t (%).

3.2 The ultimate pit problem

The simplest model we consider is known as the ultimate pit limit problem, \(\mathit{(UPIT)}\), or the maximum-weight closure problem (Ahuja et al. 1993). The problem entails determining only the envelope of profitable blocks within the orebody and, hence, there is no temporal dimension and there are no operational resource constraints. The constraint set consists merely of precedences between blocks; the corresponding matrix of left-hand-side coefficients is totally unimodular, rendering this problem a network flow problem. In essence, given the value of each block and no constraints on operational resources required to retrieve a block, this problem seeks to determine the instantaneous profit of an open pit, and, correspondingly, which blocks must be extracted, as dictated by precedence constraints, to realize this profit.

(1)
(2)

The objective maximizes the undiscounted value of all extracted blocks. Constraints (1) ensure that each block is extracted only if its predecessor blocks are extracted. The set of predecessor blocks appropriately defines the slopes to support the ultimate pit design. Note that variables need not be restricted to be binary because of the total unimodularity of the constraint matrix (see, for example, Ahuja et al. 1993 for a reduction of (UPIT) to network flow). Hochbaum and Chen (2000) provide a fast algorithm for this problem; Hochbaum (2001), and Chandran and Hochbaum (2009) provide updates. The solution to \(\mathit {(UPIT)}\) determines only the design of a pit, i.e., its boundaries. The solution to this problem can, in fact, be used to eliminate blocks from consideration in more complicated variants; see, e.g., (CPIT). We discuss this in Sect. 3.3.

3.3 The constrained pit limit problem

The constrained pit limit problem, (CPIT), generalizes the ultimate pit limit problem above by introducing a time dimension, and associated constraints, into the model. The underlying assumption regarding the time fidelity in both this model and the one presented in the subsequent subsection is that a block can be mined in its entirety in a single time period. In (CPIT), not only are precedence constraints considered, but per-period operational resource restrictions are present as well. (CPIT) takes as inputs (i) a profit per block, (ii) minimum and maximum operational resource requirements per time period, and (iii) a set of precedences for each block. With these inputs, a solution to (CPIT) suggests a profit-maximizing schedule subject to operational resource constraints and constraints regarding precedences between blocks. (CPIT) does not account for details such as stockpiling.

(3)
(4)
(5)
(6)

(CPIT) maximizes net present value of the extracted blocks over the life of the mine. Note that \({\hat{p}}_{bt}\) is computed as \(\frac{p_{b}}{(1+\alpha)^{t}}\). Constraints (3) impose precedence. That is, if block b′ is an immediate predecessor of block b, then b′ must be extracted in the same time period as or prior to b. Constraints (4) require that each block can be extracted no more than once. Constraints (5) ensure that the minimum and maximum operational resource constraints are satisfied each period. We assume here that q br >0, which is a commonly used in practice and permits feasible solutions more readily than without it; as such, the formulation only contains lower and upper bounds but omits constructs that would lend themselves to blending. (See 3.4.) All variables are binary.

Chicoisne et al. (2012) treat a special case of this model (to which they also refer as (CPIT)) in which \(\underline{R}_{rt}=0\) and \(\overline{R}_{rt}= \overline {R}_{r}\)t. Because of the structure of their problem and because of the assumption that q br >0, the authors are able to eliminate blocks from consideration in their optimization model if they are not included in the corresponding solution of \(\mathit{(UPIT)}\). Note that (CPIT) and (UPIT) are related through the following fact, which we state without proof:

Fact

For the constrained pit limit problem in which we maximize net present value, eliminating constraints (5) and solving the resulting (relaxed) problem yields an optimal solution with x bt =0 for all t≥2, i.e., we obtain the solution corresponding to that provided by solving (UPIT).

Note that unlike (UPIT), (CPIT) is strongly NP-hard (see Johnson and Niemi 1983 for a proof of this). Cullenbine et al. (2011) solves instances of (CPIT) with \(\underline{R}_{rt}= \underline{R}_{r} \neq0\)t and \(\overline{R}_{rt}= \overline{R}_{r}\)t. However, these instances are smaller than those considered in Chicoisne et al. (2012). Note also that Cullenbine et al. (2011) cannot reduce the size of their models a priori by considering only those blocks present in the corresponding solution of \(\mathit{(UPIT)}\). This is because, for example, a lower bound on processing might require a non-economical block to be sent to the processing plant in order to preserve feasibility of the instance.

3.4 The precedence constrained production scheduling problem

A generalization of (CPIT) determines whether a block, if extracted, is sent to the processing plant or to the waste dump. In this case, in addition to our variable x bt which equals 1 if we extract block b in time period t, and 0 otherwise, we employ a second variable, y bdt , which equals the amount of block b we send to destination d, e.g., a processing facility, in time period t. We must ensure that a block is only sent to a processing facility if it is extracted. In essence, we are determining a profit-maximizing extraction sequence of blocks subject to operational resource constraints, as before, but we are also now determining the location to which these blocks are sent. Correspondingly, we record the associated profit (or cost), which is no longer determined a priori, and also the corresponding amount of operational resource usage, which can differ depending on the destination to which a block is sent. We also allow for side constraints more general than upper and lower bounds on operational resource consumption. The precedence constrained production scheduling problem, (PCPSP), consists of solving:

(7)
(8)
(9)
(10)
(11)
(12)
(13)

(PCPSP) maximizes net present value of the extracted blocks over the life of the mine. Note that \({\tilde{p}}_{bdt}\) is computed as \(\frac{\check {p}_{bd}}{(1+\alpha)^{t}}\). Constraints (7) enforce precedence requirements for all blocks and time periods. Constraints (8) require that the extraction and processing variable values are consistent. That is, if a block is not extracted, its contents cannot be sent to any destination, and if a block is extracted, the entirety of its contents must be sent somewhere. Constraints (9) restrict a block to be extracted at most once over the horizon. Constraints (10) require that no more operational resource than available is used for extraction purposes. Constraints (11) represent general side constraints, discussed in more detail immediately below. Note that because x can be written as a function of y (see (8)), we do not include the former variable in this constraint. Variables that determine the amount of a block sent to a particular destination in a given time period are restricted to be between 0 and 1. Variables representing whether or not a block is extracted in a given time period are restricted to be binary. In a perhaps more realistic setting, the above formulation would contain y variables that would also be restricted to be binary. That is, blocks are, generally speaking, indivisible entities, and therefore the entire block would be sent to a single destination. Bienstock and Zuckerberg (2009, 2010) present the formulation, (PCPSP), as given above. Caccetta and Hill (2003) present a special case of this problem in which the cutoff grade is fixed at extraction but variable when ore is taken from the stockpile, and the lower bounds on resource consumption are equal to zero.

Relating (CPIT), see Sect. 3.3, to (PCPSP), we can now state the following:

Observation

For the special case in which we remove constraints (11) and fix the destination for each block b to the value of the index d b such that \(x_{bt} = y_{b,d_{b},t}\)b,t, (PCPSP) reduces to (CPIT). In other words, in the absence of constraints (11), (PCPSP) can be thought of as a relaxation of (CPIT) in which the destination of each block is not determined a priori.

The side constraints we mention above (see constraints (11)) can model cases in which mining operations are governed by more than simply “common sense,” sequencing, and operational resource constraints in the form of knapsacks. For example, these constraints might represent a minimum grade constraint:

Letting:

  • \(\mathcal{M}\): set of mineral types.

  • g bm : the amount of mineral m contained in block b (tons).

  • \(\underline{G}_{m}\): minimum acceptable average amount of mineral m in any single time period (tons).

  • \(\overline{G}_{m}\): maximum acceptable average amount of mineral m in any single time period (tons).

we state such a grade constraint as follows:

(14)

This ensures that minimum and maximum grade constraints for all relevant types of ore (\(m \in\nobreak \mathcal{M}\)) processed at the corresponding processing plants (\(d \in \mathcal{D}\)) are adhered to in each time period. Note that “mineral” could loosely be interpreted as a contaminant. So, for example, a processing plant might only accept a collection of blocks in a given time period with a minimum level of copper and a maximum level of arsenic. It is possible to specify both a non-zero minimum and a finite maximum for the same mineral, and the above formulation allows for this.

Constraint (14) can also be thought of as a special case of constraints (10) with the right hand side equal to zero. Other examples of constraints (11) would include (i) a minimum number of blocks must be extracted on a given level; (ii) ore is allowed to be stockpiled; (iii) the production and/or processing rate is variable, e.g., it is possible to purchase extraction equipment and/or increase the capacity of the processing plant(s); (iv) the bottom of the pit must contain a certain number of blocks; (v) sequencing constraints of the type “one of the following n blocks must be extracted”; and (vi) the number of areas that can be simultaneously mined is limited due to geotechnics and equipment availability.

As explained above, (CPIT) relates to (PCPSP) in that the former is a fixed cutoff grade equivalent problem of the latter (if constraints (11) are not present). (UPIT) relates to (CPIT) in that it is a relaxed, single time period problem version of (CPIT). Although we have not encountered models of such type in the literature, one could consider a variant (UPCPSP), i.e., (PCPSP) without constraints (10) and (11) and reduced to one time period. This allows for the following classification:

Relationship

(UPIT) and (CPIT) are fixed cutoff grade variants of (PCPSP) and (U-PCPSP), respectively, where, on one hand, (UPIT) and (U-PCPSP) are solvable in polynomial time, and (CPIT) and (PCPSP) are strongly NP-hard.

3.5 Strong formulation

We have presented a “strong” formulation of (CPIT) and (PCPSP) in that we have represented the precedence constraints as the sum on time periods t of the extraction variables on the left hand side of the inequality. Equivalently, we could have expressed (3) and (7) as:

In fact, this leads to a much weaker linear programming relaxation objective function value (Lambert et al. 2012). However, the weaker formulation appears frequently in the literature, e.g., Dagdelen and Johnson (1986), Ramazan (2007), and Osanloo et al. (2008).

3.6 Model assumptions and extensions

Johnson (1969) poses a general model, yet issues caveats regarding the assumptions under which the model is valid. These caveats apply to \(\mathit{(UPIT)}\), (CPIT), and (PCPSP), and can be stated as follows: (i) the deposit in question can be characterized by three-dimensional notional blocks, and all requirements, e.g., production and processing constraints, can be represented as a function of the characteristics of these blocks; (ii) the spatial precedence constraints, in particular, can be characterized as a function of the position of the blocks, and the spatial precedence relationships do not change over time or as a function of the material removed from the pit; (iii) all model restrictions are linear or can be expressed as linear functions; and (iv) the data given are accurate representations of the true values.

Let us examine these assumptions in turn. Our optimization models require the discretization of blocks, as stated in (i), and precludes dynamically evolving “rules” (assumption (ii)) such as redefining precedences depending on the material removed; at best, dynamic rules could only be incorporated in a decision space so large that current algorithms and hardware could not solve problem instances of a practical size. Not all functional forms are linear (assumption (iii)); in particular, blending constraints can introduce nonlinearities. However, current software capabilities of solving nonlinear integer models fall far short of what is necessary for realistic instances. Regarding assumption (iv), the data are usually not known with certainty. Specifically, there is a finite number of samples taken to assess the content of any block, and, correspondingly, these samples are not completely accurate. Therefore, the ore content in a block cannot be known with accuracy. It is possible to model a distribution of ore content. However, the models we present do not accommodate this. Stochastic models, although more realistic, yield instances orders of magnitude larger than their deterministic counterparts, and present the corresponding tractability issues associated with them. Finally, we limit the scope of our models to consider only the mine sequencing operation. We do not consider the strategic planning questions of locating facilities or haulage roads, for example, nor the downstream activities of the ore, i.e., we do not consider the entire supply chain.

Some of our assumptions are necessary for the scope of the models we consider, and/or for our modeling paradigm, and are appropriate for long-term, undetailed models. However, other assumptions can be unrealistic for mining operations. Therefore, the goal of presenting the three models as we have done is not only to provide background on existing models with a view to encouraging researchers to make them more tractable, but also to promote researchers to develop better models in general, relaxing the assumptions we set forth in the previous paragraph. In the latter endeavor, our models become obsolete, but the data we provide should help design and test these improved models.

Among the most interesting and pressing unaddressed challenges, in addition to solving large instances of the production scheduling variants we discuss in this paper, we propose incorporating the following aspects within a large-scale production schedule:

  1. 1.

    Optimal phase design: Rather than scheduling the mine for extraction in its entirety, a mine may be divided into phases for operational feasibility. The design of each phase might be determined, together with a corresponding extraction schedule for each phase.

  2. 2.

    Optimal haul road construction: The location of haul roads affects the costs of extraction and even the accessibility of blocks. Determining the location of the haul roads might shorten extraction time while preserving the most profitable blocks.

  3. 3.

    Imposition of pit bottom size restrictions: Equipment maneuverability may dictate that the bottom of the pit must be at least a certain size. Enforcing this size may be necessary for safety considerations.

  4. 4.

    Imposition of maximum number of active area restrictions: Many active areas are difficult to maintain because of equipment availability and its ability to transit to remote areas of the pit. Maintaining the number of active areas below a certain number lowers costs and allows for practical considerations of transit time in the pit.

  5. 5.

    Optimal inventory management policies: Stockpiling ore allows for its future sale and buffers against shortfalls, but requires that the material be rehandled. Determining optimal amounts of ore to stockpile may increase profits, depending on market conditions.

  6. 6.

    Optimal fleet sizing: Considering the number and type of trucks and other transport systems by accounting for haul road restrictions, inter alia, dictates a mine’s production capacity and ability to access ore in early time periods. Depending on market conditions, extracting and selling more material sooner may be more profitable, if processing capabilities are adequately matched.

  7. 7.

    Optimal processing capabilities: Given sufficient extraction capacity, a mine may wish to consider expanding its processing capabilities to make available more salable material sooner. Conversely, a mine may wish to downsize, limiting its capital expenditures.

  8. 8.

    Incorporation of stochastic data: Neither price and cost data nor ore grade data are known with certainty. A stochastic mathematical program in which various price and/or ore grade scenarios are considered could yield a more accurate model and corresponding results.

  9. 9.

    Determination of the optimal point of transition between an open pit and underground operation: Open pit mines can transition underground when the pit becomes deep enough because it becomes increasingly expensive to maintain pit slopes flat enough to avoid wall failure. Carefully considering the depth of transition might avoid suboptimally prolonging surface extraction.

  10. 10.

    Incorporation of mine-level decisions into the entire supply chain: The output of a mine is only one aspect of the mineral supply chain in which raw materials must arrive at mine sites to enable operations to proceed, and final product must reach markets to yield timely profits or to meet long-term contracts. Considering sources upstream from a mine and destinations downstream from a mine together with extraction decisions might enhance a system larger than the mine itself.

4 Using MineLib

We characterize data for model instances of the above problem variants as follows: Fundamental to each instance is a geometric block model, which gives x-, y- and z-coordinates for each block in the deposit. Correspondingly, we require the following characteristics: (i) the amount of ore contained in the block, differentiated, if applicable, by type; (ii) if applicable, the total amount of contaminant in the block; and (iii) the total tonnage of the block.

We also require characteristics of the mining operation: the minimum and maximum bounds on all operational resources, e.g., extraction equipment (for bounds on production), and/or processing equipment (for bounds on processing). For variable cutoff grades, we require acceptable minimum and maximum grades to be passed through the processing plant, while for a fixed cutoff grade, we require the cutoff above which the material is ore and below which the material is waste. Correspondingly, we must specify the costs and/or profits associated with sending a given block to a particular destination. Finally, we require the horizon over which we plan extraction, and the discount factor which we apply to the value of each block.

To this end, we separate the data into the following:

  1. 1.

    The block-model descriptor file containing the block’s identifier, i.e., location, followed by various block characteristic values.

  2. 2.

    The block-precedence descriptor file containing immediate precedence relationships for each block in the model.

  3. 3.

    The optimization-model descriptor file containing the necessary data to populate the models (UPIT), (CPIT), and (PCPSP).

The exact specifications of each of these descriptors are given in Appendix A. We preliminarily provide some data sets to populate instances of (UPIT), (CPIT), and (PCPSP) at http://mansci.uai.cl/minelib. We plan to add data sets to this library as they become available to us for public use.

Each data set is given, along with the corresponding name of the data set, the number of blocks (which ranges from 1,000 to 6,000,000), the number of immediate precedences (which ranges from about 4,000 to 73,000,000), the number of time periods (which ranges from 6 to 30), the number of operational resource constraints of the type given in (CPIT) (which ranges from 1 to 4), the number of operational resource constraints of the type given in (PCPSP) (which ranges from 2 to 4), the number of destinations of the type given in (PCPSP) (which ranges from 2 to 4), and the number of general constraints of the type given in (PCPSP). These files may be downloaded for academic purposes.

5 Current results

Table 1 lists the mine instances currently included in our database, along with their problem sizes given as the number of blocks, precedences and time periods for each instance. Note that in determining the number of time periods for each instance, we ensure that the time horizon length is sufficient to extract all blocks in the mine for the LP relaxation variant of the problem, which includes all operational resource constraints given for a particular instance. We list the instances, increasing by the number of blocks. Newman1 is a small, academic data set. Zuck small, medium and large are fictitious mines (Zuckerberg 2011). D is a copper deposit located in North America. P4HD is a gold and copper mine located in North America (Somrit 2011). Marvin is a well known test mine that is provided with the Whittle software (Whittle 2009). W23 consists of phases 2 and 3 of a gold mine located in North America. SM2 is fictional, and is based on a nickel mine located in Brazil. McLaughlin is a defunct gold mine in California, and McLaughlin limit is its final pit computed by the providers; these data sets appear in Somrit (2011).

Table 1 Characteristics of instances

Table 2 presents details regarding (UPIT) and (CPIT) instances corresponding to the data sets in Table 1. Each block has a predefined destination and a corresponding block value. The block values do not differ between instances of (UPIT) and (CPIT). For (UPIT), we present the optimal objective function value for each instance. For (CPIT), we first present the number of operational resource constraints per period (|R|). In most of the cases, there are two capacity constraints per period: one on the total tonnage extracted, and another on the total tonnage processed. In some cases, an operational resource constraint includes both lower and upper bounds though in others, the constraint only consists of an upper bound. Many bounds are time-invariant, although our file format allows for time-varying bounds. In the next column, we present the optimal value of the LP relaxation for each instance of (CPIT), that is, the optimal value obtained after relaxing integrality on the variables. We note that this value provides a valid upper bound on the optimal objective function value of the corresponding instance. Moreover, this value appears to provide a tight bound (Cullenbine et al. 2011; Chicoisne et al. 2012). We include, in the last two columns, the objective value corresponding to the current best-known integer-feasible solution for each instance, and the gap of this solution computed as the relative difference between this feasible solution, obtained using a modified version of the TopoSort heuristic (Munoz 2012), and the LP upper bound, computed using a modified version of Bienstock-Zuckerberg’s algorithm (Bienstock and Zuckerberg 2010). We provide details regarding how to obtain these solutions on the website.

Table 2 (UPIT) objective function value, (CPIT) LP upper bound and the objective function value corresponding to the best-known integer-feasible solution for each instance

Finally, Table 3 presents details about our (PCPSP) instances. We provide the number of destinations (|D|), the number of operational resource constraints per period (|R|), the optimal value of the LP relaxation of each problem and the objective function value corresponding to the best-known integer-feasible solution. All these instances have more than one destination. In most cases, there are two destinations (i.e., extract and send to the waste dump, or extract and process). The only exception occurs for the instance W23, which contains three additional blending constraints with lower and upper bounds. The operational resource constraints per period are the same as those in the (CPIT) instances. None of these instances includes general side constraints (see constraint (11)). As expected, LP upper bounds for PCPSP (variable cutoff grade) are slightly higher than LP upper bounds of CPIT (fixed cutoff grade), except for W23 which has additional constraints. We also note that mine P4HD does not have a (PCPSP) instance because data are only available for the case of a fixed cutoff grade. Similar to the (UPIT) and (CPIT) instances, LP values were computed using a modified version of Bienstock-Zuckerberg’s algorithm, and feasible solutions were obtained with a modified version of the TopoSort heuristic. Because instance W23 has blending constraints, TopoSort could not find a feasible solution for this problem.

Table 3 (PCPSP) details, LP bound and objective function value corresponding to the best-known feasible solution for each instance