It has been stated that the primal problem of (4) is difficult to solve with efficient approaches, especially in largescale HetNet with both macrocells and a number of pico/femtocells. To deal with the problem, the main job is to handle the intercell interference and to find a balance between the complexity of interference control and entire network performance. In this section, we resort to solving (4) via decomposing the problem into two subproblems under different user experiences. Then, we can address the uplink interference problem via designing a userspecific power and resource allocation strategy.
As for the users suffering severe interference from adjacent cells, the power control itself with full frequency reuse may not be suitable for well controlling the interference. Meanwhile, if the user’s uplink transmission causes severe interference to other user channels, the interfering user may also need to use an orthogonal frequency band instead of sharing with others. Otherwise, if the user is in the proximity of its serving cell station, it can share the allocated frequency band with other users since the mutual interference could be ignorable. The basic idea of our proposed algorithm is outlined as follows:

In the HetNet, each user is specified with both the interference it suffers and its caused interference to others. According to the evaluation, the users will be classified as ‘good users’ and ‘interfering users’.

For the good users, a specified power allocation scheme is presented via using geometric programming (GP) [19] as well as a universal frequency reuse strategy.

For the interfering users, frequency reuse may not be able to achieve better performance than regular frequency partition approach, especially when there are a large number of interfering users around. A δsemiorthogonal RB assignment is thus presented for these interfering users while letting them use an aggressive maximum transmit power.
With the above strategy applied, all users are classified into two groups referred to as good users and interfering users. This kind of user classification is different from the user classification in homogeneous multicell networks in that both its suffered interference and the interference it caused to other users are taken into account. In the following, the metric and procedure of the user grouping are firstly detailed, and then the details of the userspecific resource allocation and power control strategy are elaborated.
4.1 User classification under HetNet
In traditional homogeneous networks, the users are usually classified as either ‘cellcenter user’ or ‘celledge user’ based on the received SINR for coordinated multicell joint processing. In the heterogeneous network, however, the SINR metric can be ineffective in user classification. Due to the unplanned and arbitrary topology of the pico/femtocell deployment, each user should not only consider its received SINR but also suppress the interference caused to other users. Hence, we present to utilize the SLNR measurement for user classification. Although SLNR has been widely used for beamforming design in multiantenna [15] and multicell systems [16], to the best of our knowledge, it has not been considered for resource allocation under the HetNet scenario. Here, the SLNR at the macro/pico BS for a single user k in cell l is defined by
{\eta}_{k}^{l}=\frac{{p}_{k}^{l}{h}_{k}^{l}}{{\sum}_{j=1,j\ne l}^{L}{p}_{k}^{l}{g}_{k}^{l,j}+{\sigma}^{2}}.
(5)
Note that when we evaluate the SLNR metric {\eta}_{k}^{l} for a user k associated with cell l, the initially allocated power {p}_{k}^{l} can be chosen by the conventional uplink power control formula or just simply {P}_{\text{max}}^{l}. Given a predetermined value ε_{
l
} as the SLNR threshold for users in the lth cell, users are then classified into two different groups.

For users with {\eta}_{k}^{l}\ge {\epsilon}_{l}: All these users can be treated as good users within the lth cell. The good users have good enough signal power while causing very limited intercell interference, hence resulting in a large SLNR value. Specifically for the good users, we let all cells share the same RBs for them due to their low intercell interference and relatively large signal strength. Note that we set different SLNR thresholds for different kinds of cells, i.e., macro and picocells. This configuration is reasonable and necessary for a practical HetNet because the transmit power and user topology of users are quite different for a macrocell user and a pico/femtocell user.

For users with {\eta}_{k}^{l}\le {\epsilon}_{l}: These users are treated differently as interfering users. The low SLNR evaluation implies that the users have either or both of the two characterizations: (1) experiencing low useful signal strength due to large distance between the user and its associated cell station; (2) causing severe interference to adjacent cells.
4.2 Userspecific heuristic RB allocation
Given the users have been classified as two groups, we divide the entire frequency band into two orthogonal parts dedicated for the user groups. More specifically, the first part of the overall spectrum is reserved for the good users, while the rest part of the spectrum is reserved for the interfering users. Specified for the good users, the dedicated frequency spectrum in terms of RBs is equally assigned to the users within each cell. Meanwhile for the interfering users, the users from different cells will be paired as a δelement group which has no more than δ users sharing the same RB among all, and the RBs will be allocated to the δelement user group in a sequential way.
Since the RB allocation for good users is easy to implement, here in the following, we present a detailed description on how the RB allocation for ‘interfering users’, that is, to determine the ‘ δelement group’ with proper RB assignments. Different from orthogonal RB allocation for all users, this strategy allows a small number of users, say δ instead of all users, to share an RB for transmission. We hence in this study referred to it as the ‘ δelement semiorthogonal RB allocation’ scheme in the following. The detailed steps of the algorithm are described as follows:

1.
Initialize {P}_{\text{max}}^{l}={P}_{\text{max}}/{N}_{l}, where N _{
l
} is the average number of RBs assigned to a single user, i.e., the number of RBs reserved for interfering users divided by the number of interfering users in the lth cell.

2.
For each cell l, we first select a subset of users which have the least number of assigned RBs in the lth cell, and this user subset may have one or more users according to the selection criterion. Subsequently, we choose the user with the maximum SLNR value from the user subset. The user is denoted by k ^{l}. Initialize the user group with \mathcal{\mathcal{M}}=\left\{{k}^{l}\right\}; the corresponding cells with users selected in is initialized by \mathcal{\mathcal{L}}=\left\{l\right\}.

3.
Calculate the current achievable rate as
{R}_{M}=log\left(1+\frac{{P}_{\text{max}}^{l}{h}_{{k}^{l}}^{l}}{{\sigma}^{2}}\right).

4.
If the cardinality \left\mathcal{\mathcal{M}}\right<\delta or equivalently \left\mathcal{\mathcal{L}}\right<\delta, find the least interfered cell c according to
c=arg\phantom{\rule{1em}{0ex}}\underset{c\in {\mathcal{\mathcal{L}}}^{\perp}}{\text{min}}\sum _{u\in \mathcal{\mathcal{M}}}{g}_{u}^{c}
where {\mathcal{\mathcal{L}}}^{\perp} represents the complementary set of cells in , and {g}_{u}^{c} denotes the interference channel from user u to cell c. Else, stop.

5.
For each user u in cell c, calculate the updated achievable rate with user u involved in the group. It gives
{R}_{u}=\sum _{i\in \mathcal{\mathcal{M}}\cup \left\{u\right\}}log\left(1+\frac{{P}_{\text{max}}^{l}{h}_{i}}{{\sum}_{k\in \mathcal{\mathcal{M}}\cup \left\{u\right\},k\ne i}{P}_{\text{max}}^{l}{g}_{k}^{i}+{\sigma}^{2}}\right).

6.
If R _{
u
}≥R _{
M
} for any user u in cell c, update \mathcal{\mathcal{M}}=\mathcal{\mathcal{M}}\cup \left\{u\right\}, the corresponding , and the achievable rate R _{
M
}=R _{
u
}. Else, stop.

7.
Go back to step 4.
4.3 Userspecific power control under fixed RB allocation
As discussed in the previous subsection, the RB allocation is carried out according to the user classification. With this method, universal frequency spectrum reuse is deployed for all good users in different cells, while a δelement semiorthogonal RB allocation strategy is proposed for interfering users. Given the fixed RB allocation, we look back at the primal resource allocation problem in (4). Once the RB assignment labels {\alpha}_{k,n}^{l} are fixed with {0,1}, the optimization problem reduces to a power control problem for the HetNet uplink channels. It follows
\begin{array}{ll}\underset{{p}_{k,n}^{l}}{\text{maximize}}\phantom{\rule{2em}{0ex}}& \sum _{l=0}^{L}{w}_{l}\sum _{n=0}^{N}log\left(1+\underset{k,n}{\overset{l}{\gamma}}\right)\\ \mathrm{subject}\phantom{\rule{1em}{0ex}}\mathit{\text{to}}\phantom{\rule{2em}{0ex}}& {p}_{k,n}^{l}\le {P}_{\text{max}}^{l},\phantom{\rule{1em}{0ex}}\forall k,l;\\ \phantom{\rule{8.4em}{0ex}}{p}_{k,n}^{l}\ge 0,\phantom{\rule{1em}{0ex}}\forall k,n,l\end{array}
(6)
where the uplink received SINR for each user becomes
{\gamma}_{k,n}^{l}=\frac{{p}_{k,n}^{l}{h}_{k}^{l}}{{\sum}_{j=0,j\ne l}^{L}{p}_{k,n}^{j}{g}_{k}^{j,l}+{\sigma}^{2}}
(7)
where the user index k corresponds to the assigned user in cell l at the nth RB. From the above formulation, it is readily observed that the problem is still difficult to solve due to its nonconvexity. Actually, even the problem of power control for a simple singlecell interference channel has not been well investigated with efficient solution. In order to make the problem tractable, we recall the above design philosophy with userspecific power control strategies.
First, we consider the power control for good users which generally have a much better achieved SINR than average. Fortunately, with high SNR assumption, the power control problem can be approximately casted to a typical GP problem which admits a globally optimal solution by using efficient algorithms [20]. Without loss of generality, let C_{
l
} denote the number of good users in the lth cell. With several steps of manipulations as detailed in the Appendix, the problem is finally casted to a standard form of GP. It gives
\begin{array}{l}\underset{{t}_{n,l},\phantom{\rule{1pt}{0ex}}{p}_{k,n}^{l}\ge 0}{\text{minimize}}\phantom{\rule{2em}{0ex}}\prod _{l=0}^{L}\prod _{n=0}^{{C}_{l}}{t}_{n,l}^{1}\\ \mathrm{subject}\phantom{\rule{1pt}{0ex}}\mathit{\text{to}}\phantom{\rule{4em}{0ex}}\frac{{\sigma}^{2}}{{h}_{k}^{l}}{\left({p}_{k,n}^{l}\right)}^{1}{t}_{n,l}^{1/{w}_{l}}\phantom{\rule{0.3em}{0ex}}+\phantom{\rule{0.3em}{0ex}}\sum _{j\ne l}\frac{{g}_{{k}^{j}}^{l}}{{h}_{k}^{l}}{\left({p}_{k,n}^{l}\right)}^{1}{p}_{{k}^{j},n}^{j}{t}_{n,l}^{1/{w}_{l}}\le 1;\\ \phantom{\rule{8.5em}{0ex}}\frac{1}{{P}_{\text{max}}^{l}}{p}_{k,n}^{l}\le 1,\phantom{\rule{1em}{0ex}}\forall n,\mathrm{l.}\end{array}
(8)
Thus far, the above problem is a standard GP which definitely is a convex optimization problem. Hence, it is easy to achieve the optimal power control solution via efficient computations like interior point method [21]. Note that some popular optimization tools including cvx [22] and sedumi [23] can be directly utilized for solving the convex optimization problems GP very efficiently.
After the power control for good users has been solved, we subsequently discuss the power control strategy for interfering users. Recall that most of the severe intercell interference has been removed by semiorthogonal RB allocation among interfering users. It is intuitively true to let the interfering users transmit with their maximum power. Since the semiorthogonal RB assignment guarantees marginal interference to adjacent cells, the high transmit power will obviously contribute to a better received signal power, resulting in a higher achievable throughput. To sum up, a flow chart of the proposed algorithm is illustrated in Figure 2.