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

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

    19-Dec-2015
  • Category

    Documents

  • view

    219
  • download

    0

Transcript of 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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

1

Introduction to Linear and Integer

Programming

Lecture 9: Feb 14

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

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

4

Perfect Matching

(degree constraints)

Every solution is a perfect matching!

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

5

Maximum Satisfiability

Goal: Find a truth assignment to satisfy all clauses

NP-complete!

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

6

Different Forms

canonical form standard form

The general form (with equalities, unconstrained variables)

can be reduced to these forms.

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

7

Linear Programming Relaxation

Replace

ByBy

Surprisingly, this works for many problems!

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

8

Geometric Interpretation

Linear inequalities as hyperplanes

Goal: Optimize over integers!

Objective function is also a hyperplane

Not a good relaxation!

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

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

10

Vertex Solutions

This says we can restrict our attention to vertex solutions.

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

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

12

Basic Solutions

Tight inequalities: inequalities achieved as equalities

Basic solution:unique solution of n linearly independent tight inequalities

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

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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 that

it takes exponential time to reach an optimum vertex.

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

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

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

20

Ellipsoid Method

Important property:

We just need to know the previous

ellipsoid 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: 1 Introduction to Linear and Integer Programming Lecture 9: Feb 14.

21

Looking Forward

• Prove that many combinatorial problems have an integral LP.

• Study LP duality and its applications

• Study primal dual algorithms