Abstract
In wireless artificial intelligent computing systems, the construction of backbone network, which determines the optimum network for a set of given terminal nodes like users, switches and concentrators, can be naturally formed as the Steiner tree problem. The Steiner tree problem asks for a minimum edge-weighted tree spanning a given set of terminal vertices from a given graph. As a well-known graph problem, many algorithms have been developed for solving this computationally challenging problem in the past decades. However, existing algorithms typically encounter difficulties for solving large instances, i.e., graphs with a high number of vertices and terminals. In this paper, we present a novel partition-and-merge algorithm for effectively handle large-scale graphs. The algorithm breaks the input network into small subgraphs and then merges the subgraphs in a bottom-up manner. In the merging procedure, partial Steiner trees in the subgraphs are also created and optimized by an efficient local optimization. When the merging procedure ends, the algorithm terminates and reports the final solution for the input graph. We evaluated the algorithm on a wide range of benchmark instances, showing that the algorithm outperforms the best-known algorithms on large instances and competes favorably with them on small or middlesized instances.