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 Problems 2. (Minimum Cost) Network Flows 2
Well Solved Problems Outline Network Flows 1. Well Solved Problems 2. (Minimum Cost) Network Flows 3
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
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
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
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
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
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
Well Solved Problems Outline Network Flows 1. Well Solved Problems 2. (Minimum Cost) Network Flows 10
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
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
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
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
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
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
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
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
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
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
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