# An Energy-Balanced Geographic Routing Algorithm for Mobile Ad Hoc Networks
## 3 Em-Gpsr
### Su-Gpsr  
For the problem of node energy limitation in ad-hoc networks, Reference [31] proposes an energy-balanced routing algorithm, EGPSR, based on a probabilistic transmission model. The algorithm categorizes the next-hop region into four parts with equal area, calculates the average remaining energy of each region, and takes the region with the highest average remaining energy as the next-hop candidate region. Although the proposed algorithm considers the energy consumption of nodes for mobile ad-hoc network scenarios, it ignores the mobility of mobile ad-hoc networks.  
Regarding the disadvantage of Reference [31], [PERSON] et al. [32] design the SU-GPSR routing algorithm, which considers the node energy and the node mobility. The algorithm improves the method of dealing with routing voids. Similar to EGPSR, the number of nodes in each sub-region is different. According to the average energy, a sub-region is selected as the next-hop candidate region. The SU-GPSR algorithm considers the remaining energy of the node after this forwarding instead of the current remaining energy. The remaining energy after forwarding can be expressed as  
\[E_{i}^{{}^{\prime}}=E_{i}-E_{R\_\_\_\_\_\_\_\_\cdot k}-E_{T\_\_\_\_\_\_\_\cdot k }\cdot L_{i}+HE_{i} \tag{1}\]  
where \(k\) indicates the number of bits received or transmitted, \(E_{i}\) is the remaining energy of the next-hop node \(i\), \(E_{R\_\_\_\_\_\_}\) is the energy consumed by receiving one bit of data, \(E_{T\_\_\_\_\_\_}\) denotes the energy consumed by sensing one bit of data and the destination node, respectively. \(HE_{i}\) represents the energy harvested by node \(i\) through energy harvesting, and can be expressed as  
\[HE_{i}=E_{i}\cdot\rho\cdot(-e^{-k_{i}/n}+1) \tag{2}\]  
with  
\[k_{i}=\frac{u_{i}^{pv}\cdot v_{i}^{pv}}{c_{i}} \tag{3}\]  
Here, \(\rho\) represents the energy harvesting efficiency, \(u_{i}^{pv}\) and \(v_{i}^{pv}\) are the output voltage and output current, and \(c_{i}\) indicates the remaining energy of node \(i\). Among different regions, the next-hop candidate region is selected by comparing the average prediction of the remaining energy. On this basis, SU-GPSR considers the mobility of the node and selects the next-hop node according to Equation (4) in the candidate sub-region.  
\[p_{j}=\left\{\begin{array}{ll}\frac{\alpha E_{j}}{\sum\limits_{i=0}^{q}E_{ i}}\cdot\frac{N_{j}}{\sum\limits_{i=0}^{q}N_{i}}\cdot\left(1-\frac{L_{j}}{ \sum\limits_{i=0}^{q}L_{i}}\right)\cdot\cos\theta\cdot F,&q\geq 2\\ 1,&q=1\\ 0,&q=0\end{array}\right. \tag{4}\]  
where \(N_{i}\) is the number of adjacent nodes of the next-hop node \(i\), and \(L_{i}\) is the distance from the next-hop node to the destination node. The symbol \(\theta\) denotes the angle formed by the next-hop node, the current node and the destination node. The smaller the value of \(\theta\) is, the closer the next-hop node is to the destination node. \(q\) and \(\alpha\) are the number of nodes in the candidate region and the weight of the energy factor, respectively. Hence \(\alpha\) can be expressed as  
\[\alpha=(1+H)^{1+\rho} \tag{5}\]  
where \(H\) indicates whether the node has the capability of harvesting energy, as shown in Equation (6).  
\[H=\left\{\begin{array}{ll}0,&\text{next node without harvesting}\\ 1,&\text{next node with harvesting}\end{array}\right. \tag{6}\]The function \(F\) in Equation (4) is defined in Equation (7), which indicates the weight for the selection of a static or mobile node.  
\[F=(M+1)^{\frac{T_{L}-(T_{now}-T_{0})}{T_{L}}-\frac{1}{2}} \tag{7}\]  
where, \(T_{L}\) represents the maximum survival time of the data packet, \(T_{now}\) indicates the current time and \(T_{0}\) represents the data packet generation time. \(M\) indicates whether the selected node is mobile or static and can be expressed as  
\[M=\left\{\begin{array}{ll}0,&\text{if static node}\\ 1,&\text{if mobile node}\end{array}\right. \tag{8}\]