Topics in Combinatorial OPtimization Orlando Lee – Unicamp 19 de mar¸ co 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
Feasible flows Given a digraph D = ( V , A ), an arc capacity function u : A → R + , a supply function b : V → R in which b ( v ) > 0 means producer, and b ( v ) < 0 means consumer, find x : A → R such that: x ( δ out ( v )) − x ( δ in ( v )) = b ( v ) for every v ∈ V , and 0 ≤ x ( a ) ≤ u ( a ) for every a ∈ A . Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Feasible flows 0 2 3 4 − 3 2 0 3 3 2 3 − 3 2 1 4 0 Necessary condition: b ( V ) = 0. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Feasible flows 2 3 4 2 3 3 s 3 t 2 3 2 3 1 4 Set u ( s , v ) := b ( v ) se b ( v ) > 0, Set u ( v , t ) := − b ( v ) se b ( v ) < 0. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Feasible flows 2 3 4 2 3 3 s 3 t 2 3 2 3 1 4 The system has a feasible solution if and only if the auxiliary network has a maximum st -flow which saturates all arcs leaving s or entering t . Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Feasible flows Conclusion: checking whether there exists x : A → R such that: (a) x ( δ out ( v )) − x ( δ in ( v )) = b ( v ) for every v ∈ V , and (b) 0 ≤ x ( a ) ≤ u ( a ) for every a ∈ A can be done in polynomial time. For brevity, if x satisfies (a), we say that it is a b -flow . If x satisfies both (a) and (b), we say that it is a feasible b -flow . Later we will see a good characterization for the existence of a feasible b -flow. In other words, necessary and sufficient conditions that provide succinct certificates for both possible answers (yes or no). Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding Let M be a real matrix with dimensions p × q such that: the sum of the elements in row i is α i and the sum of the elements in column j is β j . We can round up or down any element r to ⌈ r ⌉ or ⌊ r ⌋ anyway we like. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding A consistent rounding of M is obtained by rounding the elements of M , the values α i ( i = 1 , . . . , p ) and the values β j ( j = 1 , . . . , q ) so that: the sum of the rounded elements in row i is equal to the rounding of α i and the sum of the rounded elements in column j is equal to the rounding of β j . Matrix rounding problem. Given a matrix M , find (if exists) a consistent rounding of M . Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding 3 . 1 6 . 8 7 . 3 17 . 2 9 . 6 2 . 4 0 . 7 12 . 7 3 . 6 1 . 2 6 . 5 11 . 3 16 . 3 10 . 4 14 . 5 Matrix rounding problem. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding 3 7 7 17 10 2 1 13 3 2 6 11 16 11 14 Consistent rounding. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding We reduce Matrix Rounding Problem to the following problem. Given a network ( D , s , t , l , u ) where l , u are arc capacity functions in which for each a ∈ A : • l ( a ) is the lower capacity of a and • u ( a ) is the upper capacity of a , find an st -flow f such that l ( a ) � f ( a ) � u ( a ) for every a ∈ A . In a few minutes, we will show how to solve this problem. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding Reduction. construct a network as follows: let s be the source and t be the target, for each row i we have a vertex i , for each column j ′ we have a vertex j ′ , for each pair i e j ′ we have an arc ( i , j ′ ) with capacities ( ⌊ m i , j ⌋ , ⌈ m i , j ⌉ ), for each vertex i we have an arc ( s , i ) with capacities ( ⌊ α i ⌋ , ⌈ α i ⌉ ), and for each vertex j ′ we have an arc ( j ′ , t ) with capacities ( ⌊ β j ⌋ , ⌈ β j ⌉ ). Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding ( l , u ) j ′ i (3 , 4) 1 ′ 1 (6 , 7) (17 , 18) (16 , 17) (7 , 8) (9 , 10) (12 , 13) (10 , 11) (2 , 3) s 2 2 ′ t (0 , 1) (3 , 4) (14 , 15) (11 , 12) (1 , 2) 3 3 ′ (6 , 7) Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Example: matrix rounding There exists a 1-1 correspondence between consistent roundings of M and feasible flows in the network. If ˜ α and ˜ M := ( ˜ m i , j ), ˜ β is a consistent rounding, then m i , j ˜ se a = ( i , j ), ˜ se a = ( s , i ), f ( a ) = α i ˜ se a = ( j ′ , t ) β j is a feasible flow in the network. Similarly, if f is a feasible (integral) flow in the network, then we can obtain a consistent rouding. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Generalized networks A generalized network is a network ( D , s , t , l , u ) where each arc a is associated to a pair of capacities ( l ( a ) , u ( a )). Some typical problems: find a feasible flow f , find a feasible flow with maximum value, and find a feasible flow with minimum value. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Generalized networks Unlike the case in which l = 0 , the problem of finding a feasible flow is more difficult. The resolution of an optimization problem in a generalized network is usually divided into two steps: finding a feasible flow, and given a feasible flow, finding a maximum one. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks In order to prove optimality of a flow in a generalized network ( D , s , t , l , u ) we need the following concept. Define the (generalized) capacity of an st -cut δ out ( X ) as cap( X ) := u ( δ out ( X )) − l ( δ in ( X )) . Lemma. Let f be a feasible flow and δ out ( X ) be an st -cut. Then val ( f ) ≤ cap ( X ) with equality only if f ( a ) = u ( a ) for every a ∈ δ out ( X ) and f ( a ) = 0 for every a ∈ δ in ( X ). Furthermore, if equality holds, then f is a maximum flow and δ out ( X ) is a minimum generalized capacity st -cut. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks Assume we know a feasible flow f in ( D , s , t , l , u ). Define a residual network D ′ f = ( V , A ′ f ) with residual capacity r as follows: (a) if f ( a ) < u ( a ) then a ∈ A ′ f and r ( a ) = u ( a ) − f ( a ), (b) if l ( a ) < f ( a ) then a − 1 ∈ A ′ f and r ( a − 1 ) = f ( a ) − l ( a ). Note that the definiton of residual capacity is similar to case l = 0. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks ( l , u ) f (1 , 2) (2 , 4) 2 2 s t s t (0 , 3) 0 (2,3) (1 , 4) 2 2 r 1 2 s t 1 3 2 1 Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks Solve the MaxFlow problem on the network ( D ′ f , s , t , r ). Let f ′ be the maximum flow returned by the algorithm. Intuitively, f ′ is how much we must deviate from f to reach a maximum flow in the original network. Define a flow f ∗ of the original network as follows: (a) if a ∈ AD ′ f ∩ A then f ∗ ( a ) := f ( a ) + f ′ ( a ), and (b) if a − 1 ∈ AD ′ f ∩ A − 1 then f ∗ ( a ) := f ( a ) − f ′ ( a ). Clearly, f ∗ is a feasible flow in the original network. (Why?) Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks We will show that f ∗ is a (feasible) maximum flow in the generalized network. Let δ out ( X ) be a minimum st -cut of ( D ′ f , s , t , r ). Then f ′ ( e ) = r ( e ) for every e ∈ δ out f ( X ) and D ′ f ′ ( e ) = 0 for every e ∈ δ in f ( X ). D ′ Recall that (a) for each e ∈ δ out f ( X ) either e = a for some arc a ∈ δ out ( X ) or D ′ e = a − 1 for some arc a ∈ δ in ( X ) and (b) for each e ∈ δ in f ( X ) either e = a for some arc a ∈ δ in ( X ) or D ′ e = a − 1 for some arc a ∈ δ out ( X ). Orlando Lee – Unicamp Topics in Combinatorial OPtimization
MaxFlow in generalized networks Analyzing these four possibilities we conclude that in D we have that (a) if a ∈ δ out ( X ) then f ∗ ( a ) = u ( a ) and (b) if a ∈ δ in ( X ) then f ∗ ( a ) = l ( a ). Hence, f ∗ is a maximum flow and δ out ( X ) is a minimum generalized capacity cut in the generalized network. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Generalized MaxFlow MinCut theorem Theorem. (Generalized MaxFlow MinCut) Let ( D , s , t , l , u ) be a generalized network. Then the value of a maximum flow is equal to the generalized capacity of a minimum st -cut. Note that any MaxFlow algorithm can be used for finding a maximum flow in a generalized network, as long as we have an initial feasible solution. Orlando Lee – Unicamp Topics in Combinatorial OPtimization
Recommend
More recommend