There are two ways to pin down a convex set with
finitely many numbers. One lists finitely many points
and takes their convex hull; the other lists finitely
many linear inequalities and takes their common
solutions. A triangle can be given either way, by its
three corners or by its three sides. This section proves
that for bounded sets the two descriptions always
describe the same sets, which is the Minkowski–Weyl
theorem. On the way it locates the optima of Section 6’s
linear programs over bounded regions: they occur at
corners, and a corner of can be recognized by a rank
condition on the constraints that hold with equality
there. The other direction of the theorem comes from
Fourier–Motzkin elimination, an algorithm for projecting
a system of inequalities that works the way Gaussian
elimination does for equations.
Throughout, the field is and the space is
with and the dot
product. An inequality between vectors is meant
entrywise:
says that for every . For we write for its rows, so that
is the list of
inequalities .
Two finite
descriptions
The first description already appeared in Section 8,
just after Proposition 18.8.2.
A polytope is the convex hull of finitely many
points; a polyhedron is the solution set of finitely
many linear inequalities.
Definition
18.9.1 (Polytope)
A polytope in is a set of the
form for finitely
many points , .
Definition
18.9.2 (Polyhedron)
A polyhedron in is a set of the
form for some , , and ; that
is, the intersection of finitely many
sets . An extreme
point of a polyhedron or of a polytope (Definition 18.8.1) is
called a vertex.
In words: a polytope is built from the inside, by
mixing finitely many given points; a polyhedron is
carved from the outside, by finitely many cuts. When
, the set is a closed half-space, bounded by
the hyperplane (Definition 5.5.2). A zero
row is allowed and harmless: the condition
either
holds for every or for none. An
equation is allowed too, as the two inequalities
and . By Theorem 18.1.3, the
polytope is the set of all with
every and
.
Some examples, simplest first.
- The empty set and a point are both.
, and with the single zero row. A point is the solution set of the
inequalities
and
.
- All of is a
polyhedron, with (or with the one row ). So is a closed
half-space. Neither is a polytope, because a polytope is
bounded: if
for every , then
.
- The triangle with
corners is , and it is the polyhedron . That the two descriptions agree is
not a definition but a fact; the worked example in the
section on Fourier–Motzkin elimination below derives
each from the other.
- The cube is
the polyhedron given by the inequalities , and by
Section 8 it is the hull of its sign vectors (Example (The diamond, the cube, and the sphere)
and Theorem 18.8.5). So it
is both.
A nonexample by minimal change.
Replace the cube’s square
by the disk . It
is still compact and convex, still the unit ball of a
norm, and still the solution set of inequalities , one for every unit vector
: by Theorem 11.1.5,
on the disk, and a point
with violates the inequality for . What fails is the
word finitely. The disk is not a
polytope: by Proposition 18.8.2 a
polytope has finitely many extreme points, while the
disk has a whole circle of them (Example (The diamond, the cube, and the sphere)).
We will see after the Minkowski–Weyl theorem that it is
not a polyhedron either.
Why these definitions. Both allow
only finite data, and that is the point: finitely many
inequalities can be checked, finitely many points can be
listed, and the whole theory of this section is about
moving between two finite lists. An infinite family of
inequalities describes every closed convex set, by the
separation theorem (Theorem 18.3.2), so
dropping “finitely many” would make the second
definition say nothing new.
Section 1 already showed that every polyhedron is
convex and closed; we record it for citation.
Proposition
18.9.1 (Polyhedra Are Closed and Convex)
Every polyhedron is
convex and closed.
Warning. A polyhedron need
not have any vertices, even when it is not
empty. The strip is a closed convex set with no
extreme points at all: every point of it is the
midpoint of , which lie in it. Minkowski’s theorem (Theorem 18.8.5) does not
apply because the strip is unbounded, and in the
language of the next theorem, its constraint rows have rank .
Vertices
are basic feasible points
Section 8 showed that a linear function on a nonempty
compact convex set attains its maximum at an extreme
point (Corollary 18.8.6). For a
linear program over a bounded region , that shrinks the search to the
vertices. To make it a finite search we need a way to
recognize a vertex from the data , and a proof
that there are finitely many.
Stand at a point of and look at the
inequalities that are tight there. Each tight inequality
confines to a hyperplane.
If the tight rows are rich enough to pin down, there is
no room to move in any direction, and should be a
corner. If not, there should be a direction along which
one can move both ways without leaving .
Definition
18.9.3 (Active Set, Basic Feasible
Point)
Let and . The
active set of is , the indices of
the inequalities that hold with equality at . The point is a
basic feasible point of the system if
among the active rows there are linearly
independent ones.
Equivalently, the matrix formed
by the active rows has a row space of dimension , that is, rank (Theorem 3.5.5); by
Theorem 3.5.7 this
says that its null space is , which means
that is
the only solution of the equations
, . The word “feasible” records that
lies in
; a solution of
independent
equations that violates some other inequality is a
basic point but not a basic feasible
one. Note that the definition depends on the system
, not only on the set ; the theorem shows that
the resulting notion depends only on .
Theorem
18.9.2 (Vertices Are Basic Feasible
Points)
Let and . Then
is a
vertex of if and
only if is
a basic feasible point.
Idea. Both directions are about the
directions
with for every active , the directions along
which every tight constraint stays tight. If the active
rows have rank ,
the only such direction is , and an
averaging argument pins down any segment through . If their rank
is less than , a
nonzero such exists by
rank–nullity, and a short step
keeps the tight constraints tight and, because there are
finitely many, keeps the slack ones slack.
Proof. Write and let
be the matrix
of active rows (empty if ).
Suppose has
rank , and let
with .
For , with and ; if either were strict, the average would
be less than .
So , that is, . Since has columns and rank , its null space is
by Theorem 3.5.7, so
, and then . By Lemma 18.8.1, is a vertex.
Suppose has
rank less than
(this includes ). By Theorem 3.5.7 its
null space is nonzero; choose
with for every . For , the slack is positive. Let be
smaller than
for every with ; there are finitely many such , so such an exists, and
if there are none, take . Then for
, , and for , So , they differ because
, and is their
midpoint. Hence is not a vertex.
This proves the theorem.
The payoff is finiteness.
Corollary
18.9.3 (A Polyhedron Has Finitely Many
Vertices)
Let with . Every vertex of is the unique solution
of for some set of row indices with invertible. In
particular has at
most
vertices.
Idea. By the theorem, independent active rows
pin a vertex down, so a vertex is determined by which
rows those
are.
Proof. Let be a vertex. By
Theorem 18.9.2, some
active rows, with
index set , are linearly independent. The
matrix
then has
independent rows, so its rank is (Theorem 3.5.5), its
null space is (Theorem 3.5.7), and
it is invertible (Theorem 3.4.4 (b)).
As , , so is determined by . Different vertices
therefore come from different sets , and there are sets of
indices.
This gives the finite recipe for a vertex list: for
each choice of
rows with
invertible, solve
and keep the solution if it satisfies the remaining
inequalities.
Example
(The vertices of a quadrilateral)
Find the vertices of and the maximum of over .
Solution. Number the constraints
(1) , (2)
, (3)
,
(4) . Any two of the four rows are linearly
independent, so each of the pairs gives
one basic point. We solve each pair as equations and
test the other two inequalities. For the last pair, subtracting (3) from twice
(4) gives ,
so
and ; check .
By Theorem 18.9.2 the
vertices are the four feasible basic points , , , and , and
is a
quadrilateral. The two infeasible basic points are where
two of the lines cross outside .
is bounded,
since and on it, so it is compact (Proposition 18.9.1, Corollary 16.2.5) and
nonempty. By Corollary 18.8.6 the
maximum of
is attained at a vertex. The values are , so
the maximum is , at .
Quick check. A polyhedron in is given by inequalities. What
is the largest number of vertices the corollary allows?
Could a polyhedron in given by inequalities have a
vertex?
Solution. At most . In a vertex needs
linearly
independent active rows, and there are only rows in all, so no: the
rank of the active rows is at most , and by Theorem 18.9.2 such a
polyhedron has no vertices. Geometrically, the
intersection of two half-spaces in always contains a
whole line through each of its points.
The recipe is honest but slow: grows very
fast. The simplex method, the classical
algorithm for linear programs, uses the same theorem
more cleverly. It moves from a vertex to a neighboring
vertex, one sharing of its independent active constraints, along
an edge on which the objective improves, and stops at a
vertex where no edge improves it.
Fourier–Motzkin elimination
Now the other direction. Given a polytope , how do we find inequalities for
it? The hull is the set of for which
there exist weights
with
and . The conditions on the pair are
linear inequalities, so the set of pairs is a polyhedron
in , and
the polytope is its image under the projection that
forgets .
So we need to know that a projection of a polyhedron is
a polyhedron, and a way to compute it. For equations,
eliminating a variable is Gaussian elimination. For
inequalities the device is to pair every upper bound on
the variable with every lower bound.
Write a point of as with and
, and let
.
Lemma
18.9.4 (Fourier–Motzkin Elimination)
Let . Split
the indices by the sign of the coefficient of : ,
, . Then is the set of
satisfying In particular is a polyhedron,
and if every , every right-hand side above is .
Idea. For fixed , each row with
is an
upper bound on ,
each row with is a lower bound, and a row with does not mention
. A number satisfying all of them
exists exactly when every lower bound is at most every
upper bound, and those comparisons are the new rows.
Each new row is the combination , with both
multipliers positive and chosen to cancel .
Proof. Let be the set described by
the new rows. For and , put Dividing row by shows that it
says , and dividing row by , which
reverses the inequality, shows that it says .
Multiplying by the positive number and rearranging
gives exactly the new row for the pair :
If
, then for every pair, and the rows in
hold since they
do not involve .
So .
Let
. If
,
let ; if and , let
; if both are empty, let . In each case for all and : in the first
case because every by
the choice of ,
and for every since ; the
second case is the same with the roles exchanged. The
rows in hold
because . So and .
The last sentence is visible: the new right-hand
sides are and
.
As an algorithm:
Algorithm. Fourier–Motzkin
elimination of one variable. Input: a system of
inequalities
in the unknowns and
.
- Sort the rows into (), () and ().
- Copy every row of , without its term.
- For every pair , , write down the row , which is .
- (Optional.) Delete every new row of the form with , which every
satisfies.
A row
with
means the projection is empty.
Output:
inequalities in alone, at most,
whose solution set is the projection of the input’s
solution set. To eliminate several variables,
repeat.
When the variable to be eliminated appears in an
equation with a nonzero coefficient,
there is a shortcut: solve the equation for it and
substitute into the other rows. The projection is
unchanged, since the equation determines the eliminated
variable from the others, and substitution is exactly
Gaussian elimination.
Example
(A triangle, both ways)
Let . Find a
system of inequalities describing , and then recover the
vertices of from
it.
Solution. From points to
inequalities. By Theorem 18.1.3, if and
only if there are with and that is, Three equations involve the weights, so we
substitute three of them away and keep : ,
, and The four conditions , each
multiplied by
where needed, become a system in : Run the algorithm on . The coefficients of
are , so , , and . Each
pair has
and , so the new row
is row plus row
, which just
deletes the :
By Lemma 18.9.4, , the triangle of the examples above.
The generator
left no trace, as it should: it lies inside the
triangle.
From inequalities to vertices. The three
rows , , are pairwise
independent, so each of the pairs gives
a basic point: , , and . Each satisfies
the third inequality, so all three are vertices by Theorem 18.9.2. At no constraint is
active, so and it is not a vertex, which matches
Proposition 18.8.2: the
extreme points of the hull are among the four
generators, and is not one of
them.
Warning. Fourier–Motzkin
does not return a minimal description.
Eliminating from
,
, , and pairs two
upper bounds with two lower bounds, and gives , , and twice the
useless row . Even without trivial rows, the output can
contain inequalities implied by the others. A single
step can turn
rows into as many as , and eliminating
many variables compounds this, so the method is a proof
device and a hand tool for small systems, not an
efficient algorithm.
The
Minkowski–Weyl theorem
Cones get the same treatment. Section 5 wrote for the set of all
nonnegative combinations ,
, a convex
cone (Definition 18.5.1), and
called such cones finitely generated;
we allow ,
with . The inequality side is a
homogeneous system.
Definition
18.9.4 (Polyhedral Cone)
A polyhedral cone in is a set of the
form for some
and .
A polyhedral cone is a polyhedron, and it is a convex
cone: it contains , and if ,
, and , then . By Proposition 18.9.1 it is
closed, while for finitely generated cones closedness
took the work of Theorem 18.5.4.
Theorem
18.9.5 (Minkowski–Weyl Theorem)
- (a) A subset of
is a polytope
if and only if it is a bounded polyhedron.
- (b) A subset of
is a finitely
generated cone if and only if it is a polyhedral
cone.
Idea. Four implications, two
tools.
① Bounded polyhedron
polytope. This is Section 8 plus the vertex
theorem: a bounded polyhedron is compact, so it is the
hull of its vertices by Minkowski’s theorem, and it has
finitely many vertices.
② Polyhedral cone finitely
generated. Cut the cone with the cube . The result is
a bounded polyhedron, hence by ① the hull of finitely
many points, and scaling those points generates the
cone.
③ Polytope
polyhedron, and ④ finitely generated
polyhedral. Write the set as the projection of a
polyhedron in a bigger space, with the weights as extra
coordinates, and eliminate the weights one at a time by
Fourier–Motzkin. For a cone all right-hand sides are
and stay .
Proof. ① A bounded
polyhedron is a polytope. Let be bounded. If , then .
Otherwise is
closed and convex by Proposition 18.9.1, and
bounded, so it is compact by Corollary 16.2.5. By Theorem 18.8.5, , and is
finite by Corollary 18.9.3. So
is a
polytope.
② A polyhedral cone is finitely
generated. Let , and let
, the polyhedron given by the rows of together with the
rows . It is
bounded and contains , so by ① , where are its vertices; in particular
every . We claim . If ,
then , since
each and each ; so every such
combination lies in . Conversely let . If , take
all .
Otherwise put . Then and every entry of lies in , so , say
with . Then with .
③ A polytope is a bounded
polyhedron. Let , and let
have columns
. It is
bounded, as in example 2 after Definition 18.9.2. By Theorem 18.1.3, is the image, under the
map that forgets the last coordinates, of a polyhedron in . Forgetting the
last coordinates
is forgetting one coordinate times in a row, and by
Lemma 18.9.4 each step
takes a polyhedron to a polyhedron. So is a polyhedron.
④ A finitely generated cone is
polyhedral. Let , where
has columns
. It is
the image under the same map of , whose
right-hand sides are all . By the last sentence
of Lemma 18.9.4,
eliminating the
coordinates of one at a time
keeps every right-hand side , and the rows copied
from keep
theirs as well. So for the
matrix of the
final rows (if no rows remain, ). This completes the proof.
Two consequences show what the theorem is for. First,
the intersection of two polytopes is a
polytope. By (a) each is a bounded polyhedron;
putting the two systems of inequalities together
describes the intersection, which is therefore a bounded
polyhedron, hence a polytope by (a) again. From the
point description alone this is not obvious at all: the
corners of the intersection are, in general, new points
found nowhere in the two lists. Second, (b) gives a new
proof of Theorem 18.5.4, since
every polyhedral cone is closed. In that proof the
difficulty of Section 5 has moved into Fourier–Motzkin
elimination. The same elimination shows that a linear
image of a
polyhedral cone is
polyhedral: it is the image, under the map forgetting
, of , and the
argument of ④ applies. So a linear image of a polyhedral
cone is closed, and a closed convex cone with a
nonclosed linear image, like the one in Section 5, can
never be polyhedral.
The disk is
not a polyhedron. If it were, it would be a bounded
polyhedron, hence a polytope by (a), and it is not
one.
The cube
and the cross-polytope
The two unit balls with corners from Section 8 are
the standard example of the theorem, and they illustrate
a duality between the two descriptions.
Example
(The cube and the cross-polytope)
For ,
describe
and both as
polytopes and as polyhedra, and find their vertices from
the inequalities by Theorem 18.9.2.
Solution. The cube. is the
polyhedron given by the rows and . At a point of it, the
active rows are for each with and for each
with ; they are
distinct standard vectors up to sign, so they are
linearly independent, and their number is the rank. The
rank is exactly
when every . So the vertices are the sign vectors, as Example (The diamond, the cube, and the sphere)
found directly, and is their
hull.
The cross-polytope. By Example (The diamond, the cube, and the sphere)
and Theorem 18.8.5, . For its inequalities, let
run over
the sign
vectors. For every , , with equality when for and for . So , and a polyhedron with rows. At , the active
rows are the with . They have rank
: they include
, and for each
the vector
,
so their span contains for and then . The same holds at every . Every
other point of has active rows of
rank less than .
If , no row is active. If ,
then has
two nonzero entries with , since a point with one nonzero entry and
is some ; let be their signs. An active has with each , so
for every , and in
particular , . Hence has for every active , and the matrix
of active rows has rank less than by Theorem 3.5.7. By
Theorem 18.9.2, the
vertices are exactly the points .
Duality. The rows of the cube are , which are
the vertices of the cross-polytope; the rows of the
cross-polytope are the sign vectors, which are the
vertices of the cube. In , the cube has vertices and inequalities, the
octahedron
vertices and
inequalities. This exchange is the polytope form of the
fact that and are
dual norms (Definition 18.4.4): the
maximum of over
is
,
and over it is .
Exercises
A. Check your
understanding
Exercise
(A1)
- (a) State the
definitions of a polytope and of a polyhedron in .
- (b) True or false:
every polyhedron is a polytope. Justify your
answer.
- (c) True or false:
the intersection of two polytopes in is a polytope.
Justify your answer.
- (d) State the
criterion of Theorem 18.9.2 for a
point of to be a vertex.
- (e) True or false:
every inequality produced by Fourier–Motzkin elimination
(Lemma 18.9.4) is needed
to describe the projection. Justify your answer.
Solution.
(a) A polytope is
the convex hull of finitely many points of . A polyhedron is a
set for some and , that
is, an intersection of finitely many sets .
(b) False. The
half-plane is a polyhedron, with one row,
but it is unbounded, while every polytope is
bounded.
(c) True. By Theorem 18.9.5 (a), each
is a bounded polyhedron. Listing both systems of
inequalities together describes the intersection, which
is therefore a polyhedron, and it is bounded because it
lies inside one of the two. By Theorem 18.9.5 (a)
again, it is a polytope.
(d) A point with
is a vertex if and only if the rows with include linearly independent
ones.
(e) False. In the
warning after Example (A triangle, both ways),
two of the four output rows are , which every
point satisfies.
B. Practice
Exercise
(B1: Vertices of a pentagon)
Find all vertices of and the maximum of over . Hence write as a polytope.
Solution. Number the rows (1) , (2) , (3) , (4)
,
(5) . Any two rows are independent (no two are
multiples of each other), so each of the pairs gives
one basic point. For instance, (3) and (4) added give , so ; (3)
and (5) added give , so ; (4) and (5) added give , then . For the feasible
points, the checks are routine: at , and
; at
, and ; at , ; at , . By Theorem 18.9.2 the
vertices are ,
, , , .
is bounded,
since on it by rows (1) to (3), and nonempty. So by
Corollary 18.8.6 the
maximum of is attained at a vertex. The values are
, so the maximum is , at . By the proof of
Theorem 18.9.5 (a),
.
Exercise
(B2: Inequalities for a quadrilateral)
Use Fourier–Motzkin elimination to find a system of
inequalities describing the quadrilateral Hence find the vertices of .
Hint: substitute away and keep
, the weight
of .
Solution. if and
only if there are with , , and
.
With : ,
, and The conditions , , , read The coefficients of are , so and . The four
pairs give: So by Lemma 18.9.4. Its rows
are . The pair is dependent;
the other five pairs give the basic points , , , , and (from , ), and the
last violates . So by Theorem 18.9.2 the
vertices are the four given points, and none of them was
redundant.
Exercise
(B3: Which of these are vertices?)
Let . Determine which of the
following points are vertices of . Justify your
answer.
- (a)
- (b)
- (c)
- (d)
- (e)
Solution. We use Theorem 18.9.2: check
that the point lies in , list its active rows,
and compute their rank. The rows are , , and .
(a) : the
entries are ,
, . Active: , , . Their span
contains , , and , so it is . Rank : a
vertex.
(b) , with
active rows
and only.
Rank :
not a vertex. Indeed it is the midpoint
of and
, both in
.
(c) , with
active rows , , , which are
independent (the third has a nonzero third entry, the
first two do not). Rank : a
vertex.
(d) , since
.
It is a basic point, the solution of , , , but
not a feasible one: not a
vertex.
(e) , with
active rows and only. Rank
:
not a vertex. It is the midpoint of
and .
C. Going deeper
Exercise
(C1: Unbounded polyhedra)
Let be a
nonempty polyhedron, and let .
- (a) Prove that if and
only if .
- (b) By Theorem 18.9.5 (b),
is generated by
finitely many vectors , . Prove
that every , and that the set of sums of a point of the polytope and
a point of the cone. So every nonempty polyhedron is a
polytope plus a finitely generated cone.
- (c) Check the
statement for , with
the polytope and the cone generated by .
Solution.
(a) says
and , which is .
(b) Each
generator lies in , so . Split the
indices into and .
Let
. By
(a), with . The last
coordinate gives , so , and
where the weights are nonnegative
and add up to . So
lies in
the right-hand side.
Let
with , , and . Then a nonnegative combination of generators, so
and
by (a).
- (c) A point with
and
is , which satisfies
and .
Conversely is with and . So .
Exercise
(C2: Linear images of polyhedra)
Let .
- (a) Prove that if
is a polyhedron, then is a
polyhedron in , and that if is a polyhedral cone,
so is .
- (b) Prove that if
is a polytope,
then is a
polytope, directly from Definition 18.9.1.
- (c) Deduce that a
linear image of a polyhedral cone is closed. Why does
this not contradict the existence of a closed convex
cone with a nonclosed linear image?
Solution.
(a) Let . Then if and
only if there is with in
a polyhedron in . So is the image of
under
the map forgetting the last coordinates, and applications of Lemma 18.9.4 show that
it is a polyhedron. If ,
every right-hand side in is , and stays under elimination, so
is a
polyhedral cone.
(b) If , then by Theorem 18.1.3 and
linearity, so , a
polytope.
(c) By (a), the
image of a polyhedral cone is a polyhedral cone, which
is closed by Proposition 18.9.1. So a
closed convex cone whose linear image is not closed
cannot be polyhedral; by Theorem 18.9.5 (b), it
cannot be finitely generated either. This is consistent
with Section 5, where closedness was proved only for
finitely generated cones.
Exercise
(C3: Vertices in standard form)
Let have columns , let , and
let , the feasible region of a linear
program in standard form.
- (a) Prove that is a
vertex of if and
only if the columns with are linearly
independent.
- (b) Deduce that a
vertex of has at
most
positive entries.
- (c) Find the
vertices of , the standard triangle.
Solution.
(a) Write as a polyhedron with
the rows , , and . At , every row of is active, and
is
active exactly when . Let . By Theorem 18.9.2, is a vertex if
and only if the active rows have rank , that is (Theorem 3.5.7), if
and only if the only with and
for all
is . For
such ,
. So the condition says that
forces every , which is the
linear independence of .
(b) The columns
lie in
, of
dimension ,
and an independent list in it has at most vectors by Theorem 1.6.3 (a).
By (a), a vertex has at most that many positive
entries.
(c) Here , of rank
. By (b) a vertex
has at most one positive entry, and since the entries
add up to ,
exactly one, equal to . Conversely , and its
one positive entry corresponds to the column , an
independent list. So the vertices are .