Der Simplex-Algorithmus ist ein Verfahren, was in der linearen Planungsrechnung verwendet werden kann, um ein optimales Produktionsprogramm anhand einer Produktionsfunktion aufzustellen. Hier wird der Algorithmus anhand eines Beispiels verdeutlicht, da die Erfahrung gezeigt hat, dass ein theoretisches Verständnis aufgrund der anfänglich scheinbar großen Schwierigkeit des Systems eher nach einem praktischen Verständnis möglich ist.
Als Erstes wird die Zielfunktion umgeformt, sowie Schlupfvariablen1) eingefügt. Der Grund dafür ist, dass zur Anwendung des Simplexalgorithmus das System in kanonischer Form vorliegen muss – durch die Schlupfvariablen , und werden aus den Ungleichungen Gleichungen.
Das Ausgangstabelau wird nach dem Schema Zielfunktion , Basis , Nebenbedingungen , Schlupfvariablen , Basislösung und Zielwert folgendermaßen aufgestellt:
Im konkreten Fall führt dies zu unserem Ausgangstabelau wie folgt:
Die zugehörige Basislösung lautet .
Der Algorithmus wird solange durchgeführt, wie in der Zielfunktionszeile (Zeile ) noch negative Werte stehen.
Die neue Basisspalte wird die jenige, deren Wert der Kleinste in der Zielfunktionszeile ist – hier also . Die Aktuelle Basis ist übrigens , im ersten Schritt nämlich immer Teil der Schlupfvariablen.
Die Spalte, die aus der Basis auszuschließen ist, wird folgendermaßen ermittelt: Ergebnisvektor durch Zielvektor komponentenweise teilen, negative Werte und eins nicht berücksichtigen, der kleinste Wert hat gewonnen, besser gesagt verloren, also geht es hier um diese Vektoren/Werte:
Wie beschrieben teilen:
Da null wie gesagt nicht berücksichtigt wird, ist 3,5 der entscheidende Wert2). Die Rechnung, mit der wir den Wert erhalten haben, steht in der Zeile , daher teilen wir diese Zeile im Tabelau komplett durch 6, also durch die Zahl, durch die wir die 3,5 erhalten haben – hier die veränderte Zeile (ganz unten) im Tabelau: (““)
Das Element der neuen Basisspalte (), was an der Stelle steht, wo bei der alten Basisspalte die 1 stand, wird neues Pivotelement. In unserem Tabelau hier in eckige Klammern eingefasst:
Jedes Element in der Zeile des Pivotelements, also jedes Element in der sogenannten „Pivotzeile“, wird durch das Pivotelement geteilt, hier also alles durch eins, was nichts verändert:
Wichtig ist hier in der Tat, das Pivotelement auch durch sich selbst zu teilen, damit es zu 1 wird! Das ist ja die Vorraussetzung für eine Basisspalte.
Dementsprechend müssen jetzt die passenden Nullen mittels Gaußumformungen bzw. Pivot-Schritten erzeugt werden.