Kruskal-based approximation algorithm for the multi-level Steiner tree problem

Reyan Ahmed, Faryad Darabi Sahneh, Stephen Kobourov, Richard Spence

Research output: Contribution to journalArticlepeer-review


We study the multi-level Steiner tree problem: a generalization of the Steiner tree problem in graphs, in which the terminals T require different levels, or equivalently, have different priorities. The problem requires that terminals be connected with edges satisfying their priority requirements and has applications in network design and multi-level graph visualization. The case where edge costs are proportional to their priority is approximable to within a constant factor from the optimal solution. For the more general case of non-proportional costs, the problem is hard to approximate to within a ratio of log log n, where n is the number of vertices in the graph. A simple greedy algorithm by Charikar et al., however, provides a min{2(ln |T | + 1), `ρ}-approximation in this setting. In this paper, we describe a natural generalization to the multi-level case of the classical (single-level) Steiner tree approximation algorithm based on Kruskal's minimum spanning tree algorithm. We prove that this algorithm achieves an approximation ratio at least as good as Charikar et al., and experimentally performs better with respect to the optimum solution. We develop an integer linear programming formulation to compute an exact solution for the multi-level Steiner tree problem with non-proportional edge costs and use it to evaluate the performance of our algorithm.

Original languageEnglish (US)
JournalUnknown Journal
StatePublished - Feb 15 2020


  • Approximation algorithms
  • Multi-level
  • Steiner tree

ASJC Scopus subject areas

  • General

Fingerprint Dive into the research topics of 'Kruskal-based approximation algorithm for the multi-level Steiner tree problem'. Together they form a unique fingerprint.

Cite this