DriP PSO- A fast and inexpensive PSO for drifting problem spaces

34
Zubin Bhuyan Sourav Hazarika Tezpur University, Assam, INDIA International Conf. on Science, Engineering & Technology- 2012, Trichy, India DriP-PSO: A Fast and Inexpensive PSO for Drifting Problem Spaces Full paper: http://zubinb.com/papers/T1_EC-346.pdf

description

Particle Swarm Optimization is a class of stochastic, population based optimization techniques which are mostly suitable for static problems. However, real world optimization problems are time variant, i.e., the problem space changes over time. Several researches have been done to address this dynamic optimization problem using Particle Swarms. In this paper we probe the issues of tracking and optimizing Particle Swarms in a dynamic system where the problem-space drifts in a particular direction. Our assumption is that the approximate amount of drift is known, but the direction of the drift is unknown. We propose a Drift Predictive PSO (DriP-PSO) model which does not incur high computation cost, and is very fast and accurate. The main idea behind this technique is to use a few stagnant particles to determine the approximate direction in which the problem-space is drifting so that the particle velocities may be adjusted accordingly in the subsequent iteration of the algorithm.

Transcript of DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Page 1: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Zubin BhuyanSourav HazarikaTezpur University,

Assam, INDIA

International Conf. on Science, Engineering & Technology- 2012, Trichy, India

DriP-PSO: A Fast and Inexpensive PSO for Drifting Problem Spaces

Full paper: http://zubinb.com/papers/T1_EC-346.pdf

Page 2: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Outline

PSO basics The PSO Algorithm

Dynamic systems Proposed PSO Models

Drift Predictive PSO Experimental Results

Conclusion and Future Work

Page 3: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Swarm Intelligence

Swarm intelligence collective behavior of simple rule-following

agents overall behavior of the entire system

appears intelligent In Nature such behavior is seen in bird

flocks, fish schools, ant colonies and animal herds

Particle Swarm Optimization is a class of stochastic, population based optimization techniques

Page 4: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO Basics

PSO was developed in 1995 by James Kennedy (social-psychologist) and Russell Eberhart (electrical engineer). †

PSO is inspired from the concept of social interaction and is used for problem solving.

A swarm of n agents or particles flies around in the search space looking for the best solution Particles communicate directly or indirectly with

one another to determine its search direction.

† Kennedy, J. and Eberhart, R. (1995). “Particle Swarm Optimization”, Proceedings of the 1995 IEEE International Conference on Neural Networks, pp. 1942-1948, IEEE Press.

Page 5: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO Basics

pBest: Best value obtained so far by an individual particle Each particle has its own pBest

gBest: Best of all pBest The basic concept of PSO is to accelerate

each particle toward its own pBest, AND the gBest locations Usually with a random weighted acceleration at

each time step

Page 6: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO Basicsᵵ

sk

vk

vpbest

vgbest

sk+1

vk+1

sk

vk

vpbest

vgbest

sk+1

vk+1

Concept of modification of a searching point by PSO

x

y sk : current searching point. sk+1: modified searching point. vk: current velocity. vk+1: modified velocity. vpbest : velocity based on pbest. vgbest : velocity based on gbest

ᵵ Slide taken from Varadarajan Komanduri, Research Assistant,  ECE Dept.,Villanova Universityhttp://www23.homepage.villanova.edu/varadarajan.komanduri/PSO_meander-line.ppt

Page 7: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO topologies

Page 8: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO Algorithm

1. Initialize a population of particles randomly over a problem space with random velocities.

2. Evaluate fitness of each particle.3. If current fitness of particle is better than pbest, then set pbest

value equal to current fitness. Set pbest location to current location.

4. If current fitness is better than gbest, reset gbest to current fitness value. Set new gbest location to current location.

5. Change velocity according to the equation: vvid = w *vid + c1 * rand() * (pid -xid) + c2 * rand() * (pgd -xid)

6. Change the position according to equation:xid = xid + vid

Here w is inertia weight, c1 and c2 are acceleration constants, and rand() is a random number generator function.

7. Loop back to Step 2 until end criterion is satisfied, or maximum number of iterations is completed.

Page 9: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO Algorithm

vid = w *vid

+ c1 * rand() * (pid -xid)

+ c2 * rand() * (pgd -xid)w: Inertia weight of current velocityc1 : Acceleration component of cognitive part

c2 : Acceleration component of social part

xid = xid + vid

Page 10: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Dynamic Systems

Page 11: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Dynamic Systems

Practical/Real world problems are time-varying or dynamic Problem space changing its state over time Optima changes continuously

Changes may occur: periodically in some predefined sequence continuously in random fashion

Page 12: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Dynamic Systems ‡

Hu, et al, defines in [2] three types of basic dynamic systems: The location of the optimum value can

change The location can remain constant but

the optimum value may vary Both the location and the value of the

optimum can vary

‡ X. Hu, and R. C. Eberhart, “Adaptive Particle Swarm Optimization: Response to Dynamic Systems”  Proceedings of the 2002 Congress on Evolutionary Computation, 2002.

Page 13: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Dynamic Systems

Particles might lose its global exploration ability Redundant pBest, gBest

Leads to unsatisfactory, unacceptable and sub-optimal results

Page 14: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO for Dynamic Systems

Several propositions Eberhart and Hu, 2002

“fixed gBest-value method” : If these two values do not change for certain number of iterations then a possible optimum change is declared

increase the accuracy and prevent false alarms

Charged-PSO: Blackwell and Bentley, 2002 Main idea: good balance between

exploration and exploitation results in continuous search for better

solution

Page 15: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

PSO for Dynamic Systems

Cooperative split PSO: Rakitianskaia, et al, 2008 modified the charged-PSO search space is divided into smaller subspaces,

with each subspace being optimised by a separate swarm

Cellular PSO: Hashemi , et al, 2009 hybrid model of particle swarm optimization and

cellular automata population of particles is split into different groups

across cells of cellular automata by imposing a restriction on number of particles in each cell

further modified by introducing temporary quantam particles

Page 16: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

DRIFT PREDICTIVE PSO MODEL

Full paper: http://zubinb.com/papers/T1_EC-346.pdf

Page 17: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO

Specifically designed for the scenario where the problem-space drifts in an unknown direction

ASSUMPTION: Amount of drift is assumed to be gradual Most practical transitions are “not abrupt” Change can be determined by LOCALITY

searching AIM: To determines the approximate direction

in which the problem-space is drifting Adjust particle velocities accordingly in the

subsequent iteration of the algorithm

Page 18: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO

Idea: Add “Adjustment” to the velocity of each

particle.

Page 19: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO: Detecting the drift direction

In each iteration a small number of stagnant particles are selected

They do not change their positions for that particular round

If a change is detected by them, Generate 4 sub-particles resting ona circular orbit of radius ρ the sub-particles will be placed atright angle to one another

Page 20: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO

Pi has been selected as a stagnant particle.

It detects change in its fitness (despite the fact that its position did not change)

Pi expands its sub-particle orbit Two sub-particles, are selected

such that previous fitness of the Pi lies between the

fitness values of the two selected sub-particles

Page 21: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO: Calculating the Drift The approximate direction of drift, i.e.

the direction in which the adjustment is required, is given by

Page 22: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO: Calculating the Drift The approximate direction of drift, i.e. the

direction in which the adjustment is required, is given by

is the angle representing the direction of adjustment of

α is the previous fitness value of Pi

α ∊ [ Sk, Pi, Sj,Pi ] are the angles at which

the selected sub-particles are oriented

are fitness values

Page 23: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO: Calculating the Drift is calculated by all stagnant particles. Weighted average of all ξ is taken and

added as an extra term to the velocity equation as shown

Weight for a particular ξ is calculated using

is the number of times the value occurs, n is the total number of stagnant particles.

Page 24: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Drip-PSO: Adjusting the Drift Adding “Adjustment” component to the

velocity

Page 25: DriP PSO- A fast and inexpensive PSO for drifting problem spaces
Page 26: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Experimental Setup

Test tool for the the proposed model was implemented in C# WPF (.Net Framework 4.0)

Functions used for testing: Sphere, Step, Rastrigin, Rosenbrock and an arbitrary peak function

Screen shot of PSO Test Tool

Page 27: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Experimental Setup

Sphere functionf(x, y) = x2 + y2

Arbitrary Peaks functionf(x, y) = 1 – [3(1-x)2e-

x2 – (y+1)2 + 10(x/5 – x3 – y5)e-(x2+y2) – 1/3e-

(x+1)2-y2

Step functionf(x, y) = |x| + |y|

Test tool for the the proposed model was implemented in C# WPF (.Net Framework 4.0)

Functions used for testing: Sphere, Step, Rastrigin, Rosenbrock and an arbitrary peak function

Page 28: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

We simulate a dynamic system the test tool drifts the problem space in any direction, by applying an offset, λ, in every dimension

ft+1 = ft(x - λ, y - λ) Offset is varied in the range [0.01, 0.09] The range of x and y is [-3, 3] c1 and c2 are set at 1.49618. Swarm size = 25 and 35

Experimental Setup

Page 29: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Experimental Results

Percent error in finding global minima

Function Standard PSO

Drift Predictive PSO

Sphere 6.799% 2.571%

Step 9.847% 2.091%

Rastrigin 29.900% 9.143%

Rosenbrock 24.616% 3.592%

Arbitrary Peaks 27.629% 5.126%

RESULTS OF DRIP-PSO IN DYNAMIC SCENARIO USING 25 PARTICLES

Page 30: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Experimental Results

RESULTS OF DRIP-PSO IN DYNAMIC SCENARIO USING 35 PARTICLES

Percent error in finding global minima

Function Standard PSO

Drift Predictive PSO

Sphere 5.021% 1.871%

Step 8.268% 1.438%

Rastrigin 25.728% 7.895%

Rosenbrock 21.616% 2.332%

Arbitrary Peaks 25.744% 4.661%

Page 31: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Conclusion

Drip-PSO gives more accurate result for dynamic systems

Less computational cost Only few particles need to perform extra

calculation Implemented in Atmega32

Page 32: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Future Work

Can be modified to detect several probable local optima then explore by splitting the entire swarm

into sub-swarms Comparison with other PSOs

Page 33: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Acknowledgement

Gunther Maurice Helped us in designing the class structure

Tuhin Bhuyan, JEC, Assam Gave us the idea of making the test tool

multi-threaded by using .Net Framework ThreadPool

Page 34: DriP PSO- A fast and inexpensive PSO for drifting problem spaces

Thank You!

Full paper: http://zubinb.com/papers/T1_EC-346.pdf