Das Simplex Verfahren gehört zu den Optimierungsmethoden im Operations Research zur Findung einer optimalen Lösung von linearen Optimierungsproblemen.
Dieses Kapitel zeigt dir, was man unter dem Simplex Verfahren versteht, warum es wichtig ist und wie es angewendet wird. Außerdem stellen wir dir passende Übungsaufgaben bereit, mit denen du dich auf deine nächste Prüfung vorbereiten kannst.
Synonym: Simplex Algorithmus
Warum ist das Simplex Verfahren wichtig?
Die Optimierung der innerbetrieblichen Prozesse ist Grundlage für den wirtschaftlichen Erfolg eines Unternehmens. Das Simplex Verfahren stellt eine Möglichkeit dar, mit der Prozesse und Probleme optimal gelöst werden können, d.h. die bestmögliche Lösung gefunden werden kann. Angewendet werden kann das Simplex Verfahren beispielsweise in den Bereichen:
- Produktionsplanung
- Kostenoptimierung
- Gewinnmaximierung
- Personaleinsatzplanung
- Planung von Marketing- und Verkaufsfördermaßnahmen
- uvm.
Überall dort, wo unter verschiedenen Bedingungen eine optimale Lösung gefunden werden muss, kann das Simplex Verfahren genutzt werden, sofern das zu lösende Problem in lineare Gleichungen übertragen werden kann. In der betrieblichen Praxis werden hierfür spezielle Software-Programme genutzt, um die benötigte Zeit zu reduzieren.
Was versteht man unter dem Simplex Verfahren?
Das Simplex Verfahren ist eine mathematische Methode zur Lösung linearer Optimierungsprobleme bzw. zur Feststellung der Nichtexistenz einer optimalen Lösung. Die optimale Lösung ist der Schnittpunkt zweier Nebenbedingungen, welcher innerhalb der zulässigen Lösungsmenge liegt.
Schritt für Schritt wird dabei der Wert der Zielfunktion verbessert, bis es keine bessere Lösung mehr gibt. Dies ist dann die optimale Lösung der Zielfunktion und somit die optimale Lösung des gegebenen Optimierungsproblems.
Zur Anwendung des Simplex Verfahrens benötigt man folgende Elemente:
- Die Zielfunktion, welche optimiert werden soll
- Die gegebenen Nebenbedingungen, welche die Einschränkungen des Lösungsraumes darstellen
- Die Nichtnegativitätsbedingung der Variablen
Die unterschiedlichen Varianten des Simplex Verfahrens
Das Simplex Verfahren kann je nach zu lösendem Problem in unterschiedlichen Varianten genutzt werden:

Primale Simplex: Beispiel
Die “Computernerd AG” stellt sowohl Laptops (x1) als auch Tablets (x2) her. Gesucht wird das optimale Produktionsprogramm, mit dem der Deckungsbeitrag (z) maximiert werden kann (Zielfunktion).
Mit Produkt A kann das Unternehmen einen Deckungsbeitrag von 600 € pro Stück erzielen, mit Produkt B einen Deckungsbeitrag von 1.000 €. Für die Produktion werden die Maschinen 1, 2 und 3 benötigt.
Diese haben folgende monatliche Kapazität:
- Maschine 1 = 340 Stunden
- Maschine 2 = 300 Stunden
- Maschine 3 = 360 Stunden
Die Fertigung eines Laptops benötigt jeweils 2 Stunden an Maschine 1 und 2. Für ein Tablet werden 4 Stunden an Maschine 1, 2 Stunden an Maschine 2 und 6 Stunden an Maschine 3 benötigt.
Ausgangsbedingungen aufstellen
Es ergeben sich also folgende Bedingungen zur Lösung des Optimierungsproblems:
Zielfunktion (ZF):
Nebenbedingungen:
Bedingungen in Gleichungen überführen
Um das Simplex Verfahren anwenden zu können, müssen die aufgestellten Bedingungen in Gleichungen überführt werden. Hierzu werden Schlupfvariablen eingesetzt, die in diesem Fall die nicht genutzte Kapazität der einzelnen Maschinen darstellen.
Diese aufgestellten Gleichungen werden nun in das Simplex Tableau eingetragen, wobei b die aktuelle Basislösung darstellt, x1 und x2 die Nichtbasisvariablen und yi die Basisvariablen. 600 und 1000 sind in diesem Fall die Zielfunktionskoeffizienten ci.
x1 | x2 | rechte Seite | |
-z | 600 | 1000 | 0 |
ya | 2 | 4 | 340 = b |
yb | 2 | 2 | 300 = b |
yc | 0 | 6 | 360 = b |
Zulässige Ausgangslösung bestimmen
Da für den Simplex Algorithmus die Nichtnegativitätsbedingung gilt, kann in dieser Phase der Einfachheit halber für die Nichtbasisvariablen (x1 und x2) der Wert Null angenommen werden, um eine der zulässigen Lösungen für die Basisvariablen zu erhalten. So ergibt sich:
- ya = 340
- yb = 300
- yc = 360
Die Basisvariablen ergeben nun die Basis B, von denen die Einheitsmatrix die Basismatrix AB darstellt. Die entsprechende Basislösung ist A-1B b = b für den Fall, dass x1 und x2 gleich Null sind, also keine Produkte produziert werden.
Ausgangslösung verbessern
Da jedoch das optimale Produktionsprogramm bestimmt werden soll, können wir uns nicht mit der gefunden Lösung für den Nichtproduktionsfall zufrieden geben und müssen nach einer besseren Lösung suchen.
Zuerst wird dazu eine Pivotzeile und -spalte ausgesucht. Hierzu wird eine der Basisvariablen gegen eine unabhängige Variable ausgetauscht. Das Ziel ist die Verbesserung des Zielfunktionswerts, weshalb dazu Nichtbasisvariablen mit positivem Zielfunktionskoeffizienten in Frage kommen.
Anschließend wird diese Variable so weit erhöht, bis einer oder auch mehrere der Basisvariablen null ergeben. Somit kann eine der Basisvariablen gegen die Nichtbasisvariable ausgetauscht werden.
x1 als Nichtbasisvariable hat den zugehörigen Zielfunktionskoeffizienten 600. Durch eine Erhöhung kann die Zielfunktion vergrößert werden. Daher kann Sie als basis-eintretende Pivotvariable in Frage kommen.
Bei der Erhöhung gelten in unserem Beispiel folgende Bedingungen:
oder auch:
So erhält man die erste Basisvariable, welche auf null stößt, mit dem Quotienten 300/1, welcher yb ist. Tauscht man diese also gegen x1 aus, so ergibt sich der Zielfunktionswert:
Da x2 mit 1.000 ebenfalls einen positiven Zielfunktionskoeffizienten hat, kommt auch diese als eintretende Nichtbasisvariable in Betracht. Demnach führen wir auch für x2 die eben gemachten Schritte durch und erhalten:
Der gefunden minimale Quotient 360/6 ist yc, wodurch sich für den Zielfunktionswert ergibt:
Um die Zielfunktion zu maximieren, nutzen wir also den ersten Fall und legen die Nichtbasisvariable x1 anstelle der Basisvariablen yb frei.
Austauschschritt durchführen
In diesem Schritt ersetzen wir die Basisvariable yb nach unserem vorherigen Ergebnis durch x1:
Anschließend wird in den übrigen Gleichungen x1 entsprechend ersetzt:
Im Simplex Tableau übernimmt nun x1 die Zeile von yb und yb die Spalte von x1, sodass das neue Simplex Tableau nun folgendermaßen aussieht:
yb | x2 | rechte Seite | |
-z | -300 | 400 | -90.000 |
ya | -1 | 4 | 40 = b |
x1 | -1/2 | -1 | 300 = b |
yc | 0 | 6 | 360 = b |
Daraus ergibt sich das folgende neue Gleichungssystem:
Für die “Computernerd AG” bedeutet das:
- Sie produziert 150 Laptops und keine Tablets.
- Der zu erzielende Deckungsbeitrag liegt bei 90.000 €.
- Maschine 1 wird dabei nur 300 Stunden im Monat genutzt und hat eine Leerlaufzeit von 40 Stunden.
- Die Kapazität von Maschine 2 wird vollständig ausgenutzt.
- Da für die Produktion der Laptops die Maschine 3 nicht benötigt wird, liegt ihre Leerlaufzeit bei den vollen 360 Stunden ihrer Kapazität.
Simplexschritte wiederholen
Das entstandene Simplex Tableau enthält noch immer einen positiven Zielkoeffizienten. Demnach muss noch eine bessere Lösung existieren. Da nur noch x2 einen positiven Zielkoeffizienten enthält, kommt auch nur noch diese als eintretende Nichtbasisvariable als Pivotelement in Frage. Wie oben beschrieben wird nun auch für x2 die Basisvariable gesucht. So ergibt sich:
Als einzige Basisvariable für einen Pivot kommt also ya in Frage. Daher wird diese Basisvariable durch x2 ausgetauscht. Es ergibt sich nach Durchführung der oben genannten Umrechnungen also folgendes neues Gleichungssystem:
Das neue Simplex Tableau sieht folgendermaßen aus:
yb | ya | rechte Seite | |
-z | -700 | -400 | -94.000 |
x2 | -1 | -1 | 10 = b |
x1 | -1,5 | -1 | 140 = b |
yc | 6 | -6 | 300 = b |
Dualer Simplex
Der Duale Simplex wird verwendet, wenn in der rechten Seite des Simplex Tableaus negative Werte vorhanden sind und man die Zielfunktion maximieren möchte. Im Grunde ist das Verfahren dem primalen Simplex ähnlich, da auch hier in der Normalform eine Einheitsmatrix unter Verwendung von Schlupfvariablen gebildet werden muss.
Das Vorgehen beim dualen Simplex wird anhand des folgenden Beispiels deutlich:
Nebenbedingungen:
Weiterhin gilt die Nichtnegativitätsbedingung, also:
Zuerst muss das zu lösende Problem in ein Maximierungsproblem umgewandelt werden, welches mit Kleiner-Gleich-Nebenbedingungen beschrieben wird.
Hierzu wird die Zielfunktion mit (-1) multipliziert:
Die Nebenbedingungen sind als Größer-Gleich-Nebenbedingungen gegeben. Damit wir Kleiner-Gleich-Nebenbedingungen erhalten, müssen diese ebenfalls mit (-1) multipliziert werden.
Da auf der rechten Seite negative Werte vorhanden sind, kann der primale Simplex nicht genutzt werden. Daher kommt der duale Simplex zur Anwendung. Dazu werden zunächst die Schlupfvariablen yi eingeführt, um das Problem in die Normalform zu übertragen.
Das Simplex-Tableau sieht demnach folgendermaßen aus:
x1 | x2 | bi | |
-z | 1 | 1 | 0 |
y1 | -1 | 2 | -1 |
y2 | -1 | -2 | -4 |
y3 | -1 | 1 | 2 |
Wie beim primalen Simplex auch, wird zuerst die Pivotzeile ausgesucht. Der kleinste negative Wert ist hier -4, weshalb y2 die Pivotzeile darstellt.
Anschließend wird die Pivotspalte gewählt. Hierbei werden die negativen Werte der Pivotzeile berücksichtigt und der jeweilige Quotient gebildet:
Der maximale Quotient ist also -1/2
. Er wird gewählt, wonach die Pivotspalte die zweite Spalte ist. Das Pivotelement findet sich am Schnittpunkt von Pivotspalte und Pivotzeile und ist -2:
x1 | x2 | bi | |
-z | 1 | 1 | 0 |
y1 | -1 | 2 | -1 |
y2 | -1 | -2 | -4 |
y3 | -1 | 1 | 2 |
Entsprechend dem primalen Simplex wird nun der erste Austauschschritt vollzogen und das neue Simplex-Tableau aufgestellt:
x1 | y2 | bi | |
-z | 1/2 | 1/2 | -2 |
y1 | -2 | 1 | -5 |
y2 | 1/2 | -1/2 | 2 |
y3 | -1/2 | -1/2 | 4 |
Da noch ein weiterer negativer Eintrag auf der rechten Seite vorhanden ist, wird ein weiterer Schritt des dualen Simplex durchgeführt. Analog zum vorherigen Vorgehen werden zunächst Pivotspalte- und zeile ausgewählt, um das Pivotelement zu erhalten:
x1 | y2 | bi | |
-z | 1/2 | 1/2 | -2 |
y1 | -2 | 1 | -5 |
x2 | 1/2 | -1/2 | 2 |
y3 | -1/2 | -1/2 | 4 |
Durch die Anwendung der Austauschschritte erhalten wir nun das neue Simplex-Tableau:
y1 | y2 | bi | |
-z | 1/4 | 3/4 | -13/4 |
x1 | -1/2 | -1/2 | 5/2 |
x2 | 1/4 | -1/4 | 3/4 |
y3 | -1/4 | -3/4 | 21/4 |
Da keine negativen Werte mehr auf der rechten Seite zu finden sind, ist die optimale Lösung gefunden:
Big-M-Methode
Die Big-M-Methode ist eine weitere Variante des Simplex Verfahrens. Mit ihr kann eine optimale Lösung gefunden werden, ohne eine Einheitsmatrix mit Schlupfvariablen bilden zu müssen.
Allerdings funktioniert das nur, wenn:
- die Werte der rechten Seite nicht negativ sind
- das Gleichungssystem in Normalform vorhanden ist
- die Zielfunktion maximiert werden soll
Beispiel zur Big-M-Methode
Nebenbedingungen:
Unter Einbringung zusätzlicher Schlupfvariablen kann dieses Gleichungssystem in die Normalform gebracht werden:
Die Zeilen, welche negative Schlupfvariablen enthalten, werden nun durch die künstlichen Variablen yi ergänzt. In der Zielfunktion werden diese künstlichen Variablen mit einer möglichste hohen Zahl M (Big M) multipliziert.
Anschließend werden die Nebenbedingungen entsprechend nach y1 und y2 umgestellt:
Diese werden nun in die Zielfunktion eingesetzt:
Die nun erhaltene Zielfunktion wird soweit vereinfacht, bis der F-Teil und der M-Teil ablesbar ist. Damit erhalten wir:
Der erste Teil der Big-M-Methode ist damit abgeschlossen. Anschließend wird das Gleichungssystem in das Simplex-Tableau übertragen, welches dann folgendermaßen aussieht:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | y1 | y2 | bi | |
x4 | -2 | 2 | 1 | 0 | 0 | 0 | 20 | |||
y1 | 2 | -2 | -1 | 0 | 0 | 1 | 24 | |||
x6 | 2 | -2 | -2 | 0 | 0 | 1 | 0 | 16 | ||
y2 | 4 | -2 | 2 | 0 | 0 | 0 | -1 | 1 | 4 | |
F | 2 | 2 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | |
M | -6M | -2M | 0 | 0 | M | 0 | M | 0 | 0 | -28M |
Die Auswahl der Pivotspalte ergibt sich aus dem kleinsten Wert der M-Zeile. In diesem Fall also -6M. Zur Wahl der Pivotzeile berechnest du den Quotienten aus bi und den Eintragungen in der vorher gewählten Pivotspalte.
Es ergibt sich also:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | y1 | y2 | bi | Quotient | |
x4 | -2 | 2 | 1 | 0 | 0 | 0 | 20 | ||||
y1 | 2 | -2 | -1 | 0 | 0 | 1 | 24 | 12 | |||
x6 | 2 | -2 | -2 | 0 | 0 | 1 | 0 | 16 | 8 | ||
y2 | 4 | -2 | 2 | 0 | 0 | 0 | -1 | 1 | 4 | 1 | |
F | 2 | 2 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | ||
M | -6M | -2M | 0 | 0 | M | 0 | M | 0 | 0 | -28M |
Der kleinste Quotient ist die 1. Das Pivotelement ist damit die 4:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | y1 | y2 | bi | Quotient | |
x4 | -2 | 2 | 1 | 0 | 0 | 0 | 20 | ||||
y1 | 2 | -2 | -1 | 0 | 0 | 1 | 24 | 12 | |||
x6 | 2 | -2 | -2 | 0 | 0 | 1 | 0 | 16 | 8 | ||
y2 | 4 | -2 | 2 | 0 | 0 | 0 | -1 | 1 | 4 | 1 | |
F | 2 | 2 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | ||
M | -6M | -2M | 0 | 0 | M | 0 | M | 0 | 0 | -28M |
Anschließend werden dem Tableau neue Zeilen hinzugefügt, um die Big-M-Methode anwenden zu können. Dazu wird die Nichtbasivariable aus der vorher definierten Pivotspalte als neue Basivariable gegen die künstliche Variable y2 ausgetauscht. In der Pivotspalte wird damit ein Einheitsvektor geschaffen, unter der Einbeziehung der F- und der M-Zeile.
Daraus ergibt sich folgende Iteration:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | y1 | y2 | bi | Quotient | |
x4 | -2 | 2 | 1 | 0 | 0 | 0 | 20 | ||||
y1 | 2 | -2 | -1 | 0 | 0 | 1 | 24 | 12 | |||
x6 | 2 | -2 | -2 | 0 | 0 | 1 | 0 | 16 | 8 | ||
y2 | 4 | -2 | 2 | 0 | 0 | 0 | -1 | 1 | 4 | 1 | |
F | 2 | 2 | 6 | 0 | 0 | 0 | 0 | 0 | 0 | ||
M | -6M | -2M | 0 | 0 | M | 0 | M | 0 | 0 | -28M | |
x4 | 0 | 1 | 1 | 1 | 0 | 0 | -1/2 | 22 | 22 | ||
y1 | 0 | 1 | -3 | -1 | 0 | 1/2 | 22 | 22 | |||
x6 | 0 | -1 | -3 | 0 | 0 | 1 | 1/2 | 14 | |||
y2 | 1 | -1/2 | 1/2 | 0 | 0 | 0 | -1/4 | 1 | |||
F | 0 | 3 | 5 | 0 | 0 | 0 | 1/2 | 0 | -2 | ||
M | 0 | -M | 3M | 0 | 0 | 0 | -M/2 | 0 | -22M |
Da y2 durch x1 ersetzt wurde, wird auch diese Spalte direkt eliminiert. Um die optimale Lösung mit der Big-M-Methode zu erhalten, werden die vorhergehenden Schritte solange angewendet, bis keine künstlichen Variablen mehr enthalten sind. In diesem Falle ist noch y1 vorhanden.
Durch einen weiteren Iterationsschritt zur Entfernung dieser künstlichen Variablen erhältst du folgendes Tableau:
x1 | x2 | x3 | x4 | x5 | x6 | x7 | y1 | y2 | bi | Quotient | |
x4 | 0 | 1 | 1 | 1 | 0 | 0 | -1/2 | 22 | 22 | ||
y1 | 0 | 1 | -3 | -1 | 0 | 1/2 | 22 | 22 | |||
x6 | 0 | -1 | -3 | 0 | 0 | 1 | 1/2 | 14 | |||
x1 | 1 | -1/2 | 1/2 | 0 | 0 | 0 | -1/4 | 1 | |||
F | 0 | 3 | 5 | 0 | 0 | 0 | 1/2 | 0 | -2 | ||
M | 0 | -M | 3M | 0 | M | 0 | -M/2 | 0 | -22M | ||
x4 | 0 | 0 | 4 | 1 | 1 | 0 | -1 | 0 | |||
x2 | 0 | 1 | 0 | -1 | -1 | 0 | 22 | ||||
x6 | 0 | 0 | -6 | 0 | -1 | 1 | 1 | 36 | |||
x1 | 2 | 0 | -2 | 0 | -1 | 0 | 0 | 12 | |||
F | 0 | 0 | 8 | 0 | 2 | 1 | 0 | -68 | |||
M | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Da keine negativen Einträge mehr in der F-Zeile zu finden sind, ist die optimale Lösung gefunden:
Ist noch keine optimale Lösung nach Anwendung der Big-M-Methode gefunden, so kann die Berechnung einfach mit dem primalen Simplex Verfahren fortgesetzt werden.
Vorteile und Nachteile des Simplex Verfahrens
- Verschiedenste Optimierungsprobleme können gelöst werden.
- Mit dem primalen und dualen Simplex und der Big-M-Methode stehen verschiedene Lösungsmöglichkeiten für unterschiedliche Voraussetzungen zur Verfügung.
- Die händisch angewandte Lösung von Optimierungsproblemen in der betrieblichen Praxis erfordert einen hohen Zeitaufwand, weshalb spezielle Software-Programme nötig sind.
Übungsaufgaben
#1. Was versteht man unter dem Simplex Verfahren?
#2. Welche Varianten des Simplex Verfahrens gibt es
#3. “Die Lösung von Optimierungsproblemen mit dem dem Simplex Verfahren wird in der betrieblichen Praxis von ausgebildeten Fachkräften händisch durchgeführt, da sie sehr schnell durchzuführen ist.” – Diese Aussage ist:
#4. “Das Simplex Verfahren gehört zu den Optimierungsmethoden im Operations Research zur Findung einer optimalen Lösung von linearen Optimierungsproblemen.” – Diese Aussage ist:
#5. “Bei allen Varianten des Simplex Verfahrens gilt die Nichtnegativitätsbedingung” – diese Aussage ist:
Ergebnisse
Sie müssen den Inhalt von reCAPTCHA laden, um das Formular abzuschicken. Bitte beachten Sie, dass dabei Daten mit Drittanbietern ausgetauscht werden.
Mehr Informationen