a randomized polynomial- time simplex algorithm for linear programming cs3150 course presentation

30
A Randomized Polynomial-Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Upload: marina-mcdougall

Post on 13-Dec-2015

223 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

A Randomized Polynomial-Time Simplex Algorithm for

Linear ProgrammingCS3150 Course Presentation

Page 2: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Linear Programming

Example:・ Find the maximum value of p = 3x - 2y + 4z

・ subject to ・ 4x + 3y - z >= 3

・ x + 2y + z<=4 ・ x >= 0, y >= 0, z >= 0

Page 3: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Linear Programming

• Objective Functionmax zT x

• Constraintss.t. A x y

Page 4: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Simplex Method - Intuition

Objective:– Min C = 3x + 4y

Constraints:– ・ 3x - 4y <= 12, – ・ x + 2y >= 4 – ・ x >= 1, y >= 0.

Page 5: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Simplex Method - Intuition

max zT xs.t. A x y• Worst-Case:

exponential• Average-Case:

polynomial• Widely used in

practice

Page 6: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Shadow Vertices

Page 7: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Shadow vertex pivot rule

objective

start z

Page 8: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Complexity Landscape

Page 9: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Complexity Landscape of Perturbed Problem

Page 10: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Some issues

Problemmax zT xs.t. A x y

– The perturbed problem is no longer the original problem we want to solve!

Solution– Reduce the original

problem to another problem, where the perturb won’t affect solution.

– Is this set of constraints bounded?

A’w<=1

Page 11: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Intuition of the Algorithm

Since the right hand side won’t affect solution, we want to carefully choose it so that the Shadow-Vertex Simplex will run poly-time with high probability.

Page 12: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Intuition of the Proof

P is the polytope of A’w<=1

Case 1:– The polytope P is in k-near-isotropic

position

B(0,1)⊂P ⊂B(0,k)

Page 13: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

K-near-isotropic position

Page 14: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Intuition of the Proof

Case 1:– The polytope is in k-near-isotropic position–

Case 2:– The polytope is not in k-near-isotropic position

B(0,1)⊂P ⊂B(0,k)

Page 15: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

K-near-isotropic Case

Upper bound of total shadow length (Shadow Size).

Lower bound expected length of each edge.

Number of edges of the shadow is poly in size w.h.p.

Page 16: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

K-near-isotropic position

Page 17: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Randomization

Each of vector is a independently exponentially distributed random variable with expectation

Project onto a random plane€

A'w ≤1+ r

ri

r

λ

Page 18: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

None-K-near-isotropic Case

By Running the shadow vertex for a limited amount of time we can either:– Find the optimal– Or find a way to eliminate bad events

w.h.p.

Page 19: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

None-K-near-isotropic Case

Page 20: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

K-near-isotropic Case

Upper bound of the total shadow length.

Lower bound the expected length of each edge.

Number of edges of the shadow is poly in size w.h.p.

Page 21: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Upper Bound of Shadow Size

A’w<=1

A’w<=1+r

Page 22: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Shadow Size in Case 1

The expected shadow size is at most:

2πk(1+ λ ln(ne))

Page 23: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Upper Bound of Shadow Size

Page 24: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

K-near-isotropic Case

Upper bound of the total shadow length.

Lower bound the expected length of each edge.

Number of edges of the shadow is poly in size w.h.p.

Page 25: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Expected Edge Length

λ6 dn

The Expected Edge Length is at least:

Page 26: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Case 1 Main Theorem

The expected number of edges is at most

12πk(1+ λ ln(ne)) dn

λ

Page 27: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

None-K-Isotropic Case

The expected shadow size inside any given ball is small

Page 28: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

None-K-near-Isotropic Case

Upper bound of the total shadow length within the given ball.

Lower bound the expected length of each edge within the given ball.

Number of edges of the shadow is poly in size w.h.p.

Page 29: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Outline of the Algorithm

Run Shadow Vertex Simplex on the Randomized Input– If Find Optimal then halt

Else transform the coordinates and run shadow vertex simplex on the transformed inputsAlgorithm will halt in poly-time w.h.p.

Page 30: A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation

Summery and Intuitions

Deterministic algorithms run exponential time on some “bad” inputsBy introducing some randomness into the algorithm fixed the problem. The Randomized algorithm run poly time on all inputs with high probability.Start with something strict, which is easy to prove the poly-bound, eliminate the bad events in poly-time.