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

Transcript of A Randomized Polynomial- Time Simplex Algorithm for Linear Programming CS3150 Course Presentation.

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.