Content deleted Content added
removed redirect to start a more specific article. started outline (needs cleaning and fleshing out) |
Horndude77 (talk | contribs) big clean up. Tried to make it clearer. |
||
Line 3:
Particle Swarm Optimization (PSO) is form of [[swarm intelligence]]. Imagine a swarm of insects or a school of fish. If one sees a desireable path to go (ie for food, protection, etc.) the rest of the swarm will be able to follow quickly even if they are on the opposite side of the swarm.
This is modeled by particles in multidimensional space that have a position and a velocity. These particles are flying through hyperspace
* a swarm best that is known to all
* local bests are known in neighborhoods of particles
Updating the position and velocity is done through the following formulas at each iteration:
*
* <math> v = wv + c_1 r_1 (\hat{x}-x) + c_2 r_2 (\hat{x}_g-x) </math>
** <math>c_1</math> and <math>c_2</math> are constants that say how much the particle is directed towards good positions. Good values are usually right around 1.
** <math>r_1</math> and <math>r_2</math> are random values in the range <math>[0, 1]</math>.
** <math>\hat{x}</math> is the best the particle has seen.
** <math>\hat{x}_g</math> is the global best seen by the swarm. This can be replaced by <math>\hat{x}_l</math>, the local best, if neighborhoods are being used.
== Algorithm ==
* Initialize
* Initialize
* Initialize
* Loop while the
*** Update <math>x</math> according to the above equation.
*** Update <math>v</math> according to the above equation.
== See also ==
▲* Loop while the "global best" is below a threshold and the number of iterations is less than a max number of iterations.
* [[RPSO|Repulsive Particle Swarm Optimization]]
▲** for each particle do the following:
* [[swarm intelligence]]
* [[Optimization (mathematics)]]
▲*** Re-calculate fitness for new position.
▲*** if it is better than the "particle best" replace it.
▲*** it it is better than the "global best" replace it.
|