Learning Outcomes
Establish needed mathematical notation
Understand structural results pertaining to linear programs
Develop an intuition for why these results are true
You solved the bakery problem graphically: you checked a handful of corner points and picked the best one. But the feasible region contains infinitely many points. How do you know a better plan isn’t hiding somewhere in the middle, or partway along an edge you never examined? In two dimensions, a picture is convincing. A real production model has thousands of variables, and there is no picture. This chapter replaces the picture with proofs: short arguments that certify, once and for all, that checking the corners is enough.
In this chapter, we formalize some of the mathematics about linear programs. We define some notation here and then state and prove several theorems.
Warning
In this section, we provide rigorous mathematical proofs of several results. For this book, you do not need to be able to reproduce these proofs. However, try to understand the concepts and have a visual image in your head of why these results are true.
Vectors: A vector is a mathematical object that represents a point in space or a direction. In -dimensional real space (), a vector is written as an ordered list of elements:
Vectors can be written in two forms: as a row vector or as a column vector:
In linear programming, vectors are used to represent variables, constraints, and directions in optimization problems.
Vector Operations: Vector operations form the building blocks for linear programming, enabling the manipulation of decision variables and constraints.
Addition:
Vectors of the same dimension can be added componentwise. For example, if and , their sum is:
This operation is used to model systems where contributions of multiple variables are combined.
Scalar Multiplication:
A vector can be scaled by multiplying it with a scalar (constant). For example, if and , then:
Scalar multiplication adjusts the magnitude of a vector while retaining its direction, a key concept in scaling constraints or objectives in linear programming.
Inner (Dot) Product:
The dot product of two vectors and of the same size is calculated as:
For example, if and , then:
The dot product is used to define constraints and objective functions in linear programming, as it represents weighted sums of variables.
Linear Combination: A vector is a linear combination of vectors if:
where are scalars. If all scalars are non-negative (), the combination is called a non-negative linear combination. Linear combinations are used in linear programming to express feasible solutions as sums of variable contributions.
Definition 6.1: Linear Independence
A set of vectors is said to be linearly independent if the only solution to the equation
is .
Equivalently, no vector in the set can be written as a linear combination of the others.
Examples:
The vectors and in are linearly independent.
The vectors and are linearly dependent, since the second is a scalar multiple of the first.
Definition 6.2: Linear Independence of Rows or Columns
Let be a matrix.
The rows of are said to be linearly independent if no row can be written as a linear combination of the other rows.
The columns of are linearly independent if no column can be written as a linear combination of the other columns.
In either case, the vectors are linearly independent if the only solution to the homogeneous system (or ) is the trivial solution (or ).
Examples:
The matrix has both linearly independent rows and columns.
The matrix has linearly dependent rows and columns; the second row is twice the first, and the second column is twice the first.
Definition 6.3: Rank of a Matrix
Let . The rank of , denoted , is the maximum number of linearly independent rows or columns of .
Equivalently, is:
the dimension of the row space of ,
the dimension of the column space of ,
the number of pivot columns in the reduced row echelon form of ,
the largest integer such that has an submatrix with nonzero determinant.
Examples:
The matrix has full rank 2.
The matrix has rank 1, since the second row is a multiple of the first.
Definition 6.4: Linearly Independent Constraints
Let be a system of linear inequalities, where each constraint corresponds to a row . A subset of these constraints is said to be linearly independent at a point if the set of row vectors (i.e., the tight constraints at ) is linearly independent.
Equivalently, the tight constraints at are linearly independent if the matrix formed by stacking the tight rows satisfies
where .
Examples:
Let be the system:
At , all three constraints are tight. The first two have row vectors and , which are linearly independent. The third is , which is a linear combination of the first two. So only two of the tight constraints are linearly independent.
In contrast, for the system:
the point has both constraints tight, and their rows , are linearly independent. Hence the tight constraints are linearly independent at that point.
Definition 6.5: Vertex
Let be a polyhedron. A point is called a vertex (or corner point) of if it is the unique solution to a system of linearly independent constraints that are tight at . In other words, is a vertex if there exists a subset such that:
for all ,
The rows are linearly independent,
.
Theorem 6.6
Let be a linear program with a nonempty, bounded feasible region . If an optimal solution exists, then there exists an optimal solution that is a vertex of .
Proof. Let be an optimal solution. If is a vertex, we are done, so suppose is not a vertex. We show how to produce another optimal solution with a strictly larger set of linearly independent tight constraints; repeating this argument leads to an optimal vertex.
Define the index set of tight (active) constraints at as
where is the th row of . Let be the submatrix of consisting of the rows indexed by .
Since is not a vertex, the tight constraints do not contain linearly independent rows: . Therefore, the homogeneous system has a nonzero solution .
Consider the line for small . For all , we have:
so the tight constraints remain tight along the line.
For any , we have . Since depends continuously on , we can choose a small enough such that for all and all . Thus, for small , .
Now define the objective value along this line:
If , then for small , and , contradicting optimality of .
If , then for small we obtain the same contradiction.
Hence , so every point that lies in is also optimal. This is where boundedness of is used: since is bounded, the line cannot be entirely contained in , so the set is a closed, bounded interval . At , some constraint becomes tight: . Note that , since otherwise would be constant in and constraint would never become tight. Because for all while , the row is not a linear combination of the rows . Therefore is an optimal solution whose tight constraints contain a strictly larger linearly independent set.
Repeating this argument (at most times), we reach an optimal point at which the tight constraints form a full-rank system (rank ), which uniquely determines the point. Such a point is, by definition, a vertex. Hence there exists an optimal solution at a vertex of . □
This theorem makes good on the promise from the start of the chapter: no better plan hides in the interior or along an edge, because any non-vertex optimum can be slid to a vertex without losing a cent. It is also the license behind the simplex method (Chapter 7), which searches only vertices.
A key property that will enable efficient algorithms is convexity. This comes in the form of convex sets and convex functions. When the constraints to an optimization problem form a convex set and the objective function is a convex function, then we say that it is a convex optimization problem.
We explain these definitions below.
Definition 6.7: Convex Combination
Given two points , a convex combination is any point that lies on the line between and . Algebraically, a convex combination is any point that can be represented as for some multiplier .

Definition 6.8: Convex Set
A set is convex if it contains all convex combinations of points in . That is, for any , it holds that for all .
Some examples of convex sets are:
Lemma 6.1. Intersection of Convex Sets is Convex Let and be convex sets. Then the intersection is convex. In particular,

Theorem 6.9: Convexity of Polyhedra
A polyhedron , that is, the intersection of finitely many half-spaces, is a convex set.
Proof. Intuitively, convexity says that the line segment between any two points of the set stays inside the set. For a polyhedron defined by linear inequalities, this property follows directly from the linearity of those inequalities, as we now show.
Let be a polyhedron in defined by the intersection of finitely many half-spaces:
where is an matrix, is a variable vector, and is a constant vector.
To prove is convex, we must show that for any two points and any , the convex combination
also lies in . In other words, we need to verify that satisfies every constraint defining , namely .
Since , each of them satisfies the defining inequalities:
By linearity of matrix multiplication, we can distribute across the convex combination:
Because and , multiplying the inequalities and by these non-negative scalars preserves their direction. Adding the two scaled inequalities together yields
Combining the two displayed lines, we conclude that , so .
Since , , and were arbitrary, every convex combination of points in remains in . Therefore is convex. □
Extreme Points: An extreme point of a polyhedral set is a point that cannot be written as a convex combination of other points in . Linear programming solutions often occur at extreme points, as guaranteed by fundamental theorems of linear programming.
Lemma 6.2. Objective Values on a Line Segment Given two points , a linear function evaluated at any point on the line segment between and is bounded above by the maximum of the evaluations at and . Formally, for any ,
where for some .
Either both of these inequalities are strict, or they are both held at equality.
Proof. Expanding based on the definition
This equation expresses as a convex combination of and . Since , we know and , ensuring that the combination is convex.
By the properties of convex combinations, the value lies between and . Formally:
Therefore, the value of is bounded above by , as required. □
Theorem 6.10: Optimal Solution at an Extreme Point
Let be a bounded, closed, and convex set. Let the objective be to maximize over . Then, there exists an optimal solution such that is an extreme point of .
Proof. Since is bounded and closed, it is compact in . The linear function is continuous, and by the Extreme Value Theorem, it attains its maximum value on the compact set . Let be such that:
Suppose is not an extreme point of . Then, can be expressed as a convex combination of two distinct points :
By Lemma 6.2, the value satisfies:
Since maximizes over , it must be that and . Thus, both and also maximize over .
If is not an extreme point, we can repeat this argument for and , expressing them as convex combinations of other points in . When is a polyhedron, this process must terminate after a finite number of steps because each step moves to a face of strictly smaller dimension and a polyhedron has only finitely many faces; at that point we reach an extreme point that maximizes . (For a general compact convex set, termination requires a more careful argument, for instance induction on the dimension of ; we omit the details.)
Hence, there exists an optimal solution at an extreme point of . □
Theorem 6.11: Extreme Points and Vertices of a Polyhedron
Let be a polyhedron. Then, a point is an extreme point if and only if is a vertex of .
Proof. (If is not a vertex, then it is not an extreme point):
Suppose is not a vertex. By definition, this means is not the unique solution to any subset of linearly independent constraints active at . Let represent the active constraints at , where () is the matrix of active constraints, and assume the rows of are linearly independent. Since is not a vertex, the null space of , denoted , is nontrivial, i.e., there exists a nonzero direction such that:
Consider perturbing in the directions and , for some small . Since , the perturbed points satisfy the active constraints:
Similarly, .
For sufficiently small , the perturbed points also satisfy all other constraints defining . This is because is a polyhedron, and the constraints are continuous linear inequalities that remain satisfied under small perturbations of .
Now, we express as a strict convex combination of and :
Since and , and both points belong to , this shows that is not an extreme point of .
(If is a vertex, then it is an extreme point):
Assume is a vertex. By definition, there exists a subset of constraints, say , where , such that is the unique solution to this system.
Suppose, for the sake of contradiction, that is not an extreme point. Then, can be expressed as:
where and .
We claim that both and must satisfy . To see this, let be a row of and be the corresponding right hand side value in By Lemma 6.2, the value of satisfies:
Since satisfies , this implies:
If either or , the equation above cannot hold. Hence, both and must satisfy .
Since satisfies , both and must also satisfy , as defines an affine subspace. However, this contradicts the assumption that is the unique solution to .
Therefore, cannot be expressed as a strict convex combination of distinct points in , and is an extreme point.
Conclusion: A point is an extreme point if and only if it is a vertex of . □
Rays and Directions: A ray in is a set of points:
where is the starting point and is the direction. Rays describe unbounded feasible regions in linear programming models.
Extreme Directions: An extreme direction is one that cannot be written as a positive combination of other directions. In linear programming, extreme directions help characterize unbounded solutions.
With these notions in hand, we can state a structural result: every point of a polyhedron can be built from the extreme points and extreme directions of .
Theorem 6.12: Representation Theorem
Let be a nonempty polyhedron, let be the set of extreme points of , and if is unbounded, be the set of extreme directions. Then any is equal to a convex combination of the extreme points and a non-negative linear combination of the extreme directions: , where , , and .
As an illustration, consider the LP below, whose feasible region is drawn on the right (in the -plane, with the slack variables eliminated). This feasible region is unbounded, extending without limit to the upper right, which is why the theorem must allow for extreme directions. Its extreme points are , , and , marked in the figure.
As a concrete use of the theorem, we represent the point as a convex combination of the extreme points. Find s to solve the following system of equations, subject to and :
One solution is , , : the weights are non-negative and sum to , so is a convex combination of the extreme points. Here no extreme directions are needed (all ); they would be required only for points outside the convex hull of the extreme points, farther out in the unbounded part of .
Exercise 6.13: Vector Operations
Let and . Compute:
[§6.1]
Exercise 6.14: Linear and Convex Combinations
Let , , and .
Exercise 6.15: Linear Independence and Matrix Rank
Consider the matrix .
[§6.1]
Exercise 6.16: Convex or Not?
For each of the following subsets of , decide whether the set is convex, as in Figures 6.2a and 6.2b. If the set is not convex, exhibit two points in the set whose connecting segment leaves the set.
[§6.3]
Exercise 6.17: Writing an LP in Matrix Notation
Consider the linear program
Write this LP in the standard form used in this chapter: give the vector , the matrix , and the vector . (Write each nonnegativity constraint as .) Then verify that the point satisfies .
Exercise 6.18: Convex Combinations and Geometry
Let be the triangle with vertices at , , and .
[§6.3]
Exercise 6.19: Halfspace Geometry and Convexity
Consider the halfspace .
Exercise 6.20: Checking an Extreme Point
Let
be the feasible region used to illustrate the Representation Theorem.
Exercise 6.21: A Convex Combination of Extreme Points
The polyhedron from Exercise 6.20 has extreme points , , and . Following the illustration of the Representation Theorem, find multipliers with such that
Why are no extreme directions needed to represent this point?
Exercise 6.22: Is the Union of Convex Sets Convex?
The chapter shows that the intersection of two convex sets is always convex.
[§6.3]
Exercise 6.23: Where Boundedness Enters the Vertex Theorem
The proof in §6.2 that some optimal solution lies at a vertex assumes the feasible region is bounded.
[§6.2]
Exercise 6.24: Intersections of Arbitrary Families of Convex Sets
Let be any family of convex sets in , where the index set may be infinite. Prove that the intersection
is convex. Explain why this result, applied to halfspaces, gives another proof of Theorem 6.9. (Note that may be empty; the empty set is convex vacuously.)
Solution
(Exercise 6.13) Working componentwise:
Solution
(Exercise 6.18) The triangle is the set of convex combinations of , , and ; equivalently, .
and the weights are nonnegative and sum to .
Solution
(Exercise 6.21) The first coordinate forces , so . The second coordinate then gives , so , and the normalization gives . All three multipliers are nonnegative, so
and is a convex combination of the extreme points. No extreme directions are needed because already lies in the convex hull of the three extreme points; all coefficients in the Representation Theorem can be taken to be zero.
Solution
(Exercise 6.22)