An Improved Chicken Swarm Optimization Algorithm and its Application in Robot Path Planning

Chicken swarm optimization (CSO) algorithm is one of very effective intelligence optimization algorithms, which has good performance in solving global optimization problems (GOPs). However, the CSO algorithm performs relatively poorly in complex GOPs for some weaknesses, which results the iteration easily fall into a local minimum. An improved chicken swarm optimization algorithm (ICSO) is proposed and applied in robot path planning. Firstly, an improved search strategy with Levy flight characteristics is introduced in the hen’s location update formula, which helps to increase the perturbation of the proposed algorithm and the diversity of the population. Secondly, a nonlinear weight reduction strategy is added in the chicken’s position update formula, which may enhance the chicken’s self-learning ability. Finally, multiple sets of unconstrained functions are used and a robot simulation experimental environment is established to test the ICSO algorithm. The numerical results show that, comparing to particle swarm optimization (PSO) and basic chicken swarm optimization (CSO), the ICSO algorithm has better convergence accuracy and stability for unconstrained optimization, and has stronger search capability in the robot path planning.


I. INTRODUCTION
The swarm intelligent optimization algorithm, such as genetic algorithm (GA) [1], particle swarm optimization (PSO) [2], bat algorithm (BA) [3], artificial bee colony algorithm (ABC) [4] et al., is a stochastic optimization algorithm constructed by simulating the swarm behavior of natural organisms. These algorithms search for the optimal solution of an optimization problem by simulating the physical laws of nature phenomena, the living habits and behavioral characteristics of various biological populations in nature. The swarm intelligent algorithms provide a new way to solve global optimization problems in the fields of computational science, engineering science, management science and so on. The swarm intelligent optimization algorithms have become a research hotspot and are particularly important.
The associate editor coordinating the review of this manuscript and approving it for publication was Hongwei Du.
The chicken swarm optimization (CSO) algorithm [5] is a stochastic search method based on chicken swarm search behavior, which was proposed by Meng, et al. in 2014. In CSO, the whole chicken swarm is divided into several groups, each of which includes a rooster, a couple of hens and several chicks. Different chickens follow different laws of motions. There exist mutual learning and competitions between different chickens, and the hierarchy of the chicken group is updated again after several generations of evolution. The CSO algorithm has great research potential because of its good convergence speed and convergence accuracy. However, like other swarm intelligent optimization algorithms, the basic chicken swarm optimization algorithm has the disadvantages of premature convergence, whose iteration is easy to fall into a local minimum, in solving the large scale optimization problem with more complexity. Therefore, scholars have conducted in-depth research and proposed some improved chicken swarm optimization algorithm, VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ which have achieved good numerical results. For example, Fei and Dinghui [6] modified the position update formula of the chicks to avoid the iteration falling into some local optimums, but kept the position update formula of the other two groups unchanged, which only improves the CSO partially. Chen et al. [7] updated the hen's position formula to improve the accuracy and effectiveness of the CSO algorithm, but their algorithm needs more running time to reach the optimal solution. Chiwen et al. [8] substituted Gaussian distribution with an adaptive t-distribution in the rooster position update formula, and introduced an elite opposition learning strategy in the hen position update formula. These algorithms achieved good global search ability. The chicken swarm optimization algorithm has been applied in some practical areas. For example, Tiana et al. [9] used the chicken swarm algorithm to solve the problem of deadlock-free migration for virtual machine consolidation. Compared with the other deadlock-free migration algorithms, the chicken swarm algorithm have higher convergence rate. Shaolong et al. [10] solved the parameter estimation problem of nonlinear system using chicken swarm algorithm. Their numerical experiment results show that the chicken swarm algorithm is feasible for parameter estimation of nonlinear systems. An improved chicken swarm algorithm is proposed, where the Levy flight strategy is added to the hen's position update formula to make the population distributed evenly. The nonlinear weight reduction strategy is employed into chick's position update formula to prevent the iteration from premature convergent and promote the convergence precision of the proposed algorithm. The better convergence accuracy and higher convergence speed of the improved chicken swarm algorithm has been verified by the numerical experiments on 8 benchmark GOPs. The robot path planning experiment results show that, compare to CSO, the proposed improved chicken swarm algorithm is more effective in improving search speed and quality of path.

II. CHICKEN SWARM ALGORITHM
The unconstrained continuous optimization problems can be expressed as follows.
If X * ∈ R D satisfies that: The chicken swarm optimization algorithm mimics the hierarchal order and behaviors of searching food in the chicken swarm. Under specific hierarchal order, different chickens follow different laws of motions. Chicken swarm optimization algorithm uses the following four rules to idealize the behavior of chickens: 1) There are several subgroups in the chicken swarm. Each subgroup consists of a dominant rooster, a couple of hens and chicks.
2) How to divide the whole chicken swarm into several groups and how to determine the species of chicken depend on the fitness values of the chicken themselves. In the whole chicken swarm, several individuals with the best fitness values are identified as roosters; The chickens with worst several fitness values would be acted as chicks, the others would be hens. The hen chooses its subgroup randomly and the mother-child relationship between the hen and the chick is also formed randomly.
3) The hierarchal order, dominance relationship and mother-child relationship in a group keep unchanged during several generations until the role are reassigned.
4) The hens follow their rooster-mate to search food, and the chicks search for food around their mothers. The dominant individuals have advantage in searching food.
The whole chicken swarm is divided into three types of chickens. When the CSO algorithm solves the optimization problem (1), each chicken represents a feasible solution to problem (1) and different chickens follow different optimization strategies. In the CSO algorithm, the number of chickens are assumed to be N and chickens are arranged in rising order according to their fitness values. The N R chickens in front are defined as roosters, the N C chickens at last are called chicks and the remaining is the maximal iterative number. The position update formula of different type of chickens are as follows: (a) The rooster's position update formula are: where is a Gaussian distribution with mean 0 and standard deviation σ , ε is a small constant to avoid the denominator being 0. k is a rooster's index, which is selected randomly between 1 and N R except i. f i and f k is the fitness value of the i th and k th roosters. (b) The hen's position update formula are: , rand is a uniform random number between 0 and 1, r 1 is an index of the rooster, which is in the i th hen's group-mate, r 2 is an index of a chicken in all roosters and hens, and let r 1 = r 2 .
(c) The chick's position update formula are: , m is an index of the mother hen corresponding to i th chick, FL is a parameter in the range [0, 2], which keeps the chick to forage for food around its mother.

III. IMPROVED CHICKEN SWARM ALGORITHM A. IMPROVED SEARCH STRATEGY BASED ON LEVY FLIGHT
Given that the entire flock looks for food in an unpredictable environment, the ''Levy flight'' search strategy is characterized by short-range deep local search and occasional longer distance walks [11], [12], which can help to improve the search efficiency and increase disturbance to make the chickens distribute more evenly. In the chicken swarm optimization algorithm, the number of hens is the largest, so hens play an important role in the entire flock. Inspired by this, the ICSO algorithm introduces the Levy flight search strategy into hen's position update formula, which can avoid the iterations falling into a local minimum and enhance the global search capability of the ICSO algorithm. The improved hen's position update formula are as follows: is the jump path of a random search whose step size obeys the Levy distribution, λ is a scaling parameter in range [1,3], ⊗ is a vector operator representing point multiplication.

B. NONLINEAR STRATEGIES OF DECREASING INERTIA WEIGHT
In the basic CSO algorithm, the chicks only learn from their own mother. Once a mother falls into a local minimum, the chicks following this mother will also fall into the local minimum. In the proposed ICSO algorithm, the nonlinear strategies of decreasing inertia weight is employed to update chick's position, which helps the chicks not only learn from their mother, but also learn from themselves. It will be verified by the numerical experiments that coupling the nonlinear decreasing inertia weight in chick's position formula can avoid the ICSO algorithm falling into local minimum as soon as possible. The nonlinear decreasing inertia weights [13] ω update as follows: The position updating formula of chicks coupling the nonlinear decreasing inertia weights are as follows: where ω min is the minimum inertia weight, ω min = 0.4, ω max is the maximum inertial weight, ω max = 0.95, crepresents an acceleration factor, c = 10.

C. THE PROCESS OF ICSO ALGORITHM
The procedure of the ICSO algorithm is as follows: Step 1: Initialize chicken swarm and set the parameters  N , N R , N H , N c , N m , G and M Step 2: For each chicken, calculate its fitness value and initialize its current and global optimal position, let t=1.
Step 3: If mod (t, G) = 1, sort all chickens in rising order according to their fitness values, the N R chickens in front would be acted as roosters, each of roosters represent a group. The N c chickens at last would be designated as chicks, the others in the middle would be hens. The hens randomly choose a group to live in, the mother-child relationship between the hens and chicks is also randomly established.

IV. NUMERICAL EXPERIMENT OF ICSO ALGORITHM A. PARAMETERS SETTING
The following eight typical unconstrained optimization problem are used to test the performance of the proposed ICSO algorithm, by comparing among PSO algorithm, CSO algorithm and ICSO algorithm. The objective functions [14] of these test problems are shown in Table 1. In three algorithms, the maximum number M of iterations is set to be a same value as 600, the size N of the population are all set to be 50 and the other parameter settings for three algorithm are shown in Table 2. The dimensions of all test problems are set to be 30.

B. EXPERIMENTAL RESULTS
To reduce the influence of contingency, for each of the three comparison algorithms, the experiment on each benchmark problem is repeated 30 times independently, and the average values of the relative results of the experiment are used to compare. The means, standard deviations, the worst and the best of objective function values obtained from the experimental data are shown in Table 3. Table 3 shows that, compared to the PSO algorithm and CSO algorithm, the ICSO algorithm performs well in the accuracy of the objective functions values and the stability. For problems F1 and F8, the basic chicken swarm optimization (CSO) algorithm is better than PSO algorithm in the accuracy of objective function value, and the ICSO algorithm has found the optimal objective function values with the highest precision. For problem F2 and F3, the accuracy of objective function values obtained by the PSO algorithm and CSO algorithm is very poor, and the resulting objective function values are far from the theoretical values. The objective functions values obtained by ICSO algorithm have significantly higher accuracy than those obtained by the PSO and CSO algorithm. For problem F4, although the best objective function values obtained by the PSO algorithm is 1e-10, its worst solution, mean value and variance are all very poor. The results obtained by the CSO algorithm are also poor and can't meet the accuracy requirements. Compared to the PSO algorithm and CSO algorithm, the ICSO algorithm have a great improvement in the objective function value accuracy and the results are more stable than those of PSO and CSO algorithm. For the complex multimodal problems F5 and F6 with a large number of local minimum values, the ICSO algorithm succeeds in finding their theoretical optimal objective function value 0 in all 30 independent experiments. The PSO algorithm and CSO algorithm perform bad obviously. For problem F7, the accuracy of the objective function value obtained by the ICSO algorithm is significantly better than that of the CSO    algorithm, and the PSO algorithm performs bad and unstable, which shows that the ICSO algorithm performs far better than the PSO and CSO algorithm for this multimodal problem. The above experiments show that the ICSO algorithm performs much better than the PSO and CSO algorithms.
In order to further compare the performance of the three algorithms, the evolution curve of thirty-time average optimal objective function values for eight test problems are shown as Fig. 2-9. The vertical coordinates of the figures are taken   as logarithm of the average optimal objective function values except Fig. 4 and Fig. 6-7. Fig. 2-9 show that the proposed ICSO algorithm is well performed among three algorithms. For the benchmark problem F1-F8, the number of iteration that the ICSO algorithm needed to obtain the optimal solution are much smaller than those in other two algorithms. In Fig. 2, the descending speed and accuracy of objective function value in the ICSO algorithm are significantly better than those in the PSO and CSO algorithms. The ICSO algorithm iterates about 170 times to VOLUME 8, 2020  achieve the accuracy of 1e-6. The CSO algorithm requires about 200 times iterations, and the PSO algorithm iterates about 400 times to achieve this accuracy. In Fig. 3, the PSO and CSO algorithm have similar performance and their objective function value almost keep unchanged after 400 times iterations. The ICSO algorithm makes the objective function values go or come down in all iterations. In Fig. 4, the descending speed of objective function values in CSO algorithm is faster than that in PSO algorithm in the front 100 iterations and then it reverses. Their objective function values are far from zero. However, the ICSO algorithm iterates about 100 times to make the objective function value close to the theoretical optimal value 0. In Fig. 5, after iterating 100 times, the PSO and CSO algorithm no longer make the objective function values down, which means these two algorithms both fall into local minimum. The ICSO algorithm performs significantly better than any of these two algorithms, and its descending rate of objective function value is very obvious. In Fig. 6, the ICSO algorithm and CSO algorithm make their objective function values drop quickly to the theoretical optimal value 0 in about 100 times iterations. The PSO algorithm performs bad obviously. In Fig. 7, the evaluation curves of the three algorithms are almost the same, but ICSO algorithm is slightly better than CSO and PSO algorithm. For Fig. 8 and Fig. 9, the PSO algorithm can not make the objective function values descended after about 100 iterations. The ICSO algorithm and CSO algorithm both make the objective function values keep down in all iterations and the descending rate in ICSO algorithm is bigger than that in CSO algorithm.

V. THE APPLICATION OF IMPROVED CHICKEN SWARM ALGORITHM IN ROBOT PATH PLANNING A. ENVIRONMENTAL MODELING
In recent years, more and more people pay attention to the intelligent optimization algorithm in solving practical application problems. In the field of artificial intelligence, many scholars have made in-depth research on the problem of robot path planning [15]. The chicken swarm optimization algorithm has obvious advantages in fast convergence speed and high convergence accuracy compared to other algorithms, however, its iteration is easy to fall into a local minimum. The proposed improved chicken swarm optimization (ICSO) algorithm is combined with a traditional grid method and an constrained optimization problem is established to search the optimal robot path. The simulation results show that the good global search ability of the ICSO algorithm accelerates the search speed of the robot and improves the quality of the search path.
The working environment of the mobile robot needs to be modeled and preprocessed before the mobile robot plans a path. Grid method is a traditional method used to model the work environment of the mobile robot path planning [16], which is widely used and is employed here. The grid map mainly includes two states: free grid and obstacle grid. Mat-labR2016a is hired to do the simulation experiments. The obstacles in the robot working environment are processed and projected into the grid map, as shown in Fig. 10.
In the grid map, assuming that the number of columns is N, the coordinate origin is the grid vertices in the lower left corner, the relationship between grid coordinates and grid numbers may be written as follows: where x is the horizontal coordinates of the grid under the coordinate system, y is the ordinate of grid in the coordinate system, n is the grid number.
In robot path planning, the most effective and direct way is to take the path length of the robot as the fitness function for each path. The length of the collision-free path of the robot in the course of travel is calculated as follows.
where n represents the number of path nodes, x i and y i represent the horizontal and vertical coordinates of the path i.

B. EXPERIMENTAL SIMULATION
The simulation platform is built with Matlab and the grid map of working environment of the mobile robot is as shown in Fig. 10. The grid map is a 10 × 10 grid matrix, where    The results are shown in Fig. 11-12 and Table 4. It is shown that, from Fig. 11-12 and Table 4, the basic chicken swarm optimization (CSO) algorithm can not find the global optimal path using more iterations and longer search time and has ''detour'' phenomenon in the process of robot travel. The improved chicken swarm optimization (ICSO) algorithm can jump out of the local optimal both and avoid the ''detour'' phenomenon. The length of the robot path obtained by ICSO algorithm is shorter than that by CSO algorithm, and the number of iterations for ICSO to search the robot path is less than that for CSO algorithm. Compared to the CSO algorithm, the ICSO algorithm shortens the path length 15.15% and reduces the number of iterations by 38.24%, which means that the ICSO algorithm can solve the robot path planning problem more effectively.

VI. CONCLUSION
It is well known that the chicken swarm optimization (CSO) algorithm is easy to fall into a local minimum. An improved chicken swarm optimization (ICSO) algorithm based on Levy flight strategy and nonlinear weight reduction strategy is proposed. Compare to CSO algorithm, the ICSO algorithm overcomes the blindness searches and has the significant search efficiency and the high convergence rate. The numerical results on eight benchmark problems show that, compare to CSO algorithm and PSO algorithm, the proposed ICSO algorithm performs well in convergence speed and precision. In solving the robot path planning problem, the ICSO algorithm shortens the path length and needs less iterations than the CSO algorithm does, which means that the ICSO algorithm is feasible in the application of robot path planning. In the future, the CSO algorithm applications in different fields should be studied deeply, especially for high dimensional problems, such as the unmanned aerial vehicle (UAV) route planning, the location issues and so on.
XIMING LIANG received the M.S. degree in applied mathematics from Yunnan University, Kunming, China, in 1992, and the Ph.D. degree in computational mathematics from Xi'an Jiaotong University, Xi'an, China, in 1998. He is currently a Professor with the School of Science, Beijing University of Civil Engineering and Architecture. His current research interests include constrained optimization, evolutionary computation, largescale numerical optimization, and their practical applications.
DECHANG KOU was born in Jinan, Shandong, China, in 1994. He is currently pursuing the master's degree in Beijing, China. His research interest includes optimization method and application.
LONG WEN received the M.S. degree in system science from Guangxi Normal University, Guilin, China, in 2008, and the Ph.D. degree in control science and engineering from Central South University, Changsha, China, in 2011. He is currently a Professor with the Key Laboratory of Economics System Simulation of Guizhou, Guizhou University of Finance and Economics. His current research interests include evolutionary computation, nonlinear optimization, constrained singleand multioptimizations, machine learning, data mining, and their practical applications.