Download presentation
Presentation is loading. Please wait.
1
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part IV Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für Angewandte Wissenschaften Albert-Ludwigs-Universität Freiburg
2
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann2 Overview Problem formulation and example. Incremental, deterministic algorithm. Randomized algorithm. Unbounded linear programs. Linear programming in higher dimensions.
3
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann3 Algorithm: 2D-LP Input:A 2-dimensional Linear Program (H, c ) Output: Either one optimal vertex or or a ray along which (H, c ) is unbounded. if UnboundedLP(H, c ) reports (H, c ) is unbounded or infeasible then return UnboundedLP(H, c ) else report h 1 := h; h 2 := h´ ; v 2 := l 1 l 2 let h 3,...,h n be the remaining half-planes of H for i:= 3 to n do if v i-1 h i then v i := v i-1 else S i-1 := H i-1 * l i v i := 1-dim-LP(S i-1, c ) if v i not exists then return return v n
4
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann4 Unbounded Linear Programs i min, an index with i min = min j, 1 j n i := The smaller angle that i makes with c i : The outward normal of h i hihi ii ii c
5
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann5 Unbounded Linear Programs H min := { h j H | j = i min } H par := { h j H | j = - i min } H par { H min { h i* c
6
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann6 Lemma Let H = {h 1,h 2,...,h n } be a set of half-planes. Assuming that (H min H par ) is not empty. 1.If l i* h j is unbounded in the direction c for every half-plane h j in the set H \ (H min H par ), then (H, c ) is unbounded along a ray contained in l i*. 2.If l i* h j* is bounded in the direction c for some h j* in H \ (H min H par ), then the linear program ({h i*, h j* }, c ) is bounded.
7
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann7 Algorithm: Unbounded-LP Input:A 2-Dimensional Linear Program (H, c ) Output: Either a pair of halfplanes bounding the LP or or a ray along which (H, c) is unbounded. 1.For each half plane h i H compute j 2.Let h i be half plane with i = min j, 1 j n 3.H min := { h j H | j = min } 4.H par := { h j H | j = - min } 5.Ĥ = H \ (H min H par ), compute intersection in H min H par 6.If the intersection is empty then report (H, c ) is infeasible else Let h i H min be the half-plane whose line bounds the intersection if there is half plane h j* Ĥ such that l i* h j* bounded in c then report ({h i*, h j* }, c ) is bounded else report is bounded along l i* ( Ĥ )
8
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann8 Higher Dimensions Let h 1,...,h d H be the d certificate half-spaces that UnboundedLP returns. C i := h 1 h 2 ... h i Lemma: Let d < i n, and let C i be defined as above. 1. If v i-1 h i, then v i = v i-1 2. If v i-1 h i, then either C i = or v i g i, where g i is the hyperplane that bounds h i.
9
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann9 Algorithm: Randomized-LP Input : A linear program (H, c ). Output : Either one optimal vertex or or a ray along which (H, c ) is unbounded. if UnboundedLP(H, c ) reports (H, c ) is unbounded then Report a ray along which (H, c ) unbounded. else Let h 1,...,h d H be the certificate halfplanes returned by UnboundedLP, and let v d be their vertex of intersection Compute a random permutation h d+1,...,h n for i = d+1 to n do if v i-1 h i then v i = v i-1 else S i-1 := H i-1 * bd(h i ) v i := d-1-dim-LP(S i-1, c ) if v i not exists then return return v n
10
Computational Geometry, WS 2006/07 Prof. Dr. Thomas Ottmann10 Theorem The d-dimensional linear programming problem with n constraints can be solved in O(d!n) expected time using linear storage.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.