well solved problems network flows
play

Well Solved Problems Network Flows Marco Chiarandini Department of - PowerPoint PPT Presentation

DM545 Linear and Integer Programming Lecture 10 Well Solved Problems Network Flows Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Well Solved Problems Outline Network Flows 1. Well Solved


  1. DM545 Linear and Integer Programming Lecture 10 Well Solved Problems Network Flows Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark

  2. Well Solved Problems Outline Network Flows 1. Well Solved Problems 2. (Minimum Cost) Network Flows 2

  3. Well Solved Problems Outline Network Flows 1. Well Solved Problems 2. (Minimum Cost) Network Flows 3

  4. Well Solved Problems Network Flows Theoretical analysis to prove results about ◮ strength of certain inequalities that are facet defining 2 ways ◮ descriptions of convex hull of some discrete X ⊆ Z ∗ several ways, we see one next Example + × B 1 : � m Example: Let X = { ( x , y ) ∈ R m i = 1 x i ≤ my , x i ≤ 1 for i = 1 , . . . , m + × R 1 : x i ≤ y for i = 1 , . . . , m , y ≤ 1 } . and P = { ( x , y ) ∈ R n Polyhedron P describes conv ( X ) 4

  5. Well Solved Problems Totally Unimodular Matrices Network Flows When the LP solution to this problem IP : max { c T x : Ax ≤ b , x ∈ Z n + } with all data integer will have integer solution?   A B x B + A N x N = b A I 0 b   A B x B = b ,     A B m × m non singular matrix c 0 1 0 Cramer’s rule for solving systems of equations: � � � � e b a e � � � � � � � � f d c f � a b � � x � � e � x = B − 1 b = B adj b � � � � x = y = = � � � � a b a b c d y f det ( B ) � � � � � � � � c d c d � � � � 5

  6. Well Solved Problems Network Flows Definition ◮ A square integer matrix B is called unimodular (UM) if det ( B ) = ± 1 ◮ An integer matrix A is called totally unimodular (TUM) if every square, nonsingular submatrix of A is UM Proposition ◮ If A is TUM then all vertices of R 1 ( A ) = { x : Ax = b , x ≥ 0 } are integer if b is integer ◮ If A is TUM then all vertices of R 2 ( A ) = { x : Ax ≤ b , x ≥ 0 } are integer if b is integer. � A I � Proof: if A is TUM then is TUM � A I � Any square, nonsingular submatrix C of can be written as � B 0 � C = D I k where B is square submatrix of A . Hence det ( C ) = det ( B ) = ± 1 6

  7. Well Solved Problems Network Flows Proposition The transpose matrix A T of a TUM matrix A is also TUM. Theorem (Sufficient condition) An integer matrix A with is TUM if 1. a ij ∈ { 0 , − 1 , + 1 } for all i , j 2. each column contains at most two non-zero coefficients ( � m i = 1 | a ij | ≤ 2 ) 3. if the rows can be partitioned into two sets I 1 , I 2 such that: ◮ if a column has 2 entries of same sign, their rows are in different sets ◮ if a column has 2 entries of different signs, their rows are in the same set   0 1 0 0 0  1 − 1 − 1 0   1 − 1 0  0 1 1 1 1   � 1 − 1 � − 1 0 0 1     0 1 1 1 0 1 1 1       0 − 1 1 1 0 1   1 0 1   1 0 0 1 0 0 0 1 0   1 0 0 0 0 7

  8. Well Solved Problems Network Flows Proof: by induction Basis: one matrix of one element is TUM Induction: let C be of size k . If C has column with all 0s then it is singular. If a column with only one 1 then expand on that by induction If 2 non-zero in each column then � � ∀ j : a ij = a ij i ∈ I 1 i ∈ I 2 but then linear combination of rows and det ( C ) = 0 8

  9. Well Solved Problems Network Flows Other matrices with integrality property: ◮ TUM ◮ Balanced matrices ◮ Perfect matrices ◮ Integer vertices Defined in terms of forbidden substructures that represent fractionating possibilities. Proposition A is always TUM if it comes from ◮ node-edge incidence matrix of undirected bipartite graphs (ie, no odd cycles) (I 1 = U , I 2 = V , B = ( U , V , E ) ) ◮ node-arc incidence matrix of directed graphs (I 2 = ∅ ) Eg: Shortest path, max flow, min cost flow, bipartite weighted matching 9

  10. Well Solved Problems Outline Network Flows 1. Well Solved Problems 2. (Minimum Cost) Network Flows 10

  11. Well Solved Problems Terminology Network Flows Network: • directed graph D = ( V , A ) • arc, directed link, from tail to head • lower bound l ij > 0, ∀ ij ∈ A , capacity u ij ≥ l ij , ∀ ij ∈ A • cost c ij , linear variation (if ij �∈ A then l ij = u ij = 0 , c ij = 0) • balance vector b ( i ) , b ( i ) < 0 supply node (source), b ( i ) > 0 demand node (sink, tank), b ( i ) = 0 transhipment node (assumption � i b ( i ) = 0) N = ( V , A , l , u , b , c ) − 3 1 1 / · / 4 , 3 b b d d 2 / · / 5 , 6 0 / · / 3 , 2 a a 0 / · / 3 , 1 3 / · / 3 , 1 5 / · / 8 , 4 f f − 3 2 b ( a ) 1 / · / 4 , 1 4 / · / 7 , 8 2 / · / 4 , 1 c c e e l ce / x ce / u ce , c ce 0 3 11

  12. Well Solved Problems Network Flows Network Flows Flow x : A → R balance vector of x : b x ( v ) = � x uv − � x vw , ∀ v ∈ V uv ∈ A vw ∈ A  > 0 sink/target/tank   b x ( v ) < 0 source  = 0 balanced  (generalizes the concept of path with b x ( v ) = { 0 , 1 , − 1 } ) feasible l ij ≤ x ij ≤ u ij , b x ( i ) = b ( i ) c T x = � cost ij ∈ A c ij x ij (varies linearly with x ) If iji is a 2-cycle and all l ij = 0, then at least one of x ij and x ji is zero. 12

  13. Well Solved Problems Example Network Flows − 3 1 1 / 3 / 4 , 3 b d 2 / 4 / 5 , 6 0 / 3 / 3 , 2 a 0 / 0 / 3 , 1 3 / 3 / 3 , 1 5 / 6 / 8 , 4 f − 3 2 1 / 1 / 4 , 1 4 / 5 / 7 , 8 2 / 2 / 4 , 1 c e 0 3 Feasible flow of cost 109 13

  14. Well Solved Problems Reductions/Transformations Network Flows Lower bounds N ′ = ( V , A , l ′ , u ′ , b ′ ) Let N = ( V , A , l , u , b , c ) b ′ ( i ) = b ( i ) + l ij b ′ ( j ) = b ( j ) − l ij u ′ ij = u ij − l ij l ′ ij = 0 b ( i ) b ( j ) l ij > 0 b ( i ) + l ij b ( j ) − l ij l ij = 0 j i j i u ij − l ij c T x ′ + � c T x c ij l ij ij ∈ A 14

  15. Well Solved Problems Network Flows Undirected arcs j j i i Vertex splitting If there are bounds and costs of flow passing thorugh vertices where b ( v ) = 0 (used to ensure that a node is visited): N = ( V , A , l , u , c , l ∗ , u ∗ , c ∗ ) From D to D ST as follows: � v s , v t ∈ V ( D ST ) and v t v s ∈ A ( D ST ) ∀ v ∈ V ∀ xy ∈ A ( D ) � x s y t ∈ A ( D ST ) 15

  16. Well Solved Problems Network Flows ∀ xy ∈ A and x s y t ∈ A ST � h ′ ( x s y t ) = h ( x , y ) , h ∈ { l , u , c } ∀ v ∈ V and v t v s ∈ A ST � h ′ ( v t , v s ) = h ∗ ( v ) , h ∗ ∈ { l ∗ , u ∗ , c ∗ } If b ( v ) = 0, then b ′ ( v s ) = b ′ ( v t ) = 0 If b ( v ) < 0, then b ′ ( v t ) = 0 and b ′ ( v s ) = b ( v ) If b ( v ) > 0, then b ′ ( v t ) = b ( v ) and b ′ ( v s ) = 0 16

  17. Well Solved Problems Network Flows ( s , t ) -flow:  − k if v = s   b x ( v ) = k if v = t , | x | = b x ( s )  0 otherwise  5 // 5 b d − 3 b d 3 0 // − b ( b ) 0 // b ( d ) b ( s ) s 1 // 2 b ( t ) t 1 // 2 0 // 2 0 // − b ( c ) 0 // b ( e ) c e c e − 6 8 6 // 6 b ( s ) = � v : v ( v ) < 0 b ( v ) = − M b ( t ) = � v : v ( v ) > 0 b ( v ) = M ∃ feasible flow in N ⇐ ⇒ ∃ ( s , t ) -flow in N st with | x | = M ⇐ ⇒ max flow in N st is M 17

  18. Well Solved Problems Minimum Cost Network Flows Network Flows Find cheapest flow through a network in order to satisfy demands at certain nodes from available supplier nodes. Variables: x ij ∈ R + 0 Objective: min c T x � Nx = b min c ij x ij 0 ≤ x ≤ u ij ∈ A Constraints: mass balance + flow bounds N node arc incidence � � x ij − x ji = b ( i ) ∀ i ∈ V matrix j : ij ∈ A j : ji ∈ A 0 ≤ x ij ≤ u ij (assumption: all values are integer, we can multiply if rational) 18

  19. Well Solved Problems Network Flows x e 1 x e 2 . . . x ij . . . x e m c e 1 c e 2 . . . c ij . . . c e m 1 − 1 . . . . . . . . . = b 1 2 . . . . . . . . . . = b 2 . . . ... . . . . . = . i 1 . . . . − 1 . . . . = b i . . . ... . . . . . = . j . . . . . 1 . . . . = b j . . . ... . . . . . = . n . . . . . . . . . . = b j e 1 − 1 ≥ − u 1 e 2 − 1 ≥ − u 2 . . . ... . . . . . ≥ . ( i , j ) − 1 ≥ − u ij . . . ... . . . . . ≥ . e m − 1 ≥ − u m 19

  20. Well Solved Problems Special cases Network Flows Shortest path problem path of minimum cost from s to t with costs ⋚ 0 b ( s ) = − 1 , b ( t ) = 1 , b ( i ) = 0 if to any other node? b ( s ) = − ( n − 1 ) , b ( i ) = 1 , u ij = n − 1 Max flow problem incur no cost but restricted by bounds steady state flow from s to t b ( i ) = 0 ∀ i ∈ V , c ij = 0 ∀ ij ∈ A ts ∈ A c ts = − 1 , u ts = ∞ Assignment problem min weighted bipartite matching, | V 1 | = | V 2 | , A ⊆ V 1 × V 2 c ij b ( i ) = − 1 ∀ i ∈ V 1 b ( i ) = 1 ∀ i ∈ V 2 u ij = 1 ∀ ij ∈ A 20

  21. Well Solved Problems Special cases Network Flows Transportation problem/Transhipment distribution of goods, warehouses-costumers | V 1 | � = | V 2 | , u ij = ∞ ∀ ij ∈ A min � c ij x ij � i x ij ≥ b j ∀ j � j x ij ≤ a i ∀ i x ij ≥ 0 Min cost circulation problem b ( i ) = 0 ∀ i ∈ V 21

Recommend


More recommend