\hspace{-0.2in} P_l^m \ge 0, \mbox{ for all } l, m,\end{aligned}$$ where $P_l^m$ is the power of BS $m$ for transmitting the level $l$ packet; $\gamma_m^k$ is the SNR at user $k$ if it connects to BS $m$. Constraint (\[eq:cntrate\]) guarantees the minimum rate at each user. Constraint (\[eq:cnttransceiver\]) is due to the fact that each user is equipped with one transceiver, so it can only connect to one BS.

Let $\mathcal{U}_l$ denote the set of users requesting the level $l$ packet. A user $k \in \mathcal{U}_l$ has decoded all the packets up to $D_{l-1}$. It subtracts the decoded signals from the received signal and treats signals $D_{l+1}, \cdots, D_L$ as noise. The SNR at user $k \in \mathcal{U}_l$, for $l=1, \cdots, L-1$, can be written as: $$\begin{aligned}
\label{eq:SNR1}
%\gamma_m^k=\frac{H_m^kP_l^m}{N_0+H_m^k\sum_{i=l+1}^LP_i^m}
\gamma_m^k = H_m^k P_l^m / \left(N_0 + H_m^k \sum_{i=l+1}^L P_i^m \right),\end{aligned}$$ where $H_m^k$ is the random channel gain from BS $m$ to user $k$ and $N_0$ is the noise power. For user $k \in \mathcal{U}_L$ that requests the last packet $D_L$, the SNR is $$\begin{aligned}
\label{eq:SNR2}
%\gamma_m^k=\frac{H_m^kP_L^m}{N_0}
\gamma_m^k = H_m^k P_L^m / N_0.\end{aligned}$$

The optimization variables in Problem OPT-Power consist of the binary variables $I_m^k$’s and the continuous variables $P_l^m$’s. It 