Open Access
This article is
 freely available
 reusable
Information 2019, 10(11), 336; https://doi.org/10.3390/info10110336
Article
Resource Allocation Combining Heuristic Matching and Particle Swarm Optimization Approaches: The Case of Downlink NonOrthogonal Multiple Access
Department of Electrical and Computer Engineering, University of Western Macedonia, Karamanli & Ligeris Str., 50131 Kozani, Greece
^{*}
Author to whom correspondence should be addressed.
Received: 1 October 2019 / Accepted: 28 October 2019 / Published: 30 October 2019
Abstract
:The everincreasing requirement of massive connectivity, due to the rapid deployment of internet of things (IoT) devices, in the emerging 5th generation (5G) mobile networks commands for even higher utilization of the available spectrum. Nonorthogonal multiple access (NOMA) is a promising solution that can effectively accommodate a higher number of users, resulting in increased spectrum utilization. In this work, we aim to maximize the total throughput of a NOMA system, while maintaining a good level of fairness among the users. We propose a threestep method where the first step matches the users to the channels using a heuristic matching algorithm, while the second step utilizes the particle swarm optimization algorithm to allocate the power to each channel. In the third step, the power allocated to each channel is further distributed to the multiplexed users based on their respective channel gains. Based on extensive performance simulations, the proposed method offers notable improvement, e.g., 15% in terms of system throughput and 55% in terms of user fairness.
Keywords:
5G; heuristic optimization; nonorthogonal multiple access; resource allocation1. Introduction
1.1. Preliminaries
Future 5th generation (5G) mobile networks have increased requirements in terms of connectivity, data rates, capacity, and bandwidth. Profound modifications are envisioned in the underlying infrastructure and wireless access technologies ([1,2,3,4]) in order to accommodate the exponentially increasing number of mobile devices [5].
The support for a massive number of internet of things (IoT) devices is a substantial requirement for the 5G of mobile networks [6,7]. As a consequence, the dense deployment of a massive number of devices increases the experienced interference. In the widely used orthogonal multiple access (OMA) schemes [8], the interference is mitigated by allocating time, frequency or code resources orthogonally. Nevertheless, the limited available spectrum along with the massive number of deployed devices makes the orthogonal resource allocation inefficient and impractical [9,10].
The nonorthogonal multiple access (NOMA) concept enables devices to share the frequency resources, which leads to improved spectrum efficiency [11,12]. NOMA exploits the power domain, as many users are multiplexed at the same frequency using different power levels. The distinction and separation of the multiplexed messages are achieved by the successive interference cancellation (SIC) process [13,14]. The basic concept of SIC is to detect the strongest user signal from the original received signal, which contains the signals of multiple users transmitting on the same frequency. Once the strongest user signal is detected, its contribution to the original signal is regenerated and subtracted from the received signal. The steps of the SIC process are summarized
 Detect the strongest user signal from the received signal.
 Decode the user signal.
 Regenerate the strongest user signal using its chip sequence.
 Use the generated signal to cancel the user signal from the received signal.
 Repeat the process until all the users have decoded their respective signals.
Figure 1 shows a comparison between the NOMA and OMA schemes, where two users are connected to the same base station (BS). User 1 has better channel gain than user 2, as user 1 is located closer to the BS. In the OMA scheme, the BS transmits the signals in different channels, so the interference between them is eliminated. On the other hand, in the NOMA scheme, the two signals are encoded using different power levels and transmitted on the same channel. Upon signal reception, user 1 performs SIC to remove the signal of user 2 and then she/he decodes its respective signal. User 2, having worse channel gain, is not able to perform SIC and considers the signal of user 1 as noise.
1.2. Related Work
The aforementioned remarks indicate that the user and channel matching, as well as the power allocation, significantly affect the performance of NOMA systems. A summary of the related works is shown in Table 1. The reference column contains the references of the related works, while the Aim and Proposed method columns contain the problem that the authors aim to solve and their proposed method respectively.
The outage probability and throughput of a NOMA system are investigated in [15]. Di et al. [16] proposed a method that optimizes the channel assignment and power allocation in order to achieve a balance between the number of scheduled users and system throughput. The authors in [17] proposed a lowcomplexity suboptimal clustering scheme, where cluster power allocation is optimized under constraints. Hojeij et al. [18] proposed a waterfillingbased power allocation method that is implemented within the proportional fairness scheduler. Ali et al. [19] investigated the application of NOMA with SIC in downlink multipleinput multipleoutput (MIMO), where the number of users is greater than the number of antennas in the BS. The users are formed into clusters and a linear beamforming technique is proposed in order to mitigate the intracluster interference. The authors in [20] utilized matching theory and successive convex approximation techniques in order to optimize user scheduling and power allocation. Ni et al. [21] solved the resource allocation problem by maximizing the sumrate of a heterogeneous NOMA network under the constraints of maximum transmit power and Quality of Service requirements. In [22] proposed a method to efficiently calculate the allocated user power in MIMO NOMA systems. Their proposed method involves an interference alignment scheme that organizes users into clusters in order to mitigate the intracluster interference. The authors in [23] consider the dynamic power allocation problem in heterogeneous NOMA systems, by exploiting coordinated multipoint (CoMP) schemes. The problem was formulated as a joint power optimization problem among the coordinating BSs and a lowcomplexity distributed power optimization approach was proposed. Zeng et al. [24] considered the energy efficiency optimization problem for a multicluster multiuser MIMO NOMA system under a quality of service (QoS) constraint for each user. The proposed method optimizes energy efficiency by utilizing a waterfillingbased method in order to maximize the system throughput under a given total power. Zhu et al. [25] considered the throughput maximization of a 2user uplink NOMA system through joint power control and beamforming. As the problem is nonconvex, they decomposed into two subproblems and proposed a suboptimal solution. The authors in [26] proposed a joint user scheduling and power allocation scheme based on the Lyapunov stochastic optimization method. Brighente and Tomasin [27] proposed a method to increase the spectral efficiency of a downlink NOMA system with mixedtraffic requirements. They split the power allocation problem into two subproblems and proposed a groupbased power allocation scheme. The power allocation in NOMA systems where the communication among the BS and the users is facilitated through relays is investigated in [28]. The authors converted the original quasiconcave optimization problem into a feasible convex problem and proposed a dynamic power allocation scheme in order to maximize system throughput. The authors in [29] proposed a twostep user scheduling and power optimization scheme based on convex optimization techniques in order to optimize the energy efficiency of a heterogeneous NOMA system. Xing et al. [30] proposed a joint beamforming and power allocation solution, in order to maximize the minimal achievable throughput among multiple users. Jeong et al. [31] proposed a scheme that involves power allocation, user clustering, and beamforming in order to minimize the transmit power under throughput constraints in Multiple Input Single Output NOMA systems. Chen et al. [32] aim to improve the proportional fairness of the users, by proposing a joint user pairing and power allocation approach. An approach to optimize energy efficiency is presented in [33]. The complex resource allocation problem is reformulated as a linear programming problem and solved using the CPLEX optimization tool.
The majority of the works found in the literature aim to increase the performance of NOMA systems in terms of throughput, energy efficiency, and user fairness, through power allocation optimization, user clustering, and beamforming techniques [34]. The resulting optimization problem is nonconvex, which means that there are no tractable solutions. Most of the aforementioned works aim to solve the problem by converting it into tractable subproblems, resulting in a suboptimal solution. Heuristic and evolutionary algorithms can prove to be promising assets in solving nonconvex optimization problems, as they iteratively improve a starting solution until they reach a nearoptimal one. Nevertheless, there are limited works that utilize evolutionary algorithms in order to optimize the performance of NOMA systems.
1.3. Novelty of This Work and Structure of the Paper
This paper extends our earlier work, presented in [35], by solving (a) the userchannel matching problem using a heuristic matching algorithm and (b) the power allocation problem using an evolutionary algorithm, namely particle swarm optimization (PSO) [36]. The proposed heuristic matching algorithm, produces a stable matching between two disjoint sets of users and channels, while the PSO algorithm nearoptimally distributes the power budget to the channels. Summarizing, the contribution of this work is as follows:
 A heuristic userchannel matching algorithm.
 Optimal power allocation to each channel using the PSO algorithm.
 Intrachannel power allocation to each user based on the channel gain of each user.
The remainder of the paper is organized as follows. Section 2 describes the NOMA downlink system and formulates optimization problem. In Section 3, we describe the proposed method used to solve userchannel matching and power allocation problems. Section 4 presents the system model parameters and the performance indicators, along with the results. Finally, Section 5 concludes the paper.
2. System Description and Problem Formulation
2.1. Description of the NOMA Scheme with SIC
A summary of all the terms mentioned in this section is summarized in Table 2. We consider a system consisting of a BS and K randomly deployed users connected to the BS. The BS has a total power budget of ${P}_{max}$, while the total system bandwidth B is divided into S channels. The BS transmits the multiplexed signals of up to ${N}_{s}$ users in the same channel using different power levels. The transmitted signal ${x}_{s}$ on channel s is given by:
where ${P}_{s,k}$ is the power allocated to the k multiplexed user on channel s, and ${x}_{s,k}$ the transmitted signal relative to that user. The received signal of user k on channel s is given by ${y}_{s,k}$.
where ${h}_{s,k}$ denotes the channel gain coefficient of fading channel and ${w}_{s,k}$ denotes the additive white Gaussian noise (AWGN). The users with better channel gain, denoted by ${h}_{s,k}$, perform the SIC process ([37,38]) in order to separate their respective signal, considering the other user signals as interference. For example, assuming that ${N}_{s}=2$ and ${h}_{s,1}^{2}>{h}_{s,2}^{2}$, the first user performs SIC and removes the second user’s signal, while the second user considers the first user’s signal as noise. Thus, the achievable throughput of two multiplexed users on channel s is given by:
where ${P}_{s,1}$ and ${P}_{s,2}$ are the BS transmit power to users 1 and 2 respectively, and ${N}_{0}$ is the noise power spectral density of the AWGN, which is assumed to be constant over all channels.
$${x}_{s}=\sum _{k=1}^{{N}_{s}}\sqrt{{P}_{s,k}}{x}_{s,k},$$
$${y}_{s,k}={h}_{s,k}{x}_{s}+{w}_{s,k},$$
$$\begin{array}{cc}\hfill \phantom{\rule{1.em}{0ex}}& {R}_{s,1}=\frac{B}{S}{log}_{2}(1+\frac{{h}_{s,1}{P}_{s,1}}{\frac{B}{S}{N}_{0}})\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& {R}_{s,2}=\frac{B}{S}{log}_{2}(1+\frac{{h}_{s,2}{P}_{s,2}}{{h}_{s,2}{P}_{s,1}+\frac{B}{S}{N}_{0}}),\hfill \end{array}$$
2.2. Problem Formulation
The Equation (3) indicates that the selection of the multiplexed users and the amount of power allocated to each user on each channel affects the total achievable throughput of the whole system ${R}_{total}$, which is given by:
$${R}_{total}=\sum _{s=1}^{S}\sum _{k=1}^{K}{R}_{s,k}$$
We introduce an $S\times K$ binary matrix $\mathsf{\Theta}$, in which each element denotes whether channel s is assigned to user k. For example, consider the following matrix which denotes the assignment of three channels to four users:
$$\mathsf{\Theta}=\left[\begin{array}{cccc}0& 1& 0& 1\\ 1& 1& 1& 0\\ 1& 0& 1& 0\end{array}\right],$$
The first row, which corresponds to the first channel, indicates that the channel is assigned to the second and fourth users. Similarly, the second channel is assigned to the first, second, and third users. Finally, the third channel is assigned to the first and third users. Therefore, Equation (4) becomes:
where ${I}_{s,k}$ denotes the interference the user experiences from other users and ${\theta}_{s,k}$ is a binary element of the matching matrix $\mathsf{\Theta}$. Considering the SIC description from the previous subsection, the interference of user k on channel s is:
$${R}_{total}=\frac{B}{S}\sum _{s=1}^{S}\sum _{k=1}^{K}{\theta}_{s,k}{log}_{2}(1+\frac{{h}_{s,k}{P}_{s,k}}{{I}_{s,k}+\frac{B}{S}{N}_{0}}),$$
$${I}_{s,k}=\sum _{i=1,{h}_{s,k}<{h}_{s,i}}^{{N}_{s}}{h}_{s,k}{P}_{s,i}.$$
Consequently, the optimization problem is formulated as follows:
$$\begin{array}{cc}\hfill \underset{{\theta}_{s,k},{P}_{s,k}}{max}\frac{B}{S}& \sum _{s=1}^{S}\sum _{k=1}^{K}{\theta}_{s,k}{log}_{2}(1+\frac{{h}_{s,k}{P}_{s,k}}{{I}_{s,k}+\frac{B}{S}{N}_{0}})\hfill \\ \hfill \mathrm{subject}\phantom{\rule{4.pt}{0ex}}\mathrm{to}:\phantom{\rule{4.pt}{0ex}}\phantom{\rule{1.em}{0ex}}& \sum _{s=1}^{S}\sum _{k=1}^{K}{P}_{s,k}\le {P}_{max}\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& {\theta}_{s,k}\in \{0,1\},\forall s\in S,\forall k\in K\hfill \\ \hfill \phantom{\rule{1.em}{0ex}}& \sum _{k\in {\theta}_{s}}^{}{\theta}_{s,k}\le {N}_{s},\forall s\in S.\hfill \end{array}$$
The first constraint ensures that the sum of the allocated power does not exceed the BS total power budget. The second constraint ensures that the elements of matrix $\mathsf{\Theta}$ are binary. Finally, the third constraint ensures that each channel is not assigned to more than ${N}_{s}$ users.
3. Proposed Channel Matching and Power Allocation Methods
The aforementioned optimization problem is a nonconvex optimization problem, which is too complex to solve it using conventional methods. Furthermore, there are three substantial requirements, in order to ensure a high QoS: (a) the whole process of channel matching and power allocation should be completed within a few seconds, (b) ensure the connectivity of all the users within the area, and (c) maintain a good level of fairness among the users. Therefore, we decouple the channel–user matching and power allocation problems and we propose a method that solves the optimization problem in three steps. In the first step, we solve the channel assignment problem by utilizing a heuristic matching algorithm, while in the second step we utilize the PSO [39] algorithm to solve the power allocation problem. Finally, the power allocated to each channel is distributed to each user matched to that channel, based on the user’s channel gain.
A conceptual example of the proposed approach is shown in Figure 2. In this example, there are six users randomly deployed and five available frequency channels. Using the heuristic userchannel matching algorithm each user is matched with a number of channels. After the matching procedure, the power level of each channel is calculated using the PSO algorithm. Finally, the power level of each channel is distributed proportionally to the corresponding users depending on the channel gain.
3.1. Heuristic UserChannel Matching
We consider a set of users, K, and a set of channels, S as two disjoint sets, where each member of each set aims to maximize its performance. The users aim to match with specific channels that provide the best channel gain. On the other hand, the channels aim to match with one or more users, so that the channel has the best performance in terms of throughput. In order to solve this matching problem, we propose a heuristic matching algorithm, which manages to achieve a stable matching between elements of two disjoint sets, while taking into account the preference of each element in the first set.
The proposed method that solves the channeluser matching problem is shown in Algorithm 1. In the initialization phase of the algorithm, a channel preference list is formed for each user and all users and channels are considered unmatched. Additionally, a counter $C\left(s\right),\forall s\in S$ holds the number of matched users of each channel. In the main loop, each user proposes itself to its most preferred channel. If the channel has not been matched with a user ($C\left(s\right)=0$), the proposed user is matched with the channel. If the channel has been already assigned to a user, it has to choose among three options, depending on the resulting channel throughput: a) keep the current user, b) drop the current user and match with the new user, and c) keep the current user and multiplex him with the new one. In the case of $C\left(s\right)={N}_{s}$, the channel will keep the set of users that result in the maximum throughput. Equation (3) is used for calculating the channel throughput, assuming that ${P}_{s,1}={P}_{s,2}=1$. Each time a user is matched with a channel or dropped from a match he/she proposes to his/her next preferred channel. The algorithm completes when all users and channels are matched.
Algorithm 1 Heuristic channel–user matching. 
Input:S: number of channels, K: number of users, H: channel gain matrix Output:$\mathsf{\Theta}$: userchannel assignment binary matrix Initialization:

3.2. Power Allocation
After all, channels have been matched to their respective users, we utilized the PSO algorithm to calculate the allocated power in each channel. In the case of two users sharing the same channel, for the intrachannel power allocation, the user with better channel gain will be allocated more power. Therefore, the PSO calculates the power allocated to each channel by considering the user with a better channel gain.
PSO is an optimization technique, which is based on the flocking behavior of birds. A large population (swarm) of candidate solutions (particles) are placed at random initial positions and move in the searchspace until the optimal solution is detected.
An implementation of the PSO developed for optimizing the power allocation problem is shown in Algorithm 2. The number of channels, the population size, and the channel gain of each user is used as inputs, while the output vector $\overline{P}=\{{P}_{1},\dots ,{P}_{s},\dots ,{P}_{S}\}$ contains the final allocated powers to each channel. A penalty function is incorporated to the fitness function [40] in line 10, in order to enforce the constraints of the optimization problem. This means that when a potential solution violates the constraint the corresponding fitness function greatly deteriorates.
Algorithm 2 Channel power allocation using particle swarm optimisation (PSO). 
Input:S: number of channels, M: population size, ${h}_{s}$: user gain of each channel Output:$\overline{P}$: power assigned to each channel Initialization:

Finally, for determining the intrachannel power allocation, we distribute the allocated channel power to the multiplexed users, proportionally to their channel gains. Hence, the power of each user is calculated as:
where ${\theta}_{s}$ is the set of users matched to channel s, and $\gamma $ is a decay factor ranging from $0\le \gamma \le 1$.
$$\begin{array}{c}\hfill {P}_{s,k}=\frac{\overline{{P}_{s}}{\left(\frac{{h}_{s,k}^{2}}{\frac{B}{S}{N}_{0}}\right)}^{\gamma}}{{\sum}_{j\in {\theta}_{s}}^{}{\left(\frac{{h}_{s,j}^{2}}{\frac{B}{S}{N}_{0}}\right)}^{\gamma}},\forall s\in S\phantom{\rule{4.pt}{0ex}}\mathrm{and}\phantom{\rule{4.pt}{0ex}}\forall k\in K,\end{array}$$
3.3. Numerical Example
In this subsection, an illustrative example of the proposed userchannel matching and power allocation method is presented. We consider four users, namely A–D, aiming to match with six channels.
The channel preference order, which is based on the channel gains, for each user is shown in Table 3. At the beginning of the process, each user proposes to the most preferred channel in order to match. According to Table 3, users A and B will propose to channel 3, while users C and D will propose to channel 5. Each of the channels evaluates its corresponding proposals in terms of achieved throughput. Channel 3 calculates the achieved throughput of all possible options (as described in the previous section) and it determines that the maximum throughput is achieved in the case that both A and B users are multiplexed. Channel 5 determines that it achieves better throughput if it matches only with user C. Therefore, users A and B are matched with channel 3, and user C is matched with channel 5. User D will propose to its next preferred channel (i.e., channel 6). After this first round of matches, channels 1, 2, and 4 remain unmatched. Hence, the channel preference order will be adjusted so it only contains the unmatched channels. Similarly, user A will propose to channel 1, user B will propose to channel 4, user C will propose to channel 2, and user D will propose to channel 4. Channels 1 and 2 have not been previously matched so they will accept the proposals of users A and C respectively. Channel 4 determines that it achieves better throughput if users B and D are multiplexed, so it accepts D’s matching proposal. The final matchings are channel 1—user A—channel 2—user C—channel 3—users A and B—channel 4—users B and D—channel 5—user C—and channel 2—user D.
The PSO algorithm was used to calculate the power allocated to each channel, so the total system throughput is maximized. As stated in the previous section, in the case of two users sharing the same channel, the user with the better channel gain was considered for the calculation of the allocated channel power. In this example, we utilized four particles for the PSO algorithm.
Three representative snapshots of the initial, intermediate, and final phases of the PSO algorithm are shown in Table 4. Each particle consists of six values, which correspond to the power levels of each channel. The throughput column shows the sum throughput of all channels.
In the initialization phase, each particle’s value was set to a random number ranging from 0 to ${P}_{max}$. In this phase, the third particle achieves the best performance. In the intermediate phase, the values of the particles start to converge, while the 1st particle achieves the best performance. In the final phase, all particles have converged to the same values, along with the sumthroughput of the channels.
Upon the completion of the PSO algorithm, the intrachannel power allocation is calculated for the channels that are shared between two users, using Equation (9).
4. Performance Evaluation
4.1. System Model Parameters
In order to evaluate the proposed method, we utilize a realistic scenario similar to the one depicted in Figure 2. In this scenario, we utilize the heuristic userchannel matching algorithm to match the available frequency channels to the users, which are randomly deployed in the cell area. Afterward, we calculate the power allocated to each channel using the PSO algorithm. Finally, the power of each user in each channel is calculated proportionally to the channel gain of that user.
A simulation environment in Matlab was developed, where the aforementioned scenario was designed to evaluate the proposed method against the methods proposed in [16,35], as well as the conventional OMA scheme. The final results were derived by taking the average values from running ${10}^{4}$ simulations. The parameters of the system are based on the LTE/LTEadvanced specifications [41] and they are summarized in Table 5. A BS is placed at the center of a 500m radios cell, with a maximum power budget of 46 dBm, while the users are randomly deployed. The number of users ranges from 6 to 20, while the QoS threshold ranges from 1 to 15 Mbps. The system bandwidth is 10 MHz, divided into 8, 16, 32, 64, or 128 channels, with a carrier frequency of 2 GHz. The distancedependent path loss model is considered with a decay factor of 3.76, while the noise power spectral density is −174 dBm/Hz. The maximum number of multiplexed users is ${N}_{s}=2$, while perfect channel estimation is assumed.
For the PSO algorithm, we utilize a population size of $M=100$ particles. The inertia weight w decreases in each iteration from ${w}_{max}=0.9$ to ${w}_{min}=0.4$, while the acceleration factors are set to ${c}_{1}={c}_{2}=0.25$ [42]. The $main\phantom{\rule{0.222222em}{0ex}}loop$ of the PSO algorithm terminates if the algorithm reaches 1000 iterations or if the $gbest$ value is not optimized further than a tolerance factor of ${10}^{12}$. Finally, the decay factor for intrachannel power allocation is set to $\gamma =0.7$.
4.2. Numerical Results
For the evaluation of the results, we adopted three performance metrics, namely the total achieved system throughput, the user fairness and the average number of unconnected users. The user fairness is calculated using the Gini fairness index [43], which is defined as:
$$\begin{array}{c}\hfill G=\frac{1}{2{K}^{2}\overline{r}}\sum _{x=1}^{K}\sum _{y=1}^{K}{r}_{x}{r}_{y},\phantom{\rule{4.pt}{0ex}}\mathrm{where}\\ \hfill \overline{r}=\frac{1}{K}\sum _{k=1}^{K}{r}_{k}\phantom{\rule{4.pt}{0ex}}\mathrm{and}\phantom{\rule{4.pt}{0ex}}{r}_{k}=\sum _{s=1}^{S}{R}_{s,k}.\end{array}$$
The Gini index ranges from 0, corresponding to the maximum fairness level, to 1, corresponding to the minimum level of fairness among users. We evaluate the proposed user–channel matching PSO (UCMPSO) method, by comparing it with the Usersubchannel matching algorithm (USMA) proposed in [16], our previously proposed extensive tabu search PSO (ETSPSO) method [35], as well as with the conventional OMA scheme.
Figure 3 depicts the achieved system throughput as a function of the number of channels, assuming that the number of deployed users is $K=10$. In the USMA case, the total system throughput was about 185 Mbps, while in the UCMPSO, ETSPSO, and OMA, the throughput was 155 Mbps, 147 Mbps, and 145 Mbps, respectively. The USMA had the best performance of all compared methods as the users close to the BS are matched with more channels because. The UCMPSO method has better performance compared to the ETSPSO as the channel preference of each user is considered instead of enforcing a tabu search scheme which may result in a user not having a chance to match with a more preferred channel. The OMA scheme had the worst performance as each user was matched with a single channel, so the available bandwidth was not utilized effectively.
Figure 4 depicts the achieved system throughput as a function of the number of users, assuming that the number of channels is $S=128$. In all cases the total system throughput is increasing as the number of users increases. Specifically, the USMA’s throughput increases from 172 Mbps to 197 Mbps. The UCMPSO ranges from 150 Mbps to 158 Mbps, while the ETSPSO ranges from 145 Mbps to 150 Mbps. The OMA scheme ranges from 143 to 148 Mbps. The results indicate that the USMA has the best performance as the number of channels is considerably higher than the number of users, so the users closest to the BS have wider allocated bandwidth. The UCMPSO and ETSPSO methods present an increase in the achieved system throughput as the number of users increases. This is expected as more users are multiplexed over the channels, thus increasing the bandwidth utilization. The UCMPSO has better performance than the ETSPSO as each user has a better chance to match with his/her preferred channels. The OMA scheme has the worst performance due to the lower efficiency of bandwidth utilization.
Figure 5 depicts the Gini fairness index as a function of the number of channels, assuming that the number of deployed users is $K=10$. The USMA had an index value of about 0.80, while OMA’s value was around 0.55. The index values of ETSPSO and UCMPSO decreased as the number of channels increase. Specifically, ETSPSO ranges from 0.50 to 0.25, and UCMPSO ranges from 0.38 to 0.12. The USMA had the worst performance in terms of fairness as the users closest to the BS will be matched to more channels, while the users farthest from the BS were matched to less or no channels. Similarly, in the OMA scheme, the users closest to the BS were matched to more channels. The ETSPSO had better performance as the employed tabu search scheme enforces that all channels uniformly matched to all users. The proposed UCMPSO achieved performance increases as the number of channel increases as the users have a higher number of preferred channels to match to, meaning that the available bandwidth is more effectively utilized.
Figure 6 depicts the Gini fairness index as a function of the number of users, assuming that the number of channels is $S=128$. As the number of users increased, the USMA’s index value increased from 0.65 to 0.90, while OMA’s value increased from 0.50 to 0.60. The ETSPSO’s index maintained a steady value of 0.25, while UCMPSO’s value slightly increases from 0.10 to 0.16. The OMA scheme matched each channel to a single user, meaning that the users close to the BS will have greater throughput compared to the others, which justifies the poor performance. Similarly, in the USMA, the users close to the BS were matched with more channels. In ETSPSO a tabu search scheme is employed, so all users have an equal number of matched channels. The proposed UCMPSO method has the best performance as it manages to maintain a balance between the channel preference of each user and the number of channels matched to each user.
Figure 7 shows the average number of unconnected users as a function of the number of channels, assuming that the number of deployed users is $K=10$. As the OMA scheme matches one user to each channel, the number of unconnected users was zero when the number of channels was greater than the number of users. The USMA leaves some users unconnected as the users close to the BS were matched to more channels, while users far from the BS were not matched to any channel at all. The ETSPSO method equally distributes the channels to all users, while the proposed UCMPSO method enforces that all users were matched to the available channels.
Figure 8 shows the average number of unconnected users as a function of the number of users, assuming that the number of channels is $S=128$. The OMA scheme, the ETSPSO, and the UCMPSO present similar performance as there is not a single unconnected user. In the USMA the average number of unconnected users linearly increases with the number of deployed users.
Figure 9 shows the average user throughput as a function of the number of users, assuming that the number of channels is $S=128$. The OMA and the ETSPSO schemes achieved similar performance. The UCMPSO achieved slightly better performance, while USMA achieves the best performance in terms of the average user throughput.
Figure 10 shows the percentage of users that achieve lower performance than the QoS threshold, assuming that the number of channels is $S=64$ and the number of users is $N=10$. The QoS threshold ranges from 1 to 15 Mbps. The UCMPSO algorithm achieves the best performance, as the percentage of users bellow the QoS threshold is low, compared to the others. The ETSPSO achieves similar performance, while the percentage is very high in the OMA and USMA schemes.
5. Conclusions
Driven by the limited spectrum availability and the exponential proliferation of IoT devices, we proposed a method that improves the 5G mobile network performance. In particular, we proposed a threestep method that solves the userchannel matching and power allocation problems. In order to evaluate the performance of the proposed method, we performed extensive simulations and compared the results with the USMA proposed in [16], our previous method presented in [35] and the conventional OMA scheme. The results indicate that our proposed method outperforms all the compared ones in terms of system fairness and average number of unconnected users.
In the future, we aim to extend this method to a more complicated system involving Multiple Input Multiple Output antenna configurations. Additionally, the mitigation of intercell interference among the users who are deployed on the cell edge will be investigated [44,45]. Finally, data offloading are promising techniques in order to provide high quality of service and experience [46,47] in dense heterogeneous 5G network deployments. Hence, we plan to extend the work by investigating interference mitigation techniques among different wireless communication technologies.
Author Contributions
Conceptualization, D.P. and P.S.; methodology, D.P. and P.S.; software, D.P. and P.S.; validation, D.P. and P.S.; investigation, D.P. and P.S.; writing–original draft preparation, D.P. and P.S.; writing–review and editing, D.P. and P.S.; visualization, D.P. and P.S.; supervision, P.S.; project administration, D.P. and P.S.; funding acquisition, D.P. and P.S.
Funding
This research is cofinanced by Greece and the European Union (European Social Fund ESF) through the Operational Programme “Human Resources Development, Education and Lifelong Learning” in the context of the project “Strengthening Human Resources Research Potential via Doctorate Research” (MIS5000432), implemented by the State Scholarships Foundation (IKY).
Conflicts of Interest
The authors declare no conflict of interest.
References
 Akyildiz, I.F.; Nie, S.; Lin, S.C.; Chandrasekaran, M. 5G roadmap: 10 Key enabling technologies. Comput. Netw. 2016, 106, 17–48. [Google Scholar] [CrossRef]
 Sarigiannidis, P.; Lagkas, T.; Bibi, S.; Ampatzoglou, A.; Bellavista, P. Hybrid 5G opticalwireless SDNbased networks, challenges and open issues. IET Netw. 2017, 6, 141–148. [Google Scholar] [CrossRef]
 Pliatsios, D.; Sarigiannidis, P.; Goudos, S.; Karagiannidis, G.K. Realizing 5G vision through Cloud RAN: technologies, challenges, and trends. EURASIP J. Wirel. Commun. Netw. 2018, 2018, 136. [Google Scholar] [CrossRef]
 Condoluci, M.; Mahmoodi, T. Softwarization and virtualization in 5G mobile networks: Benefits, trends and challenges. Comput. Netw. 2018, 146, 65–84. [Google Scholar] [CrossRef]
 Cerwall, P.; Jonsson, P.; Möller, R.; Bävertoft, S.; Carson, S.; Godor, I. Ericsson Mobility Report; Ericsson: Stockholm, Sweden, 2015. [Google Scholar]
 Palattella, M.R.; Dohler, M.; Grieco, A.; Rizzo, G.; Torsner, J.; Engel, T.; Ladid, L. Internet of things in the 5G era: Enablers, architecture, and business models. IEEE J. Sel. Areas Commun. 2016, 34, 510–527. [Google Scholar] [CrossRef]
 Condoluci, M.; Lema, M.A.; Mahmoodi, T.; Dohler, M. 5g IoT industry verticals and network requirements. In Powering the Internet of Things With 5G Networks; IGI Global: Hershey, PA, USA, 2018; pp. 148–175. [Google Scholar]
 Srikanth, S.; Pandian, P.M.; Fernando, X. Orthogonal frequency division multiple access in WiMAX and LTE: A comparison. IEEE Commun. Mag. 2012, 50, 153–161. [Google Scholar] [CrossRef]
 Wei, Z.; Yang, L.; Ng, D.W.K.; Yuan, J. On the Performance Gain of NOMA over OMA in Uplink Singlecell Systems. In Proceedings of the 2018 IEEE Global Communications Conference (GLOBECOM), Abu Dhabi, UAE, 9–13 December 2018; pp. 1–7. [Google Scholar]
 Marcano, A.S.; Christiansen, H.L. Performance of nonorthogonal multiple access (NOMA) in mmWave wireless communications for 5G networks. In Proceedings of the 2017 International Conference on Computing, Networking and Communications (ICNC), Santa Clara, CA, USA, 26–29 January 2017; pp. 969–974. [Google Scholar]
 Islam, S.R.; Avazov, N.; Dobre, O.A.; Kwak, K.S. Powerdomain nonorthogonal multiple access (NOMA) in 5G systems: Potentials and challenges. IEEE Commun. Surv. Tutor. 2017, 19, 721–742. [Google Scholar] [CrossRef]
 Ali, M.S.; Hossain, E.; Kim, D.I. Coordinated multipoint transmission in downlink multicell NOMA systems: Models and spectral efficiency performance. IEEE Wirel. Commun. 2018, 25, 24–31. [Google Scholar] [CrossRef]
 Dai, X.; Chen, S.; Sun, S.; Kang, S.; Wang, Y.; Shen, Z.; Xu, J. Successive interference cancelation amenable multiple access (SAMA) for future wireless communications. In Proceedings of the 2014 IEEE International Conference on Communication Systems, Macau, China, 19–21 November 2014; pp. 222–226. [Google Scholar]
 Meng, L.; Su, X.; Zhang, X.; Choi, C.; Choi, D. Signal reception for successive interference cancellation in NOMA downlink. In Proceedings of the 2018 Conference on Research in Adaptive and Convergent Systems, Honolulu, HI, USA, 9–12 October 2018; pp. 75–79. [Google Scholar]
 Ding, Z.; Yang, Z.; Fan, P.; Poor, H.V. On the performance of nonorthogonal multiple access in 5G systems with randomly deployed users. IEEE Signal Process. Lett. 2014, 21, 1501–1505. [Google Scholar] [CrossRef]
 Di, B.; Bayat, S.; Song, L.; Li, Y. Radio resource allocation for downlink nonorthogonal multiple access (NOMA) networks using matching theory. In Proceedings of the 2015 IEEE Global Communications Conference (GLOBECOM), San Diego, CA, USA, 6–10 December 2015; pp. 1–6. [Google Scholar]
 Ali, M.S.; Tabassum, H.; Hossain, E. Dynamic user clustering and power allocation for uplink and downlink nonorthogonal multiple access (NOMA) systems. IEEE Access 2016, 4, 6325–6343. [Google Scholar] [CrossRef]
 Hojeij, M.R.; Nour, C.A.; Farah, J.; Douillard, C. Waterfillingbased proportional fairness scheduler for downlink nonorthogonal multiple access. IEEE Wirel. Commun. Lett. 2017, 6, 230–233. [Google Scholar] [CrossRef]
 Ali, S.; Hossain, E.; Kim, D.I. Nonorthogonal multiple access (NOMA) for downlink multiuser MIMO systems: User clustering, beamforming, and power allocation. IEEE Access 2017, 5, 565–577. [Google Scholar] [CrossRef]
 Cui, J.; Liu, Y.; Ding, Z.; Fan, P.; Nallanathan, A. Optimal user scheduling and power allocation for millimeter wave NOMA systems. IEEE Trans. Wirel. Commun. 2018, 17, 1502–1517. [Google Scholar] [CrossRef]
 Ni, D.; Hao, L.; Tran, Q.T.; Qian, X. Power allocation for downlink NOMA heterogeneous networks. IEEE Access 2018, 6, 26742–26752. [Google Scholar] [CrossRef]
 Amin, S.H.; Mehana, A.H.; Soliman, S.S.; Fahmy, Y.A. Power allocation for maximum MIMONOMA system userrate. In Proceedings of the 2018 IEEE Globecom Workshops (GC Wkshps), Abu Dhabi, UAE, 9–13 December 2018; pp. 1–6. [Google Scholar]
 Ali, M.S.; Hossain, E.; AlDweik, A.; Kim, D.I. Downlink power allocation for CoMPNOMA in multicell networks. IEEE Trans. Commun. 2018, 66, 3982–3998. [Google Scholar] [CrossRef]
 Zeng, M.; Yadav, A.; Dobre, O.A.; Poor, H.V. Energyefficient power allocation for MIMONOMA with multiple users in a cluster. IEEE Access 2018, 6, 5170–5181. [Google Scholar] [CrossRef]
 Zhu, L.; Zhang, J.; Xiao, Z.; Cao, X.; Wu, D.O.; Xia, X.G. Joint power control and beamforming for uplink nonorthogonal multiple access in 5G millimeterwave communications. IEEE Trans. Wirel. Commun. 2018, 17, 6177–6189. [Google Scholar] [CrossRef]
 Zhai, D.; Zhang, R.; Cai, L.; Li, B.; Jiang, Y. Energyefficient user scheduling and power allocation for NOMAbased wireless networks with massive IoT devices. IEEE Internet Things J. 2018, 5, 1857–1868. [Google Scholar] [CrossRef]
 Brighente, A.; Tomasin, S. Power allocation for nonorthogonal millimeter wave systems with mixed traffic. IEEE Trans. Wirel. Commun. 2018, 18, 432–443. [Google Scholar] [CrossRef]
 Chen, X.; Liu, G.; Ma, Z.; Zhang, X.; Xu, W.; Fan, P. Optimal Power Allocations for NonOrthogonal Multiple Access Over 5G Full/HalfDuplex Relaying Mobile Wireless Networks. IEEE Trans. Wirel. Commun. 2018, 18, 77–92. [Google Scholar] [CrossRef]
 Zhang, H.; Fang, F.; Cheng, J.; Long, K.; Wang, W.; Leung, V.C. Energyefficient resource allocation in NOMA heterogeneous networks. IEEE Wirel. Commun. 2018, 25, 48–53. [Google Scholar] [CrossRef]
 Xing, H.; Liu, Y.; Nallanathan, A.; Ding, Z.; Poor, H.V. Optimal throughput fairness tradeoffs for downlink nonorthogonal multiple access over fading channels. IEEE Trans. Wirel. Commun. 2018, 17, 3556–3571. [Google Scholar] [CrossRef]
 Jeong, Y.; Lee, C.; Kim, Y.H. Power Minimizing Beamforming and Power Allocation for MISONOMA Systems. IEEE Trans. Veh. Technol. 2019, 68, 6187–6191. [Google Scholar] [CrossRef]
 Chen, L.; Ma, L.; Xu, Y. Proportional FairnessBased User Pairing and Power Allocation Algorithm for NonOrthogonal Multiple Access System. IEEE Access 2019, 7, 19602–19615. [Google Scholar] [CrossRef]
 Uddin, M.F. Energy efficiency maximization by joint transmission scheduling and resource allocation in downlink NOMA cellular networks. Comput. Netw. 2019, 159, 37–50. [Google Scholar] [CrossRef]
 Alavi, F.; Cumanan, K.; Ding, Z.; Burr, A.G. Beamforming techniques for nonorthogonal multiple access in 5G cellular networks. IEEE Trans. Veh. Technol. 2018, 67, 9474–9487. [Google Scholar] [CrossRef]
 Pliatsios, D.; Sarigiannidis, P. Power Allocation in Downlink Nonorthogonal Multiple Access IoTenabled Systems: A Particle Swarm Optimization Approach. In Proceedings of the 2019 15th International Conference on Distributed Computing in Sensor Systems (DCOSS), Santorini Island, Greece, 29–31 May 2019; pp. 416–422. [Google Scholar]
 Wang, D.; Tan, D.; Liu, L. Particle swarm optimization algorithm: an overview. Soft Comput. 2018, 22, 387–408. [Google Scholar] [CrossRef]
 Axnäs, J.; Wang, Y.P.E.; Kamuf, M.; Andgart, N. Successive interference cancellation techniques for LTE downlink. In Proceedings of the 2011 IEEE 22nd International Symposium on Personal, Indoor and Mobile Radio Communications, Toronto, ON, Canada, 11–14 September 2011; pp. 1793–1797. [Google Scholar] [CrossRef]
 Zhang, X.; Haenggi, M. Successive interference cancellation in downlink heterogeneous cellular networks. In Proceedings of the 2013 IEEE Globecom Workshops (GC Wkshps), Atlanta, GA, USA, 9–13 December 2013; pp. 730–735. [Google Scholar] [CrossRef]
 Poli, R.; Kennedy, J.; Blackwell, T. Particle swarm optimization. Swarm Intell. 2007, 1, 33–57. [Google Scholar] [CrossRef]
 Yeniay, Ö. Penalty function methods for constrained optimization with genetic algorithms. Math. Comput. Appl. 2005, 10, 45–56. [Google Scholar] [CrossRef]
 3GPP, TR25.814. Physical Layer Aspect for Evolved Universal Terrestrial Radio Access (UTRA); Technical Report; 3rd Generation Partnership Project (3GPP): Sophia Antipolis, France.
 Trelea, I.C. The particle swarm optimization algorithm: convergence analysis and parameter selection. Inf. Process. Lett. 2003, 85, 317–325. [Google Scholar] [CrossRef]
 Dianati, M.; Shen, X.; Naik, S. A new fairness index for radio resource allocation in wireless networks. In Proceedings of the IEEE Wireless Communications and Networking Conference, New Orleans, LA, USA, 13–17 March 2005; Volume 2, pp. 712–717. [Google Scholar]
 Mahmood, N.H.; Pedersen, K.I.; Mogensen, P. Interference aware intercell rank coordination for 5G systems. IEEE Access 2017, 5, 2339–2350. [Google Scholar] [CrossRef]
 Ayoob, A.A.; Abdulazeez, H.A.; Gang, S.; Tan, L. Hybrid Inter Cell Interference Coordination in 5G Networks. Int. J. Pure Appl. Math. 2018, 119, 13105–13116. [Google Scholar]
 Tan, A.S.; Zeydan, E. Performance maximization of network assisted mobile data offloading with opportunistic DevicetoDevice communications. Comput. Netw. 2018, 141, 31–43. [Google Scholar] [CrossRef]
 Saliba, D.; Imad, R.; Houcke, S.; El Hassan, B. WiFi Dimensioning to offload LTE in 5G Networks. In Proceedings of the 2019 IEEE 9th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, USA, 7–9 January 2019; pp. 521–526. [Google Scholar]
Figure 1.
Conceptual comparison between (a) orthogonal multiple access (OMA) and (b) nonorthogonal multiple access (NOMA).
Figure 3.
Achieved system throughput for $K=10$ users, when the number of channel ranges from 8 to 128.
Figure 4.
Achieved system throughput for $S=128$ channels, when the number of users ranges from 6 to 20.
Figure 7.
Average number of unconnected users for $K=10$ users, when the number of channel ranges from 8 to 128.
Figure 8.
Average number of unconnected users for $S=128$ channels, when the number of users ranges from 6 to 20.
Figure 9.
Average user throughput for $S=128$ channels, when the number of users ranges from 6 to 20.
Figure 10.
Percentage of users that achieve lower performance than the quality of service (QoS) threshold, for $S=64$ and $N=10$.
Reference  Aim  Proposed Method 

[15]  Investigation of outage probability in NOMA system with randomly deployed users  Mathematical analysis of the outage probability 
[16]  Channel assignment and power allocation optimization  Channel assignment exploiting matching theory and power allocation using waterfilling method 
[17]  Power allocation optimization  Clustering of deployed users using mixed integer nonlinear programming 
[18]  Channel assignment and power allocation optimization  Waterfilling method in order to maximize the total system throughput 
[19]  Interference mitigation in MIMO NOMA systems  Application of beamforming techniques on user clusters 
[20]  User scheduling and power allocation optimization  Matching theory and successive convex approximation techniques 
[21]  Power allocation optimization in heterogeneous NOMA systems  Iterative distributed power allocation scheme 
[22]  Power allocation optimization and interference mitigation in heterogeneous NOMA systems  Interference alignment scheme based on user clustering 
[23]  Power allocation optimization in heterogeneous NOMA systems  Exploitation of CoMP schemes in order to apply a lowcomplexity distributed power optimization method 
[24]  Energy efficiency optimization for multicluster MIMO NOMA system under QoS constraints  Waterfillingbased method in order to maximize the system throughput under a given total power 
[25]  Throughput maximization through power control and beamforming  Decomposition of the joint problem into subproblems and development of a suboptimal solution 
[26]  User scheduling and power allocation optimization  Exploitation of Lyapunov stochastic optimization scheme 
[27]  Maximization of spectral efficiency in a NOMA system with mixedtraffic requirements  Developed a groupbased power allocation scheme 
[28]  Throughput maximization in relaybased NOMA systems  Conversion of the quasiconcave problem into a convex one, and proposal of a dynamic power allocation scheme 
[29]  User scheduling and power allocation optimization  Leverage of convex optimization techniques 
[30]  Maximization of the minimal achievable user throughput  Development of a twostep joint beamforming and power allocation solution 
[31]  Minimization of transmission power under throughput constraints in MIMO NOMA systems  Combination of power allocation, user clustering and beamforming techniques 
[32]  Optimization of proportional fairness of the users  Joint user pairing and power allocation method 
[33]  Energy efficiency optimization through optimal resource allocation  Formulation as linear programming problem and utilization of CPLEX optimization tool 
Term  Description 

B  Total system bandwidth 
${h}_{s,k}$  Channel gain coefficient 
K  Number of users 
${N}_{0}$  Noise spectral density of AWGN 
${N}_{s}$  Number of multiplexed users in the same channel 
${P}_{max}$  Total power budget of the Base Station 
${P}_{s,k}$  Power allocated to user k in channel s 
${R}_{s,k}$  Achievable throughput of user k in channel s 
S  Number of channels 
${w}_{s,k}$  Additive White Gaussian Noise 
${x}_{s}$  Transmitted signal in channel s 
${x}_{s,k}$  Transmitted signal of user k in channel s 
${y}_{s,k}$  Received signal of user k in channel s 
User  Channel Preference Order 

A  3, 1, 2, 6, 5, 4 
B  3, 4, 5, 2, 1, 6 
C  5, 2, 6, 3, 4, 1 
D  5, 6, 4, 1, 2, 3 
Channels  1  2  3  4  5  6  Channel Throughput  

Initialization  1st Particle  1.399  4.636  3.282  0.489  1.463  5.427  79.269 
2nd Particle  2.438  5.058  4.756  0.390  1.663  5.024  80.480  
3rd Particle  3.971  4.386  5.258  3.001  2.370  5.861  84.798  
4th Particle  5.036  2.699  4.879  0.132  2.608  4.496  79.584  
Intermediate  1st Particle  6.690  6.217  7.386  5.243  3.706  8.447  88.520 
2nd Particle  6.082  6.181  7.651  4.680  3.644  8.637  88.269  
3rd Particle  5.676  6.231  7.435  4.269  3.373  8.318  87.842  
4th Particle  5.331  7.295  7.647  4.379  3.403  8.477  88.096  
Final  1st Particle  6.869  6.694  8.020  5.399  3.961  9.058  89.023 
2nd Particle  6.869  6.694  8.020  5.399  3.961  9.058  89.023  
3rd Particle  6.869  6.694  8.020  5.399  3.961  9.058  89.023  
4th Particle  6.869  6.694  8.020  5.399  3.961  9.058  89.023 
Parameter  Value 

Carrier Frequency  2 GHz 
Cell Radius  500 m 
Maximum Transmission Power  46 dBm 
Number of channels  8, 16, 32, 64, 128 
System Bandwidth  10 MHz 
QoS Threshold  1–15 Mbps 
Distance Dependent Path Loss  128.1 + 37.6log10(d), d in km 
Noise Power Spectral Density  −174 dBm/Hz 
Number of deployed users  6–20 
Maximum number of multiplexed users  2 
PSO Population Size  100 
PSO Inertia Weight  0.9–0.4 
PSO Accelaration Factors  0.25 
PSO Maximum Iterations  1000 
PSO Best Value Gain Tolerance  ${10}^{12}$ 
Intrachannel Power Allocation Factor  0.7 
© 2019 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).