190 likes | 220 Views
Learn about Particle Swarm Optimization, a computational method that iteratively improves candidate solutions for function optimization, artificial neural network training, and fuzzy system control. Developed in 1995 by Russell C. Eberhart and James Kennedy, this technique is inspired by bird flocking behavior. With faster convergence and easier searching in large problem spaces, Particle Swarm Optimization is a beneficial algorithm with a basic principle of moving particles towards the best position in the search space. The algorithm involves velocity and position changes for each particle to find the best solution.
E N D
The Particle Swarm Optimization Algorithm Nebojša Trpković trx.lists@gmail.com 10th Dec 2010
Problem Definition optimization of continuous nonlinear functions ↓ finding the best solution in problem space Nebojša Trpković trx.lists@gmail.com
Example Nebojša Trpković trx.lists@gmail.com
Importance • function optimization • artificial neural network training • fuzzy system control Nebojša Trpković trx.lists@gmail.com
Existing Solutions • Ant Colony (ACO) • discrete • Genetic Algorithms (GA) • slow convergence Nebojša Trpković trx.lists@gmail.com
Particle Swarm Optimization Very simple classification: • a computational method • that optimizes a problem • by iteratively trying to improve a candidate solution • with regard to a given measure of quality Nebojša Trpković trx.lists@gmail.com
Particle Swarm Optimization Facts: • developed by Russell C. Eberhart and James Kennedy in 1995 • inspired by social behavior of bird flocking or fish schooling • similar to evolutionary techniques such as Genetic Algorithms (GA) Nebojša Trpković trx.lists@gmail.com
Particle Swarm Optimization Benefits: • faster convergence • less parameters to tune ↓ • easier searching in very large problem spaces Nebojša Trpković trx.lists@gmail.com
Particle Swarm Optimization Basic principle: let particle swarm move towards the best position in search space, remembering each particle’s best known position and global (swarm’s) best known position Nebojša Trpković trx.lists@gmail.com
Velocity Change xi – specific particle pi – particle’s (personal) best known position g – swarm’s (global) best known position vi – particle’s velocity vi ← ωvi + φprp(pi - xi) + φgrg(g - xi) inertia cognitive social Nebojša Trpković trx.lists@gmail.com
Position Change xi – specific particle vi – particle’s velocity xi ← xi + vi Nebojša Trpković trx.lists@gmail.com
Algorithm For each particle Initialize particle END Do For each particle Calculate fitness value If the fitness value is better than the best personal fitness value in history, set current value as a new best personal fitness value End Choose the particle with the best fitness value of all the particles, and if that fitness value is better then current global best, set as a global best fitness value For each particle Calculate particle velocity according velocity change equation Update particle position according position change equation End While maximum iterations or minimum error criteria is not attained Nebojša Trpković trx.lists@gmail.com
Single Particle Nebojša Trpković trx.lists@gmail.com
Parameters selection Different ways to choose parameters: • proper balance between exploration and exploitation (avoiding premature convergence to a local optimum yet still ensuring a good rate of convergence to the optimum) • putting all attention on exploitation (making possible searches in a vast problem spaces) • automatization by meta-optimization Nebojša Trpković trx.lists@gmail.com
Avoiding Local Optimums • adding randomization factor to velocity calculation • adding random momentum in a specific iterations Nebojša Trpković trx.lists@gmail.com
Swarm Nebojša Trpković trx.lists@gmail.com
Conclusion “This algorithm belongs ideologically to that philosophical school that allows wisdom to emerge rather than trying to impose it, that emulates nature rather than trying to control it, and that seeks to make things simpler rather than more complex.” James Kennedy, Russell Eberhart Nebojša Trpković trx.lists@gmail.com
References • Wikipedia http://www.wikipedia.org/ • Swarm Intelligence http://www.swarmintelligence.org/ • Application of a particle swarm optimization algorithm for determining optimum well location and type, Jerome Onwunalu and Louis J. Durlofsky, 2009 • Particle Swarm Optimization, James Kennedy and Russell Eberhart, 1995 http://www.engr.iupui.edu/~shi/Coference/psopap4.html • Robot Swarm driven by Particle Swarm Optimization algorithm, thinkfluid http://www.youtube.com/watch?v=RLIA1EKfSys Nebojša Trpković trx.lists@gmail.com