Introduction

According to the guidelines published by Canadian Institute of Mining (CIM) on resource and reserve estimation (CIM, 2019), for mineral resources that can be extracted by open pit mining methods, forecasts for the extraction must include not only the economical limit but also technical necessities (such as slope angles). With these limitations, an enquiry is carried out to find out whether the mineral resource can be qualified as a reserve. The optimization for the qualification of a mineral resource as a reserve is performed to determine the ultimate pit limit. In most of the approaches, nested pits are generated from the smallest to the largest pit by changing the economic parameters to form pushbacks within the final pit limit. Then, annual production schedule is planned from these pushbacks (Osanloo et al., 2008). In other approaches, blocks are directly scheduled to form the final pit contour (Campos et al., 2018; Farmer & Dimitrakopoulos, 2018; Johnson, 1968; Souza et al., 2018). Researchers also investigated the applicability of machine learning algorithms to optimize the integration between mining and mineral processing by using mine planning block models (Li et al., 2020). The aim of this article was to generate an ultimate pit limit for variable overall slope angles (OSAs) that can be modified for different azimuth and depth values.

Researchers developed different algorithms to solve optimization-related problems in mining. Some exact, heuristic, metaheuristic, and stochastic methods such as dynamic programming, graph theory, moving cone method, genetic algorithm, artificial neural network, imperialist competitive algorithm, and Markov chain process have been proposed for the ultimate pit problem. The first dynamic programming to solve the ultimate pit limit problem was presented by Lerchs and Grossmann (1965). Other researchers attempted to improve it for 3D applications and for smoothing the pit geometry (Johnson & Sharp, 1971; Koenigsberg, 1982; Shenggui & Starfield, 1985; Wilke & Wright, 1984). The first graph theory algorithm for 3D ultimate pit limit developed by Lerchs and Grossmann (1965) was revisited by other researchers mainly focusing on reducing solution time (Barnes & Johnson, 1982; Chen, 1976; Huttagosol, 1988; Lipkewich & Borgman, 1969; Rychkun & Chen, 1979; Stuart, 1992; Zhao & Kim, 1992). Johnson (1968) demonstrated the relationship between the ultimate pit limit problem and the maximum flow. Picard (1976) mathematically demonstrated that the Lerchs and Grossmann (LG) algorithm was equivalent to finding a maximum flow on a graph. Hochbaum and Chen (2000) conducted efficiency tests to determine whether the maximum flow algorithm is the most effective way for resolving this type of problem. According to the results provided by Hochbaum and Chen (2000), push–relabel algorithm is considered to be one of the most promising algorithms. Hochbaum (2008) proposed another method called pseudo-flow algorithm in order to solve maximum flow problem. It was found that pseudo-flow algorithm is faster than Lerchs and Grossmann’s algorithm (Deutsch et al., 2015). It has been used in many mining software programs such as Deswik and Geovia Whittle (Bai et al., 2017; Poniewierski, 2018).

Heuristic and metaheuristic methods such as floating cone, genetic algorithm and artificial neural network were introduced by researchers to deal with the drawbacks of the conventional methods used to determine the ultimate pit limit. The first floating cone method was proposed by Pana (1965), and variations of this method were proposed by various researchers (Elahi et al., 2011; Khalokakaie, 2006; Wright, 1999). In spite of its ease of application and comparably fast solution, this technique does not necessarily provide optimum results. Milani (2016) proposed a non-standard genetic algorithm with zooming strategy for 2D and 3D pit layouts. Achireko (1998) proposed an algorithm in which artificial neural network is used to include stochastic properties of ore grade and commodity prices in pit limit optimization. According to Sayadi et al. (2011), the algorithm requires modifications for 3D pit layouts. Thus, they proposed a new 3D pit optimization algorithm, in which artificial neural network is used to find the ultimate pit limit. Javadzadeh et al. (2019) presented a new algorithm to solve ultimate pit limit problem by using imperialist competitive algorithm; it is based on the social-political process of creating an empire and enabled comparatively higher convergence speed to reach the ultimate pit in their application. Jalali et al. (2006) applied Markov chain process, which depends on a defined probability density function (pdf), to the ultimate pit limit problem; they stated that the probability of mining each block is determined to construct the optimum pit limits. The methods about incorporating slope angles in the optimization can be classified as methods depending on precedency relation between blocks and cone template method (Khalokakaie, 1999). Generally, in conventional methods, precedency of extraction in forms of patterns such are 1–5 and 1–9 relation between blocks are used. In 1–5/1–9 pattern, 5/9 overlying blocks above the base block are extracted first to remove the base block. The main disadvantage of these methods is that desired slope angle cannot be formed in every cross section, and slope angle depends on block dimensions.

Instead of precedency pattern, to incorporate slope angles, the cone template was proposed by researchers (Giannini, 1990; Lipkewich & Borgman, 1969; Zhao & Kim, 1992). In cone-based methods, blocks in the cone template are considered as selected. Lipkewich and Borgman (1969) proposed a pattern to approximate a cone template. In this pattern, eight blocks from two levels above the base block and five blocks from one level above the base block are removed before the base block is extracted under 45° slope restriction for a cubic block model. This approach is also insufficient to create the desired variable slope angles due to the similar reasons as in the approaches of precedency relation. In the approaches proposed by Chen (1976), Zhao and Kim (1992) and Dowd and Onur (1993), the cone template was used for variable slope angles, but only a single-slope angle was defined. Khalokakaie (1999) published a study in which variable slopes were incorporated in LG algorithm, whereby the orebody was divided into four principle directions in which different slopes were formed by using the equation of an ellipse geometry. In these methods, linear interpolation and limited number of directions for the slopes causes non-smooth and impractical pit outlines. Because of this reason, Sattarvand and Shisvan (2012) proposed spline interpolation for modeling variable slope angles. Spline interpolation methods such as cubic, quadratic and cardinal were tested, and it was concluded that cubic spline interpolation creates more accurate pit outlines. Any number of slopes in any azimuth can be created with cubic spline interpolation. According to Gilani and Sattarvand (2015), cubic spline interpolation also performs well with multiple number of azimuths.

Meyer (1969) was the first to formulate the problem of ultimate pit contours as a problem of linear programming (LP). However, linear and mixed integer programming (MIP) are mostly used in production planning (Askari-Nasab et al., 2011; Blom et al., 2017, 2018; Fu et al., 2019; Kumral, 2012; L’Heureux et al., 2013; Ramazan & Dimitrakopoulos, 2004), which includes the optimum transition from open pit to underground mining methods (Soltani Khaboushan & Osanloo, 2020). Simulated annealing (SA) is also widely applied to the problem of production planning by many researchers (Albor Consuegra & Dimitrakopoulos, 2009; Kumral, 2013; Kumral & Dowd, 2004; Mousavi et al., 2016) and as part of the optimization of mining boundaries for lateritic metal deposits (Dagasan et al., 2019). In this paper, the SA was used in a different context to determine the pit bottom as the starting location for the optimization algorithm, which in turn also enables a decrease in the solution time.

The main template of SA algorithm was designed by Metropolis et al. (1953). SA was first utilized for optimization by Kirkpatrick et al. (1983) and Cerny (1985). In the 1980s, SA was used for combinatorial optimization but later continuous optimization problems were also solved with SA (Dekkers & Aarts, 1991; Locatelli, 2000; Ozdamar & Demirhan, 2000). SA was inspired by the annealing process where a material is heated and then gradually cooled down to achieve a strong crystalline structure. Unsuitable initial temperature and/or rapid cooling can result in flawed crystalline structure. Thus, temperature is slowly decreased to obtain strong crystals. As the temperature reaches to a suitable temperature level, the equilibrium state is reached. SA algorithm simulates this cooling process. The equilibrium state and the energy state of the structure correspond to the optimum solution and the objective function value, respectively (Talbi, 2009).

In the algorithm proposed in this article, the cone-based method was utilized to incorporate multiple OSAs in the optimization. However, the shape of the pit template is not a cone because benches are formed and/or OSA is not constant when forming the pit contour during the design stage. The pit contour can be constructed for four situations where OSA is constant or variable with respect to depth, or azimuth, or with both depth and azimuth in the algorithm. Cubic spline interpolation was used in two cases where OSA varies with respect to azimuth. With this interpolation, the points in the horizontal plane of the pit contour were interpolated. Incorporating slope angles can provide more practical pit outlines (Sattarvand & Shisvan, 2012); therefore, the algorithm creating steeper slopes may result in more profitable pits as the objective function value increases as the slope angle increases (Chaves et al., 2020; Madowe, 2016; Malli et al., 2015). The optimization algorithm introduced in this study was carried out with MIP and SA, supported by a geotechnical study that defined the OSAs required for safe production. Further information for geotechnical analysis can be found in the study carried out by Parra et al. (2018).

Ultimate Pit Limit Optimization Algorithm

In the proposed algorithm, the optimum pit limit was determined by ensuring that preset OSAs are obtained considering the geometrical parameters of the pit template, such as bench height and bench slope. The solution obtained from the algorithm gives depth of the pit, maximum radius of the pit, bench width, and total economic value of blocks. Input data required for the algorithm are bench height, bench slope, and parameters used for calculating economic value of blocks. In the algorithm, firstly, the maximum number of benches is determined followed by generating the mathematical model starting from the first level of bench and optimization carried out for all levels. The procedure is repeated until reaching the maximum number of benches and finally selecting the bench levels, which provide the maximum result of economic value.

The incorporation of required slope angles makes the bench width variable. The bench width is constant if OSA is kept constant throughout the orebody. However, different bench widths are formed if different OSAs are required to be incorporated in the design. Bench width is calculated by utilizing Eq. (1). Then, positions of the blocks are converted into radii and values of bench width are inserted in Eq. (2). Radius of the pit template on the level where the block is located and radius of the block are calculated by Eqs. (2) and (3), respectively.

$$w = \frac{{nb\,h\left( {\tan \theta - \tan \beta } \right)}}{{\left( {nb - 1} \right)\tan \theta \tan \beta }}$$
(1)
$$R = L - \frac{z}{{\tan \theta }} - w\left( {bl - 1} \right)$$
(2)
$$r = \sqrt {x^{2} + y^{2} }$$
(3)

where r is distance between a block and the center of the pit, which is determined by SA algorithm; R is the distance between the boundary of the pit and the center of pit; w is bench width; h is bench height; θ is bench slope angle, β is OSA, z is depth of the block from the top of the model; bl is bench level on which the block is located; nb is number of benches, and L is maximum radius of the pit. Equations (1) and (2) are derived from the pit templates similarly generated as the templates shown in Figs. 1, 2 and 4.

Figure 1
figure 1

Pit templates in cross-sectional views for a constant OSA and b variable OSAs changing with respect to azimuth. Pit templates used for c proof of Eq. (1) and b proof of Eq. (2). “z” represents the depth from an arbitrary block measured from the top level

Figure 2
figure 2

Pit template in cross-sectional view for variable OSAs that change with depth

If a block is inside the pit contour, then it is considered as selected or extracted. To check whether the block is inside the pit contour, the radius from the center of the pit to the block and the radius of the pit are compared. The center of the pit is determined by SA algorithm. R and r are used to express the following condition: if R is greater than or equal to r, the block is included in the pit; thus, the block is extracted (Fig. 1a). The center of the block is considered when checking whether this condition is satisfied or not. Examples of representative cross sections of cone templates used for different cases or specific situations are shown in Fig. 1. The block height can be the same height as the bench height in the algorithm.

In Fig. 1a, a cross section of a simple template with one bench is shown, in which parameters and variables used in Eqs. (1)–(3) are indicated. The OSA is the same throughout the orebody for this case. In Fig. 1b, a cross section of the template used for the cases where the OSA is variable in different azimuth ranges is given where βn and βn+1 represent different OSAs and Ln and Ln+1 represent the corresponding lateral distances. In Fig. 1b, “n” is the number of different OSAs, and Ln is the corresponding horizontal distance. “n” is an input variable of the algorithm and has no theoretical limit. However, the practical condition of designing pits is expected to be limited also by geotechnical constraints.

In Fig. 1c, tangent of \(\beta\) is equal to the following Proof-1:

$$\tan \beta = \frac{{4 \cdot h}}{{3w + \frac{{4 \cdot h}}{{\tan \theta }}}}$$

which can be generalized as:

$$\tan \beta = \frac{{nb \cdot h}}{{w\left( {nb - 1} \right) + \frac{{nb \cdot h}}{{\tan \theta }}}}$$

The following algebraic manipulations enable to obtain the equation of w (bench width):

$$w \cdot \left( {nb - 1} \right)\tan \beta + \frac{{nb \cdot h \cdot \tan \beta }}{{\tan \theta }} = nb \cdot h$$
$$w \cdot \left( {nb - 1} \right)\tan \beta = nb \cdot h - \frac{{nb \cdot h \cdot \tan \beta }}{{\tan \theta }}$$
$$w \cdot \left( {nb - 1} \right)\tan \beta = nb \cdot h\left( {1 - \frac{{\tan \beta }}{{\tan \theta }}} \right)$$
$$w \cdot \left( {nb - 1} \right)\tan \beta = nb \cdot h\left( {\frac{{\tan \theta - \tan \beta }}{{\tan \theta }}} \right)$$
$$w = \frac{{nb \cdot h\left( {\tan \theta - \tan \beta } \right)}}{{\left( {nb - 1} \right)\tan \theta \tan \beta }}$$

which is equal to Eq. (1).

In Fig. 1d, using the parameters indicated, R is found as Proof-2:

$$R = L - \frac{h}{{\tan \theta }} - w - \frac{h}{{\tan \theta }} - w - \frac{{\left( {z - 2h} \right)}}{{\tan \theta }} = L - \frac{z}{{\tan \theta }} - 2w$$

For the block in Fig. 1d, where bl = 3 (the block is on the 3rd bench), R is found using Eq. (2) as:

$$R = L - \frac{z}{{\tan \theta }} - w\left( {bl - 1} \right) = L - \frac{z}{{\tan \theta }} - 2w$$

Then, Ln (Eq. 11) and Hµ [Eqs. (12) and (13)] are used to generate the mathematical model for MIP. In the cross section given in Fig. 2, the OSA is not the same in different zones with respect to depth. By using the parameters Lt and Ld shown in Fig. 2, Eqs.  (10)–(13) are formed for MIP. A mathematical model is also generated for cases where OSA changes with respect to depth and azimuth and the pit template used is similar to the geometry given in Fig. 2.

Mathematical Model for MIP in the Algorithm

MIP was used in the algorithm because there are binary and continuous decision variables in the problem. The objective function consisted of economic block values and binary values of the blocks [Eq. (4)]. The constraints provided results in accordance with OSAs and ensured restriction on maximum and minimum magnitude of the pit radius [Eqs. (5)–(8)]. The software for solving MIP is a default solver called CBC in PuLP package in Python programming language.

$${\text{Maximize}}\;\mathop \sum \limits_{{i \in I}} {\text{BEV}}_{i} b_{i}$$
(4)

subject to

$$\frac{{nb\,h}}{{\tan \beta }} \le L \le \max _{r} + \frac{{nb\,h}}{{\tan \beta }}$$
(5)
$$R_{i} - r_{i} \ge - M\left( {1 - b_{i} } \right)$$
(6)
$$R_{i} - r_{i} \le M\,b_{i}$$
(7)
$$b_{i} \in \left\{ {0,1} \right\},\forall i \in I$$
(8)

where BEVi is economic block value, I is set of all blocks, bi is binary decision variable, i is block, M is a large constant, and maxr is maximum of radii of all blocks.

In the defined set of constraints given in Eqs. (6) and (7), any constant number large enough to produce an optimum result can be used for M. These equations were created to implement the following model conditions:

Condition 1

If block bi is included in the pit, Riri must be greater than or equal to 0 and bi is 1.

Condition 2

If block bi is not included in the pit, Riri must be less than 0 and bi is 0.

The main objective function used for constant OSA is given in Eqs. (4)–(8). The equation of Ri depends on the location of the block and variation of OSA. For example, if the OSA changes as the azimuth varies, instead of Eqs. (5) and (2), Eqs. (9) and (11) are used, respectively. If OSA changes in the different ranges of depth, for constraint L and equation Ri, Eqs. (10) and (12) are used, respectively. Equations (9) and (13) are used for cases where the OSA varies with both depth and azimuth. In Fig. 3, the algorithm’s steps at which these equations are used are shown where “N” is defined to be equal to the depth of the block model divided by the bench height, making it a unitless integer value.

$$0 \le L \le \max _{r}$$
(9)
$$L_{t} \le L \le \max _{r} + L_{t}$$
(10)
$$R_{i} = L + L_{n} - \frac{z}{{\tan \theta }} - w_{n} \left( {bl - 1} \right)$$
(11)
$$R_{i} = L - \mathop \sum \limits_{{\mu = 0}}^{{D - 1}} L_{\mu } - \frac{{z - \mathop \sum \nolimits_{{\mu = 0}}^{{D - 1}} H_{\mu } }}{{\tan \theta }} - w_{d} \left( {bl_{d} - 1} \right)$$
(12)
$$R_{i} = L + L_{{t}} - \mathop \sum \limits_{{\mu = 0}}^{{D - 1}} L_{\mu } - \frac{{z - \mathop \sum \nolimits_{{\mu = 0}}^{{D - 1}} H_{\mu } }}{{\tan \theta }} - w_{{a,d}} \left( {bl_{d} - 1} \right)$$
(13)

where bld is bench level on which the block is located in one depth range, d is number of ranges of depth, D is order of the depth range from the top of the block model, wd is bench width in one depth range, wn is bench width in one azimuth range, wa,d is bench width in one range of azimuth and depth, and L0 and H0 are parameters that equal to zero. To explain further the constraints and the Conditions 1 and 2, the following examples are given. If the equation Ri (Eq. (2)) is substituted in Eqs. (6) and (7), the following inequalities are obtained:

$$L - \frac{z}{{\tan \theta }} - w\left( {bl - 1} \right) - r_{i} \ge - M\left( {1 - b_{i} } \right)$$
(14)
$$L - \frac{z}{{tan\theta }} - w\left( {bl - 1} \right) - r_{i} \le M\,b_{i}$$
(15)

For parameters nb = 4, \(\theta = 60^{ \circ }\), and \(\beta = 45^{ \circ }\), w is found as 5.635 m by using Eq. (1). Then, w = 5.635, bl = 3, z = 25, \(\theta = 60^{ \circ }\), M = 10,000, ri = 50 m are substituted in Eqs. (14) and (15). For the block bi, the constraints will be as follows:

$$L - 75.704 \ge - 10{,}000\left( 1 - b_{i} \right)$$
(16)
$$L - 75.704 \le 10{,}000b_{i}$$
(17)

If L is equal to 150 at the end of the optimization process, then Eqs. (16) and (17) will become, respectively, as:

$$74.296 \ge - 10{,}000\left( 1 - b_{i} \right)$$
(18)
$$74.296 \le 10{,}000 b_{i}$$
(19)
Figure 3
figure 3

Flowsheet of the optimization algorithm

  • For bi = 0, the constraint [Eq. (17)] will not be satisfied:

    74.296 ≥  − 10,000

    74.296 ≤ 0

  • For bi = 1, the constraints [Eqs. (16) and (17)] will be satisfied:

    74.296 ≥ 0

    74.296 ≤ 10,000

Thus, if L is equal to 150 m, for this specific block, bi is 1. If L is equal to 10 at the end of the optimization procedure, the constraints will be as follows:

$$- 65.704 \ge - 10{,}000\left( 1 - b_{i} \right)$$
(20)
$$- 65.704 \le 10{,}000 b_{i}$$
(21)
  • For bi = 0, the constraints [Eqs. (20) and (21)] will be satisfied:

    − 65.704 ≥ − 10,000

    − 65.704 ≤ 0

  • For bi = 1, the constraint [Eq. (20)] will not be satisfied:

    − 65.704 ≥ 0

    − 65.704 ≤ 10,000

Thus, if L is equal to 10 m, for this specific block, bi is 0.

SA in the Algorithm

The SA algorithm was used to decrease the solution time in the proposed algorithm. The center of the pit, which gives the maximum profit, was determined from the solutions generated by the SA algorithm. After a solution was found, the ultimate pit limit problem was solved with MIP to achieve the exact solution. The main steps of the SA algorithm modified for the open pit problem are given in Algorithm 2.

Neighborhood solutions were created with consideration of pit geometry constraints (bench height, bench slope, OSA). The constraints were similar to the ones in the MIP problem. However, the equations were changed so that they can be suitable for the SA algorithm. The starting temperature was chosen as 106 so that the probability of accepting a worse move was initially high. According to the SA theory, the final temperature was equal to 0 (Talbi, 2009). For this reason, the finishing temperature was selected as 1.87 × 10–8 so that it can be close to 0 as much as possible. The number of neighborhood solutions was 60. These parameters were problem-specific, and multiple trials must be carried out to determine the right parameters for reaching an optimum solution.

figure a

The parameter alpha, representing the temperature decreasing constant, was selected as 0.9 in the algorithm because it is suggested to be between 0.50 and 0.99 (Aarts & Laarhoven, 1987). This value generates various inputs of the temperature changing from the highest to the lowest, and at each value of the temperature, the x and y coordinates of the center of the pit are randomly chosen from the set of integer numbers. With the coordinates, the pit contour was formed without violating the slope constraints, and neighborhood solutions were obtained; the pit size increased or decreased depending on the acceptance criteria.

Cubic Spline Interpolation in the Algorithm

In the algorithm, cubic spline interpolation was used for two cases in which OSA changes with respect to azimuth. Cubic spline interpolation provides smoother pit shapes by converting angles into points. A curve between the points is created by the interpolation. Then, the points on the curve were converted into azimuth and OSAs. The detailed steps of the cubic spline interpolation for variable slope angles were as follows (Sattarvand & Shisvan, 2012):

  • Slope angles and azimuth were converted into points of x and y coordinates by using Eqs. (22) and (23), which were obtained by geometrical relationships and demonstrated in Fig. 4.

  • Polynomial functions of a variable t [Eq. (25)] were created for both x and y coordinates with points obtained in the previous step. “t” was the variable of the polynomial function of a curve segment. By substituting x and y coordinates into the right-hand side of Eq. (24), Pkt values were found for x and y separately. Then, Pk (x and y coordinates) and Pkt values are substituted into Eq. (25). For k points given, (k − 1) number of polynomial functions for x and (k − 1) number of polynomial functions for y were obtained. Equations (24) and (25) are provided in the paper published by Sattarvand & Shisvan, 2012, and further explanation is given by Salomon (2006).

  • Values incremented by 0.1 in the range of 0 and 1 were given to the parameter t for all polynomial functions in order to determine a set of points on the curve segment.

  • Cubic spline interpolation was performed on each horizontal level. Points on the curve on each level were obtained, and the corresponding OSAs are used for Eqs. (11) and (13).

    $$x = \frac{h}{{\tan \beta \sqrt {1 + \cot ^{2} \alpha } }}$$
    (22)
    $$y = x\cot \alpha$$
    (23)
Figure 4
figure 4

Pit template’s a isometric view, b top view, and c side view

where α is azimuth

$$\left[ {\begin{array}{*{20}l} 1 \hfill & 4 \hfill & 1 \hfill & \cdots \hfill & 0 \hfill & \cdots \hfill & 0 \hfill \\ 0 \hfill & 1 \hfill & 4 \hfill & 1 \hfill & \cdots \hfill & \cdots \hfill & 0 \hfill \\ {} \hfill & {} \hfill & {} \hfill & \ddots \hfill & \ddots \hfill & \vdots \hfill & {} \hfill \\ 0 \hfill & \cdots \hfill & \cdots \hfill & \cdots \hfill & 1 \hfill & 4 \hfill & 1 \hfill \\ 1 \hfill & \cdots \hfill & \cdots \hfill & \cdots \hfill & 0 \hfill & 1 \hfill & 4 \hfill \\ 4 \hfill & 1 \hfill & 0 \hfill & \cdots \hfill & 0 \hfill & 0 \hfill & 1 \hfill \\ \end{array} } \right]_{{\left( {n \times n} \right)}} \left[ {\begin{array}{*{20}c} {P_{1}^{t} } \\ {P_{2}^{t} } \\ {P_{3}^{t} } \\ \vdots \\ {P_{{n - 1}}^{t} } \\ {P_{n}^{t} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {3\left( {P_{3} - P_{1} } \right)} \\ {3\left( {P_{4} - P_{2} } \right)} \\ \vdots \\ {3\left( {P_{{n + 1}} - P_{{n - 1}} } \right)} \\ {3\left( {P_{{n + 2}} - P_{n} } \right)} \\ \end{array} } \right]$$
(24)
$$P\left( t \right) = P_{k} + P_{k}^{t} \cdot t + \left( {3\left( {P_{{k + 1}} - P_{k} } \right) - 2P_{k}^{t} - P_{{k + 1}}^{t} } \right) \cdot t^{2} + \left( {2\left( {P_{k} - P_{{k + 1}} } \right) + P_{k}^{t} + P_{{k + 1}}^{t} } \right) \cdot t^{3}$$
(25)

The mathematical model, SA, and cubic spline interpolation components of the algorithm were validated for different case studies representing various surface mining operations.

RESULTS AND DISCUSSION

The ultimate pit limit problem of a block model with cubic blocks was solved with the proposed algorithm and the LG algorithm to demonstrate the difference between pit contours. The proposed algorithm was also implemented on case studies with different number of blocks. An optimal solution of the MIP problem was reached in approximately 90, 350, 410, and 730 s when the algorithm was applied to block models with 81,600, 107,916 and 118,096 blocks. In these block models, block dimensions were 10 m, 10 m, and 2 m in x, y, and z directions, respectively. Block dimensions of 10 m, 10 m, 2 m were used to investigate the accuracy of the algorithm by following the desired slope angle in detail. OSAs that were used as inputs were compared to the measured OSAs obtained from the results in order to check the validity of the proposed mathematical model and algorithm. In addition, the solutions of the pit with variable and uniform slope angles were compared as the final limit of a pit will be different if a conventional method such as LG algorithm was used (Fig. 5).

Figure 5
figure 5

Cross sections of extracted blocks generated by a the proposed algorithm and b the LG algorithm

The cross sections of extracted blocks generated by LG and the proposed algorithm (Fig. 5) were different, as the contour of the pit geometry was formed including bench width and bench height in the proposed algorithm. The pit contour consisting of 60° bench slope and about 6-m bench width created a different pit contour. The proposed algorithm was compared with the LG algorithm using a block model with 1,238,400 cubic blocks. MIP was applied on four scenarios. Scenario-1 was defined for a constant slope angle, and Scenario-2 was defined for the slope angle changed for different azimuth values. Scenario-3 was the variance of slope angle with depth levels, and Scenario-4 was the implementation of slope angle changes according to azimuth values and depth levels together. Because the generated slope angles depend on the block dimensions in LG algorithm, only one pit shape with 45° and 35.26° slopes in two cross sections was formed. With the proposed method, steeper angles between 55° and 58° can be formed, and the proposed algorithm generated more profitable pits than the LG algorithm (Table 1). The result of the proposed algorithm was more profitable, as the constraints that were defined for specific problems were different. The constraints used for LG were different from those of the proposed algorithm. With MIP, a steeper slope can be achieved without the influence of block dimensions; in the LG method, a lower slope angle can only be formed by changing the block dimensions. Thus, in some cases, this algorithm can still provide better results, especially for cases where slope angles are varied for different bearing angles or different depth levels, as preferred commonly within the life time of the mine.

Table 1 Comparison of MIP and LG algorithm

The parameters required for the optimization are entered in the graphical user interface (GUI) as shown in Fig. 6. The economic block value and the bench parameters are the same for all cases. Bench height and bench face angle are entered as 10 m and 60°, respectively. Four choices of overall slope change are available in the GUI given in Fig. 6.

Figure 6
figure 6

Input window for the economic block value parameters, the bench parameters, and the selection of OSA

For Case Study 1, the OSA of 51° was defined as constant, and so spline interpolation was not used for this condition. The extracted blocks and a sample cross section are shown in Figs. 7a and 8a. In these figures, OSA is constant, and the measured slope angles obtained from the result of the optimization were compared to the angle. The difference between OSA taken from input and output data was 0.340° on N–S and W–E cross sections in Case Study 1 (Table 2).

Figure 7
figure 7

Extracted blocks for Case Study 1 (a), 2 (b), 3 (c), and 4 (d)

Figure 8
figure 8

N 40° E cross sections of the extracted blocks for Case Study 1 (a), 2 (b), 3 (c), and 4 (d)

Table 2 Comparison of OSAs (Case Study 1 and Case Study 2)

For the cross sections given in Table 2, the average difference between OSAs taken from input and output data was 0.687° for Case Study 2. The second example was provided to check the validity of the algorithm for the case in which OSA changes with respect to azimuth and spline interpolation is used. Number of zones entered as 8 in the GUI are given in Table 3, although any number of zones can be entered in the algorithm. The plan view of the pit template for a unit height created by spline interpolation and the extracted blocks for Case Study 2 are shown in Figs. 9a and 7b, respectively. It can be seen that OSA was not constant with respect to azimuth in Figs. 7b and 8b.

Table 3 OSAs in different azimuth ranges (Case Study 2)
Figure 9
figure 9

Curves created by cubic spline interpolation for (a) Case Study 2 and (b) Case Study 4

The algorithm was applied to Case Study 3, in which OSA variation with depth was evaluated without using spline interpolation. Different OSA values were entered for the two zones with depths of 0–50 m and 50–100 m and slope angles of 45° and 20°, respectively. The slope angle of 20° was used to show the accuracy of the algorithm to follow the abrupt slope change as the depth increases. Although a geotechnical analysis was not performed within the scope of this study, it might be the case that a discontinuity set or any other weakness plane might limit the pit geometry to reduce the slope angles according to the orientation and strength parameters of the discontinuity. Extracted blocks are shown in Fig. 7c, and a cross section is shown in Fig. 8c where the two different zones based on depth can be identified distinctly at about 50 m. For Case Study 3, the average difference between OSA taken from input and output data was 1.792° (Table 4).

Table 4 Comparison of OSAs (Case Study 3 and Case Study 4)

Case Study 4 was a scenario where OSA changes with respect to both depth and azimuth. Spline interpolation was used to generate the angles for this case, and eight different OSA were entered in the GUI for two zones of depth and four zones of azimuth (Table 5). One of the spline curves was used for depth range of 0–60 m, and the other one was utilized for depth range of 60–120 m. Extracted blocks in Case Study 4 are shown in Fig. 7d, and the varying OSA with respect to azimuth is shown in Fig. 8d. The change in slope angle with respect to depth in Fig. 7d is not as apparent as it is in Fig. 7c because the difference between angles for the two depth ranges was 25° for the extracted blocks in Fig. 7c and 4–7° for the extracted blocks in Fig. 7d. The SA algorithm was run for 30 times to determine center of the pit bottom prior to MIP, and the results for each case were evaluated to select the highest value. The results given in Table 6 summarize the solutions of the case studies.

Table 5 OSA in different azimuth and depth ranges (Case Study 4)
Table 6 Comparison of case studies in SA runs

The pit shape generated by the algorithm becomes more accurate and similar to the actual pit shape with the desired OSA as the number of blocks increases or block dimension decreases. This was evaluated by Case Study 2 compared to another example with the same input but smaller-sized blocks. The economical parameters for these two cases were different from those in the other cases. In Fig. 10, OSAs calculated by interpolation and measured angles from the extracted blocks are given. The average differences of OSA were 0.985° and 2.190° for the models with small-sized and large-sized blocks, respectively, and the small-sized block model had a better conformance to the angle generated by interpolation (Fig. 10).

Figure 10
figure 10

Comparison between input and output values of OSA of the block models with large-sized and small-sized blocks

Conclusions

The proposed algorithm coded in Python programming language was applied on block models consisting of 81,600; 107,916; 118,096, and 494,900 blocks to verify the mathematical model. The input data for OSA based on geotechnical studies are compared to OSA obtained from the optimization as output data. It was found that the angles are either same or close to each other within a range of 0° to 4.9°. However, the difference between required angles and generated angles by the algorithm becomes smaller as the number of the blocks increases. It can be concluded that the proposed algorithm can be a useful option for incorporation of various OSA into the optimization of the ultimate pit limit. The main advantage of the proposed algorithm is that the pit shape with desired OSA and maximum economic value is simultaneously obtained. A comparison with LG algorithm for different case studies indicated that an improvement within a range of 8–20% could be achieved by means of economic value. The pit layout with the required OSA is not formed after the optimization is finished, and the resultant pit values are greater for the pit contour with variable OSA. Some aspects can be considered so that the proposed approach can be improved further. It is planned to incorporate the topography for a more realistic design, whereas geotechnical aspects are also planned to be defined as constraints of the solution in the algorithm.