# A Novel Particle Swarm Optimization Algorithm for Global Optimization

Authors: Chun-Feng Wang; Kui Liu
Journal: Computational Intelligence and Neuroscience
 (2016)

---

## Abstract

Particle Swarm Optimization (PSO) is a recently developed optimization method, which has attracted interest of researchers in various areas due to its simplicity and effectiveness, and many variants have been proposed. In this paper, a novel Particle Swarm Optimization algorithm is presented, in which the information of the best neighbor of each particle and the best particle of the entire population in the current iteration is considered. Meanwhile, to avoid premature, an abandoned mechanism is used. Furthermore, for improving the global convergence speed of our algorithm, a chaotic search is adopted in the best solution of the current iteration. To verify the performance of our algorithm, standard test functions have been employed. The experimental results show that the algorithm is much more robust and efficient than some existing Particle Swarm Optimization algorithms.


---

## Body

## 1. Introduction

This paper considers the following global optimization problem:(1)minfxs.t.x∈X,where x is a continuous variable vector with domain X⊂Rn defined by the bound constraint lj≤xj≤uj, j=1,…,n. The function f(x):X→R is a continuous real-valued function.Many real-world problems, such as engineering and related areas, can be reduced to formulation (1). This problem usually has many local optima, so it is difficult to find its global optimum. For solving such problem, researchers have presented many methods during the past years, which can be divided into two groups: deterministic and stochastic algorithms. Most deterministic algorithms usually effective for unimodal functions have one global optimum and need gradient information. However, stochastic algorithms do not require any properties of the objective function. Therefore, more attention has been paid to stochastic algorithms recently, and many effective algorithms have been presented, including Simulated Annealing (SA) [1], Genetic Algorithm (GA) [2, 3], Differential Evolution (DE) [4], Particle Swarm Optimization (PSO) [5], Ant Colony Optimization (ACO) [6], Artificial Bee Colony (ABC) [7], and Harmony Search (HS) [8].Among these stochastic algorithms, PSO is a population-based and intelligent method, which is inspired by the emergent motion of a flock of birds searching for food [5]. In PSO, a population of potential solutions is evolved through successive iterations. Since PSO algorithm has a number of desirable properties, including simplicity of implementation, scalability in dimension, and good empirical performance, it has been applied to solve many real-world problems, such as capacitor placement problem [9], short term load forecasting [10], soft sensor [11], the voltage stability of the electric power distribution systems [12, 13], the orbits of discrete chaotic dynamical systems towards desired target region [14], and the permutation flow-shop sequencing problem [15].Although PSO algorithm has been applied successfully in solving many difficult optimization problems, it also has difficulties in keeping balance between exploration and exploitation when solving complex multimodal problems. In order to get a better performance for PSO algorithm, many variants of PSO have been developed. For example, by using random value of inertia weight, Eberhart and Shi proposed a modified PSO, which can track the optima in a dynamic environment [16]. By utilizing the success rate of the particles, a new adaptive inertia weight strategy was presented [17]. Through using Cauchy mutation, a hybrid PSO (HPSO) was developed [18]. In [19], a hybrid PSO with a wavelet mutation (HWPSO) was given, in which the mutation incorporates with a wavelet function. To avoid premature convergence, a novel parameter automation strategy is proposed [20]. Valdez et al. introduced an improved FPSO + FGA hybrid method by combining the advantages of PSO and GA [21]. Based on mutation operator and different local search techniques, a superior solution guided PSO (SSG-PSO) was developed [22]. By using the second personal best and the second global best particle, two modified PSO algorithms are presented [23]. In order to avoid being trapped in local optima in the convergence process, some other improved PSO have been proposed, such as crossover [24], orthogonal learning strategy [25], chaos [26], and elitist learning strategy [27].In this paper, by utilizing the information of the the best neighbor of each particle and the best particle of the entire population in the current iteration, a new Particle Swarm Optimization algorithm is proposed, which is named NPSO. To avoid premature, an abandoned mechanism is presented in our algorithm. Furthermore, for improving the global convergence speed, a chaotic search is implemented in the best solution of each iteration.The remainder of this paper is organized as follows. Section2 describes the original PSO. Then our proposed modifications to PSO are described in Section 3. Numerical results and discussions are presented in Section 4. Finally, some concluding remarks are provided in Section 5.


## 2. Particle Swarm Optimization (PSO)

Assume that the search space isn-dimensional; M denotes the size of the swarm population. In PSO, each particle i(i=1,…,M) has a position xi=(xi,1,xi,2,…,xi,n) in the search space and a velocity vi=(vi,1,vi,2,…,vi,n) to indicate its current state. A position xi denotes a feasible solution. The position xi and the velocity vi are updated by the best position pi=(pi,1,pi,2,…,pi,n) encountered by the particle so far and the best position pg=(pg,1,pg,2,…,pg,n) found by the entire population of particles according to the following equations: (2)vi,dt+1=ωvi,dt+c1r1pi,dt-xi,dt+c2r2pg,dt-xi,dt,xi,dt+1=xi,dt+vi,dt+1,where c1 and c2 are two learning factors which control the influence of the social and cognitive components, ri(i=1,2) are random numbers in the range [0,1], and ω is the inertia weight, which ensures the convergence of the PSO algorithm and is decreased linearly.


## 3. The Novel PSO Algorithm (NPSO)

In the original PSO, since each particle moves in the search space guided only by its historical best solutionpi and the global best solution pg, it may get trapped in a local optimal solution when current global best solution in a local optimum and not easy for the particle escapes from it. To solve such problem, in this section, three improvement strategies are proposed.


### 3.1. The First Improvement Strategy

From (2), we observe that only the information of the historical best position pi of each particle and the global best position pg of all particles is utilized. As a matter of fact, the information of the best neighbor pNibest of the particle i may provide a better guidance than pi. The details are given as follows.Firstly, we explain how to define the neighbors and to determine the best neighborpNibest of the particle i. In order to define appropriate neighbors, different approaches could be used. In this paper, the neighbors of xi are defined by using the mean Euclidean distance between xi and the rest of solutions. Let d(i,j) be the Euclidean distance between xi and xj and let mdi be the mean Euclidean distance for xi. Then mdi can be computed as follows: (3)mdi=∑j=1Mdi,jM-1.By (3), if d(i,j)<mdi, then xj could be accepted as a neighbor of xi.In addition, we can also use a more general and flexible definition to determine a neighbor ofxi: (4)ifdi,j≤r×mdi,  thenxjis  a  neighbor  ofxi;  else  it  is  not.If (4) is used, then a new parameter r(r≥0), which refers to the “neighbourhood radius,” will be added to the parameters of PSO. If r=0, it turns to the standard PSO. With the value of r increasing, the neighborhood of xi enlarges or its neighborhood shrinks as the value of r decreases. Once the neighbors are determined, we select the best position among the neighbors of xi as the best neighbor pNibest.After determining the the best neighborpNibest, we give a new way moving for each particle. If f(pNibest)<f(pi), then set (5)vi,dt+1=ωvi,dt+c1r1pNi,dbestt-xi,dt+c2r2pg,dt-xi,dt.If f(pNibest)>f(pi), then set (6)vi,dt+1=ωvi,dt+c1r1pi,dt-xi,dt+c2r2pg,dt-xi,dt.After that, xi moves to a new position by the following equation: (7)xi,dt+1=xi,dt+vi,dt+1.In our algorithm, it is obvious that before each particle moves, it first watches the region which is centered by itself, selects the best neighbour, and then uses (5)–(7) to generate the next position.


### 3.2. The Second Improvement Strategy

To avoid premature, in our algorithm, an abandoned mechanism is proposed.Assume that “L” is a predetermined number, which will be used to determine whether the position xi of the particle i should be abandoned. At the beginning, set l(i)=0(i=1,…,M). With the implementation of the algorithm, if the position xi was not improved, then set l(i)=l(i)+1; else set l(i)=0. If the position xi can not be improved anymore when L is achieved, that is, l(i)=L, then the position will be abandoned and a new position xnew will replace it, which is generated by using the following equation: (8)xnew=τ∗pg+ϕ∗pg-xi,where ϕ is a random number in the range [-1,1] and τ is the inertia weight that controls the impact of the optimal solution at current iteration, which is increased linearly.From (8), it can be seen that, in the early stage of the algorithm, xnew will be generated with a large randomness and in the late stage, it will be generated near the global best position pg.


### 3.3. The Third Improvement Strategy

To improve the global convergence of NPSO, a chaotic search operator is adopted. Next, we give the details.Letpg be the best solution of the current iteration. Firstly, utilize the following equation (9) to generate chaotic variable chi: (9)chi+1=4∗chi∗1-chi,1≤i≤K,where K is the length of chaotic sequence and ch0∈(0,1) is a random number. Then map chi to a chaotic vector CHi in the interval [l,u]: (10)CHi=l+chi∗u-l,i=1,…,K,where l and u are the lower bound and upper bound of variable x, respectively. Finally, a new candidate solution x^i is obtained by the following equation: (11)x^i=1-λ∗pg+λ∗CHi,i=1,…,K,where λ is a shrinking factor, which is defined as follows: (12)λ=maxcycle-t+1maxcycle,where maxcycle is the maximum number of iterations and t is the number of iterations.By (11) and (12), it can be seen that λ will become smaller with the increase of evolutionary generation; that is, the local search range will become smaller with the process of evolution.Based on the abovementioned explanation, the pseudocode of the NPSO algorithm is given in Algorithm1.Algorithm 1:Framework of  NPSO. Remark: in our algorithm, for simplicity, in (8), we can set τ=1-ω, which can meet our needs.
(1) Initialize a population ofM particles with random positions xi in a given search space, and random
velocitiesvi; the maximum iteration maxcycle; ωmin,ωmax; vmin,vmax; the length of chaotic sequence k.
(2) Setpi=xi(i=1,…,SN) and find pg.
(3)whilet≤maxcycledo
(4)ω=ωmax-ωmax-ωmin∗t/maxcycle
(5) fori=1 to SNdo
(6)  forj=1 to ndo
(7)   By (3) and (4), update the velocity of each particle.
(8)   By (5), update the position of each particle.
(9)  end for
(10)   iff(xi)<f(pi)
(11)pi=xi, set Li=0;
(12)   else
(13)   setLi=Li+1.
(14)  end if
(15)  iff(xi)<f(pg)
(16)   setpg=xi,
(17)   end if
(18) end for
(19) fori=1 to SNdo
(20)   ifLi=L
(21)    By (8), to generate a new position, and replace xi.
(22)  end if
(23) end for
(24) By (9)–(12), to chaotic search in pg, and update pg (if necessary).
(25)t=t+1
(26) end while


## 3.1. The First Improvement Strategy

From (2), we observe that only the information of the historical best position pi of each particle and the global best position pg of all particles is utilized. As a matter of fact, the information of the best neighbor pNibest of the particle i may provide a better guidance than pi. The details are given as follows.Firstly, we explain how to define the neighbors and to determine the best neighborpNibest of the particle i. In order to define appropriate neighbors, different approaches could be used. In this paper, the neighbors of xi are defined by using the mean Euclidean distance between xi and the rest of solutions. Let d(i,j) be the Euclidean distance between xi and xj and let mdi be the mean Euclidean distance for xi. Then mdi can be computed as follows: (3)mdi=∑j=1Mdi,jM-1.By (3), if d(i,j)<mdi, then xj could be accepted as a neighbor of xi.In addition, we can also use a more general and flexible definition to determine a neighbor ofxi: (4)ifdi,j≤r×mdi,  thenxjis  a  neighbor  ofxi;  else  it  is  not.If (4) is used, then a new parameter r(r≥0), which refers to the “neighbourhood radius,” will be added to the parameters of PSO. If r=0, it turns to the standard PSO. With the value of r increasing, the neighborhood of xi enlarges or its neighborhood shrinks as the value of r decreases. Once the neighbors are determined, we select the best position among the neighbors of xi as the best neighbor pNibest.After determining the the best neighborpNibest, we give a new way moving for each particle. If f(pNibest)<f(pi), then set (5)vi,dt+1=ωvi,dt+c1r1pNi,dbestt-xi,dt+c2r2pg,dt-xi,dt.If f(pNibest)>f(pi), then set (6)vi,dt+1=ωvi,dt+c1r1pi,dt-xi,dt+c2r2pg,dt-xi,dt.After that, xi moves to a new position by the following equation: (7)xi,dt+1=xi,dt+vi,dt+1.In our algorithm, it is obvious that before each particle moves, it first watches the region which is centered by itself, selects the best neighbour, and then uses (5)–(7) to generate the next position.


## 3.2. The Second Improvement Strategy

To avoid premature, in our algorithm, an abandoned mechanism is proposed.Assume that “L” is a predetermined number, which will be used to determine whether the position xi of the particle i should be abandoned. At the beginning, set l(i)=0(i=1,…,M). With the implementation of the algorithm, if the position xi was not improved, then set l(i)=l(i)+1; else set l(i)=0. If the position xi can not be improved anymore when L is achieved, that is, l(i)=L, then the position will be abandoned and a new position xnew will replace it, which is generated by using the following equation: (8)xnew=τ∗pg+ϕ∗pg-xi,where ϕ is a random number in the range [-1,1] and τ is the inertia weight that controls the impact of the optimal solution at current iteration, which is increased linearly.From (8), it can be seen that, in the early stage of the algorithm, xnew will be generated with a large randomness and in the late stage, it will be generated near the global best position pg.


## 3.3. The Third Improvement Strategy

To improve the global convergence of NPSO, a chaotic search operator is adopted. Next, we give the details.Letpg be the best solution of the current iteration. Firstly, utilize the following equation (9) to generate chaotic variable chi: (9)chi+1=4∗chi∗1-chi,1≤i≤K,where K is the length of chaotic sequence and ch0∈(0,1) is a random number. Then map chi to a chaotic vector CHi in the interval [l,u]: (10)CHi=l+chi∗u-l,i=1,…,K,where l and u are the lower bound and upper bound of variable x, respectively. Finally, a new candidate solution x^i is obtained by the following equation: (11)x^i=1-λ∗pg+λ∗CHi,i=1,…,K,where λ is a shrinking factor, which is defined as follows: (12)λ=maxcycle-t+1maxcycle,where maxcycle is the maximum number of iterations and t is the number of iterations.By (11) and (12), it can be seen that λ will become smaller with the increase of evolutionary generation; that is, the local search range will become smaller with the process of evolution.Based on the abovementioned explanation, the pseudocode of the NPSO algorithm is given in Algorithm1.Algorithm 1:Framework of  NPSO. Remark: in our algorithm, for simplicity, in (8), we can set τ=1-ω, which can meet our needs.
(1) Initialize a population ofM particles with random positions xi in a given search space, and random
velocitiesvi; the maximum iteration maxcycle; ωmin,ωmax; vmin,vmax; the length of chaotic sequence k.
(2) Setpi=xi(i=1,…,SN) and find pg.
(3)whilet≤maxcycledo
(4)ω=ωmax-ωmax-ωmin∗t/maxcycle
(5) fori=1 to SNdo
(6)  forj=1 to ndo
(7)   By (3) and (4), update the velocity of each particle.
(8)   By (5), update the position of each particle.
(9)  end for
(10)   iff(xi)<f(pi)
(11)pi=xi, set Li=0;
(12)   else
(13)   setLi=Li+1.
(14)  end if
(15)  iff(xi)<f(pg)
(16)   setpg=xi,
(17)   end if
(18) end for
(19) fori=1 to SNdo
(20)   ifLi=L
(21)    By (8), to generate a new position, and replace xi.
(22)  end if
(23) end for
(24) By (9)–(12), to chaotic search in pg, and update pg (if necessary).
(25)t=t+1
(26) end while


## 4. Experimental Results and Discussion

### 4.1. Experiments 1

In this subsection, the performance of NPSO algorithm is compared to PSO algorithm by evaluating convergence and best solution found for 14 benchmark functions, wheref7–f11 are shifted functions and f12–f14 are rotated functions. The characteristics, dimensions, initial range, and formulations of these functions are listed in Table 1. z is x-o for f7–f11 and (x-o)∗M for f12–f14; o=(o1,o2,…,on) is the shifted global optimum; M is the n×n orthogonal matrix.Table 1
Benchmark functions used in experiments.
Functions
Dimension
C
Range
Optimal value
f
1
=
∑
i
=
1
n
x
i
2
30
US
[
-
100,100
]
0
f
2
=
∑
i
=
1
n
i
x
i
2
30
US
[
-
10,10
]
0
f
3
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
UN
[
-
30,30
]
0
f
4
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
5
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
MS
[
-
600,600
]
0
f
6
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30
UN
[
-
10,10
]
0
f
7
=
-
20
exp
⁡
-
0.2
∗
∑
i
=
1
n
z
i
2
n
30
MN
[
-
32,32
]
0
-exp⁡∑i=1n‍cos⁡2πzin+20+e
f
8
=
1
4000
∑
i
=
1
n
z
i
2
-
∏
i
=
1
n
cos
⁡
z
i
i
+
1
30
MS
[
-
600,600
]
0
f
9
=
∑
i
=
1
n
z
i
2
30
US
[
-
100,100
]
0
f
10
=
∑
i
=
1
n
∑
j
=
1
i
z
j
2
30
UN
[
-
100,100
]
0
f
11
=
∑
i
=
1
n
z
i
2
-
10
cos
⁡
2
π
z
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
12
=
∑
i
=
1
n
∑
j
=
1
i
z
j
2
-
450
30
UN
[
-
100,100
]
−450
f
13
=
∑
i
=
1
n
(
z
i
2
-
10
c
o
s
(
2
π
z
i
)
+
10
)
-
330
30
MS
[
-
5.12,5.12
]
−330
f
14
=
∑
i
=
1
n
∑
k
=
0
k
m
a
x
a
k
cos
⁡
2
∗
π
b
k
z
i
+
0.5
30
US
[
-
0.5,0.5
]
90
-n∑k=0kmaxakcos2πbk0.5+90,a=0.5,b=3,kmax=20
C: characteristic, U: unimodal, M: multimodal, N: nonseparable, and S: separable.The proposed algorithm NPSO and PSO are coded in Matlab 7.0, and the experiments’ platform is a personal computer with Pentium 4, 3.06 GHz CPU, 512 M memory, and Windows XP.The parameters of algorithms are given as follows. The common parameters are the dimensionn=30, the population size M=30, the maximum number of iterations maxcycle=2000, ωmin=0.4, ωmax=0.9, vmin=0.4, and vmax=0.9. NPSO settings are as follows: the length K of chaotic sequence and the limit L of a position abandoned are set to 5; r=0.01. Each experiment is repeated 30 times independently. The global minimums (Min), maximum number of iterations (Max iteration), mean best values (Mean), and standard deviations (SD) are given in Table 2. To show the convergence speed of PSO and NPSO more clearly, the convergence graphs of PSO and NPSO are shown in Figure 1.Table 2
NPSO performance comparison with PSO.
Function
Max iteration
Algorithm
Mean
SD
Min
f
1
1000
PSO
5.06
e
-
003
1.26
e
-
003
4.10
e
-
003
NPSO
5.66
e
-
141
9.80
e
-
141
1.97
e
-
198
f
2
1000
PSO
1.81
e
-
001
1.65
e
-
001
3.08
e
-
002
NPSO
2.41
e
-
129
4.17
e
-
129
2.91
e
-
201
f
3
1000
PSO
2.95
e
+
001
3.55
e
-
001
2.91
e
+
001
NPSO
2.217
e
-
005
3.48
e
-
005
6.81
e
-
013
f
4
1000
PSO
2.90
e
+
001
0
2.90
e
+
001
NPSO
0
0
0
f
5
1000
PSO
4.97
e
-
004
4.65
e
-
004
1.91
e
-
004
NPSO
0
0
0
f
6
1000
PSO
4.55
e
-
096
3.06
e
-
096
1.12
e
-
096
NPSO
4.49
e
-
104
7.78
e
-
104
7.40
e
-
117
f
7
1000
PSO
2.03
e
+
001
1.22
e
-
002
2.02
e
+
001
NPSO
3.29
e
-
007
3.76
e
-
007
1.75
e
-
008
f
8
1000
PSO
1.054
e
+
002
9.24
e
-
002
1.053
e
+
002
NPSO
3.68
e
-
009
6.27
e
-
009
6.00
e
-
012
f
9
1000
PSO
2.32
e
+
004
3.03
e
+
002
2.30
e
+
004
NPSO
6.30
e
-
012
1.04
e
-
011
1.29
e
-
014
f
10
1000
PSO
3.84
e
+
007
7.18
e
+
004
3.83
e
+
007
NPSO
3.79
e
-
009
6.41
e
-
009
3.29
e
-
012
f
11
1000
PSO
2.44
e
+
001
1.25
e
+
000
2.33
e
+
001
NPSO
1.66
e
-
004
2.03
e
-
004
1.25
e
-
009
f
12
1000
PSO
8.34
e
+
002
1.05
e
+
003
1.22
e
+
002
NPSO
-
4.499
e
+
002
4.25
e
-
004
-
450
f
13
1000
PSO
-
2.59
e
+
002
1.25
e
+
001
-
2.69
e
+
002
NPSO
-
330
0
-
330
f
14
1000
PSO
1.24
e
+
002
1.02
e
+
000
1.23
e
+
002
NPSO
9.001
e
+
001
2.23
e
-
002
90Figure 1
Convergence rates on test functions.From Table2, it can be seen that the NPSO performs better than PSO on all test functions. From Figure 1, it can be seen that the convergence speed of NPSO is more fast than PSO.


### 4.2. Experiments 2

In this subsection, to further test the efficiency of NPSO, it is compared with other five algorithms, that is, CPSO [28], CLPSO [29], FIPS [30], Frankenstein [31], and AIWPSO [17].Twelve benchmark functions are used for the comparison. The characteristics, dimensions, initial range, and formulations of these functions are listed in Table3.Table 3
Benchmark functions used in experiments.
Functions
Dimension (n)
C
Range
Optimal value
f
1
=
∑
i
=
1
n
x
i
2
30
US
[
-
100,100
]
0
f
2
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30
UN
[
-
10,10
]
0
f
3
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30
UN
[
-
100,100
]
0
f
4
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
0,1
30
MS
[
-
1.28,1.28
]
0
f
5
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
UN
[
-
30,30
]
0
f
6
=
∑
i
=
1
n
x
i
+
0.5
2
30
US
[
-
1.28,1.28
]
0
f
7
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
8
=
∑
i
=
1
n
y
i
2
-
10
cos
⁡
2
π
y
i
+
10,
30
US
[
-
5.12,5.12
]
0
if |xi|<12,yi=xi;else yi=round(2xi)2
f
9
=
-
20
e
x
p
-
0.2
∗
∑
i
=
1
n
x
i
2
n
30
MN
[
-
32,32
]
0
-exp∑i=1ncos2πxin+20+e
f
10
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
MS
[
-
600,600
]
0
f
11
=
∑
i
=
1
n
-
x
i
∗
sin
⁡
x
30
MS
[
-
500,500
]
418.98288
∗
n
f
12
=
∑
i
=
1
n
x
i
2
30
US
[
-
10,190
]
0
C: characteristic, U: unimodal, M: multimodal, N: nonseparable, and S: separable.In order to make a fair comparison, the maximum number of function evaluations (maxFEs) is set to 2e5 for all algorithms; the population size is 20. The other parameters for NPSO are set as in Experiments 1. The comparison results are presented in Table 4. For the sake of convenience and reliability, except for the NPSO algorithm, the rest of results reported here are taken directly from the literature [17].Table 4
The mean and standard deviation of the best solutions of six PSO variants on 12 test problems in 200,000 function evaluations.
f
1
f
2
f
3
CPSO
5.146
e
-
013
(
7.7588
e
-
025
)
1.2534
e
-
007
(
1.1791
e
-
014
)
1.8889
e
+
003
(
9.9106
e
+
006
)
CLPSO
4.894
e
-
039
(
6.7814
e
-
078
)
8.8677
e
-
024
(
7.9008
e
-
049
)
1.9217
e
+
002
(
3.8433
e
+
003
)
FIPS
4.588
e
-
027
(
1.9577
e
-
053
)
2.3239
e
-
016
(
1.1406
e
-
032
)
9.4634
e
+
000
(
2.5976
e
+
001
)
Frankenstein
2.409
e
-
016
(
2.0047
e
-
031
)
1.5804
e
-
011
(
1.0301
e
-
022
)
1.7315
e
+
002
(
9.1577
e
+
003
)
AIWPSO
3.370
e
-
134
(
5.1722
e
-
267
)
1.6534
e
-
062
(
7.7348
e
-
123
)
1.9570
e
-
010
(
1.2012
e
-
019
)
NPSO
6.597
e
-
217
(
1.632
e
-
235
)
2.5016
e
-
109
(
4.3331
e
-
109
)
5.4552
e
-
193
(
9.2401
e
-
198
)
f
4
f
5
f
6
CPSO
1.0764
e
-
002
(
2.7698
e
-
005
)
8.2648
e
-
001
(
2.3449
e
+
00
)
0.0
(
0.0
)
CLPSO
4.0642
e
-
003
(
9.6184
e
-
007
)
1.3217
e
+
001
(
2.1480
e
+
002
)
0.0
(
0.0
)
FIPS
3.3047
e
-
003
(
8.6680
e
-
007
)
2.6714
e
+
001
(
2.0025
e
+
002
)
0.0
(
0.0
)
Frankenstein
4.1690
e
-
003
(
2.4012
e
-
006
)
2.8156
e
+
001
(
2.3132
e
+
002
)
0.0
(
0.0
)
AIWPSO
5.5241
e
-
003
(
1.5358
e
-
005
)
2.5003
e
+
000
(
1.5978
e
+
001
)
0.0
(
0.0
)
NPSO
8.4591
e
-
006
(
8.4932
e
-
006
)
3.0621
e
-
006
(
4.0283
e
-
006
)
0.0
(
0.0
)
f
7
f
8
f
9
CPSO
3.6007
e
-
013
(
1.5035
e
-
024
)
5.3717
e
-
013
(
5.9437
e
-
024
)
1.6091
e
-
007
(
7.8608
e
-
014
)
CLPSO
0.0
(
0.0
)
1.3333
e
-
001
(
1.1954
e
-
001
)
9.2371
e
-
015
(
6.6156
e
-
030
)
FIPS
5.8502
e
+
001
(
1.9185
e
+
002
)
6.1883
e
+
001
(
1.4013
e
+
002
)
1.3856
e
-
014
(
2.3227
e
-
029
)
Frankenstein
7.3836
e
+
001
(
3.7055
e
+
002
)
7.0347
e
+
001
(
2.9600
e
+
002
)
2.1792
e
-
009
(
1.7187
e
-
018
)
AIWPSO
1.6583
e
-
001
(
2.1051
e
-
001
)
1.1842
e
-
016
(
4.2073
e
-
031
)
6.9870
e
-
015
(
4.2073
e
-
031
)
NPSO
0.0
(
0.0
)
4.0407
e
-
215
(
1.5575
e
-
220
)
-
8.8817
e
-
016
(
0.0
)
f
10
f
11
f
12
CPSO
2.1245
e
-
002
(
6.3144
e
-
004
)
-
1.2127
e
+
004
(
3.3795
e
+
004
)
5.4282
e
-
014
(
8.2868
e
-
027
)
CLPSO
0.0
(
0.0
)
-
1.2546
e
+
004
(
4.2567
e
+
003
)
9.9748
e
-
039
(
3.7661
e
-
084
)
FIPS
2.4776
e
-
004
(
1.8266
e
-
006
)
-
1.1052
e
+
004
(
9.4421
e
+
005
)
2.6033
e
+
002
(
2.1785
e
+
004
)
Frankenstein
1.4736
e
-
003
(
1.2846
e
-
005
)
-
1.1221
e
+
004
(
2.7708
e
+
005
)
5.1953
e
+
004
(
1.1136
e
+
009
)
AIWPSO
2.8524
e
-
002
(
7.6640
e
-
004
)
-
1.2569
e
+
004
(
1.1409
e
-
025
)
1.8317
e
-
137
(
3.4534
e
-
273
)
NPSO
0.0
(
0.0
)
-
1.2569
e
+
004
(
2.5299
e
-
007
)
2.2740
e
-
198
(
2.6952
e
-
186
)From Table4, it can be seen that NPSO is significantly better than the other five algorithms on almost all the test functions, except for the function f11.


## 4.1. Experiments 1

In this subsection, the performance of NPSO algorithm is compared to PSO algorithm by evaluating convergence and best solution found for 14 benchmark functions, wheref7–f11 are shifted functions and f12–f14 are rotated functions. The characteristics, dimensions, initial range, and formulations of these functions are listed in Table 1. z is x-o for f7–f11 and (x-o)∗M for f12–f14; o=(o1,o2,…,on) is the shifted global optimum; M is the n×n orthogonal matrix.Table 1
Benchmark functions used in experiments.
Functions
Dimension
C
Range
Optimal value
f
1
=
∑
i
=
1
n
x
i
2
30
US
[
-
100,100
]
0
f
2
=
∑
i
=
1
n
i
x
i
2
30
US
[
-
10,10
]
0
f
3
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
UN
[
-
30,30
]
0
f
4
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
5
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
MS
[
-
600,600
]
0
f
6
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30
UN
[
-
10,10
]
0
f
7
=
-
20
exp
⁡
-
0.2
∗
∑
i
=
1
n
z
i
2
n
30
MN
[
-
32,32
]
0
-exp⁡∑i=1n‍cos⁡2πzin+20+e
f
8
=
1
4000
∑
i
=
1
n
z
i
2
-
∏
i
=
1
n
cos
⁡
z
i
i
+
1
30
MS
[
-
600,600
]
0
f
9
=
∑
i
=
1
n
z
i
2
30
US
[
-
100,100
]
0
f
10
=
∑
i
=
1
n
∑
j
=
1
i
z
j
2
30
UN
[
-
100,100
]
0
f
11
=
∑
i
=
1
n
z
i
2
-
10
cos
⁡
2
π
z
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
12
=
∑
i
=
1
n
∑
j
=
1
i
z
j
2
-
450
30
UN
[
-
100,100
]
−450
f
13
=
∑
i
=
1
n
(
z
i
2
-
10
c
o
s
(
2
π
z
i
)
+
10
)
-
330
30
MS
[
-
5.12,5.12
]
−330
f
14
=
∑
i
=
1
n
∑
k
=
0
k
m
a
x
a
k
cos
⁡
2
∗
π
b
k
z
i
+
0.5
30
US
[
-
0.5,0.5
]
90
-n∑k=0kmaxakcos2πbk0.5+90,a=0.5,b=3,kmax=20
C: characteristic, U: unimodal, M: multimodal, N: nonseparable, and S: separable.The proposed algorithm NPSO and PSO are coded in Matlab 7.0, and the experiments’ platform is a personal computer with Pentium 4, 3.06 GHz CPU, 512 M memory, and Windows XP.The parameters of algorithms are given as follows. The common parameters are the dimensionn=30, the population size M=30, the maximum number of iterations maxcycle=2000, ωmin=0.4, ωmax=0.9, vmin=0.4, and vmax=0.9. NPSO settings are as follows: the length K of chaotic sequence and the limit L of a position abandoned are set to 5; r=0.01. Each experiment is repeated 30 times independently. The global minimums (Min), maximum number of iterations (Max iteration), mean best values (Mean), and standard deviations (SD) are given in Table 2. To show the convergence speed of PSO and NPSO more clearly, the convergence graphs of PSO and NPSO are shown in Figure 1.Table 2
NPSO performance comparison with PSO.
Function
Max iteration
Algorithm
Mean
SD
Min
f
1
1000
PSO
5.06
e
-
003
1.26
e
-
003
4.10
e
-
003
NPSO
5.66
e
-
141
9.80
e
-
141
1.97
e
-
198
f
2
1000
PSO
1.81
e
-
001
1.65
e
-
001
3.08
e
-
002
NPSO
2.41
e
-
129
4.17
e
-
129
2.91
e
-
201
f
3
1000
PSO
2.95
e
+
001
3.55
e
-
001
2.91
e
+
001
NPSO
2.217
e
-
005
3.48
e
-
005
6.81
e
-
013
f
4
1000
PSO
2.90
e
+
001
0
2.90
e
+
001
NPSO
0
0
0
f
5
1000
PSO
4.97
e
-
004
4.65
e
-
004
1.91
e
-
004
NPSO
0
0
0
f
6
1000
PSO
4.55
e
-
096
3.06
e
-
096
1.12
e
-
096
NPSO
4.49
e
-
104
7.78
e
-
104
7.40
e
-
117
f
7
1000
PSO
2.03
e
+
001
1.22
e
-
002
2.02
e
+
001
NPSO
3.29
e
-
007
3.76
e
-
007
1.75
e
-
008
f
8
1000
PSO
1.054
e
+
002
9.24
e
-
002
1.053
e
+
002
NPSO
3.68
e
-
009
6.27
e
-
009
6.00
e
-
012
f
9
1000
PSO
2.32
e
+
004
3.03
e
+
002
2.30
e
+
004
NPSO
6.30
e
-
012
1.04
e
-
011
1.29
e
-
014
f
10
1000
PSO
3.84
e
+
007
7.18
e
+
004
3.83
e
+
007
NPSO
3.79
e
-
009
6.41
e
-
009
3.29
e
-
012
f
11
1000
PSO
2.44
e
+
001
1.25
e
+
000
2.33
e
+
001
NPSO
1.66
e
-
004
2.03
e
-
004
1.25
e
-
009
f
12
1000
PSO
8.34
e
+
002
1.05
e
+
003
1.22
e
+
002
NPSO
-
4.499
e
+
002
4.25
e
-
004
-
450
f
13
1000
PSO
-
2.59
e
+
002
1.25
e
+
001
-
2.69
e
+
002
NPSO
-
330
0
-
330
f
14
1000
PSO
1.24
e
+
002
1.02
e
+
000
1.23
e
+
002
NPSO
9.001
e
+
001
2.23
e
-
002
90Figure 1
Convergence rates on test functions.From Table2, it can be seen that the NPSO performs better than PSO on all test functions. From Figure 1, it can be seen that the convergence speed of NPSO is more fast than PSO.


## 4.2. Experiments 2

In this subsection, to further test the efficiency of NPSO, it is compared with other five algorithms, that is, CPSO [28], CLPSO [29], FIPS [30], Frankenstein [31], and AIWPSO [17].Twelve benchmark functions are used for the comparison. The characteristics, dimensions, initial range, and formulations of these functions are listed in Table3.Table 3
Benchmark functions used in experiments.
Functions
Dimension (n)
C
Range
Optimal value
f
1
=
∑
i
=
1
n
x
i
2
30
US
[
-
100,100
]
0
f
2
=
∑
i
=
1
n
x
i
+
∏
i
=
1
n
x
i
30
UN
[
-
10,10
]
0
f
3
=
∑
i
=
1
n
∑
j
=
1
i
x
j
2
30
UN
[
-
100,100
]
0
f
4
=
∑
i
=
1
n
i
x
i
4
+
r
a
n
d
o
m
0,1
30
MS
[
-
1.28,1.28
]
0
f
5
=
∑
i
=
1
n
-
1
100
x
i
+
1
-
x
i
2
2
+
x
i
-
1
2
30
UN
[
-
30,30
]
0
f
6
=
∑
i
=
1
n
x
i
+
0.5
2
30
US
[
-
1.28,1.28
]
0
f
7
=
∑
i
=
1
n
x
i
2
-
10
cos
⁡
2
π
x
i
+
10
30
MS
[
-
5.12,5.12
]
0
f
8
=
∑
i
=
1
n
y
i
2
-
10
cos
⁡
2
π
y
i
+
10,
30
US
[
-
5.12,5.12
]
0
if |xi|<12,yi=xi;else yi=round(2xi)2
f
9
=
-
20
e
x
p
-
0.2
∗
∑
i
=
1
n
x
i
2
n
30
MN
[
-
32,32
]
0
-exp∑i=1ncos2πxin+20+e
f
10
=
1
4000
∑
i
=
1
n
x
i
2
-
∏
i
=
1
n
cos
⁡
x
i
i
+
1
30
MS
[
-
600,600
]
0
f
11
=
∑
i
=
1
n
-
x
i
∗
sin
⁡
x
30
MS
[
-
500,500
]
418.98288
∗
n
f
12
=
∑
i
=
1
n
x
i
2
30
US
[
-
10,190
]
0
C: characteristic, U: unimodal, M: multimodal, N: nonseparable, and S: separable.In order to make a fair comparison, the maximum number of function evaluations (maxFEs) is set to 2e5 for all algorithms; the population size is 20. The other parameters for NPSO are set as in Experiments 1. The comparison results are presented in Table 4. For the sake of convenience and reliability, except for the NPSO algorithm, the rest of results reported here are taken directly from the literature [17].Table 4
The mean and standard deviation of the best solutions of six PSO variants on 12 test problems in 200,000 function evaluations.
f
1
f
2
f
3
CPSO
5.146
e
-
013
(
7.7588
e
-
025
)
1.2534
e
-
007
(
1.1791
e
-
014
)
1.8889
e
+
003
(
9.9106
e
+
006
)
CLPSO
4.894
e
-
039
(
6.7814
e
-
078
)
8.8677
e
-
024
(
7.9008
e
-
049
)
1.9217
e
+
002
(
3.8433
e
+
003
)
FIPS
4.588
e
-
027
(
1.9577
e
-
053
)
2.3239
e
-
016
(
1.1406
e
-
032
)
9.4634
e
+
000
(
2.5976
e
+
001
)
Frankenstein
2.409
e
-
016
(
2.0047
e
-
031
)
1.5804
e
-
011
(
1.0301
e
-
022
)
1.7315
e
+
002
(
9.1577
e
+
003
)
AIWPSO
3.370
e
-
134
(
5.1722
e
-
267
)
1.6534
e
-
062
(
7.7348
e
-
123
)
1.9570
e
-
010
(
1.2012
e
-
019
)
NPSO
6.597
e
-
217
(
1.632
e
-
235
)
2.5016
e
-
109
(
4.3331
e
-
109
)
5.4552
e
-
193
(
9.2401
e
-
198
)
f
4
f
5
f
6
CPSO
1.0764
e
-
002
(
2.7698
e
-
005
)
8.2648
e
-
001
(
2.3449
e
+
00
)
0.0
(
0.0
)
CLPSO
4.0642
e
-
003
(
9.6184
e
-
007
)
1.3217
e
+
001
(
2.1480
e
+
002
)
0.0
(
0.0
)
FIPS
3.3047
e
-
003
(
8.6680
e
-
007
)
2.6714
e
+
001
(
2.0025
e
+
002
)
0.0
(
0.0
)
Frankenstein
4.1690
e
-
003
(
2.4012
e
-
006
)
2.8156
e
+
001
(
2.3132
e
+
002
)
0.0
(
0.0
)
AIWPSO
5.5241
e
-
003
(
1.5358
e
-
005
)
2.5003
e
+
000
(
1.5978
e
+
001
)
0.0
(
0.0
)
NPSO
8.4591
e
-
006
(
8.4932
e
-
006
)
3.0621
e
-
006
(
4.0283
e
-
006
)
0.0
(
0.0
)
f
7
f
8
f
9
CPSO
3.6007
e
-
013
(
1.5035
e
-
024
)
5.3717
e
-
013
(
5.9437
e
-
024
)
1.6091
e
-
007
(
7.8608
e
-
014
)
CLPSO
0.0
(
0.0
)
1.3333
e
-
001
(
1.1954
e
-
001
)
9.2371
e
-
015
(
6.6156
e
-
030
)
FIPS
5.8502
e
+
001
(
1.9185
e
+
002
)
6.1883
e
+
001
(
1.4013
e
+
002
)
1.3856
e
-
014
(
2.3227
e
-
029
)
Frankenstein
7.3836
e
+
001
(
3.7055
e
+
002
)
7.0347
e
+
001
(
2.9600
e
+
002
)
2.1792
e
-
009
(
1.7187
e
-
018
)
AIWPSO
1.6583
e
-
001
(
2.1051
e
-
001
)
1.1842
e
-
016
(
4.2073
e
-
031
)
6.9870
e
-
015
(
4.2073
e
-
031
)
NPSO
0.0
(
0.0
)
4.0407
e
-
215
(
1.5575
e
-
220
)
-
8.8817
e
-
016
(
0.0
)
f
10
f
11
f
12
CPSO
2.1245
e
-
002
(
6.3144
e
-
004
)
-
1.2127
e
+
004
(
3.3795
e
+
004
)
5.4282
e
-
014
(
8.2868
e
-
027
)
CLPSO
0.0
(
0.0
)
-
1.2546
e
+
004
(
4.2567
e
+
003
)
9.9748
e
-
039
(
3.7661
e
-
084
)
FIPS
2.4776
e
-
004
(
1.8266
e
-
006
)
-
1.1052
e
+
004
(
9.4421
e
+
005
)
2.6033
e
+
002
(
2.1785
e
+
004
)
Frankenstein
1.4736
e
-
003
(
1.2846
e
-
005
)
-
1.1221
e
+
004
(
2.7708
e
+
005
)
5.1953
e
+
004
(
1.1136
e
+
009
)
AIWPSO
2.8524
e
-
002
(
7.6640
e
-
004
)
-
1.2569
e
+
004
(
1.1409
e
-
025
)
1.8317
e
-
137
(
3.4534
e
-
273
)
NPSO
0.0
(
0.0
)
-
1.2569
e
+
004
(
2.5299
e
-
007
)
2.2740
e
-
198
(
2.6952
e
-
186
)From Table4, it can be seen that NPSO is significantly better than the other five algorithms on almost all the test functions, except for the function f11.


## 5. Conclusion

In this paper, by utilizing the information of the best neighbor of each particle and the best solution in the current iteration, we presented a new move equation. After that, based on the other two improvement strategies, a novel Particle Swarm Optimization algorithm NPSO was proposed. The performance of NPSO was compared with the standard PSO and other five variants of PSO. The results showed that NPSO presents promising results for considered problems.In the future, the adaption of the parameters in NPSO can be studied to improve its performance.



---

*Source: 9482073-2016-01-21.xml*