A Problem in Enumerating Extreme Points
A Problem in Enumerating Extreme Points
A Problem in Enumerating Extreme Points
Katta G. Murty
Department of Industrial and Operations Engineering
University of Michigan
Ann Arbor, MI 48109-2117, USA
Phone: 734-763-3513, fax: 734-764-3451
e-mail:katta murty@umich.edu
October 2002
Abstract
We describe the central problem in developing an efficient algorithm
for enumerating the extreme points of a convex polytope specified by
linear constraints, and discuss a conjecture for its solution.
1
1 Introduction
We consider the problem of enumerating all the extreme points (also called
vertices) of a convex polytope specified by a system of linear constraints.
For any matrix H, we denote by Hi. , H.j its ith row vector, jth column
vector respectively. We will use the abbreviation “LP” for “linear program”.
Superscript T indicates transposition, i.e., for y ∈ Rn , y T is its transpose.
If {a1 , . . . , at } is a set of points in Rn , we denote its convex hull by <
a , . . . , at >. The affine rank of {a1 , . . . , at } is defined to be the rank of {a2 −
1
Ax = b, x≥0 (1)
where A is a matrix of order m × (n + m) and rank m. We assume that A, b are
integer and that K is nonempty, bounded, and of dimension n + m − m = n.
System (1) is said to be in standard form.
For each j = 1 to n + m, without any loss of generality we assume that the
set of feasible solutions of
Ax = b
xj = 0
xi ≥ 0, i = 1, . . . , j − 1, j + 1, . . . , n + m.
2
B −1 N xN ≤ B −1 b (2)
xN ≥ 0
2 Historical Note
Extreme points of convex polyhedra were brought to prominence by George
Dantzig when he introduced the simplex method for solving linear programs in
1947 [3]. This work of his is perhaps the most fundamental contribution in the
annals of the study of convex polyhedra. Until then work on them remained
the domain of abstract thinkers and their imagination. His work brought a new
computational dimension to the study of convex polyhedra [4].
Until Dantzig’s work, visualization was only possible for 2-dimensional poly-
hedra. The techniques that originated in Dantzig’s simplex method made it
possible to compute any portion of a convex polyhedron that we want to see
and visualize. One of the most important outcomes of Dantzig’s work for mathe-
matics is to bring about the possibility of clear visualization to convex polyhedra
of dimension ≥ 3.
Ever since his work in 1947, the problem of enumerating all the extreme
points of a convex polytope specified by linear constraints has been recognized
as an important one.
There are several algorithms for this problem already, most of them are
based on enumerating the feasible bases for (1). Public software programs im-
plementing these algorithms are also available. But in all these algorithms, after
computing r extreme points, the effort needed to compute the next one grows
exponentially with r in the worst case.
An algorithm for this problem is said to be an efficient algorithm, or poly-
nomial time algorithm, if it satisfies the following properties:
1. It should obtain the extreme points of K sequentially one after the other
in a list.
2. When the list of known extreme points of K, {d1 , . . . , dr }, contains r
extreme points, the effort needed in the algorithm to check whether it
contains all the extreme points of K, and if it does not, to generate a new
extreme point, should be bounded above by a polynomial in r and the size
of system (1).
3
3 Relationship Between the Problems of Enu-
merating Extreme Points, and Facets
Consider a convex polytope P of dimension n in Rn . There are two different
ways of representing it algebraically. These are:
In the theory of convex polytopes, these two problems are known as the
duals of each other. An algorithm for one of these problems can be used to
solve the other problem directly. To show this, we denote by:
4
< y 1 , . . . , y >.
Let q = (q1 , . . . , qn ) be a row vector of variables in Rn . Use Procedure A
to generate all the extreme points of the polytope in q-space defined by the
inequalities qy t ≤ 1, t = 1 to . Let {q 1 , . . . , q M } be the set of extreme points
of this polytope. Then
So
5
In [7] the following two steps, LD and NS-1, have been developed for our
problem (these names for the steps are new, they have not been used in [7]).
fN (dkN − d1N ) = 0, k = 2, . . . , r
has a nonzero solution fN = 0, find it. Let β = fN d1N . Then all the extreme
points d1 , . . . , dr lie on the hyperplane represented by the equation fN xN = β
in the space of the independent variables xN .
Now solve the two LPs, minimize fN xN , and maximize fN xN subject to (1).
One or both of these LPs will have as an optimum extreme point a point not in
the current list. Call it dr+1 , add it to the list.
c(p − q) = 0
c(p − dk ) > 0, for all k such that dk = p or q. (3)
6
If a pair of extreme points of Γ; p, q say; which are adjacent on Γ, are not
adjacent on K, then from the vector c satisfying (3); we get the supporting
hyperplane cx = cp of Γ that contains only extreme points p, q but no other
expreme point of Γ, which is not a supporting hyperplane for K.
Now solve the LP: maximize cx over K to get an extreme point optimum
solution. That extreme point may be a new extreme point of K not in the
present list, but it could also be p itself. In the latter case p, q are the only
extreme points of K known at present on the face S of K determined by
Ax = b
cx = γ
x ≥ 0
Therefor by applying the LD step on S a new extreme point of K on S not
in the present list can be determined in this case.
The application of NS-1 can be continued until at some stage the convex
hull of the present list becomes a segment of K. To continue the enumeration
then, some new steps are needed. One of those is LDF-1 given below.
The application of Steps NS-1, LDF-1 can again be continued until at some
stage the conditions in the following definition hold for the extreme points in
the present list.
When the convex hull of the present list of extreme points of K becomes a
mukka of K, to continue the enumeration some new steps are needed. These
are discussed in the next section.
7
• a complete facet of K for mukka Γ if F ∩ Γ = F
• an incomplete facet of K for mukka Γ if F ∩ Γ = F .
8
ai (x) = ai1 x1 + ai2 x2 + ai3 x3 + ai4 x4 ≤ 1, i = 1, . . . , 15
where {(ai1 , ai2 , ai3 , ai4 ) : i = 1 to 15} = {(1, 1, 1, −1), (1, 1, −1, 1), (1, 1, −1, −1),
(1, , −1, 1, 1), (1, −1, 1, −1), (1, −1, −1, 1), (1, −1, −1, −1), (−1, 1, 1, 1), (−1, 1, 1,
−1), (−1, 1, −1, 1), (−1, 1, −1, −1), (−1, −1, 1, 1), (−1, −1, 1, −1), (−1, −1, −1, 1),
(−1, −1, −1, −1)}. Here P is defined by a general system of linear constraints,
which is not in standard form.
Let I denote the unit matrix of order 4. It can be verified that Ω = convex
hull of {I.j , −I.j : j = 1 to 4} is a mukka of P .
Let Ft be the facet of P on the facetal hyperplane defined by at (x) = 1, for
t = 1 to 15. at (x) is the FTF corresponding to Ft for t = 1 to 15.
Consider the problem of maximizing a2 (x), the FTF of F2 , on F1 and on F1 ∩
Ω =< I.1 , I.2 , I.3 , −I.4 >. The optimum objective value is 1 in both problems,
but the dimension of the optimum face on F1 is 2; while on F1 ∩ Ω it is only
1. This shows that F1 is an incomplete facet of P for Ω. A similar argument
shows that the facets F4 and F8 are also incomplete facets of P for Ω.
6 References
[1] A. Y. Alfakih, T. Yi, K. G. Murty, “Facets of an Assignment Problem with a
0 − 1 Side Constraint”, Journal of Combinatorial Optimization, 4(2000)365-388.
[2] D. Avis and K. Fukuda, “A pivoting algorithm for convex hulls and vertex
enumeration of arrangements and polyhedra”, Discrete and Computational Ge-
ometry 8(1992)295-313.
[3] G. B. Dantzig, Linear Programming and Extensions, Princeton University
Press, 1963.
[4] B. Grünbaum, Covex Polytopes, Wiley Interscience, NY, 1967.
[5] K.G. Murty, “Adjacency on convex polyhedra”, SIAM Review 13, no. 3(1971)377-
386.
[6] K.G. Murty, Linear Programming (Wiley, NY, 1983).
[7] K.G. Murty, S. J. Chung, “Segments in Enumerating Facets”, Mathematical
Programming 70(1995)27-45.
[8] J.S. Provan, “Efficient enumeration of the vertices of polyhedra associated
with network LPs”, Mathematical Programming 63(1994)47-64.