1 The Minimum Spanning Tree (MST) Problem

Size: px
Start display at page:

Download "1 The Minimum Spanning Tree (MST) Problem"

Transcription

1 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 1 The Minimum Spanning Tree (MST) Problem Definition: Let there be a graph G = (V, E) with weight c ij assigned to each edge e = (i, j) E, and let n = V. The MST problem is finding a tree that connects all the vertices of V and is of minimum total edge cost. The MST has the following linear programming (LP) formulation: Decision Variables: { 1 if edge e=(i,j) is selected X ij = 0 o/w min s.t i,j S X ij 0 c ij.x ij X ij = n 1 X ij S 1 ( S V ) The optimum solution to the (LP) formulation is an integer solution, so it is enough to have nonnegativity constraints instead of binary variable constraints (Proof will come later). One significant property of this (LP) formulation is that it contains exponential number of constraints with respect to the number of vertices. With Ellipsoid Method, however, this model can be solved optimally in polynomial time. As we shall prove later, given a polynomial time separation oracle, the ellipsoid method finds the optimal solution to an LP in polynomial time. A separation oracle is an algorithm that given a vector, it finds a violated constraint

2 IEOR269: Lecture 3 2 or asserts that the vector is feasible. There are other problem formulations with the same nature, meaning that nonnegativity constraints are enough instead of the binary constraints. Before proving that the MST formulation is in fact correct, we will take a look at these other formulations: 2 General Matching Problem Definition: Let there be a graph G = (V, E). A set M E is called a matching if v V there exists at most one e M adjacent to v. General Matching Problem is finding a feasible matching M so that M is maximized. This Maximum Cardinality Matching is also referred to as the Edge Packing Problem. 2.1 Maximum Matching Problem in Bipartite Graphs Figure 1: Bipartite Graph Definition: In a bipartite graph, G = (V, E B ) the set of vertices V can be partitioned into two disjoint sets V 1 and V 2 such that every edge connects a vertex in V 1 to another one in V 2. That is, no two vertices in V 1 have an edge between them, and likewise for V 2 (Please see Figure 1). The formulation of Maximum Matching Problem in Bipartite Graph is as follows: { 1 if edge e=(i,j) is selected X ij = 0 o/w

3 IEOR269: Lecture 3 3 max s.t B X ij X ij 1 B j V X ij 0 Remark: Assignment Problem is a Matching Problem on a complete Bipartite Graph with edge weights not necessarily Maximum Matching Problem in Non-Bipartite Graphs When the graph G = (V, E) is non-bipartite, the formulation above, replacing E B by E does not have integer extreme points and therefore does not solve the integer problem unless we add the integrality requirement. In a non-bipartite graph there are odd cycles. In that case, the optimum solution could be non-integer. As an example, consider a cycle with 3 vertices i, j, k. The best integer solution for this 3-node cycle would be 1, as we can select at most one edge. However, in case of Linear Model, the optimum would be 1.5, where each edge is assigned 1/2 (Please see Figure 2). Figure 2: Odd Cycle Problem In order to exclude fractional solutions involving odd cycles, we need to add the following (exponentially many) constraints to the above formulation. j S X ij S 1 2 S V (where S is odd) Jack Edmonds showed that adding this set of constraints is sufficient to guarantee the integrality of the solutions to the LP formulation of the general matching problem.

4 IEOR269: Lecture Constraint Matrix Analysis for Matching Problems In the Bipartite Matching Problem, the constraint matrix is totally unimodular. Each column has exactly two 1 s, moreover the set rows can be partitioned into two sets such that on each set there is only one 1 on each column (Figure 3). In the Nonbipartite Matching Problem, however, although each column has again two 1 s, it is impossible to partition the rows of the constraint matrix as in the bipartite case (see Figure 4). Figure 3: Bipartite Graph Constraint Matrix Figure 4: Non-Bipartite Graph Constraint Matrix Indeed, the non-bipartite matching constraint matrix (without the odd sets constraints) is not totally unimodular. For example for a graph that is a triangle, the determinant of the corresponding constraint matrix is 2, hence it is not unimodular: Traveling Salesperson Problem (TSP) Given a graph G = (V, E) with each edge (i, j) E having a weight c ij. Our aim is to find a tour which visits each node exactly once with minimum total weighted cost. Definition: Degree of a node is the number of adjacent edges to the node. In the Figure 5, degree of the nodes are as follows:

5 IEOR269: Lecture 3 5 deg 1 = 2, deg 2 = 3, deg 3 = 2, deg 4 = 3, deg 5 = 3, deg 6 = 1 Figure 5: Example Graph Remark: deg i = 2 E i V Definition: A directed Graph is a graph where each edge is directed from one vertex to another, and is called an arc. A directed Graph is denoted by G = (V, A). To convert an undirected graph into a directed one, we replace each edge (i, j) E by two arcs (i, j)&(j, i) in A. Definition: The indegree of a node is the number of the incoming arcs to the node; the outdegree of a node is the number of the outgoing arcs from the node. For each node in a cycle, the outdegree and indegree are both equal to IP Formulation for TSP It is easier to give a formulation for the TSP if we represent each edge with two arcs. Decision Variable: { 1 if arc a=(i,j) is traversed X ij = 0 o/w The formulation is:

6 IEOR269: Lecture 3 6 min (i,j) A s.t (1) (i,j) A j V (2) (i,j) A i V (3) i S j S c ij.x ij X ij = 1 X ij = 1 X ij 1 (4)X ij {0, 1} i V j V S V, S = V/S (i, j) A Constraint sets (1) and (2) state that the outdegree and the indegree, respectively, for each node will be 1. Constraint set (3) is the Subtour Elimination constraints which prevents a solution with several (not connected) subtours instead of a single tour. This formulation has an exponential number of constraints, and the binary requirement cannot be omitted without it there are optimal fractional solutions (try to find an example). There are other alternative formulations to the TSP problem some of which are compact. For instance, the Tucker formulation (given in the book of Papadimitriou and Stiglitz) is compact has a polynomial number of constraints. However, that formulation is inferior in terms of the quality of the respective LP relaxation and is not used in practice. We will see later in the course, the 1-tree formulation of the TSP, also with an exponential number of constraints. 4 Discussion of LP-Formulation for MST Theorem 4.1 The formulation is correct, i.e. X ij is a (0 1) vector and the edges on which X ij = 1 form a minimum spanning tree. Proof: Let E be the set of edges for which the solution to (LP) is positive:. E = {e E X e > 0} Proposition 4.1 X e 1, e E. Proof of Proposition 4.1: For edge e = (i, j) set S = {i, j}. Then, the corresponding constraint yields X ij 2 1 = 1. Proposition 4.2 (V, E ) contains no cycles.

7 IEOR269: Lecture 3 7 Proof of Proposition 4.2: Step 1: There cannot be a cycle with only integer values (1 s). Proof of Step 1: Contradiction! Let the set of vertices the cycle passes through be denoted by R, then: R e=(i,j) i,j R X e R 1 Before Step 2, let s prove a lemma which we will use later: Definition: We call a set of vertices R tight if X e = R 1 e=(i,j) i,j R Lemma 4.1 No fractional tight cycles share a fractional edge. Proof of Lemma 4.1: Suppose there were two such cycles C 1 and C 2 with k and l vertices, respectively, sharing p edges as shown in Figure 6. Figure 6: 2 tight fractional cycles Let P denote the p-path consisting of the common edges, i.e. contains (p + 1) vertices. The total value of X e summed on these edges of the union of cycles is: X e = (l 1) + (k 1) X e e C 1 C 2 e P For all subset S V, we had the following constraint in our formulation: X ij S 1 i,j S

8 IEOR269: Lecture 3 8 Let define S = C 1 C 2, then: (l 1) + (k 1) e P X e k + l (p + 1) 1 p e P X e X e = 1 e P Done! Step 2: There is no fractional tight cycles. Proof of Step 2: Suppose there were fractional tight cycles in (V, E ). Consider the one containing the least number of fractional edges. Each such cycle contains at least two fractional edges e 1 &e 2 (else, the corresponding constraint is not tight). Let c e1 c e2 and θ = min {1 X e1, X e2 }. The solution {X e} with: (X e 1 = X e1 + θ), (X e 2 = X e2 θ) and (X e = X e, e e 1, e 2 ) is feasible and at least as good as the optimal solution {X e }. The feasibility comes from the Lemma 4.1. We are sure that we do not violate any other nontight fractional cycles which share the edge e 1. Otherwise, we should have selected θ as the minimum slack on that nontight fractional cycle and update X e accordingly. But, this would incur a solution where two fractional tight cycle share the fractional edge e 1 which cannot be the case due to Lemma 4.1. If there were nontight fractional cycles, then we could repeat the same modification for the fractional edges without violating feasibility. Therefore, there are no fractional cycles in (V, E ). The last step to prove that (LP) is the correct form will be to show that the resulting graph is connected. (Assignment 2)

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

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 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

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

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

(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

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

Good luck, veel succes!

Good luck, veel succes! Final exam Advanced Linear Programming, May 7, 13.00-16.00 Switch off your mobile phone, PDA and any other mobile device and put it far away. No books or other reading materials are allowed. This exam

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

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

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

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

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

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

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

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

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

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

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

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

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

Duality. Uri Feige. November 17, 2011

Duality. Uri Feige. November 17, 2011 Duality Uri Feige November 17, 2011 1 Linear programming duality 1.1 The diet problem revisited Recall the diet problem from Lecture 1. There are n foods, m nutrients, and a person (the buyer) is required

More information

The multi-integer set cover and the facility terminal cover problem

The multi-integer set cover and the facility terminal cover problem The multi-integer set cover and the facility teral cover problem Dorit S. Hochbaum Asaf Levin December 5, 2007 Abstract The facility teral cover problem is a generalization of the vertex cover problem.

More information

Introduction to Operations Research

Introduction to Operations Research 0-0 Introduction to Operations Research Peng Zhang June 7, 2015 School of Computer Science and Technology, Shandong University, Jinan, 250101, China. Email: algzhang@sdu.edu.cn. 1 Introduction 1 2 Overview

More information

Modelling linear and linear integer optimization problems An introduction

Modelling linear and linear integer optimization problems An introduction Modelling linear and linear integer optimization problems An introduction Karen Aardal September 5, 2016 In optimization, developing and analyzing models are key activities. Designing a model is a skill

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

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

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

Linear Programming and Network Optimization

Linear Programming and Network Optimization Linear Programming and Network Optimization Jonathan Turner March 1, 1 Many of the problem we have been studying can be viewed as special cases of the more general linear programming problem (LP). In the

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

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

1 Total Dual Integrality

1 Total Dual Integrality CS 598CSC: Combinatorial Optimization Lecture date: February 25, 2010 Instructor: Chandra Chekuri Scribe: Bill Kinnersley 1 Total Dual Integrality Recall that if A is TUM and b, c are integral vectors,

More information

Integer Programming 5

Integer Programming 5 15.053/8 April 9, 2013 Integer Programming 5 Gomory cuts Constraint generation Formulations using set notations 1 Quote of the Day Mathematicians are like Frenchmen: whatever you say to them, they translate

More information

7. Lecture notes on the ellipsoid algorithm

7. Lecture notes on the ellipsoid algorithm Massachusetts Institute of Technology Handout 19 18.433: Combinatorial Optimization May 4th, 009 Michel X. Goemans 7. Lecture notes on the ellipsoid algorithm The simplex algorithm was the first algorithm

More information

Definition A tree is a connected, acyclic graph. Alternately, a tree is a graph in which any two vertices are connected by exactly one simple path.

Definition A tree is a connected, acyclic graph. Alternately, a tree is a graph in which any two vertices are connected by exactly one simple path. 11.5 Trees Examples Definitions Definition A tree is a connected, acyclic graph. Alternately, a tree is a graph in which any two vertices are connected by exactly one simple path. Definition In an undirected

More information

Lecture Notes in Integer Programming

Lecture Notes in Integer Programming Lecture Notes in Integer Programming Andrea Lodi Version 1.2, December 11, 2013 Abstract These are the lecture notes for the course of Optimization Models and Algorithms M, academic year 2013-2014. In

More information

1 Approximation Algorithms: Vertex Cover

1 Approximation Algorithms: Vertex Cover Approximation Algorithms: Vertex Cover. Introduction to Approximation Algorithms There are several optimization problems such as Minimum Spanning Tree (MST), Min-Cut, Maximum- Matching, in which you can

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

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

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

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

Operations Research 2

Operations Research 2 Operations Research 2 Lecturer: David Ramsey Room B-2026 david.ramsey@ul.ie www.ul.ie/ramsey August 31, 2011 1 / 80 Recommended Text Operations Research- An Introduction. Hamdy A. Taha (003/TAH) The 7th

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

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism

CHAPTER 2. Graphs. 1. Introduction to Graphs and Graph Isomorphism CHAPTER 2 Graphs 1. Introduction to Graphs and Graph Isomorphism 1.1. The Graph Menagerie. Definition 1.1.1. A simple graph G = (V, E) consists of a set V of vertices and a set E of edges, represented

More information

2. Lecture notes on non-bipartite matching

2. Lecture notes on non-bipartite matching Massachusetts Institute of Technology Handout 5 8.433: Combinatorial Optimization February 8th, 009 Michel X. Goemans. Lecture notes on non-bipartite matching Given a graph G = (V, E), we are interested

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

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

LP-based solution methods for the asymmetric TSP

LP-based solution methods for the asymmetric TSP LP-based solution methods for the asymmetric TSP Vardges Melkonian Department of Mathematics, Ohio Universtiy, Athens, Ohio 45701, USA vardges@math.ohiou.edu Abstract We consider an LP relaxation for ATSP.

More information

56:272 Integer Programming & Network Flows Final Exam -- Fall 99

56:272 Integer Programming & Network Flows Final Exam -- Fall 99 56:272 Integer Programming & Network Flows Final Exam -- Fall 99 Write your name on the first page, and initial the other pages. Answer all the multiple-choice questions and X of the remaining questions.

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

2-stage stochastic linear programming

2-stage stochastic linear programming 2-stage stochastic linear programming Yesterday, we considered problems that were modelling an extreme form of uncertainty. The decision maker, just knows the sort of problem he is going to be solved,

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

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

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

GRAPH THEORY and APPLICATIONS. Trees

GRAPH THEORY and APPLICATIONS. Trees GRAPH THEORY and APPLICATIONS Trees Properties Tree: a connected graph with no cycle (acyclic) Forest: a graph with no cycle Paths are trees. Star: A tree consisting of one vertex adjacent to all the others.

More information

1 Digraphs. Definition 1

1 Digraphs. Definition 1 1 Digraphs Definition 1 Adigraphordirected graphgisatriplecomprisedofavertex set V(G), edge set E(G), and a function assigning each edge an ordered pair of vertices (tail, head); these vertices together

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 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

2. Graph Terminology

2. Graph Terminology 2. GRAPH TERMINOLOGY 186 2. Graph Terminology 2.1. Undirected Graphs. Definitions 2.1.1. Suppose G = (V, E) is an undirected graph. (1) Two vertices u, v V are adjacent or neighbors if there is an edge

More information

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs CSE599s: Extremal Combinatorics November 21, 2011 Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs Lecturer: Anup Rao 1 An Arithmetic Circuit Lower Bound An arithmetic circuit is just like

More information

Chapter 2 Integer Programming. Paragraph 1 Total Unimodularity

Chapter 2 Integer Programming. Paragraph 1 Total Unimodularity Chapter 2 Integer Programming Paragraph 1 Total Unimodularity What we did so far We studied algorithms for solving linear programs Simplex (primal, dual, and primal-dual) Ellipsoid Method (proving LP is

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

15.093: Optimization Methods. Lecture 12: Discrete Optimization

15.093: Optimization Methods. Lecture 12: Discrete Optimization 15.093: Optimization Methods Lecture 12: Discrete Optimization 1 Todays Lecture Modeling with integer variables Slide 1 What is a good formulation? Theme: The Power of Formulations 2 Integer Optimization

More information

Min-cost flow problems and network simplex algorithm

Min-cost flow problems and network simplex algorithm Min-cost flow problems and network simplex algorithm The particular structure of some LP problems can be sometimes used for the design of solution techniques more efficient than the simplex algorithm.

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

13.1 Semi-Definite Programming

13.1 Semi-Definite Programming CS787: Advanced Algorithms Lecture 13: Semi-definite programming In this lecture we will study an extension of linear programming, namely semi-definite programming. Semi-definite programs are much more

More information

Graphs and Network Flows IE411 Lecture 1

Graphs and Network Flows IE411 Lecture 1 Graphs and Network Flows IE411 Lecture 1 Dr. Ted Ralphs IE411 Lecture 1 1 References for Today s Lecture Required reading Sections 17.1, 19.1 References AMO Chapter 1 and Section 2.1 and 2.2 IE411 Lecture

More information

Algorithms for finding Nash Equilibria

Algorithms for finding Nash Equilibria Ethan Kim School of Computer Science McGill University Outline 1 Definition of bimatrix games 2 Simplifications 3 Setting up polytopes 4 Lemke-Howson algorithm 5 Lifting simplifications Bimatrix Games

More information

Discrete Optimization 2010 Lecture 4 Minimum-Cost Flows

Discrete Optimization 2010 Lecture 4 Minimum-Cost Flows Discrete Optimization 2010 Lecture 4 Minimum-Cost Flows Marc Uetz University of Twente m.uetz@utwente.nl Lecture 4: sheet 1 / 31 Marc Uetz Discrete Optimization Outline 1 Remarks on Max-Flow and Min-Cut

More information

March 15, 2005

March 15, 2005 .0 March, 00 Introduction to Networks Eulerian Tours The Shortest Path Problem Applications of the shortest path problem Dijkstra s Algorithm for Solving the Shortest Path Problem Network Models Optimization

More information

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

Definition 11.1. Given a graph G on n vertices, we define the following quantities: Lecture 11 The Lovász ϑ Function 11.1 Perfect graphs We begin with some background on perfect graphs. graphs. First, we define some quantities on Definition 11.1. Given a graph G on n vertices, we define

More information

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131

Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Discrete (and Continuous) Optimization Solutions of Exercises 1 WI4 131 Kees Roos Technische Universiteit Delft Faculteit Informatietechnologie en Systemen Afdeling Informatie, Systemen en Algoritmiek

More information

Advanced Combinatorial Optimization 8 October Lecture 8: Matroids

Advanced Combinatorial Optimization 8 October Lecture 8: Matroids 18.438 Advanced Combinatorial Optimization 8 October 2009 Lecture 8: Matroids Lecturer: Michel X. Goemans Scribe: Elette Boyle* (*Based on notes from Bridget Eileen Tenner and Nicole Immorlica.) 1 Matroids

More information

Algorithms for Integer Programming

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

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

Sample Final Examination Questions IE406 Introduction to Mathematical Programming Dr. Ralphs

Sample Final Examination Questions IE406 Introduction to Mathematical Programming Dr. Ralphs Sample Final Examination Questions IE0 Introduction to Mathematical Programming Dr. Ralphs. Consider the following linear programming problem and its optimal final tableau. min x x + x x + x + x 8 x +

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

56:272 Integer Programming & Network Flows Final Exam Solutions -- Fall 99

56:272 Integer Programming & Network Flows Final Exam Solutions -- Fall 99 56:272 Integer Programming & Network Flows Final Exam Solutions -- Fall 99 Write your name on the first page, and initial the other pages. Answer all the multiple-choice questions and X of the remaining

More information

Integer Programming: Large Scale Methods Part I (Chapter 16)

Integer Programming: Large Scale Methods Part I (Chapter 16) Integer Programming: Large Scale Methods Part I (Chapter 16) University of Chicago Booth School of Business Kipp Martin November 9, 2016 1 / 55 Outline List of Files Key Concepts Column Generation/Decomposition

More information

CSC Linear Programming and Combinatorial Optimization Lecture 7: von Neumann minimax theorem, Yao s minimax Principle, Ellipsoid Algorithm

CSC Linear Programming and Combinatorial Optimization Lecture 7: von Neumann minimax theorem, Yao s minimax Principle, Ellipsoid Algorithm D CSC2411 - Linear Programming and Combinatorial Optimization Lecture : von Neumann minimax theorem, Yao s minimax Principle, Ellipsoid Algorithm Notes taken by Xuming He March 4, 200 Summary: In this

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

S10: Quiz Graphs /28 2. LP, IP /22 3. NP-Completeness /30 4. DNF-SAT /25 Total /105

S10: Quiz Graphs /28 2. LP, IP /22 3. NP-Completeness /30 4. DNF-SAT /25 Total /105 15-451 S10: Quiz 2 Name: Andrew id: Closed book. One sheet of notes allowed. You should have four pages. You have 30 minutes budget your time carefully. When you are not sure what is meant by a question,

More information

3. Representing Graphs and Graph Isomorphism. Discussion

3. Representing Graphs and Graph Isomorphism. Discussion 3. REPRESENTING GRAPHS AND GRAPH ISOMORPHISM 195 3. Representing Graphs and Graph Isomorphism 3.1. Adjacency Matrix. Definition 3.1.1. The adjacency matrix, A = [a ij ], for a simple graph G = (V, E),

More information

Practice Final Solutions

Practice Final Solutions Introduction to Algorithms May 14, 2003 Massachusetts Institute of Technology 6.046J18.410J Professors Erik Demaine and Shafi Goldwasser Practice Final Solutions Practice Final Solutions Do not open this

More information

Integer Programming Formulations for Minimum Spanning Forest Problem

Integer Programming Formulations for Minimum Spanning Forest Problem Integer Programming Formulations for Minimum Spanning Forest Problem Mehdi Golari Systems and Industrial Engineering Department The University of Arizona Math 543 November 19, 2015 Golari (SIE@UA) () IP

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

CHAPTER 9. Integer Programming

CHAPTER 9. Integer Programming CHAPTER 9 Integer Programming An integer linear program (ILP) is, by definition, a linear program with the additional constraint that all variables take integer values: (9.1) max c T x s t Ax b and x integral

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

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

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality Lecture 1: 10/13/2004 6.854 Advanced Algorithms Scribes: Jay Kumar Sundararajan Lecturer: David Karger Duality This lecture covers weak and strong duality, and also explains the rules for finding the dual

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

Stanford University CS261: Optimization Handout 5 Luca Trevisan January 18, 2011

Stanford University CS261: Optimization Handout 5 Luca Trevisan January 18, 2011 Stanford University CS261: Optimization Handout 5 Luca Trevisan January 18, 2011 Lecture 5 In which we introduce linear programming. 1 Linear Programming A linear program is an optimization problem in

More information

Suggested solution to written exam Introduction to linear and Integer programming (DM515)

Suggested solution to written exam Introduction to linear and Integer programming (DM515) Suggested solution to written exam Introduction to linear and Integer programming (DM515) Institut for Matematik & Datalogi Syddansk Universitet Monday, June 6, 2011, kl. 9 13 PROBLEM 1 Relaxation, the

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

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

Quick and dirty approach to solving optimization problems Not necessarily ends up with an optimal solution

Quick and dirty approach to solving optimization problems Not necessarily ends up with an optimal solution Greedy Algorithms Greedy Technique What is it? How does it work? Quick and dirty approach to solving optimization problems Not necessarily ends up with an optimal solution Problems explored Coin changing

More information

Approximate Min-Max Theorems for Steiner Rooted-Orientations of Graphs and Hypergraphs

Approximate Min-Max Theorems for Steiner Rooted-Orientations of Graphs and Hypergraphs Egerváry Research Group on Combinatorial Optimization Technical reports TR-006-13. Published by the Egerváry Research Group, Pázmány P. sétány 1/C, H 1117, Budapest, Hungary. Web site: www.cs.elte.hu/egres.

More information

CSE 680: Introduction to Algorithms and Data Structures

CSE 680: Introduction to Algorithms and Data Structures Sample Final Exam CSE 680: Introduction to Algorithms and Data Structures 1. Solve the following recurrences by giving tight Θ-notation bounds using the Master Method. If I thought you would need the actual

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

15.083/6.859 Integer Programming & Combinatorial Optimization Midterm Review. Kwong Meng Teo

15.083/6.859 Integer Programming & Combinatorial Optimization Midterm Review. Kwong Meng Teo 15.083/6.859 Integer Programg & Combinatorial Optimization Midterm Review Kwong Meng Teo 18th October 2004 1 Chapter 1 1.1 Modeling Techniques General rules to express a valid formulation Slide 1 Understand

More information