When the evaluation value is better than the current
global best, the coordinates of the referenced particle
are set as the new global best coordinates. In
MOPSO/D, adjustment of parameters is required in
order to influence the solution accuracy and execution
speed of neighboring particles that are referenced
when updating the global best and the number of
partition functions.
4.2.2 Proposed Parallelization of MOPSO/D
using Virtual Global Best
Figure 5 shows an outline of the distributed
MOPSO/D with virtual global best method. In the
proposed method, the particle swarm is partitioned
between each SM as in the virtual global best method.
This makes it possible to perform the calculations to
update coordinates and personal best solutions
without using global memory. Furthermore, the
number of partition functions is assumed to be equal
to the number of particles in an SM, and the
distribution of partition functions is assumed to be the
same for any sub-swarm. Therefore, in SM there is a
one-to-one correspondence between particles and
partition functions, and in the overall particle swarm,
a single partition function is searched by the number
of particles allocated to an SM. By sharing the global
best with particles searching for the same partition
function, it is thought that this will improve the
convergence so that an optimal solution can be found
in fewer generations. Furthermore, by storing each
particle's virtual global best solution in a register, the
frequency of communication with global memory can
be reduced. By delaying the global best update time
for each sub-swarm, we can expect to maintain the
global search performance in each partition function.
Figure 5: Outline of the distributed MOPSO/D with virtual
global best method.
The basic algorithm is the same as in the virtual
global best method, but with two main changes. The
first is that a different method is used to update the
virtual global best. In MOPSO/D, the coordinates of
neighboring particles are required when updating the
global best. Essentially, storing the coordinates in
shared memory allows the operations related to these
particles to be completed inside the SM. However,
due to shared memory capacity limits, it is not
possible to store the coordinates of sub-swarms.
Therefore, in the proposed method, the particle
coordinates are stored in global memory for the
purpose of sharing information, and are retrieved
when updating the virtual global best. In this way,
communication with the global memory takes place
at each generation, which is liable to adversely affect
the execution speed.
The second change is that there is no thread
responsible for updating the global best solution
(thread N+1 in Algorithm 1). In MOPSO/D, the
global best is stored individually by each particle, so
when one thread communicates with global memory,
the amount of communication is large, and the
execution time becomes longer. Therefore, the global
best is updated by the thread that updates each
particle.
5 EVALUATIONS
5.1 Evaluation Method
Table 1 shows the environment used in the
experiment. In this study, we performed three types
of comparative experiments. First, we solved the five
benchmark problems of previous studies shown in the
appendix in the same environment (Zhou, 2009;
Hussain, 2016), and we compared the execution times
and solution accuracy by solving five benchmark
problems with three global best methods. The results
shown here are the average values from 20 runs of
this experiment with 7,936 particles, a 100-
dimensional sphere function, and other functions with
50 dimensions, and 2,000 generations.
Table 1: Experimental environment.
Intel core i7-6700 3.40 GHz
Second, by comparing the execution speeds and
solution distributions of MOPSO/D using a virtual
global best method when implemented on a CPU and
when implemented in parallel on a GPU, we verified
that it maintains the same level of accuracy while
reducing the execution time. The benchmark
problems with two objectives used in this experiment
were ZDT1, ZDT2 and ZDT3 (Zitzler, 2000) shown
below. The experiments related to execution speed
Distributed Multi-objective Particle Swarm Optimization using Time-delayed Virtual Global Best Method
25