Analytic Behavior of Parallel Bees Algorithm

Bees Algorithm is one of the optimization algorithms inspired from the natural foraging ways of the honey bees of finding the best solution. It is an iteration algorithm; therefore, it is suffering from slow convergence. The other downside of the Bee Algorithm is that it has needless computation. This means that it spends a long time for the bees algorithm converge the optimum solution. In this study, the parallel Bees Algorithm technique is proposed for overcoming of this issue. Due to that, this would lead to reduce the required time to get a solution with faster results accuracy than original Bees Algorithm.


INTRODUCTION
Bees Algorithm (BA) is one of the enhancement methods, which is inspired by the nature of the food bees foraging activities.This algorithm has been successfully applied in some optimization problems, especially in the function optimization and parameters optimization (Mahmuddin and Yusof, 2009).
The BA optimization that was suggested by Pham et al. (2006a) aims to optimize the numerical problems.It is inspired from the food foraging behavior for the swarm of honey bees.The honey bees have many ways such as waggle dance to determine the best location for the food sources and for searching a new location.This process candidate good choices for developing a new intelligence searching algorithms.Bees algorithm begins with a scout of bees which are searching a good area of food and determining the good locations of this area and chose the best one from it for getting optimal location.
These searching operations makes BA very simple and strong method depending on a random optimisation algorithm baesd on stochastic optimisation algorihtm (Pham et al., 2006b;Polratanasuk et al., 2009).
Low convergent speed is one of the disadvantage of this algorithm because of the repetitive iteration of the algorithm to access the solution.The simple solution to overcome of this drawback by determining and removing all unwanted repetitions that are hard execute it.The series of computational process is the other issue that the bees algorithm suffering from it because of bees algorithm spent a lot of time to obtain a satisfied results or the bees algorithm consuming the time without reaching a good solution (Mahmuddin and Yusof, 2009).
In this study, we would like to show the effect of parallel programming technique on BA.This mechanism can be utilized for faster processing time to obtain the optimal solution.The Rosenbrock function will used for comparing the last results before and after applied the parallel bees algorithm.

OVERVIEW OF BEES ALGORITHM
Nature is always playing very important example to human.It presents a replica of results or solutions for many complicated and difficult solve obstacles containing optimization.The Bees Algorithm (BA) principle is inspired from the nature of the work of honey bees doing together to access the source of nectar, taking it and return back to their hives.This mechanism has been applied to solve a lot of issues in optimization area (Ramanatha, 2009).
BA included many parameters, Its can be set namely: the number of scout bees, it represented by (n), (m) is represent the number of sites selected by (n) which have good future solution, number of best sites is (e), number of the of bees that recruited for (e) best sites (nep), number of bees which were recruited for other (m -e) selected the sites (nsp), the size of selected sites (ngh) (Ã-zbakir et al., 2010;Kavousi et al., 2011).Figure 1 explains the simplest form for the basic parameters steps which are describing the behavior of BA.
As we mention above BA has many parameters, we need to deal with these parameters to increase the speed convergence of bee algorithm by using the properties of parallel bees algorithm (Pham et al., 2006b).(Pham et al., 2010) Master-slave parallelization: Master-Slave Model (MSM) is a parallel programming paradigm was developed for operating with various computing issues.The master is in charge of breaking up the problem into small tasks and divides these tasks among a farm of the slave process, in addition to gather the partial results for presenting the final results for the computation.The implementations of the slave processes are executed in the very simple cycle, firstly, get the message with a task, secondly implement the task and finally send the last result to the master.Usually, the communication occurs only between a master and slaves, that is mean no communication between the slaves (Buyya and Moura, 1999).
The MSM paradigm is the simplest approach for managing and organizing the parallel processing and distributed the computations.In this model there is one processor, the master which runs all the communications.The master sends requests or commands to the slave processors, when the slaves implement and finish the computations one of these commands; it sends for the master processor the results as well as tells it to waits the next command.All of these results from all slave processors are keep track by the master processor, managing their operations and using their results properly (Judd, 1998).
There are many advantages associated with the MSM.One of these advantage is it simplifies the programming and makes it easier for controlling and implementing of the common processes.Furthermore the MSM reduces the consuming time in order for getting the results and making the dealing with problems more flexible by dividing the problem into sub tasks with the desired parameters.In addition to this mechanism help for increasing the efficiency and computational accuracy of the final results which is built from the sub tasks.According these benefits this study will use the MSM depending on MPI for implementing the parallel programming technique on the BA with applying Rosenbrock function (Buyya and Moura, 1999;Zilles, 2002).

RESEARCH METHODOLOGY
In this section will explain the methodology used in this study.It contains three main stages that will be executed.The first phase that identifying the problems of the BA.The second phase is design and provide suitable environment in order to solve the problems and for obtaining the wanted results.The testing and evaluating the efficiency of the results is the last phase in this methodology.
Identify BA problems: BA has a significant disadvantage, low convergent speed.This problem takes place due to the intense and huge number of computational of the BA module, especially in local search neighborhood procedures.This issue spends a lot of time to execute particularly to a small data with two dimensional as well as this activity leads to postpone getting the optimum solutions or get some of the unwanted results (Mahmuddin and Yusof, 2009;Pham et al., 2006b).
The other problem that can be detected in BA is consuming the time to get a good result.This happens because of BA one of the search algorithms, it continuous for searching, sorting and optimization.Most of this time spent by bees to identify the global optimal solution or chose a good location for producing the best fitness.The huge number of computational processes for BA in order to obtain a good solution, especially in complicated issues takes a lot of time for accessing the suitable results.These large problems above create another significant drawback in BA, which is not guaranteed to reach the optimum solutions or get better results for the problem (Mahmuddin and Yusof, 2009;Pham et al., 2006b).

Design and configuration:
This stage requires some of the application programs or libraries should be installed and need the parallel programming technique for overcoming on the BA issues.It executed by dividing into two points: setting and parallel programming.These require downloading or installing much software as follow.

Microsoft visual C++ 2005 SP1:
The Microsoft Visual C++ 2005 SP1 Redistributable Package (x86) which installs the runtime of Visual C++ libraries needed for running the applications developed by Visual C++ on a computer that doesn't have Visual C++ installed.This package installs runtime components of C runtime, C++ standard as well as the OpenMP libraries (Microsoft Visual C++ 2005SP1, 2005).
Microsoft .Net framework version 2.0: The Microsoft .NET Framework version 2.0 redistributable packages installs the .NET Framework runtime and associated files required in order to manage the applications developed for the target of the .NET Framework v2.0.It is improves the scalability and efficiency of the applications with improved caching (Microsoft .NET Framework Version 2.0, Year).

Dev-C++ program:
This developer has full features to deal with Integrated Development Environment (IDE) for C/C++ language programming.It is allows for writing, compiling and running the C or C++ program (Satav et al., 2011).

MPI (Message Passing Interface):
It is library should be installed on each nodes will participate in MPI instructions.MPI library provides the ability to make the debugging operation of parallel programs so easy and Increasing the efficiency of the results (Gropp et al., 1999).
After configured the environment work, we designed two master-slave models for overcoming on BA downsides.The first one will consider the Rosenbrock function as a master task and the BA operation are the slave tasks.The master and slave will do same operations.Rosenbrock function will be send by the master processor to all the slaves, so that every slave will operate it, then the slaves return back the values of fitness function for BA. Figure 2 represents the first of master-slave topology for parallel BA operations on Rosenbrock function.The second approach of MSM considers the operations of BA are a master and the Rosenbrock function is represent the slaves operations.In this model the master and slave will do different operations.The master sends the BA so that every slave will operate it.After that the slaves will send back the value of function evaluation of BA. Figure 3 stands for the second topology will use in this study for obtaining the wanted solutions.

TESTING AND RESULTS
Implementation and testing of this project will present in this chapter.The two models of parallel programming, will be implemented on Rosenbrock function after that the results obtained from these models are recorded and compared with BA original Rosenbrock function results.

Original rosenbrock function:
In this model, the original BA on Rosenbrock function is implemented without using the parallel programming technique, by another word execution the original model without applying the MPI mechanism and calculating the processing time to obtain the results.

Model 1-rosenbrock function:
The program of first model Rosenbrock function is run by utilizing the parallel programming via MPI approach and collected the execution time which needs in order to get the solution.In this model there is no available result will be calculated because of the following reasons.

First reason:
The slave part of program sent bad results to the master.Third reason: The slave spent a lot of time for obtaining the solution.
Fourth reason: Continue searching of the slave to find the possible best result.

Model 2-rosenbrock function:
The results of second model of Rosenbrock function is collect by using the MPI type of technique in parallel programming.The implementation time of this model for accessing the required results will be calculated and compared with other models.After implementation all of three models above, the tolerance time for getting the best results will be yield and compared among them to show which model has less processing time.Table 1 shows the comparison value of these models.

CONCLUSION
The downsides of the BA have been explained in this study.The low speed convergence and much consuming time in the computational operations for accessing the results are processing in this study.The parallel mechanism on the Rosenbrock function as a new approach has been applied in the BA in order for achieving the faster convergence of this algorithm.Also for reducing the computational effort in order to improve the last results of BA and obtain better solutions when compare it with the original BA technique.
MSM is a parallel method has been used by two models for overcoming of BA algorithm obstacles.This method has ability for increasing the speed performance of BA that leads to reduce the computational time and get solutions more efficiency.The results explain that the proposed approach has optimized the computational time of BA significantly.

RECOMMENDATIONS
In this study we have shown the possible enhancements to standard BA for increasing the performance of the results through the use of a parallel technique in the processing the drawbacks of this algorithm.The average results of our approach was improved the solution quality of previous BA significantly.
The proposed parallel methods shows its capability by applying two models of this mechanism in order to access better possible result.However, the parallel approach still needs some programming modifications for handling the BA issues and obtaining mach better solutions.

Fig. 2 :
Fig. 2: The MSM topology for the first model

Fig. 3 :
Fig. 3: The MSM topology for the second model

Table 1 :
Comparison value of time tolerance Second reason: It is difficult to the slave get the best solution.