DriP PSO- A fast and inexpensive PSO for drifting problem spaces
-
Upload
zubin-bhuyan -
Category
Education
-
view
404 -
download
1
description
Transcript of 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
Outline
PSO basics The PSO Algorithm
Dynamic systems Proposed PSO Models
Drift Predictive PSO Experimental Results
Conclusion and Future Work
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
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.
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
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
PSO topologies
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.
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
Dynamic Systems
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
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.
Dynamic Systems
Particles might lose its global exploration ability Redundant pBest, gBest
Leads to unsatisfactory, unacceptable and sub-optimal results
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
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
DRIFT PREDICTIVE PSO MODEL
Full paper: http://zubinb.com/papers/T1_EC-346.pdf
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
Drip-PSO
Idea: Add “Adjustment” to the velocity of each
particle.
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
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
Drip-PSO: Calculating the Drift The approximate direction of drift, i.e.
the direction in which the adjustment is required, is given by
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
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.
Drip-PSO: Adjusting the Drift Adding “Adjustment” component to the
velocity
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
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
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
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
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%
Conclusion
Drip-PSO gives more accurate result for dynamic systems
Less computational cost Only few particles need to perform extra
calculation Implemented in Atmega32
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
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
Thank You!
Full paper: http://zubinb.com/papers/T1_EC-346.pdf