1 Introduction

Short-term mine planning generally aims to make optimal decisions over a timeframe of days to months to best meet annual production targets given by the long-term mine production plan (Wilke and Reimer 1977; Fytas et al. 1987; Hustrulid et al. 2013). This task is typically accomplished in two separate steps. In the first step, the physical short-term extraction sequence is optimized, which is guided by the long-term mine plan and other pertinent short-term objectives (Blom et al. 2018). The second step optimizes the assignment of mining equipment (trucks and shovels) in open pit mines and is referred to as fleet management (Afrapoli and Askari-Nasab 2017). Fleet management optimization includes two parts. The first part optimizes the shovel positions in the mine as well as the allocation of a certain number of trucks to the related shovels. The second part optimizes truck dispatching to allocate single trucks to their next destination (Alarie and Gamache 2002; Afrapoli and Askari-Nasab 2017). Note that shovels are typically large in size to facilitate the cost-efficient extraction of materials, which leads to their difficult and costly relocation over long distances within mining operations.

Recent developments combine aspects of fleet management and short-term extraction sequencing for open pit mines with the motivation of creating synergies between the steps that are conventionally optimized separately; this, in turn, generates more efficient short-term plans (Fioroni et al. 2008; L’Heureux et al. 2013; Torkamani and Askari-Nasab 2015; Mousavi et al. 2016a; Villalba Matamoros and Dimitrakopoulos 2016; Blom et al. 2017; Kozan and Liu 2018; Upadhyay and Askari-Nasab 2018). Most of these recent approaches integrate shovel allocation decisions, shovel capacities and the cost of shovel movements in the production scheduling model. Current research, however, has not incorporated the physical loss of shovel production due to time-consuming shovel movements within an industrial mining complex. Some recent models focus on extending equipment plans towards drilling and blasting activities (L’Heureux et al. 2013; Kozan and Liu 2018), while others include additional decision variables related to optimal truck allocation (Fioroni et al. 2008; Torkamani and Askari-Nasab 2015; Villalba Matamoros and Dimitrakopoulos 2016; Blom et al. 2017; Upadhyay and Askari-Nasab 2018).

In addition to integrating mining equipment allocation decisions, important developments in short-term mine planning include modelling and optimizing components of an industrial mining complex simultaneously. Simultaneous optimization may include multiple mines, multiple processing streams, multiple waste dumps, the option to stockpile material and the transportation of products to the port or the customer (Howard and Everett 2008; Blom et al. 2016). Recent developments in simultaneous long-term mine planning shift the focus away from modelling the economic value of blocks towards the value of products sold, which can account for non-linear transformations of blended material in stockpiles and processing streams (Montiel and Dimitrakopoulos 2015, 2018; Goodfellow and Dimitrakopoulos 2016, 2017; Montiel et al. 2016). To date, this development has not yet been accounted for in the short-term optimization of mining complexes, which provides one motivation for the work presented herein. Note that different simultaneous or integrated optimization developments are available in the technical literature with regards to integrated logistics in the context of general supply chains (Darvish and Coelho 2018). However, these do not address issues pertaining to typically unstructured mining operational environments or the management and extraction of ore from mineral deposits, where the location and supply of material quantities and qualities are uncertain, and are thus part of the short-term mine production scheduling optimization.

In addition, despite the listed manifold advances in modelling the short-term mining environment more accurately, most developed optimization models ignore pertinent uncertainties related to short-term mine planning, such as: (1) geological uncertainty stemming from imperfect knowledge of the material mined; (2) equipment performance uncertainty due to equipment downtime, queuing times or external factors (e.g. weather), and (3) plant performance uncertainty.

The impact of ignoring geological uncertainty has been widely discussed for long-term and short-term mine planning (Ravenscroft 1992; Dowd 1994, 1997; Dimitrakopoulos et al. 2002). Villalba Matamoros and Dimitrakopoulos (2016) simultaneously optimize a short-term extraction sequence and truck-shovel allocation decisions of a single mine while integrating metal uncertainty and equipment performance uncertainty into their optimization formulation. Several sets of equally likely uncertainty scenarios, including stochastic orebody simulations (Goovaerts 1997; Rossi and Deutsch 2014) and equipment availability scenarios, serve as an input to a stochastic integer programming (SIP) model, which is based on previous developments in stochastic mine planning (Ramazan and Dimitrakopoulos 2005, 2013; Mai et al. 2019). Quigley and Dimitrakopoulos (2019) extend the formulation from Villalba Matamoros and Dimitrakopoulos (2016) to suit the optimization of multiple pits, processing streams, and material types, as well as access constraints for the location of hauling ramps. Villalba Matamoros and Dimitrakopoulos (2016) and Quigley and Dimitrakopoulos (2019) use the CPLEX solver (IBM 2013) to obtain a solution, which restricts their approach to instances of a relatively small size, and thus limits their application.

Although short-term mine planning models naturally consider fewer mining blocks than their counterparts in long-term mine planning, their optimization formulations can have a high number of variables and constraints due to the optimization of many periods, additional decision-making, and stochasticity of various input variables. Some formulations for short-term mine planning use the aggregation of blocks as a pre-processing step to reduce problem size (Eivazy and Askari-Nasab 2012; Kozan and Liu 2018). This grouping is undesirable because the aggregation of mining blocks misrepresents mining selectivity and ore dilution. In addition, it ignores the ability to blend favorable ore types together given the mine’s selectivity, as well as fixes the geometries of mining fronts beforehand and the varying distances of truck hauling and shovel movement that correspond to the aggregated mining blocks.

Metaheuristics provide a useful platform for the optimization of large, potentially non-linear optimization formulations. Kumral and Dowd (2005) apply a simulated annealing (SA) algorithm (Kirkpatrick et al. 1983; Geman and Geman 1984) to improve a suboptimal short-term extraction sequence. Mousavi et al. (2016a) solve their mixed integer programming model for short-term mine planning by a hybridized combination of large neighborhood search and branch-and-bound. Mousavi et al. (2016b) test three different variants of local search algorithms to optimize a short-term extraction sequence. However, mechanisms that consider the perturbation of extraction decisions, equipment assignment decisions and downstream allocation of material altogether remain to be developed.

In this article, a new simultaneous stochastic optimization approach to jointly optimize short-term mine production schedules and fleet management for industrial mining complexes is presented. The proposed approach extends previous developments for long-term mine production planning (Goodfellow and Dimitrakopoulos 2016) by adding major components linked to short-term planning, notably fleet management and its associated uncertainties. The new components that are integrated into the mine production scheduling optimization model for short-term planning include the scheduling of a heterogeneous truck fleet and individual shovel allocations that consider the costs and loss of production caused by their relocation. These decisions are jointly optimized with the short-term extraction sequence as well as with the downstream allocation of extracted materials to multiple processing facilities and stockpiles in a mining complex. The stochastic optimization formulation considers uncertainty related to equipment performances and truck cycle times in addition to geological or material supply uncertainty. A simulated annealing metaheuristic is adapted to account for all newly added decision variables related to short-term production planning. The metaheuristic is designed to optimize large linear and non-linear problem instances that typically occur in open-pit mine planning.

In the next sections, the mathematical formulation of the developed stochastic programming model is presented first, along with details of the metaheuristic solution approach. Subsequently, a case study is performed at a gold mining complex to demonstrate the applied aspects of the proposed optimization model. Conclusions follow.

2 Mathematical formulation

The mathematical model for joint stochastic short-term production scheduling and fleet management optimization for mining complexes is formulated as a stochastic integer programming model with fixed recourse (Birge and Louveaux 2011), and builds upon the simultaneous stochastic optimization of the components of a mining complex that are pertinent to long-term mine planning (Goodfellow 2014; Goodfellow and Dimitrakopoulos 2016, 2017). In this section, a general notation and objective function of the mathematical model are presented first. Subsequently, the decision variables for optimal shovel positioning and optimal truck scheduling in a mining complex are introduced, along with new stochastic components of the mining fleet, such as equipment uncertainty and uncertain truck cycle times.

2.1 Modelling a mining complex

The mathematical formulation models a mining complex as a set of locations, \(i \in {\mathbb{A}} \cup {\mathbb{D}}\), whereas material flows from a set of mining areas, \({\mathbb{A}}\), towards a set of destinations, \({\mathbb{D}}\). Extracted material is then processed, stockpiled, sent to secondary destinations, or is disposed of in waste dumps or tailing facilities. A mining area is a location in one of the pits belonging to a mining complex, where material is excavated. Hence, mining areas account for the fact that extraction normally takes place in several locations (benches) within the pits in parallel, leading to different excavation and hauling requirements. All mining blocks, b, that belong to one area of the mining complex are summarised in the set \({\mathbb{B}}_{a}\). When material flows through the mining complex, a set of primary, additive attributes of the extracted materials, \(p \in {\mathbb{P}}\) (e.g., ore tonnage, metal tonnage, etc.), is defined. A set of hereditary attributes, \({\text{h}} \in {\mathbb{H}}\), is then derived from the linear or non-linear conversion of primary attributes (e.g., metal recoveries, profits, costs). For more information about modelling primary and hereditary attributes, the reader is referred to Goodfellow and Dimitrakopoulos (2016).

2.2 Notation

This section defines the indices and sets, parameters, and decision variables that are used in the mathematical model.

2.2.1 Indices and sets

\(t \in {\mathbb{T}}\) :

Index of a time period for the discretized planning horizon \({\mathbb{T}}\)

\(s \in {\mathbb{S}}\) :

Index of an orebody scenario in the set of orebody scenarios \({\mathbb{S}}\)

\(s_{e} \in {\mathbb{S}}_{E}\) :

Index of an equipment performance scenario in the set of equipment scenarios \({\mathbb{S}}_{E}\)

\(\varepsilon \in {\mathbb{P}} \cup {\mathbb{H}}\) :

Index of an attribute in the unified set of primary attributes \({\mathbb{P}}\) and hereditary attributes \({\mathbb{H}}\) in the mining complex

\(d \in {\mathbb{D}}\) :

Index of a destination in the set of destinations \({\mathbb{D}}\) in the mining complex

\(a \in {\mathbb{A}}\) :

Index of a mining area in the set of all mining areas \({\mathbb{A}}\)

\(i \in {\mathbb{A}} \cup {\mathbb{D}}\) :

Index of a location i in the mining complex, whereas \({\mathbb{A}} \cup {\mathbb{D}}\) contains all locations in the mining complex

\(b \in {\mathbb{B}}\) :

Index of a mining block in the set of all blocks \({\mathbb{B}}\)

\({\mathbb{B}}_{a}\) :

Set of blocks belonging to area a

\(g \in {\mathbb{G}}\) :

Index of a group g of material in the set of all material groups \({\mathbb{G}}\)

\(l \in {\mathbb{L}}\) :

Index of a shovel operating in the mining complex in the set of all shovels \({\mathbb{L}}\)

\(m \in {\mathbb{M}}\) :

Index of a truck-type operating in the mining complex in the set of all truck-types \({\mathbb{M}}\)

2.2.2 Parameters for mining complex

\(p_{h,i,t}\) :

The unit price of hereditary attribute h in location i in period t, which can be positive (revenue) or negative (cost)

\(c_{\varepsilon ,t}^{ - } , c_{\varepsilon ,t}^{ + }\) :

Associated costs for shortage (−) or excess (+) of a primary or heredetary attribute \(\varepsilon \in {\mathbb{P}} \cup {\mathbb{H}}\) in period t

\(Ton_{b}\) :

The tonnage of block b

\(H^{t}\) :

Scheduled working hours per period

\(CostSmooth\) :

Penalty cost for unconnected blocks, enforcing the extraction of blocks in a connected (smooth) pattern

2.2.3 Equipment-related parameters

\(L_{a}^{Max}\) :

The maximum number of shovels that can work simultaneously in the same area a

\(T_{m}^{Max} , \;T_{m}^{Min}\) :

The maximum and minimum number of trucks of truck-type m that are to be scheduled for any time period

\(Prod_{{l,s_{e} }}^{t}\) :

Stochastic production rate of shovel l (tons per period) for equipment scenario \(s_{e}\) in period t

\(Cap_{m}\) :

Nominal truck capacity (tons) of truck-type m

\(A_{{m,s_{e} }}^{t}\) :

Stochastic availability factor of truck-type m for equipment scenario \(s_{e}\) in period t

\(CT_{b,s}\) :

Truck cycle time required to haul material of block b to its destination for orebody scenario s

\(CostOpTruck_{m}\) :

Cost of having one truck of truck-type m in operation ($ per period)

\(CostMove_{{l,a,a^{\prime}}}\) :

Cost of moving a shovel l from area a to area a′ between period t − 1 and t ($ per move)

\(LostProd_{{l,a^{\prime},a}}\) :

Lost shovel production (tonnes per period) that occurs when moving a shovel l from area a′ to area a between period t − 1 and t

\(CostShovelShortage\) :

Penalty cost per tonne of not extracted material ($ per tonne) due to missing shovel capacity

\(CostTruckShortage\) :

Penalty cost for not transported material ($ per tonne and truck hour) due to missing truck capacity

2.2.4 Decision variables

\(x_{b}^{t}\) :

Binary variable which equals 1, if block b is mined in period t, 0 otherwise

\(z_{g, d}^{t}\) :

Binary variable which equals 1 if a group of material g is sent to destination d in period t, 0 otherwise

\(\lambda_{l,a}^{t}\) :

Binary variable which equals 1 if shovel l is located in area a at period t, 0 otherwise

\(\omega_{{l,a,a^{\prime}}}^{t}\) :

Binary variable which equals 1 if a shovel l has moved from area a to area a′ between period t − 1 and t, 0 otherwise

\(\tau_{m}^{t}\) :

Integer variable which reflects the number of trucks of truck-type m scheduled in period t

\(y_{b}^{t}\) :

Integer smoothing variable which reflects the number of adjacent blocks of block b that are not extracted in the same period t

\(\delta_{d, r,s }^{t}\) :

Continuous variable [0,1] which represents the proportion of material sent out from destination \(d\) (e.g., a stockpile) to a receiving destination \(r\) (e.g., a concentrator) for an orebody scenario s in period t

\(dshovel_{{a,s_{e} }}^{t}\) :

Continuous variable which represents shovel production deviations in area a for equipment scenario \(s_{e}\) in period t

\(dtruck_{{s,s_{e} }}^{t}\) :

Continuous variable which represents haulage capacity deviations for each orebody scenario s and equipment scenario \(s_{e}\) in period t

\(v_{p,i,t,s }\) :

Continuous variable which represents the value of primary attribute p in location i for orebody scenario s in period t

\(v_{h,i,t,s }\) :

Continuous variable representing the value of hereditary attribute h in location i for orebody scenario s in period t, which is obtained by applying linear or non-linear functions \(f_{h,i} \left( {v_{p,i,t,s } } \right)\) on the amount of primary attributes

\(d_{\varepsilon ,i,t,s}^{ - }\), \(d_{\varepsilon ,i,t,s}^{ + }\):

Continuous variables modelling either shortage (−) or surplus (+) of primary or heredetary attribute \(\varepsilon \in {\mathbb{P}} \cup {\mathbb{H}}\) at location i in period t in orebody scenario s

2.3 Objective function

Unlike most optimization formulations for short-term mine planning, the objective is to maximize metal production and profit of the mining complex as a whole, instead of minimizing operational costs. The minimization of costs alone neglects the fact that material can be blended and possibly sent to different available processing streams, which affects generated revenues from metal products that should be maximized. In the following, the objective function, (1), of the proposed mathematical model is presented.

$$\begin{aligned} & {\text{Maximize}}\;\underbrace {{\frac{1}{{\mathbb{S}}}\mathop \sum \limits_{{t \in {\mathbb{T}}}} \mathop \sum \limits_{{s \in {\mathbb{S}}}} \mathop \sum \limits_{{h \in {\mathbb{H}}}} \mathop \sum \limits_{{i \in {\mathbb{A}} \cup {\mathbb{D}}}} p_{h,i,t} \cdot v_{h,i,t,s} }}_{Revenues \,and \,costs\, in \,mining \,complex \,\left( I \right)} \\ & \quad - \underbrace {{\frac{1}{{\mathbb{S}}}\mathop \sum \limits_{{t \in {\mathbb{T}}}} \mathop \sum \limits_{{s \in {\mathbb{S}}}} \mathop \sum \limits_{{i \in {\mathbb{A}} \cup {\mathbb{D}}}} \mathop \sum \limits_{{\varepsilon \in {\mathbb{P}} \cup {\mathbb{H}}}} \left( {c_{\varepsilon ,t}^{ + } \cdot d_{\varepsilon ,i,t,s}^{ + } + c_{\varepsilon ,t}^{ - } \cdot d_{{\varepsilon ,i,t,{\text{s}}}}^{ - } } \right)}}_{{Penalties\, for \,deviations \,from\, production\, targets\, \left( {\text{II}} \right)}} \\ & \quad - \underbrace {{\frac{1}{{{\mathbb{S}}_{E} }}\mathop \sum \limits_{{t \in {\mathbb{T}}}} \mathop \sum \limits_{{s_{e} \in {\mathbb{S}}_{E} }} \mathop \sum \limits_{{a \in {\mathbb{A}}}} CostShovelShortage \cdot dshovel_{{a,s_{e} }}^{t} }}_{{Reduce\, risk \,of \,not\, achieving\, shovel\, production\, target\, per\, mining\, area\, \left( {\text{III}} \right)}} \\ & \quad - \underbrace {{\frac{1}{{{\mathbb{S}} \cdot {\mathbb{S}}_{E} }}\mathop \sum \limits_{{t \in {\mathbb{T}}}} \mathop \sum \limits_{{s \in {\mathbb{S}}}} \mathop \sum \limits_{{s_{e} \in {\mathbb{S}}_{E} }} CostTruckShortage \cdot dtruck_{{s,s_{e} }}^{t} }}_{{Reduce\, risk\, of \,falling \,short\, of \,truck \,haulage\, capacity\, \left( {\text{IV}} \right)}} \\ & \quad - \underbrace {{\sum\limits_{{t \in {\mathbb{T}}\backslash \{ 1\} }} {\sum\limits_{{l \in {\mathbb{L}}}} {\sum\limits_{{a \in {\mathbb{A}}}} {\sum\limits_{{a^{\prime} \in {\mathbb{A}}\backslash \{ {\text{a}}\} }} {CostMove_{{l,a,a^{\prime}}} \cdot } } } } }}_{Shovel\;movement\;cost(V)}\omega_{{l,a,a^{\prime}}}^{t} \\ & \quad - \underbrace {{\sum\limits_{{t \in {\mathbb{T}}}} {\sum\limits_{{m \in {\mathbb{M}}}} {CostOpTruck \cdot \tau_{m}^{t} } } }}_{\begin{subarray}{l} Account\;for\;costs\;of\;trucks \\ in\;operation\;({\text{VI}}) \end{subarray} } - \underbrace {{\sum\limits_{{t \in {\mathbb{T}}}} {\sum\limits_{{b \in {\mathbb{B}}}} {CostSmooth \cdot y_{b}^{t} } } }}_{{Enforce\;smooth\;mining\;schedule\;({\text{VII}})}} \\ \end{aligned}$$
(1)

Part (I) of the objective function, (1), summarizes revenues from products and operational costs that are generated in all modelled locations in the mining complex. Penalties for positive or negative deviations from production targets are accounted for in part (II). As in Goodfellow and Dimitrakopoulos (2016), these two parts form the basis of the simultaneous stochastic optimization of mining complexes. The remaining parts of the objective function are new, reflecting the aspects related to mining fleet management. The new parts are explained in conjunction with all newly added constraints in the remainder of this section.

Parts (III) and (IV) of the objective function are equipment-related, aiming to reduce the risk of not meeting short-term production targets associated with the mining fleet. Stochastic shovel production targets are controlled in part (III), whereas stochastic truck haulage capacity is controlled in part (IV). Additional cost factors related to equipment use are accounted for in parts (V) and (VI). Part (V) sums up the costs related to moving a shovel from one area to another. Part (VI) includes the operational costs of the trucks that need to be in operation, so as to be able to haul the scheduled material per period. Part (VII) enforces the grouping of mining blocks in connected (smooth) patterns to generate physically mineable shapes (Dimitrakopoulos and Ramazan 2004). Typically, a practical extraction sequence is created this way.

2.4 Constraints

Reserve constraints, precedence constraints, constraints related to ore targets, metal targets and deleterious elements, as well as the downstream allocation of materials in the mining complex, considering stockpiles and multiple processing facilities, have been defined and are available in previous publications (Goodfellow and Dimitrakopoulos 2016). However, all equipment-related constraints are new and defined next.

2.4.1 Constraints related to shovel allocation

While most of the literature that includes fleet management in optimization formulations assumes constant shovel production rates, some articles have considered their stochastic nature by employing (1) discrete-event simulation models (Awuah-Offei et al. 2003; Upadhyay and Askari-Nasab 2018), (2) robust optimization techniques for mathematical programming (Ta et al. 2005; Bakhtavar and Mahmoudi 2018), and (3) stochastic integer programming with recourse (Villalba Matamoros and Dimitrakopoulos 2016; Quigley and Dimitrakopoulos 2019).

In this article, stochastic shovel production scenarios (in tons per period) are created by sampling a distribution of historical production rates for each shovel and quantify the available shovel production and its associated risk of underperformance in the mining complex. These shovel production rates can be optimally allocated to each area using the binary shovel-allocation variables, \(\lambda_{l,a}^{t}\), which together form the first term of constraint (2). Note that production losses associated with shovel movements are included, whereas their absence in modelling is seen as one of the limitations of current algorithms (Afrapoli and Askari-Nasab 2017). Here, the shovel production in area a will be reduced if a shovel l was moved from another area a′ to a between period t − 1 and t. By summing the scheduled extraction per area (note extraction variables \(x_{b}^{t}\)), the shortfalls of shovel production are offset in constraint (2) by the deviation variable \(dshovel_{{a,s_{e} }}^{t}\) for each scenario, area, and time period, which will be penalized in part (III) of the objective function.

$$\begin{aligned} & \underbrace {{\sum\limits_{{l \in {\mathbb{L}}}} {\left( {Prod_{{l,s_{e} }}^{t} \cdot \lambda_{l,a}^{t} - \sum\limits_{{a^{\prime} \in {\mathbb{A}}\backslash \{ \varvec{a}\}}} {LostProd_{{l,a^{\prime},a}} \cdot \omega_{{l,a^{\prime},a}} } } \right)} }}_{\begin{subarray}{l} Scenario - dependent\;shovel \\ production\;per\;area \end{subarray} } - \underbrace {{\sum\limits_{{b \in {\mathbb{B}}_{a} }} {x_{b}^{t} \cdot Ton_{b} } }}_{\begin{subarray}{l} Scheduled \ extraction \\ per\ area \end{subarray} } + dshovel_{{a,s_{e} }}^{t} \ge 0 \\ & \quad \forall t \in {\mathbb{T}},\quad a \in {\mathbb{A}},\quad s_{e} \in {\mathbb{S}}_{E} \\ \end{aligned}$$
(2)

Other shovel-related constraints ensure that a shovel is only allocated to one area per period in constraint (3), and limit the maximum number of shovels, \(L_{a}^{Max}\), that are allowed to work in one area in constraint (4). The usefulness of the latter constraint will be emphasized later in the case study.

$$\mathop \sum \limits_{{a \in {\mathbb{A}}}} \lambda_{l,a}^{t} = 1\quad \forall t \in T,\quad l \in L$$
(3)
$$\mathop \sum \limits_{{l \in {\mathbb{L}}}} \lambda_{l,a}^{t} \le L_{a}^{Max} \quad \forall t \in T,\quad a \in A$$
(4)

2.4.2 Constraints related to truck haulage

Truck allocation has been considered in recent publications for combined production scheduling and fleet management optimization (Torkamani and Askari-Nasab 2015; Villalba Matamoros and Dimitrakopoulos 2016; Blom et al. 2017; Upadhyay and Askari-Nasab 2018; Quigley and Dimitrakopoulos 2019). The number of required trips of individual trucks or truck types to individual shovels is typically chosen as a decision variable, which ignores the fact that single trips of trucks to shovels are often decided by truck dispatching algorithms in real-time. Instead, the proposed short-term optimization model optimizes the decisions of how many trucks of truck-type m should be optimally utilized per period. Here, the mine planner has the possibility of setting an upper and lower bound on the number of trucks per truck-type m, which is seen in constraint (5).

$$T_{m}^{Min} \le \tau_{m}^{t} \le T_{m}^{Max} \quad \forall t \in T, \quad m \in M$$
(5)

The transportation of mined materials by the hauling fleet is defined by the tonnage, as well as the required time for a truck to haul materials from the excavation location to the destination and the return to the excavation point (commonly referred to as truck cycle time). Ignoring cycle time requirements in short-term production scheduling can lead to unexpected haulage requirements to be accomplished by the truck fleet, which is clarified in Fig. 1. In this example, a constraint (red line) that keeps mined tonnage per period under a threshold is obeyed consistently in every period by the resulting mine plan (blue line). However, when measuring the required haulage capacity (black line), defined as the product of tonnage and truck cycle time, haulage requirements differ substantially over the time horizon than previously indicated by extracted tonnage. The requirement of truck haulage is overestimated in the first period where cycle times are typically shorter due to shallower depths in the pit but are underestimated in periods 8 to 10, as noted through the steep rise above previous periods. Furthermore, it is possible that there is an increase of required truck haulage (black line) despite a decrease of total tonnage (blue line), as seen in periods 7 and 12. All these differences can be explained by different cycle times of the materials to be removed, depending on their respective position in the mining complex.

Fig. 1
figure 1

Analysis of truck haulage requirement comparing mined tonnage (upper line, blue) with the product of mined tonnage and required haulage cycle time (lower line, black). (Color figure online)

Constraint (6) accounts for the abovementioned cycle time requirements by defining required haulage capacity as a product of cycle time of individual blocks, \(CT_{b,s}\), and the respective tonnage of a block to be hauled, \(Ton_{b}\). Since the material type and metal quantity of a mining block can change from one orebody simulation to another, the destination of the material in a mining block can change due to two underlying reasons. First, a different material type (e.g., oxide vs. sulfide material) might require a different mineral processing method. Second, the grade of a block can change so that the most profitable destination might now be a different processor or the waste dump. Hence, the required cycle time to transport the material to a certain destination depends on orebody scenario s. The effect of geological uncertainty on the cycle time of material is also the reason why the median (P50) of the required haulage capacity is reported in Fig. 1. By modelling cycle times utilizing exact block positions in the mining complex and their possible destination, limitations due to mining block aggregation, as noted earlier, are removed.

In constraint (6), the required haulage capacity is opposed with the scenario-dependent haulage capacity of the heterogeneous truck fleet, which is modelled as a product of truck payload, \(Cap_{m}\), stochastic availability, \(A_{{m,s_{e} }}^{t}\) per truck-type m, accounting for the uncertainty that the truck fleet has a natural risk of underperforming, planned working hours of the planning horizon, \(H^{t}\), and the integer truck decision variable, \(\tau_{m}^{t}\). Deviations are, similar to shovel production, offset by the deviation variable \(dtruck_{{s,s_{e} }}^{t}\) for each equipment scenario, orebody scenario, and time period.

$$\underbrace {{\mathop \sum \limits_{{m \in {\mathbb{M}}}} Cap_{m} \cdot A_{{m,s_{e} }}^{t} \cdot H^{t} \cdot \tau_{m}^{t} }}_{\begin{subarray}{l} Scenario-dependent \,haulage \\ capacity\, of \,truck \,fleet \end{subarray} } - \underbrace {{\mathop \sum \limits_{{b \in {\mathbb{B}}}} CT_{b,s} \cdot Ton_{b} \cdot x_{b}^{t} }}_{Required \,haulage \,capacity} + dtruck_{{s,s_{e} }}^{t} \ge 0 \quad \forall t \in T, \quad s_{e} \in {\mathbb{S}}_{E} , \quad s \in S$$
(6)

3 Metaheuristic solution method

For the optimization of large and potentially non-linear instances of the mathematical model for joint short-term optimization of mining complexes (note the possibility of blending materials including stockpiled material and applying non-linear beneficiation processes on blended material), a simulated annealing (SA) metaheuristic is adopted herein, extending that in Goodfellow and Dimitrakopoulos (2016, 2017). The use of SA stems from its past successful use for single open-pit mine planning and production scheduling (Godoy 2002; Kumral and Dowd 2005; Kumral 2013; Mousavi et al. 2016b), as well as its excellent performance in major case studies for long-term simultaneous stochastic optimization of production planning in mining complexes (Montiel et al. 2016; Montiel and Dimitrakopoulos 2018; and others).

Let Φ be the current solution of the optimization problem, which is partitioned into solution vectors of individual decision variables \({\varvec{\Phi}} = \left( {\varvec{x},\varvec{z},\varvec{\delta},\varvec{\lambda},\varvec{\tau}} \right)\). Here, the solution Φ consists of the vector of the extraction sequence, x, which stores the period of extraction for each block, the vector of the destination decisions, z, which stores the current destination of each material group for each period, the vector of downstream allocation decisions, δ (all similar to Goodfellow and Dimitrakopoulos 2016), and the newly added fleet management components, consisting of the vector of shovel allocation decisions, λ, and the vector of hauling fleet decisions, τ. Note that all other variables are calculated as a result of the described decision vectors above.

Let \(v\left( {\varvec{\Phi}} \right)\) be the objective function value of the current solution and \(v\left( {{\varvec{\Phi}} '} \right)\) the objective function value of a feasible modified solution, Φ’. For a maximization problem, the Metropolis et al. (1953) acceptance probability criterion for SA is given in Eq. (7).

$$P\left( {v\left( {{\mathbf{\varPhi^{\prime}}}} \right), v\left( {\varvec{\Phi}} \right), temp} \right) = \left\{ {\begin{array}{*{20}l} {1,} \hfill & {if \,\,v\left( {{\mathbf{\varPhi^{\prime}}}} \right) \ge v\left( {\varvec{\Phi}} \right)} \hfill \\ {exp\left( { - \frac{{\left| {v\left( {\varPhi^{\prime}} \right) - v\left( {\varvec{\Phi}} \right)} \right|}}{temp}} \right),} \hfill & {otherwise} \hfill \\ \end{array} } \right.$$
(7)

As the algorithm progresses, the annealing temperature, temp, gradually decreases using a cooling schedule. This cooling schedule is defined by the initial temperature, temp0, a reduction factor, k, and the number of iterations, niter, before the reduction factor is applied. Goodfellow and Dimitrakopoulos (2016) introduce a modification, which uses multiple annealing temperatures depending on the type of decision variable that is perturbed for obtaining a feasible modified solution, Φ′. Furthermore, a diversification strategy reinitiates the cooling schedule after a defined set of iterations, ndivers, to broaden the search of the solution space.

A modified solution, Φ′, is obtained by applying a perturbation rule to the solution vector, chosen from a set of available perturbation rules, commonly referred to as a neighbourhood \(N_{k} \left( {k = 1 \ldots k_{max} } \right)\) in a finite set of neighbourhood structures (Mladenovic and Hansen 1997). For example, the extraction sequence, x, can be modified by (1) changing the extraction period of a single block, (2) swapping the periods of extraction of two blocks, or (3) changing the extraction period of a block and its entire predecessor set, and so on. Many perturbation rules for the mining block extraction sequence, destination decisions, and the utilization of processing streams are detailed in previous publications (Goodfellow 2014; Goodfellow and Dimitrakopoulos 2016).

The model presented herein introduces new fleet management decisions to the simultaneous optimization of mining complexes, thus new perturbation rules are introduced for alternating shovel and truck allocation decisions. All newly defined perturbation structures are detailed in “Appendix”. Perturbation rules are chosen with equally likely probability at the start, and as the algorithm progresses, the probability of selecting each perturbation rule is adapted depending on their performance in terms of improving the objective function (Burke et al. 2013; Lamghari and Dimitrakopoulos 2018). An initial solution to the metaheuristic is obtained by randomly assigning values to variables within the feasible solution domain while obeying slope constraints. All utilized parameters for the metaheuristic are given in Table 1.

Table 1 Parameters for simulated annealing metaheuristic

4 Application at a gold mining complex

The gold mining complex considered includes two open pits that are sub-divided into six spatially distinct mining areas (A1–A6) for short-term production scheduling, depicted in Fig. 2. This mining complex operates with a shared mining fleet, whereas material is excavated and hauled to a milling and grinding circuit (first processing stream), a stockpile connected to the mill, a heap leach facility (second processing stream), or the waste dump that is located closest to each pit, as seen in Fig. 3.

Fig. 2
figure 2

Mining areas in the gold mining complex

Fig. 3
figure 3

Components of the gold mining complex

4.1 Optimization parameters

Economic parameters for the optimization are given in Table 2. The scheduled material comprises the year of extraction defined by a long-term production schedule. The annual production horizon, to be scheduled on a monthly discretization, comprises 6,382 blocks (15 × 15 × 12 m3). Uncertainty of metal grade (Au) is accounted for by utilizing fifteen equally probable orebody scenarios using geostatistical simulation techniques (Goovaerts 1997). Other optimization parameters, given in Table 3, define the targets of the mining complex to be met by optimization. The milling and grinding circuit has a maximum throughput capacity of 360 kt of ore per month. Penalty costs are applied for exceeding this tonnage and consider metal and material type uncertainty stemming from the geological reserve, as seen in Table 3. Furthermore, shovel allocation is controlled by applying penalty costs if uncertain shovel production falls short of the material to be extracted per mining area and period using constraint (2). The schedule of a heterogeneous truck fleet is optimized by applying penalty costs if required truck haulage capacity, measured as a product of tonnage and required truck cycle time, is not met by the scheduled truck fleet, using constraint (6). Generally, higher penalty costs reflect more risk-averse behaviour for meeting the respective production target.

Table 2 Economic parameters in mining complex
Table 3 Targets and penalty costs for optimization

Total truck cycle time is measured as a combination of two components. The first component consists of the time required to haul material from its position in the pit, measured per mining block, to the pit exit of the nearest connected ramp, which is visualized in Figs. 4 and 5. The second component defines the time required to haul material from the pit exit to its destination, shown in Table 4. Both cycle time calculations also include the time for the truck to return to the shovel.

Fig. 4
figure 4

Horizontal (top) and vertical (bottom) sections of required truck cycle time in pit 1 based on block positions

Fig. 5
figure 5

Horizontal (top) and vertical (bottom) sections of required truck cycle time in pit 2 based on block positions

Table 4 Truck cycle times from pit exit to destinations and return

The available heterogeneous truck fleet in the mining complex incudes two truck-types, whose respective payloads, operational costs, and stochastic availability factors are presented in Table 5. The expected production rates and standard deviation of the four individual shovels in the mining complex are presented in Table 6. Costs of shovel movements are provided in Table 7, which are calculated by multiplying the expected travel time (h), approximated by the length of connecting ramp segments and shovel travelling speeds, and the mine-specific operational costs ($/h) of moving a shovel to a different mining area. This hourly rate includes a premium for the higher consumption of resources and the increased maintenance costs, along with the shovel’s standard operational costs. Lost production due to shovel movements are presented in Table 8, which are the product of expected travel time (h) and production rate (t/h) per shovel.

Table 5 Payload, costs and stochastic availabilities of heterogeneous hauling fleet
Table 6 Expected production rate and standard deviation of individual shovels based on historical data
Table 7 Costs caused by shovel movement from one area to another, calculated by multiplying expected travelling time (h) with shovel moving cost ($/h), exemplary for Large Shovel 1
Table 8 Lost production caused by shovel movement from one area to another, calculated by multiplication of expected travel time (h) and shovel production rate (t/h), exemplary for Large Shovel 1

4.2 Optimization results

The following results compare the proposed joint short-term optimization of a mining complex to a two-step approach where a production schedule is generated first using a stochastic model that optimizes all components of a mining complex. The latter model (Goodfellow and Dimitrakopoulos 2016) excludes all the equipment-related components presented earlier in this manuscript. In a separate second step, equipment allocation is performed, which minimizes the number of shovel moves and the truck hauling effort, based on the fixed production schedule given by the previous step. In this second step, variable equipment performance is also accounted for by using a set of stochastic availability scenarios per equipment type, as discussed earlier in the manuscript. Generally, both optimization methods schedule mining equipment with high variability in performance rather conservatively. It is shown next that the proposed joint optimization of production schedule and equipment allocation in a mining complex is superior to the described two-step approach.

Figure 6 visualizes the optimized shovel allocation to mining areas, as well as the resulting shovel movements both for the two-step approach and the joint optimization. By observing the case where shovels are assigned separately to a previously optimized production schedule (upper part of Fig. 6), there is an inevitably high number of shovel movements from area to area. This is because the previously optimized production schedule is only concerned with providing ore to the processors taken from any location of the mining complex. By performing a joint optimization, however, the production schedule adapts to the available equipment (lower part of Fig. 6). As a result, the lower number of shovel moves leads to a 56% decrease in shovel movement costs and a 54% decrease in shovel production losses caused by relocation, as summarized in Table 9. Most notably, the number of necessary shovel moves between pits is reduced from five to two moves. Furthermore, the joint optimization of the production schedule and mining fleet can also limit the number of shovels working in the same area in the same period, which is visualized in Fig. 7. By re-arranging the quantities of material to be handled by one shovel alone, as seen in areas A1 and A2 in this case study, space and safety requirements are facilitated and, at the same time, truck traffic on the supply ramp to these areas is also reduced, especially when they are located at the bottom of the pit where only one ramp is available for hauling.

Fig. 6
figure 6

Comparison of shovel allocation per period (12 months) to mining areas (colour-coded from A1 to A6) for separately optimized production schedule (top) and joint optimization (bottom). (Color figure online)

Table 9 Key improvements of the joint optimization of short-term production schedule and fleet management in mining complexes
Fig. 7
figure 7

Comparisons of the fixed production schedule of pit 1 (left) and jointly optimized fleet allocation and production schedule (right), whereas joint optimization includes constraints of limiting the number of shovels working in the same area for A1 and A2

The advantages of simultaneously optimizing the production schedule and truck fleet are discussed herein. As seen in Fig. 8, the assignment of trucks on a fixed production schedule can cause high fluctuations that lead to, on the one hand, periods where the complete fleet of 24 trucks needs to be assigned to haul extracted material (periods 8 and 9) and, on the other hand, periods where less than half of the truck fleet is in use (periods 6 and 12). Problems can arise when (1) the maximum required number of trucks over the planning horizon is unavailable, (2) the preventive maintenance cannot be accomplished adequately if a maximum number of required trucks is in operation, or (3) if the workforce cannot be flexibly assigned over a short-term planning horizon.

Fig. 8
figure 8

Comparison of required haulage capacity per period (top lines) and the total assigned number of trucks per period (bottom lines) for fixed schedule and joint optimization of production schedule and mining fleet

By analyzing optimized truck assignments in Table 10, one notes that the joint optimization of the mining fleet and production schedule succeeds in consistently having up to 80% of trucks and over 50% of trucks of each truck-type in use. As a result, trucks of both truck-types are more efficiently matched to the production schedule of the mining complex, so that total truck operational costs are reduced by 3.1% over the annual planning horizon compared to the two-step optimization approach. Furthermore, the more balanced utilization of the truck fleet reduces the hauling effort of haulage-intensive periods effectively (compare periods 8–10), which allows for preventive truck maintenance on the remaining part of the fleet in every period and minimizes disruptions caused by events of unexpected breakdowns. A summary of all key improvements of the jointly optimized mine plan is given in Table 9.

Table 10 Comparison of the number of trucks per period and associated truck operational costs obtained for truck optimization on a fixed schedule and joint optimization

5 Conclusions

In this article, a novel stochastic mathematical model for the joint optimization of a short-term production schedule and fleet management in a mining complex is presented. The model simultaneously optimizes the short-term extraction sequence, the shovel allocation while considering costs and lost production from relocation, the scheduling of a heterogeneous hauling fleet, and the downstream allocation of extracted materials to multiple processing facilities and stockpiles along the mineral value chain. Several sources of uncertainty are integrated into the mathematical optimization formulation, including metal and material type uncertainty stemming from the geological reserve, uncertainty in shovel production, uncertainty in the availability of haul trucks, and the uncertainty of truck cycle time.

To model required truck hauling capacity more accurately, the product of tonnage and required truck cycle time per block is newly defined. Furthermore, truck cycle times are precisely quantified block by block, taking into account the uncertain destination of the material due to metal and material type uncertainty. The case study presented shows how the joint optimization of a production schedule and fleet management in a mining complex results in synergies that cannot be achieved through a conventional two-step approach, where fleet management optimization is applied on a previously optimized, fixed production schedule.

Future work could integrate additional sources of uncertainty into the proposed framework of joint short-term optimization of mining complexes, including uncertainties related to plant throughput, the density of mined material, and metal recovery in various processing facilities. In addition, spatial clustering techniques may be used for sub-dividing the material to be mined into distinct mining areas. While the SA-based solution approach utilized herein provides good results in reasonable time, further research can explore the performance of other state-of-the-art metaheuristics (e.g. Hansen and Mladenović 2018; Laguna 2018). Lastly, with the recent advancements of sensor information collection during operations in mining complexes, such as real-time measurements of rock properties, equipment availability and utilization, as well as the performance of processing plants, the related data collected may be integrated into the proposed framework to facilitate real-time updates of short-term production plans.