Simplex Pivot Tool

For Those Who Hate Doing Arithmetic By Hand


If the Java applet fails to start due to Java Security issues, click here.

Instructions

This 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 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.

The labels tab allows one to select the labels for the variable names makig it easy to set up some standard variants of the simplex method. If the dual labels are chosen and the seed value is nonzero, then the matrix entries will be the negative transpose of the values one would get with primal labels.

The seed value controls how random problems are generated. With the default value of zero, the random number generator is seeded according to the system clock. Specifying a nonzero seed value gives random problems that can be repeated by starting over with the same seed value.

Click here for a fancier version of the pivot tool which includes artificial primal and dual objectives that enable one to do two phase methods directly with the tool.

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.