1 Introduction

Mine planning is commonly categorized into three levels: long-term (strategic), medium-term (tactical), and short-term (operational) [1]. The strategic planning phase aims to determine the optimal mine layout, which includes identifying the blocks to be extracted and those that should be left undisturbed, as well as determining the timing for extraction [1]. This planning approach has evolved over the years, detailing various characteristics of this stage of the mineral value chain, such as strategies for stockpiling [2], handling outputs from different mining sites [3], addressing multiple processing pathways [4], and adapting to fluctuating market conditions [5]. However, despite these and other studies that have provided enormous contributions to the field, the research still lacks a more detailed representation of the later stages of the mineral value chain to achieve holistic optimization. Indeed, the foundational concept of system theory suggests that optimizing individual subsystems does not inherently lead to the optimization of the system as a whole [6].

In the mineral value chain, metallurgical plants play a pivotal role in terms of economic viability. For example, it is impractical for plants to extract all-value minerals, such as gold and silver, because this would involve high dosages of reagents (cyanide in this case). This would increase operating costs and impact the metal recovery rate, with some minerals being lost in the tailing stream [7]. Furthermore, the comminution process, which encompasses all terms associated with the size reduction or severance of ores and rocky materials [8], demands considerable energy. This significantly affects operational costs, typically accounting for 30–60% of the total energy consumption at the mine site, which is sometimes as high as 80% [9, 10]. For these reasons, plant reconfiguration must be a tactical decision and not made based on every slight variation in ore feed but rather depending on the processing requirements of potential upcoming feed streams [11]. Therefore, the term operational mode was introduced to refer to a series of parameters that summarize the metallurgical plant configuration, such as metal recovery rate and processing rate, but not limited to these [12]. These modes are designed to optimize the production of metals or alloys, ensuring efficient and safe operation for specific feeds, for example, certain rock blends. Since the metal grade varies across different rock types, having an appropriate number of operational modes, if feasible, offers greater flexibility. This flexibility allows for a more accurate response to variations in the rock types within the ore feed, thereby addressing grade uncertainty better [12].

Optimizing mine planning and metallurgical plants within the same framework necessitates a thoughtful analysis comprising model designs, efficient algorithms, and the subsequent implementation that capitalizes on available computational resources. An interesting model was proposed by Professor Alessandro Navarra [13] featuring a broad formulation based on data structures. Instead of being limited to algebraic equations, the functions are hierarchically decomposed using the aforementioned structures. This approach affords significant flexibility by obviating the need for parameter adjustments, which are needed by other models [14].

Metaheuristics, an alternative to exact methods that are computationally intensive for complex problems, have been increasingly employed in stochastic mine planning. Notable examples in the field include particle swarm optimization [15], simulated annealing [16], and tabu search [17]. However, a challenge with these methods is their reliance on tuning parameters, which greatly impacts their performance and can skew the effectiveness of comparative analyses because of inconsistent parameter values. Moreover, repeated experiments to adjust these parameters increase the real execution time. One exception is the variable neighborhood descent (VND) metaheuristic, which has been specifically tailored for mine planning under geological uncertainty by Professor Amina Lamghari [18, 19]. This approach minimizes the need for excessive parameters and has demonstrated effectiveness in practical scenarios, leading to its inclusion in various studies focused on optimizing stochastic strategic mine planning and metallurgical processes [20,21,22]. These studies introduced operational modes as plant configurations adapted to specific conditions, aiding in managing uncertainties and providing flexibility in tactical plant decisions. However, the detailed application of these modes for tactical changes remains underexplored.

The present study follows the neutral-risk approach that aims to generate a single long-term mining plan that accounts for geological uncertainty [23] while integrating the metallurgical plant. The optimization, based on the net present value (NPV) of the project is achieved using an algorithm that employs a parallelized variant of the VND metaheuristic. This version of the VND incorporates a linear programming approach for mass balancing, which facilitates operational mode switches in the plant and is solved using Dantzig–Wolfe decomposition. Although the initial findings from this research area have been presented in earlier publications [12, 24], the current paper offers a more detailed explanation and discussion of the implementation. This was not possible previously because the focus of the efforts was on justifying the method’s suitability. Furthermore, the present work demonstrates advances over previous studies in terms of efficiency, such as reducing the number of blocks analyzed by previously calculating the ultimate pit limit and a new method to parallelize the VND, thereby reducing the overhead from creating and eliminating execution threads.

2 Formulation

In the model introduced by Professor Navarra, a two-stage optimization process is described [13]. Initially, the focus is on identifying which blocks should be mined and sent to the plant over periods to establish a long-term perspective. Subsequently, the model addresses mineral processing inside the metallurgical plant informed by the acquired geological scenario data. Unlike Navarra’s earlier work, where the focus was solely on grade uncertainty, this second stage adds operational modes. Each stage incorporates distinct optimization processes, culminating in a unified mine plan. This plan effectively addresses a range of equally likely scenarios, aiming to optimize the NPV of the mining project.

2.1 First-stage optimization

The first stage consists of maximizing the objective function shown in Eq. 1. The first part of the formulation remains constant across different scenarios because it calculates the discounted costs associated with mining specific blocks (cbt) across the mine’s operational lifespan. In contrast, the latter part of the equation varies according to geological scenarios, explicitly accounting for the discounted revenue. As will be described in the next section, fst is itself the objective value of a linear program, constituting the second-stage optimization. The equation’s outcome is an optimized solution for processing a select group of blocks \({\mathcal{B}}_{t}\) during a particular period t under scenario s. The expected value of these results is then calculated by dividing the sum among the number of scenarios (1/nS).

The constraints of the model are delineated in Eqs. 2 and 3. Equation 2 guarantees that a block can be excavated only if its preceding blocks (\({\mathcal{B}}_{b}^{\text{Pred}}\)) have been mined, which is a vital consideration for maintaining mechanically stable slopes. Furthermore, Eq. 3 ensures adherence to the maximum permissible amount of rock mining per period, which is denoted as (Mt), thereby further refining the model’s operational parameters.

Parameters.

  • \({\mathcal{B}}\): set of blocks.

  • nS: number of geological scenarios.

  • nT: number of time periods.

  • cbt: discounted cost of mining block b in period t.

  • \({\mathcal{B}}_{b}^{\text{Pred}}\): set of direct predecessors of block b.

  • mb: mass of block b.

  • Mt: maximum mass of rock that can be mined during period t.

Variables.

  • x: mine plan \({\left\{{\mathcal{B}}_{t}\right\}}_{t=1}^{{n}_{T}}\) which \({\mathcal{B}}_{t}\) ⊂ \({\mathcal{B}}\) is the set of blocks to be mined in period t.

    $$f(x)=\text{max}-\sum_{t=1}^{{n}_{T}}\sum_{b\in {\mathcal{B}}_{t}}{c}_{bt}+\frac{1}{{n}_{S}}\sum_{s=1}^{{n}_{S}}\sum_{t=1}^{{n}_{T}}{f}_{st}\left({\mathcal{B}}_{t}\right)$$
    (1)

Subject to:

$$\bigcup_{b\in {\mathcal{B}}_{t}}{\mathcal{B}}_{b}^{\text{Pred}}\subseteq \bigcup_{{t}{\prime}=1}^{t}{\mathcal{B}}_{t{\prime}}, \forall t\in \{1,\dots , {n}_{T}\}$$
(2)
$$\sum_{b\in {\mathcal{B}}_{t}}{m}_{b}\le {M}_{t}, \forall t\in \{1,\dots ,{n}_{T}\}$$
(3)

2.2 Second-Stage Optimization

The formulation presented in Eq. 4 characterizes the objective function of the second stage, aiming to maximize the value of processing specific blocks in a period t given a scenario s. This approach integrates economic valuation, accounting for both the grade and rock type (vbso), which is akin to previous methodologies [20,21,22]. However, it expands the scope to encompass various operational modes, factoring in both the quantity and diversity of rock types. In this equation, the block’s mass mbso is allocated across different operational modes to reach maximization.

Equations 58 contribute to the overarching set of constraints that govern the objective function. Equation 5 sets the limit that the fractions of block b processed under different operational modes o do not exceed the total mass of the same block. Therefore, if the left side of this equation equals 0, it indicates that block b falls into the category of waste. Equation 6 outlines the processing capacity constraints, reflecting the rate limitations of each operational mode (ro). The plant’s capacity is expressed in terms of the time availability in a given period (dt) to account for these rates. Equation 7 mandates a precise blend of rocks for each processing mode, here adjusted according to the weight fractions indicated (wop). Finally, Eq. 8 imposes non-negativity constraints on the continuous variables (mbso).

Parameters.

  • \({\mathcal{O}}\): set of operational modes.

  • \({\mathcal{P}}\): rock types.

  • \({\mathcal{B}}_{ps}\): set of blocks that under scenario s are of rock type p.

  • vbso: discounted recoverable value of block b when undergoing processing mode o.

  • ro: tonnage processing rate mode o.

  • dt: available time of plant during period t.

  • wop: weight fraction of rock p that is included in the feed for operating mode o.

Variables.

  • mbso: mass of block b processed by mode o under scenario s

    $${f}_{st}\left({\mathcal{B}}_{t}\right)=\text{max}\sum_{b\in {\mathcal{B}}_{t}}\sum_{o\in \mathcal{O}}\left(\frac{{v}_{bso}}{{m}_{b}}\right){m}_{bso}$$
    (4)

Subject to:

$$\sum_{o\in \mathcal{O}}{m}_{bso}\le {m}_{b}, \forall b\in {\mathcal{B}}_{t}$$
(5)
$$\sum_{o\in \mathcal{O}}\sum_{b\in {\mathcal{B}}_{t}}\frac{{m}_{bso}}{{r}_{o}}\le {d}_{t}, \forall {r}_{o}>0, t\in \{1,\dots ,{n}_{T}\}$$
(6)
$$\sum_{b\in {\mathcal{B}}_{ps}\bigcap {\mathcal{B}}_{t}}{m}_{bso}-{w}_{op}\sum_{b\in {\mathcal{B}}_{t}}{m}_{bso}=0, \forall o\in \mathcal{O}, \forall p\in \mathcal{P}$$
(7)
$${m}_{bso}\ge 0, \forall b\in {\mathcal{B}}_{t}, \forall o\in \mathcal{O}$$
(8)

3 Implementation

As stated in the introduction, once the formulations were settled, they were implemented efficiently. In this section, details are provided about the methods and techniques utilized.

3.1 First-Stage Optimization

The customized VND metaheuristics introduced by Professor Lamghari [18, 19] employ three neighborhood searches by perturbing an initial solution to find better candidates: exchange (E), shift-after (SA), and shift-before (SB). As depicted in Fig. 1, the E search swaps two blocks between adjacent periods, t and t + 1. SA, as shown in Fig. 2, moves block b along with all its successors from period t to t + 1. Conversely, SB, as illustrated in Fig. 3, transfers block b and all its predecessors from time t to t-1. In each neighborhood search (E, SA, or SB), for every time t, the algorithm evaluates all candidate blocks in \({\mathcal{B}}\)t to check if they represent a feasible improvement without violating Eqs. 2 and 3. A TEST subroutine, which optimizes the second stage (Eq. 4) without permanently altering the data structures, was developed for this purpose. The specifics of this implementation will be discussed in the next section. For now, understanding it as a black box is sufficient: the subroutine takes the candidate blocks in \({\mathcal{B}}\)t as input and returns the discounted benefit of processing these blocks. After calculating the expected values from all scenarios, they are compared with the previously highest obtained value. Once all the candidate blocks have been evaluated, the most advantageous improvement transfer is executed using another subroutine called EXECUTE, which, like TEST, optimizes the data structures but makes permanent changes. If no feasible improvements are found, the algorithm progresses to the next t value.

Fig. 1
figure 1

E method swaps blocks between adjacent periods. The gray area represents the set of blocks mined in period t (\({\mathcal{B}}\)t), and the white area represents the set of blocks mined in period t + 1 (\({\mathcal{B}}\)t + 1)

Fig. 2
figure 2

The SA method moves blocks i and its successors mined in the same period t (gray area) into the period t + 1 (white area)

Fig. 3
figure 3

SB method moves blocks i and its predecessors in the same period t (white area) into the period t-1 (gray area)

Metaheuristics are highly influenced by initial solutions, which are given as a starting point for subsequent improvements. An alteration to Lamghari’s proposal was introduced to avoid the mentioned dependency and start from an empty plan x = \({\{\varnothing \}}_{t=1}^{{n}_{T}}\). A fictitious period t = (nT + 1) was added to accommodate all blocks not yet part of the existing solution, initially setting \({\mathcal{B}}\) (nT + 1) = \({\mathcal{B}}\). During the algorithm’s regular operation, it conducts E neighborhood searches in a looping sequence from t = 1 up to t = nT, implements SA from t = 1 to t = nT, and processes SB from t = (nT + 1) in reverse until t = 2. An essential modification is beginning the optimization with the SB, bringing valuable blocks to the first periods and, from there, adjusting following the rest of the neighborhood searches under the repeating cycle SB-E-SA-SB-E-SA and so on. Eventually, none of the searches will identify any improvements, and the algorithm stops.

The form in which VNDs searches are implemented allows for the parallelization of the TEST subroutine within each of them. Previous works [12, 24] have successfully implemented this by creating a thread for each invocation of the TEST subroutine, as illustrated in Fig. 4. However, although this approach significantly reduces global execution time, its overheads are not minimal because of the excessive creation and destruction of threads. Figure 5 presents a new parallelization strategy in which the set of blocks, \({\mathcal{B}}\)t, is divided among the available threads. These threads internally call the TEST subroutine as needed until all assigned blocks have been analyzed. Subsequently, the threads are synchronized, comparing the results and selecting the one that maximizes profit. The most beneficial move is then made permanent by invoking the EXECUTE subroutine. The case study presented in this paper will compare both parallelization approaches.

Fig. 4
figure 4

VND parallelization was used in [12, 24]

Fig. 5
figure 5

A new way to parallelize the VND metaheuristic

Unlike other parallelized metaheuristics, where execution time is set as a parameter [25] VND parallelization does not introduce extra parameters because it concludes when no further improvements have been found. Moreover, because it adheres to a strict (deterministic) sequence of searches, the block movements between periods remain consistent. This implies that the quicker the calculations are performed, the sooner the algorithm terminates, yielding the same results. The algorithm was developed in C++ , utilizing only its native libraries to manage multithreading.

3.2 Second-Stage Optimization

As previously mentioned, the second stage, implemented within the TEST and EXECUTE subroutines, aims to maximize the processing of blocks allocated by the VND within a designated time frame and under a specific scenario. To achieve this optimization, various strategies were incorporated during the formulation and coding phases to ensure efficient implementation. Specifically, Eqs. 48 were reformulated using the Dantzig–Wolfe decomposition (DW) method [26], a particularly effective technique for tackling linear programming problems with constraints that fit the angular block structure (Fig. 6). Another reason for selecting DW decomposition over other methods, such as Benders’ decomposition [27], is its employment of delayed column generation. This approach effectively reduces the dimensionality of matrix multiplications, hence decreasing computational time.

Fig. 6
figure 6

Angular block structure of constraints to apply DW decomposition. Equations 6 and 7 are part of the central constraints, whereas Eq. 5 gives form to different divisions

To implement the decomposition technique, the study introduced a modification of the variables used. Initially, the variables represented the mass of block b processed in mode o under scenario s. This was adjusted by dividing the continuous variables mbso by mb, transforming it into a relative fraction of the block (Eqs. 9 and 10). The bounded nature of the set allows these new variables to be expressed as a convex combination of extreme points [28]. The research will concentrate on analyzing two operational modes which is sufficient to demonstrate robustness (similarly to so-called soft constraints having penalty terms for recourse action purposes [17, 18]), but can be extended to three or more operating modes. The solutions for each subproblem are represented by the points: \({x}_{b1}^{*}\)(0,0) indicating an unprocessed block, \({x}_{b2}^{*}\)(1,0) for a block fully processed by mode A and \({x}_{b3}^{*}\)(0,1) for a block processed by mode B, as illustrated in Fig. 7, with k representing the point number. This method enhances the understanding of each subproblem.

Fig. 7
figure 7

Feasible region of each subproblem

$$\sum_{o\in \mathcal{O}}\frac{{m}_{bso}}{{m}_{b}}=\sum_{k=1}^{3}{\rho }_{bk}{x}_{bk}^{*}, \forall b\in {\mathcal{B}}_{t}$$
(9)
$$\sum_{k=1}^{3}{\rho }_{bk}=1, {\rho }_{bk}\ge 0, \forall b\in {\mathcal{B}}_{t}$$
(10)

Equations 48 were reformulated as Eqs. 1115, respectively, based on the change of variable. Equation 11 represents the master problem, while Eqs. 13 and 14 serve as the constraints. Equations 12 and 15 describe the subproblems.

$$\text{max}\sum_{b\in {\mathcal{B}}_{t}}\sum_{k=1}^{3}{v}_{bso}\left({\rho }_{bk}{x}_{bk}^{*}\right)$$
(11)

Subject to:

$$\sum_{k=1}^{3}{\rho }_{bk}=1, \forall b\in {\mathcal{B}}_{t}$$
(12)
$$\sum_{b\in {\mathcal{B}}_{t}}\sum_{k=2}^{3}\frac{{m}_{b}}{{r}_{k}}{\rho }_{bk}\le {d}_{t}, \forall {r}_{k}>0$$
(13)
$$\sum_{b\in {\mathcal{B}}_{ts}}{m}_{bk}-{w}_{kp}\sum_{b\in {\mathcal{B}}_{t}}{m}_{bk}=0, \forall k=\{1,2,3\}, \forall p\in \mathcal{P}$$
(14)
$${\rho }_{bk}\ge 0, \forall b\in {\mathcal{B}}_{t}, \forall k=\{1,2,3\}$$
(15)

The presented formulation was considered in its matrix form to be implemented. Therefore, the jth subproblem is defined as follows:

$$\text{min}\left({c}_{B}{\left({B}^{-1}\right)}_{1;{m}_{0}}{A}_{j}-{c}_{j}\right){x}_{j}+{c}_{B}{\left({B}^{-1}\right)}_{{m}_{0}+j}$$
(16)

Subject to:

$${A}_{N+j}{x}_{j}\le {b}_{j}, {x}_{j}\ge 0$$
(17)

where:

  • A: matrix of the coefficient of the constraints

  • B: current basis matrix

  • cB: vector of basic variable coefficients in the objective function

  • m0: number of elements of b0

  • (B−1)1;m0: matrix consisting of the first m0 columns of B.1

  • (B−1)i: vector consisting of the ith columns of B.1

  • xj: variables of the subproblem

In this case, the basis inversion B−1 is scalar because each block division consists of only one equation, as shown in Eq. 5. It is acknowledged that the transformation would be more complex with a range of feed compositions; however, this will be the subject of a forthcoming paper in which the context explicitly requires it.

The implementation was coded in C++ and compared with the results obtained using CPLEX 12.10. Three sets of blocks were prepared for a specific period and scenario, with both implementations configured to use only one thread. Figure 8 illustrates the execution times, demonstrating that the DW implementation was 44% faster on average.

Fig. 8
figure 8

Comparison between CPLEX and DW implementation in C++

Another technique to enhance efficiency in the VND involves avoiding restarting all linear programs (nT × nS) from scratch whenever the blocks shift between periods. When blocks are added to a period, the DW decomposition reoptimizes from the previous state. Conversely, when blocks are removed, a dual problem formulation enables reoptimization. The overall efficiency of the algorithm hinges on how effectively these reoptimization operations are implemented.

3.3 Incorporation of the Ultimate Pit Limit

The ultimate pit limit (UPL) refers to the maximum extent to which an open-pit mine can be economically excavated during its lifetime. This limit is determined based on a combination of factors, such as the value of the minerals or ore being extracted, and the costs associated with mining and processing. Although the UPL does not account for the type of rocks, it identifies all blocks that are desirable for extraction, regardless of the operational mode to be used. The purpose of utilizing the UPL in the present study is to reduce the number of blocks that need to be analyzed to generate the plan; therefore, this approach is deemed sufficient for achieving this goal.

Over the years, several studies have addressed this problem, demonstrating that the pseudoflow algorithm is highly efficient in finding the solution [29]. This algorithm was implemented in the MineFlow software and demonstrated impressive running times [29].

Because multiple scenarios are considered, the blocks used in the problem are those that are part of at least one UPL associated with a scenario. It is important to note that, within the set, blocks are not repeated, ensuring block is unique to the analysis. If \({\mathcal{B}}_{s}^{\text{UPL}}\) represents all the blocks that are part of the UPL for scenario s, then the set of all blocks \({\mathcal{B}}_{*}^{\text{UPL}}\) is defined in Eq. 18.

$${\mathcal{B}}_{*}^{\text{UPL}}=\sum_{s=1}^{{n}_{S}}{\mathcal{B}}_{s}^{\text{UPL}}$$
(18)

4 Sample Calculations

4.1 Case Study

The Maricunga belt, which is located in the high Andes of northern Chile, is renowned for its numerous gold, silver, and copper prospects and deposits [30]. This region’s principal deposits are predominantly of the porphyry-epithermal type, complemented by a major pluton-related vein and distal contact metasomatic deposit [31]. As a linear metallogenic unit within the Andean Cordillera of northern Chile, the Maricunga belt is characterized by several trends of gold and/or silver mineralization [30]. Notable porphyry deposits, such as Marte, Lobo, Refugio, La Pepa, and Volcán, primarily yield gold as an economically viable metal. In contrast, the Caspiche and Cerro Casale deposits also present significant potential for gold and produce the by-product copper [32].

The case study was constructed by drawing inspiration from the Au-Cu porphyry deposits of the Maricunga region, aiming to create a conceptual geological model. This model primarily focuses on an Au-rich porphyry system, encompassing geological units, such as (1) diorite porphyry, which hosts mineralized veinlets, and (2) silicified intrusive breccias. Figure 9 illustrates a schematic profile of the modeled geology. Twenty scenarios were created to assess various aspects of the geological model, including ten scenarios to develop the operational plan and another 10 to evaluate the associated risk profile.

Fig. 9
figure 9

Orebody of the case study showing the distribution of diorite porphyry (yellow) and silicified intrusive breccia (purple)

A fictional Chilean mining company aims to extract and process gold over the next 5 years. Because of its specific geological context, the project contemplates two operational modes in the metallurgical plant. These modes, along with other relevant parameters, are comprehensively detailed in Table 1. Thus, the case study is structured to not only devise a feasible operational plan for gold extraction, but also to thoroughly assess the risks associated with the geological and operational parameters of the Maricunga belt.

Table 1 Parameters of the case study

4.2 Results

As previously mentioned, the algorithm was implemented in C++ and ran on a server equipped with an Intel® Xeon® Gold 5118 processor, utilizing 24 threads for parallelization. Figure 10 illustrates the curves associated with the risk profile of the project’s NPV based on ten equiprobable scenarios. This indicates that the P-50 curve reaches $1280 million, while the P-10 curve presents $1180 million, and the P-90 curve shows $1460 million. This represents a range of approximately ± $140 million from the P-50 value. The increment of the NPV over the periods in each of the scenarios is presented in Table 2.

Fig. 10
figure 10

P10, P50, and P90 curves of the cumulative NPV for the case study (risk profiles)

Table 2 Cumulative NPV per period for each of the ten scenarios

Figure 11 shows the breakdown of rock extraction, distinguishing between the two existing types. Since this study follows a neutral-risk approach, the mine plan is the same for all scenarios (first stage). Part of this mine plan is presented in the cross-section shown in Fig. 12. The bar chart in Fig. 11 reveals that the mining operation, with a capacity of 6.5 million tons per period, nearly always achieves its maximum output. Exceptions can be observed in periods 4 and 5, where the limiting factor shifts from mining capacity to plant availability, as it will be explained later.

Fig. 11
figure 11

Tons of rock mined over the periods divided by rock type

Fig. 12
figure 12

Schematic view of mine plan (XZ-planar cut along middle Y value). SB means silicified intrusive breccia

Figure 13 highlights the processing aspect which involves grade uncertainty. The graph shows the P-10, P-50, and P-90 curves are overlapped because the second-stage optimization leads the algorithm to utilize all the plant availability (8075 h). This explains why there is no need to continue extracting rocks in periods 4 and 5 (Fig. 11). The only exception is the first year, where the mining capacity is the bottleneck. However, even in that case, the variation among the different percentiles (P-10, P-50, P-90) is negligible.

Fig. 13
figure 13

Processing hours of the metallurgical plant over periods

Figure 14a to c illustrates the variations in the ore processed under different scenarios across the periods, both in total and detailed by operational modes A and B. These plots suggest that the minor variation in total terms (Fig. 14a) results from the flexibility afforded by the operational modes (Fig. 14b and c), enabling the plant to adapt to the grade uncertainties presented by different rock types.

Fig. 14
figure 14

Variations in tons of ore processed under different scenarios across periods, total (a) and by operational modes A (b) and B (c)

Analyzing one scenario, specifically the P-50, Fig. 15 shows how modes A and B alternated over the time periods to process the ore. In the first 3 years, mode B processed more ore than mode A; however, this situation reversed in the subsequent 3 years. Figure 16a and b provides a closer look at how much of each rock type was processed by each operational mode. It is observed in these bar charts that, although the total processed ore varies from period to period for the modes, the blending strategies were not violated (Table 1).

Fig. 15
figure 15

Tons of ore processed per period by operational mode

Fig. 16
figure 16

Tons of ore processed in operational modes A (a) and B (b) per period, divided by rock type

This analysis suggests that if only one mode had been implemented, the plant would face a dilemma: either compromise optimal operation by not adhering to the blending strategy in an attempt to achieve higher grades or maintain optimal operation according to the blending strategy, potentially resulting in a lower NPV. A similar conclusion was reported in Quelopana et al. [12], where two plant designs were compared: one with a single operational mode and another with two.

It remains important to determine the agility of the plant in adjusting its modes swiftly enough to achieve optimal NPV results. Unfortunately, due to the strategic nature of the algorithm, these results do not specify how the operational modes are allocated within each time period. However, these modes act as a non-computational conduit for integration between long-term and medium-term planning, which represent the modes, albeit at different levels of resolution. An example of this was published in Quelopana et al. [24].

4.3 Algorithm’s Efficiency

The algorithm initially took 1.18 h to generate the plan, which is notable considering the thousands of calculations required to solve the linear programming problems. This first run did not include the preprocessed UPL or the new method of parallelization. In the second run, the UPL was calculated for each scenario using MineFlow software [29], and only the selected blocks were considered in the analysis. This process, along with the generation of the mine plan, took 55.7 min. Finally, the new parallelization method was incorporated in the third run, reducing the time to 40.6 min, a decrease of almost 31 min from the initial run. For all these tests, the resulting NPV remained consistent.

The authors acknowledge that real-world cases often involve models with millions of blocks. However, significant advances have been made in increasing the capacity of the block model to be processed, from 4000 to 13,000 blocks, in less time. It is important to note that, because there are no tuning parameters, no repetitions of the experiments were needed, nor was additional time required for the generation of initial solutions. Furthermore, the processor used in the present study was released in 2017; thus, better performance could be achieved with a more recent processor having equal or more threads available.

5 Conclusions

The present study has contributed to the mining engineering field by developing an algorithm that holistically optimizes both the strategic mine plan and metallurgical plant operations. The unique two-stage framework, integrating a new method to parallelize the VND metaheuristic and a DW decomposition-enhanced linear program, represents a significant step forward in addressing the complexities of varying rock types and geological uncertainties in mining operations.

The core advancement of the present research lies in its novel approach to eliminating the need for an initial solution in the VND process and its efficient handling of operational modes through linear programming. This methodology not only streamlines the optimization process, but it also brings a new level of flexibility and responsiveness to changing ore types and grade uncertainties. The introduction of a preprocessing step to calculate the UPL for each scenario further refines the process by reducing the number of blocks to be analyzed, thereby enhancing the overall efficiency.

Our case study, which has centered on a gold deposit, demonstrates the practical application and potential of this approach. While acknowledging the necessity for further experimentation to precisely gauge the impact of incorporating operational modes, the outcomes thus far are promising, showing the method’s suitability in real-world scenarios.

Looking ahead, the study paves the way for future enhancements due to the limitations of the model. The pursuit of faster mine planning through approximation algorithms, the potential for algorithmic execution in a clustered environment to further reduce running times, and the incorporation of additional features, such as strategic stockpiles, multiple processing streams, and market uncertainty, are all exciting directions for future research. These advancements promise to bring about a more holistic, realistic, and multidisciplinary approach to mine planning, closing the gap between mine and plant operations and fostering a more integrated view within the mining industry.