Vertex Cover Problems

Size: px
Start display at page:

Download "Vertex Cover Problems"

Transcription

1 Rob van Stee: Approximations- und Online-Algorithmen 1 Vertex Cover Problems Consider a graph G=(V,E) S V is a vertex cover if {u,v} E : u S v S minimum vertex cover (MIN-VCP): find a vertex cover S that minimizes S.

2 Rob van Stee: Approximations- und Online-Algorithmen 2 Motivation This problem has many applications Example: placing ATMs in a city Each additional ATM costs money Want to have an ATM in every street (block, district) Where should they be placed so that we need as little ATMs as possible?

3 Rob van Stee: Approximations- und Online-Algorithmen 3 Greedy Algorithm Function greedyvc(v,e) C:= /0 while E /0 do return C select any {u, v} E C:= C {u,v} remove all edges incident to u or v from E Exercise: explain how to implement the algorithm to run in time O( V + E ) b a b a b a b c e c d h e f g c e c d f d f d h g h g h a e f g (postprocess:)

4 Rob van Stee: Approximations- und Online-Algorithmen 4 Greedy Algorithm Function greedyvc(v,e) C:= /0 while E /0 do return C select any {u, v} E C:= C {u,v} remove all edges incident to u or v from E Exercise: explain how to implement the algorithm to run in time O( V + E ) b a b a b a b a c d h e f g c d h e f g c d h e f g c d h e f g

5 Rob van Stee: Approximations- und Online-Algorithmen 5 Greedy Algorithm Function greedyvc(v,e) C:= /0 while E /0 do return C select any {u, v} E C:= C {u,v} remove all edges incident to u or v from E Exercise: explain how to implement the algorithm to run in time O( V + E ) b a b a b a b a c d h e f g c d h e f g c d h e f g c d h e f g

6 Rob van Stee: Approximations- und Online-Algorithmen 6 Greedy Algorithm Function greedyvc(v,e) C:= /0 while E /0 do return C select any {u, v} E C:= C {u,v} remove all edges incident to u or v from E Exercise: explain how to implement the algorithm to run in time O( V + E ) b a b a b a b a c d h e f g c d h e f g c d h e f g c d h e f g

7 Rob van Stee: Approximations- und Online-Algorithmen 7 Theorem 1. Algorithm greedyvc computes a two-approximation of MIN-VCP. Proof. Correctness: trivial since only covered edges are removed. Quality: Let A denote the set of edges selected by greedyvc. We have C =2 A. A is a matching, i.e., no node covers two edges in A. Hence, any vertex cover contains at least one node from each edge in A, i.e., opt A.

8 Rob van Stee: Approximations- und Online-Algorithmen 8 Weighted Vertex Cover Consider a graph G=(V,E) S V is a vertex cover if {u,v} E : u S v S 1 1 minimum WEIGHT vertex cover (WEIGHT-VCP): find a vertex cover S that minimizes c(s) v S

9 Rob van Stee: Approximations- und Online-Algorithmen ILP Formulation Assume V ={1,...,n} Variables: x v = 1 iff v V minimize c x subject to {u,v} E : x u + x v 1 v V : x v {0,1}

10 Rob van Stee: Approximations- und Online-Algorithmen ILP Formulation Linear Relaxation Assume V ={1,...,n} Variables: x v = 1 iff v V minimize c x subject to {u,v} E : x u + x v 1 v V : x v {0,1} Assume V ={1,...,n} Variables: x v = 1 iff v V minimize c x subject to {u,v} E : x u + x v 1 v V : x v 0

11 Rob van Stee: Approximations- und Online-Algorithmen ILP Formulation Linear Relaxation Assume V ={1,...,n} Variables: x v = 1 iff v V minimize c x subject to {u,v} E : x u + x v 1 v V : x v {0,1} Assume V ={1,...,n} Variables: x v = 1 iff v V minimize c x subject to {u,v} E : x u + x v 1 v V : x v 0 LP Rounding Algorithm for WEIGHT-VCP Function lpweightedvc(v, E, c) x:= lpsolve(linearrelaxation(v, E, c)) return{v V : x v 1/2}

12 Rob van Stee: Approximations- und Online-Algorithmen 12 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Correctness: Consider any edge {u,v} E. We have x u + x v 1, hence, max{x u,x v } 1/2, i.e., rounding will put at least one of {u,v} into the output.

13 Rob van Stee: Approximations- und Online-Algorithmen 13 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Quality: Let x := the solution computed by lpweightedvc x := the optimal solution, and x := the optimal solution of the linear relaxation c x= c i 2 x i c i 2 x i 1/2 x i 1/2 n i=1 x i c i = 2c x 2c x

14 Rob van Stee: Approximations- und Online-Algorithmen 14 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Quality: Let x := the solution computed by lpweightedvc x := the optimal solution, and x := the optimal solution of the linear relaxation c x= c i 2 x i c i 2 x i 1/2 x i 1/2 n i=1 x i c i = 2c x 2c x

15 Rob van Stee: Approximations- und Online-Algorithmen 15 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Quality: Let x := the solution computed by lpweightedvc x := the optimal solution, and x := the optimal solution of the linear relaxation c x= c i 2 x i c i 2 x i 1/2 x i 1/2 n i=1 x i c i = 2c x 2c x

16 Rob van Stee: Approximations- und Online-Algorithmen 16 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Quality: Let x := the solution computed by lpweightedvc x := the optimal solution, and x := the optimal solution of the linear relaxation c x= c i 2 x i c i 2 x i 1/2 x i 1/2 n i=1 x i c i = 2c x 2c x

17 Rob van Stee: Approximations- und Online-Algorithmen 17 Theorem 2. Algorithm lpweightedvc computes a two-approximation of WEIGHT-VCP. Quality: Let x := the solution computed by lpweightedvc x := the optimal solution, and x := the optimal solution of the linear relaxation c x= c i 2 x i c i 2 x i 1/2 x i 1/2 n i=1 x i c i = 2c x 2c x

18 Rob van Stee: Approximations- und Online-Algorithmen 18 Iterated Rounding [Vazirani Section 23.2] Function iteratedlpweightedvc(v, E, c) M:= /0 while E >0 do x:= lpsolve(linearrelaxation(v, E, c)) let v denote the node which maximizes x v M:= M {v} V:= V \{v} return M E:= E\{{u,v} E}

19 Rob van Stee: Approximations- und Online-Algorithmen 19 Iterated Rounding: Discussion Might give better solutions for many inputs No better approximation guarantees for VC Larger (still polynomial) execution time But: Resolving an LP is often quite fast Important technique for other problems

20 Rob van Stee: Approximations- und Online-Algorithmen 20 A Randomized Algorithm [Ausiello et al. Section 5.1] Function randweightedvc(v, E, c) C:= /0 while E /0 do b a b a c e c e d f d f h g h g select any {v,t} E b c d h return C flip a coin with sides {v,t} and P[v]= c t c v + c t x:= upper side of coin C:= C {x} remove all edges incident to x from E a b a b a e c e c e f d f d f g h g h g

21 Rob van Stee: Approximations- und Online-Algorithmen 21 Theorem 3. Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Correctness: as for greedyvc.

22 Rob van Stee: Approximations- und Online-Algorithmen 22 Theorem: Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Quality: Define the random variables c v if v x X v := 0 otherwise c v if {v,t} is selected and v x X {v,t},v := 0 otherwise (1) (2) Note that X v = X {v,t},v {t:{v,t} E}

23 Rob van Stee: Approximations- und Online-Algorithmen 23 Lemma 4. E[X {v,t},v ]=E[X {v,t},t ] Proof. E[X {v,t},v ]=c v P[{v,t} is selected ]P[v x] E[X {v,t},v ]=c v P[{v,t} is selected ] c v + c t c v = c t P[{v,t} is selected ] c v + c t =E[X {v,t},t ] c t

24 Rob van Stee: Approximations- und Online-Algorithmen 24 Lemma 4. E[X {v,t},v ]=E[X {v,t},t ] Proof. E[X {v,t},v ]=c v P[{v,t} is selected ]P[v x] E[X {v,t},v ]=c v P[{v,t} is selected ] c v + c t c v = c t P[{v,t} is selected ] c v + c t =E[X {v,t},t ] c t

25 Rob van Stee: Approximations- und Online-Algorithmen 25 Lemma 4. E[X {v,t},v ]=E[X {v,t},t ] Proof. E[X {v,t},v ]=c v P[{v,t} is selected ]P[v x] E[X {v,t},v ]=c v P[{v,t} is selected ] c v + c t c v = c t P[{v,t} is selected ] c v + c t =E[X {v,t},t ] c t

26 Rob van Stee: Approximations- und Online-Algorithmen 26 Lemma 5. v x E[X v ] t x E[X t ] Proof. E[X v ]= E v x v x But also t x E[X t ]= t x Every term in (*) shows up in (**). [ ] X {v,t},v {t:{v,t} E} (X v = X {v,t},v ) {t:{v,t} E} = E[X {v,t},v ] Linearity ofe[ ] v x {t:{v,t} E} = E[X {v,t},t ](*). Lemma 4 v x {t:{v,t} E} E[X {v,t},t ](**). {v:{v,t} E}

27 Rob van Stee: Approximations- und Online-Algorithmen 27 Lemma 5. v x E[X v ] t x E[X t ] Proof. E[X v ]= E v x v x But also t x E[X t ]= t x Every term in (*) shows up in (**). [ ] X {v,t},v {t:{v,t} E} (X v = X {v,t},v ) {t:{v,t} E} = E[X {v,t},v ] Linearity ofe[ ] v x {t:{v,t} E} = E[X {v,t},t ](*). Lemma 4 v x {t:{v,t} E} E[X {v,t},t ](**). {v:{v,t} E}

28 Rob van Stee: Approximations- und Online-Algorithmen 28 Lemma 5. v x E[X v ] t x E[X t ] Proof. E[X v ]= E v x v x But also t x E[X t ]= t x Every term in (*) shows up in (**). [ ] X {v,t},v {t:{v,t} E} (X v = X {v,t},v ) {t:{v,t} E} = E[X {v,t},v ] Linearity ofe[ ] v x {t:{v,t} E} = E[X {v,t},t ](*). Lemma 4 v x {t:{v,t} E} E[X {v,t},t ](**). {v:{v,t} E}

29 Rob van Stee: Approximations- und Online-Algorithmen 29 Lemma 5. v x E[X v ] t x E[X t ] Proof. E[X v ]= E v x v x [ ] X {v,t},v {t:{v,t} E} (X v = X {v,t},v ) {t:{v,t} E} = E[X {v,t},v ] Linearity ofe[ ] v x {t:{v,t} E} But also t x E[X t ]= t x Every term in (*) shows up in (**). = E[X {v,t},t ](*). Lemma 4 v x {t:{v,t} E} E[X {v,t},t ](**). {v:{v,t} E} t... t v t

30 Rob van Stee: Approximations- und Online-Algorithmen 30 Theorem: Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Quality: (Finishing Up) v V E[X v ] = v x E[X v ]+ t x E[X t ] Lemma 5 2 t x c t X t = 0 or X t = c t

31 Rob van Stee: Approximations- und Online-Algorithmen 31 Theorem: Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Quality: (Finishing Up) v V E[X v ] = v x E[X v ]+ t x E[X t ] Lemma 5 2 t x E[X t ] 2 t x c t X t = 0 or X t = c t

32 Rob van Stee: Approximations- und Online-Algorithmen 32 Theorem: Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Quality: (Finishing Up) v V E[X v ] = v x E[X v ]+ t x E[X t ] Lemma 5 2 t x E[X t ] 2 t x c t X t = 0 or X t = c t

33 Rob van Stee: Approximations- und Online-Algorithmen 33 Theorem: Algorithm randweightedvc computes a vertex cover x with E[c x] 2c x. Quality: (Finishing Up) v V E[X v ] = v x E[X v ]+ t x E[X t ] Lemma 5 2 t x E[X t ] 2 c t t x = 2c x X t = 0 or X t = c t

34 Rob van Stee: Approximations- und Online-Algorithmen 34 More on Vertex Cover There are simple deterministic linear time 2-approximations. (Special case of set covering) Best known algorithm: ratio 2 Θ(1/ logn) fixed parameter algorithms: [Niedermeyer Rossmanith] find optimal solution in time O ( kn+k k) if x k. Key idea: (clever) exhaustive search+problem reductions. Example: include nodes of degree k. include neighbors of degree 1 nodes

35 Rob van Stee: Approximations- und Online-Algorithmen 35 Scheduling on Unrelated Parallel Machines [Vazirani Chapter 17] J: set of n jobs M: set of m machines p i j : processing time of job j on machine i x( j): Machine where job j is executed L i : { j:x( j)=i} p i j, load of machine i Objective: Minimize Makespan L max = max i L i

36 Rob van Stee: Approximations- und Online-Algorithmen 36 A Misguided ILP model minimize t subject to j J : x i j = 1 i M i M : x i j p i j t j J i M, j J : x i j {0,1}

37 Rob van Stee: Approximations- und Online-Algorithmen 37 The problem with this formulation minimize t subject to j J : x i j = 1 i M i M : x i j p i j t j J i M, j J : x i j {0,1} One Job, size m everywhere. Linear relaxation: makespan 1 Optimal solution: makespan m m The linear relaxation is far away from the optimal solution and hence yields little useful information LP-speak: integrality gap m

38 Rob van Stee: Approximations- und Online-Algorithmen 38 The problem with this formulation minimize t subject to j J : x i j = 1 i M i M : x i j p i j t j J i M, j J : x i j {0,1} In ILP, we always have x i j = 0 if p i j > t This is lost in the linear relaxation: some x i j may get small values We cannot add this constraint since it is not a linear constraint

39 Rob van Stee: Approximations- und Online-Algorithmen 39 A Refined LP Relaxation (Parametric Pruning) guess makespan T feasible assignments: S T := { (i, j) : p i j T } no objective function (feasibility only) LP(T): j J : i M : x i j = 1 {i:(i, j) S T } { j:(i, j) S T } (i, j) S T : x i j 0 x i j p i j T e.g., binary search

40 Rob van Stee: Approximations- und Online-Algorithmen 40 A Refined LP Relaxation (Parametric Pruning) guess makespan T feasible assignments: S T := { (i, j) : p i j T } e.g., binary search LP(T): j J : i M : x i j = 1 {i:(i, j) S T } { j:(i, j) S T } (i, j) S T : x i j 0 x i j p i j T No objective function! We only look for a feasible solution

41 Rob van Stee: Approximations- und Online-Algorithmen 41 More LP-speak Consider a solution x of a given LP. x is an extreme point solution if it cannot be expressed as a convex combination αx +(1 α)x with α (0,1) of two other feasible solutions x and x. convex combination x x Theorem 6. x R r is an extreme point solution iff it corresponds to setting r linearly independent constraints to equality. Proof. not here.

42 Rob van Stee: Approximations- und Online-Algorithmen 42 S T := { (i, j) : p i j T } LP(T): j J : i M : x i j = 1 {i:(i, j) S T } { j:(i, j) S T } (i, j) S T : x i j 0 x i j p i j T Lemma 7. An extreme point solution of LP(T) has at most n+m nonzero variables. Proof. r= S T variables n+m constraints (except 0) Thm6 r (n+m) of the 0 constraints are tight.

43 Rob van Stee: Approximations- und Online-Algorithmen 43 Lemma 7. An extreme point solution of LP(T) has at most n+m nonzero variables. Corollary 8. An extreme point solution of LP(T) sets n m jobs integrally. Proof. a integrally set jobs a nonzero entries in x n a fractionally set jobs 2(n a) nonzero entries in x Lemma 7 2(n a)+a n+m a n m

44 Rob van Stee: Approximations- und Online-Algorithmen 44 One Reason why LP Relaxation is Useful Theorem 6. x R r is an extreme point solution iff it corresponds to setting r linearly independent constraints to equality. Theorem 6 often implies that only few variables need to be rounded to obtain an solution of the ILP.... this does not mean rounding the remaining ones is easy.

45 Rob van Stee: Approximations- und Online-Algorithmen 45 The Algorithm: Top Level α:= makespan one gets by assigning each job to the fastest machine for it α is an upper bound for the optimal makespan

46 Rob van Stee: Approximations- und Online-Algorithmen 46 The Algorithm: Top Level α:= makespan one gets by assigning each job to the fastest machine for it α is an upper bound for the optimal makespan Use binary search in the range α/m,α to find the smallest T such that LP(T) has a feasible solution x

47 Rob van Stee: Approximations- und Online-Algorithmen 47 The Algorithm: Top Level α:= makespan one gets by assigning each job to the fastest machine for it α is an upper bound for the optimal makespan Use binary search in the range α/m,α to find the smallest T such that LP(T) has a feasible solution For this T, find an extremal point solution x

48 Rob van Stee: Approximations- und Online-Algorithmen 48 The Algorithm: Top Level α:= makespan one gets by assigning each job to the fastest machine for it α is an upper bound for the optimal makespan Use binary search in the range α/m,α to find the smallest T such that LP(T) has a feasible solution For this T, find an extremal point solution x assign integrally set jobs in x

49 Rob van Stee: Approximations- und Online-Algorithmen 49 The Algorithm: Top Level α:= makespan one gets by assigning each job to the fastest machine for it α is an upper bound for the optimal makespan Use binary search in the range α/m,α to find the smallest T such that LP(T) has a feasible solution For this T, find an extremal point solution x assign integrally set jobs in x deal with the fractionally set jobs // Rounding

50 Rob van Stee: Approximations- und Online-Algorithmen 50 Example p i j Four machines, five jobs For each job, the best machine for it is marked in blue.

51 Rob van Stee: Approximations- und Online-Algorithmen 51 Example p i j Each job on fastest machine: =: α Initial guess for the makespan is 6 Using binary search, we find smallest makespan in the range [6/4,6] that can be achieved using a fractional assignment

52 Rob van Stee: Approximations- und Online-Algorithmen 52 Example p i j Each job on fastest machine: =: α x i j Solution of LP(3):

53 Rob van Stee: Approximations- und Online-Algorithmen 53 Dealing with Fractionally Set Jobs Consider the bipartite graph H:=(J M,E ) where J := { j J : i : 0<x i j < 1 } M := { i M : j : 0<x i j < 1 } E := { {i, j} : x i j 0,i M, j J } Idea: Find a perfect matching in H assign jobs according to that matching matching

54 Rob van Stee: Approximations- und Online-Algorithmen 54 Matching A set of edges M that do not have any nodes in common, i.e., (V,M) has maximum degree one. Perfect Matching A matching of size V /2, i.e., all nodes are matched

55 Rob van Stee: Approximations- und Online-Algorithmen 55 Lemma 8. H is a pseudo forest, i.e., each connected component H C =(V C,E C ) has E C V C (a tree plus, possibly, one edge) Proof. It suffices to show this for the larger graph G:=(J M,E) where E:= { {i, j} : x i j 0,i M, j J } Consider a connected component H C of G. restrict x and LP(T) to H C : x C, LP C (T) x C is extreme point solution of LP C (T) (Otherwise, x itself could not be extreme point solution) Lemma 7 LP C (T) has V C nonzero vars., i.e., H C has V C edges.

56 Rob van Stee: Approximations- und Online-Algorithmen 56 Example p i j x i j T =

57 Rob van Stee: Approximations- und Online-Algorithmen 57 Lemma 9. H has a perfect matching Proof. We give an algorithm: M := /0 invariant H is a bipartite pseudo forest invariant all degree one nodes are machines while i M with degree one do e={i, j}:= the sole edge incident to i M := M {e} remove i, j and incident edges assert H is a collection of disjoint even cycles foreach cycle C H do match alternating edges in C

58 Rob van Stee: Approximations- und Online-Algorithmen 58 Theorem 10. The algorithm achieves an approximation guarantee of factor 2 for scheduling unrelated parallel machines. Proof. Consider solution x of LPT(T ) makespan due to jobs set integrally in x is T opt. In addition, each machine i receives 1 job j from the matching M H. p i, j T opt since otherwise {i, j} H

Minimum Makespan Scheduling

Minimum Makespan Scheduling Minimum Makespan Scheduling Minimum makespan scheduling: Definition and variants Factor 2 algorithm for identical machines PTAS for identical machines Factor 2 algorithm for unrelated machines Martin Zachariasen,

More information

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai

Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques. My T. Thai Approximation Algorithms: LP Relaxation, Rounding, and Randomized Rounding Techniques My T. Thai 1 Overview An overview of LP relaxation and rounding method is as follows: 1. Formulate an optimization

More information

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved.

Chapter 11. Approximation Algorithms. Slides by Kevin Wayne Pearson-Addison Wesley. All rights reserved. Chapter 11 Approximation Algorithms Slides by Kevin Wayne. Copyright @ 2005 Pearson-Addison Wesley. All rights reserved. 1 Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 27 Approximation Algorithms Load Balancing Weighted Vertex Cover Reminder: Fill out SRTEs online Don t forget to click submit Sofya Raskhodnikova 12/6/2011 S. Raskhodnikova;

More information

! 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. Approximation Algorithms Chapter Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS Coping with NP-completeness 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Q. Suppose I

More information

! 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. Approximation Algorithms 11 Approximation Algorithms Q Suppose I need to solve an NP-hard problem What should I do? A Theory says you're unlikely to find a poly-time algorithm Must sacrifice one of three

More information

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

Chapter 11. 11.1 Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling Approximation Algorithms Chapter Approximation Algorithms Q. Suppose I need to solve an NP-hard problem. What should I do? A. Theory says you're unlikely to find a poly-time algorithm. Must sacrifice one

More information

The k-center problem February 14, 2007

The k-center problem February 14, 2007 Sanders/van Stee: Approximations- und Online-Algorithmen 1 The k-center problem February 14, 2007 Input is set of cities with intercity distances (G = (V,V V )) Select k cities to place warehouses Goal:

More information

Lecture 5. Combinatorial Algorithm for maximum cardinality matching (König s Theorem and Hall s Theorem)

Lecture 5. Combinatorial Algorithm for maximum cardinality matching (König s Theorem and Hall s Theorem) Topics in Theoretical Computer Science March 16, 2015 Lecture 5 Lecturer: Ola Svensson Scribes: Mateusz Golebiewski, Maciej Duleba These lecture notes are partly based on http://theory.epfl.ch/courses/topicstcs/lecture10.pdf

More information

2.3 Scheduling jobs on identical parallel machines

2.3 Scheduling jobs on identical parallel machines 2.3 Scheduling jobs on identical parallel machines There are jobs to be processed, and there are identical machines (running in parallel) to which each job may be assigned Each job = 1,,, must be processed

More information

Approximation Algorithms for Weighted Vertex Cover

Approximation Algorithms for Weighted Vertex Cover Approximation Algorithms for Weighted Vertex Cover CS 511 Iowa State University November 7, 2010 CS 511 (Iowa State University) Approximation Algorithms for Weighted Vertex Cover November 7, 2010 1 / 14

More information

Vertex Coloring. Consider a graph G = (V,E)

Vertex Coloring. Consider a graph G = (V,E) Sanders/van Stee: Approximations- und Online-Algorithmen 1 Vertex Coloring Consider a graph G = (V,E) Edge coloring: no two edges that share an endpoint get the same color Vertex coloring: no two vertices

More information

Generalizing Vertex Cover, an Introduction to LPs

Generalizing Vertex Cover, an Introduction to LPs CS5234: Combinatorial and Graph Algorithms Lecture 2 Generalizing Vertex Cover, an Introduction to LPs Lecturer: Seth Gilbert August 19, 2014 Abstract Today we consider two generalizations of vertex cover:

More information

CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri

CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri CS 583: Approximation Algorithms Lecture date: February 3, 2016 Instructor: Chandra Chekuri Scribe: CC Notes updated from Spring 2011. In the previous lecture we discussed the Knapsack problem. In this

More information

1 Unrelated Parallel Machine Scheduling

1 Unrelated Parallel Machine Scheduling IIIS 014 Spring: ATCS - Selected Topics in Optimization Lecture date: Mar 13, 014 Instructor: Jian Li TA: Lingxiao Huang Scribe: Yifei Jin (Polishing not finished yet.) 1 Unrelated Parallel Machine Scheduling

More information

LPT rule: Whenever a machine becomes free for assignment, assign that job whose. processing time is the largest among those jobs not yet assigned.

LPT rule: Whenever a machine becomes free for assignment, assign that job whose. processing time is the largest among those jobs not yet assigned. LPT rule Whenever a machine becomes free for assignment, assign that job whose processing time is the largest among those jobs not yet assigned. Example m1 m2 m3 J3 Ji J1 J2 J3 J4 J5 J6 6 5 3 3 2 1 3 5

More information

1 Approximation Algorithms

1 Approximation Algorithms LECTURES 7, 8 and 9 1 Approximation Algorithms NP-hardness of many combinatorial optimisation problems gives very little hope that we can ever develop an efficient algorithm for their solution. There are

More information

Lecture 3: Linear Programming Relaxations and Rounding

Lecture 3: Linear Programming Relaxations and Rounding Lecture 3: Linear Programming Relaxations and Rounding 1 Approximation Algorithms and Linear Relaxations For the time being, suppose we have a minimization problem. Many times, the problem at hand can

More information

10.1 Integer Programming and LP relaxation

10.1 Integer Programming and LP relaxation CS787: Advanced Algorithms Lecture 10: LP Relaxation and Rounding In this lecture we will design approximation algorithms using linear programming. The key insight behind this approach is that the closely

More information

15-451/651: Design & Analysis of Algorithms March 28, 2016 Lecture #19 last changed: March 31, 2016

15-451/651: Design & Analysis of Algorithms March 28, 2016 Lecture #19 last changed: March 31, 2016 15-451/651: Design & Analysis of Algorithms March 28, 2016 Lecture #19 last changed: March 31, 2016 While we have good algorithms for many optimization problems, the previous lecture showed that many others

More information

Lecture 9 and 10: Iterative rounding II

Lecture 9 and 10: Iterative rounding II Approximation Algorithms and Hardness of Approximation March 19, 013 Lecture 9 and 10: Iterative rounding II Lecturer: Ola Svensson Scribes: Olivier Blanvillain In the last lecture we saw a framework for

More information

1 The Minimum Spanning Tree (MST) Problem

1 The Minimum Spanning Tree (MST) Problem IEOR269: Lecture 3 1 Integer Programming and Combinatorial Optimization Lecture #3 IEOR 269 Feb 5, 2010 Lecturer: Dorit Hochbaum Scribe: Dogan Bilguvar Handouts: Game of Fiver and Fire Station Problems

More information

Lecture 6: Approximation via LP Rounding

Lecture 6: Approximation via LP Rounding Lecture 6: Approximation via LP Rounding Let G = (V, E) be an (undirected) graph. A subset C V is called a vertex cover for G if for every edge (v i, v j ) E we have v i C or v j C (or both). In other

More information

Topic: Primal-Dual Method: Steiner Forest and Facility Location Date: 3/8/2007

Topic: Primal-Dual Method: Steiner Forest and Facility Location Date: 3/8/2007 CS880: Approximations Algorithms Scribe: Chi Man Liu Lecturer: Shuchi Chawla Topic: Primal-Dual Method: Steiner Forest and Facility Location Date: 3/8/2007 Last time we discussed how LP-duality can be

More information

Lecture 7: Approximation via Randomized Rounding

Lecture 7: Approximation via Randomized Rounding Lecture 7: Approximation via Randomized Rounding Often LPs return a fractional solution where the solution x, which is supposed to be in {0, } n, is in [0, ] n instead. There is a generic way of obtaining

More information

CSC Linear Programming and Combinatorial Optimization Lecture 12: Approximation Algorithms using Tools from LP

CSC Linear Programming and Combinatorial Optimization Lecture 12: Approximation Algorithms using Tools from LP S2411 - Linear Programming and ombinatorial Optimization Lecture 12: Approximation Algorithms using Tools from LP Notes taken by Matei David April 12, 2005 Summary: In this lecture, we give three example

More information

Chapter 6: Random rounding of semidefinite programs

Chapter 6: Random rounding of semidefinite programs Chapter 6: Random rounding of semidefinite programs Section 6.1: Semidefinite Programming Section 6.: Finding large cuts Extra (not in book): The max -sat problem. Section 6.5: Coloring 3-colorabale graphs.

More information

Vertex Cover. Linear Progamming and Approximation Algorithms. Joshua Wetzel

Vertex Cover. Linear Progamming and Approximation Algorithms. Joshua Wetzel 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?

More information

11. APPROXIMATION ALGORITHMS

11. APPROXIMATION ALGORITHMS 11. APPROXIMATION ALGORITHMS load balancing center selection pricing method: vertex cover LP rounding: vertex cover generalized load balancing knapsack problem Lecture slides by Kevin Wayne Copyright 2005

More information

2 Approximation Results for Group Steiner Tree

2 Approximation Results for Group Steiner Tree Advanced Approximation Algorithms (CMU 15-854B, Spring 2008) Lecture 10: Group Steiner Tree problem 14 February, 2008 Lecturer: Anupam Gupta Scribe: Amitabh Basu 1 Problem Definition We will be studying

More information

Machine Minimization for Scheduling Jobs with Interval Constraints

Machine Minimization for Scheduling Jobs with Interval Constraints ! Machine Minimization for Scheduling Jobs with Interval Constraints Julia Chuzhoy Sudipto Guha Sanjeev Khanna Joseph (Seffi) Naor Abstract The problem of scheduling jobs with interval constraints is a

More information

Iterative Rounding and Relaxation

Iterative Rounding and Relaxation Iterative Rounding and Relaxation 1 / 58 Iterative Rounding and Relaxation James Davis Department of Computer Science Rutgers University Camden jamesdav@camden.rutgers.edu February 12, 2010 Iterative Rounding

More information

1 NP-Completeness (continued)

1 NP-Completeness (continued) Mathematical Programming Lecture 27 OR 630 Fall 2006 November 30, 2006 adapted from notes by Omer Hancer 1 NP-Completeness (continued) Before starting on complexity theory, we talked about running times,

More information

Delegate and Conquer: On Minimum Degree Minimum Cost Spanning Tree

Delegate and Conquer: On Minimum Degree Minimum Cost Spanning Tree Delegate and Conquer: On Minimum Degree Minimum Cost Spanning Tree R. Ravi Carnegie Mellon University Joint Work with Mohit Singh 10/5/2006 1 Minimum Degree MST problem Given an undirected graph G, cost

More information

Totally Unimodular Matrices

Totally Unimodular Matrices Totally Unimodular Matrices m constraints, n variables Vertex solution: unique solution of n linearly independent tight inequalities Can be rewritten as: That is: Totally Unimodular Matrices Assuming all

More information

1. Lecture notes on bipartite matching

1. Lecture notes on bipartite matching Massachusetts Institute of Technology Handout 3 18.433: Combinatorial Optimization February 9th, 2009 Michel X. Goemans 1. Lecture notes on bipartite matching Matching problems are among the fundamental

More information

Week 10. c T x + d T y. Ax + Dy = b. x integer.

Week 10. c T x + d T y. Ax + Dy = b. x integer. Week 10 1 Integer Linear Programg So far we considered LP s with continuous variables. However sometimes decisions are intrinsically restricted to integer numbers. E.g., in the long term planning, decision

More information

Lecture 18&19: Iterative relaxation

Lecture 18&19: Iterative relaxation CMPUT 675: Topics in Algorithms and Combinatorial Optimization (Fall 2009) Lecture 18&19: Iterative relaxation Lecturer: Mohammad R. Salavatipour Date: Nov 5, 2009 Scriber: Zhong Li 1 Spanning Tree Polytope

More information

Homework Assignment #5: Solutions

Homework Assignment #5: Solutions Advanced Algorithms, Fall 2014 Prof. Bernard Moret Homework Assignment #5: Solutions Question 1. Given a set of points {x 1,...,x n } on the number line, we want to find the smallest set of unitlength

More information

CS261: A Second Course in Algorithms Lecture #13: Online Scheduling and Online Steiner Tree

CS261: A Second Course in Algorithms Lecture #13: Online Scheduling and Online Steiner Tree CS6: A Second Course in Algorithms Lecture #3: Online Scheduling and Online Steiner Tree Tim Roughgarden February 6, 06 Preamble Last week we began our study of online algorithms with the multiplicative

More information

3.3 Easy ILP problems and totally unimodular matrices

3.3 Easy ILP problems and totally unimodular matrices 3.3 Easy ILP problems and totally unimodular matrices Consider a generic ILP problem expressed in standard form where A Z m n with n m, and b Z m. min{c t x : Ax = b, x Z n +} (1) P(b) = {x R n : Ax =

More information

Lecture 12: Steiner Tree Problems

Lecture 12: Steiner Tree Problems Advanced Approximation Algorithms (CMU 15-854B, Spring 008) Lecture 1: Steiner Tree Problems February 1, 008 Lecturer: Anupam Gupta Scribe: Michael Dinitz 1 Finishing up Group Steiner Tree Hardness Last

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms or: How I Learned to Stop Worrying and Deal with NP-Completeness Ong Jit Sheng, Jonathan (A0073924B) March, 2012 Overview Key Results (I) General techniques: Greedy algorithms

More information

Optimization (2MMD10/2DME20) TU/e, fall 2015 Problem set for weeks 4 and 5

Optimization (2MMD10/2DME20) TU/e, fall 2015 Problem set for weeks 4 and 5 Optimization (2MMD10/2DME20) TU/e, fall 2015 Problem set for weeks 4 and 5 Exercise 69. State for each of the following decision problems whether you think that it is contained in NP and/or co-np. If you

More information

Lecture Steiner Tree Approximation- June 15

Lecture Steiner Tree Approximation- June 15 Approximation Algorithms Workshop June 13-17, 2011, Princeton Lecture Steiner Tree Approximation- June 15 Fabrizio Grandoni Scribe: Fabrizio Grandoni 1 Overview In this lecture we will summarize our recent

More information

CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24

CSL851: Algorithmic Graph Theory Semester I Lecture 1: July 24 CSL851: Algorithmic Graph Theory Semester I 2013-2014 Lecture 1: July 24 Lecturer: Naveen Garg Scribes: Suyash Roongta Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have

More information

1 Bipartite matching and vertex covers

1 Bipartite matching and vertex covers ORF 523 Lecture 6 Spring 2016, Princeton University Instructor: A.A. Ahmadi Scribe: G. Hall Thursday, February 25, 2016 When in doubt on the accuracy of these notes, please cross check with the instructor

More information

5.1 Bipartite Matching

5.1 Bipartite Matching CS787: Advanced Algorithms Lecture 5: Applications of Network Flow In the last lecture, we looked at the problem of finding the maximum flow in a graph, and how it can be efficiently solved using the Ford-Fulkerson

More information

Applied Algorithm Design Lecture 5

Applied Algorithm Design Lecture 5 Applied Algorithm Design Lecture 5 Pietro Michiardi Eurecom Pietro Michiardi (Eurecom) Applied Algorithm Design Lecture 5 1 / 86 Approximation Algorithms Pietro Michiardi (Eurecom) Applied Algorithm Design

More information

Graph Algorithms. Edge Coloring. Graph Algorithms

Graph Algorithms. Edge Coloring. Graph Algorithms Graph Algorithms Edge Coloring Graph Algorithms The Input Graph A simple and undirected graph G = (V,E) with n vertices in V, m edges in E, and maximum degree. Graph Algorithms 1 Matchings A matching,

More information

Necklace Splitting and Multiobjective Optimization

Necklace Splitting and Multiobjective Optimization Necklace Splitting and Multiobjective Optimization 1 CCTVal and UTFSM, Valparaíso, Chile Seminario conjunto AGCO y Matemáticas Discretas Universidad de Chile, 9. January 2013 1 joint with Christian Glaßer

More information

Minimize subject to. x S R

Minimize subject to. x S R Chapter 12 Lagrangian Relaxation This chapter is mostly inspired by Chapter 16 of [1]. In the previous chapters, we have succeeded to find efficient algorithms to solve several important problems such

More information

Scheduling Shop Scheduling. Tim Nieberg

Scheduling Shop Scheduling. Tim Nieberg Scheduling Shop Scheduling Tim Nieberg Shop models: General Introduction Remark: Consider non preemptive problems with regular objectives Notation Shop Problems: m machines, n jobs 1,..., n operations

More information

CMSC 451: Reductions & NP-completeness

CMSC 451: Reductions & NP-completeness CMSC 451: Reductions & NP-completeness Slides By: Carl Kingsford Department of Computer Science University of Maryland, College Park Based on Section 8.1 of Algorithm Design by Kleinberg & Tardos. Reductions

More information

Graph Balancing: A Special Case of Scheduling Unrelated Parallel Machines

Graph Balancing: A Special Case of Scheduling Unrelated Parallel Machines Graph Balancing: A Special Case of Scheduling Unrelated Parallel Machines Tomáš Ebenlendr Marek Krčál Jiří Sgall Abstract We design a 1.75-approximation algorithm for a special case of scheduling parallel

More information

Stanford University CS261: Optimization Handout 7 Luca Trevisan January 25, 2011

Stanford University CS261: Optimization Handout 7 Luca Trevisan January 25, 2011 Stanford University CS261: Optimization Handout 7 Luca Trevisan January 25, 2011 Lecture 7 In which we show how to use linear programming to approximate the vertex cover problem. 1 Linear Programming Relaxations

More information

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

ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN. Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015 ONLINE DEGREE-BOUNDED STEINER NETWORK DESIGN Sina Dehghani Saeed Seddighin Ali Shafahi Fall 2015 ONLINE STEINER FOREST PROBLEM An initially given graph G. s 1 s 2 A sequence of demands (s i, t i ) arriving

More information

Lecture 11: Integer Linear Programs

Lecture 11: Integer Linear Programs Lecture 11: Integer Linear Programs 1 Integer Linear Programs Consider the following version of Woody s problem: x 1 = chairs per day, x 2 = tables per day max z = 35x 1 + 60x 2 profits 14x 1 + 26x 2 190

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli November 11, 2014 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

Course Notes for CS336: Graph Theory

Course Notes for CS336: Graph Theory Course Notes for CS336: Graph Theory Jayadev Misra The University of Texas at Austin 5/11/01 Contents 1 Introduction 1 1.1 Basics................................. 2 1.2 Elementary theorems.........................

More information

Steiner Tree Approximation via IRR. Randomized Rounding

Steiner Tree Approximation via IRR. Randomized Rounding Steiner Tree Approximation via Iterative Randomized Rounding Graduate Program in Logic, Algorithms and Computation μπλ Network Algorithms and Complexity June 18, 2013 Overview 1 Introduction Scope Related

More information

Energy constraint flow for wireless sensor networks. Hans L. Bodlaender Richard Tan Thomas van Dijk Jan van Leeuwen

Energy constraint flow for wireless sensor networks. Hans L. Bodlaender Richard Tan Thomas van Dijk Jan van Leeuwen 1 Energy constraint flow for wireless sensor networks Hans L. Bodlaender Richard Tan Thomas van Dijk Jan van Leeuwen 2 Overview 3 Wireless sensor networks Wireles sensor - smart dust - motes Microchip

More information

(where C, X R and are column vectors)

(where C, X R and are column vectors) 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

More information

Scheduling Parallel Machine Scheduling. Tim Nieberg

Scheduling Parallel Machine Scheduling. Tim Nieberg Scheduling Parallel Machine Scheduling Tim Nieberg Problem P C max : m machines n jobs with processing times p 1,..., p n Problem P C max : m machines n jobs with processing times p 1,..., p { n 1 if job

More information

CSE 190, Great ideas in algorithms: Matrix multiplication

CSE 190, Great ideas in algorithms: Matrix multiplication CSE 190, Great ideas in algorithms: Matrix multiplication 1 Matrix multiplication Given two n n matrices A, B, compute their product C = AB using as few additions and multiplications as possible. That

More information

Quadratic programming on graphs without long odd cycles

Quadratic programming on graphs without long odd cycles Quadratic programming on graphs without long odd cycles Marcin Kamiński Department of Computer Science Université Libre de Bruxelles, Belgium Marcin.Kaminski@ulb.ac.be Abstract We introduce a quadratic

More information

Lecture 20: Inapproximability of Minimum Vertex Cover

Lecture 20: Inapproximability of Minimum Vertex Cover CS 880: Advanced Complexity Theory 3//008 Lecture 0: Inapproximability of Minimum Vertex Cover Instructor: Dieter van Melkebeek Scribe: Mark Liu Last time we examined a generic approach for inapproximability

More information

1 Introduction: Approximation Algorithms

1 Introduction: Approximation Algorithms Cornell University, Fall 01 CS 680: Algorithms Lecture notes on approximation algorithms October 10 15, 010 1 Introduction: Approximation Algorithms For many important optimization problems, there is no

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 20: Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 20: Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 20: Consequences of the Ellipsoid Algorithm Instructor: Shaddin Dughmi Announcements Outline 1 Recapping the Ellipsoid Method 2 Complexity

More information

Week 5 Integral Polyhedra

Week 5 Integral Polyhedra Week 5 Integral Polyhedra We have seen some examples 1 of linear programming formulation that are integral, meaning that every basic feasible solution is an integral vector. This week we develop a theory

More information

Inverse Optimization by James Orlin

Inverse Optimization by James Orlin Inverse Optimization by James Orlin based on research that is joint with Ravi Ahuja Jeopardy 000 -- the Math Programming Edition The category is linear objective functions The answer: When you maximize

More information

Lecture 7,8 (Sep 22 & 24, 2015):Facility Location, K-Center

Lecture 7,8 (Sep 22 & 24, 2015):Facility Location, K-Center ,8 CMPUT 675: Approximation Algorithms Fall 2015 Lecture 7,8 (Sep 22 & 24, 2015):Facility Location, K-Center Lecturer: Mohammad R. Salavatipour Scribe: Based on older notes 7.1 Uncapacitated Facility Location

More information

Answers to some of the exercises.

Answers to some of the exercises. Answers to some of the exercises. Chapter 2. Ex.2.1 (a) There are several ways to do this. Here is one possibility. The idea is to apply the k-center algorithm first to D and then for each center in D

More information

College of Computer & Information Science Fall 2007 Northeastern University 9 October 2007

College of Computer & Information Science Fall 2007 Northeastern University 9 October 2007 College of Computer & Information Science Fall 2007 Northeastern University 9 October 2007 CS G399: Algorithmic Power Tools I Scribe: Laura Poplawski Lecture Outline: Network Design Steiner Forest (primal-dual

More information

A Perfect Price Discrimination Market Model with Production, and a Rational Convex Program for it

A Perfect Price Discrimination Market Model with Production, and a Rational Convex Program for it A Perfect Price Discrimination Market Model with Production, and a Rational Convex Program for it Gagan Goel Vijay V. Vazirani Abstract Recent results showing PPAD-completeness of the problem of computing

More information

Scheduling and (Integer) Linear Programming

Scheduling and (Integer) Linear Programming Scheduling and (Integer) Linear Programming Christian Artigues LAAS - CNRS & Université de Toulouse, France artigues@laas.fr Master Class CPAIOR 2012 - Nantes Christian Artigues Scheduling and (Integer)

More information

Guessing Game: NP-Complete?

Guessing Game: NP-Complete? Guessing Game: NP-Complete? 1. LONGEST-PATH: Given a graph G = (V, E), does there exists a simple path of length at least k edges? YES 2. SHORTEST-PATH: Given a graph G = (V, E), does there exists a simple

More information

Theorem 1. The weight of the matching M returned by the greedy algorithm is at least half of the weight of any matching M.

Theorem 1. The weight of the matching M returned by the greedy algorithm is at least half of the weight of any matching M. Analysis of Algorithms Notes on Matchings CS 6820 Fall 2014 September 8-12 Given a graph G = (V, E) with nodes V and edges E, a matching M is a subset of edges M E such that each node has degree at most

More information

An Approximation Algorithm for Bounded Degree Deletion

An Approximation Algorithm for Bounded Degree Deletion An Approximation Algorithm for Bounded Degree Deletion Tomáš Ebenlendr Petr Kolman Jiří Sgall Abstract Bounded Degree Deletion is the following generalization of Vertex Cover. Given an undirected graph

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms 6.046J/18.401J LECTURE 14 Network Flow & Applications Review Max-flow min-cut theorem Edmonds Karp Flow Integrality Part II: Applications Recall from Lecture 13 Flow value:

More information

Randomized Algorithm for Minimum Spanning Trees

Randomized Algorithm for Minimum Spanning Trees Randomized Algorithm for Minimum Spanning Trees by Nabeel Akhtar Nov. 2013 - CS537 Randomized Algorithms - Prof. Steve Homer 1 Problem Definition Given a undirected and weighted graph G=(E,V,w), E is the

More information

4. Lecture notes on matroid optimization

4. Lecture notes on matroid optimization Massachusetts Institute of Technology Handout 9 18.433: Combinatorial Optimization March 20th, 2009 Michel X. Goemans 4. Lecture notes on matroid optimization 4.1 Definition of a Matroid Matroids are combinatorial

More information

On the effect of forwarding table size on SDN network utilization

On the effect of forwarding table size on SDN network utilization IBM Haifa Research Lab On the effect of forwarding table size on SDN network utilization Rami Cohen IBM Haifa Research Lab Liane Lewin Eytan Yahoo Research, Haifa Seffi Naor CS Technion, Israel Danny Raz

More information

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy David P. Williamson Anke van Zuylen School of Operations Research and Industrial Engineering, Cornell University,

More information

Sparsest Cut. Computational and Metric Geometry. Instructor: Yury Makarychev

Sparsest Cut. Computational and Metric Geometry. Instructor: Yury Makarychev Sparsest Cut Computational and Metric Geometry Instructor: Yury Makarychev 1 Overview 1.1 Sparsest Cut with Uniform Demands Today we will talk about applications of metric embeddings in combinatorial optimization.

More information

Chapter 23 Minimum Spanning Trees

Chapter 23 Minimum Spanning Trees Chapter 23 Kruskal Prim [Source: Cormen et al. textbook except where noted] This refers to a number of problems (many of practical importance) that can be reduced to the following abstraction: let G =

More information

Branch and Bound Methods

Branch and Bound Methods Branch and Bound Methods basic ideas and attributes unconstrained nonconvex optimization mixed convex-boolean optimization Prof. S. Boyd, EE364b, Stanford University Methods for nonconvex optimization

More information

Proximal mapping via network optimization

Proximal mapping via network optimization L. Vandenberghe EE236C (Spring 23-4) Proximal mapping via network optimization minimum cut and maximum flow problems parametric minimum cut problem application to proximal mapping Introduction this lecture:

More information

W4231: Analysis of Algorithms

W4231: Analysis of Algorithms W4231: Analysis of Algorithms Topological Sort Topological Sort Shortest Paths 10/26/1999 Given a directed graph G =(V,E), a topological sort of the vertices is an ordering v 1,...,v n of the vertices

More information

Distributed Computing over Communication Networks: Maximal Independent Set

Distributed Computing over Communication Networks: Maximal Independent Set Distributed Computing over Communication Networks: Maximal Independent Set What is a MIS? MIS An independent set (IS) of an undirected graph is a subset U of nodes such that no two nodes in U are adjacent.

More information

Figure 1: Example Matching: Matching consists of edges in bold.

Figure 1: Example Matching: Matching consists of edges in bold. CS 6505: Computability & Algorithms Lectures 3 & 4, January 20 & 22, 2010 Greedy Algorithms In this lecture we will examine a couple of famous greedy algorithms and then look at matroids, which are a class

More information

LINEAR PROGRAMMING. Vazirani Chapter 12 Introduction to LP-Duality. George Alexandridis(NTUA)

LINEAR PROGRAMMING. Vazirani Chapter 12 Introduction to LP-Duality. George Alexandridis(NTUA) LINEAR PROGRAMMING Vazirani Chapter 12 Introduction to LP-Duality George Alexandridis(NTUA) gealexan@mail.ntua.gr 1 LINEAR PROGRAMMING What is it? A tool for optimal allocation of scarce resources, among

More information

The Knapsack Problem and Fully Polynomial Time Approximation Schemes (FPTAS)

The Knapsack Problem and Fully Polynomial Time Approximation Schemes (FPTAS) The Knapsack Problem and Fully Polynomial Time Approximation Schemes FPTAS) Katherine Lai 18.434: Seminar in Theoretical Computer Science Prof. M. X. Goemans March 10, 2006 1 The Knapsack Problem In the

More information

8.1 Makespan Scheduling

8.1 Makespan Scheduling 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Dynamic Programing: Min-Makespan and Bin Packing Date: 2/19/15 Scribe: Gabriel Kaptchuk 8.1 Makespan Scheduling Consider an instance

More information

The Least-Core of Threshold Network Flow Games

The Least-Core of Threshold Network Flow Games The Least-Core of Threshold Network Flow Games Yoram Bachrach Abstract Network flow games model domains where a commodity can flow through a network controlled by selfish agents. Threshold Network Flow

More information

Network Flows and Linear Programming

Network Flows and Linear Programming Chapter 16 Network Flows and Linear Programming 16.1 The Steepest Ascent Hill Climbing Algorithm We have all experienced that climbing a hill can take a long time if you wind back and forth barely increasing

More information

Partial Vertex Cover

Partial Vertex Cover Partial Vertex Cover Joshua Wetzel Department of Computer Science Rutgers University Camden wetzeljo@camden.rutgers.edu April 2, 2009 Joshua Wetzel Partial Vertex Cover / 48 Vertex Cover Input: Given G

More information

CSL851: Algorithmic Graph Theory Semester I Lecture 4: August 5

CSL851: Algorithmic Graph Theory Semester I Lecture 4: August 5 CSL851: Algorithmic Graph Theory Semester I 2013-14 Lecture 4: August 5 Lecturer: Naveen Garg Scribes: Utkarsh Ohm Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have not

More information

Lecture 2: Matching Algorithms

Lecture 2: Matching Algorithms Lecture 2: Matching Algorithms Piotr Sankowski Stefano Leonardi sankowski@dis.uniroma1.it leon@dis.uniroma1.it Theoretical Computer Science 08.10.2009 - p. 1/54 Lecture Overview Matchings: Problem Definition

More information