InIn the global standard particle swarm algorithm, the speed update of each particle changes according to two factors. The two factors are: 1. The historical optimal pI of the particle. 2. Global Optimal pg for particle populations. If you change the particle velocity update formula, update the velocity of each particle based on the following two factors: a. The particle's own historical optimal pi. B. ParticlesNeighborhoodThe optimal PNK value of the particle. The rest remains the same as the global standard particle swarm algorithm, which is a local version of the particle swarm algorithm.
Generally, a particleIAs the number of iterations increases, the first iteration starts. Its Neighbor value is 0. As the number of iterations grows linearly, the neighborhood is extended to the entire particle swarm, then it becomes a global version of the particle swarm algorithm. Practice has proved that the global version of the particle swarm algorithm has a fast convergence speed, but is prone to local optimization. The partial version of the particle swarm algorithm is slow in convergence, but it is difficult to fall into the local optimum. Most of the current particle swarm algorithms are focusing on convergence speed and local optimization. In fact, these two aspects are contradictory. See how to better compromise.
According to the method of obtaining the neighborhood, the partial version of the particle swarm algorithm has many different implementation methods.
The first method: according to the number of the particle to obtain the particle's neighborhood, there are four methods: 1, ring method 2, random ring method 3, wheel method 4, random round method.
1 ring 2 random Ring
3-wheeled 4-wheeled random
Because there is an algorithm implemented by the ring method, here we will explain a little bit: Taking particle 1 as an example, when the neighbor is 0, the neighbor is itself, when the neighborhood is 1, the neighborhood is. When the neighborhood is 2, the neighborhood is ;......, similarly, until the neighborhood is 4, the neighborhood is extended to the entire group. According to the literature (Foreign Documents), the use of round topology structure, the effect of PSO is very good.
Method 2: Obtain the particle's neighborhood based on the Euclidean distance of the particle
In the first method, the particle's neighbor is obtained according to the particle number, but these particles may not be adjacent in actual locations. Therefore, Suganthan proposed a division scheme based on spatial distance, calculate the distance between each particle and other particles in the group during iteration. Record the maximum distance between any two particles as DM. Calculate a ratio for each particle according to | XA-xB |/DM. | XA-xB | the distance between the current particle A and particle B. The selection threshold frac varies according to the number of iterations. When another particle B meets | XA-xB |/dm <frac, B is considered to be the neighbor of the current particle.
This method has been tested to achieve better application results. However, to calculate the distance between all particles, the calculation is large, and a large storage space is required, this method is generally not frequently used.