# Improved Branch-and-Bound Antenna Selection Algorithm for Massive MIMO
## 3 Efficient Antenna Selection via Enhanced Branch-and-Bound Optimization
### Branch-and-Bound Antenna Selection
Second, we introduced Equation (18) to determine the number of child nodes. This approach eliminates the need to generate all possible child nodes while ensuring that the number of generated child nodes is sufficient to identify the optimal subset. Equation (18) guarantees the preservation of optimal solutions during child node generation, primarily due to the following factors: (1) Due to the monotonicity property: if antenna subset \(H_{1}\subseteq H_{2}\), the channel capacity \(C_{1}\leq C_{2}\); the removal of the antenna contributing least to capacity will not compromise the optimality potential of the remaining subset. (2) By sorting branches in ascending order of capacity reduction magnitude, we prioritize preserving those whose removal minimally impacts the system capacity, thus maintaining the integrity of high-contribution antenna combinations. (3) Integrated with the monotonicity criterion, pruning is selectively applied only to branches incapable of surpassing known optimal values, thereby eliminating suboptimal candidates while preventing premature exclusion of potentially superior solutions. Furthermore, among the \(m\) child nodes, we apply the pruning criteria to further prune the search space, meaning not all \(m\) child nodes will be systematically explored. Since the reduction magnitude of nodes increases progressively during later search stages, the necessity of searching subsequent nodes diminishes accordingly. The introduction of Equation (18) ensures that nodes encountered later in the search sequence will exhibit progressively fewer child nodes, potentially even zero child nodes. When \(m=0\), this condition indirectly achieves pruning. These two mechanisms collectively ensure that no unnecessary nodes are searched during the process. For question 2, in the I-BAB algorithm, nodes are successively pushed onto the stack in descending order of their channel capacity contribution reduction. Upon identifying the optimal subset corresponding to the current \(d\)-value, we update \(d\) to the next value within the specified range. The unexplored nodes retained in the stack can then be employed to determine the corresponding optimal subset under the updated \(d\)-value. This iterative process continues until the search for \(d=MIN\) is completed. The distinctions and interrelationships between the BAB algorithm and the I-BAB algorithm are systematically summarized in Tables 1 and 2, respectively. This comparative analysis enables a more intuitive and rigorous comprehension of superiority in the I-BAB algorithm. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Comparison Dimension** & **BAB** & **I-BAB** \\ \hline \multirow{3}{*}{Search Direction} & Incremental approach: & Decremental approach: Starts from the full antenna set and iteratively removes the least contributing antennas. \\  & Starts from an empty set & & iteratively removes the least contributing antennas. \\  & and iteratively add antennas. & & Reverse-pushing: Child nodes are sorted by contribution \\ \hline \multirow{3}{*}{Stack Management} & Natural order stacking with & loss (ascending) and pushed in reverse order, prioritizing \\  & DFS search. & exploration of branches with maximum contributions. \\ \hline \multirow{3}{*}{Antenna Subset Size} & Requires a predefined fixed & Supports range-based definitions: Generates optimal \\  & \(d\). Multiple executions are & subsets for all \\  & needed for different values. & \(d\in[MIN, MAX]\) through a single execution. \\ \hline \multirow{3}{*}{Pruning Mechanism} & Relies on an initial lower bound & Dynamic pruning: Combines reverse stacking and range \\  & (\(B=-\infty\)) with low pruning & constraints to significantly reduce redundant node access, \\ \cline{1-1}  & efficiency. & enhancing pruning efficiency. \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Distinctions between the BAB and I-BAB algorithms.