Inhaltsverzeichnis
In diesem Abschnitt wird das im vorherigen Abschnitt grafisch gelöste Optimierungsproblem mittels primalen Simplexverfahren gelöst. Es müssen folgenden Voraussetzungen vorliegen, damit das primale Simplexverfahren angwandt werden kann:
- Es muss die Standardform vorliegen (Maximierungsproblem, Kleiner/Gleich-Nebenbedingung, Nichtnegativitätsbedingung)
- Die Standardform muss dann in die Normalform überführt werden (Gleichheitsbedingung) mittels Einführung von Schlupfvariablen.
- Es müssen nicht-negative Koeffizienten auf der Rechten-Seite der Nebenbedingungen vorliegen ($b_i \ge 0$, für alle $i$).
Liegt nicht die Standardform vor, so muss das gegebene Optimierungsmodell noch in diese überführt werden. Entsprechende Vorgehensweise kann dem Abschnitt Umformung in die Standardform entnommen werden.
Beispiel 1: Primales Simplexverfahren
Es ist das folgende Optimierungsproblem gegeben (siehe vorherigen Abschnitt):
$f(x_1, x_2) = z = 250x_1 + 450 x_2$ $ \rightarrow$ max!
u.d.N.
$4x_1 + 3x_2 \le 24$
$2x_1 + 4x_2 \le 24$
$4x_1 + 5x_2 \le 32$
$x_1, x_2 \ge 0$
Das Optimierungsproblem liegt in Standarform vor. Es muss nun noch in die Normalform überführt werden. Dies geschieht, indem Schlupfvariablen eingeführt werden und dadurch die $\le$-Bedingung in eine $=$ Bedingung umgeformt wird. Die Schlupfvariablen gehen mit dem Faktor Null in die Zielfunktion ein:
$f(x_1, x_2) = z = 250x_1 + 450 x_2$ $ \rightarrow$ max!
u.d.N
$4x_1 + 3x_2 + x_3 = 24$
$2x_1 + 4x_2 + x_4 = 24$
$4x_1 + 5x_2 + x_5 = 32$
$x_1, x_2, x_3, x_4, x_5 \ge 0$
Nachdem nun das Optimierungsproblem in die Normalform überführt worden ist, kann als nächstes das Tableau aufgestellt werden:
Dieses Anfangstableau besitzt bereits eine 1. Basislösung (Voraussetzung für das primale Simplexverfahren). Diese Basislösung stellt eine zulässige jedoch keine optimale Lösung dar. Die zulässige Lösung lautet wie folgt:
$x_1 = 0$ und $x_2 =0$ und damit
$x_3 = 24$, $x_4 = 24$ und $x_5 = 32$.
Es werden also keine der beiden Produkte hergestellt, somit stehen die Kapazitäten im vollen Umfang zur Verfügung. Der Zielfunktionswert beträgt demnach den Wert $z = 0$. Es wird also kein Gewinn generiert.
Um nun eine optimale Lösung zu erhalten, wird als nächstes das Primale Simplexverfahren angewandt. Dazu werden zunächst Pivotspalte, Pivotzeile und Pivotelement ausgewählt:
Zunächst wird die Pivotspalte bestimmt. Diese wird ausgewählt, indem der kleinste negative Wert der Zielfunktionszeile (unterste Zeile) gewählt wird (hier: $-450$). Danach folgt die Pivotzeile. Dazu werden die Werte der rechten Seite mit den Werte der Pivotspalte dividiert (diese müssen positiv sein). Es wird der kleinste Quotient ausgewählt, in dem obigen Beispiel $24:4 = 6$. Dort wo sich Pivotspalte und Pivotzeile treffen liegt das Pivotelement (hier: $4$).
Es kann nun begonnen werden den 1. Simplexschritt durchzuführen. Die Basisvariable und Nichtbasisvariable des Pivotelements müssen für das neue Tableau vertauscht werden:
Das obige Tableau ist für den 1. Simplexschritt ermittelt worden. Es wurde wie folgt vorgegangen:
Das Pivotelement geht mit seinem reziproken Wert ein: $\frac{1}{4}$
Die neuen Elemente der Pivotzeile werden ermittelt, indem die alten Werte durch das Pivotelement geteilt werden.
Die neuen Elemente der Pivotspalte werden ermittelt, indem die alten Werte durch das Pivotelement geteilt und mit $-1$ multipliziert werden.
Die restlichen Werte werden bestimmt indem der alte Wert abzüglich der alten Werte aus zugehöriger Pivotspalte mal Pivotzeile durch Pivotelement berechnet wird. Z.B.: Der Wert $\frac{6}{4}$ wurde bestimmt durch:
$4 - \frac{2 \cdot 5}{4}$.
Der Zielfunktionswert wurde ermittelt, indem die Basisvariablen mit den Werten der rechten Seite in die Zielfunktion eingesetzt werden:
$ z = 250 \cdot 0 + 450 \cdot 6 = 2.700$.
Weiterer Simplexschritt
Da noch ein negativer Wert in der Zielfunktionszeile auftaucht, kann ein weiterer Simplexschritt durchgeführt werden, um den Zielfunktionswert weiter zu maximieren.
Es werden zunächst wieder Pivotspalte, Pivotzeile und Pivotelement ausgewählt:
Zunächst wird die Pivotspalte bestimmt. Diese wird ausgewählt, indem der kleinste negative Wert der Zielfunktionszeile (unterste Zeile) gewählt wird (hier: $-25$). Danach folgt die Pivotzeile. Dazu werden die Werte der rechten Seite mit den Werte der Pivotspalte dividiert (diese müssen positiv sein). Es wird der kleinste Quotient ausgewählt, in dem obigen Beispiel $2:6/4 = 1,33$. Dort wo sich Pivotspalte und Pivotzeile treffen liegt das Pivotelement (hier: $6/4$).
Es kann nun begonnen werden den Simplexschritt durchzuführen. Die Basisvariable und Nichtbasisvariable des Pivotelements müssen für das neue Tableau vertauscht werden:
Es handelt sich bei dem obigen Tableau um das Endtableau, da keine negativen Werte mehr in der Zielfunktionzeile vorhanden sind. Es werden für $x1 = \frac{4}{3}$ Mengen und für $x_2 = \frac{16}{3}$ Mengen hergestellt. Ingesamt ergib sich der Zielfunktionswert durch:
$z = 250 \cdot \frac{4}{3} + 450 \cdot \frac{16}{3} = 2.733$.
Der Gewinn für das Unternehmen beträgt demnach 2.733 €. Im vorherigen Abschnitt ist ein Gewinn in Höhe von 2.710 € ermittelt worden. Der Unterschiedsbetrag lässt sich auf die Rundungen der Mengen zurückführen. Am Ende ist aber klar, dass beide Verfahren zum selben Ergebnis führen.
Merke
Das im Normalfall nur ganze Mengen produziert bzw. abgesetzt werden können, soll in diesem Beispiel vernachlässigt werden.
Die Kapazitäten der Maschine 2 und der Montagearbeiter werden zu 100% ausgenutzt. Dies sieht man an den Schlupfvariablen $x_4$ und $x_5$, welche im letzten Tableau Nichtbasisvariablen darstellen. Nichtbasisvariablen besitzen immer den Wert null. Da diese Schlupfvariablen innerhalb der Restriktionen für die Maschinenkapazität 2 und für die Montagearbeiter zu finden sind, gilt für diese die vollständige Ausnutzung der Kapazität. Dies kann man auch ganz einfach ermitteln, indem man $x_1 = \frac{4}{3}$ und $x_2 = \frac{16}{3}$ in die Restriktionen 2 und 3 einsetzt:
$2 \cdot \frac{4}{3} + 4 \cdot \frac{16}{3} + x_4 = 24$
Es bleibt also $x_4 = 0$ übrig, da die beiden Produkte die Kapaizität der Maschine 2 vollständig ausnutzen.
$4 \cdot \frac{4}{3} + 5 \cdot \frac{16}{3} + x_5 = 32$
Es bleibt also für $x_5 = 0$ übrig, da die beiden Produkte die Kapazität der Monatgearbeiter vollständig ausnutzen.
Für die Kapazität der Maschine 1 hingegen (siehe zunächst Tableau) bleiben $x_3 = \frac{8}{3}$ der Kapazität übrig. Die Maschine wird also nicht zu 100% ausgenutzt. Durch Einsetzen von $x_1 = \frac{4}{3}$ und $x_2 = \frac{16}{3}$ in die 1. Restriktion ergibt sich dieses Ergebnis ebenfalls:
$4 \cdot \frac{4}{3} + 3 \cdot \frac{16}{3} + x_3 = 24$
Es bleibt also für $x_3 = \frac{8}{3}$ an Kapazität übrig, da die beiden Produkte die Kapazität der Maschine 1 nicht vollständig ausnutzen.
Beispiel 2: Primaler Simplexalgorithmus
Beispiel 3: Primaler Simplexalgorithmus
Weitere interessante Inhalte zum Thema
-
Lösung des Maximierungsproblems mittels primalen Simplexalgorithmus
Vielleicht ist für Sie auch das Thema Lösung des Maximierungsproblems mittels primalen Simplexalgorithmus (Grundlagen des Operations Research 1) aus unserem Online-Kurs Operations Research 2 interessant.
-
Einperiode Produktionsprogrammplanung (ein Engpass)
Vielleicht ist für Sie auch das Thema Einperiode Produktionsprogrammplanung (ein Engpass) (Aggregierte Produktionsplanung) aus unserem Online-Kurs Produktion interessant.