Make your own free website on

>Introduction >Background and Method >Demo >Application >Comparison with GA >Artificial Intelligence > References



Agents in swarms , generally exhibit motion which depends on two kinds of information in the decision process . One is their own experience : the cd idea about how other agents around them have performed . They must know , what has been the most favourable position , amongst the positions explored by thehoices which they have tried , and the location where they were in a most favourable state themselves . The second is the experience of other people : they hae an other agents around it . The idea of swarm behaviour is of interest , both in the fields of Artificial Intelligence , as well as Optimization .


General Method for Particle Swarm Optimization ( PSO )

Kennedy and Eberhart developed a PSO concept , imitating the bird flocking technique in two dimentional space . The idea can also be extended to an n - dimensional space . The position of each agent is given by his X , Y coordinates . His velocity is expressed in tems of vX ( velocity in X direction ) and vY ( velocity in Y direction ) . The method is aimed at optimizing a certain function . Each agent knows the best value it has personally attained so far ( pbest ) , as well as the globally best value , attained amongst the other agents ( gbest ) . Besides , it also knows the coordingates associated with these two points .

In each itereation , each agent tries to modify itself using the following information :its current positions ( x , y ) , its current velocity (vx,vy) , the distance betweer pbest and its current position ,the distance between gbest and its current position .

And its velocity is modified by the following equation : v(k+1) = w*v(k)+c1 * rand1 * ( pbest - s ) + c2 * rand2 * ( gbest - s )

w -- > Weight , c1,c2--> Learning factors , generally taken as 2 , rand1 , rand2 --> Randomly chosen numbers between 0 and 1 , s -- > current position .


Pseudocode / Algorithm :

For each particle

Initialize particle



For each particle Calculate fitness value

If the fitness value is better than the best fitness value (pBest) in history set current value as the new pBest


Choose the particle with the best fitness value of all the particles as the gBest

For each particle

        Calculate particle velocity according equation (a)

        Update particle position according equation (b)


While maximum iterations or minimum error criteria is not attained


>Introduction >Background and Method >Demo >Application >Comparison with GA >Artificial Intelligence > References