# A Novel Approach to Enhance the Energy Efficiency of a NOMA Network
## 5 The Sub-Optimal Solution
### Power Allocation by DC Programming  
In this section, corresponding to the USFMA, to maximize the system's energy efficiency, we use the difference of convex (DC) programming method to solve the power allocation problem of users on the sub-channel. The DC programming approach is widely used in solving non-convex optimization problems. Moreover, DC programming can be applied if the objective function can be written as a minimization of the difference of two convex functions. Suppose the objective function of a non-convex optimization problem can be formulated as a difference minimization between two convex functions. In that case, the non-convex optimization problem can be solved by DC programming, which is given by:  
\[\min_{\alpha\in\chi}L(\alpha)=f(\alpha)-g(\alpha)\quad\quad,\quad\chi=[\alpha _{1},\alpha_{2},\ldots,\alpha_{n}]^{T} \tag{27}\]  
where \(\chi\) is a convex set and \(f(\alpha)\) and \(g(\alpha)\) are continuous, convex, or quasi-convex [40]. The solution methods of DC programming can be divided into two methods: The first is to obtain the global optimal solution, for example, as done in the branch-and-bound technique [41] and the cutting plane method. The other approximation methods are based on combinatorial optimization ideas; although these types of methods can obtain the global optimal solution, the computational complexity is relatively high. Different types can obtain local optimal solutions and global sub-optimal solutions, for instance, the concave-convex procedure (CCP) algorithm [42]. Although this type of method can only obtain a locally optimal solution, its computational complexity is relatively low [43; 44; 45]. The CCP algorithm converts the objective function into convex sub-problems by linearizing the non-convex part of the objective function and using the successive convex approximation to solve the convex sub-problems to find effective sub-optimal solutions. In our work, we use the CCP algorithm to find the sub-optimal solutions. We consider two users superimposed on the same sub-channel, where we assume \(u_{1}\) is an edge user who is far away from the base station with poor channel conditions. \(u_{2}\) is near the base station with good channel conditions, illustrated in Figure 2. Consider that the symbol sent by the base station over a sub-channel is:  
\[x_{v}=\sqrt{\alpha P_{v}}s_{1}+\sqrt{(1-\alpha)P_{v}}s_{2}\quad,\quad 0<\alpha<1 \tag{28}\]  
where \(\alpha\) is the power allocation coefficient. Then, the received symbols of \(u_{2}\) and \(u_{2}\) are:  
\[ \begin{split} y_{1,v}&=\sqrt{\alpha P_{v}}s_{1}h_{1, v}+\sqrt{(1-\alpha)P_{v}}s_{2}h_{1,v}+w_{1,v}\\ y_{2,v}&=\sqrt{\alpha P_{v}}s_{1}h_{2,v}+\sqrt{(1- \alpha)P_{v}}s_{2}h_{2,v}+w_{2,v}\end{split}  \tag{29}\]  
Based on the SIC decoding sequences, \(u_{2}\) is able to cancel the interfering power term of \(u_{1}\). Then, the acceptance symbol for two users can be rewritten as:  
\[ \begin{split} y_{1,v}&=\sqrt{\alpha P_{v}}s_{1}h_{1, v}+\sqrt{(1-\alpha)P_{v}}s_{2}h_{1,v}+w_{1,v}\\ y_{2,v}&=\sqrt{(1-\alpha)P_{v}}s_{2}h_{2,v}+w_{2, v}\end{split}  \tag{30}\]Based on [PERSON]'s capacity formula, the data rate for each user is given by:  
\[R_{u_{1}},v=B_{v}log_{2}(1+\frac{\alpha P_{v}H_{1,v}}{1+(1-\alpha)P _{v}H_{1,v}}) \tag{31}\] \[R_{u_{2}},v=B_{v}log_{2}(1+(1-\alpha)P_{v}H_{2,v})\]  
where \(H\) as defined in (6).