• No results found

Γ 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.