Abstract

This paper demonstrates an improved version of the Salp Swarm Algorithm (SSA) to solve the problems of slow convergence and local minima of the original version. In the population initialization of this scheme, ten chaotic searches with dynamic inertia coefficients are introduced to increase the diversity so that the probability of being trapped in local minima is reduced. Genetic algorithms are then applied to improve the global search ability and convergence speed. The experiments with 12 test functions show that the improved version achieves better accuracy and convergence speed over the original SSA. In the test with robot path planning problem, the proposed algorithm shows improved performance in the average number of iterations, path length, and average number of turns by 69.2%, 19.1%, and 43%, respectively, compared with the original SSA.

1. Introduction

Traditional mathematical methods are effective to solve linear and differentiable optimization problems, but for more complicated problems like nondifferentiable functions, more intelligent algorithms are needed. Intelligent algorithms solve optimization problems by imitating natural phenomena, for example, Particle Swarm Optimization (PSO) [1] simulates bird foraging behavior, Gray Wolf Algorithm (GWA) [2] focuses on wolf predation behavior, and artificial bee colony algorithm (ABC) [3] simulates bee foraging behavior.

The Salp Swarm Algorithm (SSA) [4] is a relatively new swarm intelligence algorithm to simulate the foraging behavior of the sea swarm slap. As a new heuristic optimization algorithm, the SSA has the advantages of less parameter requirements and effectiveness for both continuous and discrete problems.

Salp is one kind of Salpidae with a transparent barrel-shaped body similar to jellyfishes with a length of about 1~10 cm. Salps do not behave active locomotion, and the movement is performed by pumping water through the body as propulsion to go forward. The individual salp does not forage very well, and they live in groups to get more feeding. When salps prey in groups, multiple of them are lined up to form a chain structure (salp chain). The first salp in the chain is called the leader, and the rest is called the follower. The leader guides the whole chain, and the followers are mobile following each other [4]. The leader leads the followers to move towards the food source for global search, while the followers go accordingly for a local search. In the SSA, the position update of each follower will only be affected by the position of the previous follower, and the leader’s position update is only affected by the food source position. The hierarchical system of the SSA makes the followers cooperate closely with each other to increase the optimization efficiency and reduce the chance of being trapped in a local optimum. The SSA has been widely used in many industrial applications such as variable speed wind turbine [5], industrial design [6], extreme learning machine [7], feature selection [8], neural network [9], image segmentation [10], and biomedicine [1113].

Path planning is a key topic for the mobility of the robot to navigate the robot automatically from one position to another [14, 15]. Robots often face uncertain and complex operating environment, and in the meantime time, an efficient path connecting one position to another in this environment is required to be found quickly and accurately [16, 17]. Depending on the operation task of the robot, the optimal path of an environment is generally evaluated based on the shortest distance or time, the minimum energy consumption, or the highest safety rate. The path planning algorithm with superior performance can plan the most efficient path in the uncertain and complex environment, to increase the working efficiency of the robot and reduce the wear and tear of robot. Since one of the key technologies of mobile robot is to look for the optimal path solution for a task, path planning algorithm has become a research hotspot in recent years [18].

Traditional algorithms to solve the path planning problem in known environments include artificial potential field method [1921], A algorithm [2224], Dijkstra algorithm [2527], and rapidly-exploring random tree (RRT) [2830]. However, the exploration performance of these algorithms is generally poor, and it is difficult for them to find the optimal path in an unknown environment. For this reason, a swarm intelligence algorithm was introduced to make use of the exploration and optimization performance to find the optimal path, such as the Particle Swarm Optimization (PSO) [31], the ant colony (AC) [32], the whale algorithm for UAV path planning [33], and the water wave algorithm for the path planning of underwater vehicles [34]. However, the performance of the SSA for robot path planning has rarely been reported in the literature.

This paper focuses on demonstrating an improved version of the SSA and its application to path planning. The problems with the original SSA such as the locomotion and slow convergence will be overcome. The initialization of the population of the SSA will be improved, and a set of dynamic inertia weight coefficients are defined to maintain the diversity of population. Genetic algorithm (GA) is then used to assist with the globalization of search. In the experiment, the improved SSA method will be tested on the 12 most popular test functions and compared with five other evolution methods. The optimization of robot path planning problem will also be tested with the proposed method, and the comparison with other methods will be shown. This paper is organized in six sections. The second section reviews the related works for SSA and path planning. The third section demonstrates the theory of the proposed algorithm, and the fourth section tests the performance of the improved SSA. The fifth section gives examples of the application of the improved SSA to path planning, and a conclusion is made in Section 6.

2.1. The Original Salp Swarm Algorithm (SSA)

Similar to other swarm intelligence algorithms, the SSA initializes the population in an -dimensional search space, and the fitness function is regarded as the food source. The salp chain is always trying to approach the food source and finally reach the valuable food source in the search area, which is hopefully the global optimum. The procedure of the SSA can be given as follows: (1)Initialize the population according to the upper and lower limits of each of the n dimensions, and it can be written aswhere represents the th salp of -dimensional space, , is the total number of salps in the chain, and is the dimension of the objective function. represents a random number matrix of rows and columns with elements evenly distributed between 0 and 1. represents the lower limit, and represents the upper limit. The initialization according to Equation (1) will generate an matrix such that (2)The fitness value of each individual is calculated based on the fitness function(3)Determine the initial location of the selected food source according to the salp with the best fitness value(4)Identify the leader and followers: the first scalp in the chain is the leader, and the rest are followers(5)Update the position of the leader according to Equation (3) such thatwhere is the th component of the leader and represents th element of the food source. and are random numbers generated in the interval of [0, 1], which represent the length and direction of the movement, respectively. is a coefficient for adjusting the exploration and exploitation of the salp chain and can be written as , where is the current iteration and   is the maximum number of iteration (6)Update the position of the followers:

Since the salp chain moves in the direction of the food source during foraging, the update of followers depends on the initial speed, iteration, and acceleration like the Newton’s law of motion [4], such that where is the value of the th component of the th salp in the chain at iteration (7)If an updated component moves over the boundary, set the position of the boundary, and then, the food source location is updated according to the optimal salp(8)If the result meets the accuracy requirements or if the number of iterations is reached, output the current position; otherwise, turn to step 4 for further evolution

2.2. Robot Path Planning

The optimal path designed for a robot is usually calculated considering the constraints like time, distance, and energy consumption. The current most commonly used path planning optimization method is based on artificial intelligence algorithms. Deep learning has also been introduced to path planning, but the adaptability to environmental changes is relatively poor [35].

To find the optimal path in the obstacle environment for a robot, the model of the mobile environment is required to register. There are currently two types of methods for environment modeling, one is the road sign method and the other is the grid method. The road sign method is to line up the feasible path map by connecting the labeled points and the boundaries of obstacles, while the grid method abstracts the mobile environment of the robot into a grid space and marks all grids that belong to the path. Grid method is more convenient to use and easier to implement, and therefore, it is more popular than the road sign method [36]. In this paper, an optimized grid modeling method is calculated for robot path planning.

In the grid modeling of three-dimensional (3D) mobile environment, a two-dimensional (2D) is marked with grids of equal size to represent the 3D space, and each grid is labeled with 0 or 1 representing without or with an obstacle [37].

The grid modeling is usually used to simulate a limited area, and a coordinate system is established with the lower left corner as the origin and the horizontal and vertical orientations are axis and axis, respectively. The step length () of the robot represents the length of a single grid in the or axis; therefore, the number of grids in each axis and axis are and , respectively. It is defined that each of the grids in the area is marked with a label starting from the upper left corner in the way of from left to right and from top to bottom, such that . Then, the relationship between the coordinates and the label number can be given as: where represents the th label number, mod is the remainder operation, ceil means rounding operation, represent the number of grids per row and column, respectively, and , denote the ordinate of the grid center of the th grid. In this optimization task, it is expected to find the shortest Euclidean distance between the current position and the target position , which is regarded as the fitness vale, such that [38].

3. The Improved SSA

In SSA, the leader is designed to make global exploration while the follower makes a full local search, and in this way, the chance of falling in a local optimum is greatly reduced. Since the SSA requires fewer parameters than other evolution optimization methods and therefore it is easier to implement, however, like most swarm intelligence algorithms, it is difficult for the SSA to converge at the later stage of optimization.

In the optimization using SSA, the initialization of the population is given within a certain range such that . Therefore, if the initial positions of the population are too concentrated, there will be a lack of diversity, resulting in the convergence to a local minimum. While if the initial positions are too scattered, the convergence process will be greatly slowed down. Besides, in the salp chain, the position of the individual is updated from one to the next along the chain; in some special cases, the value cannot be passed on, or in some cases, some of the salp individuals may pass on inaccurate position values, and then, the optimization will fall into a local trap. To overcome these problems, a modified version of the SSA is required.

Since the convergence of the SSA is strongly influenced by the initial population at a later stage of iteration, and the random distribution of the initial population cannot guarantee the diversity, the tent chaotic sequence can be used to increase the randomness, diversity, and aperiodicity of the initial population [39], such that

In Equation (6), the initial value of can be randomly generated within the value range, and it can be converted into the SSA variables such as

In this way, the procedure for initializing using tent chaotic mapping can be given as,

Step 1. According to the number of variables in the target function , the initial value of in Equation (6) is assigned with

Step 2. Generate chaotic sequence variables according to Equation (7)

Step 3. Use Equation (7) to map the chaotic variable to the population solution space to complete the initialization

According to the update rule for the followers, if the th salp passes on incorrect information to the next, the movement of all subsequent individual will be affected, especially when it finds a local minimum, it will not be likely to move out of this hole, and the whole chain will stay there forever. To solve this problem, an inertia weight strategy is introduced in the position update of the SSA [40], such that where and are the initial and final values of the weights, is the maximum number of iterations, is the current number of iterations, and is the chaotic mapping coefficient [39]. However, the mobile performance of this linearly decreasing inertia adjustment strategy is not satisfactory in the global search. Since the weighting factor is decreasing, in the initial stage of search, the algorithm tends to search globally. However, this duration is too short, the global search performance cannot be fully exploited before the weight factor becomes too small, and the whole chain may have already been trapped in a local optimum. In addition, when the values of , and are fixed, the amplitude of is also fixed, resulting in a deterioration in the performance of solving complex and nonlinear optimization problems. Therefore, it is required that a large weight is maintained to enhance the global search at the initial stage of optimization, while at the later stage, a small weight helps to focus on the local search. Inspired by deep learning methods, this nonlinear mapping process can be modeled with a Sigmoid function such that

It can be seen that the output of Sigmoid function has a large initial value, which can ensure the global search capability of the algorithm, and the output value will be reduced gradually to the balance between the global and local search strategy.

To increase the possibility of achieving a global optimum, GA can be introduced in the later stage of the optimization by assigning a big mutation probability such as 0.1 in this paper.

In this way, the optimization process with the improved SSA can be divided into three stages, the first stage is when , the improved SSA without the GA is used; at the second stage, when , if the global output value does not change for 10 consecutive times, the GA operation is used. When , many experiments show that it is very likely to fall into a local optimum at this stage; therefore, a GA process is needed to help with the global search.

4. Experiments and Analysis

To test the effectiveness and performance of the improved algorithm, this paper compares the performance of the proposed algorithm with the original SSA [4], the Chaotic Salp Swarm Algorithm (CSSA) [41], and other intelligent algorithms such as the WOA [39], PSO, and ABC.

In the experiment, there are 12 functions to be tested, among which are unimodal functions for convergence speed testing, and are multimodal functions for global search testing. The test functions are listed in Table 1.

The tests are carried out on the platform of Matlab 2018a on a PC with 16 G RAM. To confirm the result, each testing is independently run for 50 times to take the average. The dimension of the test function is set to 50, and the number of iterations is 2000. The parameter settings of other algorithms are consistent with the corresponding references. The test results are shown in Table 2.

From the experimental data, it can be seen that in the unimodal function (), the proposed algorithm achieves the best optimal value as well as the average value. This test shows that the proposed algorithm has better optimization stability and the optimal values achieved are at least several orders of magnitude better than that of other algorithms. For function, the optimal value of the proposed algorithm is nearly 110 orders of magnitude smaller that of the original SSA. In the test with function, the optimal value of the proposed algorithm is about 144 orders of magnitude less than that of the original SSA and 20 orders of magnitude less than that of the second best PSO algorithm. In the test with functions of , , , , and , the improved SSA has also achieved the minimum values among several algorithms. It shows that the optimization accuracy of the improved SSA has obvious advantage than other algorithms for unimodal functions.

Among the five multimodal functions () tested, the results of the proposed method are significantly better than other algorithms, except for the average value of in which case the CSSA algorithm has achieved the best but very close to the proposed method. In the test with function , it was found that the WOA and the CSSA have been trapped in local minima under the same number of iterations as the proposed algorithm. In the test with functions , the improved algorithm has achieved all the minimum values, which shows better exploration ability in multimodal function to avoid local optima.

Figures 112 show the convergence curves of average fitness value for , respectively, and it can be seen that the proposed method has the advantages of convergence rate and optimization accuracy over all other algorithms. In the test with the functions of , , , , and , the proposed method can jump out of the local optimal solution at an earlier stage than others. Among the 12 functions tested, only the result for the function is not optimal for the proposed method, but it is very close to the optimal result. It is clear from these experimental results that the proposed algorithm has better performance in optimization accuracy and convergence speed compared to the original SSA, as well as the CSSA, WOA, PSO, and ABC. The global search performance of the proposed method benefits from the increased diversity of the population and the mobility at the later convergence stage with the GA.

5. The Application in Robot Path Planning

This paper applies the proposed algorithm to the optimization of path planning for robots, and for better evaluation, the above methods are also tested and compared. In this experiment, a -grid map is used to simulate the robot mobile environment, and the parameter settings of each algorithm are listed as follows: (1)ABC: the number of artificial bees is , and the (2)PSO: the number of particles, , the constant of inertia =0.8,=0.3, =0.5, and =0.5(3)SSA: the number of salps is , and the individual dimension is (4)WOA: the position dimension: 20, population size: 50, spiral coefficient , and selection probability (5)CSSA: the settings are consistent with those in the literature [42](6)The proposed algorithm: the same as the SSA

For all methods, the total iteration number is 300.

In the test, a -grid map is randomly generated, and the simulated routes of all methods for robot path planning are shown in Figures 1318, and the related results are listed in Table 3.

From the simulation results, it can be seen that the improved SSA achieves the shortest path length and is 23.6% shorter than ABC algorithm with the longest path length and 9.83% shorter than the CSSA. The average number of iterations achieved by the proposed method is less than half of that of the CSSA. This is due to the high optimization accuracy and better convergence rate of the proposed method. The average number of turnings for the proposed method is 43% less than the original SSA and 33.8% less than the CSSA. This shows that the proposed algorithm travels more straight in the current simulation environment, effectively avoiding unnecessary turns. From the comparison data, it can be seen that the improved SSA is a more efficient way to solve the robot path planning problem.

6. Conclusion

This paper proposed an improved SSA to solve the problems of locomotion and slow convergence of the original SSA. A tent chaotic mapping procedure is introduced to the initialization of the population, which effectively increases the diversity. During the optimization, dynamic inertia weight coefficients are used to maintain the diversity of population and the balance between the global and local search. At a later stage of optimization, GA is implemented to strengthen the global search ability of the algorithm. The proposed method is tested on the 12 most popular test functions and compared with five other evolution methods. The results show that the improved algorithm has better performance in convergence speed and optimization accuracy. Finally, the proposed algorithm is applied to the optimization of robot path planning and compared with the above methods. The experimental data shows that the proposed method finds the optimal path faster than other intelligent algorithms in the same environment with a better route and less iterations.

Data Availability

The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest

The author states that there is no conflict of interest.

Acknowledgments

This work is partially supported by the High-level Personnel Startup Program of Beibu Gulf University (grant no. 2018KYQD39) and partially supported by the Special Fund for Bagui Scholars and 100 Scholar Plan of the Guangxi Zhuang Autonomous Region.