Particle Swarm Optimization algorithm (C++ version vs2013) Particle Swarm Optimization
family:Arial;font-size:14px;background-color:#FFFFFF;"> In PSO, the potential solutions, called particles, are initialized at random positions, and then move within the parameter search space. The particles are subject to three forces as they move:
1.Spring force towards the personal best position, p, ever achieved by that individual particle
2.Spring force towards the global best position, g, ever achieved by any particle.
3.A frictional force, proportional to the velocity.
The algorithm then follows these steps
1.Set the number of particles N and initialize the positions x
2.Evaluate figures of merit (FOM) and find p and g
3.Calculate the new velocities v for each particle based on the forces applied to the particle
4.Update the positions x of each particle based on the velocity
5.Repeat from step 2 until convergence is achieved
In Eq. (1), t is the iteration counter; c1 and c2 are the cognitive and social factors, respectively; ω is called the inertial weight; and η1 and η2 are random number between 0 and 1. Lumerical's PSO implementation uses default values of c1, c2 and ω that have shown to converge well in many test optimization problems for photonic design problems. A detailed description of the algorithm and the difference coefficients can be found in Refs.  or .
File listTips: You can preview the content of files by clicking file names^_^
- Page 1
- Total 1