Linear Programming and Halfplane Intersection

Similar documents
Computational Geometry Lecture Linear Programming

1 Seidel s LP algorithm

A 2D Bounded Linear Program (H,c) 2D Linear Programming

Chapter 2: Linear Programming Basics. (Bertsimas & Tsitsiklis, Chapter 1)

Special cases of linear programming

Midterm Review. Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A.

MS-E2140. Lecture 1. (course book chapters )

1 Review Session. 1.1 Lecture 2

MS-E2140. Lecture 1. (course book chapters )

Solution Cases: 1. Unique Optimal Solution Reddy Mikks Example Diet Problem

IE 400 Principles of Engineering Management. Graphical Solution of 2-variable LP Problems

Yinyu Ye, MS&E, Stanford MS&E310 Lecture Note #06. The Simplex Method

Linear Programming. Linear Programming I. Lecture 1. Linear Programming. Linear Programming

AM 121: Intro to Optimization

Linear Classification: Linear Programming

The simplex algorithm

Optimization (168) Lecture 7-8-9

CMPS 2200 Fall Divide-and-Conquer. Carola Wenk. Slides courtesy of Charles Leiserson with changes and additions by Carola Wenk

LINEAR PROGRAMMING I. a refreshing example standard form fundamental questions geometry linear algebra simplex algorithm

56:171 Operations Research Midterm Exam - October 26, 1989 Instructor: D.L. Bricker

MATH 445/545 Test 1 Spring 2016

MA 162: Finite Mathematics - Section 3.3/4.1

Lecture slides by Kevin Wayne

IE 5531: Engineering Optimization I

Section 1.6. Functions

Ω R n is called the constraint set or feasible set. x 1

56:270 Final Exam - May

Linear Classification: Linear Programming

Termination, Cycling, and Degeneracy

Simplex method(s) for solving LPs in standard form

Graph the linear inequality. 1) x + 2y 6

Part 1. The Review of Linear Programming Introduction

5.3 Linear Programming in Two Dimensions: A Geometric Approach

Motivating examples Introduction to algorithms Simplex algorithm. On a particular example General algorithm. Duality An application to game theory

Spring 2017 CO 250 Course Notes TABLE OF CONTENTS. richardwu.ca. CO 250 Course Notes. Introduction to Optimization

ENM 202 OPERATIONS RESEARCH (I) OR (I) 2 LECTURE NOTES. Solution Cases:

Dual Basic Solutions. Observation 5.7. Consider LP in standard form with A 2 R m n,rank(a) =m, and dual LP:

CSC373: Algorithm Design, Analysis and Complexity Fall 2017 DENIS PANKRATOV NOVEMBER 1, 2017

Summary of the simplex method

Chapter 5 Linear Programming (LP)

Dr. Maddah ENMG 500 Engineering Management I 10/21/07

Distributed Real-Time Control Systems. Lecture Distributed Control Linear Programming

The Simplex Algorithm

Review Questions, Final Exam

Introduction to linear programming

IE 5531: Engineering Optimization I

Computational Geometry

ISE 330 Introduction to Operations Research: Deterministic Models. What is Linear Programming? www-scf.usc.edu/~ise330/2007. August 29, 2007 Lecture 2

Prelude to the Simplex Algorithm. The Algebraic Approach The search for extreme point solutions.

LP Duality: outline. Duality theory for Linear Programming. alternatives. optimization I Idea: polyhedra

Optimization WS 13/14:, by Y. Goldstein/K. Reinert, 9. Dezember 2013, 16: Linear programming. Optimization Problems

Chapter 3 Introduction to Linear Programming PART 1. Assoc. Prof. Dr. Arslan M. Örnek

Graphical and Computer Methods

February 17, Simplex Method Continued

{ move v ars to left, consts to right { replace = by t wo and constraints Ax b often nicer for theory Ax = b good for implementations. { A invertible

CSC Design and Analysis of Algorithms. LP Shader Electronics Example

Lecture 9 Tuesday, 4/20/10. Linear Programming

System Planning Lecture 7, F7: Optimization

9.1 Linear Programs in canonical form

Class Meeting #20 COS 226 Spring 2018

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

ENGI 5708 Design of Civil Engineering Systems

LINEAR PROGRAMMING: A GEOMETRIC APPROACH. Copyright Cengage Learning. All rights reserved.

1. (7pts) Find the points of intersection, if any, of the following planes. 3x + 9y + 6z = 3 2x 6y 4z = 2 x + 3y + 2z = 1

Linear Programming. Chapter Introduction

Standard Form An LP is in standard form when: All variables are non-negativenegative All constraints are equalities Putting an LP formulation into sta

Linear Programming and the Simplex method

10. Ellipsoid method

2. Linear Programming Problem

Linear Programming: Simplex

MATH2070 Optimisation

Study support. Course Name: Operations Research. Supervisor: doc. RNDr. Jiří Moučka, Ph.D. Author: RNDr. Michal Šmerek, Ph.D.

Linear programming Dr. Arturo S. Leon, BSU (Spring 2010)

Understanding the Simplex algorithm. Standard Optimization Problems.

Lecture Notes for CAAM 378 A Quick Introduction to Linear Programming (DRAFT) Yin Zhang

MULTIPLE CHOICE QUESTIONS DECISION SCIENCE

Optimization. Broadly two types: Unconstrained and Constrained optimizations We deal with constrained optimization. General form:

The Simplex Method for Solving a Linear Program Prof. Stephen Graves

4.6 Linear Programming duality

Operations Research: Introduction. Concept of a Model

Note 3: LP Duality. If the primal problem (P) in the canonical form is min Z = n (1) then the dual problem (D) in the canonical form is max W = m (2)


END3033 Operations Research I Sensitivity Analysis & Duality. to accompany Operations Research: Applications and Algorithms Fatih Cavdur

Summary of the simplex method

Operations Research Graphical Solution. Dr. Özgür Kabak

Numerical Optimization

The Simplex Method. Standard form (max) z c T x = 0 such that Ax = b.

ORF 522. Linear Programming and Convex Analysis

III. Linear Programming

Week 3: Simplex Method I

Metode Kuantitatif Bisnis. Week 4 Linear Programming Simplex Method - Minimize

Operations Research. Mathematical modeling exercise.

Section 3.3: Linear programming: A geometric approach

Lecture 3: Voronoi Diagrams & VCP Preliminaries July 24, 2013

Decision Mathematics D1 (6689) Practice paper A mark scheme

Lecture 2: The Simplex method. 1. Repetition of the geometrical simplex method. 2. Linear programming problems on standard form.

arxiv: v1 [cs.dm] 26 Apr 2010

15-780: LinearProgramming

4.3 Minimizing & Mixed Constraints

C&O 355 Mathematical Programming Fall 2010 Lecture 2. N. Harvey

Transcription:

CMPS 3130/6130 Computational Geometry Spring 2015 Linear Programming and Halfplane Intersection Carola Wenk CMPS 3130/6130 Computational Geometry 1

Word Problem A company produces tables and chairs. The profit for a chair is $2, and for a table $4. Machine group A needs 4 hours to produce a chair, and 6 hours to produce a table. Machine group B needs 2 hours to produce a chair, and 6 hours to produce a table. Per day there are at most 120 working hours for group A and at most 72 hours for group B. How can the company maximize profit? Variables: c A = # chairs produced on machine group A c B = # chairs produced on machine group B t A = # tables produced on machine group A t B = # tables produced on machine group B Objective function (profit): Maximize 2(c A +c B )+4(t A +t B ) Constraints: 4c A +6t A 120 2c B +6t B 72 CMPS 3130/6130 Computational Geometry 2

Linear Programming Variables: x 1,,x d Constraints: h 1 : a 11 x 1 + +a 1d x d b 1 h 2 : a 21 x 1 + +a 2d x d b 2... h n : a n1 x 1 + +a nd x d b n Objective function: Maximize f c (x) = c 1 x 1 + +c d x d Linear program in d variables with n constraints Each constraint h i is a half-space in R d is the feasible region of the linear program Maximizing f c (x) corresponds to finding a point x that is extreme in direction c. CMPS 3130/6130 Computational Geometry 3

Sub-Problem: Halfspace Intersection (in R 2 : Halfplane Intersection) Given: A set H={h 1, h 2,, h n } of halfplanes h i : a i x + b i y c i with constants a i, b i, c i ; for i=1,,n. Find:, i.e., the feasible region of all points (x,y)r 2 satisfying all n constraints at the same time. This is a convex polygonal region bounded by at most n edges. intersection bounded intersection unbounded intersection empty intersection degenerated to a point CMPS 3130/6130 Computational Geometry 4

D&C Halfplane Intersection Algorithm Intersect_Halfplanes(H): Input: A set H of n halfplanes in R 2 Output: The convex polygonal region C= if H =1 then C = h, where H={h} else split H into two sets H 1 and H 2 of size n/2 each C 1 = Intersect_Halfplanes(H 1 ) C 2 = Intersect_Halfplanes(H 2 ) C = Intersect_Convex_Regions(C 1, C 2 ) return C Use a plane-sweep to develop an O(n)-time algorithm for Intersect_Convex_Regions T(n) = 2T(n/2)+n T(n)O(n log n)

Incremental Linear Programming 2D linear program (LP) Assume the LP is bounded (otherwise add constraints) Assume there is one unique solution (if any); take the lexicographically smallest solution Incremental approach: Add one halfplane after the other.,, Let v i = unique optimal vertex for feasible region C i, for 2. Then, and hence if for some then for all.

Incremental Linear Programming Lemma: Let 2 i n. (i) If then (ii) If then or the line bounding Handling case (ii) involves solving a 1-dimensional LP on : The feasible region is just an interval, that can be computed in linear time [rightmost left-bounded halfplane, leftmost right-bounded halfplane] We can compute a new, or decide that the LP is infeasible, in O(i) time

2D_Bounded_LP Algorithm 2D_Bounded_LP(H, c ): Input: A two-dimensional LP (H, c ) Output: Report if (H, c ) is infeasible. Otherwise report the lexicographically smallest point that maximizes f c. Let,, be the halfplanes of H Let be the corner of, which exists because LP is bounded for i=3 to n do if then else // Case (ii) point on that maximizes f c subject to constraints in if such a point does not exist then Report that the LP is infeasible break; return Runtime: Storage:

Randomized Incremental LP Depending on the insertion order of the halfplanes the runtime varies between O(n) and O(n 2 ). Randomize the input order of the halfplanes. Theorem: 2D_Randomized_Bounded_LP runs in O(n) expected time and O(n) deterministic space. Proof: Define a random variable 1, 0, The total time spent to resolve case (ii), over all,, is

Randomized Incremental LP We now need to bound the expected value E( and we know that. Apply backwards analysis to bound : Fix,, which determines. Analyze what happened in last step when was added. P(had to compute new optimal vertex when adding ) = P(optimal vertex changes when we remove a halfplane from ) 2 lines defining v i Total expected runtime is