Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental,

Slides:



Advertisements
Similar presentations
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Advertisements

3.4 Linear Programming 10/31/2008. Optimization: finding the solution that is either a minimum or maximum.
Incremental Linear Programming Linear programming involves finding a solution to the constraints, one that maximizes the given linear function of variables.
Lecture #3; Based on slides by Yinyu Ye
Advanced Topics in Algorithms and Data Structures Lecture 7.2, page 1 Merging two upper hulls Suppose, UH ( S 2 ) has s points given in an array according.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2002 Lecture 8 Tuesday, 11/19/02 Linear Programming.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
Convex Hulls in 3-space Jason C. Yang.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Convexity of Point Set Sandip Das Indian Statistical Institute.
CHAPTER 5: CONVEX POLYTOPES Anastasiya Yeremenko 1.
Algorithms Lecture 10 Lecturer: Moni Naor. Linear Programming in Small Dimension Canonical form of linear programming Maximize: c 1 ¢ x 1 + c 2 ¢ x 2.
A Randomized Polynomial-Time Simplex Algorithm for Linear Programming Daniel A. Spielman, Yale Joint work with Jonathan Kelner, M.I.T.
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part IV Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Delaunay Triangulation Computational Geometry, WS 2006/07 Lecture 11 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental,
Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental,
CSCI 3160 Design and Analysis of Algorithms Tutorial 6 Fei Chen.
UMass Lowell Computer Science Analysis of Algorithms Prof. Karen Daniels Fall, 2006 Lecture 9 Wednesday, 11/15/06 Linear Programming.
Orthogonal Range Searching-1Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
Lecture 5: Orthogonal Range Searching Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees.
Design and Analysis of Algorithms
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Half-Space Intersections
Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental,
Lecture 10 : Delaunay Triangulation Computational Geometry Prof. Dr. Th. Ottmann 1 Overview Motivation. Triangulation of Planar Point Sets. Definition.
Linear Programming Computational Geometry, WS 2007/08 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Parallel Merging Advanced Algorithms & Data Structures Lecture Theme 15 Prof. Dr. Th. Ottmann Summer Semester 2006.
Linear Programming Computational Geometry, WS 2007/08 Lecture 7, Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Lecture 8 : Arrangements and Duality Computational Geometry Prof. Dr. Th. Ottmann 1 Duality and Arrangements Duality between lines and points Computing.
Point Location Computational Geometry, WS 2007/08 Lecture 5 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät für.
7(2) THE DUAL THEOREMS Primal ProblemDual Problem b is not assumed to be non-negative.
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 - Part I Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
Lecture 6: Point Location Computational Geometry Prof. Dr. Th. Ottmann 1 Point Location 1.Trapezoidal decomposition. 2.A search structure. 3.Randomized,
Lecture outline Support vector machines. Support Vector Machines Find a linear hyperplane (decision boundary) that will separate the data.
Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental,
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Selection1. 2 The Selection Problem Given an integer k and n elements x 1, x 2, …, x n, taken from a total order, find the k-th smallest element in this.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Approximation Algorithms: Bristol Summer School 2008 Seffi Naor Computer Science Dept. Technion Haifa, Israel TexPoint fonts used in EMF. Read the TexPoint.
Chapter 5 Linear Inequalities and Linear Programming Section R Review.
C&O 355 Lecture 2 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
Computational Geometry Piyush Kumar (Lecture 5: Linear Programming) Welcome to CIS5930.
Linear Programming Piyush Kumar. Graphing 2-Dimensional LPs Example 1: x y Feasible Region x  0y  0 x + 2 y  2 y  4 x  3 Subject.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
Graphing Linear Inequalities in Two Variables Chapter 4 – Section 1.
The Selection Problem. 2 Median and Order Statistics In this section, we will study algorithms for finding the i th smallest element in a set of n elements.
Data Structures and Algorithms (AT70.02) Comp. Sc. and Inf. Mgmt. Asian Institute of Technology Instructor: Prof. Sumanta Guha Slide Sources: CLRS “Intro.
CSC 211 Data Structures Lecture 13
Notes 7.5 – Systems of Inequalities. I. Half-Planes A.) Given the inequality, the line is the boundary, and the half- plane “below” the boundary is the.
Warm-Up 3.4 1) Solve the system. 2) Graph the solution.
CPSC 536N Sparse Approximations Winter 2013 Lecture 1 N. Harvey TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAA.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
UNC Chapel Hill M. C. Lin Randomized Linear Programming For any set of H of half-planes, there is a good order to treat them. Thus, we can improve the.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 9 Line Arrangements.
Common Intersection of Half-Planes in R 2 2 PROBLEM (Common Intersection of half- planes in R 2 ) Given n half-planes H 1, H 2,..., H n in R 2 compute.
Approximation Algorithms based on linear programming.
Computational Geometry
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
1 Chapter 4 Geometry of Linear Programming  There are strong relationships between the geometrical and algebraic features of LP problems  Convenient.
Linear Programming Many problems take the form of maximizing or minimizing an objective, given limited resources and competing constraints. specify the.
Linear Programming.
Outline Simplex algorithm The initial basic feasible solution
Online Learning Kernels
CHAPTER 4. LINEAR PROGRAMMING
I. The Problem of Molding
CMPS 3130/6130 Computational Geometry Spring 2017
Presentation transcript:

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 1 Linear Programming Overview Formulation of the problem and example Incremental, deterministic algorithm Randomized algorithm Unbounded linear programs Linear programming in higher dimensions

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 2 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 infeasible then return UnboundedLP(H, c ) elseh 1 := h; h 2 := h´ ; v 2 := l 1  l 2 h 3,...,h n := 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 Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 3 New problem Find the point x on l i that maximizes cx, subject to the constraints x  h j, for 1  j  i –1 Observation: l i  h j is a ray Let S i-1 := { h 1  l i,..., h i-1  l i } 1.1-dim-LP{S i-1, c } 2.p 1 = s 1 3.for j := 2 to i-1 do 4. p j = p j-1  s j 5.if p i-1   then 6. return the optimal vertex of p i-1 else 7. return  Time: O(i)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 4 Sequences vivi GoodGood BadBad

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 5 Optimal Vertex h1h1 h2h2 h3h3 h4h4 v 3 = v 4 c h1 h1 h2 h2 h3 h3 h4 h4 h5 h5 c v4 v4 v5v5

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 6 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 )  {h, h´} then return UnboundedLP(H, C ) h 1 := h; h 2 := h´ ; v 2 := l 1  l 2 h 3,...,h n := 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 does not exist then return  return v n Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 7 Sequences vivi GoodGood BadBad

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 8 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 )  {h, h´} then return UnboundedLP(H, C ) h 1 := h; h 2 := h´ ; v 2 := l 1  l 2 h 3,...,h n := remaining half-planes of H compute a random permutation h 3,..., h n 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 does not exist then return  return v n Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 9 Randomization Theorem: The 2-dimensional linear programming problem with n constraints can be solved in O(n) randomized expected time using worst-case linear storage.

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 10 Random Variable x i X i = E[x i ] is the probability that v i-1  h i

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 11 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 )  {h, h´} then return UnboundedLP(H, C ) h 1 := h; h 2 := h´ ; v 2 := l 1  l 2 h 3,...,h n := 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 does not exist then return  return v n Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 12 Unbounded Linear Programs hihi ii :=The outward normal of h i  i := The smaller angle that  makes with c I min, an index with  i min = min  j, 1  j  n   c

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 13 H min := { h j  H | = min } H par := { h j  H | = - min } H par { H min { H par { H min { h i* c

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 14 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.

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 15 Algorithm UNBOUNDEDLP Input:A 2-Dimensional Linear Program (H, C ) Output: Either one optimal vertex or  or a ray along which (H, C ) is unbounded. 1.For each half plane h i  H compute  j 2.Let hi be half plane with  j = min  j, 1  j  n 3.H min := { h j  H | = min } 4.H par := { h j  H | = - 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 feasible else Let h i  H min be the half-plane whose line bound the intersection if there is half plane h j*  suchthat l i*  h j* bounded in C then report ({h i*, h j* }, C ) is bounded else report is bounded along l i*  (  )

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 16 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.

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 17 Algorithm RANDOMIZEDLP 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 the information and, ray along which (H, c ) is unbounded. else Let h 1,...,h d  H he 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 v i = the point p on gi that maximizes f (p) if p does not exist then report infeasible and quit. Return v n

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 18 Theorem The d-dimensional linear programming problem with n constraints can be solved in O(d!n) expected time using linear storage.