topics in combinatorial optimization
play

Topics in Combinatorial Optimization Orlando Lee Unicamp 14 de - PowerPoint PPT Presentation

Topics in Combinatorial Optimization Orlando Lee Unicamp 14 de maio de 2014 Orlando Lee Unicamp Topics in Combinatorial Optimization Agradecimentos Este conjunto de slides foram preparados originalmente para o curso T opicos de


  1. Topics in Combinatorial Optimization Orlando Lee – Unicamp 14 de maio de 2014 Orlando Lee – Unicamp Topics in Combinatorial Optimization

  2. Agradecimentos Este conjunto de slides foram preparados originalmente para o curso T´ opicos de Otimiza¸ c˜ ao Combinat´ oria no primeiro semestre de 2014 no Instituto de Computa¸ c˜ ao da Unicamp. Preparei os slides em inglˆ es simplesmente porque me deu vontade, mas as aulas ser˜ ao em portuguˆ es (do Brasil)! Agradecimentos especiais ao Prof. M´ ario Leston Rey. Sem sua ajuda, certamente estes slides nunca ficariam prontos a tempo. Qualquer erro encontrado nestes slide ´ e de minha inteira responsabilidade (Orlando Lee, 2014). Orlando Lee – Unicamp Topics in Combinatorial Optimization

  3. r -arborescences Let D = ( V , A ) be a digraph and let r ∈ V be a designated root. Definition. A subdigraph B of D containing r is an r -arborescence if every vertex in B is reachable from r and B is minimal with this property. Definition. A packing of spanning r -arborescences of D is a collection of pairwise arc-disjoint spanning r -arborescences in D . Theorem. (Edmonds, 1973) Let D = ( V , A ) be a digraph and let r ∈ V be a designated root. Then the maximum size of a packing of spanning r -arborescences is equal to the size of a minimum r -cut. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  4. Minimum weight r -arborescences Let D = ( V , A ) be a digraph, let r ∈ V be a designated root and let c : A �→ R + be an arc capacity function. Let B ( D , r ) the set of spanning r -arborescences of D . Consider the following LP problem: min � a ∈ A c ( a ) x ( a ) s.a x ( B ) � 1 for every B ∈ B ( D , r ) , x ( a ) � 0 for every a ∈ A . An optimum integral solution of this LP problem is a minimum weight r -cut. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  5. Packing of capacitated r -arborescences The dual of the LP problem is: max � B ∈B ( D , r ) y B s.a � B : a ∈ B y B � c ( a ) for every a ∈ A , y B � 0 for every B ∈ B ( D , r ) . We say that a feasible dual solution is a c -packing. We want to find a c -packing that maximizes � B ∈B ( D , r ) y B . When y is integral, y B can be interpreted as a multiplicity or number of copies of B . In the integral case, we wish to find a maximum size collection of r -cuts such that each arc a belongs to at most c ( a ) members of this collection. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  6. Edmonds’ theorem Theorem. (Edmonds, 1973) Let D = ( V , A ) be a digraph, let r ∈ V be a designated root and let c : A �→ Z + be an arc capacity function. Then the minimum weight of an r -cut is equal to the maximum size collection of r -cuts such that each arc a belongs to at most c ( a ) members of this collection. The result follows from Edmonds’ packing arborescence theorem by creating c ( a ) copies of each arc a of D . The proof above does not yield a polynomial algorithm for finding a maximum c -packing. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  7. Edmonds’ theorem Let P r -cut ( D ) := conv { χ C : C is an r -cut } and let P ↑ r -cut ( D ) be the dominant of P r -cut ( D ), namely, P ↑ r -cut ( D ) := P r -cut ( D ) + R A + . Theorem. Let D = ( V , A ) be a digraph and let r ∈ V be a designated root. Then the system x ( B ) � 1 for every B ∈ B ( D , r ) , x ( a ) � 0 for every a ∈ A is TDI. Moreover it determines P ↑ r -cut ( D ). Orlando Lee – Unicamp Topics in Combinatorial Optimization

  8. How to find a maximum c -packing? Let n := | V | and m := | A | . We will describe a polynomial algorithm due to Gabow and Manu (1998) for finding a maximum c -packing. Their algorithm uses at most m + n − 2 distinct spanning r -arborescences in the c -packing. Previously, other polynomial algorithms were known for this problem but they could use O ( mn ) distinct spanning r -arborescences in the c -packing. Lee and Leston (2013) described a polynomial algorithm for finding a maximum c -packing using at most m − n + 2 distinct spanning r -arborescences. The only tight examples we know consist of digraphs with two vertices and several parallel arcs. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  9. Terminology Let λ ( D , c ) := min { c ( δ in ( X )) : X is an ¯ r -set } , that is, λ ( D , c ) is the minimum weight of an r -cut in ( D , c ). A c -packing is a mapping y : B ( D , r ) �→ R + such that � B ∈B ( D , r ): a ∈ B y B � c ( a ) for each arc a ∈ A . A c -packing is maximum if it maximizes � B ∈B ( D , r ) y B . For a function f : U �→ R + let f + := { u ∈ U : f ( u ) > 0 } be the support of f . So y + denotes the set of r -arborescences used in a c -packing y . Orlando Lee – Unicamp Topics in Combinatorial Optimization

  10. Terminology By the previous results we have that a maximum c -packing and a minimum r -cut satisfy � y B = λ ( D ) . B ∈B ( D , r ) Moreover, if c is integral then y can be chosen integral. First we describe a combinatorial polynomial algorithm for the maximum fractional c -packing, that is, we do not require y to be integral. Later we describe a polynomial algorithm for finding a maximum integral c -packing. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  11. Fractionally removable arborescences Let D + := D [ c + ] be subdigraph of D obtained by deleting all the arcs with weight zero. Note that no zero arc can be used in any arborescence of a c -packing. Moreover, λ ( D , c ) = λ ( D + , c + ). Let B ⊆ c + . Let min c | B := min { c ( a ) : a ∈ B } . For 0 � α � min c | B consider the weighted digraph ( D , c − αχ B ). In plain English, we subtract α from the weight of each arc in B . Or equivalently, we remove B with multiplity α from ( D , c ). How much can we remove? Orlando Lee – Unicamp Topics in Combinatorial Optimization

  12. Fractionally removable arborescences We define the capacity of B as α ( B ) := max { α : α � min c | B , λ ( D , c − αχ B ) = λ ( D , c ) − α } . Note that we may have α ( B ) = 0. A spanning r -arborescence B is fractionally removable if α ( B ) > 0. Lemma. Let B ⊆ c + (that is, min c | B > 0). Then α ( B ) = 0 if and only if there exists an ¯ r -set X such that c ( δ in ( X )) = λ ( D , c ) d in and B ( X ) > 1 . So an arborescence B is fractionally removable if and only if B enters each tight set X exactly once. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  13. Naive greedy method GreedyMethod ( D , c ) 1. if c = 0 2. then return y = 0 3. let B be a fractionally removable spanning r -arborescence 4. α ← α ( B ) ⊲ α > 0 5. y ← GreedyMethod ( D , c − αχ B ) 6. y B ← y B + α 7. return y We will prove that a fractionally removable r -arborescence exists and the greedy algorithm finds a c -packing with at most m spanning r -arborescences. This will require some work though. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  14. Laminar families A family of sets L ⊆ 2 V is laminar if X ∩ Y = ∅ X ⊆ Y Y ⊆ X or or for every X , Y ∈ L . Orlando Lee – Unicamp Topics in Combinatorial Optimization

  15. Laminar families Lemma. A laminar family of nonempty subsets of V has at most 2 n − 1 members. The algorithm keeps a laminar family L ⊆ 2 V − r of nonsingleton ¯ r -sets such that X ∈ L ⇒ c ( δ in ( X )) = λ ( D , c ) , that is, every member of L is a tight set. Note that |L| � n − 2. Key idea: in each step the algorithm constructs a spanning r -arborescence B ⊆ c + that enters each tight set in L exactly once. If B is fractionally removable, then we remove α ( B ) copies of B and recursively find a maximum ( c − αχ B )-packing. Otherwise, we enlarge the laminar family L . Orlando Lee – Unicamp Topics in Combinatorial Optimization

  16. Building an r -arborescence Rough idea let X be a maximal set of L and contract X find a spanning r -arborescence B ′ of the resulting digraph let ( u , v ) be the unique arc of B ′ entering X recursively find a spanning v -arborescence B ′′ of D [ X ] return B ′ ∪ B ′′ Next we describe more precisely the algorithm. Orlando Lee – Unicamp Topics in Combinatorial Optimization

  17. Building an r -arborescence BuildArb ( D , L , r ) 1. if V ( D ) = { r } or L = ∅ 2. then return an r -arborescence B of D 3. let X be a maximal set of L 4. F ← { Y ∈ L : Y ⊆ X } 5. contract X onto a single vertex v X 6. let D ′ be the resulting digraph 7. L ′ ← L \ F 8. B ′ ← BuildArb ( D ′ , L ′ , r ) 9. let ( u , v X ) be the unique arc of B ′ entering v X 10. let ( u , v ) be the corresponding arc in D entering X 11. B ′′ ← BuildArb ( D [ X ] , F − { Y ∈ F : v ∈ Y } , v ) 12. return B ′ ∪ B ′′ Orlando Lee – Unicamp Topics in Combinatorial Optimization

  18. Building an r -arborescence Note that λ ( D , c ) > 0 implies that d in D + ( X ) � 1 for every ¯ r -set. Thus D + contains a spanning r -arborescence. The same holds for D [ X ]. Theorem. Given a laminar family L of nonsingleton ¯ r -sets of D , BuildArb returns a spanning r -arborescence of D such that d in B ( X ) = 1 for every X ∈ L in O ( m ) time. The correctness follows by induction. We skip the details about the complexity. (Exercise.) Orlando Lee – Unicamp Topics in Combinatorial Optimization

Recommend


More recommend