Polyhedral Optimization Lecture 3 – Part 2 M. Pawan Kumar pawan.kumar@ecp.fr Slides available online http://cvn.ecp.fr/personnel/pawan/
Outline Operations on Matroids Maximum Weight Independent Set Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
t-Truncation of Matroid M = (S, I) M’ = (S, I’) X ∈I’ if two conditions are satisfied (i) X ∈I (ii) |X| ≤ t M’ is a matroid Proof?
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 t = 2 t-Truncation denoted by M’ Is {1, 2, 3} independent in M’ ? NO
Example – Uniform Matroid S = {1, 2, 3, 4} k = 3 t = 2 t-Truncation denoted by M’ Is {1, 2} independent in M’ ? YES
Example – Uniform Matroid S = {1, 2, 3, 4} k = 3 t = 2 t-Truncation denoted by M’ Is {1} independent in M’ ? YES
Example – Linear Matroid 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
Example – Linear Matroid 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
Example – Linear Matroid 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 t = 3 t-Truncation denoted by M’ Independent in M’ ? YES
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? YES
Outline Operations on Matroids Maximum Weight Independent Set Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
Deletion M = (S, I) M\s = (S-s, I’) X ∈I’ if two conditions are satisfied (i) X ⊆ S-s (ii) X ∈I M\s is a matroid Proof?
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after deletion of s denoted by M’ Is {1, 2, 3} independent in M’ ? NO
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after deletion of s denoted by M’ Is {1, 3, 4, 5} independent in M’ ? NO
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after deletion of s denoted by M’ Is {1, 3, 4} independent in M’ ? YES
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after deletion of s denoted by M’ Independent in M’ ? YES
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? YES
Effect on Rank Function M = (S, I) M\s = (S-s, I’) rM\s(X) = rM(X), for all X ⊆ S-s Proof?
Outline Operations on Matroids Maximum Weight Independent Set Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
Contraction M = (S, I) M/s = (S-s, I’) Assume {s} ∈I X ∈I’ if two conditions are satisfied (i) X ⊆ S-s (ii) X + s ∈I M/s is a matroid Proof?
Contraction M = (S, I) M/s = (S-s, I’) Assume {s} ∉ I X ∈I’ if two conditions are satisfied (i) X ⊆ S-s (ii) X ∈I M/s is the same as M\s when {s} ∉ I
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after contraction of s is M’ Is {1, 2, 3} independent in M’ ? NO
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after contraction of s is M’ Is {1, 3, 4} independent in M’ ? NO
Example – Uniform Matroid S = {1, 2, 3, 4, 5, 6} k = 3 s = 2 Matroid after contraction of s is M’ Is {1, 4} independent in M’ ? YES
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
Example – Linear Matroid s 1 2 3 4 2 4 6 8 1 2 3 1 2 2 4 1 2 2 4 Matroid after contraction of s denoted by M’ Independent in M’ ? YES
Example – Graphic Matroid v0 v1 v4 v2 v5 v3 v6
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
Example – Graphic Matroid v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? YES
Effect on Rank Function M = (S, I) M/s = (S-s, I’) rM/s(X) = rM(X+s) – rM({s}), for all X ⊆ S-s Proof?
Outline Operations on Matroids Maximum Weight Independent Set Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
Duality (M/s)* = M*\s Proof? If {s} ∉ I, deletion doesn’t affect independence If {s} ∉ I, contraction doesn’t affect independence Proof is trivial
Duality (M/s)* = M*\s Proof? Assume {s} ∈I X is independent in (M/s)* s ∉ X ⟺ X ⊆ B1 for some base B1 of (M/s)* ⟺ X ∩ B2 = Null for some base B2 of M/s ⟺ X ∩ B3 = Null for some base B3 = B2 + s of M ⟺ X ⊆ B4 for some base B4 of M* Hence proved.
Outline Operations on Matroids Maximum Weight Independent Set Polytopes
Independent Set Matroid M = (S, I) X ⊆ S is independent if X I X ⊆ S is dependent if X ∉ I
Weight of an Independent Set Matroid M = (S, I) Weight function w: S → Non-negative Real Weight of an independent set X The sum of weight of its elements
Weight of an Independent Set Matroid M = (S, I) Weight function w: S → Non-negative Real Weight of an independent set X w(X) = ∑s∈X w(s)
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4 X = {1, 3, 5}
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4 X = {1, 3, 5} w(X)? 15
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 Forest X 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 Forest X 5 v2 v5 3 2 w(X)? v3 v6 4 10
Maximum Weight Independent Set Matroid M = (S, I) Weight function w: S → Non-negative Real Find an independent set with maximum weight maxX∈I w(X)
Maximum Weight Independent Set Matroid M = (S, I) Weight function w: S → Non-negative Real Find an independent set with maximum weight maxX∈I ∑s∈X w(s)
True or False There exists an optimal solution that is a base of the matroid TRUE
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4 Feasible Solutions?
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4 Optimal Solution?
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Feasible Solutions? 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Optimal Solution? 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Efficient Algorithm? 3 2 v3 v6 4
Outline Operations on Matroids Maximum Weight Independent Set Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
Greedy Algorithm Start with an empty set Repeat Pick a new element with maximum weight such that the new set is independent Add the element to the set Until no more elements can be added
Greedy Algorithm X ← ϕ Repeat Pick a new element with maximum weight such that the new set is independent Add the element to the set Until no more elements can be added
Greedy Algorithm X ← ϕ Repeat s* = argmaxx∈S\X w(s) such that the new set is independent Add the element to the set Until no more elements can be added
Greedy Algorithm X ← ϕ Repeat s* = argmaxx∈S\X w(s) such that X ∪ {s} ∈ I Add the element to the set Until no more elements can be added
Greedy Algorithm X ← ϕ Repeat s* = argmaxx∈S\X w(s) such that X ∪ {s} ∈ I X ← X ∪ {s} Until no more elements can be added
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Example (Graphic Matroid) v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
Outline Operations on Matroids Maximum Weight Independent Set Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
Efficiency of Greedy Algorithm X ← ϕ Repeat s* = argmaxx∈S\X w(s) O(|S|) such that X ∪ {s} ∈ I O(|S|) X ← X ∪ {s} Until no more elements can be added
Independence Testing Oracle Efficiency depends on independence testing Brute-force is not an option Uniform matroid? Graphic matroid?
Outline Operations on Matroids Maximum Weight Independent Set Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
Optimality: Necessity (S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm Proof?
Proof Sketch Matroid M = (S, I) Proof by induction Current solution X X is part of optimal solution B (base of M)
Proof Sketch Next step chooses to add s If s ∈ B, trivial Otherwise, consider base B’ such that X ∪{s} ⊆ B’ ⊆ B ∪{s} B’ = (B ∪{s})\{t} w(B’) ≥ w(B) by construction
Outline Operations on Matroids Maximum Weight Independent Set Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
Optimality: Sufficiency (S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm Proof?
Proof Sketch Matroid M = (S, I) X ∈ I Y ∈ I k = |X| < |Y| There should exist an s ∈ Y\X, X ∪{s} ∈ I Proof by contradiction
Proof Sketch Recall k = |X| k+2, if s ∈ X k+1, if s ∈ Y\X w(s) = 0, otherwise Greedy solution has weight k(k+2) w(Y) ≥ (k+1)(k+1) > k(k+2)
Outline Operations on Matroids Maximum Weight Independent Set Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
Maximum Weight Base Matroid M = (S, I) Weight function w: S → Real Find a base with maximum weight maxX∈B w(X) Does greedy work? YES
Minimum Weight Base Matroid M = (S, I) Weight function w: S → Real Find a base with minimum weight minX∈B w(X) Does greedy work? YES
Maximum Weight Independent Set Matroid M = (S, I) Weight function w: S → Real Find an independent set with maximum weight maxX∈I w(X) Does greedy work? YES
Outline Operations on Matroids Maximum Weight Independent Set Polytopes
Incidence Vector of Set Matroid M = (S, I) Set X ⊆ S Incidence vector vX ∈ {0,1}|S| 1, if s ∈ X vX(s) = 0, if s ∉ X
Example (Uniform Matroid) s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} 1 k = 4 X = {1, 3, 5} vX?
Example (Graphic Matroid) v0 S = E e1 e2 v1 v4 e4 e5 e3 X ⊆ S e6 v2 v5 e7 e9 v3 v6 e8
Example (Graphic Matroid) v0 S = E e1 e2 1 v1 v4 e4 e5 e3 X ⊆ S e6 v2 v5 e7 e9 vX? v3 v6 e8
Incidence Vectors of Independent Sets Matroid M = (S, I) Convex Hull Ax ≤ b vX ∈ {0,1}|S|, X ∈ I A? b? First, a property !! Independent Set Polytope
Maximum Weight Independent Set Matroid M = (S, I) w* = maxX∈I w(X) S = {s1,s2,…,sm}, such that w(si) ≥ w(si+1) ≥ 0 Ui = {s1,…si} Optimal solution Why? X = {si | rM(Ui) > rM(Ui-1)}
Maximum Weight Independent Set Matroid M = (S, I) w* = maxX∈I w(X) w(X) = ∑s∈X w(s) = ∑i w(si)(rM(Ui)-rM(Ui-1)) = ∑i λi rM(Ui) Relationship between w and λ? w = ∑i λi vUi X = {si | rM(Ui) > rM(Ui-1)}
Maximum Weight Independent Set Matroid M = (S, I) w* = maxX∈I w(X) w(X) = w* = ∑i λi rM(Ui) such that w = ∑i λi vUi We need to remember this for what follows
Outline Operations on Matroids Maximum Weight Independent Set Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
Independent Set Polytope Matroid M = (S, I) Convex Hull Ax ≤ b vX ∈ {0,1}|S|, X ∈ I x ∈ Real|S|
Independent Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ I x ∈ Real|S| Necessary conditions Sufficient for integral x Proof? xs ≥ 0, for all s ∈ S Why? ∑s∈U xs ≤ rM(U), for all U ⊆ S Why?
Independent Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ I x ∈ Real|S| Necessary conditions Sufficient for all x Proof? xs ≥ 0, for all s ∈ S Why? ∑s∈U xs ≤ rM(U), for all U ⊆ S Why?
Independent Set Polytope miny ∑U⊆S yUrM(U) yU ≥ 0, for all U ⊆ S ∑U⊆S yUvU ≥ w Dual? maxx wTx xs ≥ 0, for all s ∈ S ∑s∈U xs ≤ rM(U), for all U ⊆ S
Independent Set Polytope miny ∑U⊆S yUrM(U) yU ≥ 0, for all U ⊆ S ∑U⊆S yUvU = w Greedy algorithm integral solution maxx wTx x’ xs ≥ 0, for all s ∈ S ∑s∈U xs ≤ rM(U), for all U ⊆ S
Independent Set Polytope miny ∑U⊆S yUrM(U) y’ yU ≥ 0, for all U ⊆ S ∑U⊆S yUvU = w Solution obtained using the property maxx wTx x’ xs ≥ 0, for all s ∈ S ∑s∈U xs ≤ rM(U), for all U ⊆ S
Independent Set Polytope miny ∑U⊆S yUrM(U) y’ yU ≥ 0, for all U ⊆ S ∑U⊆S yUvU = w Relationship between objectives for x’ and y’ ? maxx wTx x’ xs ≥ 0, for all s ∈ S ∑s∈U xs ≤ rM(U), for all U ⊆ S
Independent Set Polytope Dual upper bounds primal x’ and y’ must be optimal solutions ∑s w(s)x’s = ∑U⊆S y’UrM(U) For all integer w, we have integer optimal value Negative values in w? Hence proved
Outline Operations on Matroids Maximum Weight Independent Set Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
Convex Hull Ax ≤ b Base Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S|
Base Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S| ∑s∈S xs = rM(S) xs ≥ 0, for all s ∈ S ∑s∈U xs ≤ rM(U), for all U ⊆ S
Outline Operations on Matroids Maximum Weight Independent Set Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
Convex Hull Ax ≤ b Spanning Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ S x ∈ Real|S| S\X? Independent set of M*
Spanning Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S| xs ≥ 0, for all s ∈ S 1-xs ≥ 0, for all s ∈ S ∑s∈U (1-xs) ≤ rM*(U), for all U ⊆ S
Spanning Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S| xs ≥ 0, for all s ∈ S xs ≤ 1, for all s ∈ S ∑s∈U (1-xs) ≤ rM*(U), for all U ⊆ S
Spanning Set Polytope Matroid M = (S, I) vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S| xs ≥ 0, for all s ∈ S xs ≤ 1, for all s ∈ S ∑s∈U xs ≥ rM(S) - rM(S\U), for all U ⊆ S
Questions?