## Advanced Simplex Pivot Tool

### For Those Who Really Hate Doing Arithmetic By Hand

#### Introduction

Below is a java applet that can be used to solve linear programming problems.
Edit the two text fields to specify the number of rows and columns you want,
use the pulldown menu to select which flavor of the applet to run,
and then click on the *Go Pivoting* button.

A new window will pop up with an empty dictionary having the correct dimensions.
You can enter data elements into each text field to define a specfic problem.
Alternatively, you can click on *generate random problem* to quickly get
a random problem to play with.

To make a pivot, simply click on the variable-button that you want to pivot
around. If you click on a button associated with a zero pivot element, the
applet will complain.

Primal infeasible right-hand side coefficients are highlighted in fuscia
(after the first pivot) as are dual infeasible cost coefficients.
When all the fuscia cells are gone, you have an optimal dictionary.

This applet features an artificial objective row and an artificial right-hand
side column, which can be used to guide pivot choices for either a primal or a
dual phase one process. When generating a random problem, the coefficients
in the artificial row are set to -1. Hence, this row represents a dual
feasible objective function. Similarly, the artificial column is initialized
to +1 and therefore represents a primal feasible objective. When pivoting, any
infeasibilities that occur in these artificial row/columns are highlighted in
yellow.

Click here for hints on how to use the applet.

**
Bugs.
**
This applet works fine when accessed via Netscape3 on most UNIX workstations
and it works fine with either Netscape4 or InternetExplorer4 on WindowsNT. Most other
browser/platform combinations do not work correctly. The problem seems
to be due to bugs in the browser's JAVA interpreter
as implemented on the given platform.
If you have trouble getting the applet to behave as described above, try
finding a different browser/platform combination.