1 Introduction

Metaheuristic optimization algorithms have acquired more interest from a lot of researchers globally. These algorithms are inspired by biological phenomena or natural phenomena. For example, focused spiral phenomena are approximated to logarithmic spirals which frequently appear in nature, such as whirling current, a low pressure, a nautilus shell, arms of spiral galaxies and so on [1].

This paper proposed a new variant of Bat Algorithm (BA) [2] that uses the search method from Spiral Dynamic Algorithm (SDA) [1, 3]. Motivation of these algorithms came from the searching method of most metaheuristic algorithms such as Bat Algorithm (BA) and Particle Swarm Optimization (PSO) which are spreading the particles randomly in search space. It is expected that by adding the spiral searching technique, it makes the algorithm becomes more accurate and efficient.

Hybridization is a popular approach used in metaheuristic to magnify ability of optimization algorithms [4]. It may lead to better performance with simple and better structure. Besides, with the fast changing of computing tools and efficient in current technology, hybrid approaches have become increasingly popular to explore. In literature, there are two major hybrid algorithm with Bat Algorithm (BA) which are BA with different evolution strategies [5], BA with Mutation [6] and BA with Harmony Search [7]. The original BA using Differential Evolutions (DE) strategies known as Hybrid Bat Algorithm (HBA) is explained in [5]. HBA is added by using DE strategy from the original BA to improve the original BA. In [7], the improvement of the algorithm is about inclusion of pitch adjustment operation in Harmony Search (HS) to increase the speed of convergence time. HS serve as a mutation operator making the approach more practical for a broader scope of real-world applications. Based on literature, in [4], the paper presented a new hybrid algorithm called Hybrid Spiral Dynamics Bacterial Chemotaxis (HSDBC) algorithm based on SDA and Bacterial Foraging Algorithm (BFA). The hybrid is done due to the reason that the original BFA has higher convergence speed and SDA has better accuracy.

Azmi et al. in [8] has applied the natural selection as the searching algorithm in BA. This natural searching algorithm is inspired by the Genetic Algorithm (GA). Six different natural selections are investigated, which are global-best, tournament, proportional, linear rank, exponential rank and random. The results suggest that there are positive effects of the selection mechanisms on the performance of the classical bat-inspired algorithm.

The enhancement of local and global search characteristic in BA has been enhanced with three different methods in [9]. The three different methods are inertia weight modification (IS1), distribution of the population modification (IS2) and hybridization with invasive weed optimization (IS3). The proposed methods are claimed to be more effective than the original BA.

Xie et al. in [10] proposed a method to overcome the slow convergence rate and low accuracy of bat algorithm. Differential operator and Levy flights trajectory are used to modify the original bat algorithm. Differential operator is introduced to accelerate the convergence speed of proposed algorithm, which is similar to mutation strategy “DE/best/2” in differential algorithm. Lévy flights trajectory can ensure the diversity of the population against premature convergence and make the algorithm effectively jump out of local minima. The simulation results not only show that the proposed algorithm is feasible and effective, but also demonstrate that the proposed algorithm has superior approximation capabilities in high-dimensional space.

In this paper, combination of BA and spiral searching method is performed intensively. Even though this algorithm is extended from original BA, but how both algorithms, BA and SDA combine is like a hybrid process.

2 Methodology

Bat Algorithm (BA) is developed by Xin-She Yang and explained in detail in [11]. The theory of the algorithm is based on the echolocation behavior of bats. Such echolocation behavior of microbats is formulated in such a way that it can be associated with the objective function to be optimized.

The Spiral Dynamic Algorithm (SDA) is developed by Tamura et al. in [12]. SDA is known as fast computing algorithm according to its simplicity in the structure and it has stable convergence response when approaching the optimum point in the search space.

Figure 1 shows flowchart of Extended Bat Algorithm (EBA). EBA consists of original BA algorithm and searching technique by SDA. The dotted rectangle in Fig. 1 represents the searching technique by SDA. The combination of both algorithms is expected to perform very well together and could improve the performance of the original BA. The only part taken from SDA is for updating the x value, and the remaining algorithm is from BA. How this SDA part improves the EBA will be further discussed.

Fig. 1
figure 1

Flowchart of extended bat algorithm

In simulations, firstly, frequency, f, positions, x and velocities, v are defined in a search area. The updated x and v are updated at time, t as below.

$$f_{i} = f_{{\min} } + \left( {f_{{\max} } - f_{{\min} } } \right)\beta$$
(1)
$$v_{i} = v_{i} + \left( {x_{i} - x_{ * } } \right)f$$
(2)
$$solution = x_{i}^{k + 1} + v_{i}$$
(3)

where \(\beta \in [0,1]\) is a random vector between 0 to 1 only. Here \(x_{ * }\) is the current global best value after comparing all the solutions among all the bats.

Before the result is updated by using Eq. (3), the searching method of BA is changed from random to spiral searching technique by using Eq. (4). This is the important part which changes the searching technique from random method to spiral method. The equation is taken from spiral equation SDA.

$$x_{i}^{k + 1} = A_{{spiral_{i} }} x_{i}^{k} - \left( {A_{{spiral_{i} }} - I_{d} } \right)x^{ * }$$
(4)

where Id is the identity matrix according to the number of problems assigned. This equation will make sure that all bats assigned will follow the spiral path according to the radius and angle rotation values given by the user as shows in Table 1. Equation (5) represents the rotation matrix in n-dimensional space.

Table 1 Parameters used in simulation for EBA
$$R_{i,j}^{(n)} \left( {\theta_{i,j} } \right) = \left[ {\begin{array}{*{20}c} 1 & {} & {} & i & {} & {} & {} & j & {} & {} & {} \\ {} & 0 & {} & {} & {} & {} & {} & {} & {} & {} & {} \\ {} & {} & 1 & {} & {} & {} & {} & {} & {} & {} & {} \\ i & {} & {} & {\cos \theta_{i.j} } & {} & {} & {} & {} & {} & {} & {} \\ {} & {} & {} & {} & 1 & {} & {} & {} & {} & {} & {} \\ {} & {} & {} & {} & {} & 0 & {} & {} & {} & {} & {} \\ {} & {} & {} & {} & {} & {} & 1 & {} & {} & {} & {} \\ j & {} & {} & {} & {} & {} & {} & {\cos \theta_{i.j} } & {} & {} & {} \\ {} & {} & {} & {} & {} & {} & {} & {} & 1 & {} & {} \\ {} & {} & {} & {} & {} & {} & {} & {} & {} & 0 & {} \\ {} & {} & {} & {} & {} & {} & {} & {} & {} & {} & 1 \\ \end{array} } \right]$$
(5)

whose blank elements mean 0. R and θ values are taken from Table 1. n is dimensional space assigned. i and j values are the numbers between 1 to n.

Then, x* is the common center as a best value obtained in the spiral exploration process by using Eq. (6). It will be updated for every iteration like previous equation.

$$x^{ * } = x_{ig}^{k + 1}$$
(6)
$$i_{g} = \arg \mathop {\hbox{min} }\limits_{i} f\left( {x_{i}^{k + 1} } \right)$$
(7)

where \(\arg \mathop {\hbox{min} }\limits_{i} f\left( {x_{i}^{k + 1} } \right)\) is the bat position of the minimum (best) fitness value obtained from the current iteration.

After that, for the exploration part, a new solution for each bat is generated locally using random walk after been selected among the current best solutions Eq. (8).

$$x_{new} = x_{old} + \varepsilon A^{t}$$
(8)

where \(\varepsilon \in \left[ { - 1,1} \right]\) is a random number between −1 and 1, while \(A^{t} = \left\langle {A_{i}^{t} } \right\rangle\) is the mean loudness of all bats at every time step.

The final step of BA that should be considered in EBA implementation is the loudness and pulse emission that are also updated correspondingly as the iterations increased. As the loudness normally lessen once a bat has found its prey, the rate of pulse emission increases, the loudness can be chosen as any appropriate value.

$$A_{i}^{ t |1} = \alpha A_{i}^{t} ,r_{i}^{ t |1} = r_{i}^{0} \left[ {1 - \exp ( - \gamma t)} \right]$$
(9)

where \(\alpha\) and \(\gamma\) are constants. For any \(0 < \alpha < 1\) and \(\gamma > 0\),

$$A_{i}^{t} \to 0,r_{i}^{t} \to r_{i}^{0} ,t \to \infty$$
(10)

Lastly, the algorithm will continue the searching until meet the termination condition and in this case, until the maximum iteration achieved.

3 Result and Discussion

In this study, Extended Bat Algorithm (EBA) will be compared with Particle Swarm Optimization (PSO) algorithm and also original BA to evaluate its performance. Table 1 shows three different values of r and θ values that had been applied in EBA.

There are three different objective functions that have been used for the comparison, which are Ackley, Hyperellipsoid and Rosenbrock functions. Table 2 shows simulation results of the proposed methods, original PSO and BA after 300 iterations. PSO used in this study is the original PSO with randomness. The asterisks (*) in Table 2 marks the best values obtained for each case.

Table 2 Results of Numerical Experiment

These results extensively show that the proposed method has best searching performance compared to BA and PSO. Mainly, EBA#3 gives the highest performance. It is shown by the lowest fitness value obtained compared to another four algorithms. In our case study, the objective is to find the minimum value of each function. BA, PSO, EBA#1 and EBA#2 outputs are in the moderate performances.

The convergence graph for each function is shown in Figs. 2, 3 and 4. In Fig. 2, convergence curve for Hyperellipsoid function, it is seen that the proposed algorithm EBA#1, EBA#2 and EBA#3 have the best fitness value compared to BA and PSO. The exploration phase in EBA is until around iteration 40. Meanwhile, the exploration phase of PSO is still running until the end of maximum iteration.

Fig. 2
figure 2

Convergence curve for hyperellipsoid function

Fig. 3
figure 3

Convergence curve of Ackley Function

Fig. 4
figure 4

Convergence curve of Rosenbrock Function

Figure 3 shows the convergence curve of Ackley function. It is shown that the exploration and exploitation phases among BA, PSO and 3 different EBA have the same movement. However, EBA has the best fitness value compared to PSO and original BA.

Figure 4 shows the result of convergence curve for Rosenbrock function. From the graph, it is clearly seen that the exploration phase of PSO is longer than EBA and BA. However, EBA#3 has the best fitness values among all algorithms for Rosenbrock function.

4 Conclusion

As conclusion, this paper proposed a new searching technique to improve the performance of Bat Algorithm (BA). Extended Bat Algorithm (EBA) introduces spiral searching method instead of particles spreading randomly for standard BA. For some benchmark problems, EBA gives the good numerical performance compared to PSO. The potential of the proposed method was confirmed from simulation results.