In this section, we first devise a heuristic PRB allocation algorithm using bankruptcy game and Shapley value. Second, power allocation problem is solved by fractional programming.

### PRB allocation algorithm

First, let us assume that power allocation is known, and sub-problem 1 can be defined by extracting constraints C1–C3 from (10):

$$ \begin{aligned} \mathop {\max }\limits_{\mathbf{A}} \frac{{{R_{\text{tot}}}({\mathbf{A}})}}{{{P_{\text{tot}}}({\mathbf{A}})}}\\ s.t.{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt}{\mathrm{C}1},{\mathrm{C}2},{\mathrm{C}3} \end{aligned} $$

((11))

The problem is a nonlinear integer programming under constraints. Conventional solutions include branch-and-bound method and intelligent algorithm. For both methods, the computation complexity is rather high, especially when multiple constraints exist. In addition, one major concern of the problem is to guarantee allocation fairness, which is neglected in conventional solutions. Because the rate demands differentiate from user to user, allocation according to the demands efficiently optimizes the resource utilization.

In our work, bankruptcy game is introduced to solve the problem. VOs are modeled as bankrupt players, and total PRBs are modeled as overall estate. The reasons are as follows. First, bankruptcy defines a model where the estate is insufficient to satisfy the demand of all players [24]. Since the PRBs owned by the InP are limited, the total traffic demand should exceed the rate that the PRBs can provide (according to assumption 2). Second, as a cooperative game, bankruptcy game enables VOs to cooperatively share the PRB resource. Third, to guarantee the allocation fairness, Shapley value is adopted as a solution to the bankruptcy game [25].

In order to maintain the virtual network operated, each VO is likely to reserve a minimum number of PRBs *b*
_{
v
}, where \({\sum \nolimits }_{v = 1}^{V} {{b_{v}}} \le {\sum \nolimits }_{n = 1}^{N} {K{}_{n}^{\max }} \). In addition, each VO should claim additional PRBs *c*
_{
v
} to satisfy its customers’ traffic needs as much as possible. This establishes competition among different VOs. Therefore, to guarantee fairness, the allocation strategy should be centrally handled by the InP based on the instantaneous traffic flow demand reported from VOs.

The InP firstly makes an assessment on the total PRB number *Y* to support the whole service area. This can be realized by combining the most recent traffic demand information and average channel states in previous transmit time intervals (TTIs). We recommend that the InP may assume a rather deteriorated channel condition well below the average value, so that \(Y > {\sum \nolimits }_{n = 1}^{N} {K{}_{n}^{\max }} - {\sum \nolimits }_{v = 1}^{V} {{b_{v}}}\). Then, the additional claimed PRBs can be calculated through the following formulas:

$$\begin{array}{*{20}l} & {c_{v}} = \left({\frac{{{M_{v}}{d_{v}}}}{{{\sum\nolimits}_{i = 1}^{V} {{M_{i}}{d_{i}}} }}} \right) * (Y - V) + 1,{\kern 1pt} \forall {\kern 1pt} v \end{array} $$

((12a))

$$\begin{array}{*{20}l} & {\sum\nolimits}_{v = 1}^{V} {{c_{v}}} = Y \end{array} $$

((12b))

In the bankruptcy game, VOs cooperatively share the physical resource and form coalition with each other. When a coalition of VOs cooperates, a certain overall payoff is obtained from the cooperation. Shapley value calculates the contribution or the relative importance that each player makes to the total payoff. First, let us define coalition \(\mathcal {S}\) as a subset of \(\mathcal {N}\) (i.e., \(\mathcal {S} \subseteq \mathcal {N}\)). For example, \(\mathcal {S} = \{ 1,2\}\) means VO#1 and VO#2 cooperatively apply for the PRB resource in the bankruptcy game. Here, we define the cooperation payoff (*y* in respect of \(\mathcal {S}\)) as [24]:

$$ y(S) = {\left[{{\sum\nolimits}_{n = 1}^{N} {K{}_{n}^{\max}} - {\sum\nolimits}_{v = 1}^{V} {{b_{v}}} - {\sum\nolimits}_{v \notin S} {{c_{v}}}} \right]^ + } $$

((13))

In total, there are possibly 2^{N} coalitions and for each possible coalition, *y* takes a particular value. For example, *y*(*∅*)=0 means no VO cooperates in the game, while \(y(N) = {\sum \nolimits }_{n = 1}^{N} {K{}_{n}^{\max }} - {\sum \nolimits }_{v = 1}^{V} {{b_{v}}}\) means all VOs cooperate. Using *y*(*S*), Shapley value can be calculated as follows [25]:

$${} {\Phi_{v}} = \sum\limits_{\mathcal{S} \subseteq \mathcal{N},v \in \mathcal{S}} {\left(\! {\frac{{(|\mathcal{S}| - 1)!(N - |\mathcal{S}|)!}}{{N!}}\left({y(\mathcal{S}) - y(\mathcal{S} - \{ v\})} \right)}\! \right)} $$

((14))

where |·| represents set’s cardinality. The Shapley value is expressed as a weighted sum of the cooperation payoff. \({y(\mathcal {S}) - y(\mathcal {S} - \{ v\})}\) calculates the incremental payoff that VO *v* owes to coalition \(\mathcal {S}\). \(\frac {{(|\mathcal {S}| - 1)!(N - |\mathcal {S}|)!}}{{N!}}\) is a weighting factor that assigns equal share of the generated payoff to each coalition of interest. Shapley value calculates the contribution or the relative importance that each player (VO) makes to the total payoff. Thus, the optimal allocation PRB number *K*
_{
v
} can be calculated as follows:

$$\begin{array}{*{20}l} & {K_{v}} = \left[{b_{v}} + {\Phi_{v}}\right],\forall v \end{array} $$

((15a))

$$\begin{array}{*{20}l} & {\sum\nolimits}_{v = 1}^{V} {{K_{v}}} = {\sum\nolimits}_{n = 1}^{N} {K{}_{n}^{\max}} \end{array} $$

((15b))

where symbol [ *x*] denotes rounding to the nearest integer of *x*. *b*
_{
v
} is the the minimum PRB number to maintain a certain VO network operated and *Φ*
_{
v
} is the additional allocated PRB number calculated based on VO’s traffic demand. (15b) means that the total allocated PRB number should meet the maximum PRB number constraint.

The PRB allocation algorithm is presented in Algorithm ??. In each iteration, PRB is allocated to VO user with the aim of maximizing energy efficiency. Operator filter() is defined as: \(\text {filter}({\mathcal {M}_{v}},K_{v})=\emptyset \) if and only if *K*
_{
v
}=0; otherwise, \(\text {filter}({\mathcal {M}_{v}},K_{v})={\mathcal {M}_{v}}\). filter() is used to guarantee VO *v* quitting the allocation when its allocated PRB number exceeds *K*
_{
v
}.

### Power allocation

Assuming the PRB allocation is known, the original problem (10) is decoupled to a power allocation problem. To eliminate the non-convexity of the power allocation problem, we transform it into an equivalent convex optimization. And the optimal power allocation is obtained by Lagrange dual approach.

#### Problem transformation

Extracting constraints C4 and C5 from (10), sub-problem 2 can be written as:

$$ \begin{aligned} \mathop {\max }\limits_{\mathbf{P}} \frac{{{R_{\text{tot}}}({\mathbf{P}})}}{{{P_{\text{tot}}}({\mathbf{P}})}}\\ s.t.{\kern4pt}{\mathrm{C}4},{\mathrm{C}5} \end{aligned} $$

((16))

where (16) is non-convex due to the fractional form of the objective function. To make the problem more tractable, several transformations are required to eliminate the non-convexity. Hence, let \(q = \frac {{{R_{\text {tot}}}}}{{{P_{\text {tot}}}}}\), then we have the following theorem [26].

###
**Theorem**
**1**.

$${} \begin{aligned} {q^{*}} = {R_{\text{tot}}}({\mathbf{P}}^{*})/ {{P_{\text{tot}}}({{\mathbf{P}}^{*}})} = \max \{ {{R_{\text{tot}}}({\mathbf{P}})} / {{P_{\text{tot}}}({\mathbf{P}})}\}\\ \mathit{if, and only if,}\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\\ {\kern 1pt}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt}{\kern 1pt} {\kern 1pt}{\kern 1pt} {\kern 1pt} {\kern 1pt} {\kern 1pt}\mathrm{F} ({q^{*}}) = \mathrm{F} ({q^{*}},{{\mathbf{P}}^{*}}) = \text{max}\{ {R_{\text{tot}}}({\mathbf{P}}) - {q^{*}}{P_{\text{tot}}}({\mathbf{P}})\} = 0 \end{aligned} $$

Theorem 1 is proved in Appendix 1. From Theorem 1, we know that for an optimization problem with a fractional form objective function, there exists an equivalent objective function in subtractive form. Thus, the original optimization problem in (16) can be reshaped into following formations:

$$ \begin{aligned} &\mathop {\max }\limits_{\mathbf{P}} {R_{\text{tot}}}({\mathbf{P}}) - q{P_{\text{tot}}}({\mathbf{P}})\\ &s.t.{\kern 4pt} {\mathrm{C}4},{\mathrm{C}5} \end{aligned} $$

((17))

where it is easy to verify that the objective is a concave function with respect to \(p_{k}^{(v,n)}\). Hence, we can first solve (17) and then solve (16) by adopting iterative algorithms as given in Algorithm ??.

Algorithm ?? iteratively approximates the optimal solution of (17) towards a minimum threshold *ε* (*ε*>0) and finally achieves optimal EE *q* with the termination condition satisfied. We give the convergence proof of Algorithm ?? in Appendix 2. The algorithm converges to the optimal EE with a superlinear convergence rate [27].

#### Power allocation for transformed problem

The optimization problem in (17) is a concave optimization problem. As proved in [28], the duality gap equals to zero under some mild conditions (strong duality). Therefore, we can use Lagrange duality method to solve problem (17). The Lagrange function can be derived as follows:

$${} \begin{aligned} L\left(p_{k,n}^{m,v},{\lambda_{n}}\right) =& {\sum\nolimits}_{n = 1}^{N} {{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {R_{k,n}^{m,v}}} \\ &- q\left({{\sum\nolimits}_{n = 1}^{N} {{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {\eta p_{k,n}^{m,v}}} + {\sum\nolimits}_{n = 1}^{N} {{P_{cn}}}} \right)\\ &- {\sum\nolimits}_{n = 1}^{N} {{\lambda_{n}}} \left({{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {p_{k,n}^{m,v}} - P{}_{n}^{\max }} \right) \end{aligned} $$

((18))

where *λ*
_{
n
}≥0(*n*=1,2,⋯*N*) are the Lagrangian multipliers. Thus, the dual problem of (17) can be expressed as:

$$ \mathop {\min }\limits_{{\lambda_{n}} \ge 0} {\kern 1pt} {\kern 1pt} {\kern 1pt} \mathop {\max }\limits_{p_{k,n}^{\text{\textit{m,v}}} \ge 0} {\kern 1pt} {\kern 1pt} L\left(p_{k,n}^{m,v},{\lambda_{n}}\right) $$

((19))

Therefore, we can solve (19) by decomposing it into two layers. Layer 1: solve the maximization Lagrange problem with respect to \(p_{{k,n}}^{{m,v}}\) under a fix set of Lagrange multipliers. Layer 2: obtain *λ*
_{
n
} by minimizing the Lagrange problem.

1) *Solution for layer 1:* By dual decomposition, we first solve the following Layer 1 sub-problem:

$$ \mathop {\max }\limits_{p_{k,n}^{m,v} \ge 0} {\kern 1pt} {\kern 1pt} L\left(p_{k,n}^{m,v},{\lambda_{n}}\right) $$

((20))

with a given parameter *q* and a fixed set of Lagrange multipliers *λ*
_{
n
}. Using standard KKT condition \(\frac {{\partial L\left (p_{{k,n}}^{{m,v}},{\lambda _{n}}\right)}}{{\partial p_{{k,n}}^{{m,v}}}}=0\), power allocation policy is obtained as:

$$ p_{k,n}^{m,v} = {\left[ {\frac{W}{{(q\eta + {\lambda_{n}})\ln 2}} - A_{k,n}^{m,v}} \right]^ + } $$

((21))

where \(A_{{k,n}}^{{m,v}} = \frac {{ \sigma ^{2} }}{{g_{{k,n}}^{{m,v}}}}\).

2) *Solution for layer 2:* by substituting (21) into (19), layer 2 sub-problem can be described as follows:

$$ \mathop {\min }\limits_{{\lambda_{n}} \ge 0} {\kern 1pt} {\kern 1pt} f({\lambda_{n}}) $$

((22))

where

$$ \begin{aligned} f({\lambda_{n}}) =& {\sum\nolimits}_{n = 1}^{N} {{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {\frac{W}{{A_{k,n}^{m,v}\left(q\eta + {\lambda_{n}}\right)\ln 2}}}} \\ & + {\sum\nolimits}_{n = 1}^{N} {{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {A_{k,n}^{m,v}}} {\lambda_{n}} + {\sum\nolimits}_{n = 1}^{N} {{\lambda_{n}}} P{}_{n}^{\max }\\ &+ q\eta {\sum\nolimits}_{n = 1}^{N} {{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {A_{k,n}^{m,v}}} - q{\sum\nolimits}_{n = 1}^{N} {{P_{cn}}} \end{aligned} $$

((23))

Since *f*(*λ*
_{
n
}) is differentiable with respect to *λ*
_{
n
}, we derive its second derivative form as follows:

$$ {f^{\prime\prime}}({\lambda_{n}}) = \frac{{K_{n}^{\max }}}{{{{(q\eta + {\lambda_{n}})}^{2}}\ln 2}} $$

((24))

where it can be obviously observed that *f*
^{′′}(*λ*
_{
n
})>0. According to [28], we know that *f*(*λ*
_{
n
}) is a convex function of *λ*
_{
n
}. Therefore, we can obtain the optimal solution below:

$$ {\lambda_{n}}^{*} = {\left[ {\frac{{WK_{n}^{\max }}}{{\left({{\sum\nolimits}_{k = 1}^{K_{n}^{\max }} {A_{k,n}^{m,v}} + P{}_{n}^{\max }} \right)\ln 2}} - q\eta} \right]^ + } $$

((25))

Thus, deriving (25) into (21), we can solve problem (17).