Linear Programming in Low Dimensions (most slides by Nati Srebro) - - PowerPoint PPT Presentation

linear programming in low dimensions
SMART_READER_LITE
LIVE PREVIEW

Linear Programming in Low Dimensions (most slides by Nati Srebro) - - PowerPoint PPT Presentation

Linear Programming in Low Dimensions (most slides by Nati Srebro) September 11, 2003 Lecture 3: Linear Programming in Low Dimensions Linear Programming + + + Maximize : c x c x c x 1 1 2 2 d d + + + Subject to : a


slide-1
SLIDE 1

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Linear Programming in Low Dimensions

(most slides by Nati Srebro)

slide-2
SLIDE 2

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

n d d n n n d d d d d d

b x a x a x a b x a x a x a b x a x a x a x c x c x c ≤ + + + ≤ + + + ≤ + + + + + +

, 2 2 , 1 1 , 2 , 2 2 2 , 2 1 1 , 2 1 , 1 2 2 , 1 1 1 , 1 2 2 1 1

: Subject to : Maximize

Linear Programming

slide-3
SLIDE 3

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Linear Programming in 2D

n y n x n y x y x y x

b y a x a b y a x a b y a x a y c x c ≤ + ≤ + ≤ + +

, , 2 , 2 , 2 1 , 1 , 1

: Subject to : Maximize

slide-4
SLIDE 4

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Linear Programming in 2D

slide-5
SLIDE 5

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Non-unique solution

slide-6
SLIDE 6

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

An Infeasible Linear Program

slide-7
SLIDE 7

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

An Unbounded LP

slide-8
SLIDE 8

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

An Unbounded LP

slide-9
SLIDE 9

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Types of LPs

  • Unique optimum
  • Optimal edge
  • Unbounded
  • Infeasible

Find the optimum Find an optimum Find unbounded ray Declare as unfeasible

slide-10
SLIDE 10

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-11
SLIDE 11

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-12
SLIDE 12

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

If its not broken don’t fix it !

slide-13
SLIDE 13

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-14
SLIDE 14

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-15
SLIDE 15

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-16
SLIDE 16

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-17
SLIDE 17

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-18
SLIDE 18

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-19
SLIDE 19

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-20
SLIDE 20

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-21
SLIDE 21

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-22
SLIDE 22

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

slide-23
SLIDE 23

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

Is a bad sign….

slide-24
SLIDE 24

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Summary

  • Check is optimum is feasible
  • Optimum is feasible:

We’re fine, don’t do anything

  • Optimum isn’t feasible:

Find optimum on new constraint (line) No feasible points on new constraint:

LP isn’t feasible

O(1) O(n)

slide-25
SLIDE 25

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Incremental Algorithm

  • Choose two constraints and

initialize the solution

  • Add new constraints one by one,

keeping track of current optimum

slide-26
SLIDE 26

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Initialization

Find two constraints that together bound the LP

slide-27
SLIDE 27

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Initialization

  • Choose the constraint h defined by a

vector that is the closest to “up”

slide-28
SLIDE 28

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Initialization

  • Choose the constraint h defined by

a vector that is the closest to “up”

  • For every other constraint,

check if it bounds the LP with h

  • If no constraint is good---

LP is unbounded

  • r unfeasible because of parallel constraints
slide-29
SLIDE 29

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Incremental Algorithm

  • Find two constraints that bound LP

– If none exist, LP is unbounded

  • Add all other constraints one by
  • ne, keeping track of current
  • ptimum

O(n) O(n2)

slide-30
SLIDE 30

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Adding a New Constraint

  • Check is optimum is feasible
  • Optimum is feasible:

We’re fine, don’t do anything

  • Optimum isn’t feasible:

Find optimum on new constraint (line) No feasible points on new constraint:

LP isn’t feasible

O(1) O(n)

Maybe we only rarely have to update optimum ?

slide-31
SLIDE 31

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-32
SLIDE 32

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-33
SLIDE 33

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-34
SLIDE 34

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-35
SLIDE 35

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-36
SLIDE 36

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

slide-37
SLIDE 37

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

O(n) updates…

slide-38
SLIDE 38

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

But…

slide-39
SLIDE 39

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Use a random permutation !

Expected time spent updating. Let Ti be the time spent at time i.

) ( ) (

3

i O P

n i

  • =

=

Update at round i

  • =

=

=

  • n

i i n i i

T E T E

3 3

] [

slide-40
SLIDE 40

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Probability of update at round i

Update only if the ith constraint is one of the two defining constraints Fix first i constraints:

2 2 − = i P

non-initial constraints

2 2 − = i P≤

slide-41
SLIDE 41

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Expected time spent updating:

Expected Run-Time Analysis

) ( 2 2

3

i O i

n i

  • =

− ≤ ) (n O =

Expectation is over algorithm randomness, not over input

) ( ) (

3

i O P

n i

  • =

=

Update at round i

  • =

=

=

  • n

i i n i i

T E T E

3 3

] [

slide-42
SLIDE 42

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

  • Incrementally add new constraints
  • Probability of update: d/(i-d)
  • On update: solve d-1 dimensional LP
  • +

=

− − − + ≤

n d i

i d T d i d dn O n d T

1

) 1 , 1 ( ) ( ) , ( ) ! ( ) , ( n d O n d T =

What about d>2 ?

slide-43
SLIDE 43

September 11, 2003 Lecture 3: Linear Programming in Low Dimensions

Further results

  • O(d!n) is not optimal:

– O(d2n + d2 d!) [Clarkson] – nO(√d) [Kalai, Matousek-Sharir-Welzl] – O(d2n + dO(√d) ) [combined]

  • Same time for finding minimum enclosing ball
  • f n points
  • First algorithms of this type were due to

Meggido

  • Weakly polynomial-time algorithms known

[Khachiyan,Karmarkar]