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.
Linear Programming Problem
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.
Dragan Jovicic Harvinder Singh
Linear Programming?!?! Sec Linear Programming In management science, it is often required to maximize or minimize a linear function called an objective.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
Convexity of Point Set Sandip Das Indian Statistical Institute.
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,
Orthogonal Range Searching 3Computational Geometry Prof. Dr. Th. Ottmann 1 Orthogonal Range Searching 1.Linear Range Search : 1-dim Range Trees 2.2-dimensional.
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.
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
Linear Programming Special Cases Alternate Optimal Solutions No Feasible Solution Unbounded Solutions.
Duality and Arrangements Computational Geometry, WS 2007/08 Lecture 6 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,
Orthogonal Range Searching Computational Geometry, WS 2006/07 Lecture 13 – Part III Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für.
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.
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.
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.
Linear Programming Computational Geometry, WS 2006/07 Lecture 5, Part II Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik.
Duality and Arrangements Computational Geometry, WS 2006/07 Lecture 7 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
Linear Programming Digital Lesson. Copyright © by Houghton Mifflin Company, Inc. All rights reserved. 2 Linear programming is a strategy for finding the.
LINEAR PROGRAMMING PROBLEM Definition and Examples.
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.
UNC Chapel Hill M. C. Lin Linear Programming Reading: Chapter 4 of the Textbook Driving Applications –Casting/Metal Molding –Collision Detection Randomized.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
Graphing Linear Inequalities in Two Variables Chapter 4 – Section 1.
Approximation Algorithms Department of Mathematics and Computer Science Drexel University.
Opener. Notes: 3.4 Linear Programming Optimization  Many real-life problems involve a process called optimization.  This means finding a maximum or.
Systems of Inequalities in Two Variables Sec. 7.5a.
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.
Linear Programming Problem. Definition A linear programming problem is the problem of optimizing (maximizing or minimizing) a linear function (a function.
Warm-Up 3.4 1) Solve the system. 2) Graph the solution.
Class Schedule: Class Announcements Homework Questions 3.4 Notes Begin Homework.
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.
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.
Linear Programming: A Geometric Approach3 Graphing Systems of Linear Inequalities in Two Variables Linear Programming Problems Graphical Solution of Linear.
Computational Geometry
1 Chapter 4 Geometry of Linear Programming  There are strong relationships between the geometrical and algebraic features of LP problems  Convenient.
Digital Lesson Linear Programming.
Digital Lesson Linear Programming.
1.4 The Extreme Point Theorem : Geometry of a linear programming problem The set of feasible solutions to a general linear programming problem is a convex.
CHAPTER 4. LINEAR PROGRAMMING
Lecture 11 Overview Self-Reducibility.
Max Z = x1 + x2 2 x1 + 3 x2  6 (1) x2  1.5 (2) x1 - x2  2 (3)
CMPS 3130/6130 Computational Geometry Spring 2017
Linear Programming Example: Maximize x + y x and y are called
Linear Programming Problem
ADVANCED COMPUTATIONAL MODELS AND ALGORITHMS
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 Problem description Maximize c 1 x 1 + c 2 x c d x d Subject to the conditions: a 1,1 x a 1,d x d  b 1 a 2,1 x a 2,d x d  b 2 ::: a n,1 x a n,d x d  b n Linear program of dimension d: c = (c 1,c 2,...,c d ) h i = {(x 1,...,x d ) ; a i,1 x a i,d x d  b i } l i = hyperplane that bounds h i ( straight lines, if d=2 ) H = {h 1,..., h n }

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 3 Structure of the feasible region 1. Bounded 2. Unbounded 3. Empty C C C

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 4 Assumption : Algorithm UnboundedLP(H, c) yields either a)a ray in ∩H, which is unbounded towards c, or b)two half planes h 1 and h 2, so that h 1  h 2 is bounded towards c, or c)the answer, that LP(H, c) has no solution, because the feasible region is empty. Bounded linear programs

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 5 Let C 2 = h 1  h 2 Remaining half planes: h 3,..., h n C i = C i-1  h i = h 1 ...  h i Compute-optimal-vertex (H, c) v 2 := l 1  l 2 ; C 2 := h 1  h 2 for i := 3 to n do C i := C i-1  h i v i := optimal vertex of C i C 2  C 3  C 4...  C n = C C i =   C =  Incremental algorithm

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 6 Optimal Vertex Lemma 1: Let 2 < i  n, then we have : 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  l i, where l i is the line bounding h i.

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 7 Optimal vertex h1h1 h2h2 h3h3 h4h4 v 3 = v 4 c h1h1 h2h2 h3h3 h4h4 h5h5 c v4v4 v5v5

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 8 f c (x) = c 1 x 1 + c 2 x 2 v i-1 C i-1 Next optimal vertex

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 9 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 Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 10 Algorithm 1D-LP

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 11 Algorithm 1D-LP 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 } Algorithm 1D-LP{s i-1, c } p 1 = s 1 for j := 2 to i-1 do p j = p j-1  s j if p i-1   then return the optimal vertex of p i-1 else return  Time: O(i)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 12 Addition of halfplanes in different orders vivi Good Bad

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 13 Optimal vertex h1h1 h2h2 h3h3 h4h4 v 3 = v 4 c h1h1 h2h2 h3h3 h4h4 h5h5 c v4v4 v5v5

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 14 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 Running time: O(n²)

Lecture 4: Linear Programming Computational Geometry Prof. Dr. Th. Ottmann 15 Addition of halfplanes in different orders vivi Good Bad