Particle S warm Simulation 149
6.4.1 PSO algorithm
The classic PSO was intended to be applied to optimization problems. It
simulates the motion of a la rge number of individuals (or “particles”) moving in
a multi-dimensional space [71]. Each individual stores its own location vector
(~x
i
), veloc ity vector (~v
i
), and the position at which the individual obta ined
the highest fitness value (~p
i
). All individuals also share information regarding
the position with the highest fitness value for the group ( ~p
g
).
As generations progress, the velocity of each individual is updated using
the best overall location obtained up to the curre nt time for the entire group
and the best loc ations obtained up to the current time for that individual.
This update is performed using the following formula:
~v
i
= χ(ω ~v
i
+ φ
1
· (~p
i
− ~x
i
) + φ
2
· ( ~p
g
− ~x
i
)) (6.5)
The coefficients employed here are the convergence coefficient χ (a random
value between 0.9 and 1.0) and the attenuation coefficient ω, while φ
1
and
φ
2
are random values unique to each individual and the dimensio n, with a
maximum value of 2. When the calculated velo c ity exceeds some limit, it is
replaced by a maximum velocity V
max
. This procedure allows us to hold the
individuals within the search region dur ing the search.
The locations of each of the individuals are updated at each generation by
the following formula:
~x
i
= ~x
i
+ ~v
i
(6.6)
The overall flow of the PSO is as shown in Fig. 6.12. Let us now consider
the specific movements of each individual (see Fig. 6.13). A flock consisting of
a number o f birds is assumed to be in flight. We focus on one of the individuals
(Step 1). In the figure, the symbols and linking line segments indicate the
positions and paths of the bird. The nearby
◦
symbol (on its path) indicates
the pos itio n with the highest fitness value on the individual’s path (Step 2).
The distant
◦
symbol (on the other bird’s path) marks the position with the
highest fitness value for the flock (Step 2). One would expe c t that the next
state will be reached in the direction shown by the arrows in Step 3. Vector
1
shows the direction followed in the previous steps; vector
2
is directed
toward the position with the highest fitness for the flock; and vector
3
points
to the location w here the individual obtained its highest fitness value so far.
Thus, all these vectors,
1
,
2
, and
3
, in Step 3 are summed to obtain the
actual direction of movement in the subs e quent step (see Step 4).
A simulator is available for investigating the PSO sea rch process. Fig-
ure 6.14 is a screenshot of the simulator. Interested readers are referred to
Appendix A.2 for a detailed description of how the simulator is operated.
The efficiency of this type of PSO search is certainly high because focused
searching is available near optimal solutions in a relatively simple search space.
However, the canonical PSO algorithm often gets trapped in a local optimum
in multimodal problems. Be c ause of that, s ome sort o f a daptation is necessary
in order to apply PSO to problems with multiple sharp peaks.