# Energy-Efficient Resource and Power Allocation for Underlay Multicast Device-to-Device Transmission
## 3 System Model and Problem Formulation  
Without loss of generality, we assume that several D2D clusters have already been formed either by the BS coordinately or by the cluster head in a distributed way, as shown in Figure 1. In fact, D2D cluster formation methods have been widely discussed in existing works, such as [12]. Hence, this paper mainly focuses on cluster-based D2D multicast transmission underlying uplink cellular networks. As illustrated in Figure 1, supposes there are \(M\) D2D multicast clusters who share uplink resource blocks (RBs) with \(N\) CUs. We use \(m\), \(m\in\mathcal{M}=\{1,2,\ldots,M\}\) to index \(m\)-th D2D cluster, where \(\mathcal{M}\) is the set of D2D multicast clusters. To clarify computation, the resource allocation for CUs is assumed to be pre-determined (e.g., the \(n\)-th RB is allocated to the \(n\)-th CU). Let \(n\), \(n\in\mathcal{N}=\{1,2,\ldots,N\}\) indicates the \(n\)-th CU and also the RB it occupies, where \(\mathcal{N}\) represents the set of CUs. This paper mainly focuses on the matching of D2D multicast clusters and CU as well as the power control policies correspondingly. Within each D2D multicast cluster, the cluster head serves as the D2D transmitter and the cluster members are D2D receivers. Suppose \(\mathcal{K}_{m}\) is used to represent the set of receivers in the \(m\)-th D2D multicast cluster, where \(|\mathcal{K}_{m}|\) denotes the total number of receivers in the \(m\)-th D2D cluster. When \(|\mathcal{K}_{m}|=1\), the transmission scenario becomes unicast transmission. We define a set of binary variables \(x_{m,n}\). If the \(m\)-th D2D cluster reuses the RB of \(n\)-th CU, then \(x_{m,n}=1\), otherwise, \(x_{m,n}=0\). Assume each D2D multicast cluster is allowed to reuse at most one RB. Then we have  
\[\left\{ \begin{array}{ll}\sum\limits_{n=1}^{N}x_{m,n}\leq 1,&\forall m\in\mathcal{ M}\\ \sum\limits_{m=1}^{M}x_{m,n}\leq 1,&\forall n\in\mathcal{N}\end{array} \right. \tag{1}\]  
Equation (1) indicates two aspects. One is that each D2D multicast cluster is allowed to reuse at most one RB of a CU; the other is the RB of a CU can only be reused by at most one D2D cluster. Consequently, assume the \(n\)-th RB is reused by \(m\)-th D2D cluster, the channel quality of the \(k\)-th member UE who act as a receiver in \(m\)-th D2D cluster is given by  
\[\gamma_{k}^{D2D_{m}}=\frac{G_{m,k}^{D2D}}{\sum\limits_{n=1}^{N}x_{m,n}P_{n}^{ CU}G_{n,k}^{C2D}+\sigma_{n}^{2}},\forall m\in\mathcal{M},k\in\mathcal{K}_{m},n \in\mathcal{N} \tag{2}\]  
where \(\gamma_{k}^{D2D_{m}}\) denotes the channel quality of \(k\)-th cluster member in \(m\)-th D2D multicast cluster. \(P_{n}^{CU}\) represents the transmit power of CU \(n\) who shares uplink RB \(n\) together. \(G_{m,k}^{D2D}\) and \(G_{n,k}^{C2D}\) stand for the channel gain between the cluster head and cluster member \(k\) in the \(m\)-th D2D cluster, between interfering CU \(n\) to member UE \(k\), respectively.\(\sigma_{n}^{2}\) denotes the noise power. Similarly, the channel quality of a CU \(n\) is calculated as:  
\[\gamma_{n}^{CU}=\frac{G_{n,BS}^{CU}}{\sum\limits_{m=1}^{M}x_{m,n}P_{m}^{D2D_{ m}}G_{m,BS}^{D2C}+\sigma_{n}^{2}},\forall m\in\mathcal{M},n\in\mathcal{N} \tag{3}\]  
Here, \(P_{m}^{D2D_{m}}\) stands for the transmit power of the cluster head in \(m\)-th D2D cluster who reuses the RB of CU \(n\). \(G_{n,BS}^{CU}\) and \(G_{m,BS}^{D2C}\) represent the link gain from CU \(n\) to the BS and from co-channel cluster head to the BS, respectively. According to [6], it is commonly assumed that the transmission rate of a multicast is determined by the user with the worst channel condition. Combined with the scenario shown in Figure 1, for the \(m\)-th D2D cluster, the transmission rate achieved at RB \(n\) is given by  
\[\gamma_{m,n}^{D2D}=\min\limits_{\forall k\in\mathcal{K}_{m}}\gamma_{k}^{D2D_{ m}} \tag{4}\]  
Figure 1: The considered device-to-device (D2D) multicast transmission network model. BS: base station.