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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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