# Table 1 Energy-efficiency cooperative SWIPT routing algorithm

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