Variations of the Prize- Collecting Steiner Tree Problem

Download Report

Transcript Variations of the Prize- Collecting Steiner Tree Problem

Variations of the PrizeCollecting Steiner Tree
Problem
Olena Chapovska and Abraham P. Punnen
Networks 2006
Reporter: Cheng-Chung Li
2006/08/28
Outline
Introduction
Polynomial Algorithms
A linear Algorithm for P(4)
NP-Hard Problems
Conclusion
16
2
Introduction to PCSTP
Let G be an undirected graph with node set V(G) and
edge set E(G)
Let F be the family of all trees in G
For each edge eE(G), a nonnegative cost ce is
prescribed; for each node iV(G), a nonnegative
weight wi is also prescribed
Then the prize collecting Steiner tree problem(PCSTP)
is to
– Minimize
c
eE (T )
e

w
iV (T )
i
1
– Subject to TF
2
PCSTP=10
3
4
16
3
About PCSTP
PCSTP has applications in the design of fiber-optic
networks
PCSTP was first considered by Goemans and Williamson
in 1995
If wi=M, a large number for all iV(G), PCSTP reduces to
the minimum spanning tree
However, PCSTP in general is NP-hard, since the Steiner
tree problem is a particular case of it
Some people developed polynomial time approximation
algorithms to solve PCSTP with guaranteed performance
bound
16
4
In This Paper
O(m+nlogn)
f1 (T )  max {ce } 
The paper considers seven
new variations of the
PCSTP. The ith problem
P(i), 1i7, in this class
can be defined as
eE (T )
w
iV (T )
i
f 2 (T )  max {ce }  max {wi }
eE (T )
iV (T )


f 3 (T )  max max {ce },  wi 
iV (T )
 eE (T )



f 4 (T )  max max {ce }, max {wi }
iV (T )
 eE (T )

f 5 (T )   ce  max {wi }
– P(i): Minimize fi(T)
– Subject to TF
eE (T )
The objective function of
problems P(1) to P(7) can
be given as follows:
iV (T )


f 6 (T )  max   ce ,  wi 
eE (T ) iV (T ) 


f 7 (T )  max   ce , max {wi }
eE (T ) iV (T )

NP-hard
16
5
Related to Other Problems
If wi=M, for all iV(G), P(1), P(2), P(3),
and P(4) reduce to the bottleneck spanning
tree problem(BSP)
Let V*V(G) be a set of prescribed nodes
in G. Choose wi=M for all iV* and wi=0
for all iV(G)\V*, P(1), P(2), P(3), and P(4)
reduce to the bottleneck Steiner tree
problem(BSTP)
16
6
Polynomial Algorithms
Let S be a subtree of V(G) and T be a spanning
tree of G. A subtree T’ of T is said to be cover S if
SV(T’). A subtree T’’ of T that covers S is
minimal, if there is no subtree T’’’ of T that covers
S such that V(T’’’)V(T’’)
Let T0 be a tree in G containing at least one edge
and T* be a minimal spanning tree of G. Let T^ be
a minimal subtree of T* that covers V(T0). Note
that V(T0)V(T^) and V(T^)\V(T0) may or may
not be empty
16
7
Polynomial Algorithms
Lemma 1: maxeT0{ce}maxeT^ {ce}
– Choose an edge edT^ such that ced= maxeT^
{ce}, if edT0, the result follows immediately.
– Otherwise, let P[a,b](respectively, [a,b]) be
the unique path of node a, b in T^(respectively ,
T0). There exists two nodes u and v in V(T0)
such that edP[u,v] but ed[u,v], i.e.,
P[u,v][u,v]
P[u,v]
– So
u
v
[u,v]
16
8
Polynomial Algorithms
Theorem 2: Let T* be a minimum spanning tree of G. Then,
there exists an optimal solution to P(i), i=1,2,3,4 which is a
subtree of T*
– We first prove the case for i=1
– Suppose no subtree of T* is an optimal solution to P(1) and let T0
be an optimal solution to P(1). Let T^ be the minimal subtree of T*
covering V(T0). By lemma 1, maxeT0{ce}maxeT^ {ce}
– Because V(T0)V(T^) and wi0, sum_{i\nin V(T^0)}\geq
\sum_{i\nin V(T^0)}
– So, f1(T^)f1(T0) and hence, T^ is also an optimal solution to P(1).
This contradicts the fact that no subtree of T* is an optimal
solution to P(1)
– Also, V(G)/V(T^)  V(G)/V(T0), P(2), P(3), P(4) follows using
similar arguments.
16
9
Greedy Algorithm for P(1)
Let T* be a minimum spanning tree of G and
t1<t2<…<t|E| be an ascending arrangement of all
distinct edge costs of T*
Initially, consider isolated nodes as “current forest”
and designate it F*; Choose a node with largest
weight in T* and designate it as the “best solution
sofar”
Introduce the edges that cost t1<t2<…<t|E to F*,
update F* and the “best solution sofar”(if
necessary)
The process is continued until F* becomes T*
16
10
The Time Complexity of Algorithm
Once T* is given, the greedy algorithm can be
implemented in O(nlogn) using appropriate data structures.
Thus P(1) can be solved in O((m,n)+nlogn), where (m,n)
is the complexity of computing the minimum spanning tree
Note that a minimum spanning tree of G can be identified
in O(m+nlogn) time, and hence, P(1) can be solved in
O(m+nlogn) time.
Of course, it is possible to incorporate the above greedy
algorithm within the minimum spanning tree computations
itself, without explicitly computing a minimum spanning
tree first.
16
11
NP-hard Problems
Theorem P(5) and P(7) are NP-hard
– Let V’V(G). By choosing each nodes in V’
have weight M, and nodes in V(G)/V’ have
weight 0
– So, an optimal solution to P(5) solves the
Steiner tree problem on G and the Steiner tree
problem is NP-hard
– A similar proof can be given for the case of P(7)
16
12
NP-hard Problems
v1
vn
an
a1 v
0
a2
v2
Theorem P(6) is NP-hard
– We consider the PARTITION problem first: Given n
numbers a1,a2,…,an, the PARTITION problem is to find
a partition S1,S2 of {1,2,…n} such that
\sum_{jS1}aj=\sum{jS2}aj or declare that no such
partition exists
– It can be verified that optimal objective funcation value
of P(6) on this instance is ½ \sum_{i=1}^{n}ai
precisely when the required partition exists
– Because PARTITION is NP-hard, P(6) is NP-hard too
16
13
NP-hard Problems
Theorem P(1) and P(3) are NP-hard for
arbitrary node weights
100
1
10
-300
1
100
16
14
NP-hard Problems
W first consider P(1) and reduce the node-weighted Steiner
tree problem (NWSTP) to it. The NWSTP can be defined
as follows
– Let G’ be a graph and for each iG’ a weight xi is prescribed. Let
V’ be a given subset of V(G’). Then the NWSTP is to find a tree T’
in G’ with V’V(T’) such that \sum_{iV(T’)\V’}xi is minimized.
Choose G=G’ and wi=M for all iV’. Set c(e)=1 for all
eE(G) and wi=-xi for each iV(G)-V’. It can be verified
that an optimal solution to this instance of P(1) will solve
NWSTP
Using similar arguments, it can be shown that P(3) is NPhard for arbitrary node weights
16
15
Conclusion
P(1)~P(4), O(m+nlogn)
P(5)~P(7), NP-hard
In problems P(1) to P(7) if trees are replaced by st paths of G, the resulting problems are NP-hard. It
follows from the fact that by choosing wi=M for
all iV(G) where M is a large number, optimal s-t
paths are forced to include all nodes of G and
hence solving the Hamiltonian path problem on G
16
16