Research Article

An Improved Particle Swarm Optimization Algorithm Based on Centroid and Exponential Inertia Weight

Algorithm 1

The execution process of IPSO algorithm.
Algorithm. IPSO ()
Input:     
Output:   ,
Begin
   (1) Initialize the parameters including population size , the dimension size ,
      the maximum iteration number , and the current iterative count
   (2) Generate the initial population and initial velocity. The initial population and initial velocity for each
      particle are randomly generated as follows:
      Population =
      Velocity =
     where and are the position and velocity at the th iteration for the th particle,
     respectively. is the dimension of each particle. , are the minimum and maximum value of
     each point belonging to the th dimension, respectively. , are the minimum and maximum
     value of each point belonging to the th dimension, respectively.
   (3) Calculate the fitness value of each particle and record it as: , record the th particle's
      best fitness and its corresponding position as: , , St. ,
   (4) Calculate the population’s best fitness and its corresponding position , St.
   (5) Compute population centroid by (9) with the weighted coefficient computed by (15),
      compute best individual centroid by (6).
   (6) For   to do
       (6.1) Compute by (10), and generate a random number ;
       (6.2) If  
          (6.2.1) Update by (19)
          (6.2.2) For   to do
               Update and by (12) and (3) respectively, compute
               If   then , , ,
               End If
               End
          Else
          (6.2.3) Update by (19)
          (6.2.4) For   to do
               Update and by (7) and (3) respectively, compute
               If   then , , ,
               End If
               End
          End If
       (6.3) Compute and set , where
       (6.4) Compute population centroid by (9) with the weighted coefficient computed by (15),
           compute best individual centroid by (6).
       (6.5) let
    End
   (7) output ,
End