the prize collecting steiner tree problem

75
The Prize Collecting Steiner Tree Problem by Maria Minkoff S.B., Mathematics with Computer Science (1998) MIT Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Master of Science in Electrical Engineering and Computer Science at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2000 0 Massachusetts Institute of Technology 2000. All rights reserved. A uthor ............. ... ........ Department of Electrical Engineering'ad Computer Science May 19, 2000 Certified by.... David R. Karger Associate Professi'f Computer Science and Engineering Thesis Supervisor Accepted by............... Arthur C. Smith Chairman, Department Committee on Graduate Students OF TECHNOLOGY ENG JUN 2 12 Z000 1 LIBRARIES

Upload: others

Post on 28-Apr-2022

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Prize Collecting Steiner Tree Problem

The Prize Collecting Steiner Tree Problem

by

Maria MinkoffS.B., Mathematics with Computer Science (1998)

MIT

Submitted to the Department of Electrical Engineering and Computer Sciencein partial fulfillment of the requirements for the degree of

Master of Science in Electrical Engineering and Computer Science

at the

MASSACHUSETTS INSTITUTE OF TECHNOLOGY

June 2000

0 Massachusetts Institute of Technology 2000. All rights reserved.

A uthor ............. ... ........Department of Electrical Engineering'ad Computer Science

May 19, 2000

Certified by....David R. Karger

Associate Professi'f Computer Science and EngineeringThesis Supervisor

Accepted by...............Arthur C. Smith

Chairman, Department Committee on Graduate Students

OF TECHNOLOGY

ENG JUN 2 12 Z000

1 LIBRARIES

Page 2: The Prize Collecting Steiner Tree Problem
Page 3: The Prize Collecting Steiner Tree Problem

The Prize Collecting Steiner Tree Problem

by

Maria Minkoff

S.B., Mathematics with Computer Science (1998)

MIT

Submitted to the Department of Electrical Engineering and Computer Scienceon May 19, 2000, in partial fulfillment of the

requirements for the degree ofMaster of Science in Electrical Engineering and Computer Science

Abstract

This work is motivated by an application in local access network design that can be modeledusing the KP-hard Prize Collecting Steiner Tree problem. We consider several variants onthis problem and on the primal-dual 2-approximation algorithm devised for it by Goemansand Williamson. We develop several modifications to the algorithm which lead to theoreticalas well as practical improvements in the performance of the algorithm for the originalproblem. We also demonstrate how already existing algorithms can be extended to solvethe bicriteria variants of the problem with constant factor approximation guarantees. Ourwork leads to practical heuristics applicable in network design.

Thesis Supervisor: David R. KargerTitle: Associate Professor of Computer Science and Engineering

Page 4: The Prize Collecting Steiner Tree Problem

Acknowledgments

Thanks to David Johnson, David Karger, and David Williamson for helpful discussions,

and to Steven Phillips for providing an initial implementation of the GW-algorithm.

Page 5: The Prize Collecting Steiner Tree Problem

Contents

1 Introduction 10

1.1 H istory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.2 Formal Problem Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.3 Our Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2 Goemans-Williamson Algorithm and Its Variants 15

2.1 Linear Programming formulation . . . . . . . . . . . . . . . . . . . . . . . . 15

2.2 Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.3 Modifying the GW-algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.3.1 Strong Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.2 Unrooted growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.3.3 Fully rootless algorithm . . . . . . . . . . . . . . . . . . . . . . . . . 29

3 Experimental results 33

3.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.1 Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.1.2 Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.2 Strong Pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3.2.1 Running times . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.2.2 Solution quality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.3 Unrooted Growth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.4 Closeness to Optimality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.5 Further Improvements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5

Page 6: The Prize Collecting Steiner Tree Problem

4 Bicriteria Optimization Problems

4.1 The Quota Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.1.1 Approximation algorithms . . . . . . . . . . . . . . . . . . . . . . .

4.2 The Budget Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.2.1 Trisection of a Tree . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3 Practical Heuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

4.3.1 Prize-multiplier approach . . . . . . . . . . . . . . . . . . . . . . .

4.3.2 Nonmonotonicity of the prize-multiplier approach . . . . . . . . . .

4.3.3 A pruning heuristic for the Quota problem . . . . . . . . . . . . .

4.3.4 Heuristics for the Budget problem . . . . . . . . . . . . . . . . . .

5 Experimental Results for the Prize-Multiplier Approach

5.1 Cost/Prize Tradeoff . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.2 Nonmonotonicities in the tradeoff curves . . . . . . . . . . . . . . . . .

5.3 Comparing tradeoff curves . . . . . . . . ... . . . . . . . . . . . . . . .

5.3.1 Improvements due to interpolation . . . . . . . . . . . . . . . .

5.3.2 Improvements due to varying multiplier growth factor. . . . . .

5.3.3 GW-pruning advantage. . . . . . . . . . . . . . . . . . . . . . .

6

45

45

46

47

49

51

51

54

56

59

60

. . . 60

. . . 63

. . . 63

. . . 67

. . . 70

. . . 70

Page 7: The Prize Collecting Steiner Tree Problem

List of Figures

2-1 Snapshots of the algorithm. . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2-2 The strong pruning procedure. . . . . . . . . . . . . . . . . . . . . . . . . . 22

2-3 Meta-graph H obtained from a snapshot of the algorithm's growth phase. 26

2-4 Illustration of claim that all leaf components with the exception of the root

component are active . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2-5 The BEST-SUBTREE pruning procedure. . . . . . . . . . . . . . . . . . . . . 31

2-6 The rootless strong pruning procedure. . . . . . . . . . . . . . . . . . . . . . 31

3-1 Running times as a function of the graph size. . . . . . . . . . . . . . . . . . 37

3-2 Running times as a function of the graph size (2). . . . . . . . . . . . . . . 38

3-3 Value of GW-objective function (using original prize values) as a function of

prize m ultiplier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4-1 Example demonstrating nonmonotonicity of the growth phase . . . . . . . . 54

4-2 Example demonstrating nonmonotonicity of the growth phase with strong

pruning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

4-3 Example demonstrating nonmonotonicity of the optimal solutions to the

Quota problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4-4 Percentage of prize obtained as a function of prize multiplier. . . . . . . . . 57

5-1 Tradeoffs between cost and prize obtained by varying the prize-multiplier. . 61

5-2 Interpolating into the gaps of the prize/cost tradeoff curve. . . . . . . . . . 62

5-3 Closeup of the tradeoff curve showing nonmonotonicities. . . . . . . . . . . 64

5-4 Percentage of prize obtained as a function of prize multiplier. . . . . . . . . 65

5-5 Close up of the tradeoff curves under strong pruning and GW pruning.. 66

5-6 The step function for cost/prize tradeoff curve. . . . . . . . . . . . . . . . . 68

7

Page 8: The Prize Collecting Steiner Tree Problem

5-7 Sparse tradeoff curves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

8

73

Page 9: The Prize Collecting Steiner Tree Problem

List of Tables

3.1 Statistics for geographic streetmap instances. . . . . . . . . . . . . . . . . . 34

3.2 Statistics for random geometric and unstructured instances. . . . . . . . . . 35

3.3 Running times (measured in secs) for the variants of the GW-algorithm and

M ST postprocessing. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.4 Solution quality comparison for variants of the GW-algorithm. . . . . . . . 40

3.5 Comparison of solutions obtained by the GW-algorithm o the optimal solutions 42

5.1 Comparison of the raw and interpolated tradeoff curves and curves obtained

with different multiplier growth factors. . . . . . . . . . . . . . . . . . . . . 69

5.2 Comparison of the tradeoff curves produced with GW-pruning and strong

pruning. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

9

Page 10: The Prize Collecting Steiner Tree Problem

Chapter 1

Introduction

Suppose a telephone company wants to build at minimum possible cost a fiber-optic local

access network for providing broadband Internet connections to businesses and apartment

complexes in some geographic area. It is allowed to lay fiber only along streets and roads

and the cost to do so is dominated by labor and right-of-way charges. If the company is

required to connect each client in the area to its local access network, then we can model

this problem as a Steiner Tree problem in a graph.

In a regular Steiner tree problem, one is given an edge-weighted graph and a special

subset of vertices called terminals. The goal is to find a minimum cost subgraph (which

is a tree) that spans all of the terminals. In our network design application, the graph

will correspond to a street map of the area with the street intersections and the locations

of buildings with clients as vertices. (We can assume that building lie on the streets as a

first approximation.) The edges are then the street segments between the vertices. The

non-negative weight of an edge is equal to the cost of laying a fiber-optic cable along the

corresponding segment.

Now suppose that the company has the freedom to pick which customers it wants to

connect to its local access network. Moreover, the company's analysts have compiled some

estimates of the revenue to be obtained by connecting up each building, so that clients can

be selected according to how much the company will earn from adding them to the network.

The new goal is to build a network connecting some subset of buildings so as to maximize

the revenue while minimizing the cost of the network.

If we go back to our graph model, instead of the terminal set we now have non-negative

10

Page 11: The Prize Collecting Steiner Tree Problem

weights on all nodes. The weight associated with the vertex representing a building is the

estimate of the revenue to be obtained by connecting up that building. Vertices correspond-

ing to intersections rather than buildings have weight 0. A node's weight can be thought

of as a prize to be "collected" by including that node in a tree solution. Alternatively, it

can be thought of as a penalty to be paid for not including that node in a tree. A terminal

node from the original Steiner tree problem can be thought of as having an infinite prize or

penalty, making it necessary for it to be included in an optimal solution.

1.1 History

The Steiner Tree problem with node weights in addition to regular edge weights was first

considered by Segev [16]. He noted that when the node weights are non-negative and the root

of a solution tree is given, the problem can be turned into the directed Steiner Tree problem.

In his paper, Segev showed that another special case of the problem, called the Single Point

Weighted Steiner Tree problem, in which one is given a special node to be included in a

solution and weights on the rest of the nodes are negative, is AP-complete and developed

several heuristics for it. In Segev's model, negative weights on nodes represent profits,

while non-negative weights on edges reflect the costs incurred in obtaining or "collecting"

the profits. If we negate node weights to make them positive, then they will have to be

subtracted from the edge costs in the objective function.

The term "prize collecting" was first introduced by Balas [3] in the context of the

Traveling Salesman Problem (TSP). Balas used a complementary model for node weights -

in his problem they are non-negative and can be viewed as penalties for not including nodes

in a solution. Instead of subtracting weights of nodes in the solution from the cost of edges,

Balas added the weights of nodes not in the solution. Additionally, Balas imposed a lower

bound on the node weight of the solution.

Bienstock et al. [5] developed the first approximation algorithms both for the Prize Col-

lecting Traveling Salesman and Prize Collecting Steiner Tree problems with approximation

guarantees of 5/2 and 3, respectively. Subsequently, Goemans and Williamson improved

the approximation guarantee to just below 2 for both problems. We will describe their

result in more detail once we present the formal statement of the problems considered.

11

Page 12: The Prize Collecting Steiner Tree Problem

1.2 Formal Problem Definitions

In the Prize Collecting Steiner Tree (PCST) problem, one is given a graph G = (V, E), a

non-negative edge cost ce for each edge e E E, a non-negative vertex prize 7rv for each vertex

v C V, and a specified root vertex vo E V. We shall consider four different optimization

problems based on this scenario, the first being the one initially studied in [10, 11]:

1. The Goemans- Williamson Minimization problem:

Find a subtree T' = (V', E') of G that minimizes the cost of the edges in the tree plus

the prizes of the vertices not in the tree, i.e., that minimizes

GW(T') = Z Ce + Z v

eEE' v V'

2. The Net Worth Maximization problem:

Find a subtree T' that maximizes

NW(T')= Zrv -Zce

vEV' eEE'

3. The Quota problem:

Given a prize quota Q > 0, find a subtree T' that minimizes EeEE' Ce, subject to

ZvEV' lrv Q-

4. The Budget problem:

Given an edge budget B > 0, find a subtree T' that maximizes EvEV' 1rv, subject to

ZeEE' ce < B.

In addition, for each problem we have both the rooted variant, in which vo must be contained

in T', and the unrooted variant, in which T' can be any subtree.

Goemans and Williamson have developed an O(n 2 log n)-time primal-dual approxima-

tion algorithm for the rooted version of GW-Minimization that is guaranteed to be within a

factor of 2 - n of optimal, where n = lVi [10, 11]. (In what follows, we shall refer to this

algorithm as the GW-algorithm for short.) The perhaps more natural NW-Maximization

variant is equivalent to GW-Minimization as far as optimization is concerned, since for all

subtrees T', NW(T') + GW(T') must equal the total prize (over all vertices of V). The

12

Page 13: The Prize Collecting Steiner Tree Problem

two problems are not equivalent with respect to approximation, however: It is KP-hard to

approximate the optimum Net Worth to within any constant factor [8].

The Quota problem can be thought of as a generalization of the well-studied k-MST

problem. In the latter, given an undirected graph G = (V, E) with non-negative edge costs

and an integer k, one wishes to construct a tree of minimum cost that spans (at least)

k vertices. Note that if we have an instance of the Quota Problem in which all vertices

have prize 1, then we obtain an instance of the k-MST problem. This problem is known to

be AlP-hard. A sequence of results improved the approximation guarantee from an initial

3vX [14] to a constant factor [6]. Currently the best approximation result for the k-MST

problem is a factor-of-(2+e) algorithm [1] strongly based on Garg's factor-of-3 algorithm [9].

Interestingly, all three constant-approximation algorithms depend in a crucial way on the

GW-algorithm mentioned above, as we shall explain in more detail below. We know of no

previous approximation results for the Budget problem, rooted or unrooted.

1.3 Our Contribution

In this thesis we consider variants on the Prize Collecting Steiner Tree problem and the

primal-dual 2-approximation algorithm devised by Goemans and Williamson. This algo-

rithm first grows a feasible tree solution and then prunes it to reduce the cost in order to

meet the approximation guarantee. Our goal is to test how well the algorithm performs

in practice on the problem for which it was originally developed and to see how it can be

adapted to solve the related variants. To that end we provide both theoretical guarantees

and experimental data on the performance of the algorithm and several heuristics derived

from it.

In considering the original problem, GW-minimization, we introduce an improved prun-

ing rule for the algorithm that is slightly faster and provides solutions that are provably at

least as good and typically significantly better. We also show that modifying the growth

phase of the Goemans-Williamson algorithm to make it independent of the choice of root

vertex does not significantly affect the algorithm's worst-case guarantee or behavior in prac-

tice. The resulting algorithm can be further modified so that, without an increase in running

time, it becomes a 2-approximation algorithm for finding the best subtree over all choices

of root.

13

Page 14: The Prize Collecting Steiner Tree Problem

To test our modifications we implemented both versions of the algorithm, with the orig-

inal and modified pruning rules. We present experimental data comparing the performance

of the two versions on a selection of real-world instances whose underlying graphs are county

street maps and on a series of randomly generated instances. We also test experimentally

the modification to the growth phase of the algorithm. The resulting data is then used for a

limited comparison to the optimal solutions, obtained with a branch-and-cut optimization

algorithm for the unrooted version of the problem.

In the second part of the thesis, we consider Quota and Budget versions of the problem.

We observe how constant-factor approximation algorithms for the k-MST problem can be

extended to it. We also show how a (5 + e)-approximation algorithm for the (unrooted)

budget problem can be derived from Garg's 3-approximation algorithm for the k-MST.

None of these algorithms are likely to be used in practice, but we show how the general

approach behind them (which involves performing multiple runs of the Goemans-Williamson

algorithm using an increasing sequence of prize-multipliers) can be incorporated into a

practical heuristic. We also uncover some surprising properties of the cost/prize tradeoff

curves generated (and used) by this approach.

* This thesis is based on the joint work with David S. Johnson and Steven Phillips. A

preliminary version appeared in SODA 2000 [12].

14

Page 15: The Prize Collecting Steiner Tree Problem

Chapter 2

Goemans-Williamson Algorithm

and Its Variants

2.1 Linear Programming formulation

Our work is heavily based on the primal-dual approximation algorithm of Goemans and

Williamson for the rooted GW-minimization problem. In this section we will present the

linear programming formulation used by the authors and outline the main points of the

algorithm.

Recall that the goal is to construct a subtree which minimizes the cost of its edges in it

plus the total prize value of the vertices not in the tree. A prespecified root vertex r has

to be included in the tree. To model this problem as an integer program, Goemans and

Williamson use the following integer variables:

1 if e is in the tree

0 otherwise

for each edge e E E, and

{ 1 if N is the set of all vertices not spanned by the tree

0 otherwise

for each subset of vertices N C V not containing the root. The following constraint ensures

15

Page 16: The Prize Collecting Steiner Tree Problem

that ZN is non-zero for at most one set N

E zN <lNCV-r

If a subset of vertices S not containing the root intersects the tree solution, then its cut

must contain at least one edge of the tree. Otherwise, this subset is contained within the

set of all vertices not spanned by the tree. This condition can be expressed by the following

constraint.

S Xe+5ZN 1eEt(S) NDS

Relaxing the integrality constraints on variables and dropping the constraint EN ZN < 1

which does not affect the optimal solution (it is satisfied automatically by an optimal solu-

tion because of the second term of the objective function), we obtain the following linear

programming relaxation:

E CeXe + E ZN ErieEE NCV-r iEN

E Xe+(EZN 1

eE6(S) NDS

Xe,ZN 0

SCV-r

NCV-r.

The dual of this LP has a non-negative variable ys for each subset of vertices S C V - r:

Max

subject to:

E YSS:rS

Z YS CeS:eE6(S)

EyS riSCN iEN

yS > 0

eEE

NCV-r

SCV-r.

16

Min

subject to:

Page 17: The Prize Collecting Steiner Tree Problem

2.2 Algorithm

Goemans-Williamson's algorithm for the PCST problem is based on a primal-dual schema

and consists of two phases. First a feasible dual solution is constructed directly and a corre-

sponding integral primal solution satisfying the primal complementary slackness conditions

is found. These conditions correspond to the primal variables and dual constraints:

Xe ce - E Ys = 0

S:eEJ(S)

ZN 7i - E YS = 0E N SCN )

The integral primal solution thus obtained induces a forest F and a set of vertices not in

the forest X. The primal complementary slackness conditions imply the following facts:

" Each edge in the forest is fully paid for by the dual variables, i.e. for all e E F, Xe > 0

and so

ce= YSS:eES(S)

" The penalty on vertices not in the forest is also fully paid for by the dual variables,

i.e. zX > 0, so

Z ri ZYSiEX SCX

In the second stage, a subtree is extracted from the root-containing component of the

forest by deleting some edges.

Growth Phase

The algorithm starts out with an initial dual feasible solution, in which all variables ys are

set to zero. It then attempts to increase the dual variables ys as much as possible without

17

Page 18: The Prize Collecting Steiner Tree Problem

violating the following two types of packing constraints:

Z YS ce (2.1)S:eE6(S)

E yS 'ri (2.2)SCN iEN

In the growth phase, the algorithm maintains a set of components partitioned into active

and inactive. Each component C has a non-negative surplus s(C) associated with it. A

component is active iff it has a positive surplus and does not contain the root. Initially,

each vertex is its own component with the surplus equal to its prize value.

At each step, the algorithm uniformly raises dual variables yc corresponding to active

components C, while decreasing their corresponding surpluses s(C) to pay for the increases,

until one of the 2 events occurs:

1. Inequality (2.1) becomes tight for some edge e = (u, v) spanning two different com-

ponents. The algorithm merges those two components into a new one, assigning it

the sum of their current (remaining) surpluses. If one of the merged components con-

tained the root, then the new component is declared inactive regardless of how much

surplus it still has.

2. Inequality (2.2) gets satisfied with equality for some set S; moreover this set must be a

currently growing (active) component, since the only dual variables that are changing

at any moment are the ones corresponding to active components. This event occurs

when an active component's surplus gets reduced to zero. The algorithm deactivates

component S, since it cannot pay for any new edges. Additionally, all unlabeled

vertices of S get labeled with label S.

At any point of the algorithm the "tight" edges (from Inequality (2.1)) form a tree inside

each component. The growth phase terminates when there are no more active components

left: either all vertices are in the root component or all non-root components' surpluses

have been reduced to zero.

Several snapshots of the growth phase are shown in Figure 2-1. Snapshots (a) and (b)

are one iteration apart, while the third snapshot (c) shows the forest F at the end of the

growth phase. The cost of an edge is the Euclidean distance between its endpoints.

18

Page 19: The Prize Collecting Steiner Tree Problem

root ~

/

(a)

root

*

/

(b)

root'

I- - -

I0(c)

Figure 2-1: Snapshots of the algorithm (a) after 2 iterations (b) after 3 iterations (c) at theend of the growth phase. Dashed lines represent inactive components.

19

1---,

Page 20: The Prize Collecting Steiner Tree Problem

Pruning Phase

In this phase the algorithm deletes as many edges from F as possible, while ensuring that

the following 2 properties hold:

1. every unlabelled vertex is connected to the root r (the algorithm has not paid the

penalty for such a vertex);

2. if vertex v with label C is connected to r, so is every vertex with label C' D C.

We shall refer to this original procedure as "GW-pruning." In addition to removing all com-

ponents not containing the root, it deletes some edges and vertices from the root-containing

component to bring down the value of the objective function. In particular, leaf subtrees

corresponding to inactive components (which later became part of active components) get

removed.

The growth phase can be implemented to run in O(n 2 log n) by maintaining a priority

queue of times at which edges are expected to become tight and components are expected to

become deactivated. The pruning phase can be implemented in O(n2 ) time by performing

at most n depth-first searches to locate all the unlabeled vertices and other vertices that

have to be kept.

The following result is proved by Goemans and Williamson in [10]:

Theorem 2.1. The algorithm presented above produces a tree T containing a prespecified

root vertex rand a feasible dual solution ys such that

SCe+ E ; (2- yseEE(T) i V(T) SCV

Hence, the algorithm is a 2 - n1-approximation algorithm for the Prize Collecting Steiner

Tree problem.

2.3 Modifying the GW-algorithm

In this section we will introduce several variants of the GW-algorithm obtained by altering

the pruning phase and/or the growth phase. First we will prove that replacing GW-pruning

by a simple greedy pruning heuristic results in solutions at least as good as the ones produced

by the original algorithm. Next we show that making the growth phase independent of the

20

Page 21: The Prize Collecting Steiner Tree Problem

choice of a root vertex results in only a slight degradation of the algorithm's worst-case

guarantee. However, this modification transforms the GW-algorithm, originally designed

to solve the rooted problem, into a 2-approximation algorithm for finding the best subtree

over all choices of the root, without an increase in asymptotic running time.

2.3.1 Strong Pruning

While the intricate GW-pruning procedure is necessary to prove the approximation guar-

antee of 2 - ,- , it is not the most efficient method for pruning a tree. It often produces

suboptimal subtrees of the starting tree with respect to GW objective function.

Definition 2.2. The net worth of a component C, nw(C), is the total prize contained in

C minus the cost of edges inside C, i.e. nw(C) = EiEc 2 i - EECC ce.

Assuming (as we do) that prizes are non-negative, a tree consisting of just the root

vertex has net worth of at least 0. Thus, if we want to maximize the net worth NW of a

tree returned, it makes sense to only return solutions with non-negative net worth value.

This doesn't hold for the solutions generated by GW-pruning, as it is capable of producing

solutions with negative NW. Recall that the NW value of a tree and its GW objective

function value add up to the total amount of prize in the tree (which is constant for a

given instance). Thus, optimizing NW over subtrees of a given tree also optimizes the GW

objective function, and vice versa. Since GW-pruning performs suboptimally with respect

to the NW objective function, it does so also with respect to the GW objective function.

Our first observation is that there is a straightforward greedy heuristic that maximizes

the NW value of a subtree produced by pruning. This heuristic, which we call strong

pruning, provably dominates GW-pruning and can thus be substituted for it without any

loss in the worst-case guarantees for the GW-algorithm.

Suppose we are given a tree T of G with root r, which has to be pruned. Let us view

all the edges of T as directed away from the root. Strong pruning can be defined by the

recursive program shown in Figure 2-2, initially applied to the root of the tree r.

It is easy to see that strong pruning can be performed in 0(n) time (versus 0(n2 ) in

the worst case for GW-pruning). Moreover, since it does not require any knowledge of what

went on during the growth phase, none of the detailed labeling and record-keeping required

for GW-pruning need be performed during that phase, which simplifies the programming

21

Page 22: The Prize Collecting Steiner Tree Problem

STRONG-PRUNE(V)

1 T, <- {v}2 nw(T ) +- ir(v)3 for each u = child of v in T4 do Tu +- STRONG-PRUNE(U)

5 e +- edge (v, u)6 if nw(Tu) > ce7 then T, +- T, U Tu U {e}8 nw(T,) +- nw(T,) + nw(T,) - Ce9 else delete e and subtree Tu

10 return Tv

Figure 2-2: The strong pruning procedure.

task.

Definition 2.3. Let us denote by s(C) the number of vertices in a component C. Define

NW-optimal subtree of a tree to be a subtree T' with the lexicographically largest pair

(w(T'), s(T')).

By a subtree rooted at a vertex u of a rooted tree T we denote a subtree of T which is

allowed to contain only u and 0 or more of its successors.

Theorem 2.4. Given a rooted tree T containing vertex v, the recursive procedure

STRONG-PRUNE(v) finds a NW-optimal subtree rooted at vertex v.

Proof. We will prove our claim by induction on the height of the original tree T. Base case:

vertex v is a leaf. STRONG-PRUNE(v) returns a subtree T, consisting of just {v}. The claim

holds trivially since an optimal subtree rooted at a leaf vertex is that vertex itself.

Consider some vertex v that is not a leaf. Let us assume that STRONG-PRUNING has

correctly returned the best subtrees rooted at children of v. We will now show that the

subtree Tv returned by STRONG-PRUNING(v) is an optimal subtree rooted at v.

Let u be one of the children of v. Let T denote the best subtree rooted at u. Consider

the net worth of Tu versus the cost of the edge e.

* Case 1: w(Tu) < ce

In this case STRONG-PRUNING does not add edge e, so that the subtree rooted at v

will not contain e. We claim that in this case, the optimal subtree rooted at v will not

contain e either. Consider any subtree T' rooted at v that contains edge e. The net

22

Page 23: The Prize Collecting Steiner Tree Problem

worth of the subtree obtained by removing e from T' is at least w(T') - (w(T) - Ce) >

w(T'), since w(Ts) - ce < 0. The net worth of T' can be increased by removing edge

e. Hence, T' cannot be optimal.

" Case 2: w(Ts) > Ce

In this case STRONG-PRUNING adds edge e together with T, so that the subtree

rooted at v will contain e. We claim, similarly, that the optimal subtree rooted at v

must contain e. Once again consider any subtree T' rooted at v that does not contain

edge e. The net worth of the subtree obtained by adding e together with T to T'

is equal to w(T') + (w(Ts) - Ce) > w(T'), since w(Ts) - Ce > 0. The net worth of

T' U e U Tu is greater than the net worth of T'. Hence, T' cannot be optimal.

" Case 3: w(Tu) = ce

In this case, including edge e and Tu does not decrease the net worth of a subtree

without them. However, adding this edge and T. to a subtree increases its size. Hence,

the optimal subtree rooted at v must contain e.

Thus, T, must be the optimal subtree of T rooted at v. E

Notice that in the special case when v is the root of T, we obtain a NW-optimal subtree

of T containing the root.

Corollary 2.5. Let T be any subtree of G rooted at r, let T' be a subtree of T obtained from

T via G W-pruning, and let Tsp be the tree obtained from T by running STRONG-PRUNING(r).

Then GW(Tsp) < GW(T').

Thus, strong pruning is provably superior to GW-pruning.

2.3.2 Unrooted growth

So far we have been concentrating on the second phase of the algorithm in which postpro-

cessing of the solution takes place. Let us now turn our attention to the first phase, in

which the initial primal feasible solution is obtained. Recall that the GW-algorithm treats

the root vertex in a special way during the growth phase. In particular, the component

that contains the root, which we shall call the "root" component for simplicity, is always

kept inactive, regardless of how much surplus it has.

23

Page 24: The Prize Collecting Steiner Tree Problem

What if we allow for the root component to be active and grow just like any other

component while it has positive surplus? The root component would get deactivated only

when it no longer has positive surplus, and it could become active again when joined by

another component with sufficient amount of surplus. Let us call this modified procedure

an unrooted growth phase, to reflect the fact that the root vertex and root component are

no longer treated differently from the rest.

Let us consider an algorithm UGW that we obtain by using the unrooted growth phase,

and then performing GW-pruning on the root component. Notice that this algorithm and

the original GW-algorithm might not produce the same end result when run on the same

input. If some component does not have enough surplus to join the root component by itself,

the original GW-algorithm will deactivate such component and label all of its vertices. The

unrooted growth algorithm, on the other hand, might allow for this component to get

connected to the root, given that the root component has sufficient amount of surplus.

Thus, the unrooted growth algorithm will have to keep this component since its vertices

will never be labeled, while the original GW-algorithm might prune the component away.

Notice that a more aggressive strong pruning that evaluates each component's worth to

the final tree, might work better for the unrooted growth algorithm. Nonetheless, making

a slight modification to the original Goemans-Williamson approximation guarantee proof

to take into account the existence of one additional active component we can prove the

following guarantee:

Theorem 2.6. The UGW algorithm consisting of unrooted growth followed by (rooted)

GW-pruning is a (2 - -)-approximation algorithm for the rooted Prize Collecting Steiner

Tree problem.

Proof. Let F' be the set of edges left after the pruning phase of the algorithm, and X be

the set of vertices not spanned by the edges of F'. It is easy to see that (F', X) is a feasible

solution. By the construction, the set of edges produced by the algorithm before the pruning

phase is a forest. After the pruning phase, no nontrivial component not containing the root

r is left and the component containing r is a tree.

To show that the altered algorithm is a (2 - -)-approximation algorithm, we will prove

24

Page 25: The Prize Collecting Steiner Tree Problem

that the following holds:

Ce + Elri (2 - ) y Y (2 - )ZPCI P, (2-3)eEF' iEX n SCV

where ZC is the value of the optimal solution to the prize-collecting Steiner tree problem.

By the construction, each vertex i E X lies in some deactivated component. If i E C,

where C is some deactivated component, then by pruning rule, all of the vertices of C are

in X. Hence, we can partition X into disjoint deactivated components C1,... Ck. Since

the algorithm deactivates a component when the sum of the corresponding dual variables

reaches the total amount of prize "possessed" by the component, it follows that for each

C,, EsCC Ys = EiEC ri. Additionally, by construction, ce = ZS:eE3(S) ys for any edge

e E F'. Thus, we need to prove that

s ys+ Z ys (2 - ) ys,eEF' S:eE3(S) j ScCj ScV

or, exchanging the summations in the first term of the left-hand side, that

YsIF'f n (S)+ ys 5 (2 - ) ys. (2.4)SCV j SCCj SCV

This inequality can be proven by induction on the main loop of the algorithm. The base

case is trivial since ys = 0 for all S C V initially. For the induction hypothesis suppose that

the Inequality (2.4) holds at the beginning of some iteration for the current values of dual

variables. Let C denote the set of currently active components. Construct a meta-graph

H with components (both active and inactive) as nodes and the edges e E ((C) n F') for

active C as arcs. Discard all isolated inactive nodes. Notice that the arc set of H consists

of the edges yet to be added (and kept later on) by the algorithm. Let Na denote the set

of nodes corresponding to active components, Ni the set of nodes corresponding to inactive

components, Np the set of active nodes corresponding to active components contained in

C, for some j, and d, the degree of a node v in H. Note that d, = 6(C) nl F', where C is

the component corresponding to v.

25

Page 26: The Prize Collecting Steiner Tree Problem

components

active

inactive

active,later deactivated

root

F'

F-F'

Figure 2-3: Meta-graph H obtained from a snapshot of the algorithm's growth phase. Ovalscorrespond to nodes of H, thickened edges correspond to arcs of H.

Claim 2.7.

S dv +|JNp|< 2 - |N.1VENa

We will prove Claim 2.7 later. Let us now show that it suffices to prove our induction

claim.

During the current iteration, each dual variable yc corresponding to an active component

C E C increases by a certain e. All other dual variables corresponding to any set S that is

not an active component, stay the same. Hence, the increase in the right-hand side of the

Inequality (2.4) is

2--zE 2 - ) INa|ICEC

The left-hand side of the Inequality (2.4) increases by

ZeIF'n(c)+Z Z:CEC j CCCj,CEC

E= E F'n6(C)j+ {C E C: 3j C CC\CEC

Noticing that d, = 16(C) n F'j, where C is the component corresponding to v, and each

active component C s.t. 3j C C Cj corresponds to a vertex in Np, we can rewrite the left-

hand side increase as e(EVEN. dv + INpl). By Claim 2.7, the increase in the left-hand side is

bounded by the increase in the right-hand side, and so the induction proof is complete. E

26

edges

0---@

Page 27: The Prize Collecting Steiner Tree Problem

Proof of Claim 2.7. We would like to show that the following holds

Z d +Np| 2- ) INa|VENa

in a meta-graph H induced by active and inactive components during any iteration. We

will actually prove a slightly stronger inequality

E d 2 - )(INa| - Np) (2.5)vENa

from which our claim follows. The basic intuition behind the proof is that the average

degree of a node in a forest spanning n nodes is at most 2(n-1) = 2 - . We will use somen nother properties of the meta-graph H to obtain additional bounds on the degrees of nodes

in meta-graph H.

Recall that Na is the set of nodes corresponding to active components, Ni is the set

of nodes corresponding to inactive components, and Np is the subset of Na corresponding

to active components contained in X, the set of vertices not spanned by solution F'. An

active component in the latter category must have eventually been deactivated and pruned

away, so there are no edges connecting such a component to the root in F'. Hence, dv = 0

for Vv E Np.

We can rewrite

5 dv = 5 + dvvENa vENa-Np vENp

= S dv-5 dv.vE(N-Np)UNi vENi

Since H is a forest, the number of arcs of H is no more than the number of nodes of H

(with non-zero degrees) minus 1. Hence,

E dv 2(I(Na - Np) U Nil - 1) = 2(|Na - INpI +INi| - 1)vE(Na-Np)UNj

Next we would like to get a lower bound on EvEN dv, in order to bound EvEN dv.

To do this, we show that at most one node corresponding to an inactive component can

27

Page 28: The Prize Collecting Steiner Tree Problem

root

e ,

CV

active

inactive

Figure 2-4: Illustrationcomponent are active

of claim that all leaf components with the exception of the root

be a leaf. More precisely, we claim that if v E Ni is a leaf, then its corresponding inactive

component Cv must be the root component. We prove this by contradiction. Suppose that

r C,. Since C is inactive, it must have been deactivated at a certain point and all of its

vertices have been labeled. Let e be an edge incident on v in H. Since v is a leaf, no vertex

in C, can lie on a path from the root to any (unlabeled) vertex that is required by the

algorithm to stay connected to the root. By the GW-pruning rule we should have thrown

edge e away, i.e. e 0 F' - contradiction. Therefore, a leaf in H corresponds either to an

active component or an inactive component that contains the root.

Hence, d, > 2 for all v E Ni except for at most one node. This yields the desired lower

bound:

dv ; 2(1Nil - 1) + 1 =2Nil - 1VENi

Then

ZdENVENa

= Z dv -Z dvVE(N-Np)UNi VENi

2(|Naj - |Nj + |Nji - 1) - (2INI| - 1)

= 2(|NaI - INpI) - 1

( 2 - (INal -jN,|)Nal

( 2-- (|Na| -|JNp|)n

28

Page 29: The Prize Collecting Steiner Tree Problem

as desired, since the number of active components INal n.

REMARK: We can rearrange terms in Inequality (2.5) as follows:

d, + (2 - -)|Np| :! (2 - 1)|NajVENa

1racing back the values of do, INal, and |NpI we observe that this corresponds to the

strengthening of the original approximation inequality (2.3) to

Z Ce + (2 - ) ri (2 - ) S ys (2.6)eEF' iEX SCV

The UGW-algorithm is designed to solve the rooted version of the problem. The solution

that it produces is a function of the root vertex specified. However, notice that a forest F

produced by the unrooted growth phase is the same for any choice of the root. It might

thus appear surprising at first that a procedure whose main part doesn't depend on the

choice of root yields a solution which is within a factor of 2 from an optimal solution for

an arbitrary root. The explanation lies in the fact that the same tree can be optimal for

several different choices of the root. Given an optimal tree T for a specific root r, if r has

sufficient amount of prize, the same tree is optimal for neighbors of r in T and possibly for

some other nodes in T,.

2.3.3 Fully rootless algorithm

So far we have considered only the rooted version of the problem. Notice that the GW-

algorithm constructs a solution around a prespecified root vertex. We can always solve

the rootless version of the problem, i.e. the problem of finding the best subtree of a given

graph without any restrictions on which vertices have to be included, in O(n3 log n) time by

running the algorithm with every vertex as a root and outputting a tree with the smallest

GW value. This method is guaranteed to produce a solution within a factor of (2 - n' 1)

of optimal. However, this seems to be wasteful, since for a number of choices of root

vertices the resulting tree solutions are identical. If we were willing to settle for (2 - )-

approximation, we could use the unrooted growth phase to obtain a forest F and then

perform GW-pruning of F with every possible choice of a root. This algorithm would run

29

Page 30: The Prize Collecting Steiner Tree Problem

in 0(n2 log n) +n-O(n2 ) = 0(n3 ). We can reduce the overall running time to 0(n2 log n) +n-

0(n) = 0(n2 log n) by using strong pruning instead of GW-pruning for every root (without

any loss in the approximation guarantee).

We can further simplify the algorithm, and pruning phase in particular, by eliminating

altogether the notion of the root as a special vertex, when solving the rootless variant of

the problem. Our modified algorithm will be implicitly solving the problem for all possible

choices of root simultaneously, while obtaining exactly the same result as the algorithm that

picks the best tree obtained by applying rooted strong pruning for all choices of a root on

a forest produced by unrooted growth phase.

In the procedure STRONG-PRUNE(r) presented above, the root vertex plays a crucial

role: we are pruning non-root vertices off in order to increase the NW value of the subtree

containing the root. Recall that an edge is kept only if including it and the subtree hanging

off the endpoint farthest from the root doesn't decrease the NW of the rest of the tree.

Once we eliminate the notion of the root, there is no central vertex from which to prune.

Moreover, now when we consider an edge (u, v), including it might be profitable for one of

the subtrees and unprofitable for the other. The way to break the symmetry is to give more

"weight" to the subtree with larger net worth, since after all we are trying to maximize

NW. But we don't want to delete any subtrees, since we don't know which one of them will

turn out to have the largest net worth. Instead, we can keep track of the best tree seen so

far, and update it if necessary each time a new tree is constructed.

Procedure BEST-SUBTREE given in Figure 2-5 is very similar to the STRONG-PRUNE.

In fact, the two routines return exactly the same tree when applied at the same vertex.

However, in the latter, when an edge doesn't get included, no subtrees are deleted. This

allows to keep track of the best subtree seen so far kept in in a global variable T'. Before

returning a subtree it is compared against the subtree T', updating T' if necessary.

To obtain the best subtree of a forest F, procedure GLOBAL-STRONG-PRUNE given

in Figure 2-6 performs rootless strong pruning on every component of the forest by picking

an arbitrary starting vertex from each and calling BEST-SUBTREE from it. The latter keeps

track of the best subtree seen so far as it goes along. Once again, among all subtrees with

maximum net worth we want to pick a subtree that spans the maximum number of vertices.

Next we show that the tree produced by GLOBAL-STRONG-PRUNE(F) is no worse than

a tree we would obtain if we were to run strong pruning on forest F with each vertex as a

30

Page 31: The Prize Collecting Steiner Tree Problem

BEST-SUBTREE(V)

1 TV +- {v}2 nw(Tv) +- 7r(v)3 s(T,) +- 14 for each u = ch5 do Tu +-6 e +- e(7 if nw(8 the9

1011 if nw(T) ;> nw12 then if nw(13 the141516 return T,

ild of v in TBEST-SUBTREE(U)

dge (v,u)

Tu) > Cen T, +- Tv U T, u {e}

nw(Tv) <- nw(Tv) + nw(Tu) - ces(T,) +- s(Tv) + 1

(TO)Tv) > nw(TO) or s(T,) > s(TO)ri TO +- T,

nw(TO) +- nw(Tv)s(TO) +- s(Tv))

Figure 2-5: The BEST-SUBTREE pruning procedure.

GLOBAL-STRONG-PRUNE(F)1 TO +- 02 nw(T) +--oo3 s(tO) +- -14 for each T = component of F5 do r <- arbitrary vertex of T

6 BEST-SUBTREE(r)

7 return To

Figure 2-6: The rootless strong pruning procedure.

root and then pick the best tree found. The main difference would be that we would have

spent 0(n2 ) versus only 0(n) time taken by GLOBAL-STRONG-PRUNE.

Theorem 2.8. Given a forest F, the generalized strong pruning procedure

GLOBAL-STRONG-PRUNE(F) returns a NW-optimal subtree of F.

Proof. Let T* be an optimal subtree of F, C be the connected component containing T*,

and r be the previously picked root of C. Let r, be the vertex of T* closest to the root r (it

might be r itself). We can think of T* as being "suspended" from r. At a certain step the

BEST-SUBTREE has found Tro, the optimal subtree of C rooted at r". Since T* also fits the

definition of a subtree of C rooted at ro, (w(T*), s(T*)) j (w(Tro), s(Tro)). However, T* is

an optimal subtree of C, so w(T*) ;> w(Tro). Hence, w(T*) = w(Tro) and s(T*) = s(Tro).

31

Page 32: The Prize Collecting Steiner Tree Problem

Thus, when T,, was found, it must have been the best tree seen so far. The final tree TO

must be at least as good by construction, so To is an optimal subtree of F. El

As discussed earlier, we can obtain a(2 - -)-approximate solution to the unrooted Prize

Collecting Steiner Tree problem by performing an unrooted growth phase and then doing

strong pruning for every possible choice of the root. The above theorem implies that a

solution obtained by applying (once) GLOBAL-STRONG-PRUNE we obtain a solution at least

as good. From the viewpoint of implementation, the latter algorithm is more advantageous,

since the pruning phase is performed only once.

Corollary 2.9. The UUS algorithm, consisting of the unrooted growth phase followed by

the generalized strong pruning, is a (2 - -)-approximation algorithm for the unrooted Prize

Collecting Steiner Tree problem, that runs in O(n 2 log n) time.

32

Page 33: The Prize Collecting Steiner Tree Problem

Chapter 3

Experimental results

In this chapter we present experimental data comparing the performance of several variants

of the GW-algorithm for the Prize Collecting Steiner Tree problem discussed earlier. We

start by describing experimental background, including the types of instances used in our

experiments. We then proceed to discuss the results.

3.1 Background

3.1.1 Machines

All our experiments were run on single 194 or 196 Mhz MIPS R10000 processors contained

in shared-memory multiprocessor SGI Power Challenge computers with 2 or 6 gigabytes of

random access memory, more than enough for our experiments to fit in main memory. Data

and instruction cache sizes were 32 kilobytes. This is sufficiently small that our running

times were likely affected by (not-easily-quantifiable) caching effects. (Fortunately, highly

detailed conclusions about running time are not needed here.) The operating system was

IRIX 6.2, and the programs were written in C and compiled using the SGI-supplied compiler.

3.1.2 Instances

We report on three classes of instances. The first consists of instances whose graphs were

derived from the street maps of 12 U.S. counties of varying demographic characteristics,

ranging from Silicon Valley to Chicago to suburbs of Washington, D.C., and from 14,000

to 76,000 vertices. Edge costs are approximately the Euclidean distance in miles, and

33

Page 34: The Prize Collecting Steiner Tree Problem

Streetmap Graphs Ave. %% Ave Vertices

County Vertices Edges Prizes P/C in TreeCook IL 76,115 128,375 8.6 7.6 24.6

Dallas TX 47,082 75,593 9.0 4.0 18.4Wayne MI 41,433 69,917 9.7 3.0 19.3

King WA 43,902 67,344 14.1 1.1 10.1Suffolk NY 43,092 66,645 10.5 2.4 15.0Nassau NY 32,067 51,676 5.7 10.3 25.8

Oakland MI 28,305 43,223 15.4 1.8 15.9Franklin OH 21,765 34,216 12.8 2.8 20.1

Duval FL 20,995 32,890 13.6 2.3 16.4Jefferson KY 15,191 23,853 12.9 1.9 12.4

Montgomery MD 14,918 22,518 15.5 4.3 27.8San Mateo CA 14,429 22,442 13.7 4.2 21.5

Table 3.1: Statistics for our testbed of geographic instances. The "% Prizes" column givesthe percentage of vertices with nonzero prizes and the "Ave P/C" column gives the ratioof the average nonzero prize to the average edge cost. The "Ave. % Vertices in Tree"column gives the average percentage of vertices included in the tree generated using theGW-algorithm with rooted strong pruning.

prize vertices (ones with nonzero prize) and their associated prizes are placed so as to

reflect demographics. Basic statistics for these instances, including county name, numbers

of vertices and edges, percent of vertices with nonzero prize, and the ratio of the average

nonzero prize to the average edge cost, are reported in Table 3.1.

The second class of instances are random geometric instances designed to have a local

structure somewhat similar to that of our street map instances. Vertices correspond to

random points in the unit squaie. There is an edge between two vertices if their distance

is no more than 1.6/,/, and the cost of an edge is the Euclidean distance between the

two points. A vertex received a nonzero prize with probability 0.15, and the prize values

were chosen uniformly between 0 and 3/#/. These dependencies on n were chosen so that

the resulting graphs would have roughly constant expected average degree and (average

non-zero prize)/(average edge cost) ratios, as can be seen from the statistics presented in

Table 3.2. Values of n were chosen going from 100 to 25,600 by factors of 4, and several

examples were produced for each value of n.

Our final class was also designed to have constant expected degree and prize/cost ratio,

but beyond that was unstructured. Two vertices have an edge between them with probabil-

ity 6/n, a vertex has nonzero prize with probability 1/4, and both edge lengths and vertex

34

Page 35: The Prize Collecting Steiner Tree Problem

Random Graphs Ave %# Ave % Ave Ave Vertices

Type Vertices Inst. Prizes Degree P/C in TreeGeometric 100 11 12.6 6.9 1.32 3.7

400 11 14.9 7.5 1.49 5.51,600 11 14.7 7.8 1.39 7.56,400 5 15.2 7.9 1.43 10.5

25,600 5 15.2 8.0 1.41 10.5Unstructured 100 5 29.4 6.3 .99 35.3

400 5 26.4 5.9 .98 31.81,600 5 24.9 6.0 .99 31.26,400 5 25.2 6.0 1.02 31.8

25,600 1 25.4 6.0 1.00 31.3

Table 3.2: Statistics for our testbed of random instances. The "% Prizes" column gives thepercentage of vertices with nonzero prizes and the "Ave P/C" column gives the ratio of theaverage nonzero prize to the average edge cost. The "Ave. % Vertices in Tree" column givesthe average percentage of vertices included in the tree generated using the GW-algorithmwith rooted strong pruning.

prizes are chosen uniformly between 0 and 1. Details are once more included in Table 3.2.

The two random classes were chosen to share some of the properties of our proposed

application (bounded vertex degree, and prize/cost ratios) while potentially providing in-

sight into the dependence of results on n in different parts of the space of possible instances.

Other distributions might also provide insight, although we note that it takes some thought

to design classes for which the GW-algorithm does not degenerate to claiming either all the

prize or only the prize at the root (which comes for free).

3.2 Strong Pruning

In Section 2.3.1 we have demonstrated that strong pruning, a greedy heuristic that maxi-

mizes the net worth of a subtree, theoretically dominates GW-pruning. However, we wanted

to test if the same would hold in practice, since after all, our guarantees are for the worst

case only. We also wanted to see if strong pruning would be advantageous with respect to

the running time, since it can be implemented to run in linear time versus quadratic time for

GW-pruning in the worst case. Experimental results for strong pruning are summarized in

Tables 3.3 and 3.4, with running times given in Table 3.3 and solution quality data given in

Table 3.4. These tables also contain data on some additional ways to postprocess solutions

(to be discussed in detail later).

35

Page 36: The Prize Collecting Steiner Tree Problem

3.2.1 Running times

Streetmap Graphs Rooted GW-algorithm Rootless algorithm MSTOriginal w/ Strong Pruning Unrooted Strong

County growth pruning growth pruning growth pruningCook IL 325.22 0.64 324.44 0.40 589.23 1.26 0.46

Dallas TX 102.69 0.39 104.25 0.25 152.35 0.81 0.23Wayne MI 84.54 0.33 84.33 0.22 128.89 0.68 0.20

King WA 28.05 0.27 27.30 0.14 41.59 1.43 0.15Suffolk NY 60.21 0.33 60.41 0.21 89.24 0.83 0.18Nassau NY 48.95 0.27 48.46 0.18 72.71 0.54 0.18

Oakland MI 26.91 0.21 25.15 0.13 41.34 0.47 0.12Franklin OH 13.36 0.16 12.75 0.11 19.07 0.35 0.10

Duval FL 10.06 0.15 10.33 0.09 18.34 0.35 0.09Jefferson KY 6.37 0.10 6.61 0.07 10.98 0.24 0.05

Montgomery MD 5.69 0.10 5.21 0.07 8.99 0.22 0.08San Mateo CA 6.35 0.10 5.61 0.06 8.13 0.22 0.06

Random Graphs Rooted GW-algorithm Rootless algorithm MSTOriginal w/ Strong Pruning Unrooted Strong

Type Vertices growth pruning growth pruning growth pruningGeometric 100 0.00 0.00 0.00 0.00 0.01 0.00 0.00

400 0.03 0.00 0.03 0.00 0.03 0.00 0.001600 0.24 0.01 0.23 0.01 0.31 0.02 0.00

6,400 2.84 0.07 2.84 0.05 4.90 0.15 0.0425,600 82.30 0.33 80.42 0.22 169.07 0.71 0.17

Un- 100 0.01 0.00 0.01 0.00 0.01 0.00 0.00structured 400 0.08 0.00 0.08 0.00 0.11 0.01 0.00

1,600 1.16 0.01 1.15 0.00 1.79 0.02 0.016,400 32.21 0.06 32.89 0.04 51.06 0.16 0.05

25,600 1339.99 0.37 1350.77 0.25 1775.78 0.77 0.34

Table 3.3: Running times (measured inMST postprocessing.

secs) for the variants of the GW-algorithm and

Examining just the running times of pruning phases provided in Table 3.3, it is clear

that strong pruning is about 35% faster than GW-pruning. However, the difference in

overall running time between implementations using GW-pruning and strong pruning is

insignificant, even though strong pruning is asymptotically better in the worst case. This

is because the running time is dominated by the O(n 2 log n) growth phase. Notice also,

that although GW-pruning has worst-case time 0(n2 ), it appears to be taking linear time

in practice.

In Figure 3-1 we plot using a logarithmic scale the running time of the original rooted

GW-algorithm as a function of the number of nodes for both classes of random graphs. The

36

Page 37: The Prize Collecting Steiner Tree Problem

4 Random Graphs10

10

102 +

3 10

E+0) 0 0

10 -1-

10

10 -

102 10 3 10 4 10 5

number of nodes, n

Figure 3-1: Running times as a function of the graph size for random geometric ("+"symbols) and unstructured ("o"symbols) graphs.

straight lines fitted to the data points for geometric and unstructured instances have slopes

1.59 and 2.00 respectively. Thus, at least for the random unstructured class of instances, the

measured running times appear to be trending towards the O(n 2 log n) worst-case bound,

although it is difficult to disentangle cache-miss effects from algorithmic ones on the larger

instances, and even our largest instances take less than a half-hour on our relatively slow (by

today's standards) machine. This is presumably due to the fact that those instances have

higher average percentage of vertices with nonzero prizes (about twice as much as geometric

instances), allowing for more component merges. The latter leads to more iterations of the

algorithm. Not surprisingly, the average percentage of vertices included in a solution tree

for the unstructured instances is also much higher than for the geometric ones (see last

column of Table 3.2.

A similar running time growth appears also to occur for the street map instances, al-

though here the picture is less clear. Given the wide variation in geography and population

density among the counties covered, counties with roughly the same numbers of vertices

and edges can yield widely different running times. For instance, King, Suffolk, and Wayne

37

Page 38: The Prize Collecting Steiner Tree Problem

Streetmap Graphs

102

E

10

10

10 10

number of nodes, n

Figure 3-2: Running times as a function of the graph size for streetmap graphs. Fitted line

has slope = 2.18

Counties all have graphs with around 43,000 vertices and 67,000 edges, but the running

times for the last two are roughly 2 and 3 times as long as that for the first. This is presum-

ably because of the differing percentage of prize vertices among the three graphs and the

different ratios of average prize to average edge cost, which lead to significantly different

sizes for the output trees.

We suspect that, although it was not needed for the experiments reported here, a sig-

nificant improvement in running time could be obtained by more careful engineering of

the data structures used for the growth phase. The major work of the growth phase in-

volves updating the status of edges as to (1) which components contain their endpoints,

(2) whether another edge that joins the same components is effectively shorter, and (3)

the status (active or inactive) of their endpoint components. During a component merge,

our implementation currently takes time proportional to the number of undominated edges

leaving the two components involved. With a more intricate implementation, this should

be reducible to something proportional to the out-degree of the smaller component, which

might make a substantial difference on instances such as ours, where many components are

38

Page 39: The Prize Collecting Steiner Tree Problem

initially inactive ones consisting of a single prize-less vertex with low degree.

3.2.2 Solution quality

To compare the performance of strong pruning against GW-pruning in the context of the

rooted variant of the problem, we ran the two implementations of the GW-algorithm on

each testbed instance with a set of 100 randomly chosen roots. We then compared for each

instance the averages (of 100) GW objective function values obtained with GW-pruning

and strong pruning. Notice that this is equivalent to taking the average of 100 comparisons

of individual values produced for each root.

As can be seen from Tables 3.4, the average improvement in the GW objective function

due to strong pruning is significant: GW pruning yields solutions that are 1.7 to 9.2% worse

for the street map instances. Comparable improvements occur for the random unstructured

instances, and even bigger ones (10% and more) occur for the random geometric graphs.

Still bigger improvements occur for the NW objective function: over 20% for three of the

street map graphs and over 200% for all the random geometric graphs. (For these the

GW-algorithm produces solutions with negative Net Worth.)

Note also, that even if one takes the best solution over 100 roots, GW-pruning does not

do better than the average for strong pruning except on the smallest of the random graphs

and one of the 12 street map instances.

Thus, although GW-pruning has value as a proof technique, there would appear to be

strong empirical support for using the simpler strong pruning approach in practice (although

we shall have more to say about this in Section 4.2).

Table 3.4 also summarizes results for a way of improving on strong pruning: Postprocess

the tree by computing a minimum spanning tree (MST) on the vertices it contains. Note

that there is no reason to believe that a GW-type algorithm will produce a minimum

spanning tree, and our results confirm this. Typical improvements are 0.2% or more, with

significantly larger improvements for the unstructured random graphs. The tables report

only the improvement over average strong pruning results, but similar improvements apply

to the other GW-algorithm variants. Since the time for computing an MST is negligible

compared to that for the overall algorithm, this is definitely a worthwhile augmentation to

the algorithm. We also investigated a postprocessing phase that took the non-zero prize

vertices found by the algorithm and used the Goemans-Williamson Steiner Tree heuristic

39

Page 40: The Prize Collecting Steiner Tree Problem

Streetmap Graphs Rooted Growth Unrooted GrowthGW Pruning Strong Pruning Strong Pruning

County Average Best Ave NW Best +MST Average Bestof 100 of 100 overall

Cook IL +3.0% +2.8% +1.7% -.07% -.35% +.04% +.03%Dallas TX +4.9% +4.5% +6.2% -.21% -.21% -.01% -. 05%Wayne MI +5.2% +5.0% +14.5% -. 12% -. 18% -.02% -. 07%

King WA +1.7% -1.1% +1.6% -2.76% -.30% -.02% -2.75%Suffolk NY +6.4% +5.6% +21.9% -1.05% -.23% -. 01% -1.03%Nassau NY +1.9% +1.7% +1.3% -.06% -.32% -.03% -.05%

Oakland MI +7.5% +6.3% +28.3% -. 31% -. 34% -. 01% -.23%Franklin OH +5.8% +5.4% +11.9% -.23% -. 24% -.04% -.20%

Duval FL +5.3% +4.7% +14.3% -. 82% -.35% -. 01% -.61%Jefferson KY +9.2% +8.6% +46.9% -. 36% -. 18% -.00% -.27%

Montgomery MD +2.3% +1.5% +1.8% -. 21% -. 34% -.07% -. 19%San Mateo CA +2.6% +.4% +1.5% -2.24% -. 16% -.09% -2.24%

Random Graphs Rooted Growth Unrooted GrowthGW Pruning Strong Pruning Strong Pruning

Type Vertices Average Best Ave NW Best +MST Average Bestof 100 of 100 overall

Geometric 100 +18.5% -11.4% +395.5% -13.88% -. 21% -.02% -13.88%400 +14.0% +8.8% +424.2% -4.07% -. 28% -.09% -4.16%

1,600 +13.2% +8.3% +683.2% -1.63% -.36% -.07% -1.42%6,400 +10.3% +9.6% +245.0% -.45% -.40% -.09% -.32%

25,600 +10.2% +8.6% +217.2% -. 17% -.43% -. 02% -.09%Un- 100 +3.2% -4.2% +3.5% -5.84% -1.03% -. 18% -3.67%Structured 400 +3.5% +1.0% +4.5% -1.60% -.89% -. 10% -1.09%

1,600 +4.5% +2.5% +5.4% -. 90% -.89% -.07% -.63%6,400 +4.0% +3.0% +4.7% -. 18% -.88% -.07% -. 13%

25,600 +4.0% +2.2% +4.9% -. 95% -. 94% -. 10% -.95%

Table 3.4: Results for variants of the GW algorithm, expressed as percentage improvements

(negative numbers) or degradations (positive numbers) compared to the average result forrooted strong pruning, over a selection of 100 different choices of root vertex. All columnsexcept the "Ave NW" column concern the GW objective function; the latter concerns theNew Worth objective function. The "+MST" column represents the average improvementobtained by using a minimum spanning tree algorithm for post-processing.

40

Page 41: The Prize Collecting Steiner Tree Problem

to construct a (hopefully) better Steiner tree for them, followed by MST postprocessing.

Unfortunately, this was typically no better than doing the MST alone, and doubled the

overall running time.

3.3 Unrooted Growth

In Section 2.3.2 we presented another modification to the GW-algorithm - the unrooted

growth phase. The unrooted growth phase followed by rooted/unrooted pruning yields a

(2 - 1)-approximation algorithm for the rooted/rootless PCST problem. The degradation

in the theoretical guarantee is due to the modifications in the growth phase. However, these

modifications allow us to construct trees for more than one choice of root with a single run

of the growth phase. Moreover, it is not clear whether using unrooted growth in place of

the rooted growth phase would be actually worse in practice.

Our experimental results reported in Table 3.4, demonstrate that using the unrooted

growth phase can be advantageous in some cases, and disadvantageous in others.

Interestingly, when solving the rooted variant of the PCST problem, the average GW

values (over 100 different roots) for unrooted growth followed by (rooted) strong pruning are

typically better than the averages for rooted growth phase with strong pruning, although

only slightly (less than 0.1% - see column 7 of Table 3.4), for all three classes of instances.

However, for the unrooted variant of the problem, the best value obtained with the rooted

growth/strong pruning algorithm over a selection of 100 distinct roots is typically better

(although again by less 0.1%, except for the two smaller classes of unstructured random

instances) than the best value given by the unrooted growth/global strong pruning algorithm

(see columns 5 and 8 of Table 3.4). However, the latter can be computed much more quickly

using the rootless global strong pruning of Theorem (2.8). Also note that if all we want is

a solution for a specific root, the slight advantage in average GW value for the unrooted

growth version is often offset by a substantial disadvantage in running time, with the penalty

being as much as a factor of 2, although typically being more like 1.5 (see Table 3.3).

3.4 Closeness to Optimality

Although we cannot address completely the question of how close to optimal these algo-

rithms are in practice (mostly due to infeasibility of obtaining exact solutions for large

41

Page 42: The Prize Collecting Steiner Tree Problem

Without MST With MSTType No. No. No. Ave. Max No. Ave. MaxInstance Vert. Inst. Opt. Gap Gap Opt. Gap GapGeometric 100 11 10 .20% 2.25% 10 .20% 2.25%

400 11 3 1.04% 3.35% 4 .90% 3.35%Unstructured 100 5 0 3.60% 6.98% 0 2.97% 6.94%

400 5 0 3.03% 4.45% 0 2.14% 4.21%OR-Lib 500 34 7 4.65% 18.18% 7 4.07% 18.18%

1000 29 7 4.12% 15.39% 8 3.80% 15.39%

Table 3.5: Comparison of solutions obtained by the GW-algorithm using unrooted growthand global strong pruning to the optimal solutions for instances where the latter have beencomputed [13].

instances), whatever limited evidence we do have is suggestive. Lucena and Resende

have developed a branch-and-cut optimization algorithm for the unrooted variants of GW-

minimization and NW-maximization problems [13], which they have successfully applied

to all of our instances with 400 or fewer vertices (all of which are random graphs), as well

as some variously structured 500- and 1000-vertex instances derived from Steiner Tree test

cases in the OR-Library [4] by randomly assigning prizes to the required vertices. Here

the appropriate point of comparison is our rootless variant of the GW-algorithm that uses

unrooted growth and unrooted global strong pruning, since optima are being computed for

the unrooted variant of the problem. Table 3.5 reports on the gaps found between this

algorithm's solutions and the optimal ones for those instances that Lucena and Resende

have successfully solved. These results suggest that in practice the distance from optimality

increases as instances get larger, although it leaves hope that the the average gap may be

converging to something like 5%.

3.5 Further Improvements

In the previous sections we have presented a number of modifications to the GW-algorithm's

growth and pruning phases that lead to better results in practice. An alternative way to

obtain improvements from the GW-algorithm is to modify instances themselves in order to

force certain kind of behavior of the algorithm.

One such approach is to scale uniformly node prize values or edge costs. The GW (as

well as NW) objective function treats prize and edge costs symmetrically, assuming they

42

Page 43: The Prize Collecting Steiner Tree Problem

06

CD

,~J.~

C14J

I..-

0r-.

CDCD

1000 Node Unstructured Random Graph

-

I I I I I I 1 10.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0

PRIZE MULTIPLIER

Figure 3-3: Value of GW-objective function (using original prize values) as a function ofprize multiplier for rooted strong pruning and a random graph with edge probability 0.1, alledge weights equal to 100, 000, and nonzero prizes on 10% of the vertices, with prize valuesdistributed uniformly between 0 and 200,000. The best choice for the prize multiplier isabout a = .795, yielding a value for the GW objective function that is 2.7% better thanthat for a = 1.

43

z0I-0zIL

0

Page 44: The Prize Collecting Steiner Tree Problem

are measured in the same units. However, the "stronger" approximation guarantee for the

algorithm is not symmetric with respect to edge costs and prizes (e.g see Inequality (2.6)).

This suggests that the algorithm might be implicitly measuring prize values and edge costs

in different units. In studying the effect of scaling all the prize values by a multiplier p,

we observed that for both pruning rules, the best trees with respect to the original GW-

minimization problem are often obtained by using multipliers less than 1, i.e., by tricking

the GW-algorithm into thinking it has less prize than it actually does, e.g., see Figure 3-3.

This is common for GW-pruning, which as we have already seen leaves much room for

improvement when the multiplier is 1. Here values of p as small as .5 on occasion yield

the best results. For strong pruning, the effect is much less pronounced, although for the

unstructured random instance in Figure 3-3, we did get an improvement of 2.7% by taking

= 0.795 for our default choice of root.

To find such improvements, one must run the GW-algorithm many times. A perhaps

more promising way to exploit multiple runs is in the context of multiple-start local opti-

mization, as is currently being explored by Canuto et al. [7]. Here one repeatedly runs the

GW-algorithm on minor random perturbations to the instance, using the results as start-

ing points for a sophisticated local improvement algorithm. On the instances with known

optima covered in Table 3.5, a "best-of-500-starts" version of this algorithm averages less

than 1% above optimal for each of the classes of problems covered [15]. Simply running

the local improvement algorithm on the output of one run of the GW-algorithm also yields

measurable (but significantly smaller) improvements. -

44

Page 45: The Prize Collecting Steiner Tree Problem

Chapter 4

Bicriteria Optimization Problems

Both the GW-minimization and NW-maximization problems combine edge costs and node

prizes (penalties) in the objective functions, while imposing the constraint that the structure

returned is a tree. Such a model would only work only if the two weight functions are

comparable, i.e. measured in similar units. Moreover, in practice one might be interested

in optimizing only one of the cost/penalty functions while allowing another to take on values

within some range. In this chapter we will be considering two such bicriteria optimization

problems based on the Prize Collecting Steiner Tree problem scenario. We will present some

theoretical approximation results as well as some practical heuristics. We will also explore

some questions that are likely to be of particular practical interest in connection with these

problems.

4.1 The Quota Problem

In this variant of the Prize Collecting Steiner Tree problem we are given a prize quota

Q > 0 and the goal is to find a tree of minimum edge cost which spans a total prize of

at least Q. Notice that the well-studied k-MST problem, in which given an edge-weighted

graph G and a positive number k, one wants to find a minimum cost tree containing at

least k vertices, is a special case of the Quota problem in which all prizes are set to 1 and

the quota to k. Recently, a number of constant-factor approximation algorithms have been

developed both for the rooted and unrooted variants of the problem [6, 9, 2, 1]. The current

state-of-the-art result is (2+ E)-approximation guarantee. All of these algorithms are based

on the Goemans-Williamson original algorithm for GW-minimization. We show, in turn,

45

Page 46: The Prize Collecting Steiner Tree Problem

how to exploit these algorithms to solve the more general quota problem.

4.1.1 Approximation algorithms

Suppose we are given graph G = (V, E) with non-negative edge costs ce and strictly positive

integer node prizes 7r,. Let H be the total prize on all the nodes of the graph H = Z:,v r.

As a thought experiment, we transform graph G into G' with H nodes by substituting every

vertex v by a star with a center node v' and 7rv - 1 leaves all attached to v' by zero-cost

edges. Clearly, solving prize-collecting steiner tree problem on G with prize quota Q is

equivalent to solving k-MST problem on G' with k = Q.

Additionally, we might have to deal with zero-prize nodes. Since there is no easy way to

get rid of such nodes without changing the structure of the original graph, we will modify

prize values so as to get an equivalent instance of the quota problem with only positive

prizes on the nodes. The new prize assignment is frv = 2 lVi -irv + 1 for all nodes v. Notice

that all nodes now have positive integer prizes assigned to them. We also scale up the prize

quota to be Q = 2 lVi -Q. We now verify that any tree that is optimal for the quota problem

under the modified prize assignments is optimal for the original problem.

Lemma 4.1. If tree T is an optimal solution to the Quota Prize Collecting Steiner Tree

problem under modified prize assignment *r with target prize set to Q, then T is an optimal

tree for the original instance of the problem.

Proof. First we need to show that any tree T that is feasible under the modified prize

assignment is also feasible under the original prize assignment. Consider a tree T such that

fr(T) Q = 2 Vi - Q. Rewriting the modified prize total for T in terms of original prize

total, we obtain fr(T) = 2IVI-ir(T)+ITI 2IVIQ. Since T spans no more than iVi vertices

and all the prizes as well as target Q are integers, we must have that 2 lV I- 7r(T) 2 VI - Q.

It clearly follows that ir(T) Q, i.e. tree T is feasible under the original prize assignment

as desired.

Next we prove the optimality statement by contradiction. Suppose there exists another

tree T', such that cost(T') < cost(T) and ir(T') > Q. Notice that edge cost of any tree is

the same for two instances since it does not depend on prize values. Since tree T is optimal

for the instance with modified prizes, tree T' must be infeasible for this instance, i.e. the

46

Page 47: The Prize Collecting Steiner Tree Problem

prize value of T' under fr doesn't reach the target Q. Let us compute this value:

ft(T') = 2|IVI - r(T') +T'| ;> 2|V| -Q = Q.

Thus, T' must collect enough prize value under the new assignment of prizes, and thus we

get a contradiction. [

Combining the above two techniques we can transform any instance of the Quota prob-

lem with integer prizes into an instance of the k-MST problem, which can then be ap-

proximately solved by any known constant-factor approximation algorithm. Note that the

approximation guarantee is preserved, since edge costs are not modified in creating a k-MST

instance. However, since the running time is a function of the number of vertices in the

graph, and our transformation creates may new vertices, we get only a pseudo-polynomial

approximation algorithm.

However, if we were to use Garg's 5-approximation or 3-approximation algorithms [9],

there is no need to explicitly perform the "prize-to-vertices" construction on a graph. The

GW-algorithm, used by Garg as a main subroutine, would "collapse" all leaves attached

by zero-cost edges into their respective star centers in the first step. Moreover, if a tree on

G' contains any one of the "artificial" star leaves, then it must contain the center node of

that star as well, which means that we can add to the tree the rest of the leaves of this star

without increasing the cost of the tree. Hence, for the purposes of the k-MST algorithm

it doesn't make sense to consider artificial nodes individually. We can keep them collapsed

together and adjust the rest of the steps of the algorithm to deal with the whole cluster of

nodes as a unit. Thus we obtain a 3-approximation algorithm for the Quota problem.

Theorem 4.2. There exists a polynomial-time 3-approximation algorithm for the Quota

problem which first constructs an equivalent instance of the k-MST problem and then uses

Garg's 3-approximation algorithm to solve it.

4.2 The Budget Problem

In the Budget variant of the Prize Collecting Steiner Tree problem, we are given an upper

bound B to pay for edges and the goal is to find a tree containing the maximum amount of

prize whose edge cost is no more than B.

47

Page 48: The Prize Collecting Steiner Tree Problem

Suppose we ran our 3-approximation algorithm for the Quota problem with prize quota

value set to Q and obtained a tree of cost C. Then by increasing the quota value sufficiently

we will obtain a tree of cost more than C. Now, by repeatedly running the Quota algorithm

and using a binary search on the quota values, we can find a value q* such that the tree

produced by the 3-approximation Quota algorithm from the previous section for prize quota

q* costs no more than B and any tree output by the algorithm for quota value q*(1 + E)

costs more than B for a given value e > 0. We output the tree for q*, which is guaranteed

to contain total prize within a factor of 5 from the optimal value. Binary search to finite

precision suffices, since there exists an exponentially small 3 such that two trees produced

by the algorithm for prize quota values qi and q2, s.t. 1qi - q2I 5 6, must have the same

edge cost.

Theorem 4.3. Given a polynomial-time 3-approximation algorithm for the Quota problem,

the binary search approach yields a polynomial-time (5 + e)-approximation algorithm for the

unrooted Budget PCST for any e > 0.

Proof. Suppose we are given an instance of the Budget PCST problem with budget value B.

Let T* be the tree output by the binary search algorithm and let q* be the corresponding

quota value. By construction, any tree produced by our Quota algorithm for quota value

q*(1 + c) has edge cost greater than B. We will show that any tree with edge cost bounded

by B (an optimal tree in particular) contains total prize less than q* (5 + e).

Since we know that our Quota algorithm is a 3-approximation algorithm, any tree with

prize value q* (1 + E) must cost more than B/3. Suppose that there exists a tree with a prize

value at least 5(1 + e)q*. Then, as will be demonstrated below, we can partition this tree

into 3 edge-disjoint subtrees, each with prize value of at least 1 / 5 th of the total 5(1 + e)q*.

But then each of the subtrees must contain at least (1 + E)q* prize and hence must cost

more than B/3. This results in a contradiction since the whole tree cannot have edge cost

of more than B. E

In order to get a better approximation guarantee for the Budget PCST problem with

the above technique, we will need an a-approximation algorithm for Quota problem with

a < 2. For example, by using a 2-approximation algorithm for the Quota problem we would

obtain a tree with total prize value within 3(1 + e) of optimal, since (as will be shown below)

any tree can be partitioned into 2 edge-disjoint subtrees each containing at least 1 / 3 rd of

48

Page 49: The Prize Collecting Steiner Tree Problem

the total prize value.

4.2.1 Trisection of a Tree

In the above proof we have used a fact that a given tree can be partitioned into 3 edge-

disjoint subtrees each containing at least 1 / 5 th of the total prize value. In this section we

will establish this result in full detail.

Let us define an ordering relation on node-weighted trees. Given 2 trees T and T2, let

us say Ti -< T2 if either w(Ti) < w(T 2), where w(T) denotes the total weight of all nodes

of a tree T, or w(Ti) = w(T 2) and Ti contains fewer nodes than T2 . Also, Ti -< T2 if either

Ti -.< T2, or w(Ti) = w(T 2) and Ti contains the same number of nodes as T2.

Definition 4.4. A tree T is -<-minimum with respect to a set of trees T, if for any tree

T' E T, T -< T'. Similarly, a tree T is -<-maximum, if for any tree T' E T, T' - T.

We will limit our attention to the case in which no negative weights are allowed. First

we will demonstrate a simpler result for partitioning a tree into 2 edges disjoint subtrees.

Lemma 4.5. Any node-weighted tree, in which no node has weight more than 1 / 3 rd of the

total weight of the tree, can be split into 2 edge-disjoint subtrees, such that each one of them

contains at least 1/ 3rd of the total weight

Proof. For simplicity let us assume that the total weight of all nodes in the tree is 1.

Consider all the possible edge-disjoint splits into two subtrees, in which the smaller subtree

weighs less than 1/3. Let T be a set of all smaller subtrees obtained from such splits. Let

T, be a -<-maximum subtree with respect to the set T. Take the edge-disjoint split which

produced TI. Denote by T2 the other subtree obtained by this split, and let v be the vertex

which is shared by the two subtrees.

If node v has only one adjacent edge e = (u, v) in T2, consider a new partition into T1, T2

formed by moving u together with edge e to Ti. w(T2) = w(T 2) - w(v) > w(T 2 ) - 1/3 > 1/3,

since in the original split w(T 2) > 2/3. Since T1 was formed by adding a node of non-

negative weight to T1 , T < Ti. But T, is a -<-maximum subtree of weight less than 1/3,

thus w(Tj) > 1/3, and so we have the desired split.

If vertex v has at least two children in T2, we can split T2 into 2 subtrees, both rooted

at v. The larger of the 2 subtrees must weigh at least 1/3 since w(T 2) > 2/3. Again, by

49

Page 50: The Prize Collecting Steiner Tree Problem

-<-maximality of T 1 , if we move the smaller subtree over to T 1, the weight of the new T

becomes at least 1/3. Since the other subtree weighs at least 1/3, we have the desired

split. -

We can obtain a split into 3 edge-disjoint subtrees by splitting a tree into two, and then

taking a larger subtree and splitting it again. By the above Lemma, each of the 3 subtrees

is guaranteed to contain at least 1 / 6th of the total prize. However, assuming that no node

has weight more than 1 / 5 th, we can strengthen the result of Lemma 4.5 to obtain a more

even split.

Lemma 4.6. Any node-weighted tree, in which no node has weight more than 1 / 5 th of the

total weight of the tree, can be split into 2 edge-disjoint subtrees, such that one of them

contains at least 1 / 5 th of the total weight and the other one contains at least 3 /5th of the

total weight.

Proof. For simplicity let us assume that the total weight of all nodes is 1. We will prove

our result by contradiction. Suppose that such split is not possible. This means that in any

split in which each subtree weighs at least 1/5, both of them must weigh at least 2/5.

By the previous lemma, there exists a split into 2 subtrees T and T2 such that both

subtrees have weight of at least 1/5. Wlog, suppose w(Ti) w(T 2 ). Among all such splits

let us consider the one in which T is -<-minimum, with respect to the set of all subtrees

formed by such partitions.

Recall that since w(Ti) 1/5, we must have that w(Ti) 2/5, otherwise the other side

weighs at least 3/5 and we have the desired split. Let v be the vertex shared by the two

trees. Vertex v must have at least 2 incident edges in T 1 . Otherwise, if it had only one such

edge, we could move it over to T 2 , thus removing vertex v from T and decreasing its weight

by w(v) 1/5. Since w(TI) 2/5, the new subtree must weigh at least 1/5, contradicting

our assumption that T was a -<-minimum tree with such weight. This means that v must

have at least 2 children in T 1 . Consider the subtrees rooted at these children. If we move

the smallest one over to T2, we get a new split into T1, T2 with w(T) : 1/2 - w(Ti) 1/5.

But T1' -< T 1 , once again contradicting the assumption that T 1 was a -<-minimum tree with

such weight. E

Theorem 4.7. Any node-weighted tree, in which no node has weight more than 1/5 of the

50

Page 51: The Prize Collecting Steiner Tree Problem

total weight of the tree, can be split into 3 edge-disjoint subtrees, such that each one of them

contains at least 1/5 of the total weight.

Proof. By the above lemma, there exists a split into 2 subtrees, such that the smaller subtree

weighs at least 1/5 and the larger subtree weighs at least 3/5. Since no node weighs more

than 1/5 < 1/3, we can take the larger subtree and split it further into 2 subtrees, each of

weight at least 1/3 of the total. It is easy to see that we obtain 3 subtrees, each containing

at least 1/5 of the total node weight. E

Remark 1. It is not possible to have a better guarantee than 1/5, i.e. there does not always

exist a 3-way split such that each of the subtrees weighs more than 1/5. Consider a star

with 5 leaves, each of weight 1/5. Let the center have weight 0. It is easy to see that any

split into 3 edge-disjoint subtrees contains at least one subtree of weight exactly 1/5.

4.3 Practical Heuristics

We probably will never want to use any of the above approximation algorithms directly

in practice. However, some ideas inherent in Garg's 3-approximation algorithm for the

Quota problem can be adapted to yield quite practical heuristics for the Quota and Budget

problems. In this section we describe such an approach for the Quota problem and then

extend it to the Budget problem.

4.3.1 Prize-multiplier approach

Consider an instance of the PCST GW-minimization problem. Suppose we run the GW-

algorithm on it and obtain a solution tree T. What is the total prize value of vertices in

T? That would depend on the relative value of vertices compared to the costs of edges:

intuitively, we would want to collect a prize from some vertex only if the cost of getting

that vertex is outweighed by the value of the prize. Thus, if the solution tree does not

contain enough prize, in order to force the algorithm to "collect" a greater amount of prize,

we could sufficiently increase the prizes of vertices, in order to offset the edge costs. By

scaling prize values of vertices up or down, we can control the value of prize picked by the

algorithm. This is essentially the basis for our prize-multiplier heuristic.

The idea (which is also implicit in Garg's algorithms) is to run the GW-algorithm on

a series of PCST instances, each obtained from the original instance I by multiplying all

51

Page 52: The Prize Collecting Steiner Tree Problem

prize values by a fixed prize multiplier p. Let I, be the instance derived using multiplier p.

Given a Quota Q and a small fixed E > 0, one uses binary search to find a value of p such

that the tree generated by the GW-algorithm for I,, has total prize Q or more (as measured

in terms of the original instance I), but the tree generated for I(,+,) has total prize less

than Q. One then either returns the first tree or, if it has significant excess prize, tries to

find a better tree intermediate between the two trees.

We can motivate the prize-multiplier approach described above by considering an integer

program for the Quota problem modeled after the original GW IP.

Min E CeXeeEE

subject to:

EZXe +EZN > S CV -reEJ(S) NDS

SzN TZri ZriQ-

NCV-r iEN iEV

E ZN lNCV-r

XeZN E{0,l} NCV-r

We use the same set of variables xe for each edge and ZN for each subset of vertices. Just

as in the original IP, ZN is set to 1 for the set of vertices not spanned by the tree. To reflect

the quota requirement, we add an additional constraint that the total prize not collected

by the tree has to be more than the total prize amount in the graph minus the desired

amount of prize. Writing the quota constraint in this form is somewhat awkward, but it

uses the same variables as the original IP and yields a very similar dual program to the

52

Page 53: The Prize Collecting Steiner Tree Problem

linear programming relaxation:

Max EyS -,p(E ri - Q)S:r S iEV

subject to:

Z YS Ce ecES:eE6(S)

E1yS >Ep7ri NcV-rSCN iEN

PYS;> 0 SEV-r.

The new variable p serves as a multiplier on the node prizes. In fact, when P is fixed,

the second term in the objective function p (Eiy 7ri - Q) is constant, so solving this dual

program is identical to solving the original dual program with all the prizes scaled by p.

Intuitively, in order to get a tree with more prize, we need to increase the value of the prizes

to delay deactivation of components and enable the algorithm to add more edges. The same

argument with a multiplier between 0 and 1, applies to the case when target prize value is

actually less than what the GW-algorithm produces for the original instance.

While the prize-multiplier heuristic alone in general doesn't give any theoretical per-

formance guarantees, we get provably good solutions in some special cases. The following

theorem holds when we use original GW-pruning when running the algorithm.

Theorem 4.8. Given an instance I of the PCST problem, suppose that for some multiplier

value M,, the prize-multiplier heuristic outputs a tree T with exactly Q,, prize. Then T is

a 2-approximation for the PCST problem with quota value Q.

Proof. Consider instance I,, in which all prize values 7ri have been scaled by po. When we

run the GW-algorithm with GW-pruning on this instance, we obtain a tree To. The scaled

amount of prize not in To is po(EiEV ri - Qo). The GW-algorithm provides us with the

following approximation guarantee:

ce + po(Z7ri - Qo) 2 Z YS.eET iEV S:r S

The original proof of the algorithm's approximation factor (Theorem 4.1 in [10]) can be

used to demonstrate a slightly stronger result (similar to Remark 2.3.2). In particular, in

53

Page 54: The Prize Collecting Steiner Tree Problem

root

5

4.9 5010

Z10.4

5,25

a)

root

B

C

b)

roo

A B

(j

c)

Figure 4-1: Example demonstrating nonmonotonicity of the growth phase of GW-algorithmas a function of increasing multiplier values. a) Original graph with prizes and edge costs.b) Solution obtained on the original graph. c) Solution obtained with prize multiplier 1.025.

our case

ce + 2 -po(l7ri - Qo) 2 Z YSeET iEV S:roS

Rearranging the terms, we obtain that

Ce 2( YS - P(Z7ri - QO)e6T S:rgS iEV/

Notice that the right-hand side of this inequality is the objective function of the dual of the

Quota problem LP. Thus, the cost of To is at most twice the optimal, implying that the

tree To is a 2-approximation to the Quota problem with quota value Q. E

4.3.2 Nonmonotonicity of the prize-multiplier approach

Using the above intuition, one might hope to run the algorithm once, solving for all values of

the multiplier M simultaneously. Unfortunately, this is not possible because a tree obtained

with a larger multiplier value might not contain a tree that an algorithm would construct

with a smaller multiplier. Such nonmonotonicities can be due to a growth phase and/or

pruning phase. An example in Figure 4-1 illustrates nonmonotonic behavior of the growth

54

Page 55: The Prize Collecting Steiner Tree Problem

root

8

A 205

4.85.01

).99

a)

root

A -- .B

C

b)

Figure 4-2: Example demonstrating nonmonotonicity of the growth phase with strong prun-ing as a function of increasing multiplier values. a) Original graph with prizes and edgecosts. b) Solution obtained on the original graph. c) Solution obtained with prize multiplier1.2.

phase. When the GW-algorithm is applied to the original instance (1) the component A

freezes before reaching the root; (2) the component containing B merges with it, making an

active component AB, (3) components AB and C merge with each other; (4) the component

ABC joins the root. However, once all prize values are multiplied by 1.025, the component

A now has enough prize to pay for the edge to the root. Thus, events take place in the

following order: (1) the component A joins the root; (2) the component B merges with the

root; (3) the component C becomes deactivated. In this case, the component containing

C runs out of prize and freezes before it can merge with B, since B stopped helping it

to pay for the edge (B, C) once it joined the root. As a result, the tree obtained in this

case contains A and B, but not C, whereas the tree solution for the original instance spans

all three vertices. If we applied strong pruning to the tree obtained on the original graph,

vertex C would be pruned off anyways, since it has much less prize than the cost of the

edge (B, C). GW-pruning would have to keep C, since it was never deactivated.

However, strong pruning cannot always fix the problem created by the growth phase.

An example in Figure 4-2 illustrates a slightly different nonmonotonicity in the growth

phase complicated by strong pruning. In this case, the two trees obtained after the growth

55

root

A B

C

0)

Page 56: The Prize Collecting Steiner Tree Problem

A205

root

B4

Figure 4-3: Example demonstrating nonmonotonicity of the optimal solutions to the Quotaproblem.

phase span the same set of vertices, but use different edges. When the GW-algorithm is

applied to the original instance, the order of events is following: (1) component A freezes, (2)

components B and C merge using edge (B, C), (3) component BC merges into A using edge

(A, C), (4) ABC joins the root. However, when the algorithm runs with prize-multiplier 1.2

the order of events changes, and a different set of edges is used: (1) the component A has

enough prize to merge with C; as a result, (2) B uses edge (A, B) to join with AC (since it

is shorter than previously used edge (B, C)); (3) ABC joins the root as before. However,

because of the different structure of the tree after the growth phase, strong pruning removes

vertex C.

The nonmonotonicity property illustrated above is not just the "weakness" of the GW-

algorithm. Optimal solutions for different values of quota are not necessarily monotonic in

the solution structure as a function of the prize quota value. As a simple example, consider

the graph pictured in Figure 4-3. Optimal solutions to the rooted Quota problem with

prize target values 4 and smaller consist of the root and vertex B. However, for prize quota

values in the interval (4,20], an optimal solution contains vertex A but drops vertex B.

4.3.3 A pruning heuristic for the Quota problem

With a prize-multiplier approach, using a sufficiently big multiplier, it is always possible to

obtain a tree with node prize totaling at or exceeding a given prize quota Q (provided the

graph has a connected component containing at least that much prize). We can hope that

56

Page 57: The Prize Collecting Steiner Tree Problem

Montgomery County, MD100

80

CO

M60--0

C

40 -

a.

20

20

0 : p I I

0 0.4 0.8 1.2 1.6 2Prize Multiplier

Figure 4-4: Percentage of prize obtained as a function of prize multiplier.

if we increase the multiplier slowly, we can obtain a relatively continuous range of prize

values. However, this is not always the case and there exist discrete gaps in prize values

(for example, see Figure 4-4). Also, re-running the GW-algorithm with a large number of

multiplier values to avoid the gaps can be very time consuming. An alternative approach

can be employed to fill in the gaps: taking solutions with higher prize values than desired

and pruning them down so as to decrease edge cost.

Suppose we run our algorithm with two multipliers pi and p2 and obtain solution trees

with prize values P and P2 with P < P2 . Additionally, suppose we are given prize quota

Q falling between the two prize values: PI < Q < P2 . While tree T 2 is a valid solution for

the Quota problem with target value Q, it might be possible that there exists a subtree of

T2 which is also a valid solution and has smaller edge cost. Using dynamic programming

we can find an optimal min cost subtree of T2 which satisfies prize quota Q. However, this

approach is quite expensive computationally (unless all the prize values are the same) and

one might instead desire a fast heuristic that can find such a subtree (possibly suboptimal).

57

Page 58: The Prize Collecting Steiner Tree Problem

Finding a min cost subtree of a tree can be viewed as pruning away unnecessary prize

while trying to decrease edge cost as much as possible. Intuitively, we would like to remove

subtrees that have high edge cost per unit of prize. Since we are interested in the relative

values of edge costs and node prizes, let us introduce the following notion of a cost-prize

ratio.

Definition 4.9. Given a rooted tree T, consider a subtree Tu rooted at a vertex u. Let us

denote by 1(u) the total prize value of all the vertices in T, [1(u) = ZiTu 7ri and by C(u),

the total cost of all edges in T, C(u) = ZeTu ce. Define the cost-prize ratio of a subtree

Tu rooted at a node u is the ratio of the combined cost of all edges in that subtree plus the

cost of an edge (v, u) connecting u with its parent v to the total prize value in T,. Let us

denote this ratio by R(u)

R(u) = .(u) + cUH(u)

Given a tree T and a target quota value Q, our pruning heuristic repeatedly prunes

away subtrees of T with the largest cost-prize ratio until no vertices can be removed without

bringing the total prize value H of the remaining tree below quota value Q.

QUOTA-PRUNE(T, Q)

1 sort all subtrees T, on their cost-prize ratio R(u)

2 for each Tu in decreasing order of R(u)

3 do if H(T) - H(Tu) > Q

4 then prune T. from T: T +- T - Tu

5 update R(v) for each v on the path u -+ root

We can think of this approach as an extension of strong pruning - components whose

net worth is less than the cost of the edge attaching them to the rest of the tree have the

highest cost-prize ratios and will be removed first.

The running time of this heuristic is O(n 2 log n) in the worst case, where n is the number

of nodes in the tree from which we start. Notice that it is bounded by the total number of

nodes in the original graph. Initial ratios can be computed recursively in one pass over the

tree in linear time and then inserted into a heap in O(n log n) time. In each iteration O(n)

elements of the heap have to be updated or deleted. There can be at most n - 1 iterations,

since in every iteration at least one element is removed from the heap.

58

Page 59: The Prize Collecting Steiner Tree Problem

4.3.4 Heuristics for the Budget problem

The (5+c)-approximation algorithm for the Budget PCST presented in the previous section,

solves the problem indirectly by repeatedly solving the Quota problem for different target

prize values. Instead, we can apply the prize-multiplier heuristic directly to get a solution

for the Budget PCST, similar to the way we used for the Quota problem.

In this case, given a budget value B and a small fixed E > 0, we run the GW-algorithm

with a series of multipliers, performing binary search on the edge cost of the trees produced.

Once we find a multiplier M such that the tree T, generated with a multiplier 1 has cost

at most B while the tree T,(l+E) generated with multiplier p(1 + c) costs more than B, we

output the tree for T,.

If there is a significant gap in the amount of prize contained in T. and T,(+,), one

might want to try to find a tree intermediate between the two trees. Once again a pruning

heuristic similar to quota pruning can be used. In this case, we take the tree T,(,+,) and

prune away subtrees with high cost-prize ratio until the remaining tree's cost drops to or

below the budgeted amount B.

BUDGET-PRUNE(T, B)

1 sort all subtrees T on their cost-prize ratio R(u)

2 for each Tu in decreasing order of R(u)

3 do v +- parent(u)

4 if C(T) - (C(Tu) +cuv) > B

5 then prune Tu from T: T +- T - Tu

6 update R(v) for each v on the path u --+ root

7 else break cycle

8 > set of all subtrees whose removal drops edge cost to B

9 S +- {Tuju E T,C(T) - (C(Tu) +cu,) < B}

10 pick Tu E S with min H(Tu)

11 prune Tu from T: T +- T - Tu

Notice that we are careful in picking the last subtree to remove - among all subtrees

whose removal would bring the edge cost to be within the budget, we pick the one that

contains the least amount of prize, so as to maximize the total prize left in the tree.

59

Page 60: The Prize Collecting Steiner Tree Problem

Chapter 5

Experimental Results for the

Prize-Multiplier Approach

5.1 Cost/Prize Tradeoff

In trying to understand the performance of the prize-multiplier approach, a natural object

to study is the "tradeoff curve" obtained by plotting the (prize, cost) pairs (original, not

multiplied prizes) obtained for various multiplier values p. Figure 5-1 illustrates such a

curve for one of our street map instances. This curve was obtained using the rooted growth

phase with GW-pruning plus MST-postprocessing, with p increasing from 0.2 to 8.469 by

factors of 1.01. (In the remainder of this chapter, we concentrate for specificity on the

rooted version of the problem.) Note that no trees were found between the empty one

consisting only of the 0-prize root, and the one that contains 28.7% of the total prize. Such

an initial gap is a common phenomenon for instances like ours with most vertices having

prize 0, but note that unless our quota was in that gap, we would likely be happy to settle

for the tree of lowest cost that contains enough prize, without resorting to the complicated

heuristic Garg invokes to find an intermediate tree.

For big gaps like the initial one, we can use QUOTA-PRUNE with the desired target quota

value (as described in Section 4.3.3). Figure 5-2 shows the result of using this approach for

multiple quotas so as to fill in the early gaps in the tradeoff curve of Figure 5-1. We used

evenly separated target prize values designed to obtain points every 1% or so. Note that

for each gap in the original curve, the interpolated points do not rise substantially above

60

Page 61: The Prize Collecting Steiner Tree Problem

Montgomery County, MD

40 60Per Cent of Prize Obtained

Figure 5-1: Tradeoffs between cost and prize obtained by varying the prize-multiplier.

61

700 k

600 -

500

4000,00DCD)

I/

300 k

200 -

I

100

100

00 20 80

I i I I

+4w

I I I I

Page 62: The Prize Collecting Steiner Tree Problem

Montgomery County, MD

0L

++

+

+

+

10 20Per Cent of Prize

Figure 5-2: Interpolating into the gaps of the prize/costgreedy pruning.

30Obtained

40 50

tradeoff curve of Figure 5-1 using

62

140

120 k-

++

±-I-

100 1-

+4

4+

+

+

801-0,0

w 60 -

40

20+

+

+

4.

00

I , I I

'I 'I 'I '

Page 63: The Prize Collecting Steiner Tree Problem

the straight lines linking the data points at the top and bottom of the gap. Even better

results can often be obtained for a given quota by greedily pruning from several different

trees above the gap, and taking the best result. One also gets reasonable results even if one

generates the initial tradeoff curve using a larger growth factor for A than the factor of 1.01

used here (thus computing fewer points and saving considerable computation time). An

analogous pruning approach also appears to work well for the Budget problem. Note that,

for our application, the tradeoff curve itself may well be of more value than the solution to

any particular instance of the Budget or Quota problem, since network planning typically

has to optimize over a range of possibilities.

5.2 Nonmonotonicities in the tradeoff curves

Moreover, the curve turns out to be a fascinating subject of study in its own right, providing

many surprises. For instance, although Figure 5-1 provides what appears to be a nicely

monotonic curve, this is not always the case: for some instances, certain values of A can

produce trees that are totally dominated by others, i.e, have less prize and yet cost more.

Indeed, a closer inspection of seemingly monotonic tradeoff curve of Figure 5-1 shows that

even it is riddled with such nonmonotonicities. See Figure 5-3.

This phenomenon is caused by the nonmonotonic behavior of the GW-algorithm. In

Section 4.3.2 we provided a few artificial examples, in which increasing the prize multiplier

p caused the GW-algorithm to actually exclude some vertices previously in a solution,

resulting in the decrease of the prize value of the solution. Our experiments demonstrate

that such behavior is not uncommon in practice. It is especially noticeable under the strong

pruning and occasionally present under the GW-pruning. See Figure 5-4, which tracks the

percentage of prize obtained as function of p under rooted growth for both GW-pruning

and strong pruning. Nonmonotonicities clearly occur frequently in the strong pruning curve.

There are also a few in the curve for GW-pruning, although it is difficult to see them at

this level of resolution.

5.3 Comparing tradeoff curves

For a given multiplier /p, strong pruning typically results in significantly less prize than does

GW-pruning (as well as substantially less edge cost.) Thus it is hard to guess, a priori,

63

Page 64: The Prize Collecting Steiner Tree Problem

Montgomery County, MD

C'j00 -C,%j

(Dl- -C~j

++

++

+

+

+

+

++

+

+

+

+

+

++

I I I I I I

74.0 74.2 74.4 74.6 74.8 75.0

PERCENT OF TOTAL PRIZE OBTAINED

Figure 5-3: Closeup of the tradeoff curve of Figure 5-1 showing nonmonotonicities.

64

0

C\I

I-C)0

0aw

Page 65: The Prize Collecting Steiner Tree Problem

Montgomery County, MD100

80

60 -0a)

N

CIL 40 - 10

20

40 x

strong pruning +GW pruning x

0 1: l 10 0.2 0.4 0.6 0.8 1

Prize Multiplier

Figure 5-4: Percentage of prize obtained as a function of prize multiplier, both for GWpruning and strong pruning. Note the obvious nonmonotonicities in the latter curve. Thereare 3 nonmonotonicities in the GW pruning curve as well. Note that for a given prizemultiplier M, GW-pruning obtains a significantly higher proportion of the prize.

65

Page 66: The Prize Collecting Steiner Tree Problem

Montgomery County, MD

+

+ x/

++

+ ~

x

x

4-

+

+

+

+ x

strong pruningGW pruning-x

+x

59Per Cent of

61Prize

63Obtained

Figure 5-5: Close up of the tradeoff curves under strong pruning and GW pruning. Note

that GW-pruning provides a distinctly better tradeoff curve than does strong pruning.

66

220

215

210

205

U')0

0a>)CD

-0w

200

195

190

185

180

x

+ x

57 65II

I I I

x

Page 67: The Prize Collecting Steiner Tree Problem

whether the two methods yield the same- curves or, if not, which one yields the better

curve. Surprisingly, GW-pruning typically turns out to be the winner, despite the fact that

it is handily outperformed by strong pruning on the GW-minimization problem for which

it was originally designed. As a consequence of being more conservative, the GW-pruning

typically produces tradeoff curves with smaller gaps (especially the initial one) than the

ones yielded the strong pruning. Moreover, for a given target prize value, a feasible solution

produced with the GW-pruning usually costs less than the corresponding solution obtained

with strong pruning. Figure 5-5 provides a closeup of the portions of two curves, in which

the advantage of GW-pruning is clearly visible.

In order to confirm the existence of a consistent GW-pruning advantage, we need a way

of making quantitative comparisons between tradeoff curves. Note that our "curves" are

really just sets S of solutions. For a given set of solutions S and an x E [0, 1], let Cs(x)

be the minimum cost of a solution in S that contains at least x times the total prize. This

makes Cs a step function. A closeup of the step functions for a tradeoff curve generated with

GW-pruning is illustrated in Figure 5-6. Notice big steps in the function obtained using

only the original "raw" tradeoff data. The steps are much smaller once we use data points

obtained by filling in the gaps with the quota pruning heuristic described in Section 4.3.3.

Suppose we make a request for a random amount of prize, the amount chosen uniformly

between 0 and the total available prize. Then the expected cost E[S] that we will pay,

given that we are using S for our tradeoff curve, is E[S] = fo Cs(x)dx, and this seems a

plausible figure of merit for such a curve. We can easily compute this integral measure for

any data set, since Cs(x) is a step function. Note that filling the gaps in the curve using

the QUOTA-PRUNE heuristic should lower E[S] (see Figure 5-6), as should generating more

points in the first place using a smaller growth factor J = 1 + E.

5.3.1 Improvements due to interpolation

Let Sw and 56 be the sets of tradeoff points generated by GW-pruning and strong

pruning when the multiplier growth factor is 3. Let IS and ISip be the corresponding

"interpolated" point-sets obtained by using our quota pruning heuristic to fill all gaps larger

than 1% of the total prize. Presented in Table 5.1 are the percentage improvements in the

integral measure of IS6 over S6 for both GW and strong pruning. For the streetmap

instances, improvements are typically larger for the strong pruning curves, with the average

67

Page 68: The Prize Collecting Steiner Tree Problem

Montgomery County, MD

140 -

120

100

ri4 ~

+

4-4-

:4

'4.

i-i-

+4-A-

* r

80 -

601

4 0 k ------------- #'I..-r

-1-

-r1~

1~

I I

0 10 20Per Cent of Prize

30Obtained

Figure 5-6: The step function for the raw and interpolated cost/prize tradeoff curves.

68

4-00

0)-)VU

40 50

I I I

20

II I I

Page 69: The Prize Collecting Steiner Tree Problem

Streetmap graphs Interpolation Comparing 36 = 1.1 3 = 1.01 1.1 vs 1.01

GW Strong GW Strong GW Strong

County Pruning Pruning Pruning Pruning Pruning Pruning

Cook IL 2.32% 3.36% 0.41% 1.00% 4.00% 4.01%

Dallas TX 3.18% 3.30% 0.90% 1.04% 4.05% 3.79%

Wayne MI 6.16% 6.00% 3.26% 1.94% 4.62% 5.74%

King WA 6.53% 5.44% 3.61% 2.50% 4.41% 4.35%

Suffolk NY 9.18% 11.18% 8.01% 7.45% 2.79% 5.81%

Nassau NY 6.10% 15.66% 1.24% 6.59% 6.16% 6.86%

Oakland MI 2.23% 4.40% 0.60% 1.26% 3.82% 5.39%

Franklin OH 2.71% 3.23% 0.69% 0.91% 3.62% 3.75%

Duval FL 3.69% 6.46% 1.20% 3.01% 4.33% 5.64%

Jefferson KY 2.74% 3.55% 0.47% 0.63% 3.96% 4.40%

Montgomery MD 5.24% 6.96% 1.74% 4.66% 5.24% 3.78%

San Mateo CA 7.50% 8.34% 3.07% 3.19% 4.41% 4.92%

Random graphs Interpolation Comparing 66 = 1.1 6 =1.01 1.1 vs 1.01

GW Strong GW Strong GW Strong

Type Vertices Pruning I Pruning Pruning Pruning Pruning Pruning

Geometric 100400

1,6006,400

Unstructured 100400

1,6006.400

5.97%6.94%8.63%1.63%3.74%4.88%

4.89 %-' U L ______ J ______ - ______ -

20.23%21.50%14.74%11.97%17.99%

7.77%4.44%2.87%

16.23%18.97%15.24%16.57%11.73%7.03%6.26%2.81%

15.35%14.85%9.38%7.43%9.14%3.27%1.59%0.29%

Table 5.1: Comparison of the raw and interpolated tradeoff curves and of curves obtained

with two different multiplier growth factors 6, expressed as percentage improvements in the

step function integral.

69

'IH-

1. 18%5

5.56%7.30%

11.23%3.45%4.70%5.00%5.04%

19.94%16.69%9.27%5.02%

16.53%4.73%1.24%0.17%

Page 70: The Prize Collecting Steiner Tree Problem

improvement of E[IS'4] over E[Si4] at 6.5%, compared to 4.8% for the GW-pruning.

Notice that the percentage improvements decrease for the tradeoff curves generated with

the smaller multiplier growth factor 6 = 1.01.

The percentage improvements for the random geometric instances decrease more as

a function of the number of vertices, with the numbers ranging from 20% for 100-node

instances to 5% for 6,400-node instances. This effect is even more pronounced for the

random unstructured graphs. Interestingly enough, for smaller 100- and 400-node instances

in both classes of random graphs, the effects of interpolation are stronger for the GW-

pruning than for the strong pruning, with the trend reversing for 6,400-node instances. We

will look at this phenomenon in more detail a little bit later.

5.3.2 Improvements due to varying multiplier growth factor.

Table 5.1 summarizes statistics for another way of improving the tradeoff curves - gen-

erating more points by using a smaller growth factor 6. For the streetmap instances, the

improvements are about the same for the GW-pruning and the strong pruning, with average

improvement of E[Sg] over E[S'v] at 4.41%, and the average improvement of E[Si']

over E[Si4] at 4.92%. For the random graphs, improvements increase as a function of the

number of nodes both for the geometric and unstructured instances. This suggests that

points to the discreteness of the GW-algorithm: it can add on only discrete chunks of prize

contained in entire components, resulting in gaps in the tradeoff curves. This situation

cannot be rectified by varying prize multiplier even slower. Thus, it seems that for graphs

of small size, using our quota pruning heuristic is the most effective way to fill in the large

gaps. Although for graphs of larger size (over 5,000), overall improvements obtained with

interpolation are comparable to the improvements due to the smaller growth factor, the for-

mer is still indispensable for filling in initial large gaps which are smaller but still common

when the latter approach is used.

5.3.3 GW-pruning advantage.

In order to test whether there exists a widespread GW-pruning advantage, we have com-

pared integral measures of the tradeoff curves (both raw and interpolated) generated with

values of 6 = 1.1 and 6 = 1.01. The Table 5.2 summarizes the comparison statistics. For

our streetmap instances, E[S'1] < E[S '] for 11 of the 12 instances, with an average gap

70

Page 71: The Prize Collecting Steiner Tree Problem

Streetmap graphs Multiplier growth factor3 = 1.1 6 = 1.01

Type Vertices Raw Interpolated Raw Interpolated

Geometric 100 -5.05% 0.35% -5.85% 0.15%400 -1.79% 2.07% -1.37% 1.51%1600 1.98% 1.52% 1.76% 1.74%

6400 7.75% 2.68% 5.03% 2.58%

Unstructured 100 -7.65% 0.49% -9.88% -0.14%

400 -0.51% 0.32% -1.56% 0.05%1600 0.04% -2.06% -0.09% -0.45%

6400 0.22% 0.27% 0.06% -0.05%

Table 5.2: Comparison of the tradeoff curves, expressed as percentage differences between

the step function integrals of the strong pruning and GW-pruning tradeoff curves. Posi-

tive numbers indicate GW-pruning advantage, negative numbers indicate strong pruning

advantage.

71

Streetmap graphs Multiplier growth factor3 = 1.1 6 = 1.01

County Raw Interpolated Raw Interpolated

Cook IL 2.44% 1.39% 2.43% 1.86%Dallas TX 1.63% 1.50% 1.90% 1.77%Wayne MI 2.47% 2.63% 1.31% 2.63%

King WA -0.06% 1.09% -0.00% 1.14%

Suffolk NY 4.15% 1.98% 1.08% 1.69%

Nassau NY 4.82% -5.97% 4.11% -1.38%Oakland MI 3.65% 1.47% 2.06% 1.41%

Franklin OH 1.78% 1.25% 1.65% 1.43%

Duval FL 4.32% 1.48% 2.99% 1.19%Jefferson KY 1.25% 0.41% 0.79% 0.63%

Montgomery MD 3.63% 1.85% 5.08% 2.18%

San Mateo CA 0.39% -0.53% 0.76% 0.64%

Page 72: The Prize Collecting Steiner Tree Problem

of 2.8%. For 10 of the 12, we had E[ISGy] < E[ISg4], with an average gap of 1.5%. We

get similar gaps for the raw and interpolated curves generated with J = 1.01.

For 8 of the 11 random geometric instances of size 1600, we have E[Sow1 <E[Sip) both

for 6 = 1.1 and 6 = 1.01, with the average gaps shown in the Table 5.2. For the interpolated

tradeoff curves, GW-pruning was better for all 11 instances and both choices of 6. GW-

pruning also outperformed the strong pruning on all 5 of our 6400-vertex geometric graphs,

both before and after interpolation.

However, with smaller geometric and all of unstructured random instances the picture

is less clear. Strong pruning seems to be winning on the raw tradeoff curves for 100- and

400-node random graphs. But GW-pruning seems to get better or comparable results on the

interpolated curves. This can be attributed to the sparsity of the tradeoff curves obtained

for these small instances. Demonstrated in Figure 5-7 is an example of a small random

geometric instance, for which strong pruning provides a better tradeoff curve than does

GW-pruning. The two pruning techniques produced solutions with mostly similar prizes

and edge costs. However the presence of few strong pruning points in a couple of big gaps

results in the strong pruning advantage. Interpolating into these gaps is bound to take that

advantage away.

72

Page 73: The Prize Collecting Steiner Tree Problem

700000400 Node Random Geometric Graph

600000 I-

500000

400000

300000

200000 I-

100000 H*

x GWstrongx

40Per Cent of

60Prize Obtained

Figure 5-7: The sparse tradeoff curves under strong pruning and GW pruning. Note thatstrong pruning provides a better tradeoff curve than does GW-pruning for this instance.This is due to an essentially random point in a big gap.

73

--CD)0

w

+

±

x

xF

0 20

pruningprunin?

+x

80 100

I I

I I

Page 74: The Prize Collecting Steiner Tree Problem

Bibliography

[1] S. Arora and G. Karakostas. A 2+ e approximation algorithm for the k-mst problem.

In 11th Annual ACM-SIAM Symp. on Discrete Algorithms, pages 754-759, 2000.

[2] S. Arya and H. Ramesh. A 2.5 approximation algorithm for the k-mst problem. Infor-

mation Processing Lett., 65:117-118, 1998.

[3] E. Balas. The prize-collecting traveling salesman problem. Networks, 19:621-636, 1989.

[4] J. E. Beasley. Or-library: Distributing test problems by electronic mail. J. Oper. Res.

Soc., 41:1069-1072, 1990. Web page: mscmga.ms. ic. ac.uk/inf o.html.

[5] D. Bienstock, M.X. Goemans, D. Simchi-Levi, and D. Williamson. A note on the prize

collecting traveling salesman problem. Mathematical Programming, 59:413-420, 1993.

[6] A. Blum, R. Ravi, and S. Vempala. A constant factor approximation algorithm for the

k-mst problem. In 28th Annual Symp. on Theory of Computing, pages 442-448, 1996.

[7] S. A. Canuto, C. C. Ribeiro, and M. G. C. Resende. Local search with perturbations

for the prize-collecting steiner tree problem. In Third Metaheuristics Inernational

Conference (Extended Abstracts), pages 115-119, Catholic University of Rio de Janeiro,

1999.

[8] J. Feigenbaum, C. Papapdimitriou, and S. Shenker. Sharing the cost of multicast

transmissions. In 32nd Annual A CM Symp. on Theory of Computing, 2000. To appear.

[9] N. Garg. A 3-approximatiion for the minimum tree spanning k vertices. In 37th Annual

IEEE Symp. on Foundations of Comp. Science, pages 302-309, 1996.

[10] M.X. Goemans and D.P. Williamson. A general approximation technique for con-

strained forest problems. SIAM J. Comput., 24:296-317, 1995.

74

Page 75: The Prize Collecting Steiner Tree Problem

[11] M.X. Goemans and D.P. Williamson. The primal-dual method for approximation

algorithms and its application to network design problems. In D. S. Hochbaum, editor,

Approximation Algorithms for NP-Hard Problems, pages 144-191. PWS Publishing

Company, Boston, 1997.

[12] David S. Johnson, Maria Minkoff, and Steven Phillips. The prize collecting steiner

tree problem: Theory and practice. In 11th Annual ACM-SIAM Symp. on Discrete

Algorithms, pages 760-769, 2000.

[13] A. Lucena and M. G. C. Resende. Strong lower bounds for the prize collecting steiner

problem in graphs. Technical Report 00.3.1, AT&T Labs Research, 2000.

[14] R. Ravi, R. Sundaram, M. Marathe, D. Rosenkrantz, and S. Ravi. Spanning trees short

and small. In 4th Annual A CM-SIAM Symp. on Discrete Algorithms, 1993.

[15] M. G. C. Resende, 1999. Personal communication.

[16] A. Segev. The node-weighted steiner tree problem. Networks, 17:1-17, 1987.

75