## 2 Background of the Employed Artificial Intelligence Algorithms
### Artificial Bee Colony for Solving Continuous Optimization  
As described earlier, the training process of an ANN is to adapt the network weight and construct a model that can provide a good fit to the collected data. This model construction is achieved via the minimization of a loss function. Therefore, the ANN training process can be formulated as an optimization problem [64]. The characteristics of the loss function are difficult to investigate. Moreover, the search space is definitely high-dimensional and possibly nonlinear with many local minima. Hence,  
Figure 1: A typical structure of the neural network.  
metaheuristic algorithms are suitable candidates which can be applied for optimizing the network structure. In this study, ABC optimization [50] is selected as the ANN training approach.  
Herein, the problem of interest is to find a solution that minimizes a cost function F(x), in which x is a vector that stores ANN model parameters. ABC relies on a population of PS bees to explore the search space and identify a set of right solutions that bring about the desired values of the cost function F(x). To explore the vast search space and exploit potential foraging areas, ABC resorts to three kinds of honeybees, which are employed bees, onlooker bees, and scout bees [52]. These types of honeybees perform searching operators to locate the optimum solution or near optimum solutions within a maximum number of searching iteration (Imax).  
In the first iteration, all bees in the population are randomly generated within the feasible domain according to the following equation:  
\[\mathrm{x_{i,j}=LB_{j}+Rand(0,\ 1)\Big{(}UB_{j}-LB_{j}\Big{)}} \tag{5}\]  
where LBj and UBj denote the lower bound and the upper bound of the jth variable of the solution ith, and Rand(\(0,1\)) is a uniform random number between 0 and 1.  
With these randomly initiated individuals, the ABC algorithm sequentially performs the employed bee phase, onlooker bee phase, and scout bee phase. In the employed bee phase, a candidate solution (also called food source) is created according to the following formula:  
\[\mathrm{u_{i,j}=x_{i,j}+\varphi_{i,j}\Big{(}x_{i,j}-x_{k,j}\Big{)}} \tag{6}\]  
where k and i denote the kth and ith bees in the population and \(\phi_{i,j}\) represents a random number generated within the range of \(-1\) and \(+1\).  
On the basis of the information of the search space provided by the employed bee phase, onlooker bees probabilistically determine their new food source according to the following equation:  
\[\mathrm{p_{i}=F_{i}/\sum_{j=1}^{PS}F_{j}} \tag{7}\]  
where Fi is the fitness of the ith food source and pi denotes the food source selection probability. It is noted that the fitness value of a solution is simply the inverse of its cost function value.  
The ABC algorithm employs a greedy selection criterion in the selection operator to retain good individuals and discard inferior ones. Accordingly, when the employed and onlooker bee phases are accomplished, the best-found solution (or food source) is updated. Notably, if a food source cannot improve its cost function for a certain number of consecutive iterations, it is abandoned and replaced by a newly found food source explored by a scout bee. The equation used to generate a scout bee's food source is similar to that of Equation (5). Hence, the scout bee phase can be considered as a measure to prevent the algorithm from stagnation and premature convergence.