40 Yong WANG, et al. A hybrid multi-swarm particle swarm optimization to solve constrained optimization problems
fect of the parameter setting. Moreover, the performance of
HMPSO is also validated on 24 benchmark test functions in
CEC2006. Finally, Section 6 concludes this paper.
2.1 The basic idea of PSO
As a stochastic global optimization method, PSO takes in-
spiration of the motion of a flock of birds. In PSO, each po-
tential solution is regarded as a particle. A set which is com-
posed of particles is called a swarm. The movement of par-
ticles in the search space is dynamically influenced by their
personal past experience and successful experience attained
by their neighbors or the whole swarm. At the tth generation,
the position vector and the velocity vector of the ith parti-
cle in the n-dimensional search space can be represented as
x
t
i
=(x
t
i,1
,...,x
t
i,n
) and v
t
i
=(v
t
i,1
,...,v
t
i,n
). In addi-
tion, at the tth generation pbest
t
i
=(pbest
t
i,1
,...,pbest
t
i,n
)
is denoted as the best previous position of the ith particle,
and gbest
t
=(gbest
t
1
,...,gbest
t
n
) is denoted as the best
position of the whole swarm. During the evolution, Eq. (2)
updates each dimension of the velocity for the ith particle
for the next generation, whereas Eq. (3) updates the ith par-
ticle’s position in the search space:
v
t+1
i,j
= v
t
i,j
+ cr
1
(pbest
t
i,j
− x
t
i,j
)
+ cr
2
(gbest
t
j
− x
t
i,j
), (2)
x
t+1
i,j
= x
t
i,j
+ v
t+1
i,j
, (3)
where j ∈{1, 2,...,n},c is a constant known as accelera-
tion coefficient, r
1
and r
2
are two separately generated uni-
formly distributed random numbers in the range [0,1].
It is necessary to note that in terms of the above version
of PSO, since it lacks the mechanism to control the magni-
tude of the velocities, the velocities and position of the par-
ticles might careen toward infinity, which results in a kind
of explosion and divergence [17]. To overcome this de-
fect, the velocities are usually confined within the range of
[−
V
max
,
V
max
].
Shi and Eberhart [18] addressed the aforementioned ex-
plosion problem by further incorporating a weight parame-
ter into the previous velocity of the particle. As a result, the
velocity and position updates are:
v
t+1
i,j
= wv
t
i,j
+ c
1
r
1
(pbest
t
i,j
− x
t
i,j
)
+ c
2
r
2
(gbest
t
j
− x
t
i,j
), (4)
x
t+1
i,j
= x
t
i,j
+ v
t+1
i,j
, (5)
where w denotes the inertia weight, c
1
and c
2
are the ac-
celeration constants, r
1
and r
2
are two separately generated
uniformly distributed random numbers in the range [0,1].
Clerc and Kennedy [19] proposed an alternative version
of PSO in which the velocity adjustment is given as follows:
v
t+1
i,j
= χ(v
t
i,j
+ c
1
r
1
(pbest
t
i,j
− x
t
i,j
)
+ c
2
r
2
(gbest
t
j
− x
t
i,j
)), (6)
where
χ =
2
|2 − φ −
φ
2
− 4φ|
, (7)
and φ = c
1
+ c
2
, φ>4. By making use of the constric-
tion coefficient χ, the above version of PSO eliminates the
parameter
V
max
.
By analyzing Eq. (6), Krohling and Coelho [10] con-
cluded that the mean values of the two stochastic coeffi-
cients for the local term (pbest
t
i,j
− x
t
i,j
) and the global term
(gbest
t
j
−x
t
i,j
) lies in the interval [0.72, 0.86]. Consequently,
a proper choice for the probability distribution that generates
stochastic coefficients is the absolute value of the Gaussian
probability distribution with zero mean and unit variance,
i.e., abs(N(0, 1)) and, as a result, the velocity equation is
updated according to:
v
t+1
i,j
= |randn|(pbest
t
i,j
− x
t
i,j
)
+ |Randn|(gbest
t
j
− x
t
i,j
), (8)
where |randn| and |Randn| are positive random numbers
generated using abs(N(0, 1)).
2.2 The basic idea of DE
Differential evolution (DE) was proposed by Storn and Price
[20] in 1995 which is a stochastic and population-based op-
timization algorithm, and uses vector differences to perturb
the vector population.
Initially, DE starts with a population consisting of Nn-
dimensional vectors which have the form:
x
t
i
= {x
t
i,1
,x
t
i,2
,...,x
t
i,n
},i=1, 2,...,N, (9)
where t denotes the generation number. These vectors are
randomly selected on the intervals: [L
i
,U
i
], i =1, 2,...,n.
During the evolution, each of the N vectors undergoes mu-
tation, crossover and selection operations.
There are several versions for DE. Next, the most popular
version of DE called “DE/rand/1/bin” will be introduced.
Mutation operation: For each given vector x
t
i
at genera-
tion t, three vectors x
t
r1
, x
t
r2
,andx
t
r3
are randomly selected
such that the indices i, r
1
, r
2
and r
3
are distinct. x
t
i
is called
the target vector. Afterward, the weighted difference of two
of the vectors is added to the third to form a mutant vector
v
t
i
= {v
t
i,1
,v
t
i,2
,...,v
t
i,n
}:
v
t
i
= x
t
r1
+ F (x
t
r2
− x
t
r3
). (10)