scispace - formally typeset
Search or ask a question
Proceedings ArticleDOI

A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra

01 Jun 1991-Vol. 8, Iss: 3, pp 98-104
TL;DR: A new pivot-based algorithm which can be used with minor modification for the enumeration of the facets of the convex hull of a set of points, or for the listing of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension is presented.
Abstract: We present a new pivot-based algorithm which can be used with minor modification for the enumeration of the facets of the convex hull of a set of points, or for the enumeration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties:(a)Virtually no additional storage is required beyond the input data.(b)The output list produced is free of duplicates.(c)The algorithm is extremely simple, requires no data structures, and handles all degenerate cases.(d)The running time is output sensitive for nondegenerate inputs.(e)The algorithm is easy to parallelize efficiently. For example, the algorithm finds thev vertices of a polyhedron inRd defined by a nondegenerate system ofn inequalities (or, dually, thev facets of the convex hull ofn points inRd, where each facet contains exactlyd given points) in timeO(ndv) andO(nd) space. Thev vertices in a simple arrangement ofn hyperplanes inRd can be found inO(n2dv) time andO(nd) space complexity. The algorithm is based on inverting finite pivot algorithms for linear programming.

Summary (2 min read)

1. Introduction

  • The algorithm is based on pivoting and has many nice properties.
  • By using duality, the authors can also use this algorithm for enumerating the facets of the convex hull of a set of points inRd .
  • In this method a depth first search is initiated from a vertex by trying all possible simplex piv ots.
  • Thealgorithm presented in this paper fits into this class.
  • Finally in the last section the authors discuss complexity issues, and other properties of the algorithm proposed.

2. Dictionaries

  • The authors will only be concerned with systems (2.1) that have t least one basis, and will assume this for the rest of the paper.
  • Notethat the co-basis always contains the indexg.
  • If any basic variable has value zero, the authors call the basic solution and corresponding dictionarydegenerate.
  • In section 2 of the paper the authors give an algorithm for enumerating all distinct basic solutions of the system (2.1) without repetition, using only the space required to store the input.
  • The algorithm is initiated with an optimal dictionary.

2.1. Vertex enumeration in hyperplane arrangements

  • A hyperplane arrangement is a collection ofn0 hyperplanes (bi, ci), for some integer n0.
  • A vertex of the arrangement is the unique solution to the system ofd equations corresponding tod intersecting hyperplanes.
  • The authors only consider arrangements that contain at least one vertex.
  • Similarly every index set of d intersecting hyperplanes augmented by index f gives a co-basis for (2.3).
  • For such vertices, there may be many corresponding bases of (2.3), each giving rise to a degenerate dictionary.

2.2. Vertex enumeration for Polyhedra

  • By transforming the problem as necessary, the authors may assume that the origin is the given vertex.
  • This implies that the vectorb is non-negative.
  • The authors also note that the assumption of nonnegative variables is not essential: a system of inequalities in unrestricted variables with known feasible point can be transformed into a system such as (2.4) along the lines described in the previous subsection.
  • Again, degenerate vertices correspond to degenerate dictionaries.

3. Enumeration of Dictionaries

  • The linear programming problem (LP) for (2.1) is to maximizex f over (2.1) subject to the additional constraint that each variable except x f and xg is non-negative.
  • The first rule, known as Bland’s rule, performs primal feasible pivots.
  • Let r be the smallest index obtaining this minimum.
  • If step (1) does not apply then the dictionary is optimal.
  • (a) If B is primal feasible, then successive application of Bland’s rule leads to an optimal dictionary, and each basis generated is primal feasible.

3.1. Unique Optimal Dictionaries

  • In this subsection the authors give a dictionary enumeration algorithm for systems (2.1) that admit a unique optimal dictionary.
  • A depth first search of this graph provides all primal feasible dictionaries.
  • The efficiency of the procedure depends greatly on the procedurereverse.
  • Further savings are possible, as certain potential reverse pivots can be eliminated without any piv oting.
  • On the other hand, supposeB′ is a basis lexicographically smaller thanB with the same basic solution.

3.2. Degenerate Optimal Dictionaries

  • Proceduresearch as given in the previous subsection will only generate all dictionaries if the system (2.1) has a unique optimal dictionary.
  • The authors can and will assume that there is a unique optimal basic solution.
  • To obtain all optimal dictionaries for the original problem, the authors apply a variant of procedure search to the sub-dictionary using a dual form of Bland’s rule in procedures rev rse and lex-min.
  • The authors manipulate the entire coefficient matrix A in procedure pivot, and update the vectorsB andN .
  • Each optimal basis for (2.1) contains the indicesB − B′. Such bases will always be primal feasible forA, if they are also dual feasible then they correspond to an optimal dictionary for the original system.

4. Complexity

  • And apply the results to the geometric applications described in Section 2.the authors.
  • These complexities are valid for the case of multiple optimal solutions.
  • The authors now consider the complexity of evaluating all feasible dictionaries.
  • For each column, the candidate basic variable can be found by computing the minimum ratioλ in O(m) time.
  • Again the complexity is output sensitive for non-degenerate polyhedra, for whichg(A) is just the number of vertices.

5. Example

  • Note that in determining this, the authors do not need the entire dictionary.
  • In this example the authors need only the column of coefficients forx1.
  • Again the criss-cross rule applied to this dictionary generates the required pivot (1,2).

6. Concluding Remarks

  • The authors hav epresented a new algorithm that can be used to solve three important geometric enumeration problems without additional space.
  • The simplicity of the algorithm rends it suitable for symbolic computation in a language such asMaple or Mathematica.
  • Using exact arithmetic, the problem of numerical accuracy which occurs with most geometric algorithms is avoided.
  • Since in the enumeration no dictionary is ever reached by two different paths and no additional storage is required, subproblems can be scheduled arbitrarily onto free processors.
  • While the criss-cross method works correctly in the setting of oriented matroids, Bland’s rule is not finite for oriented matroid programming [8].

Did you find this useful? Give us your feedback

Content maybe subject to copyright    Report

APivoting Algorithm for ConvexHulls and Vertex Enumeration of
Arrangements and Polyhedra
David Avis
School of Computer Science
McGill University
3480 University,Montreal, Quebec H3A 2A7
Komei Fukuda
Graduate School of Systems Management
The University of Tsukuba
Otsuka, Bunkyo-ku, Tokyo 112
Research Report B-237 TokyoInstitute of Technology,Dept. of Information Science
November 1990
ABSTRACT
We present a newpiv o t-based algorithm which can be used with minor modifica-
tion for the enumeration of the facets of the convex hull of a set of points, or for the enu-
meration of the vertices of an arrangement or of a convex polyhedron, in arbitrary
dimension. The algorithm has the following properties:
(a) No additional storage is required beyond the input data;
(b) The output list produced is free of duplicates;
(c) The algorithm is extremely simple, requires no data structures, and handles all
degenerate cases;
(d) The running time is output sensitive for non-degenerate inputs;
(e) The algorithm is easy to efficiently parallelize.
Forexample, the algorithm finds the v vertices of a polyhedron in R
d
defined by a non-
degenerate system of n inequalities (or dually,the v facets of the convex hull of n points
in R
d
,where each facet contains exactly d givenpoints) in time O(ndv)and O(nd)
space. The v vertices in a simple arrangement of n hyperplanes in R
d
can be found in
O(n
2
dv)time and O(nd)space complexity.The algorithm is based on inverting finite
pivotalgorithms for linear programming.

-2-
1. Introduction
In this paper we give analgorithm, which with minor variations can be used to solvethree basic
enumeration problems in computational geometry: facets of the convex hull of a set of points, vertices of
aconvex polyhedron givenbyasystem of linear inequalities, and vertices of an arrangement of hyper-
planes. The algorithm is based on pivoting and has manynice properties. Among these are that no addi-
tional space is required apart from that required to store the input, and that the algorithm produces a list
that is free of duplicates evenfor degenerate inputs. The algorithm is based on "inverting" finite pivoting
algorithms for linear programming. No special knowledge of linear programming or arrangements is
assumed, and necessary terminology is defined here. Foradditional information the reader is referred to
Chv ´atal[3] for linear programming and Edelsbrunner[6] for arrangements. In the the rest of this section
we give aninformal description of the algorithm beginning with the vertexenumeration problem for con-
vex polyhedra.
Suppose we have a system of linear inequalities defining a polyhedron in R
d
and a vertexofthat
polyhedron. A vertexisspecified by giving the indices of d inequalities whose bounding hyperplanes
intersect at the vertex. For anygiv e nlinear objective function, the simplexmethod generates a path along
edges of the polyhedron until a vertexmaximizing this objective function is found. Forsimplicity,let us
assume for the moment that the optimum vertexiscontained on exactly d bounding hyperplanes. The
path is found by pivoting, which involves interchanging one of the equations defining the vertexwith one
not currently used. The path chosen from an initial givenvertexdepends on the pivotrule used. In fact,
care must be taken because some pivotrules generate cycles and do not lead to the optimum vertex. How-
ev e r, a particularly simple rule, known as Bland’srule or the least subscript rule[1], guarantees a unique
path from anystarting vertextothe optimum vertex. If we look at the set of all such paths from all ver-
tices of the polyhedron, we get a spanning tree of the edge graph of the polyhedron rooted at the optimum
vertex. Our algorithm simply starts at an "optimum vertex" and traces out the tree in depth first order by
"reversing" Bland’srule.
Aremarkable feature is that no additional storage is needed at intermediate nodes in the tree. Going
down the tree we explore all valid "reverse" pivots in lexicographical order from anygiv enintermediate
node. Going back up the tree, we simply use Bland’srule to return us to the parent node along with the
current pivotindices. From there it is simple to continue by considering the next lexicographic "reverse"
pivot, etc. The algorithm is therefore non-recursive and requires no stack or other data structure. One pos-
sible difficulty arises at so-called degenerate vertices, vertices which lie on more than d bounding hyper-
planes. It is desirable to report each vertexonce only,and this can be achievedwithout storing the output
and searching. By using duality,wecan also use this algorithm for enumerating the facets of the convex
hull of a set of points in R
d
.Itcan also be used for enumerating all of the vertices of the Voronoi Dia-
gram of a set of points in R
d
,since this can be reformulated as a convex hull problem in R
d+1
(see [6] ).
Avariant of this method can be used for vertexenumeration of arrangements. Again consider the
linear programming problem discussed above.Each inequality defining the polyhedron is bounded by a
hyperplane. The corresponding arrangement of hyperplanes contains manyvertices, some of which are
vertices of the polyhedron, known as feasible vertices. The others are known as infeasible vertices. A
recent development in linear programming is a pivotrule that starts at anyvertexofthis arrangement, fea-
sible or infeasible, and finds a unique path to the optimum solution of the linear program. This is known
as the criss-cross method, and was developed independently by Terlaky[15], [16] and Wang[18]. Revers-
ing this algorithm along the lines described above yields our algorithm for enumerating vertices of
arrangements.
The problems discussed in this paper have a long history,which we briefly mention here. The prob-
lem of enumerating all of the vertices of a polyhedron is surveyed by Mattheiss and Rubin in[11] and by
Dyer in[4]. There are essentially twoclasses of methods. One class is based on pivoting and is discussed
in detail in[4] and[3]. In this method a depth first search is initiated from a vertexbytrying all possible
simplexpiv ots. The difficulty is in determining whether or not a vertexhas already been visited. Forthis

-3-
all vertices must be stored in a balanced AVL-tree. An implementation that takes O(nd
2
v)time and
O(dv)space for a polyhedron with v vertices defined by a non-degenerate system of n inequalities in R
d
is givenin[4]. A dual version that computes convex hulls was discovered by Chand and Kapur[2], and
has similar complexity.Using sophisticated data structures, Seidel[13] was able to achieve a running time
of O(d
3
v log n + nf (d 1, n 1)) for sets of n points in R
d
,when each facet contains exactly d given
points. Here f (d, n)isthe time to solvealinear program with n constraints in d variables, and v is the
number of facets of the convex hull. The space required for this algorithm is O(n
d/2
). The algorithm pre-
sented in this paper fits into this class. It achieves O(dvn)time and O(dn)space complexity for facet enu-
meration of the convex hull of n points in R
d
,when each facet contains exactly d givenpoints. Tothe
authors’ knowledge, it is the only algorithm known that has non-exponential space requirements in the
worst case.
Asecond class of methods for computing the vertices of a convex polyhedron is the "double
description" method of Motzkin et al.[12] that dates back to 1953. In fact the origin of these methods is
ev e nearlier,asthe double description method is in fact dual to the Fourier-Motzkin method for the solu-
tion of linear inequality systems. In the double description method, the polyhedron is constructed sequen-
tially by adding a constraint at a time. All newvertices produced must lie on the hyperplane bounding the
constraint currently being inserted. A dual version for constructing convex hulls is known as the "beneath
and beyond" method. Assuming the dimension d is fixed, the fastest algorithm of this class again uses
sophisticated data structures and is due to Seidel [14] (also see [6] ). It takes O(n
d/2+1
)time and
O(n
d/2
)space.
With d fixed, the complete facial structure of a hyperplane arrangement can be constructed by an
algorithm due to Edelsbrunner,O’Rourkeand Seidel [5] in optimal time and space O(n
d
). The algorithm
works by inserting the hyperplanes one at a time and can handle degenerate cases. Again with d fixed, a
method for enumerating just the edges and vertices (with repetitions) in O(n
d
)time and O(n)space is
givenbyEdelsbrunner et al.[7]. Houle et al.[10] give sev eral applications in data approximation where it
is required to enumerate all vertices of an arrangement.
In the next section we begin by introducing the notion of a dictionary for a system of equations.
Next we showhow the problems mentioned in the title can be transformed into the enumeration of certain
types of dictionaries. In the third section we give the algorithm for enumeration of dictionaries. Finally in
the last section we discuss complexity issues, and other properties of the algorithm proposed.
2. Dictionaries
Let A be a m×n matrix, with columns indexedbythe set E = {1, 2, . ..,n}.Fix distinct indices f
and g of E.Consider the system of equations:
Ax= 0, x
g
= 1. (2.1)
Forany J E, x
J
denotes the subvector of x indexedby J,and A
J
denotes the submatrix of A consisting
of columns indexedby J.Abasis B for (2.1) is a subset of E of cardinality m containing f butnot g,for
which A
B
is nonsingular.Wewill only be concerned with systems (2.1) that have atleast one basis, and
will assume this for the rest of the paper.Giv enany basis B,wecan transform (2.1) into the dictionary:
x
B
=−A
1
B
A
N
x
N
=
Ax
N
,(2.2)
where N = E B is the co basis,and A denotes A
1
B
A
N
.
A is called the coefficient matrix of the dic-
tionary,with rows indexedby B and columns indexedby N,sothat
A = (a
ij
: iB, jN). Note that the
co-basis always contains the index g.

-4-
Avariable x
i
is primal feasible if iB f and a
ig
0. A variable x
j
is dual feasible if jN g
and a
fj
0. A dictionary is primal feasible if x
i
is primal feasible for all iB f and dual feasible if
x
j
is dual feasible for all jN g.Adictionary is optimal if it is both primal and dual feasible. An opti-
mal dictionary is shown schematically in Figure 2.1.
gN g
f O- O- O- O- O- O-
O+
O+
B f O+ = A
O+
O+
Figure2.1 : An Optimal Dictionary (O+=non-negative entry,O =non-positive entry )
A basic solution to (2.1) is obtained from a dictionary by setting x
Ng
= 0, x
g
= 1. If anybasic variable
has value zero, we call the basic solution and corresponding dictionary degenerate.Insection 2 of the
paper we give analgorithm for enumerating all distinct basic solutions of the system (2.1) without repeti-
tion, using only the space required to store the input. The algorithm is initiated with an optimal dictionary.
Avariant of the algorithm enumerates all primal feasible dictionaries reporting the corresponding basic
feasible solutions without repetition.
In the following subsections, we showhow the problems mentioned in the title can be transformed
into the problem of enumerating basic (feasible) solutions of a system of equations in the form (2.1).
2.1. Vertex enumeration in hyperplane arrangements
A hyperplane in R
d
, d 0, is denoted by the pair (b, c), where b is a vector of length d and c is a
scalar,and is the solution set of the equation by = c, y = (y
j
: j = 1, . ..,d). A hyperplane arrangement
is a collection of n
0
hyperplanes (b
i
, c
i
), for some integer n
0
.Avertex of the arrangement is the unique
solution to the system of d equations corresponding to d intersecting hyperplanes. The vertex enumera-
tion problem for hyperplane arrangements is to list all of the vertices of an arrangement. It is a simple
matter to find a vertexofanarrangement, or showthat none exists, since vertices correspond to subsets of
d hyperplanes whose normal vectors b
i
are linearly independent. We only consider arrangements that
contain at least one vertex.
We may assume by relabeling if necessary that the vectors {b
n
0
d+1
,...,b
n
0
} are linearly indepen-
dent. Consider the system of equations
x
i
= c
i
x
n
0
+1
b
i
y, i = 1, . ..,n
0
.
By assumption, the last d equations are linearly independent, and so the variables y
1
,..., y
d
can be
expressed in terms of x
n
0
d+1
,..., x
n
0
,and eliminated from the first n
0
d equations. This results in a
system of the form:
x
B
=
Ax
N
,
for a suitable (n
0
d) ×(d + 1) matrix A,where B = {1, . ..,n
0
d} and N = {n
0
d + 1, . ..,n
0
+ 1}.
Furthermore, by a change of variables if necessary,wemay assume that each
a
i,n
0
+1
is non-negative.We
augment A by adding a rowofofall -1 ’s. Weaugment B by adding index n
0
+ 2. Setting

-5-
f = n
0
+ 2, g = n
0
+ 1, m = n
0
d + 1, n = n
0
+ 2,
we have constructed an optimal dictionary.This dictionary is obtained from the following system which
has the form of (2.1):
Ix
B
Ax
N
= 0, x
g
= 1. (2.3)
It is easy to showthat for every co-basis N of (2.3), the set of d hyperplanes indexedby N g
intersect at some vertexofthe arrangement. The vertexcan be computed by setting
x
i
=
a
ig
iB f , x
j
= 0 jN g
and solving for y ,which was expressed in terms of x
n
0
d+1
,..., x
n
0
.Similarly every indexset of d inter-
secting hyperplanes augmented by index f givesaco-basis for (2.3). We say that a vertexis degenerate
if it is contained in more than d hyperplanes. For such vertices, there may be manycorresponding bases
of (2.3), each giving rise to a degenerate dictionary.Anessential part of our enumeration algorithm will
be to only output a degenerate vertexonce.
2.2. Vertex enumeration for Polyhedra
A(convex)polyhedron P is the solution set to a system of n
0
inequalities in d non-negative vari-
ables:
P = {y R
d
| Ay b, y 0},(2.4)
where A is an n
0
× d matrix and b is a n
0
-vector.Avertex of the polyhedron is a vector yP that satis-
fies a linearly independent set of d of the inequalities as equations. The vertex enumeration problem for
P is to enumerate all of its vertices. In fact to find evenasingle vertexof P is computationally equivalent
to linear programming. As we wish to separate this from the enumeration problem, we will assume we
are givenaninitial vertex. By transforming the problem as necessary,wemay assume that the origin is
the givenvertex. This implies that the vector b is non-negative.Wealso note that the assumption of non-
negative variables is not essential: a system of inequalities in unrestricted variables with known feasible
point can be transformed into a system such as (2.4) along the lines described in the previous subsection.
Let n = n
0
+ d + 2, f = n 1, g = n, B = {1, . ..,n
0
, n 1} and N = {n
0
+ 1, . ..,n
0
+ d, n}.Con-
sider the following system of equations in the form of (2.1):
1x
Ng
+ x
f
= 0
Ix
B f
+ Ax
Ng
bx
g
= 0(2.5)
x
g
= 1.
Here I is an identity matrix and 1isavector of all ones, of appropriate dimensions. Set m = n
0
+ 1and
let A be the m×n matrix corresponding to the coefficients in the first m equations of (2.5). Then (2.2) is
an optimal dictionary for the system (2.5). It can be shown that each primal feasible dictionary for (2.5)
has a basic solution which givesavertex y of P:set y
j
= x
n
0
+ j
, j = 1, . ..,d.A vertexof P is degenerate
if it satisfies more than d inequalities of (2.4) as equations. Again, degenerate vertices correspond to
degenerate dictionaries. In order to enumerate all vertices of P,itissufficient to enumerate all primal fea-
sible dictionaries for (2.5), outputting a degenerate basic solution once only.

Citations
More filters
Book
01 Jan 2007
TL;DR: A new era of theoretical computer science addresses fundamental problems about auctions, networks, and human behavior in a bid to solve the challenges of 21st Century finance.
Abstract: A new era of theoretical computer science addresses fundamental problems about auctions, networks, and human behavior.

1,994 citations

Journal ArticleDOI
TL;DR: This review begins by briefly summarizing the history of direct search methods and considering the special properties of problems for which they are well suited, then turns to a broad class of methods for which the underlying principles allow general-ization to handle bound constraints and linear constraints.
Abstract: Direct search methods are best known as unconstrained optimization techniques that do not explicitly use derivatives. Direct search methods were formally proposed and widely applied in the 1960s but fell out of favor with the mathematical optimization community by the early 1970s because they lacked coherent mathematical analysis. Nonetheless, users remained loyal to these methods, most of which were easy to program, some of which were reliable. In the past fifteen years, these methods have seen a revival due, in part, to the appearance of mathematical analysis, as well as to interest in parallel and distributed com- puting. This review begins by briefly summarizing the history of direct search methods and considering the special properties of problems for which they are well suited. Our focus then turns to a broad class of methods for which we provide a unifying framework that lends itself to a variety of convergence results. The underlying principles allow general- ization to handle bound constraints and linear constraints. We also discuss extensions to problems with nonlinear constraints.

1,652 citations


Cites background from "A pivoting algorithm for convex hul..."

  • ...In this situation, there seems to be little recourse other than enumeration of all possible edges (see, for instance, [14] for a discussion of this problem)....

    [...]

  • ...Further, trying to assemble a single generating set G that can accommodate all possible configurations is a combinatorial problem, equivalent to vertex enumeration [14], as discussed further in section 8....

    [...]

Book
01 May 2002
TL;DR: This book is primarily a textbook introduction to various areas of discrete geometry, in which several key results and methods are explained, in an accessible and concrete manner, in each area.
Abstract: From the Publisher: Discrete geometry investigates combinatorial properties of configurations of geometric objects. To a working mathematician or computer scientist, it offers sophisticated results and techniques of great diversity and it is a foundation for fields such as computational geometry or combinatorial optimization. This book is primarily a textbook introduction to various areas of discrete geometry. In each area, it explains several key results and methods, in an accessible and concrete manner. It also contains more advanced material in separate sections and thus it can serve as a collection of surveys in several narrower subfields. The main topics include: basics on convex sets, convex polytopes, and hyperplane arrangements; combinatorial complexity of geometric configurations; intersection patterns and transversals of convex sets; geometric Ramsey-type results; polyhedral combinatorics and high-dimensional convexity; and lastly, embeddings of finite metric spaces into normed spaces. Jiri Matousek is Professor of Computer Science at Charles University in Prague. His research has contributed to several of the considered areas and to their algorithmic applications. This is his third book.

1,591 citations

Journal ArticleDOI
TL;DR: This paper develops the reverse search technique in a general framework and shows its broader applications to various problems in operations research, combinatorics, and geometry, and proposes new algorithms for listing.

808 citations

Book ChapterDOI
01 Jan 2000
TL;DR: An overview of the functionality as well as of the structure of the polymake tool is given, seen as a first approximation to a polymake handbook.
Abstract: polymake is a software tool designed for the algorithmic treatment of polytopes and polyhedra. We give an overview of the functionality as well as of the structure. This paper can be seen as a first approximation to a polymake handbook.

710 citations

References
More filters
Book
01 Jan 1987
TL;DR: This book offers a modern approach to computational geo- metry, an area thatstudies the computational complexity of geometric problems with an important role in this study.
Abstract: This book offers a modern approach to computational geo- metry, an area thatstudies the computational complexity of geometric problems. Combinatorial investigations play an important role in this study.

2,284 citations


"A pivoting algorithm for convex hul..." refers background in this paper

  • ...to Chv´ atal[6] for linear programming and Edelsbrunner[ 9 ] for arrangements....

    [...]

  • ...ev e nd imensions is due to Seidel [18] (also see [ 9 ] ). Chazelle[5] has recently presented an algorithm that...

    [...]

  • ...gram of a set of points in Rd ,s ince this can be reformulated as a convex hull problem in Rd+1 (see [ 9 ] )....

    [...]

Journal ArticleDOI
TL;DR: This paper develops the reverse search technique in a general framework and shows its broader applications to various problems in operations research, combinatorics, and geometry, and proposes new algorithms for listing.

808 citations

Journal ArticleDOI
TL;DR: An algorithm is presented that constructs a representation for the cell complex defined by n hyperplanes in optimal $O(n^d )$ time in d dimensions, which is shown to lead to new methods for computing $\lambda $-matrices, constructing all higher-order Voronoi diagrams, halfspatial range estimation, degeneracy testing, and finding minimum measure simplices.
Abstract: A finite set of lines partitions the Euclidean plane into a cell complex. Similarly, a finite set of $(d - 1)$-dimensional hyperplanes partitions d-dimensional Euclidean space. An algorithm is presented that constructs a representation for the cell complex defined by n hyperplanes in optimal $O(n^d )$ time in d dimensions. It relies on a combinatorial result that is of interest in its own right. The algorithm is shown to lead to new methods for computing $\lambda $-matrices, constructing all higher-order Voronoi diagrams, halfspatial range estimation, degeneracy testing, and finding minimum measure simplices. In all five applications, the new algorithms are asymptotically faster than previous results, and in several cases are the only known methods that generalize to arbitrary dimensions. The algorithm also implies an upper bound of $2^{cn^d } $, c a positive constant, for the number of combinatorially distinct arrangements of n hyperplanes in $E^d $.

447 citations

Journal ArticleDOI
TL;DR: A simple proof of finiteness is given for the simplex method under an easily described pivoting rule and a second new finite version of thesimplex method is presented.
Abstract: A simple proof of finiteness is given for the simplex method under an easily described pivoting rule. A second new finite version of the simplex method is also presented.

417 citations


"A pivoting algorithm for convex hul..." refers background in this paper

  • ...Part (a) is proved in [2] and part (b) in [19] for linear programs and in [20] and [22] in the more general setting of oriented matroids....

    [...]

  • ...However, a particularly simple rule, known as Bland's rule or the least subscript rule [2], guarantees a unique path from any starting vertex to the optimum vertex....

    [...]

Book ChapterDOI
31 Dec 1953

411 citations

Frequently Asked Questions (18)
Q1. What contributions have the authors mentioned in the paper "A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra" ?

The authors present a new piv ot-based algorithm which can be used with minor modification for the enumeration of the facets of the convex hull of a set of points, or for the enumeration of the vertices of an arrangement or of a convex polyhedron, in arbitrary dimension. The algorithm has the following properties: ( a ) No additional storage is required beyond the input data ; ( b ) The output list produced is free of duplicates ; ( c ) The algorithm is extremely simple, requires no data structures, and handles all degenerate cases ; ( d ) The running time is output sensitive for non-degenerate inputs ; ( e ) The algorithm is easy to efficiently parallelize. 

The linear programming problem (LP) for (2.1) is to maximize x f over (2.1) subject to the additional constraint that each variable except x f and xg is non-negative. 

The simplest way to check if (r, s), r ∈B − f , s∈N − g, is a rev erse pivot is to actually perform the pivot, then use procedure select − pivot on the new dictionary. 

The corresponding arrangement of hyperplanes contains many vertices, some of which are vertices of the polyhedron, known as feasible vertices. 

The simplex method is a method of solving LP by beginning with an initial dictionary and pivoting until an optimal dictionary is found. 

To check if a candidate is in fact a rev erse pivot, the authors need to construct the objective row of the dictionary after the pivot, taking O(n − m) time. 

In order to enumerate all vertices of P, it is sufficient to enumerate all primal feasible dictionaries for (2.5), outputting a degenerate basic solution once only. 

Howev er, a particularly simple rule, known as Bland’s rule or the least subscript rule[1], guarantees a unique path from any starting vertex to the optimum vertex. 

The work of the first author was performed while visiting the laboratory of Professor Masakazu Kojima of Tokyo Institute of Technology, supported by the JSPS/NSERC bilateral exchange program. 

Consider a non-optimal dictionary D with basis B. Let (r, s), r ∈B − f , s∈N − g, be the pivot obtained by applying the criss-cross rule to D giving a dictionary D′. The authors call (s, r) a reverse criss − cross pivot for D′. Suppose the authors start at the optimal dictionary and explore reverse criss-cross pivots in lexicographic order. 

For a given system (2.1) the authors have an initial basis B = {1, . . . , m}, co-basis N = {m + 1, . . . , n} and optimal dictionary xB = AxN . 

It can also be used for enumerating all of the vertices of the Voronoi Diagram of a set of points in Rd , since this can be reformulated as a convex hull problem in Rd+1 (see [6] ). 

Recalling Proposition 3.3, the authors see that the authors only need to consider one candidate reverse pivot per column of the dictionary: if there are two or more indices realizing the minimum then a pivot would give a degenerate dictionary. 

By the criss-cross rule the authors must therefore have a′rg < 0, a′rs > 0, and a′rj ≤ 0 for all j ∈N ′ − g, j < s. Now applying the pivot formula (3.1) to the pivot row of A′ the authors obtain the signs indicated in part (a) of the proposition in A. 

This gives the dictionary:x3 = − 52 xg + x1 2 + x2 2x4 = 5xg − x1x5 = 52 xg + x1 2 − x2 2x f = − 152 xg + x1 2 + x2 2The criss-cross rule applied to this dictionary yields the pivot (4,1), so (1,5) is not a reverse pivot. 

Using sophisticated data structures, Seidel[13] was able to achieve a running time of O(d3v log n + nf (d − 1, n − 1)) for sets of n points in Rd , when each facet contains exactly d given points. 

It can be shown that each primal feasible dictionary for (2.5) has a basic solution which gives a vertex y of P: set y j = xn0+ j , j = 1, . . . , d . 

Among these are that no additional space is required apart from that required to store the input, and that the algorithm produces a list that is free of duplicates even for degenerate inputs.