A Novel Multi-Swarm Approach for Numeric Optimization

In order to solve the numeric optimization problems, swarm-based meta-heuristic algorithms can be used as an alternative to solve optimization problems. Meta-heuristic algorithms do not guarantee finding the optimal solution but they produce acceptable solutions in a reasonable computation time. By depending on the nature of the problems and the structure of the meta-heuristic algorithms, different results are obtained by different algorithms, and none of the meta-heuristic algorithm could guarantee to find the optimal solution. Particle swarm optimization (PSO) and artificial bee colony (ABC) algorithms are well known meta-heuristic algorithms often used for solving numeric optimization problems. In this study, a novel multi-swarm approach based on PSO and ABC algorithms is suggested. The proposed multi-swarm approach includes PSO and ABC algorithms together and replacing the swarm which achieves better solutions than the other algorithm in a pre-defined migration period. By this migration, swarm always include better solutions concerned to the algorithm which achieves better results. While running PSO and ABC algorithms competitively, this migration ensures to utilize better solutions of both the solutions of PSO or ABC algorithms, and the convergence characteristic of each algorithm provides different approximation to the solution space. Thus, it is expected to obtain successful solutions and increasing the success rate at each migration cycle. The suggested approach has been tested on 14 well-known benchmark functions, and the results of the study are compared with the results in literature. The experimental results and comparisons show that the proposed approach is better than the other algorithms.


Introduction
Numeric optimization is one of the most interested and investigated topic among the researchers in this field. Due to the recent trends and investigations in meta-heuristic or hyperheuristic algorithms on optimization concept, there will be always a demand to adapt and investigate the area for obtaining better results even in accuracy and computational cost. Considering the literature, there are several meta-heuristic algorithms exist which are used for numerical optimization problems. In the meta-heuristic algorithms concept, swarm intelligence is the design of algorithms that mimic the collective social insect and animal behavior [1]. These insects and animals include bees, termites, ants, wasps, fish, birds etc. Other systems such as the immune system can also be included since it contains a swarm of cells and molecules. Among the two fundamental concepts of the swarm intelligence, the first fundamental concept include self-organization that relies on positive feedback, negative feedback, fluctuations and multiple interactions. The second fundamental concept is the division of labor within the colony or swarm. These concepts are necessary for problem solving systems that self-organize and adapt to the given environment [2]. Swarm intelligence algorithms starts with a set of candidate solutions for searching solution space, and in each iteration cycle, the candidate solution set is updated according to the historical and other related information in order to obtain an acceptable solutions in solution space. Some of the most commonly used swarm intelligence algorithms are ant colony algorithm (ACO) [3], particle swarm optimization (PSO) algorithm [4], cuckoo search (CS) algorithm [5] and artificial bee colony (ABC) algorithm [6].
PSO algorithm is a well-known state-of-the-art method used for solving numeric optimization problems [4]. Including the different versions of PSO algorithm, it is the most commonly used metaheuristic algorithm due to its easy implementation, few parameters and powerful exploration characteristics. On the other hand, ABC algorithm is one of the other popular and powerful meta-heuristic algorithm which is often used for comparison with the PSO algorithm [6]. Since every position of the solution is updated in every iteration cycle, the PSO algorithm is more effective than ABC algorithm in terms of convergence characteristics. Although PSO has a fast convergence rate, it can be easily trapped to local minima in multimodal problems [7,8]. Multi-swarm algorithms are effective methods maintaining diversity of the swarm. According to the algorithmic structure, the information is exchanged between the sub-swarms or different swarms and the whole structure of the algorithm is generated on the cooperation aim. Many PSO or ABC based multi-swarm algorithms are presented in literature. Some of these studies include species based PSO [9], cooperative PSO [10], multi-swarm self-adaptive and cooperative PSO [11], multi-layer PSO [12], multi-swarm cooperative PSO [13] and chaotic multi-swarm PSO [14] based on PSO algorithm and migratory multi-swarm ABC [15], adaptive multi-population differential ABC [16], parallelized multiple swarm ABC [17] and multi-swarm ABC [18] based on ABC algorithm. These studies differ from each other by their cooperation mechanism. Considering the updating mechanisms of the PSO and ABC algorithms, this study investigates a novel multi-swarm optimization algorithm for solving numeric optimization problems. Hereby the suggested approach tries to obtain the candidate solutions by using PSO and ABC algorithms separately in a defined number of iteration cycle, then the swarm which has better best solution is exchanged with the other swarm. This transfer process is repeated in a pre-defined number of times or until the stopping criterion is reached. The rest of the paper is organized as follows; after presenting brief introduction to PSO and ABC algorithms in section 2.1 and 2.2 respectively, the suggested approach is introduced in section 2.3. The experimental results and discussion is given in section 3, and the study is concluded in section 4.

Particle Swarm Optimization
The PSO algorithm, inspired by the behavior of a school of flying birds, is a population-based stochastic algorithm which is based on social and psychological principles [4]. The PSO algorithm works by having a population namely "swarm" that contains candidate solutions namely "particles". The individuals in a particle swarm optimizer are "evolved" by cooperation and competition among the individuals themselves through generations. Each particle adjusts its flying according to its own flying experience and its companions' flying experience [19]. The particle swarm represents the interactions of a number of individuals that do not know what the goal is. The individuals know their immediate state and their best performance in the past. As individuals emulate the successes of their neighbors, the population begins to cluster in optimal regions of a search space. This leads to discover good solutions for difficult problems such as the nonlinearity, local optima, deceptive gradients and high dimension problems [4]. The PSO algorithm starts solving the problem with a randomly generated population in the search space. The population matrix consisting of n particles can be given as; where is number of particles and is dimensionality of the problem. Each solution in the population is named as particle and can be given as; where represents the ℎ particle. All particles have a fitness value and speed information. The fitness value is calculated according to the objective function. The best value of each particle obtained so far is called and the best value of the population is called . Initially, each particle is considered as , and considering the minimization problem the values of each particle are updated by using the following equation; where ( + 1) is the best value of the ℎ particle obtained so far at time + 1 and stands for the fitness function. After obtaining best value of each particle, the best value of the swarm is also obtained using the following equation; Each particle in the population is iteratively updated with respect to the previous value of the particle, and this update process is evaluated by using the following equation; where ( + 1) represents the velocity vector of ℎ particle and iteratively updated by using the following equation; where stands for the inertial weight, 1 and 2 are random numbers uniformly distributed within the range [0,1] and 1 and 2 are cognitive and social weighting factors of the algorithm respectively. Note that the velocity vector of each particle are generated randomly at the initialization phase of the algorithm. Inertial weight is a positive value providing global and local search stability suggested by Shi and Eberhart [19]. It is used to balance the local and global search characteristics of the PSO algorithm.

Artificial Bee Colony
The ABC algorithm is a swarm intelligence algorithm, inspired by the behavior of honey bee colonies, used for solving numeric optimization problems. The algorithm represents a collective intelligence of honey bee colonies that consist of three essential components: food sources, employed foragers and unemployed foragers, and has three phases that involve the employed bee, onlooker bee and scout bee. The ABC algorithm starts with initialization of the food source positions which stands for the solutions similar to the particles in PSO algorithm. According to the search space of the optimization problem, a food source position can be formulized as follows; where = {1,2, … , } and denotes the number of food sources, j= {1,2, … , } and denotes the dimension of the problem and and stands for the lower and upper bounds of the ℎ dimension of the problem. After this initialization step, employed bee, onlooker bee and scout bee phases are repeated sequentially until the a pre-defined iteration cycle number or stopping criteria reached. In the initialization of the algorithm, a counter for each food source is defined and these counters are used for occurrence of the scout bees.

Employed Bee Phase
Each employed bee is related with only one food source, and thus, the number of food sources is equal to the number of the employed bees. Each employed bee tries to find a new food source and access the quality of it. If the new food source which is also the candidate solution has better quality than the current one, the current food source is changed to the candidate one and the counter is reset; otherwise the counter of the food source is increased by 1. A candidate food source is obtained by using the following equation; where i represents the candidate food source neighbour to i , ij stands for the ℎ dimension of the i , is the randomly chosen dimension for modification, is index of the randomly chosen neighbour food source and ij is a random number within the range [-1,1]. Fitness value of each solution is calculated by using the following equation; where is the fitness value of the ℎ solution and is the objective function.

Onlooker Bee Phase
Once all employed bees have completed their research in an iteration cycle, they transmit information about the amount of nectar (fitness value) of the food sources they have found to the onlooker bees via waggle dance. Each onlooker bee selects a food source depending on the probability of their fitness values through roulette-wheel selection scheme and try to improve the solution. Hereby, food sources with better fitness values have a higher probability to be selected than others. Roulette wheel selection process is implemented by using the probability calculation given in (10).
where and are the probability and fitness value of the ℎ food source being selected respectively. After calculating the probability value of each food source, a random number is generated within the range [0,1] concerning the roulette-wheel selection scheme. If is greater than the generated number the onlooker bee produces a candidate food source position by using (8) such as employed bees, and after calculating the quality of the candidate solution, greedy selection is applied. While updating the food sources, if the food source is changed with the candidate one, the counter which is also used in employed bee phase is set to 0, otherwise increased by 1.

Scout Bee Phase
At the end of each iteration cycle, the counter of each food source is checked whether they exceeded a pre-defined number called as "limit". The food sources which its counters has highest content is abandoned, a new food source is created using (7), this food source is assigned to an employed bee, and the counters of this food source are set to 0.

Suggested Multi-Swarm Approach
Evolutionary and swarm-based meta-heuristic algorithms produce successful results in solving optimization problems. In both evolutionary and swarm-based algorithms, candidate solutions are randomly generated initially, updated according to the strategies of the algorithms and evaluated the solution space. The use of multipopulation or multi-swarm concepts is a method that increases the problem solving capabilities of nature-inspired algorithms. Multi population technique can easily be adapted to many natureinspired algorithms. Basically in this technique, main population (or swarm) is divided into sub-populations (sub-swarms) and these sub-swarms evaluate the solution space. Also, the sub-populations communicate and interact with the each other. PSO and ABC are well-known swarm based algorithms in the literature. Therefore, we used these two algorithms in the proposed multi-swarm approach.
According to the suggested multi-swarm approach, the population is divided into two equal sub-populations and evaluated together within a pre-defined migration period. The first half of the population is evaluated by using the PSO algorithm, and the second half of the population is evaluated by using the ABC algorithm. The number of the iteration cycle of each period is calculated by dividing the total iteration cycle by the migration number as given in (11) where stands for the number of the iteration cycles which is going to be run in a migration period, stands for the maximum iteration number and denotes the migration period. For a minimization problem, after PSO and ABC algorithms evaluated within the cycle, the best solution obtained by PSO algorithm is compared with the best solution obtained by ABC algorithm. If the smaller solution value is obtained by the PSO algorithm, the population of the PSO algorithm is migrated to the population of the ABC algorithm. Hereby, the ABC algorithm is going to solve the problem by using the population of the PSO algorithm until the next cycle. Otherwise, the population of the ABC algorithm is migrated to the PSO algorithm. As it is known, particles (solutions) of the PSO algorithm correspond to the food sources (solutions) of the ABC algorithm.
Even the particle size and the number of bees are equal, the number of food sources are half of the number of the particles. Because of the PSO and ABC algorithms characteristics, there is a ratio of 1/2 in population sizes preserving function evaluation times equal. Thus, the migration procedure includes migrating the first half of the solutions ordered by the fitness from PSO algorithm's particles to the ABC algorithm's food sources; migrating duplicate of the solutions from ABC algorithm's food sources to the PSO algorithm's particles. According to the suggested approach, these evaluation and migration procedures are repeated migration period times. The flowchart of the suggested approach is given in Fig. 1.

Results and Discussion
In order to evaluate the suggested multi-swarm approach 14 wellknown benchmark test functions are employed in this study. These functions and their characteristic properties are given in Table 1 [20]. According to their characteristic properties, these functions can be divided into 3 class including unimodal, multimodal and rotated functions, and there are 4 unimodal, 6 multimodal and 4 rotated functions exist in the benchmark test functions. Note that the objective of all of these functions are minimization, and the experiments are operated for 30 dimensional functions. The suggested multi-swarm approach is evaluated by using the parameters given in Table 2. PopSize stands for the population size, Dim stands for the dimension of the problem, MaxIT stands for the maximum iteration number, FEs stands for function evaluations, stands for the inertial weight, c1 and c2 stands for the cognitive and social parameters of PSO algorithm respectively and mp stands for the migration period. As the suggested approach depends on both PSO and ABC algorithms, the results are compared with the results of the PSO and ABC algorithms. In order to compare results of the suggested approach with results of PSO and ABC algorithms, the function evaluations (FEs) are kept equal, all algorithms run 25 times, and the mean of the 25 runs and standard deviations are given in Table  3.
The better results are shown in bold in Table 3. In order to specify whether there is a significant difference exist among the algorithms, Wilcoxon test is utilized at 0.05 confidence interval, and the p values and signs are also given in Table 3. Hereby, a (+) sign indicates that the results are statistically different from each other (p<0.05) and a (-) sign indicates that the results are not different from each other (p≥0.05). The convergence graphs of each function is also given in Fig. 2, Fig. 3 and Fig. 4.  Fig.2 Convergence graphs of the unimodal functions As seen from Table 3, the suggested multi-swarm approach achieves better results than the results of both PSO and ABC algorithms in benchmark functions f3, f6, f8, f11 and f12. In benchmark functions 9 and 10, the suggested approach achieves better results than the results of the ABC algorithm, and also these results are equal with the results of the PSO algorithm. According to the Wilcoxon test, it can be seen that the suggested approach is mostly differs from both PSO and ABC algorithms. Due to the fact that PSO and the proposed approach present similar performance on the test set dealt with the study, a new comparison is considered and the results of the suggested multi-swarm approach is also compared with the results directly taken from [20], and the comparison is given in Table 4. In order to compare the results fairly, the FEs's are taken as equal in both this study and [20]. According to Table 4, the suggested multi-swarm approach achieves better results than the results of the other algorithms in benchmark functions f3, f6-f10 and f13. The average rank shows that the suggested approach is generally better than the PSO variants algorithm in terms of rank.

Conclusion
The PSO and ABC algorithms are well-known swarm based numeric optimization algorithms. By depending on the nature of the problems and the structure of the meta-heuristic algorithms, different results are obtained by different algorithms, and none of the meta-heuristic algorithm could guarantee to find the optimal solution. A novel multi-swarm approach based on PSO and ABC algorithms is suggested in this study. The proposed approach has been tested on 14 well-known benchmark functions, and the results of the study are compared with the results in literature. It can be said that the suggested multi-swarm approach achieves successful results. Future works include utilizing different swarm based algorithms in the suggested approach. The effect of employing different number of sub-swarms are also be investigated in numeric optimization problems and real world engineering problems. For each function first row indicates the mean result of the 25 run, the second row indicates the standard deviation of the 25 run, the third row indicates the rank of the algorithm and the row with title "Avg. Rank" indicates the mean rank of the algorithms.