These steps are the essential computations of the simplex method. They apply to either the phase I or phase II problem. For the phase I problem, the coefficients c j are those of the phase I objective function. The only computation remaining to be specified formally is the effect that pivoting in step (4) has on the problem data. Recall that we pivot on coefficient a rs merely to isolate variable x s with a + 1 coefficient in constraint r . The pivot can be viewed as being composed of two steps: i) normalizing the r th constraint so that x s has a + 1 coefficient, and ii) subtracting multiples of the normalized constraint from the order equations in order to eliminate variable x s . These steps are summarized pictorially in Fig. 2.5. The last tableau in Fig. 2.5 specifies the new values for the data. The new righthand-side coefficients, for instance, are given by: b new r = b r a rs and b new i = b i - a is b r a rs ≥ 0 for i = r . Observe that the new coefficients for the variable x r being removed from the basis summarize the computa- tions. For example, the coefficient of x r in the first row of the final tableau is obtained from the first tableau by subtracting a 1 s / a rs times the r th row from the first row. The coefficients of the other variables in the first row of the third tableau can be obtained from the first tableau by performing this same calculation. This observation can be used to partially streamline the computations of the simplex method. (See Appendix B for details.) * The vertical bar within braces is an abbreviation for the phrase ‘‘such that.’’
58 Solving Linear Programs 2.4 Figure 2.5 Algebra for a pivot operation.
2.4 Formal Procedure 59 Note also that the new value for z will be given by: z 0 + b r a rs c s . By our choice of the variable x s to introduce into the basis, c s > 0. Since b r ≥ 0 and a rs > 0, this implies that z new ≥ z old . In addition, if b r > 0, then z new is strictly greater than z old . Convergence Though the simplex algorithm has solved each of our previous examples, we have yet to show that it solves any linear program. A formal proof requires results from linear algebra, as well as further technical material that is presented in Appendix B. Let us outline a proof assuming these results. We assume that the linear program has n variables and m equality constraints. First, note that there are only a finite number of bases for a given problem, since a basis contains m variables (one isolated in each constraint) and there are a finite number of variables to select from. A standard result in linear algebra states that, once the basic variables have been selected, all the entries in the tableau, including the objective value, are determined uniquely. Consequently, there are only a finite number of canonical forms as well. If the objective value strictly increases after every pivot, the algorithm never repeats a canonical form and must determine an optimal solution after a finite number of pivots (any nonoptimal canonical form is transformed to a new canonical form by the simplex method).