• No results found

Iterate until optimal solution or solution of desired quality is not found.

end procedure

Figure 3.4: Pseudo Code for Particle Swarm Optimization.

In PSO, each particle keeps a record of the best position it has traversed over the problem space, so far. This position is called the ‗personal-best‘ position of the particle. This way, the particle not only does its own search, it also learns from the search done by the particle having the best fitness value in the swarm (or sub-swarm). The ―classical‖ PSO equations, where the position and velocity represents physical attributes of the particles, are represented by Equation 3.1 and 3.2.

48 Velocity for a single particle in the swarm is computed as:

D

d

N

i

where

X

P

r

X

P

r

V

V

id id id id idn id

,...

2

,

1

.

,...

2

,

1

)

(

)

(

2 2 1 1

Equation (3.1) "Moving" a Single Particle in a Swarm

id id

id

X

V

X

Equation (3.2)

Pid is the personal-best position, a particle has reached so far.

Pidn is the global-best position of all the particles.

η1 (the self-confidence factor) and η2 (the swarm-confidence factor) are positive constants called ‗acceleration constants‟ to determine the influence of Pid and Pidn;

r1 and r2 are independent random numbers in the range [0, 1].

N is the total number of particles in the swarm D is the dimension of the problem search space

Equation 3.1 shows that, the value of new velocity of the particle is determined by three main factors, which are:

(1) Momentum

(2) Cognitive learning (3) Social learning

Momentum is used to move the particle in the direction it has already been travelling [46]. ‗η1‘ (self-confidence factor or cognitive-learning factor) determines the influence of

exploration i.e. the search done by the particle itself over the problem search space. This

factor incorporates the movement of the particle towards the best position it has searched so far. ‗η2‘ (swarm-confidence factor or social-learning factor) determines the influence of

exploitation i.e. the search done by the other members of the swarm. This factor incorporates

the movement of the particle towards the best position of the global-best (or local-best) particle in the swarm.

Earlier analytical studies on PSO have shown that using the general PSO equation for velocity computation can result in escalating velocity values, especially when the current particle is far from the global-best or local-best particle in the swarm. These large velocity

49 values can lead to premature convergence of the swarm or can accelerate particles beyond the problem search space. To avoid this, different schemes have been proposed in the literature. The simplest of this is a scheme called „velocity clamping‟ which limits the maximum value of the particle‘s new velocity during velocity computation [62]. For example: Clerc [63] proposed the use of „constriction factor‟ to effectively avoid large values of velocity. Analytical studies of different schemes to restrict the particles stepping out of the problem search space can be found in [62, 64, 65, 66 and 67].

PSO algorithm explores the problem space by adjusting the ‗trajectories‘ of individual particles in the swarm as they are conceptualized as moving points in multi-dimensional space [68]. The magnitude of the trajectory adjustment depends on the tendency of a particle to be attracted towards its personal-best position or the position of the best particle in the neighbourhood [69]. Ozcan and Mohan [70, 71] analyze the trajectory of particles in a simple PSO system and observe that in traditional PSO, particles ‗surf‘ the search space on sine waves. Some empirical studies have indicated that the traditional PSO algorithm converges significantly faster without effectively exploring the problem search space and suffer from problems like premature convergence towards a local optimal solution [72, 73]. Theoretical analysis and studies on the working of PSO systems and the impact of different algorithmic parameters on swarm convergence can be found in [74, 75 and 76].

3.2. Comparison between different Swarm Intelligence Algorithms

(PSO vs GA vs ACO)

PSO has successfully been used to solve many industrial and engineering optimization problems in the diverse areas including biomedical, communication networks, prediction, neural network, graphics and visualization, signal processing, electronics, antenna design, modelling, fuzzy and neuro-fuzzy logic, prediction and forecasting, scheduling, robotics etc. [77] provides a detailed analysis of publications on the application of PSO in different fields of engineering and technology. Some of the advantages of using PSO algorithm are that it:

50

 Is a Simple concept

 Is an easy implementation of a problem search algorithm

 Possesses fewer algorithmic parameters to adjust than other evolutionary algorithms like genetic algorithms.

 Is robust in terms of controlling parameters

 Is computationally efficient

Different comparative studies have been carried out to analyze the effectiveness of using PSO compared to other evolutionary algorithms. GA and PSO are similar in the way that both techniques are population-based search schemes that mimic the natural biological evolution and/or the social behaviour of species [45, 78]. Each member of the population represents a candidate solution to the problem addressed, and over time they evolve to represent some other candidate solution.

One advantage of PSO over GA is that PSO is more computationally efficient [78, 79]. Mouser and Dunn [80] conclude that PSO not only performs better in terms of solution quality compared with GA, it is also much easier to configure. The main reason for this is that fewer algorithmic parameters are involved in PSO relative to other swarm intelligence based algorithms. In GA, the fitness function is used to determine which member of the population will stay in the next generation and which will be excluded. This requires the need for careful design of the fitness function. In PSO, there is no selection operation based on the fitness function. Rather each member of the population evolves towards a better solution through an iterative process. So there is always a chance that a member of the population having a poor initial fitness value, will evolve over time to become the best member in the entire population.

In [45] a performance comparison is performed between different swarm intelligence algorithms for two benchmark continuous optimization test problems and concludes that the PSO method was generally found to perform better than other algorithms in terms of solution quality and success rates. PSO also performs better when compared to GA and ACO in terms of computation time. One disadvantage of ACO compared to PSO is its slow convergence towards optimal/near-optimal solution [69]. Unlike ACO, in PSO no pheromone table needs to be maintained to make a decision about the next move. In [82] and [83], evolutionary

51 algorithms are used for feature extraction and classification respectively and conclude that PSO performs relatively better compared to ACO algorithms. Performance comparison studies between PSO and other evolutionary schemes also have been reported in [78, 79, 80, and 81].

52

CHAPTER 4

ROUTING AND WAVELENGTH

Related documents