(where C, X R and are column vectors)

Similar documents
5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Algorithm Design and Analysis

Approximation Algorithms

Applied Algorithm Design Lecture 5

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Discuss the size of the instance for the minimum spanning tree problem.

. P. 4.3 Basic feasible solutions and vertices of polyhedra. x 1. x 2

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming. March 14, 2014

Proximal mapping via network optimization

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

5.1 Bipartite Matching

Linear Programming Notes V Problem Transformations

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Problem Set 7 Solutions

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

Lecture 7: NP-Complete Problems

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

11. APPROXIMATION ALGORITHMS

What does the number m in y = mx + b measure? To find out, suppose (x 1, y 1 ) and (x 2, y 2 ) are two points on the graph of y = mx + b.

SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH

Linear Programming for Optimization. Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc.

CSC 373: Algorithm Design and Analysis Lecture 16

How To Solve A Minimum Set Covering Problem (Mcp)

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

3. Linear Programming and Polyhedral Combinatorics

Adaptive Linear Programming Decoding

IEOR 4404 Homework #2 Intro OR: Deterministic Models February 14, 2011 Prof. Jay Sethuraman Page 1 of 5. Homework #2

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Linear Programming I

Linear Programming. April 12, 2005

THE NUMBER OF GRAPHS AND A RANDOM GRAPH WITH A GIVEN DEGREE SEQUENCE. Alexander Barvinok

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Can linear programs solve NP-hard problems?

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

9th Max-Planck Advanced Course on the Foundations of Computer Science (ADFOCS) Primal-Dual Algorithms for Online Optimization: Lecture 1

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

International Doctoral School Algorithmic Decision Theory: MCDA and MOO

1. Nondeterministically guess a solution (called a certificate) 2. Check whether the solution solves the problem (called verification)

Mathematical finance and linear programming (optimization)

Adaptive Cut Generation Algorithm for Improved Linear Programming Decoding of Binary Linear Codes

Fairness in Routing and Load Balancing

1 Solving LPs: The Simplex Algorithm of George Dantzig

Single machine parallel batch scheduling with unbounded capacity

Discrete Optimization

Online Adwords Allocation

CHAPTER 9. Integer Programming

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

On the Unique Games Conjecture

An Approximation Algorithm for Bounded Degree Deletion

8.1 Min Degree Spanning Tree

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

THE PROBLEM WORMS (1) WORMS (2) THE PROBLEM OF WORM PROPAGATION/PREVENTION THE MINIMUM VERTEX COVER PROBLEM

(67902) Topics in Theory and Complexity Nov 2, Lecture 7

Math 55: Discrete Mathematics

Sample Induction Proofs

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

FRACTIONAL COLORINGS AND THE MYCIELSKI GRAPHS

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

An Introduction to Linear Programming

Equilibrium computation: Part 1

4.6 Linear Programming duality

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Warshall s Algorithm: Transitive Closure

One last point: we started off this book by introducing another famously hard search problem:

HOMEWORK 5 SOLUTIONS. n!f n (1) lim. ln x n! + xn x. 1 = G n 1 (x). (2) k + 1 n. (n 1)!

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes

DATA ANALYSIS II. Matrix Algorithms

Transportation Polytopes: a Twenty year Update

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

3. Mathematical Induction

Recall that two vectors in are perpendicular or orthogonal provided that their dot

2.3 Convex Constrained Optimization Problems

Branch and Cut for TSP

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Completely Positive Cone and its Dual

Definition Given a graph G on n vertices, we define the following quantities:

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS. 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method

Optimal Monitoring in Multi-Channel Multi-Radio Wireless Mesh Networks

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Linear Programming Problems

SCORE SETS IN ORIENTED GRAPHS

Max Flow, Min Cut, and Matchings (Solution)

Largest Fixed-Aspect, Axis-Aligned Rectangle

3.3. Solving Polynomial Equations. Introduction. Prerequisites. Learning Outcomes

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

In this paper we present a branch-and-cut algorithm for

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Homework # 3 Solutions

P versus NP, and More

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

by the matrix A results in a vector which is a reflection of the given

10.2 ITERATIVE METHODS FOR SOLVING LINEAR SYSTEMS. The Jacobi Method

EdExcel Decision Mathematics 1

Transcription:

CS 05: Algorithms (Grad) What is a Linear Programming Problem? A linear program (LP) is a minimization problem where we are asked to minimize a given linear function subject to one or more linear inequality constraints The linear function is also called the objective function Formulation: Minimize C i X i (where C i R and are constants and X i R and are variables) a x + a 2 x 2 + + a n x n b a 2 x + a 22 x 2 + + a 2n x n b 2 a 3 x + a 32 x 2 + + a 3n x n b 3 a n x + a n2 x 2 + + a nn x n b n Alternately, we can rewrite the above formulation as: Minimize C T X (where C, X R and are column vectors) AX b (where b R m, A R m n ) Given C, A and b the above LP can be solved in time poly(inputlength) 2 Vertex Cover Vertex Cover: A given subset of vertices of a graph G that covers all the edges in G For every edge (u, v) in the original graph, either vertices u or v or both are in the vertex cover Note: If total number of vertices is n, there are 2 n possible subsets A solution to a general LP gives: a sequence of real numbers x, x 2, x n Suppose for a moment that all x i are in the range { 0, } Note: If all x i are in the range { 0, }, there are 2 n possible assignments for x, x 2, x n So let us assign a binary value to variable x i to vertex i { i Subset x i = 0 i Subset 2 Example: From the first figure (Figure ): (x, x 2, x 3, x 4, x 5, x 6 ) = (0,,,0,0,) is not a cover but (x, x 2, x 3, x 4, x 5, x 6 ) = (0,,0,,0,) is a cover Page of 6

CS 05: Algorithms (Grad) Figure : Example graph for vertex cover calculation 2 3 4 5 22 Vertex Cover Formulation Let us require that C V be a vertex cover to requiring that (i, j) E that either i C or j C to requiring that (i, j) E, x i + x j Reformulation of problem: Vertex Cover problem can be written as Minimize x + x 2 + x 3 + + x n x i + x j (for each edge (i, j) E) x i {0, } (for each vertex i) Note: Above problem is not an LP since above statement is not a linear constraint The above problem is actually an Integer Linear Problem or IP Solving an IP is NP-Complete Let us now relax our second constraint to 0 x i for each i and allow x i R Here we are violating our original inequality direction, since x i We can easily fix this problem by restating our constraint as: Example x i 0 (for each vertex i) x i (for each vertex i) Minimize X + X 2 + X 3 + X 4 + X 5 Page 2 of 6

CS 05: Algorithms (Grad) X + X 2 X + X 3 X 2 + X 3 X 2 + X 4 X 4 + X 5 X 0 X X 2 0 X X 5 0 X 5 This can be rewritten in matrix form as: Y X Z where Y = 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Page 3 of 6

CS 05: Algorithms (Grad) Figure 2: Possible real valued LP solution for constraints on X X 5 in our example 09 06 04 04 09 X = Z = X X 2 X 3 X 4 X 5 t 0 0 0 Proposed Algorithm: LP Rounding Algorithm for Vertex Cover Algorithm : VertexCover(V, E) Construct LP relaxation for given instance (V, E) Invoke polynomial time LP solver to get a vector X R n that minimizes n 2 3 C 4 for i = to n do 5 if x i /2 Then C C {i}; 6 return C x i Page 4 of 6

CS 05: Algorithms (Grad) Let us now verify that the above algorithm is correct and analyze its optimality Claim : Returned set C of vertices is a Vertex Cover We know from our constraints that (i, j) E that x i + x j Therefore at least one of x i or x j /2 and so at least one of the vertices i, j from the edge (i, j) must C Hence the claim is proved Let our Cost function be: Cost(X) = X Claim 2: If C is the min cost vertex cover then the cost of (C) 2 cost(c ) In other words the LP rounding algorithm is a 2-approximation Proof: Let Z = x + x 2 + x 3 + + x n Z is the Cost of the LP s optimal solution ( This is the sum of real numbers and not the size of any set) Since X is optimal for the LP: Z Cost(C ) () The binary solution x obtained from C ie Set variables in x i as 0 or depending on the optimal solution x i x i OptimumLP Optimum IP Let x = (x, x 2, x 3,, x n ) be the IP solution implicitly produced by the algorithm x i 2x i i = x i 2 x i (2) = Cost(C) 2Z (3) From inequalities () and (3) we get = Cost(C) 2 Cost(C ) Thus proved that the LP rounding algorithm is a 2-approximation Page 5 of 6

CS 05: Algorithms (Grad) Figure 3: Possible solution considering min cost of vertex cover 9 4! 3! 6! 8 23 Vertex Cover considering cost of a vertex This technique allows us to incorporate the idea of cost of a vertex into our model and find a vertex cover of minimum total cost Inequality (2) would need to be changed from x i 2 to c i x i 2 x i c i x i Here in our example in Figure 3 our cost = 3 + 6 + 4 = 3 is minimum possible of costs of all minimum vertex covers Page 6 of 6