September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Linear Programming in Low Dimensions (most slides by Nati Srebro) - - PowerPoint PPT Presentation
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
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
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
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Linear Programming in 2D
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Non-unique solution
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
An Infeasible Linear Program
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
An Unbounded LP
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
An Unbounded LP
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
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
If its not broken don’t fix it !
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Adding a New Constraint
Is a bad sign….
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)
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
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
Initialization
Find two constraints that together bound the LP
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”
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
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)
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 ?
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
O(n) updates…
September 11, 2003 Lecture 3: Linear Programming in Low Dimensions
But…
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
] [
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≤
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
] [
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 ?
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]