# Novel Resource Allocation Techniques for Downlink Non-Orthogonal Multiple Access Systems
## 4 Proposed Resource Allocation Techniques
### Power Allocation Solution Using DKL Algorithm  
To optimize the power allocation in terms of energy efficiency, the energy efficiency maximization problem for the downlink NOMA system is firstly formulated, then the optimization solution based on the DKL algorithm is presented [35]. Equation (29) represents the energy efficiency maximization under the BS power constraint. It is noted that the considered optimization problem is nonconvex due to its fractional nature, and it is challenging to obtain the global optimal solution [28; 36]. Therefore, the DKL algorithm, which is an efficient iterative algorithm, can be used to deal with fractional programming problems and tackle them as a sequence of subproblems, as shown in [35; 37]. The system energy efficiency can be expressed as a maximization problem in Equation (29):  
\[\underset{P_{w,s}>0}{max}\frac{B_{sch}\sum\limits_{w=1}^{M}\ log_{2}\bigg{(}1+ \frac{P_{w,s}H_{w,s}}{1+\sum_{w=1}^{w-1}P_{s}H_{w,s}}\bigg{)}}{P_{c}+\sum_{w= 1}^{M}P_{s}} \tag{29}\]  
subject to the constraint in Equation (30):  
\[C1:\sum_{w=1}^{M}P_{w,s}\leq P_{max},\ P_{w,s}>0 \tag{30}\]  
where C1 ensures the maximum transmit power constraint available at the BS. To achieve the optimal solution, the DKL algorithm is proposed to solve this problem [35]. The objective function of Equation (29) is a fractional programming problem; it needs to be transformed to an equivalent problem, and then the equivalent form must be iteratively solved with a tolerance of convergence error \(\varepsilon\). Hence, Equation (29) can be represented as shown in Equation (31):  
\[\underset{P_{w,s}>0}{max}\left(Z(q_{w})=T(P_{w,s})-q_{w}B(P_{w,s})\right) \tag{31}\]  
subject to the constraint in Equation (32):  
\[\sum_{w=1}^{M}P_{w,s}\leq P_{t},\ P_{w,s}>0 \tag{32}\]  
where\[T(P_{w,s})=B_{sch}\sum_{w=1}^{M}log_{2}\Bigg{(}1+\frac{P_{w,s}H_{w,s}}{1+\sum_{l=1 }^{w-1}P_{l,s}H_{w,s}}\Bigg{)} \tag{33}\]  
\[B(P_{w,s})=P_{c}+\sum\
olimits_{w=1}^{M}P_{s} \tag{34}\]  
and \(q_{w}\) is a real number, which can be written as in Equation (35):  
\[q_{w}=\frac{T(P_{w,s})}{B(P_{w,s})} \tag{35}\]  
The optimal results obtained from the DKL algorithm can be proved by using the following fractional programming theory. See Appendix B for a detailed proof.  
Proposition 1: _Let \(S\in\mathbb{R}^{n}\), \(T(P_{w,s}),B(P_{w,s}):S\rightarrow\mathbb{R}\) with \(T(P_{w,s})>0\) and \(B(P_{w,s})>0\). The problem can be solved by \(\underset{P_{w,s}\sim 0}{max}\left\{T(P_{w,s})/B(P_{w,s})\right\}\) with equivalent formulation as finding the unique zero of the \(Z(q_{w}^{*})=\underset{P_{w,s}\sim 0}{max}\left(T(P_{w,s})-q_{w}^{*}B(P_{w,s})\right)\) if and only if \(q_{w}^{*}=T\Big{(}P_{w,s}^{*}\Big{)}/B\Big{(}P_{s}^{*}\Big{)}\) which implies that \(q_{w}^{*}=T\Big{(}P_{w,s}^{*}\Big{)}/B\Big{(}P_{s}^{*}\Big{)}=\underset{P_{w,s }\sim 0}{max}\Big{\{}T(P_{w,s})/B(P_{w,s})\big{|}P_{w,s}\in S\Big{\}}\)._  
The results obtained from Proposition 1 indicate that solving the energy efficiency maximization problem from Equation (29) is equal to finding the \(Z(q_{w}^{*})=0\) values that satisfy \(q_{w}^{*}\). The step-by-step detail of the proposed DKL solution is shown in Algorithm 2.  
```
Step 1: Initialize \(q_{w}=0\), iteration number \(w=0\) and \(\varepsilon=0.01\) Step 2: while\(Z(q_{w})=T(P_{w,s})-q_{w}B(P_{w,s})>\varepsilon\)do \(P_{w,s}^{*}\leftarrow\underset{P_{w,s}\sim 0}{argmax}(Z(q_{w}))\) \(q_{w+1}\leftarrow\frac{T(P_{w,s})}{B(P_{w,s}^{*})}\) \(w\gets w+1\) Step 3: If\(\big{|}Z(q_{w})\big{|}\leq\varepsilon\) break endif endwhile Step 4: Output \(\Big{(}P_{w,s}^{*},q_{w}\Big{)}\)
```  
**Algorithm 2**Dinkelbach method for energy efficiency maximization