## 2 System Model and Problem Formulation
### Sub-Channel Allocation for Multiple D2D Multicast Groups  
Before the SINR allocation, the set \(\mathcal{S}_{m}\) of CUs sharing resources with the \(m\)-th D2D group must be determined through sub-channel allocation for the matching between multiple D2D groups and CUs' sub-channels. In this subsection, the details of the sub-channel allocation are introduced.  
At the beginning of the allocation, the eNB collects the location information of all the D2D groups. Then, in order to remove coupling of the sub-channel allocation and the SINR assignment, it is assumed that the D2D group transmitters allocate the same SINR \(\hat{\gamma}_{n,m,k}^{D}\) on each sub-channel, i.e., the transmission rate of D2D group m on the sub-channel k is \(\hat{R}_{m,k}^{D}=\log_{2}(1+\Gamma_{m}^{D})/\left[K/M\right]\), where \(\left[\cdot\right]\) is to take the integer portion of the output. Based on Proposition 1, in order to achieve the multi-objective optimization goal while guaranteeing the QoS of D2D groups and CUs, the sub-channel allocation problem can be expressed as  
\[\min_{\left\{\omega_{m,k}\right\}}\sum\limits_{m\in\mathcal{M}} \sum\limits_{k\in\mathcal{K}}\omega_{m,k}\Phi\left(\gamma_{k,m^{\prime}}^{C\; *}\;\hat{\gamma}_{n,m,k}^{D}\right)\] \[\text{s.t.}\qquad\log_{2}(1+\hat{\gamma}_{n,m,k}^{D})\geq R_{m,k}^ {D}\qquad, \tag{28}\] \[\text{C5--C7 in }(5)\]  
where the SINR of D2D group \(m\) on the sub-channel \(k\) can be calculated by \(\hat{\gamma}_{n,m,k}^{D}=2^{\hat{R}_{m,k}^{D}}-1\). By substituting \(\hat{\gamma}_{n,m,k}^{D}\) into Equation (9), we can get  
\[\left\{\begin{array}{l}p_{m,k}^{D}(\gamma_{k,m^{\prime}}^{C\;*} \;\hat{\gamma}_{n,m,k}^{D})=\frac{\left(H_{k,B}^{CB}+\tilde{H}_{k,m,n}^{CD} \Gamma_{k}^{C}\right)\hat{\gamma}_{n,m,k}^{D}\phi_{0}^{2}}{H_{k,B}^{CB}H_{m,n} ^{DD}-\tilde{H}_{m,B}^{DB}\tilde{H}_{k,m,n}^{CD}\Gamma_{k}^{C}\hat{\gamma}_{n,m,k}^{D}}\\ \\ p_{k}^{C}(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D})=\frac{ \left(H_{m,m}^{DD}+\tilde{H}_{k,m,n}^{CD}\hat{\gamma}_{n,m,k}^{D}\right)\Gamma _{k}^{C}\phi_{0}^{2}}{H_{k,B}^{CB}H_{m,n}^{DD}-\tilde{H}_{m,B}^{DB}\tilde{H}_{ k,m,n}^{CD}\Gamma_{k}^{C}\hat{\gamma}_{n,m,k}^{D}}\end{array}\right., \tag{29}\]  
and the lowest channel quality of D2D links in \(m\)-th multicast on sub-channel \(k\) is  
\[\hat{q}_{n,m,k}^{D}=\frac{\hat{\gamma}_{n,m,k}^{D}}{p_{m,k}^{D}(\gamma_{k,m^{ \prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D})}. \tag{30}\]  
Then, the value of \(\Phi\left(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D}\right)\) is given by  
\[\Phi\left(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D}\right)=\eta \frac{p_{m,k}^{D}(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D})}{P_{ m,k,\max}^{D}}-(1-\eta)\frac{\hat{X}_{n,m,k}}{|\mathcal{D}_{m}|}, \tag{31}\]  
where \(\hat{X}_{n,m,k}\) can be calculated by the following formula  
\[\hat{X}_{n,m,k}=\left|\eta^{\prime}\in\mathcal{D}_{m}\;|\;\hat{q}_{n^{\prime},m,k}^{D}\geq\hat{q}_{n,m,k}^{D}\right|. \tag{32}\]  
Note that the multi-objective optimization value brought by any D2D multicast group reusing any sub-channel can be roughly measured by \(\Phi\left(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D}\right)\). Therefore, the D2D pair that has the minimum \(\Phi\left(\gamma_{k,m^{\prime}}^{C\;*}\;\hat{\gamma}_{n,m,k}^{D}\right)\) has the priority to reuse the \(k\)-th sub-channel. When the \(k\)-th sub-channel is allocated to the D2D group \(m\), it will be recorded into set \(\mathcal{S}_{m},m=1,2,...,M\) and not be used by other D2D groups. For purpose of fairness among D2D multicast groups, the sub-channels are firstly assigned to D2D groups who meet \(|\mathcal{S}_{m}|\leq\dfrac{K}{M}-1\). The sub-channel allocation procedure ends up until all sub-channels have been assigned.