A balanced butterfly optimization algorithm for numerical optimization and feature selection

Butterfly optimization algorithm (BOA) is a relatively novel optimization technique for solving function optimization as well as real-world applications. However, the paramount challenge in BOA is that it is prone to stagnation in local optima. The purpose of this study is to balance the exploration and exploitation abilities of BOA when two new strategies are introduced. The dynamic inertia weight based on Logistic model as the first strategy is introduced to modify the position updating equation. Another strategy is the opposition-based learning. A new variant of BOA called BBOA based on these two strategies is proposed. Ten widely used benchmark test functions and 30 complex benchmarks from CEC 2014 are selected to verify the effectiveness of BBOA. The used benchmark problems are composed of unimodal, multimodal, rotated, shifted, hybrid and composite functions. The experimental results and analysis show that the proposed BBOA has better exploration ability than the conventional BOA when solving different characteristics functions. Finally, BBOA is applied to solve three real-world engineering applications and sixteen feature selection problems. The results demonstrate that BBOA can outperform other competitors in terms of the accuracy of solution on constrained engineering design and feature selection problems.


Introduction
The solving of many real-world engineering applications can be transformed into a complex numerical optimization problem by constructing an appropriate fitness function (Singla et al. 2021;Ahmadi et al. 2022;Paliwal et al. 2022;Long et al. 2022a). Without loss of generality, a numerical optimization problem can be formulated as where f ðÁÞ is the objective function, X represents the decision variable vector, x j ðj ¼ 1; 2; Á Á Á ; DÞ is the jth variable, and D denotes the number of variables. The numerical optimization problem described by Eq. (1) is usually highly complex and nonlinear, and it is difficult to solve it effectively by using gradient-information-based optimization methods. Many nature-inspired meta-heuristic optimization algorithms, such as genetic algorithm (GA), particle swarm optimization (PSO), artificial bee colony (ABC), ant colony optimization (ACO), cuckoo search (CS), bat algorithm (BA), grey wolf optimizer (GWO), firefly algorithm (FA), whale optimization algorithm (WOA), are proposed to solve various numerical optimization problems and are found in swarm intelligence and evolutionary computation literatures. GA mimics the process of natural selection (Goldberg 1989). PSO is inspired by the social behavior of bird flocking and fish schooling (Kennedy and Eberhart 1995). ABC is based on the principle of honey bee foraging behavior (Karaboga and Basturk 2008). ACO is inspired by the foraging behavior of ant colonies (Blum 2005). CS is based on the obligate brood parasitic behavior of some cuckoo species (Huang et al. 2016). BA mimics the echolocation behavior of microbats (Yang et al. 2010). GWO mimics the social leadership and hunting behavior of grey wolves (Mirjalili et al. 2014). FA is inspired by the idealized behavior of the flashing characteristics of fireflies (Yang 2009). WOA is based on the bubble-net hunting behavior of humpback whales (Mirjalili and Lewis 2016). The main advantage of these algorithms is their use of the ''trial-anderror'' principle in searching for solutions. Thus, these algorithms were successfully applied in solving function optimization problems and real-world engineering optimization problems.
In this paper, we focus on the butterfly optimization algorithm (BOA), which was developed by Arora and Singh (2019). BOA mimics the food searching and mating behavior of biological butterflies in nature. The frame work of BOA is mainly based on the foraging strategy of butterflies, which utilize their sense of smell to determine the location of nectar or mating partner. Similar to other nature-inspired meta-heuristic algorithms, BOA does not require gradient knowledge of the function, easy implementation, and fewer parameters for adjustment. Preliminary studies suggest that the BOA shows excellent performance on function optimization problems, when compared to the other nature-inspired meta-heuristic algorithms. Therefore, BOA is widely applied to solve global optimization and real-world optimization problems such as feature selection (Arora and Anand 2019;Sadeghian et al. 2021;Tiwari and Chaturvedi 2022), partial differential equation (Tan et al. 2020), breast cancer prediction (Thawkar et al. 2021), photovoltaic array (Fathy 2020), cluster head selection (Daniel et al. 2021), association rule mining (Zoraghchian et al. 2021), data placement and scheduling (Hosseinzadeh et al. 2021), image thresholding optimization (Sowjanya and Injeti 2021), image segmentation , constrained optimization (Prasanthi et al. 2021), photovoltaic model parameter identification (Long et al. 2021b), large-scale optimization (Li et al. 2022a, b), photovoltaic optimization (Kong et al. 2022), node coverage problem (Ma and Duan 2022), cooperative spectrum sensing optimization (Gul et al. 2022), and ship motion forecasting (Li et al. 2022a, b).
Like other nature-inspired meta-heuristic optimization algorithms, the BOA also faces up to some challenging problems. For instance, the basic BOA has tendency to show premature converge to local optima when solving complex multimodal problems. This phenomenon can be attributed to the loss of population diversity in the later stage of iteration.
As a matter of fact, convergence and diversity are necessary during the iterative process of BOA. However, the two aspects contradict each other. To avoid falling into local optima by achieving a proper balance between convergence and diversity, many modified version of BOA have been suggested (Yuan et al. 2020;Sharma and Saha 2020;Fan et al. 2020;Mortazavi and Moloodpoor 2021;Long et al. 2021a, b;Zhou et al. 2021;Luo et al. 2021;Sharma et al. 2022). While the most BOA variants introduce additional operators or new mechanisms, premature convergence remains a major issue in most existing BOA variants. In addition, no algorithm is perfect. Thus, the goal of this paper is to balance the exploration and exploitation capabilities of BOA by introducing two strategies. The primary contributions of this study are summarized as follows: (1) A new variant of the BOA, called BBOA, is suggested to solve benchmark test functions and engineering design problems.
(2) The dynamic inertia weight based on Logistic model is proposed to effectively balance the exploration and exploitation abilities of the conventional BOA.
(3) The opposition-based learning strategy is introduced to further enhance the population diversity. (4) Comprehensive experiments demonstrated that the BBOA obtains excellent performance on function optimization and engineering design problems.
The remainder of this paper is organized as follows. Section 2 provides the preliminary knowledge. The modifications are introduced and the BBOA are explained in Sect. 3. The BBOA is tested on benchmark problems and real-world engineering applications in Sect. 4. Section 5 concludes this investigation and presents the future works.

Butterfly optimization algorithm
BOA is a new meta-heuristic algorithm developed by Arora and Singh (2019). It simulates the foraging and mating behavior of butterflies. In BOA, the fragrance is formulated as a function of the physical intensity of stimulus as follows: where f represents the perceived magnitude of the fragrance, c denotes the sensory modality, I is the stimulus intensity and a is the power exponent. In BOA, I of a butterfly is associated with the encoded objective function. There are three phases in BOA: initialization, iteration and final phases. In the initialization phase, the initial parameters and an initial population of butterflies are generated. Additionally, the objective function value of each butterfly is calculated and determines the global optimum (g*) of the current population. In the iteration phase, a number of iterations are performed by the BOA algorithm. There are two key steps in the algorithm: global search and local search phases.
In global search phase, the butterfly takes a step toward the optimal butterfly/solution (g Ã ): where x i represents the position vector of ith butterfly, t is the number of iteration, r 2 ½0; 1 is a random number, g Ã denotes the global optimum, and f i is the fragrance of ith butterfly. Local search phase is described as follows: where x j and x k are jth and kth butterflies from the solution space which are selected randomly from the current population and i 6 ¼ j 6 ¼ k.
The above-mentioned Eqs. (3) and (4) are used in BOA in a following manner where p 2 ½0; 1 is a constant number.
In the final phase, till the stopping criteria is not matched, the iteration phase is continued.
The pseudo code of the basic BOA is shown in Algorithm 1.

Motivation
The performance of meta-heuristic optimization techniques in terms of search capability depends on how well it achieves a proper balance between exploration and exploitation during the searching process (Gupta et al. 2020;Long et al. 2021a). However, the basic BOA has exhibited an insufficient balance between convergence and diversity (Li et al. 2019). The performance on complex optimization functions demonstrates that BOA has the problem of high intensification without sufficient exploration (Li et al. 2019;Long et al. 2021a). In the basic BOA, the previous search agents are replaced in each iteration by new generated candidate individuals and only the current best individual is saved for the next generation. The individual does not contribute its ability to guide search, which may be the reason why the algorithm has inefficiencies exploration. Therefore, two modified strategies are introduced in the basic BOA to overcome the above-mentioned problems. This is also the main motivation of this work.

Modification of position-updating equation
It is well-known that every nature-inspired meta-heuristic algorithm must balance the tradeoff between exploration and exploitation, as it is very important to efficiently find the global best solution. Generally speaking, in the early stages of search process, it is always desired that the search agents are needed to wander throughout the search space rather than gathering around a local optima region (exploration). However, to find the optimum solution of problem, it must converge toward the global best solution in the later stages of search process (exploitation).
BOA as a relatively new nature-inspired meta-heuristic optimization algorithm, the abilities of exploration and exploitation are also needed to balance. According to Eq. (5), the global best solution (g*) and the two randomly selected solutions (x j and x k ) are introduced to balance the exploration and exploitation, respectively. In other words, the individual in the global search phase updates its position by learning from the global best solution of the current population, to accelerate the convergence and improve the exploitation ability. Furthermore, the individual in the local phase renews its position by learning from the current and two randomly selected individuals simultaneously, to improve the diversity and enhance the exploration ability. However, the parameter r in Eq. (5) is a random number, its ability to balance the exploration and exploitation is limited.
PSO is a nature-inspired meta-heuristic optimization algorithm developed by Kennedy and Eberhart (1995). Empirical studies on PSO with inertia weight (w) have shown that a relatively large w exhibits better global exploration, while a relatively small w results in local exploitation (Long et al. 2020(Long et al. , 2019Shi and Eberhart 1998). Inspired by PSO, in order to balance the exploration and exploitation of BOA, we herein introduce an inertia weight (w) and modify the position-updating equation described by Eq. (5) as follows: if rand\p where w 2 ½0; 1 is the inertia weight coefficient.
According to the principle of the SCA, in the early stage of search process, the larger w value means that the search step size is longer and the population search range is wider, which can enhance the global search exploration ability. However, the convergence speed is lower. In order to accelerate the convergence, the value of w should be reduced at a higher speed. In the latter stage of search process, the smaller w value means that the search step size is shorter and the population is concentrated on a small search region, which can improve the local exploitation. However, the population diversity is poor. To avoid the population fall into the local optimum, the value of w should be reduced at a slower speed. Assume that the maximum and minimum values of w are w max and w min , respectively. In the early stage of the evolution search, assume that the initial decay rate of w is b. The value of b is gradually reduced as the number of iterations increase. When the value of w decreases to the w min , the w will stop decreasing, i.e., the decay rate b is zero. Therefore, the variation of the value of w is in accordance with the Logistic model, and its mathematical formulation is: Using the separation variable method to solve Eq. (7), and the dynamical adjustment formula of w can be obtained: where t is the current iteration, and b is the initial decay rate. From Eq. (8), when t ¼ 0, wðtÞ ¼ w max , and when t ! 1, it is easy to prove wðtÞ ¼ w min .
Compared with the position updating Eq. (5) in the basic BOA, the position updating Eq. (6) in proposed algorithm introduces the dynamic inertia weight w to further balance between convergence speed and population diversity of the BOA.

Opposition-based learning strategy
In the basic BOA, according to the position updating way of the other butterfly individuals, the new candidate individuals are generated by moving the current individual toward the global best individual (g*). In the latter stage of evolution search, all of the other butterfly individuals are attracted toward the global best butterfly; they may converge prematurely without enough exploration of search space. Therefore, the basic BOA is prone to premature convergence. Accordingly, the ability to jump to out of local optima has become the most important and attractive goal in BOA improvement.
Definition 1 Opposite number. The opposite of real number x 2 ½l; u is given byx: where l and u are the lower and upper bound of search space, respectively.
Definition 2 Opposite point. Suppose X ¼ ½x 1 ; x 2 ; . . .; x D , where x 1 ; x 2 ; . . .; x D 2 R and x i 2 ½l i ; u i . The opposite point X ¼ ½x 1 ;x 2 ; . . .;x D is defined by: In OBL strategy, the opposite pointX is replaced with it is corresponding solution Xãã based on the fitness function. If f ðXÞ is better than f ðXÞ, then X not changed, otherwise, X ¼X.
In this paper, the OBL strategy is applied to the global best individual with a certain probability. The specific implementation is as follows. Suppose r 2 ½0; 1 is a random number, if r\q (q 2 ½0; 1 is a constant number), the OBL strategy is implemented, otherwise, the OBL strategy is not performed. The purpose of this strategy is not performed the OBL strategy every iteration, and thereby reduce the computational complexity of algorithm.

The flowchart of BBOA
With the descriptions above, the flowchart of the proposed BBOA is shown in Fig. 1.

Simulations and comparisons
To comprehensively investigate the performance of BBOA, a series of experiments are used to handle various mathematical benchmark test cases. All experiments are conducted using MATLAB R2014a software under a Windows 10 operating system and the hardware platform used is configured with Intel (R) Core (TM) i5-5575R CPU (2.80 GHz) and 8 GB RAM.

Experiments on benchmark function optimization problems
In this subsection, 10 widely used benchmark function optimization problems are chosen from reference (Long et al. 2019) to investigate the capability of BBOA. The formulation and descriptions of functions are summarized in Table 1. It is should be noted that these optimization problems are the minimization problems and their theoretical optimal values (f min ) are 0.
In Table 1, these test functions have different characteristics, i.e., unimodal, multi-modal, non-separable, hybrid and composition characteristics. The functions with different characteristics are used to test the different capabilities of algorithm. For instance, the unimodal functions are very beneficial to test the exploitation ability of algorithms since they only have one global optimum. The multimodal functions have many local optima and are very suitable to evaluate the exploration capability of algorithms (Long et al. 2018).

Results on benchmark function optimization problems
To verify the effectiveness and efficiency of BBOA, other common algorithms are also implemented on the widely used benchmark function optimization problems in Table 1. Thus, the nonlinear inertia weight PSO (NIW-PSO) (Chatterjee and Siarry 2006), covariance matrix adaptation evolution strategy (CMA-ES) (Hansen and Ostermeier 2001), and BOA (Arora and Singh 2019) are selected to optimize these benchmark functions and the results are compared to those obtained by BBOA. For fair comparisons, the parameters of four optimizers are all set in a relatively fair way. Thus, the population size is 30, and the total number of iterations is 500. The dimension of each function is 30. The other best parameters of four algorithms are set using test and trial. In BBOA, w min = 0.1, w max-= 0.9, b = 0.5. Four algorithms are tested under the same condition and operating system. To reduce random error, each algorithm is independently executed 30 runs. The experimental results of four algorithms in terms of the  Table 2. It should be noted that the best result of each function is highlighted by bold. Additionally, the Wilcoxon sign rank test at 0.05 significant level is utilized to investigate the statistically significant difference between BBOA and other algorithms. The symbols of '' ? '', ''&'', and ''-'' represent that BBOA is superior to, similar to, and worse than the corresponding algorithms, respectively. Meanwhile, the Friedman test is also used to rank the average performance of four algorithms, and the average ranking (AR) and the total ranking (TR) are provided in Table 2.
From Table 2, BBOA can obtain the theoretical optimal values (0) on seven test functions (i.e., f 1 , f 2 , f 5 , and f 7 -f 10 ). The performance of NIW-PSO, CMA-ES, and BOA on ten 30-dimensional functions remains to be improved. Compared with NIW-PSO algorithm, BBOA gets better results on all of the test functions. With respect to the CMA-ES algorithm, BBOA finds better results on all of the functions other than f 3 . For f 3 , the better result is obtained by CMA-ES. Compared to the BOA algorithm, BBOA provides better and similar results on nine and one test functions, respectively. In addition, according to the results of the Wilcoxon's sign rank test, the proposed BBOA is significantly better than NIW-PSO, CMA-ES, and BOA on nine  functions. In terms of AR and TR values, BBOA obtains the first average ranking, followed by BOA, CMA-ES, and NIW-PSO, respectively. To further investigate the advantages of BBOA, the convergence curves of four algorithms for four typical test functions (i.e., f 2 , f 5 , f 6 , and f 10 ) are provided in Fig. 2.
As shown in Fig. 2, the proposed BBOA can obtain fast convergence and high precision compared to the other three algorithms on four typical function optimization problems with D = 30.

Scalability test
The scalability test can evaluate the impact of dimension on both excellence of results and effectiveness of optimizers, simultaneously (Long et al. 2019). To further test the scalability of the proposed method, the BBOA is applied to solve the higher dimensional function optimization problems (i.e., D = 100 and D = 1000). In this experiment, 10 benchmark test problems from Table 1 are used. We used the same parameter settings as in the experiments above, and maintain the population size or number of fitness function evaluations. The average (Mean) and standard deviation (St.dev) of objective function values obtained by BBOA and other three algorithms, the results of the Wilcoxon's sign rank test, and the results of Friedman's test are reported in Tables 3 and 4, respectively. The best result of each function is marked in bold.
From Tables 3, 4, except for the function f 3 with D = 100 and D = 1000, BBOA showed very good scalability to the search dimension for the other problems, in other words, the performance of BBOA did not deteriorate seriously as the dimension increased. It should be emphasized that the problem optimization for 1000 dimensions was very challenging for BOA because it does not use any particular operators tailored to solve high-dimensional optimization problems. However, the performance of NIW-PSO, CMA-ES, and BOA did deteriorate seriously as the dimension increased. In addition, Figs. 3, 4 provided the convergence curves of four algorithms on four typical function optimization problems with D = 100 and D = 1000. As shown in Figs. 3, 4, BBOA can reveal obvious advantages over other three algorithms in terms of convergence and precision.

The impact of w min and w max
In BBOA, the inertia weight w is an important parameter to effectively balance between convergence and diversity. However, from Eq. (7), the value of w is mainly determined .y w min and w max . Some experiments are conducted to investigate the impact of w min and w max . According to the repeated test and trials, we concluded that the proposed BBOA is not sensitive to the parameter w max . Therefore, in this subsection, we only analyze the impact of w min by some experiments. We manipulated the value of w min while keeping the other parameters fixed. Vales w min = 0.1, w min = 0.3, w min = 0.5, and w min = 0.7 are examined for all of the 10 function optimization problems with D = 30 in Table 1. It should be noted that, in previous experiments, the value of w min is 0.1. For comparison, the results related to w min = 0.1 are also reported. The Mean and St.dev results of BBOA using different w min values are provided in Table 5.
From Table 5, compared with BBOA using w min = 0.3, BBOA with w min = 0.1 obtains better and similar results on three (f 2 , f 4 and f 7 ) and seven functions, respectively. The performance of BBOA using w min = 0.1 has better than w min = 0.5 on seven test functions. For the other three (f 3 , f 6 and f 9 ) test functions, BBOA with w min = 0.1 and w min = 0.5 find similar results. With respect to the BBOA with w min = 0.7, BBOA using w min = 0.1 gets better results on all of the test functions except for f 3 and f 6 . For f 3 and f 6 , two algorithms obtain similar results.
In addition, Fig. 5 shows the convergence curves of BBOA using different w min values for four typical test functions (f 2 , f 5 , f 6 and f 10 ) with D = 30. As can be seen from Fig. 5, BBOA using w min = 0.1 has higher precision and faster convergence than other three cases on f 2 (Schwefel 2.21), f 5 (Sumpower), and f 10 (Stretched V-sine) functions. For f 6 (Ackley), BBOA using w min values obtain similar results. However, BBOA with w min = 0.1 has better faster convergence than other three cases.
From Table 5 and Fig. 5, according to all of the w min values analyzed, we concluded that the setting of w min-= 0.1 for the BBOA is an appropriate choice.

Experiments on complex benchmark functions from CEC 2014
In this subsection, the effectiveness and efficiency of BBOA is further verified by using the other 30 functions from IEEE CEC 2014 special session, which is more difficult than the 10 widely used benchmark function optimization problems in  (Liang et al. 2006) is a well-performance particle swarm  optimization based on comprehensive learning concept and is a classical competitive approaches; JADE (Zhang and Sanderson 2009) is a well-known adaptive differential evolution with optional external archive and is a traditional competitive meta-heuristic optimization algorithm; RW-GWO (Gupta and Deep 2019a) is an improved version of

Experiments on engineering design problems
This subsection further investigates the performance of the proposed BBOA by solving three constrained real engineering design problems (Coello and Montes 2002), i.e., tension/compression spring design, pressure vessel design, and three-bar truss design. These design problems are widely discussed in the literature and have been solved to better clarify the performance of the algorithms. The Deb's feasibility-based rule (Deb 2000) is used to handle the constraints. In BBOA, the population size is 30 and the maximum number of iterations is 1000.

Tension/compression spring design problem
As shown in Fig. 6, the main goal of this design problem is to minimize the weight of the tension/compression spring. There are three variables, i.e., d (x 1 ), D (x 2 ), and P (x 3 ). The mathematical formulation of tension/compression spring design problem is defined as follows: where 0:05 x 1 2, 0:25 x 2 1:30, 2:00 x 3 15.
The tension/compression spring design problem has already been solved by many optimization approaches. The comparison results of BBOA with other state-of-the-art algorithms are given in Table 7. For the tension/ compression spring design problem, as shown in Table 7, the best solution is obtained by the TEO, EEGWO, and CSA. However, the number of function evaluations for the TEO, EEGWO, and CSA are 30,000, 50,000 and 50,000, respectively. Compared with the GA, CPSO, GSA, GWO, MVO, SCA, WOA, and MGWO algorithms, BBOA finds better results for the tension/compression spring design problem.

Pressure vessel design problem
The main objective of the pressure vessel design problem is to minimize the whole cost of the cylindrical pressure vessel (see Fig. 7). There are four variables, i.e., T s (x 1 ), T h (x 2 ), R (x 3 ), and L (x 4 ).
The mathematical formulation of pressure vessel design problem is defined as follows: Minimize f ðx 1 ; x 2 ; x 3 ; x 4 Þ ¼ 0:6224x 1 x 3 x 4 þ 1:7781x 2 x 2 3 þ 3:1661x 2 1 x 4 þ 19:84x 2 1 x 3 . Subject to g 1 ðx 1 ; x 2 ; x 3 ; x 4 Þ ¼ Àx 1 þ 0:00193x 3 0  Fig. 6 Tension/compression spring design problem A balanced butterfly optimization algorithm for numerical optimization… 11517 g 2 ðx 1 ; x 2 ; x 3 ; x 4 Þ ¼ Àx 3 þ 0:00954x 3 0 where 0 x 1 ; x 2 99, 10 x 3 ; x 4 200. The pressure vessel design problem is solved by several optimization techniques. The comparison results of BBOA with other state-of-the-art algorithms are shown in Table 8. For the compression vessel design problem, the best index in Table 8 shows that the result obtained by BBOA is interior to the CSA, TEO, and HPSO algorithms. Compared with the other algorithms, BBOA provides the better ''best'' results. For the mean, the worst, and the st.dev indices, the results obtained by BBOA are better than those obtained by all of the selected algorithms. In addition, for the number of function evaluations, TEO has the minimum number of FEs (20,000), while SPGA has a considerable number of FEs (900,000). The number of FEs by BBOA (30,000) is moderate among the algorithms.

Three-bar truss design problem
The aim of the three-bar truss design problem (as shown in Fig. 8) is to minimize the volume of a statically loaded three-bar truss and evaluate the optimal cross-sectional areas. There are three design variables.
Subject to g 1 ðx 1 ; x 2 Þ ¼ ffiffi where 0 x 1 ; x 2 1, l ¼ 100 cm, P ¼ 2 KN/cm 2 , and r ¼ 2 KN/cm 2 . The optimization techniques in the literature are previously applied to solve the three-bar truss design problem. The comparison results of BBOA with other well-performance optimization algorithms are shown in Table 9. From Table 9, BBOA, GWO, MVO, and MGWO algorithms get similar ''best'' results for the three-bar truss design problem. In addition, the result obtained by BBOA is better than the GSA, SCA, WOA, and EEGWO.

BBOA applied to feature selection problems
To further study the performance of the proposed BBOA, the feature selection (FS) problems are solved. The main purpose of feature selection is to choose the most significant features from the original features to reduce the Table 7 Comparison results of different algorithms for tension/compression spring design problem Algorithm x 1 (d)  Fig. 7 Pressure vessel design problem dimensionality of the datasets (Basheer et al. 2021). In fact, FS is a typical combinatorial optimization problem which requires lots of computation. In this subsection, BBOA is introduced to solve feature selection problems. However, the solution space of FS is represented by binary values. It must be noted that BBOA is a continuous-space-based optimization method which needs to transform it from continuous version into binary one when solving the FS problems. One of the easiest conversion techniques is to use a transfer function. The advantage of this technique is not to modify the framework of BOA. This paper uses the S-shaped transfer function and is given as follows: where s is a constant number. Sixteen well-known benchmark datasets from the UCI data repository (Bache and Lichman 2013) are used to further investigate the effectiveness of BBOA. These datasets are utilized by many researchers or performance comparison in the field of feature selection. The characteristics of these datasets are provided in Table 10.   We compared the performance of BBOA with other eight population-based algorithms, such as ABC [3], differential evolution (DE) (Storn and Price 1997), gravitational search (GSA) (Rashedi et al. 2009), sine cosine algorithm (SCA) (Mirjalili 2016), salp swarm algorithm (SSA) (Mirjalili et al. 2017), hybrid PSO and grey wolf optimizer (HGWO) (Singh and Singh 2017), conscious crow search algorithm (CCSA) (Zamani et al. 2020), and the basic BOA (Arora and Singh 2019). In all experiments, the population size is 10, and the maximum number of iteration is 100. Each algorithm is conducted 30 independent runs on each dataset to reduce error. The parameter values of the selected eight algorithms are fixed according to their corresponding papers. The average and standard deviation results of nine algorithms are summarized in Table 11. For each dataset, the optimal values are made in boldface. In addition, the average Friedman's test ranking values of nine algorithms on sixteen datasets are also provided in Table 11.
From Table 11, BBOA outperforms ABC on 13 datasets. However, ABC obtains the better results on 4, 9, and 13 datasets. Compared with DE algorithm, the BBOA achieves the better and worst results on 13 and three datasets (4, 9, and 11), respectively. In particular, the BBOA performs better than SCA and SSA on all of the datasets except for ''Zoo'' and ''Exactly'' datasets, respectively. With respect to the GSA, CCSA, and BOA, the BBOA provides the better results on all of the datasets. Additionally, the BBOA performs better than HGWO on 12 datasets. However, the HGWO achieves the better results on four datasets. According to the Friedman ranking test results, the BBOA ranked the first, followed by HGWO, ABC, DE, BOA, CCSA, SSA, SCA, and GSA.

Conclusions
In this paper, a new variant of BOA, called BBOA, has been proposed. The proposed BBOA introduces two different operators, i.e., the modified position-updating equation strategy based on the dynamic inertia weight, and the opposition-based learning strategy. These two operators can balance the exploration and exploitation of BOA. The forty benchmark test functions, three engineering design, and sixteen feature selection problems are selected to investigate the performance of the proposed BBOA and compare with the state-of-the-art algorithms. The experimental results show that the proposed BBOA algorithm has better precision and faster convergence than other compared techniques.
BBOA achieves excellent performance on most function optimization problems in Table 1. However, there are a slice of limitations when applying it to deal with complex problems such as f 3 and f 4 . The reason is that f 3 is a complex problem with Gaussian noise, which BBOA never obtains the same value at the same point. Similarly, BBOA fails in solving f 4 because it cannot keep up the direction changes in the function with a narrow curved valley. Moreover, the dimensionality of the search space is also a crucial aspect of these problems. It should be noted that BBOA has poor performance on the CEC 2014 functions. The possible reason is that they are more complex than the problems in Table 1.
In the future, it is interesting to generalize BBOA for solving constrained single objective optimization problems and practice engineering application problems such as imaging segmentation, parameter estimation of energy systems, fault diagnosis, and machine design. Meanwhile, BBOA can be extended to multi-objective algorithm for solving unconstrained and constrained multi-objective optimization problems. Data availability Enquiries about data availability should be directed to the authors.

Declarations
Conflict of interest The authors declare that they have no conflict of interest.
Human and animals participants All procedures performed in studies involving human participants were in accordance with the ethical standards of the institutional and/or national research committee and with the 1964 Declaration of Helsinki and its later amendments or comparable ethical standards. The article does not contain any studies with animals performed by any of the authors.
Informed consent Informed consent was obtained from all individual participants included in the study.