Download presentation
1
Polyhedral Optimization Lecture 3 – Part 2
M. Pawan Kumar Slides available online
2
Outline Operations on Matroids Maximum Weight Independent Set
Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
3
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?
4
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
5
Example – Uniform Matroid
S = {1, 2, 3, 4} k = 3 t = 2 t-Truncation denoted by M’ Is {1, 2} independent in M’ ? YES
6
Example – Uniform Matroid
S = {1, 2, 3, 4} k = 3 t = 2 t-Truncation denoted by M’ Is {1} independent in M’ ? YES
7
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
8
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
9
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
10
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’
11
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
12
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? NO
13
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6 t = 3 t-Truncation denoted by M’ Independent in M’ ? YES
14
Outline Operations on Matroids Maximum Weight Independent Set
Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
15
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?
16
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
17
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
18
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
19
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
20
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
21
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
22
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6
23
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’
24
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
25
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? NO
26
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after deletion of s denoted by M’ Independent in M’ ? YES
27
Effect on Rank Function
M = (S, I) M\s = (S-s, I’) rM\s(X) = rM(X), for all X ⊆ S-s Proof?
28
Outline Operations on Matroids Maximum Weight Independent Set
Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
29
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?
30
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
31
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
32
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
33
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
34
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
35
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
36
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
37
Example – Graphic Matroid
v0 v1 v4 v2 v5 v3 v6
38
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’
39
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
40
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? NO
41
Example – Graphic Matroid
v0 v1 v4 s v2 v5 v3 v6 Matroid after contraction of s denoted by M’ Independent in M’ ? YES
42
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?
43
Outline Operations on Matroids Maximum Weight Independent Set
Truncation Deletion Contraction Duality of Deletion and Contraction Maximum Weight Independent Set Polytopes
44
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
45
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.
46
Outline Operations on Matroids Maximum Weight Independent Set
Polytopes
47
Independent Set Matroid M = (S, I) X ⊆ S is independent if X I
X ⊆ S is dependent if X ∉ I
48
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
49
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)
50
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}
51
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
52
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 Forest X 5 v2 v5 3 2 v3 v6 4
53
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
54
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)
55
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)
56
True or False There exists an optimal solution
that is a base of the matroid TRUE
57
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?
58
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?
59
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
60
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Feasible Solutions? 3 2 v3 v6 4
61
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Optimal Solution? 3 2 v3 v6 4
62
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 Efficient Algorithm? 3 2 v3 v6 4
63
Outline Operations on Matroids Maximum Weight Independent Set
Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
64
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
65
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
66
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
67
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
68
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
69
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
70
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
71
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
72
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
73
Example (Uniform Matroid)
s w(s) 1 10 2 5 3 4 6 7 12 8 9 S = {1,2,…,9} k = 4
74
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
75
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
76
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
77
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
78
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
79
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
80
Example (Graphic Matroid)
v0 S = E 2 6 v1 v4 2 3 1 5 v2 v5 3 2 v3 v6 4
81
Outline Operations on Matroids Maximum Weight Independent Set
Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
82
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
83
Independence Testing Oracle
Efficiency depends on independence testing Brute-force is not an option Uniform matroid? Graphic matroid?
84
Outline Operations on Matroids Maximum Weight Independent Set
Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
85
Optimality: Necessity
(S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm Proof?
86
Proof Sketch Matroid M = (S, I) Proof by induction Current solution X
X is part of optimal solution B (base of M)
87
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
88
Outline Operations on Matroids Maximum Weight Independent Set
Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
89
Optimality: Sufficiency
(S, I) is a matroid ⟹ (S, I) admits an optimal greedy algorithm Proof?
90
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
91
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)
92
Outline Operations on Matroids Maximum Weight Independent Set
Greedy Algorithm Efficiency Optimality: Necessity Optimality: Sufficiency Extensions Polytopes
93
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
94
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
95
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
96
Outline Operations on Matroids Maximum Weight Independent Set
Polytopes
97
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
98
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?
99
Example (Graphic Matroid)
v0 S = E e1 e2 v1 v4 e4 e5 e3 X ⊆ S e6 v2 v5 e7 e9 v3 v6 e8
100
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
101
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
102
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)}
103
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)}
104
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
105
Outline Operations on Matroids Maximum Weight Independent Set
Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
106
Independent Set Polytope
Matroid M = (S, I) Convex Hull Ax ≤ b vX ∈ {0,1}|S|, X ∈ I x ∈ Real|S|
107
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?
108
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?
109
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
110
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
111
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
112
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
113
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
114
Outline Operations on Matroids Maximum Weight Independent Set
Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
115
Convex Hull Ax ≤ b Base Polytope Matroid M = (S, I)
vX ∈ {0,1}|S|, X ∈ B x ∈ Real|S|
116
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
117
Outline Operations on Matroids Maximum Weight Independent Set
Polytopes Independent Set Polytope Base Polytope Spanning Set Polytope
118
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*
119
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
120
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
121
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
122
Questions?
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.