In the previous section we saw how the feasible region of a linear program is constructed as the intersection of a number of halfplanes, one for each constraint. Using this insight we developed a graphical approach for solving 2D LPs. Together with Fourier-Motzkin elimination as a means for reducing the dimensionality of an LP, this gave us a general method for solving linear programs.
Unfortunately Fourier-Motzkin produces a rather large number of constraints, so it is unsuited for solving problems with many variables.
In this section I will talk more about the properties of the feasible region. With more knowledge about the feasible region, we’ll eventually be able to understand a very popular method for solving linear programs, the Simplex Method.
Let us start by introducing some notation and some terms.
Already in the last part we started writing the variables as a column vector and the constants as a row vector . We did the same with the cost function, writing the weights for each variable as a row vector . This way we could use the dot product instead of writing sums explicitly.
The constraints can be written using a matrix vector product. We write the in a matrix like so
Note that the rows of are simply the vectors .
Now we can write the constraints simply as , where is a column vector of the . Summarizing we get the general form of a linear program:
Note that it really doesn’t matter whether we use or . Just multiplying by switches a constraint around without changing it.
Def A polyhedron is a set in whose members obey a set of linear inequalities
If the region is bounded (i.e. it has a finite volume) it can also be called polytope. We say is the dimensionality of the polyhedron.
I already used the word halfspace without giving a formal definition. Let us remedy this.
Def Let , .
With this definition we can say that a polyhedron is an intersection of a bunch of halfspaces.
A corner of a -dimensional polyhedron is, intuitively, a point where edges meet. I will give a bunch of different definitions and them prove them to be equal.
The simplest definition uses a line. A corner of a polyhedron is a point in the polyhedron where we can find a line that touches the polyhedron only at .
Def Let be a polyhedron. A vector is a vertex of P if s.t. for all ; that is, is the minimal point for some cost vector (the unique optimal solution for some LP with the feasible set P). See figure [Fig:vertex]
Corners are interesting for optimization because the converse is also kind of true, at least for bounded polyhedra. For any cost vector , we can find a vertex of the (bounded) polyhedron such that for all points in the polyhedron. There is no strict inequality here because the line defined by might be parallel to one of the edges of the polyhedron. If the polyhedron is not bounded, there are some such that for any point there is a point such that , that is, the optimal value for this cost vector is unbounded. These are of course the cost vectors that define a line that doesn’t leave the polyhedron.
However, we need some more definitions and theorems before we can prove the above statement.
Def An extreme point of a polyhedron P is a vector s.t. is not a convex combination of any two distinct vectors different from .
Convex combinations of two points are all points for which the equation has a solution for in . Geometrically, the points lie on a line between and . You can also take the convex combinations of more than two points. The principle is the same though, you add all the points, scaling each one with a non-negative scaling factor . The combination is convex if the sum to 1.
Example: In 2D we can always select the two adjacent corners of a point on the edge of if and only if is not a corner. Then will be on the line between the two corners.
Def Let be a polyhedron that is defined by some linear inequalities : . We’ll say that the -th constraint is active at a point if we have equality:
The constraints define the edges of polyhedron. If a point is on an edge that constraint is active. Intuitively the point must be a corner if it lies on the intersection of edges.
Def Let be a polyhedron in standard form and let . The vector is a basic solution if at all equality constraints are active and there are active constraints that are linearly independent. See solution in figure [Fig:bsfVSbs] for an example of a basic solution. If a basic solution is also feasible, we call it a basic feasible solution (b.f.s.). See the point in figure [Fig:bsfVSbs] for an example of a basic feasible solution.
A polyhedron with fever than constraints never has a basic solution.
Now we want to prove that the three definitions are all equivalent to each other.
Theorem Let be a polyhedron and . The following statements are equivalent
Proof
We show 1.) 2.) 3.) 1.).
is a vertex is an extreme point: Proof by contraposition.
Assume the existence of both different from such that is a linear combination of and , i.e. . Since is a linear combination of two vectors, it’s not an extreme point. We show that it is also not a vertex.
From the definition of vertex we know that some cost vector should exist such that , for all , that is is optimal w.r.t. . Together with the assumption this leads to a contradiction.
extreme point bsf. Proof by contraposition.
Suppose is not a basic feasible solution. Then is either not feasible, or not a basic solution. If it’s not feasible, then it can’t be an extreme point. Hence we can assume and it’s not a basic solution.
Let be a matrix of active constraints at and the matrix of the inactive constraints such that , . Since is not a bfs the matrix doesn’t have full rank and hence its kernel is nonempty. So we can find some vector in the kernel:
With we define two vectors:
Note that . That means that is not an extreme point if , because is a convex combination of the two. Consider
Since the active constraints are still active. For the inactive constraints we have some slack before we leave the polyhedron. If we choose small enough we’re still within. It suffices to choose such that
That is, we make epsilon small enough such that we don’t violate the tightest of the constraints in .
Hence (and analogous ) are still in the polyhedron and is not an extreme point.
bfs vertex: Suppose is a bfs. We construct a cost vector for which is the unique optimal solution.
Let be the matrix of active constraints s.t. . Let be the sum of the rows of . We know the objective value for w.r.t. . It’s .
Because has rank , is the unique solution to . For all that are different from , , hence is the optimal point for the cost vector . Therefore is a vertex.So far we’ve shown that the extreme points of a polyhedron, i.e. its corners, are also vertices, that is, optimal solutions for some cost vector. However, we want to be able to say that for every cost vector we can find an optimal solution that is also an extreme point.
In this section we’ll learn that polyhedra are so called convex sets and, for bounded polyhedra, every point inside the set can be expressed as a linear combination of the extreme points. Recall that a vector is a linear combinations of some vectors if you can find constants such that , or in vector notation .
Def A subset is called convex if for any to points the line connecting and is also in . That is
Theorem Polyhedra are convex sets.
Proof This follows directly from the definition. Recall that we defined a polyhedron as the set of points
for some matrix A. Since matrix multiplication is linear we have for some from that
Note that the notion of convex combination can be extended to sets of more than two points trivially. It is a simple exercise to show that this doesn’t change what it means to be a convex set. I will just use it.
Def The convex hull of a set of vectors is the set
That is, the convex hull is the union of all convex combinations that can be formed from the vectors in .
Intuitively the convex hull is the set you get by spanning a tight rubber band around the vectors of .
We come to the central result of this section. The next theorem shows that the extreme points of a polyhedron span the whole polyhedron. This is what allows us to only look at the extreme points when looking for an optimal solution to a LP.
Theorem Let be a non-empty bounded polyhedron and let be the set of extreme points of . Then
Proof We show both directions. First we show . This direction is particularly easy. We already showed that polyhedra are convex sets, hence any convex combination of points from still lies in .
Now we show the other direction . To do so we show that an arbitrary point can be expressed as a convex combination of extreme points. The proof of this is very similar to the proof we gave above that extreme points are basic feasible solutions.
Consider . We rearrange the rows of , , and such that the first inequalities are tight. We can decompose into two matrices and such that by taking as the first rows of (and fill it with 0) and as the last rows of (and fill with 0 from the top).
If the rank of is , then is a basic feasible solution (i.e. an extreme point by the theorem above) and we’re done. Otherwise we can find some vector in the kernel of , i.e. . Since the equalities defined by are not tight, we can move by some in the direction without leaving the polyhedron. We chose such that at least one constraint of becomes tight for . There also has to be an that takes us to a boundary in the opposite direction. Let .
As in the previous proof can be expressed as a convex combination of and . If and are extreme points, we’re done. Otherwise we can repeat the same process for and , only this time the rank of is one greater than before. Eventually we will reach full rank and hence a set of extreme points that can express as a convex combination.
Now that we know that every point in the polyhedron can be expressed as a convex combination of extreme points, we can use this fact to show that for every const vector we can find an optimal point that is also an extreme point.
Corollary Let be a non-empty bounded polyhedron. Then the LP such that has an optimal solution that is an extreme point.
Proof Let be an optimal solution and let be the optimal objective value. By the previous theorem we can write as a convex combination of extreme points
We want to show that there is a such that . We already know that is minimal, so we know that for all . Since the must sum to 1, we can conclude that for at least one we actually have . Otherwise can can quickly derive the following contradiction:
Now we have all ingredients for an algorithm. We have shown that for every cost vector there is an extreme point that is an optimal solution. Therefore we can find the optimal solution to a LP by enumerating extreme points. We also know that extreme points are basic feasible solutions, that is, points where the matrix of active constraints has full rank. That is, once we found one basic feasible solution we can move to another one by manipulating a matrix – throwing out one active constraint and replacing it by a different one. This is the basic strategy of the Simplex method, that we’ll discuss in the next section.
(The next section is coming when I get around to writing it.)
Click here to go back to the index