Convex Hull Representation Conversion (cddlib, lrslib)

Size: px
Start display at page:

Download "Convex Hull Representation Conversion (cddlib, lrslib)"

Transcription

1 Convex Hull Representation Conversion (cddlib, lrslib) Student Seminar in Combinatorics: Mathematical Software Niklas Pfister October 31, 2014

2 1 Introduction In this report we try to give a short overview of the representation conversion problem of convex polyhedra with the aim of understanding the two mathematical software libraries cddlib and lrslib. The report is structured into three parts. First a short and basic introduction is given to convex polyhedra focusing on the two possible representations. In the second part a motivation for the theoretical algorithms used in cddlib and lrslib is presented. The final section contains an investigation of the details of the actual implementation of the cddlib library. We conclude by illustrating some of the functionalities of the libraries applied to examples. 1.1 Polytopes Let us begin by recalling the definition of a convex polyhedron. Definition 1 (convex polytope/polyhedron) Let A R m d and b R m, then a convex polyhedron P corresponding to the pair (A, b) is defined as P := {x R d : Ax b}. We call P a convex polytope if P is bounded. The pair (A, b) in the definition results in m linear inequalities, which should be understood as halfspaces of the R d. Therefore a convex polyhedron can be seen as the intersection of m halfspaces. To illustrate this consider the simple example of a square in R 2 given by S = {x R 2 : 1 x 1 1, 1 x 2 1} Figure 1: square in the cartesian plane 2

3 We can reformulate S to the form used in definition 1 using the following (A, b) pair: A = , b = In Figure 1.1 this example is illustrated. The dotted lines represent the halfspaces. 1.2 Minkowski-Weyl Theorem In the example of the two dimensional square it is obvious that we could also represent S by considering all convex combinations of the vertices of the square. In this section we will see that this is in fact possible for all polyhedra. The following important theorem illustrates this. Theorem 1 (Minkowski-Weyl) For a subset P of R d, the following statements are equivalent: 1. P is a Polyhedron, i.e., there exist A R m d and b R m such that P := {x R d : Ax b}. 2. P is finitely generated, i.e., there exist finitely many vectors v i s and r j s such that P = conv({v 1,..., v s }) + cone({r 1,..., r t }). Notice that conv denotes the convex hull, i.e. conv({v 1,..., v s }) := {x : x = i a i v i, a 1 = 1 and a 0} and cone denotes the nonnegative hull, i.e. cone({r 1,..., r t }) := {x : x = i λ i r i, λ i 0} Furthermore observe that 2 can be equivalently written in matrix form: P is finitely generated, i.e., there exists V R d s and R R d t for some s and t such that P := {x : x = Vµ + Rλ, µ 0, µ 1 = 1, λ 0}. 1.3 V- and H-Representation On the basis of the Minkowski-Weyl theorem we formulate the following definition. Definition 2 (H- and V-Representation) Halfspace-representation: A polyhedron has H-Representation or is given in inequality form if it is described as in 1. Vertex-representation: A polyhedron has V-Representation or is given in generator form if it is described as in 2. 3

4 Continuing the above example we get S is given in H-representation by S is given in V-representation by S = {x R 2 : Ax b}. S = conv({(1, 1), (1, 1), ( 1, 1), (1, 1)}). At this point we are confronted with the obvious question: How can we convert between the two representations of a Polyhedron? This problem of computing a (minimal) V-representation from an H-representation or vice versa is known in literature as the representation conversion problem for polyhedra. An important property of the representation conversion problem is, that it is in fact essentially the same converting from the V-representation to the H-representation of a Polyhedron as converting from the V-representation to the H-representation. In order to prove this non-trivial statement the concept of dual polytopes needs to be utilised. The main idea is that the H-representation of dual polyhedron can be easily converted into the V-representation of the original polyhedron and vice versa. As this goes beyond the scope of this short introduction to polyhedra we refer the interested reader to [3] which gives a full account on this topic. This allows us to reduce the representation conversion problem to finding an algorithm describing one direction of the conversion. The opposite direction is then given using the same algorithm applied to the dual polyhedron. 2 Theoretical Algorithms In this section we want to introduce the two algorithms that are used in the cddlib and lrslib libraries to convert from the H-representation of polyhedron to the V-representation from a theoretical viewpoint. Our focus will be on the double description method which is implemented in cddlib. 2.1 Representation Conversion Problem Let us begin by emphasizing the general property of the representation conversion problem that the size of the output is not easy to measure given the size of the input. For example the d-dimensional cube has 2d facets and 2 d vertices. This is important when constructing an algorithm and consequently a good algorithm should be sensitive to the output size. Ideally bounded by a polynomial function of both output and input size. An algorithm satisfying this property is called output polynomial. 4

5 be light on the memory usage. Ideally the required memory is bounded by a polynomial of the input size. An algorithm satisfying this property is called compact. Unfortunately for the general representation problem no such algorithm exist. However restricted to special classes of polyhedra this is possible. One example will be the pivoting algorithm described below which is output polynomial for polyhedra that are non-degenerate. Remark 1 We call a polyhedron P in R d non-degenerate if the number of edges that end in a vertex is d. Else we call P degenerate. 2.2 Double Description Method This is the algorithm that is implemented in the cddlib library. It is an incremental algorithm and turns out to be particularly efficient for very degenerate polyhedra in low dimensions. The underlying idea of the algorithm is to add the inequalities from the H-representation one at a time while in each step calculating the V-representation of the polyhedron given by the current set of inequalities. Input: Matrix A R m d Output: Matrix R R d n such that (A, R) are a DD pair, i.e. the columns of R generate C(A) := {x : Ax 0} General Step Let K be subset of row indices {1, 2,..., m} of A and let A k be the matrix of the rows of A indexed by K. Assume (A K, R) is a DD pair. If A = A K we are done. Else take i not in K and construct the DD pair (A K+i, R ). Notice that this algorithm only solves the simplified problem where b = 0. The set C(A) is called polar cone. The important step in the algorithm is the construction of R. We describe this by means of Figure 2, which shows the collection of critical points J of the polar cone C(A ). In each step the hyperplane corresponding to the newly added inequality separates the space R d into three parts: the open upper halfspace H +, the open lower halfspace H and the hyperplane H 0. Intersecting each of these with the set J leads to the three disjoint point collections J +, J and J 0. The new polyhedron is now simply the intersection of the previous polytope with the closed lower halfspace. Therefore all points that lie in J + have to be removed and replaced by new points in J 0. This is done by connecting all adjacent points in J and J + and finding where these lines intersect with J 0. Here two points are said to be adjacent if the common set of active inequalities is maximal among all other pairs of points. 5

6 Figure 2: construction of R Up until now we did not mention in which order the rows in A are selected. Although the algorithm will work for any order the following example illustrates that the computational complexity strongly depends on the choice of ordering. Figure 3 shows the size of the intermediate sets of generators for different types of row orderings in the calculation of the V-representation for the CCP6 polytope (a 15-dimensional polytope with 32 facets and 368 vertices). The following types of ordering were used: lexmin: refers to the lexicographic ordering of the rows in A random: refers to a random selection of the rows in A maxcutoff: refers to a dynamic selection for which in each step the row is selected for which the set J + is the largest mincutoff: is the same as maxcutoff with the difference of choosing the row for which the set J + is smallest As can be seen from Figure 3 the type of ordering used in the double description method has a huge impact on the size of the intermediate point collections. In practice it often turns out that lexmin is the most efficient order. However there is no result that proves that this is in fact the best ordering for any class of polyhedra. Furthermore it is also true that for polyhedra that have many redundant constraints in their H-representation maxcutoff can be substantially more efficient. 6

7 Figure 3: influence of ordering 2.3 Pivoting Algorithm A completely different approach is used in the pivoting algorithms where all vertices of a convex polytope are visited systematically. The main idea is that the graph of a convex polytope is connected and thus can be traced systematically until all vertices are visited (see Figure 4). Figure 4: pivoting algorithm We do not describe this algorithm in detail but only remark that this algorithm can be very efficient for non-degenerate polyhedra. In fact in this case the algorithm is output polynomial. However for very degenerate polyhedra the tracing of the graph becomes 7

8 quite inefficient. A version of such a pivoting algorithm is implemented in the lrslib library. 3 Implementations cddlib and lrslib In this section we will take a look at the C libraries cddlib and lrslib. Both libraries rely on the same input type which makes it possible to use both libraries in the same program. cddlib uses the double description method while lrslib uses the pivoting algorithm. Since these two algorithm are efficient for different types of polyhedra it is quite useful to be able to use both algorithms simultaneously. 3.1 Input The general input type for cddlib and lrslib is given in the following form for H- representations and V-representations respectively. Figure 5: input layout Both libraries have functions that are able to read in text files that are given in the format illustrated in Figure Implementation Details (cddlib) Let us focus our attention on cddlib and look at how this library works. The library defines many new types that are then used to perform the representation conversion. One important such type is the dd matrixdata type. It is used to save data related to a representation of a polyhedron given in one of the formats discussed in the previous section. The code fragment 3.2 is taken from the cddtypes.h file in which all custom types are defined. We can see how each bit of information from the input file is saved in a variable of a certain type. For example the actual representation would be saved in a variable of type Amatrix. In the same file one can check that this type is simply a two dimensional array of underlying type mytype (a type that is chosen at compile time). A 8

9 further example is the rowrange which is saved in a variable of type dd rowrange. One can check that every bit of information from an input file as in Figure 5 corresponds to a variable in the dd matrixdata type. This gives a compact and structured form to deal with the rather lengthy input in an intuitive fashion. Furthermore as we will see later on it allows to compile the library using different underlying number types (mytype can be for example the GNU GMP rational type) without making any changes to the library functions. typedef s t r u c t dd matrixdata dd MatrixPtr ; typedef s t r u c t dd matrixdata { dd rowrange rowsize ; dd rowset l i n s e t ; / a s u b s e t o f rows o f l i n e a r i t y ( i e, g e n e r a t o r s o f l i n e a r i t y s p a c e f o r V r e p r e s e n t a t i o n, and e q u a t i o n s f o r H r e p r e s e n t a t i o n. / dd colrange c o l s i z e ; dd RepresentationType r e p r e s e n t a t i o n ; dd NumberType numbtype ; dd Amatrix matrix ; dd LPObjectiveType o b j e c t i v e ; dd Arow rowvec ; } dd MatrixType ; Listing 1: cdd MatrixPtr in cddtypes.h In order to be able to understand a simple C program that uses the cddlib library we collect some important library functions: void d d s e t g l o b a l c o n s t a n t s ( void ) initializes global constants such as dd zero and dd purezero void d d f r e e g l o b a l c o n s t a n t s ( void ) frees the global constants again dd MatrixPtr dd PolyFile2Matrix ( f, dd ErrorType e r r ) read polyhedra data from stream f into matrixdata and return a pointer to it dd PolyhedraPtr dd DDMatrix2Poly ( dd MatrixPtr matrix, dd ErrorType e r r ) store the representation given by matrix in a polyhedra data and generate the second representation of *poly dd PolyhedraPtr dd DDMatrix2Poly2 ( dd MatrixPtr matrix, dd RowOrderType roworder, dd ErrorType e r r ) same as above with the extra argument roworder specifying the insertion order (eg. dd MaxCutoff, dd LexMin or dd RandomRow) dd MatrixPtr dd CopyInequalities ( dd PolyhedraPtr poly ) 9

10 copy inequality representation pointed to by poly to matrixdata and return a pointer dd MatrixPtr dd CopyGenerators ( dd PolyhedraPtr poly ) copy generator representation pointed to by poly to matrixdata and return a pointer A complete list can be found in the cddlib reference manual [1]. 3.3 GNU GMP As mentioned above one of the strengths of both cddlib and lrslib is that they can both be compiled with the GNU GMP library. This allows the conversion of polytopes with rational representation to be converted exact without the use of approximation by floating points. Although this might slightly slow down the program it can be essential to use this functionality as it can easily happen that calculations in the representation conversion lead to floating point errors. 3.4 Examples To illustrate the functionalities we refer to the examples included in the cddlib library files. Programs can be compiled in floating point arithmetic with the gcc compiler using the following syntax or with GNU GMP using gcc filename.c -lcdd gcc filename.c -lcddgmp -lgmp Notice that if cddlib or gmplib are not in the standard directory the directories have to be manually specified. One basic program that can be considered is for example testcdd1.c in the src folder. The folders examples-ine and examples-ext contain example polyhedra in the H- respectively V-representation. To see for example what effect the ordering has on the runtime. One can change the testcdd1.c file to use the function dd DDMatrix2Poly2 function described above. If the ordering maxcutoff is then used to calculate the V-representation for an 8 or 10 dimensional cross polytope (cross8.ine, cross10.ine) one can notice a dramatic increase in runtime compared to the lexmin ordering. It is also interesting to see when it can be useful to use cddlib in combination with GMP to get exact results. One example here would be the kkd18 4.ine polytope that cannot be converted to V-representation without the use of GMP due to numeric overflow. 10

11 3.5 Additional Functionality Both cddlib and lrslib contain many more functionalities apart from the basic representation conversion. One such functionality is that they both contain an LP-solver that can be used to solve linear programming problems such as maximize subject c x Ax b More details on additional functionalities can be found in the corresponding reference manuals (see [1], [4]). 11

12 4 References References [1] Komei Fukuda, cddlib Reference Manual [2] Komei Fukuda, Frequently Asked Questions in Polyhedral Computation [3] Komei Fukuda, Lecture: Polyhedral Computation, Spring [4] David Avis, User s Guide for lrs - Version 4.2b

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010

Polyhedral Computation Today s Topic: The Double Description Algorithm. Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010 Polyhedral Computation Today s Topic: The Double Description Algorithm Komei Fukuda Swiss Federal Institute of Technology Zurich October 29, 2010 1 Convexity Review: Farkas-Type Alternative Theorems Gale

More information

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that

be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that ( Shelling (Bruggesser-Mani 1971) and Ranking Let be a polytope. has such a representation iff it contains the origin in its interior. For a generic, sort the inequalities so that. a ranking of vertices

More information

Combinatorial Geometry & Topology arising in Game Theory and Optimization

Combinatorial Geometry & Topology arising in Game Theory and Optimization Combinatorial Geometry & Topology arising in Game Theory and Optimization Jesús A. De Loera University of California, Davis LAST EPISODE... We discuss the content of the course... Convex Sets A set is

More information

Convex Geometry arising in Optimization

Convex Geometry arising in Optimization Convex Geometry arising in Optimization Jesús A. De Loera University of California, Davis Berlin Mathematical School Summer 2015 WHAT IS THIS COURSE ABOUT? Combinatorial Convexity and Optimization PLAN

More information

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2)

COMP331/557. Chapter 2: The Geometry of Linear Programming. (Bertsimas & Tsitsiklis, Chapter 2) COMP331/557 Chapter 2: The Geometry of Linear Programming (Bertsimas & Tsitsiklis, Chapter 2) 49 Polyhedra and Polytopes Definition 2.1. Let A 2 R m n and b 2 R m. a set {x 2 R n A x b} is called polyhedron

More information

Lecture 2 - Introduction to Polytopes

Lecture 2 - Introduction to Polytopes Lecture 2 - Introduction to Polytopes Optimization and Approximation - ENS M1 Nicolas Bousquet 1 Reminder of Linear Algebra definitions Let x 1,..., x m be points in R n and λ 1,..., λ m be real numbers.

More information

Math 5593 Linear Programming Lecture Notes

Math 5593 Linear Programming Lecture Notes Math 5593 Linear Programming Lecture Notes Unit II: Theory & Foundations (Convex Analysis) University of Colorado Denver, Fall 2013 Topics 1 Convex Sets 1 1.1 Basic Properties (Luenberger-Ye Appendix B.1).........................

More information

Integer Programming Theory

Integer Programming Theory Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x

More information

Modeling and Analysis of Hybrid Systems

Modeling and Analysis of Hybrid Systems Modeling and Analysis of Hybrid Systems Convex polyhedra Prof. Dr. Erika Ábrahám Informatik 2 - LuFG Theory of Hybrid Systems RWTH Aachen University Szeged, Hungary, 27 September - 06 October 2017 Ábrahám

More information

Modeling and Analysis of Hybrid Systems

Modeling and Analysis of Hybrid Systems Modeling and Analysis of Hybrid Systems 6. Convex polyhedra Prof. Dr. Erika Ábrahám Informatik 2 - LuFG Theory of Hybrid Systems RWTH Aachen University Szeged, Hungary, 27 September - 06 October 2017 Ábrahám

More information

MATH 890 HOMEWORK 2 DAVID MEREDITH

MATH 890 HOMEWORK 2 DAVID MEREDITH MATH 890 HOMEWORK 2 DAVID MEREDITH (1) Suppose P and Q are polyhedra. Then P Q is a polyhedron. Moreover if P and Q are polytopes then P Q is a polytope. The facets of P Q are either F Q where F is a facet

More information

Polar Duality and Farkas Lemma

Polar Duality and Farkas Lemma Lecture 3 Polar Duality and Farkas Lemma October 8th, 2004 Lecturer: Kamal Jain Notes: Daniel Lowd 3.1 Polytope = bounded polyhedron Last lecture, we were attempting to prove the Minkowsky-Weyl Theorem:

More information

On the Hardness of Computing Intersection, Union and Minkowski Sum of Polytopes

On the Hardness of Computing Intersection, Union and Minkowski Sum of Polytopes On the Hardness of Computing Intersection, Union and Minkowski Sum of Polytopes Hans Raj Tiwary hansraj@cs.uni-sb.de FR Informatik Universität des Saarlandes D-66123 Saarbrücken, Germany Tel: +49 681 3023235

More information

maximize c, x subject to Ax b,

maximize c, x subject to Ax b, Lecture 8 Linear programming is about problems of the form maximize c, x subject to Ax b, where A R m n, x R n, c R n, and b R m, and the inequality sign means inequality in each row. The feasible set

More information

Exact adaptive parallel algorithms for data depth problems. Vera Rosta Department of Mathematics and Statistics McGill University, Montreal

Exact adaptive parallel algorithms for data depth problems. Vera Rosta Department of Mathematics and Statistics McGill University, Montreal Exact adaptive parallel algorithms for data depth problems Vera Rosta Department of Mathematics and Statistics McGill University, Montreal joint work with Komei Fukuda School of Computer Science McGill

More information

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini DM545 Linear and Integer Programming Lecture 2 The Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. 2. 3. 4. Standard Form Basic Feasible Solutions

More information

Linear programming and duality theory

Linear programming and duality theory Linear programming and duality theory Complements of Operations Research Giovanni Righini Linear Programming (LP) A linear program is defined by linear constraints, a linear objective function. Its variables

More information

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

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm Instructor: Shaddin Dughmi Algorithms for Convex Optimization We will look at 2 algorithms in detail: Simplex and Ellipsoid.

More information

CS671 Parallel Programming in the Many-Core Era

CS671 Parallel Programming in the Many-Core Era 1 CS671 Parallel Programming in the Many-Core Era Polyhedral Framework for Compilation: Polyhedral Model Representation, Data Dependence Analysis, Scheduling and Data Locality Optimizations December 3,

More information

ACTUALLY DOING IT : an Introduction to Polyhedral Computation

ACTUALLY DOING IT : an Introduction to Polyhedral Computation ACTUALLY DOING IT : an Introduction to Polyhedral Computation Jesús A. De Loera Department of Mathematics Univ. of California, Davis http://www.math.ucdavis.edu/ deloera/ 1 What is a Convex Polytope? 2

More information

Lecture 4: Rational IPs, Polyhedron, Decomposition Theorem

Lecture 4: Rational IPs, Polyhedron, Decomposition Theorem IE 5: Integer Programming, Spring 29 24 Jan, 29 Lecture 4: Rational IPs, Polyhedron, Decomposition Theorem Lecturer: Karthik Chandrasekaran Scribe: Setareh Taki Disclaimer: These notes have not been subjected

More information

Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

More information

Minimum norm points on polytope boundaries

Minimum norm points on polytope boundaries Minimum norm points on polytope boundaries David Bremner UNB December 20, 2013 Joint work with Yan Cui, Zhan Gao David Bremner (UNB) Minimum norm facet December 20, 2013 1 / 27 Outline 1 Notation 2 Maximum

More information

AMS : Combinatorial Optimization Homework Problems - Week V

AMS : Combinatorial Optimization Homework Problems - Week V AMS 553.766: Combinatorial Optimization Homework Problems - Week V For the following problems, A R m n will be m n matrices, and b R m. An affine subspace is the set of solutions to a a system of linear

More information

Linear Programming in Small Dimensions

Linear Programming in Small Dimensions Linear Programming in Small Dimensions Lekcija 7 sergio.cabello@fmf.uni-lj.si FMF Univerza v Ljubljani Edited from slides by Antoine Vigneron Outline linear programming, motivation and definition one dimensional

More information

Polytopes Course Notes

Polytopes Course Notes Polytopes Course Notes Carl W. Lee Department of Mathematics University of Kentucky Lexington, KY 40506 lee@ms.uky.edu Fall 2013 i Contents 1 Polytopes 1 1.1 Convex Combinations and V-Polytopes.....................

More information

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 1 Review Dr. Ted Ralphs IE316 Quiz 1 Review 1 Reading for The Quiz Material covered in detail in lecture. 1.1, 1.4, 2.1-2.6, 3.1-3.3, 3.5 Background material

More information

Convexity: an introduction

Convexity: an introduction Convexity: an introduction Geir Dahl CMA, Dept. of Mathematics and Dept. of Informatics University of Oslo 1 / 74 1. Introduction 1. Introduction what is convexity where does it arise main concepts and

More information

Chapter 4 Concepts from Geometry

Chapter 4 Concepts from Geometry Chapter 4 Concepts from Geometry An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Line Segments The line segment between two points and in R n is the set of points on the straight line joining

More information

arxiv: v1 [math.co] 15 Dec 2009

arxiv: v1 [math.co] 15 Dec 2009 ANOTHER PROOF OF THE FACT THAT POLYHEDRAL CONES ARE FINITELY GENERATED arxiv:092.2927v [math.co] 5 Dec 2009 VOLKER KAIBEL Abstract. In this note, we work out a simple inductive proof showing that every

More information

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if POLYHEDRAL GEOMETRY Mathematical Programming Niels Lauritzen 7.9.2007 Convex functions and sets Recall that a subset C R n is convex if {λx + (1 λ)y 0 λ 1} C for every x, y C and 0 λ 1. A function f :

More information

CS522: Advanced Algorithms

CS522: Advanced Algorithms Lecture 1 CS5: Advanced Algorithms October 4, 004 Lecturer: Kamal Jain Notes: Chris Re 1.1 Plan for the week Figure 1.1: Plan for the week The underlined tools, weak duality theorem and complimentary slackness,

More information

Lecture 5: Properties of convex sets

Lecture 5: Properties of convex sets Lecture 5: Properties of convex sets Rajat Mittal IIT Kanpur This week we will see properties of convex sets. These properties make convex sets special and are the reason why convex optimization problems

More information

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

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize. Cornell University, Fall 2017 CS 6820: Algorithms Lecture notes on the simplex method September 2017 1 The Simplex Method We will present an algorithm to solve linear programs of the form maximize subject

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

Math 414 Lecture 2 Everyone have a laptop?

Math 414 Lecture 2 Everyone have a laptop? Math 44 Lecture 2 Everyone have a laptop? THEOREM. Let v,...,v k be k vectors in an n-dimensional space and A = [v ;...; v k ] v,..., v k independent v,..., v k span the space v,..., v k a basis v,...,

More information

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017 Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures

More information

ORIE 6300 Mathematical Programming I September 2, Lecture 3

ORIE 6300 Mathematical Programming I September 2, Lecture 3 ORIE 6300 Mathematical Programming I September 2, 2014 Lecturer: David P. Williamson Lecture 3 Scribe: Divya Singhvi Last time we discussed how to take dual of an LP in two different ways. Today we will

More information

FACES OF CONVEX SETS

FACES OF CONVEX SETS FACES OF CONVEX SETS VERA ROSHCHINA Abstract. We remind the basic definitions of faces of convex sets and their basic properties. For more details see the classic references [1, 2] and [4] for polytopes.

More information

Frequently Asked Questions in Polyhedral Computation

Frequently Asked Questions in Polyhedral Computation Frequently Asked Questions in Polyhedral Computation http://www.ifor.math.ethz.ch/ fukuda/polyfaq/polyfaq.html Komei Fukuda Swiss Federal Institute of Technology Lausanne and Zurich, Switzerland fukuda@ifor.math.ethz.ch

More information

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 Consequences of the Ellipsoid Algorithm Instructor: Shaddin Dughmi Outline 1 Recapping the Ellipsoid Method 2 Complexity of Convex Optimization

More information

The Simplex Algorithm

The Simplex Algorithm The Simplex Algorithm Uri Feige November 2011 1 The simplex algorithm The simplex algorithm was designed by Danzig in 1947. This write-up presents the main ideas involved. It is a slight update (mostly

More information

Investigating Mixed-Integer Hulls using a MIP-Solver

Investigating Mixed-Integer Hulls using a MIP-Solver Investigating Mixed-Integer Hulls using a MIP-Solver Matthias Walter Otto-von-Guericke Universität Magdeburg Joint work with Volker Kaibel (OvGU) Aussois Combinatorial Optimization Workshop 2015 Outline

More information

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

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 29 CS 473: Algorithms, Spring 2018 Simplex and LP Duality Lecture 19 March 29, 2018

More information

Applied Integer Programming

Applied Integer Programming Applied Integer Programming D.S. Chen; R.G. Batson; Y. Dang Fahimeh 8.2 8.7 April 21, 2015 Context 8.2. Convex sets 8.3. Describing a bounded polyhedron 8.4. Describing unbounded polyhedron 8.5. Faces,

More information

Mathematical and Algorithmic Foundations Linear Programming and Matchings

Mathematical and Algorithmic Foundations Linear Programming and Matchings Adavnced Algorithms Lectures Mathematical and Algorithmic Foundations Linear Programming and Matchings Paul G. Spirakis Department of Computer Science University of Patras and Liverpool Paul G. Spirakis

More information

Integer Programming Chapter 9

Integer Programming Chapter 9 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 25, 2017 1 / 40 Outline Key Concepts MILP Set Monoids LP set Relaxation of MILP Set Formulation Quality

More information

6. Lecture notes on matroid intersection

6. Lecture notes on matroid intersection Massachusetts Institute of Technology 18.453: Combinatorial Optimization Michel X. Goemans May 2, 2017 6. Lecture notes on matroid intersection One nice feature about matroids is that a simple greedy algorithm

More information

C&O 355 Lecture 16. N. Harvey

C&O 355 Lecture 16. N. Harvey C&O 355 Lecture 16 N. Harvey Topics Review of Fourier-Motzkin Elimination Linear Transformations of Polyhedra Convex Combinations Convex Hulls Polytopes & Convex Hulls Fourier-Motzkin Elimination Joseph

More information

Linear Programming and its Applications

Linear Programming and its Applications Linear Programming and its Applications Outline for Today What is linear programming (LP)? Examples Formal definition Geometric intuition Why is LP useful? A first look at LP algorithms Duality Linear

More information

CMPSCI611: The Simplex Algorithm Lecture 24

CMPSCI611: The Simplex Algorithm Lecture 24 CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,

More information

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone:

MA4254: Discrete Optimization. Defeng Sun. Department of Mathematics National University of Singapore Office: S Telephone: MA4254: Discrete Optimization Defeng Sun Department of Mathematics National University of Singapore Office: S14-04-25 Telephone: 6516 3343 Aims/Objectives: Discrete optimization deals with problems of

More information

Conic Duality. yyye

Conic Duality.  yyye Conic Linear Optimization and Appl. MS&E314 Lecture Note #02 1 Conic Duality Yinyu Ye Department of Management Science and Engineering Stanford University Stanford, CA 94305, U.S.A. http://www.stanford.edu/

More information

Lecture 4: Linear Programming

Lecture 4: Linear Programming COMP36111: Advanced Algorithms I Lecture 4: Linear Programming Ian Pratt-Hartmann Room KB2.38: email: ipratt@cs.man.ac.uk 2017 18 Outline The Linear Programming Problem Geometrical analysis The Simplex

More information

Optimality certificates for convex minimization and Helly numbers

Optimality certificates for convex minimization and Helly numbers Optimality certificates for convex minimization and Helly numbers Amitabh Basu Michele Conforti Gérard Cornuéjols Robert Weismantel Stefan Weltge May 10, 2017 Abstract We consider the problem of minimizing

More information

Simplex Algorithm in 1 Slide

Simplex Algorithm in 1 Slide Administrivia 1 Canonical form: Simplex Algorithm in 1 Slide If we do pivot in A r,s >0, where c s

More information

Optimality certificates for convex minimization and Helly numbers

Optimality certificates for convex minimization and Helly numbers Optimality certificates for convex minimization and Helly numbers Amitabh Basu Michele Conforti Gérard Cornuéjols Robert Weismantel Stefan Weltge October 20, 2016 Abstract We consider the problem of minimizing

More information

2. Convex sets. x 1. x 2. affine set: contains the line through any two distinct points in the set

2. Convex sets. x 1. x 2. affine set: contains the line through any two distinct points in the set 2. Convex sets Convex Optimization Boyd & Vandenberghe affine and convex sets some important examples operations that preserve convexity generalized inequalities separating and supporting hyperplanes dual

More information

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh Lecture 3 Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets Gérard Cornuéjols Tepper School of Business Carnegie Mellon University, Pittsburgh January 2016 Mixed Integer Linear Programming

More information

arxiv: v1 [cs.cc] 30 Jun 2017

arxiv: v1 [cs.cc] 30 Jun 2017 On the Complexity of Polytopes in LI( Komei Fuuda May Szedlá July, 018 arxiv:170610114v1 [cscc] 30 Jun 017 Abstract In this paper we consider polytopes given by systems of n inequalities in d variables,

More information

Combinatorial Optimization and Integer Linear Programming

Combinatorial Optimization and Integer Linear Programming Combinatorial Optimization and Integer Linear Programming 3 Combinatorial Optimization: Introduction Many problems arising in practical applications have a special, discrete and finite, nature: Definition.

More information

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar Submodularity Reading Group Matroid Polytopes, Polymatroid M. Pawan Kumar http://www.robots.ox.ac.uk/~oval/ Outline Linear Programming Matroid Polytopes Polymatroid Polyhedron Ax b A : m x n matrix b:

More information

Lecture 2: August 31

Lecture 2: August 31 10-725/36-725: Convex Optimization Fall 2016 Lecture 2: August 31 Lecturer: Lecturer: Ryan Tibshirani Scribes: Scribes: Lidan Mu, Simon Du, Binxuan Huang 2.1 Review A convex optimization problem is of

More information

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

4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 4 LINEAR PROGRAMMING (LP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Mathematical programming (optimization) problem: min f (x) s.t. x X R n set of feasible solutions with linear objective function

More information

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity Marc Uetz University of Twente m.uetz@utwente.nl Lecture 5: sheet 1 / 26 Marc Uetz Discrete Optimization Outline 1 Min-Cost Flows

More information

Mathematical Programming and Research Methods (Part II)

Mathematical Programming and Research Methods (Part II) Mathematical Programming and Research Methods (Part II) 4. Convexity and Optimization Massimiliano Pontil (based on previous lecture by Andreas Argyriou) 1 Today s Plan Convex sets and functions Types

More information

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

/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization

More information

Lecture 5: Duality Theory

Lecture 5: Duality Theory Lecture 5: Duality Theory Rajat Mittal IIT Kanpur The objective of this lecture note will be to learn duality theory of linear programming. We are planning to answer following questions. What are hyperplane

More information

LECTURE 10 LECTURE OUTLINE

LECTURE 10 LECTURE OUTLINE We now introduce a new concept with important theoretical and algorithmic implications: polyhedral convexity, extreme points, and related issues. LECTURE 1 LECTURE OUTLINE Polar cones and polar cone theorem

More information

Some Advanced Topics in Linear Programming

Some Advanced Topics in Linear Programming Some Advanced Topics in Linear Programming Matthew J. Saltzman July 2, 995 Connections with Algebra and Geometry In this section, we will explore how some of the ideas in linear programming, duality theory,

More information

Convex Hulls in Three Dimensions. Polyhedra

Convex Hulls in Three Dimensions. Polyhedra Convex Hulls in Three Dimensions Polyhedra Polyhedron 1.A polyhedron is the generalization of a 2- D polygon to 3-D A finite number of flat polygonal faces The boundary or surface of a polyhedron - Zero-dimensional

More information

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems.

In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2 Basics In this chapter we introduce some of the basic concepts that will be useful for the study of integer programming problems. 2.1 Notation Let A R m n be a matrix with row index set M = {1,...,m}

More information

2. Convex sets. affine and convex sets. some important examples. operations that preserve convexity. generalized inequalities

2. Convex sets. affine and convex sets. some important examples. operations that preserve convexity. generalized inequalities 2. Convex sets Convex Optimization Boyd & Vandenberghe affine and convex sets some important examples operations that preserve convexity generalized inequalities separating and supporting hyperplanes dual

More information

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

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 50 CS 473: Algorithms Ruta Mehta University of Illinois, Urbana-Champaign Spring 2018 Ruta (UIUC) CS473 1 Spring 2018 1 / 50 CS 473: Algorithms, Spring 2018 Introduction to Linear Programming Lecture 18 March

More information

Approximation Algorithms

Approximation Algorithms Approximation Algorithms Prof. Tapio Elomaa tapio.elomaa@tut.fi Course Basics A 4 credit unit course Part of Theoretical Computer Science courses at the Laboratory of Mathematics There will be 4 hours

More information

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 1: Introduction to Optimization. Instructor: Shaddin Dughmi CS599: Convex and Combinatorial Optimization Fall 013 Lecture 1: Introduction to Optimization Instructor: Shaddin Dughmi Outline 1 Course Overview Administrivia 3 Linear Programming Outline 1 Course Overview

More information

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 6

EE/ACM Applications of Convex Optimization in Signal Processing and Communications Lecture 6 EE/ACM 150 - Applications of Convex Optimization in Signal Processing and Communications Lecture 6 Andre Tkacenko Signal Processing Research Group Jet Propulsion Laboratory April 19, 2012 Andre Tkacenko

More information

Linear Programming Duality and Algorithms

Linear Programming Duality and Algorithms COMPSCI 330: Design and Analysis of Algorithms 4/5/2016 and 4/7/2016 Linear Programming Duality and Algorithms Lecturer: Debmalya Panigrahi Scribe: Tianqi Song 1 Overview In this lecture, we will cover

More information

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material

More information

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

CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension CS 372: Computational Geometry Lecture 10 Linear Programming in Fixed Dimension Antoine Vigneron King Abdullah University of Science and Technology November 7, 2012 Antoine Vigneron (KAUST) CS 372 Lecture

More information

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets

EC 521 MATHEMATICAL METHODS FOR ECONOMICS. Lecture 2: Convex Sets EC 51 MATHEMATICAL METHODS FOR ECONOMICS Lecture : Convex Sets Murat YILMAZ Boğaziçi University In this section, we focus on convex sets, separating hyperplane theorems and Farkas Lemma. And as an application

More information

Polyhedral Representation Conversion up to Symmetries

Polyhedral Representation Conversion up to Symmetries Centre de Recherches Mathématiques CRM Proceedings and Lecture Notes Volume 48, 2009 Polyhedral Representation Conversion up to Symmetries David Bremner, Mathieu Dutour Sikirić, and Achill Schürmann Abstract.

More information

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

Lecture 2: August 29, 2018

Lecture 2: August 29, 2018 10-725/36-725: Convex Optimization Fall 2018 Lecturer: Ryan Tibshirani Lecture 2: August 29, 2018 Scribes: Adam Harley Note: LaTeX template courtesy of UC Berkeley EECS dept. Disclaimer: These notes have

More information

11 Linear Programming

11 Linear Programming 11 Linear Programming 11.1 Definition and Importance The final topic in this course is Linear Programming. We say that a problem is an instance of linear programming when it can be effectively expressed

More information

Convex Optimization. Convex Sets. ENSAE: Optimisation 1/24

Convex Optimization. Convex Sets. ENSAE: Optimisation 1/24 Convex Optimization Convex Sets ENSAE: Optimisation 1/24 Today affine and convex sets some important examples operations that preserve convexity generalized inequalities separating and supporting hyperplanes

More information

CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets. Instructor: Shaddin Dughmi

CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets. Instructor: Shaddin Dughmi CS675: Convex and Combinatorial Optimization Spring 2018 Convex Sets Instructor: Shaddin Dughmi Outline 1 Convex sets, Affine sets, and Cones 2 Examples of Convex Sets 3 Convexity-Preserving Operations

More information

CS 435, 2018 Lecture 2, Date: 1 March 2018 Instructor: Nisheeth Vishnoi. Convex Programming and Efficiency

CS 435, 2018 Lecture 2, Date: 1 March 2018 Instructor: Nisheeth Vishnoi. Convex Programming and Efficiency CS 435, 2018 Lecture 2, Date: 1 March 2018 Instructor: Nisheeth Vishnoi Convex Programming and Efficiency In this lecture, we formalize convex programming problem, discuss what it means to solve it efficiently

More information

Computing the Joint Range of a Set of Expectations

Computing the Joint Range of a Set of Expectations 4th International Symposium on Imprecise Probabilities and Their Applications, Pittsburgh, Pennsylvania, 2005 Computing the Joint Range of a Set of Expectations Charles J. Geyer School of Statistics University

More information

What is a cone? Anastasia Chavez. Field of Dreams Conference President s Postdoctoral Fellow NSF Postdoctoral Fellow UC Davis

What is a cone? Anastasia Chavez. Field of Dreams Conference President s Postdoctoral Fellow NSF Postdoctoral Fellow UC Davis What is a cone? Anastasia Chavez President s Postdoctoral Fellow NSF Postdoctoral Fellow UC Davis Field of Dreams Conference 2018 Roadmap for today 1 Cones 2 Vertex/Ray Description 3 Hyperplane Description

More information

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

R n a T i x = b i} is a Hyperplane. Geometry of LPs Consider the following LP : min {c T x a T i x b i The feasible region is i =1,...,m}. X := {x R n a T i x b i i =1,...,m} = m i=1 {x Rn a T i x b i} }{{} X i The set X i is a Half-space.

More information

Polyhedral Compilation Foundations

Polyhedral Compilation Foundations Polyhedral Compilation Foundations Louis-Noël Pouchet pouchet@cse.ohio-state.edu Dept. of Computer Science and Engineering, the Ohio State University Feb 15, 2010 888.11, Class #4 Introduction: Polyhedral

More information

Optimal Region for Binary Search Tree, Rotation and Polytope

Optimal Region for Binary Search Tree, Rotation and Polytope Optimal Region for Binary Search Tree, Rotation and Polytope Kensuke Onishi Mamoru Hoshi 2 Department of Mathematical Sciences, School of Science Tokai University, 7 Kitakaname, Hiratsuka, Kanagawa, 259-292,

More information

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs

3. The Simplex algorithmn The Simplex algorithmn 3.1 Forms of linear programs 11 3.1 Forms of linear programs... 12 3.2 Basic feasible solutions... 13 3.3 The geometry of linear programs... 14 3.4 Local search among basic feasible solutions... 15 3.5 Organization in tableaus...

More information

LP Geometry: outline. A general LP. minimize x c T x s.t. a T i. x b i, i 2 M 1 a T i x = b i, i 2 M 3 x j 0, j 2 N 1. where

LP Geometry: outline. A general LP. minimize x c T x s.t. a T i. x b i, i 2 M 1 a T i x = b i, i 2 M 3 x j 0, j 2 N 1. where LP Geometry: outline I Polyhedra I Extreme points, vertices, basic feasible solutions I Degeneracy I Existence of extreme points I Optimality of extreme points IOE 610: LP II, Fall 2013 Geometry of Linear

More information

Semistandard Young Tableaux Polytopes. Sara Solhjem Joint work with Jessica Striker. April 9, 2017

Semistandard Young Tableaux Polytopes. Sara Solhjem Joint work with Jessica Striker. April 9, 2017 Semistandard Young Tableaux Polytopes Sara Solhjem Joint work with Jessica Striker North Dakota State University Graduate Student Combinatorics Conference 217 April 9, 217 Sara Solhjem (NDSU) Semistandard

More information

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings

On the Relationships between Zero Forcing Numbers and Certain Graph Coverings On the Relationships between Zero Forcing Numbers and Certain Graph Coverings Fatemeh Alinaghipour Taklimi, Shaun Fallat 1,, Karen Meagher 2 Department of Mathematics and Statistics, University of Regina,

More information

arxiv: v1 [math.co] 25 Sep 2015

arxiv: v1 [math.co] 25 Sep 2015 A BASIS FOR SLICING BIRKHOFF POLYTOPES TREVOR GLYNN arxiv:1509.07597v1 [math.co] 25 Sep 2015 Abstract. We present a change of basis that may allow more efficient calculation of the volumes of Birkhoff

More information

Lecture 2 September 3

Lecture 2 September 3 EE 381V: Large Scale Optimization Fall 2012 Lecture 2 September 3 Lecturer: Caramanis & Sanghavi Scribe: Hongbo Si, Qiaoyang Ye 2.1 Overview of the last Lecture The focus of the last lecture was to give

More information

IE 5531: Engineering Optimization I

IE 5531: Engineering Optimization I IE 5531: Engineering Optimization I Lecture 3: Linear Programming, Continued Prof. John Gunnar Carlsson September 15, 2010 Prof. John Gunnar Carlsson IE 5531: Engineering Optimization I September 15, 2010

More information