The Particle Swarm Optimization Algorithm Neboja Trpkovi trx

The Particle Swarm Optimization Algorithm Nebojša Trpković trx. lists@gmail. com 10 th Dec 2010 Nebojša Trpković trx. lists@gmail. com

Problem Definition optimization of continuous nonlinear functions ↓ finding the best solution in problem space Nebojša Trpković trx. lists@gmail. com 2

Example Nebojša Trpković trx. lists@gmail. com 3

Importance • function optimization • artificial neural network training • fuzzy system control Nebojša Trpković trx. lists@gmail. com 4

Existing Solutions • Ant Colony (ACO) – discrete • Genetic Algorithms (GA) – slow convergence Nebojša Trpković trx. lists@gmail. com 5

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 6

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 7

Particle Swarm Optimization Benefits: • faster convergence • less parameters to tune ↓ • easier searching in very large problem spaces Nebojša Trpković trx. lists@gmail. com 8

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 9

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 Nebojša Trpković cognitive trx. lists@gmail. com social 10

Position Change xi – specific particle vi – particle’s velocity xi ← x i + v i Nebojša Trpković trx. lists@gmail. com 11

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 12

Single Particle Nebojša Trpković trx. lists@gmail. com 13

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 14

Avoiding Local Optimums • adding randomization factor to velocity calculation • adding random momentum in a specific iterations Nebojša Trpković trx. lists@gmail. com 15

Swarm Nebojša Trpković trx. lists@gmail. com 16

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 17

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/psopap 4. html • Robot Swarm driven by Particle Swarm Optimization algorithm, thinkfluid http: //www. youtube. com/watch? v=RLIA 1 EKf. Sys Nebojša Trpković trx. lists@gmail. com 18
- Slides: 18