# Improved Branch-and-Bound Antenna Selection Algorithm for Massive MIMO
## 3 Efficient Antenna Selection via Enhanced Branch-and-Bound Optimization
### Calculation of Antenna Gain  
Let \(\mathbf{H}_{L}\) denote the sub-matrix formed by selecting \(L\) rows from matrix \(\mathbf{H}\) through an \(L\)-step selection process, under which the channel capacity satisfies \(C_{L}=\log_{2}\det\left(\mathbf{I}_{N_{t}}+\frac{\rho}{N_{t}}\mathbf{H}_{L}^{ \mathrm{H}}\mathbf{H}_{L}\right)\), \(L=0,\,1,\,2,\,\cdots,\,\,d-1\), \(C_{0}=0\). We select the \(  
where step \"(1)\" establishes the Sylvester determinant identity, \(\mathbf{G}_{L}=\left(\mathbf{I}_{N_{t}}+\frac{\rho}{N_{t}}\mathbf{H}_{L}^{\text{ H}}\mathbf{H}_{L}\right)^{-1}\); it is evident that \(\mathbf{G}_{L}\) is a positive definite. Therefore, when \(\mathbf{h}_{k}\
eq 0\), \(\Delta_{k,\;L}>0\). Therefore, \(C_{L}\) is an increasing function, thereby further substantiating the theory that channel capacity increases with the number of antennas.  
The aforementioned greedy selection algorithm operates by evaluating the contribution of each candidate antenna to the channel capacity, specifically through calculating the increment \(\Delta_{k,\;L}\) at each iteration. It selects the antenna with the maximum \(\Delta_{k,\;L}\) value to incorporate into the antenna subset, thereby maximizing the channel capacity. Consequently, in antenna selection applications, the greedy algorithm is often employed as a method to obtain sub-optimal solutions. We now proceed to derive the specific mathematical expression for the increment \(\Delta_{k,\;L}\) within this algorithmic framework. The Sherman-Morrison formula was applied to reformulate the \(\mathbf{G}_{L}\)[38]:  
\[\begin{array}{ll}\mathbf{G}_{L+1}&=\left(\mathbf{I}_{N_{t}}+\frac{\rho}{N_ {t}}\mathbf{H}_{L+1}^{\text{H}}\mathbf{H}_{L+1}\right)^{-1}\\ &=\left(\mathbf{I}_{N_{t}}+\frac{\rho}{N_{t}}\mathbf{H}_{L}^{\text{H}} \mathbf{H}_{L}+\frac{\rho}{N_{t}}\mathbf{h}_{K_{L}}\mathbf{h}_{K_{L}}^{\text{ H}}\right)^{-1}\\ &=\mathbf{G}_{L}-\mathbf{g}_{L+1}\mathbf{g}_{L+1}^{\text{H}},\;L=0,\;1,\; \cdots,\;d-1,\end{array} \tag{11}\]  
where \(K_{L}\) represents the index of the antenna selected at the \(L\)th step in the given algorithm. \(\mathbf{g}_{L+1}=\frac{\mathbf{G}_{L+1}\mathbf{h}_{K_{L}}}{\sqrt{\left(\frac{ \rho}{N_{t}}\right)^{-1}+\mathbf{h}_{K_{L}}^{\text{H}}\mathbf{G}_{L+1}\mathbf{ h}_{K}}}\). Define \(\alpha_{k,\;L+1}=\mathbf{h}_{k}^{\text{H}}\mathbf{G}_{L+1}\mathbf{h}_{k}\), which can be further transformed as:  
\[\begin{array}{ll}\alpha_{k,\;L+1}&=\mathbf{h}_{k}^{\text{H}}\mathbf{G}_{L+1 }\mathbf{h}_{k}\\ &=\mathbf{h}_{k}^{\text{H}}\big{(}\mathbf{G}_{L}-\mathbf{g}_{L+1}\mathbf{g}_{ L+1}^{\text{H}}\big{)}\mathbf{h}_{k}\\ &=\alpha_{k,\;L}-\big{|}\delta_{K_{L},\;k,\;L+1}\big{|}^{2},\end{array} \tag{12}\]  
where \(\delta_{K_{L},\;k,\;L+1}=\mathbf{h}_{k}^{\text{H}}\mathbf{g}_{L+1}\), thus, \(\Delta_{k,\;L+1}\) can be expressed as:  
\[\Delta_{k,\;L+1}=\log_{2}\!\left(1+\frac{\rho}{N_{t}}\alpha_{k,\;L+1}\right). \tag{13}\]  
Based on the derivations presented above, the antenna index selected at the \(L\)-th step can be determined by the following expression:  
\[K_{L+1}=\operatorname{argmax}_{k\in Y_{L+1}}\alpha_{k,\;L+1} \tag{14}\]  
where \(Y_{L+1}\) denotes the candidate antenna set at step \(L+1\), \(Y_{L+1}=Y_{L}\backslash K_{L}\). The symbol \"\(\backslash\)\" represents the set difference operation, which removes antenna \(K_{L}\) from set \(Y_{L}\).