introduction to linear and integer programming

21
1 Introduction to Linear and Integer Programming Lecture 9: Feb 14

Upload: melody

Post on 25-Feb-2016

106 views

Category:

Documents


6 download

DESCRIPTION

Introduction to Linear and Integer Programming. Lecture 9: Feb 14. Mathematical Programming . Input: An objective function f: R n -> R A set of constraint functions: g i : R n -> R A set of constraint values: b i. Goal: Find x in R n which: maximizes f(x) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Introduction to Linear and Integer Programming

1

Introduction to Linear and Integer

Programming

Lecture 9: Feb 14

Page 2: Introduction to Linear and Integer Programming

2

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 3: Introduction to Linear and Integer Programming

3

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

Integer linear program

requires the solution

to be in Zn

Page 4: Introduction to Linear and Integer Programming

4

Perfect Matching

(degree constraints)

Every solution is a perfect matching!

Page 5: Introduction to Linear and Integer Programming

5

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

NP-complete!

Page 6: Introduction to Linear and Integer Programming

6

Different Forms

canonical form standard form

The general form (with equalities, unconstrained variables)

can be reduced to these forms.

Page 7: Introduction to Linear and Integer Programming

7

Linear Programming Relaxation

Replace

ByBy

Surprisingly, this works for many problems!

Page 8: Introduction to Linear and Integer Programming

8

Geometric Interpretation

Linear inequalities as hyperplanes

Goal: Optimize over integers!

Objective function is also a hyperplane

Not a good relaxation!

Page 9: Introduction to Linear and Integer Programming

9

Good Relaxation

Every “corner” could be the unique optimal

solution for some objective function.

So, we need every “corner” to be integral!

Page 10: Introduction to Linear and Integer Programming

10

Vertex Solutions

This says we can restrict our attention to vertex solutions.

Page 11: Introduction to Linear and Integer Programming

11

Basic Solutions

A basic solution is formed by a set B of m linearlyindependent columns, so that

This provides an efficient way to check whether a solution is a vertex.

Page 12: Introduction to Linear and Integer Programming

12

Basic Solutions

Tight inequalities: inequalities achieved as equalities

Basic solution:unique solution of n linearly independent tight inequalities

Page 13: Introduction to Linear and Integer Programming

13

Questions

Prove that the LP for perfect matching

is integral for bipartite graphs.

Write a linear program for the stable matching problem.

What about general matching?

Page 14: Introduction to Linear and Integer Programming

14

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 15: Introduction to Linear and Integer Programming

15

Simplex Method

Simplex method:A simple and effective approach to solve linear programs in practice.It has a nice geometric interpretation.

Idea: Focus only on vertex solutions, since no matter what is the objective function, there is always a vertex which attains optimality.

Page 16: Introduction to Linear and Integer Programming

16

Simplex Method

Simplex Algorithm:• Start from an arbitrary vertex.• Move to one of its neighbours which improves the cost. Iterate.

Key: local minimum = global minimum

Global minimum

We are here

Moving along this direction improves the cost. There is always one neighbour

which improves the cost.

Page 17: Introduction to Linear and Integer Programming

17

Simplex Method

Simplex Algorithm:• Start from an arbitrary vertex.• Move to one of its neighbours which improves the cost. Iterate.

Which one?

There are many different rules to choose a neighbour,but so far every rule has a counterexample so thatit takes exponential time to reach an optimum vertex.

MAJOR OPEN PROBLEM: Is there a polynomial time simplex algorithm?

Page 18: Introduction to Linear and Integer Programming

18

Ellipsoid Method

Goal: Given a bounded convex set P, find a point x in P.

Ellipsoid Algorithm:Start with a big ellipsoid which contains P. Test if the center c is inside P. If not, there is a linear inequality ax <=b for which c is violated. Find a minimum ellipsoid which contains the intersection of the previous ellipsoid and ax <= b. Continue the process with the new (smaller) ellipsoid.

Key: show that the volume decreases fast enough

Page 19: Introduction to Linear and Integer Programming

19

Ellipsoid Method

Goal: Given a bounded convex set P, find a point x in P.

Why it is enough to test if P contains a point?

Because optimization problem can be reduced to this testing problem.

Do binary search until we find an “almost” optimal solution.

Page 20: Introduction to Linear and Integer Programming

20

Ellipsoid Method

Important property:We just need to know the previousellipsoid and a violated inequality.

This can help to solve some exponential size LP if we have a separation oracle.

Separation orcale: given a point x, decide in polynomial time whether x is in P or output a violating inequality.

Page 21: Introduction to Linear and Integer Programming

21

Looking Forward

• Prove that many combinatorial problems have an integral LP.

• Study LP duality and its applications

• Study primal dual algorithms