Docstoc

Survivable Network Design with Degree or Order Constraints

Document Sample
Survivable Network Design with Degree or Order Constraints Powered By Docstoc
					   Iterative Rounding and
     Iterative Relaxation




Some of the slides prepared by Lap Chi Lau
                           Steiner Network

                    undirected or directed


    • A graph G = (V,E);

    • A connectivity requirement r(u,v) for each pair of vertices u,v.




Steiner Network
• A subgraph H of G which has r(u,v) disjoint paths between each pair u,v.




                   edge or vertex
              Examples of Steiner Network



• Spanning tree: r(u,v) = 1 for all pairs of vertices.


• Steiner tree: r(u,v) = 1 for all pair of required vertices.



• Steiner forest: r(si,ti) = 1 for all source sink pairs.


• k-edge-connected subgraph: r(u,v) = k for all pairs of vertices.
           Survivable Network Design


Survivable network design: find a “good” Steiner network


             e.g. minimum Steiner tree, k-edge-connected subgraph


 Minimum cost Steiner network:
 Given a cost c(e) on each edge,
 find a Steiner network with minimum total cost.




 NP-complete…
             Linear Programming Relaxation

         at least r(u,v)
        edges crossing S
S

    u         v            f(S) := max{ r(u,v) | S separates u and v}.




                                         • number of constraints is
                                         exponential.
                                         • can be handled by Ellipsoid
                                         algorithm
                                         • need a separation oracle
           Approximating Survivable network Design

What does not seem to generalize … ?


•   primal-dual algorithm for constrained Steiner forest
     •   only logarithmic approx. is known via this approach
•   one shot rounding as in
     •   vertex cover - rounding up fractions ¸ ½
     •   set cover – randomized rounding
•   combinatorial algorithms
     •   e.g., Steiner tree (reduction to spanning tree in the
         metric completion graph)


New ideas are needed …
                            Basic Solutions (1)




A basic solution is the unique solution of
m linearly independent “tight” constraints,
where m is the number of variables in the LP.



A basic solution cannot be represented
as a convex sum of feasible solutions
                             Basic Solutions (2)




An edge of 1, pick it.                                 An edge of 0, delete it.



  A basic solution is the unique solution of
  m linearly independent “tight” constraints,
  where m is the number of variables in the LP.



        Tight inequalities all come from the connectivity requirements.
         Petersen Graph: Non-Basic Feasible Solution


      ce  1, ruv  1.




15 edges with 0 < x(e) < 1
10 tight constraints (at
                                use every edge to the
the vertices)                     extent of 1/3.
                 Basic Feasible Solution

black edge – ¼
red edge – ½
Tight sets
                                  LP Solutions


                                           All 1/3 is a feasible solution.


                                           But not a basic feasible solution




      This is a basic feasible solution.

          Thick edges have value 1/2;
          Thin edges have value 1/4.


Theorem [Jain 98] Every basic feasible solution has an edge of value at least 1/2


  Corollary. There is a 2-approximation algorithm for survivable network design.
                             Iterative Rounding
       Initialization: H =   , f’ = f.

       While f’ ≠ 0 do:

           o    Find a basic optimal solution, x, of the LP with function f’.

           o    Add an edge with x(e) ≥ 1/2 into H.           By Jain’s Theorem

           o    Update f’: for every set S, set

       Output H.
                                                                   f’(S)=1
                                                                   f’(S)=2
                                                             0.5             e
       The residual problem is feasible.
                                                                                 0.5

Corollary. This is a 2-approximation algorithm
for the minimum cost survivable network problem.
                                                       0.5                        0.5
Typical Rounding:


                               Optimal
                 Linear                     Suitable     Integer
      Problem                  Fractional
                 Programming                Rounding
      Instance                 Solution     Procedure    Solution
                 Solver




 Iterative Rounding:
                                                         Integer
                                            Good
                               Optimal      Part         Part
      Problem    Linear        Fractional
                 Programming
      Instance   Solver        Solution
                                                         Residual
                                            Too much
                                            Fractional   Problem
                              Laminar Basis




                                              tree representation

any pair of sets in the basis are
either disjoint or contained
                           Weak Supermodularity


     A weakly supermodular function f satisfies:



or



        Example: f(S) := max{ r(u,v) | S separates u and v}.



        Important: when f is updated by setting x(e)=1 for
        some edges e, it remains weakly supermodular


        Weakly supermodular functions are very useful for
        obtaining a laminar basis
                        Obtaining a Laminar Basis

Tight constraints:




             Uncrossing technique: A basic solution is defined by
                     a laminar family of tight connectivity constraints.
                                                                           A[B

       A                              B
                                                                   AÅB
                      Proof of Jain’s Theorem

Theorem [Jain]. Every basic solution has an edge with value at least 1/3


                        •There are |L| constraints.

                        •There are |E| variables.

               Assume every edge has value 0 < x(e) < 1/3.

               Prove that |E| > |L| by a counting argument.


• At the beginning we give 2 tokens to each edge, 1 to each endpoint.

• At the end we redistribute the tokens so that each member in the
 laminar family has at least 2 tokens, and there are still some tokens left.


                     Then this would imply |E| > |L|
               Induction Basis

       Assume every edge has value 0 < x(e) < 1/3.




                                      1/4


each leaf set has degree ¸ 4                         1/4
  otherwise 9e, x(e) · 1/3
each leaf has 4 tokens



                                      1/4
                                                     1/4
                         Inductive Step (1)

  Induction Hypothesis: the root has 2 extra tokens (total of 4)


                                                       +2




                                         +2          +2             +2   +2




                               +2        +2                        +2



Theorem [Jain]. Every basic solution has an edge with value at least 1/3
                             Inductive Step (2)

root has two children –                       +2
each child can pass up 2 tokens
root has 4 tokens

                                         +2   +2




  root has one child and 2 new edges –
  child can pass up 2 tokens
  root has 4 tokens
               Inductive Step (3)

 root has one child
 root has no new edges
 but \delta(child) = \delta(root)
 linear dependence




root has one child and only one
new edge e (of the two in picture)   e
both root and child are tight
   f(root) = f(child) + x(e)
 or
   f(root) = f(child) - x(e)             e
but 0<x(e)<1 contradicting
integrality of f
              Summary of Jain’s Algorithm

Theorem [Jain]. Every basic solution has an edge with value at least 1/3




Theorem [Jain]. Every basic solution has an edge with value at least ½

Proof is more involved …



Open Question: Combinatorial proof ?
           Survivable Network Design


Survivable network design: find a “good” Steiner network

              e.g. minimum spanning tree, minimum Steiner tree


 Minimum cost Steiner network:
 Given a cost c(e) on each edge,
 find a Steiner network with minimum total cost.


 Minimum degree Steiner network:
 Find a Steiner network with minimum maximum degree.


                 e.g. Hamiltonian path, Hamiltonian cycle
                     The Problem Statement

        Goal: to find a good Steiner network w.r.t. to both criteria


      Minimum cost Steiner network with degree constraints:
      Given a cost c(e) on each edge,
      find a Steiner network with minimum total cost,
      so that every vertex has degree at most B.



 Without degree bounds, this is the minimum cost Steiner network problem.



Without cost on edges, this is the minimum degree Steiner network problem.
                   Ideal Approximation

 Minimum cost Steiner network with degree constraints:
 Given a cost c(e) on each edge,
 find a Steiner network with minimum total cost,
 so that every vertex has degree at most B.


  Let OPT(B) be the value of an optimal solution to this problem.


        Ideally, we would like to return a solution so that:

                    SOL(B) ≤ c·OPT(B)

However, it cannot be done for any polynomial factor, even for B=2,
since this generalizes the minimum cost Hamiltonian path problem.
              Bicriteria Approximation Algorithms

       Minimum cost Steiner network with degree constraints:
       Given a cost c(e) on each edge,
       find a Steiner network with minimum total cost,
       so that every vertex has degree at most B.


        Let OPT(B) be the value of an optimal solution to this problem.


      A (c,f(B))-approximation algorithm if it returns a solution with


maximum degree f(B)     SOL(f(B)) ≤ c·OPT(B)                e.g. f(B)=2B+1


      This implies a c-approximation for minimum cost Steiner network,
      and an f(B)-approximation for minimum degree Steiner network.
       Minimum Bounded Degree Spanning Trees


Theorem [Furer and Raghavachari ’92]
Given k, there is a polynomial time algorithm which does the following:
either the algorithm
(i) finds a spanning tree with maximum degree at most k+1.
(ii) shows that there is no spanning tree with maximum degree at most k.



Theorem [Goemans 06]:
Given k, there is a polynomial time algorithm that computes a
spanning tree with cost at most OPT(k) and maximum degree at most k+2.


                   (1,B+2)                     uncrossing!
    Results on Minimum Degree Survivable Networks

                      Minimum cost      Minimum degree            Bicriteria

Spanning tree               1              B+1 [FR]           (1,B+2) [G]

 Steiner tree           1.55 [RZ]          B+1 [FR]             (2,2B+3)
                                                           (O(logn),O(logn)B)

 Steiner forest         2 [AKR]               2B+3
                                               ?                  (2,2B+3)
                                                                      ?

k-ec subgraph            2 [KV]               2B+3
                                        O(log n)·B [FMZ]          (2,2B+3)
                                                                      ?

Steiner network          2 [Jain]             2B+3
                                               ?                  (2,2B+3)
                                                                      ?


            Theorem [Lau,Naor,Salavatipour,Singh, STOC 07]:
            There is a (2,2B+3)-approximation algorithm for the
            minimum bounded degree Steiner network problem.


      Corollary: There is a constant factor approximation algorithm
                  for the Minimum Degree Steiner Network problem.
             Linear Programming Relaxation

         At least r(u,v)
        edges crossing S
S

    u         v            f(S) := max{ r(u,v) | S separates u and v}.




                                                 Nonuniform degree bounds
                             First Try
  Observation: Half edges are good for degree bounds as well.

Initialization: H =   , f’ = f.
                                             Problem: A half edge
While f’ ≠ 0 do:                                may not exist!

    o    Find a basic optimal solution, x, of the LP with function f’.

    o    Add an edge with x(e) ≥ 1/2 into H.

    o    Update f’: for every set S, set

    o    Update degree bounds: set Bv:=Bv-0.5 if e is incident on v.

Output H.                                                      Bv=2
                                                                 =1.5
                                                         0.5       e      0.5

 The residual problem is feasible.
                                                                    0.5
                                                        0.5
                          The Difference




                                                         fractional values




                     Uncrossing would just work fine.

                                                            0.25        0.25
But integrality is important in the counting argument.
                                                                   Bv=0.5
                             New Idea


                        Idea: Relax the problem by removing the
0.25        0.25
                        degree constraint for v if v is of “low” degree.

       Bv=0.5


                        Effect: Only violates the degree bound by
                                   an additive constant.



  Lemma [LNSS]: If every vertex is of degree 5 when its degree
  constraint is present, then there is a half edge in a basic solution.


 Intuition: Removing a constraint decreases the number of linearly
 independent tight constraints, and makes the counting argument work.
                              Counting

           Induction Hypothesis: The root has 2 extra tokens.


                                                       +2




                                         +2          +2              +2   +2




                               +2        +2                      +3
                                      By linear independence

Theorem [LNSS]. Every basic solution has an edge with value at least 1/3
                  if every degree constraint has at least 5 edges.
                       Iterative Relaxation
Initialization: H =   , f’ = f.

While f’ ≠ 0 do:                                   A multiplicative factor 2

    o     Find a basic optimal solution, x, of the LP with function f’.

    o      (Rounding) Add an edge with x(e) ≥ 1/2 into H.

    o      (Relaxing) Remove the degree constraint of v if v has degree ≤ 4

    o     Update the connectivity requirement f’ An additive constant +3

    o     Update degree bounds: set Bv:=Bv-1/2 if e is incident at v.

Output H.

        Theorem: There is a (2,2B+3)-approximation algorithm for
        the minimum bounded degree Steiner network problem.
                  Additive Approximation




Theorem [Lau,Singh,STOC 08]: There is a (2,B+3)-approximation algorithm
           for the minimum bounded degree Steiner forest problem.




Theorem [Lau,Singh,STOC 08]: There is a (2,B+O(rmax))-approximation
algorithm for the minimum bounded degree Steiner network problem.
 Minimum Bounded Degree Spanning Trees




   Theorem [Singh,Lau,STOC 07]
   There is an (1,B+1)-approximation algorithm for the
   minimum bounded degree spanning tree problem.




Improves on the (1,B+2)-approximation of Goemans 2006
            Directed Connectivity




(const, const)-approximation for certain directed
Connectivity problems
[LNSS STOC 07] [Bansal,Khandekar,Nagarajan,STOC 08]
                  Exact Formulations


This method can be applied to prove LP formulations are exact.



             •Spanning Tree

             •Arborescence

             •Matroid intersection

             •Perfect matching in general graphs

             •Rooted k-out-connected subgraphs

             •Submodular flows


      Limitation: not simple to prove the dual is integral.
          Approximation Algorithms


Some NP-hard problems are variants of basic problems.



• General assignment (bipartite matching)

• Multicriteria spanning trees

• Partial vertex cover

• Prize collecting Steiner trees

• Degree bounded matroids [Király,L,Singh,08]

• Degree bounded submodular flows [Király,L,Singh,08]
       Open Problems



• TSP, ATSP?


• Other applications?


• Combinatorial algorithms?


• Connection to existing approaches?

				
DOCUMENT INFO