240 likes | 474 Views
PSO, proposed by Kennedy & Eberhart in 1995, is inspired by social behavior of birds and fishes, finding global optimum for various functions. Used for large problems with simple steps. Algorithm updates position & velocity based on swarm behavior.
E N D
PSO -Introduction • Proposed by James Kennedy & Russell Eberhart in 1995 • Inspired by social behavior of birds and fishes • Combines self-experience with social experience • Population-based optimization
PSO -Introduction • Finds global optimum with a probability of almost one • Suitable for optimizing non-linear non-differentiable and discontinuous functions –Irrespective of shapes of the objective function. • A robust search technique. • Suitable for solving large-sized problems. • Steps extremely simple -Velocity calculation - Position updation
PSO Concept • Uses a number of particles that constitute a swarm moving around in the search space looking for the best solution. • Each particle in search space adjusts its “flying” according to its own flying experience as well as the flying experience of other particles
PSO –how its works Emulates the behavior of creatures such as a flock of birds or a school of fish. Basic principle: • Let particle swarm move towards the best position in search space. • Remembering each particle’s best known position (Pbest) and global (swarm’s) best known position (gbest)
Fitness function Fitness value S PSO –how its works • Swarm: a set of particles (S) • Particle: a potential solution • Position: • Velocity: • Each particle maintains • Individual best position (PBest) • Swarm maintains its global best (GBest)
Basic algorithm of PSO • Initialize the swarm form the solution space • Evaluate the fitness of each particle • Update individual and global bests • Update velocity and position of each particle • Go to step2, and repeat until termination condition
Velocity and Position Updating • Original velocity update equation w,c1,c2: Constant • random1(), random2(): random variable • Position update
Particle’s velocity x(k+1) PBest social v(k+1) cognitive v(k) x(k) Inertia
PSO solution update in 2D GBest x(k) - Current solution (4, 2) PBest - Particle’s best solution (9, 1) GBest-Global best solution (5, 10) PBest
PSO solution update in 2D Inertia: v(k)=(-2, 2) GBest x(k) - Current solution (4, 2) PBest - Particle’s best solution (9, 1) GBest-Global best solution (5, 10) Current solution (4, 2) Particle’s best solution (9, 1) Global best solution (5, 10) PBest
PSO solution update in 2D • Inertia: v(k)=(-2,2) • Cognitive: • PBest-x(k)=(9,1)-(4,2)=(5,-1) • Social: • GBest-x(k)=(5,10)-(4,2)=(1,8) GBest x(k) - Current solution (4, 2) PBest - Particle’s best solution (9, 1) GBest-Global best solution (5, 10) Current solution (4, 2) Particle’s best solution (9, 1) Global best solution (5, 10) PBest
PSO solution update in 2D • Inertia: v(k)=(-2,2) • Cognitive: • PBest-x(k)=(9,1)-(4,2)=(5,-1) • Social: • GBest-x(k)=(5,10)-(4,2)=(1,8) • v(k+1)=(-2,2)+0.8*(5,-1) +0.2*(1,8) = (2.2,2.8) GBest v(k+1) x(k) - Current solution (4, 2) PBest - Particle’s best solution (9, 1) GBest-Global best solution (5, 10) PBest
PSO solution update in 2D • Inertia: v(k)=(-2,2) • Cognitive: • PBest-x(k)=(9,1)-(4,2)=(5,-1) • Social: • GBest-x(k)=(5,10)-(4,2)=(1,8) • v(k+1)=(2.2,2.8) • x(k+1)=x(k)+v(k+1)= • (4,2)+(2.2,2.8)=(6.2,4.8) GBest x(k+1) x(k) - Current solution (4, 2) PBest - Particle’s best solution (9, 1) GBest-Global best solution (5, 10) PBest