Research Article A Novel Crow Search Algorithm Based on Improved Flower Pollination

. Crow search algorithm (CSA) is a new type of swarm intelligence optimization algorithm proposed by simulating the crows’ intelligent behavior of hiding and retrieving food. The algorithm has the characteristics of simple structure, few control parameters, and easy implementation. Like most optimization algorithms, the crow search algorithm also has the disadvantage of slow convergence and easy fall into local optimum. Therefore, a crow search algorithm based on improved ﬂower pollination algorithm (IFCSA) is proposed to solve these problems. First, the search ability of the algorithm is balanced by the reasonable change of awareness probability, and then the convergence speed of the algorithm is improved. Second, when the leader ﬁnds himself followed, the cross-pollination strategy with Cauchy mutation is introduced to avoid the blindness of individual location update, thus improving the accuracy of the algorithm. Experiments on twenty benchmark problems and speed reducer design were conducted to compare the performance of IFCSA with that of other algorithms. The results show that IFCSA has better performance in function optimization and speed reducer design problem.


Introduction
In modern societies where global resources are increasingly scarce, optimization has become one of the most important and hottest research topics [1]. It is in the core process of various engineering fields such as engineering, science, energy, and computer. With the increasing complexity of scientific and engineering problems, traditional mathematical methods sometimes cannot solve them well. erefore, some scholars have proposed metaheuristic algorithms, such as particle swarm optimization (PSO) [2], bat algorithm (BA) [3], butterfly optimization algorithm (BOA) [4], flower pollination algorithm (FPA) [5], pigeon inspired optimization (PIO) [6], whale optimization algorithm (WOA) [7], gray wolf optimizer (GWO) [8], and teachinglearning-based optimization (TLBO) [9]. Compared with traditional algorithms, these intelligent algorithms can make up for the defects of the traditional algorithm in the problem of great complexity. However, they still have the problems of low solution accuracy and slow convergence speed.
Crow search algorithm (CSA) [10] is a new swarm intelligence optimization algorithm proposed by Askarzadeh in 2016. e algorithm has the advantages of simple structure, fewer control parameters, and easy implementation. Now it has been widely used to solve various practical optimization problems in chemical engineering and QSAR [11], image processing [12], feature selection [13], neural network and support vector machine [14], aircraft maintenance inspection [15], wireless sensor network [16], and other major engineering fields. However, like most optimization algorithms, crow search algorithm itself also has the defects of slow convergence speed and easy fall into local optimum.
In view of the shortcomings of crow search algorithm, many scholars have put forward their own improvement schemes, which can be roughly divided into two categories. One is to analyze and improve the parameters of the standard crow search algorithm, and the other is to integrate it with other intelligent algorithms to make up for the shortcomings of crow search algorithm. For the first kind of improvement, Wu et al. proposed a crow search algorithm incorporated in Levy flight (LFCSA) [17] and applied it to update the finite element model. e chaotic sequence was used to initialize the population, so that the particles were evenly distributed in the solution space and the diversity of the population was increased. erefore, Liu et al. proposed the chaotic binary crow search algorithm (CBCSA) [18] for the discrete space, using it to solve the problem of {0-1} knapsack. By introducing adaptive step size, Mohammdi and Abdi proposed self-adaptive step size crow search algorithm (MCSA) [19] and applied it to nonconvex economic load scheduling. For the second kind of improvement, Xiao et al. [20] combined CSA with sine cosine algorithm to solve pressure vessel design problem. Arora et al. [21] combined the crow search algorithm with the gray Wolf algorithm and used it to solve the problem of feature selection.
All the above improved algorithms have improved the performance of the algorithm to some extent, but some improvements were only optimized for a certain strategy in the crow update mechanism or simply mixed optimization with other optimization algorithms. For example, LFCSA uses Levy flight strategy, CBCSA takes advantage of the particularity of chaos mapping, and MCSA introduces selfadaptive flight step. Although these improved strategies can make the algorithm jump out of local optimum better, they cannot make up for the slow convergence speed. Other improvements are simply hybrid optimizations with other algorithms. is kind of improvement scheme ignores the limitations of the fusion algorithm itself, which also makes the optimization ability of the improved algorithm have some defects. In response to these shortcomings, this article mainly improves the standard crow search algorithm from three aspects: increasing population diversity, self-adaptive awareness probability, and improved cross-pollination mechanism of flower pollination algorithm. e population is initialized by tent chaotic sequence so that the particles are evenly distributed in the search space, and the increase of population diversity enables the algorithm to better jump out of the local optimum and accelerate the convergence speed. e next strategies are self-adaptive awareness probability and improved cross-pollination mechanism. It is beneficial to balance the global search ability and local search ability of the crow search algorithm and avoid the blindness of updating the random search position of crows, thus improving the solution accuracy and convergence speed of the algorithm.
In Section 2 of the paper, we will review the crow search algorithm and the flower pollination algorithm. In Section 3, the improved strategy will be described to produce an improved crow search algorithm. In Section 4, the proposed algorithm will be tested by using 20 well-known benchmark functions and applied to a practical engineering problem. Finally, the conclusion is given in Section 5.

Crow Search Algorithm.
e crow is a very clever bird, which can remember the face of human beings and warn its kind when encountering danger. One of the most obvious characteristics of the cleverness of crows is their ability to hide food and remember the location of the hidden food. At the same time, they will follow each other to get a better source of food, but when the crow finds itself followed by other crows, it will try to change the hidden place of its food to avoid food theft. Based on the living habits of crows, the crow search algorithm has the following principles: (1) Crows are social animals (2) Crows can remember the location of the hidden food (3) Crows will follow each other and steal others' food (4) Crows do their best to protect their food from being stolen Based on the four principles, the basic process of CSA is described as follows: Step 1: initializing the parameters of CSA. ese include population size (n), maximum iteration number (Maxsize), flight step size (fl), and awareness probability (AP).
Step 2: initializing the individual crows and memory matrix. n crows are generated in the search space of d − dimension, and each crow x i � (X i,1 , X i,2 , . . . , X i,d ) represents a feasible solution of a problem. Since the initial population has no experience, it is assumed that the initial memory matrix is the initial position.
Step 3: evaluating the quality of each crow according to the fitness function.
Step 4: generating a new location for each crow in the d − dimensional search space. Assuming that crow i randomly follows a crow (for example, crow j), in order to find the place of the hidden food of crow j, the position update of crow i can be divided into the following two situations: Case 1: crow j does not find that crow i is following it. In this case, the position update formula of crow i is Case 2: crow j finds that crow i is following it, and crow j will take crow i to a random position.
To sum up, the position update formula of crow i is a random position, otherwise.

Mathematical Problems in Engineering
Here, r i , r j are random numbers that obey the uniform distribution of [0, 1]. AP represents the perception probability. When the AP is smaller, the probability of occurrence of Case 1 is greater, and the algorithm tends to search locally. When the AP is larger, the probability of finding in Case 2 is greater, and the algorithm tends to search globally. fl i.iter is the flight step length of crow i. When fl i.iter < 1, the next position of crow i is between x i,iter and m j,iter , as shown in Figure 1. When fl i.iter > 1, the next position of crow i is outside the line between x i,iter and m j,iter , as shown in Figure 2. erefore, fl will affect the search ability of the algorithm. If the value is too large, it tends to search globally, and the algorithm has poor convergence. If the value is too small, it is easy to fall into the local optimum.
Step 5: checking whether the new position of each crow is feasible. If possible, change the crow's position. Otherwise, it is not updated.
Step 6: calculating the fitness value of the new position of each crow.
Step 7: updating the memory matrix of each crow.
Step 8: repeating Steps 4-7 until the termination condition is reached.

Flower Pollination Algorithm.
Flower pollination algorithm is a new metaheuristic swarm intelligence optimization algorithm proposed by Yang, a scholar from Cambridge University, UK, in 2012. e algorithm simulates the two processes of cross-pollination and self-pollination of flowering plants, which corresponds to the global search mechanism and local search mechanism in the algorithm. Because the algorithm has few parameters, simple structure, and easy implementation, it has widely attracted the interest of other scholars. In order to simplify the problem and make the algorithm more efficient, considering that there is only one solution to the optimization problem, Yang assumes that each flowering plant can only produce one flower and each flower can only produce one pollen gamete. Flower pollination process can be summarized as the following four rules: (1) Biological cross-pollination is considered a global pollination process in which pollen carriers carry pollen on Levy flights (2) Abiotic self-pollination is regarded as a local pollination process (3) e reproduction probability is the constancy of flowers, and the value of reproduction probability is proportional to the similarity of two flowers (4) e transition probability p ∈ [0, 1] is used to control the transition between local pollination and global pollination rough the above rules, the following mathematical model is established. Definition 1. In the process of global pollination, the formula of pollen position update is Here, x i,iter+1 and x i,iter , respectively, represent the solution of the iter + 1 generation and the iter generation; gbest is the global optimal solution in an iteration process; and L is the step size, which obeys the Levy distribution. e calculation formula of L is as follows: Here, Γ(λ) is the standard gamma function; λ � 1.5.

Definition 2.
e position update formula for the partial pollination stage is as follows: Here, x j,iter and x k,iter randomly select solutions different from x i,iter in the population, and ε is the probability of    reproduction, which is a random number subject to the uniform distribution of [0, 1].

Definition 3.
e transition between global pollination and local pollination is controlled by the value of transition probability p ∈ [0, 1]. A large number of simulation experiments show that the algorithm can obtain the best optimization performance when p � 0.8.

Crow Search Algorithm Based on Improved Flower Pollination Algorithm (IFCSA)
In order to improve the convergence speed and accuracy of the algorithm, two strategies are used, namely, self-adaptive awareness probability and improved cross-pollination mechanism of flower pollination algorithm. e following is a detailed description of these three strategies.

Self-Adaptive Awareness Probability.
e awareness probability has a greater impact on the performance of the standard crow search algorithm. When the perception probability AP is larger, the individuals in the population are more inclined to search globally, but it is not conducive to improving the convergence accuracy. When the perception probability AP is smaller, the individuals in the population are more inclined to search locally and easily fall into the local optimum. However, when AP is a fixed value, the global search and local search capabilities cannot be balanced. In response to the problem, the inverse incomplete Γ function is introduced to make the awareness probability drop nonlinearly, so as to balance the global search and local search capabilities. e formula is as follows: Here, AP 2 and AP 1 are, respectively, the upper and lower limits of AP; λ is a random variable; and Maxiter is the maximum number of iterations. Figure 3 shows the decreasing curve of nonlinear awareness probability AP when AP 1 � 0.05, AP 2 � 0.25, and λ � 0.01. It can be seen from Figure 3 that the AP is large at the beginning of iteration, which makes the algorithm focus on global search. With the iterative process, the AP value decreases gradually, which makes the algorithm tend to search locally, the population concentrate quickly, and the convergence process improve. Nonlinear decreasing awareness probability can better balance global search and local search, thus improving the performance of the algorithm.

Based on Improved Cross-Pollination.
From the analysis of (2), it can be seen that when the leader finds that he is being followed, the position of the individual is randomly generated. Although this location update strategy can prevent the algorithm from falling into the local optimum to a certain extent, it also reduces the convergence speed and accuracy of the algorithm. For this reason, this article solves this problem by introducing improved cross-pollination.
Firstly, it is assumed that all crows obtain the global optimal position based on their own experience and memory as thieves. Secondly, the idea of cross-pollination is used to effectively guide the crow individuals to fly close to the optimal individual to reach the optimal value. However, the cross-pollination strategy itself has some limitations. In the later stage of iteration, it will lead to the decrease of population diversity, which will result in falling into local optimum and difficulty in jumping out. Introducing the cross-pollination strategy of Cauchy mutation proposed by Zhang and Gao [22], the formula is as follows: Here, gbest is the optimal value and C(0, 1) is Cauchy distribution.
To sum up, the crow position update formula is as follows: 3.3. Basic Flow of IFCSA. e pseudocode of the algorithm (IFCSA), which is based on the improved flower pollination algorithm, is shown in Figure 4

Experimental Parameter Settings.
e IFCSA is validated by comparing it with five famous optimization algorithms, namely, BOA [4], SSA [23], GWO [8], CSA [10], and MISCSA [24]. We used 20 well-known benchmark test functions for validation. e set of benchmark test functions is explained in Tables 1∼3 . We used the most common parameter settings that exist in the literature for the seven     5] 0.398 Initialize the initial position Calculate the AP for iter = 1 :  Table 4. For the sake of fairness, we used a fixed population size for all algorithms: n � 50 individuals; all algorithms are executed in 30 independent runs. All algorithms are implemented in MATLAB (version R2020a) and executed on HP computer (Windows 10, Intel Core i5-6300HQ, 2.3 GHz, 8 GB RAM). e number of iterations in each run for each algorithm equals 1000. e experimental data obtained after running are shown in Tables 5∼7, where Best, Worst, Mean, and Std represent the optimal value, worst value, average value, and Std value obtained by the algorithm independently running 30 times. e algorithm performance is ranked according to the accuracy of the optimal value. e best results are formatted in bold type.

Effectiveness Analysis of Self-Adaptive Awareness
Probability.
e awareness probability is one of the decision variables of the standard crow search algorithm, which has a greater impact on the performance of the algorithm. In order to verify whether the adaptive decreasing perceived probability can improve the convergence speed of the algorithm. Six groups of benchmark test functions in Table 1 As can be seen from Figures 5-8, for f 1 , f 2 , f 8 , f 10 , and f 14 , IFCSA with adaptive change awareness probability has better convergence effect under the same number of iterations. It can be seen from Figure 10 that, for function f 16 , although the convergence effect of IFCSA with adaptively changing awareness probability is worse than IFCSA without adaptively changing perception probability, it can find the theoretical optimal value, which is acceptable.

Effectiveness Analysis of the Cross-Pollination Strategy with Cauchy Mutation.
is sections aims to verify whether the improved strategy can avoid the blindness of individual location update and improve the accuracy and convergence ability of the algorithm. At the same time, it aims to further clarify that under the condition that the leader finds himself followed, the performance of the algorithm under the crosspollination mechanism with Cauchy mutation is better than that under the standard cross-pollination mechanism. e standard crow search algorithm, the crow search algorithm that introduces the standard cross-pollination strategy, and the crow search algorithm that introduces the alienation pollination strategy with Cauchy mutation are used for comparison experiments on 20 benchmark functions. ey were run independently 30 times, and the average value was taken as the final criterion.
From the simulation results in Table 8, it can be seen that, for most benchmark functions, the optimization performance of the algorithm that introduces the standard crosspollination strategy is worse than that of the standard crow search algorithm. In the benchmark function f 16 , the optimization performance of the algorithm that introduces the standard cross-pollination strategy is the best, but the performance of the algorithm that introduces the crosspollination strategy with Cauchy mutation is also good, which is acceptable. However, in the 20 benchmark functions, the standard crow search algorithm introduces the cross-pollination strategy with Cauchy mutation, the performance of the algorithm is greatly improved, and the effect is better than the introduction of the standard cross-pollination strategy, except for the benchmark function f 16 . In short, the crow search algorithm that introduces the crosspollination strategy with Cauchy mutation has better performance in function optimization.

High-Dimensional Unimodal Function Test Results.
It can be seen from the experimental results in Table 5 that the optimization performance of IFCSA is better than that of the other algorithms for most high-dimensional unimodal functions. In the test function of f 5 , although the performance of IFCSA is inferior to that of MISCSA, the accuracy obtained by them is almost the same. In the other six test functions of f 1 , f 2 , f 3 , f 4 , f 6 , f 7 , compared with other algorithms, the optimization accuracy of IFCSA is improved to a certain extent. In addition, the variance of IFCSA is lower than that of the other algorithms, which indicates that IFCSA has good stability. In a word, IFCSA can solve high-dimensional unimodal problems well, which demonstrates its effectiveness and feasibility in solving high-dimensional unimodal problems. Figures 11-24 are the convergence curve graphs and variance graphs of the algorithms of BOA [4], SSA [23], GWO [8], CSA [10], MISCSA [24], and IFCSA for different test functions. All convergence curves are drawn based on the optimal values. Figures 13 and 21 show that GWO converges faster than IFCSA in the middle of the iteration, but GWO will fall into the local optimum, and IFCSA can jump out of the local optimum to get a better solution. It can be seen from Figures 11, 15, 17, and 23 that the convergence speed and optimization accuracy of IFCSA are better than those of other algorithms. As can be seen from Figures 12,14,16,18,20,22, and 24, the performance of IFCSA algorithm is very stable. is shows that IFCSA can better solve high-dimensional unimodal problems compared to other intelligent algorithms and some improved algorithms.

High-Dimensional Multimodal Function Test Results.
e experimental data in Table 6 shows that the optimal value and average value of IFCSA for functions f 8 ∼f 13 rank first in the comparison algorithm, which shows that IFCSA can solve most high-dimensional multimodal functions well. In the test function of f 14 , the optimal value obtained by IFCSA is slightly smaller than those of GWO and SSA, ranking third in the comparison algorithm. Experimental results show that IFCSA can effectively solve high-dimensional multimodal functions and has strong global search capabilities.  Figures 25-30 show that IFCSA can find the optimal value faster and better for some highdimensional multimodal functions. Furthermore, in the functions f 8 and f 10 , IFCSA can find the theoretical optimal value. Figures 32-38 are the variance graphs of f 8 ∼f 14 , which shows that IFCSA has good stability. e experimental results show that, compared with some classic intelligent algorithms and some improved algorithms, IFCSA can better solve high-dimensional multimodal functions. Table 7 shows the experimental results of different algorithms for fixed multimodal functions. From the experimental results in Table 7, it can be seen that the best values of IFCSA in functions f 15 , f 16 , f 17 , f 19 , and f 20 are all ranked first, and they are all theoretical best values. It can be also seen from the standard deviation in Table 7 that the performance of IFCSA is relatively stable. Although the IFCSA does not obtain a better optimal value than GWO in the function f 18 , the optimal value obtained by the IFCSA is of the order of 100 −178 , which is acceptable.   Figures 39, 41, 43, and 44, it can be seen that IFCSA can converge to the global optimum faster than the other five algorithms. Figure 40 shows that the optimization performance of IFCSA is weaker than MISCSA, while the overall performance of IFCSA is better than that of the other algorithms. It can be seen from Figure 42 that the optimization performance of IFCSA is better than that of the other algorithms except GWO. In short, IFCSA has certain advantages in optimizing fixed multimodal functions.

Statistical
Validation. According to the paper by Derrac et al. [25], it is not rigorous to only use the average value, standard deviation, optimal value, and worst value obtained after the algorithm is independently run 30 times as the evaluation index of the algorithm performance. erefore, Wilcoxon rank sum test is carried out on the 20 benchmark test functions in Tables 1∼3 for the six algorithms in this paper. Moreover, the p values obtained after rank sum check of the six algorithms are recorded in Table 9. If the algorithm with the best performance is IFCSA, a pair comparison is performed between IFCSA and BOA, IFCSA and SSA, etc. Since the best algorithm cannot be compared with itself, it is marked as "NA," indicating that it is not applicable, which also means that the corresponding algorithm does not have corresponding data to be compared with itself in the rank sum verification process. When the p value is less than 0.05, there is a big difference between the two comparison algorithms. Otherwise, it indicates that there is some similarity between the two comparison algorithms, and the value of p is marked in bold type.

Engineering Optimization Problem.
As can be seen from the previous section, IFCSA has better performance in function optimization than other intelligent algorithms and some improved algorithms. In order to further verify whether IFCSA is effective in practical engineering applications, it is applied to the speed reducer design problem. e problem is one of the most fully researched problems in the optimization test. It represents a simple gearbox design, e goal of speed reducer design is to minimize the weight of the gear under bending stress, the lateral deflection of the shaft, and the constraint of the shaft. As shown in        e mathematical model of the problem is as follows:        Table 10 shows the optimal values and values of decision variables obtained after 30 independent runs of different algorithms for deceleration design problems. e results are compared with those of CSO [26], Gandomi et al. [27], ABC [28], Akhtar et al. [29], and Montes et al. [30]. According to Table 10, IFCSA finds the optimal cost of 2896.26, which is the least expensive among the comparison algorithms. e solution to find the optimal value is as follows: 286683. e results show that IFCSA has good performance in dealing with the optimization of speed reducer design problem.                         Mathematical Problems in Engineering 23

Conclusions
By studying the principle and updating the formula of the standard crow search algorithm, IFCSA is proposed to solve the problem that the algorithm slowly converges and easily falls into local optimum in the later iteration. In this paper, so as to improve the convergence ability of the algorithm, the inverse incomplete gamma function is introduced to make the perceptual probability decrease nonlinearly. Aiming at the blindness of crows' random search for location updating, a cross-pollination strategy with Cauchy mutation was introduced to make crows tend to take the best individual direction, thus obtaining the best value. e experimental results in this paper also show that the optimization performance of IFCSA is better than that of the original algorithm and other intelligent algorithms.
In future work, IFCSA will be used to solve more complex optimization problems, such as multiresource constrained project sequencing, image processing, and UAV path planning. IFCSA will be also used to solve more engineering examples, which is to provide reference value for engineering applications.
Data Availability e data, models, or code generated or used during the study are available at https://github.com/happyfate/IFCSA.