Vertex Cover. Linear Progamming and Approximation Algorithms. Joshua Wetzel

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

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

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

Algorithm Design and Analysis

Approximation Algorithms

Applied Algorithm Design Lecture 5

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

11. APPROXIMATION ALGORITHMS

4.6 Linear Programming duality

Topic: Greedy Approximations: Set Cover and Min Makespan Date: 1/30/06

Proximal mapping via network optimization

Permutation Betting Markets: Singleton Betting with Extra Information

3. Linear Programming and Polyhedral Combinatorics

Combinatorial Algorithms for Data Migration to Minimize Average Completion Time

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

Lecture 11: 0-1 Quadratic Program and Lower Bounds

Linear Programming Notes V Problem Transformations

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

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

Online Adwords Allocation

8.1 Min Degree Spanning Tree

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

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

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

Routing in Line Planning for Public Transport

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

CSC2420 Spring 2015: Lecture 3

CHAPTER 9. Integer Programming

Transportation Polytopes: a Twenty year Update

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

On the effect of forwarding table size on SDN network utilization

Primal-Dual Schema for Capacitated Covering Problems

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015

Scheduling Shop Scheduling. Tim Nieberg

Max Flow, Min Cut, and Matchings (Solution)

Online Matching and Ad Allocation. Contents

Permutation Betting Markets: Singleton Betting with Extra Information

Arrangements And Duality

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

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

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

Duality in General Programs. Ryan Tibshirani Convex Optimization /36-725

Discrete Optimization

Facility Location: Discrete Models and Local Search Methods

Efficient and Robust Allocation Algorithms in Clouds under Memory Constraints

A Approximation Algorithm for a Generalization of the Weighted Edge-Dominating Set Problem

On the Unique Games Conjecture

5.1 Bipartite Matching

26 Linear Programming

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

NP-Completeness I. Lecture Overview Introduction: Reduction and Expressiveness

Mathematical finance and linear programming (optimization)

Branch and Cut for TSP

An Approximation Algorithm for Bounded Degree Deletion

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

A Numerical Study on the Wiretap Network with a Simple Network Topology

The Generalized Assignment Problem with Minimum Quantities

Guessing Game: NP-Complete?

The Design of Approximation Algorithms

Approximated Distributed Minimum Vertex Cover Algorithms for Bounded Degree Graphs

Equilibrium computation: Part 1

1 Linear Programming. 1.1 Introduction. Problem description: motivate by min-cost flow. bit of history. everything is LP. NP and conp. P breakthrough.

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

Minimal Cost Reconfiguration of Data Placement in a Storage Area Network

Linear Programming Sensitivity Analysis

3. Evaluate the objective function at each vertex. Put the vertices into a table: Vertex P=3x+2y (0, 0) 0 min (0, 5) 10 (15, 0) 45 (12, 2) 40 Max

An Introduction on SemiDefinite Program

How To Solve A Minimum Set Covering Problem (Mcp)

Can linear programs solve NP-hard problems?

1 Solving LPs: The Simplex Algorithm of George Dantzig

Notes on NP Completeness

Linear Programming I

CMPSCI611: Approximating MAX-CUT Lecture 20

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Single machine parallel batch scheduling with unbounded capacity

Steiner Tree Approximation via IRR. Randomized Rounding

Compressing Forwarding Tables for Datacenter Scalability

Improved Results for Data Migration and Open Shop Scheduling

Energy Efficient Monitoring in Sensor Networks

Integrating Benders decomposition within Constraint Programming

Bicolored Shortest Paths in Graphs with Applications to Network Overlay Design

Adaptive Linear Programming Decoding

Analysis of Algorithms, I

2.3 Convex Constrained Optimization Problems

A Working Knowledge of Computational Complexity for an Optimizer

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Planning and Scheduling in the Digital Factory

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

How To Solve The Online Advertising Problem

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

3.1 Solving Systems Using Tables and Graphs

Scheduling to Minimize Power Consumption using Submodular Functions

EdExcel Decision Mathematics 1

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

How To Solve A K Path In Time (K)

Some representability and duality results for convex mixed-integer programs.

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

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

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

Transcription:

Linear Progamming and Approximation Algorithms Joshua Wetzel Department of Computer Science Rutgers University Camden wetzeljo@camden.rutgers.edu March 24, 29 Joshua Wetzel / 52

What is Linear Programming? Optimize a linear objective fn subject to linear constraints. Examples: min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 5x + 2x 2 x 3 6 x, x 2, x 3 max 6x + 2x 2 4x 3 s.t. 5x + x 2 2x 3 4 2x 2x 2 + 4x 3 2 x, x 2, x 3 Joshua Wetzel 2 / 52

Feasible Solutions: Upper Bounding OPT Linear Program: min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 5x + 2x 2 x 3 6 x, x 2, x 3 Feasible Solutions: x = 2, x 2 =, x 3 = 4 7(2) + () + 5(4) = 35 x = 8 5, x 2 = 2, x 3 = 3 7( 8 5 ) + ( 2 ) + 5(3) = 26.7 All constraints are satisfied. OPT 35, OPT 26.7 Joshua Wetzel 3 / 52

Finding a Lower Bound on OPT Linear Program: min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 5x + 2x 2 x 3 6 x, x 2, x 3 OPT? Joshua Wetzel 4 / 52

Lower Bounding OPT: Adding the Constraints min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 + 5x + 2x 2 x 3 6 6x + x 2 + 2x 3 6 OPT 6 Joshua Wetzel 5 / 52

Lower Bounding OPT min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 (y ) + 5x + 2x 2 x 3 6 (y 2 ) x ( y + 5y 2 ) + x 2 ( y + 2y 2 ) + x 3 ( 3y y 2 ) y + 6y 2 y + 6y 2 is a lower bound on OPT if: y + 5y 2 7 y + 2y 2 3y y 2 3 Joshua Wetzel 6 / 52

LP to Lower Bound OPT max y + 6y 2 s.t. y + 5y 2 7 y + 2y 2 3y y 2 3 y, y 2 Joshua Wetzel 7 / 52

Primal LP and Dual LP Primal LP: min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 5x + 2x 2 x 3 6 x, x 2, x 3 Dual LP: max y + 6y 2 s.t. y + 5y 2 7 y + 2y 2 3y y 2 3 y, y 2 Every primal LP has a corresponding dual LP. If the primal is a min problem, the dual is a max problem. There is a dual constraint corresponding to each primal variable. Joshua Wetzel 8 / 52

LP Duality Theorems Dual Feasible Dual OPT = Primal OPT Primal Feasible The Primal LP: min 7x + x 2 + 3x 3 s.t. x x 2 + 3x 3 5x + 2x 2 x 3 6 x, x 2, x 3 The Dual LP: max y + 6y 2 s.t. y + 5y 2 7 y + 2y 2 3y y 2 3 y, y 2 Joshua Wetzel 9 / 52

Input: Given G = (V, E) Non-negative weights on vertices Objective: Find a least-weight collection of vertices such that each edge in G in incident on at least one vertex in the collection. Joshua Wetzel / 52

: Example 5 24 5 24 5 6 5 6 3 8 3 8 2 2 COST = 97 COST = 8 Joshua Wetzel / 52

Approximation Algorithms NP-hard problems. No optimal poly-time algorithms are known β-approximation alg., A, for a minimization problem P poly-time algorithm. for every instance I of P, A produces solution of cost at most β OPT(I) OPT(I)? Joshua Wetzel 2 / 52

Approximation Algorithms compute a lower bound on OPT. compare cost of our solution with the lower bound. lower bound OPT upper bound β Joshua Wetzel 3 / 52

Input: Given G = (V, E) Non-negative weights on vertices Objective: Find a least-weight collection of vertices such that each edge in G in incident on at least one vertex in the collection Joshua Wetzel 4 / 52

Unweighted : Algorithm Find a maximal matching in G Include in our cover both vertices incident on each edge of the matching Joshua Wetzel 5 / 52

Unweighted : Example Joshua Wetzel 6 / 52

Unweighted : Example Joshua Wetzel 7 / 52

Unweighted : Example Joshua Wetzel 8 / 52

Unweighted : Example Cost = 6 Joshua Wetzel 9 / 52

Analysis: Feasibility Every black edge shares a vertex with a green edge Joshua Wetzel 2 / 52

Analysis: Approximation Guarantee OPT has to choose at least one endpoint from each green edge. We choose both endpoints for each green edge. Hence: Our Cost 2OPT Joshua Wetzel 2 / 52

Unweighted : Tight Example OPT = 3 COST Alg = 6 Joshua Wetzel 22 / 52

Bad Example 2 2 2 2 OPT = Cost Alg = 2 Joshua Wetzel 23 / 52

: IP Formulation x v if v is in our cover, otherwise min w v x v s.t. v V x a + x b, e = (a, b) x v {, }, v V Joshua Wetzel 24 / 52

LP Relaxation Integer programs have been shown to be NP-hard Relax the integrality constraints x v {, }, v V min s.t. w v x v v V x a + x b, e = (a, b) x v, v V Joshua Wetzel 25 / 52

Why Do This? LP can be solved in polynomial time Every solution to the IP is also a solution to the LP Hence: OPT LP OPT IP We can use OPT LP as a lower bound on OPT IP Joshua Wetzel 26 / 52

LP Solution: Example x a + x b, e = (a, b) x v, v V /2 x a + x b, e = (a, b) x v {, }, v V /2 /2 OPT LP =.5 OPT IP = 2 Joshua Wetzel 27 / 52

Algorithm x optimal LP soln. ˆx v if x v 2, otherwise ˆx v Include v in our cover iff ˆx v = Joshua Wetzel 28 / 52

Analysis: Feasibility min s.t. w v x v v V x a + x b, e = (a, b) x v, v V x a 2 or x b 2 ˆx a = or ˆx b = Joshua Wetzel 29 / 52

Analysis: Approximation Guarantee Our Cost = v C w v = v V w vˆx v v V w v (2x v) = 2 v V w v x v = 2OPT LP 2OPT IP Joshua Wetzel 3 / 52

: Tight Example /2 /2 /2 OPT LP =.5 Our Cost = 3 Joshua Wetzel 3 / 52

Method Primal OPT OPT IP Solving the LP is expensive. Dual Feasible Dual OPT = Primal OPT Primal Feasible Better Alternative: Construct the dual LP Construct an algorithm that manually tightens dual constraints to obtain a maximal dual solution Joshua Wetzel 32 / 52

Constructing the Dual LP Primal LP: min s.t. w v x v v V x a + x b, e = (a, b) (y e ) x v, v V Joshua Wetzel 33 / 52

Primal LP and Dual LP min s.t. Primal LP: w v x max v v V x a + x b, e = (a, b) x v, v V s.t. e E Dual LP: y e y e w v, v V e : e hits v y e, e E Joshua Wetzel 34 / 52

Bar-Yehuda and Even Algorithm Inititally all edges are uncovered. While an uncovered edge in G: Choose an arbitrary edge, e Raise the value of y e for that edge until one of its incident vertices, v, becomes full (i.e y e = w v ) e:e hits v C C {v} Any edge that touches v is considered to be covered Return C as our vertex cover Joshua Wetzel 35 / 52

Bar-Yehuda and Even Algorithm: Example 5 24 5 6 3 8 2 Joshua Wetzel 36 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 24 5 6 3 8 2 Arbitrarily choose e and raise y e until a vertex is full Joshua Wetzel 37 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 24 6 5 6 3 8 2 Joshua Wetzel 38 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 24 6 5 6 3 8 2 Joshua Wetzel 39 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 24 6 5 6 3 8 2 Joshua Wetzel 4 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 24 6 5 6 3 8 2 Joshua Wetzel 4 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 8 24 6 5 6 3 8 2 Joshua Wetzel 42 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 8 24 6 5 6 3 8 2 Joshua Wetzel 43 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 8 24 6 5 6 3 2 8 2 Joshua Wetzel 44 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 5 8 24 6 5 6 3 2 8 2 Joshua Wetzel 45 / 52

Bar-Yehuda and Even Algorithm: Example y e w v e:e hits v 5 7 5 8 24 6 5 6 3 2 8 2 Joshua Wetzel 46 / 52

Bar-Yehuda and Even Algorithm: Example 5 7 5 8 24 6 5 6 3 2 8 2 Cost = 7 Joshua Wetzel 47 / 52

Bar-Yehuda and Even Algorithm: Analysis 5 7 5 8 24 6 Dual Obj. Fn: max e y e 5 6 3 2 8 2 y e w v e:e hits v Our Cost = wt(red vertices) 2 e hits red 2 e = 2DFS y e 2OPT y e Joshua Wetzel 48 / 52

Bar-Yehuda and Even Algorithm: Tight Example 6 6 COST OPT = 6 COST Bar-Yehuda = 2 Joshua Wetzel 49 / 52

Integrality Gap /2 /2 /2 OPT LP =.5 OPT IP = 2 For a complete graph of n vertices OPT LP = n/2 OPT IP = n OPT lim IP n OPT LP = lim n n (n/2) = 2 Joshua Wetzel 5 / 52

Reference R. Bar-Yehuda and S. Even. A linear time approximation algorithm for the weighted vertex cover problem. J. of Algorithms 2:98-23, 98. Joshua Wetzel 5 / 52

Thank You. Joshua Wetzel 52 / 52