Introduction to particle swarm algorithms
I. History of particle swarm algorithms
Particle swarm algorithms are derived from complex adaptive systems (CAS ). CAS theory was formally proposed in 1994. Members in CAs are called subjects. For example, to study a bird group system, every bird is called a subject in this system. The subject is adaptive. It can communicate with the environment and other subjects, and change its structure and behavior according to the communication process "Learning" or "accumulating experience. The evolution or evolution of the entire system includes the generation of new layers (the birth of birds), the emergence of differentiation and diversity (the birds in the bird group are divided into many small groups ); the emergence of new theme (birds constantly discover new foods while searching for food ).
Therefore, the subjects in the CAS system have four basic features (these features are the basis for the development and changes of the Particle Swarm Algorithm ):
- First, the subject is active and active.
- The subject and the environment and other subjects interact and interact with each other. Such influences are the main driving force of system development and changes.
- The environmental impact is macro, the impact between subjects is micro, and the macro and micro should be organically combined.
- Finally, the entire system may be affected by some random factors.
The particle swarm algorithm is derived from the study of a CAS system-the social system of birds.
Particle Swarm Optimization (PSO) was first proposed by Eberhart and Kennedy in 1995. The basic concept of particle swarm optimization (PSO) originated from the study of bird group feeding behavior. Imagine a scene where a group of birds are searching for food at random. There is only one piece of food in this area, and all birds do not know where the food is, but they know how far the current location is from the food. So what is the optimal strategy for finding food? The simplest and most effective method is to search for the surrounding area of the bird closest to the current food.
The PSO algorithm is inspired by this biological population behavior and used to solve optimization problems. In the PSO, the potential solution to each optimization problem can be imagined as a point in the D-dimension search space, which is called a particle ), all particles have a fitness value determined by the target function. Each particle has a velocity that determines their flight direction and distance, then the particles follow the current optimal particle to search in the solution space. The Research on bird group flight discovered by Renault. The bird only traces its finite number of neighbors, but the final result is that the whole bird group seems to be under central control, that is, complex global behavior is caused by the interaction of simple rules.
Ii. Particle Swarm Algorithm
For a long time, researchers wrote papers. However, the history of PSO is as mentioned above. The following is a popular explanation of the PSO algorithm.
The PSO algorithm is used to simulate a group of birds looking for food. Each bird is the particle in the PSO, which is the possible solution to the problem. These birds are searching for food, constantly changing the position and speed of your flight in the air. You can also observe that when looking for food, the birds are scattered, and these birds gradually converge into a group, which is either high or low, or left or right, until the food is found. This process is transformed into a mathematical problem. Search for FunctionsY = 1-cos (3 * X) * exp (-x)The value is at the maximum of [0, 4. The graph of this function is as follows:
When x = 0.9350-0.9450, the maximum value is y = 1.3706. To obtain the maximum value of the function, we randomly scatter some points between []. For demonstration, we place two points and calculate the function values of these two points, at the same time, set a speed between the two points in [0, 4. The following points will change their positions according to a certain formula. After arriving at a new position, the values of these two points will be calculated, and then their positions will be updated according to a certain formula. Until the last update is stopped at the point of Y = 1.3706. This process is compared with the particle swarm algorithm as follows:
- These two points are particles in the particle swarm algorithm.
- The maximum value of this function is the food in the birds.
- The Calculation of Two point function values is the adaptive value in the particle swarm algorithm, and the calculation function is the fitness function in the particle swarm algorithm.
- The formula used to update the position is the location speed update formula in the particle swarm algorithm.
The following shows the general process of running this algorithm once:
First Initialization
Location updated for the first time
Location of the second update
21st updates
Final result (30 iterations)
All vertices are concentrated at the maximum value.
Now, let's talk about the general idea of the particle swarm algorithm. Next we will introduce the standard particle swarm algorithm.