Download presentation
Presentation is loading. Please wait.
Published byJoella Paul Modified over 6 years ago
1
Approximation Algorithms for Min-cost Chain-Constrained Spanning Trees
Chaitanya Swamy University of Waterloo Joint work with Andre Linhares
2
RECALL: MST problem G=(V, E) n=|V|, m=|E| edge costs {ce ≥ 0} c(T) MST problem: find spanning tree T to minimize ∑eT ce
3
RECALL: MST problem G=(V, E) n=|V|, m=|E| edge costs {ce ≥ 0} c(T) MST problem: find spanning tree T to minimize ∑eT ce Well-understood: various polynomial time algorithms, nice polyhedral characterization Interested in constrained MST problems: find a min-cost spanning tree satisfying additional packing constraints
4
Constrained MST problems
Will focus on degree constraints (in various flavors) Min {c(T): T is spanning tree, degT(v) ≤ bv for all v} Degree-bounded MST: NP-hard to satisfy degree-bounds exactly Can efficiently deduce infeasibility Or find T with c(T) ≤ OPT, And (Goemans06) degT(v) ≤ bv+2 v (LP rounding using matroid inters’n.) (Singh-Lau07) degT(v) ≤ bv+1 v (iterative rounding + relaxation) Good understanding of how to handle node-degree constraints More generally, what about “degree” constraints on cuts? Min {c(T): T is spanning tree, degT(S) ≤ bS for all SC } This is the kind of problem that crops up in finding thin trees (C = 2V) no. of edges of T crossing S V collection of node-sets
5
Constrained MST (contd.)
No known algorithm that: if problem is feasible, finds T with c(T) = O(OPT) And degT(S) = O(bS) SC (for any C where edges participate in non-constant # of degree constraints) What about “degree” constraints on cuts? Min {c(T): T is spanning tree, degT(S) ≤ bS for all SC } Very limited understanding: don’t know how to effectively leverage techniques used to handle node-degrees Can determine infeasibility Or find T with c(T) ≤ OPT, And (BKN08) degT(S) ≤ bS+r-1 SC r = maxe (# of degree constr. containing e) (CVZ10, AGMOS10) degT(S) ≤ min {O( )bS , (1+)bS + O( )} SC (BKKNP10) degT(S) ≤ bS + O(log n) SC if C is laminar If C is a nested collection of sets (chain), then (OZ13) show: one can determine infeasibility Or find T with degT(S) = O(bS) SC But: there is no bound on c(T) Our result: Give an algorithm providing the above guarantees when C is a chain log |C| log log |C| log |C| e S, TC, ST= or S T or T S
6
Chain-constrained spanning trees
G=(V, E), edge costs {ce} Nested family (chain) of sets C: S1 S2 … Sk S1
7
Chain-constrained spanning trees
G=(V, E), edge costs {ce} Nested family (chain) of sets C: S1 S2 … Sk Degree bounds {bS }SC S1 1 1 2 2 Chain-constrained spanning tree problem: Min {c(T): T spanning tree, degT(S) ≤ bS for all SC }
8
Chain-constrained spanning trees
G=(V, E), edge costs {ce} Nested family (chain) of sets C: S1 S2 … Sk Degree bounds {bS }SC S1 1 1 2 2 Chain-constrained spanning tree problem: Min {c(T): T spanning tree, degT(S) ≤ bS for all SC } Our result: Polytime algorithm that detects infeasibility Or returns T with c(T) = O(OPT) And degT(S) = O(bS) SC an (O(1), O(1))-approximation
9
Our results Devise (O(1), O(1))-approximation algorithm for min-cost chain-constrained spanning tree (CCST) First algorithm to give O(1) approx. to Both cost and degrees (OZ13: c s.t. NP-hard to obtain additive c approx.) Use Lagrangian-relaxation in a novel way to simplify cost structure and obtain collection of unweighted problems Technique applicable to a larger class of problems cost approximation degree-bound violation log n log log n
10
Our results (contd.) Consider the following general problem:
Min cTx s.t. x is an extreme point of P, Ax ≤ b (QP) Generalizes min-cost chain-constrained spanning tree P: spanning-tree polytope, Ax ≤ b: degree constraints We show that, under certain assumptions: O(1)-approx. for (O(1), O(1))-approx. for (QP) unweighted (QP) Two-sided O(1)-approx. (1, O(1))-approx. for (QP) for unweighted (QP) returns extreme point x of P s.t. Ax ≤ O(1)b (no bound on cTx)
11
Our results (contd.) Consider the following general problem:
Min cTx s.t. x is an extreme point of P, Ax ≤ b (QP) We show that, under certain assumptions: O(1)-approx. for (O(1), O(1))-approx. for (QP) unweighted (QP) Two-sided O(1)-approx. (1, O(1))-approx. for (QP) for unweighted (QP) Application to k-budgeted matroid basis: Obtain randomized nO(k1.5/e)-time (1,1+e,…,1+e)-approx. using randomized algorithm of (BN15) Get both improved approx. guarantee of (GRSZ14), and improved running time of (BN15)
12
LP-relaxation for min-cost CCST
d(S) = boundary of set S = {(u,v)E: exactly one of u, v is in S} E(S) = edges with both ends in S = {(u,v)E: both u, v are in S} xe : indicates if edge e lies in the spanning tree For F E, use x(F) to denote ∑eÎF xe Minimize ∑e ce xe (P) subject to, x(E(S)) ≤ |S|-1 for all ≠S V x(E) = n-1 x ≥ 0 x(d(S)) ≤ bS for all SC. (*) Can efficiently compute optimal solution x* to (P) Let OPT = optimal value of (P) Call a vector x satisfying (*), a fractional spanning tree
13
Rounding algorithm ingredients
Tight spanning tree constraints Let L = maximal laminar family of sets from {S: x*(E(S))=|S|-1} So L contains E, singletons {v} for all vV (Will always use L to denote set in L, S to denote set in C) Assume E is support of x* L sets in L Let GL = (V, EL) be graph obtained from (L, E(L)) by contracting children of L
14
Rounding algorithm ingredients
Tight spanning tree constraints Let L = maximal laminar family of sets from {S: x*(E(S))=|S|-1} So L contains E, singletons {v} for all vV (Will always use L to denote set in L, S to denote set in C) Assume E is support of x* sets in L children of L L Let GL = (V, EL) be graph obtained from (L, E(L)) by contracting children of L
15
Rounding algorithm ingredients
Tight spanning tree constraints Let L = maximal laminar family of sets from {S: x*(E(S))=|S|-1} So L contains E, singletons {v} for all vV (Will always use L to denote set in L, S to denote set in C) Assume E is support of x* sets in L children of L L Let GL = (V, EL) be graph obtained from (L, E(L)) by contracting children of L For all L, x*L := (x*e)eEL is a fractional spanning tree of GL Build spanning tree of G by combining spanning trees of all GL’s
16
Rounding algorithm ingredients
Let L = maximal laminar family of sets from {S: x*(E(S))=|S|-1} sets in L children of L L Let GL = (V, EL) be graph obtained from (L, E(L)) by contracting children of L For all L, x*L := (x*e)eEL is a fractional spanning tree of GL Build spanning tree of G by combining spanning trees of GL’s Theorem (OZ13): For every L, can find spanning tree TL of GL s.t. if T = combination of TL’s, then degT(S) = O(x*(d(S))) SC. Based on modifying x*L to satisfy certain property (rainbow-freeness) Can cost of fractional tree arbitrarily, unless we have uniform costs
17
Rounding algorithm ingredients
Let L = maximal laminar family of sets from {S: x*(E(S))=|S|-1} sets in L children of L L Let GL = (V, EL) be graph obtained from (L, E(L)) by contracting children of L Theorem (OZ13): For every L, can find spanning tree TL of GL s.t. if T = combination of TL’s, then degT(S) = O(x*(d(S))) SC. Observation: OZ13 gives low-cost tree if, for all L, all edges in EL have equal cost (weaker than: all edges in E have equal costs) Key insight: Can equalize costs in EL by perturbing costs using optimal values of dual vars. corresponding to degree constr. But this also seems rather special !
18
Equalizing costs in EL Minimize ∑e ce xe (P)
subject to, x(E(S)) ≤ |S|-1 for all ≠S V x(E) = n-1 x ≥ 0 x(d(S)) ≤ bS for all SC. (ST) y*S ≥ 0: opt. value of dual variable Define cy*e = ce + ∑SC: ed(S) y*S Key Lemma: For all LL, for all e, fEL, we have cy*e = cy*f Proof: By complementary slackness, ce = (Dual contribution to e from (ST)) – ∑SC: ed(S) y*S cf = (Dual contribution to f from (ST)) – ∑SC: fd(S) y*S But e, f belong to same sets of laminar family L incur same dual contribution from spanning tree constraints, so cy*e = cy*f .
19
Putting everything together
Algorithm (almost) Solve (P) and its dual to get x* and (y*S) SC . Define laminar family L, use OZ13 to find spanning tree TL of GL for each LL; return T = combination of TL’s. Analysis: By OZ13, have degT(S) = O(x*(d(S)) = O(bS) Define cy*e = ce + ∑SC: ed(S) y*S for all e in support(x*). For every L, all edges in EL have same cy*-cost, so cy*(TL) = ∑eEL cy*e x*e c(T) ≤ cy*(T) = ∑eE cy*e x*e = OPT + ∑SC bSy*S Problem: ∑SC bSy*S may be >> OPT Fix: Start with slightly inflated degree bounds (e.g., 2bS)
20
Putting everything together
with degree bounds (2bS)SC Algorithm (almost) Solve (P) and its dual to get x* and (y*S) SC . Define laminar family L, use OZ13 to find spanning tree TL of GL for each LL; return T = combination of TL’s. Analysis: By OZ13, have degT(S) = O(x*(d(S)) = O(bS) O(2bS) Define cy*e = ce + ∑SC: ed(S) y*S for all e in support(x*). For every L, all edges in EL have same cy*-cost, so cy*(TL) = ∑eEL cy*e x*e c(T) ≤ cy*(T) = ∑eE cy*e x*e = ∑eE ce x*e + 2∑SC bSy*S Problem: ∑SC bSy*S may be >> OPT Fix: Start with slightly inflated degree bounds (e.g., 2bS) ≤ OPT ≤ 2.OPT
21
General reduction from weighted to unweighted problems
Min cTx s.t. x is an extreme point of P, Ax ≤ b (QP) How can we use an O(1)-approximation for unweighted (QP) to obtain approximation guarantees for (QP)? Key properties we utilize from OZ13-algorithm: approximation for unweighted problem preserves tight spanning-tree constraints Face-preserving rounding algorithm (FPRA): rounds xP to an extreme point x s.t. x minimal face of P containing x x x b-approximation FPRA: also A x ≤ bb (no guarantee on cost)
22
Reductions to unweighted (QP)
Theorem: Given a b-approximation FPRA for (QP), we can obtain a (l/(l-1), bl)-approximation for (QP) for any l > 1. Theorem: Suppose we have an FPRA for (QP) that rounds x to an extreme point x such that Ax/b ≤ A x ≤ bAx (2-sided multiplicative guarantee) Or Ax-D ≤ A x ≤ Ax+D (2-sided additive guarantee) Then, there exists a (1, O(1))-approximation for (QP).
23
Why is an FPRA useful? P x ∗ : optimal solution to
Min cTx s.t. x P, Ax ≤ b y*: optimal dual values corresp. to side constraints Ax ≤ b x ∗ Then y* is an optimal solution to Lagrangian problem: Max { –bTy + [min (c + ATy)Tx s.t. x P ] : y ≥ 0 } And x* is optimal solution to inner problem: min (cy*)Tx s.t. x P cy
24
Why is an FPRA useful? P x ∗ : optimal solution to
Min cTx s.t. x P, Ax ≤ b y*: optimal dual values corresp. to side constraints Ax ≤ b x ∗ Then y* is an optimal solution to Lagrangian problem: Max { –bTy + [min (c + ATy)Tx s.t. x P ] : y ≥ 0 } And x* is optimal solution to inner problem: min (cy*)Tx s.t. x P
25
Why is an FPRA useful? P x ∗ : optimal solution to
Min cTx s.t. x P, Ax ≤ b y*: optimal dual values corresp. to side constraints Ax ≤ b x ∗ Then y* is an optimal solution to Lagrangian problem: Max { –bTy + [min (c + ATy)Tx s.t. x P ] : y ≥ 0 } And x* is optimal solution to inner problem: min (cy*)Tx s.t. x P all points on minimal face of P containing x* are optimal solutions to inner problem essentially unweighted problem output of FPRA has optimal cy*-cost ( = (cy*)Tx* )
26
Summary and open questions
Devise the first algorithm for chain-constrained spanning tree that gives O(1)-approx. to both cost and degrees Use Lagrangian relaxation in an unorthodox way to obtain a novel reduction to the unweighted setting Open questions What about the laminar case (i.e., C is laminar)? The reduction still works, so can focus on unweighted setting What about chain degree-constraints for other connectivity problems (e.g., Steiner forest etc.)? Other applications of our reduction? Iterative rounding/relaxation based algorithms? Not clear how to make this work even for chains.
27
Thank You
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.