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

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Sun, Ming, Wu, Xinyu, Zhou, Yi, Hao, Jin-Kao, Fu, Zhang-Hua
Format: Preprint
Published: 2022
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866913476011622400
author Sun, Ming
Wu, Xinyu
Zhou, Yi
Hao, Jin-Kao
Fu, Zhang-Hua
author_facet Sun, Ming
Wu, Xinyu
Zhou, Yi
Hao, Jin-Kao
Fu, Zhang-Hua
contents 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.
format Preprint
id arxiv_https___arxiv_org_abs_2202_11885
institution arXiv
publishDate 2022
record_format arxiv
spellingShingle A Partition-and-Merge Algorithm for Solving the Steiner Tree Problem in Large Graphs
Sun, Ming
Wu, Xinyu
Zhou, Yi
Hao, Jin-Kao
Fu, Zhang-Hua
Data Structures and Algorithms
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.
title A Partition-and-Merge Algorithm for Solving the Steiner Tree Problem in Large Graphs
topic Data Structures and Algorithms
url https://arxiv.org/abs/2202.11885