19

Click here to load reader

Particle Swarm Optimization

Embed Size (px)

Citation preview

Page 1: Particle Swarm Optimization

Particle Swarm OptimizationStelios Petrakis

Page 2: Particle Swarm Optimization

Contents

• Swarm Intelligence & Applications

• Particle Swarm Optimization

▫ How it works?

▫ Algorithm / Pseudocode

• Examples

▫ Applets / Demos

▫ Matlab Toolbox

• References

Page 3: Particle Swarm Optimization

Swarm Intelligence

• Definition• Definition

Swarm intelligence is artificial intelligence, based on the collective behavior of decentralized, self-organized systems.

The expression was introduced by Gerardo Beni and Jing Wang in 1989, in the context of cellular robotic systems.

Page 4: Particle Swarm Optimization

Swarm Intelligence

• Information• Information

Swarm intelligence systems are typically made up of a population of simple agents interacting locally with one another and with their environment.

The agents follow very simple rules, and although there is no centralized The agents follow very simple rules, and although there is no centralized control structure dictating how individual agents should behave, local interactions between such agents lead to the emergence of complex global behavior.

Natural examples of SI include ant colonies, bird flocking, animal herding, bacterial growth, and fish schooling.

Page 5: Particle Swarm Optimization

Swarm Intelligence Applications

• U.S. military is investigating swarm techniques for • U.S. military is investigating swarm techniques for controlling unmanned vehicles.

• NASA is investigating the use of swarm technology for planetary mapping.

• Tim Burton's Batman Returns was the first movie to make use of swarm technology for rendering, realistically depicting the movements of a group of realistically depicting the movements of a group of penguins using the Boids system.

• The Lord of the Rings film trilogy made use of similar technology, known as Massive, during battle scenes.

Page 6: Particle Swarm Optimization

Particle swarm optimization

The particle swarm optimization algorithm was first described in 1995 by James The particle swarm optimization algorithm was first described in 1995 by James Kennedy and Russell C. Eberhart inspired by social behavior of bird flocking or fish schooling.

Particle swarm optimization or PSO is a global optimization, population-based evolutionary algorithm for dealing with problems in which a best solution can be represented as a point or surface in an n-dimensional space.

Hypotheses are plotted in this space and seeded with an initial velocity, as well as Hypotheses are plotted in this space and seeded with an initial velocity, as well as a communication channel between the particles.

Page 7: Particle Swarm Optimization

How it works? [1/2]

PSO is initialized with a group of random particles (solutions) and then searches for optima by updating generations.

Particles move through the solution space, and are evaluated according to some fitness criterion after each timestep. In every iteration, each particle is updated by following two "best" values. particle is updated by following two "best" values.

Page 8: Particle Swarm Optimization

How it works? [2/2]

The first one is the best solution (fitness) it has achieved so far (the fitness value is also stored). This value is called pbest.

Another "best" value that is tracked by the particle swarm optimizer is the best value obtained so far by any particle in the population. This second best value is a global best and called gbest.

When a particle takes part of the population as its topological When a particle takes part of the population as its topological neighbors, the second best value is a local best and is called lbest. Neighborhood bests allow parallel exploration of the search space and reduce the susceptibility of PSO to falling into local minima, but slow down convergence speed.

Page 9: Particle Swarm Optimization

PSO Algorithm (General)

• Searches Hyperspace of Problem for Optimum• Searches Hyperspace of Problem for Optimum▫ Define problem to search

� How many dimensions?

� Solution criteria?

▫ Initialize Population� Random initial positions

� Random initial velocities� Random initial velocities

▫ Determine Best Position� Global Best Position

� Personal Best Position

▫ Update Velocity and Position Equations

Page 10: Particle Swarm Optimization

Particle Properties

With Particle Swarm Optimization, a swarm of particles (individuals) in a n-dimensional search space G is simulated, where each particle p has a position p.g∈ G ⊆ Rn and a velocity p.v ∈ Rn.

The position p.g corresponds to the genotypes, and, in most cases, also to the solution candidates, i. e., p.x = p.g, since most often the problem space X is also the Rn and X = G. However, this is not necessarily the case and generally, we can introduce any form of genotype-phenotype mapping in Particle Swarm introduce any form of genotype-phenotype mapping in Particle Swarm Optimization.

The velocity vector p.v of an individual p determines in which direction the search will continue and if it has an explorative (high velocity) or an exploitive (low velocity) character.

Page 11: Particle Swarm Optimization

Neighbourhood

δ≤⇔∈∈∀ ).,.()(:, gqgpdistpNqPopqp eucl

PopulationTopological Neighbours

δ p.x

Page 12: Particle Swarm Optimization

Basic PSO algorithm

• New Velocity• New Velocity

vi(k+1) = vi(k) + γ1i(pi – xi(k)) + γ2i(G – xi(k))

• New Position

xi(k + 1) = xi(k) + vi(k + 1)

i – particle indexi – particle indexk – discrete time indexvi – velocity of ith particlexi – position of ith particlepi – best position found by ith particle (personal best)G – best position found by swarm (global best, best of personal bests)g(1,2)i – random numbers on the interval [0,1] applied to ith particle

Page 13: Particle Swarm Optimization

The Common PSO Algorithm

vi(k+1) = φ(k)vi(k) + α1[γ1i(pi-xi(k))]+α2[γ2i(G – xi(k))]

φ - Inertia functionα1,2– Acceleration constants

As training progresses using a decreasing linear inertia function, theinfluence of past velocity becomes smaller.

Page 14: Particle Swarm Optimization

PseudocodeFor each particleFor each particle

initialize particle End For

Do For each particle

calculate fitness value if the fitness value is better than the best fitness value (pBest) in history

set current value as the new pBest End End

choose the particle with the best fitness value of all the particles as the gBest

For each particle calculate particle velocity according to previous equations update particle position according to previous equations

End While maximum iterations or minimum error criteria is not attained

Page 15: Particle Swarm Optimization

New algorithms

• A Modified PSO Structure Resulting in High Exploration Ability With Convergence Guaranteed (Chen & Li, 2007)

▫ Decreasing coefficient to the updating principle

• The Generalized PSO: A New Door to PSO • The Generalized PSO: A New Door to PSO Evolution (Martinez & Gonzalo, 2008)

▫ GPSO is derived from a continuous version of PSO adopting a time step different than the unit

Page 16: Particle Swarm Optimization

Applets / Examples• http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=7506• http://www.mathworks.com/matlabcentral/fileexchange/loadFile.do?objectId=7506

• http://www.borgelt.net//psopt.html

• http://pages.cpsc.ucalgary.ca/%7Ekhemka/pso/download.html

• http://www.projectcomputing.com/resources/psovis/index.html

• http://www.particleswarm.info/Programs.html

• http://clerc.maurice.free.fr/pso/

• http://www.red3d.com/cwr/boids/

• http://uk.geocities.com/markcsinclair/pso.html

Page 17: Particle Swarm Optimization

References

• http://tracer.uc3m.es/tws/pso/basics.html

• http://en.wikipedia.org/wiki/Swarm_intelligence

• http://en.wikipedia.org/wiki/Particle_swarm_optimization

• http://www.engr.iupui.edu/~shi/Coference/psopap4.html

• http://www.cis.syr.edu/~mohan/pso/

• http://www.swarmintelligence.org/

Page 18: Particle Swarm Optimization

Papers / Books

• The Generalized PSO: A New Door to PSO Evolution (Martinez & Gonzalo, 2008)

• A Modified PSO Structure Resulting in High Exploration Ability With Convergence Guaranteed (Chen & Li, 2007)

• Emergent Social Structures in Cultural • Emergent Social Structures in Cultural Algorithms (Reynolds, Peng & Whallon, 2005)

• Global Optimization Algorithms, Theory and Application ( Thomas Weise, 2008)

Page 19: Particle Swarm Optimization

Thanks!