Multi-Population Artificial Bee Colony (MPABC) Algorithm for Numerical Optimization

This paper aims to propose a variant artificial bee colony algorithm (ABC), called multi-population artificial bee colony (MPABC) algorithm so as to optimize numerical functions with single and/or multiple solutions where the global optimization can be achieved. In MPABC, the solution space (i.e., food source) is partitioned into some subspaces in which a subpopulation of bees are parallel produced and employed to search the local optimization. Among these local optimizations, the ones with highest adaptability are taken as the global optimizations in each iteration step, and the corresponding local solutions are thus the global solutions. With a reasonable partition of solution space, all the global optimization and all the associated global solutions can be found by using MPABC. This property can not be committed by the ABC, as the ABC is interested in finding the global optimization with one solution in one running time. In addition, the MPABC holds higher abilities on convergence speed and accuracy than the ABC. Some experiments were conducted with some numerical functions so as to validate such conclusions.


Introduction
Recently proposed ABC algorithm by Karaboga in 2005 is inspired by the intelligent behavior of real honey bees swarms [1,2]. The accuracy and efficiency of the ABC are compared with the differential evolution (DE) [3], the PSO [4], and GA [5] for numerical optimizations with multi-dimensions, and the ABC is proven to be a better heuristic for global numerical optimizations. Therefore, there emerges a lot of interests on ABC, fox example, see [6][7][8][9], without claiming of completeness.
Although above ABC family achieve significant contributions, it is still interesting and important to search all the existing global solutions for optimization. On the one hand, when dealing with the numerical optimization, we are not only interested in finding the global best objective with one solution, but also achieving all the associated solutions. On the other hand, in practice engineering, finding all the existing solutions associated to global optimization is necessary and important, because each one of these existing solutions always corresponds to an operation mode of equipment. Although all these operation modes can be operated on the equipment to obtain the same economic benefits, different 2 operation modes can consume different consumptions. We desirably adopt the solution which leads to the best economic benefit with the least operation consumption. By repeating several running times, we may find several of such solutions with the ABC. However, it is not allowed to run the algorithms repeatedly in practice.
Furthermore, in the viewpoint of biology, the individuals in the real world can live as a personal life and also as a member of a society. The communications not only occur between different individuals in a society, but also happen among different societies. Within a society, the information is spread through communion between the individuals. Among the different societies, the information associated to different societies is communicated in a deduced way. This phenomenon provides another motivation to propose MPABC algorithm. The objective of this paper is to propose a variant of ABC, called multipopulation artificial bee colony algorithm, to deal with numerical optimization with multiple solutions. Interestingly, we also find that the proposed MPABC algorithm holds high abilities on convergence speed and accuracy, by comparing with the original ABC algorithm.
The rest of this paper is organized as follows. Section 2 briefly introduces the foraging behavior of real bees and then ABC algorithm. simulating such behavior. In section 3, the MPABC is proposed. Section 4 conducts some experiments to test the proposed MPABC with ABC. The last section 5 concludes the paper.

Artificial Bee Colony Algorithm
In the ABC algorithm, the position of a food source represents a possible solution of the optimization problem and the nectar amount of a food source corresponds to the quality (fitness) of the associated solution. The number of the employed bees or the onlooker bees is equal to the number of solutions in the population. At the first step, a randomly initial population of n solutions (food source positions), denoted as xi, can be initialized according to Where xmin,j and xmax,j are the lower bound and upper bound of the jth dimension, respectively. The symbol rand[0, 1] denotes a uniform random number in the range [0, 1].
An onlooker bee chooses a food source depending on the probability value associated with that food source, pi, calculated by Where fiti is the nectar amount (i.e., the fitness value) of the ith food source xi. Obviously, the higher the fiti is, the more probability that the fiti food source is selected.
In order to produce a candidate food position from the old one, the ABC uses the following mechanism: Where k  {1, 2, ..., ne} and k ≠ i, and j  {1, 2, ..., d} are randomly chosen indexes. rand[-1, 1] is a uniformly distributed real number in interval [-1, 1]. If a parameter produced by this operation exceeds its predetermined band, the parameter can be set to its band.
The food source whose nectar is abandoned by the bees is replaced with a new food source by the scouts. In the ABC algorithm this is simulated by randomly producing a position and replacing it with the abandoned one. In addition, if a position cannot be improved further through a predetermined number of cycles called limit, then that food source is assumed to be abandoned. After each candidate source position xnew, j is produced and then evaluated by the artificial bee, its performance is compared 3 with that of xi, j. if the new food has equal or better nectar than the old source, it is replaced with the old one in the memory. Otherwise, the old one is retained. Note that a subspace induces a society of honeybees. Suppose the jth dimension of the space is divided into numbers Kj of partitions. Then, the number N of societies of honeybees can be calculated as Consequently, he boundary of the arbitrary individual society, indicated as , of which the boundary in the jth dimension can be calculated as:

Individual society of honeybees
In each subspace, an individual society of honeybees is produced. Within the individual society, the behaviors of the bees are identical to those of the ABC algorithm. More precisely, MPBAC performs In what follows, to distinct different societies, we use k  as superscript for all solutions, fitness and variables.

Connections among individual societies
In the MPABC algorithm, the connections among individual societies are necessary. In our model, these individual societies are connected by using two ways: sharing local optimizations and competing to living. Suppose the size of individual societies is N. we call an individual society is the winner if the local optimization of such individual society is the best; otherwise, the individual society is loser. During a period, if the probability that the role of an individual society is the winner is smaller than a threshold, called living probability, such individual society of honeybees need to be eliminated from the multiple populations. The living probability of an individual society is defined as: By using Eq. (6), MPABC can get the global optimization. According to Eq. (7), the individual societies that impossibly achieve the global optimization are abandoned. These operations can accumulate the convergence speed, and reduce the computational consumption by MPABC.

Pseudo-code of MPABC algorithm
On the basis of the above interpretation of MPABC, the MPABC algorithm can be summarized as follows. Replace employed bee solution with respective onlooker solution; 21.
End If

22.
End For
For m = C -C0 +1 to C Do

34.
Calculate the living probability l k P  of each individual society according to Eq. (7); 35.
End For 36.
For l = 1 to N Do

If
The l-th individual society l k  is eliminated from the multiple populations; 39. N = N -1; 40.
End For 42.
End If 43. C=C +1; 44. Until C = Cmax % Cmax means the maximum cycle 45. Return the best solutions obtained in Step 31and their associated local optimizations. It is evident that

Experimental analysis
In this section, the performance of the proposed MPABC is validated using some numerical functions as shown in Table 1.
10 cos 2 10 In Algorithm 1, parameters ne, limit, Kj, Cmax, C0, P0 need to be predetermined. Colony size of bees in this study takes value form the set {20, 40, 100}. Thus, the number of employed bees can take values as 10, 20, and 50, respectively. The limit takes value from set {0.1d ne , d ne}, and the maximal cycle is set as Cmax = 5000.In addition, we set C0 = 100, P0 = 0, Kj  {4, 5, 6}, where "P0 = 0" means that an individual society will be eliminated if such society can not search the global optimization one time during the period C0.
Tables 2 and Figs. 1~4 shows the performances of MPABC algorithm by comparing with ABC algorithm. It reveals that MPABC has fast convergence and most appropriate solutions. The numbers in the parentheses refer to as the number of population of the colony bees, the colony size of employed bees, and the number of trivial limit, respectively. For instance, the interpretation of the form "(4, 6)(20, 40, 100)" means that the population number is 4 or 6, the colony size of employed bees is20, 40 or 100.

Conclusion
This paper proposed a multi-population artificial bee colony (MPABC) algorithm for numerical functions. With a reasonable partition of solution space, all the global optimization and all the associated global solutions can be found by using MPABC. This property cannot be committed by the ABC, as the ABC is interested in finding the global optimization with one solution in one running time. Based on four typical numerical functions, it reveals that the MPABC has higher abilities on convergence speed and accuracy than the ABC.