#### Date of Original Version

9-1999

#### Type

Article

#### Abstract or Description

We study network-design problems with two different design objectives: the total cost of the edges and nodes in the network and the maximum degree of any node in the network. A prototypical example is the degree-constrained node-weighted Steiner tree problem: We are given an undirected graph G(V,E) , with a nonnegative integral function d that specifies an upper bound d(v) on the degree of each vertex v ∈ V in the Steiner tree to be constructed, nonnegative costs on the nodes, and a subset of k nodes called terminals. The goal is to construct a Steiner tree T containing all the terminals such that the degree of any node v in T is at most the specified upper bound d(v) and the total cost of the nodes in T is minimum. Our main result is a bicriteria approximation algorithm whose output is approximate in terms of both the degree and cost criteria—the degree of any node v ∈ V in the output Steiner tree is O(d(v) log k) and the cost of the tree is O(log k) times that of a minimum-cost Steiner tree that obeys the degree bound d(v) for each node v . Our result extends to the more general problem of constructing one-connected networks such as generalized Steiner forests. We also consider the special case in which the edge costs obey the triangle inequality and present simple approximation algorithms with better performance guarantees.

#### DOI

10.1007/s00453-001-0038-2

#### Published In

Algorithmica , 31, 58-78.