Particle swarm optimization: Difference between revisions

Content deleted Content added
OAbot (talk | contribs)
m Open access bot: doi updated in citation with #oabot.
Ladypine (talk | contribs)
2017 is not recent in CS
Line 5:
In [[computational science]], '''particle swarm optimization''' ('''PSO''')<ref name=bonyadi16survey/> is a computational method that [[Mathematical optimization|optimizes]] a problem by [[iterative method|iteratively]] trying to improve a [[candidate solution]] with regard to a given measure of quality. It solves a problem by having a population of candidate solutions, here dubbed [[Point particle|particle]]s, and moving these particles around in the [[Optimization (mathematics)#Concepts and notation|search-space]] according to simple [[formula|mathematical formula]] over the particle's [[Position (vector)|position]] and [[velocity]]. Each particle's movement is influenced by its local best known position, but is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This is expected to move the swarm toward the best solutions.
 
PSO is originally attributed to [[James Kennedy (social psychologist)|Kennedy]], [[Russell C. Eberhart|Eberhart]] and [[Yuhui Shi|Shi]]<ref name=kennedy95particle/><ref name=shi98modified/> and was first intended for [[computer simulation|simulating]] [[social behaviour]],<ref name=kennedy97particle/> as a stylized representation of the movement of organisms in a bird [[Flocking (behavior)|flock]] or [[fish school]]. The algorithm was simplified and it was observed to be performing optimization. The book by Kennedy and Eberhart<ref name=kennedy01swarm/> describes many philosophical aspects of PSO and [[swarm intelligence]]. An extensive survey of PSO applications is made by [[Riccardo Poli|Poli]].<ref name=poli07analysis/><ref name=poli08analysis/> RecentlyIn 2017, a comprehensive review on theoretical and experimental works on PSO has been published by Bonyadi and Michalewicz.<ref name=bonyadi16survey/>
 
PSO is a [[metaheuristic]] as it makes few or no assumptions about the problem being optimized and can search very large spaces of candidate solutions. Also, PSO does not use the [[gradient]] of the problem being optimized, which means PSO does not require that the optimization problem be [[Differentiable function|differentiable]] as is required by classic optimization methods such as [[gradient descent]] and [[quasi-newton methods]]. However, metaheuristics such as PSO do not guarantee an optimal solution is ever found.