# The Simplex Algorithm

• Richard Kipp Martin

## Abstract

In Chapter 2 a projection algorithm was given for solving linear programs. Unfortunately, this projection algorithm is not practical because the number of constraints resulting from projecting out variables is generally an exponential function (and possibly doubly exponential) of the number of variables projected out. In this chapter we develop the simplex algorithm for solving linear programs. Although not a polynomial algorithm, the simplex algorithm due to Dantzig [108] is very effective and was the first practical algorithm for solving linear programs. The motivation behind the simplex algorithm is given in Section 5.2. The simplex algorithm is based on pivoting and this idea is introduced in Section 5.3. Important enhancements on the simplex algorithm are given in Sections 5.4 and 5.5. These enhancements have contributed dramatically to the success of simplex in solving real world models. In Section 5.6 rules are given to guarantee finite convergence of the simplex algorithm. The complexity of the simplex method is addressed in Section 5.7. Concluding remarks are given in Section 5.8. Exercises are provided in Section 5.9.

## Keywords

Dual Solution Simplex Algorithm Basic Feasible Solution Negative Cost Nonbasic Variable
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.