Γ X k=1 ∆τijk (2.1) pkij = τ α ij · η β ij P u∈Ωτiuα · η β iu (2.2)
2.4
Particle Swarm Optimization
Particle Swarm Optimization (PSO) [42, 71] is a metaheuristic inspired by swarming theory [93] and social models [102] such as bird flocking and fish schools. Its population is referred to as a swarm, its individuals as particles, and the communication between the particles is established by means of a network topology. Each particle i consists of a position vector
xti at iteration t that encodes a solution to the problem, a velocity vector
vt
i to change xti in order to explore new solutions, and a memory vector
yt
i that stores the (personal) best position found. As such, large values
in the velocity vector will favour the exploration of the solution search space because the changes to the position vector will be greater, whereas small values will favour exploitation by producing smaller changes. Addi- tionally, particle i has access to the personal best positions found by other
particles within its neighborhood Ni, and the neighborhood best position
is selected and referred to as ˆyti. Notice that, since particles only update their personal best positions with better positions, ˆyt
i represents the best
position found by any particle within i’s neighborhood throughout the it- erations. With this information, particles determine their velocities and positions according to Equations (2.3) and (2.4), respectively,
vijt+1 = wvtij + c1rt1j[y t ij − x t ij] + c2r2jt [ˆy t ij − x t ij] (2.3) xt+1ij = xtij + vijt+1 (2.4)
foreachiteration t do
foreachparticle i in swarm S do
if ˜f (xt
i) < ˜f (yt−1i )
then yti ← xti else yti ← yt−1i
foreachparticle i in swarm S do ˆ yt i ← ytω | ω = arg min j∈Ni ˜ f (yt j)
foreachparticle i in swarm S do update vit+1and x
t+1
i using (2.3) and (2.4)
Figure 2.1: Particle Swarm Optimization.
acceleration coefficients that determine the influence of its personal and
neighborhood best positions, rt
1j and rt2j are random values sampled from
a uniform distribution U (0, 1), yt
ij is the value of dimension j of its per-
sonal best position, and ˆyt
ij is the value of dimension j of its neighborhood
best position. These equations are utilized in the PSO algorithm for a mini-
mization problem as shown in Figure 2.1, where ˜f (x)is the objective value
of the solution represented by position x. Hereafter, we refer to the posi- tions of the particles mostly as solutions.
2.4.1
Operation
The operation of PSO is illustrated in Figure 2.2 as follows.
Figure 2.2a shows the objective space of a two-dimensional optimiza- tion problem defined as Fsphere(a, b) = a2 + b2. The objective is to find the
values of a and b such that Fsphere results in its minimum value. The op-
timum values for a and b are located at (0, 0) and are represented by the darkest point in the middle of the figure.
Figure 2.2b shows the initialization of PSO. Each particle encodes in its position a potential solution to the problem as a two-dimensional vec- tor corresponding to the values a and b. The positions of all particles are
2.4. PARTICLE SWARM OPTIMIZATION 25 initialized with random values obtained from a uniform distribution, and their velocities are all initialized to zero [47].
Figures 2.2c to 2.2f simulate the positions of the particles after explor- ing the search space for a number of iterations. At each iteration, every particle evaluates the objective value of its current solution and compares it against the objective value of its personal best solution. If the current solution is better, then the personal best solution is updated with such a solution. Otherwise, the current solution will be discarded at the next it- eration via Equation (2.4). After particles have decided whether to update their personal best solutions, particles select the best solution within their own neighborhoods. Lastly, particles update their velocities and positions according to Equations (2.3) and (2.4) such that they become partially at- tracted towards their personal and neighborhood best solutions. This op- eration is repeated at each iteration until a certain criterion is met.
2.4.2
Network Topology
The network topology of the swarm defines the neighborhoods to which particles belong, thereby establishing links between the particles from which they can select their neighborhood best solutions. The most commonly used topologies are the ring and the star [87], but others have also been proposed in the literature [1, 48, 65, 68, 75, 144].
Ring Topology
The ring topology defines the neighborhood Ni of particle i as the set par-
ticles adjacent to i according to Equation (2.5), where mod refers to the eu- clidean modulo operator, n is the number of neighbors, and S refers to the
set of particles in the swarm. The neighborhood Niincludes particle i and
its n adjacent neighbors by index from the set of particles in the swarm. Hence, adjacent neighborhoods overlap with each other by having parti- cles in common between them. The typical case of the ring topology has
(a) Optimization problem (b) Random initialization (c) t = 5 iterations
(d) t = 10 iterations (e) t = 15 iterations (f) t = 20 iterations
2.4. PARTICLE SWARM OPTIMIZATION 27
0 1
5 2
4 3
(a) Ring topology with n = 2.
0 1
5 2
4 3
(b) Star topology.
Figure 2.3: Ring and star topologies.
n = 2adjacent neighbors and it is shown as a graph in Figure 2.3a, where
particles are represented as nodes according to their index in the swarm.
Ni =
i+m
∪
j=i−mj mod |S|, with m =
jn 2 k
(2.5)
Star Topology
The star topology defines the neighborhood Ni of particle i as the set of
all the particles in the swarm. The star topology is a special case of the ring topology when n = |S|. The star topology is shown as a graph in Figure 2.3b, where particles are represented as nodes according to their index in the swarm.
The Effect of the Network Topology
The network topology defines the neighborhoods from which particles will select the best solutions to be partially attracted to. Hence, the net- work topology will influence the quality of the neighborhood best solu- tions and, ultimately, the diversity of solutions in the swarm. For instance, the network topology will provide different tradeoffs between the explo- ration and exploitation of the search space as the ring topology with n = 2 expands to become the star topology with n = |S|. Specifically, smaller neighborhood sizes will encourage exploration as more particles will be partially attracted towards different neighborhood best solutions, whereas
larger neighborhood sizes will encourage exploitation as more particles will be partially attracted towards the same neighborhood best solutions.
The best tradeoff between exploration and exploitation of the search space will depend on the difficulty of the objective space of the optimiza- tion problem. Smaller neighborhood sizes will make the swarm resilient to stagnation in local minima at the cost of a slow convergence, and hence are preferred for difficult optimization problems. Conversely, larger neighbor- hood sizes will make the swarm converge faster at the cost of vulnerability to stagnation in local minima, and hence are preferred for easier optimiza- tion problems. Other works in the literature have suggested that changing the neighborhood size [1, 68, 95, 137] may potentially improve the quality of the solutions found.