Skip to main content

Table 1 Energy-efficiency cooperative SWIPT routing algorithm

From: Research on energy-efficient routing algorithm based on SWIPT in multi-hop clustered WSN for 5G system

EECSR: Energy-efficiency cooperative SWIPT routing algorithm
Input:
   \(G(\mathcal {K}, E),Source, Sink, R^{\min }, P^{\max }, \text {CSI of network}.\)
Output:
   \(\overline{\varvec{\mathcal {T}}}^{*}\): optimal routing policy;
   \(\overline{\varvec{\mathcal {P}}}^{*}, \overline{\varvec{\rho }}^{*}, \overline{\varvec{\mathcal {S}}}^{*}\): optimal resource allocation policy for
                  each hop in the selected path.
1:    Initialization: \(\bar{S} \leftarrow \emptyset\), \(Q \leftarrow \mathcal {K}\), \(E_{\text{ Sink }}^{\text{ Req }} \leftarrow 0\), \(EEcost_{\text{ sink }} \leftarrow 0\), \(U_{T P(\text{ sink})} \leftarrow 0\), \(U_{(\sin k)} \leftarrow \infty\),
                        all \(t_{i j} \leftarrow 0, i, j \in \mathcal {K}\)
2:    for i in \(\mathcal {K}\) do
3:       \(Next_{i} \leftarrow \mathrm {NULL}\), \(E_{i}^{\text{ Req }} \leftarrow \infty\), \(EEcost_{i} \leftarrow \infty\), \(U_{T P(i)} \leftarrow \infty\),    \(U_{(i)} \leftarrow 0\)
4:    end for
5:    while \(Q \ne \emptyset\) do
6:       \(cluster \; head \; node\; j \leftarrow \; MIN\)-EEcost(Q)
7:       \(\bar{S} \leftarrow \bar{S} \cup \{j\}\)
8:       for each input edge \(CoLink_{ij} \in E\) do
9:          if \(EEcost_{i}>EEcost_{j}\) and \(E_{i j}^{\max } \ge E_{j}^{R e q}\) then
10:             Solve the resource allocation subproblem in \(CoLink_{ij}\) with \(E_{i}^{\text{ Req }}\) to obtain
               allocation policies \(\{\varvec{\mathcal {P}}, \varvec{\rho }, \varvec{\mathcal {S}} \}\) and the minimum \(EEcost_{(i j)}\)
11:             Calculate the new routing metrics for node i : \(EE {\text {cost}}_{i}^{\prime },\; U_{T P(i)}^{\prime },\; U_{(i)}^{\prime }\)
12:             if \(EE {\text {cost}}_{i} < EEcost_{i}\) then
13:                cluster head i selects j and update routing metrics, \(E_{i}^{\text{ Req }}\) and \(Next_{i}\)
14:             end if
15:          end if
16:       end for
17:    end while