To make it easier to solve the problem, the original maximization problem in (5) can be transformed into a minimization problem as [17]

\underset{{\alpha}_{k,s,}{\stackrel{\u0304}{p}}_{k,s}}{min}-\sum _{k=1}^{K}{w}_{k}\sum _{s=1}^{s}{\alpha}_{k,s}n{log}_{2}\left(1+\frac{{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,\mathsf{\text{s}}}}{{\alpha}_{k,s}}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}\right)\Delta f

subject to:

\begin{array}{c}\sum _{k=1}^{K}\sum _{s=1}^{s}{\stackrel{\u0304}{p}}_{k,s}\le {P}_{max}\\ \sum _{k=1}^{K}{\alpha}_{k,s}=1\forall s\\ 0\le {\alpha}_{k,s}\le 1\forall k,\phantom{\rule{2.77695pt}{0ex}}s\phantom{\rule{2.77695pt}{0ex}}.\end{array}

(6)

The first constraint in (5) is relaxed in such a way that it is a real number on the interval of 0[1]. Furthermore, we define {\stackrel{\u0304}{p}}_{k,s}={\alpha}_{k,s}{p}_{s} as the transmission power used by user *k* on subchannel *s*. The case {\stackrel{\u0304}{p}}_{k,s}=0 corresponds to an unused subchannel for user *k*. The most important property of the objective function in (6) is that it is convex. The proof of convexity is given in Appendix.

Letting *λ* ≥ 0, *η*_{
s
} ≥ 0, *ξ*_{
k
}_{,}_{
s
} ≥ 0 and *μ*_{
k
}_{,}_{
s
} ≥ 0 be the Lagrange multipliers associated with the given constraints, the Lagrangian dual of (6) can be formulated as

\begin{array}{c}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{{\mu}_{k,}}_{s}\right)\\ =-\sum _{k=1}^{K}{w}_{k}\sum _{s=1}^{s}n\Delta f{\alpha}_{k,s}{log}_{2}\left(1+\frac{{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,s}}{{\alpha}_{k,s}}\left|\right|{H}_{k,s}{\left|\right|}_{\mathsf{\text{F}}}^{2}\right)\\ \phantom{\rule{1em}{0ex}}+\lambda \left(\sum _{k=1}^{K}\sum _{s=1}^{s}{\stackrel{\u0304}{p}}_{k,s}-{P}_{max}\right)+\sum _{s=1}^{s}{\eta}_{s}\left(\sum _{k=1}^{K}{\alpha}_{k,s}-1\right)\\ \phantom{\rule{1em}{0ex}}+\sum _{k=1}^{K}\sum _{s=1}^{s}{\xi}_{k,s}\left(0-{\alpha}_{k,s}\right)+\sum _{k=1}^{K}{\sum _{s=1}^{s}\mu}_{k,s}\left({\alpha}_{k,s}-1\right).\end{array}

(7)

The optimal solution must satisfy the Karush-Kuhn-Tucker (KKT) conditions [18], which can be given as follows:

\begin{array}{ll}{\nabla}_{\alpha k,s}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\mu}_{k,s}\right)\phantom{\rule{2em}{0ex}}& \hfill \text{(1)}\\ \phantom{\rule{1em}{0ex}}=-{w}_{k}n\Delta f\left[{log}_{2}\left(1+\frac{{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,s}}{{\alpha}_{k,s}}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}\right)\right.\phantom{\rule{2em}{0ex}}& \hfill \text{(2)}\\ \phantom{\rule{1em}{0ex}}\phantom{\rule{1em}{0ex}}-\left(\right)close="]">\frac{{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}}{ln2\left({\alpha}_{k,s}+{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}\right)}& +{\eta}_{s}-{\xi}_{k,s},+{\mu}_{k,s}\phantom{\rule{2em}{0ex}}\\ \hfill \text{(3)}\end{array}\n \n \n \n =\n 0\n \n \n \n \n \n (4)\n \n \n \n \n \n \n \n (5)\n \n \n \n

(8)

\begin{array}{c}{\nabla}_{{\stackrel{\u0304}{p}}_{k,s}}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\mu}_{k,s}\right)\\ \phantom{\rule{1em}{0ex}}=\frac{-{w}_{k}{\alpha}_{k,s}n\Delta f{\gamma}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}}{ln2\left({\alpha}_{k,s}+{\gamma}_{k,s}{\stackrel{\u0304}{p}}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}\right)}+\lambda =0,\end{array}

(9)

\begin{array}{c}\lambda \cdot {\nabla}_{\lambda}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\mu}_{k,s}\right)\\ \phantom{\rule{1em}{0ex}}=\lambda \left(\sum _{k=1}^{K}\sum _{s=1}^{s}{\stackrel{\u0304}{p}}_{k,s}-{P}_{\mathsf{\text{max}}}\right)=0,\end{array}

(10)

\begin{array}{c}{\eta}_{s}\cdot {\nabla}_{{\eta}_{\mathsf{\text{s}}}}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\mu}_{k,s}\right)\\ \phantom{\rule{1em}{0ex}}={\eta}_{s}\left(\sum _{k=1}^{K}{\alpha}_{k,s}-1\right)=0,\end{array}

(11)

\begin{array}{c}{\xi}_{k,s}\cdot {\nabla}_{{\xi}_{k,\mathsf{\text{s}}}}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s}{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s,}{\mu}_{k,s}\right)\\ \phantom{\rule{1em}{0ex}}={\xi}_{k,s}\left(0-{\alpha}_{k,s}\right)=0,\end{array}

(12)

\begin{array}{c}{\mu}_{k,s}\cdot {{\nabla}_{\mu}}_{{}_{k,s}}\mathcal{L}\left({\stackrel{\u0304}{p}}_{k,s}{\alpha}_{k,s},\phantom{\rule{2.77695pt}{0ex}}\lambda ,\phantom{\rule{2.77695pt}{0ex}}{\eta}_{s},\phantom{\rule{2.77695pt}{0ex}}{\xi}_{k,s,}{\mu}_{k,s}\right)\\ \phantom{\rule{1em}{0ex}}={\mu}_{k,s}\left({\alpha}_{k,s}-1\right)=0.\end{array}

(13)

From (8), we define

\begin{array}{lll}\hfill {\Psi}_{k,s}& ={w}_{k}n\Delta f\left[\Phi \left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s}\right)-\varphi \left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s}\right)\right]\phantom{\rule{2em}{0ex}}& \hfill \text{(1)}\\ ={\eta}_{s}-{\xi}_{k,s}+{\mu}_{k,s},\phantom{\rule{2em}{0ex}}& \hfill \text{(2)}\\ \hfill \text{(3)}\end{array}

(14)

where \Phi \left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s}\right) is the logarithmic function and \varphi \left({\stackrel{\u0304}{p}}_{k,s},{\alpha}_{k,s}\right) is the rest function of the first term in (8). From (12) and (13), if subchannel *s* is allocated to user *k*, i.e., *α*_{
k,s
} = 1, then *ξ*_{
k
}_{,}_{
s
} = 0 and *μ*_{
k
}_{,}_{
s
} ≥ 0. On the other hand, if subchannel *s* is not allocated to user *k*, i.e., *α*_{
k
}_{,}_{
s
} < 1, then *ξ*_{
k
}_{,}_{
s
} = 0 and *μ*_{
k
}_{,}_{
s
} = 0. Thus, we can write

{\Psi}_{k,s}\left\{\begin{array}{cc}\hfill \ge {\eta}_{s},\hfill & \hfill {\alpha}_{k,s}=1\hfill \\ \hfill ={\eta}_{s},\hfill & \hfill {\alpha}_{k,s}<1.\hfill \end{array}\right.

(15)

From (11) and (15), it can be concluded that *η*_{
s
} is a constant for subchannel *s* of all users and subchannel *s* can be allocated to the user *u*(*s*), who has the maximum Ψ_{
k
}_{,}_{
s
} on that subchannel, i.e.,

u\left(s\right)=arg\underset{k}{max}{\Psi}_{k,s}.

(16)

The objective in (16) is equivalent to finding the maximum {w}_{k}n\Delta f\Phi \left({\stackrel{\u0304}{p}}_{k,s},\phantom{\rule{2.77695pt}{0ex}}{\alpha}_{k,s}\right). Hence, considering (2), we can conclude that

{\alpha}_{u\left(s\right),s}=\left\{\begin{array}{cc}\hfill 1,\hfill & \hfill \phantom{\rule{2.77695pt}{0ex}}u\left(s\right)=\phantom{\rule{2.77695pt}{0ex}}arg\phantom{\rule{2.77695pt}{0ex}}{max}_{k}\left\{{w}_{k}\cdot {r}_{k,s}\right\}\hfill \\ \hfill 0,\hfill & \hfill \mathsf{\text{otherwise}}.\hfill \end{array}\right.

(17)

Note that the condition in (17) corresponds to selecting the user with the maximum weighted rate for subchannel *s* and given the transmit power levels.

Similarly, from (9) and (10), we may obtain the well-known water-filling solution as

\begin{array}{lll}\hfill {\stackrel{\u0304}{p}}_{k,s}& =\frac{{w}_{k}{\alpha}_{k,s}}{{\lambda}^{\prime}}-\frac{{\alpha}_{k,s}}{{\gamma}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}}\phantom{\rule{2em}{0ex}}& \hfill \text{(1)}\\ =\left\{\begin{array}{cc}\hfill max\left\{0,\phantom{\rule{2.77695pt}{0ex}}\frac{{w}_{k}}{{\lambda}^{\prime}}-\frac{1}{{\gamma}_{k,s}\left|\right|{H}_{k,\mathsf{\text{s}}}\underset{\mathsf{\text{F}}}{\overset{2}{\left|\right|}}}\right\},\hfill & \hfill {\alpha}_{k,s}=1\hfill \\ \hfill 0,\hfill & \hfill {\alpha}_{k,s}<1,\hfill \end{array}\right.\phantom{\rule{0.3em}{0ex}}\phantom{\rule{2em}{0ex}}& \hfill \text{(2)}\\ \hfill \text{(3)}\end{array}

(18)

where *λ*' is a constant which is a function of *λ* and can be obtained through substituting (18) into (10) which yields

{\lambda}^{\prime}=\frac{{\sum}_{k=1}^{K}{w}_{k}\left|{\Omega}_{k}\right|}{{\sum}_{k=1}^{K}{\sum}_{s\in {\Omega}_{k}}\frac{1}{{\gamma}_{k,s}\left|\right|{H}_{k,s}|{|}_{\mathsf{\text{F}}}^{2}}+{P}_{\mathsf{\text{max}}}},

(19)

where Ω _{
k
} (|Ω _{
k
} | ≤ *S*) is the set of subchannels assigned to user *k*.