
16.1 Basic Particle Swarm Optimization 297
Usually, the positions of particles are initialized to uniformly cover the search space. It
is important to note that the efficiency of the PSO is influenced by the initial diversity
of the swarm, i.e. how much of the search space is covered, and how well particles are
distributed over the search space. If regions of the search space are not covered by the
initial swarm, the PSO will have difficulty in finding the optimum if it is located within
an uncovered region. The PSO will discover such an optimum only if the momentum
of a particle carries the particle into the uncovered area, provided that the particle
ends up on either a new personal best for itself, or a position that becomes the new
global best.
Assume that an optimum needs to be located within the domain defined by the two
vectors, x
min
and x
max
, which respectively represents the minimum and maximum
ranges in each dimension. Then, an efficient initialization method for the particle
positions is:
x(0) = x
min,j
+ r
j
(x
max,j
− x
min,j
), ∀j =1,...,n
x
, ∀i =1,...,n
s
(16.9)
where r
j
∼ U(0, 1).
The initial velocities can be initialized to zero, i.e.
v
i
(0) = 0 (16.10)
While it is possible to also initialize the velocities to random values, it is not necessary,
and it must be done with care. In fact, considering physical objects in their initial
positions, their velocities are zero – they are stationary. If particles are initialized with
nonzero velocities, this physical analogy is violated. Random initialization of position
vectors already ensures random positions and moving directions. If, however, velocities
are also randomly initialized, such velocities should not be too large. Large initial
velocities will have large initial momentum, and consequently large initial position
updates. Such large initial position updates may cause particles to leave the boundaries
of the search space, and may cause the swarm to take more iterations before particles
settle on a single solution.
The personal best position for each particle is initialized to the particle’s position at
time step t = 0, i.e.
y
i
(0) = x
i
(0) (16.11)
Different initialization schemes have been used by researchers to initialize the particle
positions to ensure that the search space is uniformly covered: Sobol sequences [661],
Faure sequences [88, 89, 90], and nonlinear simplex method [662].
While it is important for application of the PSO to solve real-world problems, in that
particles are uniformly distributed over the entire search space, uniformly distributed
particles are not necessarily good for empirical studies of different algorithms. This
typical initialization method can give false impressions of the relative performance of
algorithms as shown in [312]. For many of the benchmark functions used to evaluate
the performance of optimization algorithms (refer, for example, to Section A.5.3),
uniform initialization will result in particles being symmetrically distributed around
the optimum of the function to be optimized. In most cases it is then trivial for an