Top Banner
A Randomized Polynomial-Time plex Algorithm for Linear Programm Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T
32

A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Dec 18, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

A Randomized Polynomial-Time Simplex Algorithm for Linear Programming

Daniel A. Spielman, Yale

Joint work with Jonathan Kelner, M.I.T.

Page 2: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

where is a n x d matrix, Rn

Terminology:c = objective functionb = right-hand side vector

A has rows a1,…,an

Linear Programming

maximize

subject to

Page 3: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Linear Programming Algorithms1940s—Dantzig, simplex method

First practical method for solving linear programs

Runs efficiently in practice on most problems

No known variant ran in worst-case poly time

1979—Khachiyan, EllipsoidPoly time, but usually slower than simplex

1984—Karmarkar, Interior Point MethodsPoly time, sometimes slower than simplex,

sometimes faster

Page 4: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Simplex Methods

Typically, walk on vertices and edges of feasible polytope

Not known if graph on vertices and edges has polynomial diameter (See Kalai-Kleitman)

Simplex methods have been generalized to walk on more general graphs. Ex.: Self-dual simplex (Dantizg, Lemke), Criss-cross, Admissible pivots (See Fukuda-Lüthi-Namiki)

Page 5: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Main Result

A Randomized Polynomial-Time LP Simplex Method polynomial dependence on bit-length

Walks on perturbations of polytopes generated from original LP problem

No bound on diameters of polytopes

A worst-case analysis inspired by Smoothed Analysis (S-Teng),

Page 6: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Overview

1. Reduce to problem of certifying boundedness

2. Boundedness does not depend on RHS,

3. Perturb , and run shadow-vertex simplex on perturbed polytope to generate certificate of boundedness

4. If fail, adjust distribution on perturbations, and try again.

Page 7: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Certifying Boundedness

Unbounded if feasible region contains a ray in direction such that

Unbounded iff all s lie in a halfspace

Certify boundedness by expressing origin as a full-dimensional convex combination of the s

Page 8: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Reduction to certifying boundedness

Recall dual LP:

Combine primal and dual so that just need feasible

Standard reduction to certifying boundedness, removing degeneracy by deterministic perturbation (See Megiddo-Chandrasekaran)

Page 9: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Boundedness Certification Problem

Need to show origin in

To apply simplex method, consider polytope

Boundedness independent of , so can perturb

Find certificate by optimizing random and , using shadow-vertex simplex method

Page 10: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Perturbing

Walking on perturbed polytope is the same

as walking on possibly infeasible vertices

of original polytope

Page 11: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Simplex methods easy in 2dFeasible region is a polygon

Possible pivot rules are “clockwise” and “counterclockwise”

Lift this simplicity to higher-dimensional LPs

The Shadow Vertex Pivot Rule

Page 12: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

The Shadow of a Polytope

Vertices Vertices, Edges Edges

Page 13: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

objective

start

The Shadow Vertex Pivot Rule

Vertices in shadow = those optimizing objective functions in shadow plane

Page 14: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Definition: A polytope is k-well-rounded if

where = radius r ball centered at origin

Well-Rounded Polytopes

Page 15: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Perturbing a Well-Rounded Polytope

Given k-well-rounded polytope

Perturb, to get

Where ri are exponential rand vars

with expectation 1/n:

Page 16: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Perturbing a Well-Rounded Polytope

Theorem:

For a uniform random shadow plane V,

Expected number edges of shadow of onto V is at most

Where, P is k-well-rounded,

Page 17: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Proof of well-rounded shadow bound

Expected length of perimeter of shadow of is <

For every potential edge, given that it appears on the shadow, expected length of its shadow is >

So, expect at most edges

Page 18: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Expected length of edge on shadow

An edge is determined by the set of

d-1 constraints that are tight on it

For each , let be event that

it appears on the convex hull of Q and in the shadow on V.

If appears in shadow, let be its length

Lemma:

Page 19: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Expected length of edge on tope

If appears, let be its length

For each , let be event that

it appears on the convex hull of Q.

Lemma:

Page 20: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Arbitrarily set ri for all Consider line L of points

satisfying ai

Tx=1+ri for all

Every other constraint intersects this line either positively or negatively

Edge length is distance between intersection points of max neg. constraint and min pos. constraint

Proof: Expected length edge on tope

Page 21: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

As perturb , intersection point

moves by at least size of perturbation

Small edge unlikely now follows from memoryless property of exponential distribution:

Proof: Expected length edge on tope

Page 22: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Proof: Expected length of shadow edge

Projection unlikely to decrease edge length too much

Let be angle of edge to V.

Lemma:

Remark: Simple if do not condition upon

Page 23: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Proof: Expected length of shadow edge

Lemma:

To condition on ,

Note in shadow iff V intersects

So, parameterize V by point in and a point orthogonal to that

Compute integral in these new variables

Page 24: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Obstacles to obtaining algorithm

Cannot use random 2-plane: Must have start vertex and objective function. Resolve by planting start vertex, and slightly extending theorem.

Polytope is not necessarily well-rounded. But, when fail, learn how to make it rounder.

Page 25: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Starting

Observe that did not need uniform random 2-plane: only need polynomial randomness, so take span(c, v), where v is random.

Insert a vertex optimizing a 1/poly ball around by adding d artificial constraints near

Will become the start vertex

Vertex optimizing c will not involve artificial constraints

Choose c from a 1/poly ball around

Page 26: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Run algorithm as if it were well-rounded

If do not go all the way around shadow, learn a point in polytope of large norm.

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Only need to do number times polynomial in bit-length. Is only barrier to strongly-polynomial time.

Page 27: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Page 28: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Page 29: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Page 30: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Page 31: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

If Not Well-Rounded

Using this point, change probability distributions on r1, …, rn and V. Is like re-scaling.

Page 32: A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.

Open Questions

Strongly Polynomial Algorithm?

Other Algorithmic Applications?