# A Fusion Crossover Mutation Sparrow Search Algorithm

Authors: Yanqiang Tang; Chenghai Li; Song Li; Bo Cao; Chen Chen
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

Aiming at the inherent problems of swarm intelligence algorithm, such as falling into local extremum in early stage and low precision in later stage, this paper proposes an improved sparrow search algorithm (ISSA). Firstly, we introduce the idea of flight behavior in the bird swarm algorithm into SSA to keep the diversity of the population and reduce the probability of falling into local optimum; Secondly, we creatively introduce the idea of crossover and mutation in genetic algorithm into SSA to get better next-generation population. These two improvements not only keep the diversity of the population at all times but also make up for the defect that the sparrow search algorithm is easy to fall into local optimum at the end of the iteration. The optimization ability of the improved SSA is greatly improved.


---

## Body

## 1. Introduction

Swarm intelligence optimization algorithm is a kind of bionics algorithm that simulates the behavior of some creatures in nature or is inspired by some physical phenomenon. Its central idea is to balance the global search and local search in a solution space to find the optimal solution. The swarm intelligence algorithm has attracted the attention of many scholars because of its simple operation and high efficiency. At present, these algorithms are widely used in image processing [1], training neural networks [2], signal processing [3], and feature selection [4]. The common swarm intelligence optimization algorithms mainly include particle swarm optimization (PSO) [5], grey wolf optimizer (GWO) [6], whale optimization algorithm (WOA) [7], salp swarm algorithm (SSO) [8], sine cosine algorithm (SCA) [9], and sparrow search algorithm (SSA) [10].Swarm intelligence optimization algorithms have the problem of easily falling into a local optimum and reducing the diversity of the population in later iterations. In response to this problem, many researchers have proposed methods to introduce various learning techniques into swarm intelligence optimization algorithms. For example, Li et al. [11] conducted a comprehensive study and analysis on how traditional intelligent optimization algorithms combine with learning operators and gave an outlook on its future development direction. To solve the numerical optimization problem, Li and Wang [12] proposed an improved elephant herd optimization using dynamic topology and learning-based biogeography optimization (BLEHO), while ensuring a better evolutionary process for the population through an elite strategy. Meanwhile, the global velocity strategy and the new learning strategy were introduced in EHO to update the velocity and position of individuals [13], and good results were obtained. The cuckoo search algorithm is an effective evolutionary method for global optimization, but it has the drawback of premature convergence problem and poor balance between exploitation and exploration. To address these problems, a balanced learning function was introduced into the cuckoo search algorithm by which a balance between exploitation and exploration was achieved [14]. Li et al. [15] proposed a new extension of CS with Q-learning steps and genetic operators, namely, the dynamic step cuckoo search algorithm (DMQL-CS). The step control strategy was considered as the action, which was used to check the effect of a single multistep evolution and to learn a single optimal step by calculating the Q-function value, and the crossover and variation operations expand the search range of the population and increase the diversity of the population. Li et al. [16] introduced a learning model combining individual historical knowledge and group knowledge into the CS algorithm while using a threshold statistical learning strategy to select the optimal learning model to exploit the potential of individual knowledge learning and group knowledge learning, providing a good trade-off between exploration and exploitation. To address the premature convergence suffered by the CS and the poor balance between exploration and exploitation, a dynamic CS with Taguchi opposition-based search (TOB-DCS) was proposed [17]. It employed two new strategies: Taguchi opposition-based search and dynamic evaluation. The Taguchi search strategy provided random generalized learning based on opposing relationships to enhance the exploration ability of the algorithm. The dynamic evaluation strategy reduced the number of function evaluations and accelerated the convergence property. Wang et al. [18] and Feng et al. [19] introduced opposition-based learning into the krill herd algorithm and monarch butterfly optimization, respectively, providing us with a strategy to optimize the population of individuals. Wang et al. [20] introduced chaos theory into CS to further improve the optimization performance of CS. Lu et al. [21] studied three chaotic strategies with 11 different chaotic map functions on GWO and successfully applied the most suitable chaotic strategy as the chaotic GWO to real-world engineering problems. Inspired by the SCA algorithm, Nabil et al. [22] updated the positions of the followers in the SSO algorithm through a sine function, which helped to improve the exploration stage and avoid stagnation in local areas. Liu et al. [23] introduced chaos strategy into SSA and used adaptive inertia weight to balance the convergence speed and exploration ability of the algorithm, but between the speed of convergence and the ability of exploration, a certain part must be sacrificed. Yuan et al. [24] used gravity center reverse learning mechanism to initialize the population so that the population has better spatial solution distribution. Secondly, the learning coefficient was introduced into the location updating part of the discoverer to improve the global search ability of the algorithm, but the local search ability of SSA was ignored. Lei et al. [25] introduced the Levy flight strategy into SSA, which improved the global optimization ability of SSA, but increased the complexity. Zhang et al. [26] used the sine cosine algorithm as a hybrid algorithm to help SSA jump out of local optimum. Although all the above various improvements contribute to optimization performance, there are still certain shortcomings, and thus optimization performance can be further improved.In this paper, on the basis of predecessors’ ideas, the flight behavior of the bird swarm algorithm and the cross mutation idea of the genetic algorithm are introduced into SSA, and the improved tent chaos is used to assist. The experimental results show that the ISSA proposed in this paper is effective and feasible in convergence accuracy, stability, convergence speed, and comprehensive performance.The organizational structure of this paper is as follows. Section1 introduces SSA and its improved methods. Section 2 uses test function analysis to verify the effectiveness of the improved algorithm. Section 3 gives the conclusion and describes the future of the proposed algorithm.


## 2. Sparrow Search Algorithm and Its Improvement

### 2.1. Sparrow Search Algorithm

Xue and Shen [10] proposed the sparrow search algorithm method. The idea of this algorithm comes from the foraging and antipredation behaviors of sparrows, which can be abstracted as an explorer-follower-forewarner model. The explorer has a high energy reserve and high fitness value. It provides a foraging area and direction for the followers. The followers follow the explorer with the best fitness value to find food to increase their own energy reserves and fitness values. Some followers may also constantly monitor the explorer to compete for food. A forewarner will sound an alarm when it is aware of the danger, and at the same time, moves quickly to a safe area to get a better position. Sparrows in the middle of the flock will randomly walk close to other sparrows, which is an antipredation behavior. At the same time, if the alarm value is greater than the safety threshold, the explorer needs to take all the followers away from the dangerous area.In SSA, assuming that there areN sparrows in a D-dimensional search space, the position of each sparrow is as follows:(1)X=x1,1x1,2⋯x1,d⋯x1,Dx2,1x2,2⋯x2,d⋯x2,D⋮⋮⋮⋮⋮⋮xi,1xi,2⋯xi,d⋯xi,D⋮⋮⋮⋮⋮⋮xN,1xN,2⋯xN,d⋯xN,D,where i=1,2,…,N, d=1,2,…,D, and xid represents the position of the ith sparrow in the dth dimension.As the explorer guides the movement of the entire sparrow group, search for food can occur anywhere. Therefore, the location of the explorer is updated as follows:(2)xi,dt+1=xi,dt⋅exp−iα⋅itermax,R2<ST,xi,dt+Q×L,R2≥ST,where t represents the current iteration, itermax is the maximum iteration, α is a random number in 0,1, Q is a random number following a normal distribution, and L represents a 1×d matrix, where each element is 1. R2∈0,1 represents an alarm value, and ST∈0.5,1 represents the safety threshold. If R2<ST, there are no predators around and the explorer will enter the wide search mode. If R2≥ST, some sparrows have found natural predators, and all sparrows need to fly to another safe area quickly.The followers follow the explorer to find food and may compete with the explorer for food to increase their food intake. The position update equation is as follows:(3)xi,dt+1=Q⋅expxworstdt−xi,dti2,i>n2,xbestdt+1+1D∑d=1Dxi,dt−xbestdt+1rand−1,1,where xworstdt represents the global worst position of the sparrows in the d dimension at the tth iteration and xbestdt+1 represents the best position of the explorer in the d dimension at the (t + 1)th iteration. When i>n/2, the ith follower with poor fitness is most likely to starve to death; otherwise, the ith follower randomly finds a location for food near the best position of the explorer.Assuming that the forewarner sparrows account for about 10% to 20% of the sparrow population, and their initial positions are randomly determined, the mathematical model can be expressed as follows:(4)xi,dt+1=xbestdt+β⋅xi,dt−xbestdt,fi≠fg,xi,dt+K⋅xi,dt−xworstdtfi−fw+ε,fi=fg,where β is a step size control parameter, which is a random normal distribution with the mean of 0 and variance of 1; K is a random number between [−1, 1]; fi, fg, and fw, respectively, represent the current fitness values of the sparrow, the current global best fitness value, and the current global worst fitness value; ε is the smallest constant to avoid zero-division-error. fi≠fg represents the sparrow at the edge of the group. fi=fg indicates that the sparrow in the middle of the group is aware of the danger and needs to move to another place.


### 2.2. Initial Population

The quality and diversity of the initial population in the swarm intelligence optimization algorithm have a great impact on the optimization performance of the algorithm. A high-quality initial population can increase the convergence speed of the algorithm and help find the global optimal solution. The standard SSA algorithm does not have any prior knowledge. The initial population generated by a random initialization method can easily lead to poor population diversity and uneven distribution. Therefore, the initialization of the sparrow population has a great effect on the search accuracy of the SSA algorithm. In order to maintain the diversity of the population, this paper adopts the fusion of an improved tent chaotic map and elite opposition-based learning strategy to initialize the population and replace the method of randomly generating the population in the SSA algorithm. We first use the improved tent chaotic map to make the initial population distribution more uniform, and we then use the feature that elite individuals contain more effective information in the elite opposition-based learning strategy to construct superior individuals and further improve the quality of the population.


#### 2.2.1. Improved Tent Chaotic Sequence

Tent chaos, as a type of chaos, is a more complicated nonlinear dynamic behavior than logistic chaos. The study proposed by Shan et al. [27] has shown that the tent chaotic map has better traversal uniformity and faster search speed than logistic chaos. Using the randomness, ergodicity, and regularity of the tent chaotic sequence to optimize the SSA algorithm can effectively maintain the diversity of the algorithm population, thereby improving the global search capability.The expression of the tent chaotic map is as follows:(5)yi+1=2yi,0≤y≤12,21−yi,12<y≤1.Analysis of equation (5) shows that the tent chaotic sequence is not perfect, and there are points with small periods and those with unstable periods. To avoid falling into the points in the iterative process, a random variable, rand0,1×1/N, is introduced into the tent chaos expression. The improved tent chaotic map expression is as follows:(6)yi+1=2yi+rand0,1×1N,0≤y≤12,21−yi+rand0,1×1N,12<y≤1.The improved tent chaotic map after Bernoulli shift transformation is expressed as follows:(7)yi+1=2yimod1+rand0,1×1N.According to the characteristics of the tent chaotic map, the method for initializing the sparrow population in the feasible region is as follows:(8)xid=lbid+qlbid−ubid×yid,where q is the uniform distribution in [0, 1], and lbid and ubid represent the upper and lower bounds of the feasible solution, respectively.


#### 2.2.2. Elite Opposition-Based Learning Strategy

Opposition-based learning (OBL) is a new strategy in computational intelligence. A great number of studies have shown that the opposition-based solution in the opposition-based learning strategy is closer to the global optimal solution than the existing solutions. Therefore, using this strategy can effectively enhance the diversity of the population, and to a certain extent, prevent the algorithm from falling into a local optimum. The elite opposition-based learning strategy is based on the reverse learning strategy in order to overcome the problem in the reverse learning strategy that the current solution and the resulting reverse solution are not necessarily easier than the current search space in search for the global optimal solution. The strategy selects the elite individuals in the current solution to construct the reverse solution, thus avoiding the invalid reverse solutions generated by nonelite individuals. Assuming thatsi=si,1,si,2,si,3,…,si,Di=1,2,3,…,N is an elite individual in the D-dimensional search space, then its opposition-based solution, s˜i=s˜i,1,s˜i,2,s˜i,3,…,s˜i,D, is defined as follows:(9)s˜i=δlbj+ubj−si,j,where si,j is the j-dimension vector of the elite solution si, j=1,2,…,D, δ is the random value in [0, 1], and lbj=minisi,j and ubj=maxisi,j are the lower and upper bounds of the jth dimension search space, respectively. After the opposition-based solution s˜i is obtained, it needs to be treated across the bounds:(10)s˜i.j=randlbj,ubj,ifs˜i.j<lbjors˜i.j>ubj,where randlbj,ubj is a random value in lbj,ubj.


#### 2.2.3. Population Initialization

According to the two methods described in Sections2.2.1 and 2.2.2, the pseudocode of the population initialization of the SSA algorithm in this paper is shown in Algorithm 1.Algorithm 1: Pseudocode of initialization population.
Initialize the populationS using equation (8)SortS according to the fitness valueSelect the first half of the better individuals fromS to form elite population EObtain the opposition-based populationOE using equations (9) and (10)CombineS and OE to obtain a new populationSelectN individuals from the new population with better fitness to form the initial population


### 2.3. Birds Swarm Algorithm Strategy

The bird swarm algorithm (BSA) was proposed by Meng et al. [28] in 2015 based on the flight, foraging, and vigilance behaviors of birds. Similar to SSA, the BSA also has explorers and followers. The equations for updating their locations are as follows:(11)xijt+1=xijt+xijt×randn0,1,xijt+1=xijt+xkjt−xijt×FL×rand0,1,k≠i,where randn0,1 represents a Gaussian random distribution with a mean of 0 and a standard deviation of 1; k∈1,2,3,…,N, k≠i, FL∈0,2 represents the probability that a follower follows the explorer to find food.In SSA, whenR2<ST, the number of the individual explorer sparrows is decreasing in every dimension, while the individual explorer sparrows in the BSA overcome this defect, as shown in Figure 1. Therefore, with the help of the idea of the explorer in BSA, the equation for the position of the explorer in SSA is modified as follows:(12)xi,dt+1=xi,dt+xi,dt×randn0,1,R2<ST,xi,dt+Q,R2≥ST.Figure 1
Search strategy of producers. (a)y=exp−i/α⋅itermax, (b) y = 1 + randn (0, 1).
(a)(b)At the same time, in SSA, the follower approaching the best positions in all dimensions can lead to rapid convergence but also reduces the diversity of the population, thereby making it easy for the algorithm to fall into a local optimum. In the BSA, the follower approaches the explorer with a certain probability. While ensuring global convergence and the diversity of the population, the local optimum can be avoided effectively. Therefore, the idea of the follower in BSA is introduced into SSA, and the location of the improved SSA follower is updated as follows:(13)xi,dt+1=Q⋅expxworstdt−xi,dti2,i>n2,xijt+xkjt−xijt×FL×rand0,1,otherwise.


### 2.4. Cauchy Mutation

The Cauchy mutation comes from the Cauchy distribution of the continuous probability distribution. The probability density of the one-dimension Cauchy distribution is expressed by the following:(14)fx=1π⋅ax2+a,x∈−∞,+∞.Whena is 1, as the distribution is the standard Cauchy distribution. Figure 2 shows the curves of the probability density functions of the Cauchy distribution and Gaussian distribution. It can be seen from the figure that the main feature of the Cauchy distribution is that, compared to the Gaussian distribution, its peak value at zero is smaller, its descent from the peak to the zero value is less steep and its descent is slower. Therefore, the Cauchy mutation is stronger than Gaussian mutation in perturbation ability, and the range of mutation is more uniform. Introducing the Cauchy mutation into the SSA algorithm can fully take advantage of the perturbation ability of the Cauchy operator and improve the algorithm’s global optimization ability.Figure 2
Probability density function curves of standard Cauchy distribution and Gaussian distribution.The Cauchy mutation equation is as follows:(15)mutationx=x1+tanπu−0.5,where x is the original individual position, mutationx is the individual position after Cauchy mutation, and u is a random number in (0, 1).


### 2.5. Chaotic Perturbance

The purpose of introducing chaotic perturbation in the algorithm is to prevent it from falling into a local optimum and to improve the global search ability and optimization accuracy. The steps are as follows:(1)
Generate chaotic variablesYd through equation (7).(2)
Map the chaotic variables to the solution space of the problem to be solved(16)newXd=mind+maxd−mind⋅Yd,wheremind and maxd are the minimum and maximum values of the dth-dimension variable newXd.(3)
Perform chaotic perturbance on the individual according to the following equation:(17)newXd′=X′+newX2,where X′ is the individual who needs chaotic perturbance, newX is the amount of chaotic perturbance generated, and newXd′ is the individual after the chaotic perturbance.


### 2.6. Introduction of Genetic Algorithm

The genetic algorithm is introduced into the SSA algorithm [29]. Due to its position update equations, the idea of SSA algorithm is position transfer, that is to improve the population quality by sharing useful information among sparrow individuals and self-learning between individuals. After the introduction of the genetic algorithm, the improved individual obtains a better next-generation population through crossover mutation. Moreover, the SSA algorithm now not only has the powerful global search ability of the genetic algorithm, but also integrates the position transfer idea of the SSA algorithm. It makes full use of the information of the population and the individuals that are ignored by the genetic algorithm, and its optimization performance is better. At the same time, the selection of crossover probability pc and mutation probability pm in the genetic algorithm is one of the important factors affecting the optimization ability of the algorithm. If pc is too small, the generation speed of new individuals during iteration will slow down, leading to early termination of the calculation process. If pc is too large, there are too many newly generated individuals in the group, which can damage the excellent individuals that have been generated in the group. If pm is too small, the ability to generate new individuals by mutation operations will be weak, and many excellent genes will be lost prematurely and not enter the next generation, which is not conducive to maintaining the diversity of the population. Lastly, if pm is too large, it will be similar to a random search algorithm.Therefore, this paper improves the crossover rate and the mutation rate and proposes an adaptive crossover and an adaptive mutation strategy based on the golden ratio index function to make the good individuals at a certain moment of evolution also change. The improved change equations are shown below:(18)pc=pc1exp−0.618f′−favgfmax−favg,f′≥favg,pc1,f′≤favg,(19)pm=pm1exp−0.382fmax−ffmax−favg,f′≥favg,pm1,f′≤favg,where pc1 is the maximum crossover probability set by the algorithm, and its value is set to 0.7; pm1 is the maximum mutation probability, and its value is set to 0.01. Meanwhile, the golden ratio is introduced into the equations, and the optimal solutions are approached one by one according to the principle of equal ratio, symmetric contraction, and optimal selection; this improves the speed of the global optimal solution search.A flow chart of the genetic algorithm introduced into SSA is shown in Figure3.Figure 3
Flow chart of genetic algorithm in SSA.In Figure3, the individual sparrow in SSA is regarded as a chromosome in GA. In the Nth generation group, individual sparrows enter the (N + 1)-th generation after being improved, crossovered, and mutated. The steps to introduce GA into SSA are as follows:(1)
Improve the selection operator: in each generation, first calculate the fitness value of each individual sparrow, sort by fitness value, and choose the top half of the best individuals as excellent samples to be improved through the SSA algorithm (these samples thus enter the next generation).(2)
Crossover mutation operator: in order to obtain the remainingp/2 next-generation individuals, select outstanding individuals from the SSA population as fathers and mothers, and generate new offspring individuals for the next generation through dynamic crossover operators and mutation operators.


### 2.7. Improved Sparrow Search Algorithm

The pseudocode of the improved sparrow search algorithm is expressed in detail in Algorithm2.Algorithm 2: Pseudocode of the ISSA.
Initialize the parameters of SSA, for instance, the initial values of the upper and lower bound lb and ub and the maximum number of iterationsT;Initialize the sparrow populationXi (i = 1, 2, …, N) by Algorithm 1;Calculate the fitness valuefi of the individual sparrow;Obtain the current optimal position, the worst position, and the corresponding optimal fitness value and worst fitness value;While (t < T)Fori = 1 to NUpdate the positions of the explorers using equation (12)Update the positions of the followers using equation (13)Update the positions of the forewarners using equation (4)End forFori = 1 to NUpdatefi and calculate the average fitness value favg of the sparrow population;iffi < favgCarry out Cauchy mutation according to equation (15)elsePerform tent chaotic perturbance according to equation (17)end ifUpdatefi and sort the individuals by fi;Retain the best first half of the individuals to promoted by SSA and directly enter the next generation;Select parents and offspring from the individuals that have been promoted to crossover and mutation using equations (18) and (19);Update the current optimal position, the worst position, and the corresponding optimal fitness value and worst fitness value;End fort = t + 1;End whileReturnX


## 2.1. Sparrow Search Algorithm

Xue and Shen [10] proposed the sparrow search algorithm method. The idea of this algorithm comes from the foraging and antipredation behaviors of sparrows, which can be abstracted as an explorer-follower-forewarner model. The explorer has a high energy reserve and high fitness value. It provides a foraging area and direction for the followers. The followers follow the explorer with the best fitness value to find food to increase their own energy reserves and fitness values. Some followers may also constantly monitor the explorer to compete for food. A forewarner will sound an alarm when it is aware of the danger, and at the same time, moves quickly to a safe area to get a better position. Sparrows in the middle of the flock will randomly walk close to other sparrows, which is an antipredation behavior. At the same time, if the alarm value is greater than the safety threshold, the explorer needs to take all the followers away from the dangerous area.In SSA, assuming that there areN sparrows in a D-dimensional search space, the position of each sparrow is as follows:(1)X=x1,1x1,2⋯x1,d⋯x1,Dx2,1x2,2⋯x2,d⋯x2,D⋮⋮⋮⋮⋮⋮xi,1xi,2⋯xi,d⋯xi,D⋮⋮⋮⋮⋮⋮xN,1xN,2⋯xN,d⋯xN,D,where i=1,2,…,N, d=1,2,…,D, and xid represents the position of the ith sparrow in the dth dimension.As the explorer guides the movement of the entire sparrow group, search for food can occur anywhere. Therefore, the location of the explorer is updated as follows:(2)xi,dt+1=xi,dt⋅exp−iα⋅itermax,R2<ST,xi,dt+Q×L,R2≥ST,where t represents the current iteration, itermax is the maximum iteration, α is a random number in 0,1, Q is a random number following a normal distribution, and L represents a 1×d matrix, where each element is 1. R2∈0,1 represents an alarm value, and ST∈0.5,1 represents the safety threshold. If R2<ST, there are no predators around and the explorer will enter the wide search mode. If R2≥ST, some sparrows have found natural predators, and all sparrows need to fly to another safe area quickly.The followers follow the explorer to find food and may compete with the explorer for food to increase their food intake. The position update equation is as follows:(3)xi,dt+1=Q⋅expxworstdt−xi,dti2,i>n2,xbestdt+1+1D∑d=1Dxi,dt−xbestdt+1rand−1,1,where xworstdt represents the global worst position of the sparrows in the d dimension at the tth iteration and xbestdt+1 represents the best position of the explorer in the d dimension at the (t + 1)th iteration. When i>n/2, the ith follower with poor fitness is most likely to starve to death; otherwise, the ith follower randomly finds a location for food near the best position of the explorer.Assuming that the forewarner sparrows account for about 10% to 20% of the sparrow population, and their initial positions are randomly determined, the mathematical model can be expressed as follows:(4)xi,dt+1=xbestdt+β⋅xi,dt−xbestdt,fi≠fg,xi,dt+K⋅xi,dt−xworstdtfi−fw+ε,fi=fg,where β is a step size control parameter, which is a random normal distribution with the mean of 0 and variance of 1; K is a random number between [−1, 1]; fi, fg, and fw, respectively, represent the current fitness values of the sparrow, the current global best fitness value, and the current global worst fitness value; ε is the smallest constant to avoid zero-division-error. fi≠fg represents the sparrow at the edge of the group. fi=fg indicates that the sparrow in the middle of the group is aware of the danger and needs to move to another place.


## 2.2. Initial Population

The quality and diversity of the initial population in the swarm intelligence optimization algorithm have a great impact on the optimization performance of the algorithm. A high-quality initial population can increase the convergence speed of the algorithm and help find the global optimal solution. The standard SSA algorithm does not have any prior knowledge. The initial population generated by a random initialization method can easily lead to poor population diversity and uneven distribution. Therefore, the initialization of the sparrow population has a great effect on the search accuracy of the SSA algorithm. In order to maintain the diversity of the population, this paper adopts the fusion of an improved tent chaotic map and elite opposition-based learning strategy to initialize the population and replace the method of randomly generating the population in the SSA algorithm. We first use the improved tent chaotic map to make the initial population distribution more uniform, and we then use the feature that elite individuals contain more effective information in the elite opposition-based learning strategy to construct superior individuals and further improve the quality of the population.


### 2.2.1. Improved Tent Chaotic Sequence

Tent chaos, as a type of chaos, is a more complicated nonlinear dynamic behavior than logistic chaos. The study proposed by Shan et al. [27] has shown that the tent chaotic map has better traversal uniformity and faster search speed than logistic chaos. Using the randomness, ergodicity, and regularity of the tent chaotic sequence to optimize the SSA algorithm can effectively maintain the diversity of the algorithm population, thereby improving the global search capability.The expression of the tent chaotic map is as follows:(5)yi+1=2yi,0≤y≤12,21−yi,12<y≤1.Analysis of equation (5) shows that the tent chaotic sequence is not perfect, and there are points with small periods and those with unstable periods. To avoid falling into the points in the iterative process, a random variable, rand0,1×1/N, is introduced into the tent chaos expression. The improved tent chaotic map expression is as follows:(6)yi+1=2yi+rand0,1×1N,0≤y≤12,21−yi+rand0,1×1N,12<y≤1.The improved tent chaotic map after Bernoulli shift transformation is expressed as follows:(7)yi+1=2yimod1+rand0,1×1N.According to the characteristics of the tent chaotic map, the method for initializing the sparrow population in the feasible region is as follows:(8)xid=lbid+qlbid−ubid×yid,where q is the uniform distribution in [0, 1], and lbid and ubid represent the upper and lower bounds of the feasible solution, respectively.


### 2.2.2. Elite Opposition-Based Learning Strategy

Opposition-based learning (OBL) is a new strategy in computational intelligence. A great number of studies have shown that the opposition-based solution in the opposition-based learning strategy is closer to the global optimal solution than the existing solutions. Therefore, using this strategy can effectively enhance the diversity of the population, and to a certain extent, prevent the algorithm from falling into a local optimum. The elite opposition-based learning strategy is based on the reverse learning strategy in order to overcome the problem in the reverse learning strategy that the current solution and the resulting reverse solution are not necessarily easier than the current search space in search for the global optimal solution. The strategy selects the elite individuals in the current solution to construct the reverse solution, thus avoiding the invalid reverse solutions generated by nonelite individuals. Assuming thatsi=si,1,si,2,si,3,…,si,Di=1,2,3,…,N is an elite individual in the D-dimensional search space, then its opposition-based solution, s˜i=s˜i,1,s˜i,2,s˜i,3,…,s˜i,D, is defined as follows:(9)s˜i=δlbj+ubj−si,j,where si,j is the j-dimension vector of the elite solution si, j=1,2,…,D, δ is the random value in [0, 1], and lbj=minisi,j and ubj=maxisi,j are the lower and upper bounds of the jth dimension search space, respectively. After the opposition-based solution s˜i is obtained, it needs to be treated across the bounds:(10)s˜i.j=randlbj,ubj,ifs˜i.j<lbjors˜i.j>ubj,where randlbj,ubj is a random value in lbj,ubj.


### 2.2.3. Population Initialization

According to the two methods described in Sections2.2.1 and 2.2.2, the pseudocode of the population initialization of the SSA algorithm in this paper is shown in Algorithm 1.Algorithm 1: Pseudocode of initialization population.
Initialize the populationS using equation (8)SortS according to the fitness valueSelect the first half of the better individuals fromS to form elite population EObtain the opposition-based populationOE using equations (9) and (10)CombineS and OE to obtain a new populationSelectN individuals from the new population with better fitness to form the initial population


## 2.2.1. Improved Tent Chaotic Sequence

Tent chaos, as a type of chaos, is a more complicated nonlinear dynamic behavior than logistic chaos. The study proposed by Shan et al. [27] has shown that the tent chaotic map has better traversal uniformity and faster search speed than logistic chaos. Using the randomness, ergodicity, and regularity of the tent chaotic sequence to optimize the SSA algorithm can effectively maintain the diversity of the algorithm population, thereby improving the global search capability.The expression of the tent chaotic map is as follows:(5)yi+1=2yi,0≤y≤12,21−yi,12<y≤1.Analysis of equation (5) shows that the tent chaotic sequence is not perfect, and there are points with small periods and those with unstable periods. To avoid falling into the points in the iterative process, a random variable, rand0,1×1/N, is introduced into the tent chaos expression. The improved tent chaotic map expression is as follows:(6)yi+1=2yi+rand0,1×1N,0≤y≤12,21−yi+rand0,1×1N,12<y≤1.The improved tent chaotic map after Bernoulli shift transformation is expressed as follows:(7)yi+1=2yimod1+rand0,1×1N.According to the characteristics of the tent chaotic map, the method for initializing the sparrow population in the feasible region is as follows:(8)xid=lbid+qlbid−ubid×yid,where q is the uniform distribution in [0, 1], and lbid and ubid represent the upper and lower bounds of the feasible solution, respectively.


## 2.2.2. Elite Opposition-Based Learning Strategy

Opposition-based learning (OBL) is a new strategy in computational intelligence. A great number of studies have shown that the opposition-based solution in the opposition-based learning strategy is closer to the global optimal solution than the existing solutions. Therefore, using this strategy can effectively enhance the diversity of the population, and to a certain extent, prevent the algorithm from falling into a local optimum. The elite opposition-based learning strategy is based on the reverse learning strategy in order to overcome the problem in the reverse learning strategy that the current solution and the resulting reverse solution are not necessarily easier than the current search space in search for the global optimal solution. The strategy selects the elite individuals in the current solution to construct the reverse solution, thus avoiding the invalid reverse solutions generated by nonelite individuals. Assuming thatsi=si,1,si,2,si,3,…,si,Di=1,2,3,…,N is an elite individual in the D-dimensional search space, then its opposition-based solution, s˜i=s˜i,1,s˜i,2,s˜i,3,…,s˜i,D, is defined as follows:(9)s˜i=δlbj+ubj−si,j,where si,j is the j-dimension vector of the elite solution si, j=1,2,…,D, δ is the random value in [0, 1], and lbj=minisi,j and ubj=maxisi,j are the lower and upper bounds of the jth dimension search space, respectively. After the opposition-based solution s˜i is obtained, it needs to be treated across the bounds:(10)s˜i.j=randlbj,ubj,ifs˜i.j<lbjors˜i.j>ubj,where randlbj,ubj is a random value in lbj,ubj.


## 2.2.3. Population Initialization

According to the two methods described in Sections2.2.1 and 2.2.2, the pseudocode of the population initialization of the SSA algorithm in this paper is shown in Algorithm 1.Algorithm 1: Pseudocode of initialization population.
Initialize the populationS using equation (8)SortS according to the fitness valueSelect the first half of the better individuals fromS to form elite population EObtain the opposition-based populationOE using equations (9) and (10)CombineS and OE to obtain a new populationSelectN individuals from the new population with better fitness to form the initial population


## 2.3. Birds Swarm Algorithm Strategy

The bird swarm algorithm (BSA) was proposed by Meng et al. [28] in 2015 based on the flight, foraging, and vigilance behaviors of birds. Similar to SSA, the BSA also has explorers and followers. The equations for updating their locations are as follows:(11)xijt+1=xijt+xijt×randn0,1,xijt+1=xijt+xkjt−xijt×FL×rand0,1,k≠i,where randn0,1 represents a Gaussian random distribution with a mean of 0 and a standard deviation of 1; k∈1,2,3,…,N, k≠i, FL∈0,2 represents the probability that a follower follows the explorer to find food.In SSA, whenR2<ST, the number of the individual explorer sparrows is decreasing in every dimension, while the individual explorer sparrows in the BSA overcome this defect, as shown in Figure 1. Therefore, with the help of the idea of the explorer in BSA, the equation for the position of the explorer in SSA is modified as follows:(12)xi,dt+1=xi,dt+xi,dt×randn0,1,R2<ST,xi,dt+Q,R2≥ST.Figure 1
Search strategy of producers. (a)y=exp−i/α⋅itermax, (b) y = 1 + randn (0, 1).
(a)(b)At the same time, in SSA, the follower approaching the best positions in all dimensions can lead to rapid convergence but also reduces the diversity of the population, thereby making it easy for the algorithm to fall into a local optimum. In the BSA, the follower approaches the explorer with a certain probability. While ensuring global convergence and the diversity of the population, the local optimum can be avoided effectively. Therefore, the idea of the follower in BSA is introduced into SSA, and the location of the improved SSA follower is updated as follows:(13)xi,dt+1=Q⋅expxworstdt−xi,dti2,i>n2,xijt+xkjt−xijt×FL×rand0,1,otherwise.


## 2.4. Cauchy Mutation

The Cauchy mutation comes from the Cauchy distribution of the continuous probability distribution. The probability density of the one-dimension Cauchy distribution is expressed by the following:(14)fx=1π⋅ax2+a,x∈−∞,+∞.Whena is 1, as the distribution is the standard Cauchy distribution. Figure 2 shows the curves of the probability density functions of the Cauchy distribution and Gaussian distribution. It can be seen from the figure that the main feature of the Cauchy distribution is that, compared to the Gaussian distribution, its peak value at zero is smaller, its descent from the peak to the zero value is less steep and its descent is slower. Therefore, the Cauchy mutation is stronger than Gaussian mutation in perturbation ability, and the range of mutation is more uniform. Introducing the Cauchy mutation into the SSA algorithm can fully take advantage of the perturbation ability of the Cauchy operator and improve the algorithm’s global optimization ability.Figure 2
Probability density function curves of standard Cauchy distribution and Gaussian distribution.The Cauchy mutation equation is as follows:(15)mutationx=x1+tanπu−0.5,where x is the original individual position, mutationx is the individual position after Cauchy mutation, and u is a random number in (0, 1).


## 2.5. Chaotic Perturbance

The purpose of introducing chaotic perturbation in the algorithm is to prevent it from falling into a local optimum and to improve the global search ability and optimization accuracy. The steps are as follows:(1)
Generate chaotic variablesYd through equation (7).(2)
Map the chaotic variables to the solution space of the problem to be solved(16)newXd=mind+maxd−mind⋅Yd,wheremind and maxd are the minimum and maximum values of the dth-dimension variable newXd.(3)
Perform chaotic perturbance on the individual according to the following equation:(17)newXd′=X′+newX2,where X′ is the individual who needs chaotic perturbance, newX is the amount of chaotic perturbance generated, and newXd′ is the individual after the chaotic perturbance.


## 2.6. Introduction of Genetic Algorithm

The genetic algorithm is introduced into the SSA algorithm [29]. Due to its position update equations, the idea of SSA algorithm is position transfer, that is to improve the population quality by sharing useful information among sparrow individuals and self-learning between individuals. After the introduction of the genetic algorithm, the improved individual obtains a better next-generation population through crossover mutation. Moreover, the SSA algorithm now not only has the powerful global search ability of the genetic algorithm, but also integrates the position transfer idea of the SSA algorithm. It makes full use of the information of the population and the individuals that are ignored by the genetic algorithm, and its optimization performance is better. At the same time, the selection of crossover probability pc and mutation probability pm in the genetic algorithm is one of the important factors affecting the optimization ability of the algorithm. If pc is too small, the generation speed of new individuals during iteration will slow down, leading to early termination of the calculation process. If pc is too large, there are too many newly generated individuals in the group, which can damage the excellent individuals that have been generated in the group. If pm is too small, the ability to generate new individuals by mutation operations will be weak, and many excellent genes will be lost prematurely and not enter the next generation, which is not conducive to maintaining the diversity of the population. Lastly, if pm is too large, it will be similar to a random search algorithm.Therefore, this paper improves the crossover rate and the mutation rate and proposes an adaptive crossover and an adaptive mutation strategy based on the golden ratio index function to make the good individuals at a certain moment of evolution also change. The improved change equations are shown below:(18)pc=pc1exp−0.618f′−favgfmax−favg,f′≥favg,pc1,f′≤favg,(19)pm=pm1exp−0.382fmax−ffmax−favg,f′≥favg,pm1,f′≤favg,where pc1 is the maximum crossover probability set by the algorithm, and its value is set to 0.7; pm1 is the maximum mutation probability, and its value is set to 0.01. Meanwhile, the golden ratio is introduced into the equations, and the optimal solutions are approached one by one according to the principle of equal ratio, symmetric contraction, and optimal selection; this improves the speed of the global optimal solution search.A flow chart of the genetic algorithm introduced into SSA is shown in Figure3.Figure 3
Flow chart of genetic algorithm in SSA.In Figure3, the individual sparrow in SSA is regarded as a chromosome in GA. In the Nth generation group, individual sparrows enter the (N + 1)-th generation after being improved, crossovered, and mutated. The steps to introduce GA into SSA are as follows:(1)
Improve the selection operator: in each generation, first calculate the fitness value of each individual sparrow, sort by fitness value, and choose the top half of the best individuals as excellent samples to be improved through the SSA algorithm (these samples thus enter the next generation).(2)
Crossover mutation operator: in order to obtain the remainingp/2 next-generation individuals, select outstanding individuals from the SSA population as fathers and mothers, and generate new offspring individuals for the next generation through dynamic crossover operators and mutation operators.


## 2.7. Improved Sparrow Search Algorithm

The pseudocode of the improved sparrow search algorithm is expressed in detail in Algorithm2.Algorithm 2: Pseudocode of the ISSA.
Initialize the parameters of SSA, for instance, the initial values of the upper and lower bound lb and ub and the maximum number of iterationsT;Initialize the sparrow populationXi (i = 1, 2, …, N) by Algorithm 1;Calculate the fitness valuefi of the individual sparrow;Obtain the current optimal position, the worst position, and the corresponding optimal fitness value and worst fitness value;While (t < T)Fori = 1 to NUpdate the positions of the explorers using equation (12)Update the positions of the followers using equation (13)Update the positions of the forewarners using equation (4)End forFori = 1 to NUpdatefi and calculate the average fitness value favg of the sparrow population;iffi < favgCarry out Cauchy mutation according to equation (15)elsePerform tent chaotic perturbance according to equation (17)end ifUpdatefi and sort the individuals by fi;Retain the best first half of the individuals to promoted by SSA and directly enter the next generation;Select parents and offspring from the individuals that have been promoted to crossover and mutation using equations (18) and (19);Update the current optimal position, the worst position, and the corresponding optimal fitness value and worst fitness value;End fort = t + 1;End whileReturnX


## 3. Experimental Results and Analysis

In order to verify the optimization performance of the ISSA algorithm, the particle swarm algorithm, grey wolf optimization algorithm, whale optimization algorithm, sine cosine optimization algorithm, salvia swarm algorithm, basic sparrow search algorithm, and ISSA were used in simulation experiments on 15 benchmark functions. The convergence accuracy, stability, convergence speed, improved advantages, and comprehensive performance of the ISSA algorithm were analyzed. The simulation experiment in this paper was performed on the Windows 10 64-bit operating system with Intel Core i7 CPU, 2.60 GHz, 16 GB, and MATLAB R2016b. The parameters of the algorithms are shown in Table1.Table 1
Parameter setting of each algorithm.
AlgorithmParameterPSOC1 = C2 = 2; wmin=0.2; wmax=0.9GWOa = [2, 0]WOAa1 = [2, 0]; a2 = [−2, −1]; b = 1SCAA = 2SSOc1 = 2 × exp (−(4 × l/L)2); c2 = rand (0, 1)SSAP_percent = 0.2; r2 = rand (0, 1)


### 3.1. Comparative Experiment with Benchmark Functions

The benchmark functions are shown in Table2. f1–f6 are unimodal functions, f7–f10 are multimodal functions, and f11–f15 are fixed-dimension functions. In order to make the experimental results fair and objective, the number of individuals in each algorithm is set to 30, and the maximum number of iterations is 500. Fifty independent simulation experiments were performed on each benchmark function for each algorithm, and the average value, optimal value, and standard deviation obtained from 50 experiments were calculated; the results are shown in Table 3.Table 2
Benchmark function.
FunctionFormulaDimDomainBestSpheref1x=∑i=1nxi230[−100, 100]0Schwefel’sf2x=∑i=1nxi+∏i=1nxi30[−10, 10]0Quadricf3x=∑i=1n∑j=1nxj230[−100, 100]0Rosenbrockf4x=∑i=1n−1100xi+1−xi22+xi−1230[−30, 30]0Stepf5x=∑i=1nxi+0.5230[−100, 100]0Quarticf6x=∑i=1nixi4+random0,130[−1.28, 1.28]0Rastrigrinf7x=∑i=1nxi2−10cos2πxi+1030[−5.12, 5.12]0Ackleyf8x=−20exp−0.21/n∑i=1nxi2−exp1/n∑i=1ncos2πxi+20+e30[−32, 32]0Griewingf9x=1/4000∑i=1nxi2−∏i=1ncosxi/i+130[−600, 600]0Generalized penalizedf10x=π/n10sin2πy1+∑i=1n−1yi−121+10sin2πyi+1+yn−1230[−50, 50]0Foxholesf11x=1/500+∑j=1251/j+∑i=12xi−aij6−12[−65, 65]1Kowalikf12x=∑i=111ai−x1bi2+bix2/bi2+bix3+x424[−5, 5]0.000307Six-Hump Camelf13x=4x12−2.1x14+1/3x16+x1x2−4x22−4x242[−5, 5]−1.0316Hartmann 6-Df14x=−∑i=14ciexp−∑j=16aijxj−pij26[0, 1]−3.32237Schkelf15x=−∑i=110X−aiX−aiT+ci−14[0, 10]−10.5363Table 3
Comparison of benchmark function results
Algorithmf1f2BestMeanStdBestMeanStdPSO4.1424E − 061.4384E − 041.7541E − 042.1000E − 033.0400E − 022.7700E − 02GWO2.3907E − 291.3015E − 272.4113E − 271.0220E − 178.3437E − 177.4816E − 17WOA3.2405E − 862.6708E − 741.8365E − 737.2860E − 615.9232E − 503.7524E − 49SCA9.2000E − 031.8723E + 017.3168E + 011.1444E − 043.0800E − 025.5600E − 02SSO2.7431E − 081.9076E − 072.7329E − 079.6500E − 022.1975E + 001.7494E + 00SSA0.0000E + 001.3270E − 636.7315E − 630.0000E + 002.8881E − 281.9201E − 27ISSA0.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00f3f4PSO2.6534E + 018.5518E + 013.7862E + 012.0736E + 019.6482E + 017.5173E + 01GWO6.5094E − 098.7864E − 062.2006E − 052.5570E + 012.6987E + 017.4470E − 01WOA1.3812E + 044.3320E + 041.1856E + 042.6844E + 012.7893E + 014.4990E − 01SCA1.4069E + 039.2502E + 036.2996E + 036.0487E + 017.1540E + 041.8682E + 05SSO3.8572E + 021.5773E + 031.0528E + 032.0659E + 011.7535E + 022.2395E + 02SSA3.7614E − 2021.5694E − 261.0663E − 253.8512E − 096.0667E − 052.1975E − 04ISSA0.0000E + 000.0000E + 000.0000E + 000.0000E + 003.0154E − 052.1322E − 04f5f6PSO7.7363E − 061.7335E − 0421551E − 046.5400E − 021.7710E − 016.4200E − 02GWO4.3825E − 057.8530E − 014.1230E − 014.9189E − 042.0000E − 031.0000E − 03WOA5.7600E − 024.4860E − 012.7230E − 014.3650E − 052.9000E − 032.9000E − 03SCA3.4801E + 001.4394E + 011.3082E + 015.1000E − 038.7900E − 027.4900E − 02SSO1.8335E − 081.8562E − 073.8529E − 074.2100E − 021.7420E − 016.6100E − 02SSA3.2830E − 141.6868E − 114.6371E − 118.1529E − 051.9000E − 032.2000E − 03ISSA4.2487E − 163.7199E − 116.1546E − 111.2378E − 068.3892E − 047.3944E − 04f7f8PSO3.0135E + 015.7563E + 011.4058E + 013.0000E − 033.1900E − 015.6300E − 01GWO5.6843E − 142.8627E + 004.5177E + 006.4837E − 141.0242E − 131.8386E − 14WOA0.0000E + 000.0000E + 000.0000E + 008.8818E − 164.6541E − 152.5285E − 15SCA1.2000E − 023.7869E + 013.2888E + 015.7700E − 021.5345E + 018.2415E + 00SSO2.1889E + 015.3608E + 011.9349E + 016.6150E − 012.4223E + 007.5430E − 01SSA0.0000E + 000.0000E + 000.0000E + 008.8820E − 168.8820E − 160.000E + 00ISSA0.0000E + 000.0000E + 000.0000E + 008.8820E − 168.8820E − 160.000E + 00f9f10PSO1.6895E − 068.0000E − 038.4000E − 039.1162E − 081.6600E − 024.3700E − 02GWO0.000E + 003.9000E − 038.4000E − 031.2700E − 024.2300E − 022.2200E − 02WOA0.000E + 001.0600E − 024.2200E − 023.3000E − 032.6100E − 022.3600E − 02SCA4.8600E − 021.0460E + 006.1810E − 017.9180E − 013.9084E + 041.7389E + 05SSO2.4783E − 041.6200E − 021.1800E − 022.1289E + 007.1528E + 003.4931E + 00SSA0.0000E + 000.0000E + 000.0000E + 002.0213E − 164.1052E − 121.3732E − 11ISSA0.0000E + 000.0000E + 000.0000E + 002.6713E − 191.8982E − 114.6080E − 11f11f12PSO9.9800E − 013.5010E + 002.6534E + 003.4787E − 048.5130E − 041.4307E − 04GWO9.9800E − 013.7279E + 003.4441E + 003.0750E − 044.8000E − 038.3000E − 03WOA9.9800E − 012.7870E + 002.9389E + 003.0755E − 046.4870E − 044.0138E − 04SCA9.9800E − 011.6744E + 009.4810E − 013.4944E − 041.0000E − 033.8581E − 04SSO9.9800E − 011.1967E + 004.9130E − 013.2295E − 041.7000E − 033.9000E − 03SSA9.9800E − 015.4046E + 005.2624E + 003.0749E − 043.1713E − 035.0923E − 05ISSA9.9800E − 018.5554E + 005.2046E + 003.0749E − 043.0749E − 046.0812E − 08f13f14PSO−1.0316E + 00−1.0316E + 002.9925E − 16−3.3220E + 00−3.2721E + 005.9300E − 02GWO−1.0316E + 00−1.0316E + 002.1450E − 08−3.3220E + 00−3.2571E + 007.7900E − 02WOA−1.0316E + 00−1.0316E + 001.1149E − 09−3.3219E + 00−3.2391E + 001.0780E − 01SCA−1.0316E + 00−1.0316E + 004.2159E − 05−3.1547E + 00−2.9017E + 003.4730E − 01SSO−1.0316E + 00−1.0316E + 003.4629E − 14−3.3220E + 00−3.2213E + 005.5000E − 02SSA−1.0316E + 00−1.0316E + 004.0992E − 16−3.3220E + 00−3.2625E + 006.0100E − 02ISSA−1.0316E + 00−1.0316E + 003.8328E − 16−3.3220E + 00−3.3030E + 004.4000E − 02f15PSO−1.0536E + 01−8.9375E + 002.8955E + 00GWO−1.0536E + 01−1.0210E + 011.6059E + 00WOA−1.0536E + 01−8.0035E + 003.0243E + 00SCA−9.6019E + 01−4.0101E + 001.6223E + 00SSO−1.0536E + 01−7.4916E + 003.5620E + 00SSA−1.0536E + 01−8.9136E + 002.5.31E + 00ISSA−1.0536E + 01−1.0536E + 011.0579E − 14For the unimodal functionsf1–f4, ISSA can accurately find the optimal value of zero, and the average value and standard deviation are also zero. Although SSA can find the optimal value of zero in function f1 and function f2, the average values and standard deviations are not zero. The optimization performance of the other five algorithms can only approach zero infinitesimally. Among them, WOA performs better in f1 and f2, with its optimization performance several orders of magnitude higher than those of the other four algorithms. In the unimodal functions f5 and f6, the optimization performance of ISSA is only one or two orders of magnitude higher than that of SSA; meanwhile, the optimization performance of the remaining five algorithms is not much different from that of the SSA algorithm. For the multimodal functions f7–f10, ISSA, SSA, and WOA can all find the optimal value zero in f7, and the average value and the standard deviation are all zero. In f8, ISSA and SSA stop searching after finding a point that is infinitesimally close to the optimal value and have the same stability; WOA is slightly inferior and is not as stable as ISSA and SSA. In f9, ISSA, SSA, GWO, and WOA can also find the optimal value zero, but GWO and WOA are less stable. In f10, the performance of the ISSA algorithm is not improved much, with the optimal value being only three orders of magnitude higher than that of SSA; moreover, ISSA and SSA have stabilities in the same order of magnitude. In the fixed-dimension functions, seven algorithms are able to find the optimal value in both f11 and f13. The standard deviation of SSO in f11 is the lowest, and the standard deviation of PSO in f13 is the lowest, indicating they are the most stable. In f12, only ISSA and SSA are able to find the optimal value. The stability of ISSA is three orders of magnitude higher than that of SSA, and the remaining algorithms are infinitesimally close to the optimal value. In f14, only SCA and WOA fail to find the optimal value, and the optimization capabilities of the other algorithms are not much different. In f15, only SCA fails to find the optimal value, whereas ISSA has the best stability, which is 14 orders of magnitude higher than the stability of the other algorithms. Therefore, the performance of ISSA is greatly improved in the unimodal functions and the multimodal functions. All the algorithms perform well for the fixed-dimension functions. It is relatively easy to find their optimal values. ISSA’s performance improvement is weak in these functions.Figure4 shows the convergence curves of different algorithms on the benchmark functions. It can be seen that, for the unimodal functions f1, f2, and f3 and multimodal functions f7 and f9, the ISSA algorithm makes these functions find the optimal value before reaching the maximum number of iterations. From the overall performance of all functions, the convergence speed of ISSA is faster than that of other algorithms. For the fixed-dimension functions f12, f13, f14, and f15, each algorithm is able to find the optimal value or comes infinitesimally close to the optimal value. Although the convergence speed of the ISSA algorithm has not improved much, its convergence speed can still reflect its advantages.Figure 4
Convergence curve of benchmark function. (a)f1, (b) f2, (c) f3, (d) f4, (e) f5, (f) f6, (g) f7, (h) f8, (i) f9, (j) f10, (k) f11, (l) f12, (m) f13, (n) f14, and (o) f15.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)


### 3.2. Rank-Sum Test

Derrac et al. [30] suggest that a statistical test should be carried out to evaluate the performance of improved algorithms. It is inadequate to evaluate an algorithm only based on the average and standard deviation. A statistical test is needed to demonstrate that the proposed improved algorithm has significant improvements over existing algorithms. Each result is compared independently to represent the stability and fairness of the algorithm. In this paper, the Wilcoxon rank-sum test is used to determine whether each result of ISSA is statistically significantly different from the best results of the other five algorithms at p less than 0.05. Table 4 shows the p values obtained by the rank-sum tests for ISSA and the other five algorithms on the 15 benchmark functions. When two algorithms under comparison reach the optimal values, they cannot be compared; thus, NaN in the table means “not applicable;” that is, a significance assessment cannot be made. R is the result of the significance assessment: “+,” “−,” and “=,” respectively, represent ISSA’s performance as being superior, inferior, and equivalent to the algorithms under comparison.Table 4
p value for Wilcoxon’s rank-sum test.
FunctionPSOGWOWOASCASSOSSAPRPRPRPRPRPRf13.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+1.2593E − 19+f23.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+1.2593E − 19+f33.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+f44.7330E − 20+4.7330E − 20+4.7330E − 20+4.7330E − 20+4.7330E − 20+1.3322E − 18+f57.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+2.2000E − 03+f67.0661E − 18+4.0077E − 09+1.6684E − 05+7.0661E − 18+7.0661E − 18+2.1000E − 03+f73.3111E − 20+3.0516E − 20+NaN=3.3111E − 20+3.3111E − 20+NaN=f83.3111E − 20+3.0060E − 20+1.0505E − 14+3.3111E − 20+3.3111E − 20+NaN=f93.3111E − 20+9.5336E − 04+8.2200E − 02−3.3111E − 20+3.3111E − 20+NaN=f107.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+1.8692E − 06+f114.3521E − 06+7.6000E − 03+2.1353E − 04+6.1731E − 05+4.9524E − 07+9.3163E − 04+f127.0661E − 18+9.5403E − 18+7.5041E − 18+7.0661E − 18+7.0661E − 18+8.0500E − 02−f131.4705E − 04+1.5698E − 18+1.5698E − 18+1.5698E − 18+1.5632E − 18+1.2590E − 01−f148.5920E − 01−6.3501E − 13+2.1497E − 12+1.8868E − 18+3.7419E − 16+1.2000E − 03+f153.9541E − 04+5.3043E − 19+5.3043E − 19+5.3043E − 19+5.3043E − 19+1.1848E − 04+Table4 shows that only the p values of ISSA and WOA in f9, ISSA and PSO in f14, and ISSA and SSA in f12 and f13 are slightly greater than 0.05; the other p-values are much less than 0.05. This indicates that the superior performance of ISSA is statistically significant. In the comparison between ISSA and SSA, the R in the f12 and f13 functions is “−.” This is because the optimization performance of SSA itself is better. Both ISSA and SSA can find the optimal values, but their average values are different. Although the optimization performance of ISSA on fixed-dimension functions has been improved somewhat, there was not much room for improvement to begin with.In order to evaluate the performance of the algorithms in many aspects, the mean absolute error (MAE) is used as an evaluation index. The MAE ranking shown in Table5 corresponds to the algorithms listed in Table 2.Table 5
Algorithm MAE ranking.
AlgorithmMAERankISSA0.52281SSA1.97992GWO2.62263PSO17.80214SSO124.3775WOA2.8926E + 036SSA8.0045E + 037As can be seen, ISSA ranks first. Compared with the other six algorithms, ISSA has the smallest MAE, which further proves the effectiveness of ISSA.


### 3.3. Box Plot

InSection 2.1, each algorithm is used to perform 50 experiments on each of the 15 benchmark functions. The results are compared in Table 3. However, it is difficult to observe the various data and the relationship between them from Table 3. To verify the stability and convergence of ISSA, we also conduct a box plot analysis [31]. The box plot summarizes six types of data: the maximum, upper quartile, median, lower quartile, minimum, and outliers. Figure 5 shows the plots for the 15 benchmark functions in the experiment. In the figure, “+” in each box subgraph represents the outlier, “—“ represents the median, the two ends of the rectangular box are the upper and lower quartiles, and “−” represents the maximum or minimum. The difference across the seven algorithms is large. In order to make this box plot comparison more obvious, three subgraphs are generated for each benchmark function, which are the comparison box plots of the seven algorithms, the comparison box plots of the remaining six algorithms after the SCA algorithm is removed, and the comparison box plots of the ISSA and SSA algorithms.Figure 5
Box plot.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)It can be seen from Figure5 that the median of ISSA is always close to the optimal value of each function, and the variation in optimal values across 50 iterations is the smallest. Furthermore, the distribution of the convergence value is more concentrated than in the other six algorithms, indicating that the ISSA algorithm has stronger robustness. Comparing ISSA and SSA separately, SSA and ISSA can find the optimal value in each iteration of functions f7, f8, f9, and f13, so the performance of ISSA cannot be improved anymore. Additionally, except for f11 and f14, in each benchmark function SSA has more outliers than ISSA, indicating that the ISSA algorithm performs better in terms of stability. Although no SSA outliers appeared in f11 and f14, the variation range in optimal values of SSA is relatively large, which shows that the SSA algorithm is less stable than ISSA.


### 3.4. Radar Chart

In order to analyze the overall optimization capabilities of the seven algorithms, the results of the algorithms in each benchmark function are compared and ranked according to their mean values (see Table3). If the means are equal, the standard deviations are compared; and if the standard deviations are also equal, the two are ranked identically. The ranking results are shown in Table 6. The last row in Table 6 is the average rank of each algorithm. ISSA ranks first and thus has the best optimization performance among the seven algorithms; it is also significantly better than SSA. The ranking results of the remaining algorithms are SSA, GWO/WOA, PSO, SSO, and SCA. In order to display the ranking of the seven algorithms more intuitively on different benchmark functions, a radar chart is used to plot the results of Table 6. This chart is shown in Figure 6. The smaller the area enclosed by the algorithm performance curve, the smaller the ranking values of the algorithm and the better the optimization performance. It can be seen from the figure that the area enclosed by the black curve representing ISSA is the smallest, indicating that ISSA has the best optimization performance overall among the seven algorithms.Table 6
Radar chart of sort of algorithms.
FunctionPSOGWOWOASCASSOSSAISSAf16427531f26425731f34376521f45347621f54657312f66345721f77415611f85437611f94357611f103547612f114356721f123427651f133754621f142457631f153257641Average ranking4.33333.93333.93336.26675.866672.20001.1333Figure 6
Radar chart of sort of algorithm.


## 3.1. Comparative Experiment with Benchmark Functions

The benchmark functions are shown in Table2. f1–f6 are unimodal functions, f7–f10 are multimodal functions, and f11–f15 are fixed-dimension functions. In order to make the experimental results fair and objective, the number of individuals in each algorithm is set to 30, and the maximum number of iterations is 500. Fifty independent simulation experiments were performed on each benchmark function for each algorithm, and the average value, optimal value, and standard deviation obtained from 50 experiments were calculated; the results are shown in Table 3.Table 2
Benchmark function.
FunctionFormulaDimDomainBestSpheref1x=∑i=1nxi230[−100, 100]0Schwefel’sf2x=∑i=1nxi+∏i=1nxi30[−10, 10]0Quadricf3x=∑i=1n∑j=1nxj230[−100, 100]0Rosenbrockf4x=∑i=1n−1100xi+1−xi22+xi−1230[−30, 30]0Stepf5x=∑i=1nxi+0.5230[−100, 100]0Quarticf6x=∑i=1nixi4+random0,130[−1.28, 1.28]0Rastrigrinf7x=∑i=1nxi2−10cos2πxi+1030[−5.12, 5.12]0Ackleyf8x=−20exp−0.21/n∑i=1nxi2−exp1/n∑i=1ncos2πxi+20+e30[−32, 32]0Griewingf9x=1/4000∑i=1nxi2−∏i=1ncosxi/i+130[−600, 600]0Generalized penalizedf10x=π/n10sin2πy1+∑i=1n−1yi−121+10sin2πyi+1+yn−1230[−50, 50]0Foxholesf11x=1/500+∑j=1251/j+∑i=12xi−aij6−12[−65, 65]1Kowalikf12x=∑i=111ai−x1bi2+bix2/bi2+bix3+x424[−5, 5]0.000307Six-Hump Camelf13x=4x12−2.1x14+1/3x16+x1x2−4x22−4x242[−5, 5]−1.0316Hartmann 6-Df14x=−∑i=14ciexp−∑j=16aijxj−pij26[0, 1]−3.32237Schkelf15x=−∑i=110X−aiX−aiT+ci−14[0, 10]−10.5363Table 3
Comparison of benchmark function results
Algorithmf1f2BestMeanStdBestMeanStdPSO4.1424E − 061.4384E − 041.7541E − 042.1000E − 033.0400E − 022.7700E − 02GWO2.3907E − 291.3015E − 272.4113E − 271.0220E − 178.3437E − 177.4816E − 17WOA3.2405E − 862.6708E − 741.8365E − 737.2860E − 615.9232E − 503.7524E − 49SCA9.2000E − 031.8723E + 017.3168E + 011.1444E − 043.0800E − 025.5600E − 02SSO2.7431E − 081.9076E − 072.7329E − 079.6500E − 022.1975E + 001.7494E + 00SSA0.0000E + 001.3270E − 636.7315E − 630.0000E + 002.8881E − 281.9201E − 27ISSA0.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 000.0000E + 00f3f4PSO2.6534E + 018.5518E + 013.7862E + 012.0736E + 019.6482E + 017.5173E + 01GWO6.5094E − 098.7864E − 062.2006E − 052.5570E + 012.6987E + 017.4470E − 01WOA1.3812E + 044.3320E + 041.1856E + 042.6844E + 012.7893E + 014.4990E − 01SCA1.4069E + 039.2502E + 036.2996E + 036.0487E + 017.1540E + 041.8682E + 05SSO3.8572E + 021.5773E + 031.0528E + 032.0659E + 011.7535E + 022.2395E + 02SSA3.7614E − 2021.5694E − 261.0663E − 253.8512E − 096.0667E − 052.1975E − 04ISSA0.0000E + 000.0000E + 000.0000E + 000.0000E + 003.0154E − 052.1322E − 04f5f6PSO7.7363E − 061.7335E − 0421551E − 046.5400E − 021.7710E − 016.4200E − 02GWO4.3825E − 057.8530E − 014.1230E − 014.9189E − 042.0000E − 031.0000E − 03WOA5.7600E − 024.4860E − 012.7230E − 014.3650E − 052.9000E − 032.9000E − 03SCA3.4801E + 001.4394E + 011.3082E + 015.1000E − 038.7900E − 027.4900E − 02SSO1.8335E − 081.8562E − 073.8529E − 074.2100E − 021.7420E − 016.6100E − 02SSA3.2830E − 141.6868E − 114.6371E − 118.1529E − 051.9000E − 032.2000E − 03ISSA4.2487E − 163.7199E − 116.1546E − 111.2378E − 068.3892E − 047.3944E − 04f7f8PSO3.0135E + 015.7563E + 011.4058E + 013.0000E − 033.1900E − 015.6300E − 01GWO5.6843E − 142.8627E + 004.5177E + 006.4837E − 141.0242E − 131.8386E − 14WOA0.0000E + 000.0000E + 000.0000E + 008.8818E − 164.6541E − 152.5285E − 15SCA1.2000E − 023.7869E + 013.2888E + 015.7700E − 021.5345E + 018.2415E + 00SSO2.1889E + 015.3608E + 011.9349E + 016.6150E − 012.4223E + 007.5430E − 01SSA0.0000E + 000.0000E + 000.0000E + 008.8820E − 168.8820E − 160.000E + 00ISSA0.0000E + 000.0000E + 000.0000E + 008.8820E − 168.8820E − 160.000E + 00f9f10PSO1.6895E − 068.0000E − 038.4000E − 039.1162E − 081.6600E − 024.3700E − 02GWO0.000E + 003.9000E − 038.4000E − 031.2700E − 024.2300E − 022.2200E − 02WOA0.000E + 001.0600E − 024.2200E − 023.3000E − 032.6100E − 022.3600E − 02SCA4.8600E − 021.0460E + 006.1810E − 017.9180E − 013.9084E + 041.7389E + 05SSO2.4783E − 041.6200E − 021.1800E − 022.1289E + 007.1528E + 003.4931E + 00SSA0.0000E + 000.0000E + 000.0000E + 002.0213E − 164.1052E − 121.3732E − 11ISSA0.0000E + 000.0000E + 000.0000E + 002.6713E − 191.8982E − 114.6080E − 11f11f12PSO9.9800E − 013.5010E + 002.6534E + 003.4787E − 048.5130E − 041.4307E − 04GWO9.9800E − 013.7279E + 003.4441E + 003.0750E − 044.8000E − 038.3000E − 03WOA9.9800E − 012.7870E + 002.9389E + 003.0755E − 046.4870E − 044.0138E − 04SCA9.9800E − 011.6744E + 009.4810E − 013.4944E − 041.0000E − 033.8581E − 04SSO9.9800E − 011.1967E + 004.9130E − 013.2295E − 041.7000E − 033.9000E − 03SSA9.9800E − 015.4046E + 005.2624E + 003.0749E − 043.1713E − 035.0923E − 05ISSA9.9800E − 018.5554E + 005.2046E + 003.0749E − 043.0749E − 046.0812E − 08f13f14PSO−1.0316E + 00−1.0316E + 002.9925E − 16−3.3220E + 00−3.2721E + 005.9300E − 02GWO−1.0316E + 00−1.0316E + 002.1450E − 08−3.3220E + 00−3.2571E + 007.7900E − 02WOA−1.0316E + 00−1.0316E + 001.1149E − 09−3.3219E + 00−3.2391E + 001.0780E − 01SCA−1.0316E + 00−1.0316E + 004.2159E − 05−3.1547E + 00−2.9017E + 003.4730E − 01SSO−1.0316E + 00−1.0316E + 003.4629E − 14−3.3220E + 00−3.2213E + 005.5000E − 02SSA−1.0316E + 00−1.0316E + 004.0992E − 16−3.3220E + 00−3.2625E + 006.0100E − 02ISSA−1.0316E + 00−1.0316E + 003.8328E − 16−3.3220E + 00−3.3030E + 004.4000E − 02f15PSO−1.0536E + 01−8.9375E + 002.8955E + 00GWO−1.0536E + 01−1.0210E + 011.6059E + 00WOA−1.0536E + 01−8.0035E + 003.0243E + 00SCA−9.6019E + 01−4.0101E + 001.6223E + 00SSO−1.0536E + 01−7.4916E + 003.5620E + 00SSA−1.0536E + 01−8.9136E + 002.5.31E + 00ISSA−1.0536E + 01−1.0536E + 011.0579E − 14For the unimodal functionsf1–f4, ISSA can accurately find the optimal value of zero, and the average value and standard deviation are also zero. Although SSA can find the optimal value of zero in function f1 and function f2, the average values and standard deviations are not zero. The optimization performance of the other five algorithms can only approach zero infinitesimally. Among them, WOA performs better in f1 and f2, with its optimization performance several orders of magnitude higher than those of the other four algorithms. In the unimodal functions f5 and f6, the optimization performance of ISSA is only one or two orders of magnitude higher than that of SSA; meanwhile, the optimization performance of the remaining five algorithms is not much different from that of the SSA algorithm. For the multimodal functions f7–f10, ISSA, SSA, and WOA can all find the optimal value zero in f7, and the average value and the standard deviation are all zero. In f8, ISSA and SSA stop searching after finding a point that is infinitesimally close to the optimal value and have the same stability; WOA is slightly inferior and is not as stable as ISSA and SSA. In f9, ISSA, SSA, GWO, and WOA can also find the optimal value zero, but GWO and WOA are less stable. In f10, the performance of the ISSA algorithm is not improved much, with the optimal value being only three orders of magnitude higher than that of SSA; moreover, ISSA and SSA have stabilities in the same order of magnitude. In the fixed-dimension functions, seven algorithms are able to find the optimal value in both f11 and f13. The standard deviation of SSO in f11 is the lowest, and the standard deviation of PSO in f13 is the lowest, indicating they are the most stable. In f12, only ISSA and SSA are able to find the optimal value. The stability of ISSA is three orders of magnitude higher than that of SSA, and the remaining algorithms are infinitesimally close to the optimal value. In f14, only SCA and WOA fail to find the optimal value, and the optimization capabilities of the other algorithms are not much different. In f15, only SCA fails to find the optimal value, whereas ISSA has the best stability, which is 14 orders of magnitude higher than the stability of the other algorithms. Therefore, the performance of ISSA is greatly improved in the unimodal functions and the multimodal functions. All the algorithms perform well for the fixed-dimension functions. It is relatively easy to find their optimal values. ISSA’s performance improvement is weak in these functions.Figure4 shows the convergence curves of different algorithms on the benchmark functions. It can be seen that, for the unimodal functions f1, f2, and f3 and multimodal functions f7 and f9, the ISSA algorithm makes these functions find the optimal value before reaching the maximum number of iterations. From the overall performance of all functions, the convergence speed of ISSA is faster than that of other algorithms. For the fixed-dimension functions f12, f13, f14, and f15, each algorithm is able to find the optimal value or comes infinitesimally close to the optimal value. Although the convergence speed of the ISSA algorithm has not improved much, its convergence speed can still reflect its advantages.Figure 4
Convergence curve of benchmark function. (a)f1, (b) f2, (c) f3, (d) f4, (e) f5, (f) f6, (g) f7, (h) f8, (i) f9, (j) f10, (k) f11, (l) f12, (m) f13, (n) f14, and (o) f15.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)


## 3.2. Rank-Sum Test

Derrac et al. [30] suggest that a statistical test should be carried out to evaluate the performance of improved algorithms. It is inadequate to evaluate an algorithm only based on the average and standard deviation. A statistical test is needed to demonstrate that the proposed improved algorithm has significant improvements over existing algorithms. Each result is compared independently to represent the stability and fairness of the algorithm. In this paper, the Wilcoxon rank-sum test is used to determine whether each result of ISSA is statistically significantly different from the best results of the other five algorithms at p less than 0.05. Table 4 shows the p values obtained by the rank-sum tests for ISSA and the other five algorithms on the 15 benchmark functions. When two algorithms under comparison reach the optimal values, they cannot be compared; thus, NaN in the table means “not applicable;” that is, a significance assessment cannot be made. R is the result of the significance assessment: “+,” “−,” and “=,” respectively, represent ISSA’s performance as being superior, inferior, and equivalent to the algorithms under comparison.Table 4
p value for Wilcoxon’s rank-sum test.
FunctionPSOGWOWOASCASSOSSAPRPRPRPRPRPRf13.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+1.2593E − 19+f23.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+1.2593E − 19+f33.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+3.3111E − 20+f44.7330E − 20+4.7330E − 20+4.7330E − 20+4.7330E − 20+4.7330E − 20+1.3322E − 18+f57.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+2.2000E − 03+f67.0661E − 18+4.0077E − 09+1.6684E − 05+7.0661E − 18+7.0661E − 18+2.1000E − 03+f73.3111E − 20+3.0516E − 20+NaN=3.3111E − 20+3.3111E − 20+NaN=f83.3111E − 20+3.0060E − 20+1.0505E − 14+3.3111E − 20+3.3111E − 20+NaN=f93.3111E − 20+9.5336E − 04+8.2200E − 02−3.3111E − 20+3.3111E − 20+NaN=f107.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+7.0661E − 18+1.8692E − 06+f114.3521E − 06+7.6000E − 03+2.1353E − 04+6.1731E − 05+4.9524E − 07+9.3163E − 04+f127.0661E − 18+9.5403E − 18+7.5041E − 18+7.0661E − 18+7.0661E − 18+8.0500E − 02−f131.4705E − 04+1.5698E − 18+1.5698E − 18+1.5698E − 18+1.5632E − 18+1.2590E − 01−f148.5920E − 01−6.3501E − 13+2.1497E − 12+1.8868E − 18+3.7419E − 16+1.2000E − 03+f153.9541E − 04+5.3043E − 19+5.3043E − 19+5.3043E − 19+5.3043E − 19+1.1848E − 04+Table4 shows that only the p values of ISSA and WOA in f9, ISSA and PSO in f14, and ISSA and SSA in f12 and f13 are slightly greater than 0.05; the other p-values are much less than 0.05. This indicates that the superior performance of ISSA is statistically significant. In the comparison between ISSA and SSA, the R in the f12 and f13 functions is “−.” This is because the optimization performance of SSA itself is better. Both ISSA and SSA can find the optimal values, but their average values are different. Although the optimization performance of ISSA on fixed-dimension functions has been improved somewhat, there was not much room for improvement to begin with.In order to evaluate the performance of the algorithms in many aspects, the mean absolute error (MAE) is used as an evaluation index. The MAE ranking shown in Table5 corresponds to the algorithms listed in Table 2.Table 5
Algorithm MAE ranking.
AlgorithmMAERankISSA0.52281SSA1.97992GWO2.62263PSO17.80214SSO124.3775WOA2.8926E + 036SSA8.0045E + 037As can be seen, ISSA ranks first. Compared with the other six algorithms, ISSA has the smallest MAE, which further proves the effectiveness of ISSA.


## 3.3. Box Plot

InSection 2.1, each algorithm is used to perform 50 experiments on each of the 15 benchmark functions. The results are compared in Table 3. However, it is difficult to observe the various data and the relationship between them from Table 3. To verify the stability and convergence of ISSA, we also conduct a box plot analysis [31]. The box plot summarizes six types of data: the maximum, upper quartile, median, lower quartile, minimum, and outliers. Figure 5 shows the plots for the 15 benchmark functions in the experiment. In the figure, “+” in each box subgraph represents the outlier, “—“ represents the median, the two ends of the rectangular box are the upper and lower quartiles, and “−” represents the maximum or minimum. The difference across the seven algorithms is large. In order to make this box plot comparison more obvious, three subgraphs are generated for each benchmark function, which are the comparison box plots of the seven algorithms, the comparison box plots of the remaining six algorithms after the SCA algorithm is removed, and the comparison box plots of the ISSA and SSA algorithms.Figure 5
Box plot.
(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)(k)(l)(m)(n)(o)It can be seen from Figure5 that the median of ISSA is always close to the optimal value of each function, and the variation in optimal values across 50 iterations is the smallest. Furthermore, the distribution of the convergence value is more concentrated than in the other six algorithms, indicating that the ISSA algorithm has stronger robustness. Comparing ISSA and SSA separately, SSA and ISSA can find the optimal value in each iteration of functions f7, f8, f9, and f13, so the performance of ISSA cannot be improved anymore. Additionally, except for f11 and f14, in each benchmark function SSA has more outliers than ISSA, indicating that the ISSA algorithm performs better in terms of stability. Although no SSA outliers appeared in f11 and f14, the variation range in optimal values of SSA is relatively large, which shows that the SSA algorithm is less stable than ISSA.


## 3.4. Radar Chart

In order to analyze the overall optimization capabilities of the seven algorithms, the results of the algorithms in each benchmark function are compared and ranked according to their mean values (see Table3). If the means are equal, the standard deviations are compared; and if the standard deviations are also equal, the two are ranked identically. The ranking results are shown in Table 6. The last row in Table 6 is the average rank of each algorithm. ISSA ranks first and thus has the best optimization performance among the seven algorithms; it is also significantly better than SSA. The ranking results of the remaining algorithms are SSA, GWO/WOA, PSO, SSO, and SCA. In order to display the ranking of the seven algorithms more intuitively on different benchmark functions, a radar chart is used to plot the results of Table 6. This chart is shown in Figure 6. The smaller the area enclosed by the algorithm performance curve, the smaller the ranking values of the algorithm and the better the optimization performance. It can be seen from the figure that the area enclosed by the black curve representing ISSA is the smallest, indicating that ISSA has the best optimization performance overall among the seven algorithms.Table 6
Radar chart of sort of algorithms.
FunctionPSOGWOWOASCASSOSSAISSAf16427531f26425731f34376521f45347621f54657312f66345721f77415611f85437611f94357611f103547612f114356721f123427651f133754621f142457631f153257641Average ranking4.33333.93333.93336.26675.866672.20001.1333Figure 6
Radar chart of sort of algorithm.


## 4. Conclusion

In this paper, the idea of flight behavior of BSA and the idea of crossover and mutation of GA are introduced into SSA. Thus ISSA is proposed. Through the improvement, the ISSA can keep the diversity of the population at the end of iteration and keep the population in a better state. The improved method has good global convergence performance and robustness and shows better optimization ability and better comprehensive performance than the original algorithm. In the next step, it will be compared with other novel algorithms such as Monarch Butterfly Optimization (MBO) [32], Earthworm Optimization Algorithm (EWA) [33], Elephant Herding Optimization (EHO) [34], Moth Search (MS) algorithm [35, 36], Slime Mold Algorithm (SMA) [37], and Harris Hawk Optimization (HHO) [38] on specific problems, and it will be applied in practical engineering to verify the advantages of ISSA.



---

*Source: 9952606-2021-07-23.xml*