1 Introduction

Some real-world problems are ordinarily modeled as optimization problems. Optimization usually means looking for specific settings for a set of variables to minimize or maximize a defined goal presented as an objective function [1]. The solutions to these problems are either bounded or unbounded, which reside in the problem search space. Some of these solutions are infeasible, while others are feasible. From the set of viable solutions in the search space, the ultimate goal is to find the globally optimal solution(s) that achieve the fittest value of the objective function. Traditionally, such problems are tackled by calculus-based methods, and most recently, they are undertaken by metaheuristic-based methods. Calculus-based methods are effective when the problem search space is small, and the search space is easy. However, metaheuristic-based methods are more effective when working on large-scaled and rugged search spaces.

Metaheuristic-based algorithms can be categorized into local search and population-based techniques [2]. Local search techniques improve only a single solution at each iteration by utilizing neighboring techniques governed by specific pivot rules trying to empower the developed solution to escape from local optima [3]. Such techniques suffer from poor exploration but exploit the initial solution’s search space region more rigorously. On the other hand, population-based techniques utilize a set of solutions (called population). In each run, these solutions are enhanced by producing a “more pleasing” solution(s) using recombination, mutation, and selection operators. Such techniques are considered to be effective in exploring wider search space, but they cannot exploit a specific region deeply in the search space [4]. The population-based meta-heuristic algorithms can be classified into human-based, physical-based, swarm intelligence, and evolutionary-based [1].

Swarm intelligence algorithms mimic the animal behavior as a group or a swarm, such as birds, fish, wolves, salps, ants, bees, whales, etc. The core idea is that swarm members follow the group leader(s) to get the food or catch prey. Such algorithms started in 1996 with particle swarm optimization (PSO), which imitates the behaviour of a group of birds [5]. Other algorithms from this category include: ant colony optimization (ACO) [6], grey wolf optimizer (GWO) [7], Coronavirus herd immunity optimizer (CHIO) [1], bat optimization algorithm (BOA) [8], krill herd optimization (KH) [9], and many others [5].

Sparrow search algorithm (SSA) is a recent swarm intelligence algorithm introduced in 2020 by Xue and Shen [10]. The SSA mimics the behaviour of the sparrow population of birds foraging and anti-predation. The algorithm formulates the search for better food sources by the sparrow population as an optimization algorithm. The algorithm shows superiority in the convergence rate, search precision, and stability. As a result SSA is applied to tackle a wide spectrum of optimization problems, such as feature selection [11], energy consumption [12], scheduling [13], engineering problems [14], communication problems [15], and several other applications presented in Table 1.

Table 1 Application of SSA algorithm on different domains

The no free lunch (NFL) theorem [16] states that one algorithm cannot excel in solving all optimization problems. This led researchers to modify SSA or hybridize it with other techniques to enhance its search space exploration and exploitation capabilities [17,18,19,20]. These changes are the modified SSA with six main modifications that include chaotic [21, 22], random walk [12, 23], discrete [24, 25], adaptive [26, 27], opposition-based learning [28, 29], Lévy flight-based [30, 31], and others [15, 32]. More versions are introduced such as multi-objective SSA [33, 34], and utilizing SSA as a component in other techniques (e.g., neural network [35, 36] and support vector machine [37, 38]).

The SSA is investigated in this review to highlight its power and deficiency when tackling optimization problems as follows:

  • The review first examines the SSA adoption by the research community in Sect. 2. The growth of its publication, citation, and application in different domains since its development in 2020 is presented.

  • Then Sect. 3 demonstrates how it is inspired as a swarm intelligence algorithm that mimics the behavior of the sparrows’ population. Its mathematical modeling, flowchart, and pseudo-code are presented as well.

  • The recent variants of the SSA are demonstrated in Sect. 4. This includes the original SSA, the modified SSA with six main modifications, the multi-objective SSA, and the hybridized SSA as a component in other techniques.

  • Thereafter, the successful utilization of SSA to tackle problems in different domains is portrayed in Sect. 5. The collected research work is categorized according to the tackled problem and the specific problem is defined along with the SSA version used to solve the problem.

  • The open-source software of SSA and online lectures are presented in Sect. 6. Using the provided lectures links, this can help other researchers utilize the presented code or learn more about the SSA.

  • The algorithm shortcoming when solving optimization problems is then analyzed in Sect. 7. The SSA exploration and exploitation capabilities are investigated, and possible solutions for challenges faced when using the algorithm are offered.

  • Lastly, the conclusion and possible tracks for future work are highlighted in Sect. 8. The available research gaps are presented, and new future research directions are recommended.

The review paper can help researchers who are going to tackle optimization problems using SSA.

2 The Growth of SSA in the Literature

The emergence of the SSA has attracted the attention of the optimization research communities due to its impressive features. It is simple to adapt, easy to use, flexible and scalable, and sound-and-complete. In addition, SSA can efficiently strike the right balance between exploration and exploitation during the search through its impressive operators. Therefore, the SSA has been rapidly grown over the last two years. This section provides the research growth of the SSA in terms of many aspects: the total number of articles that use SSA as their main contribution, the total number of citations of SSA articles per year, and the research topics used SSA to tackle their optimization problem. Also, the prestigious publishers that accept the SSA works, top countries that published SSA-related research, top institutions and authors that focus on the SSA in their research areas. It should be noted that such information about the growth has been extracted from the Scopus index database.

As can be seen in Fig. 1, the SSA, although it was established in 2020, it has been considerably published in high-quality journals and conferences. More than 110 articles have been published using SSA as a primary contribution. This is indeed solid evidence of the viability and efficiency of this algorithm.

Fig. 1
figure 1

The number of SSA publications per year

As another indication of the SSA efficiency, the citations gained by the SSA publications are given in Fig. 2. The SSA-based articles have acquired more than 500 citations. This heavy usage of SSA research works has proven the importance of such an algorithm since it can compete well with other well-established algorithms in a short period.

Fig. 2
figure 2

The number of SSA citations per year

The SSA algorithm has been used as a leading optimizer for more than twelve research topics, as shown in Fig. 3. Engineering, computer science, and mathematics are the most research topics that used SSA, where they represent around 60% of the entire research portion. The broad interest in using SSA to tackle different research topics in other domains proves its features’ efficiency and success.

Fig. 3
figure 3

The number of SSA publications per Subject

Due to its heavy usage during the last two years, the SSA based research works have been accepted in prestigious publishers such as IEEE, Elsevier, Springer, MDPI, Hindawi, etc. Figure 4 shows high percentage of the SSA articles published in the IEEE publisher. Elsevier and Springer are also hosted well-established journals that published high-quality research. Indeed, SSA-based publications have been accepted in such journals due to their effective and qualitative outcomes.

Fig. 4
figure 4

The number of SSA publications per Publishers

In specific, the IEEE access journal has published 9 articles, while the Journal of Physics Conference Series has published 8 papers, as shown in Fig. 5. Thus, the publication in well-reputed journals is solid evidence of the convergence strength of SSA performance.

Fig. 5
figure 5

The number of SSA publications per Top 10 Journals

Researchers from China were able to publish more than 100 SSA-based research articles (Fig. 6), where more than 100 articles on SSA have been resulting from Chinese institutions. India also is the second country to use SSA to tackle its optimization problems. Nevertheless, SSA is acceptable everywhere around the world.

Fig. 6
figure 6

The number of SSA publications per country

Therefore, the top 2 institutions that were concerned with SSA to tackle their research problems are from China: the Ministry of Education China, and Jiangxi University of Science and Technology, as shown in Fig. 7. Authors from both institutions were able to publish more than 10 SSA-based articles over the last two years.

Fig. 7
figure 7

The number of SSA publications per affiliations

The top authors who published SSA-based research articles are Zhu and Ouyang, the founders of SSA, who have a deep knowledge of the SSA theories and concepts (Fig. 8).

Fig. 8
figure 8

The number of SSA publications per authors

3 Basic Concepts of SSA

In this section, the inspiration of the SSA is firstly introduced in Sect. 3.1, while the procedural steps of SSA are described in Sect. 3.2.

3.1 Inspiration of SSA

SSA is one of the most recent swarm-based algorithms introduced by Xue and Shen [10]. It mainly mimics the foraging and anti-predation behavior of sparrows in the population. Sparrows have an intelligent behavior that helps them to survive as follows:

  • The population is divided into two groups: producers and scroungers. The producers are seeking food sources or provide directions of food sources, while scroungers find the food source that the producers discovered, as shown in Fig. 9.

  • Sparrows have an intelligent anti-predation behavior to avoid attackers. Therefore, some sparrows are selected as Scouters to avoid predators during the foraging process. The Scouters produce alarm sounds when they discover attackers, and thus the producers lead scroungers to another safe place.

  • The responsibilities of sparrows (producers and scroungers) in the population are exchanged to find better food sources. It should be noted that the number of producers and scroungers stands unchanged over time.

  • The fittest sparrows in the population become producers, while the other sparrows in the population become scroungers. The scroungers can find better food sources by following the producers, and some scroungers constantly monitor producers to find more food sources.

  • The sparrows seek to change their positions in case of danger. The sparrows on the edge of the population quickly move to a better position in searching for safety. The sparrows in the middle of the group randomly move close to the rest of the group.

Fig. 9
figure 9

Seeking and finding food sources by producers and scroungers

3.2 The Procedure Steps of the SSA

This section introduces the mathematical formulation of the basic SSA. Figure 10 illustrates the procedural steps of the SSA, while its Pseudo-code is presented in Algorithm 1. Mathematically, the detailed description of the eight main steps of the SSA is given as follows:

Fig. 10
figure 10

The flowchart of the sparrow search algorithm

figure a
  • Step 1 Parameters initialization. In the beginning, the parameters of the SSA algorithm should be assigned with initial values. The SSA has five parameters which are classified into two algorithmic and three control parameters. The algorithmic parameters are the population size (N), and the maximum number of iterations (\(G_{max}\)). The control parameters are the number of producers (NP), the number of scroungers (NS = N - NP), and the number of scouters (SC).

  • Step 2 Construct the initial population. In this step, the population is filled with a constraint number of sparrow positions determined by N. The population is mathematically presented as a two-dimensional matrix of size \(N \times D\) as shown as follows:

    $$\begin{aligned} \textbf{Population}=&\left[ \begin{matrix} x_{1,1} &{} x_{1,2} &{} \cdots &{} x_{1,D-1} &{} x_{1,D}\\ x_{2,1} &{} x_{2,2} &{} \cdots &{} x_{2,D-1} &{} x_{2,D}\\ \vdots &{} \vdots &{} \cdots &{} \vdots &{} \vdots \\ x_{N,1} &{} x_{N,2} &{} \cdots &{} x_{N,D-1} &{} x_{N,D}\\ \end{matrix} \right] \end{aligned}$$
    (1)

    Each row (\({{\varvec{x}}}_i\)= \(x_{i,1}, x_{i,2}, \dots , x_{i,D-1},x_{i,D}\)) in the population, represents sparrow at the ith position. \(x_{i,j}\) is the decision variable at the jth location of the ith sparrow, where \(j \in\)[1,D]. D is the dimension of searching space. Each \(x_{i,j}\) is assigned a random number between the lower bound (\(lb_j\)) and the upper bound (\(ub_j\)) limits. Later on, the fitness value or the quality of the positions of each sparrow in the population is calculated using the fitness function \(f({{\varvec{x}}}_i)\), \(\forall i = (1,2,\ldots ,N)\). Thereafter, the position of the best sparrow (i.e., \({{\varvec{x}}}^{Gbest}\)) in the population should be determined.

  • Step 3 Divide population into producers and scroungers. In this step, the sparrows population is divided into two groups: producers and scroungers. The producers are the fittest sparrows in the population, which seek food sources and guide the movement of the other sparrows. While the scroungers find foods according to the producers.

  • Step 4 Update the location of sparrows. The position of each sparrow in the population is modified iteratively in order to enhance the sparrow fitness. Due to the fact the sparrows of the population are divided into two groups, the process of updating the location of each sparrow is different according to its responsibilities as follows:

    • Update locations of producers The positions of producers are modified according to Eq. (2).

      $$\begin{aligned} x_{i,j}(g+1) ={\left\{ \begin{array}{ll} x_{i,j}(g) \times exp \left( \frac{-i}{\alpha \times G_{max}} \right) &{} \qquad r < ST,\\ x_{i,j}(g) + Q \times L &{} \qquad r \ge ST. \end{array}\right. } \end{aligned}$$
      (2)

      where g is the current iteration, and \(G_{max}\) is the maximum number of iterations that should be respected during the search process. \(\alpha\) is a uniform random number, where \(\alpha \in\)(0, 1]. \(r \in\)[0,1] and \(ST \in\)[0.5,1] are represent the alarm and the safety threshold, respectively. Q is a random number that belongs to the normal distribution. L is a one-dimensional vector with the length of D where each element of L is assigned with 1. When \(r < ST\) means the producer can continue the search with no other producers around, while \(r \ge ST\) means some sparrows have been discovered by the producer, and thus all sparrows should fly to other safe places.

    • Update locations of scroungers The positions of scroungers are updated according to Eq. (3).

      $$\begin{aligned} x_{i,j}(g+1) ={\left\{ \begin{array}{ll} Q \times exp \left( \frac{x^{worst}_j - x_{i,j}(g)}{i^2} \right) &{} \qquad i > N/2,\\ x^{Pbest}_j - |x_{i,j}(g) - x^{Pbest}_j| \times A^+ \times L &{} \qquad i \le N/2. \end{array}\right. } \end{aligned}$$
      (3)

      In Eq. (3), \({{\varvec{x}}}^{worst}\) is the sparrow with worst position, while \({{\varvec{x}}}^{Pbest}\) is the best location obtained so far for the ith producer. A is one-dimensional vector with the length of D, each element of A is assigned a value between -1 to 1 randomly. \(A^+\) = \(A^T (AA^T)^{-1}\). When \(i > N/2\) indicates the scrounger at the ith position does not get food in its current place and needs to fly to other places seeking food sources. On the other hand, when \(i \le N/2\) means the scrounger at the ith position will fly around the best sparrow \({{\varvec{x}}}^{best}\) in order to find food sources.

  • Step 5 Select scouters and renew the locations of scouters. In this step, to be aware of the dangers, 10% to 20% of the population are randomly selected as scouters. The positions of these scouters are modified using Eq. (4).

    $$\begin{aligned} x_{i,j}(g+1) ={\left\{ \begin{array}{ll} x^{Gbest}_j + \beta \times |x_{i,j}(g) - x^{Gbest}_j| &{} \qquad f({{\varvec{x}}}_i(g)) > f({{\varvec{x}}}^{Gbest}),\\ x_{i,j}(g) + K \times \left( \frac{x_{i,j}(g) - x^{worst}_j}{f({{\varvec{x}}}_i(g)) - f({{\varvec{x}}}^{worst}) + \rho } \right) &{} \qquad f({{\varvec{x}}}_i(g)) = f({{\varvec{x}}}^{Gbest}). \end{array}\right. } \end{aligned}$$
    (4)

    where \({{\varvec{x}}}^{Gbest}\) is the sparrow with the best position in the population. \({{\varvec{x}}}^{worst}\) is the sparrow with the worst position in the population. \(\beta\) is the step size control parameter, and it assigned a random number that follows a normal distribution with a mean value between 0 and a variance of 1. K is a assigned a random number between − 1 and 1. \(\rho\) is a small random value to avoid division by zero. \(f({{\varvec{x}}}_i(g))\) is the fitness value of the ith sparrow at the g iteration. \(f({{\varvec{x}}}^{worst})\) is the fitness value of the worst sparrow in the population. When \(f({{\varvec{x}}}_i(g)) > f({{\varvec{x}}}^{Gbest})\) denotes that the sparrow at the ith position is at the edge of the group, and this is unsafe situation. It should be noted that the \({{\varvec{x}}}^{Gbest}\) represents the center of the group, and this the most safe situation. \(f({{\varvec{x}}}_i(g)) = f({{\varvec{x}}}^{Gbest})\) demonstrates that the sparrow at the ith position is in the center of the group, and thus in safe situation.

  • Step 6 Archives the current locations of sparrows. In this step, the old position of each sparrow \({{\varvec{x}}}_{i}(g)\) in the population is replaced by the new position \({{\varvec{x}}}_{i}(g+1)\) in the only case that the fitness is better (i.e., \(f({{\varvec{x}}}_{i}(g+1))<f({{\varvec{x}}}_{i}(g))\), \(\forall i= 1, 2, \dots , N\)).

  • Step 7 Update the position of the best sparrow. In this step, \({{\varvec{x}}}^{Gbest}\) is replaced with \({{\varvec{x}}}_i(g+1)\), if and only if the fitness of \({{\varvec{x}}}_i(g+1)\) is better than the fitness of \({{\varvec{x}}}^{Gbest}\).

  • Step 8 Check stopping condition. Step 3 to Step 7 are repeated until the maximum number of iterations \(G_{max}\) is reached.

4 Recent Variants of SSA

As aforementioned, the performance of the SSA depends on the search space shape and the size of the optimization problem. Therefore, several variants of SSA have been produced to cope with these issues. These SSA versions are reviewed in the below subsections.

4.1 Original Versions of SSA

The SSA proved its high and robust performance in addressing various optimization problems in different domains, such as engineering, computer sciences, mathematics, and others. This section summarized most of the studies that addressed several optimization problems in different research domains using the original version of SSA.

Wang and Xianyu [39] adapted the SSA to find the optimal configuration model of distributed generation system in a distribution network. The SSA was evaluated based on many distribution systems containing 33 systems to investigate its optimization performance. The achieved results proved the high optimization efficiency of the SSA in obtaining the objective compared with several optimization methods.

The SSA was utilized by Zhou and Chen [40] to optimize the extreme learning machine model to predict the carbon price and validate and confirm the outputs of the proposed prediction system. The simulation results demonstrated the high capabilities of the SSA in optimizing the model and achieving the best price in comparison with other well-established methods in different 13 models.

Song et al. [41] studied the prediction of water quality parameters using an improved machine learning model called improved least squares support vector machine. The authors utilized the SSA to optimize the parameter values for the proposed model. To evaluate the proposed model with the SSA, a well known benchmark datasets were used. The obtained results proved the efficiency of utilizing the SSA for the proposed model, where it achieved the best results compared with all other methods.

Xing et al. [42] adapted the SSA to extract the components of fault diagnosis of wheelset-bearing efficiently by adopting the hierarchy thought and the shift-invariant structure of the dictionary and optimizing their parameters. To investigate the propsoed method performance, several comparisons were conducted. The obtained results presented the high performance of the proposed methods compared with the other methods.

The soil heavy metal content detection problem was addressed by Chen et al. [43] by proposing an overlapping peak analysis method utilizing the original version of SSA. The main aim of adapting the SSA is to optimize the problem’s parameters. In the evaluation processes for the proposed method, the SSA demonstrated all other compared methods, including GA, ACO, PSO, where SSA obtained the best results in achieving the objectives.

Zhang et al. [44] addressed a wireless sensor network problem by identifying nodes’ positions. SSA was used due to its high performance in addressing such problems. The simulation results proved the robust performance of the SSA in optimizing the objectives, where it outperformed all compared methods and obtained the best results.

To address the shape adjustment and shape control problems efficiently [45], promoted the development of generalized developable Bézier-like surfaces by adapting the SSA, which is used to construct curves with multiple shape parameters. In the stage of evaluating the proposed method, the SSA performance was investigated and compared with other methods. The SSA showed high-performance behaviour in addressing and optimizing the problem compared with the other methods.

Song et al. [46] addressed the water environmental quality management problem by proposing a new model. The kernel extreme learning machine was used to enhance the proposed model, and the SSA was utilized to optimize the model’s parameters. To investigate the performance of the proposed model, the obtained results were compared with other state-of-the-art- methods. The proposed model showed a high performance in addressing the problem and optimizing the parameters by the SSA compared with all compared methods.

A wind power forecasting method was proposed by An et al. [47] to address the wind power forecasting problem. In their proposed method, the SSA and deep extreme learning machine methods were utilized to enhance the performance of the proposed forecasting method. The SSA was utilized to optimize the parameters and solve the random changes problem. A measured data of a specific wind turbine was used in the simulation results. The results proved the high quality of the proposed model and the SSA compared with all compared methods and models.

The SSA was adapted by Xie and Li [48] to efficiently enhance the deep belief network model and overcome the neuron selection problem. In addition, the SSA was used to address the problem of defining neural nodes per layer. In the experimental results, the Western Reserve dataset is used to investigate and evaluate the performance of the proposed method. The proposed method showed a robust performance in obtaining the best results in terms of all objectives.

The XGBoost model selecting parameters problem was addressed by Song et al. [41] utilizing the SSA for a short-term load forecasting model. The Zhejiang Province data was used in the experimental stage to evaluate the proposed method through five experiments. The proposed method exhibited and yielded better results than the compared methods in optimizing the problem.

Sun et al. [49] adapted the SSA to optimize the hyperparameters of the in-cylinder pressure values of a high-speed diesel engine. Such optimization was utilized to optimize diesel engine performance. The simulation results proved the high performance of the SSA in optimizing the parameters and enhancing the engine performance compared with the other methods, where the proposed method obtained better results than all compared methods.

Abdulhammed [50] utilized the IoT to a healthcare system based cloud computing and optimized its load balancing utilizing the SSA. The main purpose of using the SSA is to achieve the best balance between tasks through different virtual machines. The experimental results proved the robustness of the SSA performance in addressing the problem and obtaining the best balance in the comparison study with other methods.

The SSA was adapted by Karthick and Gomathi [51] to manage the resources in an IoT environment. The main aim of using the SSA is to reduce the total data transmission cost in the IoT environment. In the simulation results, the SSA achieved good outcomes in reducing the cost and time with maintaining system performance. Also, the SSA outperformed all compared methods in terms of addressing the problem and optimizing the objectives.

In the electrical power sector, wind turbines have become one of the most effective energy sources in producing clean and renewable energy. Therefore, finding the best location for wind turbines can significantly enhance energy generation. Accordingly Kumar and Reddy [52], adapted SSA to find the optimal position for the wind turbines to produce the maximum energy. The authors evaluate the SSA based on two phases, including constant wind speed with variable wind direction and variable wind speed with variable wind direction. The obtained results presented the high performance of the SSA in optimizing the objectives and finding the best positioning, where it outperformed all compared methods.

The SSA was adapted to optimize individual phase voltage regulation strategies [53]. The primary aim of using the SSA is to improve voltage variation and unbalance. In the simulation results, the SSA was investigated using two constraints, including PV power output patterns and unbalanced load conditions. The SSA demonstrated its performance in achieving the optimal results for the objectives compared with the compared methods, where it obtained the best results.

Another application for the SSA on optimizing power and electrical system was proposed by Zafar et al. [54]. The authors adapted the SSA to enhance the PV systems’ performance with lower time wastage and oscillations. In experimental results, the SSA performance was investigated by comparing its obtained results with other methods. The SSA showed a high performance in achieving the best results for the objectives.

4.2 Modified Versions of SSA

Figure 11 illustrates the percentage of each kind of modification introduced by the researchers to the original framework of the SSA algorithm. There are six main modified variants are presented in the literature such as chaotic, lévy flight, adaptive, opposition-based learning, discrete, and random walk SSA. It can be observed that the chaotic SSA has a high percentage of publications reached 32%, followed by the lévy flight, adaptive, and opposition-based learning variants each with 14% of publications.

Fig. 11
figure 11

The modified variants of SSA

4.2.1 Adaptive SSA

Some adaptive versions of SSA have been introduced to overcome the shortcomings of an algorithm when it is adopted to solve optimization problems by finding the right balance between exploration and exploitation in all phases of the search process. Some of the adaptive SSA are summarized as follows:

Zhu et al. [26] proposed an adaptive SSA for optimal model parameters identification of the proton exchange membrane fuel cell stacks, called ASSA. An adaptive learning factor was introduced in the search process rather than the random walk strategy to solve the problem of slow convergence. The performance of the ASSA was evaluated using three real-world datasets (i.e., NedStack PS6, Ballard Mark V 5 kW, and Horizon H-12) and compared with the chaotic grasshopper optimization algorithm, the grass fibrous root optimization algorithm, and the classical SSA. The experimental results demonstrated the effectiveness of the ASSA against the other comparative algorithms in terms of solution quality and convergence speed.

In the work of Yang [55], another adaptive SSA (CWTSSA) based on chaotic mapping mechanism, adaptive weighting strategy, and adaptive t-distribution mutation was proposed for global optimization. In CWTSSA, the chaotic mapping mechanism was used to construct the initial population in order to enhance population diversity. Furthermore, the adaptive weighting strategy and adaptive t-distribution mutation were combined within the framework of SSA to avoid the problem of getting stuck on the local optimum and finding the right balance between the exploration and exploitation capabilities. The performance of the CWTSSA was tested using 15 test functions and compared to the classical SSA, and four other algorithms. The experimental results illustrated the effectiveness of the CWTSSA compared to the other competitors in terms of convergence accuracy, convergence speed, and exploration abilities.

Ouyang et al. [27] proposed an adaptive SSA for robot path planning, named ASFSSA. The tent chaotic mapping was used in the early stage to generate the initial population to improve the population diversity. Then the adaptive weight strategy and lévy flight mechanism were utilized in the discoverer stage in order to make it flexible and adaptable. In addition, the variable spiral search method is used in the follower stage to enhance the local search abilities. The performance of the ASFSSA was evaluated using 18 classical test functions and compared with five other algorithms. Finally, the ASFSSA was applied for robot path planning using two different simulation models. It was demonstrated that the ASFSSA gives satisfactory results compared to other comparative algorithms.

Liu et al. [56] presented a modified version of SSA (CASSA) for the unmanned aerial vehicle (UAV) route planning problem. Three main modifications are introduced by the authors to enhance the performance of the classical SSA and to avoid trapping into local optimal solutions. These modifications are as follows: (1) the chaotic mapping strategy was utilized to enhance the randomness of the positions of the initial population, (2) an adaptive inertia weight was introduced in order to ensure the right balance between the exploration and exploitation abilities during all search stages, and (3) the Cauchy-gaussian mutation strategy was used to improve the capability to avoid the stagnation cases. The performance of the CSSA was evaluated using simulation datasets and compared to the classical SSA, as well as four other algorithms. It was demonstrated that the CASSA performs better than all comparative algorithms in terms of solution quality and convergence behavior.

In another study by Liang et al. [57], they introduced an adaptive version of SSA based on adaptive weight and improved boundary constraints for unconstrained numerical optimization. These modifications are introduced by the authors in order to solve the problems of falling into local optimum and limited convergence speed. The performance of their algorithm was evaluated using 9 test functions and compared to the classical SSA and three other optimization algorithms. Their adaptive SSA performed better than all other comparative algorithms in terms of solution quality and convergence.

In Chengtian et al. [58], an adaptive chaotic SSA algorithm was presented for continuous optimization problems. This algorithm was called ISSA. Firstly, the tent chaotic map was utilized to construct the initial population in order to enhance the diversity of the population. Then, an adaptive local search strategy was adopted to enhance exploitation ability and to avoid getting stuck in the local optimum. Finally, the Cauchy mutation method was utilized to update the position of the optimal solution. The performance of the ISSA was tested using 8 classical test functions and compared with the other three algorithms. The simulation results show that the performance of the ISSA performs better than the other algorithms in terms of convergence sped and solution accuracy.

4.2.2 Lévy Flight-Based SSA

The lévy flight-based concept is popularly used by researchers in the optimization domain in order to control the exploration and exploitation capabilities. For SSA, the lévy flight-based is combined with the SSA to avoid the problem of getting stuck in local optimum by improving the diversity and the global search abilities.

Ma and Zhu [31] introduced a new modified version of the SSA for global optimization, called ISSA In their algorithm, the sin chaos search schema was used to enhance the population initialization mechanism. Furthermore, the lévy flight disturbance strategy was combined within the framework of the SSA to improve its diversity. The performance of their algorithm was tested using 14 high-dimensional test functions. ISSA was demonstrated to outperform the original version of SSA and chaotic SSA in terms of solution quality and convergence speed.

Ouyang et al. [30] introduced a multi-strategy improved SSA for global optimization, called KLSSA. In KLSSA, the K-means clustering method is used in the phase of constructing the initial population. This is to differentiate the positions of the sparrows in a set of clusters. Thereafter, the lévy flight mechanism and adaptive local search strategy were integrated with the framework of KLSSA in order to enhance its global search abilities and thus avoid the problem of getting stuck in local optimum. The performance of the KLSSA is evaluated using 10 classical benchmark functions that are commonly used in the literature. The experimental results demonstrated that the KLSSA has better performance than the improved SSA and the classical version of SSA in terms of convergence and solution quality.

Chen et al. [59] proposed another modified version of SSA, called LOSSA, based on the integration of lévy flight mechanism and opposition-based learning strategy with the classical SSA for global optimization. In LOSSA, the lévy flight mechanism is used to empower the global search ability and avoid the problem of local optimum. While the opposition-based learning strategy is utilized to generate better solutions and thus increased the convergence speed. The efficiency of the LOSSA was validated on classical benchmark functions. In addition, the LOSSA was utilized for solving the hyper-parameter optimization problem of machine learning algorithms. The experimental results demonstrated the efficiency of the LOSSA against the classical SSA and other comparative algorithms.

An enhanced SSA (SPISSA) based on reverse learning and lévy flight mechanism was introduced in the work of Chen et al. [11]. In SPISSA, reverse learning is introduced to enhance the diversity and the quality of the initial solutions, while the lévy flight mechanism is utilized to enhance the global search capabilities. In t heir research, the SPISSA was used as a feature-selected method to find the subset features on the intrusion detection dataset. The experimental results illustrated the efficiency of the SPISSA against the classical SSA in finding the optimal subset of features with minimal computational times.

In the work of Lei et al. [60, 61], an improved SSA (ISSA) based on lévy flight strategy was proposed for estimating the position of unknown nodes in wireless sensor networks. The lévy flight strategy is used to enhance the performance of their algorithm by avoiding the problem of getting sucked in the local optimum. The performance of ISSA is evaluated using a simulation dataset with 100 sensor nodes, where these nods are randomly arranged in a 100 \(\times\) 100 m network. The superiority of ISSA to other algorithms was demonstrated in terms of position accuracy. In another study by Jiang et al. [62], they applied the same ISSA for solving the same problem introduced in [60, 61]. The authors in [62], tested the performance of ISSA using a simulation dataset with 200 sensors in a 200 \(\times\) 200 m network with good results against the other comparative methods in terms of position accuracy. Similarly, Peng et al. [63] used the same method presented in [60,61,62] for the node localization in wireless sensor networks with different simulated datasets.

4.2.3 Opposition Based Learning SSA

Opposition-based learning is a new part of machine learning that mimics the opposite relationship between entities. The opposition-based learning was firstly introduced in 2005. Since its foundation, the method is highly attracted researchers’ attention. The opposition-based learning is used in the optimization domain for several purposes, such as increasing population diversity and avoiding local search stagnation. The opposition-based learning was also utilized for the SSA due to its high performance in enhancing the optimization processes [64, 65].

The SSA searching performance was improved by combining its searching behavior with opposition-based learning, fitness-based learning, and Lévy flight for atmospheric concentration prediction [65]. The opposition-based learning was used to boost the initial population diversification, the Lévy flight was employed to alter the producers’ and alarmers’ locations, and the fitness-based learning method was utilized to improve the search capabilities of the search agents. In the experimental results, the proposed method was compared with the original SSA and other well-known methods. The proposed method proved its high performance in predicting the atmospheric concentration, where its results excel all comparative methods.

Jiang et al. [28] addressed the reentry vehicle trajectory optimization problem by proposing a new SSA version based on opposition-based learning, random walk strategy, and adaptive T-distribution. The primary aims of the proposed method are to enhance the stability and accuracy of the SSA optimization processes and emphasize the exploration capabilities to find better solutions. In the simulation phase, the proposed method showed a significant behavior in addressing the problem, and it achieved better results than the other compared optimization methods.

The load scheduling optimization problem in the cloud computing environment was studied and handled by Robert Adaikalaraj and Vengattaraman [29]. The authors proposed a new optimization method based on the SSA and opposition-based learning to address such a problem and optimize its objectives efficiently by enhancing the convergence rate and searchability of the SSA. The obtained results proved the high capabilities of the proposed method in finding the best load balancing compared with the compared methods.

A random opposition-based Learning was combined with the SSA to increase the population diversity and emphasize the exploration of the SSA [66]. In addition, a linear decreasing strategy was utilized with the SSA to maintain its exploration and exploitation capabilities. The proposed method was introduced to address one of the most popular optimization problems called the robot path planning problem. The performance of the proposed methods was validated using 11 datasets. The evaluation results showed the efficiency of the proposed method in addressing such a problem.

Ma et al. [67] improved the SSA searching performance by combining its components with elite opposition-based learning, Lévy flights, Tent chaos, and variable radius. The main purpose of the proposed method is to enhance the SSA population diversity, exploration, and exploitation capabilities and maintain the balance between them. In the validation and evaluation stage, the proposed method was tested using 31 benchmark test functions and eight real-world constrained engineering problems. The obtained results were compared with that of 19 state-of-the-art methods. The results show the superiority of the proposed method in achieving the best results.

Fang et al. [68] proposed a new SSA method utilizing the elite opposite learning strategy and orifice imaging opposite learning strategy to enhance the quality of the SSA initial population and improve its convergence behavior. The proposed method was introduced to optimize the hyper-parameters of LightGBM. The proposed method was tested using several benchmark functions. The proposed method showed a high performance in optimizing the parameters compared with all other compared methods.

4.2.4 Discrete SSA

The SSA algorithm is modified by converting from a continuous version to a discrete one to manipulate the search space of the optimization problems with discrete decision variables.

The symmetric traveling salesman problem was tackled using a discrete SSA called DSSA [24]. In DSSA, the roulette-wheel selection was used to construct the initial population. The solution feasibility is maintained using sequence-based coding and decoding method. Thereafter, the global perturbation mechanism was integrated with Gaussian mutation and swap operator to jump out of local optimum and enhance convergence speed. Finally, the 2-opt procedure is integrated within the framework of DSSA to enhance the local searchability. The performance of DSSA was validated based on 34 datasets taken from TSPLIB. The experimental results illustrated that the performance of the DSSA was better than the other comparative algorithms in almost all cases in terms of solution quality and robustness.

Wu et al. [25] presented another discrete version of SSA for traveling salesman problem, called GGSC-SSA. The greedy algorithm is used to generate the solutions for the initial population. The crossover and mutation operators are integrated within the classical SSA to enhance its global and local search abilities. The dynamic adaptive weights are utilized to update the position of the producers, while the search strategy of the sine-cosine algorithm is utilized to increase the scrounger search range. These modifications are suggested by the authors in order to avoid the problems of falling in local optimum and premature convergence. The performance of GGSC-SSA was evaluated using 36 datasets from TSPLIB and compared with nine comparative algorithms from the literature. GGSC-SSA was demonstrated to outperform all other comparative algorithms in almost all cases of this problem area.

In the work of Han and Zhang [69], a discrete SSA was proposed for robot routing problems. The local search method and genetic algorithm operators are integrated with the SSA to find the trade-off between exploration and exploitation capabilities. The obtained results showed the superiority of their algorithm when compared to other heuristic methods.

4.2.5 Random Walk SSA

The random walk concept was also utilized to overcome the shortcomings of the SSA by increasing the randomness and thus enhancing the population diversity.

Chen et al. [23] presented an improved SapSA based on a chaotic strategy combined with the dynamic adaptive search strategy, levy flight mechanism, and random walk strategy. The chaotic map strategy is used to generate the initial population in order to increase the randomness and thus enhance the population diversity. Then, the dynamic adaptive weighting strategy and lévy flight were utilized to increase the search range. Finally, the random walk strategy was used to avoid the problem of being stuck in local optima. The performance of their algorithm was evaluated using 6 test functions with good results when compared to other algorithms in terms of solution quality and avoiding premature convergence.

In the work of Zheng and Liu [12], a modified SSA was presented to optimize microgrid energy dispatch. This algorithm is called ISSA. The tent chaotic was utilized to construct the initial population to improve the population diversity. The random walk strategy is adopted to enhance the global and local search abilities and thus avoid the problem of getting stuck in the local optimum. Experimental results demonstrated that ISSA gives better global convergence and local search ability compared to the classical SSA and PSO algorithms.

Ma et al. [70] introduced an improved version of the SSA algorithm, called rSSA, for malicious URL classification. In rSSA, the random walk strategy was combined within the framework of the classical SSA to avoid falling in the local optimum. The optimal solution of the rSSA algorithm is fed as the initial weight of the BP neural network. Then, the BP neural network was triggered for the classification of malicious URLs. The superiority of rSSA was demonstrated compared to the classical SSA, WOA, and GWO in terms of classification accuracy.

4.2.6 Chaotic SSA

The chaotic map strategies are also integrated with the SSA algorithm in order to navigate the search space more widely and dynamically, and thus make the right balance between exploration and exploitation abilities. Some of the chaotic maps are used to control the parameters of SSA, while the others are used as a source of randomness to avoid the problem of local optimum.

Song et al. [22] proposed an enhanced SSA (ISSA) based on a chaotic strategy integrated with a non-linear decreasing weight and mutation operator for continuous optimization problems. The tent chaotic map was used to generate the initial population to enhance the population diversity. The concept of the non-linear decreasing weight was combined with the classical SSA to maintain the balance between the exploration and exploitation abilities and thus avoid the trapping in local optimum. Finally, the mutation operator was used to change the location of fatigue scrounger sparrows, while the chaotic search was used to change the location of the fittest scrounger sparrows. The ISSA was evaluated using 26 test functions and compared to the classical SSA. It was demonstrated that the ISSA gives better results than the classical SSA in terms of solution quality and convergence behavior.

Zhang and Ding [21] introduced a chaotic sparrow search algorithm (CSSA) for stochastic configuration network (SCN), called CSSA-SCN. In CSSA, the logistic chaotic mapping, self-adaptive hyper-parameters, and mutation operator are integrated with the classical SSA in order to escape local optimum and make a balance between the exploration and exploitation abilities. Thereafter, the CSSA was applied to find the best parameters setting of SCN automatically. The performance of CSSA was evaluated using 13 test functions, while the performance of CSSA-SCN was evaluated using three real-world datasets taken KEEL. Experimental results illustrated that CSSA gives better performance behavior than the classical SSA and other six optimization algorithms. In addition, the superiority of CSSA-SCN was demonstrated to the SCA and other contrast algorithms for the real-world datasets.

Another chaotic version of the SSA algorithm is proposed in Lyu et al. [71], called CSSA. Firstly, the tent chaotic map was utilized to generate the initial population to enhance the population diversity. Then, the Gaussian mutation and tent chaotic map were combined with the SSA in order to avoid trapping in local optimum by making the right balance between exploring and exploiting the search space. The experimental results demonstrated that the CSSA performs better than the classical SSA in terms of solution quality and convergence behavior when tested using 13 test functions.

Zhang et al. [72] integrated the chaotic SSA with a support vector machine for fault detection of the pressure sensor of the blast furnace fan. This algorithm is called the CSSA-SVM model. The Chebyshev chaotic mapping is used to enhance the search process of the classical SSA to avoid falling in local optimum. Later on, the CSSA was triggered to find the best parameter settings of SVM. Their model was evaluated using a real-world dataset collected by the authors. The simulation results demonstrated that the CSSA-SVM model has better performance than the integration between the classical SSA and SVM in terms of convergence behavior and accuracy.

Wang et al. [73] proposed an improved SSA (ISSA) based on chaotic strategy, dynamic adaptive weighting, Cauchy mutation, and reverse learning. In ISSA, the Bernoulli chaotic map was introduced to generate the initial positions of the different sparrows, while the dynamic adaptive weighting was used to update the positions of the sparrows. The Cauchy mutation and reverse learning were utilized to enhance the global search ability of the SSA algorithm. The ISSA was evaluated using 12 test functions and compared to PSO, chaotic PSO, GA, and the classical SpaSSA. The simulation results illustrated the superiority of the ISSA against the others in terms of convergence behavior and solution quality. For more validations, the ISSA was applied for microgrid cluster optimization problems with good results against the other algorithms.

Xiong et al. [74] introduced another chaotic SSA for enhancement of long-distance iris image, called CPSSA. First, fractional-order chaos was utilized for generating the initial population to enhance the population diversity. Second, the Pareto distribution strategy was used to modify the positions of sparrows in the population. This is to avoid trapping in the local optimum and enhance the convergence behavior. Finally, the traditional contrast limited adaptive histogram equalization (CLAHE) method was used to find the best clipping of images. The performance of the CPSSA was tested using 12 test functions and compared to the classical SSA, PSO, and ABC. The experimental results illustrated the superiority of the proposed CPSSA against others in terms of solution quality and convergence. In addition, the CPSSA was applied for the enhancement of long-distance iris images using the CASIA-Iris-Distance dataset. The experimental results demonstrated that the CPSSA was more robust than other algorithms.

In the work of Ma et al. [75], an enhancing SSA (EMSSA) according to multi-strategies was presented for solving different optimization problems. These strategies are: (1) an adaptive-tent chaos theory was used to construct the initial population in order to enhance randomness and population diversity; (2) a weighted sine and cosine algorithm was adopted to avoid trapping in local optimum situations, and (3) perturbation function was utilized to enhance the global searchability. The performance of the proposed EMSSA was evaluated using 23 classical test functions, and other test functions taken from CEC 2014 and CEC 2017. The experimental results illustrated the efficiency of the EMSSA against some other variants of the SSA algorithm, as well as other optimization algorithms. Finally, the authors applied EMSSA for the parameter optimization problem of the Density Peak Clustering (DP) algorithm with satisfactory results.

Liang et al. [18] introduced another modified version of SSA (MSSA) for sidelobe level reduction of the linear antenna array. The homogeneous chaotic system was used to construct the initial population to enhance the population diversity. Furthermore, the adaptive inertia weight and improved boundary constraint were adopted in order to make a balance between the exploration and exploitation abilities. The performance of the MSSA was evaluated using 9 test functions and compared to five other optimization methods and the original version of SSA. The numerical results demonstrated the effectiveness of the MSSA against the other comparative algorithms in terms of solution quality and convergence. Finally, the proposed MSSA was applied for solving sidelobe level reduction of the linear antenna array. The simulation results illustrated the superiority of the MSSA compared to other comparative algorithms in terms of convergence behavior, robustness, and maximum sidelobe level reduction.

Hui et al. [76] introduced another chaotic version of the SSA algorithm for hypersonic reentry trajectory optimization, called ISSA. The tent chaotic mapping and the golden sine update strategy are utilized to generate the initial population and enhance the global search ability of the SSA algorithm. The simulation results demonstrated that the ISSA has good robust than the classical SSA and other comparative algorithms.

Similarly, an improved chaotic SSA was presented for parameter identification of robot manipulators by Li et al. [77], called ICSSA. The Kent chaotic mapping, Student’s t-distribution, and the lévy flight strategy were corporated with the classical SSA to avoid trapping in local optimum and make a right balance between the exploration and exploitation abilities during all stages of the search process. The simulation results demonstrated the effectiveness of the ICSSA against the original version of SSA and other classical optimization algorithms in terms of convergence behavior and solution quality.

Fu and Liu [78] introduced an enhanced version of SSA according to multi-strategy as follows: 1) the elite chaotic reverse learning strategy was utilized to generate the initial population to enhance the population diversity; 2) the random updating strategy of the chicken swarm algorithm was adapted to modify positions of the sparrows in order to enhance the global search ability, and 3) the Cauchy-Gauss mutation strategy was used to maintaining the population diversity and resisting stagnation. Ten classical test functions and two real-world problems were chosen to validate the performance of their algorithm in comparison with other optimization algorithms and the original SSA. The superiority of their algorithm compared to other algorithms was demonstrated in terms of convergence behavior and solution quality.

Tang et al. [14] introduced a modified version of SSA for global optimization, called CLSSA. Ten chaotic maps were used to adjust the main parameters of SSA. The logarithmic spiral strategy was adopted to enhance the search schema of the SSA algorithm, while the adaptive step strategy was utilized to make a balance between the exploration and exploitation abilities during the search process. The performance of the CLSSA was evaluated using 23 classical test functions and three engineering problems and compared to 11 other optimization algorithms and the classical SSA. The simulation results demonstrated that the CLSSA has better performance than the other comparative algorithms in terms of convergence rate and solution quality.

Yang et al. [79] introduced another modified SSA, called TCSSA, based on the integration of tent chaotic mapping and adaptive weight for dynamic path planning for automatic guided vehicles. These modifications were suggested to enhance the population diversity and convergence behavior. Simulation results showed that TCSSA has a better performance compared to the original SSA algorithm.

In the work of Wang et al. [80], a manifold p-spectral clustering was integrated with an enhanced SSA, called SSA-MpSC. The chaotic sequence strategy was used to adjust the parameter of the SpSA algorithm. The SSA-MpSC was evaluated using 3 simulated datasets, as well as 6 datasets taken from the UCI repository. The experimental results demonstrated the effectiveness of the SSA-MpSC compared to other comparative approaches in terms of classification accuracy and robustness.

4.2.7 Other Modifications

Other modified versions of the SSA algorithm is introduced by the researchers in the literature to overcome its shortcomings or/and to be compatible with the nature of the problem search space as follows:

Zhang et al. [32] presented a modified SSA (ISSA) for A bioinspired path planning approach for mobile robots. A new neighboring search strategy was utilized to enhance the quality of the obtained solution, while a new position update function was suggested to enhance the convergence behavior. The performance of the proposed ISSA was evaluated using two maps and compared to ACO, Hybrid ACO, and the original SSA. Simulation results demonstrated that ISSA has a better convergence rate and shorter path than the other comparative algorithms.

An improved variant of the SSA algorithm based on the combination of the good point set theory and weighting factor strategy in the classical SSA was presented by Peng et al. [81]. The good point set theory was utilized to construct the initial population to improve its diversity, while the weight factor strategy was introduced to enhance the convergence behavior. Their algorithm was adopted for optimizing bridge monitoring wireless sensor networks coverage using simulation datasets. Experimental results illustrated that the proposed improved SSA gives superior results compared to the original SSA and PSO algorithms.

Thenmozhi et al. [15] introduced an improved SSA, called SSA-DE, for node localization in wireless networks. In SSA-DE, the Doppler Effect (DE) was integrated within the framework of the SapSA algorithm in order to enhance the node localization performance. The performance of the proposed SSA-DE was evaluated using a simulation dataset and compared to other comparative algorithms from the literature. It was demonstrated that the SSA-DE achieved superior results against the other algorithms.

In the work of Yan et al. [82], an efficient variant of the SSA algorithm (ISSA) was introduced for continuous optimization problems. An improved iterative local search strategy was utilized in the local search phase of the SSA to enhance its search accuracy. In addition, a dimension lens learning strategy was adopted to avoid trapping in local optimum. The performance of ISSA was evaluated using 23 classical test functions, CEC 2017 test functions, and two engineering problems. The evaluation proves that the proposed ISSA outperforms the classical SSA and other comparative algorithms.

Ning et al. [83] proposed an improved SSA using the integration of the reverse elite concept into SSA for routing optimization in wireless sensor networks. The performance of their algorithm was tested using simulation datasets and compared to other comparative algorithms. Numerical results demonstrated the effectiveness of their algorithm against the other algorithms in terms of node energy consumption, and data forwarding round numbers.

4.3 Multi-objective SSA

The optimization problems in different domains can be formulated as multi-objective optimization problems to optimize several objectives simultaneously [84]. Such objectives are usually conflicting with each other, where the improvement for objectives may decrease the quality for others. Accordingly, addressing such kinds of optimization problems may achieve the best results for an objective and not for others. In this section, the essential studies that addressed different multi-objective optimization problems using the multi-objective SSA are discussed and summarized.

Fathy et al. [33] reformulate the original SSA as a multi-objective optimization method to deal with and address the multi-objective microgrid operation management optimization problems. The multi-objective SSA was used in this study to optimize the values of two objectives, including total operating cost or the total emission. In the evaluation results, the SSA was validated as a single and multi-objective to effectively investigate its search behavior. In addition, the performance of the proposed method was compared with that of other well-known optimization methods. The proposed method exhibited better results than all compared methods.

Another multi-objective SSA was proposed by Li et al. [34] to deal with the multiple objectives of the active distribution network problem. In the evaluation results, the multi-objective SSA was tested using multi-scenario tests. The obtained results were compared with other multi-objective optimization methods. The multi-objective SSA achieved better results than the compared methods in addressing such a problem.

Dong et al. [85] addressed a multi-objective power generation problem by formulating the original SSA as a multi-objective SSA to deal with its all objectives, including generators capacity and stability, economic operations, and total cost. In addition, the multi-objective SSA searching performance was improved to avoid stagnation in local optima by combining its search agents with the Levy flight strategy. The conducted experiments validated the proposed method searching capabilities in addressing such a problem, where it obtained significant results compared with the other methods.

The calibration camera problem was addressed by Hongfeng et al. [86] utilizing the multi-objective SSA to optimize three objectives, including accuracy and repeatability. In the validation step, the obtained results using the proposed method are compared with other multi-objective optimization methods. The comparison evaluation proved the high performance of the proposed method compared with the compared methods.

4.4 Hybridized Versions of SSA with Other Components

Six intelligent components are integrated with the SSA algorithm by researchers to enhance its performance as shown in Fig. 12. Neural networks are the main components in the hybrid SSA algorithm with a high percentage of publications reached to 44%. The support vector machine (SVM) is the second intelligent component with the second-highest number of publications, while the variational mode decomposition, birds swarm algorithm, and sine cosine algorithm ranked third, each with 8% of publications in a hybrid framework.

Fig. 12
figure 12

The hybrid variants of SSA

4.4.1 SSA with Neural Network

Guo and Liu [35] proposed a BP neural network optimization model using the sparrow search algorithm (SSA-BP) to predict stocks. Their results demonstrated that the proposed model mitigated the issue (failing in the local optimum problem) faced by the traditional BPNN and PSO-BPNN algorithms. The accuracy of the SSA-BP was better than BPNN, PSO-BPNN, and LSTM models.

Liu et al. [87] developed a computer-aided method that can automatically diagnose brain tumors. Their approach includes pre-processing, segmentation, feature extraction, and final categorization. The characteristics of the MR images were extracted using two methods: Gray-level co-occurrence matrix (GLCM) and Discrete Wavelet Transform (DWT). The images were then loaded into an optimized CNN model for diagnosis. Their model is named ESSA, a novel SpaSSA variation used to optimize the CNN. The proposed system outperformed the state-of-the-art approaches. Liu et al. [88] also developed a model to enhance the efficiency of the CNN using a balanced SSA. Their model also demonstrated better results than the competing methods.

Li et al. [89] used the SSA algorithm to build a BP Neural Network model. Their model aims to improve the accuracy of debonding strain predictions in FRP-strengthened RC beams. According to the experiments, the longitudinal reinforcement ratio, concrete strength, and stirrup reinforcement ratio are the key factors determining debonding strains.

Huo and Zhou [90] presented a model for forecasting the power load. They employed the SSA as an optimizer for the initial weights of an ANN model called LSTM. This unique combination has improved the accuracy and convergence of the suggested model.

Gear fault diagnosis is a severe issue that is complicated by the harshness of defect detection. Gai et al. [91] presented an SSA-based deep belief network (DBN). The SSA tuned the DBN model’s learning rate and batch size, which improved the model’s stability and accuracy.

Zhang et al. [36] proposed a multi-layer extreme learning machine MLELM with the use of SSA and weighted mean filter WMF to forecast the wind speed better. Their model is considered an ensemble model, named WMF-SSA-MLELM. The WMF helped remove the noise in the wind data, and the SSA algorithm was used as an optimizer. WMF-SSA-MLELM performed better than all one-step and multi-step wind speed forecasting models.

Fan et al. [92] presented the proposal of an Elman neural network model based on an SSA algorithm to forecast the change in power consumption and distribution trend of businesses in the future production cycle. Their model improved forecast accuracy and calculation efficiency.

Due to the importance of the Energy Internet and the shortage in analyzing the root causes that affect its efficiency, Zhao et al. [93] introduced a Regional Energy Internet system (REI). They applied an SSA algorithm and weighted coefficient method as an optimization approach. REI was compared against the distributed energy system (DES) used to reduce carbon emission. The results demonstrated a decrease in the maintenance cost by 15% and a performance increase by 14.41%. This has led to meet the energy-saving and a reduction in carbon emissions.

The linear source contamination recognition issue in groundwater was addressed by Pan et al. [20]. They proposed a novel stacked chaos gated recurrent unit (SCGRU) to simulate the sequential relationship of the running simulation model, which solved the situation of high calculation and high dimensional search space. They adopted a mixed-integer programming approach to solve the dimensionality problem, which reduced the number of unknown variables. The local-optimum problem was also solved using a hybrid sparrow search algorithm (HSSA). The SCGRU-HSSA approach was described as stable and consistent in recognizing features of linear source contamination.

Liao [94] proposed a load forecasting model via the introduction of an improved variant of SSA and a Long Short-Term Memory Neural Network (ILSTM-NN) to solve the Load Forecasting (LF) problem. The SSA was used to optimize the ILSTM-NN parameters, including weights and bais. The proposed model showed an apparent reduction in the forecasting error and the superiority in the domestic power system. Li et al. [95] proposed a model that used a Bidirectional Gated Recurrent Unit (Bi-GRU) and SSA algorithm to enhance the accuracy of oil rate forecasting. SSA was used to tune the hyperparameters of the Bi-GRU. The proposed model outperformed other methods.

A hydrological-neural network hybrid system for flow prediction was proposed by Wang et al. [96] using an Improved SSA algorithm. Using such a model showed that there will be a decrease in the average annual electricity that is generated by hydropower under many scenarios.

In Xu et al.  [97], the SSA algorithm was used to optimize the BP Neural Network parameters to improve the prediction accuracy of the power gride engineering cost. The results showed that the proposed model SSA-BP was a practical solution for such a problem. Zhang et al. [98] proposed a TCSSA-BP model that enhanced the SSA search ability to solve the local optimum problem when predicting the particle size challenges in the common material grinding industry. SSA was combined with a BP Neural Network to tune the BP-NN parameters. Results demonstrated apparent enhancement in the regression prediction of the particle size and the material grinding.

Liu et al. [99] established a model that combined the Bioinspired Neural Network (BINN) and a fusion of SSA algorithm to solve the problem of low stability of path planning and the issue of avoiding dynamic obstacles for unmanned aerial vehicles (UAV) in a mountainous environment. The proposed solution was compared to the Artificial Bee Colony Algorithm (ABC) and Dragonfly Algorithm (DA). The results showed that tendency to avoid dynamic obstacles is an excellent feature of the proposed model.

Yan et al. [100] introduced a model based on the usage of BP Neural network and SSA algorithm to identify water inrush type of coal mine water source. The model demonstrated excellent results in classifying the coal mine water sources.

4.4.2 SSA with Support Vector Machine

In the problem of fault diagnosis for rolling bearing, Lv et al. [101] used the SSA model to identify the optimal parameters for the SVM classifier. Their model identified the fault types quickly efficiently. Also, Wu et al. [102] proposed another fault diagnosis method using sparse stack autoencoder to extract the features, and they used SSA to improve the SVM ability. Their SSAE-SSA-SVM showed outperformed other classifiers in identifying faults.

Zhang et al. [37] proposed a model that used a semi-supervised AdaBoost classifier using an improved SSA (AdaBoost-ISSA-S4VM) to enhance the pulmonary nodule detection in CT images. The findings showed that the proposed model was better at labeling unlabeled lung CT images.

Tuerxun et al. [38] used the SSA with SVM to enhance the accuracy of diagnosing the wind turbine fault detection. The results showed that the SSA-SVM model was better than state-of-the-art models in the convergence and detection accuracy.

Because indoor positioning of WiFi technology is in high demand, Li et al. [103] proposed a model using SSA, which was optimized using the logistics chaos mapping. In addition, they used SSA to optimize the SVR to obtain better prediction results for indoor positioning. Their model showed better performance in comparison with other well-known methods.

4.4.3 SSA with Variational Mode Decomposition

Xu et al. [104] proposed a method that conquers the noise in the measurement signal of face slab deflection of concrete face rockfill dam (CFRD) by fiber optic gyro (FOG). Their method combined the SSA and variational mode decomposition (VMD). The SSA optimized the k and \(\alpha\) of VMD, and the proposed model showed great superiority over traditional methods. Wang et al. [105] introduced an algorithm to remove the noise interference in the pipeline leakage detection and signal denoising using an improved variational mode decomposition model (VMD). They used two-dimensional SSA to find the k and \(\alpha\) of the VDM. The results were compared against the same model using other optimization algorithms, such as firefly, PSO, and WOA. A significant improvement in the signal-to-noise ratio was obtained when using SSA.

Wu and Wang [106] designed an ensemble neural network ENN framework consisting of LSTM, SVM, ELM, and BP neural networks for solar and wind power prediction in China. The VDM was used to reduce the unwanted effect from the original series. The results showed that ENN provided the best forecasting accuracy in comparison with other models.

4.4.4 SSA with Firefly Algorithm

In Nguyen et al. [107], an improved variant of SSA is introduced, based on an elite reverse learning strategy and the mutation strategy of the firefly algorithm, to have proper planning for the power microgrid optimal operation. Such a planning strategy offered high performance and viability in resolving microgrid operation planning problems.

Shi et al. [108] shed light on the intelligent manufacturing problem by proposing an algorithm based on the usage of SSA, Firefly, and BP models (FASSA-BP). Firefly was used to solve the local optimum issue of SSA. As for the BP parameters, the SSA was used to tune them. As a result, the FASSA-BP accurately advanced the company’s intelligent manufacturing proficiencies.

4.4.5 SSA with Sine Cosine Algorithm

Ouyang et al. [109] proposed an SSA variant based on the usage of K-means to properly distribute the population to enhance the efficiency at the beginning. After that, they used the sine-cosine search and local search strategies to solve the SSA local optimum problem. These strategies were also used to optimize the SVM parameters. The proposed model showed better optimization capability and stability. Similar results were proven from the work of Ouyang et al. [110].

A learning SSA (LSSA) was introduced by Ouyang et al. [111] to tackle the problem of large randomness and local optimum. This was obtained by using the lens reverse learning strategy during the discoverer stage. In addition, an enhanced sine and cosine supervision mechanism was used to expand the algorithm search capabilities. LSSA demonstrated high stability and safety in path planning.

4.4.6 SSA with Bird Swarm Algorithm

An enhanced variant of SSA was proposed by Tang et al. [112] to tackle the early local extremum and the later stage low precision. The idea of birds’ swarm algorithm was used with SSA to have a diverse population and reduce the chance of falling into local optimum. Also, novel crossover and mutation techniques were used with SSA for a better next generation. These ideas added significant enhancement to SSA.

Lyu et al. [113] solved the issue of the low accuracy of multi-threshold image segmentation by improving the SSA. This was performed using the birds’ swarm algorithm (BSA). The proposed model showed better search capabilities and significant enhancement in the segmentation.

Predicting the aero-optical imaging deviation helps a lot in having proper navigation, positioning, and homing of aircraft, Xu et al. [114] proposed an improved SSA together with BP-NN to enhance the prediction approach. They used the birds’ swarm algorithm (BSA) to overcome the entrant problem, leading to quick algorithm convergence. The SSA-BP model demonstrated accurate and timely prediction for the aero-optical imaging deviation.

4.4.7 SSA with Other Algorithms

This section summarizes many algorithms that emerged as variants of the original SSA, where exciting problems were tackled.

Zhou et al. [17] came up with an exciting method that focuses on wavefront-shaping based on phase modulation. They used a crossover and mutation with the original SSA to achieve a better convergence rate. Their results showed that the proposed model outperformed other algorithms.

Jianhua and Zhiheng [19] worked on the local convergence and convergence stagnation of the original SSA. The Circle chaos map was used with the SSA, where the results showed that the model had a more vital global optimization ability and higher precision in convergence. Wang et al. [115] developed an SSA variation to improve node coverage in wireless sensor networks (WSN). The local optimum and the randomness issue were tackled using another variant of SSA based on lens learning, named LLSSA, by Ouyang et al. [116].

Tian et al. [117] introduced a new hybrid SSA algorithm to mitigate the enormous cost of the hybrid photovoltaic, battery energy, and diesel generator storage system in China. They analyzed their new model in different seasons and found out that weekends cost more than weekdays.

Another interesting problem is related to the software defects prediction that was undertaken using a hybrid model consisting of Particle Swarm Optimization and Sparrow Search Algorithm (SSA-PSO) by Yang et al. [118]. Their algorithm demonstrated better convergence speed and stability.

The wireless sensor networks’ energy efficiency problem is addressed by proposing a new hybrid SSA-based method with the components of the differential evolution method. The proposed method was introduced to improve the exploitation capabilities of the SSA and obtain better results. The experimental results proved the high and robust performance of the proposed method in achieving the best results.

5 Applications of SSA

From the time of establishment, the SSA has been applied and tested against several optimization problems from different research domains such as networking, energy, mechanical engineering, industrial engineering, environment, robotics, scheduling and planning, machine learning, wireless sensor networks, electrical engineering, image processing, and health care. The SSA algorithm application in different domains is demonstrated in Table 1. The table classifies the applications based on the domain, the problem name, and the type of SSA algorithm (i.e., original, modified, hybrid, and multi-objective).

The following is a summary of these applications. The SSA is applied to solve different networking and communication problems. This include establish active distribution network dynamic reconfiguration integrated optimization [34], optimal individual phase voltage regulation strategies in active distribution networks with high PV penetration [53], feature selection for intrusion detection [11], malicious URL classification model [70], and stochastic configuration network [21].

Optimizing energy is tackled by SSA and its variants. The following are some examples: power load prediction model [90], optimal energy management of micro-grid [33], DMPPT control of photovoltaic microgrid [119], cost minimization of a hybrid photovoltaic, diesel generator, and battery energy storage system [117], wind and solar power forecasting [106], optimal dispatch strategy of microgrid energy storage [12], harvest energy under uniform and non-uniform irradiance for PV system [54], and optimization of capacity configuration of wind-solar-diesel-storage [85].

Mechanical engineering have different problems which are solved by SSA such as prediction of in-Cylinder pressure of diesel engine [49], fault diagnosis [68, 102], detection of gear fault severity [91], hypersonic reentry trajectory optimization [76], fast trajectory optimization [28], fault diagnosis of rolling bearings [101], and fault diagnosis of wind turbines [38].

Industrial engineering is another domain that applies to SSA. This include utilizing the algorithm to solve the problems natural gas pipeline leakage signal [105], intelligent manufacturing [108], optimum position of wind turbine on a wind farm [52], load forecasting [94], time-series production forecasting [95], and short-term load forecasting [41].

The environment is another vital area that is tackled by SSA with the following solutions proposed processing of coal mine water source data [100], recognition of a linear source contamination [20], comprehensive water quality evaluation [41, 46], atmospheric \(pm_{2.5}\) prediction [65], short-term multi-step wind speed forecasting [36], forecasting hydropower generation by GFDL-CM3 climate model [96], and short-term wind power forecasting [47].

Developing robust robotic systems requires solving many optimization problems. Some of the solutions proposed by SSA and its variations are path planning approach for mobile robots [32], parameter identification of robot manipulators with unknown payloads [77], robot routing problem [69], cooperative positioning method for unmanned aerial vehicle (UAV) swarm [120], multi-UAV path planning [99], and 3d route planning for UAV [56].

Scheduling and planning problems are considered complex with several constraints that must be handled. The SSA are successfully applied to tackle several problems in this domain including load balancing of IoT tasks in the cloud computing [50], load monitoring and demand-side management [92], optimization strategy and capacity planning for coordinated operation of regional energy internet system [93], resource management in Internet of Things (IoT) [51], microgrid operations planning [107], load scheduling technique for cloud computing environment [29], flexible job shop scheduling [13], path planning [66, 79], and symmetric traveling salesman problem [24].

Normally, some machine learning tasks also can be boosted by optimization algorithms. The SSA is utilized with a manifold p-spectral clustering to improve the clustering process [80]. The prediction accuracy of the backpropagation neural network is also improved by injecting SSA [35]. The application of the Deep Belief Network is enhanced by SSA [48]. Finally, the Back Propagation neural network is also enhanced using the SSA optimization process for FRP-Strengthened RC Beams prediction [89].

The applications of the optimization problems in wireless sensor networks are very promising and the growth of their applications is very widely used. The routing optimization process in wireless sensor networks is tackled by an enhanced version of SSA [83]. The sensor networks coverage optimization of bridge monitoring in wireless sensor networks is tackled by SSA [81]. The node localization of wireless sensor networks is solved by SSA [44, 62]. Also, SSA has provided a promising solution for fault detection of the pressure sensor of blast furnace fan in wireless sensor networks [72]. For heterogeneous nodes, SSA is used to tackle by SSA [121]. The wireless sensor networks’ Optimization Coverage is improved by SSA [115]. DV-Hop Localization in wireless sensor networks is tacked in [60, 61] using SSA. The energy-efficient cluster head selection in wireless sensor networks has been tackled [122]. Finally, the indoor Positioning Model in wireless sensor networks is designed using improved SSA [103].

In electrical engineering, several optimization problems have been tackled using SSA such as sidelobe level reduction of linear antenna array [18], configuration of distributed generation [39], and parameter identification of PEMFC stacks [26]. In civil engineering, the Concrete strength prediction [110], Shape optimization of develop-able Bézier-like surfaces with multiple shape parameters [45], fiber optic gyro measurement signal of face slab deflection of concrete face rockfill dam [104]. The hybrid SSA and shift-invariant impulsive dictionary matching pursuit are used to find an optimized solution for multi-component fault diagnosis of wheelset-bearing [42].

The applications of SSA for the image processing domain have also gained substantial attention from different research teams. The image segmentation is the problem addressed by a new SSA version by Lyu et al. [113]. The SSA is also used to assess the BP neural networks to address the imaging deviation prediction [114]. The long-distance iris image is enhanced using a chaotic version of SSA [74]. Finally, the Camera calibration is optimized using the original version of SSA [86].

The last domain tackled by SSA is health care and bioinformatics. For this domain, the SSA and its versions have been utilized and adapted. The pulmonary nodule detection is tackled by SSA hybridized with a semi-supervised ensemble classifier [37]. The wavefront-shaping focus is also addressed by Zhou et al. [17]. Finally, the optimal brain tumor diagnosis is tackled by SSA with deep learning method [87, 88].

6 Open Source Software of SSA and Online Lectures

In order to provide a comprehensive survey that helps other researchers theoretically or/and practically, the open-source code of the SSA that was introduced by the founder of SSA and the other researchers are listed as follows:

Similarly, there are many lectures that are publicly available to describe the procedure of the original SSA algorithm as follows:

7 Critical Analysis of SSA

The SSA has yielded promising results in versions research domains and topics due to its impressive features over other swarm intelligence methods such as it is simple in concepts, easy for adaptation, parameter-less, not required mathematical derivations in the initial search, and has self-learning operators able to strike a suitable balance between exploration and exploitation during the search. Therefore, it has been successfully adapted to a wide variety of optimization applications. However, it is still suffering the chronic premature convergence dilemma when dealing with the optimization problem of large-scaled and rugged search space. Hence, researchers have suggested different ideas to boost the performance of the SSA.

Concerning the SSA convergence behavior, it is affected by the optimization problem size, the landscape shape, and ruggedness. Therefore, several variants of SSA have been introduced to boost its search capability. These variants are established to be in line with the search space complexity of the problem. The SSA variants are either improved or hybrid versions designed to find the right balance between exploration and exploitation during the search process. The main motivation for producing these versions is to fill the gap in the performance and thus improve the “endgame” outcomes.

It appears from the literature that the big dilemma of SSA convergence behavior is related to diversity. The SSA has divided the swarms into two groups: producers and scroungers. The producers are the leaders while the scroungers are the follower. These two groups are updated based on the best solution found. However, the other paths in the search space are not well explored. Several suggestions have been proposed to improve the diversity of the SSA such as chaotic mapping [27, 55, 56], inertia weight and cauchy-gaussian mutation [58], sin chaos search schema ([31]), lévy flight [31, 59], reverse learning [11], opposition based learning [28, 29, 65], and random walk [23, 70].

The SSA is initially established to deal with optimization problems in the continuous domain. However, the decision variables of the optimization problems can binary, discrete, permutation, and hierarchical graphs. Therefore, several versions of SSA have been introduced to deal with such search space nature such as the discrete version of SSA [24], permutation version of SSA [25], and binary version of SSA [11].

Another research challenge faced by the researchers using SSA is the complexity of the search space of large-scaled, non-convex, constrained, multimodal optimization problems. The scheduling problems are the typical challenges that face SSA since it has a rugged search space. Different versions of SSA have been proposed to deal with such problems [13, 29]. To deal with large-scale complicated problems the multiobjective [33, 34] and the hybrid SSA [19, 20, 117] versions are introduced.

8 Conclusion and Future Work

The variations of the swarm-based algorithm named SSA and its application to tackle different problems are demonstrated in this review paper. The increment use of SSA by the research community shows its effectiveness when solving different problems. The total number of citations each year, the number of publications each year, the top institutions and authors utilized the algorithm, and the topics tackled using SSA.

The SSA inspiration and its mathematical modeling are presented. It mimics the foraging and anti-predation behavior of sparrows in the population as the population is divided into producers and scroungers. The scouters’ sparrows are selected to avoid predators during the foraging process by generating alarm sounds when attackers discovered them. The producers are the fittest sparrows in the population and they can find better food sources. The SSA has three control parameters the number of producers (NP), the number of scroungers (NS = N - NP), and the number of scouters (SC). The small number of parameters makes the algorithm a good choice as an optimizer.

The SSA variants and their application domains are discussed. The algorithm is mostly applied to scheduling and engineering problems. This shows the efficiency and robustness of SSA when applied on non-convex, multi-modal, highly-constrained, combinatorial, and non-linear problems. The algorithm is applied to tackle problems in other domains including networking, machine learning, environment, healthcare, and image processing. The SSA application to a wide spectrum of domains shows the viability of the algorithm when tackling different problems.

The SSA convergence is affected by different factors including the problem search space complexity. As the algorithm can do very well exploring and exploiting search space for some problems. This is expected and mentioned by the No Free Lunch theorem (NFL). The good selection of the SSA parameters requires investigating and tuning them to have a good performance of the algorithm. As the algorithm focuses on the fittest solution, sometimes it loses the good attributes from the neglected solutions which may lead to being stuck in local optima.

The following are some future directions that can help researchers in developing SSA research:

  • Empowering exploitation of SSA Looking in neighboring search space during solutions evolution is a challenge that faces SSA researchers. This challenge can be mitigated using different techniques such as applying a structured population to increase solutions diversity [123], investigating other selection techniques [124], and hybridizing the SSA with local search techniques [125].

  • Adaptive parameters tuning The performance of the SSA is highly affected by the selected values of its three control parameters. Several techniques can be used to automatically do that such as self-adaptive, deterministic, or adaptive [126]. This can help in developing a black box SSA optimizer that can be used effectively to solve different optimization problems.

  • Tackling multi-objective problems There is a small number of researchers who applied the SSA to tackle multi-objective problems [34]. The SSA can be applied with popular multi-objective optimization frameworks such as NSGA II and MOEA/D [127]. The stopping criterion selection affects the performance and the final solution of the algorithm drastically. The selection of the appropriate technique can impact the algorithm behavior [128]. This can be another research direction to enhance the algorithm outcome.

  • Robust and Dynamic optimization Dynamic optimization is tackling an optimization problem with a local optimum that changes, while robust optimization is tackling an optimization problem in which one cannot ensure achieving a reliable solution [129]. To the best of our knowledge, no research work is applied using the SSA to tackle dynamic and robust optimization. Going in that direction can be a promising future track.

  • Tackle wide spectrum of domains Most of the solved problems using the SSA are engineering and scheduling problems. Many other domains can be tackled using this algorithm such as business-related problems, biomedical, security, and bioinformatics.