
76 THE SIMPLEX METHOD
Specifically, we shall now show that the replacing of x
j
r
by x
s
in the set of basic
variables x
j
1
,x
j
2
,...,x
j
m
results in a new set that is basic and a corresponding
basic solution that is feasible. Assuming nondegeneracy,
¯
b
r
> 0. Since ¯a
rs
> 0,
we have ¯x
s
> 0 by (3.33) and z<¯z
0
by (3.32). By construction of ¯x
s
through
Equation (3.33), x
j
r
= 0 and the remaining variables x
B
≥ 0, which implies that
the new solution is feasible. In order to show that the new solution is basic observe
that since ¯a
rs
> 0, we may use the rth equation of the canonical form (3.11) and
¯a
rs
as pivot element to eliminate the variable x
s
from the other equations and
minimizing form. Only this one pivot operation is needed to reduce the system
to canonical form relative to the new set of variables. This fact and the way s is
selected constitutes the key to the computational efficiency of the Simplex Method.
The basic solution associated with the new set of basic variables is unique; see
Theorem B.6 of the linear equation review in Appendix B on page 352.
THEOREM 3.7 (Finite Termination under Nondegeneracy) Assuming
nondegeneracy at each iteration, the Simplex Algorithm will terminate in a finite
number of iterations.
Proof. There is only a finite number of ways to choose a set of m basic variables
out of n variables. If the algorithm were to continue indefinitely, it could only do so
by repeating the same set of basic variables as that obtained on an earlier iteration—
hence, the same canonical system and the same value of z. (See the Uniqueness
Theorem B.6 on page 352.) This repetition cannot occur since the value of z strictly
decreases with each iteration under nondegeneracy.
However, when degenerate solutions occur, we can no longer argue that the
procedure will necessarily terminate in a finite number of iterations, because under
degeneracy it is possible for
¯
b
r
= 0 in (3.33), in which case the value of z does
not decrease. The procedure will not terminate if this were to happen an infinite
number of iterations in a row; however, this can only happen if the same set of
basic variables recur. If one were to continue, with the same selection of s and r
for each iteration as before, the same basic set would recur after, say, k iterations,
and again after 2k iterations, etc., indefinitely. There is therefore the possibility
of cycling in the Simplex Algorithm. In fact, examples have been constructed by
E.M.L. Beale, A.J. Hoffman, H. Kuhn, and others to show that this can happen.
Although in practice almost no problems have been encountered that would cycle
even if no special rules were used to prevent cycling, still, such rules are useful in
reducing the number of iterations in cases of near degeneracy.
3.3 SIMPLEX METHOD
The Simplex Method is applied to a linear program in standard form (3.1). It
employs the Simplex Algorithm presented in Section 3.2.3 in two phases. In Phase I
a starting basic feasible solution is sought to initiate Phase II or to determine that
no feasible solution exists. If found, then in Phase II an optimal basic feasible
solution or a class of feasible solutions with z →−∞is sought.