English

A Partition-and-Merge Algorithm for Solving the Steiner Tree Problem in Large Graphs

Data Structures and Algorithms 2024-08-23 v5

Abstract

The Steiner tree problem aims to determine a minimum edge-weighted tree that spans a given set of terminal vertices from a given graph. In the past decade, a considerable number of algorithms have been developed to solve this computationally challenging problem. 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 to effectively solve this problem in large 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 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 medium-sized instances.

Keywords

Cite

@article{arxiv.2202.11885,
  title  = {A Partition-and-Merge Algorithm for Solving the Steiner Tree Problem in Large Graphs},
  author = {Ming Sun and Xinyu Wu and Yi Zhou and Jin-Kao Hao and Zhang-Hua Fu},
  journal= {arXiv preprint arXiv:2202.11885},
  year   = {2024}
}
R2 v1 2026-06-24T09:52:04.807Z