Variations of the Prize Collecting Steiner Tree Problem
Variations of the Prize. Collecting Steiner Tree Problem Olena Chapovska and Abraham P. Punnen Networks 2006 Reporter: Cheng-Chung Li 2006/08/28 16
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 1 2 PCSTP=10 3 – Subject to T F 4 16 3
About 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) The paper considers seven new variations of the PCSTP. The ith problem P(i), 1 i 7, in this class can be defined as – P(i): Minimize fi(T) – Subject to T F The objective function of problems P(1) to P(7) can be given as follows: 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 T 0 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(T 0). Note that V(T 0) V(T^) and V(T^)V(T 0) may or may not be empty 16 7
Polynomial Algorithms Lemma 1: maxe T 0{ce} maxe T^ {ce} – Choose an edge ed T^ such that ced= maxe T^ {ce}, if ed T 0, the result follows immediately. – Otherwise, let P[a, b](respectively, [a, b]) be the unique path of node a, b in T^(respectively , T 0). There exists two nodes u and v in V(T 0) such that ed P[u, v] but ed [u, v], i. e. , 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 T 0 be an optimal solution to P(1). Let T^ be the minimal subtree of T* covering V(T 0). By lemma 1, maxe T 0{ce} maxe T^ {ce} – Because V(T 0) V(T^) and wi 0, sum_{inin V(T^0)}geq sum_{inin V(T^0)} – So, f 1(T^) f 1(T 0) 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(T 0), 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 t 1<t 2<…<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 t 1<t 2<…<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 v 1 vn an a 1 v 0 a 2 v 2 Theorem P(6) is NP-hard – We consider the PARTITION problem first: Given n numbers a 1, a 2, …, an, the PARTITION problem is to find a partition S 1, S 2 of {1, 2, …n} such that sum_{j S 1}aj=sum{j S 2}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 s-t 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
- Slides: 16