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 non-example 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
non-empty 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
non-zero 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 non-zero; 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
non-empty. 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 non-zero 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 non-negative
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
non-closed 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 non-zero
entries
with , since
a point with one non-zero 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 non-empty. 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 non-zero 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 non-empty
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 non-empty 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 non-negative
and add up to . So
lies in the
right-hand side.
Let
with
, and . Then a non-negative 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 non-closed 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 .