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.