Java 3D Simplex Tutorial

Written by Chris Jam Jenkins
Purpose:
The Java 3D Simplex Tutorial is an educational tool for exploring the simplex method, a key topic in linear optimizations. The purpose of the tool is allow students to explore the algorithm visually and numerically without being burdened by tedious calculations.

Benefits:
This program does not execute the simplex method; rather it gives students the utilities necessary for executing the algorithm. This allows students the freedom to explore and instructors the ability to use the program as part of assignments.

Software Requirements:
Windows 95/98/NT or Solaris operating system, Java2, Java3D API, OpenGL. Links to download sites are below.
 

Description:
The tutorial explores the full tableau primal simplex algorithm. All variables are assumed to be nonnegative and the objective is minimized. After adding constraints and setting the objective, the user starts the simplex method by adding artificial variables and initializing an auxilary objective to the sum of the artificials. Variables are brought into the basis until objective reaches zero indicating a basic feasible solution, then the user can then proceed to minimize the original objective. If a mistake is made an any iteration, the user can easily restore the tableau to its original state before starting the algorithm. Throughout the iterations, the user can examine the current solution (represented by a small cube) as it moves from vertex to vertex.

The software is extremely useful for covering the geometry of the simplex method. Topics such as degeneracy and alternate optimal solutions can be covered visually in classroom demonstrations. Because students can enter their own constraints, they too explore these topics on their own perhaps as part of the assigned course work.

Downloads:
Below are links to sites containing the software you will need in order to run the software. All of it is free, including this program. If you are not sure what is already installed on your machine, download the files in the order given until the software runs.

Comments & Suggestions:
I hope you enjoy this program and find it useful. I greatly appreciate emails letting me know that you are using the program, and I'd also value any feedback you could provide about the program. Send me an email request if you are interested in seeing any of the source code.