1 Introduction

In-pit crushing and conveying (IPCC) systems are used in open-pit mining for their potential economic, environmental, and safety advantages [1]. An in-pit crusher is closer to the point of excavation and requires less total truck haulage than a fixed ex-pit crusher. A semi-mobile system allows the in-pit crusher to relocate up to once per year [1]. The higher capital costs of an IPCC system can be offset by savings in purchasing, operating, and maintaining haul trucks [2]. In addition, replacing trucks with conveyors can reduce greenhouse gas emissions of the operation [3] and reduce the number of workers present in the operating mine. To realize this potential, the planning approach needs to optimize the location and relocations of an in-pit crusher and determine the best conveyor route for each installation. These decisions are interdependent with other decisions in the long-term production schedule. A mining complex in which material flows from multiple mines through stockpiles, transportation, and processing streams may have more than one IPCC system and the interaction of their scheduling decisions needs to be considered. Integrating decision-making for the production schedule of a mining complex and management of its IPCC systems would facilitate a global optimization of the entire value chain.

The goal of long-term mine planning is to generate the production schedule that maximizes the operation’s net present value (NPV) while respecting operating constraints [4]. Past work has developed mathematical programming formulations to optimize long-term mine production schedules [5,6,7,8,9,10,11,12,13,14,15]. The conventional approach, however, simplifies the problem by optimizing each component of the mine plan sequentially [16, 17] including the extraction sequence, pushback design, ultimate pit limit (UPL), destination policy, and stockpile management. The sequential approach is also unable to capture synergy between operations for a mining complex with multiple mines. However, because the goal is to maximize NPV of the entire mining complex, the optimal scheduling decisions for different components of a mine plan and for different mines in a connected mining complex are interdependent [18]. Goodfellow and Dimitrakopoulos [19, 20] and Montiel and Dimitrakopoulos [21,22,23] developed unified formulations to optimize long-term plans of entire mining complexes with multiple mines and processing streams while incorporating geological uncertainty from each deposit. These simultaneous stochastic optimization approaches have also been extended to integrate capital expenditure (CAPEX) decisions such as investments in equipment fleets or processing facilities into long-term scheduling [24,25,26]. This work has shown that simultaneous stochastic optimization at the long-term level allows the schedule to find synergy between components that is not found when using a sequential approach. In the case of IPCC, the advantages are achieved when decisions for the extraction sequences, destination policy, crusher positions, relocation timing, and truck fleet investment are optimized simultaneously.

Because exploration data describing a mineral deposit is sparse, there is significant uncertainty and variability in the grades, material types, and spatial distribution of valuable minerals in the ground. Failing to consider this geological uncertainty during the production schedule optimization has been shown to create unrealistic forecasts in key performance indicators including profit [27,28,29,30]. To manage the associated risk, geological uncertainty must be considered during the optimization process [31]. This uncertainty can be quantified using geostatistical simulation [32,33,34,35]. Ramazan and Dimitrakopoulos [10] propose a stochastic integer programming (SIP) [36] formulation that takes simulated orebody models as input and maximizes expected NPV of the long-term schedule while introducing the concept of risk-discounted penalties which minimize and delay risk of deviating from production targets. Ramazan and Dimitrakopoulos [11] extend the SIP model to include stockpiling and Benndorf and Dimitrakopoulos [37] expand the formulation to consider joint uncertainty of multiple elements. Further development of these SIP approaches led to the previously mentioned simultaneous stochastic optimization of mining complexes [19, 21].

Existing work has addressed the optimization problem of production scheduling with semi-mobile IPCC. Initially, research focused on optimizing the location of an in-pit crusher while assuming a fixed production schedule [38,39,40]. Paricheh and Osanloo [41] combined production scheduling, IPCC locations/relocations, and truck fleet investment into a concurrent optimization. Jimenez Builes [42] developed a similar formulation and included a stockpile. These approaches only allowed a predetermined list of candidate crusher locations to be selected during optimization. Liu and Pourrahimian [43] examine a greater number of candidate locations by using an iterative approach. Several conveyor lines are identified and for each one, the extraction sequence and crusher advancement decisions are optimized. The configuration that yields the highest NPV is chosen. While the model uses haul distance to consider the impact of schedule decisions on truck operating costs, it ignores investment costs for the fleet. Shamsi et al. [44] allowed any location in the deposit to be available for an in-pit crusher by adding constraints to ensure selected locations would be feasible, adding flexibility into the optimization model without requiring an iterative approach. Despite these developments, all existing methods ignore geological uncertainty and thus do not manage the associated risk. In addition, they all require the UPL, the conveyor layout for each crusher position, and the designation of ore and waste to be decided before optimizing the production schedule. Including these decisions in a simultaneous optimization model would help the operation realize the potential of the IPCC system. The above approaches are also limited to operations with a single mine. Zuckerberg et al. [45] optimize a long-term production schedule for a mining complex with multiple crushers and a conveyor network using mixed integer programming (MIP). The model included decisions for opening mining areas, installing and recycling crushers, and installing and relocating conveyors while considering truck fleet requirements. However, the exact locations of the crushers were not considered. All the mentioned approaches for mine planning with IPCC are limited to linear formulations; thus, they cannot model nonlinear transformations that occur in a mining complex such as material blending or metal recovery. Developing a formulation that addresses these limitations leads to increasing the number of binary decision variables and including nonlinear constraints in the optimization problem. To overcome these obstacles, the present work proposes using a metaheuristic solving algorithm.

Metaheuristics can provide very good solutions to large optimization problems much more quickly than exact methods and do not limit the formulation to a linear structure [46, 47]. Several frameworks use simulated annealing (SA) [48], demonstrating that it is capable for solving MIP formulations for mine production scheduling [19, 22, 31, 49, 50]. Other developments in mine production scheduling have focused on using population-based methods including genetic [51,52,53] or evolutionary algorithms (EA) [54, 55]. Characteristics of SA and EA have been combined to create hybrid metaheuristics and applied to combinatorial scheduling problems [56, 57]. In particular, the local search efficiency of SA can be combined with the swarm intelligence and suitability for parallel computing of EA. Chen and Flann [58] describe the many ways these two optimization methods can be hybridized. Senecal [59] develops a parallel metaheuristic based on tabu search, demonstrating benefits of combining a powerful local search strategy with parallel computing for optimizing mining complexes.

The present work proposes an SIP framework to optimize long-term production schedules for a mining complex using multiple semi-mobile IPCC systems. Specifically, the proposed model simultaneously optimizes decisions for the extraction sequences, destination policy, process stream utilization, truck fleet investments, and IPCC configurations. Any feasible location for the in-pit crusher and its conveyor is available for selection. The method considers geological uncertainty during decision-making by using simulated orebody realizations [32] and manages the associated risk. Revenue is modelled by the values of products sold and considers potential nonlinear material transformations in the processing streams. The incorporation of geological uncertainty, consideration of nonlinear material transformations, and applicability to mining complexes with multiple mines are the proposed framework’s main contributions to the field of production scheduling with IPCC. A hybrid metaheuristic algorithm based on SA and EA is implemented to optimize the proposed SIP formulation. In the following section, descriptions of the proposed optimization formulation and the metaheuristic solving method are given. Subsequently, an application is presented using an iron ore mining complex. Finally, conclusions and future work are discussed.

2 Method

2.1 Modelling a Mining Complex with In-Pit Facilities

The framework considers a mining complex with one or more open-pit mines, with each mine including a waste dump and an IPCC system as options for material destinations. The mining complex may also include multiple processing streams to transform crushed material into sellable products. The proposed model also allows the option to include long-term stockpiles which can store material from the IPCC systems for processing in the future. Mines, waste dumps, stockpiles, in-pit crushers, and processing plants are all referred to as nodes which are connected by the flow of material through the mining complex. Additionally, in-pit crushers and connected conveyors are both referred to as in-pit facilities. The mines are discretized into blocks which represent the selective mining units (SMUs), defined by the selectivity of the mining equipment. Each block in the mining complex has a predefined list of predecessor blocks which need to be mined to expose the block, depending on the maximum slope angle of the mine. By the same logic, each block has a list of successors below it. Each block also has a list of adjacent blocks on the same bench which are its neighbors.

To represent the locations in which in-pit facilities can be allocated, the mines are also discretized into zones. A zone is defined by a group of adjacent blocks which are inside it. Every zone has a list of blocks which are directly below it and a list of adjacent zones to which it can be connected by a conveyor. Figure 1 shows an example of a block model section divided into zones. The size of the zones should reflect the space required to install an in-pit facility including a safe buffer between the facility and the closest excavation activity. Zones are not mathematically required to be of uniform shape and size; however, implementation may be most practical if they are uniform. The proposed model assumes that both crushers and conveyor segments can be allocated to zones of the same size. The use of zones to represent in-pit facility locations allows for a completely flexible optimization of the IPCC system, at the cost of generating a design for the exact shape of the IPCC installation. Thus, this optimization approach is intended to provide a strategic plan which would subsequently require a more detailed geotechnical analysis and design for the IPCC installations.

Fig. 1
figure 1

Example section of a deposit discretized into blocks and zones

The following notation is used to describe the optimization model (Tables 1 and 2). Throughout the formulation, subscripts refer to indices while superscripts are for the purpose of adding description to the notation.

Table 1 Sets and indices used for modelling the mining complex
Table 2 Constant parameters used in the optimization model

2.2 Decision Variables (Table 3)

Table 3 Decision variables in the optimization model

2.3 Objective Function

The proposed SIP maximizes the following objective function:

$$\begin{gathered} max{ }\underbrace {{\frac{1}{\left| S \right|}\mathop \sum \nolimits_{t \in T} \mathop \sum \nolimits_{s \in S} \mathop \sum \nolimits_{a \in A} \mathop \sum \nolimits_{{j \in N^{p} { }}} v_{at} \cdot m_{ajts} }}_{{1 - {\text{Revenue}}}} - \underbrace {{\mathop \sum \nolimits_{t \in T} \mathop \sum \nolimits_{b \in B} \mathop \sum \nolimits_{j \in N} w_{b} \cdot x_{bjt} \cdot c_{t}^{x} }}_{{2 - {\text{Mining Costs}}}} - \hfill \\ \underbrace {{\mathop \sum \nolimits_{t \in T} \mathop \sum \nolimits_{i \in N} \mathop \sum \nolimits_{j \in N} y_{ijt} \cdot c_{ijt}^{proc} }}_{{3 - {\text{Processing Costs}}}}{ } - \underbrace {{\mathop \sum \nolimits_{t \in T} \left[ {\pi_{t} \cdot c_{t}^{\pi } + \mathop \sum \nolimits_{z \in Z} \left[ {r_{zt} \cdot c_{t}^{r} + n_{zt} \cdot c_{t}^{n} + \mathop \sum \nolimits_{{j \in N^{c} }} \psi_{jzt} \cdot c_{t}^{\psi } } \right]} \right]}}_{{4 - {\text{Truck Costs}}}} - \hfill \\ \underbrace {{\left[ {\mathop \sum \nolimits_{t \in T} \left[ {k_{t}^{work} \cdot c_{t}^{kw} + k_{t}^{idle} \cdot c_{t}^{ki} + k_{t}^{prch} \cdot c_{t}^{kp} } \right] - k^{salv} \cdot c^{ks} } \right]}}_{{5 - {\text{IPCC Costs}}}} - \underbrace {{\frac{1}{\left| S \right|}\mathop \sum \nolimits_{t \in T} \mathop \sum \nolimits_{s \in S} \mathop \sum \nolimits_{h \in H} \left[ {d_{hts}^{ + } \cdot c_{ht}^{ + } + d_{hts}^{ - } \cdot c_{ht}^{ - } } \right]}}_{{6 - {\text{Penalties}}}} \hfill \\ \end{gathered}$$
(1)

Part 1 counts the expected discounted revenue from the sale of metal products, where the quantity of recovered metal is dependent on the stochastic scenario due to the use of simulated material attributes. Part 2 refers to the mining cost, represented by a flat rate per ton excavated. Part 3 accounts for processing costs applied to the tonnages of downstream material flows including crushing, conveying, stockpiling, rehandling, and mill processing. Part 4 counts the truck costs including CAPEX for purchasing new trucks, operating costs for working trucks, and maintenance costs for idle trucks in each period. This component also includes the revenue gained from salvaging remaining trucks at the end of the planning horizon. Part 5 refers to the IPCC costs including the CAPEX for relocating the crusher and installing conveyor segments as well as the operating costs for operating crusher and conveyor facilities. The IPCC operating costs are for maintaining the facilities, not for the tonnage passed through them. Part 6 includes the scenario-dependent, risk-discounted penalties applied in the objective function so that the schedule is incentivized to minimize and delay risks of deviating from production targets, depending on the magnitude of the penalty cost.

2.4 Model Constraints

The proposed formulation is subject to the following constraints:

2.4.1 Mining Reserve and Slope Constraints

$${\sum }_{j\in N}{\sum }_{t\in T}{x}_{bjt}\le 1\, \forall b\in B$$
(2)
$$\begin{array}{*{20}c} {\mathop \sum \nolimits_{j \in N} x_{bjt} \cdot \left| {P_{b} } \right| \le \sum\nolimits_{{b^{\prime} \in P_{b} }} {\sum\nolimits_{j \in N} {\mathop \sum \nolimits_{t^{\prime} = 1}^{t} x_{b^{\prime}jt^{\prime}} } } } & {\forall b \in B,t \in T} \\ \end{array}$$
(3)

Constraint (2) ensures each block can only be mined once and only be sent to one destination. Constraint (3) makes sure each block is exposed when it is mined. This is defined by each block’s set of predecessors.

2.4.2 Truck Hours and Purchase Constraints

$$\sum\nolimits_{b\in B}{w}_{b}\left[\sum\nolimits_{z\in Z}\sum\nolimits_{j\in {N}^{c}}\left[{x}_{bjt}\cdot {\psi }_{jzt}\cdot {k}_{bz}\right]+\sum\nolimits_{j\in {N}^{w}}\left[{x}_{bjt}\cdot {k}_{bj}\right]\right]\le u\cdot {k}_{t}^{work}\, \forall t\in T$$
(4)
$$\begin{array}{*{20}c} {k_{t}^{work} + k_{t}^{idle} = \mathop \sum \nolimits_{t^{\prime} = t + 1 - \lambda }^{t} k_{t^{\prime}}^{prch} } & {\forall t \in T} \\ \end{array}$$
(5)
$$k^{salv} = \mathop \sum \nolimits_{t^{\prime} = T + 2 - \lambda }^{T} k_{t^{\prime}}^{prch}$$
(6)

Based on the block-specific destination decisions and estimated haul route cycle times, Constraint (4) ensures the number of truck hours required is satisfied by the fleet of working trucks. Constraint (5) requires the trucks to be purchased before joining the fleet and ensures that trucks are not used beyond their fixed lifespan. Constraint (6) salvages the trucks that have at least one year of remaining lifespan at the end of the planning horizon.

2.4.3 In-Pit Facility Constraints

$${r}_{zt}+\sum\nolimits_{j\in {N}^{c}}\left[{\psi }_{jzt}\right]\le 1\, \forall t\in T,z\in Z$$
(7)
$$\begin{array}{*{20}c} {\left| {B_{z} } \right| \cdot \left( {r_{zt} + \mathop \sum\nolimits_{{j \in N^{c} }} \left[ {\psi_{jzt} } \right]} \right) \le \mathop \sum\nolimits_{{b \in B_{z} }} \mathop \sum\nolimits_{j \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} x_{bjt^{\prime}} } & {\forall t \in T,z \in Z} \\ \end{array}$$
(8)
$$\begin{array}{*{20}c} {\left| {F_{z} } \right| \cdot \left( {r_{zt} + \mathop \sum\nolimits_{{j \in N^{c} }} \left[ {\psi_{jzt} } \right]} \right) \le \left| {F_{z} } \right| - \mathop \sum\nolimits_{{b \in F_{z} }} \mathop \sum\nolimits_{j \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t} x_{bjt^{\prime}} } & {\forall t \in T,z \in Z} \\ \end{array}$$
(9)

Constraint (7) guarantees no more than one facility is allocated to a zone at any time. Constraint (8) verifies the blocks inside the zone have been excavated before the facility is installed and Constraint (9) ensures the blocks directly below the zone remain intact while the facility is in place.

2.4.4 Crusher Constraints

$$\sum\nolimits_{z\in {Z}_{i}}{\psi }_{jzt}\le {\Psi }_{ji} \forall i\in {N}^{m},j\in {N}^{c},t\in T$$
(10)
$$\sum\nolimits_{b\in {B}_{i}}{x}_{bjt}\le \left|{B}_{i}\right|\cdot {\Psi }_{ji}\cdot \sum\nolimits_{z\in {Z}_{i}}{\psi }_{jzt}\, \forall i\in {N}^{m},j\in {N}^{c},t\in T$$
(11)
$${\psi }_{jzt}-{\psi }_{jzt-1}\le {\pi }_{jt} \forall j\in {N}^{c},t\in T,z\in Z$$
(12)

Constraint (10) makes sure that an in-pit crusher is installed in only one zone per period and only operates in the mine to which it is assigned. Constraint (11) prevents blocks from being sent to a crusher that is not actively installed anywhere or one that is active in a different mine. Constraint (12) activates the relocation variable when a crusher is relocated to incur the associated cost. Because the in-pit crushers are not constrained from relocating in consecutive years, the relocation cost provides an important incentive for the schedule to only relocate a crusher if the benefits outweigh the cost.

2.4.5 Conveyor Constraints

$$\begin{array}{*{20}c} {\psi_{jzt} \le \mathop \sum\nolimits_{{z^{\prime} \in V_{z} }} r_{z^{\prime}t} } & {\forall j \in N^{c} ,t \in T,z \in Z} \\ \end{array}$$
(13)
$$\begin{array}{*{20}c} {r_{zt} \le \mathop \sum\nolimits_{{z^{\prime} \in V_{z} }} r_{z^{\prime}t} } & {\forall t \in T,z \in Z} \\ \end{array}$$
(14)
$$\begin{array}{*{20}c} {r_{zt} \le \mathop \sum \nolimits_{t^{\prime} = 1}^{t} n_{zt^{\prime}} } & {\forall t \in T,z \in Z} \\ \end{array}$$
(15)

Constraints (13) and (14) ensure a zone with an active facility is connected to a conveyor in one of its adjacent conveyor-reachable zones. Together, these constraints ensure that an in-pit crusher location will only be selected if a complete conveyor layout can be formed. Constraint (15) activates the conveyor installation variable when a conveyor operates in a zone for the first time to trigger the installation cost. Figure 2 illustrates how a network can be defined prior to the optimization. Using this map of connections, the framework allows the conveyor route to connect a crusher in any zone in a mine to a predefined discharge point (shown by the blue squares in Fig. 2) where material is sent ex-pit.

Fig. 2
figure 2

Example network map of allowable conveyor zone connections defined prior to the optimization from plan view (a) and side view (b)

2.4.6 Material Flow Balance Constraints

$${y}_{ijt}\le {Y}_{ij}\, \forall i,j\in N,t\in T$$
(16)
$$\sum\nolimits_{b\in B}{w}_{b}\cdot {x}_{bit}=\sum\nolimits_{j\in N}{y}_{ijt}\, \forall i\in {N}^{c},t\in T$$
(17)
$$\begin{array}{*{20}c} {\mathop \sum\nolimits_{j \in N} y_{ijt} \le \mathop \sum\nolimits_{j \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {y_{jit^{\prime}} } \right] - \mathop \sum\nolimits_{j \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {y_{ijt^{\prime}} } \right]} & {\forall i \in N^{s} ,t \in T} \\ \end{array}$$
(18)

Material flowing through the mining complex must be accounted for. Constraint (16) ensures material flows only through allowed connections of the mining complex. Constraint (17) forces the material coming into a crusher to leave in the same period and Constraint (18) prevents material being reclaimed from a stockpile before it is stored there.

2.4.7 Material Attribute Flow Balance Constraints

$${g}_{ajts}=\left(\sum\nolimits_{b\in B}{w}_{b}\cdot {g}_{bas}\cdot {x}_{bjt}\right)\div \left(\sum\nolimits_{b\in B}{w}_{b}\cdot {x}_{bjt}\right)\, \forall a\in A,j\in {N}^{c},t\in T,s\in S$$
(19)
$${q}_{aijts}={y}_{ijt}\cdot {g}_{aits}\, \forall a\in A,i\in {N}^{c},j\in N,t\in T,s\in S$$
(20)
$${q}_{aijts}={y}_{ijt}\cdot {g}_{ait-1s}\, \forall a\in A,i\in {N}^{s},j\in N,t\in T,s\in S$$
(21)
$$\begin{array}{*{20}c} {g_{ajts} = \left( {\mathop \sum\nolimits_{i \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {q_{aijts} } \right] - \mathop \sum\nolimits_{i \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {q_{ajits} } \right]} \right) \div \left( {\mathop \sum\nolimits_{i \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {y_{ijt} } \right] - \mathop \sum\nolimits_{i \in N} \mathop \sum\nolimits_{t^{\prime} = 1}^{t - 1} \left[ {y_{jit} } \right]} \right)} & {\forall a \in A,j \in N^{s} ,t \in T,s \in S} \\ \end{array}$$
(22)
$${g}_{ajts}=\left(\sum\nolimits_{i\in N}{q}_{aijts}\right)\div \left(\sum\nolimits_{i\in N}{y}_{ijt}\right)\, \forall a\in A,j\in {N}^{p},t\in T,s\in S$$
(23)
$${m}_{ajts}={\text{rec}}_{aj}\left({g}_{ajts}\right)\sum\nolimits_{i\in N}{y}_{ijt}\, \forall a\in A,j\in {N}^{p},t\in T,s\in S$$
(24)

Based on the material flow balance, the quantities and grades of attributes of flowing material need to be calculated. Constraints (1923) account for the head grade of incoming material at the crushers, the quantities of attributes moving out of each crusher and from stockpiles to processors, the end-of-period (EOP) grades at stockpiles, and the incoming head grades at processors, respectively. The metal recovered at the processor is also calculated based on the incoming head grade and tonnage using Constraint (24). The recovery function can be any mathematical function defined as an input. Perfect blending is assumed in this model so material attributes at each destination are averaged based on the tonnages in the relevant flows. Because the initial material attributes are stochastic, all related values are calculated per scenario.

2.4.8 Production Target Deviation Constraints

$${\sum }_{b\in {B}_{i}}{\sum }_{j\in N}\left[{w}_{b}\cdot {x}_{bjt}\right]+{d}_{hts}^{-}\ge {l}_{h}\, \forall i\in {N}^{m},t\in T,s\in S$$
(25)
$${\sum }_{b\in {B}_{i}}{\sum }_{j\in N}\left[{w}_{b}\cdot {x}_{bjt}\right]-{d}_{hts}^{+}\le {u}_{h}\, \forall i\in {N}^{m},t\in T,s\in S$$
(26)
$${\sum }_{b\in B}\left[{w}_{b}\cdot {x}_{bjt}\right]+{d}_{hts}^{-}\ge {l}_{h}\, \forall j\in {N}^{c},t\in T,s\in S$$
(27)
$${\sum }_{b\in B}\left[{w}_{b}\cdot {x}_{bjt}\right]-{d}_{hts}^{+}\le {u}_{h}\left(1-{l}_{d}\cdot {\pi }_{dt}\right)\, \forall j\in {N}^{c},t\in T,s\in S$$
(28)
$$\sum\nolimits_{i\in N}\left[{y}_{ijt}\right]+{d}_{hts}^{-}\ge {l}_{h}\, \forall j\in {N}^{p},t\in T,s\in S$$
(29)
$$\sum\nolimits_{i\in N}\left[{y}_{ijt}\right]-{d}_{hts}^{+}\le {u}_{h}\, \forall j\in {N}^{p},t\in T,s\in S$$
(30)
$${g}_{ajts}+{d}_{hts}^{-}\ge {l}_{h}\, \forall a\in A,j\in {N}^{p},t\in T,s\in S$$
(31)
$${g}_{ajts}-{d}_{hts}^{+}\le {u}_{h} \forall a\in A,j\in {N}^{p},t\in T,s\in S$$
(32)
$$\begin{array}{*{20}c} {d_{hts}^{ + } = \mathop \sum \nolimits_{{b \in B_{i} }} \left[ {\left( {\mathop \sum \nolimits_{j \in N} x_{bjt} } \right) \cdot \left( {\left| {N_{b} } \right| - \mathop \sum \nolimits_{{b^{\prime} \in N_{b} }} \mathop \sum \nolimits_{j \in N} x_{b^{\prime}jt} } \right)} \right]} & {\forall i \in N^{m} ,t \in T,s \in S} \\ \end{array}$$
(33)

The deviations from selected production targets are calculated. Constraints (2530) apply lower and upper targets on tonnage at the mines, crushers, and processors, respectively. The crusher tonnage capacities are reduced in periods when the crusher is being relocated to account for the relocation downtime. Aside from this reduction, the model does not consider what happens to production during the relocations. Constraints (31, 32) model lower and upper targets for attribute head grades at processors and Constraint (33) penalizes the schedule for mining blocks without also mining their adjacent blocks to ensure the schedule is operationally feasible with respect to equipment access.

2.5 A Metaheuristic Solver Based on Simulated Annealing and Evolutionary Algorithms

Because of the non-linear structure of the proposed SIP formulation and the significant number of binary variables required to model a realistic mining complex, a metaheuristic solver is used to determine the optimized schedules. The core of the proposed algorithm is SA which iteratively perturbs the solution, always accepting improvements and accepting negative changes according to a probability that depends on the magnitude of the change [48]. Because of the impact that IPCC decisions have on the rest of the schedule, perturbing the IPCC configuration requires many perturbations to other components of the schedule before the new IPCC configuration can be effectively evaluated. Thus, the proposed method always accepts a change to the IPCC variables, regardless of its immediate impact on the objective function, but freezes the IPCC variables for many iterations before changing them again. SA is sensitive to its choice of initial solution, especially in situations with many local optima. A strategy to address this is to run multiple executions of simulated annealing from different starting points (most importantly different IPCC configurations) and take the best final solution. This can be done in parallel to take advantage of computing resources. The final extension proposed in the present work is to enable communication between the parallel executions. At the end of each interval of frozen IPCC variables, the solutions are compared and a population-based selection criterion is applied to determine how each member will perturb its respective IPCC variables. The result is an example of an evolutionary algorithm (EA). The IPCC decisions \(\left({\varvec{\uppsi}},\mathbf{r}\right)\) are searched by the EA while the mining and processing utilization decisions \(\left(\mathbf{x},\mathbf{y}\right)\) are searched by SA. Each generation involves applying breeding operators on the IPCC decisions of each solution in the population and a subsequent duration of SA to optimize the other variables. One could also think of this approach as using EA to find the best IPCC configuration but where evaluating the objective function requires optimizing a sub-problem using SA which finds optimal extraction sequence, destination policy, and downstream flow schedule for the given IPCC configuration.

As illustrated in Fig. 3, the algorithm begins with a population of \(P\) feasible solutions, each with a randomly generated IPCC configuration. In parallel, all solutions undergo a fixed duration of SA which operates on the \(\left(\mathbf{x},\mathbf{y}\right)\) variables. When this is done, the solutions are evaluated and ranked. To start the next generation, a breeding operator is applied to each solution depending on its rank and another round of SA is executed. In this implementation, there is only one breeding operating being used: mutation, which involves a solution’s IPCC configuration being modified. The modification involves picking a random crusher from those in the mining complex, picking a random location in the mine it is assigned to, generating a random conveyor route, and installing the system there for some number of periods. A correction is applied to the block mining and destination decisions to satisfy physical constraints. After the SA phase of each generation, the top-ranking solutions undergo mutation while the lowest-ranking solutions are terminated. The solutions which are terminated are replaced by either mutated IPCC configurations of better-performing solutions or by new random IPCC configurations. Crossover involving multiple parents is not used in this implementation.

Fig. 3
figure 3

Hybrid metaheuristic algorithm

Figure 4 illustrates the simulated annealing portion of the hybrid metaheuristic. During this procedure, each iteration involves applying a randomly selected perturbation to the solution and evaluating the new objective function. An improvement is always accepted while a deterioration is accepted with a probability that depends on the magnitude of the deterioration and the annealing temperature. The temperature parameter is gradually cooled over time to favor exploitation but can be periodically reset to re-engage exploration. Perturbations used in this implementation include (i) block-based perturbations which can modify the extraction timing or destination of blocks in the mines and (ii) downstream flow perturbations which modify the flow of material through the mining complex after it is mined. Multiple low-level heuristics from both categories are included to provide the optimization process adequate tools for searching the solution space.

Fig. 4
figure 4

Simulated annealing phase of the hybrid metaheuristic algorithm

3 Illustrative Example

3.1 Overview of the Iron Ore Mining Complex

The illustrative example demonstrating the proposed method uses an iron ore mining complex. As illustrated in Fig. 5, the mining complex consists of two mines, which can each supply material to a waste dump or to an IPCC system via truck haulage. Both IPCC systems can feed material to a beneficiation plant directly or to a long-term stockpile for processing in the future. The output product from the beneficiation plant is iron ore concentrate. The objective of the mining enterprise is to maximize discounted cashflows while meeting targets regarding the quality of the concentrate. Attributes of the mineralized material include the grades of iron (Fe), silica (SiO2), and alumina (Al2O3). Recovery of iron in the concentrate is modelled as a function of iron head grade of the blended material being processed. To ensure the concentrate meets quality standards, upper and lower targets are imposed on the head grades for silica and alumina. Stochastic input values for each mine are provided by 10 simulated realizations which characterize the joint uncertainty of the multi-element deposit [60]. Combined, they form 100 stochastic scenarios. Truck cycle times are estimated for each block to each in-pit zone based on Euclidean distance with a maximum haul road slope angle and consideration for slower truck speed if the trucks would be driving uphill while loaded.

Fig. 5
figure 5

Iron ore mining complex with two IPCC systems

4 Results

The following results were produced using an Intel i7-8700 CPU with 6 cores and a base speed of 3.20 GHz as well as 32 GB of RAM. The metaheuristic approach was run for 48 h on this machine, with 1-h intervals for each generation of IPCC decision variables. A population of 10 solutions was maintained throughout the execution. For the initial feasible solutions, in addition to random IPCC configurations, mining, destination, and processing utilization decisions are chosen randomly, with repairs made only to ensure the solutions respect all constraints. Thus, the method does not rely on good quality starting solutions.

Figure 6 illustrates the long-term production schedule created by the proposed optimization framework for the iron ore mining complex. The installation zones for the in-pit crushers and conveyors are shown as well as the blocks selected for mining in each period. The optimized schedule shows blocks being extracted mostly in medium or large clusters, with several smaller clusters which may require shovel movements. The schedule is also choosing to mine blocks close to the crushers—or when mining areas are spread out, is choosing to locate the crusher in the middle of these areas—to manage the number of trucks required. Specifically, the crusher in mine 1 is relocated in years 3 and 5 after the initial configuration after being installed in year 1 (Table 4). For mine 2, the only relocation takes place in year 4. The schedule only relocates the crushers in these periods because it considers the relocation costs and the costs of installing new conveyor segments against the benefits of moving them. By including these aspects in the model, the optimization balances the advantages of reducing truck haulage with the costs of relocating the IPCC system. Relocation is also important when the in-pit facilities are covering material that needs to be exposed and mined later.

Fig. 6
figure 6

Visual representation of mine extraction sequences and IPCC configurations

Table 4 Overview information of iron ore mining complex

As shown in Fig. 7, the extraction sequences in both mines vary in terms of total material but do not deviate above the upper bound (UB) target for mine excavation tonnage. Figure 8 shows the timing of truck investments and scheduled usage of the fleet which is shared by the two mines. The schedule invests in the most trucks in year 1 and must replace expiring trucks (4-year lifespan) again in year 5 but also purchases a small number of trucks in other years to adapt to the changing needs of the mines. The schedule rarely chooses to idle the trucks. The consideration of truck fleet requirements during the simultaneous optimization allows the consequences of the IPCC decisions to be precisely evaluated during the decision-making process.

Fig. 7
figure 7

Material movement from mines to destinations

Fig. 8
figure 8

Schedule of new truck investments and truck usage

Figure 9 depicts the production rates of the crushers throughout the schedule. The dips in the upper bound lines represent the lost production time due to relocating the crushers in those periods. The mining complex appears to be more limited by the capacity of Crusher 1 as it is full in most years while the capacity of Crusher 2 is not completely used in any year (Table 5). Figure 10 shows the production rates of the beneficiation plant. The capacity is almost filled in most years, with years 6 and 7 showing the biggest drops in production at 10% and 12% under the capacity, respectively. Providing a lower bound target for the processing production rates could help incentivize the schedule to better use the full capacity. The schedule does not use the long-term stockpile in any period. This is likely because the deposits are only three benches deep and ore is accessible throughout.

Fig. 9
figure 9

Tonnage sent through the crushers

Table 5 Economic and operational parameters for the material handling systems
Fig. 10
figure 10

Tonnage sent through the beneficiation plant

The following graphs show risk profiles which represent the range of outcomes for each performance indicator of the schedule given the simulated orebody models, with the solid lines representing the median (P50) and the dotted lines representing the 10th and 90th percentiles (P10, P90).

Figures 11 and 12 show risk profiles for silica and alumina grades, respectively. The risk profile for silica shows significant risk of deviation from the upper target in year 1, but very low risk of deviations in all other years. The risk profile for alumina shows very low risk of deviating from upper or lower targets in all years. The forecast for recovered iron is shown in Fig. 13. The cumulative discounted cash flow of the whole operation is shown in Fig. 14. These risk profiles demonstrate the range of possible outcomes for the schedule and allow decision-makers to properly evaluate the operation and its potential for financial success.

Fig. 11
figure 11

SiO2 grade in beneficiation plant feed material

Fig. 12
figure 12

Al2O3 grade in beneficiation plant feed material

Fig. 13
figure 13

Iron recovered

Fig. 14
figure 14

Cumulative discounted cashflows

5 Conclusions

This work proposes a new framework for optimizing a long-term mine production schedule for a mining complex with multiple semi-mobile IPCC systems. The method integrates decision-making for extraction sequencing, destination policy, process stream utilization, truck fleet investment, in-pit crusher locations, relocation timing, and conveyor layouts. A significant level of flexibility is available in the optimization process as the in-pit facilities can be installed anywhere in the related mines. The integration of decision-making at the long-term planning level and flexibility for the IPCC design allow the optimization model to capture synergy between components and realize the potential of IPCC. Risk associated with geological uncertainty of multi-element deposits is managed by considering stochastic inputs for the material attributes and penalizing risk of deviations from production targets. Results from the application at the iron ore mining complex show the optimization framework can maximize value of the products while managing the material handling systems and several material quality targets.

The hybrid metaheuristic solving algorithm was shown to generate a reasonable solution to an optimization formulation which would be impractical to solve using a conventional method. While the solving approach is sensitive to the number of decisions (particularly the number of possible IPCC locations), the parallel computing framework provides the option to increase computing resources assigned to the optimization and manage run times for applications with larger mining complexes.

In terms of future work, the framework used to model the locations of IPCC facilities could be applied to similar applications with different facilities such as in-pit waste dumping and progressive reclamation. Using a different zone, shapes and sizes for each in-pit facility type would be a suitable extension to handle their different physical characteristics. Including the location of major fixed facilities such as waste dumps and processing plants within the long-term planning framework could also provide value.