Page 146 - Data Science Algorithms in a Week
P. 146

130                 Alfonso T. Sarmiento and Edgar Gutierrez





















                       Figure 1. Optimization algorithm.

                       Global Search: PSO Algorithm

                          The algorithm used is called “local best PSO” (Engelbrecht, 2005) and is based on a
                       social  network  composed  of  neighborhoods  related  to  each  particle.  The  algorithm
                       maintains a swarm of particles, where each particle represents a candidate solution to the
                       optimization problem. These particles move across the search space communicating good
                       positions  to  each  other  within  the  neighborhood  and  adjusting  their  own  position  and
                       velocity based on these good positions. For this purpose, each particle keeps a memory of
                       its  own  best  position  found  so  far  and  the  neighborhood  best  position  among  all  the
                       neighbor particles. The goodness of a position is determined by using a fitness function.
                       The stopping condition of the algorithm is when the maximum number of iterations has
                       been exceeded.
                          The following empirical rules are recommended to guide the choice of selecting the
                       initial values for the parameters of the PSO algorithm.

                                       Empirical rules for selecting the PSO parameters

                        Parameter                        Empirical rule of choice
                        Swarm size                       From 20 to 40 (Clerc, 2006)
                        Inertia weight                   In ]0,1[ (Shi and Eberhart, 1998)
                        Cognitive coefficient            Suggestion 1.43 (Clerc, 2006)
                        Social coefficient               Suggestion 1.43 (Clerc, 2006)
                          The steps of the algorithm are described in the following lines.

                       Step 1) Initialization:
                                Set iteration k=0
   141   142   143   144   145   146   147   148   149   150   151