! Linear programming"! Duality "! Smallest enclosing disk"

Similar documents
Computational Geometry

Linear Programming in Small Dimensions

Computational Geometry

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension

Linear Programming- Manufacturing with

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

4 Linear Programming. Manufacturing with Molds

Polygon Triangulation. (slides partially by Daniel Vlasic )

Voronoi diagrams Delaunay Triangulations. Pierre Alliez Inria

Planar Point Location

Computational Geometry

Linear programming and duality theory

Linear Programming and its Applications

Voronoi diagram and Delaunay triangulation

Convex Optimization CMU-10725

Week 8 Voronoi Diagrams

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

CMSC 754 Computational Geometry 1

CS 6463: AT Computational Geometry Spring 2006 Convex Hulls Carola Wenk

Lecture Notes 2: The Simplex Algorithm

11 Linear Programming

Computational Geometry Lecture Duality of Points and Lines

Chapter 4 Concepts from Geometry

Linear Programming Duality and Algorithms

Voronoi Diagrams and Delaunay Triangulations. O Rourke, Chapter 5

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Ma/CS 6b Class 11: Kuratowski and Coloring

Math 414 Lecture 2 Everyone have a laptop?

Motion Planning. O Rourke, Chapter 8

CS 532: 3D Computer Vision 14 th Set of Notes

CMPS 3130/6130 Computational Geometry Spring Voronoi Diagrams. Carola Wenk. Based on: Computational Geometry: Algorithms and Applications

Three Dimensional Geometry. Linear Programming

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

OPERATIONS RESEARCH. Linear Programming Problem

Polygon Triangulation. (slides partially by Daniel Vlasic )

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann

Line Arrangements. Applications

Linear Programming. Presentation for use with the textbook, Algorithm Design and Applications, by M. T. Goodrich and R. Tamassia, Wiley, 2015

(67686) Mathematical Foundations of AI July 30, Lecture 11

Lecture 5: Duality Theory

5. THE ISOPERIMETRIC PROBLEM

Field: We have been doing geometry eg linear programming. But in computational geometry, key difference in focus: low dimension d

Simplicial Cells in Arrangements of Hyperplanes

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Applications of Linear Programming

A Subexponential Randomized Simplex Algorithm

FACES OF CONVEX SETS

Polyhedral Compilation Foundations

CS S Lecture February 13, 2017

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang

Smallest Intersecting Circle for a Set of Polygons

Lecture 15: The subspace topology, Closed sets

Computational Geometry

Computational Geometry

26 The closest pair problem

Notes taken by Mea Wang. February 11, 2005

Line Arrangement. Chapter 6

Polygon Triangulation

arxiv: v2 [cs.cg] 30 Nov 2010

Packing Two Disks into a Polygonal Environment

An Introduction to Computational Geometry: Arrangements and Duality

CSE 5311 Notes 13: Computational Geometry

UNM - PNM STATEWIDE MATHEMATICS CONTEST XLI. February 7, 2009 Second Round Three Hours

The Art Gallery Problem

Delaunay Triangulations. Presented by Glenn Eguchi Computational Geometry October 11, 2001

Computational Geometry [csci 3250]

LINEAR PROGRAMMING. Chapter Overview

1/60. Geometric Algorithms. Lecture 1: Introduction. Convex Hulls

Other Voronoi/Delaunay Structures

Algorithms for GIS:! Quadtrees

Trapezoidal decomposition:

R n a T i x = b i} is a Hyperplane.

Math 208/310 HWK 4 Solutions Section 1.6

EXTREME POINTS AND AFFINE EQUIVALENCE

Computational Geometry [csci 3250]

Lecture 3: Art Gallery Problems and Polygon Triangulation

The Cut Locus and the Jordan Curve Theorem

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

Advanced Algorithms Computational Geometry Prof. Karen Daniels. Fall, 2012

6.854J / J Advanced Algorithms Fall 2008

Computational Geometry 2D Convex Hulls. Joseph S. B. Mitchell Stony Brook University

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

ON THE EMPTY CONVEX PARTITION OF A FINITE SET IN THE PLANE**

Lecture 16: Voronoi Diagrams and Fortune s Algorithm

3. Voronoi Diagrams. 3.1 Definitions & Basic Properties. Examples :

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Example Graph the inequality 2x-3y 12. Answer - start with the = part. Graph the line 2x - 3y = 12. Linear Programming: A Geometric Approach

Lectures 19: The Gauss-Bonnet Theorem I. Table of contents

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Linear Programming. Readings: Read text section 11.6, and sections 1 and 2 of Tom Ferguson s notes (see course homepage).

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

Linear Programming Motivation: The Diet Problem

The clique number of a random graph in (,1 2) Let ( ) # -subgraphs in = 2 =: ( ) We will be interested in s.t. ( )~1. To gain some intuition note ( )

Computational Geometry 2D Convex Hulls

COMP Analysis of Algorithms & Data Structures

Polygon decomposition. Motivation: Art gallery problem

Computational Geometry

Topology 550A Homework 3, Week 3 (Corrections: February 22, 2012)

Introduction to Linear Programming

Transcription:

! Linear programming"! Duality "! Smallest enclosing disk" 14. 24.! Define:" " i types of foods (1!i!d).! " j types of vitamins (1!j!n)." " x i the amount of food of type i." " a ji the amount of vitamin j in one unit of food i." " c i the number of calories in one unit of food i." " b j minimal required amount of vitamin j."! Constraints (we need to consume some minimal amount of each vitamin):"! Each constraint defines defines a half-space region in d-dimensional space."! The feasible region is the (convex) intersection of these half-spaces."! We will treat the case d = 2, where each constraint defines a half-plane."! Minimize: the total number of calories consumed:! 34. 44.! The feasible region may be:"! The solution to the linear program is a point in the feasible region that is extreme in the direction of the target function."! Theorem: Any bounded linear program that is feasible has a unique solution, whics a vertex of the feasible region.! Proof: Convexity c " Empty" " Unbounded"! The solution may be:" " Not unique" 54. 64.

! Assume WLOG that the cost function points downwards."! Construct (some of) the vertices of the feasible region."! Walk edge by edge downwards until reaching a local minimum (whics also a global minimum)."! In R d, the number of vertices might be Θ (n d/2 )." c! Mid 20 th century: Simplex algorithm, time complexity Θ(n d/2 ) in the worst case. "! 1980ʼs (Khachiyan) ellipsoid algorithm with time complexity poly(n,d). "! 1980ʼs (Karmakar) interior-point algorithm with time complexity poly(n,d)."! 1984 (Megiddo) parametric search algorithm with time complexity O(C d n) where C d is a constant dependent only on d. E.g. C d = 2 d^2."! The holy grail: An algorithm with complexity independent of d."! In practice the simplex algorithm is used because of its linear expected runtime." 74. 84.! Input: " " n half planes." " Cost function that WLOG points down."! Algorithm:" 1. Partition the n half-planes into two groups." 2. Compute, recursively, the feasible region for each group." 3. Compute the intersection of the two feasible regions." 4. Check the cost function on the region vertices."! Stage 3:" " Intersection of two convex polygons plane sweep algorithm." " No more than four segments are ever in the SLS and no more than eight events in the EQ O(n)."! Stage 4:" " Find the minimal cost vertex - O(n)." T(n) = 2T(n/2)+O(n) " " T(n) = O(n log n)" 94. 104.! The idea:" " Start by intersecting two halfplanes." " Add halfplanes one by one and update optimal vertex by solving one-dimensional LP problem on new line if needed."! l i! the i th half plane" the line that defines " h 2 C 3 2 l 1 l 3 v 3 h l 3 2 v 2 C i! the feasible region after i constraints" C 1 h 1! the optimal vertex of C i! 114. 124.

! Theorem:" 1. if -1 #, then = -1. // O(1) check," " " " " " nothing to do" 2. if -1 $, then either" C i =% " " // terminate" or " C i = C i-1 & and lies on l i // run 1D LP"! Proof:" 1. Trivial. Otherwise would not have been optimum before." -1-1 2. Assume that is not on l i. must be in C i-1 By convexity, also the line -1 is in C i-1. " "Consider point v j - the intersection of -1 with l i. v j is in both C i-1 and C i, and is better than.! "Contradiction. " v j l i -1-1 134. 144.! Intersect each h j (j<i) with l i, generating i-1 rays representing (unbounded) intervals."! Intersect the i-1 intervals in O(i) time."! If the intersection is empty then report no solution, else report the lowest point." 154. 164.! Exactly like the deterministic version, only the order of the lines is random."! The expected runtime is:"! Theorem: The expected runtime of the random incremental algorithm (over all n! permutations of the input constraints) is O(n)." where x i is a random variable:" 174. 184.

Backward analysis "! Question: When given a solution after i halfplanes, what is the probability that the last half-plane affected the solution?"! Answer: Exactly 2/i, because a change can occur only if the last halfplane inserted is one of the two halfplanes thru." "(note that depends on the i half-planes, but not on their order)" 194. 204.! False Claim:" " The probabilistic analysis is for the average input. Hence there exist bad sets of constraints for which the algorithmʼs expected runtime is more than O(n), and there exist good sets of constraints for which the algorithmʼs expected runtime is less than O(n)."! True Claim:" " The probabilistic analysis is valid for all inputs. The expected complexity is over all permutations of this input."! Input: n points."! Output: Disk with minimal radius that contains all the points."! Theorem: For any finite set of points in general position, the smallest enclosing disk either has at least three points on its boundary, or two points which form a diameter. If there are three points, they subdivide the circle into three arcs of length no more than ' each. Prove!! This immediately implies a O(n 4 ) algorithm (why?).! 214. 224. Theorem: Using an incremental algorithm, where D i is the updated disk after seeing the first i points p 1,.., p i :" " "If p i $D i-1 then p i is on the boundary of D i.! Proof:! Observation: If r 1 <r 2 then a<'." " p i $D i-1 " r 1 <r 2 => a<'" " p i $(D i-1 " q 1,q 2,q 3 #D i-1! " Arc(q 1,q 3 )>'. Contradiction." D i-1 q 1 q 2 a q 3 r 2 r 1 D i p i! Construct the procedures:" " MinDisk(P) find a smallest enclosing disk for a set of points P." " MinDisk1(P,q) find an enclosing disk for a set of points P which touches point q." " MinDisk2(P,q 1,q 2 ) find an enclosing disk for a set of points P, which touches points q 1 and q 2." " Disk(q 1,q 2,q 3 ) find a disk thru points q 1ʼ q 2 and q 3 (easy)." 234. 244.

! MinDisk(P) "! MinDisk1(P,q) "! D 2 = the minimal disk through p 1 and p 2. "! For each point p i in random order (3 i n):" " Else D i = MinDisk1(P i-1,p i ). // look for other two points on disk"! D 1 = the minimal disk through q and p 1. "! For each point p i (2 i n):" " Else D i = MinDisk2(P i-1,q,p i ). // look for other one point on disk" 254. 264.! MinDisk2(P,q 1,q 2 ) "! D 0 = the minimal disk through q 1 and q 2. "! For each point p i (1 i n):" " Else D i = Disk(q 1,q 2,p i ). // form disk"! Use backward analysis on point ordering."! Total time complexity: "! Linear expected runtime."! Worst case: O(n 3 )." 274. 284.