Introduction

In mining and civil engineering projects, drilling and blasting are used for rock mass removal. Previous researches mentioned that over 85% of explosion energy is wasted in the ground and could have several negative environmental impacts on surrounding areas such as flyrock, back-break, ground and air vibrations (Singh and Singh 2005; Khandelwal and Singh 2009; Verma and Singh 2011; Faradonbeh et al. 2016a; Hasanipanah et al. 2016; Nguyen and Bui 2018). One of the most dangerous and harmful issues of blasting is flyrock that can affect equipment and people and could cause fatal accidents (Hustrulid 1999; Raina et al. 2007; Mohamad et al. 2013).

Flyrock is the sudden flying or moving pieces of rocks caused by blasting energy (Roth 1979; Armaghani et al. 2016a; Faradonbeh et al. 2016b). The shapes and sizes of flown rocks can vary over a large range. Flyrock has a direct relation with hole diameter, which means that an increase in blast-hole diameter can cause farther flyrock distance (Lundborg et al. 1975). Figure 1 shows the most important flyrock generation mechanisms namely face bursting, cratering and rifling (Bhandari 1997; Kecojevic and Radomsky 2005; Khandelwal and Monjezi 2013; Monjezi et al. 2013; Raina et al. 2014; Koopialipoor et al. 2018a). Little and Blair (Little and Blair 2010) suggested that inadequate burden could cause face bursting. Smaller ratio of stemming to hole diameter and not suitable stemming material can cause cratering and rifling (Lundborg et al. 1975; Ghasemi et al. 2012; Armaghani et al. 2015). There are two major categories of the most effective factors of flyrock distance, i.e., controllable and uncontrollable. Controllable parameters are mostly blasting pattern factors such as burden, spacing, stemming, powder factor, maximum charge per delay, total charge, blast-hole diameter, blast-hole depth and sub-drilling. On the other hand, poor and indefinite geological conditions in rock mass are the key uncontrollable parameters (Armaghani et al. 2016b). Controllable parameters can be designed by blasting engineers, but uncontrollable parameters are considered to be natural (Bajpayee et al. 2004; Khandelwal and Monjezi 2013; Zhou et al. 2019).

Figure 1
figure 1

Three mechanisms for creation of flyrock

Since the late 1970s, empirical models/equations have been used to predict and evaluate flyrock induced by blasting (Roth 1979; Little and Blair 2010). Previous studies have found that a complicated condition is associated with flyrock occurrence (Khandelwal and Monjezi 2013; Trivedi et al. 2014). The prediction performance of the empirical equations is not suitable according to several researchers (Armaghani et al. 2014). This is due to the fact that the empirical equations use few effective parameters of flyrock. In addition, empirical equations consider only simple linear and nonlinear relationships for prediction of flyrock. However, accurate estimation of flyrock is necessary to determine blast safety area (Rezaei et al. 2011).

Many studies highlighted the successful use of soft computing techniques to solve mining and geotechnical problems as well as flyrock prediction (Shi et al. 2012; Zhou et al. 2016; Armaghani et al. 2017; Wang et al. 2018, 2019; Koopialipoor et al. 2019a; Bui et al. 2019; Nguyen et al. 2019a, b). Monjezi et al. (2013) collected datasets from Sungun copper mine in Iran and used those data in artificial neural network (ANN) and statistical models to estimate flyrock. Their study showed better performance in terms of accuracy of ANN compared to statistical models. In another research, ANN and fuzzy interface system (FIS) were developed to predict flyrock in Gol-E-Gohar iron mine, Iran (Ghasemi et al. 2014). According to the outputs obtained by this study, FIS performed better than ANN model. Adaptive neuro-fuzzy inference system (ANFIS) and ANN were applied to estimate flyrock in a research by Trivedi et al. (2015). The results showed that ANFIS is able to predict flyrock more accurately than ANN. Faradonbeh et al. (2016c) investigated blasting operations at six granite mines in Malaysia. They developed genetic programming (GP) and nonlinear multiple regression (NLMR) to estimate flyrock. They concluded that GP can perform better in predicting flyrock compared to NLMR. Regression tree (RT), as one of the most powerful methods in solving geotechnical problems, has been utilized by Razi and Athappilly (2005) and Tiryaki (2008) to predict flyrock induced by blasting. They successfully showed that their developed RT is able to provide better prediction performance in comparison with ANN and statistical techniques.

An effective method of computation that can solve optimization problems involves use of metaheuristic algorithms (MAs). MAs are inspired either by nature (Gandomi and Alavi 2012) or by art (Gandomi 2014). MAs use a set of pre-determined rules and a ‘candidate solution’ and then carry out a series of iterative improvement calculations to arrive at the optimum solution. These algorithms do not start with any ‘initial solution’ but can arrive at a ‘candidate solution’ by searching through a population of solutions. However, these algorithms are stochastic in nature; hence, their final solution may not be a globally optimum solution. In order to overcome this limitation, several MAs are applied to generate an algorithm that is truly robust and better than other techniques. MAs can be grouped into two types, namely (Gandomi et al. 2013): (1) evolutionary and (2) swarm intelligence, SI.

Particle swarm optimization (PSO) is considered as one of the SI techniques that has been widely developed in solving engineering problems (Talatahari et al. 2013; Alavi Nezhad Khalil Abad et al. 2016; Hajihassani et al. 2017; Koopialipoor et al. 2018b). In previous related studies, few optimization tasks have been conducted to solve flyrock prediction and design blasting pattern. Hence, in this research, the environmental risk of flyrock has been assessed through a combination of ANN (for prediction) and PSO (for optimization). Then, blasting pattern parameters were designed using PSO to minimize flyrock.

In the following sections, the background of ANN and the PSO algorithms is described in detail. Then, data collection and the most important parameters on flyrock are explained. Afterward, prediction and optimization phases are implemented to predict and optimize flyrock by ANN and PSO techniques, respectively. Lastly, using PSO model, the plans are developed to design the appropriate blast pattern parameters to reduce flyrock.

Applied Methods

Artificial Neural Network (ANN)

ANN simulates the working methodology and principles of the human nervous system. What makes the ANN unique is that it is able to learn from patterns to find an approximate relationship between data and output values (Zurada 1992). In a classic ANN system, artificial neurons establish parallel processing of information just as in human brains. The modeling of neural networks was pioneered by McCulloch and Pitts (1943). In this model, the artificial neuron behavior is represented by a neural net area using binary threshold logic, called the binary decision unit. A specific node in ANN captures incoming signals and creates a weighted aggregate, which is passed through an activation function. This activation function then processes the signals to generate an estimated output. ANNs are structured in parallel systems, consisting of multiple layers of neurons or nodes. Each layer of neurons has an impact on the network behavior, depending on their pattern of connection. ANN networks should be trained, and during training, outputs from the network are repeatedly analyzed. In each iteration, the architecture of every output layer is modified with changes in the connection weights by minimizing the system error. The system error can be obtained as:

$$E = \frac{1}{2}\sum\limits_{i = 1}^{p} {(t^{(i)} } - y^{(i)} )^{2}$$
(1)

where, t is the target value, y is the actual value and p is the number of training patterns.

The most popular method of learning in multilayer feed-forward networks is the gradient-based learning principle. It performs learning tasks using back-propagation (BP) methodology (Simpson 1990). The signals move through the network in two stages: forward and backward. In the forward stage, signals are passed through the network in the forward direction toward the output layer, and system error is determined in each output layer node. Then, the errors encountered in every stage are fed back into the network in the reverse direction, modifying weights and biases created in the previous stage (Mohandes 2012; Koopialipoor et al. 2017, 2018c, 2019b). Accordingly, the architecture of ANN is structured to operate two distinct functions: feed-forward and feedback. The multilayer perceptron (MLP) is a widely used variation of the multilayer feed-forward network. In MLP, the input signals are exchanged and processed in units having successive layers weights that link by activation functions (Haykin 1999; Priddy and Keller 2005; Ahmadi and Shadizadeh 2012; Koopialipoor et al. 2019c; Liao et al. 2019; Zhao et al. 2019). Each activation function is carried out by a set of hidden neurons. The input of each layer is the output obtained from the previous layer. The activation function selected for each problem is based on the complexity of the problem. For example, to solve nonlinear problems, sigmoid transfer functions such as log-sigmoid or tangent sigmoid are considered as the best ones. Incoming signals (xi) from one layer are multiplied by a weight coefficient (wij) to create weighted input signals for the next layer, which are fed into the hidden neurons. This process is reiterated at every layer to arrive at the total input of the system. The overall net input for any hidden or output neuron is obtained using the following equation:

$${\text{net}}_{hj} = \sum\limits_{i = 1}^{n} {(w_{ij} } .x_{i} + b_{j} )$$
(2)

All neuron outputs are aggregated, and the total net input is expressed as a ‘squashing function’ such as the sigmoid function. In other words, the output from all ‘hidden’ output neurons is expressed as:

$$y_{j} = 1/(1 + \exp \{ - {\text{net}}_{hj} \} )$$
(3)

Particle Swarm Optimization (PSO)

The credit for developing the PSO goes to Kennedy and Eberhart (1995). The idea came out of their observation of the movements of birds in a flock. Basically, it was a simplified map of their movements or choreography, simulating the social system of birds in a flock. The concept of ‘swarm’ was first defined by Millonas (1993), who explained the principles and models of SI. The term ‘particle’ came out of the science of mechanics, due to the fact that the position, displacement and velocity can be applied to the movement of different sizes of the swarms. Kennedy and Eberhart (1995) artificially simulated the social behavior of birds in a flock, as they flew around (search space) and reached unknown destinations (fitness function), looking for food sources. All problem–solutions in PSO are akin to a flock of birds, in which each bird is a ‘particle.’ Each bird (particle) evolves in terms of its behavior—individually and together with others—and co-ordinates with other birds to reach their desired destinations (Shi and Eberhart 1998). To achieve this, a record of each bird is made in terms of its co-ordinates as it navigates the problem. The algorithm also simulates the communication between birds, whereby they identify the bird whose position is the best. The birds co-ordinate their movements in such a way that each bird accelerates to the best possible position. The best global position is defined as the situation in which every bird has occupied its best position. In this process, every bird would have explored the new search space in every location. This process is carried out several times until one bird reaches the best location (called the best bird). It must be noted that this is not only intelligent behavior on the part of each bird, but also a social interaction between them. The process results in evolutionary learning for each bird—both from their own efforts (local search) and from the efforts of the other birds in the flock (global search). In a similar manner, PSO uses evolutionary computation techniques, namely (1) assigning initial values to generate a set of random solutions, (2) optimization of solutions through updating outputs generated and (3) using specific growth strategies to evolve particles in the problem space. For any given problem, in the initialization stage, a group of randomly selected particles are assigned random solutions. The ith particle is assigned a specific location in the s-dimensional space. In this, s represents the number of variables in a given problem. Thus, in any optimization problem, each particle location, represented by the value of the s variable, is one possible solution.

As stated earlier, concurrently with this process, every particle i is correlated with vectors of three types:

  • present location as:

    $$X_{i} = (x_{i1} , \, x_{i2} , \ldots , \, x_{is} )^{t}$$
    (4)
  • the improved location is arrived until the present moment:

    $$P_{i} = (p_{i1} , \, p_{i2} , \ldots , \, p_{is} )^{t}$$
    (5)
  • and the velocity of particle, which facilitates to authorize a fresh location:

    $$V_{i} = (v_{i1} ,v_{i2} , \ldots ,v_{is} )^{t}$$
    (6)

The best fit of objective function is achieved through each cycle (iteration) of the particle. The computation movement of the each bird’s progress is determined by crucial location of the particle. The particle updates are brought, and goals are reached as stated by the subsequent equations. Updates on space of the individual solution are carried out by:

$$newX_{i} = currentX_{i} + newV_{i}$$
(7)

where the new velocity, new Vi, is given by

$$newV_{i} = \omega .currentV_{i} + c_{1} .rand().(P_{i} - currentX_{i} ) + c_{2} .rand().(P_{g} - currentX_{i} )$$
(8)

where Pg is the best position ever attained by any particle during the flight, c1 and c2 are acceleration constants and represent the weighting of the stochastic acceleration terms that pull each particle simultaneously toward its best position and the best global position. Learning rates or factors are an alternative name of these constants. rand() is a function developing consistent pseudo-random numbers between 0 and 1. It should be noted that rand() numbers in Eq. 8 are individually developed. Shi and Eberhart (1998) suggested ω as an inertia weight, which governs the impact of the velocities history into the new velocity. It can be appropriately fitted during the computation process. A balance between local and global search criteria is achieved through this operator and usually decreases with time. Thus, initially global search is given preference, but this trend is moved toward local search as the solution process evolves. An optimal solution is obtained through less iteration on average. Two sociometric principles are supported by the use of PSO. Movement of particles takes place through a special area under examination. These particles have significant impact due to the leading particle in the community and establish the most excellent special solution at any time (Voss 2003). The second term in Eq. 8 shows intelligence of individual thinking of a particle that is performed by comparing its current position, Xi, with the best position it has ever had, Pi. Particles’ velocities on each dimension are restricted to minimum and maximum velocities:

$$X_{\rm min } \le V_{i} \le V_{\rm max }$$
(9)

This velocity is evidently limited to either Vmin or Vmax, if the sum of accelerations results in the velocity on a specific dimension to fall out of the accepted range. These are very critical parameters. If Vmax is too high, particles might fly through good solutions. On the other hand, if Vmax is too small, particles may not explore adequately with satisfaction beyond locally good regions. In fact, in this case, they could easily be caught in a trap in local optima and are not able to move far enough to reach a better position in the problem space. The algorithm starts with randomly generated swarms; then, it classifies the particles according to the fitness values. Afterward, it updates the number of particles to find an optimum solution in search space. The next pseudo-code of the algorithm is given through the following simplified representation:

  • Create arbitrary community of particles N (provision of solution which is hydraulic in nature).

  • Choose excellent particle as number 1.

  • Repeat to adjacent block until end condition is satisfied:

    • Decide the equivalent amount of inertia dimension ω;

    • Start cyclic loop particle number 1 to many particles.

  • Begin:

    • Compute value of particle i using fitness function.

    • If more excellent value is obtained for particle i as compared to excellent particle based on the history, then fix particle i as new excellent particle.

    • Compute revised particle’s velocity based on Eq. 6.

    • Bring updated location of particle based on Eq. 5.

  • End

    • Present the solution provided by the excellent particle.

Case Study

The data of this research were collected from the Ulu Tiram quarry that is located in Johor area, Malaysia. The latitude of the quarry is 1°36′41″N; its longitude is 103°49′20″E. Figure 2 shows a view of the studied site (Ulu Tiram quarry) in Johor area, Malaysia. Because of aggregate production ranging from 15,000 to 35,000 tons per month, blasting operations in the quarry are carried out almost every day. The rock in the study area is granite with rock strength of 50-90 MPa. In addition, rock quality designation (RQD) values were measured in the range of 25–60%. The main explosive used in the blasting is ammonium nitrate and fuel oil (ANFO). An accurate estimation of flyrock distance is a critical issue because of short distance between the blasting site and the residential area. Various investigations have been carried out, and various mine conditions have been evaluated during the operations. In this research, various parameters have been selected and considered for the design of the models. The research also identifies and selects the most important parameters that are mentioned in previous studies (Monjezi et al. 2012; Marto et al. 2014; Armaghani et al. 2016a; Koopialipoor et al. 2018c).

Figure 2
figure 2

Ulu Tiram quarry site, Johor, Malaysia

To solve the flyrock prediction problem, values of many effective parameters of flyrock like blast-hole depth (HD), maximum charge per delay (MC), burden (B), spacing (S), stemming (ST) and powder factor (PF) were measured for 65 blasting events. During data collection, two cameras were installed to record the operations where explosion parts were colored and marked to make their detection easy after explosion and rock particles throw. Then, the maximum horizontal distance between the free face and landed fragments was measured using GPS and considered as flyrock distance in our database.

It should be noted that a range of 4-6 cm was observed for the flown rocks. Table 1 shows the details of input and output parameters and other statistical information (maximum, minimum and average). Microsoft Excel 2016 was used for obtaining this statistical information. Additionally, the relationship between the flyrock and six input parameters is shown in the correlation matrix plot (Fig. 3), from which it can be observed the pairwise relationship between parameters with corresponding correlation coefficients for each indicator. The conclusion that some pairs of parameters have relatively satisfactory correlations is obtained.

Table 1 Statistical information of data used in this study
Figure 3
figure 3

Correlation matrix plot of the database

Prediction of Flyrock

Kanellopoulos and Wilkinson (1997) and Hush (1989) mentioned that ANN architecture plays an important role on ANN results. Hence, optimum design of ANN architecture is a critical task for developing a suitable ANN model. Architecture of ANN would depend on the total number of hidden layer(s) and the number of hidden neurons in hidden layer(s). Based on many studies, it has been established that any nonlinear function can be solved using one hidden layer (Hornik et al. 1989; Koopialipoor et al. 2019d). Therefore, a hidden layer is used in this study to solve flyrock prediction problem. Table 2 shows several suggested equations in the literature for calculating hidden neuron in a hidden layer. The ANN training function in this study was the Levenberg–Marquardt as highlighted by several scholars (Armaghani et al. 2019; Koopialipoor et al. 2019b; Koopialipoor et al. 2019e). According to the equations presented in Table 2, a range of 2–20 should be considered for possible number of hidden neurons with six model inputs and one output. Then, many ANN models, created for selecting the optimum number of hidden neurons based on coefficient of determination (R2), are presented in Table 3. It is worth mentioning that for each hidden neuron, five ANN models were run and their average results are shown in the last column of Table 3. In addition, Figure 4 shows the average R2 results of different ANN models with various neurons. According to the obtained results of both training and testing datasets, model No. 7 with 14 nodes (average R2 values of 0.900 and 0.906 for training and testing, respectively) gave more accurate performance as compared to other models. Therefore, 6 × 14 × 1 was chosen as optimum ANN architecture for flyrock estimation. In the following section, PSO technique was applied on the selected ANN model (model No. 7) for minimizing flyrock induced by blasting.

Table 2 Suggested equations for number of hidden neurons in a hidden layer
Table 3 Training and testing results of ANN models for predicting flyrock
Figure 4
figure 4

Average R2 results of different ANN models for training and testing datasets

Optimization of Flyrock

After obtaining the relationship between input data and flyrock, PSO algorithm was used to minimize flyrock. As mentioned in the previous section, the best ANN model in terms of prediction performance was selected for PSO. PSO needs some initial requirements to increase efficiency and accuracy. As discussed earlier, number of iteration, number of particle, c1 and c2 and ω can influence on the performance of PSO. Given that these parameters have different values for optimal conditions in each problem, the optimal values should be determined using recommendations of previous studies and the method of trial-and-error. The best intervals of these parameters are number of iteration 50–1000, number of particles 5–400, c1 and c2 coefficients 1–3 and ω 0.25–1, according to previous researches (Mohamad et al. 2016; Koopialipoor et al. 2018b; Armaghani et al. 2019). Therefore, different models were constructed to gain the best possible parameters (Table 4). According to this table, values of 1000, 50, 1.75, 2 and 0.75 were obtained for number of iteration, number of particle, c1, c2 and ω, respectively, of the best PSO model.

Table 4 Values of the important parameters of PSO in flyrock minimization

Minimization of Flyrock

The optimum blasting pattern parameters can be obtained by developing a PSO model. In fact, PSO, by changing its most important parameters, seeks a pattern to minimize flyrock distance. PSO was allowed to change blasting pattern parameters within their minimum and maximum ranges in order to get the optimum results. The results of the best PSO model in minimizing flyrock distance are presented in Figure 5. The best PSO model was obtained based on minimization of the best cost (or flyrock). In addition, Figure 6 shows a comparison of real, minimum, maximum, mean and optimized values of flyrock. The optimum value of flyrock was obtained as 34 m. This value represents an appropriate improvement in the different conditions of blasting pattern parameters. While the average flyrock value is closer to their maximum value, it can be concluded that the old design of the blast pattern parameters was not optimum. Therefore, there is a need to find the most appropriate blasting pattern parameters. The real flyrock value presented in Figure 6 indicates high risk level of this environmental issue in the studied site. Hence, with the new optimal design, it is possible to reduce the risk level of flyrock induced by blasting.

Figure 5
figure 5

Minimization of flyrock by developing PSO under ideal condition

Figure 6
figure 6

Different values of flyrock distance under ideal conditions

The suggested blasting pattern parameters to minimize flyrock distance are presented in Table 5. These parameters were obtained by PSO for an optimum value of flyrock equal to 34 m. In fact, PSO found the best parameters in the search space based on the developed ANN model (model No. 7). The system continued to search until reaching the desired conditions. When the optimal value is obtained, the values of the input parameters are recorded (Table 5). The values of 12.47 m, 4.06 m, 1.79 m, 3.64 m, 0.57 kg/m3 and 102.22 kg were obtained as optimum for the parameters HD, S, B, ST, PF and MC, respectively. As mentioned before, it is assumed that different variables can be changed within the range of minimum and maximum values in the entire mine. The proposed PSO model can be applied with caution if the input parameters are in the range of the mentioned inputs in the present study.

Table 5 Optimum values of blasting pattern parameters obtained by PSO under ideal conditions

Engineering Design of Flyrock

Since the design of blasting pattern parameters depends on different environmental, geological conditions and equipment used in the mine, engineering constraints were applied in this step. In this study, using the blasting design data, the parameters HD, S and B were assumed constant. These parameters were designed in initial patterns before conducting blasting operations. The values of these parameters were determined according to common conditions considering average values of the blast patterns. It should be noted that these parameters were limited due to the used drilling machine’s factors and the distance between each hole. Therefore, after this step, other parameters (ST, PF and MC) can be changed by the designer in order to have the lowest amount of flyrock.

Accordingly, the PSO algorithm was applied to obtain the best conditions for minimization of flyrock. Figure 7 presents the best optimization results for flyrock. In addition, Figure 8 shows different results of flyrock based on engineering design. As it can be seen, the value of flyrock in the mine under engineering conditions is about 109 m. Considering the application of PSO, flyrock distance (risk level) can be reduced significantly. This indicates the importance of carefully designing blast patterns to minimize flyrock. The suggested blasting pattern parameters to minimize flyrock distance (in engineering design condition) are presented in Table 6. To obtain a flyrock distance of 109 m, values of 16.71 m, 3.38 m, 2.45 m, 3.01 m, 0.38 kg/m3 and 157.69 kg were used as optimum values for HD, S, B, ST, PF and MC, respectively.

Figure 7
figure 7

Minimization of flyrock by applying PSO under engineering design conditions

Figure 8
figure 8

Different values of flyrock under engineering design conditions

Table 6 Optimum values of blasting pattern parameters obtained by PSO under engineering design conditions

Finally, the different optimization results of flyrock together with mean values of flyrock were compared as shown in Figure 9. According to this figure, 35 flyrock values are higher than the average value, indicating inappropriate pattern design and high-risk conditions in the mine. If blasting pattern parameters are designed based on engineering constraints in the studied site, a significant improvement will be observed. There are two acceptable flyrock values less than flyrock value obtained based on engineering constraints. As a result, when applying an appropriate optimization system, the blast patterns can be designed for high optimization performance to reduce risk associated with flyrock as the main environmental issues of blasting. It is worth stating that all flyrock values are less that the value obtained by PSO under ideal conditions.

Figure 9
figure 9

Sorted occurrences of flyrock for comparison purposes

Conclusions

In prediction phase of this study, an ANN model with architecture of 6 × 14 × 1 and average R2 values of 0.900 and 0.906 for training and testing, respectively, was developed to predict flyrock and then it was used in optimization phase. The results of the engineering design and ideal conditions showed that the value of flyrock can be reduced to 109 m and 34 m, respectively. For these two conditions, the matched blasting pattern parameters were also introduced. The values of (12.47 m, 4.06 m, 1.79 m, 3.64 m, 0.57 kg/m3 and 102.22 kg) and (16.71 m, 3.38 m, 2.45 m, 3.01 m, 0.38 kg/m3 and 157.69 kg) were obtained as optimum for the parameters HD, S, B, ST, PF and MC, respectively, for engineering design and ideal conditions. The results indicated that the measured flyrock values in blasting site have a high potential of risk almost for all blasting operations. The developed models in this study are able to minimize/control risk associated with flyrock, and they can be utilized in the similar condition with caution.