Title: Linear Programming in Low Dimensions
1Linear Programming in Low Dimensions
2Linear Programming
3Linear Programming in 2D
4Linear Programming in 2D
5(No Transcript)
6An Infeasible Linear Program
7An Unbounded LP
8An Unbounded LP
9Types of LPs
- Unique optimum
- Optimal edge
- Unbounded
- Infeasible
- Find the optimum
- Find an optimum
- Find unbounded ray
- Declare as unfeasible
10?
11(No Transcript)
12(No Transcript)
13Adding a New Constraint
If its not broken dont fix it !
14Adding a New Constraint
????
15Adding a New Constraint
16Adding a New Constraint
17Adding a New Constraint
18Adding a New Constraint
19Adding a New Constraint
20(No Transcript)
21Adding a New Constraint
22Adding a New Constraint
23Adding a New Constraint
24Adding a New Constraint
25Adding a New Constraint
- Check is optimum is feasible
- Optimum is feasible
- Were fine, dont do anything
- Optimum isnt feasible
- Find optimum on new constraint (line)
- No feasible points on new constraint
- LP isnt feasible
O(1)
O(n)
26Incremental Algorithm
- Add new constraints one by one,keeping track of
current optimum
27Initialization
Find two constraints that together bound the LP
28Initialization
- Constraint h closest to top half-plane
29Initialization
- Constraint h closest to top half-plane
- For every other constraint, check if it bounds
the LP with h - If no constraint is good--- LP is unbounded
or unfeasible because of parallel constraints
30Incremental Algorithm
- Find two constraints that bound LP
- If none exist, LP is unbounded
- Add all other constraints one by one, keeping
track of current optimum
O(n)
O(n2)
31Adding a New Constraint
- Check is optimum is feasible
- Optimum is feasible
- Were fine, dont do anything
- Optimum isnt feasible
- Find optimum on new constraint (line)
- No feasible points on new constraint
- LP isnt feasible
O(1)
O(n)
Maybe we only rarely have to update optimum ?
32(No Transcript)
33(No Transcript)
34(No Transcript)
35(No Transcript)
36(No Transcript)
37(No Transcript)
38O(n) updates
39But
40Use a random permutation !
Expected time spent updating
41Probability of update at round i
First i constraints
Update only if ith constraint is one of two
defining constraints
42Expected Run-Time Analysis
Expectation is over algorithm randomness, not
over input
Expected time spent updating
43Cool man, but what about higher dimensions ?
- Incrementally add new constraints
- Probability of update d/(i-d)
- On update solve d-1 dimensional LP