1 Introduction

In the last few decade, real-life problems are solved through optimization techniques. The real-life problems are complex in nature and have a large number of constraints. Due to complex nature, classical techniques such as Lagrange’s multiplier and integer programming are unable to provide the optimal solutions. The main drawbacks of classical techniques are trapped in local optima and unable to provide a good quality solution [1]. To tackle these problems, metaheuristic algorithms (MHAs) are developed in the recent years. MHAs attain the optimal solutions for complex problems. MHAs have robustness, flexibility, computational efficient, and evade the entrapment of local optima [2, 3]. Due to these features, researchers have got attention towards MHAs.

According to number of solutions generated, MHAs are broadly categorized into two main classes namely single-solution and population-based MHAs (see Fig. 1) [4]. The single-solution MHAs (SSMHAs) generate a candidate solution, which is modified through iterative process. The well-known SSMHAs are tabu search (TS), simulated annealing (SA), and macro-canonical annealing (MA). The slow convergence rate, sensitive towards the initial control parameters, and limited computing power/resources required are the main features of SSMHAs [5]. Population-based MHAs (PMHAs) generate a set of solutions, which are modified through the improvisation process. Unlike SSMHAs, PMHAs are more focus towards the global exploration [6]. The main features of PMHAs are fast converge rate and more computer power/resources required [7]. Due to these features, PMHAs are widely used in real-life scenario.

Fig. 1
figure 1

Classification of metaheuristic algorithms

PMHAs are further classified into three general categories namely physics-inspired, evolutionary-inspired, and swarm-inspired algorithms. In physics-inspired algorithms, the positions of search agents are modified through the phenomenon and rules of physics. These algorithms use the concepts of electromagnetism, electrostatics, demagnetization, and newton and gravitational rules [8]. The well-known physics-inspired algorithms are gravitational search algorithm (GSA), electromagnetic field optimization (EMPO), and ray optimization (RO). The evolutionary algorithms are inspired from the biological evolution such as mutation, selection, and reproduction [9]. The well-known evolutionary algorithms are genetic algorithm (GA), evolutionary strategy (ES), differential evolution (DE), and genetic programming (GP). The third category is swarm-inspired PMHA.

In swarm-inspired algorithms, the algorithms are designed by studying the behavior of different living insects such as ants, bats, fishes, etc. [10]. The self-organization and decentralized control are two special features, which are used by swarm-inspired algorithms. These features are responsible for an emergent behavior. Emergent behavior is a collective property that depends on relationships among one another and cannot be predicted by observing the individual parts. The well-known swarm-inspired algorithms are ant colony optimization (ACO) [11], particle swarm optimization (PSO) [12], firefly algorithm (FA) [13], artificial bee colony (ABC) [14], and harmony search algorithm (HSA) [15]. The main focus of these algorithms is to maintain the balance between exploration and exploitation. The exploration is responsible to explore the whole search space. While, the exploitation is responsible to exploit the most promising area. Recently, many algorithms are developed based on nature of insects, animals, and birds to achieve the balance between these factors.

Yang [26] developed a swarm-inspired metaheuristic algorithm, named as bat algorithm (BA). BA mimics the echolocation behavior of bats. BA is simple, ease to implement, and understandable. Due to the unique feature of echolocation, researchers from different domains are attracted towards BA. BA has been widely used in data mining, mechanical engineering, civil engineering, cloud computing, patter recognition, and medical mining. Hence, there is a need to study the new evolving areas of modifications in the structure of BA and its applications. The following factors are responsible to motivate us for conducting the review on BA.

  • BA has been successfully applied in various real-life engineering problems. Henceforth, the authors were motivated to study this algorithms.

  • It is observed that review paper provides in-depth knowledge of particular topic and save the time of scientists/researchers to get the insight information of a specific topic.

  • The existing review papers did not consider the recent advancement in variants and applications.

This paper covers the various variants and applications of BA, which are not discussed in the existing review papers. The main aim of this paper is to present a systematic review of BA and motivate the young scientists to use BA in their research problems. This paper recapitulates BA in four-ply. These are:

  1. 1.

    Structure of BA that consists of various control parameters of BA.

  2. 2.

    Modifications in the structure of BA that involve improvements and hybridization with the existing metaheuristic algorithms.

  3. 3.

    Applicability of BA that consists of mechanical engineering, cloud computing, medical imaging, networking, and industrial engineering.

  4. 4.

    Future research directions of BA that comprehends the utilization of hyper-heuristics, adaptive mechanism, and multi-population.

The remaining structure of this paper is as follows. Section 2 presents the research methodology used in this study. Section 3 discusses the working of classical bat algorithm. The various modifications in BA are presented in Sect. 4. Section 5 presents the several application domains of BA. The possible research directions are mentioned in Sect. 6. The concluding remarks are drawn in Sect. 7.

2 Research Methodology

This section presents the related studies towards BA followed by the assortment of research articles used in this study.

2.1 Related Studies

Yang and He [16] presented an overview of BA. They identified the variants of BA, applications, and challenges associated with BA. Chawla and Duhan [17] focused on reviewing the applications and variants of BA. However, the future research directions were not discussed in their study. Kongkaew [18] presented the applications of BA in discrete domain. However, the comparative analysis of different applications was done. The variants of BA were not investigated in their study. Zebari et al. [19] discussed the variants and applications of BA. However, the detail investigation of variants and applications was not mentioned.

Gagnon et al. [20] analyzed the performance of BA on well-known test functions. It is found from their study that BA suffers from plateaus. Umar and Rashid [21] focused on reviewing the advancements of BA for different application domains. The provided the comparative analysis of fifteen applications and twenty variants of BA. Kaur and Kumar [22] discussed the mathematical formulation of twenty-eight variants of BA. They focused on nine different applications of BA. The challenges and future research directions were not investigated in their study.

The advancement in BA has been done to resolve the real-life problems. Hence, there is a need to conduct a survey of new research articles that covers the modification in structure of BA and applications of BA. This study covers more than ninety variants of BA and more than hundred applications.

2.2 Review Methodology

The PRISMA [23,24,25] guidelines are used to conduct the review of bat algorithm (BA). Web of Science, Google Scholar, and PubMed databases have been used for the selecting the research articles related to BA. Beside this, the manual search has also been conducted. The search string such as "Bat algorithm", "((Bat Search) AND (application))”, “Improved BA”, “((Variant) AND (BA))”, “((Hybrid) AND (BA))” and “((Applications) AND (BAT))” were used to search the relevant publications. The advancements in structure of BA were also selected. 19,750 research papers were selected in identification phase. Figure 2 depicts the search string used for collecting the research papers.

Fig. 2
figure 2

Search query used for searching the research papers

During the screening phase, all the unrelated, inappropriate, and duplicate research papers were removed. Thereafter, 684 research papers were left. 213 research papers were eliminated after reading the title, abstract, and introduction. The remaining 471 research papers were investigated through removal criteria and 341 papers were removed. Thereafter, 130 research papers were sent to eligibility phase. In this phase, 100 research papers were excluded after reading full papers. Finally, 30 research papers were selected to conduct the systematic review of BA in included phase of PRISMA. Table 1 presents the criteria for selecting and rejecting the research papers. Figure 3 shows the different phases of PRISMA for this study.

Table 1 Selection and removal criteria for included papers
Fig. 3
figure 3

PRISMA methodology used for selection of research papers

3 Classical Bat Algorithm

This section presents the inspiration behind bat algorithm followed by detail description of classical bat algorithm.

3.1 Inspiration

Bats have an ability to fly in the complete darkness and attack on the prey. The echolocation property of bats help them to do these tasks. They emit a loud pulse and then wait for the echo reflected from the prey [26]. Their pulse frequency and hunting strategies vary with species of bats. Their loudness varies between searching and approaching the prey. For echolocation, short frequency modulated signals are used by most bats, while some other bats use constant-frequency signals. The pulses emitted by bats are lies in the frequency range of 25 kHz to 150 kHz. These pulses can last for 8 to 10 ms [27]. The microbat emits 10 to 20 sounds per second and a maximum of up to 200 sounds per second while searching for prey. The sound produced from microbats is not detected by human ear. However, these can be easily detect through some specific devices [28].

Bats have a distinct acoustic system to differentiate background noise and audible signal. Some bats are very good predators. They usually monitor the surroundings and waiting for their prey. If the signal received without any distribution, then it indicates no prey in this region. Otherwise, prey is present in the specified region and detected through vibration in echolocation frequency.

Algorithm

Bat algorithm (BA) is a widely used population-based metaheuristic algorithm that inspired from the echolocation behaviour of microbats with fluctuating pulse rates of emission and loudness [27]. The echolocation characteristics of microbats play a vital role in the development of BA. The echolocation property is used to navigate in complete darkness and identify the prey. Yang [26] developed a bat algorithm (BA), which is based on the properties of bats. These are [26]:

  • With the help of echolocation, the bat can sense the distance of obstacle and differentiate the prey from the obstacle/background.

  • Bats fly randomly with velocity \(z_{i}\) at position \(p_{i}\) with a frequency \(f_{min}\), varying wavelength λ and loudness \(A_{0}\) to search for prey. Depending on the location of their target, the rate of pulse emission and the wavelength of the pulse can vary.

  • Loudness varies from \(A_{0}\) (large positive value) to \(A_{min}\) (minimum constant value).

The above-mentioned rules are used to compute the velocity \((z_{i}^{t} )\) and position \((p_{i}^{t} )\) of bats. The mathematical formulations for \(z_{i}^{t}\) and \(p_{i}^{t}\) are given below [26, 29]:

$$f_{i} = f_{\min } + \left( {f_{\max } - f_{\min } } \right) \times \beta$$
(1)
$$z_{i}^{t} = z_{i}^{t - 1} + \left( {p_{i}^{t} - p_{*} } \right) \times f_{i}$$
(2)
$$p_{i}^{t} = p_{i}^{t - 1} + z_{i}^{t}$$
(3)

where β lies in the range of [0,1]. It is a random vector drawn from a uniform distribution and \(p_{*}\) is the best solution among bats. Randomly, a frequency is assigned to the bat that varies from \(f_{min}\) to \(f_{max}\). Loudness \((A_{i} )\) and rate of pulse emission \((R_{i} )\) are used to control the mechanism of exploration and exploitation. The rate of emission and loudness decrease when the bat approaches the prey or has captured it. Loudness varies between \(A_{min}\) and \(A_{max}\). Here, the value of \(A_{min}\) is zero signifies the bat has captured the prey and stopped the emitting sound. Loudness \((A_{i} )\) can be computed as [26]:

$$A_{i}^{t + 1} = \alpha A_{i}^{t}$$
(4)

Rate of pulse emission \((R_{i} )\) can be computed as [26]:

$$R_{i}^{t + 1} = R_{i}^{0} \left[ {1 - \exp \left( { - \gamma t} \right)} \right]$$
(5)

Here, α \(\in\) [0,1] and γ > 0 are constant parameters.

Algorithm 1 depicts the pseudo code of BA [26,27,28,29]. The general steps of BA are given below:

Step 1. Initialize the population of bats and control parameters such as \(p_{i}\), \(z_{i}\), \(R_{i}\) and \(A_{i}\).

Step 2. Evaluate the fitness value of individuals and store the best position of bat.

Step 3. Generate new solutions by adjusting the frequency of bats.

Step 4. Update the velocity and position of bats.

Step 5. If a random number is greater than \(R_{i}\), then select a bat among the current best available bats and perform local search operation around the selected bat.

Step 6. Generate a solution through random fly of bat.

Step 7. If a random number is less than \(A_{i}\) and fitness is greater than best solution, then randomly generated solution is accepted.

Step 8. Update loudness and pulse emission rate.

Step 9. Rank the bats and determine the position of best bat.

Step 10. Repeat Steps 3-9 until termination criteria is not satisfied.

figure a

4 Variants of BA

In the recent years, researchers have been attracted towards BA to resolve the real-life problems in various domains. Due to this, researchers tried to modify the structure of BA to enhance its performance. The modifications have been done in three foremost facets. First, the performance of BA is enhanced through modification in control parameters. Second, the components of BA are hybridized with other optimization algorithms. Third, the structure of BA was modified according to problem type and search space. Based on the above-mentioned facets, the variants of BA are classified into six categories namely, improved, hybrid, binary, chaotic, Levy flight-based, and multi-objective BAs (see Fig. 4).

Fig. 4
figure 4

Variants of BA

4.1 Improved BA

To improve the performance of BA, Jun et al. [30] proposed four modifications in BA. These modifications were performed in movement of bats, pulse rate, loudness, and local search mechanism. The proposed BA was known as directional BA (DBA). DBA was evaluated on benchmark problems and superior to the existing algorithms. Chen et al. [31] proposed a guided BA (GBA) by incorporating the Doppler Effect in BA. The Doppler Effect was responsible for frequency shift of bats. Due to this, bats were able to move towards the recent best bat. The search process were also used to determine the better position nearby the recent best bat. However, GBA did not utilize the self-adaptive strategy for echoes produced by Doppler effect. To resolve this problem, Meng et al. [32] introduced a self-adaptive strategy in new bat algorithm (NBA). The habitat selection was added in NBA. NBA provided better results than GBA. However, it suffers from parameter tuning problem. Wang et al. [33] presented an adaptive BA (ABA) that dynamically adjust the bat’s speed and direction. The inertia weight was incorporated in ABA to update the position of bats. On the similar concept of ABA, Wang et al. [34] developed a new algorithm that integrated BA and recollection mechanism and known as RBA. The time varying inertia weight was also added in RBA to update the position of bats.

Li and Zhou [35] devised a complex-value BA (CVBA) that uses the complex-value encoding scheme. The real and imaginary parts were used to encode the variable and updated in parallel fashion. The angles and modules of complex variable was used to design the fitness function. DE strategy was used to enhance the search ability of CVBA. CVBA outperformed the other variants of BA in terms of diversity. Dao et al. [36] presented a compact version of BA (CoBA). In CoBA, the population bat was replaced with probability vector. CoBA performed better than BA in terms of resource usage. To enhance the performance of BA, Ramli et al. [37] proposed modifications in dimension and inertia weight. The modified BA (MBA) was evaluated on ten benchmark test functions. MBA has better exploration rate than BA. Fister et al. [38] introduced a quaternion representation of bats and used in BA. The modified algorithm was known as quaternion BA (QBA). They used span function for mapping quaternion into real representation. QBA was superior to BA for high-dimensional problems. Yilmaz et al. [39] proposed a modified BA (MoBA) that utilizes the update strategies for both pulse rate and loudness. A local search mechanism was also incorporated in MoBA. MoBA provided better performance than BA. However, it was unable to provide optimal solution in high dimensional problems.

Alam and Kabir [40] developed a BA that utilizes the concept of self-adaptive mutation (BA-SM). Gaussian and Cauchy mutation schemes were used in BA-SM. The probability function was used to select one mutation scheme among them. The performance of BA-SM was better than BA. Yilmaz and Kucuksille [41] suggested modifications in BA (IBA) to enhance the performance of BA. The inertia weight factor was used to update the positions of bats. The frequency was also modified. IBA was superior to BA in terms of fitness values. Jamil et al. [42] developed an extended version of BA (ExBA) that utilized the concept of levy flights. The variations in pulse rate and loudness were also done. ExBA was evaluated on 70 test functions and attained superior performance over the existing algorithms. Yilmaz and Kucuksille [43] devised three modifications in BA and known as an enhanced BA (EBA). Inertia weight factor was used to avoid the premature convergence. The modification in velocity was done to control the dispersion of solutions. The concept of IWO was used to improve the exploitation ability of BA. EBA was more efficient than BA. Tsai et al. [44] devised an evolved BA (EvBA). EvBA modified the movements of bats. The sound speed was used to compute updated movements and distances of Bas. EvBA attained 99.42% accuracy and reduced the computational time by 6.07%

Cai et al. [45] proposed an improved BA (ImBA) based on disturbance and forage strategies. The forage strategy was used to monitor the search direction of bats. The exploration capability of BA was enhanced through disturbance strategy. Zhu et al. [46] developed a quantum-based BA (QMBA) to enhance the convergence speed. QMBA utilized the statistical information of bats to produce the good quality solutions. QMBA was superior to BA and IBA in terms of accuracy and exploration capability. Rekaby [47] developed a directed artificial BA (DABA). The frequency of waves is increased if bat found a prey. Otherwise, it is decreased. DABA attained approximately 10% improvement in performance as compared to BA and ABC algorithms. Kabir et al. [48] proposed a novel ABA (NABA) using Gaussian distribution and Rechenberg’s mutation rule. Gaussian distribution was used to adjust the mutation size. Rechenberg’s mutation rule was used to maintain balance between intensification and diversification. NABA performed better than BA. Topal and Altun [49] developed a dynamic virtual BA (DVBA). DVBA used two types of bats namely explorer and exploiter bats. DVBA was superior to the existing algorithms in terms of accuracy and reliability. Cai et al. [50] proposed a BA with Gaussian walk (BAGW) that utilized the local turbulence. The frequency and velocity were also modified to maintain the balance between exploration and exploitation. BAGW outperformed the existing variants of BA.

Zhou et al. [51] developed a cloud model BA (CMBA). In CMBA, pulse rate and loudness were modified. CMBA is superior to the existing algorithms. Cai et al. [52] devised a modified BA based on triangle-flapping strategy (BATF). These strategies were used to modify the velocity of bats. Al-Betar and Awadallah [53] proposed an island-based BA (iBA) to enhance the diversity. The population was decomposed into islands of bats. The best–worst migration rate was used to migrate the population from one island to other. iBA was evaluated on benchmark test problems and obtained better results than the other algorithms. Gan et al. [54] devised a new BA based on local search and inertia weight (ILWBA). The iterative local search was used to avoid the premature convergence. The inertia weight was used to modify the velocity of bats. The pulse rate and loudness were modified to maintain balance between exploration and exploitation. ILWBA provided better results than BA and DBA. Nawi et al. [55] introduced a Gaussian distribution in BA (BAGD) to generate the short step length. BAGD was tested on benchmark test functions and attained better performance than BA in terms of fitness value. Shan and Cheng [56] proposed an improved BA based on the covariance adaptive evolution (CMABA). This evolution was used to enhance the diversity of bats. CMABA outperformed the existing algorithms on benchmark test functions.

Kiełkowicz and Grela [57] presented two modifications in velocity update and new solution acceptance of BA (BA-VS). BA-VS was superior to the other algorithms. Yahya and Tokhi [58] presented a MABSA, which is based on the echolocation of bats. A bounce back strategy was used to eliminate the boundary exceeding problem. MABSA provided better accuracy and convergence rate than the other competitive algorithms. Jaddi et al. [59] developed a modified BA based on the structure and weights of artificial neural networks. This approach was known as BANN. Chaotic functions were also added in BANN. BANN performed better performance than BA and ANN. Ghanem and Jantan [60] utilized a special mutation operator in BA (EBat) to evade the premature convergence. EBat outperformed the BA in terms of fitness value. Banati and Chaudhary [61] developed a multimodal variant of BA with improved search (MMBAIS). In MMBAIS, population of bats was decomposed into non-overlapping subpopulations. The movement of bats in these sub-populations towards the best local neighbor bat. The step size was used to update the position of bats precisely. MMBAIS attained 100% success rate for most of the benchmark functions. To improve the performance of MMBAIS, Chaudhary and Banati [62] introduced the weighted version of MMBAIS (wMMBAIS). The weighted difference between energy gain and spent was computed to select the prey. The proposed approach attainted significant improvement in performance.

Chaudhary and Banati [63] developed a swarm BA with improved search (SBAIS) algorithm. In SBAIS, the best bats were placed in one group. The other bats were placed in different groups according to their fitness value. SBAIS monitored the diversity of bats. If diversity was reduced to specified threshold value, then the random solutions were added in the bat’s population. SBAIS was superior to the existing variants of BA. BA was combined with shuffled frog lapping algorithm (ShBA) to improve the performance of BA. Banati and Chaudhary [64] proposed an extension of ShBA (EShBA) to enhance their diversification capability. In EShBA, the best bats were selected to form a new group. The new formed group was used to intensify the best solutions. EShBA was superior to ShBA and BA. Jaddi et al. [65] developed a novel BA that utilized the Ring Master–Slave strategy and known as BARM-S. BARM-S decomposed the population into sub-populations (SPs) and evolved each sub-population independently. In master–slave strategy, the best solutions from SPs were sent to master SP. BARM-S outperformed the BA in terms of fitness value. Chaudhary and Banati [66] proposed a shuffled multi-population BA (SMPBA). The cooperation and shuffling strategies were utilized to preserve the information gain. The convergence rate of SMPBA was better than BARM-S and EShBA. Al-Betar et al. [67] investigated six different selection mechanisms to choose the best position of bat. Based upon these selection techniques, six variants of BA were developed and named as tournament BA (TBA), proportional BA (PBA), random BA (RnBA), exponential rank BA (ErBA), linear rank BA (LrBA), and global-best BA (GbBA). TBA was able to generate the better results than the other variants of BA on the most of benchmark functions.

Cai et al. [68] designed two variants of BA named as BA-PCA and BA-LBA, which are based upon the principal component analysis. The golden selection method was used to determine both correlation and generation thresholds. BA-PCA and BA-LBA performed better than BA. Wang et al. [69] suggested eight different strategies to improve the performance of BA and known as MixBA. These strategies were used to modify the velocity, position and frequency of bats. Junaid et al. [70] proposed a modified BA (BASobol) based on Sobol sequence. The Sobol distribution was used to initialize bat’s population. The inertia factor was added to modify the velocity of bats. BASobol was superior to BA. Huang and Ma [71] developed an integration strategy-based BA (IsBA) In IsBA, Gaussian functions having different variances were used to evade the local optima problem. IsBA was tested over benchmark test functions and attained superior performance to the other algorithms. The torus walk was used to develop the new variant of BA (TW-BA) [72]. The local and global search strategies were used to develop new variant of BA (LGCBA) [73]. Alsalibi et al. [74] developed a novel variant of BA (DMBA), which was based on the dynamic structure of membrane. DMBA maintained the population diversity of bats. DMBA has less computational time as compared to BA. Mashwani et al. [75] proposed a modified version of BA (M-BA) that utilized the position updating mechanism.

4.2 Binary BA

Mirjalili et al. [76] developed a binary variant of BA (BBA). In BBA, the velocity and position of bats are modified. They used V-shaped transfer function to map the continuous search space into binary search space. BBA was able to produce best solutions for both unimodal and multimodal test functions. BBA produced an optimal design of optical buffer. Rizk-Allah and Hassanien [77] presented a novel BBA (NBBA) to solve the knapsack problems. They used two stage search strategy. In the first phase, BBA was to find the best solutions. Thereafter, local search mechanism was used to avoid the solutions are being stuck in local optima. NBBA performed better than BBA. Sabba and Chikhi [78] developed a discrete BBA (BinBBA) to solve the multidimensional knapsack problems. They used sigmoidal function for mapping the continuous search space into binary space. BinBBA was superior to the other binary metaheuristics. Ma and Wang [79] investigated the influence of control parameters on convergence speed, global search ability, and precision of BBA.

Dahi et al. [80] used five different mapping functions to design the five variants of BBA. These are nearest integer-based BBA (NI-BBA), sigmoid function-based BBA (SF-BBA), Great value priority-based BBA (GVP-BBA), Angle modulation-based BBA (AM-BBA), and normalization-based BBA (N-BBA). Results revealed that NI-BBA and SF-BBA performed better than the other variants of BBA. Tawhid and Dsouza [81] developed a hybrid binary version of BA and PSO (HBBEPSO) to handle the feature selection problems. BA was used to explore the search space. PSO was used for exploitation. HBBEPSO was able to extract the optimal features for UCI machine learning datasets. Meraihi et al. [82] devised an improved chaotic BBA (ICBBA). The logistic and tent maps were used to figure out the frequency of bats. They used dynamic formulation to modify the loudness. ICBBA was able to provide optimal solution for QoS multicast routing problem. Huang et al. [83] developed a improved version of BBA (IBBA), which was based on neighborhood search. They used inertia weight factor to update positions of bats. Ravindra and Rao [84] presented an upgraded BBA (UBBA) for solving power grid network problem.

4.3 Chaotic BA

Jordehi [85] presented a novel variant of BA (CBA), which is based on chaotic map functions. They used eleven different chaotic maps. The loudness of bats was modified. CBA was able to eliminate the premature convergence. Lin et al. [86] proposed a chaotic levy flight BA (CLFBA) based on the concepts of levy flights and chaotic dynamics. CLFBA is an efficient algorithm to determine the optimal solution. Gandomi and Yang [87] proposed a chaos-based BA (CsBA). They used different chaotic maps to replace the control parameters of BA. Four different CsBAs were developed by modifying the frequency, pulse rate, loudness and position of bats. Thirteen different chaotic maps were used. It is observed from the experimental results that sinusoidal map-based CsBA performed better than the other three variants of BA.

Hamidzadeh et al. [88] developed a CBA based on the weighted SVDD (WSVDD-CBA). WSVDD-CBA was able to swap the local search into global search and vice versa. This proposed approach was used for segregation of data under imbalanced data. Xueting et al. [89] developed a global CBA (GCBA) to solve feature selection problem. The chaotic method was used to initialize the bat’s population. GCBA eliminated the premature convergence. Afrabandpey et al. [90] utilized the chaos to develop the improved version of BA (CIBA). Chaotic sequences were used to initialize the control parameters of BA. CIBA performed better than BA.

4.4 Levy Flight BA

Liu and Chunming [91] introduced the behaviors of Levy flight (LF) in BA. They developed a new variant of BA and known as LFBA. The speed and position of bats were modified. LFBA outperformed the BA in terms of accuracy and convergence rate. Boudjemaa et al. [92] investigated fractional calculus to further enhance the performance of LFBA and called as Fractional LFBA (FLFBA). Levy distribution based random walk was used to conduct local search. The velocity of bat was updated through fractional calculus. FLFBA was evaluated on test functions and achieved better performance than the other algorithms. Xie et al. [93] introduced a new LF variant of BA (DLFBA) based on differential operator and LF. A differential operator is added in BA to increase the convergence rate. LF was used to maintain the diversity in BA. The proposed algorithm was superior to the other Levy flight variant of BA.

Shan et al. [94] presented an improved version of BA (OBMLBA) that utilized the concepts of LF random walk and opposition based learning (OBL). OBL is used to enhance diversity in BA. OBMLBA was more efficient algorithm than the other algorithms. Jun et al. [95] presented a double sub-population LFBA (DLBA). They used dynamic switch strategy to maintain the balance between intensification and diversification in the sub-population of BA. LF model and dynamic weight model were used for position update in internal and external subgroups, respectively. DLBA performed better than the other algorithms. Li et al. [96] developed an improved BA (LAFBA) based on the concepts of adjustment factors and Levy flights. The inertia weight was used to modify the velocity of bats. The speed and accuracy of LAFBA was improved through adjustment factor.

4.5 Hybrid BA

Fister et al. [97] combined BA and differential evolution strategies (BA-DE) to improve the performance of BA. This hybrid approach modified the mechanisms of solution selection and new local solution generation using DE. This approach outperformed BA for high-dimensional benchmark problems. However, the computational complexity is not investigated for this approach. Yildizdan and Baykan [98] hybridized the ABC and BA to solve the optimization problems. The inertia weight was incorporated in BA to further improve the search ability. The hybrid approach was evaluated on benchmark test functions and found that BA-ABC provided better results than the BA and ABC. The contribution of BA (i.e., 92%) was much higher than ABC (i.e., 4%) in this hybrid approach. However, the time complexity of BA-ABC was title bit higher than ABC and BA. Wang and Guo [99] incorporated pitch adjustment operator of harmony search (HS) into BA for enhancing the exploitation ability of BA. This approach is called as BA-HS. The elitism scheme was also added in the hybrid approach. This modification improved the convergence speed of BA. The hybrid approach (i.e., BA-HS) outperformed the HS and BA in terms of convergence. Ghanem and Jantan [100] proposed a hybrid BA (BA/HS) to enhance the performance. The dynamic mutation operator of HS was used in BA. The pitch adjustment operator was not used in this approach. The performance of this hybrid approach was better than HS, BA, and BA-HS.

Alihodzic and Tuba [101] developed a modified BA (MBA-DE) to solve the benchmark test problems. In MBA-DE, both BA and DE were hybridized to improve the performance. The mutation and crossover operators of DE were incorporated in MBA-DE. The modifications in loudness and pulse rate were also done. MBA was tested on the benchmark test functions and achieved the better results than BA-DE. Nguyen et al. [102] hybridized BA and ABC to improve the performance. The positions of worst bats were replaced with best artificial bees and vice versa. The communication strategy was developed for information transfer from BA to ABC. The hybrid algorithm (ABC-BA) obtained 78% and 11% more accurate results than BA and ABC on benchmark test functions. Rauf et al. [103] combined ABA with Sugeno fuzzy search (ASF-BA) to solve the constrained single-objective problems. ASF-BA was also tested to optimize the weights of feed forward NN. ASF-BA attained better classification accuracy than the BA. Fister et al. [104] proposed a hybrid BA (HBARF) that ensembles the DE and random forest (RF). HBARF attained better performance than BA. Yildizdan and Baykan [105] integrated modified BA (MBA) and DE (MBADE) to improve the search capabilities. MBA used modifications in BA to eliminate structural issues. Mutation phase of DE was used to modify the solutions obtained from MBA. MBADE was superior to MBA in terms of fitness value.

He et al. [106] integrated SA and Gaussian perturbations (GP) in BA to improve the convergence speed. The proposed algorithm was named as SAGBA. SA and GP were used to modify the velocity and position of bats. SAGBA performed better than the BA and other algorithms. Fister et al. [107] integrated DE and self-adaptive BA (SABA) to obtain the quality solutions. The proposed algorithm (HSABA) was evaluated on benchmark test functions and achieved superior performance than BA and SABA. Pan et al. [108] integrated a communication strategy of PSO in BA to solve numerical problems. The worst individuals of BA were replaced with best individuals of PSO and vice versa. BA-PSO was able to provide better accuracy than BA and PSO. Liu et al. [109] performed three amendments in BA to further improve its performance. They devised a hybrid BA (HyBA) that utilized the extremal optimization algorithm to eliminate the local optima problem. However, HyBA is a complex algorithm. Guo et al. [110] devised a hybrid algorithm that utilized the pitch adjustment operation of HSA to modify the positions of bats. The hybrid approach, HS-BA was superior to BA, PSO, and HS in term of convergence speed. Ming et al. [111] presented a hybrid BA with DE, named BADE to solve the constrained problems. Pravesjit [112] developed a hybrid BA with IWO and GA, called BA-IWO-GA to deal the numerical problems. GA was used to expand the bat’s population. IWO was used to compute the number of seed. These seeds were used to generate the clones. BA-IWO-GA was superior to BA, GA, and IWO. Beside these approaches, the other metaheuristic algorithms can be hybridized with BA to enhance its performance.

4.6 Multi-objective BA

Yang [113] presented an extension of BA (MOBAT) to deal multiobjective optimization (MOO) problems. MOBAT was evaluated on benchmark test functions and achieved better Pareto fronts. Yammani et al. [114] developed a multiobjective shuffled BA (MOShBAT) to handle the planning of generators. Crowding distance and non-dominated sorting mechanisms were added in ShBAT. MoShBAT was able to generate distributed Pareto Fronts. Prakash et al. [115] used the concepts of elitism and non-dominance to develop multiobjective BA (NSBAT-II). The performance of NSBAT-II was tested on real-life reactor problem and showed better convergence than NSGA. Heraguemi et al. [116] devised a multiobjective BA (MOB-ARM) to solve the association rule mining problem. MOB-ARM was able to retrieve important and believable rules. Laudis et al. [117] developed an extended version of multiobjective BA (MOBA) to solve VLSI problem. Chen et al. [118] proposed a new multiobjective improved BA (MOIBA). Pareto-dominance concept was added in MOIBA. The non-dominated sorting and crowding distance were used. MOIBA was tested over electrical problem. MOIBA was able to generate the diverse Pareto Fronts.

Perwaiz et al. [119] proposed a many objective BA (MaOBAT). The dominance rank was used to establish relationship of dominated solution. Non-dominated solutions were selected on dominance relationship. MaOBAT attained better convergence rate that the other algorithms. Han et al. [120] presented a new multiobjective MBA (MOMBA) to solve the power flow problem. In MOMBA, Pareto-dominance approach was used to enhance the exploration capability. MOMBA was able to generate diverse Pareto fronts. Sheah and Abbas [121] developed a multiobjective BA (MOBATD) based on decomposition approach. The dominance used to select the leaders for covering less populated regions and evade the premature convergence problem. MOBATD provided diverse Pareto fronts. Jiang et al. [122] developed an improved MOBA (IMOBA) to deal portfolio problem. They used three different modification strategies in IMOBA. IMBOA improved convergence speed and good solution quality.

According to research articles mentioned in this study, the distribution of BA’s variants is depicted in Fig. 5. Table 2 shows the summarization of BA’s variants. Table 3 depicts the modifications done in control parameters and encoding schemes used in various variants of BA. In Table 3, ✔ indicates the corresponding control parameters is used in the respective algorithm. ✗ indicates it has not used.

Fig. 5
figure 5

Distribution of BA’s Variants according to research articles

Table 2 Summarization of BA’s variants
Table 3 Modification in control parameters and encoding schemes used in BA

5 Applications

BA has been widely used in various engineering domains. The appropriate use of control parameters and population initialization in BA can help to solve the real-life problems in an effective manner. The applications of BA are mainly classified into civil engineering, power engineering, mechanical engineering, image processing, bioinformatics, data mining, industrial engineering, software engineering, and scheduling. Figure 6 shows the applications of BA in different engineering domains.

Fig. 6
figure 6

Applications of BA

5.1 Civil Engineering

Ahmadianfar et al. [123] used IBA to solve the hydropower operations of multireservoir systems. They used mutation strategy to improve the performance of BA. The performance of IBA was tested on four and ten-reservoir systems. IBA outperformed the liner programming solvers in terms of fitness functions. Ethteram et al. [124] investigated BA to optimize the reservoir operation in dam. The performance of BA was evaluated on two well-known dams of Iran. BA provided lowest value of vulnerability index and highest values of resiliency and reliability indices. However, the convergence speed of BA is much slower than the other algorithms. Bozorg-Haddad et al. [125] applied BA to evaluate the performance of reservoir operations of Karoun-4 reservoir system. BA was compared with GA and linear programming. Results revealed that BA was able to provide the optimal solution for reservoir problem. Bath et al. [126] introduced the local search into BA, called blended bat algorithm (BLBA). BLBA was used to optimize the design of retaining wall. The weight and cost were utilized in the design of fitness function. BLBA saved the design cost from 18 to 20% as compared to the traditional technique [127]. Farzin et al. [128] used BA to design the open channels for flood control. The channel construction cost was used as a fitness function. BA outperformed the existing algorithms in terms of cost and convergence.

Talatahari and Kaveh [129] improved BA by dynamically updating the average loudness of bats. They have also modified the echolocation parameters of bats. The improved BA was applied on two truss optimization problems (i.e., 244-bar and 1042-bar). IBA obtained the best results than the GA, PSO, and BA in terms of weight and number of analyses. Yancang and Zhen [130] suggested modifications in population initialization and speed computation. The learning factor and inertia weight were used to improve the search capability of BA. The modified BA was tested on 10, 25, and 72 bar truss problems. This approach attained the optimal solutions as compared to HS and GA. Kaveh and Zakian [131] proposed scale factor to improve the positions of bats. They applied the modified BA to optimize the skeletal structures. The modified BA achieved the better results than HS, FA, and CS in terms of design weight. Aalimahmoody et al. [132] used a feed forward neural network to compute the compressive strength of concrete. BA was used to determine the control parameters of ANN. This model was tested on 1030 concrete samples and attained the mean squared error of 27.64. Su et al. [133] developed a modified directional BA (MDBA) for damage identification of beam and truss type bridges. An elimination scheme was proposed to enhance the intensification capability of BA. MDBA provided better convergence and accuracy as compared to PSO, DE, and BA.

5.2 Data Mining

Nakamura et al. [134] used BBA to solve the feature selection problem. BBA was applied on UCI machine learning datasets and attained the approximately 2% improvement in accuracy obtained from other binary metaheuristics. However, the computational speed of BBA was little bit higher than the other algorithms. Taha et al. [135] hybridized BA with Naïve Bayes classifier (BANB) for solving the feature selection problem. BANB was evaluated on UCI machine learning datasets. Results revealed that BAND outperformed the other metaheuristics in terms of number of features and classification accuracy. The computation time of BANB was not investigated. Rodrigues et al. [136] developed a feature selection technique that utilizes the concepts of BA and optimum-path forest (OPF). They used transfer functions to map the continuous values into binary values. The binary BA was used to select the feature. The proposed approach was tested on six datasets. It is observed that the hyperbolic tangent transfer function was able to extract more appropriate features than the Sigmoid function.

Alihodzic et al. [137] modified the BA by incorporating the extreme learning machine. The proposed hybrid approach was known as UBA-ELM. UBA-ELM was used for data classification. The performance of UBA-ELM was better than the existing algorithms in terms of root mean square error, training time and number of hidden nodes. Leke and Marwala [138] hybridized BA with deep learning technique for the estimation of missing data. The accuracy obtained from the hybrid approach is better than BA and other deep learning techniques. However, it suffers from high computational time. Talal [139] used BA and PSO to train RBF network for data classification. The weights of RBF network computed from BA were better than PSO. BA provided better convergence and training time than the PSO. Cheruku et al. [140] combined the rough set and BA, called RST-BatMiner for fuzzy classification. Rough set was used to select the best features. BA was used to generate the fuzzy rules. The boosting technique was used to improve accuracy of fuzzy rules. This approach was evaluated on six datasets and yielded better accuracy than the Fuzzy rule miner. Taha and Tang [141] used BA for attribute reduction. Thirteen benchmark datasets were used to demonstrate the performance of BA. Results depicted that BA outperformed the classical feature selection techniques in terms of features and accuracy. BA was also used for record deduplication [142].

Komarasamy and Wahi [143] used BA to resolve the problems associated with K-Means clustering method. BA-based clustering technique eliminated the problem of K-Means. The proposed clustering technique achieved better efficiency than the classical clustering techniques. Sood and Bansal [144] proposed a clustering technique that utilized the concepts of K-Medoids and BA. The echolocation behavior of BA was used to eliminate problem associated with K-Medoids. The proposed clustering technique outperformed the classical clustering techniques in terms of performance measures. However, the computational complexity of proposed technique was higher than the other techniques. Aboubi et al. [145] proposed a BA-based clustering technique (BAT-CLARA) for large datasets. K-Medoids was used to construct the clusters. BAT-CLARA performed better results than the other clustering techniques. Heraguemi et al. [146] proposed a multi-swarm BA with three cooperative strategies to tackle the rule discovery problem. Ring, Master–Slave and hybrid strategies were used to generate the efficient association rules. The proposed approach outperformed the competitive algorithms in terms of rule quality and computational time.

5.3 Computer Vision

Zhang and Wang [147] proposed a modification in BA (MBA) by incorporating the mutation operator. MBA was used to mutate bats during the position updating mechanism. MBA was applied on image matching problem. MBA was able to provide the better performance than the BA and other competitive algorithms. Alihodzic and Tuba [148] developed an improved BA (IBA) that includes the basic concepts of DE and ABC. IBA was applied on image thresholding problem. IBA outperformed PSO, DE, and BA in terms of convergence speed and accuracy. Alsalibi et al. [149] developed a membrane-inspired BBA (MIBBA) for facial feature selection. The evolution and communication rules of membrane computing were incorporated into BBA. Great Deluge Algorithm was added in MIBBA to enhance the intensification capability. MIBBA was able to provide the better face recognition rate than the other techniques. Akhtar et al. [150] employed BA to estimate the pose of human being. Statistical background subtraction and GMM were used to extract the human body. The performance of BA outperformed the competitive algorithms in terms of most appropriate pose error.

5.4 Medical Imaging

Alomari et al. [151] proposed a filter such as minimum redundancy maximum relevancy and wrapper method such as BA, known as MRMR-BA for selection of gene in microarray dataset. MRMR was used to extract the important genes from microarray dataset. Thereafter, BA was used to determine the important genes from the extracted genes. The performance of MRMR-BA was demonstrated on three datasets and attained better classification accuracy than the other algorithms. Mishra et al. [152] developed a BA to update the weights of ANN classifier. The proposed approach evaluated on breast cancer and lung cancer datasets. The proposed approach attained the classification accuracies of 91.7% and 96.3% for breast cancer and lung cancer, respectively. Lu et al. [153] designed an automatic brain detection system that utilized the concepts of ELM. The ELM was optimized through BA. This approach computed the entropies from subbands that were obtained from 2D discrete wavelet transform. The proposed approach attained the specificity of 93.89% and accuracy of 98.33% for brain images. Lu et al. [154] combined deep learning technique and BA to detect the abnormal brain in MRI images. The biases and weights of ELM were optimized through chaotic BA. The fine-tuned ELM model was used to extract the abnormal brain. The proposed approach provided the sensitivity of 97.1% and accuracy of 96.4%. Kora and Kalva [155] designed an improved BA (IBA) to detect abnormalities in the heart using ECG signals. The noise was removed from the ECG signals and extract the features from the ECG signals. The extracted features were applied in the neural network classifier. IBA outperformed the other techniques in terms of classification accuracy.

5.5 Scheduling

Marichelvam et al. [156] investigated the use of BA to solve the multistage flow shop scheduling problem. This approach was tested on benchmark test problems and attained the better results than PSO and GA. Luo et al. [157] proposed a discrete BA (DBA) for flow shop scheduling problem. The scheduling problem was decomposed into small sub problems. The neighborhood search was incorporated into DBA for further enhance their performance. DBA was applied on twenty-nine benchmark problems. The performance of DBA outperformed the competitive algorithms in terms of solution quality. Tosun and Marichelvam [158] designed a hybrid BA to figure out flow shop scheduling problem. The local search was integrated into BA. Results revealed that the proposed algorithm was able to solve this problem in an efficient and effective manner. Marichelvam and Prabaharam [159] developed a BA to minimize makespan and flow time in scheduling problem. The overall improvement obtained from BA was more than 20% as compared to PSO, ACO, and GA, and SA. Xie et al. [160] introduced a differential levy BA (DLBA) to tackle the flow shop problem. The levy light was integrated in DLBA to transform the continuous space into discrete space. The neighborhood search was used to eliminate the local optima problem. The effectiveness of DLBA was evaluated on benchmark test problems and attained the better results than the other algorithms. Dao et al. [161] integrated the concepts of parallel processing and communication strategy in BA. The proposed approach attained 2% improvement in the best known solution when it is compared with BA.

Musikapun and Pongcharoen [162] developed a BA-based scheduling tool (BAST) to resolve the multi-machine scheduling problem. BAST was used to minimize the tardiness and earliness costs. BAST attained 8.37% improvement in the overall performance as compared to the other algorithms. Malakooti et al. [163] implemented BA to handle the single objective and multiobjective multiprocessor scheduling problems (MSP). For single objective MSP, BA was used to minimize the makespan and tardiness independently. In multiobjective MSP, both objective were simultaneously optimized through BA. BA outperformed the competitive algorithms by 11.12% for makespan and by 23.97% for tardiness. Talafuse and Pohl [164] developed a BA to handle the redundancy allocation problem. The performance of BA was demonstrated on benchmark test problems. BA outperformed the competitive algorithms in terms of system reliability. However, ACO performed better than BA for 13 instances. Fister et al. [165] introduced a method for planning the sport training sessions. BA was used to design the algorithm. The proposed method was helpful to coaches for planning the training sessions for upcoming competitions. Khan et al. [166] designed a screening method for company workplaces. They used Fuzzy BA to determine the cluster of workplaces. Three different clusters of workplaces were generated on the basis of health risk. Results showed the fuzzy BA was able to reduce the computational time for screening the workplaces.

Osaba et al. [167] presented a discrete BA to handle both symmetric and asymmetric traveling salesman problem (TSP). An improvement was done in the structure of BA. The proposed algorithm was evaluated on thirty-seven test instances. The proposed algorithm performed better performance than the competitive algorithms for twenty-two test instances. Saji and Riffi [168] proposed a new modification in discrete BA to solve TSP. The modified approach was evaluated on forty-one symmetric benchmark test problems. This approach was able to obtain the optimal solutions over 30 runs for all test instances.

5.6 Power Engineering

Bora et al. [169] investigated single and multi-objective BA to tackle the brushless DC motor wheel problem. The efficiency obtained from single-objective BA was 95.23%. The power system stabilizers (PSS) can be considered as optimization problem. BA was used to solve PSS problem [170]. BA provided the better performance than the other algorithms. Peres et al. [171] investigated BA, ACO, and GA to solve the tuning problem of PSS. These algorithms were tested on New England test system. BA provided better results than the ACO and GA in terms of damping ratio. Sambariya and Prasad [172] designed a PSS by using BA. BA was used to optimize the control parameter of PSS. BA outperformed the other algorithms in terms of speed response and stability. Sathya and Ansari [173] developed a BA-inspired dual mode PI controller. The developed PI controller was compared with the five conventional PI controller. It was found that the developed PI attained better steady state response and transient [174].

Sakthivel et al. [175] used BA to solve the economic load dispatch problem (ELDP). The control parameters of ELDP was optimized through BA. BA outperformed the conventional techniques in terms of optimal cost and convergence time. Bestha et al. [176] presented BA to handle the ELDP with valve point loading. BA obtained the optimal solution for all the test systems. BA attained 8121.86 R/Hr, and 10,123.69 R/Hr for 850 MW and 1050 MW load systems, respectively. Biswal et al. [177] used a BA to solve ELDP. The performance of BA was evaluated on three different thermal power units. BA took 2.537 s to obtain the optimal solution as compared to PSO. BA attained better results than the competitive algorithms. Ramesh et al. [178] used BA to solve both ELDP and emission dispatch problem. BA was tested on six different power systems. BA provided better convergence, efficiency, and features than the competitive algorithms. Niknam et al. [179] developed a multiobjective self-adaptive learning BA (MOSALBA) to solve ELDP. The chaos-based strategy was used to generate the initial population. They used crowding mechanism for uniform distribution of Parteo-optimal solution. The proposed approach performed better than the other approaches. However, the proposed approach was not evaluated in terms of transient stability.

Latif and Palensky [180] modified BA to handle the ELDP. The concepts of inertia weight and anti-predatory were incorporated into BA to enhance their exploration and exploitation capabilities. The modified BA (MBA) was applied on five and six-generator test systems and provided superior performance than the GA, PSO, and BA. The optimal size of battery energy storage (BES) is required for renewable energy sources. Bahmani-Firouzi and Azizipanah-Abarghooee [181] utilized BA to optimize the size of BES. The load demand and operating reserve were used as the objective function for BA. BA was able to provide the remedial schemes for minimum cost dispatches. Eltamaly et al. [182] proposed a scanning BA strategy to track peak load of photovoltaic energy systems (PVES). The proposed approach was able to reduce the convergence time by 566% as compared to the standard strategy. BA was used to determine the maximum power of PVES under partial shading [A61, A63] and dynamic partial shading conditions [184]. Niknam et al. [186] proposed an enhanced BA (EBA) to determine the supply equilibrium for generating companies. The self-adaptive mechanism was also introduced in EBA to improve the exploration capability. EBA was able to link the bidding price with bidding quantity.

Tamiru and Hashim [187] developed the fuzzy models to determine the exergy destruction variations present in various components of gas turbine. The training of model was done through BA and linear model tree. The proposed model can be used as a promising tool in the real-life scenario [189]. Kotteeswaran and Sivakumar [188] presented a BA for fine tuning of control parameters of PI controller of coal gasifier. This controller has five inputs and four outputs. LFBA was used to optimize the control parameters of gasifier. The proposed approach provided better response than the other algorithms. Kashi et al. [190] developed a BA to optimize the fuel management operation for nuclear reactor. They used peak power factor and multiplication factor for designing the fitness function. BA was able to provide the optimal solutions for fuel optimization problem.

5.7 Industrial Engineering

Zhou et al. [191] hybridized BA and path relinking (PR) to tackle the vehicle routing problem (VRP). This proposed hybrid approach was known as HBA-PR. PR was used to determine local solutions. HBA-PR was evaluated on twelve instances from three different benchmark test problems. HBA-PR was able to generate the quality solutions for VRP [192]. Ochoa et al. [193] integrated BA and data mining to solve the group travelling problem. This approach was evaluated on three different parks of Chihuahua. Results revealed that the hybrid approach provided 91.72% improvement in solution quality as compared to random selection. Taha et al. [194] designed an adaptive BA (ABA) to tackle the capacitated VRP. ABA was tested on nine benchmark test problems and attained high précised solutions than the GA and BA. Dapa et al. [195] studied the performance of BA, Frog leaping algorithm and GA on facility layout problem (FLP). He et al. [196] designed an improved BA (IBA) to resolve the layout planning problems of medical sites and urban facilities. IBA provided better convergence than the BA. BA was also used to solve the single-row FLP [197]. The control parameters of BA were determined through the experimentation. BA was evaluated on six different test problems. BA provided quality solutions as compared to the competitive techniques.

Carbas and Hasancebi [198] used BA to optimize the design of steel frames. The main objective is to minimize the weight of frame and final cost. BA was able to provide the optimal design with least cost and weight [199]. Gholizadeh and Shahrezaei [200] studied BA to optimize the placement of steel frames within walls. The columns of frame, cross sections of beams, thickness and placement of plate walls were optimized through BA. The results revealed the effectiveness of BA for placement of frames in walls. Hasancebi et al. [201] investigated the use of BA in structure optimization. BA was tested on three truss structures and one benchmark test problem. BA provided the optimal weights for three truss structures. Arora et al. [202] proposed a BA-Ziegler algorithm to determine the optimal parameter of PID. The proposed approach was evaluated on three different plants. It was found that the proposed approach outperformed ACO, PSO and HAS in terms of step response. Omar and Saida [203] developed a BA-inspired design approach for PID controller in automatic voltage regulator (AVR) system. BA was able to determine the optimal parameters for PID controller. BA outperformed PSO in terms of time specification.

5.8 Networking

Sur and Shukla [204] designed an adaptive and discrete BA to determine the appropriate route for graph-based road network. Xi et al. [205] proposed an improved BA (IBA) for path planning problem for UAV. B-spline curves were used to obtain the optimal path. IBA outperformed the conventional algorithms. Wang et al. [206] modified BA (MBA) to solve the path planning problem. In MBA, the mutation among bats during the solution updating mechanism. MBA provided the better convergence and robustness than BA. Li and Peng [207] proposed an improved BA (IBA) to solve the UCAV problem. IBA was able to locate multiple solutions for UCAV. Kiran and Reddy [208] proposed a bat-inspired protocol named as bat-termite for mobile adhoc network. The bat-termite provided superior performance than the existing protocols. Pal and Sethi [209] implemented BA-based routing protocol for cognitive radio adhoc network. The developed protocol was able to select reliable channel for optimal route construction.

BA was also used to design the cell formation in routing problem [210]. The movement between cells was considered as an objective function in BA. BA was able to determine the optimal route with minimum intercell movement. Goyal and Patterh [211] used BA to evade node localization problem in WSN. The bacterial foraging concept was introduced in BA to enhance their performance and known as modified BA (MBA). MBA performed better than BA in terms of computational time and success rate. However, MBA showed inferior performance than BA in terms of mean localization error. Kaur and Sharma [212] delved BA to determine the precarious nodes in WSN. They used an optimized routing protocol to lessen the probability of packet drop. BA-based protocol provided the 100% packet delivery as compared to the existing protocols. BA-based protocol consumed very less energy as compared to the others. Cao et al. [213] developed an improved LEACH protocol by using BA. The cluster heads were generated through the traditional LEACH. Thereafter, the cluster heads were optimized through BA-inspired local strategy. The proposed approach provided better energy utilization, network load and network life than the LEACH protocol.

The dynamic router node placement is major problem in wireless mash network. To resolve this problem, Lin et al. [214] developed a BA-based local search mechanism to determine the optimal solution. The weights were assigned to both client coverage and network connectivity. The proposed approach provided stable and reliable results than PSO. The community detection problem can be considered as an optimization problem. BA was used to solve the community detection problem [215]. The modular quality measure was used as a fitness function. The performance of BA was superior to the other techniques for small networks. However, the performance of BA was not good for large networks. Imane and Nadjet [216] hybridized BA with tabu search for detecting the overlapping communities. The density of links was used as an objective function for this hybrid approach. The hybrid approach was tested on six real networks. The hybrid approach obtained the density value of 0.7030, which was greater than BA (i.e., 0.5276) for dolphins network.

5.9 Cloud Computing

Raghavan et al. [217] used BBA for scheduling workflow in cloud environment. The workflow consists of four different tasks. The resources were allocated to each task. The main objective of this problem was to minimize the processing cost. The proposed approach attained an overall fifty percent improvement as compared to the existing technique. Sharma et al. [218] utilized a BA to implement load balancing in cloud environment. Parallel processing toolbox was used to implement the proposed load balancing approach. The proposed approach outperformed the other techniques in terms of response time and number of tasks.

5.10 Mechanical Engineering

Suárez et al. [219] implemented BA for designing the robotic prototype. Thereafter, it was tested to determine the location of target under 3D static environment. The behavior of real and simulated robots was almost similar. Mallick and Ganguli [220] proposed two orthogonal arrays to produce nonlinear response surfaces. MOBA was used to optimize the design points for surfaces. MOBA reduced the vibration levels of edge flap by 73% in comparison with the standard design. Kumaravel and Kumar [221] developed a self-tuned PI controller that adapt the load impedance through back propagation algorithm. BA was used to improve the convergence speed. The dynamic response obtained from the proposed model was better than PSO-inspired PI controller. Bekdas et al. [222] employed BA to optimize the seismic structures of mass dampers. The damping ratio, period, and mass were optimized using BA. The proposed approach was applied on the structure of ten-story and attained better results than GA, PSO, and HS. Chakri et al. [223] developed an improved BA (IBA) for analysis of structural reliability. An adaptive penalty was introduced in IBA to determine the reliability index. IBA has less computational time. Wang et al. [224] designed a hybrid BA to solve the process planning problem. The local search strategies were incorporated in BA and improved the movement of bats. The hybrid BA was superior to GA, PSO, and SA.

Naderi and Khamehchi [225] developed two new designs to predict the water drive gas reservoirs. BA was used to optimize the number of wells, locations of well, perforation thickness, and production rate. The proposed approach was able to provide better recovery factor. Osaba et al. [226] developed a discrete and IBA (DIBA) to solve the drugs distribution problem. The hamming distance was used to compute the difference among bats. DIBA attained better results on 18 datasets. The convergence of DIBA was better than competitive algorithms. The process of selecting the appropriate cities to conduct the event is considered as an optimization problem. Ba was used to solve the planning problem [227]. BA was evaluated on twenty different European countries and data collected from Facebook. BA showed the superior results than the other algorithms in terms of quality solutions. Liu et al. [228] integrated BA with double mutation operators to further enhance their performance. This approach was known as TMBA. TMBA was applied to solve the impact localization in plate structure of ship. TMBA was able to provide the quality solution. Kongkaew [229] investigated BA’s variants to solve the single machine scheduling problem. These variants were evaluated on the benchmark test instances of OR-library. The quality solutions were obtained from BA’s variants within less time duration. Sadeghi et al. [230] utilized a hybrid BA (HBA) to find out the optimal solution for vendor managed inventory problem. HBA was an efficient algorithm in comparison with GA and BA.

5.11 Miscellaneous

BA was use to envisage the price of copper [231]. The price estimation parameters were optimized through BA and predict the price. The root mean square error obtained from BA was better than the conventional prediction methods. Srivastava et al. [232] estimated the test effort using BA. Results revealed that the estimation obtained from BA was very closer to the actual test effort. Hong et al. [233] used support vector regression model to predict the motion of floating platform. Chaotic BA (CBA) was used to optimize the control parameters of support regression model. They also used an ensemble decomposition algorithm. The proposed approach was able to predict the floating platform motion in an effective and efficient manner. Koffka and Sahai [234] investigated the performance of BA, GA, and PSO for training neural network in e-learning environment.

Cincy and Jeba [235] combined both ABC and BA to extract the information from crowdsourcing systems. Random walk phase was also implemented in this hybrid approach. This approach provided better accuracy, convergence rate and cost than the competitive algorithms. Cui et al. [236] proposed an adaptive BA (ABA) to optimize the observation matrix. The dynamic strategy was designed to improve the convergence ability of BA. BA was able to reduce the reconstruction error as compared to the conventional techniques. Natarajan et al. [237] studied the performance of BA and cuckoo search to optimize the bloom filter for spam word. Xie et al. [238] proposed a hybrid BA (HBA) to tackle the aircraft landing problem. Four different landing strategies were incorporated in the hybrid approach. HBA was evaluated on different instances of 500 aircrafts and found optimal solutions for most of the instances. Ochoa et al. [239] designed a support system for financial trust forest in Chihuahua. BA was used in the support system.

Table 4 depicts the summary of BA’s applications in various domain. Figure 7 shows the distribution of BA’s applications according to research papers included in this study.

Table 4 Summary of BA’s applications
Fig. 7
figure 7

Distribution of BA in different application domains

6 Future Research Directions

It is observed from literature that researchers have tried to amend the structure of BA by hybridizing with other algorithms. Researchers and scientists have also modified the control parameters of BA to enhance their performance. Still, there are some open research areas in BA. The possible research directions are mentioned below:

6.1 Theoretical Investigation

It is observed from literature that the most of research papers related to BA were unable to provide theoretical foundation of BA and enhanced versions of BA. The authors have not provided any mathematical proof that how BA performs better than the existing metaheuristics and classical techniques. The mathematical analysis provides us the core concepts, which are responsible for superior performance. There is a need to analysis the structure, control parameters, and improvement theoretically.

6.2 Multi-population Optimization

The present research works reveal that the multi-population can be effortlessly added into other metaheuristic techniques. The multi-population metaheuristic algorithms performed better than the single-population metaheuristic algorithms in terms of diversity [240]. A miniature work has been done in the direction of multi-population BA. Hence, there is a lot of scope to develop effective multi-population BAs for various engineering problems.

6.3 Many-Objective Optimization

As per the knowledge of authors, there is only one many-objective BA is present in the literature. This variant utilized the dominance rank concept [119]. Hence, there is need to develop more specialized many-objective Bas, which can utilize the concepts of determinantal point processes, knee points, and hypervolume. Beside this, the reference points based dominance relation can also be integrated in BA to solve the many-objective problems.

6.4 Adaptive Module

Metaheuristic algorithms require an adaptive mechanism to solve the real-life problem in an effective manner. Some metaheuristic algorithm focus on intensification phase and trapped in local optima. Some metaheuristics emphasis diversification and require more resources to search the whole space. This mechanism can be helpful to maintain the balance between intensification and diversification [241, 242]. The adaptive module either selects the appropriate search operators or hyper-parameter tuning of control parameters during the BA’s execution. Deep learning concepts such as Q-learning can be utilized to design the adaptive module. Hence, the novel strategies are required to develop the adaptive mechanism for BA.

6.5 Hyper-heuristic Hybridization

BA has been hybridized with other metaheuristic algorithms to enhance their performance. The hybridization will help to diminish the weakness of BA [243]. However, this type of hybridization is known as low-level hybridization. The hybridization of BA with hyper-heuristic algorithms is known as high-level hybridization. In this hybridization, BA can choose the adaptive algorithm to perform the efficient search with penalties and rewards. Hence, there is a lot of scope to use hyper-heuristic algorithms with BA.

7 Conclusion

A systematic and updated review of BA is presented in this paper. The foremost intention of this paper is to recapitulate the various modifications in structure of BA and application domains. The research methodology for selecting the appropriate research papers has been discussed in detail. The fundamental concepts of BA has been studied with their control parameters. The different variants of BA such as binary, hybrid, levy flight, multi-objective and chaotic have been investigated with their pros and cons. The applicability of BA in different research areas has been discussed. The main emphasizes of the application domain are Power engineering and data mining. The possible research directions will motivate the researchers to study the BA and use it in real-life scenario.

This study not only provides the recent advancements in BA, but also discusses the control parameters used in these enhancements. This review will help the young scientists to understand the preliminary concepts of BA and utilize this information in their own research problems.