In this part we will cover the concept of Linear Programming (LP) and its standard form (we briefly introduced this last part, but we will formalize it here).
We will then introduce the concept of Basic (Feasible) Solutions, which is a very important concept in LP theory.
Finally, we will talk about the idea(s) that will lead us to the Simplex method, which is a very efficient method for solving LPs in practice.
Linear Programming
Definition 1 (Linear Programming)
A linear program (LP) is a problem of the form,
minsubject tocTxx∈P
where P⊆Rn is a polyhedron.
Recall (Polyhedron)
A polyhedron P⊆Rn is a set of the form,
P={x∈Rn∣A~x≤b~},
for some A~∈Rm×n and b~∈Rm.
A polyhedron in .Remark 1 (Observations on properties of LPs)
We see that the polyhedron P is the set of the intersection of half-spaces, which means that it is a convex set.
The boundaries are straight lines (hyperplanes in higher dimensions).
There will always be a finite number of extreme points (corners) in a polyhedron.
The polyhedron can be unbounded (extend to infinity in some direction).
Intuition (Geometric Intuition of LPs)
Imagine if we take a (hyper)plane perpendicular to the negative gradient of the objective function, i.e., perpendicular to −∇x(cTx)=−c, as far as possible while still touching the polyhedron P.
The optimal solution to the LP should exist in an extreme point (corner) of the polyhedron P where the (hyper)plane touches it (we will prove this later).
The feasible region, gradient field of the objective function and the optimal solution.
Standard Form
Definition 2 (Standard Form of a Linear Program)
An LP on standard form is,
minsubject tocTxAx=bx≥0Note
Any Linear Program can be converted to standard form, we will not prove this, but let’s take an example to illustrate how we can do this.
We start by rewriting the inequalities as equalities by introducing slack variables.
Slack variables are variables that “take up the slack” in an inequality constraint to turn it into an equality constraint (i.e., positive slack variables for ≤ constraints and negative slack variables for ≥ constraints).
The columns of A corresponding to the non-zero components of xˉ are linearly independent.
Intuition (Procedure to find Basic Solutions)
Choose m linearly independent columns of A∈Rm×n where m≤n.
Rearrange the columns so that,
A=[BN],
where B∈Rm×m matrix with the chosen columns (basic variables) and N∈Rm×(n−m) matrix with the remaining columns (non-basic variables).
Thus, linear independence ⟺rank(B)=m⟺B is invertible.
3. Rearrange x so that,
x=[xBxN],
this means that,
Ax=BxB+NxN
Set xN=0.
Set xB=B−1b.
Note
One property of this procedure is that, there at most (mn)=m!(n−m)!n! basic solutions (since this is the number of ways to choose m columns from n columns).
Definition 4 (Basic Feasible Solution)
A point xˉ is called a basic feasible solution (BFS), if,
xˉ is a basic solution,
xˉ≥0.
Note
A BFS is a point in the feasible region (polyhedron) P={x∈Rn∣Ax=b,x≥0}.
Theorem 1 (Extreme Points and Basic Feasible Solutions)
Let A have rank(A)=m.
x is an extreme point of P={x∈Rn∣Ax=b,x≥0} if and only if x is a basic feasible solution.
Example 2 (Basic (Feasible) Solutions)
Consider the polyhedron defined by,
−2x1+x2x1−x2≤1x1,x2≤1≥0
Generate two BS and check if they are BFS.
The feasible region and the extreme points.Solution
We start by converting the inequalities to equalities by introducing slack variables,
−2x1+x2+s1x1−x2+s2x1,x2,s1,s2=1=1≥0
where s1,s2≥0 are slack variables
Now, we can rewrite everything in matrix form,
x=x1x2s1s2,A=[−211−11001],b=[11]
We see that rank(A)=2.
We will now generate two basic solutions.
For the first BS, e.g.,
From the figure, we can see that the first point is indeed the intersection of two inequalities (i.e., it fulfills the first and last inequality with equality), but it is not in the feasible region since it has a negative component.
The second point is also the intersection of two inequalities (i.e., it fulfills the second and last inequality with equality), and it is in the feasible region since it has no negative components.
Theorem 2 (Optimal Solutions and Basic Feasible Solutions)
Let,
z⋆=infsubject tocTxx∈P
where P={x∈Rn∣Ax=b,x≥0}.
z⋆ is finite if and only if P is non-empty and cTd≥0 for all d∈{v∈Rn∣Av=0,v≥0}.
If z⋆ is finite, then there exists an optimal solution among the extreme points of P (i.e., among the BFSs).
Note
Other points then extreme points might also be optimal solutions, but there will always be an optimal solution that is an extreme point (BFS).
Ideas Leading to the Simplex Method
We will now discuss some ideas that will lead us to the Simplex method, which is a very efficient method for solving LPs in practice.
Definition 5 (Degenerate)
A BFS xˉ is called degenerate if, two partitions [BN] and [B~N~] corresponds to xˉ.
Equivalently, a BFS is degenerate if some basic variable is zero.
or simply, for two vertices to be adjacent, the line segment connecting them must lie on the boundary of the polyhedron (i.e., it cannot pass through the interior of the polyhedron).
For example, the points (1,0) and (0,0) are adjacent, but the points (1,0) and (0,1) are not.
The feasible region and the extreme points.Theorem 3 (Characterization of Adjacent BFSs)
Let x1 and x2 be two different BFS. Let them correspond to [B1N1] and [B2N2], respectively.
Assume that all columns but one in B1 and B2 are the same.
Then, x1 and x2 are adjacent BFSs.
Intuition (Algorithmic Idea to Move Between Adjacent BFSs)
Lastly, we will discuss the blueprint for an algorithm to find an optimal solution to an LP.
Start at a BFS.
Move to adjacent BFS for which the objective function is improved (decreased for minimization problems).
Repeat step 2 until no adjacent BFS improves the objective function.