1 Introduction

Evolutionary computation (EC) is an important field in artificial intelligence concerning finding the optimal solution for different kinds of optimization problems. The optimization problems can be distinguished based on their variable domains into binary, discrete, continuous, permutation discrete, and structured variable types. ECs refer to a type of algorithms that stemmed from the Darwinian natural selection principle of survival-of-the-fittest. Recently, ECs are referred to as a metaheuristic algorithm. The metaheuristic is a type of algorithms categorized into natural versus non-natural inspired, single versus multiobjective, memory versus memory-less, static versus dynamic objective function, population-based versus trajectory-based search [43]. Due to the massive number of metaheuristic-based algorithms proposed recently and based on their inspiration phenomena, the latest category considered is as follows: evolutionary-based, swarm-based, human-based, physical-based, chemical-based, and mathematical-based algorithms [108, 348].

Evolutionary-based metaheuristic algorithms (EAs) are proposed based on biological ideas which consider the natural selection principle of survival-of-the-fittest [274]. EAs, in general, begin with a population of individuals, each of which represents a solution. They have an iterative improvement loop to evolve the individuals based on common operators. The iterative improvement loop has conventionally four operators: parent selection, recombination, mutation, and survival selection [26].The most popular EAs are genetic algorithm (GA) [129], genetic programming (GP) [160], evolution strategies (ES) [41], evolutionary programming (EP) [320], differential evolution (DE) [280], probability-based incremental learning (PBIL) [32], and biogeography-based optimizer (BBO) [270]. EAs are normally initiated with a population of candidate solution.

Human-based, chemical-based, physical-based, and mathematical-based metaheuristic algorithms are stemmed by the behaviour of human, chemical interactions, physical phenomenon, and mathematical wisdom, respectively. Examples of human-based metaheuristic are harmony search algorithm (HSA) [111], imperialist competitive algorithm (ICA) [29], coronavirus herd immunity optimizer (CHIO) [15], teaching learning-based algorithm (TLBA) [240], football game-inspired algorithm (FGIA) [100], and firework algorithm (FWA) [288]. Examples of chemical-based are chemotherapy science algorithm (CSA) [252], artificial chemical process (ACP) [137], chemical reaction optimization (CRO) [165], gases Brownian motion optimization (GBMO) [2], and artificial chemical reaction optimization (ACRO) [16]. Examples of physical-based are vortex search algorithm (VSA) [87], central force optimization (CFO) [107], thermal exchange optimization (TEO) [155], gravitational search algorithm (GSA) [241], electromagnetic field optimization (EFO) [4], big bang–big crunch (BBBC) [97], water evaporation optimization (WEO) [154], multi-verse optimizer (MVO) [202], and optics inspired optimization [149]. Finally, examples of mathematical-based algorithms are sine cosine algorithm (SCA) [200], Spherical search optimizer (SSA) [339], Stochastic fractal search (SFA) [251], and hyper-spherical search (HSA) [147].

Swarm intelligence (SI) metaheuristic algorithm inspired by the behaviour of animals swarm when trying to hunt a prey, survive, searching for food, collaborate to collect the food. They normally share their resources based on the swarm leaders directions. The ant colony optimization (ACO) [86] and particle swarm optimization (PSO) [156] are the base-SI methods. Plethora of SI algorithms have been recently proposed such as grey wolf optimizer (GWO) [203], red deer algorithm (RDA) [103], krill herd algorithm (KHA) [109], chameleon swarm algorithm (CSA) [47], moth-flame optimization algorithm (MFO) [199], lion optimization algorithm (LOA) [321], flower pollination algorithm (FPA) [316], squirrel search algorithm (SSA) [139], firefly algorithm (FA) [317], and bat algorithm (BA) [318] .

In particular, bat-inspired algorithm (BA) is one of the most successful SI algorithm established in 2012 to imitate the echolocation behaviour of bat when they searching for food. BA is proposed by Xin-She Yang [318] which take a considerable attentions from different research communities due to its impressive features such as it can simply tolerate to optimization problems, its optimization concepts are easily understandable, it is sound and complete, and it is flexible for expansion. Therefore, it has been vastly utilized for several kinds of optimization applications such as scheduling [344], engineering [138], robotics [283], Image and signal processing [327], electrical and power systems [224], and wireless sensors and networking [277]. In the initial establishment, BA is proposed for global optimization problems. To cope with the complexity of real-world optimization problems, different versions of BA have been recently proposed. The most common BA versions are binary BA [313], multiobjective BA [88], hybrid BA [235], Discrete BA [144], chaotic BA [51], etc. These versions and their applications are thoroughly discussed in the following sections.

In this review article, the BA is the main subject. Initially, the growth of the BA algorithm since 2017 has been analysed from different perspectives such as articles, citations, top authors, publishers, top institutions, and countries as shown in Sect. 2. Thereafter, the inspiration and the mathematical modelling in the context of optimization have been presented in Sect. 3. The different versions of BA have been reviewed in Sect. 4. The successful applications of BA in different optimization domains have been reviewed in Sect. 5. The BA theory has been critically analysed to show its pros, cons, limitations, and research gaps in Sect. 6. Finally, the conclusion and possible future directions are given in Sect. 8. We expect that this review paper will be considered as a research catalogue for BA researchers to improve and support their contributions in the future.

2 The growth of bat-inspired algorithm in the literature

The growth of BA during the past 5 years from 2017 to 2021 is summarized here in terms of the number of articles per year published, the number of citations gained for BA publications, the top authors’ who publish BA research, the top countries and institutions focus on the BA research. Furthermore, the growth of general topics solved by the BA is also summarized. Furthermore, the top publishers that hold most BA publications are highlighted in this section also. Note that the Scopus scientific database is the main source used to collect the papers used in this article. The main query used in the Scopus search engine is “BA” in the title of all articles. The results of this query were 1124 documents with conferences, journals, reviews, books, and book chapters. This huge number of documents is reduced by discarding all non-English articles. The total number of documents, therefore, is minimized to 401. The general query written in Scopus to include the papers in this review paper is as follows:

figure a

The growth of the total number of BA articles published per year is presented as a line chart shown in Fig. 1. Apparently, there is a large interest in using BA as a primary solution for different optimization problems. The number of articles reached a peak in 2019, where 124 documents were published. This large number of publications is an indication of the successful performance of the BA.

Fig. 1
figure 1

The number of BA publications per year

Figure 2 shows the performance of BAT algorithm using CEC 2015 benchmark functions are compared with other optimization algorithms such as coronavirus herd immunity optimizer (CHIO) [14], Salp swarm algorithm (SSA) [201], artificial bee colony (ABC) [146], Harris Hawks optimizer (HHO) [127], JAYA algorithm [239], flower pollination algorithm (FPA) [316], and sine cosine algorithm (SCA) [200].

The citations of the BA journal articles have been counted, as shown in Fig. 3. The citation is clearly grown from 55 citations in 2017 to 1880 citations in 2020. This shows the BA’s significant impact on the research communities. The citation metrics concur with the efficiency and the high interest in the bat-based journal articles.

Fig. 2
figure 2

Comparison of BA performance with other optimization algorithms

Fig. 3
figure 3

The number of citations per year of BA publications

The BA top journal articles authors are highlighted in Fig. 4. As can be recognized, the authors named “ TCai, X and Cui, Z and Edla, D.R.” have the highest publications of bat-based journal articles. In fact, these top authors published bat-based journal articles that have a firm belief in BA capabilities.

Fig. 4
figure 4

The number of BA publications by each authors

The analysis shows that researchers from China have published a wide range of bat-based solutions to tackle their research problems. This is shown in Fig. 5 where researchers from China have published more than 155 journal articles. The researchers from India are also utilizing BA as an efficient and primary solution for their research work as they published around 140 bat-based articles. The researchers from Iran, Malaysia, and Algeria have also considered BA 40 times to solve their research problems. Researchers of other countries, such as (UK, USA, Vietnam, etc.) have also used BA substantially in their research work (see Fig. 5).

Fig. 5
figure 5

The number of BA publications by country

In Fig. 6, the top institutions’ published BA articles are presented. The researchers from Taiyuan University of Science and Technology focus on BA as an essential part of their research work 11 times. Furthermore, researchers from Universiti Sains Malaysia published 10 articles with BA in the title. Other institutions used heavily bat-inspired algorithms in their research work as sown in the figure.

Fig. 6
figure 6

The number of BA publications by each affiliations

Optimization can be considered a multidisciplinary topic; thus, BA is used to solve optimization problems through many research topics. This is shown in Fig. 7 in which 30% of bat-based publications are used to solve problems in the computer science domain. However, BA is used to tackle engineering problems in 25% of research articles. The mathematical optimization domain is a hot optimization field, where 13% of research articles with BA in the title is used to solve mathematical optimization problems. Other topics such as Materials Science, Energy, Physics and Astronomy, Environmental Science, and Business and Accounting have utilized BA to solve their optimization problems.

Fig. 7
figure 7

The number of BA publications per subject

Finally, the majority of BA contributions are published by prestigious and strong publishers. In Fig. 8, the top publishers who accept to hold the BA articles under their journals are bar charted. As can be noticed, Springer Nature, IEEE, Elsevier, MDPI, Inderscience, John Wiley and Sons hold the majority of bat-inspired journal articles.

Fig. 8
figure 8

The number of BA publications by each publisher

3 Basic concepts of bat-inspired algorithm

The BA is introduced by Xin-She Yang as a swarm intelligence metaheuristic algorithm [318]. This section introduces and analyses the bat algorithm in terms of optimization inspiration as a standalone optimization algorithm.

3.1 Inspiration of bat algorithm

The echolocation capability of bats has drawn great attention among researchers from different fields. In the optimization field, researchers exerted more significant efforts in studying and analysing the echolocation behaviour of bats through its journey in searching for prey and avoiding an obstacle in complete darkness.

In nature, the echolocation occurs when bat emanates a loud pulse and then listens to the echo that clashes with surrounding objects, producing sound. The hunting strategy of prey species followed by bat relies on sound pulses by transmitting a frequency signal between 25 and 150 kHz. In general, the ultrasonic sound burst ends in very short timescales wherein each second around 10–20 sound burst. However, in getting closer to prey, the number of pulses increases up to 200 pulses, and at the same time, the sound of these pulses is decreased.

In paving the way for the construction of an artificial model from bat behaviour, She Yang assumes that bats from various locations are called population in the context of optimization, flying at a predetermined velocity at the same time to chase and hunt the prey using echolocation. Bats alter their location and velocity towards favourable locations by sensing the surrounding object by sending a sound pulse with a fixed range of frequency and their mutual interactions. It should be noted from this scenario that each bat has its trajectory begins from its current location towards chasing and hunting the prey.

The bat trajectory is depicted in Fig. 9, where it initially begins with an arbitrary location, and later its location changes according to two main concepts: emitted sound pulse and loudness. These parameters are updated according to the prey’s location. In this mechanism, once the bat gets closer to the prey, the rate of pulse emission increases and loudness decreases.

Fig. 9
figure 9

Trajectory of a single bat

The following assumptions represent the basis in developing artificial bats:

  • Each bat relies on the echolocation to recognize the surrounding objects and to measure the distance required to reach the prey.

  • The bats consider the several concepts while they are flying and seeking for the prey: location \(x_i\) with a constant frequency lies between \(f_{\mathrm{max}}\) and \(f_{\mathrm{min}}\) with various wavelength \(\lambda \) , velocity \(v_i\), and loudness \(A_o\).

  • In calculation of the proximity function, bats can automatically adjust the wavelength (or frequency) of their emitted pulses and adjust the rate of pulse emission r \(\in \) [0, 1].

  • The loudness is varied and ranges from a large (positive) \(A_o\) to a minimum constant \(A_{\mathrm{min}}\).

3.2 Steps of the bat algorithm

Fig. 10
figure 10

Bat algorithm flowchart

The bat algorithm consists of six main steps. These steps are explained next. Figure 10 demonstrates the flowchart of the bat algorithms. In addition, the algorithm 1 presents its pseudocode.

  1. Step 1:

    Initial population of bat and problem parameters.

    In general, any global optimization problem’s objective function \(f({\textbf {x}} )\) can be used to evaluate the optimality of solution \({\textbf {x}} \) using the following formulation:

    $$\begin{aligned} \text {min} \{{f({\textbf {x}} )\,|\,{\textbf {x}} \in {\textbf {X}}}\}, \end{aligned}$$

    where the objective function is \(f({\textbf {x}} )\); the decision variables are \({\textbf {x}} =\{x_i\,|\,i=1,\ldots ,d\}\). The possible range for each decision variable is \({\textbf {X}}=\{ {\textbf {X}} _i\,|\,i=1,\ldots ,d\}\), where \( {\textbf {X}} _i\in [\mathrm{LB}_i,\mathrm{UB}_i]\), where \(\mathrm{LB}_i\) and \(\mathrm{UB}_i\) are the lower and upper limits for the decision variable \(x_i\). The number of decision variables is denoted by d.

    This stage also requires the initialization of the bat-inspired algorithm parameters:

    • N: Number of artificial bat locations corresponds to the size of the population like the population size in PSO or GA.

    • \(f_{\mathrm{max}}\) and \(f_{\mathrm{min}}\) : Maximum and minimum frequency ranges are used to determine how much of the current bat position should be taken from the best bat position.

    • \(v_j\): the velocity vector for each bat is utilized to create a new bat position that is closer to the best bat position by adding a value to the existing bat position.

    • \(A_j\): the loudness rate as the bat positions are updated using the loudness rate.

    • \(r_j\): the pulse rate as the bat algorithm’s intensification is controlled by the pulse rate.

    • \(r^0_j\): the initial pulse rate which represents the amount of the intensification of each bat.

    • \(\alpha \), \(\gamma \): the loudness rate Ai and pulse rate ri are updated using two constant parameters in the range [0,1].

    • \(\varepsilon \) : The bandwidth range, in the intensification phase, the bandwidth range between [−1,1] is used to determine the size of any gradient descent.

    The parameters mentioned above will be explored in more details in the following steps.

  2. Step 2:

    Bat population memory initialization.

    In this step, the bat population memory (BM) is generated that contains sets of bat N position vectors in matrix of size N \(\times \) d (see Eq. (1)). This matrix is constructed at random using the following formula:

    \(x_{i}^{j}=\mathrm{LB}_i+(\mathrm{UB}_i-LB_i)\times U(0,1)\), \(\forall i=1,2, \ldots , d\) and \(\forall j=1,2, \ldots , {N}\).

    where, d refer to number of decision variables in particular problem, U(0, 1) is a function that generates a uniform random number in range [0,1]. According to the objective function values of the bat (i.e., solutions), the BM is filled in ascending order where \(f({{\varvec{x}}}^{1})\le f({{\varvec{x}}}^{2}) \le \ldots \le f({{\varvec{x}}}^{N})\).

    $$\begin{aligned} {\text {BM}}=&\left[ \begin{matrix} x^{1}_{1} &{} x^{1}_{2} &{} \cdots &{} x^{1}_{d}\\ x^{2}_{1} &{} x^{2}_{2} &{} \cdots &{} x^{2}_{d}\\ \vdots &{} \vdots &{} \cdots &{} \vdots \\ x^{N}_{1} &{} x^{N}_{2} &{} \cdots &{} x^{N}_{d}\\ \end{matrix} \right] . \end{aligned}$$
    (1)

    It is noteworthy to mention that the global best bat position \({{\varvec{x}}}^{\mathrm{Gbest}}\) is stored, where \({{\varvec{x}}}^{\mathrm{Gbest}} = {{\varvec{x}}}^{1}\) in this step.

  3. Step 3:

    Bats motion

    Each bat \({\textbf {x }}^j\) flies with a velocity \({\textbf {v }}^j\) that is modified by a completely random frequency \(f_j\) in this step. Then, in the search space, the new bat position \({\textbf {x }}'^j\) is changed as follows:

    $$\begin{aligned} f_j= & f_{\mathrm{min}} + (f_{\mathrm{min}} - f_{\mathrm{max}}) \times U(0,1) \end{aligned}$$
    (2)
    $$\begin{aligned} v'^j_i= & v_i^j + (x_{i}^{j} - x_{i}^{\mathrm{Gbest}}) \times f_j \end{aligned}$$
    (3)
    $$\begin{aligned} x'^{j}_i= & x_{i}^{j} + v'^j_i \end{aligned}$$
    (4)

    where \(\forall j=1,2, \ldots , {N}\) and \(\forall i=1,2, \ldots , d\).

    where \(\forall i=1,2, \ldots , d\) and \(\forall j=1,2, \ldots , {N}\). It is important to emphasize that this phase is referred to as the intensification step since the offspring bat position is updated based on the parent bat position multiplied by a small value. Such value is adopted so that the distance between the values in the offspring bat and global best bat position becomes closer. As a result, the current bat enhances based on the new bat position, with a propensity to become the global best bat position.

  4. Step 4:

    Intensification of the current bat population.

    In the bat-inspired algorithm, the randomness is controlled in this phase. The random walk which is close to the current selected best solutions plays an important role with the local search method to update each new bat position, with a probability range of pulse rate \(r_j\). To explain, the historical bat position \({\textbf {x }}^{\mathrm{best}}\) is originally selected from among the current best position. Following that, the new bat position \({\textbf {x }}'^j\) is modified as follows:

    $$\begin{aligned} x'^{j}_{i} = x_{i}^{\mathrm{best}} + \epsilon {\hat{A}}_j \end{aligned}$$
    (5)

    where \({\hat{A}}_j\) denotes the average loudness of all the bats. During steps 3 and 4, the new bat position \({\textbf {x }}'^j\) can be determined as follows:

    $$\begin{aligned} {\textbf {x }}'^j \leftarrow {\left\{ \begin{array}{ll} {\textbf {x }}^{\mathrm{best}} + \epsilon {\hat{A}}_j &{} U(0,1) > r_j \\ {\textbf {x}} ^{j} + {\textbf {v }}'^j &{} \mathrm{otherwise}. \end{array}\right. } \end{aligned}$$
  5. Step 5:

    Bat population memory update.

    In this step, the new bat position replaces the current bat position for each bat in BM using the two conditions:

    1. 1.

      \(U(0,1)< A_j\)

    2. 2.

      The objective function value of \(f({\textbf {x }}^{\mathrm{Gbest}})\) is superior than \(f({\textbf {x }}'^j)\)

    The value of pulse rate \(r_j\) and loudness \(A_j\) will be also updated as follows:

    The loudness \(A_j\) and pulse rate \(r_j\) values will also be adjusted as follows:

    $$\begin{aligned} r_j= & {} r^0_j (1 - e^{( -\gamma \times \mathrm{itr})}) \end{aligned}$$
    (6)
    $$\begin{aligned} A_j= & {} \alpha A_j \end{aligned}$$
    (7)

    where \(\mathrm{itr}\) is the current time step’s generation number. The average loudness of the bat decreases (i.e., moves to zero) based on the time step \(\mathrm{itr}\) approaches infinity, while the rate of pulse emission reaches the pulse emission initial rate.

    This can be written in the following form:

    $$\begin{aligned} A_j^{\mathrm{itr}}\longrightarrow 0 , r_j^{\mathrm{itr}}\longrightarrow r^j_0, \text { as } \mathrm{itr} \longrightarrow \infty \end{aligned}$$

    Lastly, the current best bat position \({\textbf {x }}^{\mathrm{Gbest}}\) is determined based on sorting all bats.

  6. Step 6:

    Stop criterion. The bat-inspired algorithm then repeats steps 3 through 5 until the termination condition is reached. Termination criteria are often associated with calculating time constraints, quality of the final outcomes, number of halted generations, or/and number of generations.

4 Recent variants of bat-inspired algorithm

The BA has a robust and straightforward searching mechanism that makes it a powerful optimizer for a massive number of optimization problems. However, like the other optimization algorithms, the BA has a shortcoming of not being able to efficiently investigate all search spaces, particularly the highly constrained and rugged ones. Therefore, the BA has been modified and hybridized with components from other methods to enhance its convergence attributes and to achieve better performance. This section presents most BA versions proposed to address different optimization problems.

4.1 Modified versions of bat-inspired algorithm

Several modified versions of BA have been established to improve its searching capabilities, robustness, and convergence properties towards achieving the optimal solution. The following subsections provide a review of the proposed modified BA versions.

figure b

4.1.1 Binary bat-inspired algorithm

The original BA is developed to tackle continuous search space. The algorithm is altered to solve binary search space optimization problems. Many researchers use different types of transfer functions to transform the optimization process of BA from continuous to binary domains [138, 181, 190, 216, 231, 306, 313, 336].

The binary version of BA is established to address the attribute reductions problem which is an essential preprocessing step used in different domains such as data mining and machine learning. The test-cost-sensitive attribute reduction is applied when the tackled problem uses cost-sensitive data. Xie et al. [313] proposed binary BA for test-cost-sensitive attribute reductions. The algorithm utilizes a new fitness function based on inconsistent object pair. The proposed method outperformed other methods in running time and classification accuracy, especially when applied to high-dimension data sets.

Secret information can be hidden in images using a technique called steganography. In [181], a binary BA was used for feature selection to distinguish stego images from cover images. The proposed algorithm was able to pick the most promising features from the original features. The selected features are utilized to train different classifiers. The proposed algorithm was able to enhance the detection accuracy while reducing the redundant features successfully.

In [336], binary cooperative BA is presented. The cooperative concept is implemented by adding a consensus term to the velocity equation. The developed algorithm is used to solve the topology design of leader-follower consensus. The proposed algorithm outperforms other comparative methods.

Jaafer et al. [138] proposed binary BA for structural topology optimization. The goal is to use specific materials with different amounts to develop the most robust structure. The authors developed a novel filtering algorithm to discover designs with less unusable materials and high structural strength. In addition, a volition penalty function is applied to ensure the algorithm convergence to the optimal solution. The algorithm efficiently generated solid designs which manufacturers can use.

Quintero-Duran et al. [231] introduced a modified binary BA to tackle the power loss minimization problem in the context of network reconfiguration with a large number of switches. The proposed algorithm created an improved initial population to search for the optimal solution. The method is evaluated against two methods, and it outperformed both methods in several problem instances.

The influence of the binary BA parameters using six benchmark test functions has been investigated [190]. The obtained results proved that when raising the bat transmission rate, then the convergence precision declines. In addition, the loudness increase improves the convergence speed.

The binary BA version was also utilized to tackle the problem of object tracking [216]. The proposed binary BA is modelled for tracking by utilizing the following parameters: object tracking error, absolute error, tracking detection rate, root mean square error, and time cost. The proposed tracker outperformed Alpha-Beta (\(\alpha \)-\(\beta \)) filter, linear Kalman filter (LKF), extended Kalman filter (EKF), and BA in terms of robustly tracking a random target.

A modified binary BA as a wrapper-based unsupervised feature selection method has been introduced in [234]. The mutation operator is utilized to enhance the algorithm exploration. The proposed methods were compared with decision tree induction, support vector machine, and Naïve Bayesian classifier. The evaluation results showed that the proposed method excelled at other comparative methods in identifying the minimum number of features and accuracy.

In [287], the authors adopted binary BA to solve the location management in cellular networks problem. This problem requires identifying users’ location to spot the suitable mobile station for the incoming call or data. The proposed method was compared against the other two methods, and it achieved very good results in solution accuracy and convergence speed.

The binary BA is also used to tackle the load frequency control problem in a power system [117]. The method is applied to solve three-area and four-area hydrothermal power plants. The evaluation results showed that the proposed methods outperformed other state-of-the-art methods: fuzzy logic artificial neural network and adaptive neuro-fuzzy inference system by transient analysis method.

The premature convergence dilemma has been escaped through an improved binary BA presented in [134]. The algorithm introduces dynamic inertia weight strategy to improve the algorithm magnitude of velocity. The proposed algorithm is evaluated using standard benchmark functions and a zero-one knapsack problem. The evaluation results on benchmark functions showed that the proposed algorithm excelled at two other methods. In addition, the proposed method outperformed other heuristic methods when it was applied to solve the zero-one knapsack problem.

The binary BA for feature selection is proposed to solve the credit scoring problem [296]. The algorithm would choose the minimum number of features that describe the client’s credit status to help the banks. The proposed technique is combined with radial basis function neural network. The evaluation results on the credit scoring dataset showed that the proposed algorithm outperformed other comparative methods.

Furthermore, the binary BA is developed to reduce the number of active elements in ultrasound imaging to lower the sidelobe level [290]. The obtained results showed the competitiveness of the proposed algorithm when compared with other comparative methods.

An improved binary BA, which is hybridized with a genetic algorithm, was proposed in [273]. The proposed algorithm was used to solve the problem of targeted offers in direct marketing campaigns, which is considered one of the vital problems for marketers to optimize return on investment. The evaluation results proved the algorithm’s ability to obtain competitive results.

Sharma and Sharma [264] proposed a quantum-inspired binary bat algorithm (QBBA) to select the most relevant features to solve the problem of classifying leukocytes in blood smear. The results prove the superiority of the proposed method when compared to other comparative methods with high average accuracy.

Akila and Christe [9] developed a multiobjective binary bat algorithm with greedy crossover for selecting the most promising features when solving classification problems. The proposed algorithm reduces the problem of prematurely converge of the algorithm. The evaluation results using UC Irvine (UCI) datasets prove the algorithm’s efficiency when compared against other existing bat-based algorithms and other nature-inspired algorithms.

Mouwafi et al. [208] tackled the problem of static and dynamic transmission network expansion planning (TNEP) using an improved binary bat algorithm (IBBA). The proposed algorithm utilizes a multi-V-shaped transfer function and adaptive search space to improve the quality of the obtained solution. The evaluation results show the robustness of the proposed algorithm when solving TNEP problems.

4.1.2 Discrete bat-inspired algorithm

The discrete version of BA deals with optimization problems with discrete variables in the search space. These types of problems required a BA version with adjusted operators to cope with the discrete nature of the problem variables.

A discrete version of BA was proposed by [130] to enhance the algorithm flexibility to deal with discrete search spaces. The algorithm was modified to address the probabilistic bicriteria optimization problem in three stages, including balancing exploration and exploitation capabilities, enhancing their performance, and utilizing support vector regression to find optimal solutions. In the experimental results, the proposed method is compared with three other algorithms. The results illustrate that the proposed method yielded an outstanding solution compared with the other methods.

Another discrete BA version was proposed in [144] to mainly address the disassembly sequence planning problem. The proposed method was introduced on the basis of two main stages, including discretization operations for the population and mathematical formulas for the problem. The optimization performance of the proposed method was examined and compared with three other optimization methods. The experiments showed that the proposed method achieved a better optimization capability than the other methods.

Riffi et al. [248] proposed a novel discrete version of BA. The proposed method includes three modifications to the original BA: representation schema associated with position and velocity updated equations, uniform crossover operator, and embedding a 2-exchange neighbourhood mechanism to enhance the local search capability of BA. A well-known NP-hard combinatorial problem, called the quadratic assignment problem, was used to test the performance of the proposed method. The results demonstrated that DBA produced better quality solutions and computation time when compared against other methods. These outstanding results proved that DBA could be an alternative method for QAP.

4.1.3 Chaotic bat-inspired algorithm

Chaotic map theory utilizes a random orientation with a nonlinear characteristic that can perform in a simple dynamic deterministic system. Various chaotic maps can be used when applying chaos with a mathematical equation applied to produce elements regularly. Chaos can be utilized to support an optimization technique to investigate new areas dynamically in search space. The chaos theory is utilized in BA to enhance the solution heterogeneity [51, 312, 323, 325].

In [51], Cai et al. integrated chaos theory with BA to tackle capacitated vehicle routing problem. The proposed algorithm is called chaotic discrete BA, and it initialized the BAT population using the chaos technique. To improve the algorithm exploration, two-opt strategy was used along with a local search. The obtained results proved the algorithm’s efficiency in terms of robustness and time.

A modified chaotic BA for image segmentation by utilizing 2D Tsallis entropy was proposed in [323]. The proposed algorithm is parameter-free as it utilized a random walk style search using Levy flights. The proposed algorithm is evaluated against four algorithms. The proposed algorithm obtained better results than the other methods for image segmentation.

In [312], the authors introduced chaotic BA based on the catfish effect. The proposed algorithm improved the algorithm’s search abilities and escaped from local optima. The algorithm outperformed standard algorithms and improved BA when solving real-world engineering optimization problems.

The chaos-enhanced BA is also proposed for solving global optimization problems [325]. They utilized velocity inertia weight to control the chaotic mapping steps. Such parameter boosts the BA convergence speed. The proposed algorithm outperformed the original method and the latest enhanced approaches.

Liang et al. [175] proposed a chaotic bat algorithm (CBA) to optimize generalized regression neural network (GRNN) called CBA-GRNN. The developed algorithm is used to compute efficiently a sustainability evaluation index system of innovation and entrepreneurship education for clean energy majors in colleges and universities. The algorithm is evaluated using a numerical example and it shows promising results.

Su and Yang [282] develop an improved chaotic bat algorithm (ICBA) to tackle the problem of renewable energy and the environment. The algorithm is self-adaptive as it modifies the loudness during the evolution. The algorithm utilizes Montana method with seasonal variation. The algorithm is evaluated the power generation results and their effect on the ecological flow. The obtained outcome shows that ICBA got the average annual operation schemes with minimum and suitable ecological flow requirements.

Li et al. [167] proposed chaotic cloud quantum bats algorithm (CCQBA). The algorithm utilizes the quantum computing mechanism (QCM) to modify the search position of BA. Also, the X-condition cloud generator is applied using a 3D cat mapping chaotic disturbance mechanism to get rid of poor fitness individuals during the evolution. The evaluation results using 9 classical comparative functions prove the superiority of the proposed method when compared against comparative algorithms.

4.1.4 Adaptive bat-inspired algorithm

In the context of optimization, the adaptive parameter notion refers to the algorithm’s automated tuning of parameters during the search process. This technique may assist the optimization process in determining the values for the parameters and determining the optimum solutions. The parameters of BA have been adopted during the search by several studies [50, 126, 133, 220, 246, 303].

Ren et al. [246] proposed an adaptive makeup transfer on the basis of the BA to address the problem of transferring a single makeup effect. The primary purposes of handling such a problem are to find the best weight value to get the appropriate makeup lightness, determine the fittest makeup style, and a suitable lightness for a specific person. In the experimental results, the proposed method proved its high performance compared with the existing algorithm of makeup transfer.

An adaptive BA version was proposed to address truck and trailer routing problems optimally [303]. The primary aim of proposing the adaptive BA is to provide an automation tuning strategy for the parameters and enhance the BA’s local search capabilities and find a better solution. Experimentally, in addition to addressing the truck and trailer routing problem, the proposed method’s performance is investigated using 21 benchmark problems. The proposed method proved its robust performance by outperforming all compared algorithms.

Nguyen et al. [220] proposed an adaptive BA version for cooperative spectrum sensing and maximized the detection probability for users. In the proposed method, the weight vectors are considered as the adaptive parameters to find their optimal values during the search and enhance the searching capabilities of the BA search agents. In the experiment results, the proposed method demonstrated its performance compared with the original BA in optimizing the problem.

An adaptive BA was adopted and proposed in [126] to find the best values of its controlling parameters that improve the local searchability of the search agents. The proposed method is mainly introduced for circular slip surfaces and identifies the riskiest slip surface and the lowest safety factor. The results showed the high efficiency of the proposed method by achieving improved and superior results.

Another adaptive version of BA was proposed by introducing a triangle-flipping strategy to update the velocity of bats and search in all search space regions [50]. The triangle-flipping strategy was proposed in three different ways with five different designs to find the best improvement strategy for the BA. The CEC2013 benchmarks dataset is used to verify and investigate the proposed method’s performance. The results proved the hybrid triangle-flipping strategy’s high performance in optimizing the problem.

4.1.5 Fuzzy-based bat-inspired algorithm

Several BA versions were combined with fuzzy controllers to optimize various parameters, thus improving the performance of those controllers.

In [236], the authors proposed a new approach based on the proportion equivalence fuzzy constraint class association rules and BA to enhance the mining rule fuzzy class association rules. In the proposed method, the proportion of constraint class estimation algorithm was first used to enhance the proposed method’s run time and accuracy in addressing the problem. Secondly, a new method, called proportion frequency occurrence count with BA, was proposed for pruning rules that satisfy the class constraints. Finally, the two methods are combined to propose an efficient algorithm. The experiment results showed the proposed method’s robust performance in optimizing the problem.

An adaptive inertia weight BA with Sugeno-function fuzzy search was proposed in [242]. Two primary phases were used in such a version. Firstly, an adaptive inertia weight is incorporated to optimize the bats’ velocity rate. Secondly, the random search in BA is replaced with a Sugeno-function fuzzy search. The CEC 2017 benchmark was used to evaluate the proposed method. In addition, the proposed method was compared with other state-of-the-art methods to investigate its performance. The results proved the high and robust performance of the proposed method compared with all compared methods.

4.1.6 Other modified versions of bat-inspired algorithm

Gaussian quantum-behaved BA was proposed in [133] by utilizing Gaussian probability distribution to produce random sequences. The main advantage of the proposed method is generating random coefficients to promote performance efficiently. The proposed method was examined using nineteen benchmark functions. The proposed method performed better than all compared algorithms in optimizing the problems and their objectives.

An enhanced BA was proposed to reach an accurate and robust parameter extraction process of various photovoltaic cells from experimental data [76]. The method is suggested to strike a remarkable balance between exploration and exploitation in the classical BA by adopting a specific equation to improve exploration capabilities and Lévy flight to enhance the exploitation capabilities. The simulated results demonstrated the competitive performance of ELBA in all evaluation criteria.

Farzin et al. [102] proposed a three-parameter Muskingum model based on the BA algorithm for flood routing. The primary role of BA is to find the proper values for three parameters associated with the Muskingum model to optimize its performance. In this study, three case studies with the lateral flow were used, including Myanmar flood, Karahan flood, and Wilson flood, to test the performance of the proposed model. The results showed the integration of the Muskingum model and the proposed method surpasses other existing Muskingum models in the literature.

The convergence behaviours of BA have been studied observing that BA tends to get stuck in local optima when dealing with multi-dimensional functions [237]. Further alternations were applied to the BA by modifying the dimensional size and providing inertia weight to address such a problem. Ten benchmark functions were utilized to test the performance of BA and modified BA. The convergence rate is analysed between the number of the iteration and the fitness function. The results prove that the modifications applied on BA yielded a better convergence rate that resulted in providing a better quality solution when compared with BA.

The modified version of BA is based on two operators, which are Lévy flights and adjustment factors, to gain an effective balance between local and global search capabilities of BA [170]. In the proposed method, the search strategy of Lévy flights is added to update the positions, promoting diversity in the populations. Furthermore, dynamic decreasing inertia weight and speed adjustment factor are coupled with BA to update the velocity, enabling the algorithm to balance global exploration and local exploitation. The proposed algorithm’s performance is evaluated based on a variety of benchmark functions and classical real-world engineering problems. The results of ten benchmark functions showed that the proposed method yielded a better convergence rate and quality solutions when compared with BA and other bio-inspired algorithms. In addition, the proposed method results are competitive in solving classical engineering design problems compared with previous methods in the literature.

Banati et al. [33] modified BA searching behaviour regards the stagnation in local optima and low convergence speed. To address such a problem, two modifications were applied to the BA searching procedure. In the first modification, the strategy of walking around the global best solution in the original BA is replaced by the best neighbour solution. This is to enhance the BA’s exploration capabilities and avoid the problem of premature convergence. In the second modification, the proposed method is coupled with an improved search strategy to enhance the convergence capabilities. In testing the performance of the proposed method, thirty benchmark optimization functions were used. The experimental results demonstrated that MMBAIS outperformed the BA and recent variants of BA.

A special mutation operator is incorporated within BA to provide diversity in its searching process [112]. This is to escape from the problem of stagnation in local optima. The performance of EBA was evaluated based on 24 standard benchmark functions. The results demonstrated that EBA converged better than other algorithms and produced better or at least comparable results in most benchmark functions.

In [12], the authors modified the BA to tackle its drawbacks related to losses of diversity during the search. This critical problem hinders the BA from reaching the regions that contain high-quality solutions. Coupled island model applies the modification within BA to introduce diversity in its searching process. The proposed algorithm is evaluated using 25 IEEE-CEC2005 benchmark functions, where these functions are different in respect to size and complexity. The performance of the proposed method was compared against 17 competitive methods. The experimental results showed that the proposed method produced outstanding results. In addition, the proposed algorithm was tested on three instances of a well-known engineering problem. The results demonstrated the effectiveness of the proposed method in solving this problem when compared with other algorithms.

4.2 Hybridized versions of bat-inspired algorithm

The other versions of BA depend on the hybridization concepts are presented in this section. BA is hybridized with deep learning methods, evolutionary-based methods, swarm-based methods, and other components and features of different methods. The most significant hybridization versions of BA are reviewed in the subsection below.

4.2.1 Hybridization with neural network

An improved BA was hybridized with the ANN for predicting wear properties of marble dust reinforced ZA-27 alloy composites [110]. The study’s primary objective is to find a balance between the exploitation and exploitation (diversity) phases of the BA. In addition, the inertia weight concept is introduced to improve the performance of BA phases. The BA is improved by adding a new searching equation for velocity position and Sugeno inertia weight to increase the searching diversity and flexibility. The experiment results showed the proposed method’s high performance in enhancing the overall accuracy and avoiding local optima stagnation.

In [163], the authors proposed a new optimization approach for spatial downscaling of long-term precipitation. The primary aim of the proposed BatNN is to enhance and address the gaps in the traditional ANNs. The Nash–Sutcliffe coefficient, mean absolute error, root mean square error, and square root of correlation of determination are the metrics that are utilized in the performance analysis of the models. The results presented and verified the proposed method in searching globally and locally, avoiding local optima stagnation and high results accuracy.

4.2.2 Hybridization with evolutionary-based algorithms

A hybrid BA with differential evolution algorithm was proposed in [235] based on IaaS cloud partial critical path and improved hyperelliptic curve cryptography mainly to determine the tasks’ parameters early start time and latest finish time, and the deadline in the cloud. The proposed method has been tested by constructing an IHECC system that authenticates the user in more than one way, not just depending on the deadlines for completing tasks. Furthermore, it authenticates genuine users in a CC environment by employing a secret-key system and encrypting the value. The simulation results proved that the proposed approach obtained better results in meeting the deadlines with low execution time.

Yue et al. [329] proposed a new hybrid method by combining the BA searching behaviour and crossover operation from GA to find the best thresholds for image segmentation. In addition, the proposed method used the smart inertia weight to achieve the best exploration and exploitation balance. In the meantime, the beta distribution is utilized to replace the random vector in order to update the frequency of bats. The evaluation results used a set of benchmark images with various thresholds levels to evaluate the proposed method performance and compared with other metaheuristic algorithms. The results presented that the proposed method achieved better results compared to the other methods.

The hybrid method using BA and harmony search algorithms is proposed to avoid early convergence of distributed generation [52]. In order to find a fast combinatorial solution, the best features of the BA and HS were combined. The leading search is carried out by BA, which has a high convergence rate, whereas HS is started only when the search is stuck in a local optimum. When the HS finds a new good solution, the original algorithm BA is reactivated, and the cycle is repeated until the last repetition. The results determined that the proposed method has an excellent converging to the optimal solution.

The modified BA is hybridized with the differential evolution algorithm to improve the exploitation potential further and provide a superior performance of the BA [324]. The modified BA is proposed for a better balance between exploration and exploitation. The proposed method is examined using CEC 2005 and CEC 2010 benchmark functions and CEC 2011 real-world problems. The performance of the proposed method is compared with other state-of-the-art methods. The proposed method showed high performance compared with all other methods.

4.2.3 Hybridization with swarm-based algorithms

The two stages of Filter-based and wrapper-based selection techniques are proposed to speed up the convergence rate and improve accuracy scores of an SVM classifier, respectively [10]. The BA has been used in the wrapper-based stage. The filter-based technique is suited for applications that require high-speed online training on large datasets such as video surveillance and intrusion detection, the wrapper-based technique is appropriate for applications that require high accuracy, such as spam filtering. It is argued that two stages techniques are useful to improve the performance of supervised learning algorithms in general.

A hybrid of glow-worm swarm optimization and BA was used for segmentation of retinal blood vessels is described in [269]. The algorithm has three stages: decomposing the input image using discrete wavelet transform, the approximation and gradient images are rebuilt with low and high frequencies coefficients, respectively, and an optimal threshold value is quickly found by the bat operators. The computed bat schedules are the input to the glow-worm swarm optimization to report the optimal solution. At last, this optimal solution is used to segment the filtered image to yield the segmented vessel image. It has been shown experimentally that the proposed algorithm outperformed similar methods for vessel segmentation.

To overcome the scheduling problems in a cloud computing environment, Valarmathi et.al. [299] described an algorithm that utilizes ranging and tuning functions while solving the PSO affinity problem in inertia weight. Multiple virtual machines were used to analyse the performance of the proposed algorithm. The algorithm is proven to produce a better schedule and convergence rate.

Another hybrid algorithm that combines wolf and BA for optimizing connection weights in a multi-perceptron network was presented in [6]. While the wolf algorithm is used for exploration purposes, the BA is utilized for exploitation. The proposed hybrid algorithm outperformed other algorithms regarding accuracy and convergence rate while having analogous computational cost. However, fine-tuning of the parameters was not performed.

Solving large-scale engineering problems pose a challenge simply because of early convergence and the ability to get trapped in a local optimum. An attempt to address such problems is reported in [227] by proposing a hybrid swarm-based optimization algorithm called upgraded-bat-cuckoo search-Sugeno inertia weight algorithm. It is shown that the proposed algorithm managed to find the optimal global solution compared to other similar algorithms on large-scale problems. Besides, the convergence rate is enhanced while maintaining stability between exploitation and exploration. Furthermore, the proposed algorithm is successfully tested on constrained real-world engineering problems. However, the algorithm does not address the multiobjective optimization problems.

An advanced planning and scheduling tool to solve production scheduling problems for capital goods with many levels of product structure and multiple resource constraints was proposed in [54] by combining discrete BA with krill herd-based algorithms. The results are promising to use the proposed algorithm for complex scheduling scenarios faced in the capital goods industry. However, integrating preventive maintenance scheduling problems in such an industry is missing.

Improving the food routing method based on the hybrid BA and particle swarm optimization was proposed in [90]. The idea is to eliminate the weak solutions produced by the BA to avoid local optima. The application area of this algorithm is in the flood routing field. It is shown that this algorithm can reduce the computational time while increasing the chances of finding the best solutions. It is suggested that the proposed algorithm based on the 4PMM is most suitable for advanced Muskingum models for flood routing prediction modelling.

The optimization of a hybrid bee colony and BA was proposed in [256] to perform reverse logistics (end of life reverse logistics disassembly to order) optimally. The intention is to find the suitable elements for lowering the disassembly cost and time taken to complete the disassembly to order process. It has been shown experimentally that the proposed algorithm is effective in reverse logistics for end-of-life products. It is a useful tool for the manufacturing industry.

A hybrid algorithm that combines the cuckoo search algorithm with BA is proposed in [265] to build on the success of both algorithms. That is using a cuckoo search algorithm for reporting the best solution, which is fed to the BA while avoiding being trapped in local minima. However, the performance should be checked on real-life problems.

4.2.4 Hybridization with other components

A new hybrid bat method was proposed to address the enforcement problem optimally [286]. The problem is formulated as a weighted K set covering problem to be supported on range-represented hyperrectangles. The topological characteristics of various policy forms are first evaluated using the proposed method. Heuristic information from a hybrid firefly bat algorithm was used to guide the enforcement algorithm’s design significantly. An approach to policy enforcement that requires only a small number of enforcement network nodes to organize the various policy subsets in a greedy manner is also proposed at the same time. The proposed method demonstrated its results compared with other compared results in terms of all objectives.

Chen et al. [59] proposed an improved BA with an extremal optimization algorithm (EO) to overcome BA weaknesses such as problems with high-dimensional optimization, limited local search capabilities, a lack of diversity. An enhanced technique for updating the proposed global search capability is proposed to find the solutions generated by the randomly selected bats. An EO algorithm with good local search capabilities enhances the exploitation capacity. In addition, a monitor mechanism and Boltzmann selection are used to maintain an appropriate balance between exploration and exploitation abilities. In the simulation results, the proposed method proved its high performance in exploring the search space and obtaining better results than other methods.

Two variants of BA, called PCA_BA and PCA_LBA, were proposed in [69] to improve its global searchability. To maximize the impact of the proposed approach, the golden section method is used to define a generation threshold and a correlation criterion. In the experimental results, the proposed methods were tested using CEC’2008 large-scale benchmark functions. The results proved the proposed method’s ability to explore search spaces and enhance the results.

4.3 Multiobjective bat-inspired algorithm

The multiobjective version of BA is proposed to deal with optimization problems with more than one objective function. Indeed, BA has been successfully tailored to cover these types of optimization problems. Several multiobjective versions of BA have been proposed in many studies as reviewed below.

A new multiobjective BA is presented to handle the problems of high computation and non-convex property associated with multiobjective optimal power flow problems [57]. In the proposed method, two operators are added to the basic BA including the integration of wight coefficient and the simplification of the local search, in order to enhance the local search capabilities and speed updating process. Furthermore, an efficient constraint-priority non-inferior sorting strategy is proposed to obtain a satisfactory-distributed Pareto Frontier. Extensive experiments are conducted on IEEE 30-node, 57-node, and 118-node systems to optimize the fuel cost, power loss, and emission, demonstrating the MONBA-CPNS algorithm’s superiority over other state-of-art algorithms.

The chaotic adaptive multiobjective BA is proposed to address the cascade hydropower reservoirs operation problem [281]. The problem is formulated as a multiobjective optimization problem considering maximizing power generation benefit and firm power output. The proposed method initialized the population by adopting a logical mapping function to enhance population diversity. Moreover, further modifications are applied: mutation operations and self-adaptive local search strategy to avoid stagnation in local optima. Experiments are performed on the high performance of the proposed method in addressing the problem.

The multiobjective BA was introduced for adaptive adjustment of cyclic prefix length in multi-carrier code division multiple access systems based on the channel conditions [260]. The experiment results showed that the bit errors are minimized and the maximization of the channel capacity.

In [347], the authors proposed multiobjective BA to optimize the security and the quality of service required for the real-time operating system. The results showed that the proposed managed to produce a set of solutions that guarantee the security of the intrusion detection systems. In [25], the authors proposed a multiobjective BA to optimize the cost of allocating human resources in uncertain circumstances for the emergency department. Three objective functions were handled in the optimization process, including hospital performance, damage penalty, and wage cost. The proposed method was tested on Bu-Ali hospital, and the results reveal a significant reduction in emergency human resources costs.

The BA based on the idea of quantum computing for solving multiobjective economic emission dispatch problems was proposed in [192]. This is to alleviate the problems that were commonly encountered by optimization algorithms in this domain, which are long computational time, parameter adjustment, and immature convergence. Extensive experiments conducted on a six-unit power generation system for variant load demands proved the high performance of the proposed method. In [88], the authors introduced multiobjective BA to model and solve the community detection problem. The proposed method is tested on four real-world datasets. The performance of the proposed method is evaluated against even state-of-arts methods from the literature. The comparison is conducted according to modularity and normalized mutual information. The results demonstrated that the proposed method achieved better results than other methods in one dataset and competitive results in other datasets.

The multiobjective BA is to find the optimal parameters of a fractional order PID controller adopted for aircraft pitch control systems to reach a high acceptance level of robust response. The performance of the proposed method is validated by comparing its results with other tuning methods; it showed that the proposed method managed to produce better results than other methods. In [249], the authors presented a multiobjective BA for addressing constrained optimization problems. In the problem, the generation of model parameters values is based on arbitrary continuous distribution. To adapt BA for such problems, the generation of random variables is subjected to follow a certain distribution. After that, Monte Carlo simulation is utilized to achieve the feasibility of stochastic constraints. Eventually, the proposed method is employed to find the values of the optimal parameters. The experiments were conducted on numerical examples, and the results showed that the proposed method was more robust and efficient against other algorithms.

The multiobjective BA based on the weight sum method was presented to find the optimal location and capacity of distributed generation in a radial distribution system [244]. Later, fuzzy-based technique is used to rank the solutions and select the best compromise solution. Based on the nature of the problem, two objectives will be handled by the proposed method: improving the voltage stability profile and cutting down the power Losses. The proposed method is tested on variants of IEEE test feeders. It can be inferred from the result that MOBA can provide the best setting for DG regarding location and capacity, enhancing the power system’s performance.

The enhanced version of multiobjective BA is produced to address the Golomb ruler generation problem [34]. The OGR is formulated as a multiobjective optimization problem as it is employed as a channel allocation in optical wavelength division multiplexing WDM systems. The BA is enhanced by applying multi-population instead of single population and embedding differential mutation operator. This is to explore the problem search space effectively. The performance of PHMOBA is compared with other algorithms. From the obtained results, it can be concluded that the proposed method is an efficient multiobjective optimization algorithm. In [343], a multiobjective discrete BA version is presented to detect community structure in dynamic networks. In the proposed method, the BA is modified by added turbulence operation and mutation strategy within its searching process to promote diversity in the population. In addition, two mechanisms are applied during the generation of the population to maintain the elite solutions, which are turbulence operation and mutation strategy. Extensive experiments on synthetic and real networks demonstrated that the proposed method resulted in better accuracy and lower error rate against other algorithms.

The Portfolio optimization problems are formulated as multiobjective fuzzy portfolio selections under the mean–semivariance framework and taking into account several considerations at the same time [61]. This study integrates multiobjective mean–semivariance–entropy with a hybrid BA for fuzzy portfolio selection. Experiments conducted on numerical examples showed that the proposed method effectively solves the fuzzy portfolio selection problem.

The enhanced version of multiobjective BA is proposed for addressing the optimal power flow problems [56]. BA is enhanced by improving its local search capability using the monotone random filling model based on extreme learning. In addition, global search in BA is enhanced by two operators (i.e., crossover and mutation). In this research, the fuzzy-based Pareto dominance method is employed to construct a constrained Pareto optimal set. Experiments are simulated based on IEEE-30, 57, and 118 bus systems, and in regards to evaluation criteria: Total generation cost, emission, and power loss were considered. The outstanding results proved that NHBA-CPFD is a solid alternative method to deal with such problems.

The multiobjective BA is also introduced to discover exciting and valuable rules in the numerical association rules mining problem [128]. Four quality measurements are involved in two objectives to optimize the rules search space to find more valuable and understandable rules. Extensive experiments on well-known multi benchmarks demonstrate that the proposed method produced competitive results compared to the other three methods, and it managed to discover useful and interesting rules.

The multiobjective optimization algorithm was also used for combined economic/emission dispatch using hybrid BA [172]. Many modifications and extra operators were applied on the proposed method including modified crowding-distance sorting method, elitist nondominated sorting method, modified comprehensive learning strategy, a random black hole model, and chaotic map. This is to have better balancing between exploration and exploitation in the proposed method. Extensive experiments on numerical examples from variant IEEE systems demonstrated that the proposed method efficiently solved the economic/emission dispatch problem.

The multiobjective BA was introduced for shell and tube heat exchangers [293]. Two objectives are entailing carefully handling of this problem, which is effectiveness and total cost, and taking into account simultaneous considerations: baffle spacing’s, baffle cuts, tube length, pitch, and tube layout pattern. The BA performance is verified on one case taken from the open literature. The BA demonstrated more accurate value, confidence, and quick convergence when compared against the genetic algorithm.

In [344], the authors introduced a modified BA to tackle the multiobjective flexible job-shop scheduling problem. Three objectives related to production performance were handled in the optimization process: total workload of machines, the critical machine workload, and makespan. In the proposed method, the initialization of the population is based on the integration of heuristic and random rules. Moreover, five different neighbourhood structures were added to update bat’s positions and eventually local search algorithm is coupled with BA to empower its searching capabilities. The results proved the proposed method’s performance in addressing the problem.

5 Applications of bat-inspired algorithm

The BA is successfully applied for several optimization problems that belong to many domains such as electrical and power system, wireless and network system, environment and materials engineering, classification and clustering, structural and mechanical engineering, feature selection, image and signal processing, robotics, medical and healthcare, scheduling domain, and many others.

The optimization problems addressed by BA in these applications are varied in their nature include highly dimensional, complex, and non-convex problems, where the classical BA alone is impractical to apply straightforwardly to these problems without any modifications. In this review, other than BA applications, different aspects are covered include variants of BA and its pros and cons. This is to motivate the researchers to explore further efforts in investigating BA in other applications. This review provides a comprehensive but not detailed summary of BA applications. Figure 11 shows the BA application domains.BATapplications

Fig. 11
figure 11

Overall BA applications

As it can be seen from the figure (see Fig. 11), most of the BA applications under electrical and power system research domain. In this domain, the optimization problems addressed by BA are economic/emission dispatch [40, 173, 267, 292], power economic dispatch [210], reactive power dispatch [209, 214], optimal power flow [326], electronics, control, and communication [1, 38, 132, 226, 257, 266], solar PV parameter estimation and solar radiation forecasting [3, 310, 337], photovoltaic energy system [76, 94,95,96, 145, 176, 194, 225, 259], forecasting of petroleum consumption [58], load frequency control [19, 92, 93], energy consumption [104, 219, 261], proportional-integral-derivative (PID) controller [60, 122, 164, 187, 188, 193, 224, 233, 330], wind speed forecasting [67, 174, 222, 309, 311], power system [30, 31, 36, 70, 81, 91, 106, 121, 162, 258, 278, 284], dam–reservoir operation [99], and others [136]. These applications are presented in Fig. 12.

Fig. 12
figure 12

BA applications in electrical and power system domain

In the wireless and network system domain, the BA is able to provide a promising solution to various application problem in wireless sensor networks [48, 49, 53, 184, 191, 218, 219, 253, 333, 341], networking and cloud computing [169, 198, 211, 298], antenna array optimization [72, 83, 115, 150, 272, 297, 300], networks security and privacy [113, 142, 148, 206, 215, 268, 275, 276, 340], distribution networks [331, 332], and VANET, Ad-hoc, and IoT [24, 68, 276]. Figure 13 presented BA applications in the wireless and network system domain.

Fig. 13
figure 13

BA applications in wireless and network system domain

Figure 14 shows the applications of BA in environment and materials engineering domain. Several problems were tackled by BA include weather prediction [84, 85, 304], food processing [101], air pollution [131], water resource [228], GIS [89], flood susceptibility assessment [8], and materials [140].

Fig. 14
figure 14

BA applications in environment and materials engineering domain

In the classification, clustering, and forecasting domain, the BA is successfully applicable in several problems such as prediction and classification [18, 20, 74, 123, 125, 183, 185, 195, 205, 212, 245, 285, 294, 307], data clustering [17, 27, 46, 98, 223, 234, 238, 295, 301, 345, 346], data forecasting [39, 168, 243, 335], and train the feed forward neural network [75, 171, 213]. These applications are shown in Fig 15.

Fig. 15
figure 15

BA applications in classification, clustering, and forecasting domain

The BA in the domain of structural and mechanical engineering has shown powerful results in solving challenging problems such as Pin-jointed, cantilever beams plane frames, tubular columns, deflection minimization of I-beams, and truss system [21, 73, 141, 189, 262], structural engineering design [114, 197], manufacturing services [82, 314], tuning of mass dampers [37], and transport network design [279]. These applications are depicted in Fig. 16.

Fig. 16
figure 16

BA applications in structural and mechanical engineering domain

The BA in the domain of feature selection has shown outstanding results and proved its scalability in addressing a such complex and high-dimensional problems such as gene selection [7, 11, 22, 55, 66], disease detection [64, 65, 135], cancer classification [143], fault diagnosis [105], and online feature selection [247]. The BA applications in this domain are presented in Fig. 17.

Fig. 17
figure 17

BA applications in feature selection domain

In the medical and healthcare domain, BA introduced promising solutions for patient monitoring [180, 291, 319], general health [291, 334], and medical applications [120, 158]. These applications are demonstrated in Fig. 18.

Fig. 18
figure 18

BA applications in medical and healthcare domain

Another domain where using BA shows its superiority is image and signal processing, in which the algorithm solves image segmentation [28, 35, 45, 77, 78, 196, 204, 221, 229, 255, 322, 323, 327, 328], face recognition and fingerprint identification [23, 44, 80, 230], magnetic resonance (MR) brain tumour classification [151,152,153, 271], multilevel image thresholding [79, 207, 254], and signal processing application [5, 161, 302]. Figure 19 plots the applications of BA in image and signal processing domain.

Fig. 19
figure 19

BA applications in image and signal processing domain

In robotics, several problems have been solved successfully by BA include tracking system [62, 63], mobile robot [118, 217], path planning and UAV path planning [178, 182, 305, 342], and robotics [166, 232, 250, 283, 289]. These applications are demonstrated in Fig. 20.

Fig. 20
figure 20

BA applications in robotics domain

Lastly, in the scheduling domain, BA advanced promising and powerful solutions for most challenging problems such as job Shop scheduling [42, 71, 186, 263, 315], production scheduling [157], energy-aware workflow [116], network and cloud scheduling [159, 179, 338], and water resources management [124]. Figure 21 plots the applications of BA in the scheduling domain.

Fig. 21
figure 21

BA applications in scheduling domain

6 Critical analysis of bat-inspired algorithm

As summed up in the BA variants and applications, BA has acquired significant attention geared towards large optimization problems variations. This is due to the following remarkable attributes: it is simple in its concepts, it requires fewer parameters to be tuned, it is easy-to-use, it is tailorable and flexible, and it is a sound-and-complete algorithm. Nonetheless, as similar to other metaheuristic-based algorithms, the BA suffers from concur shortcomings and limitations related to the convergence properties when the non-smooth search space is addressed.

Generally speaking, the BA suffers from a premature convergence dilemma, especially when dealing with the large-sized and/or rugged and deep search space problems. This is because the BA cannot easily strike a suitable balance between the wide-range exploration and the near-by exploitation processes during the search. This is indeed a common limitation of metaheuristic-based algorithms. This dilemma has been addressed using various strategies through different modification versions [181, 190, 216, 231, 313, 336] and hybridization versions [110, 163].

The second drawback of the BA is that the value of loudness and pulse rate is modified by a linear formula. Therefore, the exploration stage in the BA uses a straightforward random altered method that is sometimes stuck in the local optima. Without adjusting these two equations, it could be hard to utilize the BA for various applications. For example, the BA operators are adjusted to cope with the theme of optimization problems with discrete search space [130, 144, 248].

Another limitation of BA is based on the concepts of No Free Lunch (NFL) Theorem of optimization [308]. This is a very famous theorem in the optimization domain which prove that there is no superior optimization method for all optimization problem. Thus, the convergence properties of BA are strongly connected with the nature of the problem search space. Consequently, the BA optimization structure must be adjusted based on one-by-one problem cases. For example, the multiobjective optimization problems were addressed by adjusting the operators of BA structure to deal with the search space treating multiobjective angles [57, 281, 347].

The heavy usage of global-best solutions during the search can affect the convergence behaviour of BA. This can lead to wrong directions in the search space which could result in a premature convergence. Some studies addressed this drawback by using different natural selection schemes borrowed from other base evolutionary algorithms such as proportional selection scheme, tournament selection scheme, and rank selection, [13]. Another study used a triangle-flipping strategy to solve the problem of velocity updating domination [50].

Dealing with large-size or highly-dimensional optimization problems is also a critical limitation of BA algorithms. Indeed the performance of the BA algorithm is highly affected by the dimensionality of the problem on hand. In the machine learning domain, the dimensional reduction methods are normally used to reduce the search space and to deal with a subspace that is very potential to have the global optima [69]. Some studies take into consideration the parallel environment using the island model [12, 71]. Other shortcomings are related to the stochastic behaviour of BA. The stochastic behaviour leads to the pseudo-random situation where the cyclic nature of BA may affect the search. The cyclic nature refers to some pattern solutions repeating their selves in the last curse of the run which adapts a cyclic behaviour resulting in an endless optimization loop. These stochastic operators might not have a critical impact on small-sized problems. Finally, an additional limitation is that in the current BA, the motion to the new location is not carried out unless it is much better than the existing global-best solution, which limits the motion of the search agents.

7 Open-source software of bat-inspired algorithm

In order to provide a comprehensive review of bat algorithm for researchers community, open-source codes of the different versions of the BA are indicated here. It can be seen that the BA is very popular algorithm which gain tremendous concerns from wide range of the research communities. The source code of the original bat algorithm is speared on the web coded in different programming languages such as MATLAB, Python, Java, C++, and R languages. The bat algorithm is coded in MATLAB to solve several test functions and provided as free for researchersFootnote 1. Furthermore, the BA is coded in MATLAB for linear, nonlinear optimization problemsFootnote 2. The Python code of standard BA for mathematical optimization function is also given inFootnote 3,Footnote 4. Another important domain that addressed heavily by BA-based works related to the engineering optimization problems where the code is providedFootnote 5. The feature selection problem in machine learning is also addressed using BA where the code is publicly availableFootnote 6. To increase the diversity and publicity of the BA, the Java programming language is used and provided as an open-source codeFootnote 7,Footnote 8.

The source code of some modified versions of bat algorithm which are used by the researchers to solve some optimization problems is publicly available. For instance, multiobjective bat algorithm (MOBA) implemented in MATLAB is available by Xin-She Yang and availableFootnote 9. The MATLAB code of the binary bat algorithm is released for researchersFootnote 10, Footnote 11.

In addition, the MATLAB source code of the novel bat algorithm (NBA) is released by Xian-Bing Meng in MathWorksFootnote 12. In NBA, the bat algorithm is modified with different search strategies with a self-adaptive local search strategy. Finally, the MATLAB source code of the bat algorithm for solving the economic dispatch problem is provided by RMS Danaraj in MathWorksFootnote 13.

8 Conclusion and future works

The standard form of bat-inspired algorithm (BA) has revealed efficient performance in tackling optimization problems with non-convex, nonlinear, multiobjective, multi-variable, and constrained characteristics. The BA has been able to tackle a wide range of applications with binary, discrete, permutation discrete, continuous, and structural search space. Due to the complex nature of the optimization problems, the optimization structure of the BA has been modified. Therefore, several versions of BA have been proposed by utilizing other components extracted from efficient optimization methods. In other trials, the BA is hybridized with other heuristic or metaheuristic-based algorithms to improve its performance. Other variants of BA are proposed to deal with the multiobjective optimization problems being addressed.

The proposed versions did not impact the optimization structure of BA but the efficiency of its adjusted operators became superior. The modifications could be utilized in the BA parameters to be tuned, the population structure and how it is evolved, and the operator behaviours. Most BA variants are a minor change on the main steps of the evolution loop. The main aim of these modifications is to be in line with the search space complexity of the optimization problem. The other variants of BA could be a hybridization with either heuristic or metaheuristic-based algorithms. This type of hybridization can be designed to add a new step or operator in the evolution loop of BA. The hybridization with heuristic is normally used to handle some features or constraints of the problem on hand (i.e., problem-dependent).

The area that is mostly tackled by BA is the engineering problems, specifically, the electrical and power system domain. The majority of these problems have non-convex, nonlinear, highly constrained features in the search space. Furthermore, the wireless and networking domain is also gain very tremendous attention from the BA research communities due to the BA’s successful characteristics. The machine learning processes such as classification, clustering, and prediction require optimizing their configurations to increase their performance. BA has heavily been employed with machine learning methods to find the best-parameter vector, or to generate an independent clustering or classification algorithm based on BA optimizer.

As the BA, its variants, and its successful applications reveal a very powerful research environment over the last 5 years. Several research directions can be handled in the future to further increase the viability and visibility of BA. Some of these possible research directions can be described as follows:

Structured population:

The structured population normally utilizes island models, cellular automata, hierarchical models, etc. [177]. The main aim of such utilization is to control the diversity during the search. The structured population mechanism divides the population into several sub-populations each of which can be considered as an input to isolated computational intelligence. The diversity behaviour of BA has been improved through the island and parallel models [12, 34, 119]. However, the other structured population models can be investigated in the future.

Selection mechanisms:

The BA is a swarm intelligence algorithm where the local best solution is normally used to drive the other members in the swarm. Conventionally known, the path to the global optima is not necessarily derived from the best solution reached. Therefore, the exploitation behaviour shall be relaxed from some optimization problems. Some works handle this issue based on the natural selection mechanisms suggested in evolutionary algorithms such as roulette wheel selection, ranked-based selection, and tournament selection [13, 23]. In the future, these selection methods can be further investigated for BA to solve NP-hard problems.

Adaptive parameters:

As commonly known, the performance of any metaheuristic algorithm is highly affected by the initial parameter tuning. BA has several parameters such as velocity vector \(v_j\), loudness rate \(A_j\), Initial pulse \(r^0_j\), two constants values (i.e., \(\alpha \), \(\gamma \)), and bandwidth range \(\varepsilon \) which should be initiated in advance. For researchers, it is a big dilemma to find the optimal configurations for such parameters. Therefore, there are a considerable research works to build parameterless or parameter-free BA that has been recognized [152, 153]. In the future, a robust parameter-free BA can be proposed to serve as a black box to reach better publicity.

Hybrid strategy:

Due to the complex nature of most search spaces of real-world problems, memetic techniques have been investigated to improve the trade-off between the exploration and exploitation processes of BA when they deal with a deep and rugged problem search space [161, 183, 328]. In the future, other means of hybridization strategies can be further investigated for BA to be more feasible for optimization problems with nonlinear, non-convex, highly constrained, combinatorial, multimodal optimization problems.

Large dimensional data:

Tackling optimization problems with huge search space can be also considered a serious issue where BA shall be adjusted accordingly to deal with this kind of problem. Some work is done to deal with large-scale optimization problems with novel variants of BA [43].

Dynamic and robust optimization:

Dynamic and robust optimization are two directions in the optimization domain. In dynamic optimization, the global optima are changed over time there is no work done by BA to tackle such dynamic search space. In robust optimization, the level of uncertainty used leads to an increase or decrease in the level of reliable solutions. Also investigating these kinds of problems using the proper version of BA is highly encouraged.

Theoretical analysis of its optimization framework:

Although BA has revealed very successful outcomes for a wide range of optimization applications, the secrets behind this success are still vague. It is highly recommended to analyse the convergence behaviour of BA to answer why it performs better than other techniques. The fitness landscapes of the problem related to BA behaviour can be also studied.