This section describes the PSO algorithm.
The Particle Swarm Optimization (PSO) algorithm, initially used to simulate the social behavior of bird flocks or fish schools, is a stochastic optimization technique based on collective collaboration. It has been widely applied to address various optimization issues, including nanophotonics design [1][2]. The main purpose of the PSO algorithm is to find the optimal solution through collaboration and information sharing among individuals within the swarm.
In the process of seeking the optimal solution based on the PSO algorithm, each particle in the swarm exhibits both individual and collective behavior. They not only learn from the flight experience of their companions but also leverage their own flight experience to contribute to the search for the optimal solution. Each particle learns from two values: individual historical best value and swarm-based global best value . Particles adjust their velocity and position based on these two values, and the quality of each position is determined by the fitness value. The fitness function serves as the objective function for optimization.
In a -dimensional objective search space, there is a particle swarm consisting of particles. Each particle is represented by a -dimensional vector, and its spatial position can be expressed as:
The spatial position of each particle in the swarm provides a solution to the objective optimization problem. By substituting it into the fitness function, the fitness value can be calculated and then used to measure the quality of the particle.
The flight velocity of the th particle is also represented as a -dimensional vector, which is expressed as:
The average values of the positions and velocities of the particles are randomly generated within a specified range.
The position associated with the best fitness value experienced by the ith particle is referred to as its individual historical optimal position, which is expressed as:
The position associated with the best fitness value experienced by the entire particle swarm is referred to as the global optimal position, which is expressed as:
For a particle swarm, the position update operation can be expressed by the velocity update formula and the position update formula.
The velocity update formula is:
The position update formula is:
Wherein, the subscript represents the -th dimension of a particle; the subscript represents the th particle; represents the current iteration count; and represent the acceleration constants, typically taken within the range of ; and represent independent random numbers, typically taken within the range of . As shown in the above formulas, the constants and indicate that particles, through the combination of learning from individuals and the swarm, can leverage both individual and collective search experiences for their benefit.
The PSO algorithm is executed in the following steps:
Robinson J , Rahmat-Samii Y .Particle Swarm Optimization in Electromagnetics. IEEE Trans. on Antennas and Propagation 52(2), 397-407[J].IEEE Transactions on Antennas and Propagation, 2004, 52(2):397-407. ↩︎
Parsopoulos K E , Vrahatis M N .Particle Swarm Optimization and Intelligence (Advances and Applications) || Applications in Bioinformatics and Medical Informatics[J]. 2010, 10.4018/978-1-61520-666-7(chapter 9):204-221. ↩︎