Download presentation
Presentation is loading. Please wait.
Published byPhoebe Cook Modified over 8 years ago
1
Submodularity Reading Group Matroid Polytopes, Polymatroid M. Pawan Kumar http://www.robots.ox.ac.uk/~oval/
2
Linear Programming Matroid Polytopes Polymatroid Outline
3
Polyhedron Ax ≤ b A : m x n matrix b: m x 1 vector
4
Bounded Polyhedron = Polytope Ax ≤ b A : m x n matrix b: m x 1 vector
5
Vertex z is a vertex of P = {x, Ax ≤ b} z is not a convex combination of two points in P There does not exist x, y ∈ P and 0 < λ < 1 x ≠ z and y ≠ z such that z = λ x + (1-λ) y
6
Vertex z is a vertex of P = {x, Ax ≤ b} A z is a submatrix of A Contains all rows of A such that a i T z = b i Recall A is an m x n matrix
7
Vertex z is a vertex of P Rank of A z = n Proof? See “hidden” slides
8
Proof Sketch: Necessity Let z be a vertex of P Suppose rank(A z ) < nA z c = 0 for some c ≠ 0 Then there exists a d > 0 such that z - dc ∈ Pz + dc ∈ P Contradiction
9
Proof Sketch: Sufficiency Suppose rank(A z ) = n but z is not a vertex of P z = (x+y)/2 for some x, y ∈ P, x ≠ y ≠ z For each a in A z Implies A z (x-y) = 0Contradiction a T x ≤ b = a T za T y ≤ b = a T z
10
Linear Program Maximize a linear function Over a polyhedral feasible region s.t. A x ≤ b max x c T x A: m x n matrix b: m x 1 vector c: n x 1 vector Objective function Constraints x: n x 1 vector
11
Example 4x 1 – x 2 ≤ 8 max x x 1 + x 2 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 s.t. What is c? A?b?
12
Example x 1 ≥ 0 x 2 ≥ 0
13
Example 4x 1 – x 2 = 8 x 1 ≥ 0 x 2 ≥ 0
14
Example 4x 1 – x 2 ≤ 8 x 1 ≥ 0 x 2 ≥ 0
15
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 x 1 ≥ 0 x 2 ≥ 0
16
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0
17
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 max x x 1 + x 2 x 1 + x 2 = 0
18
Example 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 max x x 1 + x 2 x 1 + x 2 = 8 Optimal solution
19
Linear Programming –Duality –LP Solutions Matroid Polytopes Polymatroid Outline
20
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. 3 x 2 x 7 x Scale the constraints, add them up 3x 1 + x 2 + 2x 3 ≤ 90 Upper bound on solution
21
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. 1 x Scale the constraints, add them up 3x 1 + x 2 + 2x 3 ≤ 36 Upper bound on solution
22
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. 1 x Scale the constraints, add them up 3x 1 + x 2 + 2x 3 ≤ 36 Tightest upper bound?
23
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. y4y4 y1y1 y2y2 y3y3 y5y5 y6y6 y 1, y 2, y 3, y 4, y 5, y 6 ≥ 0 We should be able to add up the inequalities
24
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. y4y4 y1y1 y2y2 y3y3 y5y5 y6y6 -y 1 + y 4 + 2y 5 + 4y 6 = 3 Coefficient of x 1 should be 3
25
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. y4y4 y1y1 y2y2 y3y3 y5y5 y6y6 -y 2 + y 4 + 2y 5 + y 6 = 1 Coefficient of x 2 should be 1
26
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. y4y4 y1y1 y2y2 y3y3 y5y5 y6y6 -y 3 + 3y 4 + 5y 5 + 2y 6 = 2 Coefficient of x 3 should be 2
27
Example 2x 1 + 2x 2 + 5x 3 ≤ 24 max x 3x 1 + x 2 + 2x 3 4x 1 + x 2 + 2x 3 ≤ 36 -x 1 ≤ 0, -x 2 ≤ 0, -x 3 ≤ 0 x 1 + x 2 + 3x 3 ≤ 30 s.t. y4y4 y1y1 y2y2 y3y3 y5y5 y6y6 min y 30y 4 + 24y 5 + 36y 6 Upper bound should be tightest
28
Dual min y 30y 4 + 24y 5 + 36y 6 s.t. y 1, y 2, y 3, y 4, y 5, y 6 ≥ 0 -y 1 + y 4 + 2y 5 + 4y 6 = 3 -y 2 + y 4 + 2y 5 + y 6 = 1 -y 3 + 3y 4 + 5y 5 + 2y 6 = 2 Original problem is called primal Dual of dual is primal
29
Dual s.t. A x ≤ b max x c T x
30
Dual - y T (A x – b)max x c T x min y≥0 KKT Condition?A T y = c min y≥0 bTybTy s.t. A T y = c
31
min y≥0 bTybTy s.t. A T y = c s.t. A x ≤ b max x c T x Primal Dual
32
Strong Duality min y≥0 bTybTy s.t. A T y = c s.t. A x ≤ b max x c T x Primal Dual p = d = If p ≠ ∞ or d ≠ ∞, then p = d. Skipping the proof Think back to the intuition of dual
33
Question s.t. A 1 x ≤ b 1 max x c T x A 2 x ≥ b 2 A 3 x = b 3 Dual?
34
Linear Programming –Duality –LP Solutions Matroid Polytopes Polymatroid Outline
35
Graphical Solution 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 max x x 1 + x 2 x 1 + x 2 = 8 Optimal solution at a vertex
36
Graphical Solution 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 max x x 1 x 1 = 3 Optimal solution at a vertex
37
Graphical Solution 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 max x x 2 x 2 = 6 Optimal solution at a vertex
38
Graphical Solution 4x 1 – x 2 ≤ 8 2x 1 + x 2 ≤ 10 5x 1 - 2x 2 ≥ -2 x 1 ≥ 0 x 2 ≥ 0 An optimal solution always at a vertex Proof? max x c T x
39
Dantzig (1951): Simplex Method –Search over vertices of the polyhedra –Worst-case complexity is exponential –Smoothed complexity is polynomial Khachiyan (1979, 1980): Ellipsoid Method –Polynomial time complexity –LP is a P optimization problem Karmarkar (1984): Interior-point Method –Polynomial time complexity –Competitive with Simplex Method Solving the LP
40
Plenty of standard software available Mosek (http://www.mosek.com) –C++ API –Matlab API –Python API –Free academic license Solving the LP
41
Linear Programming Matroid Polytopes Polymatroid Outline
42
Incidence Vector of Set Matroid M = (S, I ) Set X ⊆ S Incidence vector v X ∈ {0,1} |S| v X (s) = 1, if s ∈ X 0, if s ∉ X
43
Example (Uniform Matroid) S = {1,2,…,9} sw(s) 110 25 32 41 53 66 712 82 91 k = 4 X = {1, 3, 5} 101010000101010000 vX?vX?
44
Example (Graphic Matroid) v1v1 v1v1 v0v0 v0v0 v2v2 v2v2 v6v6 v6v6 v4v4 v4v4 v5v5 v5v5 v3v3 v3v3 e1e1 e2e2 e4e4 e6e6 e5e5 e3e3 e7e7 e9e9 e8e8 S = E X ⊆ S
45
Example (Graphic Matroid) v1v1 v1v1 v0v0 v0v0 v2v2 v2v2 v6v6 v6v6 v4v4 v4v4 v5v5 v5v5 v3v3 v3v3 S = E X ⊆ S vX?vX? e1e1 e2e2 e4e4 e6e6 e5e5 e3e3 e7e7 e9e9 e8e8 100100011100100011
46
Incidence Vectors of Independent Sets Convex Hull Ax ≤ b A? b?b? Matroid M = (S, I ) v X ∈ {0,1} |S|, X ∈ I
47
Linear Programming Matroid Polytopes –Independent Set Polytope –Base Polytope Polymatroid Outline
48
Independent Set Polytope Convex Hull Ax ≤ b Matroid M = (S, I ) v X ∈ {0,1} |S|, X ∈ I x ∈ Real |S|
49
Independent Set Polytope v X ∈ {0,1} |S|, X ∈ I Matroid M = (S, I ) x ∈ Real |S| x s ≥ 0, for all s ∈ S ∑ s ∈ U x s ≤ r M (U), for all U ⊆ S Necessary conditions Why? Sufficient for integral xProof?
50
Independent Set Polytope v X ∈ {0,1} |S|, X ∈ I Matroid M = (S, I ) x ∈ Real |S| x s ≥ 0, for all s ∈ S ∑ s ∈ U x s ≤ r M (U), for all U ⊆ S Necessary conditions Why? Sufficient for all xLectures slides for proof
51
Linear Programming Matroid Polytopes –Independent Set Polytope –Base Polytope Polymatroid Outline
52
Base Polytope Convex Hull Ax ≤ b Matroid M = (S, I ) v X ∈ {0,1} |S|, X ∈ B x ∈ Real |S|
53
Base Polytope v X ∈ {0,1} |S|, X ∈ B Matroid M = (S, I ) x ∈ Real |S| x s ≥ 0, for all s ∈ S ∑ s ∈ U x s ≤ r M (U), for all U ⊆ S ∑ s ∈ S x s = r M (S)
54
Linear Programming Matroid Polytopes Polymatroid Outline
55
Polymatroid Set S Real vector x of size |S|x1 Submodular function f P f = {x ≥ 0, x(U) ≤ f(U) for all U ⊆ S} EP f = {x(U) ≤ f(U) for all U ⊆ S} Polymatroid Extended Polymatroid
56
Linear Programming Matroid Polytopes Polymatroid –Tight Sets –Optimization Outline
57
Tight Sets Set SSubmodular function f EP f = {x(U) ≤ f(U) for all U ⊆ S} U is tight with respect to x ∈ EP f if x(U) = f(U) Tight sets are closed under union Tight sets are closed under intersection Proof?
58
Proof Sketch Let T and U be tight wrt x ∈ EP f ≥ x(T ∪ U) + x(T ∩ U) f(T) + f(U) ≥ f(T ∪ U) + f(T ∩ U) = x(T) + x(U) = f(T) + f(U) All inequalities must be equalities
59
Linear Programming Matroid Polytopes Polymatroid –Tight Sets –Optimization Outline
60
Primal Problem max w T x x ∈ EP f Assume f(null set) ≥ 0 Otherwise EP f is empty f(null set) can be set to 0Why? Decreasing f(null set) maintains submodularity
61
Primal Problem max w T x x ∈ EP f Assume w ≥ 0 Otherwise the optimal solution is infinityWhy?
62
Greedy Algorithm max w T x x ∈ EP f Order s 1,s 2,…,s n ∈ S such that w(s i ) ≥ w(s i+1 ) Define U i = {s 1,s 2,..,s i } x G i = f(U i ) – f(U i-1 ) x G ∈ EP f Proof?Hidden slides
63
Proof Sketch We have to show that x G (T) ≤ f(T) for all T ⊆ S Trivial when T = null set Mathematical induction on |T|
64
Proof Sketch Let k be the largest index such that s k ∈ T Clearly |T| ≤ |U k | x G (T) = x G (T\{s k }) + x G k = f(T\{s k }) + f(U k ) - f(U k-1 ) ≤ f(T) ≤ f(T\{s k }) + x G k Why? Induction Why? Submodularity Definition
65
Greedy Algorithm max w T x x ∈ EP f Order s 1,s 2,…,s n ∈ S such that w(s i ) ≥ w(s i+1 ) Define U i = {s 1,s 2,..,s i } x G i = f(U i ) – f(U i-1 ) x G is optimalProof?Hidden slides
66
Dual Problem max w T x x ∈ EP f min ∑ T y T f(T) y T ≥ 0, for all T ⊆ S ∑ T y T v T = w Let us first try to find a feasible dual solution
67
Greedy Algorithm Order s 1,s 2,…,s n ∈ S such that w(s i ) ≥ w(s i+1 ) Define U i = {s 1,s 2,..,s i } y G U i = w(s i ) - w(s i+1 ) y G is feasible y G S = w(s n ) y G T = 0, for all other T Proof? Hidden slides
68
Proof Sketch Trivially, y G ≥ 0 Consider s i ∈ S ∑ T ∋ s i y G T = ∑ j≥i y G U j = w(s i ) ∑ T y T v T = w
69
Optimality Primal feasible solution x G Dual feasible solution y G Primal value at x G = Dual value at y G Proof?Hidden slides
70
Proof Sketch w T x G = ∑ s ∈ S w(s)x G s = ∑ i ∈ {1,2,…,n} w(s i )(f(U i ) - f(U i-1 )) = ∑ i ∈ {1,2,…,n-1} f(U i )(w(s i ) - w(s i+1 )) + f(S)w(s n ) = ∑ T y G T f(T)
71
Optimality Primal feasible solution x G Dual feasible solution y G Primal value at x G = Dual value at y G Therefore, x G is an optimal primal solution And, y G is an optimal dual solution
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.