1 Introduction

Seismic refraction method is a fast and efficient tool for the investigation of shallow subsurface layers. By measuring the travel times of P-wave velocity (Vp) from the source to a set of receivers located at known points on a profile line, important information about subsurface layers such as the thickness (H) of layers and layers’ Vp could be calculated [1]. The Seismic refraction method is widely applied in different engineering projects [2,3,4,5]. An important application of this method is the study of bedrock foundation properties in dam sites, tunnels, subway construction, and other facilities. Geotechnical studies and determining bedrock depth are common investigations in a dam construction site. Bedrock has a significant impact on the stability of heavy civil structures that are made in the above levels; however, its depth for calculating the volume of excavations is vital. The maximum error related to the estimation of bedrock depth using the seismic refraction data should be about 10% of the actual depth [6]. To investigate the bedrock characteristics, applying the seismic refraction method in contrast to borehole drilling is fast and obtained information covers a large area. However, some phenomena such as blinded layers, hidden layers, inappropriate data acquisition parameters and applying improper inversion methods have crucial role in the non-realistic interpretations of the seismic refraction data. The use of prior information or auxiliary data (e.g., down-hole data), conducting complementary geophysical methods in the study area, and also using adequate computational approaches for the inversion of observed data are some promising strategies to decrease the ambiguities in the interpretation of the seismic data [7]. In the inversion of seismic refraction data estimating adequate values for model parameters (Vp and H) using observed data are the main targets. The inversion of seismic refraction travel times like other geophysical data faces with non-uniqueness challenge. In general, to solve nonlinear inverse problems, i.e., problems that the relationship between the model parameters and data is nonlinear, two strategies are usually applied. One strategy is the linearization of problem and then applying an optimization algorithm to find the adequate model parameters. In the second strategy, after determining an initial model the global search algorithms are applied where in comparison to local search algorithms (e.g., simplex method) are more powerful to search a broad space without trapping into local minima. Furthermore, in linear invers problems that the objective/error function is quadratic, the global search algorithms could be used. The majority of global search algorithms are inspired by nature or humans that so-called meta-heuristic algorithms. The meta-heuristic algorithms by some scholars are classified into different classes [8,9,10]; however, meta-heuristic algorithms could be divided into two groups, (1) nature-inspired, and (2) human-inspired algorithms. In the first group, algorithms are inspired by biological or physical phenomena (e.g., genetic algorithm (GA) [11], the particle swarm optimization (PSO) [12], flower pollination (FP) [13], salp optimization (SO) [14], optics inspired optimization (OIO) [15], bat algorithm (BA) [16], artificial bee colony (ABC) [17]), but algorithms in the second group are inspired by human phenomena (e.g., the harmony search (HS) [18], the fireworks algorithm (FA) [19], the teaching learning-based algorithm (TLBA) [20]). In the last years the nature-inspired algorithms, because of their advanced searching mechanisms, are widely used in the inversion of geophysical data [21,22,23,24,25]. One of the new algorithms that has recently been developed is JS algorithm, which is inspired by jellyfish food searching behavior in ocean. The JS algorithm was developed by Chou and Truong [10]. The JS optimization algorithm in different benchmarks was tested where in comparison to other well-known algorithms, showed acceptable performance [26]. The JS algorithm has only two internal parameters to set and shows fast convergence in comparison to many well-known optimization algorithms. Based on the results of sensitivity analysis performed by Chou and Truong [10], the JS algorithm by the proposed values for the internal parameters in the original algorithm almost for all optimization problems can find the reliable solutions. In Table 1, the internal parameters of some meta-heuristic algorithms are shown.

Table 1 The value of internal parameters for some nature-inspired algorithms

In the current study, to the analysis of seismic refraction data, a new JS-based inversion method is proposed. First, the JS-based inversion algorithm was written in MATLAB and then by synthetic models (with and without noise) was tested. Finally, the proposed method to invert a real data set at a dam construction site, for estimating the overburden thickness and modeling the Vp structure was applied. Moreover, to evaluate the efficiency of the proposed inversion technique, the inversion results of the real data set by the JS algorithm were compared with the results of the tomography interpretation method. The remainder of this manuscript is organized as follows: Sect. 2 provides an overview about the JS algorithm, and Sects. 3 and 4 show the performance of the JS algorithm in the inversion of synthetic models and actual dataset, respectively. Moreover, Sect. 5 presents conclusions.

2 Jellyfish search (JS) algorithm

The JS algorithm is inspired by jellyfish food searching behavior in ocean, which was introduced by Chou and Truong [10]. The jellyfish can form a swarm is named jellyfish bloom. Jellyfish foods are small creatures in ocean such as phytoplankton, small fish, and fish eggs.

The searching mechanism of jellyfish for food is controlled by two types of movement: (1) the ocean current, and (2) the search of each jellyfish inside the jellyfish bloom. The ocean current contains a large amount of nutrients; thus, in such conditions, large jellyfish bloom could be formed. At the same time each jellyfish inside the jellyfish bloom search around its location and tries to find a place with the better quantity of food. In fact, the motion of jellyfish based on ocean current and the search of each jellyfish in the jellyfish bloom, respectively, show the global and the local search abilities of the JS algorithm. Usually, in the beginning, a jellyfish bloom is formed by ocean current, but by changing environmental conditions (such as wind or temperature), jellyfish move to another ocean current. In the JS algorithm, the ocean current is calculated using Eq. 1.

$$\overrightarrow{trend}={X}^{\ast}-\beta \times rand\times \overline{X}$$
(1)

where \({X}^{\ast}\) shows the location of a jellyfish with the highest quantity of food (best solution), \(\beta\) is a distribution factor, rand is a random value in [0,1], and \(\overline{X}\) denotes the average food quantity in the jellyfish bloom. The location of each jellyfish is determined by Eq. 2.

$${X}_{i}^{t+1}={X}_{i}^{t}+rand\times \overrightarrow{trend}$$
(2)

In other words, the JS algorithm exploration phase (global search) performs by Eq. 2. In the jellyfish bloom, exploitation phase (local search) performs by two types of movement, (1) passive movement and (2) active movements. In the first type of movement, each JS around its location, and compares the quantity of food in the new locations by its current location and if the quantity of food in a new location is more, the jellyfish will move toward it. In the active movement, each jellyfish (\({X}_{i}\)) compares its location with another one that locates at \({X}_{j}\), and if the quantity of food in \({X}_{j}\) is more than \({X}_{i}\), the jellyfish moves toward the location \({X}_{j}\). Otherwise, it will move away from the jellyfish at \({X}_{j}.\) In the JS algorithm, the passive movement performs by Eq. 3.

$${X}_{i}^{t+1}={X}_{i}^{t}+\gamma \times rand\times ({U}^{b}-{L}^{b})$$
(3)

where \(\gamma\) is the movement factor, \({U}^{b}\) and \({L}^{b}\) indicate the upper and lower bounds of the search space, respectively.

In the JS algorithm, the active movement by each jellyfish performs using Eq. 4.

$${X}_{i}^{t+1}=\left\{\begin{array}{ll}{X}_{i}^{t}+rand\times \left({X}_{j}-{X}_{i}^{t}\right) & \quad if\;{F}_{f}\left({X}_{j}\right)\le {F}_{f}\left({X}_{i}^{t}\right)\\ {X}_{i}^{t}+rand\times \left({X}_{i}^{t}-{X}_{j}\right) & \quad if \;{F}_{f}\left({X}_{j}\right)>{F}_{f}\left({X}_{i}^{t}\right)\end{array}\right.$$
(4)

where \({F}_{f}\) is the fitness function. In the JS algorithm, to balance the exploration and exploitation phases, a time control mechanism (Eq. 5) is proposed. The c(t) is a random value that changes between 0 and 1.

$$c\left(t\right)=\left|\left(1-\frac{t}{{Max}_{iteration}}\right)\times (2\times rand-1)\right|$$
(5)

where in Eq. 5, t denotes current iteration number. When the value of c(t) exceeds 0.5, the jellyfish will perform the global search; otherwise, they will perform the local search. Moreover, to control the passive and active movements, the function (1-c(t)) is used in which when the value of rand exceeds 1 − c(t), the jellyfish have passive movement; otherwise, they have active movement. Based on Eq. 5, by passing the time, c(t) and 1 − c(t) approach one and zero, respectively, it means exploitation ability of the JS algorithm increases over time. The JS algorithm initial population is produced randomly by logistic chaotic map (Eq. 6). The logistic map method enables to generate an initial population with high diversity of models that helps the algorithm to have a fast convergence rate. The pseudo-code of the JS algorithm is represented in algorithm1.

$${X}^{i+1}=r{X}^{i}\left(1-{X}^{i}\right), \left\{\begin{array}{c}{0\le X}^{0}\le 1, \quad r=4.0 \\ {X}^{0}\notin (0.0, 0.25, 0.5, 0.75, 1.0)\end{array}\right.$$
(6)
figure a

3 Synthetic models inversion through the JS algorithm

The travel time of a refracted ray in a layered earth model is a function of thickness and \({V}_{p}\) of layers, as shown in Eq. 7.

$${T}_{n}=\frac{x}{{V}_{n}}+\sum _{i=1}^{n-1}\frac{2{z}_{i}cos{\theta }_{in}}{{V}_{i}}$$
(7)

where \({\theta }_{in}={\text{sin}}^{-1}(V_{i}/V_{n}),x\) denotes the offset from the source, \(V\) is the layer’s \({V}_{p},z\) and n are the thickness of refractor and the number of layers, respectively [1]. For inverting of seismic refraction travel times, Vp and H are considered as variables that the JS algorithm for each model tries to find optimum values for them.

In this research, following steps are performed to invert seismic refraction travel times by the JS algorithm.

  1. (1)

    The initial population of the artificial jellyfish is generated by the chaotic map method, \({X}_{i}\) (\(i={1,2},\ldots ,n\)):

    • Each jellyfish denotes a model in the search space. The \({X}_{i}\) includes the layers’ properties, i.e., H and Vp, which are randomly generated. In this study, the size of jellyfish population and the maximum number of iterations are equal to 40 and 30, respectively.

    • The values of \(\beta\) and \(\gamma\) are 3 and 0.1, respectively (these values are proposed in the original JS algorithm).

  2. (2)

    Finding the \({X}^{\ast}\):

    Root mean square error (RMSE) is used for defining the fitness function as follows:

    $${F}_{f}={\left(\frac{\sum _{j=1}^{{n}_{p}}{({T}^{obs}-{T}^{est})}^{2}}{{n}_{p}}\right)}^{\frac{1}{2}}$$
    (8)

    where\({T}^{obs}\)and \({T}^{est}\) are observed and estimated travel times, respectively. Also, \({n}_{p}\) indicates the number of samples. The algorithm assigns an artificial jellyfish with the lowest \({F}_{f}\) to the \({X}^{\ast}.\)

  1. (3)

    Continue the following process until reaching the maximum number of iterations:

    • calculate time control function, c(t), by Eq. 5.

    • for each model (artificial jellyfish), perform the global or local search.

    • Check the new model and if it is out of the determined ranges, replace it by a new one.

    • Evaluate the new model, if the value of \({F}_{f}\) for the new model is the smallest one, inclusion new model to \({X}^{\ast}.\)

  2. (4)

    Output the final earth layered model/solution (\({X}^{\ast}\))

    The JS algorithm was written in Matlab and then tested by different synthetic data. The synthetic models, by supposing a layout with 115m length and considering a shot and 24 geophones with 5m intervals, were generated (Fig. 1). To each model, the algorithm ran 10 times and then the average of estimated values were adopted as the final solution. Also, related error percentage (RE%) was used to evaluate the accuracy of the algorithm. First, a simple three-layer model (Model A), was inverted (Fig. 2a). To do that, 50% of the true values of the model parameters were used as the search space. Results are shown in Table 2 and Fig. 2. Findings proved the perfect performance of the JS-based inversion algorithm in the modeling of the Vp structure (Fig. 2e). Also, to analyze the efficiency of the applied inversion algorithm, model A with 10% added Gaussian noise was inverted (Fig. 2b), which results showed the capability of the applied inversion algorithm in the presence of noise (Table 2 and Fig. 2f). The characteristics of the fitness function (RMSE) over the inversion of model A without noise and in the presence of noise, respectively, are represented in Fig. 2c and d.

    Fig. 1
    figure 1

    Section of a three-layer model (model A) and the geometry of applied array (S shot, G geophone)

    Table 2 The inversion of model A with and without noise
    Fig. 2
    figure 2

    the inversion of a three-layer model, model A, by the JS algorithm, a arrived times corresponding to model A (the black curve) and the estimated values (the red points), b arrived times corresponding to model A in the presence of 10% noise (the red points) and the estimated values (the black curve), c, d) the RMSE over the inversion of model, respectively, without noise and in the presence of 10% noise, e the modeled Vp profile (the red line) by the inversion of model A (without noise), f the modeled Vp profile (the red line) by the inversion of model A in the presence of 10% noise

To investigate the efficiency of the JS-based inversion algorithm, a model with more layers (model B) was also inverted (Fig. 3) where the results of inversion are represented in Table 3; Fig. 4. As seen, the algorithm adequately estimated the model parameters (Fig. 4e). Moreover, to test the algorithm performance, model B in the presence of 10% noise is inverted, which findings showed the stability of the JS inversion algorithm in the estimation of model parameters (Fig. 4b and f). Moreover, the RMSE curves over the inversion of model B, respectively, without noise and in the presence of noise are represented in Fig. 4c and d.

Fig. 3
figure 3

Section of a six-layer model (model B) and the geometry of applied array (S shot, G geophone)

Table 3 The inversion of model B with and without noise
Fig. 4
figure 4

the inversion of a six-layer model, model B, by the JS algorithm, a arrived times corresponding to model B (the black curve) and the estimated values (the red points), b arrived times corresponding to model B in the presence of 10% noise (the red points) and the estimated values (the black curve), c, d the RMSE over the inversion of the model, respectively, without noise and in the presence of 10% noise, e the modeled Vp profile (the red line) by the inversion of model B (without noise), f the modeled Vp profile (the red line) by the inversion of model B in the presence of 10% noise

4 Case study

In this section, the applicability of the JS-based inversion technique in the interpretation of an actual seismic refraction data to reveal the depth of alluvium was studied. To this purpose, seismic refraction method conducted in the Leylanchay dam site, located in the Malekan County, East-Azerbaijan province, Iran (Fig. 5). The dam site is comprised of three distinct layers, including unsaturated and water-saturated alluviums and dolomite with thin-bedded shale [27]. The alluvial layers, with a maximum thickness of 24 m, contain clay, unconsolidated gravel, silt and sand. In the dam site for the study of bedrock depth, four profile lines for gathering seismic data were designed, which from them, one profile was selected to invert by the JS algorithm. By picking the first arrivals of P-waves, the time–offset curves of the recorded data in the study area were derived (Fig. 6).

To estimate the subsurface velocity model, the observed travel times were used for processing by the JS inversion algorithm. Based on observed time–offset curves, a three-layer model for inversion of observed data is considered. The Vp and H were considered as the model parameters to be estimated through the JS inversion algorithm. The inversion results based on the observed travel times (profiles 1 and 2) are shown in Fig. 7.

Based on results, the thickness of saturated and unsaturated layers, respectively, were estimated about 5.7 m, 16.8 m. In other words, the depth of bedrock was estimated about 22.5 m. Moreover, the Vp for saturated, unsaturated layers and bedrock were estimated about 520 m/s, 1550 m/s, and 3400 m/s, respectively (Fig. 7). To probe further the capability of the applied inversion technique, the results were compared to the derived model by a popular interpretation method, i.e., the tomography interpretation method that has been performed by Rostami and Sharghi [27] (Fig. 8). The tomography results indicate the depth of bedrock is about 21 m and the Vp in the bedrock is about 3600 m/s. The findings proved that the estimated model parameters using the JS inversion algorithm are more consistent with geological and borehole stratigraphic data than tomography method (Fig. 8).

Fig. 5
figure 5

Geological map of the study area [27]

Fig. 6
figure 6

The time–offset curves of the recorded seismic refraction data in the study area

Fig. 7
figure 7

The inversion of real data set by the JS algorithm, a, b the recorded travel times (the black curves) and estimated travel times (the red points) corresponding to profiles 1 and 2, respectively, c, d the RMSE over the inversion of profiles 1 and 2, respectively, e, f the modeled Vp profiles related to observed travel times, i.e., profiles 1 and 2, respectively

Fig. 8
figure 8

Estimated Vp structure in the dam site by the JS inversion algorithm (black line) and tomography interpretation method (red line); also, interface of subsurface layers are represented by dashed lines

5 Conclusion

Seismic refraction is a cost-effective and proper method for investigating shallow subsurface layers. Inversion of travel times has a strong impact on the interpretation of the seismic refraction data. In the current research, an inversion algorithm based upon the JS algorithm for the interpretation of the seismic refraction data is presented. The JS algorithm in comparison with many nature-inspired algorithms has least internal parameter (\(\beta\) and \(\gamma\) ) to adjust. Noteworthy, the proposed values for them in the original algorithm (\(\beta=3\) and \(\gamma=0.1\)) almost for all optimization problems are reliable. Therefore, the application of JS algorithm in the inversion task is easy and fast. The introduced inversion approach was first tested on different synthetic layered models, with and without noise. The findings show the acceptable performance of the proposed algorithm in the inversion of the synthetic models, even in the presence of noise. Then, for determining the depth of bedrock (estimating the overburden thickness) in a real dam construction site, the seismic refraction method was conducted and for interpretation of the data jellyfish algorithm was applied. By the inversion of seismic refraction data, three distinct seismic layers were recognized that the third layer, i.e., bedrock, with the Vp of 3400 m/s located at a depth of 22.5 m. The estimated bedrock depth was in consistent with the geotechnical and geological studies in the dam site. Based on stratigraphic borehole data, saturated and unsaturated layers are laid on a dolomitic bedrock at a depth of 24 m. To explore more the efficiency of the JS algorithm in the inversion of the actual dataset, the results of the current study were compared with the results of a popular interpretation method, i.e., the tomography method. The results show the JS-based inversion algorithm outperforms than tomography method in estimating 1D velocity model. The JS inversion algorithm in the inversion of seismic refraction data is fast and no needs to set internal parameters. Also, the algorithm is capable of searching a broad space to find the adequate values for model parameters with minimum effort and time. The proposed inversion technique in the current study for building 1D velocity model from the field data that had smooth time–offset curves, was robust; however, in complicated geological conditions that the observed time–offset curves aren’t smooth, determining the initial model or adjusting a proper search space for the algorithm seems to be a challenging issue. In such situations, appropriate priori information, e.g., bore-hole data or detailed geological information, can help analyst to set proper search spaces for the algorithm. Nevertheless, almost all inversion techniques in the presence of complicated subsurface structures face with challenge, which more surveys are needed to cope this problem in the inversion algorithms.