A pivoting algorithm for convex hulls and vertex enumeration of arrangements and polyhedra
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
Citations
1,994 citations
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....
[...]
1,591 citations
808 citations
710 citations
References
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 ] )....
[...]
808 citations
447 citations
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....
[...]
Related Papers (5)
Frequently Asked Questions (18)
Q2. What is the simplest way to solve a linear programming problem?
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.
Q3. What is the simplest way to check if (r, s) is a?
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.
Q4. What is the corresponding arrangement of hyperplanes?
The corresponding arrangement of hyperplanes contains many vertices, some of which are vertices of the polyhedron, known as feasible vertices.
Q5. What is the basic principle of the simplex method?
The simplex method is a method of solving LP by beginning with an initial dictionary and pivoting until an optimal dictionary is found.
Q6. How do the authors check if a candidate is a rev erse pivot?
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.
Q7. What is the simplest way to enumerate all vertices of P?
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.
Q8. What is the common rule used in the algorithm?
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.
Q9. Where did the work of the first author take place?
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.
Q10. What is the way to check if a dictionary is optimal?
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.
Q11. What is the way to find the optimal dictionary?
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 .
Q12. What is the way to enumerate the vertices of a?
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] ).
Q13. What is the simplest way to evaluate a dictionary?
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.
Q14. What is the criss-cross rule for determining the pivot?
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.
Q15. What is the criss-cross rule applied to the dictionary?
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.
Q16. How many vertices can be enumerated in Rd?
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.
Q17. What is the basic solution of (2.5)?
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 .
Q18. What are the properties of the algorithm?
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.