Convex Hulls (2D)

Total Page:16

File Type:pdf, Size:1020Kb

Convex Hulls (2D) Convex Hulls (2D) O’Rourke, Chapter 3 Announcements • We are live on Piazza: http://piazza.com/jhu/spring2016/600459 • Code-base was updated last Wednesday (Fixes a bug where 푦-values are read in as zero) Outline • Convex Hulls • Algorithms Naïve Implementation(s) Gift Wrapping Quick Hull Graham’s Algorithm Lower bound complexity Convexity A set 푆 is convex if for any two points 푝, 푞 ∈ 푆 the line segment 푝푞 ⊂ 푆. S S p q Not convex Convex? Convexity A set 푆 is convex if it is the intersection of (possibly infinitely many) half-spaces. S S p q Not convex Convex? Convexity 푑 푑 Given points 푝1, … , 푝푛 ⊂ ℝ , a point 푞 ∈ ℝ is a convex combination of the points if 푞 can be expressed as the linear sum: 푛 푞 = 훼푖 ⋅ 푝푖 푖=1 with 훼푖 ≥ 0 and 훼1 + ⋯ + 훼푛 = 1. Convex Hull The convex hull of a set of points 푆 ⊂ ℝ푑, denoted ℋ(푆), is the: set of all convex combinations of points in 푆, set of all convex combinations of 푑 + 1 points in 푆, intersection of all convex sets 퐶 w/ 푆 ⊂ 퐶, intersection of all half-spaces 퐻 w/ 푆 ⊂ 퐻, smallest convex polygon containing 푆. ℋ(푆) 푝1 푝푛 Convex Hull Note: If 푝 ∈ 푆 ⊂ ℝ2 and 푝 is a vertex of the convex hull then 푝 must be a convex vertex. Otherwise, we could create a line segment with vertices inside of the hull but which 푝 isn’t strictly interior. Convex Hull Claim: If 푃 ⊂ ℝ2 is a polygon whose vertices are all convex, then 푃 is convex. Convex Hull Proof (by induction): Otherwise, we could add a diagonal. ⇒ By induction, each half is convex. Convex Hull Proof (by induction): Otherwise, we could add a diagonal. ⇒ If 푃 is not convex there must be a segment between the two parts that exits 푃. Choose 푝1 and 푝2 above/below the diagonal. Evolve the segment to 푝1푝2. Since 푝1 and 푝2 are above/below, 푝1푝2 crosses the diagonal and is entirely inside 푃. 푝1 푝2 Convex Hull Proof (by induction): Otherwise, we could add a diagonal. ⇒ If 푃 is not convex there must be a segment between the two parts that exits 푃. Choose 푝1 and 푝2 above/below the diagonal. Evolve the segment to 푝1푝2. Since 푝1 and 푝2 are above/below, 푝1푝2 crosses the diagonal and is entirely inside 푃. 푝1 The last point at which the 푝 evolving segment is not fully 2 inside must be a reflex vertex. Convex Hull The extreme points of a set of points 푆 ⊂ ℝ2 are the points which are on the convex hull and have interior angle strictly less than 휋. ℋ(푆) 푝1 푝푛 Convex Hull Goal: 푑 Given a set of points S = 푝1, … , 푝푛 ⊂ ℝ , compute the convex hull ℋ(푆) efficiently. • Do we want all points on the hull or just the extreme ones? ℋ(푆) 푝 • Do the output vertices need 1 to be sorted or is the set of (extreme) vertices sufficient? 푝푛 Convex Hull Goal: 푑 Given a set of points S = 푝1, … , 푝푛 ⊂ ℝ , compute the convex hull ℋ(푆) efficiently. • Do we want all points on the hull or just the extreme ones? ℋ(푆) 푝 • Do the output vertices need 1 to be sorted or is the set of (extreme) vertices sufficient? 푝푛 We will focus on the ordered output of the extreme points on the hull. Convex Hull (2D) Note: We can find a hull vertex in linear time by finding the vertex that is extremal w.r.t. to some direction. Outline • Convex Hulls • Algorithms Naïve Implementation(s) Gift Wrapping Quick Hull Graham’s Algorithm Lower bound complexity Convex Hull (2D) Naïve Algorithm: For each directed edge 푒 ∈ 푆 × 푆, check if the half-space to the right of 푒 is empty of points (and there are no points on the line outside the segment). Otherwise the segment is not on the hull If the rest of the points are on one side, the segment is on the hull Convex Hull (2D) Naïve Algorithm 푂(푛3): For each directed edge 푒 ∈ 푆 × 푆, check if half-space to the right of 푒 is empty of points (and there are no points on the line outside the segment). Note: The output is the set of (unordered) extreme points on the hull. Convex Hull (2D) Naïve Algorithm 푂(푛3): For each directed edge 푒 ∈ 푆 × 푆, check if half-space to the right of 푒 is empty of points (and there are no points on the line outside the segment). Note: The output is the set of (unordered) extreme pointsIf we want on thethe ordered hull. points, we can stitch the edges together in ≤ 푂(푛2) time in a post-processing step. Convex Hull (2D) Naïve Algorithm++: Grow the hull by starting at a hull vertex and searching for the next edge on the hull by trying all possible edges and testing if they are on the hull. Convex Hull (2D) Naïve Algorithm++ 푂(푛2ℎ)*: Grow the hull by starting at a hull vertex and searching for the next edge on the hull by trying all possible edges and testing if they are on the hull. Note: By explicitly forcing the output to be sorted, we end up with a faster algorithm. *ℎ is the number of points on the hull. Convex Hull (2D) Naïve Algorithm++ 푂(푛2ℎ)*: Grow the hull by starting at a hull vertex and searching for the next edge on the hull by trying all possible edges and testing if they are on the hull. Note: By explicitly forcing the output to be sorted, we end up with a faster algorithm.This implementation is output sensitive. *ℎ is the number of points on the hull. Outline • Convex Hulls • Algorithms Naïve Implementation(s) Gift Wrapping Quick Hull Graham’s Algorithm Lower bound complexity Convex Hull (2D) Note: The next edge on the hull is the one making the largest angle. (If two points make the same angle, ignore the closer one.) Gift Wrapping: Grow by finding the edge making the largest angle. Convex Hull (2D) Note: The next edge on the hull is the one making the largest angle. (If two points make the same angle, ignore the closer one.) Gift Wrapping 푂(푛ℎ): Grow by finding the edge making the largest angle. Convex Hull (2D) Note: The next edge on the hull is the one making the largest angle. (If two points make the same angle, ignore the closer one.) Gift Wrapping 푂(푛ℎ): Grow by finding the edge makingA similar the largest approach angle. makes it possible to find a hull edge in linear time. Outline • Convex Hulls • Algorithms Naïve Implementation(s) Gift Wrapping Quick Hull Graham’s Algorithm Lower bound complexity Convex Hull (2D) Observation: Given a hull edge (푎, 푏), we can find the point 푐 furthest from the edge in linear time. 1. The point 푐 is on the hull. 푐 2. The triangle Δ푎푏푐 partitions the input into three regions: I. Points inside Δ푎푏푐. 푏 II. Points to the right of 푏푐. 푎 III. Points to the right of 푐푎. Convex Hull (2D) Observation: Given a hull edge (푎, 푏), we can find the point 푐 furthest from the edge in linear time. ⇒ Divide-and-conquer: Discard points inside Δ푎푏푐 푐 Separately compute the half-hulls to the right of 푏푐 and the right of 푐푎. Merge the two hulls. 푏 푎 Convex Hull (2D) Observation: Given aWe hull don’t edge require (푎, 푎푏푏),to we be acan hull find edge. the point 푐 furthestAs long from as it’s the a hull edge diagonal in linear merging time. is easy. ⇒ Divide-and-conquer: Discard points inside Δ푎푏푐 푐 Separately compute the half-hulls to the right of 푏푐 and the right of 푐푎. Merge the two hulls. 푏 푎 Convex Hull (2D) QuickHull( 푆 ⊂ ℝ2 ) (푎, 푏) ← HorizontalExtrema( 푆 ) 퐴 ← RightOf( 푆 , 푎푏 ) 퐵 ← RightOf( 푆 , 푏푎 ) 푄퐴 ← QuickHalfHull( 퐴 , 푎푏 ) 푄퐵 ← QuickHalfHull( 퐵 , 푏푎 ) return 푎 ∪ 푄퐴 ∪ 푏 ∪ 푄퐵 Convex Hull (2D) QuickHull( 푆 ⊂ ℝ2 ) (풂, 풃) ← HorizontalExtrema( 푺 ) 퐴 ← RightOf( 푆 , 푎푏 ) 퐵 ← RightOf( 푆 , 푏푎 ) 푄퐴 ← QuickHalfHull( 퐴 , 푎푏 ) 푏 푎 푄퐵 ← QuickHalfHull( 퐵 , 푏푎 ) return 푎 ∪ 푄퐴 ∪ 푏 ∪ 푄퐵 Convex Hull (2D) QuickHull( 푆 ⊂ ℝ2 ) (푎, 푏) ← HorizontalExtrema( 푆 ) 푨 ← RightOf( 푺 , 풂풃 ) 퐵 푩 ← RightOf( 푺 , 풃풂 ) 푄퐴 ← QuickHalfHull( 퐴 , 푎푏 ) 푏 푎 푄퐵 ← QuickHalfHull( 퐵 , 푏푎 ) 퐴 return 푎 ∪ 푄퐴 ∪ 푏 ∪ 푄퐵 Convex Hull (2D) QuickHull( 푆 ⊂ ℝ2 ) (푎, 푏) ← HorizontalExtrema( 푆 ) 퐴 ← RightOf( 푆 , 푎푏 ) 푄퐵 퐵 ← RightOf( 푆 , 푏푎 ) 푸푨 ← QuickHalfHull( 푨 , 풂풃 ) 푏 푎 푸푩 ← QuickHalfHull( 푩 , 풃풂 ) return 푎 ∪ 푄퐴 ∪ 푏 ∪ 푄퐵 푄퐴 Convex Hull (2D) QuickHull( 푆 ⊂ ℝ2 ) (푎, 푏) ← HorizontalExtrema( 푆 ) 퐴 ← RightOf( 푆 , 푎푏 ) 퐵 ← RightOf( 푆 , 푏푎 ) 푄퐴 ← QuickHalfHull( 퐴 , 푎푏 ) 푄퐵 ← QuickHalfHull( 퐵 , 푏푎 ) return 풂 ∪ 푸푨 ∪ 풃 ∪ 푸푩 Convex Hull (2D) (Recursion Level 0) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푆 == ∅ ) return ∅ else » 푐 ← 푆 푎푏 Furthest( , ) 푏 » 퐴 ← RightOf( 푆 , 푎푐 ) 푎 » 퐵 ← RightOf( 푆 , 푐푏 ) » 푄퐴 ← QuickHalfHull( 퐴 , 푎푐 ) » 푄퐵 ← QuickHalfHull( 퐵 , 푐푏 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level 0) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푆 == ∅ ) return ∅ else » 풄 ← Furthest( 푺 , 풂풃 ) 푏 » 퐴 ← RightOf( 푆 , 푎푐 ) 푎 » 퐵 ← RightOf( 푆 , 푐푏 ) » 푄퐴 ← QuickHalfHull( 퐴 , 푎푐 ) 푐 » 푄퐵 ← QuickHalfHull( 퐵 , 푐푏 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level 0) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푆 == ∅ ) return ∅ else » 푐 ← 푆 푎푏 Furthest( , ) 푏 » 푨 ← RightOf( 푺 , 풂풄 ) 푎 » 푩 ← RightOf( 푺 , 풄풃 ) 퐴 » 푄퐴 ← QuickHalfHull( 퐴 , 푎푐 ) 퐵 푐 » 푄퐵 ← QuickHalfHull( 퐵 , 푐푏 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level 0) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푆 == ∅ ) return ∅ else » 푐 ← 푆 푎푏 Furthest( , ) 푏 » 퐴 ← RightOf( 푆 , 푎푐 ) 푎 » 퐵 ← RightOf( 푆 , 푐푏 ) 퐴 » 푸푨 ← QuickHalfHull( 푨 , 풂풄 ) 푐 » 푄퐵 ← QuickHalfHull( 퐵 , 푐푏 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level 1) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푺 == ∅ ) return ∅ else » 푐 ← Furthest( 푆 , 푎푏 ) » 퐴 ← RightOf( 푆 , 푎푐 ) 푎 » 퐵 ← RightOf( 푆 , 푐푏 ) » 푄퐴 ← QuickHalfHull( 퐴 , 푎푐 ) 푏 » 푄퐵 ← QuickHalfHull( 퐵 , 푐푏 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level 0) QuickHalfHull( 푆 ⊂ ℝ2, 푎푏 ∈ 푆 × 푆 ) if( 푆 == ∅ ) return ∅ else » 푐 ← 푆 푎푏 Furthest( , ) 푏 » 퐴 ← RightOf( 푆 , 푎푐 ) 푎 » 퐵 ← RightOf( 푆 , 푐푏 ) 푄퐴 » 푄퐴 ← QuickHalfHull( 퐴 , 푎푐 ) 퐵 푐 » 푸푩 ← QuickHalfHull( 푩 , 풄풃 ) » return 푄퐴 ∪ 푐 ∪ 푄퐵 Convex Hull (2D) (Recursion Level
Recommended publications
  • Computational Geometry – Problem Session Convex Hull & Line Segment Intersection
    Computational Geometry { Problem Session Convex Hull & Line Segment Intersection LEHRSTUHL FUR¨ ALGORITHMIK · INSTITUT FUR¨ THEORETISCHE INFORMATIK · FAKULTAT¨ FUR¨ INFORMATIK Guido Bruckner¨ 04.05.2018 Guido Bruckner¨ · Computational Geometry { Problem Session Modus Operandi To register for the oral exam we expect you to present an original solution for at least one problem in the exercise session. • this is about working together • don't worry if your idea doesn't work! Guido Bruckner¨ · Computational Geometry { Problem Session Outline Convex Hull Line Segment Intersection Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S. In physics: Guido Bruckner¨ · Computational Geometry { Problem Session Definition of Convex Hull Def: A region S ⊆ R2 is called convex, when for two points p; q 2 S then line pq 2 S. The convex hull CH(S) of S is the smallest convex region containing S.
    [Show full text]
  • On the Ekeland Variational Principle with Applications and Detours
    Lectures on The Ekeland Variational Principle with Applications and Detours By D. G. De Figueiredo Tata Institute of Fundamental Research, Bombay 1989 Author D. G. De Figueiredo Departmento de Mathematica Universidade de Brasilia 70.910 – Brasilia-DF BRAZIL c Tata Institute of Fundamental Research, 1989 ISBN 3-540- 51179-2-Springer-Verlag, Berlin, Heidelberg. New York. Tokyo ISBN 0-387- 51179-2-Springer-Verlag, New York. Heidelberg. Berlin. Tokyo No part of this book may be reproduced in any form by print, microfilm or any other means with- out written permission from the Tata Institute of Fundamental Research, Colaba, Bombay 400 005 Printed by INSDOC Regional Centre, Indian Institute of Science Campus, Bangalore 560012 and published by H. Goetze, Springer-Verlag, Heidelberg, West Germany PRINTED IN INDIA Preface Since its appearance in 1972 the variational principle of Ekeland has found many applications in different fields in Analysis. The best refer- ences for those are by Ekeland himself: his survey article [23] and his book with J.-P. Aubin [2]. Not all material presented here appears in those places. Some are scattered around and there lies my motivation in writing these notes. Since they are intended to students I included a lot of related material. Those are the detours. A chapter on Nemyt- skii mappings may sound strange. However I believe it is useful, since their properties so often used are seldom proved. We always say to the students: go and look in Krasnoselskii or Vainberg! I think some of the proofs presented here are more straightforward. There are two chapters on applications to PDE.
    [Show full text]
  • 15 BASIC PROPERTIES of CONVEX POLYTOPES Martin Henk, J¨Urgenrichter-Gebert, and G¨Unterm
    15 BASIC PROPERTIES OF CONVEX POLYTOPES Martin Henk, J¨urgenRichter-Gebert, and G¨unterM. Ziegler INTRODUCTION Convex polytopes are fundamental geometric objects that have been investigated since antiquity. The beauty of their theory is nowadays complemented by their im- portance for many other mathematical subjects, ranging from integration theory, algebraic topology, and algebraic geometry to linear and combinatorial optimiza- tion. In this chapter we try to give a short introduction, provide a sketch of \what polytopes look like" and \how they behave," with many explicit examples, and briefly state some main results (where further details are given in subsequent chap- ters of this Handbook). We concentrate on two main topics: • Combinatorial properties: faces (vertices, edges, . , facets) of polytopes and their relations, with special treatments of the classes of low-dimensional poly- topes and of polytopes \with few vertices;" • Geometric properties: volume and surface area, mixed volumes, and quer- massintegrals, including explicit formulas for the cases of the regular simplices, cubes, and cross-polytopes. We refer to Gr¨unbaum [Gr¨u67]for a comprehensive view of polytope theory, and to Ziegler [Zie95] respectively to Gruber [Gru07] and Schneider [Sch14] for detailed treatments of the combinatorial and of the convex geometric aspects of polytope theory. 15.1 COMBINATORIAL STRUCTURE GLOSSARY d V-polytope: The convex hull of a finite set X = fx1; : : : ; xng of points in R , n n X i X P = conv(X) := λix λ1; : : : ; λn ≥ 0; λi = 1 : i=1 i=1 H-polytope: The solution set of a finite system of linear inequalities, d T P = P (A; b) := x 2 R j ai x ≤ bi for 1 ≤ i ≤ m ; with the extra condition that the set of solutions is bounded, that is, such that m×d there is a constant N such that jjxjj ≤ N holds for all x 2 P .
    [Show full text]
  • Chapter 5 Convex Optimization in Function Space 5.1 Foundations of Convex Analysis
    Chapter 5 Convex Optimization in Function Space 5.1 Foundations of Convex Analysis Let V be a vector space over lR and k ¢ k : V ! lR be a norm on V . We recall that (V; k ¢ k) is called a Banach space, if it is complete, i.e., if any Cauchy sequence fvkglN of elements vk 2 V; k 2 lN; converges to an element v 2 V (kvk ¡ vk ! 0 as k ! 1). Examples: Let ­ be a domain in lRd; d 2 lN. Then, the space C(­) of continuous functions on ­ is a Banach space with the norm kukC(­) := sup ju(x)j : x2­ The spaces Lp(­); 1 · p < 1; of (in the Lebesgue sense) p-integrable functions are Banach spaces with the norms Z ³ ´1=p p kukLp(­) := ju(x)j dx : ­ The space L1(­) of essentially bounded functions on ­ is a Banach space with the norm kukL1(­) := ess sup ju(x)j : x2­ The (topologically and algebraically) dual space V ¤ is the space of all bounded linear functionals ¹ : V ! lR. Given ¹ 2 V ¤, for ¹(v) we often write h¹; vi with h¢; ¢i denoting the dual product between V ¤ and V . We note that V ¤ is a Banach space equipped with the norm j h¹; vi j k¹k := sup : v2V nf0g kvk Examples: The dual of C(­) is the space M(­) of Radon measures ¹ with Z h¹; vi := v d¹ ; v 2 C(­) : ­ The dual of L1(­) is the space L1(­). The dual of Lp(­); 1 < p < 1; is the space Lq(­) with q being conjugate to p, i.e., 1=p + 1=q = 1.
    [Show full text]
  • The Krein–Milman Theorem a Project in Functional Analysis
    The Krein{Milman Theorem A Project in Functional Analysis Samuel Pettersson November 29, 2016 2. Extreme points 3. The Krein{Milman theorem 4. An application Outline 1. An informal example 3. The Krein{Milman theorem 4. An application Outline 1. An informal example 2. Extreme points 4. An application Outline 1. An informal example 2. Extreme points 3. The Krein{Milman theorem Outline 1. An informal example 2. Extreme points 3. The Krein{Milman theorem 4. An application Outline 1. An informal example 2. Extreme points 3. The Krein{Milman theorem 4. An application Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 kxk2≤ 1 Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 kxk2≤ 1 Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 kxk2≤ 1 kxk1≤ 1 Convex sets and their \corners" Observation Some convex sets are the convex hulls of their \corners". kxk1≤ 1 kxk2≤ 1 kxk1≤ 1 x1; x2 ≥ 0 Convex sets and their \corners" Observation Some convex sets are not the convex hulls of their \corners". Convex sets and their \corners" Observation Some convex sets are not the convex hulls of their \corners".
    [Show full text]
  • Convexity in Oriented Matroids
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Elsevier - Publisher Connector JOURNAL OF COMBINATORIAL THEORY, Series B 29, 231-243 (1980) Convexity in Oriented Matroids MICHEL LAS VERGNAS C.N.R.S., Universite’ Pierre et Marie Curie, U.E.R. 48, 4 place Jussieu, 75005 Paris, France Communicated by the Editors Received June 11, 1974 We generalize to oriented matroids classical notions of Convexity Theory: faces of convex polytopes, convex hull, etc., and prove some basic properties. We relate the number of acyclic orientations of an orientable matroid to an evaluation of its Tutte polynomial. The structure of oriented matroids (oriented combinatorial geometries) [ 1 ] retains many properties of vector spaces over ordered fields. In the present paper we consider classical notions such as those of faces of convex polytopes, convex hull, etc., and show that usual definitions can be extended to finite oriented matroids in a natural way. We prove some basic properties: lattice structure with chain property of the set of faces of an acyclic oriented matroid, lower bounds for the numbers of vertices and facets and charac- terization of extremal cases, analogues of the Krein-Milman Theorem. In Section 3 we relate the number of acyclic orientations of an orientable matroid A4 to the evaluation t(M; 2,0) of its Tutte polynomial. The present paper is a sequel to [ 11. Its content constituted originally Sections 6, 7 and 8 of “MatroYdes orientables” (preprint, April 1974) [8]. Basic notions on oriented matroids are given in [ 11. For completeness we recall the main definitions [ 1, Theorems 2.1 and 2.21: All considered matroids are on finite sets.
    [Show full text]
  • The Convex Hull
    Chapter 6 The convex hull The exp ected value function of an integer recourse program is in general non- convex. The lack of convexity precludes the use of many results that are in- disp ensable for eciently solving these mo dels. It is well-known that, given convexity, every lo cal minimum is a global minimum. Moreover, the duality theory for convex optimization problems provides a wealth of results, resulting in the fact that such problems are well-solved, at least in theory (see Grotschel et al. [14]). For example, the entire theory and all algorithms to solve continu- ous recourse programs are based on the convexity of these problems. These considerations justify our interest in convex approximations of the exp ected value function of integer recourse mo dels. Obviously, if the exp ected value function is replaced by such an approximation, the resulting mo del is a convex minimization problem, since the rst-stage ob jective function is linear and the constraints are linear equalities and non-negativities. In this and the following chapter we deal with convex approximations of the integer exp ected value function Q, in case the recourse is simple and the technology matrix T is xed. For easy reference, we rep eat its de nition: n 1 ; Q(x) = E v (x; ! ); x 2 R ! + + + v (x; ! ) = inf fq y + q y : y p(! ) T x; y p(! ) T x; m m + 2 2 y 2 Z ; y 2 Z g; + + + where (q ; q ) and T are xed vectors/matrices of compatible dimensions, + q 0, q 0, and p(! ) is a random vector.
    [Show full text]
  • Lecture 12 1 Matroid Intersection Polytope
    18.438 Advanced Combinatorial Optimization October 27, 2009 Lecture 12 Lecturer: Michel X. Goemans Scribe: Chung Chan (See Sections 41.4 and 42.1 in Combinatorial Optimization by A. Schrijver) 1 Matroid Intersection Polytope For matroids M1 = (S, I1) and M2 = (S, I2), the intersection polytope is the convex hull of the incidence vectors of the common independent sets: Conv{χ(I),I ∈ I1 ∩ I2}. (1) S Theorem 1 Let r1, r2 : 2 7→ Z+ be the rank functions of the matroids M1 = (S, I1) and M2 = (S, I2) respectively. Then, the intersection polytope (1) is equivalent to the set of S x ∈ R defined by the following totally dual integral (TDI) system, X x(u) := xe ≤ ri(U) ∀U ⊆ S, i = 1, 2 (2a) e∈U x ≥ 0 (2b) Proof: It suffices to show that (2) is TDI because then all extreme points are integral, and so the set of vertices are the set of incidence vectors of the common independent sets in both matroids. To prove TDI, consider the following linear programming duality for some weight vector S w ∈ Z , T X X max w x =minimize r1(U)y1(U) + r2(U)y2(U) (3a) x≥0:x(U)≤r (U),i=1,2 i U⊆S U⊆S X subject to [y1(U) + y2(U)] ≥ we ∀e ∈ S (3b) U3e with y1, y2 ≥ 0 Observe that we can assume that w ≥ 0 since any negative entry can be deleted as it does not affect feasibility in the dual (3). ∗ ∗ Claim 2 There exists an optimal solution (y1, y2) to the dual problem in (3) that satisfies, ∗ y1(U) = 0 ∀U/∈ C1 (4a) ∗ y2(U) = 0 ∀U/∈ C2 (4b) S for some chains C1, C2 ⊆ 2 , where a chain F is such that, for all A, B ∈ F, either A ⊆ B or B ⊆ A.
    [Show full text]
  • E Convex Hulls
    CS 373 Non-Lecture E: Convex Hulls Fall 2002 E Convex Hulls E.1 Definitions We are given a set P of n points in the plane. We want to compute something called the convex hull of P . Intuitively, the convex hull is what you get by driving a nail into the plane at each point and then wrapping a piece of string around the nails. More formally, the convex hull is the smallest convex polygon containing the points: • polygon: A region of the plane bounded by a cycle of line segments, called edges, joined end-to-end in a cycle. Points where two successive edges meet are called vertices. • convex: For any two points p; q inside the polygon, the line segment pq is completely inside the polygon. • smallest: Any convex proper subset of the convex hull excludes at least one point in P . This implies that every vertex of the convex hull is a point in P . We can also define the convex hull as the largest convex polygon whose vertices are all points in P , or the unique convex polygon that contains P and whose vertices are all points in P . Notice that P might have interior points that are not vertices of the convex hull. A set of points and its convex hull. Convex hull vertices are black; interior points are white. Just to make things concrete, we will represent the points in P by their Cartesian coordinates, in two arrays X[1 :: n] and Y [1 :: n]. We will represent the convex hull as a circular linked list of vertices in counterclockwise order.
    [Show full text]
  • Variational Methods in the Presence of Symmetry
    Adv. Nonlinear Anal. 2 (2013), 271–307 DOI 10.1515/anona-2013-1001 © de Gruyter 2013 Variational methods in the presence of symmetry Jonathan M. Borwein and Qiji J. Zhu Abstract. The purpose of this paper is to survey and to provide a unified framework to connect a diverse group of results, currently scattered in the literature, that can be usefully viewed as consequences of applying variational methods to problems involving symme- try. Here, variational methods refer to mathematical treatment by way of constructing an appropriate action function whose critical points—or saddle points—correspond to or contain the desired solutions. Keywords. Variational methods, convex analysis, symmetry, group action. 2010 Mathematics Subject Classification. 49J53, 58J70, 58E30. 1 Introduction The purpose of this paper is to survey and to provide a unified framework to con- nect a diverse group of results, currently scattered in the literature, that can be usefully viewed as consequences of applying variational methods to problems in- volving symmetry. Here, variational methods refer to mathematical treatment by way of constructing an appropriate action function whose critical points corre- spond to or contain the desired solutions. Variational methods can be viewed as a mathematical form of the least ac- tion principle in physics. Variational methods have been a powerful tool in both pure and applied mathematics ever since the systematic development of calcu- lus of variations commenced over 300 years ago. With the discovery of modern variational principles and the development of nonsmooth analysis, the range of application of such techniques has been extended dramatically (see recent mono- graphs [14, 18, 32, 39, 40]).
    [Show full text]
  • Lecture Slides on Convex Analysis And
    LECTURE SLIDES ON CONVEX ANALYSIS AND OPTIMIZATION BASED ON 6.253 CLASS LECTURES AT THE MASS. INSTITUTE OF TECHNOLOGY CAMBRIDGE, MASS SPRING 2014 BY DIMITRI P. BERTSEKAS http://web.mit.edu/dimitrib/www/home.html Based on the books 1) “Convex Optimization Theory,” Athena Scien- tific, 2009 2) “Convex Optimization Algorithms,” Athena Sci- entific, 2014 (in press) Supplementary material (solved exercises, etc) at http://www.athenasc.com/convexduality.html LECTURE 1 AN INTRODUCTION TO THE COURSE LECTURE OUTLINE The Role of Convexity in Optimization • Duality Theory • Algorithms and Duality • Course Organization • HISTORY AND PREHISTORY Prehistory: Early 1900s - 1949. • Caratheodory, Minkowski, Steinitz, Farkas. − Properties of convex sets and functions. − Fenchel - Rockafellar era: 1949 - mid 1980s. • Duality theory. − Minimax/game theory (von Neumann). − (Sub)differentiability, optimality conditions, − sensitivity. Modern era - Paradigm shift: Mid 1980s - present. • Nonsmooth analysis (a theoretical/esoteric − direction). Algorithms (a practical/high impact direc- − tion). A change in the assumptions underlying the − field. OPTIMIZATION PROBLEMS Generic form: • minimize f(x) subject to x C ∈ Cost function f : n , constraint set C, e.g., ℜ 7→ ℜ C = X x h1(x) = 0,...,hm(x) = 0 ∩ | x g1(x) 0,...,gr(x) 0 ∩ | ≤ ≤ Continuous vs discrete problem distinction • Convex programming problems are those for which• f and C are convex They are continuous problems − They are nice, and have beautiful and intu- − itive structure However, convexity permeates
    [Show full text]
  • Lecture 2 - Introduction to Polytopes
    Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions n Pm Let x1; : : : ; xm be points in R and λ1; : : : ; λm be real numbers. Then x = i=1 λixi is said to be a: • Linear combination (of x1; : : : ; xm) if the λi are arbitrary scalars. • Conic combination if λi ≥ 0 for every i. Pm • Convex combination if i=1 λi = 1 and λi ≥ 0 for every i. In the following, λ will still denote a scalar (since we consider in real spaces, λ is a real number). The linear space spanned by X = fx1; : : : ; xmg (also called the span of X), denoted by Span(X), is the set of n n points x of R which can be expressed as linear combinations of x1; : : : ; xm. Given a set X of R , the span of X is the smallest vectorial space containing the set X. In the following we will consider a little bit further the other types of combinations. Pm A set x1; : : : ; xm of vectors are linearly independent if i=1 λixi = 0 implies that for every i ≤ m, λi = 0. The dimension of the space spanned by x1; : : : ; xm is the cardinality of a maximum subfamily of x1; : : : ; xm which is linearly independent. The points x0; : : : ; x` of an affine space are said to be affinely independent if the vectors x1−x0; : : : ; x`− x0 are linearly independent. In other words, if we consider the space to be “centered” on x0 then the vectors corresponding to the other points in the vectorial space are independent.
    [Show full text]