# A Survey of Using Swarm Intelligence Algorithms in IoT
## Swarm Intelligence Algorithms
### Artificial Bee Colony (ABC)  
The ABC simulates the honey gathering behavior of bee swarm, and bees have different behaviors according to their respective division of labor and realize the information communication and sharing of bee swarm to achieve the optimal solution. The artificial bee colony algorithm divides the artificial bee swarm into three categories: employed bees, onlookers, and scouts. In each search process, guiding bee and following bee mine food source successively, that is, search for the optimal solution. While scouting bee observes whether it is trapped in local optimum, and randomly searches for other possible food sources if it is trapped in a local optimum. Each food source represents a possible solution to the problem, and the amount of nectar from the food source corresponds to the quality of the solution. Figure 4 is the flow chart of the ABC algorithm.  
\begin{table}
\begin{tabular}{c c} \hline \hline
**Parameter** & **Meaning** \\ \hline \(\beta\) & relative importance of the heuristic factor \\ \(J_{k}(i)\) & collection of cities that ant k allows selecting in the next step \\ \(t\) & times \\ \(\tau_{ij}(t)\) & pheromone on the edge (i, j) \\ \(\eta_{ij}\) & visibility of pheromones on edge (i,j) \\ \(d_{ij}\) & distance between cities (i, j) \\ \(m\) & number of ants \\ \(k\) & ant number \\ \(n\) & number of cities \\ \(\Delta\tau_{ij}\) & pheromone increment on edge (i, j) of this iteration \\ \(\Delta\tau_{ij}^{k}\) & pheromone quantity on edge (i, j) left by the ant k in this iteration \\ \(\rho\) & pheromone evaporation (volatilization) coefficient \\ \(\rho\) & 1- \(\rho\) is the persistence (residual) coefficient where \(0<\rho<1\) \\ \(P_{ij}^{k}(t)\) & probability of ant k moving from city i to city j at time t (transition probability) \\ \(tabular}{tabular}{c} \(tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tabular}{tab}{tabular}{tab}{tabular}{tab}{tab}{tab}{tabular}{}{tab}{tab}{tab}{tab}{tab}{ }{tabular}{}{tabular}{}{}{tabular}{}{}{tabular}{}{}{}{tabular}{}{}{}{tabular}{}{}{}{{
\begin{tabular}{}{}{}{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{                                                                                 \The difference between artificial bee colony algorithm and other SI algorithms consists in the role of bees that can be reversed. That is, if the food source information does not improve after several iterations, the food source information should be stopped, and thus the bees should become scouting bees. The advantages of ABC lie in strong global search ability and fast convergence speed. Its disadvantages includes the diversity of race is poor. When the solution is close to the global optimum, it is easy to fall into the local optimum, resulting in a stagnation phenomenon [16; 17].  
Besides, some other SI algorithms are useful, such as bacterial foraging optimization (BFO) which simulates the behavior of bacterial populations, including three steps: chemotaxis, reproduction, and dispersal, butterfly optimization algorithm (BOA) which simulates the butterfly population to find food. Each butterfly emits a certain concentration of fragrance. Each butterfly senses the smell of other butterflies around it and moves towards the butterfly that emits more fragrance.