topics in combinatorial optimization
play

Topics in Combinatorial OPtimization Orlando Lee Unicamp 19 de mar - PowerPoint PPT Presentation

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


  1. Topics in Combinatorial OPtimization Orlando Lee – Unicamp 19 de mar¸ co 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. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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