+ All Categories
Home > Documents > Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Date post: 20-Dec-2015
Category:
View: 219 times
Download: 0 times
Share this document with a friend
Popular Tags:
23
Introduction to Linear and Integer Programming Lecture 7: Feb 1
Transcript
Page 1: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Introduction to Linear and Integer

Programming

Lecture 7: Feb 1

Page 2: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Overview

1. Mathematical programming

2. Linear and integer programming

3. Examples

4. Geometric interpretation

5. Agenda

Page 3: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Mathematical Programming

Input:• An objective function f: Rn -> R• A set of constraint functions: gi: Rn -> R

• A set of constraint values: bi

Goal:Find x in Rn which:1. maximizes f(x)2. satisfies gi(x) <= bi

Page 4: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Linear Programming

Input:• A linear objective function f: Rn -> R• A set of linear constraint functions: gi: Rn -> R

• A set of constraint values: bi

Goal:Find x in Rn which:1. maximizes f(x)2. satisfies gi(x) <= bi

Page 5: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Integer Linear Programming

Input:• A linear objective function f: Zn -> Z• A set of linear constraint functions: gi: Zn -> Z

• A set of constraint values: bi

Goal:Find x in Zn which:1. maximizes f(x)2. satisfies gi(x) <= bi

Page 6: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Maximum Matchings

(degree constraints)

Every solution is a matching!

Page 7: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Maximum Satisfiability Goal: Find a truth assignment to satisfy all clauses

NP-complete!

Page 8: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Integer Linear Programming

Input:• A linear objective function f: Zn -> Z• A set of linear constraint functions: gi: Zn -> Z

• A set of constraint values: bi

Goal:Find x in Zn which:1. maximizes f(x)2. satisfies gi(x) <= bi

NP-complete!

Page 9: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Mathematical Programming

Input:• An objective function f: Rn -> R• A set of constraint functions: gi: Rn -> R

• A set of constraint values: bi

Goal:Find x in Rn which:1. maximizes f(x)2. satisfies gi(x) <= bi

NP-complete!

Page 10: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Algorithms for Linear Programming

(Dantzig 1951) Simplex method• Very efficient in practice• Exponential time in worst case

(Khachiyan 1979) Ellipsoid method• Not efficient in practice• Polynomial time in worst case

Page 11: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Linear Programming Relaxation

Replace

ByBy

Surprisingly, this works for many problems!

Page 12: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Bipartite matchings

General matchingsMaximum flows

Stable matchings

Shortest paths

Minimum spanning trees

Minimum Cost Flows

Linear programming

Submodular Flows

Linear Programming Relaxation

Page 13: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Maximum Matchings

Every matching is a solution.

But not every solutionis a matching!!

Page 14: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Geometric Interpretation

Linear inequalities as hyperplanes

Goal: Optimize over integers!

Objective function is also a hyperplane

Not a good relaxation!

Page 15: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Good Relaxation

Every vertex could be the unique optimal

solution for some objective function.

So, we need every vertex to be integral!

Page 16: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Matching Polytope

Goal: define a polytope which is the convex hull of matchings.

x1

x3x2 x1

x2

x3

(0.5,0.5,0.5)

Page 17: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

x1

x3x2

x1

x2

x3

Matching Polytope

x1

x2x3

Page 18: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Valid Inequalities

Enough?

Inequalities which are satisfied by

integer solutions but kill unwanted

fractional solution.

Page 19: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Valid Inequalities

Enough?

Odd set inequalities

Yes, that’s enough.

[Edmonds 1965]

Page 20: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Exponentially Many Inequalities

Can take care by the ellipsoid method.

Just need a separation oracle, which

determines whether a solution is feasible.

If not, find a violating inequality.

How to construct a separation oracle for matchings?

Page 21: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Questions

Prove that bipartite matching polytope

is defined by the degree constraints.

Try to confirm what Edmonds said.

Write a linear program for the stable matching problem.

Page 22: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Plan

How to prove integrality?

Convex combination

Totally unimodular matrix

Iterative rounding

Randomized rounding

Totally dual integrality

Uncrossing technique

Page 23: Introduction to Linear and Integer Programming Lecture 7: Feb 1.

Plan

How to prove min-max theorems?

Duality theorem

How to solve linear programs?

Simplex method

Ellipsoid method

Primal-dual method

Can see combinatorial algorithms!


Recommended