next up previous contents
Next: Sensitivity Analysis for Linear Up: The Simplex Method Previous: Solution of Linear Programs

Alternate Optimal Solutions, Degeneracy, Unboudedness, Infeasibility

Alternate Optimal Solutions

Let us solve a small variation of the earlier example, with the same constraints but a slightly different objective:

tex2html_wrap_inline8286

As before, we add slacks tex2html_wrap_inline5270 and tex2html_wrap_inline7840 , and we solve by the simplex method, using tableau representation.

tex2html_wrap_inline8292

Now Rule 1 shows that this is an optimal solution. Interestingly, the coefficient of the nonbasic variable tex2html_wrap_inline5256 in Row 0 happens to be equal to 0. Going back to the rationale that allowed us to derive Rule 1, we observe that, if we increase tex2html_wrap_inline5256 (from its current value of 0), this will not effect the value of z. Increasing tex2html_wrap_inline5256 produces changes in the other variables, of course, through the equations in Rows 1 and 2. In fact, we can use Rule 2 and pivot to get a different basic solution with the same objective value z=2.

tex2html_wrap_inline8304

Note that the coefficient of the nonbasic variable tex2html_wrap_inline7840 in Row 0 is equal to 0. Using tex2html_wrap_inline7840 as entering variable and pivoting, we would recover the previous solution!

Degeneracy

example2834

Let us solve this problem using the -by now familiar- simplex method. In the initial tableau, we can choose tex2html_wrap_inline5252 as the entering variable (Rule 1) and Row 2 as the pivot row (the minimum ratio in Rule 2 is a tie, and ties are broken arbitrarily). We pivot and this yields the second tableau below.

tex2html_wrap_inline8314

Note that this basic solution has a basic variable (namely tex2html_wrap_inline5270 ) which is equal to zero. When this occurs, we say that the basic solution is degenerate. Should this be of concern? Let us continue the steps of the simplex method. Rule 1 indicates that tex2html_wrap_inline5256 is the entering variable. Now let us apply Rule 2. The ratios to consider are tex2html_wrap_inline8320 in Row 1 and tex2html_wrap_inline8234 in Row 3. The minimum ratio occurs in Row 1, so let us perform the corresponding pivot.

tex2html_wrap_inline8324

We get exactly the same solution! The only difference is that we have interchanged the names of a nonbasic variable with that of a degenerate basic variable ( tex2html_wrap_inline5256 and tex2html_wrap_inline5270 ). Rule 1 tells us the solution is not optimal, so let us continue the steps of the simplex method. Variable tex2html_wrap_inline7840 is the entering variable and the last row wins the minimum ratio test. After pivoting, we get the tableau:

tex2html_wrap_inline8332

By Rule 1, this is the optimal solution. So, after all, degeneracy did not prevent the simplex method to find the optimal solution in this example. It just slowed things down a little. Unfortunately, on other examples, degeneracy may lead to cycling, i.e. a sequence of pivots that goes through the same tableaus and repeats itself indefinitely. In theory, cycling can be avoided by choosing the entering variable with smallest index in Rule 1, among all those with a negative coefficient in Row 0, and by breaking ties in the minimum ratio test by choosing the leaving variable with smallest index (this is known as Bland's rule). This rule, although it guaranties that cycling will never occur, turns out to be somewhat inefficient. Actually, in commercial codes, no effort is made to avoid cycling. This may come as a surprise, since degeneracy is a frequent occurence. But there are two reasons for this:

Our example of degeneracy is a 2-variable problem, so you might want to draw the constraint set in the plane and interpret degeneracy graphically.

Unbounded Optimum

example2897

Solving by the simplex method, we get:

tex2html_wrap_inline8336

At this stage, Rule 1 chooses tex2html_wrap_inline5256 as the entering variable, but there is no ratio to compute, since there is no positive entry in the column of tex2html_wrap_inline5256 . As we start increasing tex2html_wrap_inline5256 , the value of z increases (from Row 0) and the values of the basic variables increase as well (from Rows 1 and 2). There is nothing to stop them going off to infinity. So the problem is unbounded.

Interpret the steps of the simplex method graphically for this example.

Infeasible Linear Programs

It is easy to construct constraints that have no solution. The simplex method is able to identify such cases. We do not discuss it here. The interested reader is referred to Winston, for example.

Properties of Linear Programs

There are three possible outcomes for a linear program: it is infeasible, it has an unbounded optimum or it has an optimal solution.

If there is an optimal solution, there is a basic optimal solution. Remember that the number of basic variables in a basic solution is equal to the number of constraints of the problem, say m. So, even if the total number of variables, say n, is greater than m, at most m of these variables can have a positive value in an optimal basic solution.

exercise2914

exercise2932

exercise2939

exercise2942

Answer:

(a) The solution is tex2html_wrap_inline8444 , tex2html_wrap_inline8446 , objective 15. It is optimal since cost row is all at least 0.

(b) It is not unique (since tex2html_wrap_inline5256 has reduced cost 0 but is not basic). Alternative found by pivoting in tex2html_wrap_inline5256 (question could have asked for details on such a pivot) for solution tex2html_wrap_inline8452 , tex2html_wrap_inline8454 , objective 15.


next up previous contents
Next: Sensitivity Analysis for Linear Up: The Simplex Method Previous: Solution of Linear Programs

Michael A. Trick
Mon Aug 24 16:30:59 EDT 1998