## 4 Artificial Bee Colony Algorithm  
The ABC algorithm is an optimization algorithm based on the behavior of bee colonies. These colonies are composed of employed bees and unemployed bees. The employed bees initially occupy particular sources of food and aim to search other better food source positions around their own positions. Besides, the employed bees can further give and share the information about the food source position with the bees of the hive. The unemployed bees are onlooker bees and scout bees. The onlooker bees are responsible to help some specific bees to observe the positions and qualities of food source based on the information found by employed bees. The scout bees are related to employed bees and responsible for searching new food sources of sustenance if a food source becomes deserted. In this study, the ABC algorithm is used to efficiently find a set of suitable gain parameters for the proposed control system, under the designed multi-objective criterion and the fitness function. The following briefly introduces the four major phases in the ABC technique:  
_Step 1: initialization phase_  
In the initialization phase, the best previous position could be set if the ABC algorithm has been conducted. Otherwise, an individual bee can be generated randomly within the range of the boundaries of the parameters as follows [27; 28; 29]:  
\[\psi_{ij}=\psi_{j,\min}+rand(0,1)(\psi_{j,\max}-\psi_{j,\min}), \tag{22}\]  
where \(\psi_{j,min}\) and \(\psi_{j,max}\) denote the minimum and maximum values of the \(j\)th dimension, respectively; \(j=1\), \(2\),..., \(D\), where \(D\) denotes an \(D\)-dimensional vector in the search space; \(i=1\), \(2\),..., \(V\), where \(V\) denotes the population size of the employed bees or onlooker bees. _Step 2 Employed bee phase_  
In this phase, an employed bee in the conventional ABC algorithm just searches for new change by using the mechanism, as given by \(v_{ij}=\psi_{ij}+rand(-1,1)(\psi_{kj}-\psi_{ij})\), where \(k\in\{1,2,\ldots\ldots,V\}\) represents a randomly selected index satisfying \(k\
eq j\). In this study, the IABC algorithm is proposed to improve the searchability and convergent speed of the conventional ABC. The major concept of the IABC is to enhance the exploration capability for each of the employed bees by using the best experience of all bees and the worst experience of each bee. To this end, the update mechanism for each bee is modified as:  
\[v_{ij}=\psi_{ij}+\eta_{1}rand(-1,1)(\psi_{kj}-\psi_{ij})+\eta_{2}rand(-1,1)(g_{ j}-\psi_{ij})+\eta_{3}rand(-1,1)(\psi_{ij}-\omega_{ij}), \tag{23}\]where \(\eta_{1}\), \(\eta_{2}\), and \(\eta_{3}\) are the learning weights that can be predetermined by the designer; \(g_{j}\) is the best previous position among all employed bees; \(\omega_{\bar{y}}\) is the worst previous position of the \(i\)th bee. With the best experience from the population and the worse experience of each bee, the modified Formula (23) for updating the new food source position can exhibit the more effective searching ability of the IABC. Afterward, if the fitness value for the new position \(v_{ij}\) exceeds that at the previous position \(\psi_{\bar{y}}\), the position of the employed bee will be updated for the next generation by:  
\[\psi_{ij}=\left\{ \begin{array}{cc}v_{ij},&fit(v_{ij})\geq fit(\psi_{ij})\\ &\psi_{ij},&otherwise\end{array} \right., \tag{24}\]  
where \(fit(\cdot)\) represents a fitness function for evaluating source quality of each food position. The design of \(fit(\cdot)\) will be given in the next section. _Step 3 Onlooker bee phase_  
After the employed bee phase, the employed bees share the information of their food source and position with an onlooker bee via waggle dance. Afterward, each onlooker bee will appraise the nectar information which is taken from all employed bees and chooses a food source with probabilistic selection as follows:  
\[p_{i}=\frac{fit_{i}}{\max(fit_{i})}\times 0.9+0.1, \tag{25}\]  
where \(p_{i}\) indicates the selection probability for each employed bee.