Particle swarm optimization (PSO) is a stochastic optimization method sensitive to parameter settings. The paper presents a modification on the comprehensive learning particle swarm optimizer (CLPSO), which is one of the best performing PSO algorithms. The proposed method introduces a selfadaptive mechanism that dynamically changes the values of key parameters including inertia weight and acceleration coefficient based on evolutionary information of individual particles and the swarm during the search. Numerical experiments demonstrate that our approach with adaptive parameters can provide comparable improvement in performance of solving global optimization problems.
The complexity of many realworld problems has made exact solution methods impractical to solve them within a reasonable amount of time and thus gives rise to various types of nonexact metaheuristic approaches [
In the
To achieve a better balance between the exploration (global search) and exploitation (local search), Shi and Eberhart [
Empirical studies have shown that a large inertia weight facilitates exploration and a small inertia weight one facilitates exploitation and a linear decreasing inertia weight can be effective in improving the algorithm performance:
PSO is conceptually simple and easy to implement, and has been proven to be effective in a wide range of optimization problems [
In recent years, PSO has attracted a high level of interest, and a number of variant PSO methods (e.g., [
According to empirical studies [
Wu et al. [
In this paper we propose an improved CLPSO algorithm, named CLPSOAP, by introducing a new adaptive parameter strategy. The algorithm evaluates the evolutionary states of individual particles and the whole swarm, based on which values of inertia weight and acceleration coefficient are dynamically adjusted to search more effectively. Numerical experiments on test functions show that our algorithm can significantly improve the performance of CLPSO.
In the rest of the paper, Section
To provide an adaptive parameter strategy, we first need to determine the situation of each particle at each iteration. In this paper, two concepts are used for this purpose. The first one considers whether or not a particle
And the second considers the particle’s “rate of growth” from the
Based on (
It is easy to derive that
Most PSO algorithms use constant acceleration coefficients in (
From the previous analysis, we suggest that the acceleration coefficient should be an increasing function of
Based on our empirical tests, we use the following function to map the values of
Using the adaptive parameter strategy described in the previous section, the equation for velocity update for the CLPSOAP algorithm is
Now we present the flow of CLPSOAP algorithm as follows.
Generate a swarm of
Generate a learning probability
Evaluate the fitness of each particle and update its
For each particle
For
Generate a random number
If
Else, randomly choose two other distinct particles
Update the
Update the particle’s position according to (
Calculate
Calculate
Calculate
Let
Go to step 3.
In Step (7), other termination conditions can be that a required function value is obtained, or all the particles converge to a stable point.
In order to evaluate the performance of the proposed algorithm, we choose a set of wellknown test functions as benchmark problems, the definitions of which are listed in the Appendix section. The search ranges, optimal points and corresponding fitness values, and required accuracies are shown in Table
Detailed information of the test functions used in the paper.
No.  Function  Search range 


Required accuracy 


Sphere 


0  0.000001 

Rosenbrock 


0  0.01 

Schwefel 


0  0.01 

Rastrigin 


0  0.01 

Griewank 


0  0.000001 

Ackley 


0  0.000001 

Weierstrass 


0  0.000001 
We comparatively execute the basic PSO algorithm, CLPSO algorithm, and our CLPSOAP algorithm on the test functions with 10 and 30 dimensions, where each experiment is run for 40 times. The parameter settings for the algorithms are given in Table
Parameter settings of the algorithms.
Algorithm  Inertial weight  Acceleration coefficient(s)  10D functions  30D functions  




 
PSO 


10  5000  30  10000 
CLPSO 


10  5000  30  10000 
CLPSOAP  N/A  N/A  10  5000  30  10000 
We use the mean best fitness value and the success rate (with respect to the required accuracy shown in Table
The mean best values obtained by the algorithms for 10D problems.
Function  PSO  CLPSO  CLPSOAP 

Sphere 



Rosenbrock 



Schwefel 

0  0 
Rastrigin 

0  0 
Griewank 



Ackley 



Weierstrass  0  0  0 
The success rates obtained by the algorithms for 10D problems.
Function  PSO  CLPSO  CLPSOAP 

Sphere  100%  100%  100% 
Rosenbrock  0  0  10% 
Schwefel  5%  100%  100% 
Rastrigin  12.5%  100%  100% 
Griewank  0  1.75%  75% 
Ackley  100%  100%  100% 
Weierstrass  100%  100%  100% 
The mean best values obtained by the algorithms for 30D problems.
Function  PSO  CLPSO  CLPSOAP 

Sphere 



Rosenbrock 



Schwefel 



Rastrigin 



Griewank 



Ackley 



Weierstrass 



The success rates obtained by the algorithms for 30D problems.
Function  PSO  CLPSO  CLPSOAP 

Sphere  100%  100%  100% 
Rosenbrock  0  0  0 
Schwefel  0  50%  55% 
Rastrigin  0  95%  100% 
Griewank  37.5%  100%  100% 
Ackley  100%  100%  100% 
Weierstrass  100%  100%  100% 
As we can see from the experimental results, for all 10D and 30D dimensional problems, CLPSOAP performs better than CLPSO in terms of both mean best values and success rates. Among the seven test functions, Ackley function is the only one on which CLPSO performs no better than the basic PSO However, CLPSOAP performs better than basic PSO on both the 10D and 30D Ackley functions, and thus CLPSOAP also outperforms basic PSO on all benchmark problems. It also deserves to note the 10D Rosenbrock function, for which CLPSO and most of the other PSO variants hardly succeed [
CLPSO has been shown to be one of the best performing PSO algorithms. The paper proposes a new improved CLPSO algorithm, named CLPSOAP, which uses evolutionary information of individual particles to dynamically adapt the inertia weight and acceleration coefficient at each iteration. Experimental results on seven test functions show that our algorithm can significantly improve the performance of CLPSO. Ongoing work includes applying our algorithm to intelligent feature selection and lighting control in robotics [
Sphere function:
Rosenbrock’s function:
Schwefel’s function:
Rastrigin’s function:
Griewank’s function:
Ackley’s function:
Weierstrass function:
This work was supported in part by grants from National Natural Science Foundation (Grant no. 61020106009, 61105073, 61103140, and 61173096) of China.