In the global version of the standard particle swarm algorithm, the speed of each particle is updated according to two factors, the two factors are:1. Particle's own historical optimal value Pi . 2. Global optimal value of the particle population pg. If you change the particle speed update formula, let the speed of each particle update according to the following two factors,A. Particle's own historical optimal value Pi . B. optimal values of particles in the neighborhood of particles Pnk . The rest remains the same as the global version of the standard particle swarm algorithm, the algorithm becomes the local version of the particle swarm algorithm.
generally a particle I 's neighborhood increases gradually as the number of iterations increases, starting with the first iteration, its neighborhood is 0 , as the number of iterations is linearly larger and the last neighborhood expands to the entire particle swarm, it becomes the global version of the particle swarm algorithm. It is proved by practice that the global version of PSO algorithm converges fast, but it is easy to get into local optimal. The local version of the PSO algorithm converges slowly, but it is difficult to get into the local optimal. Most of the particle swarm optimization algorithms are focused on the convergence speed and the partial optimization. In fact, these two aspects are contradictory. See how a better compromise.
The local version of particle swarm algorithm has many different implementations according to the method of taking neighborhood.
The first method: according to the number of particles to the neighborhood of the particle, there are four kinds of methods:1, annular method 2, the random ring method 3, the wheel shape method 4 , the random wheel-shape extraction.
1 Ring 2 random ring
3 wheel Shape 4 random wheel shape
The annular extraction is an example: with particles1as an example, when the neighborhood is0When the neighborhood is it itself, when the neighborhood is1, the adjacent domain is2,8; When the neighborhood is2, the neighborhood is2,3,7,8;......, and so on, until the neighborhood is4, this time, the neighborhood expands to the entire example population. According to the literature (foreign literature), the use of a wheel-shaped topological structure,PSOthe effect is very good.
The second method: take the neighborhood of particles by the Euclidean distance of the particles
in the first method, the particle's neighborhood is obtained by the number of particles, but the particles may not be adjacent to the actual position, soSuganthanbased on the spatial distance, the distance between each particle and the other particles in the group is calculated in the iteration. Record any2The maximum distance between a particle isDM. For each particle, follow|| xa-xb| | /DMcalculates a ratio. Which|| xa-xb| |is the current particleato thebthe distance. and select the threshold valueFracvaries depending on the number of iterations. When another particlebMeet|| xa-xb| | /dm<fracwhen, thinkbbecomes the neighborhood of the current particle.
This method has been tested and achieved good application results, but because of the calculation of the distance between all particles, the computational capacity is large, and requires a lot of storage space, so it is generally not used frequently.
Algorithm (c) particle swarm algorithm for local particles