TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.

Slides:



Advertisements
Similar presentations
Introduction to Algorithms 6.046J/18.401J/SMA5503
Advertisements

C&O 355 Lecture 23 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A A A A A A A A.
Linear Programming (LP) (Chap.29)
Approximation Algorithms Chapter 14: Rounding Applied to Set Cover.
C&O 355 Mathematical Programming Fall 2010 Lecture 22 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A A.
Introduction to Algorithms
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 8 Tuesday, 11/19/02 Linear Programming.
1 Introduction to Linear Programming. 2 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. X1X2X3X4X1X2X3X4.
Dragan Jovicic Harvinder Singh
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Complexity 16-1 Complexity Andrei Bulatov Non-Approximability.
Linear Programming.
1 Linear Programming Jose Rolim University of Geneva.
Instructor Neelima Gupta Table of Contents Lp –rounding Dual Fitting LP-Duality.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 9 Wednesday, 11/15/06 Linear Programming.
Linear Programming and Approximation
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
Design and Analysis of Algorithms
1 Optimization problems such as MAXSAT, MIN NODE COVER, MAX INDEPENDENT SET, MAX CLIQUE, MIN SET COVER, TSP, KNAPSACK, BINPACKING do not have a polynomial.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Approximation Algorithms
Chapter 10: Iterative Improvement
CSE 421 Algorithms Richard Anderson Lecture 27 NP Completeness.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2008 Lecture 9 Tuesday, 11/18/08 Linear Programming.
Optimization of Linear Problems: Linear Programming (LP) © 2011 Daniel Kirschen and University of Washington 1.
Linear Programming David Kauchak cs161 Summer 2009.
Decision Procedures An Algorithmic Point of View
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
The Theory of NP-Completeness 1. What is NP-completeness? Consider the circuit satisfiability problem Difficult to answer the decision problem in polynomial.
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Approximating Minimum Bounded Degree Spanning Tree (MBDST) Mohit Singh and Lap Chi Lau “Approximating Minimum Bounded DegreeApproximating Minimum Bounded.
1 Introduction to Approximation Algorithms. 2 NP-completeness Do your best then.
Tonga Institute of Higher Education Design and Analysis of Algorithms IT 254 Lecture 8: Complexity Theory.
Lecture 22 More NPC problems
The Complexity of Optimization Problems. Summary -Complexity of algorithms and problems -Complexity classes: P and NP -Reducibility -Karp reducibility.
Linear Programming Data Structures and Algorithms A.G. Malamos References: Algorithms, 2006, S. Dasgupta, C. H. Papadimitriou, and U. V. Vazirani Introduction.
Theory of Computing Lecture 13 MAS 714 Hartmut Klauck.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A A A A A A Image:
Linear Program Set Cover. Given a universe U of n elements, a collection of subsets of U, S = {S 1,…, S k }, and a cost function c: S → Q +. Find a minimum.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
CPSC 536N Sparse Approximations Winter 2013 Lecture 1 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAA.
Lecture.6. Table of Contents Lp –rounding Dual Fitting LP-Duality.
CS6045: Advanced Algorithms NP Completeness. NP-Completeness Some problems are intractable: as they grow large, we are unable to solve them in reasonable.
NP Completeness Piyush Kumar. Today Reductions Proving Lower Bounds revisited Decision and Optimization Problems SAT and 3-SAT P Vs NP Dealing with NP-Complete.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
The Theory of NP-Completeness 1. Nondeterministic algorithms A nondeterminstic algorithm consists of phase 1: guessing phase 2: checking If the checking.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Linear Programming Piyush Kumar Welcome to CIS5930.
Approximation Algorithms based on linear programming.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
Computational Geometry
TU/e Algorithms (2IL15) – Lecture 8 1 MAXIMUM FLOW (part II)
TU/e Algorithms (2IL15) – Lecture 10 1 NP-Completeness, II.
Lower Bounds on Extended Formulations Noah Fleming University of Toronto Supervised by Toniann Pitassi.
TU/e Algorithms (2IL15) – Lecture 11 1 Approximation Algorithms.
CS4234 Optimiz(s)ation Algorithms L2 – Linear Programming.
The NP class. NP-completeness
Lap Chi Lau we will only use slides 4 to 19
Richard Anderson Lecture 26 NP-Completeness
Topics in Algorithms Lap Chi Lau.
The minimum cost flow problem
Linear Programming (LP) (Chap.29)
Intro to Theory of Computation
Richard Anderson Lecture 25 NP-Completeness
CISC5835, Algorithms for Big Data
Algorithms (2IL15) – Lecture 7
Presentation transcript:

TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming

TU/e Algorithms (2IL15) – Lecture 12 2 Today: linear programming (LP)  most used and most widely studied optimization method  can be solved in polynomial time (input size measured in bits)  can be used to model many problems  also used in many approximation algorithms (integer LP + rounding) we will only have a very brief look at LP …  what is LP? what are integer LP and 0/1-LP ?  how can we model problems as an LP ? … and not study algorithms to solve LP’s

TU/e Algorithms (2IL15) – Lecture 12 3 Example problem: running a chocolate factory Assortment Cost and availability of ingredients cacaomilkhazelnutsretail price (100 g) Pure Black Creamy Milk Hazelnut Delight Super Nuts cost (kg)available (kg) cacao2.150 milk hazelnuts1.930 How much should we produce of each product to maximize our profit ?

TU/e Algorithms (2IL15) – Lecture 12 4 Modeling the chocolate-factory problem cacaomilkhazelnutsprice (100 g) Pure Black Creamy Milk Hazelnut Delight Super Nuts cost (kg)available (kg) cacao2.150 milk hazelnuts1.930 variables we want to determine: production (kg) of the products b = production of Pure Black m = production of Creamy Milk h = production of Hazelnut Delight s = production of Super Nuts

TU/e Algorithms (2IL15) – Lecture 12 5 Modeling the chocolate-factory problem (cont’d) cacaomilkhazelnutsprice (100 g) Pure Black Creamy Milk Hazelnut Delight Super Nuts cost (kg)available (kg) cacao2.150 milk hazelnuts1.930 profits (per kg) of the products Pure Black19.9 – 2.1 = 17.8 Creamy Milk 14.9 – 0.6 x x 0.35 = 13.5 Hazelnut Delight15.19 Super Nuts: total profit: 17.8 b m h s

TU/e Algorithms (2IL15) – Lecture 12 6 Modeling the chocolate-factory problem cacaomilkhazelnutsprice (100 g) Pure Black Creamy Milk Hazelnut Delight Super Nuts cost (kg)available (kg) cacao2.150 milk hazelnuts1.930 we want to maximize the total profit 17.8 b m h s under the constraints b m h s ≤ 50 (cacao availability) 0.4 m h s ≤ 50 (milk availability) 0.2 h s ≤ 30 (hazelnut availability) This is a linear program: optimize linear function, under set of linear constraints

TU/e Algorithms (2IL15) – Lecture −3 y ≥ − x + 3 y ≥ 2x − 4 y ≤ ½ x + 2 y ≥ 0 m constraints: linear function ≤ constant or ≥ or =, > and < not allowed n variables; here n=2, in chocolate example n=4, but often n is large objective function; must be linear function in the variables goal: maximize (or minimize) x y Linear programming Find values of real variables x, y such that  x − 3 y is maximized  subject to the constraints − 2 x + y ≥ − 4 x + y ≥ 3 − ½ x + y ≤ 2 y ≥ 0

TU/e Algorithms (2IL15) – Lecture 12 8 y = − x + 3 y = 2x − 4 y = ½ x −3 y = 0 Linear programming Find values of real variables x, y such that  x − 3 y is maximized  subject to the constraints − 2 x + y ≥ − 4 x + y ≥ 3 − ½ x + y ≤ 2 y ≥ 0 feasible region = region containing feasible solutions = region containing solutions satisfying all constraints feasible region is convex polytope in n-dim space

TU/e Algorithms (2IL15) – Lecture 12 9 Linear programming: Find values of real variables x 1, …, x n such that  given linear function c 1 x 1 + c 2 x 2 + … + c n x n is maximized (or: minimized)  and given linear constraints on the variables are satisfied constraints: equalities or inequalities using ≥ or ≤, cannot use Possible outcomes:  unique optimal solution: vertex of feasible region

TU/e Algorithms (2IL15) – Lecture Linear programming: Find values of real variables x 1, …, x n such that  given linear function c 1 x 1 + c 2 x 2 + … + c n x n is maximized (or: minimized)  and given linear constraints on the variables are satisfied constraints: equalities or inequalities using ≥ or ≤, cannot use Possible outcomes:  unique optimal solution: vertex of feasible region  no solution: feasible region in empty

TU/e Algorithms (2IL15) – Lecture Linear programming: Find values of real variables x 1, …, x n such that  given linear function c 1 x 1 + c 2 x 2 + … + c n x n is maximized (or: minimized)  and given linear constraints on the variables are satisfied constraints: equalities or inequalities using ≥ or ≤, cannot use Possible outcomes:  no solution: feasible region in empty  unique optimal solution: vertex of feasible region  bounded optimal solution, but not unique

TU/e Algorithms (2IL15) – Lecture Linear programming: Find values of real variables x 1, …, x n such that  given linear function c 1 x 1 + c 2 x 2 + … + c n x n is maximized (or: minimized)  and given linear constraints on the variables are satisfied constraints: equalities or inequalities using ≥ or ≤, cannot use Possible outcomes:  no solution: feasible region in empty  unique optimal solution: vertex of feasible region  bounded optimal solution, but not unique  unbounded optimal solution

TU/e Algorithms (2IL15) – Lecture n-dimensional vectors m x n matrix c, A, b are input, x must be computed Linear programming: standard form Maximize c 1 x 1 + c 2 x 2 + … + c n x n Subject to a 1,1 x 1 + a 1,2 x 2 + … + a 1,n x n ≤ b 1 a 2,1 x 1 + a 2,2 x 2 + … + a 2,n x n ≤ b a m,1 x 1 + a m,2 x 2 + … + a m,n x n ≤ b m x 1 ≥ 0 x 2 ≥ 0 … x n ≥ 0 Maximize c∙x subject to A x ≤ b and non-negativity constraints on all x i non-negativity constraints for each variable only “≤” (no “=“ and no “≥”) not: minimize

TU/e Algorithms (2IL15) – Lecture Lemma: Any LP with n variables and m constraints can be rewritten as an equivalent LP in standard form with 2n variables and 2n+2m constraints. Proof. LP may not be in standard form because  minimization instead of maximization − negate objective function: minimize 2 x 1 − x 2 + 4x 3  maximize −2 x 1 + x 2 − 4 x n  some constraints are ≥ or = instead of ≤ − getting rid of =: replace 3 x + x 2 − x 3 = 5 by3 x + x 2 − x 3 ≤ 5 3 x + x 2 − x 3 ≥ 5 − changing ≥ to ≤: negate constraint 3 x + x 2 − x 3 ≥ 5  − 3 x − x 2 + x 3 ≤ − 5

TU/e Algorithms (2IL15) – Lecture Lemma: Any LP with n variables and m constraints can be rewritten as an equivalent LP in standard form with 2n variables and 2n+2m constraints. Proof (cont’d). LP may not be in standard form because  minimization instead of maximization  some constraints are ≥ or = instead of ≤  variables without non-negativity constraint − for each such variable x i introduce two new variables u i and v i − replace each occurrence of x i by (u i − v i ) − add non-negativity constraints u i ≥ 0 and v i ≥ 0

TU/e Algorithms (2IL15) – Lecture Lemma: Any LP with n variables and m constraints can be rewritten as an equivalent LP in standard form with 2n variables and 2n+2m constraints. Proof (cont’d).  variables without non-negativity constraint − for each such variable x i introduce two new variables u i and v i − replace each occurrence of x i by (u i − v i ) − add non-negativity constraints u i ≥ 0 and v i ≥ 0 new problem is equivalent to original problem : for any original solution there is new solution with same value − if x i ≥ 0 then u i = x i and v i = 0, otherwise u i = 0 and v i = − x i and vice versa − set x i = (u i − v i )

TU/e Algorithms (2IL15) – Lecture Lemma: Any LP with n variables and m constraints can be rewritten as an equivalent LP in standard form with 2n variables and 2n+2m constraints. Instead of standard form, we can also get so-called slack form: – non-negativity constraint for each variable – all other constraints are =, not ≥ or ≤  Standard form (or slack form): convenient for developing LP algorithms  When modeling a problem: just use general form

TU/e Algorithms (2IL15) – Lecture Algorithms for solving LP’s simplex method − worst-case running time is exponential − fast in practice interior-point methods − worst-case running time is polynomial in input size in bits − some are slow in practice, others are competitive with simplex method LP when dimension (=number of variables) is constant − can be solved in linear time (see course Geometric Algorithms)

TU/e Algorithms (2IL15) – Lecture Modeling a problem as an LP  decide what the variables are (what are the choices to be made?)  write the objective function to be optimized (should be linear)  write the constraints on the variables (should be linear)

TU/e Algorithms (2IL15) – Lecture Example: Max Flow

TU/e Algorithms (2IL15) – Lecture Flow: function f : V x V → R satisfying  capacity constraint: 0 ≤ f (u,v) ≤ c(u,v ) for all nodes u,v  flow conservation: for all nodes u ≠ s, t we have flow in = flow out: ∑ v in V f (v,u) = ∑ v in V f (u,v) value of flow: |f | = ∑ v in V f (s,v) − ∑ v in V f (v,s) source sink s t 3 2 / 3 / 4 / 2 / 1 / 2 / 1 / 0 / flow = 1, capacity = 5

TU/e Algorithms (2IL15) – Lecture Modeling Max Flow as an LP  decide what the variables are (what are the choices to be made?) for each edge (u,v) introduce variable x uv ( x uv represents f(u,v) )  write the objective function to be optimized (should be linear) maximize ∑ v in V x sv − ∑ v in V x vs (note: linear function)  write the constraints on the variables (should be linear) x uv ≥ 0 for all pairs of nodes u,v x uv ≤ c(u,v) for all pairs of nodes u,v ∑ v in V x vu − ∑ v in V x uv = 0 for all nodes u ≠ s, t (note: linear functions)

TU/e Algorithms (2IL15) – Lecture Modeling Max Flow as an LP Now write it down nicely maximize ∑ v in V x sv − ∑ v in V x vs subject to x uv ≥ 0 for all pairs of nodes u,v x uv ≤ c (u,v) for all pairs of nodes u,v ∑ v in V x vu − ∑ v in V x uv = 0 for all nodes u ≠ s, t Conclusion: Max Flow can trivially be written as an LP (but dedicated max-flow algorithm are faster than using LP algorithms)

TU/e Algorithms (2IL15) – Lecture Example: Vertex Cover

TU/e Algorithms (2IL15) – Lecture G = (V,E) is undirected graph vertex cover in G: subset C V such that for each edge (u,v) in E we have u in C or v in C (or both) Vertex Cover (optimization version) Input: undirected graph G = (V,E) Problem: compute vertex cover for G with minimum number of vertices  Vertex Cover is NP-hard.  there is a 2-approximation algorithm running in linear time. ∩

TU/e Algorithms (2IL15) – Lecture Modeling Vertex Cover as an LP  decide what the variables are (what are the choices to be made?) for vertex v introduce variable x v ( idea: x v = 1 if v in cover, x v = 0 if v not in cover)  write the objective function to be optimized (should be linear) minimize ∑ v in V x v (note: linear function)  write the constraints on the variables (should be linear) −for each edge (u,v) write constraint x u + x v ≥ 1 (NB: linear function) −for each vertex v write constraint x u in {0,1} not a linear constraint

TU/e Algorithms (2IL15) – Lecture integrality constraint: “x i must be integral” 0/1-constraint: “x i must be 0 or 1” integer LP: LP where all variables have integrality constraint 0/1-LP: LP where all variables have 0/1-constraint (of course there are also mixed versions)

TU/e Algorithms (2IL15) – Lecture Theorem: 0/1-LP is NP-hard. Proof. Consider decision problem: is there feasible solution to given 0/1-LP? Which problem do we use in reduction? Need to transform 3-SAT formula into instance of 0/1-LP maximize y 1 (not relevant for decision problem, pick arbitrary function) subject to y 1 + y 2 + (1−y 3 ) ≥ 1 y 2 + (1−y 4 ) + (1−y 5 ) ≥ 1 (1 − y 2 ) + y 3 + y 5 ≥ 1 y i in {0,1} for all i ( x 1 V x 2 V ¬x 3 ) Λ (x 2 V ¬x 4 V ¬x 5 ) Λ (¬x 2 V x 3 V x 5 ) already saw reduction from Vertex Cover; let’s do another one: 3-SAT variable y i for each Boolean x i y i = 1 if x i = TRUE and y i = 0 if x i = FALSE

TU/e Algorithms (2IL15) – Lecture Theorem: 0/1-LP is NP-hard. problem can be modeled as “normal” LP  problem can be solved using LP algorithms  problem can be solved efficiently problem can be modeled as integer LP (or 0/1-LP)  problem can be solved using integer LP (or 0/1-LP) algorithms  does not mean that problem can be solved efficiently (sometimes can get approximation algorithms by relaxation and rounding see course Advanced Algorithms)  there are solvers (software) for integer LPs that in practice are quite efficient

TU/e Algorithms (2IL15) – Lecture Summary  what is an LP? what are integer LP and 0/1-LP?  any LP can be written in standard form (or in slack form)  normal (that is, not integer) LP can be solved in polynomial time (with input size measured in bits)  integer LP and 0/1-LP are NP-hard  when modeling a problem as an LP −define variables and how they relate to the problem −describe objective function (should be linear) −describe constraints (should be linear, not allowed) −no need to use standard or slack form, just use general form