A New Hybrid BA_ABC Algorithm for Global Optimization Problems

: Bat Algorithm (BA) and Artificial Bee Colony Algorithm (ABC) are frequently used in solving global optimization problems. Many new algorithms in the literature are obtained by modifying these algorithms for both constrained and unconstrained optimization problems or using them in a hybrid manner with different algorithms. Although successful algorithms have been proposed, BA’s performance declines in complex and large-scale problems are still an ongoing problem. The inadequate global search capability of the BA resulting from its algorithm structure is the major cause of this problem. In this study, firstly, inertia weight was added to the speed formula to improve the search capability of the BA. Then, a new algorithm that operates in a hybrid manner with the ABC algorithm, whose diversity and global search capability is stronger than the BA, was proposed. The performance of the proposed algorithm (BA_ABC) was examined in four different test groups, including classic benchmark functions, CEC2005 small-scale test functions, CEC2010 large-scale test functions, and classical engineering design problems. The BA_ABC results were compared with different algorithms in the literature and current versions of the BA for each test group. The results were interpreted with the help of statistical tests. Furthermore, the contribution of BA and ABC algorithms, which constitute the hybrid algorithm, to the solutions is examined. The proposed algorithm has been found to produce successful and acceptable results.


Introduction
Meta-heuristic algorithms are often used in the solution of optimization problems. These algorithms use natural phenomena to achieve a specific purpose. Meta-heuristic algorithms have convergence features and can guarantee to find a solution close to the exact solution. Furthermore, these algorithms are frequently preferred for the solution of optimization problems due to their simple structures, easiness to understand, and realize [1]. Exploration and exploitation concepts are two important components for meta-heuristic algorithms. Exploration refers to the ability to explore various unknown regions of the solution space to find the global best value, while exploitation refers to the ability to use knowledge from previous best results to find better results. To achieve good performance in an optimization problem, the balance of these two components must be well adjusted [2,3].
The bat algorithm [4] was proposed by Xin-She Yang in 2010. The loudness (A) and pulse emission rate (r) parameters used in the bat algorithm significantly affect the exploration and exploitation abilities of the algorithm. As iterations progress, loudness decreases and pulse emission rate increases. This situation causes the exploitation ability to become prominent in the first iterations in the algorithm and the exploration ability to become prominent in the further iterations and decreases the probability of the inclusion of new solutions found in the following steps of the algorithm to the population. There are many studies conducted to balance BA's exploration and exploitation ability and to overcome the mentioned structural problems. Cai et al. [5] added the optimal forage and random disturbance strategy concepts to the algorithm to determine the search direction of bats and improve their global search capability. Meng et al. [6] added the habitat selection and Doppler effect concepts to the bat algorithm. Thus, the algorithm has begun to imitate bat behaviors further. Cai et al. [7] developed the algorithm using the triangle-flipping strategy in the speed update formula that affects the global search capability of the bat algorithm. Zhu et al. [8] proposed a quantum-behaved bat algorithm. In this new algorithm, the position of each bat is determined by the optimal solution initially available, and by the mean best position, which can increase the convergence rate of the algorithm in the following iterations. Ghanem and Jantan [9] have included a special mutation operator that increases the diversity of the BA in the algorithm. Thus, they overcame the problem of getting stuck in the local minimum, which is frequently experienced in the bat algorithm. Shan and Cheng [10] proposed an advanced bat algorithm based on the covariance adaptive evolution process to diversify the direction and population distribution of the search in BA. Nawi et al. [11] proposed a new algorithm that determines the step size in BA using the Gaussian distributed random step logic to form sub-optimal solutions encountered in BA and to overcome the problems experienced in solving large-scale problems. Chakri et al. [12] added the directional echolocation strategy to the algorithm to overcome the early convergence caused by the low exploration ability of BA. Al-Betar and Awadallah [13] added the island model strategy to the algorithm to increase BA's capability to control diversity. Gan et al. [14] developed the algorithm with iterative local search and stochastic inertia weight strategies to improve BA's global search capability and reduce the risk of getting stuck at the local minimum. Topal and Altun [15] suggested the dynamic virtual bat's algorithm. In the algorithm, there are explorer bats that explore the search area and exploiter bats that are very likely to determine the desired target and search locally, and the roles of the bats vary depending on their location. Wang et al. [16] proposed a novel bat algorithm that includes multiple strategies for speed and position determination formulas to overcome BA's weakness in solving complex problems.
There are hybrid algorithms proposed in the literature to increase the performance of BA. Liu et al. [17] made three modifications in the algorithm to improve the performance of BA and developed a hybrid algorithm with the extremal optimization algorithm. Wang and Guo [18] proposed a hybrid algorithm that was created by adding the pitch adjustment operation of the harmony search algorithm as a mutation operator to the bat update process to speed up the convergence of the BA. Fister et al. [19] added the Differential Evolution Algorithm strategies to the BA to develop the best available solution that directs the found solutions to better regions of the search space. Imane and Nadjet [20] proposed a hybrid algorithm where BA's new solution selection phase is transformed into a tabu search to detect overlapping communities in social networks. Cincy and Jeba [21] proposed a new algorithm that hybridizes the BA and ABC algorithm, improves convergence speed, and the optimal accuracy. Chaudhary and Banati [22] proposed the Swarm Bat Algorithm with Improved Search(SBAIS) algorithm, which uses BA and the shuffled complex evolution (SCE) algorithm together to improve the exploration ability of BA. Rauf et al. [23] proposed an algorithm that combines Adaptive inertia weight and Sugeno-Function Fuzzy Search concepts to overcome the BA's premature convergence problem. Yıldızdan and Baykan [24] proposed a new algorithm using the hybrid differential evolution algorithm with an advanced BA algorithm to overcome the structural problems of BA and increase its exploration ability. Pan et al. [25] proposed a hybrid algorithm by developing a communication strategy between BA and ABC. In this hybrid algorithm, first, the population is divided into two subpopulations, then run in parallel with BA in one of the subpopulations and ABC in the other. At the end of each iteration, the worst individuals in the BA are replaced with the best individuals in the ABC; the worst individuals in the ABC are replaced by the best individuals in the BA. In the BA_ABC algorithm we proposed, dividing the population into two subpopulations and parallel run of BA and ABC algorithms on the subpopulations are similar to this article. Unlike this article, in the BA_ABC algorithm, when a certain number of iterations is completed, the performances of BA and ABC are evaluated. A certain number of the worst individuals of the failed algorithm are replaced by the best individuals of the more successful algorithm. Also, when an algorithm reaches a certain ratio in the exchange of information, the remaining iterations are continued with this algorithm over the entire population; that is, the parallel run is terminated.
Many studies have been done on the BA and its performance has been significantly improved. However, performance decrease due to increased problem complexity and size is still an ongoing problem. In this study, a hybrid algorithm using the ABC algorithm, which works in parallel with the BA algorithm and can exchange information with the BA algorithm, was proposed to overcome the problems predicted in the BA algorithm. The ABC algorithm was preferred due to its features, such as the fact that its global search capability was stronger than the BA, and it had a mechanism to get rid of the local minimum. The performance of the hybrid algorithm proposed in this study was tested on both small and large problems. Its performance on real-world problems was also examined through tests on selected engineering design problems. The results obtained for each function set from the proposed hybrid algorithm were compared with the BA and ABC algorithms, recently proposed algorithms in the literature or the BA versions. Since not all algorithms selected from the literature contained results for all function sets that we worked with, the algorithms compared for each set of functions varied.
The rest of this study is organized as follows. In the second section, which includes materials and methods, information regarding the BA algorithm, the ABC algorithm, and the structure of the proposed hybrid BA_ABC algorithm is explained, respectively. In the third section, experimental studies and their results are presented. In the fourth section, the contributions of BA and ABC algorithms to the hybrid system are examined. In the fifth section, the complexity of BA, ABC, and BA_ABC algorithms are compared. In the sixth section, the results are discussed. Finally, in the seventh section, the conclusion and future work are explained.

Notations and Nomenclatures
In this section, all notations and nomenclatures used for the bat algorithm, artificial bee colony algorithm, and the proposed hybrid algorithm are given. Tables 1 and 2 show the notations and nomenclatures, respectively. The fitness value of the global best Table 2. Nomenclatures of BA, ABC, and BA_ABC.

BA Nomenclatures echolocation
It is the biological sonar used by some mammals such as bats, dolphins, and whales. sonar The system detects the location and condition of an object with sound waves. prey The optimal solution the bats want to find loudness The intensity of the bat's sound when the bat is approaching prey pulse emission rate The spread rate of sound produced by bats during echolocation global best value The individual with the best fitness value in the population step Amount of progress in solution space location A possible solution for the problem population Set of possible solutions for the problem ABC Nomenclatures food source A possible solution for the problem the amount of nectar The quality of the solution scout bee Bees looking for a random food source in the environment employed bee A bee responsible for a food source and carrying information about that food source to the hive onlooker bee A bee waiting in the hive and selecting a food source depending on the nectar quality and searching around fitness value The value of the objective function greedy selection Selecting the one that is possible and closest to the result BA_ABC Nomenclatures inertia weight Coefficient determining the contribution of the previous speed benchmark functions The function which is used to test the performance of any optimization problem

Bat Algorithm
The Bat Algorithm (BA) is an algorithm proposed by Xin-She Yang [4] in 2010, based on the detection of direction and distance (echolocation behavior) of an object/prey, using sound reverberation. Bats can detect their prey/obstacles through echolocation. According to Yang, the bat algorithm takes place according to the following rules [26].


Each bat uses echolocation to measure how far the prey is.  Bats fly with speed to location at a fixed frequency range [ , ], emitting signals at various wavelengths (λ) and loudnesses (A) to detect their prey.  When bats calculate the distance to their prey, they can adjust the pulse emission rate (r) along with the wavelength of the signal they send.  Despite the variation in loudness, it is assumed that value A decreases from with a large value to a fixed minimum value ( ).

 
min max min In the algorithm, the frequency, speed, and position values for the bat are calculated according to Equations (1)- (3). Frequency determines the step size in the algorithm.
refers to a random value in the range [0,1], and * refers to the global best value.
In the local search section of the algorithm, a new solution is created for each bat by local random step around this solution by selecting a solution among the best solutions available ( old x ). This is done according to Equation (4). In this equation, provided that ∈ [−1, 1], ε is a random number that expresses the magnitude and direction of the step.
refers to the average of the current loudness values of all bats.

Artificial Bee Colony Algorithm
The Artificial Bee Colony algorithm (ABC) is a swarm intelligence based optimization algorithm proposed by Karaboga [27] in 2005. This algorithm was created with inspiration from the foraging behavior of honeybees. Bees in this algorithm are named as scouts, employed bees, and onlooker bees according to their duties. In the algorithm, the number of employed bees is generally equal to the total number of food sources. The employed bee of the source becomes a scout bee when the nectar in the source runs out. In the ABC algorithm, the locations of food sources represent possible solutions to the optimization problem, and the amount of nectar refers to the quality of the solution [28] . The steps of the ABC algorithm can be listed as follows.

Beginning
At this step, scout bees begin to search for food sources randomly. The initial food sources are produced according to Equation (7) between the lower ( ) and upper limit ( ) values of each parameter.
In Equation (7), = 1,2, … , , = 1,2, … , , where D is the number of parameters, and FN is the number of food sources. A counter that is used to indicate whether the amount of nectar of a food source has been exhausted is defined. This control parameter is called "limit". The defined number of limits is an important control parameter in the algorithm [29].

The Employed Bee Phase
The employed bee searches for a new food source around the current food source. It evaluates the food source found. If the amount of nectar in the new food source is better, it saves the new source and deletes the old food source. The new food source is calculated according to Equation (8).
In the equation, provided that , where k is a randomly selected food source, and  is a random number in the range [−1, 1]. After the quality (objective function value) of the source found is calculated, the fitness value of the source is assigned. (9) In Equation (9), represents the value of the objective function, that is, the quality of the source solution. When choosing between the existing food source and the new food source, the greedy selection method is applied depending on the fitness value. If food source is better quality than existing source , is used as the new source and the limit counter is reset. Otherwise, the process continues with source , and the limit counter is increased by one.

The Onlooker Bee Phase
Onlooker bees gather the sources information they obtained from employed bees. Onlooker bees choose a source in line with the probabilities proportional to the fitness values. For each source, a probability value is calculated according to Equation (10).
In Equation (10), is the probability of the source i, and the is expressed the fitness value of the source i. If the probability value calculated for each source is less than a random value produced between [0, 1], onlooker bees produce a new source according to Equation (8). The existing source and the newly produced source are evaluated according to the greedy selection method.

The Scout Bee Phase
If a food source has been exhausted or if a solution has not been developed during a trial number (limit) determined for this source, the employed bee of the source becomes scout bee, and a new food source is generated randomly according to Equation (7) instead of source .

The Proposed Hybrid Algorithm (BA_ABC)
In the bat algorithm, r and A parameters are determinative in establishing the balance of exploitation and exploration. As the iteration progresses, the pulse emission rate increases, and loudness decreases due to the nature of the algorithm. The expression that performs the local search in the algorithm (Equation (4)) is executed depending on the condition that the parameter r is lower than a randomly generated number in the range [0, 1]. Therefore, the increase in r value causes to perform a local search in the initial steps of the iteration and a global search in the next iterations. The inclusion of new and better solutions in the algorithm is done depending on the condition that parameter A is greater than a randomly generated number in the range [0, 1]. As iterations progress, the decrease in A significantly lowers the possibility of including new solutions in the population towards the end of the iteration. In this study, a new hybrid algorithm has been proposed to overcome these structural problems of the BA and to improve global search capability.
In the literature, the inertia weight coefficient previously used in BA [24,[30][31][32] was used in the velocity formula to improve the search capability of the bat algorithm in this study.
Accordingly, as seen in Equation (11), the inertia weight coefficient (w) was added to the velocity formula and used by reducing it chaotically [33] in the range of [0.9, 0.4].
As explained in Section 2.3, the ABC algorithm generates new solutions just by making changes in a randomly selected dimension during the new solution-searching process. This approach provides a more detailed search around the current solution and prevents rapid convergence towards the current solution. With this structure, the ABC algorithm is a stronger algorithm than the BA algorithm in terms of variety and global search capability. In this study, a hybrid algorithm (BA_ABC), in which BA and ABC are operated in parallel, is proposed to benefit from these capabilities of the ABC. In the hybrid algorithm, the population is divided into two. New solutions are produced by applying the BA algorithm to individuals in the first half of the population and applying the ABC algorithm to individuals in the second half. The best solution value ( * ) is updated with new solutions as better solutions are found by the algorithms. When each certain number of iterations (sc) is completed, the performances of the algorithms are examined. In other words, when they find a better solution than the solution defined for BA and ABC and the best solution available, the increased counters (ba_ni or bee_ni) are checked. In the past process, whichever algorithm has produced more new solutions (i.e., whichever counter reaches a larger number), some of the individuals with the best fitness values in the population of that algorithm (as many as the number of ac's) supersede the same number of individuals in the other algorithm with the worst fitness values. Thus, an exchange of information between the algorithms is provided. After each information exchange, the counter of the successful algorithm (ba_sn or bee_sn), which has produced more new solutions, is increased. When any of these counters reach the maximum number of changes (mnc), the algorithm of the counter is considered to be more successful for that problem, and the remaining iterations are continued by executing this algorithm on the entire population.
Thanks to the proposed hybrid algorithm, the BA algorithm gains abilities such as developing global search capability, increasing diversity, and conducting detailed research around the optimal solution with the algorithm that is more successful towards the end of the iterations. The pseudo-code of the proposed algorithm is given in Algorithm 1. Some parameters used in the pseudo-code of the BA_ABC can be explained as follows.
* : It is the individual with the best fitness value in the population.
Bat_new_individual (ba_ni) and bee_new_individual (bee_ni): These are the counters that keep records of how many new solutions are created by BA and ABC, respectively.
Success control (sc): It is a predetermined number of iterations. When iterations equal to each sc value are completed, the performance of the algorithms is examined. In other words, the number of new solutions produced by BA and ABC is checked. Accordingly, the direction of the information exchange is determined. In the study, sc value was chosen equal to the limit value, which is an important parameter in the ABC algorithm.
Bat_success_number (ba_sn) and bee_success_number (bee_sn): This is the counter that keeps track of how many times BA and ABC have been successful in the exchange of information.
Amount of change (ac): It is the number that determines how many individuals with good fitness values in the population of the algorithm with high success will supersede the individuals with bad fitness values in the population of the other algorithm when the iterations as many as the sc value are completed (in this study, this number was determined as 10% of the number of individuals in the population).
Maximum number of change (mnc): It is the number that determines how many times the information exchange will be made between populations. This number is calculated according to Equation (12) in the study. mnc= (max _iteration sc )× 0.6 ⁄ The 0.6 multiplier in this equation was determined as a result of the tests performed. In the test performed, for the multiplier values of [0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], five general cycle averages were taken on the CEC2010 test functions and compared. According to these results, it was determined as 0.6. Accordingly, if an algorithm has been successful in 60% of the total number of changes, the remaining iterations are continued with this algorithm on the entire population.
,..., , 2 1  4. Define the parameters of BA and ABC algorithms and bring them to the initial state.

14.
Generate a new solution new x according to BA. 15.
Accept the new solution.
End For 21.

Generate a new solution new
x according to ABC. 23.
Accept the new solution.

25.
Update The computational complexity of BA_ABC is calculated as follows. Since the algorithm is a hybrid algorithm, it is necessary to consider the complexity of BA and ABC algorithms separately. Since there are no extra loops in the BA and ABC algorithms used in the BA_ABC algorithm, the algorithms have same computational complexity as the standard algorithms. For a P problem, let the computational complexity of its fitness evaluation function be O(P). Accordingly, the worst-case complexity of the standard BA is calculated as O(P × N), where N is the population size [7]. Similarly, the computational complexity of the standard ABC is also O (P × N). Additionally, two scenarios should be considered when calculating the complexity of the proposed hybrid algorithm. The first is the parallel run of BA and ABC in different halves of the population until the total number of iterations (t) is completed. In this case, the computational complexity of BA_ABC is t × (O(P × N 2 ⁄ ) + O(2 × P × N 2 ⁄ )) . The second is that the algorithms work in parallel at the beginning, then one of the algorithms becomes more successful, and the remaining iterations continue with that algorithm. In this case, the complexity of BA_ABC is t1 × O(P × N 2 ⁄ ) + t2 × O(2 × P × N 2 ⁄ ), where t1 and t2 are the iteration number of BA and ABC, respectively, and t = t1 + t2.

Experimental Studies
In this section, the performance of the proposed algorithm on different test sets was examined and the results obtained were interpreted. The best mean values in the tables were highlighted in bold. In the first part, the performance of BA_ABC on 10 selected benchmark test functions was examined for different dimensions. In the second part, the performance of BA_ABC on CEC2005 small-scale test functions [34] was evaluated. The obtained results were compared to the BA versions. In the third section, the performance of BA_ABC on CEC2010 large-scale test functions [35] was examined. The obtained results were compared with the results of different algorithms proposed in recent years in the literature. Also, in the fourth section, the performance of BA_ABC on classical engineering design problems was tested and compared with different algorithms selected from the literature. Results were statistically interpreted with Wilcoxon signed-rank and Friedman tests [36,37]. These are non-parametric tests. Wilcoxon signed-rank test evaluates the differences between the paired results and determines whether there is a significant difference between the results. The Friedman test determines the differences between two or more algorithms and sorts the algorithms according to mean rank values [38].
The common parameter values used in all test sets for BA, ABC, and BA_ABC are as follows. The number of individuals (N) varies depending on dimension but is generally chosen between 10 and 100.
0 according to the most frequently used values in the literature. In addition, these parameters were the same for all of the compared algorithms for each function set. In this study, ABC's limit value was chosen as 100 for small-scale problems and 2000 for largescale problems. Since the ABC algorithm produces a new solution by making changes in one dimension, using a limit value similar to the small size in large-scale problems prevents a detailed search around the current solution. It often leads to the search for a new solution from a random point of the research space without much research. Therefore, it will be useful to increase the limit value depending on the dimension.

Performance of BA_ABC on Classic Benchmark Test Functions
The increase in the dimension of the problem is an important factor affecting the performance of metaheuristic algorithms. The performance of an algorithm that produces successful solutions for small scale problems usually decreases with the increase in dimension. In this section, the effect of dimension increase on the performance of the proposed algorithm is examined. The performance of the algorithm proposed was tested for different dimensions (10, 30, 50, 100, and 1000) on 10 classic benchmark functions that are frequently used in the literature. The maximum number of evaluations (FEs) was determined as 10000×D, and the number of general cycles as 25. The properties of the selected benchmark functions are given in Table 3.
The results obtained from BA_ABC were compared with standard BA and standard ABC algorithms for all dimensions. Comparison results are given in Table 4. Table 4 shows the mean value, standard deviation value, and statistical test results obtained for each dimension. In the Test (T) column, whether there was a significant difference between BA_ABC, and BA and ABC algorithms were examined by applying the Wilcoxon signed-rank test at α < 0.05 significance level. The results of this test were shown with the symbols +, =, and −, which means that one algorithm is significantly better, equal, and worse than another algorithm, respectively. The numbers in parentheses indicate the total number of functions where BA_ABC produced better, worse, and equal solutions compared to other algorithms, respectively. The table also includes mean rank values that express the Friedman test-based ordering of the results obtained from BA, ABC, and BA_ABC algorithms for each dimension. When the Wilcoxon sign rank test results were analyzed for all dimensions, a significant difference was found between BA_ABC and the other algorithms in 89 of the total comparisons. The other algorithms were more successful than BA_ABC in 13 of the remaining comparisons, and no significant difference was found between the compared algorithms in the 18. According to the Friedman test mean rank values given for each dimension, the BA_ABC algorithm ranked first in all dimensions, the ABC algorithm ranked second, and the BA algorithm ranked third. In general, the number of errors obtained from the algorithms was observed to have increased due to the increase in dimensions. However, optimum results were obtained from the BA_ABC algorithm in all dimensions. Table 3. Classic benchmark function.   Similar studies in the literature for the classical functions used in this section are generally conducted for small dimensions. Therefore, the BA_ABC algorithm was compared with the algorithms selected from the literature for D = 30. The mean and standard deviation values of the results are given in Table 5. The results obtained for 30 dimensions were compared with the method used in the study of Fister Jr et al. (HSABA) [19], and with the results from BA (Bat Algorithm), FA (Firefly Algorithm), DE (Differential Algorithm), and ABC (Artificial Bee Colony) in the same study and those from the recently proposed Modified Bat Algorithm hybridizing by Differential Evolution algorithm(MBADE) [24]. When Table 5 was examined, it was found that the proposed method produced the best average values in six functions. Wilcoxon test revealed that there was no significant difference between this method and the hybrid versions of BA like HSABA and MBADE; however, there was a significant difference between this method and other well-known algorithms. According to the results of the Friedman test, BA_ABC ranked first with a mean rank value of 1.8; the MBADE algorithm ranked second with a mean rank value of 2.3.

Performance of BA_ABC on CEC2005 Test Functions
In this section, the performance of BA_ABC on CEC2005 test functions [34] is examined. CEC2005 functions consist of 25 functions with different characteristics. These functions were modified and made more complex by performing operations such as translation, rotation, or hybridization. CEC2005 functions and features were given in Table 6. Under CEC2005 rules, the number of general cycles was determined as 25. The maximum number of evaluations was chosen as 10000×D. After each cycle, the function error  was recorded and sorted in descending order. The 1st (best), 7th, 13th (median), 19th, and 25th (worst) values of the function error were taken, and mean and standard deviation values were calculated using all function error values. Results of BA, ABC, and BA_ABC on CEC2005 test functions for D = 10 are given in Table 7. According to Table 7, BA, ABC produced the best mean values in 22 of 25 functions and BA in the remaining three. Again, BA_ABC produced better mean values in all functions than ABC. When BA and ABC were compared, it was seen that BA produced better mean values than ABC in 22 functions. When compared by the test line in the table, BA_ABC performed better in 22 functions compared to BA, and a significant difference was found between them. BA_ABC had an equal performance to that of BA in one of the remaining functions, and worse performance than that of BA in two functions. According to test results between ABC_BA and ABC, BA_ABC performed better in all functions, and there was a significant difference between them. According to the results of the Friedman test given at the bottom of Table 7, the BA_ABC algorithm ranked first with a mean rank value of 1.12, the BA algorithm ranked second with a mean rank value of 1.96, and the ABC algorithm ranked third with a mean rank value of 2.92. BA_ABC was also compared with other BA versions in the literature. Accordingly, BA_ABC was compared with the recently proposed SBAIS [22], MBADE [24], a Novel Bat Algorithm with habitat selection and doppler effect in echoes (NBA) [6], Island Bat Algorithm (iBA) [13], Bat Algorithm based on Iterative Local Search and Stochastic Inertia Weight (ILSSIWBA) [14], and Global-best Bat-inspired Algorithm(GBA), Tournament Bat-inspired Algorithm (TBA), Proportional Bat-inspired Algorithm (PBA), Linear rank Bat-inspired Algorithm (LBA), Exponential rank Bat-inspired Algorithm (EBA), and Random Bat-inspired Algorithm (RBA) versions [26] proposed in the same study. The mean values of these algorithms are given in Table 8. Accordingly, BA_ABC produced the best mean values in five functions. According to the Wilcoxon test results, it was determined that BA_ABC had an equal performance to the MBADE, ILSSIWBA, TBA, and EBA algorithms, and there was no significant difference between them. BA_ABC performed worse than the SBAIS algorithm and better than the remaining algorithms, and there was a significant difference between them. According to Friedman test results, the SBAIS algorithm ranked first with a mean rank value of 2.78, and the MBADE algorithm ranked second with a mean rank value of 4.16. In addition, the BA_ABC ranked fourth with a mean rank value of 5.22.

Performance of BA_ABC On CEC2010 Large-Scale Test Functions
In this section, the performance of BA_ABC on large-scale test functions was evaluated. For this purpose, CEC2010 benchmark functions [35] were used. The properties of the functions were given in Table 9. According to CEC2010 rules, the maximum number of evaluations (FEs) was taken as 3.00 × 10 6 and the number of general cycles as 25. Comparative results of BA_ABC with BA and ABC were given in Table 10 for 3.00 × 10 6 FEs. According to Table 10, BA_ABC produced the best mean value in 12 functions, BA in one function, and ABC in the remaining seven functions. When Table 10 test column was examined in general, it was seen that the BA_ABC algorithm was better than the BA algorithm in a total of 19 functions, and there was a significant difference between them. No significant difference was found between the BA and BA_ABC algorithms in function number five. When the test results of BA_ABC and ABC were examined, it was found that BA_ABC had significantly worse results in six functions, equal result in one, and better results in 13. According to the results of the Friedman test given at the bottom of Table 10, the BA_ABC algorithm ranked first with a mean rank value of 1.40, the ABC algorithm ranked second with a mean rank value of 1.85, and the BA algorithm ranked third with a mean rank value of 2.75.
For CEC2010 test functions; the BA_ABC algorithm was compared with recently proposed algorithms such as Adaptive Hybrid Differential Evolution with circular sliding window (AHDE) [39], Quantum-behaved Particle Swarm Optimization with Random Selection (RSQPSO) [40], Improved Sine Cosine Algorithm (ISCA) [41], Micro Differential Evolution with local Directional Search (μDSDE) [42], and Adaptive Enhanced Unidimensional Search (aEUS) [43]. The mean values of the algorithms are given in Table 11. According to the results, BA_ABC produced the best mean values in five functions, the AHDE algorithm in one, the RSQPSO algorithm in four, the ISCA algorithm in five, and the aEUS algorithm in five. The μDSDE algorithm, on the other hand, did not produce the best mean value in any function. When the Wilcoxon test results in Table 11 were examined, it was concluded that there was no significant difference between the BA_ABC and aEUS algorithms; however, BA_ABC was better than other algorithms and that there was a significant difference between them. When Friedman test results were examined, it was found that BA_ABC ranked first among the algorithms with a mean rank value of 2.65 and the aEUS algorithm ranked second with a mean rank value of 2.83.   Figure 1 shows the convergence graphs of BA, ABC, and BA_ABC algorithms for every six functions randomly selected from CEC2005 and CEC2010. When the graphs of the CEC2005 functions were examined, it was seen that the BA algorithm converged faster in the graph of function F7, and the BA_ABC algorithm converged faster in the other functions and produced a better solution. When the graphs of CEC2010 functions were examined, it was seen that the ABC algorithm produced the best solution in F3 and F20 functions. The convergence rate and characteristics of ABC and BA_ABC algorithms were similar in function F3. It can be said that BA produced the best solution in function F5, and converged faster than others, but was not able to produce new solutions towards the end of the iteration. In the remaining functions, BA_ABC converged faster and produced better solutions. (A)

Performance of BA_ABC in Classical Engineering Design Problems
Engineering Design can be defined as the process of meeting the requirements that are needed to create a product. Today, meta-heuristic algorithms emerge as an alternative to traditional optimization methods used in this process. The method we proposed in this section was applied to three engineering optimization problems, including pressure vessel design problem, tension/compression spring design problem, and gear train design problem, which are frequently used in literature, and its performance was examined.

Pressure Vessel Design Problem
The pressure vessel design problem is a classic engineering design problem that aims to minimize pressure vessel welding, manufacturing, and material costs [44,45]. It is a problem with four decision variables and four constraints (thickness of shell T , the thickness of head T , inner radius R, length of the cylindrical section of the vessel L). The schematic representation of the problem is given in Figure 2. The result obtained from the proposed method is given in Table 12, with the general cycle number taken as 30 and FES value taken as 30,000. The table shows the values of decision variables and constraint values for the best fitness value. The statistical information obtained after 30 general cycles are also shown in the table. Table 13 shows the comparison results between the ten algorithms selected from the literature and the BA_ABC algorithm. The BA_ABC algorithm has been shown to produce an acceptable result similar to the literature.

Tension/Compression Spring Design Problem
This design problem was studied by Belegundu and Arora [56] and it is an optimization problem whose main purpose is to reduce the weight of spring with three decision variables such as wire diameter (d), mean coil diameter (D) and the number of active coils (N). The schematic representation of the problem is given in Figure 3. The mathematical model of the problem can be summarized as in Equation (14).
The result obtained from the proposed method is given in Table 14, with the general cycle number taken as 30 and FES value taken as 1000. In Table 15, the comparison results of BA_ABC with the literature are given. The BA_ABC algorithm has been shown to produce an acceptable result similar to the literature.  with the literature are given. When the results were examined, it was seen that the best solution was obtained with the BA_ABC algorithm.

Investigation of Contribution of BA and ABC Algorithms to the Solution of BA_ABC Algorithm
The contribution of the algorithms that make up the hybrid system to the solution produced by the hybrid system may vary depending on the problem or function studied. Sometimes an algorithm may be more successful at producing new solutions, or algorithms may perform similarly. Determining the algorithms' contribution amounts can be a guide for future hybrid studies on these functions. For this purpose, in this section, the contribution of the BA and ABC algorithms carried out in parallel to the BA_ABC algorithm to the solution for each function is examined. The results of the contribution of the algorithms to the solution in CEC2005 functions in Table 18 and CEC2010 in Table 19 are stated. In these tables, the BA column indicates the number of times the BA produced more solutions and the number of times the BA was more successful than the ABC algorithm during the control process of the algorithms' success status. Similarly, the ABC column shows the number of times ABC produced more solutions and was more successful. These columns also provide information about the direction of information exchange. For example, BA and ABC columns for the F1 function in Table 19 show that information exchange took place 15 times from the BA population to the ABC population and nine times from the ABC population to the BA population. BA+ and BAcolumns respectively indicate the number of new successful solutions produced by BA and the number of new solutions that failed to develop the current best solution. Again, ABC+ and ABCcolumns show the number of successful and unsuccessful solutions produced by ABC, respectively. C+ and C-columns indicate the number of successful and unsuccessful solutions produced in the process that continued with the successful algorithm, after the parallel operation of the algorithms had ended, respectively. In general, for the relevant algorithm, it can be said that the "+" symbol indicates the number of successful solutions that developed the current best solution, while the "-" symbol indicates the number of failed solutions that could not develop the current best solution. contribution of the ABC algorithm to the result is higher in the F25 function, and the contribution of the algorithms to the solution is similar in the F12 function. In the remaining 23 functions, it was determined that the information exchange was mostly from BA to ABC, and the iterations remaining after the information exchange process were continued with the BA algorithm. In other words, the contribution of the BA algorithm to BA_ABC was higher in 92% of the functions, while the ABC algorithm's contribution to BA_ABC was higher in 4% of the functions. In the remaining 4%, their contribution to BA_ABC was similar. Therefore, it can be said that the BA algorithm is more successful in this set of functions, and it provided a better contribution to the solution. When Table 19 is examined, it is seen that the information exchange took place from BA to ABC in a total of 14 functions (F1, F4, F6, F7, F8, F9, F12, F14, F15, F16, F17, F18, F19, F20) and the remaining iterations after the information exchange process was continued with the BA algorithm. It can be said that BA contributed more to the solution in these functions. In three of the remaining functions (F2, F10, F11), ABC contributed more to the solution, and the information exchange took place from ABC to BA. The remaining iterations after this process were continued with ABC. In F3, F5, and F13 functions, the contribution of the algorithms to the solution of the BA_ABC algorithm was similar. In other words, the contribution of the BA algorithm to BA_ABC was higher in 70% of the functions, while the ABC algorithm's contribution to BA_ABC was higher in 15% of the functions. In the remaining 15%, their contribution to BA_ABC was similar.
According to the results given in Tables 18 and 19, it was determined that the contribution of BA algorithm to the solutions of the hybrid BA_ABC algorithm was higher.

Algorithm Complexity
In this section, the complexity of BA, ABC, and BA_ABC algorithms were calculated according to the rules defined for the CEC2020 [57] test set, and the obtained results were compared. Algorithm complexity is calculated as follows.
T0 denotes the computing time for the problem given in Equation (16). x = 0.55; for i = 1: 1000000 x = x + x; x = x/2; x = x* x; x = sqrt(x); x = log(x); x = exp(x); x = x/(x + 2); end (16) T1 is the computing time just for Function (1) in the test set for a particular dimension(D) and 200,000 function evaluation number. The total computing time for the proposed algorithm with 200,000 evaluations of the same D dimensional function is T2. T2 is executed five times, and the average of the T2 values found is calculated (T2 = mean(T2)). Finally, the algorithm complexity is denoted by (T2 − T1)/T0 and evaluated according to the linear growth. Additionally, the algorithm complexities are calculated on the 5, 10, and 15 dimensions to determine the effect of dimension increase.
The algorithms were coded using Matlab R2016a, and algorithm complexity calculation was done by running the algorithms on a PC with Intel CPU (1.50GHz) and 4GB RAM. The complexity of the BA, ABC, and BA_ABC were shown in Table 20.
According to Table 20, it was seen that the complexities of all algorithms rise depending on the increased dimension. The complexity of the proposed BA_ABC algorithm was higher than the BA and ABC algorithms, in all dimensions. Furthermore, the lowest complexity values for all dimensions were obtained in the ABC algorithm.

Results and Discussion
In this study, to examine the performance of the proposed BA_ABC algorithm in different dimensions and on different test sets, the algorithm was tested on classical benchmark functions, CEC2005 small-scale test problems, CEC2010 large-scale test problems, and classical engineering design problems. Table 4 shows the results of BA, ABC, and BA_ABC algorithms in classical benchmark test functions, and Table 5 shows the comparative results of BA_ABC with other algorithms (BA, ABC, FA, DE, HSABA, and MBADE). When Table 4 was examined, it was determined that the rise in dimension increased the amount of error; however, BA_ABC performed better than BA and ABC algorithms in most functions of different dimensions. Statistical tests also confirmed that BA_ABC was more successful. According to the statistical test results in Table 5, it was found that BA_ABC showed similar performance with hybrid algorithms (HSABA and MBADE). There was a significant difference between the remaining algorithms, and BA_ABC performed better than these algorithms. According to Friedman test results, the BA_ABC algorithm ranked first with the smallest mean rank value. Table 7 shows the results of BA, ABC, and BA_ABC algorithms in CEC2005 small-scale test functions. When Table 7 was examined, it was seen that BA_ABC performed better in BA and ABC algorithms in most of the functions and ranked first according to Friedman results. The comparison results of the BA_ABC algorithm with the recently proposed bat algorithms (SBAIS, MBADE, NBA, iBA, ILSSIWBA, GBA, TBA, PBA, LBA, EBA, and RBA) are given in Table 8. In the table, the BA_ABC algorithm was found to be worse than one of the compared bat versions, similar to four, and better performing than the remaining six. BA_ABC ranked fifth among the algorithms. Table 10 shows the results of BA, ABC, and BA_ABC algorithms in CEC2010 large-scale test functions. Comparison results of BA_ABC with AHDE, RSQPSO, ISCA, μDSDE, and aEUS algorithms are given in Table 11. When Table 10 was examined, it was found that BA_ABC performed better in BA and ABC algorithms in most functions and ranked first according to Friedman results. In Table 11, it was found that the BA_ABC algorithm performed similarly with one of the compared algorithms and performed better than the remaining four. BA_ABC ranked first in the ranking between algorithms. Finally, the algorithm's performance over classical engineering design problems was examined. The results of the three engineering design problems are given in Tables 12−17. When the results were examined, it was seen that the algorithm produced acceptable and successful results for these problems. Overall, the BA_ABC algorithm produced very successful results for all test sets and dimensions, and the success of the algorithm was verified by statistical test results. Also, the contributions of BA and ABC algorithms to the hybrid algorithm were examined in the fourth section. The results obtained for CEC2005 and CEC2010 are given in Tables  18 and 19. It was determined that the BA algorithm contributed more to the hybrid system in most of the functions. Finally, in the fifth section, the complexity of BA, ABC, and BA_ABC algorithms were examined. The complexity of the BA_ABC algorithm was found to be higher than the standard algorithms.
However, the increased dimension-related performance loss is still an ongoing problem for BA_ABC. According to the results of Table 4, it can be said that BA_ABC is relatively less affected compared to BA and ABC algorithms. The structural difficulty of functions (shift, rotation, etc.) is another reason for the loss in BA_ABC performance. Despite this, the algorithm is seen to find more successful results than BA and ABC algorithms in most of the functions. Consequently, BA_ABC is a successful hybrid algorithm, and the reason for its success can be said to be the reduction of convergence speed to the current best solution using inertia weight and the increase of diversity and global search capability thanks to the hybrid system created with the ABC algorithm.
Techniques other than metaheuristic algorithms also can be used to improve the performance of BA_ABC. For example, using machine learning techniques with metaheuristic algorithms might be a good option. Fine-tuning of parameters in metaheuristic algorithms affects algorithm performance substantially. The most suitable parameter value may vary depending on the structural features and dimensions of the problem. Usually, researchers choose the parameters used for similar problems or try to find the most suitable parameter by performing tests with these values. Parameter selection of metaheuristic algorithms can be performed using machine learning strategies (such as fuzzy logic, Bayesian networks, neural networks, support vector machines, etc.). Population management and diversity are another factor affecting performance in metaheuristic algorithms. Machine learning techniques such as the Apriori algorithm, clustering techniques, etc., can be used for extracting information from previously visited solutions, discovering more promising search areas, and increasing population variety [58]. Furthermore, metaheuristic algorithms can be associated with the concept of big data, which has been frequently studied recently. Using metaheuristic algorithms in this field allows us to produce fast responses in real-time areas where data are regularly updated, to work with different data types at the same time, to cope with uncertainties, and to evaluate the information obtained through the use of the objective function [59]. As a result, it may be appropriate to use machine learning options for increasing the population diversity of the proposed BA_ABC and setting its parameters. Furthermore, examining the performance of the proposed BA_ABC algorithm on big data, it can contribute to the literature and present successful results.

Conclusions and Future Work
In this study, a new hybrid algorithm was proposed to improve BA's global search capability and increase its performance on different test sets. In this algorithm, which is called BA_ABC, the population was divided into two, and the BA algorithm was performed in one part and the ABC algorithm in the other. When each certain number of iterations was completed, the performance of the algorithms was evaluated, and the information exchange was ensured by replacing some of the individuals with the best fitness values in the successful algorithm with the individuals with the worst fitness values in the population of the unsuccessful algorithm. When the maximum number of exchanges was reached, the remaining iterations were continued with the successful algorithm. Thanks to the proposed BA_ABC algorithm, performance decreases due to structural problems of the BA algorithm were reduced, and its global search capability was improved.
The BA_ABC algorithm was firstly tested on 10 classic benchmark functions. This test was done on dimensions of 10, 30, 50, 100, and 1000. Despite the increased dimension, the proposed algorithm was found to be more successful than the BA and ABC algorithms. Again, the BA_ABC algorithm performed better than the algorithms selected from the literature. Secondly, CEC2005 small-scale test functions were used to determine how the BA_ABC algorithm was performing compared to the latest BA versions. The algorithm performed better than the BA and ABC algorithms. It produced acceptable results compared to the BA versions. Thirdly, the performance of BA_ABC in large-scale problems was tested on CEC2010 large-scale test functions. It was determined that the proposed algorithm performed better than BA, ABC, and the latest algorithms in the literature. Finally, the BA_ABC algorithm was tested on three frequently used problems of classical engineering design problems. The BA_ABC algorithm produced acceptable results, which were similar to those in the literature in these problems. Also, the contribution of BA and ABC algorithms, which constituted the hybrid algorithm, to the solutions was examined on CEC2005 and CEC2010 functions. It was observed that the BA algorithm contributes more to the solutions of BA_ABC in most of the functions. Finally, in the calculation about the algorithm complexity, it was found that the complexity of the BA_ABC algorithm is more than the standard algorithms. In general, when all the results were examined, it was determined that the proposed algorithm produced successful and acceptable results in different test groups. As a future study, the hybrid system components used in the BA_ABC algorithm can be replaced with different algorithms and tested on CEC functions in recent years. Furthermore, machine learning techniques can be added to increase the performance of the algorithm, or its performance can be examined on big data problems as a different field of study.