Hints on Using the Advanced Simplex Pivot Tool

Back to Advanced Pivot Tool

Introduction

The advanced pivot tool can serve as an aid for several variants of the simplex method. In particular, it can be used for all of the variants of the simplex method described in Linear Programming: Foundations and Extensions (LP:F&E) by Robert Vanderbei. A few pointers are given below.

The Dual-Phase-I Primal-Phase-II Method

This two-phase method is described in section 5.7 of LP:F&E. To use the applet, first enter the data that describes the particular problem. The artificial objective row (i.e., the second row) is initialized with all -1's. These numbers can be changed if desired but must all remain nonpositive. The artificial right-hand-side column (i.e., the second column) is initialized with all 1's. For this method, this column is of no use. You can either simply ignore it or, if you prefer, you can zero out the entries in this column.

The phase I procedure uses the true right-hand side column and the artificial objective row. Any negative entry in the right-hand side column may be chosen as the leaving variable. Once picked, a ratio test must be done, either by eyeballing or on scratch paper, to determine the entering variable using the artificial objective row. Once the leaving and entering variables have been determined, click on the corresponding button to actually do the pivot. If the entering variable was chosen correctly, the artificial objective row will still have all negative entries after the pivot. If it was chosen incorrectly, there will be positive entries. These will be highlighted in yellow. If a yellow highlight appears in the artificial objective row you might want to click on the Undo button to undo the last pivot. Continue with the phase I procedure until all of the entries in the right-hand-side column are nonnegative; that is, until there are no more pink highlights in this column. At this point, you are ready for phase II.

Phase II is the ordinary simplex method applied to a primal-feasible dictionary. For this phase, we ignore both the artificial column and the artificial row. Possible entering variables are highlighted in pink in the objective row. Choose one of these as the entering variable and then do a ratio test to determine the corresponding leaving variable. Click on the associated pivot button to do the pivot. If the leaving variable was selected correctly, then the new dictionary will still be primal feasible. If it is infeasible, you will see at least one pink cell in the right-hand-side column. If that happens, you might want to hit the Undo button to back up one iteration. Continue with these phase II pivots until there are no more pink highlights remaining. At this point, the dictionary is optimal. To tell the applet that you recognize that the current dictionary is optimal, click on the Optimal button. The applet will confirm if you are correct.

Infeasibility. If during phase I a ratio test reveals that no variable can enter the basis, then the problem is infeasible. If this happens, click on the Infeasible button to tell the applet that you recognize this situation.

Unboundedness. If during phase II a ratio test reveals that no variable can leave the basis, then the problem is unbounded. If this happens, click on the Unbounded button to tell the applet that you recognize this situation.

The One Phase Primal-Dual Method

This one-phase method, also known in the literature as the parametric self dual method, is described in section 7.2 of LP:F&E. To use the applet, first enter the data describing a particular problem. The artificial objective row (i.e., the second row) is initialized with all -1's and the artificial right-hand-side column (i.e., the second column) is initialized with all 1's. These numbers can be changed if desired but must all retain their initial sign. The primal-dual simplex method involves a parameter, called mu in LP:F&E. The applet doesn't explicitly show mu. Instead, one is expected to remember that mu multiplies every term in the artificial objective row as well as every term in the artificial right-hand-side column.

The applet shows in the lower-left corner the interval of mu values for which the current dictionary is optimal. This interval is determined by the requirements that each coefficient of a variable in the objective function be nonpositive and each right-hand side be nonnegative. These requirements translate into a number of inequalities on mu and the interval consists of those mu values that satisfy every inequality.

The first step is to identify which row or column is responsible for the lower bound on mu. If it is a column, then the variable associated with that column will be the entering variable and the leaving variable must be determined using a usual ratio test. On the other hand, if it is a row, then the basic variable associated with that row will be the leaving variable and the entering variable must be determined using a ratio test for the dual simplex method. Once the entering and leaving variable have been identified, do the pivot by clicking on the correct pivot button. As always, the dictionary will automatically update. In addition, a new interval of mu values will appear. If the correct pivot button was selected (generally there will only be one correct choice), then the new interval will be an interval adjacent and to the left of the old interval. In most other cases, the lower limit of the interval will be larger than the upper limit. That is, the true interval will be empty. In this case, the interval will be highlighted in yellow to indicate that something is wrong. You probably will want to hit the Undo when this happens.

Once the mu interval includes zero, the current dictionary is optimal for the original problem.

Optimization Category (Linear Programing, Integer, MIP and etc.):