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

Save this PDF as:

Size: px
Start display at page:

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

## Transcription

1 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 and 1 Introduction Last lecture: Combinatorial Algorithm for maximum cardinality matching (König s Theorem and Hall s Theorem) Linear programming (Extreme point structure) Theorem 1 (König 1931) Let M be a maximum cardinality matching and C a minimum vertex cover of a bipartite graph. Then M = C Theorem 2 (Hall 1935) Given a bipartite graph G = (A B, E), there exist matching M s.t. all vertices in A are matched iff S A S N(S), where N(S) = b B a S with (a, b) E} Remark Combinatorial algorithm either finds a matching M that matches all vertices in A or finds S A s.t. S N(S). 2 Linear Programming Duality 2.1 Intuition Consider the following linear program: Minimize: 7x 1 + 3x 2 x 1 + x 2 2 y 1 3x 1 + x 2 4 y 2 x 1, x 2 0 We are looking for the optimal solution OPT to this LP. To find the solution we may ask two types of questions (to find the upper and lower bound on OPT). Is there a solution of cost 10? (Is OPT 10)? Answer to this type of questions is quite simple; we just find a feasible solution to the LP with objective function 10 e.g. x 1 = x 2 = 1. Is there no better solution? (Is OPT 10)? Let s observe that we can bound the objective function using constraints that every feasible solution satisfies. From the first constraint we get: 7x 1 + 3x 2 x 1 + x 2 2 Thus OPT 2. Similarly from the second constraint we get OPT 4. To make a better lower bound we will need to be more clever. Let s try to take some convex linear combination of the constraints with coefficients y 1, y 2 correspondingly. y 1, y 2 should be non-negative because multiplying a constraint by negative number would flip the inequality. Taking y 1 = 1, y 2 = 2 we obtain 7x 1 + 3x 2 (x 1 + x 2 ) + 2(2x 1 + x 2 ) = 10 1

2 For each constraint of the given LP we associate a dual variable y i denoting the weight of the i-th constraint. What kind of variables can we take to get a valid lower bound? How should we pick coefficients to maximize lower bound for OPT? First of all we are interested in lower bounding objective function. Thus linear combination of primal constraints cannot exceed primal objective function. As mentioned earlier y i 0. In this way we get the following (dual) linear program for y 1, y 2 : Maximize: 2y 1 + 4y 2 y 1 + 3y 2 7 y 1 + y 2 3 y 1, y 2 0 Let s try now to formalize this approach. lower bound as tight as possible x 1 coefficient x 2 coefficient 2.2 General case Consider the following linear program with n variables x i for i [1, n] and m constraints. Minimize: n c i x i n A ji x i b j x 0 j = 1,..., m Then, the dual program has m variables y j for j [1, m] and n constraints: Maximize: m b j y j m A ji y j c i y 0 i = 1,..., n Each variable y j in the dual program corresponds to weight of one of constraints from the primal LP. We have n constraints in dual, one for every primal variable x i. Remark We showed how to produce dual program for minimization problem. Similar approach works also for maximization problems. Also every maximization problem can be reduced to a minimization one. We replace x i with x i in constraints and objective function obtaining minimization problem. Remark One can verify that if we take the dual of the dual problem, we get back to the primal problem, as we should expect. Finding the dual linear program is an automatic procedure. 2.3 Duality Theorems Let s focus now on the solutions of both LPs. In our example optimal solutions to primal and dual problems coincided. We now present two theorems that connect primal and dual solutions. Theorem 3 (Weak Duality) If x is primal-feasible (meaning that x is a feasible solution to the primal problem) and y is dual-feasible, then n m c i x i b j y j 2

3 Proof Let s rewrite right hand side: m m n n m n b j y j A ji x i y j = A ji y j x i c i x i Here we used the fact that x, y 0, otherwise inequality would be in the opposite direction. This theorem tells us that every dual-feasible solution is a lower bound to any primal solution. This is intuitive: every primal feasible solution satisfies primal constraints, dual feasible solution gives us a way of lower bounding primal solution using primal constraints. Moreover from Weak Duality we can conclude that optimal solution to primal program is lower bounded by optimal solution to dual program. In fact optimal solutions to primal and duals linear programs coincide, what states the following theorem. Theorem 4 (Strong Duality) If x is an optimal primal solution and y is an optimal dual solution, then n m c i x i = b j y j. Furthermore, if the primal is unbounded (respectively infeasible), then the dual is infeasible (respectively unbounded). 2.4 Complementarity Slackness There is a correspondence between primal and dual optimal solutions. Theorem 5 Let x R n be a feasible solution to the primal and let y R m be a feasible solution to the dual. Then m x i > 0 c i = A ji y j, i = 1,..., n x, y are both optimal solutions n y j > 0 b j = A ji x i, j = 1,..., m Proof [An exercise.] We will apply the strong duality theorem to the weak duality theorem proof. Let x be the optimal primal solution. From the weak duality theorem proof, we have that: m m n n m n b j y j A ji x i y j = A ji y j x i c i x i. (1) Here we used the fact that x, y 0. On the other hand by the strong duality theorem m n b j y j = c i x i So in (1) there are equalities everywhere. Thus n n m m c i x i = A ji y j x i c i x i = A ji y j x i for i = 1,... n. 3

4 And finally for every x i i = 1,... n. m m x i 0 c i x i = A ji y j x i c i = A ji y j Similarly to previous part we know that m x i c i = A ji y j x i, i = 1,..., n ( n ) y j b j = A ji x i y j, j = 1,..., m Thus m m n n m n b j y j = A ji x i y j = A ji y j x i = c i x i. The above equality is equivalent to x, y to be optimal solutions to primal and dual linear program. Indeed for feasible solution x to primal we have by weak duality theorem: n m n c i x i b j y j = c i x i. Thus x is optimal solution to primal program and similarly y is optimal solution to dual. 3 Examples 3.1 Maximum cardinality matching Let G = (A B, E) be a bipartite graph and let M be a matching. Let x e be a variable corresponding to taking edge e M. We want to maximize cardinality of M assuring every vertex has at most one neighbouring edge in M. Writing those conditions in a form of LP gives us: Maximize: Thus the dual program looks like this: Minimize: e E x e e=(a,b) E e=(a,b) E x e 0 v A B y v y a + y b 1 y v 0 x e 1 x e 1 One can easily notice that this LP is vertex cover relaxation. a A b B for (a, b) E 4

5 3.2 Minimum cost perfect matching Let G = (A B, E) be a bipartite weighted graph with weight function c : E R. Let s denote c ab for the cost of edge (a, b) with a A b B, if there is no such edge in E we set c ab =. Let M be a perfect matching x ab be a variable for edge (a, b) M. Every vertex in G is adjacent to exactly one edge in M. We want to minimize the total cost of edges in M. This leads to the following linear program: Minimize: c ab x ab a A,b B x ab = 1 b B x ab = 1 a A x ab 0 And its dual Maximize: u a + a A b B u a + v b c ab v b a A b B a A, b B Here we don t have non-negativity constraints as in primal LP the constraints are given as equalities. Remark Alternatively we can transform every equality in primal LP to two inequalities (a = b a b a b). In dual LP we would obtain a difference of two new non-negative variables for each u. Let s take a look at complementarity slackness for minimum cost perfect matching. Complementarity slackness tells us that if x, (u, v) are feasible then they are both optimal if the following holds: x ab > 0 u a + v b = c ab a A, b B u a 0 b B x ab = 1 a A v b 0 a A x ab = 1 b B The last two conditions always hold since they follow immediately from the fact that x is primalfeasible (this is because in this LP we have equalities whereas usually we would only have inequalities). Remark The last two conditions have instead of > as we don t have nonnegativity constraints on u, v. If we consider LP with every equality changed to two inequalities then in dual we would have two nonnegative variables u a+, u a 0 corresponding to each constraint and they can be collapsed: u a+ u a = u a and similarly for v. Then the precondition would be that any of u a+ > 0 or u a > 0 holds which is stronger than u a 0 and similarly for v (also we don t need those preconditions to be equivalent since we are only applying complementarity slackness theorem in one direction). In other words primal-feasible x is optimal if dual solution (u, v) such that x ab 0 u a + v b = c ab a A, b B We will now use this fact to develop an algorithm for finding minimum cost perfect matching. 4 Minimum cost perfect matching algorithm (Hungarian) Idea: Maintain a feasible dual solution (u, v). Try to construct a feasible primal solution that satisfies complementarity slackness and is thus optimal. 5

6 Algorithm: Initialization: Iterative step: v b = 0, u a = min b B c ab consider G = (A B, E ) where E = (a, b) : u a + v b = c ab } (E is a set of all tight edges) find a maximum cardinality matching in G if it is perfect matching then we are done (this is a primal feasible solution and it satisfies complementarity slackness, because we chose only from edges in E and all of them satisfied it) otherwise the algorithm finds S A s.t. S > N(S) we can choose small ε > 0 and improve the dual solution: u u a + ɛ if a S a = u a if a S v b v b ɛ if b N(S) = otherwise if b N(S). v b edges in S N(S) were tight and are unchanged (+ε ε) edges in (A \ S) (B \ N(S)) are unchanged edges in (A \ S) N(S) are decreased by ε edges in S (B \ N(S)) are increased by ε but they were not tight (they were not in E ) dual increases by ( S N(S) )ε we should choose ε as large as possible for which the dual remains feasible, that is ε = Theorem 6 The algorithm runs in time O(n 3 ). min c ab u a v b > 0. a S,b / N(S) 4.1 An alternative proof that the bipartite perfect matching polytope is integer We have shown that for any cost function c we can obtain minimum cost perfect matching and it will be integral. By carefully choosing the cost function, one can make any extreme point of the polytope to be the unique optimum solution to minimum cost perfect matching problem. This shows that all extreme points are integral i.e. it is an integer polytope. See Figure 1 for an example. 5 Maximum spanning tree Given a connected graph G = (V, E) with non-negative edge weights w : E R 0. Find a spanning tree T of maximum weight w(t ) = e T w(e). 6

7 c Figure 1: Example of a perfect matching polytope and a cost function vector c for the highlighted vertex. 5.1 Linear programs Let s try to find a good LP for this problem. First of all set: 1 if e T x e = 0 otherwise A good LP (that we will work with) for the maximum weight forest problem 1 is Maximize: w(e)x e e E x e S 1 S V with S 2 e S x e 0 And it s dual program Minimize: y S ( S 1) S V S:e S y S 0 y S w(e) e E Remark By complementarity slackness we have that x is optimal if and only if there exists a feasible dual solution y s.t. x e > 0 ys = w(e) y S > 0 S:e S e:e S x e = S 1 Now there arises a question: how to use this fact to find maximum weight spanning tree? Or can we use this in the proof of already known algorithm? 1 Note that finding a maximum weight forest is equivalent to finding a maximum weight spanning tree if weights are positive. 7

8 5.2 Kruskal s Algorithm Repeatedly pick the heaviest edge that does not create a cycle Primal and Dual solutions Kruskal algorithm produces some feasible solution x to primal LP. Let s take a closer look to this solution and try to find a feasible dual solution y for which we will be able to prove complementarity slackness and hence get correctness of Kruskal s algorithm. Primal solution: Let T be tree returned by Kruskal s algorithm. Define x 1 if e T e = 0 otherwise Note that e E w(e) x e = w(t ). a 5 b de ac c d e 10 1 cd ab 1 Figure 2: Example of Kruskal s Algorithm, the associated tree, and the dual solution. Dual solution: Let K = e 1, e 2..., e n 1 } be the edges added by Kruskal s algorithm (they appear in K in the same order as in Kruskal s algorithm execution). This naturally induces a tree structure T K where the cost of a subtree corresponds to the weight of an edge that connected the vertices in the subtree. Each edge from K corresponds to a vertex in this tree. Parent of every subtree is labelled with edge that connected this subtree into one connected component. Figure 2 shows an example of Kruskal s algorithm execution and associated with it tree T K. Notation. Let V (e j ) be the set of vertices of G occurring in the subtree rooted at e j. Let parent(e j ) be the parent of e j in T K. Define ys w(e j ) w(parent(e j )) if S = V (e j ) = 0 otherwise For the root of T K we assume that weight of it s parent is equal to 0. We have set up x, y and we want to prove that x is optimal. Due to remark from section 5.1 we are left with proving that y is a feasible dual solution, and that the complementarity slackness holds. Let s start with the second one. 8

9 5.2.2 Verifying complementarity slackness First condition Let s assume y S > 0. Then S = V (e j) for some j and therefore e S x e = S 1. That s because x e 0 for e S if and only if it s one of the edges in the associated subtree rooted at e j. There are S 1 such edges. Second condition Let s assume x e > 0. For every such x e we have that e = e j K. So e j corresponds to a node in T K. Consider path p 1, p 2..., p k from p 1 = e j to the root p k of T K. Then S:e S y S = k yv p i = k w(p i ) w(parent(p i )) = w(e j ). First equality holds as only non-zero y S are those occurring in T K, then we have telescopic sum Feasibility of dual solution Clearly y 0, as we take heavier edges earlier and they correspond to lower vertices in T K. Consider any edge e E. Let j be the smallest index s.t. e V (e j ). Consider path p 1, p 2..., p k from p 1 = e j to the root p k of T K. We have the following S:e S y S = k y V p i = w(e j ) w(e). First two transformations are similar to those from last subsection. Last equality holds because e V (e j ) and Kruskal s algorithm always adds edge of largest weight. So in this way we showed that x and y satisfy conditions of complementarity slackness and y is feasible, thus x is optimal solution to the primal linear program proving correctness of Kruskal s algorithm. 9

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

### Definition of a Linear Program

Definition of a Linear Program Definition: A function f(x 1, x,..., x n ) of x 1, x,..., x n is a linear function if and only if for some set of constants c 1, c,..., c n, f(x 1, x,..., x n ) = c 1 x 1

### Practical Guide to the Simplex Method of Linear Programming

Practical Guide to the Simplex Method of Linear Programming Marcel Oliver Revised: April, 0 The basic steps of the simplex algorithm Step : Write the linear programming problem in standard form Linear

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

LECTURE 5: DUALITY AND SENSITIVITY ANALYSIS 1. Dual linear program 2. Duality theory 3. Sensitivity analysis 4. Dual simplex method Introduction to dual linear program Given a constraint matrix A, right

### 4.6 Linear Programming duality

4.6 Linear Programming duality To any minimization (maximization) LP we can associate a closely related maximization (minimization) LP. Different spaces and objective functions but in general same optimal

### 3. Linear Programming and Polyhedral Combinatorics

Massachusetts Institute of Technology Handout 6 18.433: Combinatorial Optimization February 20th, 2009 Michel X. Goemans 3. Linear Programming and Polyhedral Combinatorics Summary of what was seen in the

### Linear Programming Notes V Problem Transformations

Linear Programming Notes V Problem Transformations 1 Introduction Any linear programming problem can be rewritten in either of two standard forms. In the first form, the objective is to maximize, the material

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

### princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora

princeton univ. F 13 cos 521: Advanced Algorithm Design Lecture 6: Provable Approximation via Linear Programming Lecturer: Sanjeev Arora Scribe: One of the running themes in this course is the notion of

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

Linear Programming Widget Factory Example Learning Goals. Introduce Linear Programming Problems. Widget Example, Graphical Solution. Basic Theory:, Vertices, Existence of Solutions. Equivalent formulations.

### Linear Programming I

Linear Programming I November 30, 2003 1 Introduction In the VCR/guns/nuclear bombs/napkins/star wars/professors/butter/mice problem, the benevolent dictator, Bigus Piguinus, of south Antarctica penguins

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

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

### Mathematical finance and linear programming (optimization)

Mathematical finance and linear programming (optimization) Geir Dahl September 15, 2009 1 Introduction The purpose of this short note is to explain how linear programming (LP) (=linear optimization) may

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

### 1 Solving LPs: The Simplex Algorithm of George Dantzig

Solving LPs: The Simplex Algorithm of George Dantzig. Simplex Pivoting: Dictionary Format We illustrate a general solution procedure, called the simplex algorithm, by implementing it on a very simple example.

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

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

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

### 26 Linear Programming

The greatest flood has the soonest ebb; the sorest tempest the most sudden calm; the hottest love the coldest end; and from the deepest desire oftentimes ensues the deadliest hate. Th extremes of glory

### Linear Programming. March 14, 2014

Linear Programming March 1, 01 Parts of this introduction to linear programming were adapted from Chapter 9 of Introduction to Algorithms, Second Edition, by Cormen, Leiserson, Rivest and Stein [1]. 1

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

### Duality in Linear Programming

Duality in Linear Programming 4 In the preceding chapter on sensitivity analysis, we saw that the shadow-price interpretation of the optimal simplex multipliers is a very useful concept. First, these shadow

### Lecture 5: Conic Optimization: Overview

EE 227A: Conve Optimization and Applications January 31, 2012 Lecture 5: Conic Optimization: Overview Lecturer: Laurent El Ghaoui Reading assignment: Chapter 4 of BV. Sections 3.1-3.6 of WTB. 5.1 Linear

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

Introduction Linear Programming Neil Laws TT 00 A general optimization problem is of the form: choose x to maximise f(x) subject to x S where x = (x,..., x n ) T, f : R n R is the objective function, S

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

1. Introduction Linear Programming for Optimization Mark A. Schulze, Ph.D. Perceptive Scientific Instruments, Inc. 1.1 Definition Linear programming is the name of a branch of applied mathematics that

### The Graphical Method: An Example

The Graphical Method: An Example Consider the following linear program: Maximize 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2 0, where, for ease of reference,

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

1: 1. Compute a random 4-dimensional polytope P as the convex hull of 10 random points using rand sphere(4,10). Run VISUAL to see a Schlegel diagram. How many 3-dimensional polytopes do you see? How many

### 1. Sorting (assuming sorting into ascending order) a) BUBBLE SORT

DECISION 1 Revision Notes 1. Sorting (assuming sorting into ascending order) a) BUBBLE SORT Make sure you show comparisons clearly and label each pass First Pass 8 4 3 6 1 4 8 3 6 1 4 3 8 6 1 4 3 6 8 1

### 3 Does the Simplex Algorithm Work?

Does the Simplex Algorithm Work? In this section we carefully examine the simplex algorithm introduced in the previous chapter. Our goal is to either prove that it works, or to determine those circumstances

### 3.1 Solving Systems Using Tables and Graphs

Algebra 2 Chapter 3 3.1 Solve Systems Using Tables & Graphs 3.1 Solving Systems Using Tables and Graphs A solution to a system of linear equations is an that makes all of the equations. To solve a system

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

### Special Situations in the Simplex Algorithm

Special Situations in the Simplex Algorithm Degeneracy Consider the linear program: Maximize 2x 1 +x 2 Subject to: 4x 1 +3x 2 12 (1) 4x 1 +x 2 8 (2) 4x 1 +2x 2 8 (3) x 1, x 2 0. We will first apply the

### 2.3 Convex Constrained Optimization Problems

42 CHAPTER 2. FUNDAMENTAL CONCEPTS IN CONVEX OPTIMIZATION Theorem 15 Let f : R n R and h : R R. Consider g(x) = h(f(x)) for all x R n. The function g is convex if either of the following two conditions

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

31 Kragujevac J. Math. 25 (2003) 31 49. SHARP BOUNDS FOR THE SUM OF THE SQUARES OF THE DEGREES OF A GRAPH Kinkar Ch. Das Department of Mathematics, Indian Institute of Technology, Kharagpur 721302, W.B.,

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

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal ABSTACT Mohit Singh Tepper School of Business Carnegie Mellon University Pittsburgh, PA USA mohits@andrew.cmu.edu In the MINIMUM

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

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

Duality in General Programs Ryan Tibshirani Convex Optimization 10-725/36-725 1 Last time: duality in linear programs Given c R n, A R m n, b R m, G R r n, h R r : min x R n c T x max u R m, v R r b T

### Properties of Real Numbers

16 Chapter P Prerequisites P.2 Properties of Real Numbers What you should learn: Identify and use the basic properties of real numbers Develop and use additional properties of real numbers Why you should

### Arrangements And Duality

Arrangements And Duality 3.1 Introduction 3 Point configurations are tbe most basic structure we study in computational geometry. But what about configurations of more complicated shapes? For example,

### Spring 2007 Math 510 Hints for practice problems

Spring 2007 Math 510 Hints for practice problems Section 1 Imagine a prison consisting of 4 cells arranged like the squares of an -chessboard There are doors between all adjacent cells A prisoner in one

### What is Linear Programming?

Chapter 1 What is Linear Programming? An optimization problem usually has three essential ingredients: a variable vector x consisting of a set of unknowns to be determined, an objective function of x to

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

Lecture 3 3B1B Optimization Michaelmas 2015 A. Zisserman Linear Programming Extreme solutions Simplex method Interior point method Integer programming and relaxation The Optimization Tree Linear Programming

### Transportation Polytopes: a Twenty year Update

Transportation Polytopes: a Twenty year Update Jesús Antonio De Loera University of California, Davis Based on various papers joint with R. Hemmecke, E.Kim, F. Liu, U. Rothblum, F. Santos, S. Onn, R. Yoshida,

### Linear Programming Problems

Linear Programming Problems Linear programming problems come up in many applications. In a linear programming problem, we have a function, called the objective function, which depends linearly on a number

### Standard Form of a Linear Programming Problem

494 CHAPTER 9 LINEAR PROGRAMMING 9. THE SIMPLEX METHOD: MAXIMIZATION For linear programming problems involving two variables, the graphical solution method introduced in Section 9. is convenient. However,

### Linear Programming. April 12, 2005

Linear Programming April 1, 005 Parts of this were adapted from Chapter 9 of i Introduction to Algorithms (Second Edition) /i by Cormen, Leiserson, Rivest and Stein. 1 What is linear programming? The first

### Polytope Examples (PolyComp Fukuda) Matching Polytope 1

Polytope Examples (PolyComp Fukuda) Matching Polytope 1 Matching Polytope Let G = (V,E) be a graph. A matching in G is a subset of edges M E such that every vertex meets at most one member of M. A matching

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

### Linear Programming in Matrix Form

Linear Programming in Matrix Form Appendix B We first introduce matrix concepts in linear programming by developing a variation of the simplex method called the revised simplex method. This algorithm,

Computational Learning Theory Spring Semester, 2009/10 Lecture 11: Sponsored search Lecturer: Yishay Mansour Scribe: Ben Pere, Jonathan Heimann, Alon Levin 11.1 Sponsored Search 11.1.1 Introduction Search

### Linear Programming. Solving LP Models Using MS Excel, 18

SUPPLEMENT TO CHAPTER SIX Linear Programming SUPPLEMENT OUTLINE Introduction, 2 Linear Programming Models, 2 Model Formulation, 4 Graphical Linear Programming, 5 Outline of Graphical Procedure, 5 Plotting

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

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem John Karlof and Peter Hocking Mathematics and Statistics Department University of North Carolina Wilmington Wilmington,

Online Adwords Allocation Shoshana Neuburger May 6, 2009 1 Overview Many search engines auction the advertising space alongside search results. When Google interviewed Amin Saberi in 2004, their advertisement

### MATH10212 Linear Algebra. Systems of Linear Equations. Definition. An n-dimensional vector is a row or a column of n numbers (or letters): a 1.

MATH10212 Linear Algebra Textbook: D. Poole, Linear Algebra: A Modern Introduction. Thompson, 2006. ISBN 0-534-40596-7. Systems of Linear Equations Definition. An n-dimensional vector is a row or a column

### The Goldberg Rao Algorithm for the Maximum Flow Problem

The Goldberg Rao Algorithm for the Maximum Flow Problem COS 528 class notes October 18, 2006 Scribe: Dávid Papp Main idea: use of the blocking flow paradigm to achieve essentially O(min{m 2/3, n 1/2 }

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

MASTER S THESIS Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach PAULINE ALDENVIK MIRJAM SCHIERSCHER Department of Mathematical

### OPRE 6201 : 2. Simplex Method

OPRE 6201 : 2. Simplex Method 1 The Graphical Method: An Example Consider the following linear program: Max 4x 1 +3x 2 Subject to: 2x 1 +3x 2 6 (1) 3x 1 +2x 2 3 (2) 2x 2 5 (3) 2x 1 +x 2 4 (4) x 1, x 2

### Lecture 4: BK inequality 27th August and 6th September, 2007

CSL866: Percolation and Random Graphs IIT Delhi Amitabha Bagchi Scribe: Arindam Pal Lecture 4: BK inequality 27th August and 6th September, 2007 4. Preliminaries The FKG inequality allows us to lower bound

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

### Lecture 1: Course overview, circuits, and formulas

Lecture 1: Course overview, circuits, and formulas Topics in Complexity Theory and Pseudorandomness (Spring 2013) Rutgers University Swastik Kopparty Scribes: John Kim, Ben Lund 1 Course Information Swastik

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

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

### Network Flow I. Lecture 16. 16.1 Overview. 16.2 The Network Flow Problem

Lecture 6 Network Flow I 6. Overview In these next two lectures we are going to talk about an important algorithmic problem called the Network Flow Problem. Network flow is important because it can be

### Linear Programming Notes VII Sensitivity Analysis

Linear Programming Notes VII Sensitivity Analysis 1 Introduction When you use a mathematical model to describe reality you must make approximations. The world is more complicated than the kinds of optimization

### Lecture 3: Finding integer solutions to systems of linear equations

Lecture 3: Finding integer solutions to systems of linear equations Algorithmic Number Theory (Fall 2014) Rutgers University Swastik Kopparty Scribe: Abhishek Bhrushundi 1 Overview The goal of this lecture

### Homework 5 Solutions

Homework 5 Solutions 4.2: 2: a. 321 = 256 + 64 + 1 = (01000001) 2 b. 1023 = 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = (1111111111) 2. Note that this is 1 less than the next power of 2, 1024, which

### Equilibrium computation: Part 1

Equilibrium computation: Part 1 Nicola Gatti 1 Troels Bjerre Sorensen 2 1 Politecnico di Milano, Italy 2 Duke University, USA Nicola Gatti and Troels Bjerre Sørensen ( Politecnico di Milano, Italy, Equilibrium

### CS 598CSC: Combinatorial Optimization Lecture date: 2/4/2010

CS 598CSC: Combinatorial Optimization Lecture date: /4/010 Instructor: Chandra Chekuri Scribe: David Morrison Gomory-Hu Trees (The work in this section closely follows [3]) Let G = (V, E) be an undirected

### This exposition of linear programming

Linear Programming and the Simplex Method David Gale This exposition of linear programming and the simplex method is intended as a companion piece to the article in this issue on the life and work of George

### High degree graphs contain large-star factors

High degree graphs contain large-star factors Dedicated to László Lovász, for his 60th birthday Noga Alon Nicholas Wormald Abstract We show that any finite simple graph with minimum degree d contains a

### Zeros of Polynomial Functions

Zeros of Polynomial Functions The Rational Zero Theorem If f (x) = a n x n + a n-1 x n-1 + + a 1 x + a 0 has integer coefficients and p/q (where p/q is reduced) is a rational zero, then p is a factor of

### Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24

Introduction to Algorithms Review information for Prelim 1 CS 4820, Spring 2010 Distributed Wednesday, February 24 The final exam will cover seven topics. 1. greedy algorithms 2. divide-and-conquer algorithms

### DATA ANALYSIS II. Matrix Algorithms

DATA ANALYSIS II Matrix Algorithms Similarity Matrix Given a dataset D = {x i }, i=1,..,n consisting of n points in R d, let A denote the n n symmetric similarity matrix between the points, given as where

### GRAPH THEORY LECTURE 4: TREES

GRAPH THEORY LECTURE 4: TREES Abstract. 3.1 presents some standard characterizations and properties of trees. 3.2 presents several different types of trees. 3.7 develops a counting method based on a bijection

### Linear programming and reductions

Chapter 7 Linear programming and reductions Many of the problems for which we want algorithms are optimization tasks: the shortest path, the cheapest spanning tree, the longest increasing subsequence,

### IE 680 Special Topics in Production Systems: Networks, Routing and Logistics*

IE 680 Special Topics in Production Systems: Networks, Routing and Logistics* Rakesh Nagi Department of Industrial Engineering University at Buffalo (SUNY) *Lecture notes from Network Flows by Ahuja, Magnanti

### 5.3 The Cross Product in R 3

53 The Cross Product in R 3 Definition 531 Let u = [u 1, u 2, u 3 ] and v = [v 1, v 2, v 3 ] Then the vector given by [u 2 v 3 u 3 v 2, u 3 v 1 u 1 v 3, u 1 v 2 u 2 v 1 ] is called the cross product (or

### Readings. D Chapter 1. Lecture 2: Constrained Optimization. Cecilia Fieler. Example: Input Demand Functions. Consumer Problem

Economics 245 January 17, 2012 : Example Readings D Chapter 1 : Example The FOCs are max p ( x 1 + x 2 ) w 1 x 1 w 2 x 2. x 1,x 2 0 p 2 x i w i = 0 for i = 1, 2. These are two equations in two unknowns,

### 5.1 Radical Notation and Rational Exponents

Section 5.1 Radical Notation and Rational Exponents 1 5.1 Radical Notation and Rational Exponents We now review how exponents can be used to describe not only powers (such as 5 2 and 2 3 ), but also roots

### COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH. 1. Introduction

COMBINATORIAL PROPERTIES OF THE HIGMAN-SIMS GRAPH ZACHARY ABEL 1. Introduction In this survey we discuss properties of the Higman-Sims graph, which has 100 vertices, 1100 edges, and is 22 regular. In fact

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

SOLUTION OF LINEAR PROGRAMMING PROBLEMS THEOREM 1 If a linear programming problem has a solution, then it must occur at a vertex, or corner point, of the feasible set, S, associated with the problem. Furthermore,

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

### On the Unique Games Conjecture

On the Unique Games Conjecture Antonios Angelakis National Technical University of Athens June 16, 2015 Antonios Angelakis (NTUA) Theory of Computation June 16, 2015 1 / 20 Overview 1 Introduction 2 Preliminary

### Minimally Infeasible Set Partitioning Problems with Balanced Constraints

Minimally Infeasible Set Partitioning Problems with alanced Constraints Michele Conforti, Marco Di Summa, Giacomo Zambelli January, 2005 Revised February, 2006 Abstract We study properties of systems of

### The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge,

The Union-Find Problem Kruskal s algorithm for finding an MST presented us with a problem in data-structure design. As we looked at each edge, cheapest first, we had to determine whether its two endpoints

### IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 19, NO. 3, JUNE 2011 709

IEEE/ACM TRANSACTIONS ON NETWORKING, VOL 19, NO 3, JUNE 2011 709 Improved Bounds on the Throughput Efficiency of Greedy Maximal Scheduling in Wireless Networks Mathieu Leconte, Jian Ni, Member, IEEE, R

### Key words. multi-objective optimization, approximate Pareto set, bi-objective shortest path

SMALL APPROXIMATE PARETO SETS FOR BI OBJECTIVE SHORTEST PATHS AND OTHER PROBLEMS ILIAS DIAKONIKOLAS AND MIHALIS YANNAKAKIS Abstract. We investigate the problem of computing a minimum set of solutions that

Section 5.4 The Quadratic Formula 481 5.4 The Quadratic Formula Consider the general quadratic function f(x) = ax + bx + c. In the previous section, we learned that we can find the zeros of this function

### The chromatic spectrum of mixed hypergraphs

The chromatic spectrum of mixed hypergraphs Tao Jiang, Dhruv Mubayi, Zsolt Tuza, Vitaly Voloshin, Douglas B. West March 30, 2003 Abstract A mixed hypergraph is a triple H = (X, C, D), where X is the vertex

### Math 115 Spring 2011 Written Homework 5 Solutions

. Evaluate each series. a) 4 7 0... 55 Math 5 Spring 0 Written Homework 5 Solutions Solution: We note that the associated sequence, 4, 7, 0,..., 55 appears to be an arithmetic sequence. If the sequence

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

A factor 1 European Journal of Operational Research xxx (00) xxx xxx Discrete Optimization approximation algorithm for two-stage stochastic matching problems Nan Kong, Andrew J. Schaefer * Department of

### Solving Linear Programs

Solving Linear Programs 2 In this chapter, we present a systematic procedure for solving linear programs. This procedure, called the simplex method, proceeds by moving from one feasible solution to another,

### Permutation Betting Markets: Singleton Betting with Extra Information

Permutation Betting Markets: Singleton Betting with Extra Information Mohammad Ghodsi Sharif University of Technology ghodsi@sharif.edu Hamid Mahini Sharif University of Technology mahini@ce.sharif.edu

### 8.1 Min Degree Spanning Tree

CS880: Approximations Algorithms Scribe: Siddharth Barman Lecturer: Shuchi Chawla Topic: Min Degree Spanning Tree Date: 02/15/07 In this lecture we give a local search based algorithm for the Min Degree

### Nonlinear Programming Methods.S2 Quadratic Programming

Nonlinear Programming Methods.S2 Quadratic Programming Operations Research Models and Methods Paul A. Jensen and Jonathan F. Bard A linearly constrained optimization problem with a quadratic objective