introduction to linear and integer programming

Post on 25-Feb-2016

107 Views

Category:

Documents

6 Downloads

Preview:

Click to see full reader

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

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

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

4

Perfect Matching

(degree constraints)

Every solution is a perfect matching!

5

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

NP-complete!

6

Different Forms

canonical form standard form

The general form (with equalities, unconstrained variables)

can be reduced to these forms.

7

Linear Programming Relaxation

Replace

ByBy

Surprisingly, this works for many problems!

8

Geometric Interpretation

Linear inequalities as hyperplanes

Goal: Optimize over integers!

Objective function is also a hyperplane

Not a good relaxation!

9

Good Relaxation

Every “corner” could be the unique optimal

solution for some objective function.

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

10

Vertex Solutions

This says we can restrict our attention to vertex solutions.

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.

12

Basic Solutions

Tight inequalities: inequalities achieved as equalities

Basic solution:unique solution of n linearly independent tight inequalities

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?

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

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.

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.

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?

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

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.

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.

21

Looking Forward

• Prove that many combinatorial problems have an integral LP.

• Study LP duality and its applications

• Study primal dual algorithms

top related