To deal with the problems of premature convergence and tending to jump into the local optimum in the traditional particle swarm optimization, a novel improved particle swarm optimization algorithm was proposed. The self-adaptive inertia weight factor was used to accelerate the converging speed, and chaotic sequences were used to tune the acceleration coefficients for the balance between exploration and exploitation. The performance of the proposed algorithm was tested on four classical multi-objective optimization functions by comparing with the non-dominated sorting genetic algorithm and multi-objective particle swarm optimization algorithm. The results verified the effectiveness of the algorithm, which improved the premature convergence problem with faster convergence rate and strong ability to jump out of local optimum.
Particle swarm optimization (PSO) algorithm is a swarm intelligence optimization algorithm, which derives agglomeration of organism behavior, such as a simulation of the behavior of a flock of birds or fish. Compared to other intelligent algorithms, PSO algorithm has simple structure, less parameters and is easy to describe and implement. The global search ability is stronger, without gradient information and many other features, which makes it to be widely used in many fields such as function optimization, multi-objective problem solving and pattern recognition. In particular, it is applicable to solving the problems of nonlinear, multipolar and non-differentiable and complex optimization [
For the lack of PSO algorithm, the researchers propose many improvement strategies [
In order to improve search precision and convergence speed of the standard PSO algorithm, this paper tries to propose a more efficient and higher convergence speed algorithm by combining chaos theory with dynamic adaptive weight adjustment strategy. A new chaos self-adaptive particle swarm optimization algorithm (CSAPSO) was proposed. The algorithm improves the convergence speed by adaptive adjustment strategy evolution inertia weight. The chaotic sequence of chaos theory is used to optimize the learning factor of the algorithm, so that it can get out of the local optimum when it comes to precocious convergence. Finally, according to the solution experiment of multi-objective optimization problem, by comparing and analyzing the CSAPSO algorithm with the standard PSO algorithm and the classical multi-objective algorithm, the feasibility and validity of the algorithm are verified and the convergence speed and accuracy are discussed.
Particle Swarm Optimization algorithm (PSO) is a group evolution algorithm proposed by scholars Eberhart and Kennedy [
v i , d k + 1 = ω v i , d k + c 1 ( p i , d k − x i , d k ) + c 2 ( p g , d k − x i , d k ) (1)
x i , d k + 1 = x i , d k + v i , d k + 1 (2)
where, i = 1 , ⋯ , m ; ω is called an inertial weight factor, it makes the particles keep sport inertia and have the ability to expand search space; C1 and C2 are the learning factors, which represent the weight of each particle to the statistical acceleration item of the extremum position; rand () is a random number within (0, 1), v i , d k and x i , d k are respectively the velocity and position of particle i in d?dimension kth iteration; p i , d k is the position of the individual extremum of particle i in d-dimension, is the position of the global extremum of the whole population in d-dimension.
The standard PSO algorithm has its own limitations, such as the implementation process of the algorithm has a great relationship with the value of the parameters. When the algorithm is applied to the complex optimization problem of high dimension, the algorithm tends to converge to some extreme point and stagnates when the global optimum is not found, that is, precocious convergence is easy to occur. These points can be a point in the local extreme point or local extreme point area. In addition, the convergence rate of the algorithm becomes slow when approaching or entering the optimal solution area. The early convergence rate of PSO algorithm is fast, but in the later stage, when the algorithm converges to local minimum, due to the lack of effective local search mechanism, the local search speed is slow. According to the formula of particle velocity update of PSO algorithm, the change of particle velocity is determined by three factors: 1) The inertial weight factor, which represents the velocity information at the previous moment. It indicates the relationship between current speed and forward speed. 2) The cognitive factor, which is the development capacity coefficient, represents the error of the optimum of the particle itself, and reflects the local mining and development capability of the particle. 3) The exploration factor, which is the social sharing ability coefficient, represents the error of global optimum, the information sharing and cooperation ability between the particles. Under the circumstances, the inertia coefficient determines the search step length. When it is larger, it is good for global search. When it is smaller, it is helpful for local exploration. Cognitive factors and exploration factors are collectively called learning factors, which represent the effect proportion of the optimum of the particle itself and global optimum. By adjusting the learning factors properly, the global and local search of the particles can be weighed. When the algorithm is in precocious convergence, it is possible to change the exploration factor to achieve out of local optimal.
In order to improve the precocious convergence of the algorithm and improve the convergence speed of the algorithm, this paper uses adaptive weight adjustment strategy to realize the dynamic adjustment of inertia coefficient. The chaotic sequence generated by chaotic mapping is used to optimize the parameters of learning factor C1 and C2, and a chaos self-adaptive particle swarm optimization algorithm (CSAPSO) is obtained. The inertial weight factor ω is adjusted by Formula (3).
ω = ω max − P g b e s t ( k ) / P l b e s t a v e − ( ω max − ω min ) × k / k max (3)
where, ωmax and ωmin respectively represent the maximum and minimum values of inertial weight; Pgbest (k) represents the global optimal for the kth iteration; Plbestave represents the local optimal average of all particles; kmax is maximum number of iterations; k is current iteration times.
Learning factor C1 and C2 are adjusted by chaotic sequence generated by chaotic mapping. This paper uses the typical Lorenz’s equation to generate chaotic sequences, as shown in Formula (4).
{ d x d t = − ( y + z ) d y d t = x + a y d z d t = b + x z − c z (4)
where, parameters a, b and c are controlled parameters, which are 0.2, 0.4 and 5.7 respectively. The learning factor (c1, c2) is defined as:
{ c 1 = x ( t ) c 2 = y ( t ) (5)
Because the change of chaotic variables is random, ergodic and regular, the algorithm can maintain the diversity of population, effectively overcome the problem of precocious convergence, and improve global search performance.
The CSAPSO algorithm performs the following process:
1) To initialize the particle group
The position and velocity of particles in PSO algorithm are initialized. The initial position and velocity of the particles are generated randomly. The current position of each particle is used as the particle individual extremum, and the optimal value of the individual extremum is selected as the global optimal value.
2) To calculate the adaptive value of group particles.
3) The adaptive value of each particle is compared with the adaptive value of the best position it has passed. If it is better, the current position is the best position of the particle.
4) The adaptive value of each particle is compared with the adaptive value of the global best position, and if it is better, the current position is the global best position.
5) The learning factor C1, C2 and inertial weight ω were obtained respectively, and the velocity and position of the particles were updated and optimized
6) If the end condition of the algorithm is satisfied, the global best position is the optimal solution, saving the result and ending. Otherwise return to Step (2).
In order to test the performance of CSAPSO algorithm, this paper selects the multi-objective optimization test functions proposed by Schaffer [
In order to evaluate the merits of non-inferior solutions, this paper adopts the convergence index and the distribution index to evaluate the performance of the algorithm, and the indexes of convergence and distribution uniformity are respectively defined as follows [
Function | Definition | Property |
---|---|---|
SCH1 | min f ( x ) = ( f 1 ( x ) , f 2 ( x ) ) s .t . x ∈ [ − 5 , 7 ] f 1 ( x ) = x 2 f 2 ( x ) = ( x − 2 ) 2 | Convex |
SCH2 | min f ( x ) = ( f 1 ( x ) , f 2 ( x ) ) s .t . x ∈ [ − 5 , 10 ] f 1 ( x ) = { − x , ( x ≤ 1 ) − 2 + x , ( 1 < x ≤ 3 ) 4 − x , ( 3 < x ≤ 4 ) − 4 + x , ( x > 4 ) f 2 ( x ) = ( x − 5 ) 2 | Discontinuous |
ZDT2 | min f ( x ) = ( f 1 ( x ) , f 2 ( x ) ) s .t . x ∈ [ − 5 , 10 ] f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) [ 1 − ( x 1 / g ( x ) ) 2 ] g ( x ) = 1 + 9 ( ∑ i = 2 n x i ) / ( n − 1 ) | Concave |
ZDT3 | min f ( x ) = ( f 1 ( x ) , f 2 ( x ) ) s .t . x i ∈ [ 0 , 1 ] f 1 ( x ) = x 1 f 2 ( x ) = g ( x ) [ 1 − x 1 / g ( x ) − x 1 g ( x ) sin ( 10 π x 1 ) ] g ( x ) = 1 + 9 ( ∑ i = 2 n x i ) / ( n − 1 ) | Discrete |
1) Convergence index (GD), GD is used to describe the distance between the ungoverned solution that the algorithm searches for and the optimal front-end of the real Pareto.
GD = ∑ i = 1 N d i 2 N (6)
where, N represents the number of ungoverned solutions that the algorithm searches for, d i 2 represents the shortest Euclidean distance between the non-inferior solution i and all solutions in the optimal front-end of the real Pareto.
2) Distribution index (SP), SP is used to evaluate the uniformity of distribution of ungoverned solution.
SP = [ 1 n ∑ i = 1 n ( d ¯ − d i ) 2 ] 1 / 2 d ¯ (7)
d ¯ = 1 n ∑ i = 1 n d i (8)
where, N is the number of ungoverned solutions, and represents the shortest distance between the ith non-inferior solution in the target space and all solutions in the optimal front-end of the real Pareto.
The CSAPSO algorithm was used to experiment with SCH1, SCH2, ZDT2 and ZDT3. The algorithm parameter is set to: the particle size is 50; the maximum iteration number is 100; the maximum and minimum values of inertia weight are 0.9 and 0.3 respectively; inertia weight ω and learning factor C1 and C2 are obtained according to Formulas (3) and (5) respectively. The Pareto non-infe- rior solutions of each function are shown in Figures 1-4.
In the target function space, non-inferior optimal target domain is the boundary of the fitness value region, which is the effective interface. It can be seen from the experimental results that the four test functions accurately give the effective interface, and the complete Pareto non-inferior solution can be obtained. In particular, for the discrete problem of ZDT3, the algorithm also gives a more accurate non-inferior solution. In general, the number of Pareto solutions obtained by the algorithm is more and the distribution is more uniform. The accuracy and reliability of CSAPSO algorithm are verified.
Through CSAPSO algorithm runs 30 times for each test function, the convergence index GD, distribution index SP and the mean value of computed time CT were respectively calculated, and four test function evaluation index are calculated, the results are shown in
Performance Index | SCH1 | SCH2 | ZDT2 | ZDT3 | Average |
---|---|---|---|---|---|
GDa | 0.000335 | 0.000334 | 0.000351 | 0.000332 | 0.000338 |
SPb | 0.00338 | 0.00337 | 0.00333 | 0.00327 | 0.00334 |
CTc | 6.4 | 7.8 | 6.6 | 9.6 | 7.6 |
aConvergence index, bDistribution index, cCalculated time (s).
The evaluation index GD, SP and CT confirmed the feasibility, accuracy and efficiency of the CSAPSO algorithm for solving multi-objective optimization problems. GD indicates that the non-inferior solution is very close to the optimal front end of the real Pareto. SP shows that the non-inferior solution has good distribution. CT shows that the time spent running is within acceptable limits.
In order to test the superiority of the algorithm in multi-objective optimization solution, comparing CSAPSO algorithm in this paper with classic non-poor classification multi-objective genetic algorithm(NSGA-II), multi-objective particle swarm optimization, the statistical comparison results are shown in
According to GD of
In conclusion, through the CSAPSO algorithm for the numerical experiments of four multi-objective optimization problems, compared with the classical multi-objective optimization of NSGA II algorithm and MOPSO algorithm, we can know, CSAPSO algorithm has a better comprehensive performance. Algorithm improves the convergence speed by dynamic adaptive mechanism. Through the chaotic learning mechanism, the precocious convergence problem is improved.
This paper presents a chaotic self-adaptive particle swarm optimization algorithm (CSAPSO). The algorithm uses chaos theory and dynamic adaptive adjustment strategy to optimize the parameters in PSO algorithm, improve the
Performance Index | NSGA II | MOPSO | CSAPSO |
---|---|---|---|
GD | 0.000362 | 0.000465 | 0.000338 |
SP | 0.00475 | 0.00502 | 0.00334 |
CT | 8.7 | 6.8 | 7.6 |
precocious convergence of PSO algorithm, and improve the convergence speed. By the experiment of four standard test functions, the proposed algorithm can be used to solve the multi-target problem, and the obtained non-inferiority solution can get a good approximation of the optimal solution set of Pareto and distribute evenly. By comparing with other algorithms, CSAPSO algorithm has better property, which can provide practical reference value for many optimization problems in the project. In the future, the convergence strategy and mathematical proof of the PSO algorithm can be discussed in-depth.
The authors gratefully acknowledge the support from the National Natural Science Foundation of China (Grant Numbers: 51663001, 51463015, 51377025) and the science and technology research project of the education department of Jiangxi province (Grant Numbers: GJJ151012, GJJ150983).
Li, M.S., Liu, L., Sun, G.Q., Su, K.M., Zhang, H.J., Chen, B.S. and Wu, Y. (2017) Particle Swarm Optimization Algorithm Based on Chaotic Sequences and Dynamic Self-Adaptive Strategy. Journal of Computer and Communications, 5, 13-23. https://doi.org/10.4236/jcc.2017.512002