Flow Feasibility Problems Flow feasibility problem: Given (𝐺, 𝑢, 𝑟, 𝑠, 𝑘), determine whether there exists a feasible flow from 𝑟 to 𝑠 of value at least 𝑘. algorithm and good characterization with max-flow min-cut thm. Other types of flow feasibility problems? Transportation Problem Given 𝐺=(𝑉,𝐸) with partition {𝑃,𝑄} of nodes and vectors 𝑎∈ 𝑍 + 𝑃 , 𝑏∈ 𝑍 + 𝑄 , find 𝑥∈ 𝑅 𝐸 satisfying ( 𝑥 𝑝𝑞 :𝑞∈𝑄, 𝑝𝑞∈𝐸 )≤ 𝑎 𝑝 , for all 𝑝∈𝑃 ( 𝑥 𝑝𝑞 :𝑝∈𝑃, 𝑝𝑞∈𝐸 )= 𝑏 𝑞 , for all 𝑞∈𝑄 𝑥𝑝𝑞≥0, for all 𝑝𝑞∈𝐸 𝑥𝑝𝑞 integral, for all 𝑝𝑞∈𝐸. 1 3 1 3 𝑟 𝑠 2 1 𝑃 2 1 𝑄 4 2 4 2 Combinatorial Optimization 2016
For any finite cut ′(𝐴∪𝐵∪{𝑟}), where 𝐴⊆𝑃, 𝐵⊆𝑄, the capacity is There exists integral feasible flow in TP iff there exists an integral feasible flow in 𝐺′ from 𝑟 to 𝑠 of value (𝑏𝑞 :𝑞∈𝑄) For any finite cut ′(𝐴∪𝐵∪{𝑟}), where 𝐴⊆𝑃, 𝐵⊆𝑄, the capacity is ( 𝑎 𝑖 :𝑖∈𝑃∖𝐴)+ ( 𝑏 𝑗 :𝑗∈𝐵) 𝑃∖𝐴 𝑄∖𝐵 𝑟 𝑠 𝐴 𝐵 (𝐴∪𝐵∪{𝑟}) Cut capacity is at least (𝑏𝑗 :𝑗∈𝑄) iff (𝑎𝑖 :𝑖∈𝑃\A)≥(𝑏𝑗 :𝑗∈𝑄\B) Check this condition for the sets 𝐴 s.t. every node in 𝑃\A is adjacent to a node in 𝑄\B, since any node violating this could be added to 𝐴. ( Define Neighborset 𝑁(𝐶) of 𝐶⊆𝑉 : {𝑤: 𝑣𝑤∈𝐸 𝑓𝑜𝑟 𝑠𝑜𝑚𝑒 𝑣∈𝐶}. Then 𝑁(𝑄\B)=𝑃\A ) Necessary and sufficient conditions for existence of solution: 𝑎(𝑁(𝐶))≥𝑏(𝐶) , for all 𝐶⊆𝑄. Combinatorial Optimization 2016
Does there exist 𝑥∈ 𝑅 𝐸 (or 𝑍 𝐸 ) such that 𝑎𝑣≤𝑓𝑥(𝑣)≤𝑏𝑣 , for all 𝑣∈𝑉 General problem: Does there exist 𝑥∈ 𝑅 𝐸 (or 𝑍 𝐸 ) such that 𝑎𝑣≤𝑓𝑥(𝑣)≤𝑏𝑣 , for all 𝑣∈𝑉 𝑙𝑒≤𝑥𝑒≤𝑢𝑒, for all 𝑒∈𝐸 Special case: 𝑙=0, 𝑎=𝑏: want 𝑥∈ 𝑅 𝐸 such that 𝑓𝑥(𝑣)=𝑏𝑣 , for all 𝑣∈𝑉 (3.8) 0≤𝑥𝑒≤𝑢𝑒 , for all 𝑒∈𝐸 Note that 𝑏(𝑉)=0 Form 𝐺′ with 𝑉′=𝑉∪{𝑟, 𝑠} 𝑣𝑤∈𝐸 ⇒ capacity 𝑢𝑣𝑤 𝑣∈𝑉, 𝑏𝑣<0 ⇒ arc 𝑟𝑣 with 𝑢𝑟𝑣=− 𝑏𝑣 (𝑏𝑣<0: supply node) 𝑣∈𝑉, 𝑏𝑣>0 ⇒ arc 𝑣𝑠 with 𝑢𝑣𝑠=𝑏𝑣 (𝑏𝑣>0: demand node) Then 𝐺 has a feasible flow ⇔ There is an (𝑟,𝑠)-flow in 𝐺′ of value ( 𝑏 𝑣 :𝑣∈𝑉, 𝑏 𝑣 >0) Combinatorial Optimization 2016
(3.8) has a solution ⇔ there exists no 𝐴⊆𝑉 s.t. 𝑢(𝛿′(𝐴∪{𝑟}))<(𝑏𝑣: 𝑣∈𝑉, 𝑏𝑣>0) (from max-flow min-cut theorem) ⇔ (−𝑏𝑣:𝑣∉𝐴, 𝑏𝑣<0)+(𝑏𝑣:𝑣∈𝐴, 𝑏𝑣>0)+𝑢((𝐴))<(𝑏𝑣:𝑣∈𝑉, 𝑏𝑣>0) ⇔ (−𝑏𝑣:𝑣∉𝐴, 𝑏𝑣<0)+(𝑏𝑣:𝑣∈𝐴, 𝑏𝑣>0)+𝑢((𝐴))< (𝑏𝑣:𝑣∈𝐴, 𝑏𝑣>0)+(𝑏𝑣:𝑣∉𝐴, 𝑏𝑣>0) ⇔ no 𝐴 with 𝑢((𝐴))<(𝑏𝑣:𝑣∉𝐴) ⇔ for all 𝐴, have 𝑢((𝐴))≥(𝑏𝑣:𝑣∉𝐴) { or 𝑢(( 𝐴 ))≥(𝑏𝑣:𝑣∈𝐴) } 𝑉\A 𝑉\A 𝑟 𝑏𝑣 𝑠 −𝑏𝑣 𝐴 𝐴 {𝑣:𝑏𝑣<0} {𝑣:𝑏𝑣>0} There cannot be a subset of nodes whose total demand exceeds its “import capacity”. Combinatorial Optimization 2016
A circulation is a vector 𝑥∈ 𝑅 𝐸 with 𝑓𝑥(𝑣)=0 for all 𝑣∈𝑉. Thm 3.15(Gale, 1957) : There exists a solution to (3.8) ⇔ 𝑏(𝑉)=0 and, for every 𝐴⊆𝑉, 𝑏(𝐴)≤𝑢(( 𝐴 )). If 𝑏 and 𝑢 integral, then (3.8) has an integral solution iff the same conditions hold. A circulation is a vector 𝑥∈ 𝑅 𝐸 with 𝑓𝑥(𝑣)=0 for all 𝑣∈𝑉. Thm 3.17 (Hoffman’s Circulation Theorem, 1960): Given a digraph 𝐺, 𝑙∈(𝑅∪{−})𝐸, and 𝑢∈(𝑅∪{})𝐸, with 𝑙≤𝑢, There is a circulation 𝑥 with 𝑙≤𝑥≤𝑢 ⇔ every 𝐴⊆𝑉 satisfies 𝑢(( 𝐴 ))≥𝑙((𝐴)). Also for integral version. (pf) 𝑙=− ⇒ 𝑙=−𝑀 (𝑀 large integer) Let 𝑙≡0, 𝑢′≡𝑢−𝑙, 𝑥′≡𝑥−𝑙. Then 𝑓 𝑥 ′ 𝑣 =𝑓𝑥(𝑣)−𝑓𝑙(𝑣) Hence 𝑥 is a circulation ⇔ 𝑓 𝑥 ′ 𝑣 =−𝑓𝑙(𝑣) Apply Thm 3.15 with demands −𝑓𝑙(𝑣) and capacities 𝑢−𝑙 Note that (−𝑓𝑙(𝑣) :𝑣∈𝑉)=0 (nec condition for feasible flow)(why true?) So there exists a feasible circulation ⇔ for every 𝐴⊆𝑉 we have 𝑢−𝑙 𝐴 ≥−(𝑓𝑙(𝑣) :𝑣∈𝐴)=𝑙((𝐴))−𝑙( 𝐴 ) ⇒ 𝑢(( 𝐴 ))≥𝑙((𝐴)) Combinatorial Optimization 2016
Generalization of Thm 3.15 and 3.17 Thm 3.18: Given a digraph 𝐺, 𝑏∈ 𝑅 𝑉 such that 𝑏(𝑉)=0, 𝑙∈(𝑅∪{−})𝐸, and 𝑢∈(𝑅∪{})𝐸, with 𝑙≤𝑢, there exists 𝑥∈ 𝑅 𝐸 such that 𝑓𝑥(𝑣)=𝑏𝑣 , for all 𝑣∈𝑉 𝑙𝑒 ≤𝑥𝑒 ≤𝑢𝑒 , for all 𝑒∈𝐸 ⇔ every 𝐴⊆𝑉 satisfies 𝑢(( 𝐴 ))≥𝑏(𝐴)+𝑙((𝐴)) Min (𝑟, 𝑠) flow subject to lower bounds on the arcs min 𝑓𝑥(𝑠) (3.9) subject to 𝑓𝑥(𝑣)=0, for all 𝑣∈𝑉∖{𝑟, 𝑠} 𝑥𝑒≥𝑙𝑒, for all 𝑒∈𝐸. ( 𝑙≥0 ) Assume every arc 𝑒 having 𝑙𝑒>0 is in an (𝑟, 𝑠)-dipath ( o.w. there may be no feasible solution) and there is no (𝑠, 𝑟)-dipath ( o.w. may be unbounded) ⇒ There exists 𝑅, 𝑟∈𝑅, 𝑅⊆𝑉∖{𝑠} such that ( 𝑅 )=∅ ⇒ for any solution 𝑥 of (3.9), have 𝑓𝑥(𝑠)=𝑥 𝑅 −{𝑥(( 𝑅 ))}≥𝑙((𝑅)) for any 𝑅 with ( 𝑅 )=∅. (The bound can be made tight) Combinatorial Optimization 2016
Thm 3.19: (Min-Flow Max-Cut Theorem) There exists a solution to (3.9) having 𝑓𝑥(𝑠)≤𝑘 ⇔ There does not exist 𝑅⊆𝑉 with 𝑟∈𝑅, 𝑠∉𝑅, ( 𝑅 )=∅, and 𝑙 𝑅 >𝑘. Also for integral version. (pf) Add arc 𝑠𝑟 to 𝐺 with 𝑙𝑠𝑟=0, 𝑢𝑠𝑟=𝑘 and put 𝑢𝑒=∞ for all 𝑒∈𝐸. Then new 𝐺′ has a circulation ⇔ (3.9) has solution of value at most 𝑘. ⇔ There does not exist 𝐴⊆𝑉 with 𝑢(′(𝐴))<𝑙(′( 𝐴 )). Since 𝑢𝑒=∞ for all 𝑒∈𝐸, such 𝐴 satisfies (𝐴)=∅. Since 𝑙(( 𝐴 ))>0, there exists 𝑒∈( 𝐴 ) with 𝑙𝑒>0 ⇒ since there must exist an (𝑟, 𝑠)-dipath using 𝑒, we have 𝑟∈ 𝐴 , 𝑠∈𝐴. ⇒ 𝑠𝑟∈′(𝐴) ⇒ 𝑘=𝑢(′(𝐴))<𝑙(′( 𝐴 ))=𝑙(( 𝐴 )). So take 𝑅= 𝐴 . 𝑙=0, 𝑢=𝑘 𝐴( 𝑅 ) 𝐴 (𝑅) 𝑟 𝑠 Combinatorial Optimization 2016
Minimum Cuts and Linear Programming LP interpretation of the min cut problem: max 𝑓𝑥(𝑠) s.t. (𝑥𝑤𝑣:𝑤∈𝑉, 𝑤𝑣∈𝐸)−(𝑥𝑣𝑤:𝑤∈𝑉, 𝑣𝑤∈𝐸)=0, for all 𝑣∈𝑉∖{𝑟, 𝑠} 0≤𝑥𝑣𝑤≤𝑢𝑣𝑤, for all 𝑣𝑤∈𝐸 Dual Problem: min (𝑢𝑒𝑧𝑒 :𝑒∈𝐸) (3.10) s.t. −𝑦𝑣+𝑦𝑤+𝑧𝑣𝑤 ≥0, for all 𝑣𝑤∈𝐸, 𝑣, 𝑤∈𝑉∖{𝑟, 𝑠} 𝑦𝑤+𝑧𝑣𝑤≥0, for all 𝑟𝑤∈𝐸 − 𝑦𝑣+𝑧𝑣𝑟 ≥0, for all 𝑣𝑟∈𝐸 − 𝑦𝑣+𝑧𝑣𝑠≥1, for all 𝑣𝑠∈𝐸 𝑦𝑤+𝑧𝑠𝑤≥−1, for all 𝑠𝑤∈𝐸 𝑧𝑒≥0, for all 𝑒∈𝐸 Define 𝑦𝑟=0, 𝑦𝑠=−1, we can unify the constraints as −𝑦𝑣+𝑦𝑤+𝑧𝑣𝑤≥0, for all 𝑣𝑤∈𝐸 Then add 1 to each 𝑦𝑣 (dual feasibility not changed) Combinatorial Optimization 2016
−𝑦𝑣+𝑦𝑤+𝑧𝑣𝑤≥0, for all 𝑣𝑤∈𝐸 𝑧𝑒 ≥0, for all 𝑒∈𝐸 min (𝑢𝑒𝑧𝑒 :𝑒∈𝐸) (3.11) s.t. 𝑦𝑟=1, 𝑦𝑠=0 −𝑦𝑣+𝑦𝑤+𝑧𝑣𝑤≥0, for all 𝑣𝑤∈𝐸 𝑧𝑒 ≥0, for all 𝑒∈𝐸 Thm 3.20: If (3.11) has an optimal solution, it has one of the form: For some (𝑟, 𝑠)-cut (𝑅), 𝑦 is the characteristic vector of 𝑅 and 𝑧 is the characteristic vector of (𝑅). (pf) Choose (𝑅) to be a min cut. Then (𝑦, 𝑧) feasible to (3.11) and objective value is 𝑢𝑒𝑧𝑒 :𝑒∈𝐸 =𝑢 𝑅 = max flow value By LP duality, this is optimal to (3.11) and (3.10) (See a different proof in the text.) We may identify the cut using the bounded variable simplex method applied to a converted problem. Note that a spanning tree corresponds to a maximum linearly independent columns of the network matrix. Combinatorial Optimization 2016
𝑙=0, 𝑢=∞ Basic arcs 𝑟 𝑠 𝑦𝑣=1 𝑦𝑣=0 𝑅 Add arc 𝑠𝑟 with 𝑙𝑠𝑟=0, 𝑢𝑠𝑟=∞, and max 𝑥𝑠𝑟 subject to 𝑓𝑥(𝑣)=0 for all 𝑣∈𝑉. Add artificial variable 𝑥𝑎 with 𝑙=𝑢=0 and objective coefficient 0 to the constraint corresponding to node 𝑠. As explained earlier, the artificial variable is always in the basis, hence dual variable 𝑦𝑠=0 in a b.f.s. (from 𝑦′𝐴𝑗= 𝑐 𝑗 for basic variables) If flow value is positive 𝑥𝑠𝑟 is always in the basis, hence the spanning tree basis can be divided into two parts. Assigning 𝑦𝑣=1 for 𝑣∈𝑅, 0 for 𝑣∈ 𝑅 satisfies 𝑦′𝐴𝑗=𝑐𝑗 for basic arcs (We have −𝑦𝑣+𝑦𝑤=0 ) If current LP solution is optimal, the arcs in (𝑅) are at their upper bounds and the arcs in ( 𝑅 ) at 0 (and nonbasic). (at opt sol, have 𝑥 𝑒 = 𝑢 𝑒 when 𝑐 𝑒 −𝑦′ 𝐴 𝑒 >0, and 𝑥 𝑒 =0 when 𝑐 𝑒 −𝑦′ 𝐴 𝑒 <0 for nonbasic 𝑥 𝑒 ) Combinatorial Optimization 2016
Different interpretation: min (𝑢𝑒𝑧𝑒 :𝑒∈𝐸) (3.12) subject to (𝑧𝑒 :𝑒∈𝑃)≥1, for all arc-sets P of simple (𝑟, 𝑠)-dipaths 𝑧𝑒≥0, for all 𝑒∈𝐸 Thm 3.21: If (3.12) has an optimal solution, then it has one that is the characteristic vector of an (𝑟, 𝑠)-cut (pf) (3.12) has a feasible solution and it is unbounded if some 𝑢𝑒<0, so assume that 𝑢≥0. Choose 𝑧′ to be the characteristic vector of min cut (𝑅). Dual of (3.12) is max (𝑤𝑃 :𝑃 a simple (𝑟, 𝑠)-dipath) (3.13) s.t. (𝑤𝑃 :𝑒 an arc of 𝑃)≤𝑢𝑒, for all 𝑒∈𝐸 𝑤𝑃≥0 , for all 𝑃 a simple (𝑟, 𝑠)-dipath Let 𝑥 be a max flow. Find simple (𝑟, 𝑠)-dipath 𝑃 such that 𝑥𝑒>0 for each arc of 𝑃, put 𝑤𝑃= min value of 𝑥𝑒 on 𝑃, subtract 𝑤𝑃 from 𝑥𝑒 for each arc 𝑒 of 𝑃. Repeat until 𝑓𝑥(𝑠)=0, at which point 𝑤𝑃= max flow value. Then, 𝑤 is feasible to (3.13) and since 𝑤𝑃=(𝑢𝑒𝑧𝑒′), 𝑧′ is optimal to (3.12). Combinatorial Optimization 2016
Thm 3.21 implies that the cut polyhedron defined by (3.12) is integral Similar result also holds for path polyhedron. For the polyhedron (𝑥𝑒 :𝑒∈𝐶)≥1, for all arc-sets 𝐶 of (𝑟, 𝑠)-cuts 𝑥𝑒≥0, for all 𝑒∈𝐸 Extreme points are incidence vectors of simple (𝑟, 𝑠)-dipaths (may be seen from results for blocking polyhedron) Let 𝑃={𝑥∈ 𝑅 + 𝑛 :𝐴𝑥≥1}, where 𝐴 is a nonnegative matrix. Then the blocking polyhedron of 𝑃 is defined as 𝑃 𝐵 ={𝜋∈ 𝑅 + 𝑛 : 𝜋𝑥≥1 ∀𝑥∈𝑃} Then 𝑃 𝐵 ={𝜋∈ 𝑅 + 𝑛 :𝐵𝜋≥1}, where rows of 𝐵 are extreme points of 𝑃. Also 𝑃 𝐵 𝐵 =𝑃. Here, each row of 𝐴 is the incidence vector of a simple 𝑟, 𝑠 −dipath. Each row of 𝐵 is the incidence vector of a 𝑟,𝑠 −cut. (no more details here.) Combinatorial Optimization 2016