Linear Programming Learning Notes (3) Degeneracy
All the resources come from Linear Programming: Foundations and Extensions by Professor Robert J. Vanderbei.
Explore the link below for further information:
LP Book Resources
Part 1
Basic Theory: The Simplex Method and Duality
Chapter 3 Degeneracy
Definition
We say a dictionary is degenerate if
Problem arise when a degenerate dictionary produces degenerate pivots. A pivot is a degenerate pivot if one of the ratios in the calculation of the leaving variable is
Example
As
It is usual typical that it can “break away” from the degeneracy. The real danger is that the simplex method will make a sequence of degenerate pivots and eventually return to a dictionary that has appeared before, which is called cycling .
It has been shown that if a problem has an optimal solution but cycles off-optimum, then the problem must involve dictionaries with at leat four(un-slack) variables and two constraints. If the simplex method cycles, then all the pivots within the cycle must be degenerate.
Also, there is a Theorem3.1 stating that:
If the simplex method fails to terminate, then it must cycle.
The problem of cycling is not as that common. Also, computer implementations of the simplex method written with floating point numbers can avoid this, because a zero will generally show up not as an exact zero but rather as a very small number. Therfore, the dictionary appears to be slightly off from actually being degenerate.
To solve the problem of cyclings, we can use a method similar to what the floating point numbers do, which is The Perturbation/Lexicographic Method.
The Pertubation/Lexicographic Method
We can write down a series of fixed perturbation for each constraint as:
For example, consider the following degenerate dictionary:
The first step is to introduce symbolic parameters:
to get a perturbed problem:
Treating the
Then we simply drop the symbolic
Theorem3.2:
The simplex method always terminaes provided that the leaving variable is selected by the lexicographic rule.
Bland’s Rule
Another pivoting rule that can guarantee no cycle is called Bland’s rule. It stipulates that both the entering and the leaving variable be selected from their repective sets of choices by choosing the variable
Fundamental Theorem of Linear Programming
For and arbitrary linear program in standard form, the following statements are true:
(1)If there is no optimal solution, then the problem is either infeasible or unbounded.
(2)If a feasible solution exists, then a basic feasible solution exists.
(3)If an optimal solution exists, then a basic optimal solution exists.
Linear Programming Learning Notes (2) The Simplex Method
All the resources come from Linear Programming: Foundations and Extensions by Professor Robert J. Vanderbei.
Explore the link below for further information:
LP Book Resources
Part 1
Basic Theory: The Simplex Method and Duality
Chapter 2 The Simplex Method
An Example
maximize
s.t.
Geometry
Now we want to talk more about the geometry of several thing in LP problem. Consider, for example, the following problem:
maximize
s.t.
Each constraint stands for a halfspace, and the feasible set consists of those points in space that satisfy all five inequalities. This set is the polyhedron shown below.
Indeed, each facet corresponds precisely to some variable(either original or slack) vanishing. For instance, the front facet in the figure corresponds to
Speaking of applying the simplex method to this problem. the basic feasible solutions stand in one-to-one correspondence with the vertices of the polyhedron. We can discover that the sequence of vertices visited by the algorithm is
The example above has the nice property that everyvertex is formed by the intersection of exactly three of the facets.
But consider now the following problem:
maximize
s.t.
Look at the polyhedron of feasible solutions shown below:
The vertex
Now we can consider the geometric effect of the perturbation method for resolving degeneracy. By perturbing the right-hand sides, the corresponding planes will be moved. Then the degenerate vertices get split into multiple nearby vertices in the perturbed problem. So the degenerate problem is solved.