# Energy-Efficient Opportunistic Routing Algorithm for Post-Disaster Mine Internet of Things Networks
## 4 Proposed DEOR Algorithm
### Construction of Candidate Forwarding Set  
In this section, we mainly provide a detailed presentation of the construction of the candidate forwarding set (CFS). OR utilizes multiple neighbors of the sending node to simultaneously receive and forward packets, thus improving the packet forwarding efficiency. Therefore, the construction criterion of the CFS is particularly important in opportunity routing design. In general, the size of the CFS can affect the post-disaster network performance. The larger the CFS, the more packet copies are generated and the higher the packet transfer success rate; however, the waiting time of the sender will also be longer, leading to higher energy consumption and end-to-end latency. On the contrary, the smaller the CFS, the sparser the network topology, and the lower the packet transfer success rate, resulting in unreliable data transmission after the disaster. To address the above issue, this paper proposes a directional-area-forwarding-based candidate forwarding set construction strategy. Here, we take the packet forwarding process from the source node \(n_{i}\) to the sink in the post-disaster network as an example to build a schematic diagram of the CFS selection of node \(n_{i}\), as shown in Figure 3.  
Figure 3 shows the selection of the CFS in the proposed DEOR algorithm. It can be seen that when the accident area is certain, the size of the CFS is related to the network density \(D\). The higher the network density, the greater the probability of packets being overheard and duplicated. In addition, the direction of data transmission in the accident mine is upward to the sink. In order to reduce transmission energy consumption, nodes closer to the sink should be selected as much as possible when constructing the CFS. Therefore, to restrict the number of forwarders and reduce the energy consumption, we defined a Forwarding Zone (FZ) for each node \(n_{i}\), denoted by \(F_{i}\), so that the packets will be routed upwards to the sink within the \(F_{i}\). The size of the FZ is determined by the network density \(D\); larger network density means a smaller FZ and fewer forwarders, and vice versa, such that the number of forwarders can be dynamically adjusted. Here, we denote the network density \(D\) as  
\[D=\frac{1}{2}\Bigg{(}\frac{4\pi|N|r^{2}}{A}+\frac{\sum_{i=0}^{|N|}m_{i}}{|N|} \Bigg{)}=\frac{1}{2A|N|}\Bigg{(}4\pi|N|^{2}r^{2}+A\sum_{i=0}^{|N|}m_{i}\Bigg{)} \tag{3}\]  
where the first term reflects the deployment density in the target field, and the second term reflects the degree of connections between the sender and other nodes. Note that, \((\pi|N|r^{2})\) is the sum area of \(|N|\) nodes, \(|N|\) is the size of post-disaster network, \(r\) is the communication radius of nodes, \(A\) is the area of target field, and \(m_{i}\) is the number of neighbors of \(n_{i}\). Figure 3: Schematic diagram of CFS selection of node \(n_{i}\). In Figure 3, it can be seen that FZ is a rectangular shape with a size of \(l_{i}\times w_{i}\) defined by four points \((f_{1}\),\(f_{2}\),\(f_{3}\),\(f_{4})\), where the length of the FZ is the Euclidean distance from the node to the sink, i.e., \(l_{i}=d_{i,\text{sink}}\). Obviously, the width of the FZ \(w_{i}\) is related to the communication range \(r\) and the network density \(D\). According to the model studied in [37], the maximum width of the FZ satisfies \(w_{i,\text{max}}\leq 4r\). Consequently, the \(w_{i}\) is expressed as  
\[w_{i}=\frac{4r}{\sqrt{D}}=\frac{4r\sqrt{2A|N|}}{\sqrt{4\pi|N|^{2}r^{2}+A\sum_{i =0}^{|N|}m_{i}}} \tag{4}\]  
According to Formula (4), there is a positive correlation between the width \(w_{i}\) of the FZ and the communication radius \(r\) of the sender \(n_{i}\), and a negative correlation between the width \(w_{i}\) and the network density \(D\). When the communication radius \(r\) of node \(n_{i}\) is fixed, the larger the network density \(D\) is, the smaller the width \(w_{i}\) of the sender \(n_{i}\).