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