Linear Programming Flashcards
Fundamental theorem of Linear Programming
Given a LP problem in standard form:
min cTx
Ax = b
x >= 0
With A matrix m x n of rank m:
- If a feasible solution to the problem exist, then also a basic feasible solution exists.
- If an optimal feasible solution exists, then also a basic optimal feasible solution exists.
This theorem is important, because it shows that we can find an optimal solution to a problem (if it exists) in a finite number of steps.
Simplex method
The feasible region defined by all values of x such that A x = b and ∀ i , xi ≥ 0 is a (possibly unbounded) convex polytope.
An extreme point or vertex of this polytope is known as basic feasible solution (BFS).
It can be shown that for a linear program in standard form, if the objective function has an optimal value on the feasible region, then it has this value on (at least) one of the extreme points.
If the edge is finite, then the edge connects to another extreme point where the objective function has a greater value, otherwise the objective function is unbounded and the linear program has no solution.
The simplex algorithm applies this insight by walking along edges of the polytope to extreme points with better and better objective values.
Complexity of the simplex algorithm
O(max(|V|))
Where V is the set of vertices of the Polytope K.
max(|V|) is the maximum number of vertices the Polytope K can have, it is equal to the number ways we can select m vectors from A, that is made out of n vectors.
O(n!/((n-m)!m!))
Logical constraints