Abstract

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 flower 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 finds 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.

1. 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. Therefore, 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 teaching-learning-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. The 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. The 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. Therefore, 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 self-adaptive 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. This 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. The 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. The 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.

2. Overview of Crow Search Algorithm and Flower Pollination Algorithm

2.1. Crow Search Algorithm

The 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. These include population size (n), maximum iteration number (), flight step size (), and awareness probability ().Step 2: initializing the individual crows and memory matrix. crows are generated in the search space of , and each crow 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 search space. Assuming that crow randomly follows a crow (for example, crow ), in order to find the place of the hidden food of crow , the position update of crow can be divided into the following two situations:Case 1: crow does not find that crow is following it. In this case, the position update formula of crow isCase 2: crow j finds that crow is following it, and crow j will take crow to a random position.To sum up, the position update formula of crow isHere, are random numbers that obey the uniform distribution of [0, 1]. AP represents the perception probability. When the is smaller, the probability of occurrence of Case 1 is greater, and the algorithm tends to search locally. When the is larger, the probability of finding in Case 2 is greater, and the algorithm tends to search globally. is the flight step length of crow . When , the next position of crow is between and , as shown in Figure 1. When , the next position of crow is outside the line between and , as shown in Figure 2. Therefore, 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.

2.2. 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. The 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)The reproduction probability is the constancy of flowers, and the value of reproduction probability is proportional to the similarity of two flowers(4)The transition probability is used to control the transition between local pollination and global pollination

Through the above rules, the following mathematical model is established.

Definition 1. In the process of global pollination, the formula of pollen position update isHere, and , respectively, represent the solution of the generation and the generation; is the global optimal solution in an iteration process; and is the step size, which obeys the Levy distribution. The calculation formula of is as follows:Here, is the standard gamma function; .

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

Definition 3. The transition between global pollination and local pollination is controlled by the value of transition probability . A large number of simulation experiments show that the algorithm can obtain the best optimization performance when .

3. 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. The following is a detailed description of these three strategies.

3.1. Self-Adaptive Awareness Probability

The awareness probability has a greater impact on the performance of the standard crow search algorithm. When the perception probability 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 is smaller, the individuals in the population are more inclined to search locally and easily fall into the local optimum. However, when 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. The formula is as follows:

Here, and are, respectively, the upper and lower limits of ; is a random variable; and is the maximum number of iterations.

Figure 3 shows the decreasing curve of nonlinear awareness probability when , , and . It can be seen from Figure 3 that the is large at the beginning of iteration, which makes the algorithm focus on global search. With the iterative process, the 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.

3.2. 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, is the optimal value and is Cauchy distribution.

To sum up, the crow position update formula is as follows:

3.3. Basic Flow of IFCSA

The pseudocode of the algorithm (IFCSA), which is based on the improved flower pollination algorithm, is shown in Figure 4.

4. Experimental Simulation and Result Analysis

4.1. Experimental Parameter Settings

The 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. The set of benchmark test functions is explained in Tables 13 . We used the most common parameter settings that exist in the literature for the seven algorithms used in validation. The details about parameter settings are explained in Table 4. For the sake of fairness, we used a fixed population size for all algorithms: 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). The number of iterations in each run for each algorithm equals 1000. The experimental data obtained after running are shown in Tables 57, 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. The algorithm performance is ranked according to the accuracy of the optimal value. The best results are formatted in bold type.

4.2. Improved Strategy Effectiveness Analysis
4.2.1. Effectiveness Analysis of Self-Adaptive Awareness Probability

The 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 13 are selected for comparative experiment. Among them, f1 and f2 are high-dimensional unimodal functions, f8 and f10 are high-dimensional multimodal functions, and f14 and f16 are fixed multimodal functions.

As can be seen from Figures 58, for f1, f2, f8, f10, and f14, 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 f16, 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.

4.2.2. Effectiveness Analysis of the Cross-Pollination Strategy with Cauchy Mutation

This 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 cross-pollination mechanism with Cauchy mutation is better than that under the standard cross-pollination mechanism. The 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. They 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 cross-pollination strategy is worse than that of the standard crow search algorithm. In the benchmark function f16, 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 cross-pollination 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 f16. In short, the crow search algorithm that introduces the cross-pollination strategy with Cauchy mutation has better performance in function optimization.

4.3. Comparative Experiment of Different Intelligent Algorithms
4.3.1. 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 f5, 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 f1, f2, f3, f4, f6, f7, 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 1124 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. This shows that IFCSA can better solve high-dimensional unimodal problems compared to other intelligent algorithms and some improved algorithms.

4.3.2. High-Dimensional Multimodal Function Test Results

The experimental data in Table 6 shows that the optimal value and average value of IFCSA for functions f8f13 rank first in the comparison algorithm, which shows that IFCSA can solve most high-dimensional multimodal functions well. In the test function of f14, 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 2531 are the convergence curves of all algorithms for solving high-dimensional multimodal functions independently run 30 times. Figures 2530 show that IFCSA can find the optimal value faster and better for some high-dimensional multimodal functions. Furthermore, in the functions f8 and f10, IFCSA can find the theoretical optimal value. Figures 3238 are the variance graphs of f8f14, which shows that IFCSA has good stability. The experimental results show that, compared with some classic intelligent algorithms and some improved algorithms, IFCSA can better solve high-dimensional multimodal functions.

4.3.3. Fixed-Dimensional Multimodal Function Test Results

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 f15, f16, f17, f19, and f20 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 f18, the optimal value obtained by the IFCSA is of the order of 100−178, which is acceptable.

Figures 3944 are the convergence curves of the 6 algorithms for different fixed multimodal functions, and Figures 4550 are the variance graphs of the 6 algorithms. From 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.

4.4. 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. Therefore, Wilcoxon rank sum test is carried out on the 20 benchmark test functions in Tables 13 for the six algorithms in this paper. Moreover, the 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 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 is marked in bold type.

4.5. 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. The problem is one of the most fully researched problems in the optimization test. It represents a simple gearbox design, which can be used between the aircraft engine and the propeller to make the components rotate at the most effective speed.

The 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 Figure 51, the optimization problem includes seven decision variables, namely, surface width (b or x1), module of teeth (m or x2), number of teeth on pinion (z or x3), length of shaft 1 between bearings (l1 or x4), length of shaft 2 between bearings (l2 or x5), diameter of shaft 1 (d1 or x6), and diameter of shaft 2 (d2 or x7).

The 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. The 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. The solution to find the optimal value is as follows: . The results show that IFCSA has good performance in dealing with the optimization of speed reducer design problem.

5. 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. The 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

The data, models, or code generated or used during the study are available at https://github.com/happyfate/IFCSA.

Conflicts of Interest

The authors declare that they have no conflicts of interest.

Acknowledgments

This work was supported by the National Natural Science Foundation of China (no. 61662005); Guangxi Natural Science Foundation (no. 2018GXNSFAA294068); Basic Ability Improvement Project for Young and Middle-Aged Teachers in Colleges and Universities in Guangxi (no. 2019KY0195); and Research Project of Guangxi University for Nationalities (no. 2019KJYB006).