The internal Steiner tree problem Design and analysis of algorithms a b s t r a c t Given a graph G = (V , E) with a cost function c : E → R + and a vertex subset R ⊂ V , an internal Steiner tree is a Steiner tree that contains all the vertices in R, and such that each vertex in R must be an internal vertex. The internal Steiner tree problem involves finding an internal Steiner tree T whose total costIn this paper, we first show that the internal Steiner tree problem is MAX SNP-hard. We then present a (2ρ + 1)-approximation algorithm for solving the problem on complete graphs, where ρ is an approximation ratio for the Steiner tree problem. Currently, the best-known ρ is ln 4+ϵ < 1.39. Moreover, for the case where the cost of each edge is restricted to being either 1 or 2, we present a 9 7 -approximation algorithm for the problem.