SOLVING INTEGER PROGRAMMING PROBLEMS BY USING POPULATION-BASED BEETLE ANTENNAE SEARCH ALGORITHM

: Beetle antennae search (BAS) algorithm is a newly proposed single-solution based metaheuristic technique inspired by the beetle preying process. Although BAS algorithm has shown good search abilities, it can be easily trapped into local optimum when it is used to solve hard optimization problems. With the intention to overcome this drawback, this paper presents a population-based beetle antennae search (PBAS) algorithm for solving integer programming problems. This method employs the population's capability to search diverse regions of the search space to provide better guarantee for ﬁnding the optimal solution. The PBAS method was tested on nine integer programming problems and one mechanical design problem. The proposed algorithm was compared to other state-of-the-art metaheuristic techniques. The comparisons show that the proposed PBAS algorithm produces better results for majority of tested problems.


Introduction
A discrete optimization problem where all the variables are restricted to integer values is an integer programming problem.This problem can be stated as (Tawhid et al., 2019): where S is the feasible region, while Z is the set of integers.
Solving integer programming problems is a difficult task since these problems are known to be NP-hard.High computational cost is significant drawback of the exact optimization techniques when they are used to solve large-scale optimization problems.On the other hand, metaheuristic techniques are global optimization algorithms which can be adjusted to suit specific problem requirements.These techniques can usually reach quality solutions with less computational work.
Two important classes of metaheuristics are single-solution based and population based algorithms.Single-solution based metaheuristic methods, such as simulated annealing or recently proposed beetle antennae search (BAS) algorithm focus on enhancing a single potential solution.Methods which maintain and enhance multiple candidate solutions are population-based approaches.These methods use population features to lead the search and can investigate exceptionally large spaces of candidate solutions.Some of the most popular population-based metaheuristics are particle swarm optimization (PSO) (Kennedy & Eberhart, 1995), gravitational search algorithm (GSA) (Wang et al., 2021), artificial bee colony (ABC) (Karaboga, 2005), cuckoo search (CS) (Yang, 2008) and whale optimization algorithm (WOA) (Mafarja & Mirjalili, 2017).Recently, a lot of metaheuristic algorithms are being proposed and employed to solve problems from diverse fields (Brajević & Stanimirović, 2018;Brajević & Ignjatović, 2019;Brajević et al., 2020;Brajević 2021;Du et al. 2020;Wang et al. 2020).
The BAS is a novel population-based metaheuristic method that mimics the beetle preying process.In this algorithm, when the beetle preys, two antennae of the beetle can feel the intensity of the odor released by the food (Wu et al., 2019;Khan et al., 2021).According to the diverse information of antennas, the beetle updates the flight direction and potentially reaches the food.This method is mostly applied to the optimization of single-objective problems, and it has local optimization performance (Zhang et al., 2021).However, when BAS is employed to solve multidimensional and multimodal problems, it can easily fall into a local optimum.
No single metaheuristics is suitable for solving all optimization problems as it is stated in no free lunch theorem (Brajević & Ignjatović, 2019).To find out which method has the best performance on which type of problems, metaheuristic methods have been modified to enhance their search abilities.The BAS algorithm is recently developed metaheuristic method which has shown good performance for solving certain optimization problems.To our knowledge, the BAS is not tested to solve integer programming problems.Therefore, proposing proper modifications to improve its global search capability to avoid local optimums and to solve this class of problems is a research problem.The main contribution of this study is development of a population-based beetle antennae search (PBAS) algorithm for solving integer programming problems.The PBAS employs the population's capability to search different regions of the search space.This method was tested on nine well-known integer programming problems and one mechanical design problem.
The paper is organized as follows.Section 2 presents beetle antennae search algorithm.The proposed PBAS is described in Section 3. Section 4 describes benchmark functions, while Section 5 presents analysis of the achieved results.

Beetle antennae search algorithm
The BAS algorithm is inspirited by searching behavior of beetles with two antennae (Jiang & Li, 2018).This algorithm considers the surrounding natural ambience as the search region.The algorithm leads the beetles forward with the odor concentration in the air.Most of beetles have two long antennae and use them as signal receivers.Basic functions of these antennae are to bind to odor of prey.A beetle investigates neighbor region randomly employing both antennae.In addition, when the antennae in one side discover a higher concentration of odor, the beetle would spin in the direction of the same side.In other case, the beetle would focus on the other side.This behavior could be expressed so that it is related to an objective function.The BAS algorithm employs two rules, searching behavior and detecting behavior of beetles.Since the beetle searches randomly to investigate search space, a random direction of searching is described using the following equation: where k is the dimensions of position and rnd(.)denotes a random function.Also, the searching behaviors of right-hand and left-hand sides mimic the actions of the beetle's antennae.These behaviors are described as follows: where d is the sensing length of antennae,   is a position in the searching region of righthand side, while   denotes that of the left-hand side.This value should be large enough to exploit a suitable searching region.The following equation is used to update the beetle position: where  is the step size of searching and sign() is the sign function.The BAS algorithm uses the step size  to control the convergence speed.The antennae length d and the step size  are updated through the search as follows: where t is the current iteration number.
Algorithm 1. Pseudo code of the BAS algorithm Initialize algorithm's parameters MNI, , ; Initialize solution x i randomly in the search space and evaluate it; while (t <= MNI) do Create the direction vector  ⃗ by Eq. ( 2); Provide search with two kinds of antennae by Eq. ( 3); Update the beetle position by Eq. ( 4); Update the best solution obtained so far; Update parameters d and  according to Eq. ( 5); t = t + 1;

end while
The main steps of this method are presented as Algorithm 1 (Jiang & Li, 2018).

The proposed algorithm: PBAS
In the beetle antennae search technique only one beetle is used for the optimization.The left and right antennas enable the beetle to pick up the information and to improve toward the global optimum.However, if the BAS method is employed to optimize some hard optimization problems, it will easily get stuck into the local minimum.To solve integer programming problems, the population-based BAS (PBAS) algorithm is proposed.The proposed PBAS method reaches quality solutions by iteratively choosing and integrating solutions from the population.In the optimization process, those beetles not only learn their own optimal experience, but also learn the experience of the other individuals in the population.

end while
Motivated by the strong ability to generate solutions with plenty of diversity of mutation strategies used in the ABC (Karaboga, 2005;Zhu and Kwong, 2010), the search strategy used in the PBAS is given as follows: Where φij is randomly picked real number in range (-1, 1), xk is a randomly picked solution that is different from xi ,  is the step size control parameter, d is the antennae length, b is direction vector, sign() is the sign function, yj is the jth element of the global best solution, wij is a uniform random number in range (0, 1.5), Rj is a randomly picked real number in range (0,1), i ∈ {1, 2, … , SP} and SP is the size of population, j ∈ {1, 2, … , D} and D is dimension of the problem.The greedy selection process between   and   is then performed to decide whether the solution will be updated.Algorithm 2 presented the pseudo code of the PBAS technique.
According to Eq. ( 6), if Rj is less or equal to 0.5 the first equation is performed, otherwise the second one is executed.The first equation has a good ability to investigate diverse regions of a search space due to its second term.On the other hand, the second equation integrates the information of the global best solution which enhances the ability of the algorithm to search in the regions of formerly investigated quality solutions.It follows that the exploration and exploitation abilities of the PBAS method are well balanced which is of great significance to reach good performance.It is also important to note that the proposed approach has simple implementation.
The disadvantage of the proposed PBAS, as in many other metaheuristics, is in finding a proper combination of parameter settings.These settings have crucial influence on the algorithm performance.The parameter settings which generate quality solutions for specific problem, might not produce good solutions for other problems.A possible way for overcoming this lack is to extend the PBAS with self-adaptive control parameters.

Benchmark problems
To examine the performance of the PBAS method nine integer optimization problems and one mechanical design problem often used in the literature are used (Akay & Karaboga, 2009).These problems are presented as follows: Test Problem 1.This problem is defined by: Test Problem 4. This problem is defined by: The global minimum is F4(x * ) = 0 at x * = (1, 1).
For each test problem the solutions were constrained in [−100, 100] D , where D is the dimension of the corresponding problem.For problems F1 and F2, the dimension D is set to 5.
To further test the performance of the proposed algorithm, the gear train design problem is employed.The goal of this problem is to minimize the cost of the gear ratio of the gear train.The design of this problem is shown in Figure 1 (Akay & Karaboga, 2012).

Figure 1. The gear train design
The gear ratio is defined as: Let us denote design variables of the problem nA, nB, nD, nF as x1, x2, x3, x4 respectively.Each variable must take an integer value between 12 and 60.The problem is formulated as: The global optimum for this problem is 2. 700857E−12.

Experimental analysis
The proposed PBAS and ABC are implemented in Java programming language.Both algorithms were tested to solve nine integer programming benchmark problems.Additionally, to reveal the effectiveness of the PBAS, it is also compared to four metaheuristics that were previously applied to solve the first seven benchmarks.These metaheuristics are the basic particle swarm optimization (PSO), standard cuckoo search (CS), gravitational search algorithm (GSA) and whale optimization algorithm (WOA).The results of the PSO, CS, GSA, and WOA are taken from (Tawhid et al., 2019).
In the PBAS the SP is set to 20, while the maximum number of function evaluations (MaxNFEs) was set to 20,000.Techniques used for comparison with the PBAS also performed the same MaxNFEs of 20,000.In Table 1, the mean, standard deviation values and success rate values of the PSO, ABC, CS, GSA, WOA and PBAS methods are presented.From Table 1 the PBAS achieved better mean results on most test problems in comparison with its rivals.Concretely, the PBAS is better than PSO, ABC, CS, GSA and WOA in seven, five, six, five and six benchmarks, respectively.On the other hand, the PBAS is outperformed by the PSO, ABC, CS, GSA and WOA in zero, four, one, two and one test problems, respectively.Also, the SR values show that the PBAS obtained a 100% success rate for each problem.Compared with ABC, the PBAS can produce better performance in terms of success rate for the benchmark F3.For the other eight benchmarks the PBAS and ABC reached the same SR values.Figure 2 shows four representative convergence graphs obtained by the PBAS of the selected test problems.
To solve gear train problem, in the PBAS method the SP was set to 10, while the MaxNFEs was set to 5000.The statistical results of the PBAS method and five other metaheuristic techniques: unified particle swarm optimization (UPSOm) (Parsopoulos & Vrahatis, 2005), artificial bee colony (ABC) (Akay & Karaboga, 2012), improved accelerated particle swarm optimization (IAPSO) (Guedria, 2016), mine blast algorithm (MBA) (Sadollah et al., 2013) and CS (Gandomi et al., 2013) are presented in Table 2.The results of the UPSOm, ABC, IAPSO, MBA and CS were taken from their respective literature.In Table 2, the mark NA means that the results are not presented in the corresponding paper.The results presented in Table 2 showed that each method can achieve the same best solution.The reached best solution is equal to the global optimum.The PBAS has achieved the smallest mean and standard deviation values among all compared algorithms.

Conclusion
In this paper, a population-based beetle antennae search (PBAS) technique for solving integer programming problems is proposed.The PBAS approach achieves quality solutions by iteratively choosing and combining solutions from a population.The PBAS algorithm was tested on nine integer programming problems and one mechanical design problem.The proposed approach was compared to several prominent metaheuristic algorithms.These algorithms showed a good performance when they were applied to the same benchmark integer programming problems.Reached results confirmed that the PBAS performs better than the other algorithms in most benchmark problems.Compared with five other metaheuristics, the PBAS achieved competitive performance for solving the mechanical design problem.Therefore, it can be concluded that the proposed PBAS method is an encouraging approach for tackling integer programming problems.Future work will encompass several directions.Including ideas from opposition-based learning in the proposed population-based beetle antennae search algorithm with the intention to enhance its efficiency will be investigated.To efficiently solve hard constrained optimization problems, incorporating different constraint handling methods are important problems for further investigation.Also, proposing suitable modifications of the proposed algorithm for solving more complex optimization problems should be explored.
Algorithm 2. Pseudo code of the PBAS algorithm Initialize algorithm's parameters SP, MNI, , ; while (t <= MNI) do for i = 1 do SP do Create a potential new solution   by Eq. (6) and evaluate it; Apply greedy selection process between   and   ; end for Update the parameters of  and ; Update the best solution obtained so far; t = t + 1;

Table 1 .
Comparative results achieved by the PSO, ABC, CS, GSA, WOA and PBAS for the F1-F9 integer programming problems (best results bold).

Table 2 .
Comparative results achieved by the UPSOm, ABC, IAPSO, MBA, CS and the PBAS for gear train problem (best results bold).