CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36

Size: px
Start display at page:

Download "CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 36"

Transcription

1 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring / 36

2 CS 473: Algorithms, Spring 2018 LP Duality Lecture 20 April 3, 2018 Some of the slides are courtesy Prof. Chekuri1 Ruta (UIUC) CS473 2 Spring / 36

3 Part I Recall Ruta (UIUC) CS473 3 Spring / 36

4 Feasible Solutions and Lower Bounds Consider the program maximize 4x 1 + 2x 2 subject to x 1 + 3x 2 5 2x 1 4x 2 10 x 1 + x 2 7 x 1 5 Ruta (UIUC) CS473 4 Spring / 36

5 Feasible Solutions and Lower Bounds Consider the program maximize 4x 1 + 2x 2 subject to x 1 + 3x 2 5 2x 1 4x 2 10 x 1 + x 2 7 x (2, 0) also feasible, and gives a better bound of 8. Ruta (UIUC) CS473 4 Spring / 36

6 Feasible Solutions and Lower Bounds Consider the program maximize 4x 1 + 2x 2 subject to x 1 + 3x 2 5 2x 1 4x 2 10 x 1 + x 2 7 x (2, 0) also feasible, and gives a better bound of 8. 2 How good is 8 when compared with σ? Ruta (UIUC) CS473 4 Spring / 36

7 Obtaining Upper Bounds 1 Let us multiply the first constraint by 2 and the and add it to second constraint 2( x 1 + 3x 2 ) 2(5) +1( 2x 1 4x 2 ) 1(10) 4x 1 + 2x Thus, 20 is an upper bound on the optimum value! Ruta (UIUC) CS473 5 Spring / 36

8 Generalizing... 1 Multiply first equation by y 1, second by y 2, third by y 3 and fourth by y 4 (all of y 1, y 2, y 3, y 4 being positive) and add y 1 ( x 1 + 3x 2 ) y 1 (5) +y 2 ( 2x 1 4x 2 ) y 2 (10) +y 3 ( x 1 + x 2 ) y 3 (7) +y 4 ( x 1 ) y 4 (5) (y 1 + 2y 2 + y 3 + y 4 )x 1 + (3y 1 4y 2 + y 3 )x y y 2 + 7y 3 + 5y 4 is an upper bound, provided coefficients of x i are same as in the objective function, i.e., y 1 + 2y 2 + y 3 + y 4 = 4 3y 1 4y 2 + y 3 = 2 3 The best upper bound is when 5y y 2 + 7y 3 + 5y 4 is minimized! Ruta (UIUC) CS473 6 Spring / 36

9 Dual LP: Example Thus, the optimum value of program maximize 4x 1 + 2x 2 subject to x 1 + 3x 2 5 2x 1 4x 2 10 x 1 + x 2 7 x 1 5 is upper bounded by the optimal value of the program minimize 5y y 2 + 7y 3 + 5y 4 subject to y 1 + 2y 2 + y 3 + y 4 = 4 3y 1 4y 2 + y 3 = 2 y 1, y 2 0 Ruta (UIUC) CS473 7 Spring / 36

10 Dual Linear Program Given a linear program Π in canonical form maximize subject to d j=1 c jx j d j=1 a ijx j b i i = 1, 2,... n the dual Dual(Π) is given by minimize subject to n i =1 b i y i n i =1 y i a ij = c j y i 0 j = 1, 2,... d i = 1, 2,... n Ruta (UIUC) CS473 8 Spring / 36

11 Dual Linear Program Given a linear program Π in canonical form maximize subject to d j=1 c jx j d j=1 a ijx j b i i = 1, 2,... n the dual Dual(Π) is given by minimize subject to n i =1 b i y i n i =1 y i a ij = c j y i 0 j = 1, 2,... d i = 1, 2,... n Proposition Dual(Dual(Π)) is equivalent to Π Ruta (UIUC) CS473 8 Spring / 36

12 Duality Theorems Theorem (Weak Duality) If x is a feasible solution to Π and y is a feasible solution to Dual(Π) then c x y b. Ruta (UIUC) CS473 9 Spring / 36

13 Duality Theorems Theorem (Weak Duality) If x is a feasible solution to Π and y is a feasible solution to Dual(Π) then c x y b. Theorem (Strong Duality) If x is an optimal solution to Π and y is an optimal solution to Dual(Π) then c x = y b. Many applications! Maxflow-Mincut theorem can be deduced from duality. Ruta (UIUC) CS473 9 Spring / 36

14 Weak Duality Theorem (Weak Duality) If x is a feasible solution to Π and y is a feasible solution to Dual(Π) then c x y b. We already saw the proof by the way we derived it but we will do it again formally. Proof. Since y is feasible in Dual(Π): y A = c Ruta (UIUC) CS Spring / 36

15 Weak Duality Theorem (Weak Duality) If x is a feasible solution to Π and y is a feasible solution to Dual(Π) then c x y b. We already saw the proof by the way we derived it but we will do it again formally. Proof. Since y is feasible in Dual(Π): y A = c Therefore c x = y Ax Ruta (UIUC) CS Spring / 36

16 Weak Duality Theorem (Weak Duality) If x is a feasible solution to Π and y is a feasible solution to Dual(Π) then c x y b. We already saw the proof by the way we derived it but we will do it again formally. Proof. Since y is feasible in Dual(Π): y A = c Therefore c x = y Ax Since x is feasible in Π, Ax b and hence, c x = y Ax y b Ruta (UIUC) CS Spring / 36

17 Strong Duality Complementary Slackness maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 Definition (Complementary Slackness) x feasible in Π and y feasible in Dual(Π), s.t., i = 1..n, y i > 0 (Ax) i = b i Ruta (UIUC) CS Spring / 36

18 Strong Duality Complementary Slackness maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 Definition (Complementary Slackness) x feasible in Π and y feasible in Dual(Π), s.t., i = 1..n, y i > 0 (Ax) i = b i Theorem (x, y ) satisfies complementary slackness Strong duality holds, i.e., c x = y b. Ruta (UIUC) CS Spring / 36

19 Strong Duality Complementary Slackness maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 Definition (Complementary Slackness) x feasible in Π and y feasible in Dual(Π), s.t., i = 1..n, y i > 0 (Ax) i = b i Theorem (x, y ) satisfies complementary slackness Strong duality holds, i.e., c x = y b. Q: Why complementary slackness is satisfied at the optimum? Ruta (UIUC) CS Spring / 36

20 Complementary Slackness: Geometric View maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 i = 1..n, y i > 0 (Ax) i = b i Ruta (UIUC) CS Spring / 36

21 Complementary Slackness: Geometric View maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 i = 1..n, y i > 0 (Ax) i = b i x : optimum vertex. Suppose first d inequalities are tight at x. Ruta (UIUC) CS Spring / 36

22 Complementary Slackness: Geometric View maximize : subject to c x Ax b Dual minimize : subject to y b ya = c y 0 i = 1..n, y i > 0 (Ax) i = b i x : optimum vertex. Suppose first d inequalities are tight at x. c is in the cone of Ruta (UIUC) CS Spring / 36

23 Optimality implies Complementary Slackness x : Optimum vertex. Ruta (UIUC) CS Spring / 36

24 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Ruta (UIUC) CS Spring / 36

25 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. Ruta (UIUC) CS Spring / 36

26 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. Ruta (UIUC) CS Spring / 36

27 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Ruta (UIUC) CS Spring / 36

28 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Suppose cone is on the negative side, and c on the positive size. If the d is the normal vector of the hyperplane, then formally, Âd < 0, c d > 0 Ruta (UIUC) CS Spring / 36

29 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Suppose cone is on the negative side, and c on the positive size. If the d is the normal vector of the hyperplane, then formally, Âd < 0, c d > 0 Also known as Farkas Lemma Ruta (UIUC) CS Spring / 36

30 Optimality implies Complementary Slackness x : Optimum vertex. Ruta (UIUC) CS Spring / 36

31 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Ruta (UIUC) CS Spring / 36

32 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Choose v. v. tiny ɛ > 0 such that Ã(x + ɛd) b. Â(x + ɛd) = Âx + ɛâd < ˆb Ruta (UIUC) CS Spring / 36

33 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Choose v. v. tiny ɛ > 0 such that Ã(x + ɛd) b. Â(x + ɛd) = Âx + ɛâd < ˆb (x + ɛd) is feasible in Π Ruta (UIUC) CS Spring / 36

34 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Choose v. v. tiny ɛ > 0 such that Ã(x + ɛd) b. Â(x + ɛd) = Âx + ɛâd < ˆb (x + ɛd) is feasible in Π c (x + ɛd) = c x + ɛ(c d) Ruta (UIUC) CS Spring / 36

35 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Choose v. v. tiny ɛ > 0 such that Ã(x + ɛd) b. Â(x + ɛd) = Âx + ɛâd < ˆb (x + ɛd) is feasible in Π c (x + ɛd) = c x + ɛ(c d) > c x Ruta (UIUC) CS Spring / 36

36 Optimality implies Complementary Slackness x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Suppose c is NOT in the cone of rows of Â. There exists a hyperplane separating c from the cone. Âd < 0, c d > 0 Also known as Farkas Lemma Choose v. v. tiny ɛ > 0 such that Ã(x + ɛd) b. Â(x + ɛd) = Âx + ɛâd < ˆb (x + ɛd) is feasible in Π c (x + ɛd) = c x + ɛ(c d) > c x x is NOT optimum! Ruta (UIUC) CS Spring / 36

37 Proof of Strong Duality x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Then c IS in the cone of rows of Â. Ruta (UIUC) CS Spring / 36

38 Proof of Strong Duality x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Then c IS in the cone of rows of Â. y feasible in Dual(Π) such that (x, y ) satisfies complementary slackness. Ruta (UIUC) CS Spring / 36

39 Proof of Strong Duality x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Then c IS in the cone of rows of Â. y feasible in Dual(Π) such that (x, y ) satisfies complementary slackness. (x, y ) satisfies strong duality, c x = y b. Ruta (UIUC) CS Spring / 36

40 Proof of Strong Duality x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Then c IS in the cone of rows of Â. y feasible in Dual(Π) such that (x, y ) satisfies complementary slackness. (x, y ) satisfies strong duality, c x = y b. (implies y optimal in Dual(Π)). Ruta (UIUC) CS Spring / 36

41 Proof of Strong Duality x : Optimum vertex. First d inequalities tight at x. Ax b splits into Âx = ˆb, Ãx < b Then c IS in the cone of rows of Â. y feasible in Dual(Π) such that (x, y ) satisfies complementary slackness. (x, y ) satisfies strong duality, c x = y b. (implies y optimal in Dual(Π)). Theorem (Strong Duality) If x is an optimal solution to Π and y is an optimal solution to Dual(Π) then c x = y b. Ruta (UIUC) CS Spring / 36

42 Optimization vs Feasibility Suppose we want to solve LP of the form: max cx subject to Ax b It is an optimization problem. Can we reduce it to a decision problem? Ruta (UIUC) CS Spring / 36

43 Optimization vs Feasibility Suppose we want to solve LP of the form: max cx subject to Ax b It is an optimization problem. Can we reduce it to a decision problem? Yes, via binary search. Find the largest values of σ such that the system of inequalities Ax b, cx σ is feasible. Feasible implies that there is at least one solution. Ruta (UIUC) CS Spring / 36

44 Optimization vs Feasibility Suppose we want to solve LP of the form: max cx subject to Ax b It is an optimization problem. Can we reduce it to a decision problem? Yes, via binary search. Find the largest values of σ such that the system of inequalities Ax b, cx σ is feasible. Feasible implies that there is at least one solution. Caveat: to do binary search need to know the range of numbers. Skip for now since we need to worry about precision issues etc. Ruta (UIUC) CS Spring / 36

45 Certificate for (in)feasibility Suppose we have a system of m inequalities in n variables defined by Ax b How can we convince some one that there is a feasible solution? How can we convince some one that there is no feasible solution? Ruta (UIUC) CS Spring / 36

46 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. Ruta (UIUC) CS Spring / 36

47 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya) Ruta (UIUC) CS Spring / 36

48 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya)x = y(ax) = Ruta (UIUC) CS Spring / 36

49 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya)x = y(ax) = y b < 0! Ruta (UIUC) CS Spring / 36

50 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya)x = y(ax) = y b < 0! (possibly) the Dual is unbounded! Ruta (UIUC) CS Spring / 36

51 Theorem of the Alternatives Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya)x = y(ax) = y b < 0! (possibly) the Dual is unbounded! The preceding theorem can also be used to prove strong duality. Ruta (UIUC) CS Spring / 36

52 Theorem of the Alternatives Farkas lemma is another such theorem. These are related. Ruta (UIUC) CS Spring / 36 Theorem Let A R m n and b R m. Exactly one of the following two holds (i) The system Ax b is feasible. (ii) There is a y R m such that y 0 and ya = 0 and yb < 0. In other words, if Ax b is infeasible we can demonstrate it as follows: Find a non-negative combination of the rows of A (given by certificate y) to get a contradiction 0 < 0. 0 = (ya)x = y(ax) = y b < 0! (possibly) the Dual is unbounded! The preceding theorem can also be used to prove strong duality.

53 Duality for another canonical form Compactly, for the primal LP Π max c x subject to Ax b, x 0 the dual LP is Dual(Π) min y b subject to ya c, y 0 Definition (Complementary Slackness) x feasible in Π and y feasible in Dual(Π), s.t., i = 1,..., n, y i > 0 (Ax) i = b i j = 1,..., d, x j > 0 (ya) j = c j Ruta (UIUC) CS Spring / 36

54 In General... from Jeff s notes Ruta (UIUC) CS Spring / 36

55 Some Useful Duality Properties Assume primal LP is a maximization LP. For a given LP, Dual is another LP. The variables in the dual correspond to non-trival primal constraints and vice-versa. Dual of the dual LP give us back the primal LP. Weak and strong duality theorems. Ruta (UIUC) CS Spring / 36

56 Some Useful Duality Properties Assume primal LP is a maximization LP. For a given LP, Dual is another LP. The variables in the dual correspond to non-trival primal constraints and vice-versa. Dual of the dual LP give us back the primal LP. Weak and strong duality theorems. If primal is unbounded (objective achieves infinity) then dual LP is infeasible. Why? If dual LP had a feasible solution it would upper bound the primal LP which is not possible. Ruta (UIUC) CS Spring / 36

57 Some Useful Duality Properties Assume primal LP is a maximization LP. For a given LP, Dual is another LP. The variables in the dual correspond to non-trival primal constraints and vice-versa. Dual of the dual LP give us back the primal LP. Weak and strong duality theorems. If primal is unbounded (objective achieves infinity) then dual LP is infeasible. Why? If dual LP had a feasible solution it would upper bound the primal LP which is not possible. Primal and dual optimum solutions satisfy complementary slackness conditions (discussed soon). Ruta (UIUC) CS Spring / 36

58 Part II Examples of Duality Ruta (UIUC) CS Spring / 36

59 Network flow s-t flow in directed graph G = (V, E) with capacities c. Assume for simplicity that no incoming edges into s. max x(s, v) (s,v) E x(u, v) x(v, w) = 0 v V \ {s, t} (u,v) E (v,w) E x(u, v) c(u, v) (u, v) E x(u, v) 0 (u, v) E. Ruta (UIUC) CS Spring / 36

60 Network flow: Equivalent formulation Directed graph G = (V, E), with capacities on edges. Add a t to s edge with infinite capacity. Now maximize flow on this edge. max x(t, s) x(u, v) x(v, w) = 0 v V (u,v) E (v,w) E x(u, v) c(u, v) (u, v) E \ (t, s) x(u, v) 0 (u, v) E. Ruta (UIUC) CS Spring / 36

61 Dual of Network Flow Ruta (UIUC) CS Spring / 36

62 Part III Integer Linear Programming Ruta (UIUC) CS Spring / 36

63 Integer Linear Programming Problem Find a vector x Z d (integer values) that maximize subject to d j=1 c jx j d j=1 a ijx j b i for i = 1... n Input is matrix A = (a ij ) R n d, column vector b = (b i ) R n, and row vector c = (c j ) R d Ruta (UIUC) CS Spring / 36

64 Factory Example maximize x 1 + 6x 2 subject to x x x 1 + x x 1, x 2 0 Suppose we want x 1, x 2 to be integer valued. Ruta (UIUC) CS Spring / 36

65 Factory Example Figure x x Feasible values of x 1 and x 2 are integer points in shaded region 2 Optimization function is a line; moving the line until it just leaves the final integer point in feasible region, gives optimal values Ruta (UIUC) CS Spring / 36

66 Factory Example Figure x x Feasible values of x 1 and x 2 are integer points in shaded region 2 Optimization function is a line; moving the line until it just leaves the final integer point in feasible region, gives optimal values Ruta (UIUC) CS Spring / 36

67 Factory Example Figure x x Feasible values of x 1 and x 2 are integer points in shaded region 2 Optimization function is a line; moving the line until it just leaves the final integer point in feasible region, gives optimal values Ruta (UIUC) CS Spring / 36

68 Integer Programming Can model many difficult discrete optimization problems as integer programs! Therefore integer programming is a hard problem. NP-hard. Ruta (UIUC) CS Spring / 36

69 Integer Programming Can model many difficult discrete optimization problems as integer programs! Therefore integer programming is a hard problem. NP-hard. Can relax integer program to linear program and approximate. Ruta (UIUC) CS Spring / 36

70 Integer Programming Can model many difficult discrete optimization problems as integer programs! Therefore integer programming is a hard problem. NP-hard. Can relax integer program to linear program and approximate. Practice: integer programs are solved by a variety of methods 1 branch and bound 2 branch and cut 3 adding cutting planes 4 linear programming plays a fundamental role Ruta (UIUC) CS Spring / 36

71 Example: Maximum Independent Set Definition Given undirected graph G = (V, E) a subset of nodes S V is an independent set (also called a stable set) if for there are no edges between nodes in S. That is, if u, v S then (u, v) E. Input Graph G = (V, E) Goal Find maximum sized independent set in G Ruta (UIUC) CS Spring / 36

72 Example: Dominating Set Definition Given undirected graph G = (V, E) a subset of nodes S V is a dominating set if for all v V, either v S or a neighbor of v is in S. Input Graph G = (V, E), weights w(v) 0 for v V Goal Find minimum weight dominating set in G Ruta (UIUC) CS Spring / 36

73 Example: s-t minimum cut and implicit constraints Input Graph G = (V, E), edge capacities c(e), e E. s, t V Goal Find minimum capacity s-t cut in G. Ruta (UIUC) CS Spring / 36

74 Linear Programs with Integer Vertices Suppose we know that for a linear program all vertices have integer coordinates. Ruta (UIUC) CS Spring / 36

75 Linear Programs with Integer Vertices Suppose we know that for a linear program all vertices have integer coordinates. Then solving linear program is same as solving integer program. We know how to solve linear programs efficiently (polynomial time) and hence we get an integer solution for free! Ruta (UIUC) CS Spring / 36

76 Linear Programs with Integer Vertices Suppose we know that for a linear program all vertices have integer coordinates. Then solving linear program is same as solving integer program. We know how to solve linear programs efficiently (polynomial time) and hence we get an integer solution for free! Luck or Structure: 1 Linear program for flows with integer capacities have integer vertices 2 Linear program for matchings in bipartite graphs have integer vertices 3 A complicated linear program for matchings in general graphs have integer vertices. All of above problems can hence be solved efficiently. Ruta (UIUC) CS Spring / 36

77 Linear Programs with Integer Vertices Meta Theorem: A combinatorial optimization problem can be solved efficiently if and only if there is a linear program for problem with integer vertices. Consequence of the Ellipsoid method for solving linear programming. In a sense linear programming and other geometric generalizations such as convex programming are the most general problems that we can solve efficiently. Ruta (UIUC) CS Spring / 36

78 Summary 1 Linear Programming is a useful and powerful (modeling) problem. Ruta (UIUC) CS Spring / 36

79 Summary 1 Linear Programming is a useful and powerful (modeling) problem. 2 Can be solved in polynomial time. Practical solvers available commercially as well as in open source. Whether there is a strongly polynomial time algorithm is a major open problem. Ruta (UIUC) CS Spring / 36

80 Summary 1 Linear Programming is a useful and powerful (modeling) problem. 2 Can be solved in polynomial time. Practical solvers available commercially as well as in open source. Whether there is a strongly polynomial time algorithm is a major open problem. 3 Geometry and linear algebra are important to understand the structure of LP and in algorithm design. Vertex solutions imply that LPs have poly-sized optimum solutions. This implies that LP is in NP. Ruta (UIUC) CS Spring / 36

81 Summary 1 Linear Programming is a useful and powerful (modeling) problem. 2 Can be solved in polynomial time. Practical solvers available commercially as well as in open source. Whether there is a strongly polynomial time algorithm is a major open problem. 3 Geometry and linear algebra are important to understand the structure of LP and in algorithm design. Vertex solutions imply that LPs have poly-sized optimum solutions. This implies that LP is in NP. 4 Duality is a critical tool in the theory of linear programming. Duality implies the Linear Programming is in co-np. Do you see why? Ruta (UIUC) CS Spring / 36

82 Summary 1 Linear Programming is a useful and powerful (modeling) problem. 2 Can be solved in polynomial time. Practical solvers available commercially as well as in open source. Whether there is a strongly polynomial time algorithm is a major open problem. 3 Geometry and linear algebra are important to understand the structure of LP and in algorithm design. Vertex solutions imply that LPs have poly-sized optimum solutions. This implies that LP is in NP. 4 Duality is a critical tool in the theory of linear programming. Duality implies the Linear Programming is in co-np. Do you see why? 5 Integer Programming in NP-Complete. LP-based techniques critical in heuristically solving integer programs. Ruta (UIUC) CS Spring / 36

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 29 CS 473: Algorithms, Spring 2018 Simplex and LP Duality Lecture 19 March 29, 2018

More information

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 50 CS 473: Algorithms, Spring 2018 Introduction to Linear Programming Lecture 18 March

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

1 Linear programming relaxation

1 Linear programming relaxation Cornell University, Fall 2010 CS 6820: Algorithms Lecture notes: Primal-dual min-cost bipartite matching August 27 30 1 Linear programming relaxation Recall that in the bipartite minimum-cost perfect matching

More information

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1 Duality Primal program P: Maximize n j=1 c jx j subject to n a ij x j b i, i = 1, 2,..., m j=1 x j 0, j = 1, 2,..., n Dual program D: Minimize m i=1 b iy i subject to m a ij x j c j, j = 1, 2,..., n i=1

More information

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality 6.854 Advanced Algorithms Scribes: Jay Kumar Sundararajan Lecturer: David Karger Duality This lecture covers weak and strong duality, and also explains the rules for finding the dual of a linear program,

More information

Combinatorial Optimization

Combinatorial Optimization Combinatorial Optimization Frank de Zeeuw EPFL 2012 Today Introduction Graph problems - What combinatorial things will we be optimizing? Algorithms - What kind of solution are we looking for? Linear Programming

More information

Lecture 5: Duality Theory

Lecture 5: Duality Theory Lecture 5: Duality Theory Rajat Mittal IIT Kanpur The objective of this lecture note will be to learn duality theory of linear programming. We are planning to answer following questions. What are hyperplane

More information

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :)

Outline. Combinatorial Optimization 2. Finite Systems of Linear Inequalities. Finite Systems of Linear Inequalities. Theorem (Weyl s theorem :) Outline Combinatorial Optimization 2 Rumen Andonov Irisa/Symbiose and University of Rennes 1 9 novembre 2009 Finite Systems of Linear Inequalities, variants of Farkas Lemma Duality theory in Linear Programming

More information

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

1. Lecture notes on bipartite matching February 4th,

1. Lecture notes on bipartite matching February 4th, 1. Lecture notes on bipartite matching February 4th, 2015 6 1.1.1 Hall s Theorem Hall s theorem gives a necessary and sufficient condition for a bipartite graph to have a matching which saturates (or matches)

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Linear programming and duality theory

Linear programming and duality theory Linear programming and duality theory Complements of Operations Research Giovanni Righini Linear Programming (LP) A linear program is defined by linear constraints, a linear objective function. Its variables

More information

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel.

Problem set 2. Problem 1. Problem 2. Problem 3. CS261, Winter Instructor: Ashish Goel. CS261, Winter 2017. Instructor: Ashish Goel. Problem set 2 Electronic submission to Gradescope due 11:59pm Thursday 2/16. Form a group of 2-3 students that is, submit one homework with all of your names.

More information

Linear Programming: Introduction

Linear Programming: Introduction CSC 373 - Algorithm Design, Analysis, and Complexity Summer 2016 Lalla Mouatadid Linear Programming: Introduction A bit of a historical background about linear programming, that I stole from Jeff Erickson

More information

Dual-fitting analysis of Greedy for Set Cover

Dual-fitting analysis of Greedy for Set Cover Dual-fitting analysis of Greedy for Set Cover We showed earlier that the greedy algorithm for set cover gives a H n approximation We will show that greedy produces a solution of cost at most H n OPT LP

More information

Linear Programming. Larry Blume. Cornell University & The Santa Fe Institute & IHS

Linear Programming. Larry Blume. Cornell University & The Santa Fe Institute & IHS Linear Programming Larry Blume Cornell University & The Santa Fe Institute & IHS Linear Programs The general linear program is a constrained optimization problem where objectives and constraints are all

More information

Linear Programming Motivation: The Diet Problem

Linear Programming Motivation: The Diet Problem Agenda We ve done Greedy Method Divide and Conquer Dynamic Programming Network Flows & Applications NP-completeness Now Linear Programming and the Simplex Method Hung Q. Ngo (SUNY at Buffalo) CSE 531 1

More information

11 Linear Programming

11 Linear Programming 11 Linear Programming 11.1 Definition and Importance The final topic in this course is Linear Programming. We say that a problem is an instance of linear programming when it can be effectively expressed

More information

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018 Section Notes 4 Duality, Sensitivity, and the Dual Simplex Algorithm Applied Math / Engineering Sciences 121 Week of October 8, 2018 Goals for the week understand the relationship between primal and dual

More information

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Civil Engineering Systems Analysis Lecture XIV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Today s Learning Objectives Dual 2 Linear Programming Dual Problem 3

More information

Lecture 6: Faces, Facets

Lecture 6: Faces, Facets IE 511: Integer Programming, Spring 2019 31 Jan, 2019 Lecturer: Karthik Chandrasekaran Lecture 6: Faces, Facets Scribe: Setareh Taki Disclaimer: These notes have not been subjected to the usual scrutiny

More information

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014 5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38

More information

Lecture 14: Linear Programming II

Lecture 14: Linear Programming II A Theorist s Toolkit (CMU 18-859T, Fall 013) Lecture 14: Linear Programming II October 3, 013 Lecturer: Ryan O Donnell Scribe: Stylianos Despotakis 1 Introduction At a big conference in Wisconsin in 1948

More information

Heuristic Optimization Today: Linear Programming. Tobias Friedrich Chair for Algorithm Engineering Hasso Plattner Institute, Potsdam

Heuristic Optimization Today: Linear Programming. Tobias Friedrich Chair for Algorithm Engineering Hasso Plattner Institute, Potsdam Heuristic Optimization Today: Linear Programming Chair for Algorithm Engineering Hasso Plattner Institute, Potsdam Linear programming Let s first define it formally: A linear program is an optimization

More information

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way. University of Southern California Viterbi School of Engineering Daniel J. Epstein Department of Industrial and Systems Engineering ISE 330: Introduction to Operations Research - Deterministic Models Fall

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007

College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 College of Computer & Information Science Fall 2007 Northeastern University 14 September 2007 CS G399: Algorithmic Power Tools I Scribe: Eric Robinson Lecture Outline: Linear Programming: Vertex Definitions

More information

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

Notes for Lecture 20

Notes for Lecture 20 U.C. Berkeley CS170: Intro to CS Theory Handout N20 Professor Luca Trevisan November 13, 2001 Notes for Lecture 20 1 Duality As it turns out, the max-flow min-cut theorem is a special case of a more general

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Group Members: 1. Geng Xue (A0095628R) 2. Cai Jingli (A0095623B) 3. Xing Zhe (A0095644W) 4. Zhu Xiaolu (A0109657W) 5. Wang Zixiao (A0095670X) 6. Jiao Qing (A0095637R) 7. Zhang

More information

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms 1. Computability, Complexity and Algorithms Given a simple directed graph G = (V, E), a cycle cover is a set of vertex-disjoint directed cycles that cover all vertices of the graph. 1. Show that there

More information

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm Instructor: Shaddin Dughmi Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization

More information

Linear Programming. Course review MS-E2140. v. 1.1

Linear Programming. Course review MS-E2140. v. 1.1 Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Combinatorial Optimization G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 1 GG A.I. 1/34 Outline 1 Motivation 2 Geometric resolution

More information

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs

Approximation slides 1. An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 1 An optimal polynomial algorithm for the Vertex Cover and matching in Bipartite graphs Approximation slides 2 Linear independence A collection of row vectors {v T i } are independent

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans February 5, 2017 1. Lecture notes on bipartite matching Matching problems are among the fundamental problems in

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

Advanced Algorithms Linear Programming

Advanced Algorithms Linear Programming Reading: Advanced Algorithms Linear Programming CLRS, Chapter29 (2 nd ed. onward). Linear Algebra and Its Applications, by Gilbert Strang, chapter 8 Linear Programming, by Vasek Chvatal Introduction to

More information

LECTURES 3 and 4: Flows and Matchings

LECTURES 3 and 4: Flows and Matchings LECTURES 3 and 4: Flows and Matchings 1 Max Flow MAX FLOW (SP). Instance: Directed graph N = (V,A), two nodes s,t V, and capacities on the arcs c : A R +. A flow is a set of numbers on the arcs such that

More information

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 3 Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh January 2016 Mixed Integer Linear Programming

More information

Approximation Algorithms: The Primal-Dual Method. My T. Thai

Approximation Algorithms: The Primal-Dual Method. My T. Thai Approximation Algorithms: The Primal-Dual Method My T. Thai 1 Overview of the Primal-Dual Method Consider the following primal program, called P: min st n c j x j j=1 n a ij x j b i j=1 x j 0 Then the

More information

4 Integer Linear Programming (ILP)

4 Integer Linear Programming (ILP) TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that

More information

3 INTEGER LINEAR PROGRAMMING

3 INTEGER LINEAR PROGRAMMING 3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=

More information

Linear Programming. Slides by Carl Kingsford. Apr. 14, 2014

Linear Programming. Slides by Carl Kingsford. Apr. 14, 2014 Linear Programming Slides by Carl Kingsford Apr. 14, 2014 Linear Programming Suppose you are given: A matrix A with m rows and n columns. A vector b of length m. A vector c of length n. Find a length-n

More information

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748 COT 6936: Topics in Algorithms! Giri Narasimhan ECS 254A / EC 2443; Phone: x3748 giri@cs.fiu.edu http://www.cs.fiu.edu/~giri/teach/cot6936_s12.html https://moodle.cis.fiu.edu/v2.1/course/view.php?id=174

More information

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar Submodularity Reading Group Matroid Polytopes, Polymatroid M. Pawan Kumar http://www.robots.ox.ac.uk/~oval/ Outline Linear Programming Matroid Polytopes Polymatroid Polyhedron Ax b A : m x n matrix b:

More information

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018

15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 15-451/651: Design & Analysis of Algorithms October 11, 2018 Lecture #13: Linear Programming I last changed: October 9, 2018 In this lecture, we describe a very general problem called linear programming

More information

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3) COMPSCI 632: Approximation Algorithms September 18, 2017 Lecturer: Debmalya Panigrahi Lecture 7 Scribe: Xiang Wang 1 Overview In this lecture, we will use Primal-Dual method to design approximation algorithms

More information

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 10,11: General Matching Polytope, Maximum Flow Lecturer: Mohammad R Salavatipour Date: Oct 6 and 8, 2009 Scriber: Mohammad

More information

Linear Programming [Read Chapters F and G first.] Status: Text beta. Needs figures.

Linear Programming [Read Chapters F and G first.] Status: Text beta. Needs figures. The greatest flood has the soonest ebb; the sorest tempest the most sudden calm; the hottest love the coldest end; and from the deepest desire oftentimes ensues the deadliest hate. Socrates Th extremes

More information

THEORY OF LINEAR AND INTEGER PROGRAMMING

THEORY OF LINEAR AND INTEGER PROGRAMMING THEORY OF LINEAR AND INTEGER PROGRAMMING ALEXANDER SCHRIJVER Centrum voor Wiskunde en Informatica, Amsterdam A Wiley-Inter science Publication JOHN WILEY & SONS^ Chichester New York Weinheim Brisbane Singapore

More information

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs Introduction to Mathematical Programming IE406 Lecture 20 Dr. Ted Ralphs IE406 Lecture 20 1 Reading for This Lecture Bertsimas Sections 10.1, 11.4 IE406 Lecture 20 2 Integer Linear Programming An integer

More information

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms

MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications

More information

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm Instructor: Shaddin Dughmi Algorithms for Convex Optimization We will look at 2 algorithms in detail: Simplex and Ellipsoid.

More information

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization? Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x

More information

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

More information

CSE 417 Network Flows (pt 4) Min Cost Flows

CSE 417 Network Flows (pt 4) Min Cost Flows CSE 417 Network Flows (pt 4) Min Cost Flows Reminders > HW6 is due Monday Review of last three lectures > Defined the maximum flow problem find the feasible flow of maximum value flow is feasible if it

More information

Design and Analysis of Algorithms (V)

Design and Analysis of Algorithms (V) Design and Analysis of Algorithms (V) An Introduction to Linear Programming Guoqiang Li School of Software, Shanghai Jiao Tong University Homework Assignment 2 is announced! (deadline Apr. 10) Linear Programming

More information

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

CSE 417 Network Flows (pt 3) Modeling with Min Cuts CSE 417 Network Flows (pt 3) Modeling with Min Cuts Reminders > HW6 is due on Friday start early bug fixed on line 33 of OptimalLineup.java: > change true to false Review of last two lectures > Defined

More information

1 Bipartite maximum matching

1 Bipartite maximum matching Cornell University, Fall 2017 Lecture notes: Matchings CS 6820: Algorithms 23 Aug 1 Sep These notes analyze algorithms for optimization problems involving matchings in bipartite graphs. Matching algorithms

More information

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007

Topic: Local Search: Max-Cut, Facility Location Date: 2/13/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Local Search: Max-Cut, Facility Location Date: 2/3/2007 In previous lectures we saw how dynamic programming could be

More information

Applied Lagrange Duality for Constrained Optimization

Applied Lagrange Duality for Constrained Optimization Applied Lagrange Duality for Constrained Optimization Robert M. Freund February 10, 2004 c 2004 Massachusetts Institute of Technology. 1 1 Overview The Practical Importance of Duality Review of Convexity

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I Instructor: Shaddin Dughmi Announcements Posted solutions to HW1 Today: Combinatorial problems

More information

Algorithms for Integer Programming

Algorithms for Integer Programming Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is

More information

AM 121: Intro to Optimization Models and Methods Fall 2017

AM 121: Intro to Optimization Models and Methods Fall 2017 AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 10: Dual Simplex Yiling Chen SEAS Lesson Plan Interpret primal simplex in terms of pivots on the corresponding dual tableau Dictionaries

More information

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:

More information

Primal-Dual Methods for Approximation Algorithms

Primal-Dual Methods for Approximation Algorithms Primal-Dual Methods for Approximation Algorithms Nadia Hardy, April 2004 The following is based on: Approximation Algorithms for NP-Hard Problems. D.Hochbaum, ed. Chapter 4: The primal-dual method for

More information

Repetition: Primal Dual for Set Cover

Repetition: Primal Dual for Set Cover Repetition: Primal Dual for Set Cover Primal Relaxation: k min i=1 w ix i s.t. u U i:u S i x i 1 i {1,..., k} x i 0 Dual Formulation: max u U y u s.t. i {1,..., k} u:u S i y u w i y u 0 Harald Räcke 428

More information

Linear Programming and its Applications

Linear Programming and its Applications Linear Programming and its Applications Outline for Today What is linear programming (LP)? Examples Formal definition Geometric intuition Why is LP useful? A first look at LP algorithms Duality Linear

More information

Polytopes Course Notes

Polytopes Course Notes Polytopes Course Notes Carl W. Lee Department of Mathematics University of Kentucky Lexington, KY 40506 lee@ms.uky.edu Fall 2013 i Contents 1 Polytopes 1 1.1 Convex Combinations and V-Polytopes.....................

More information

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

CS612 Algorithms for Electronic Design Automation

CS612 Algorithms for Electronic Design Automation CS612 Algorithms for Electronic Design Automation Lecture 8 Network Flow Based Modeling 1 Flow Network Definition Given a directed graph G = (V, E): Each edge (u, v) has capacity c(u,v) 0 Each edge (u,

More information

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming Linear Programming 3 describes a broad class of optimization tasks in which both the optimization criterion and the constraints are linear functions. Linear Programming consists of three parts: A set of

More information

CMSC 451: Linear Programming

CMSC 451: Linear Programming CMSC 451: Linear Programming Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Linear Programming Suppose you are given: A matrix A with m rows and n columns.

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A new 4 credit unit course Part of Theoretical Computer Science courses at the Department of Mathematics There will be 4 hours

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018

CS 580: Algorithm Design and Analysis. Jeremiah Blocki Purdue University Spring 2018 CS 580: Algorithm Design and Analysis Jeremiah Blocki Purdue University Spring 2018 Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved.

More information

The Simplex Algorithm

The Simplex Algorithm The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This write-up presents the main ideas involved. It is a slight update (mostly

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

DM515 Spring 2011 Weekly Note 7

DM515 Spring 2011 Weekly Note 7 Institut for Matematik og Datalogi Syddansk Universitet May 18, 2011 JBJ DM515 Spring 2011 Weekly Note 7 Stuff covered in Week 20: MG sections 8.2-8,3 Overview of the course Hints for the exam Note that

More information

5. Lecture notes on matroid intersection

5. Lecture notes on matroid intersection Massachusetts Institute of Technology Handout 14 18.433: Combinatorial Optimization April 1st, 2009 Michel X. Goemans 5. Lecture notes on matroid intersection One nice feature about matroids is that a

More information

AMS : Combinatorial Optimization Homework Problems - Week V

AMS : Combinatorial Optimization Homework Problems - Week V AMS 553.766: Combinatorial Optimization Homework Problems - Week V For the following problems, A R m n will be m n matrices, and b R m. An affine subspace is the set of solutions to a a system of linear

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008

LP-Modelling. dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven. January 30, 2008 LP-Modelling dr.ir. C.A.J. Hurkens Technische Universiteit Eindhoven January 30, 2008 1 Linear and Integer Programming After a brief check with the backgrounds of the participants it seems that the following

More information

CMPSCI611: The Simplex Algorithm Lecture 24

CMPSCI611: The Simplex Algorithm Lecture 24 CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Given an NP-hard problem, what should be done? Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one of three desired features. Solve problem to optimality.

More information

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone: MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S14-04-25 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of

More information

Linear Programming 1

Linear Programming 1 Linear Programming 1 Fei Li March 5, 2012 1 With references of Algorithms by S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani. Many of the problems for which we want algorithms are optimization tasks.

More information

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Mathematical programming (optimization) problem: min f (x) s.t. x X R n set of feasible solutions with linear objective function

More information