Presentation is loading. Please wait.

Presentation is loading. Please wait.

Parallelization of a Swarm Intelligence System

Similar presentations


Presentation on theme: "Parallelization of a Swarm Intelligence System"— Presentation transcript:

1 Parallelization of a Swarm Intelligence System
Iman Eshraghi School of Computer Science University of Ottawa, Ottawa, Canada

2 Contents Introduction Problem Statement Related work ABC Algorithm
Methodology Parallelization Results Conclusion References

3 Introduction Swarm Intelligence Artificial / Natural Systems Agents
Boids

4 Introduction SI concepts: self organizing labor division Feedback
Interaction labor division Simultaneous task performance Response to the environment

5 Introduction Optimization (problems – algorithms)
:: discrete variables -> combinatorial optimization problems :: continuous variable -> multimodal problems,.. Ackley’s Mulitmodal Function

6 Optimization (algorithms) Heuristic vs. Meta-heuristic
Introduction Optimization (algorithms) Heuristic vs. Meta-heuristic

7 Meta-heuristic Optimization Techniques
Introduction Meta-heuristic Optimization Techniques

8 Problem Statement - Hyphothesis - Goal
Metaheuristic optimization technique of choice not optimal - Goal Optimizing the metaheuristic optimization technique Presenting a parallel version of the algorithm for shared memory architecture

9 Related Work Parallelization of the algorithm by assigning different threads to separate swarms Parallelization strategies for a distributed memory multiprocessor architecture under the Message Passing Interface (MPI) CUDA-based Bees Algorithm called CUBA

10 ABC Proposed by Dervis Karaboga in 2005 Why ABC? Applications:
Artificial networks Graph Theory TSP Leaf-constrained Spanning Trees Power loss Minimization in Distributed networks

11 ABC Definitions: Food Source Bees Dancing Area Employed Unemployed
Scouts Onlookers Dancing Area

12 Algorithm (pseudo-code)
ABC Algorithm (pseudo-code)

13 Movement of Onlookers: Movement of Scouts:
ABC Movement of Onlookers: Movement of Scouts:

14 Methodology Theory

15 Matlab Parallel Computing Toolbox
Parallelization Matlab Parallel Computing Toolbox

16 SPMD (Single Program Multiple Data)
Parallelization Flynn's taxonomy Single instruction stream Multiple instruction streams Single program Multiple programs Single data stream SISD MISD Multiple data streams SIMD MIMD SPMD MPMD SPMD (Single Program Multiple Data)

17 spmd numlabs labindex labSend(data, workerId) labReceive(workerId)
Parallelization spmd numlabs labindex labSend(data, workerId) labReceive(workerId)

18 Parallelization An spmd program needs workers to cooperate on the program -matlabpool open local 4 The client and the workers share a single program in which some commands are delimited within blocks opening with spmd and closing with end. The client executes commands up to the first spmd block, when it pauses, the workers execute the code in the block. Once they finish, the client resumes execution.

19 Parallelization 1. Generate SN initial solutions randomly and evaluate them. Place them in the shared memory S 2. Divide the solutions equally among p processors by copying SNp solutions to the local memory of each processor 3. Steps 4 to 10 are carried out in parallel at each processor Pr 4. For each solution Xi in the local memory Mr of processor Pr, determine a neighbor Vi using (4) and perform a greedy selection between Xi and Vi 5. Calculate the probabilities for the solutions in Mr using (5) 6. Use the roulette wheel selection method to place the onlookers on the food sources in Mr and improve the corresponding solutions (as in step 4) 7. Determine the abandoned solution (if any) in Mr and replace it with a new randomly produced solution. 8. Record the best local solution obtained till now at Pr 9. Copy the solutions in Mr to the corresponding slots in S 10. Repeat steps 4 to 9 until MCN cycles are completed 11. Determine the global best solution among the best local solutions recorded at each processor.

20 Parallelization spmd SNp=SourceNum/numlabs;
a = ( labindex - 1 ) *SNp+1; b =SNp* labindex; S_p_food=food(a:b); [min_value,index]=min([S_p_food.fit]); BestSource=S_p_food(index);%Global food . Employed Search Step Onlooker Search Step Scout Search Step end

21 Comparison Serial: Parallel:
Results Comparison Serial: Parallel:

22 Results Serial Parallel

23 Results Speed up => / = 1.9 x

24 Conclusion The applied parallelization technique for ABC algorithm has lead to speed up. The quality of results are not necessarily improved or the opposite in this technique. Future Work: Extending the Algorithm on the Cluster through Matlab Distributed Computing Server

25 References Harikrishna Narasimhan. Parallel artifcial bee colony (pabc) algorithm World Congress on Nature & Biologically Inspired Computing (NaBIC), 2009. Fahad S. Abu-Mouti and Mohamed E. El-Hawary. Overview of artifcial bee colony (abc) algorithm and its applications IEEE International Systems Conference SysCon2012, Mar 2012. Guo-Heng Luo, Sheng-Kai Huang, Yue-Shan Chang, and Shyan-Ming Yuan. A parallel bees algorithm implementation on GPU. Journal of Systems Architecture, 60(3): , Mar 2014. Dusan Ramljakb Milica Selmicc & Dusan Teodorovicc Tatjana Davidovica, Tatjana Jak-sica. Parallelization strategies for bee colony optimization based on message passing communication protocol. Optimization, 62(8): , Aug 2013. Matlab, Mathworks: , Wikipedia: iple_programs.2C_multiple_data_streams.29

26 Questions Q 1: What are some of the difference between heuristic and metaheuristic algorithms? Q 2: Can you name some of the algorithms in each of the above-mentioned categories? Q 3: Can we predict whether parallelization of optimization algorithms will achieve a speed up?


Download ppt "Parallelization of a Swarm Intelligence System"

Similar presentations


Ads by Google