1 Introduction

Mine planning is the discipline of mining engineering that transforms the mineral resource into the most profitable business for the owner. The scheduling sequence of mining operations is usually divided into strategic (long-term), tactical (medium-term), and operational (short-term) levels (L’Heureux et al. 2013). Strategic scheduling defines the portions of the ore body that can be extracted, the life of the mine, the production rate, and the amount of investment. A long-term mine production schedule defines the portions of waste and ore that can be mined from the ore body every year. This schedule seeks to maximize the net present value (NPV) over the life of the mine. Tactical scheduling determines the mining sequence for up to a period of 5 years based on the constraints with respect to the production rate. Finally, operational scheduling seeks to ensure the operational feasibility of the long-term mine production schedule (Smith 1998). In this study, we focus on short-term scheduling. The scope of interest in case of a short-term schedule spans from several weeks to months, typically not more than 1–2 years (Blom et al. 2018). Therefore, this study focuses on scheduling with respect to schedule spans of no more than one and a half years.

One of the challenges encountered by mine planners is the consideration of different types of uncertainty (geological, market, and operational) during the generation of long- and short-term mine production schedules. The short-term mine production schedules aim to achieve the movement of a material that was previously defined using the long-term mine production schedule. One particular problem is the consideration of operational uncertainty during the process of generating short-term mine production schedules. These schedules should consider in detail how to execute all the mining activities in a mine operation to achieve the required production rates. All the mining activities are performed using specific mining equipment. These activities should be conducted in accordance with the precedence of mining activities, which is the sequential order in which the activities must be completed.

The efficiency of the mining equipment is related to the achievement of the objectives of a short-term schedule, measured based on the key performance indicators (KPIs). For each piece of equipment, mine operations use the following KPIs to measure the level of efficiency: availability and utilization. Availability is the fraction of the total time during which the equipment is ready to be used, i.e., it is not under maintenance or being repaired. However, utilization is the fraction of the total time during which the equipment performs the task for which it was designed. For example, during a period of 24 h, a shovel could undergo maintenance for 4 h; hence, its availability can be deduced as 20/24 = 0.83 (83%). Further, during the remaining 20 h, the shovel may have spent only 12 h loading trucks (the remaining time is spent on various activities, e.g., waiting for trucks, during shift changes, or during lunch). In this case, the utilization of the shovel can be deduced as 12/24 = 0.5 (50%). Other KPIs can be utilized with respect to equipment for various activities such as to differentiate between the utilization losses in case of scheduled and random events; however, only availability and utilization will be considered in this study.

A deviation from a mine production schedule corresponds to any difference between this schedule and its execution, including differences with respect to the movement of material, the ore sent to the ore processing plant, or the grade of the ore sent to the ore processing plant. Unfortunately, the complexity and uncertainty of mine operation result in deviations from the short-term schedules (Upadhyay and Askari-Nasab 2017). The uncertainties include (1) market uncertainty, which is related with the unknown future commodity prices, (2) geological uncertainty, which is associated with the unknown characteristics of the deposit in terms of the grades, rock types, and mineralization, and (3) operational uncertainty, which is related with the unknown characteristics of the behavior of the mining operation associated with the mining equipment. The operational uncertainty is the main focus of this study. The relevance of deviations with respect to the short-term production schedules is crucial in the mining industry. According to Upadhyay and Askari-Nasab (2018), the deviations in short-term mining schedules increase the difficulty associated with achieving the objectives defined by long-term schedules. Adherence is a concept that quantifies the deviations in a short-term production schedule and its execution. More precisely, the adherence of a mine production schedule corresponds to its capability to be reproduced in reality. Unfortunately, the adherence of a mine schedule is not usually assessed before its execution. This could result in the implementation of schedules whose objectives are difficult or even impossible to accomplish. The application of discrete-event simulation (DES) is an approach to evaluate the adherence of a short-term schedule before its execution. This approach simulates a given short-term schedule by considering all the operational uncertainties associated with mine operation.

Further, we incorporate the operational uncertainty associated with the operational parameters of the equipment (velocities, capacities, maneuver times, failures times, and maintenance times), which are modeled using the probability density functions based on the historical data. DES has been extensively applied to the model mine operations in which the deterministic models failed to accurately predict the uncertain behavior (Upadhyay and Askari-Nasab 2017). This approach is extensively used to assess the performance of mine operations because it helps to incorporate the inherent variability and complexity of operational uncertainty (Torkamani and Askari-Nassab 2015).

Based on the evaluation of the adherence to short-term production schedules using DES, it is desirable to generate short-term production schedules exhibiting high adherence. Mathematical optimization is a useful tool to generate production schedules in both open-pit mining and underground mining. In the case of short-term underground mine scheduling, mixed-integer linear programming (MILP) is generally considered in which the binary variables address long-term block-extraction decisions and continuous variables address the related short-term decisions of how much ore should be extracted from a block (Newman et al. 2010). A review of the optimization techniques applied to underground mines can be found in Musingwini (2016).

In the case of mathematical optimization in open-pit mines, an excellent review of short-term production scheduling can be observed in Blom et al. (2018).

One common approach for optimization under uncertainty is the utilization of stochastic programming, which allows optimization problems with respect to the random variable parameters in the goal function or constraints to be solved (see Birge and Louveaux 2011 for details about stochastic programming). However, the problem that we address in this study, such an approach would be very difficult to implement and most likely impractical to use because the KPIs are not only random but depend upon the schedule; conversely, the feasibility of a schedule is highly dependent on KPIs.

Therefore, we propose a framework that combines a deterministic optimization model with DES. In this framework, the optimization part of the framework generates short-term mine production schedules, whereas the simulation part evaluates these schedules and provides useful feedback to generate a new and better schedule in future iterations. Therefore, the contributions of the paper are (1) the development of a simulation–optimization framework to generate short-term mine production schedules, (2) providing a set of indicators to measure the adherence to a schedule, and (3) the application of the proposed framework to a specific case in which a mathematical model, a DES model, and the mechanisms to integrate them are implemented to denote that the proposed methodology provides schedules with high adherence using an iterative approach.

Section 2 provides a review of the related work associated with this study. Section 3 provides a complete description of the proposed framework, Sect. 4 introduces several adherence indices used to quantify the adherence of a schedule and its corresponding simulation, and Sect. 5 describes the application of the proposed framework to a Bench and Fill (B&F) mine operation by introducing the optimization model used to generate short-term mine production schedules and the simulation model developed to simulate them. In Sect. 6, we apply the proposed framework to a real-world data of a B&F mine. Section 7 reports and discusses the results of the case study. Finally, Sect. 8 concludes the present study and outlines future work.

2 Related work

In this section, we provide a brief review of the literature with respect to simulation and optimization using some combination of both techniques. We initially review the simulation–optimization framework, which deals with the optimization of the simulation process. Further, we review the studies that combine simulation in case of discrete events with optimization in the mining industry.

2.1 Simulation–optimization

Simulation-optimization attempts to optimize a simulation model. The primary objective is to estimate the values of controllable parameters that can result in the optimization of a performance function from a simulation model. Chen et al. (2008a) reviewed three approaches to address the simulation–optimization problem in a general engineering setting:

  1. 1.

    The efficient simulation budget approach (Chen et al. 1997, 2000; Chick and Inoue 2001a, b; Lee et al. 2004; Chen and Yücesan 2005; Kim and Nelson 2006; Fu et al. 2007; Chen et al. 2008b) intends to select the optimum simulation design from a set of scenarios provided in advance, which differs from the approach used in this study because we enumerate schedules as a result of an iterative process, i.e., they are not predefined by the user.

  2. 2.

    The nested partitions method is an approach that can be used to solve global optimization problems, which requires partitioning of the region into subregions. Each subregion is evaluated using sampling, and the most promising subregion is used for the subsequent iteration or the method backtracks to a larger region if each subregion is worse than the incumbent region (Chen et al. 2008a). Therefore, this approach is different from that proposed in this study because we do not consider such a hierarchical structure defined with respect to the schedules.

  3. 3.

    The stochastic gradient estimation method (Ho and Cao 1991; Glasserman 1991; Fu and Hu 1997; Glynn 1987; Rubenstein and Shapiro 1993; Pflug 1989, 1996) is an enumeration method based on a local search that adjusts parameters, which should be continuous, to generate alternate scenarios. The proposed method also enumerates scenarios (in our case, short-term schedules); however, our scenarios are not based on the derivatives of certain parameters but on novel estimates of the KPIs provided by the simulation process. In particular, the search is not local.

    Based on this section, we concluded that none of these procedures is the same or similar to the one proposed in this study. Therefore, we are contributing to a new simulation–optimization methodological development.

2.2 Combination of simulation and optimization in mining

Previous studies, which combine optimization with DES, have been mainly applied to the truck-shovel transportation system in open-pit mines. A conventional approach is to integrate both the tools as a combined run. In other words, the simulation model invokes the optimization model when the state of the mine operation changes to assist the simulation model to allocate the available pieces of equipment for the mine operation according to the new state. The mine operation state changes when a piece of equipment undergoes failure or is subjected to maintenance or when a shovel completes extracting all the materials at its mining face.

The aforementioned approach has been applied in the following reports in the context of open-pit mine operations. Mena et al. (2013) proposed an MILP model to allocate trucks to transportation routes. The simulation model considers the density probability distribution to model (1) the uncertainty of the operational parameters and (2) the time between failures and the time required to repair the load and hauling equipment. Fioroni et al. (2008) presented an MILP model to allocate shovels to mine faces and the number of trips that can be carried by each type of truck to these faces, subject to production and blending constraints. Upadhyay and Askari-Nasab (2016, 2017, 2018) described an MILP model to allocate shovels to mine faces to maximize production, achieve the desired head grade and tonnage at crushers, and minimize shovel movements.

Other researchers have combined the techniques of optimization and simulation differently. Bodon et al. (2011) and Sandeman et al. (2010) proposed a linear programming model that determines the quantity of ore extracted from each mining face that was transported to the mine stockpiles, the ore transported from each mine stockpile to the port stockpile, and the ore transported from each port stockpile to ships, maximizing the throughput of material from a pit to ship. An initial schedule is generated for the first 2 weeks of a 1-year horizon; subsequently, this schedule is simulated. Subsequently, the authors generate a schedule of the next 2 weeks using as an input the result of the simulation of the first 2 weeks. Then, they simulate this second schedule, and so on.

Only limited literature is available regarding underground mining that combines optimization with DES due to the complex nature of the generation of mine production schedules in underground mines when compared with open-pit mines (Musingwini 2016). Chanda (1990) presented an MILP model to perform short-term production scheduling of a sector of a continuous block caving mine by considering constraints, including the availability of drawpoints and limits on the production and ore quality, to minimize the difference between the average grades in successive periods. This model was combined with a simulation to generate short-term production schedules for six consecutive work shifts. Winkler (1998) described an optimization model for a sub-level caving mine, which defines the amount of ore that can be extracted from each block and each period, minimizing the deviation from production goals, by considering various constraints, including the ore quality, the minimum amount of extraction of each block, and the capacity of available ore. The model is solved to generate a schedule for a single period, which is subsequently simulated. This same procedure is repeated for successive periods. Salama et al. (2014) compared different mineral haulage systems using a simulation to estimate the mining costs in a sub-level stoping mine. This cost serves as an input to a mixed-integer optimization model, which generates a long-term schedule that maximizes the NPV.

Thus, the reviewed reports, which combine the optimization and simulation applied in mining, use optimization and simulation in a sequential manner or use optimization as a simulation subroutine. None of these studies present any feedback between the optimization and the simulation model, as proposed in this study.

3 Framework description

In this section, we describe the proposed framework, which combines simulation and optimization via an iterative approach, to improve adherence to short-term production schedules. In each iteration, we generate a short-term mine production schedule by solving an optimization problem; subsequently, we simulate this schedule using a DES model of mine operation. The steps can be given as follows (also presented in Fig. 1):

  1. 1.

    Obtain initial KPIs through benchmarking or deterministic estimation.

  2. 2.

    Generate an initial short-term production schedule by solving a mathematical optimization problem for the current KPI values. This short-term schedule considers a material that has been extracted according to the long-term schedule.

  3. 3.

    Simulate the short-term production schedule generated in Step 2.

  4. 4.

    Update the KPIs per period for each equipment obtained from the simulation of the short-term production schedule.

  5. 5.

    Calculate the actual adherence of the corresponding simulation to the schedule.

  6. 6.

    Whenever any termination criteria is satisfied, e.g., when the schedule adherence index is less than or equal to a specific critical value or a maximum computation time is reached, the procedure is terminated; otherwise, go to Step 2.

Fig. 1
figure 1

Simulation–optimization iterative framework diagram

The fundamental concept of the proposed framework is that in each iteration, better estimations are obtained for the equipment’s KPIs based on the simulation results of the short-term mine production schedule.

Considering the operational uncertainty in the mining operation, the role of the replications is to represent all the potential results obtained when performing the simulation of a given mine schedule as accurately as possible.

In the subsequent iteration, we use new estimations of the equipment KPIs as inputs for the optimization model to generate an updated short-term mine production schedule. This procedure is repeated until a specific stop criterion is reached. The simulation of the short-term mine production schedule allows us to consider majority of the complexities and operational uncertainties associated with the mine operation, which are difficult and cumbersome to incorporate into a mathematical optimization model. Thus, the estimation of all the equipment KPIs can be improved. In other words, the simulation of a particular short-term mine production schedule allows us to obtain an explicit quantification of the maintenance equipment times, equipment failures, travel time between the locations at which the equipment is used to perform mining activities, and equipment times. The backup time refers to the equipment that is available for operation but is not operating because of a specific condition of mine operation. Furthermore, the simulation considers the exact dispatching routines that assign equipment to mine faces and the on-site specific operational rules for a particular mine. It is noteworthy that the described framework is general because it can be used to address the operational uncertainty in many other situations in which a deterministic model is used; this kind of uncertainty has to be handled. However, its specifics are certainly dependent on the application. The optimization and simulation models consider all the relevant equipment and tasks to reliably emulate the mine operation. The selection of the type of KPIs to be estimated in each iteration is critical for the application of the framework. Usually, the utilization of the pieces of equipment, which is the ratio of the effective time and the nominal time, is the selected KPI.

The optimization feedback to the simulation is presented in Fig. 1. At the beginning of each iteration, we generate a short-term production schedule by solving an optimization problem. Based on this schedule, a list of priority tasks is created. This list is the input into the simulation model. Thus, the simulation model follows a short-term production schedule. The process by which the tasks are sorted to create a list of priority tasks is based on the start and completion periods of each activity obtained based on the short-term production schedule. If there is a tie in the order of two or more tasks, it can be broken using ad hoc criteria that depend on the application.

The simulation feedback to the optimization process is described here. At the beginning of each iteration, we generate a short-term production schedule by solving an optimization problem, which is further simulated. Subsequently, we compute the mean KPIs of all the replications of the corresponding simulation based on the simulation data for each piece of equipment.

4 Adherence of a schedule

We propose several indices to evaluate the adherence to a short-term production schedule. Some of these indices are related to the start and completion periods with respect to the schedule and its corresponding activities. Other indices are related to the material movement in case of the schedule and its corresponding simulation. We summarize the notation related to the optimization model and the simulation model in Tables 1 and 2.

Table 1 Optimization problem notation
Table 2 Simulation problem notation

It is important to note that all the adherence indices defined in this section are associated with a given mine schedule. During the application of the proposed framework, one mine schedule is generated per iteration. Thus, the values of the adherence indices will vary during each iteration.

4.1 Mean lateness, earliness and tardiness

The initially proposed indices are related to the concepts of lateness, tardiness, and earliness, as obtained from the literature (Baker and Trietsch 2009). Given an activity a, its lateness corresponds to the difference between its completion time and deadline, which can be either positive or negative. The tardiness of the activity corresponds to the positive difference between its completion time and deadline, whereas its earliness corresponds to the negative deviation between its completion time and deadline. For details, refer to the second column of Table 3.

We extend these concepts to a setting in which multiple activities and replications are present. First, we compute the corresponding activity index for each activity a and replica r. Second, we add all the activity indices and subsequently average them based on the number of replications to generate representative indices for the schedule, including the mean lateness (\(\bar{L}^i\)), mean tardiness (\(\bar{D}^i\)), and mean earliness (\(\bar{E}^i\)) of the given schedule. For details, refer to the third column of Table 3.

Table 3 Comparison of the activity and schedule lateness, tardiness, and earliness

The interpretation of the indices in Table 3 is explained below. A mean lateness value of greater than zero indicates that the schedule is late when compared with its simulation on an average. A mean lateness value of zero indicates that the schedule is on time relative to its simulation on an average. A mean lateness value of less than zero indicates that the schedule is ahead of its simulated schedule on an average. Based on the mathematical definition in Table 3, the mean tardiness and mean earliness are observed to be greater than or equal to zero. A mean tardiness value higher than zero indicates that the schedule is late relative to its simulation on an average. A mean tardiness value of zero indicates that the schedule is on time relative to its simulation on an average. Similarly, a mean earliness value of higher than zero indicates that the schedule is ahead of its simulation on an average. A mean earliness value of zero indicates that the schedule is on time relative to its simulation on an average.

4.2 Start and completion period adherence indices

We also define the start period and completion period adherence indices. The start period adherence index is the fraction of activities over all the replications that began in a period equal to or before the short-term mine schedule period. Similarly, the completion period adherence index is the fraction of activities over all the replications that were completed in a period equal to or before its mine schedule completion period. Refer to Table 4.

Table 4 Start and completion period adherence index

4.3 Production and material movement adherence

We introduce adherence indices related to material movement. Therefore, we introduce the material adherence index, which measures the deviation of the material movement with respect to the mine plan and simulation. The material adherence curve is the ratio of the accumulated material of the simulations up to period t and the accumulated material of the mine plan up to period t. For example, if this index is greater than one at a certain period, the simulation produced more material when compared with that produced by the mine schedule on an average, as presented in Table 5.

Table 5 Material adherence indices

The adherence indices presented in Table 5 can be adapted depending on the application. For instance, the adherence can be evaluated by only considering a subset of the total scheduled activities (for example, development and production activities) instead of considering all the scheduled activities. With respect to the material adherence indices, it is possible to consider the type of material instead of the total material transported when evaluating the adherence index (for example, to distinguish the production material from different mine operation sectors).

5 Application to the operation of a Bench and Fill mine

We apply the proposed framework to B&F mine planning. Therefore, we develop an optimization model that can be used to generate the mine production schedule of a B&F mine. We also develop a simulation model that supports the simulation of the B&F mine production schedule generated by the optimization model. This section explains the B&F mining method and describes the optimization and simulation model, including the manner in which these models interacted to obtain the proposed framework.

5.1 Description of the Bench and Fill mining method

The B&F method is an underground mining method, which is applied to ore bodies exhibiting vertical or sub-vertical geometry. Drift and stope are the two types of mining workings that have been used in this study. A stope is the basic mine production unit, which exhibits a tabular or semi-tabular form and contains the ore that is to be extracted. To access each stope, it is necessary to develop two drifts, i.e., the production drift (lower drift) and the drilling drift (the upper drift), in the upper and lower parts of the stope in advance. After the extraction of ore from the stope, it is necessary to backfill the empty portion of the stope from the drilling drift to maintain the stability of the walls and roof of the stope. Figure 2 depicts the side view of a stope in a B&F mine.

Fig. 2
figure 2

Side view of a stope in a B&F mine

To completely develop the drifts and stopes associated with this mining method, a set of sequential mining activities should be performed using specific mining equipment. In order to complete each portion of drift, the following activities should be sequentially performed: drilling, charging, blasting, mucking, scaling, shotcreting, and bolting. The first activity is drilling, which consists of drilling boreholes in a certain drill pattern in the rock face of the drift using a face drill rig. Subsequently, the drills in the drift face are charged with explosives using an explosive charger, and that portion of the drift is then blasted. Next, a load-haul-dump vehicle (LHD), which is a machine similar to a conventional front-end loader used in underground mining, mucked the blasted material, and a scaler was used to eliminate loose rock from the roof or walls of the drift. Shotcreting projects a mixture of concrete, water, sand, and gravel onto the drift walls using a compressed air device mounted on a piece of shotcrete equipment to ensure drift stability. Finally, a piece of bolter equipment is used to install bolts in the drift walls to achieve drift stability.

The extraction of a portion of stope requires benching, explosive charging, blasting, extraction, and backfilling. Benching comprises drilling boreholes in the drilling drift using a production drill rig. Further, the benching boreholes in the stope are charged with explosives using an explosive charger. Subsequently, the portion of the stope charged using explosives is blasted, and the blasted ore is extracted using the LHD equipment. Finally, the empty portion of the stope is backfilled using a backfill truck and non-cemented rock fill.

Globally, the extraction of each stope is ascendant. The progress of ore extraction and the backfilling of the portions of the stope are conducted in the opposite direction when compared with that of the extraction and drilling drifts. Figure 3 illustrates the sequencing of three stopes (S1, S2, and S3). The arrows indicate the advance direction of each mine working. The extraction order of the stopes is ascendant and follows the order of S1, S2, and S3. The extraction sequencing of stope S1 is the extraction of drift D1 and the benching of drift D2 as well as the extraction and backfilling of the stope portions S1.1, S1.2, S1.3, and S1.4

Fig. 3
figure 3

Mine sequencing in a B&F mining method

5.2 Optimization model

We propose an optimization model based on MILP to generate short-term production schedules in B&F mines. This model schedules activities that result in profit (income minus costs) and that demand resources (e.g., effective time, which is the time interval in which the equipment is performing an productive task) for their completion. The activities that result in a profit lower than zero are also included because they must be completed to access activities resulting in a profit of greater than zero. The optimization model maximizes the NPV over the planning horizon, subject to an activity’s precedence and resource constraints.

The solution of the optimization model can be observed as a Gantt chart, where the fraction of progress of each activity is specified in each period of the planning horizon. This optimization model is embedded in a software called UDESS, which provides utilities for generating, resolving, and analyzing the general scheduling MILP optimization problems. The software is implemented via Python. UDESS can be used through scripts or a graphical user interface.

We present the sets, parameters, and variables of the optimization model in Tables 6, 7, and 8, respectively.

Table 6 Sets of the optimization problem
Table 7 Parameters of the optimization problem
Table 8 Variables of the optimization problem

5.2.1 Activity modeling

Here, we describe activity modeling in UDESS to generate a short-term production schedule for a B&F mine. First, we describe the types of workings in a B&F mine and subsequently explain the slice discretization process of these workings.

The B&F mining method has two types of mine workings, i.e., drifts and stopes. Each stope has two drifts, i.e., the production drift (below the stope) and the drilling drift (above the stope). Before beginning a stope activity, the production and drilling drifts should be completely developed. To completely develop a mine working, different activities should be conducted. Thus, to completely develop a drift, the following activities must be sequentially performed: drilling, explosive charging, blasting, hauling, and backfilling. Similarly, to completely develop a stope, the following tasks must be sequentially performed: benching, explosive charging, blasting, hauling, and backfilling.

The slice discretization process is performed to reflect the actual progress of the exploitation of a B&F mine. This process involves the discretization of both types of workings (drift and stope) in equal length slices so that each slice represents one activity in the UDESS model. Figure 4 represents the slice discretization process of two stopes (in gray) and three stopes (in white), including the precedence of the activities. In this figure, instead of considering drift and stope activities of length \(\Delta\), we work with several activities of length \(\delta\).

Fig. 4
figure 4

The slice discretization process of B&F three drifts (in white) and two stopes (in grey) in UDESS

5.2.2 Constraints

In this section, we explain the constraints of the optimization problem.

$$\begin{aligned} \quad s_{a,t+1}&\ge s_{a,t}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \setminus \{T\} \end{aligned}$$
(1)
$$\begin{aligned} e_{a,t}&\ge e_{a,t+1}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(2)
$$\begin{aligned} x_{a,t}&\le s_{a,t}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(3)
$$\begin{aligned} \sum _{t \in \mathcal {T}} x_{a,t}&\le 1&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(4)
$$\begin{aligned} 1 - e_{a,t+1}&\le \sum _{t'=1}^{t} x_{a,t'}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(5)
$$\begin{aligned} s_{a,t}&\le 1 - e_{a',t+1}&\quad \forall a \in \mathcal {A}, \forall a' \in \mathcal {P}_a, \forall t \in \mathcal {T} \end{aligned}$$
(6)
$$\begin{aligned} 0 \le x_{a,t}&\le 1&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(7)
$$\begin{aligned} e_{a,1}&\ge 1&\quad \forall a \in \mathcal {A} \end{aligned}$$
(8)
$$\begin{aligned} e_{a,t}&\in \{0,1\}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \cup \{T+1\} \end{aligned}$$
(9)
$$\begin{aligned} s_{a,t}&\in \{0,1\}&\quad \forall a \in \mathcal {A}, \forall t \in \mathcal {T} \end{aligned}$$
(10)
$$\begin{aligned} \sum _{a' \in \mathcal {H}^i_a} T_{a'} \cdot x_{a',t}&\le NT_t&\quad \forall t \in \mathcal {T}, \forall a \in \mathcal {Q}, \forall i \in \{1,2,3\} \end{aligned}$$
(11)
$$\begin{aligned} \sum _{a \in \mathcal {A}} T_{a,e} \cdot x_{a,t}&\le NT_t \cdot UT_{e,t} \cdot N_{e}&\quad \forall t \in \mathcal {T}, \forall e \in \mathcal {E} \end{aligned}$$
(12)
$$\begin{aligned} \sum _{a \in \mathcal {A}} T_{a,e,s} \cdot x_{a,t}&\le NT_t \cdot UT_{e,t,s} \cdot N_{e,s}&\quad \forall t \in \mathcal {T}, \forall e \in \mathcal {E}, \forall s \in \mathcal {S} \end{aligned}$$
(13)

Constraints (1) and (2) define the progress of the variables \(s_{a,t}\) and \(e_{a,t}\) over time. Constraint (3) prevents that an activity a from progressing if it has not started. Constraint (4) imposes that the maximum fraction of progress over the scheduling horizon of an activity a is less than or equal to 1. Constraint (5) sets activity a as finished when has completed its progress. The activity has been fully completed in period t when the sum of the progress of that activity from period 1 to t is equal to 1.

Constraint (6) imposes that an activity a can only start when all its precedence activities \(j \in \mathcal {P}_a\) are completed. This constraint models the logical order in which the drift and stopes activities are developed. There are five types of activity precedence constraints (Fig. 5) Type 1 precedence restricts the sequential advance between the portions of drifts, whereas Type 2 precedence restricts the sequential advance between the portions of stopes. Type 3 precedence ensures that the production drift of the stope must be entirely developed before the operation of the stope itself is initiated. Type 4 precedence ensures that the drilling drift of the stope must be entirely developed before the operation of the stope itself is initiated. Finally, Type 5 precedence ensures that the operation of an upper stope cannot be initiated before the lower stope (if any) is finished.

Fig. 5
figure 5

Mine precedence between drift activities (in white) and stope activities (in gray) in a B&F mine

Constraint (7) sets the range of variables \(x_{a,t}\); constraint (8) sets the activity a in period \(t=1\) as unfinished. Constraints (9) and (10) set the range of variables \(e_{a,t}\) and \(s_{a,t}\), respectively. Constraint (11) ensures that the nominal time between different neighboring activities is not exceeded in each period. Constraint (12) requires that the sum of the effective time of the type of the mining equipment fleet e on all the activities performed in period t must be less than or equal to the maximum effective time during that period. Finally, constraint (13) ensures that each type of mining equipment fleet can operate only in specific mine sectors. This constraint requires that in each mine sector s, the sum of the effective time of each type of mining equipment fleet e on all the activities performed in period t must be less than or equal to the maximum effective time during that period.

5.2.3 Objective function

The objective function of the optimization problem is presented in (14).

$$\begin{aligned} \max \,\,\sum _{t \in \mathcal {T}} \sum _{a \in \mathcal {A}} \dfrac{1}{(1+\alpha )^t} \cdot C_{a} \cdot x_{a,t} \end{aligned}$$
(14)

5.3 Simulation model

The integration of a simulation model with an optimization model can be a considerably challenging task. Although some DES simulation commercial software (ARENA® and ProModel®) have been applied to study mine operations (Torkamani and Askari-Nassab 2015; Hashemi and Sattarvand 2015; Ataeepour and Baafi 1999), they exhibit limited capabilities to efficiently and simply interact with an optimization model. Therefore, we have developed a simulation software called Delphos Simulator (DSIM).

DSIM is a DES software used to simulate mine operations, including material handling systems in open-pit mines and production and preparation in underground mines. It is coded via Python using a specific simulation library called SimPy. DSIM implements (a) a set of functions that allow easy definition of a layout and the modeling of equipment movements, (b) several pieces of equipment that can be used with or without extension to model considerably complex situations, and (c) reports details specially to mine operations (cycle times and production).

Specifically, we use the B&F simulation model based on the model described in Pérez et al. (2017). The simulation model implements all the required tasks for the development of a B&F mine. The inputs of the simulation model include (1) the activities to be performed, (2) the mining equipment, (3) the mine layout, and (4) the list of priority tasks. For the simulation, it is assumed that 1 day comprises three operating shifts, a shift change lasting one hour, and one hour for meals per shift. In the simulation model, the pieces of equipment vary based on their operational states, which can be given as follows: program delays (time interval in which the equipment is not in operation because the operators are changing shift or on meal time), operational losses (the equipment waiting time because other equipment travel through the same drift), backup (time interval in which the equipment is available for operation but is not in operation either (1) it has pending tasks however is unable to complete them because of other tasks needs to be completed before or (2) there are no pending tasks to be completed for this equipment), non-available time (time interval in which the equipment is not available owing to failure or maintenance), and effective time (time interval in which the equipment is performing productive tasks).

Here, we describe the operation details of the simulation model. The mine layout contains two types of elements, i.e., transport routes and fronts. Transport routes are the roads that are used by the pieces of equipment to reach different fronts. A front is a physical location at which the mining equipment conducts its activities. A front can be either a drift or stope. The type of front determines the performed activities and the type of equipment assigned to the front. Each front has an attribute called “current activity,” which indicates the activity that should be performed next. Further, each piece of equipment has a list of priority activities that should be conducted as input. The order of these activities is based on the start and end periods obtained from a given short-term mine production schedule.

At the beginning of the simulation, the drift- and stope-type fronts begin with the states of “drilling” and “benching,” respectively. Throughout the simulation, the pieces of equipment travel to different fronts to execute the activities in the order based on the list of priority activities. The activities are performed by respecting the activity precedence given using the B&F method, and only one item of equipment is allowed to perform an activity at any given time. When a piece of mining equipment completes its assigned activity, the activity transitions from the current activity of the corresponding front to the next activity based on the precedence of activities.

The general flowchart of the B&F simulation model, which involves development, production, and backfill of stopes, is presented in Fig. 6. It is important to mention that the simulation model does not consider the construction of the main ramp to access the ore body because this study focuses on short-term scheduling.

Fig. 6
figure 6

General flowchart of the B&F simulation model

5.4 Optimization and simulation feedback

In this section, we explain the interaction of optimization with simulation and vice versa in the B&F application.

5.4.1 Optimization feedback to simulation

A short-term production schedule is generated at the beginning of each iteration by solving an optimization problem. For each type of activity (drift and stope activities), a list of priority tasks is created based on this schedule. Each of these lists is provided as input to the simulation model. Thus, the simulation model follows a short-term production schedule.

To create the list of drift-type activities, each drift activity is sorted in an ascending order according to the following criteria: (1) minimum start period of the first portion of the drift; (2) minimum completion period of the final portion of the drift; (3) minimum start period of the first portion of the stope associated with the drift; and (4) minimum completion period of the first portion of the stope associated with the drift. In the B&F method, a drift can be located between two stopes (the upper and lower stopes) or on one stope (the lower stope). The stope associated with the drift corresponds to the upper stope, if it exists. Otherwise, the associated stope corresponds to the lower stope.

If there is a tie with respect to a particular criterion, it is broken by applying the immediately following criterion and so on. For example, while sorting the drift types of activities, if two or more drift activities have equal minimum start periods with respect to the first portion of the drift (first criterion), the drift activities are sorted using the minimum completion period of the final portion of the drift (second criterion). If these activities have equal minimum completion periods with respect to the final portion of the drift, the criterion used to sort the drifts is the minimum start period of the first portion of the stope associated with the drift (third criterion) and so on.

Similarly, to create a list of the stope-type activities, the stope activities are sorted according to the following criteria, which are applied sequentially until there is no tie: (1) minimum start period of the first portion of the stope; (2) minimum completion period of the first portion of the stope; (3) minimum start period of the final portion of the stope; and (4) minimum completion period of the final portion of the stope.

5.4.2 Simulation feedback to optimization

A short-term production schedule is generated at the beginning of each iteration by solving an optimization problem. Subsequently, this schedule is simulated using the DES model to obtain the average utilization for each piece of equipment for each period over all the replications \(UT_{e,t}\) at the end of the simulation process. The mean effective time over the replications for each period is subsequently calculated in (15).

$$\begin{aligned} SET_{e,t} = \frac{1}{\left| R \right| } \sum _{r \in R} SET_{e,t}^r \qquad \forall e \in \mathcal {E}, \forall t \in \mathcal {T} \end{aligned}$$
(15)

where \(SET_{e,t}\) is the mean of simulated effective time of the equipment e in period t, and \(SET_{e,t}^{r}\) is the mean of effective time of the equipment e in period t in the replication r.

Before feeding this data to the next optimization problem during the next iteration, precise adjustment of the mean effective time is necessary for each equipment. Thus, the total sum of the simulated effective time \(SET_e\) must be equal to the sum of the planned effective time \(PET_e\) used in the optimization problem to ensure the feasibility of the optimization problem.

Therefore, for all the periods t, the quantity \(SET_{e,t}\) is multiplied with \(\frac{PET_e}{SET_e}\) to obtain the modified simulated effective time \(\hat{SET}_{t}^{e}\). Refer to (16).

$$\begin{aligned} \hat{SET}_{e,t} = \left( \frac{PET_e}{SET_e} \right) \cdot SET_{e,t} \quad \forall e \in \mathcal {E}, \forall t \in \mathcal {T} \end{aligned}$$
(16)

Thus, the sum over all periods of the modified simulated effective time \(\hat{SET}_{e,t}\) is equal to \(PET_e\). Refer to (17).

$$\begin{aligned} \sum _{t \in T} \hat{SET}_{e,t} = {PET_e} \quad \forall e \in \mathcal {E} \end{aligned}$$
(17)

Finally, the average utilization of each piece of equipment for each period over all the replications \(UT_{e,t}\) is calculated as the ratio of the modified simulated effective time \(\hat{SET}_{e,t}\) and the total time per period in hours. As each time period comprises a month (30 days), each time period has \(24 \cdot 30\) hours in total. Refer to (18).

$$\begin{aligned} UT_{e,t} = \frac{\hat{SET}_{e,t}}{24 \cdot 30} \quad \forall e \in \mathcal {E}, \forall t \in \mathcal {T} \end{aligned}$$
(18)

In the next iteration, the average utilization of each equipment for each period \(UT_{e,t}\) is fed into constraint (12) to generate a new short-term mine production schedule. For an equipment working in specific mine sector, the procedure to calculate the average utilization per equipment for each period per mine sector \(UT_{e,t,s}\) is similar to the procedure used to calculate \(UT_{e,t}\). This quantity is fed into constraint (13) to generate a new short-term mine production schedule.

6 Case study

A case study of a real-world data of a B&F mine is considered for understanding the application of the simulation–optimization framework. The mine is comprised of two exploitation zones (East and West), and each contain three levels. Figure 7a shows the isometric view of the mine, whereas Fig. 7b depicts the plan view. Figure 8a illustrates the North-South side view of the mine whereas the Fig. 8b represents the East-West side view.

Figures 7 and 8 illustrate the mine workings in the mine: stopes (in brown), crosscuts (in green), main drifts (in yellow), access ramps (in red), and the access drifts (in blue). Crosscuts connect the different stopes with the main drifts. For their part, main drifts connect the different crosscuts with the corresponding access ramp. Finally, access drifts connect the West and East sectors with other sectors of the mine.

The ore deposit is of the epithermal type of gold and silver, comprising of veins with an average width of 2.1 m. Table 9 summarizes the number of activities by activity type (drift, stope and backfill). The total number of activities to be scheduled differs from the total number of tasks, because the slice discretization process explained in Sect. 5.2.1 is conducted using a slice discretization length of 9.0 m for each mining task. This length corresponds to the length of the portion of the ore extracted from the stope subsequent to which the backfill of the stopes in the real mining operation begins. Table 10 shows the mining equipment involved in the B&F mine. In each zone, one LHD and production drill rig work exclusively; hence there are four pieces of equipment in total. Table 11 describes the relation between the tasks and the mining equipment used to perform the mining activities.

Fig. 7
figure 7

Isometric (a) and plan view (b) of the B&F mine case study. (Color figure online)

Fig. 8
figure 8

North-South side view (a) and West-East side view (b) of the B&F mine case study. (Color figure online)

Table 9 Summary of the B&F mine case study activity type
Table 10 Mining equipment used in the B&F mine case study
Table 11 Relation between the mining equipment and tasks in the B&F mine case study

The mining equipment distribution parameters used in the simulation are presented in Table 12. In this table, U(ab) represents a uniform distribution, W(k) represents a 1-parameter Weibull distribution, and \(N(\mu ,\sigma )\) represents a normal distribution. The types of probability distributions used are obtained based on the best fit obtained from the historical data. For further details of the probability density distribution, please consult Oliphant (1995).

Table 12 Mining equipment’s probability density distributions

All the computational experiments presented in this study were performed on a 2.60 GHz Intel® Xeon® CPU with 256 GB RAM, operating on the Windows 8® operating system. The optimization model is solved using Gurobi (Gurobi Optimization 2018). The proposed framework considers a stop criterion for the iteration procedure when the value of one adherence index is less than or equal to a particular critical value. In the B&F mine case study, the iteration procedure stops when the value of the material adherence index in a given iteration is less or equal to 5%. We select this value because additional iterations to improve it was not considered to be worth the computational time; however, a different value could be set if necessary. The optimization model considers periods of 1 month, with a scheduling horizon of approximately a year and a half. The mine schedule assumes that the mine workings required to access the production and drilling drifts have been already developed. The initial utilization value for the mine equipment corresponds to the availability reported in Table 10. The annual discount rate observed with respect to the objective function of the optimization model is 10%.

We analyze the cumulative mean of the steady monthly production rates for the drift, stope, and backfill over replications to determine the number of simulation replications. The number of replications is selected such that the cumulative average of the production rates becomes stabilized. Based on this criterion, the number of simulation replications is concluded to be 100. We did not consider a warm-up period at the beginning of the simulation because the conducted simulation considers a mine from the beginning of its production that attains a steady production rate after some months.

To validate the simulation model, we use the confidence interval procedure. The drift, stope, and backfill steady monthly production rates are selected as the response variables of the simulation model. We run a total of 100 replications to obtain the sample mean and standard deviation of the model response variables from the simulation replications. A student’s t-distribution of the response variables is conducted (because the standard deviation of the response variables is unknown), and a confidence level of 95% is assumed for calculating the confidence intervals. Based on the short-term mine production model generated from the optimization model, the steady annual production rates for a drift, stope, and backfill are used to verify whether these values are within the corresponding intervals. It is then verified that the response variables are within the confidence intervals, verifying the validity of the model for the considered response variables.

7 Results and discussion

In this section, the results and discussion are presented based on the application of the simulation–optimization framework to the B&F case study. The procedure stops when the material adherence index is 4.8%, which is lower than the specified critical value of 5%. With this criterion, we performed a total of five iterations. In this way, using the optimization problem we have generated a total of five schedules. Each schedule requires an average of 23 min to be resolved. The simulation of each schedules, containing 100 replications, requires approximately 5 h for completion in average.

Figures 9 and 10 show the short-term mine production schedule obtained from the resolution of the optimization model (a), and the average of the mine production schedule obtained from the simulation (b), for the first and fifth iterations, respectively.

Fig. 9
figure 9

Schedule obtained from the optimization model in the 1st iteration (a) and average of the schedule obtained from its corresponding simulation (b)

Fig. 10
figure 10

Schedule obtained from the optimization model in the 5th iteration (a) and average of the schedule obtained from its corresponding simulation (b)

In the first iteration (Fig. 9), discrepancies can be observed between the schedule obtained from the optimization model and the average of the simulated schedule with respect to the level of movement of material in the early periods. This discrepancy affects the number of periods required to complete the extraction at the mine. The schedule needs 14 periods, and the average simulated schedule needs 16 periods. This result is not desired but it is expected because the optimization model alone fails to consider the operational uncertainty of the mine’s operation.

However, in the fifth iteration (Fig. 10), the discrepancies among the level of movement of material in the early periods with respect to the schedule obtained from the optimization model and the average of the simulated schedule are observed to be minor in comparison with those obtained from the first iteration. In the fifth iteration, the number of periods necessary to complete the extraction at the mine with respect to the schedule and the average of the simulated schedule is 17. This is expected because the effects of operational uncertainty within the optimization model can be considered by integrating the simulation. Thus, it is possible to generate a schedule with smaller discrepancies with respect to the movement of material when compared with the schedule obtained in the first iteration.

In the following paragraphs, we report each mine schedule’s adherence indices generated over the iterations of the B&F case study to assess the level of adherence between the schedule generated by the optimization problem and the corresponding simulation.

In Table 13, we report the material adherence indices of the mine schedules generated over iterations. In general, the material adherence index do not always decrease over iterations for every type of material. However, when considering all types of activities, the material adherence index always decreased with each iteration. This result implies that the levels of material movement in case of the schedule and the average of the simulated schedule become increasingly similar with iterations.

Table 13 A mine schedule’s material adherence index (in percentage) over the iterations, considering different types of materials

In Figures 11 and 12, we report the material adherence curve for each mine schedule generated over the iterations considering different material types (drift, stope, and backfill). In the first two iterations (Fig. 11a, b), the material adherence curves of all the materials were lower than those in the first period. This result indicates that the material movement in the simulation was late based on the mine schedule. In the subsequent periods, the adherence curve was approximately one. This result indicates that the total material movement in the simulation was synchronized with the mine schedule. In the three subsequent iterations (Figs.  11c, 12a, b), the material adherence curve of all the materials was greater than that in the first period. This result indicates that the material movement in the simulation was ahead of the mine schedule. However, in the subsequent periods, the material adherence curve of all the materials was near to that. This result indicates that the material movement in the simulation was synchronized with the mine schedule.

Fig. 11
figure 11

Material adherence curve for the 1st (a), 2nd (b) and 3rd mine schedules

Fig. 12
figure 12

Material adherence curve for the 4th (a) and 5th (b) mine schedules

In Tables 14 and 15, we report the start adherence index and completion adherence index of the mine schedule generated over iterations, respectively. As can be observed, the start and completion adherence indices do not always increase over iterations for every type of material. However, when considering all types of activities, the start adherence index and completion adherence index with respect to a given schedule are higher than those of the immediately previous iteration. This result indicates that the number of simulated activities that start/end in a period less or equal to the period given by the schedule increases in each iteration. In other words, the number of simulated activities that start / end in a period greater than the period defined by the schedule decreases in each iteration.

Table 14 Summary of the start period adherence index (in percentage)
Table 15 Summary of the completion period adherence index (in percentage)

In Table 16 we report the mean lateness, mean tardiness and mean earliness of the schedules generated over iterations.

The mean lateness of the schedule is negative and decreases over iterations. This result implies that the difference between the completion period of simulated activities and the completion period of scheduled activities is negative and increases over the iterations.

Generally, the tardiness of the schedule decreases with each iteration. This result implies that when we consider the activities which are completed after the expected period given in the schedule, the difference between the completion period of simulated activities and the completion period of scheduled activities over the iterations decreases over the iterations.

Generally, the mean earliness of the schedule increases with each iteration. This result implies that when we consider the activities which are completed before the expected period given the schedule, the difference between the completion period of scheduled activities and the completion period of simulated activities over the iterations increases over the iterations.

Table 16 Mean lateness, tardiness and earliness (in months) for all the activities over iterations

The results obtained of the adherence indices between of the schedule and its corresponding simulation over the iterations can be summarized as follows: (a) material adherence index decreased from 13.11% in the first iteration to 4.8% in the final iteration, (b) shape of the material adherence curve showed a trend to a horizontal line of unit value over iterations, (c) start adherence index increased from 77.0% in the first iteration to 89.5% in the final iteration, (d) completion adherence index increased from 60.3% in the first iteration to 76.9% in the final iteration, (e) mean lateness varied from − 0.002 months in the first iteration to − 1.128 months in the final iteration, (f) mean tardiness varied from 0.479 months in the first iteration to 0.138 months in the final iteration, and (g) mean lateness varied from 0.480 months in the first iteration to 1.000 months in the final iteration.

The results presented in the previous paragraphs and presented in Tables 13, 14, 15 and 16 and Figs. 11 and 12 demonstrate, in general, that the adherence indices with respect to a given schedule and its corresponding simulation are higher than those of the immediately previous iteration. These results demonstrate that in each iteration, the optimization problem uses continuous improvement in the estimation of the utilization KPIs of each mining equipment provided by the simulations. These estimations imply a better quantification of the maintenance equipment times, equipment failures, travel time between locations where the equipment is used to perform mining activities, and equipment backup times (time during which the equipment is available for operation even though the equipment is not operative for the specific mine operation condition). Furthermore, these utilization KPIs estimations consider the real mine operation behavior that is difficult to consider in an optimization problem, such as the dispatching rules for transporting equipment to mine faces and the specific rules of mine operations.

Finally, we compared the NPV and the material adherence index with respect to all the short-term schedules generated over iterations in Table 17.

Table 17 Comparison between the NPV and the material adherence index short-term schedules generated over iterations

Based on the results in Table 17, we can state that the improvements in the adherence of mine schedules over iterations are not obtained at the expense of NPV. The results denote that the NPV remained constant, whereas the material adherence index of the mine schedules decreased (Table 17). In other words, the proposed framework can effectively generate mine schedules over iterations and simultaneously maintain the NPV.

8 Conclusion and future work

The deviation between mine schedules and the mine operation results are crucial problems that affect the mining industry. Therefore, the mine engineers should generate a mine production schedule that can be reproduced in reality. Hence, they should develop mine production schedules that exhibit high adherence.

In this study, we proposed a generic framework to increase adherence to a short-term mine production schedule by combining optimization and simulation using an iterative approach. This framework comprises the following steps. First, an initial mine schedule is generated based on the resolution of a mixed-integer linear optimization problem. Second, this schedule is simulated using a DES model. Third, a new short-term mine schedule is created using the optimization model by considering the new utilization KPIs of each equipment, obtained from the simulations performed in the previous step, as inputs for the mine operation. Finally, iterations of the second step are performed. In each iteration, adherence to each mine schedule is evaluated with respect to the corresponding simulations by evaluating several adherence indices.

The proposed framework was applied to a real-scale B&F mine. The mine planning horizon was more than a year and a half, and each period lasted for 1 month. A total of five iterations were performed.

We measure the discrepancies among the level of movement of material with respect to the schedule obtained from the optimization model and the average of the simulated schedule using the mine schedule material’s adherence index. The values of this index decreased with the iterations, from 13.1% in the first iteration to 4.8% in the last iteration. This improvement is explained because the effects of the operational uncertainty within the optimization model can be considered by integrating the simulation.

The outcomes of the work presented in this study demonstrate that the proposed framework improved the mine schedule adherence indices over iterations and simultaneously maintained the NPV of the mine schedule. The results demonstrate that the simulation provides a better understanding of the impacts of uncertainty in short-term mine production schedules.

As future research, the proposed framework will be applied to massive and selective underground mining methods as well as open-pit mines.