# A BiGRU Model Based on the DBO Algorithm for Cloud-Edge Communication Networks
## 3 Short-Term Traffic Load Prediction Based on DBO-BiGRU
### Relevant Theory
#### 3.1.2 Dung Beetle Optimizer  
The Dung Beetle Optimizer (DBO) is a novel heuristic swarm intelligence optimization algorithm proposed by [PERSON] et al. in 2022, inspired by dung beetles' behaviours of ball rolling, dancing, foraging, stealing, and breeding in nature [39]. In the DBO, the dung beetles initialized by the algorithm will be divided into four clusters, which will perform four different behavioural logics, namely, ball-rolling, reproduction, foraging, and stealing [40]. The ball-rolling dung beetle performs the ball-rolling behaviour, and the behaviour may encounter two scenarios: the no-obstacle-interference scenario and the obstacle-interference scenario. When this iteration of the ball-rolling behaviour is in the no-obstacle interference scenario, the position update logic of individual dung beetles is affected by celestial cues and natural factors, where celestial cues generally refer to the polarized light produced by Sun or Moon illumination, and the natural factors generally refer to the size of the wind flow or the presence of non-flat ground [41; 42]. The rolling dung beetle position update formula for the no-obstacle interference scenario is shown in Equation (6):  
\[X_{j}^{h+1}=X_{j}^{h}+\alpha\times k\times X_{j}^{h-1}+\beta\times\left|X_{j}^{ h}-X_{worst}^{global}\right|, \tag{6}\]  
Figure 3: BiGRU hidden layer structure. where \(h\) represents the number of iterations, \(X_{j}^{h}\) represents the position of the \(i\)-th dung beetle at the \(j\)-th iteration, and \(X_{worst}^{global}\) represents the global worst position. \(\alpha\) represents the natural factor coefficient, which has only two value cases, \(-1\) (for direction deviation) or \(1\) (for no deviation). \(k\) represents the deflection coefficient and \(k\in(0,0.2]\). \(\beta\) represents the light intensity deflection coefficient and \(\beta\in(0,1)\). \(\left|X_{j}^{h}-X_{worst}^{global}\right|\) is used to simulate the variation of light intensity, which can cause the algorithm search range to be expanded. When this rolling behaviour iteration is in the obstacle interference scenario, the dung beetle individual will dance to obtain a new route and continue to roll the ball. The DBO algorithm uses the tangent function to simulate the dancing behaviour to obtain a new rolling direction; the dung beetle position updating formula for rolling the ball is shown in Equation (7):  
\[X_{j}^{h+1}=X_{j}^{h}+\tan\theta\times\left|X_{j}^{h}-X_{j}^{h-1}\right|, \tag{7}\]  
where \(\theta\) represents the new direction rotation angle acquired by the dancing behaviour in the scenario with obstacle interference and \(\theta\in[0,\pi]\). If \(\theta\) is randomly taken to \(0\), \(\frac{\pi}{2}\), \(\pi\), then by default no change is made to the individual position for this iteration. The dung beetle ovoid performs a reproductive behaviour, which first requires the demarcation of the reproductive region, the upper and lower boundaries of which are defined by the formula in Equation (8):  
\[\left\{ \begin{array}{l}Lb^{*}=\max\!\left\{X_{best}^{h}\times(1-R),Lb\right\} \\ Ub^{*}=\max\!\left\{X_{best}^{h}\times(1+R),Ub\right\}\end{array} \right., \tag{8}\]  
where \(Lb\) and \(Ub\) are the lower and upper bounds of the optimization region and \(Lb^{*}\) and \(Ub^{*}\) are the lower and upper bounds of the reproduction region, respectively. The value of \(R\) satisfies \(R=1-\frac{h}{H}\) and \(H\) stands for the maximum number of iterations. \(X_{best}^{h}\) stands for the locally optimal position in the hth iteration. The position update of the dung beetle ovoid is carried out after the successful division of the breeding region, and the position update formula is shown in Equation (9):  
\[X_{j}^{h+1}=X_{best}^{h}+b_{1}\times\left(X_{j}^{h}-Lb^{*}\right)+b_{2}\times \left(X_{j}^{h}-Ub^{*}\right), \tag{9}\]  
where \(b_{1}\) and \(b_{2}\) are two random independent vectors of size \(1\times D\) and \(D\) is the dimension of the optimization problem.