
Glowworm Swarm Optimization
Push pull GSO
This section introduces a variant of the GSO algorithm which exhibits improved performance in the presence of obstacle avoidance. Here a glowworm is repelled by a neighbor with a lower luciferin value and is attracted by a neighbor with a higher luciferin value. Each glowworm probabilistically selects, one glowworm from its set of neighbors with a higher luciferin value using (1) and one from its set of neighbors with a lower luciferin value using (2).
(1)
(2)
where, li(t) represents the luciferin level associated with Glowworm i at time t, Ni(t) is the set of glowworms in the neighborhood of Glowworm i at time t with a higher luciferin value, Ni(t) is the set of glowworms in the neighborhood of Glowworm i at time t with a lower luciferin value. Using the probability pj(t) the Glowworm i selects a Glowworm j with a higher luciferin value, and a Glowworm l with lower luciferin value using the probability ql(t). Next, Glowworm i take a step in the direction xi(t) given by
(3)
where, xij(t) is a unit vector directed along the line joining Glowworm i and Glowworm j.
The idea can be explained using Figure 1. The glowworms are numbered according to their luciferin level, with Glowworm 1 having the highest luciferin value. Consider, the neighbor selection mechanism for Glowworm 4. Let us assume that the Glowworm 4 probabilistically selects Glowworm 1 from the set of glowworms with a higher luciferin value and also that it selects Glowworm 7 from the set of glowworms with a lower luciferin value. As the Glowworm 4 is attracted by Glowworm 1 and repelled by Glowworm 7 it takes a step in the direction given by (3). This direction is represented in Figure 1 by the line 4-4'.
Figure 1: Push-Pull GSO Algorithm
The basic GSO algorithm instructs the glowworms to move toward its neighbor directly. This results in a bunching up of glowworms. In the presence of obstacle avoidance, this behavior is seen to lower the algorithm performance. The push pull GSO algorithm avoids such a bunching up by making the glowworms move in a direction which is not directly toward its neighbor. The improvement in performance introduced by push pull GSO algorithm in the presence of obstacle avoidance can be clearly seen in Figure 2. Here, the performance of the push pull GSO algorithm is compared with that of the modified GSO algorithm. A significant improvement in performance is observed for lower Nl values. Doing obstacle avoidance at larger distances requires more expensive hardware. This extra cost can be avoided without loss in performance by using the push pull GSO algorithm.
Figure 2: Comparative study between push pull GSO and modified GSO algorithm