Moin moin und herzlich willkommen zur vierten Übung Grundlagen des Operations Research.
Mein Name ist Tobias Filschek und ich werde gemeinsam mit Ihnen
die ersten acht der zwölf Übungen dieser Vorlesung durchgehen.
Das Thema der vierten Übung heute hier ist die Zwei-Phasen-Methode und die Dualität.
Fangen wir auch gleich einmal an mit der Übungsaufgabe 1.1.
Gegeben ist das folgende primade Problem. Wir haben hier eine
Minimierung mit drei Entscheidungsvariablen und wir haben hier vier Nebenbedingungen,
die allesamt größer gleichen Nebenbedingungen sind.
Und unsere Aufgabe ist nun herauszufinden,
wie viele Schlupfvariablen und wie viele künstliche Varianten wir hier benötigen,
um die zwei Phasen Methode anzuwenden
Bei der Zwei-Phasen-Methode handelt es sich ja um eine Alternative,
zum du einen Symplex, mit dem wir eine zulässige Ausgangslösung herstellen können.
Dann schauen Sie sich dieses gleiche System hier einmal an.
Wir haben hier vier Nebenbedingungen, die größer gleichen Nebenbedingungen sind.
Und das bedeutet ja,
wenn wir jetzt in die allgemeine Form des linearen Optimierungsproblems überführen würden,
dass wir dort gleich eine negative Schlussvariablen hätten und eine unzulässige Ausgangslösung.
Das heißt, wir können jetzt entweder den dualen Symplex anwenden
oder wir können die zwei Phasenmethode anwenden,
um eine zulässige Ausgangslösung herzustellen und dann mit den primalen Symplex
das Problem zu lösen
Du warst ja bei der Zwei-Phasen-Methode machen,
ist keine Transformation in die allgemeine Form des linie an Aptimierungsproblem,
sondern wir verwenden bei Großergleich Nebenbedingungen einfach künstliche Variablen.
Schauen wir uns hier mal gemeinsam die erste Nebenbedingung an.
Die ist ja X1 plus X3 minus Y1,
ist gleich 7, während wir hier eine Schlupfvariable einfügen wollen.
Wieso wird die Schlupfvariable hier auf der linken Seite jetzt abgezogen?
Naja, wir haben diese Nebenbedingungen ja nicht mehr mal
minus 1 multipliziert, wie wir es sonst machen würden.
Wenn sie dir jetzt mit meinem Nesse 1 multiplizieren würden,
dann würden sie die Gleichung in der allgemeinen Form des linie an Atomierungsproblems haben.
Würde dann minus X1 minus X3 plus Y1
gleich minus 7 stellen
Also so war es eigentlich noch alles ganz einfach.
Und das Problem ist halt hier, wie gesagt,
die Schlüpfvariable muss ja immer positiv sein,
damit Weihnachts- oder gleich Null sein, damit wir eine zulässige Ausgangslösung haben.
Wenn wir jetzt X1 und X2 auf Null setzen,
dann haben wir hier minus Y1 gleich 7 stehen.
Wenn wir das mitmachen, das 1 multiplizieren,
kommen wir ja darauf, dass die erste Schlüpfvariable gleich minus 7 ist.
Und das ist ja nicht vereinbar mit unserer Variablen-Domäne.
Das heißt, das ist aktuell unzulässig,
wenn wir bei einem Punkt anfangen,
wo alle Entscheidungsvariablen gleich Null sind
Was wir jetzt machen können, ist hier künstliche Variablen einzuführen.
Und zwar fügen wir hier bei der ersten Nebenbedingung, die künstliche Variable Z1 ein.
Und die addieren wir dann einfach noch auf der linken Seite
und das bedeutet für uns dann, wenn wir sagen,
X1 und X2 ist gleich null, das minus Y1,
dann ebenfalls einfach gleich null ist und Z1 nun diese sieben hier aufnimmt.
Und dann ist das Ganze zulässig.
Und alle unsere Varianten, die wir hier definieren,
können größer gleich null sein
Das ist so die ganz simple Idee hier bei den künstlichen Variablen.
Das heißt, wenn Sie die Zwei-Phasen-Methode anwenden und Sie haben
eine Größe gleichen Nebenbedingungen da stehen.
Dann fügen Sie bei dieser Ungleichung eine Schlupfvariable ein.
Und zwar ziehen Sie diese Schlupfvariable ab auf der linken Seite
der Ungleichung. Und Sie fügen eine künstliche Variable ein.
Dann können Sie da
eine Gleichung draus machen
Und das können wir natürlich auch noch für die anderen drei Nebenbedingungen machen,
die wir hier noch nicht in ein Gleichungssystem transformiert haben.
Die zweite Nebenbedingung bedeutet das einfach,
dass wir dort auf der linken Seite dergleichen wieder die Schlüpfvariable
2 abziehen und wir addieren die künstliche Variable Z2.
Für die dritte Nebenbedingung ziehen wir die Schlüpfvariable,
bleibst dann drei ab und wir addieren die künstliche Variable Z3.
Und bei der vierten Nebenbedingung handelt es sich ja ebenfalls um eine urteilreiche Nebenbedingung,
weshalb, dort gehen wir analog vor,
wir ziehen auf der linken Seite einmal die Schlüpfvariable Z3 4
ab und wir addieren die künstliche Variable
Und dann müssen wir ja nur noch unsere Zielfunktionsgleichung hier in
das Gleichungssystem überführen, damit wir unser Gleichungssystem komplett haben.
Da ist es nun wichtig,
dass wir aus der Minimierung eine Maximierung machen,
weil nur dann dürfen wir dann am Ende auch den Simplex-Algorithmus anwenden.
Das heißt, wir multiplizieren jetzt die Zielfunktionsgleichung hier mit malminus eins.
Nur das machen, kommen wir darauf,
dass wir F-Schlange maximieren und das Ganze gleich minus X-1,
minus X-2,
Und das können wir ja nun wieder ganz einfach transformieren,
um auf der rechten Seite nur noch eine Null stehen zu
haben und alle Variablen auf der linken Seite zu haben.
Dann kommen wir auf die folgende Gleichung. Plus 61,
plus 62 plus 63, plus 11 Schlange ist gleich null.
Und wieso jetzt hier die F-Schlange? Naja, es ist ja so,
dass ihr unsere Zielfunktionsfleichung in meinem Minus 1 multipliziert haben.
Das heißt, F ist jetzt
hier gleich Minus-App-Schlangen
Das ist aber mathematisch ein wenig unschön, wenn wir
jetzt im Simplex-Algorithmus hier mit einem negativen Zielfunktionswert arbeiten würden.
Und deswegen ersetzen wir unseren Zielfunktionswert einfach durch F-Schlange und wir wissen dann einfach,
F-Schlange ist gleich minus F oder F ist gleich minus F-Schlange.
Hängt einfach damit zusammen, dass unser F hier frei definierte Variable ist,
die wir so definieren können, wie wir wollen.
Und das bedeutet da hinten raus aber auch,
wenn sie sich ja am Ende den optimalen Zielfunktionswert von F-Schlange berechnet haben,
dass sie den noch mit Malminus 1 multiplizieren müssen und mit optimalen Zielfunktionswert für das Ausgangsproblem herauszufinden.
Aber das machen wir nachher gemeinsam,
dann müssen sie jetzt noch nicht
drüber nachdenken
Und in diesem Gleichungssystem sind nun alle unsere Variablen größer gleich null definiert.
Und dieses Vorgehen hier, müssen wir jetzt im Hinterkopf behalten,
um Übungsaufgabe 1.1 zu lösen. Wie viele Schöpfler Arianen und
künstliche Variablen nötigen wir nun bei der Anwendung der Zwei-Phasen-Methode?
Naja, wir benötigen auf jeden Fall vier Schlupfvariablen,
weil wir hier vier Umgleichungen haben und wir benötigen vier künstliche Variablen,
weil wir hier viel größer gleich Nebenbedingungen haben.
Haben Sie ja gerade eben bei den Variablen
Domain dann auch gesehen
Und was wir jetzt trotzdem nochmal gemeinsam hier machen,
auch wenn es in Übungsaufgabe 1.1 nicht direkt gefragt ist,
wir lösen das Ganze jetzt mal gemeinsam mit der Zwei-Phasen-Methode.
Und bevor wir da jetzt die Lösung bestimmen,
schauen wir uns mal ganz kurz an,
wie nennt denn der allgemeine Simplex-Algorithmus abläuft und wie der Simplex für Algorithmus,
damit der Zwei-Phasen-Methode abläuft.
Beim allgemeinen Simplex-Algorithmus müssen wir vier Schritte durchgehen,
die wir mittlerweile schon relativ oft hier durchdekliniert haben.
Wir fangen zuallererst einmal damit an,
dass wir
ein Gleichungssystem herstellen
Und dieses Gleichungssystem überführen wir dann in einen Ausgangstag lohnen.
Und mit diesem Ausgangstableau müssen wir dann prüfen,
ob die aktuelle Lösung zulässig ist.
Da schauen Sie in der B-Spalte einfach die Koeffizienten an.
Und wenn die alle größer gleich null sind,
dann haben wir eine zulässige Ausgangslösung. Falls Sie unzulässig ist,
wenden wir die erste Phase des Symplex-Algorithmus an, den du ein Symplex-Algorithmus hast.
In denen haben wir so lange an,
bis wir durch Basen tauschen,
dann dazu kommen,
dass wir
eine zusätzliche Ausgangslösung gefunden haben
Und im Arschlos, sobald wir eine zulässige Ausgangslösung haben,
kommen wir zu einem primären Simplex-Ironmus.
Und den wenden wir dann so lange an,
bis wir auf eine optimale Lösung kommen.
Bis auch so alle Koeffizienten in der Zielfunktionszeile unten größer gleich null sind.
Und wenn wir uns jetzt den Simplex anschauen mit der Zwei-Phasen-Methode,
dann ist das Vorgehen ein wenig anders.
Es besteht ebenfalls aus vier Schritten, aber wir müssen hier
die ein oder andere Feinheit beachten. Wir fangen zuallererst damit an,
dass wir unser Ausgangsproblem in ein Gleichungssystem transformieren,
und zwar mit der erstrangigen Zielfunktion,
die wir
ebenfalls noch bestimmen müssen
Heißt, wir müssen nicht die allgemeine Form des linearen Optimierungsproblems herstellen.
Wir müssen nur aus unserer Zielfunktion eine Maximierung machen und bei
den Nebenbedingungen entweder Schlüpferriablen oder Schlüpfvariablen und künstliche Variablen einfügen.
Wenn wir das getan haben, erstellen wir hier das Ausgangs-Simplex-Tableau,
genauso wie wir es bisher auch schon gemacht haben.
Bloß noch mit einer zusätzlichen Zeile für unsere erstrangige Zielfunktion
Ist das dann getan? Kommen wir zur Phase 1
mit dem Simplex der Zwei-Phasen-Methode. Wir müssen zuallererst einmal die
künstlichen wachenerbelnden Eluminien, bis wir eine zusätzliche Ausgangslösung haben.
Sobald wir die zusätzliche Ausgangslösung dann haben, ist es eigentlich wieder ziemlich einfach.
Wir kommen dann zum primaen Simplex-Algorithmus und gehen so viele Iterationen
weiter, bis wir dann eine Optimallösung bestimmt haben.
Und das machen wir jetzt hier mal gemeinsam, ja?
Wir transformieren das Ganze in ein Gleichungssystem mit Erstrangiger Zielfunktion,
dann erstellen wir das Ausgangstableau,
dann eliminieren wir die künstlichen Variablen und bestehen am Ende
die optimale Lösung
Und wir haben ja vorhin bereits zusammen einmal
einen Teil des Gleichungssystems hergestellt, das wir hier benötigen.
Wir haben uns schon unsere vier Nebenbedingungen hier in Gleichung überführt
und wir haben ja auch schon die korrekte jetzt,
die Funktionsgleichung aufgestellt. Dass wir es noch machen müssen,
ist die erstrangige Zielfunktion hier zu bestimmen.
Und das ist einfach die Minimierung von unseren Zielfunktionswert Z.
Wenn nichts anderes ist, als die Summe aller unserer künstlichen Variablen.
Denn was wir hier machen wollen, ist alle künstlichen Variablen auf null zu bekommen.
Denn wenn alle künstlichen Variablen auf null sind, haben wir
eine zulässige Ausgangslösung gegeben. Wenn diese künstlichen Variablen,
die nehmen ja hier aktuell die Unsflässigkeit auf,
die wir in unserem gleichen System gegeben haben
Und da wir am Simplexen-Algorithmus aber immer eine Maximierung bei den Zielfunktionen brauchen,
müssen wir zuallererst einmal die Minimierung von Z zu einer Maximierung von Z Schlange machen.
Sie erinnern sich, die Redaktion,
Z und Z Schlange ist das gleiche wie F und F-Schlange.
Heißt, Set ist nichts anderes als Minus-Z Schlange.
Wollen wir das machen? Dann haben wir hier einfach
eine Maximierung gegeben, bei der wir auf der rechten Seite
einmal alle künstlichen Variablen abziehen
Und nun müssen wir alle diese künstlichen Variablen hier einmal anhand
unserer Nebenbedingungen bestimmen. Das können wir ja ganz einfach machen,
indem wir unsere Gleichung hier nehmen, die wir vorhin hergestellt
haben und jeweils einmal die künstliche Variable auf der linken Seite isolieren.
Heißt jetzt,
ich würde meine erste Gleichung nehmen und ich würde minus X1
minus X3 plus Y1 auf beiden Seiten rechnen und ich käme dann
auf Z1 bis gleich 7 minus 61 minus X3 plus Y1.
Wir haben einfach die künstliche Variable hier isoliert aus der ersten Gleichung.
Bei der zweiten Gleichung das Gleiche. Wie isolieren die
künstliche Variable Z2
Bei der dritten Gleichung das Gleiche. Wir isolieren die künstliche Variabletze 3.
Und bei der vierten Gleichung. Vermutlich werden sie es schon wissen.
Nochmal das Gleiche. Wir isolieren die künstliche Variable Z4. Und
nachdem das getan ist, müssen wir nur noch alle isolierten,
künstlichen Variablen hier nun in die Maximierung von Zschlange einfügen.
Eine Maximierung von Z Schlange ist ja dann nichts anderes
als minus 61 plus 2, 1 plus 2,
2 plus 3 x 3, minus Y 1,
minus Y 2,
minus Y 3,
minus Y
Und da rechnen sie gerne mal nach zu Hause und
dann werden sie auch auf das gleiche Ergebnis kommen.
Man muss hier nur ein bisschen aufpassen mit den Vorzeichen,
da kann man relativ leichten Fehler machen und sich da dann irgendwo vertüdeln.
Aber grundsätzlich ist es ja eigentlich nichts Schwieriges hier,
diese künstlichen Variablen einfach in die erstrangige Zielfunktion einzusetzen.
Nachdem wir das getan haben,
müssen wir diese erstrangige Zielfunktion hier nur noch ein wenig umstrukturieren,
damit wir sie dann auch gleich im Simplex-Table kommen können.
Dafür müssen wir dafür sorgen, dass alle Variablen nun auf
der linken Seite bei der Z-Schlange stehen. Das heißt,
wir nehmen einfach alle Variablen auf der rechten Seite und Adian oder Subtrahieren sie,
um sie rüber auf die linke Seite zu bekommen.
Und dann kommen wir auf die folgende Gleichung.
Und ganz rechts sehen sie, da steht jetzt keine Null,
wie das ja sonst bei unserer Zielfunktion mit dem F ist,
sondern da steht jetzt in der minus
Und diese minus 61 ist die Summe aller Unzulässigkeiten,
wenn man sich das so vorstellen möchte.
Und die gilt es dann später im dritten Schritt bei
der Zwei-Phasen-Methode zu einer Null zu bekommen.
Zuallererst müssen wir nun aber dieses große Gleichungssystem in unser
Ausgangstableau einsetzen
Und wie groß ist jetzt unser Ausgangstableau? Da müssen wir uns zuallererst nochmal anschauen,
wie viele Entscheidungsvariablen, Schlüpfvariablen und künstliche Variablen, ja.
Wir haben drei Entscheidungsvariablen, vier Schlüpfvariablen und vier künstliche Variablen.
Und dementsprechend ist unser Ausgangstableau ziemlich groß.
Denn wir benötigen jetzt pro Entscheidungsvariable eine Spalte, Pushe,
Variable, eine Spalte und pro künstliche Variable eine Spalte.
Darüber hinaus, wie immer,
rechts eine Spalte für die Wegkoeffizienten und ganz links einen Spalte,
der uns anzeigt, was denn unsere aktuellen Basisoriablen sind.
Darüber hinaus benötigen wir jetzt hier sieben Zeilen.
Einmal die Zeile Null, die uns anzeigt,
um was für Variablen es sich hinein drunter liegenden Spalte handelt
und dann sechs Zeilen für sechs Gleichungen,
die wir hier noch haben
Und dieses Simplex-Tableau kann man dann befilmen, die bisher auch.
Das spule ich hier einmal vor.
Das sehen sie dann hier. Und das Einzige,
was sich hier jetzt so ein bisschen ändert, ist,
wir müssen uns nochmal anschauen, was denn unser Schlüpfvariablen jetzt aktuell sind.
Unsere Schlüpfvariablen sind jetzt hier im Ausgangstableau keine Basisfeuer.
Wieso? Unsere Schlüpfvariablen sind ja gleich null.
Ja? Und was variablen haben,
wenn wir keinen Sonderfall haben oder unseren Zielfunktionswert anschauen,
immer einen Wert größer als neu
Ben Z1, ist jetzt gleich sieben, Z2 ist gleich 20,
Z3 ist gleich 14 und Z4 ist gleich 20.
Denn das ist unsere aktuelle Basis. Der Zielfunktionswert F-Schlange ist
gleich null. Und der Zielfunktionswerte erstrangigen Zielfunktionen erweitert Z-Schlange,
ist gleich minus 61. Und alle Koeffizienten,
die jetzt hier nach variablen Domänen größer gleich null sein müssen,
sind größergleich nur.
Deswegen ist unser Ausgangsfablo hier jetzt zulässig
Und vielleicht werden die sich jetzt fragen, okay,
was mache ich denn, wenn ich eine kleiner gleiche Nebenbedingung habe?
Und bei dieser kleiner gleichen Nebenbedingung keine künstliche Variable mitführe.
Wie füge ich dir in das Simplex-Tableau ein? Und was
ist denn dann meine Basisvariable? Januar ist da ganz simpel
. Ihre Basis-Variable ist dann einfach ihre Schlupfvariable. Heißt,
wenn sie eine künstliche Variable in Erreichung kam,
ist die künstliche Variable, die Basisvariable,
wenn sie keine künstliche Variable drin haben,
dann ist die Schlupfvariable,
die Basisvariable im Ausgangstableau
Und unsere Aufgabe jetzt gleich ist es, hier alle
künstlichen Variablen zu eliminieren. Das heißt nichts anderes als,
dass wir diese künstlichen Variablen aus der Basis herausnehmen wollen.
Denn wenn wir aus der Basis rausgehen, dann sind sie
ja gleich null. Wenn sie gleich null sind,
dann wird auch Z Schlange gleich neu.
Dann erinnern sie sich an diese ursprüngliche Maximierung von Z Schlange
zurück. Weil sie ja nichts anderes als,
dass wir alle künstlichen Variablen einmal voneinander abziehen.
Wenn die gleich null sind,
dann ist Z Schlangenhauch
gleich neu
Wenn das der Fall ist, dann befinden wir uns ja auch
schon innerhalb des zulässigen Lösungsraumes. Und sie erinnern sich,
was machen wir, wenn wir innerhalb des zulässigen Lösungsraumes sind?
Wir wenden den primaen Simplex-Algorithmus an,
schreiten die Ecken des zulässigen Lösungsraumes ab,
bis wir dann irgendwann bei der optimalen Lösung rankommen.
Okay? Also, wir kommen jetzt zu Punkt 3, Phase 1.
Die Eliminierung der künstlichen Variablen. Und die Eliminierung der künstlichen Variablen heißt ja nur,
dass wir unsere künstlichen Variablen aus der Basis entfernen,
damit sie gleich null sind.
Und solange wir noch künstliche Variablen in der Basis haben,
müssen wir weitere Iterationen in dieser Phase durchführen
Und diese Phase funktioniert weitestgehend analog zum primalen Simplex-Verfahren. Der einzige unterschiedlich darin,
dass wir unsere Privatspalte Tee auf Basis der erstrangigen Zielfunktion geben.
Pass auf Basis der letzten Zeit in diesem Tableau.
Und das so lange, solange wir noch künstliche Variablen in der Basis haben.
Also, fangen wir an. Zuallererst im Prima ein simplexes Algorithmus
und in der Phase 1 bei der Eminierung der künstlichen Variablen,
wählen wir also unser Pivotspaltetee aus.
Und diese Pivotspaltettee sagt uns ja dann,
welche der Entscheidungsvariablen oder der anderen Variablen gleich die Basis
betreten wird
Und hier, in dem Fall haben wir hier noch drei Kandidaten.
Denn wir haben nur drei negative Koeffizienten in der Zielfunktionszahle stehen.
Und minus drei ist ja nun der kleinste koeffizient,
also wissen wir,
unsere Pivotspalte ist die Spalte mit X3. Also die dritte Entscheidungsmariable
wird gleich die Basis betreten und eine der aktuellen Basis nach Jagodlindern setzen.
Welche Basisvariable wird sie ersetzen? Das sehen wir anhand unserer Pivotzahle S.
Und potenzielle Kandidaten für die Pivotzahle S finden wir hier rechts nun angezeigt.
Das ist die erste Zeile, die dritte Zeile und die
vierte Zeile. Die zweite Zeile ist kein potenzieller Kandidat,
denn dort haben wir in der Pivotspalte ja eine Null stehen.
Und sie erinnern sich, in der Pivot-Spalte brauchen wir mindestens einen koeffizienten,
größer als null, damit die jeweilige Zeile als Pivotzahle in Frage kommt.
Wir teilen nun also die B-Koeffizienten durch den zugehörigen Koeffizienten in
der Pivotspalte und gucken, was denn das kleinste Ergebnis ist.
Also sieben durch eins, 14 durch eins und 20
durch eins. Der sieben am kleinsten ist,
wissen wir also, die erste Zeile ist nun
unsere Pivotzahle
Unser Pivolement ist T1. Neuen Tableau haben wir nun also
X3 in der Basis und Z1 hat die Basis verlassen.
Also das Vorgehen ist genauso wie bisher auch. Nun müssen wir
wieder dafür sorgen, dass unser Pivolement gleich eins ist.
Und das ist jetzt hier praktisch,
denn unser aktuelles Pivolement ist bereits die einzelne Pivotzahl.
Wir können da also einfach nur die Zeile ins neue Tempo übernehmen.
Und im Anschluss müssen wir wieder dafür sorgen,
dass alle anderen Koeffizienten in der Pilotsparte gleich neu sind.
Ist ja einfach nur wieder dieser simple Algorithmus,
dem man sich mehr oder weniger stumpf eintrichtern kann,
bis man weiß, wie das Ganze hier abläuft.
Da ändert sich nichts großartig, die Regeln sind immer die gleichen.
Also, hier zweite Zahl der des ersten Tablos ist dann
nichts anderes als die zweite Zeile des Ausgangstablos.
Denn wir haben ja bereits eine Null, dort in der Pvo-Spalte stehen.
In der dritten Zeile des ersten Tablos nehmen wir die dritte Zeile
des Ausgangstablos und ziehen einmal die erste Zeile des ersten Tablos ab.
In der vierten Zeile des ersten Tablos nehmen wir die vierte Zeit.
Das Ausgangstablos und ziehen einmal die erste Zeile des ersten Tablos
ab. In der fünften Zeile nochmal das Gleiche,
aber da haben wir auch eine einzelne Pvo-Spalte stehen,
wir nehmen die fünfte Zeile des Ausgangstablos und ziehen dort einmal die erste Zahl des ersten Tablos ab.
Und in der Zielfunktionszeile mit der Z-Schlange, also in meiner letzten Zeile,
müssen wir jetzt eine minus drei entfernen, was machen wir da?
Wir addieren dort einfach nur dreimal die erste Zeile des ersten
Tablos auf die sechste Zeile des Ausgangstablos.
Also, wie immer, eigentlich ganz simpel.
War das alles ausreichend? Kommen wir auf das folgende Tablokieren
Und sie sehen schon, ich habe nun in der Z1-Spalte,
also in der Spalte der künstlichen Variable 1, einmal alle koeffizienten gestrichen.
Weil diese Spalte interessiert uns jetzt nicht weiter,
denn diese künstliche Variable bereist die Basis verlassen und wird
nicht mehr in die Basis aufgenommen werden.
Wir sehen aber auch, wir haben aktuell noch drei
künstliche Variablen in der Basis dran stehen.
Unser Zielfunktionswert, der erstrangige Zielfunktion, ist ja auch noch minus 40.
Das ist also noch nicht gleich null,
wir haben noch künstliche Variablen in der Basis,
also wir machen noch einen weiteren Schritt hier
Wir nehmen also unser Tableau 1 und gehen wieder zurück auf Schritt 1.
Die Auswahl der Pivotspalte. Wir haben jetzt hier zwei potenzielle
Kandidaten. Einmal die zweite und einmal die vierte Spalte.
Und in beiden Spalten haben wir nun den gleichen Wert für
den koeffizienten in der Zeile der Erstrangung Zielfunktion.
Und welche Spalte ist dann die Pivotspalte? An die Spalte
mit dem kleineren Index. Also hier die zweite Spalte.
Wir wissen also, X2 wird nach die Basis betreten.
Und welche der aktuellen Basisvariablen wird die Basis verlassen?
Was finden wir wieder raus, indem wir hier die Pivot-Zeile bestimmen?
Also potenzielle Kandidaten für die Pivot-Zeile hier sind die zweite und
die dritte Zeile. Denn in der ersten und in der
vierten Zeile haben wir eine Null in der Pivot-Spalte stehen.
Hä? Also teilen wir 20 durch 1 und 7 durch
1. 7 ist das kleinere Ergebnis. Also wissen wir,
Z3 wird jetzt gleich die Basis verlassen und durch X2 ersetzt
werden.
Unser Pivolement ist die
Und was müssen wir nun tun? Naja, wie immer
. Wir müssen unser Pivolement auf eins bringen.
Und da haben wir ja nochmal Glück,
denn unser aktuelles Pivo-Element ist bereits eine Eins.
Also können wir da einfach nur die dritte Zeile des ersten Tableaus
in die dritte Zeile des zweiten Tableaus übernehmen.
Im Anschluss müssen wir wieder alle anderen koeffizienten der Pivot-Spalte auf Null bringen.
Also, was machen wir? In der ersten Zeile haben
wir ja bereits ein Neustehen im ersten Tableau.
Die Zahl übernehmen wir einfach
In der zweiten Zeile müssen wir einfach nur die zweite Zeile
des ersten Tableaus nehmen und dort einmal die dritte Zeile des zwei Interviews abziehen.
In der vierten Zeile können wir einfach mal wieder die vierte Zahl des ersten Tableaus übernehmen,
da dort haben wir bereits eine Null in der Pibus-Spalte.
In der fünften Zeile müssen wir nun wieder einmal die dritte
Zahl des zweiten Tableaus abziehen und in der sechsten Zeile müssen
wir zweimal die dritte Zeile des zweiten Tableaus addieren.
Nangen alle Koeffizienten in unsere Pibus-Spalte
gleich nun
Ausgerechnet sieht das Ganze dann wie folgt aus. Und Sie
sehen schon, nun haben wir hier zwei Spalten gestrichen.
Haben wir die Spalte mit Z1 und einmal die Spalte mit Z3. Wir
haben aber immer noch zwei künstliche Variablen in der Basis und Z
Schlange ist damit noch nicht gleich null. Wir gehen also
wieder zurück zu Schritt 1 und nehmen das zweite Tableau mit.
Und nun müssen wir wieder unsere Pivot-Spalte bestimmen. Und dafür
schauen wir einfach in die Zeile der erstrangigen Zielfunktion und dort sehen wir zwei negative Koeffizienten,
beide mit minus 1. Also wählen wir hier den Koeffizienten in der ersten Spalte,
weil die Spalte Niederringe Index hat und wir wissen,
X1 betritt jetzt gleich die Basis
Wer die Basis verlässt, bestimme nun mit der Auswahl der Pivot-Zeiten.
Und unsere potenziellen Kandidaten finden wir hier in der ersten und in der zweiten Zeile.
Denn nur in der ersten und in der zweiten Zeile
sind die Koeffizienten in der Pivot-Spalte größer als nur wir.
Wir teilen also sieben durch eins und 13 durch zwei und
sechseinhalb in der zweiten Zeile ist ja kleiner als sieben.
Also ist die zweite Zahl ja jetzt hier unsere neue Pivot-Zeile.
Unser Pivot-Lement ist gleich zwei
Also, betritt nun X-1 die Basis und C-2 verlässt die Basis.
Und nun müssen wir unser Pivolement auf eins bringen und
das ist ja nun ein bisschen schwieriger als bisher,
denn unser Pivolement ist jetzt nicht mehr eins.
Wir können also nicht direkt die zweite Zeile des zweiten Teil bloß übernehmen,
sondern wir müssen jetzt die zweite Zeile des zweiten Tableaus mit,
die erinnern sich, dem Carvertus Pivole Dements multiplizieren.
Und nachdem wir die neue Zeile dann hier bestimmt haben,
müssen wir wieder dafür sorgen,
dass alle anderen Koeffizienten in der Pivo-Spalte
gleich neu sind
Meinst du? Die erste Zahl des dritten Teils los,
nehmen wir die erste Zahl des zweiten Tablus und ziehen dort
die zweite Zahlende des dritten Tablus ab.
Die dritte Zahl des dritten Tablus nehmen wir die dritte Zeile
des zweiten Teils los und addieren dort einmal die zweite Zeile des dritten Tablus.
In der vierten Zeile das Gleiche, dort addieren wir ebenfalls
die zweite Zahl des dritten Tablus und in der fünften Zeile
ziehen wir die zweite Zeile des dritten Tablus einmal ab.
In der letzten Zeile müssen wir dann die zweite Zahl des dritten Tablus nochmal addieren,
um aus der minus 1-0 zu bekommen.
Und damit haben wir dann das neue Tablu auch schon bestimmt,
wenn wir das auszeichnen
Und was sehen Sie jetzt? Nun haben wir hier bereits
drei Spalten bestrichen. Denn wir haben jetzt nur noch eine
künstliche Variable in der Basis und die müssen wir jetzt gleich entfernen.
Wenn es denn gut geht. Ja,
also wir bleiben bei der Eliminierung der künstlichen Variablen und
wir gehen wieder zurück zu Schritt 1 in Phase 1.
Wir nehmen das dritte Tableau mit und wir schauen gleich mal
wieder in die Zeile der erstrangigen Zielfunktionen.
Und dort sehen wir jetzt hier zwei negative Koeffizienten.
Und beide sind minus eineinhalb. Das heißt,
wir wählen jetzt hier wieder den Koeffizienten,
der in der Spalte mit einem kleineren Index steht und wir wissen,
Y1 betritt jetzt gleich die Basis und wir müssen nur noch
herausfinden,
wer die Basis verlässt
Potenzielle Kandidaten für eine Pivot-Zeile,
sind hier nur noch die dritte und die vierte Zeile.
Die erste und die zweite Zeile fliegen raus,
weil wir dort negative Koeffizienten in der Pivot-Spalte stehen haben.
Wir teilen also 27 halbe durch einen Halb und wir teilen
39 halbe durch einen Halb. Und natürlich sind 27 halbe
durch einen Halb kleiner als 39 halbe oder innerhalb.
Also unsere neue Pivot-Zeile ist hier die dritte Zahl.
Unser Pivotlement ist hier ein Hype. Wir wissen jetzt also,
dass Y1 die Basis betritt und X2 die Basis verlässt.
In diesem Schritt eliminieren wir also keine künstliche Vaniable aus der Basis,
sondern wir führen hier mehr oder weniger einen ganz normalen Schritt im primalen simplexen Album aus durch.
Sorgen wir wieder dafür, dass unser Pivotlement gleiche 1 ist.
Also multiplizieren wir unsere Pivot-Zeile mit dem Kervet des Pivotlements
Nachdem wir was getan haben, wir werden es schon erraten,
müssen wir wieder alle anderen Koeffizienten in der Pivot-Spalte auf eine Null bringen.
Also, für die erste Zeit des vierten Tableaus bedeutet das,
dass wir die erste Zeit des dritten Tag losnehmen und eineinhalb Mal
die dritte Zeile des vierten Tableaus addieren und eine Minuseinheit zu entfernen.
In der zweiten Zeile das Gleiche,
da wollen wir auch eine Minuseinhalb entfernen,
also addieren wir dort ebenfalls einhalb mal die dritte Zeile des vierten Tableaus.
In der vierten Zeile wollen wir eineinhalb entfernen,
also ziehen wir dort einhalb mal die dritte Zahl des
vierten Tableaus ab
In der fünften Zeile wollen wir ebenfalls eineinhalb entfernen.
Wir ziehen also ebenfalls eineinhalb Mal die dritte Zeit des vierten Tableaus ab.
Und in der letzten Zeile, was machen wir da?
Wir wollen eine minus eineinhalb entfernen. Also addieren wir dort
Einheit mal, die dritte Zahlen des vierten Tableaus.
Wenn wir das ausrechnen, sieht das neue Tableau wie folgt aus.
Und wir sehen, wir haben immer noch drei gestrichene Spalten,
aber die letzte Spalte hier könnten wir jetzt nicht streichen,
denn Z4 ist immer noch an der Basis.
Wir haben also immer noch einen negativen Wert hier für Z-Schlange
Was machen wir jetzt also? Wir gehen wieder zurück
zu Stritt 1 und wählen unsere Pivotspalte aus.
Schauen wir also einmal in die letzte Zeile und gucken,
was denn potenzielle Kandidaten sind.
Der einzige potenzielle Kandidat befindet sich hier in der Spalte der dritten Schlupfvariante.
Denn nur dort haben wir einen negativen koeffizienten Stimm.
Also Y3 wird jetzt gleich die Basis betreten.
Und wer verlässt die Basis
Schauen wir uns mal die potenziellen Kandidaten an für eine Pivot-Zeile.
Und der einzige potenzielle Kandidat befindet sich jetzt hier in der vierten Zeile,
was ja glücklicherweise auch die Zeile der künstlichen Variablen der Basis ist.
Heißt also, wir haben jetzt hier unsere vierte Zeile als Gebotszeile bestimmt,
da alle anderen koeffizient in der Pivot-Spalte ja kleiner als oder gleich null waren.
The Budement ist also die Eis. Und wir wissen,
die künstliche Variable 4 verlässt nun endlich die Basis,
die dritte Schlüpfvariable betritt die Basis und dann sind auch alle
künstlichen Variablen aus der Basis raus
Wir nehmen also unser neues Tableau hier für den Y3 als neue Basisvariable ein,
schmeißen die Z4 raus und bringen unser Pro-Element auf die 1. Und da haben wir wieder Glück,
das Pivo-Element ist ja wieder Reizen 1,
also übernehmen wir da einfach nur die vierte Zahl des
vierten Tableaus und sorgen dann im Anschluss wie immer dafür,
dass alle anderen Koeffizienten in der Pivo-Spalte gleich neu sind.
Also, in der ersten Zeit ist fünften da bloß,
nehmen wir die erste Zahl des vierten Tableaus und addieren dort
die vierte Zeile des fünften Tableaus.
Als zweiten Zeile haben wir bereits ein null,
die können wir direkt übernehmen und in der dritten Zahl müssen
wir ebenfalls die vierte Zahl des fünften Tableaus addieren.
In der fünften Zahl waren wir eine einzeln fern,
wir ziehen also einmal die vierte Zahl des fünften Tableaus ab und
in der letzten Zeile waren wir eine minus eins entfernen,
wir addieren also einmal die vierte Zahl des fünften Tableaus
Wenn wir das einmal durchrechnen, sieht das neue Tableau jetzt
hier wie folgt aus. Und Sie sehen schon,
wir haben nun hier vier gestrichene Spalten,
denn alle unsere vier künstlichen Variablen haben die Basis verlassen.
Das bedeutet auch, dass wir hier die Zeile der erstrangigen Zielfunktionen streichen können.
Da hätte ich ebenfalls nicht mehr interessant ist.
Und damit befinden wir uns auch schon gleich in Phase 2,
dem primalen Symplake-Fallgeborenens. Da wir ja jetzt wissen,
dass wir eine zulässige Ausgangslösung haben,
müssen wir nur noch einmal in die Zielfunktionszeile schauen,
um zu gucken,
ob wir bereits eine optimale Lösung haben
Und in der Zielfunktionszeile sehen wir jetzt nun,
alle Koeffizienten sind größer, gleich null. Das heißt,
wir haben hier schon mit der Zwei-Phasen-Methode direkt die optimale Lösung des Problems gefunden.
Wir können also diese optimale Lösung einmal analysieren und schauen,
was denn nun die Werte unserer Entscheidungsvariablen und unserer Schlüpfvariablen im Optimum sind.
Wir müssen jetzt natürlich im Hinterkopf behalten,
dass unser Ziel funktionswert hier F-Schlange, der gleich minus F ist.
Ja, und Sie erinnern sich, wir haben ja vorhin
die Minimierung von F mit mal minus 1 multipliziert.
Also müssen wir jetzt,
wenn wir hier unseren optimalen Zielfunktionswerk sehen wollen,
dafür sorgen,
dass wir minus 40 noch mit mal minus 1 multiplizieren,
um auf F
zu kommen
Heißt also, die optimalen Werte der Entscheidungsmarianen und Schlüpfvariablen aus der Basis sind FS gleich 40,
X1 ist gleich 20, X3 ist gleich 20,
Y1 ist gleich 33 und Y3 ist gleich 6. Der anderen Seite heißt es natürlich,
dass unsere Nicht-Basis-Variablen X2,
Y 2 und Y 4 nun hier gleich nun gesenkt.
Und das ist die optimale Lösung. Den Zielfunktionswert von 40
können wir auch überprüfen, indem wir einfach X1 ist,
weil ich 20 und X3 ist gleich 20 in die Zielfunktion einsetzen.
Bei der jeweils mit 1 gerichtet worden sind,
wäre das ja einfach nur 20 plus 20
ist gleich 40 fertig
Wichtig ist noch, dass Sie im Hinterkopf behalten,
dass wir ja anstatt der Zwei-Phasen-Methode auch einfach zurallererst den
dualen Symplex-Algorithmus hätten anwenden können und dann den primalen Symplex-Algorithmus.
In dem Fall hätten wir das Ausgangsproblem allerdings zuallererst auf die
allgemeine Form des Linearen nach dem Jungs Problems bringen müssen.
Und damit kommen wir dann auch schon Zübungsaufgabe 1.2. Dualisieren Sie
die Problemstellung
Es bedeutet nichts anderes, heißt, dass wir die primale Problemstellung,
die wir hier gegeben haben, in eine äquivalente Duale Problemstellung überführen sollen.
Und erinnern Sie sich zurück an die Vorlesung beim primalen Problem,
suchen wir ja nach den optimalen Werten der Entscheidungsvariablen
und dann auf den optimalen Zielfunktionswert zu kommen.
Bei der Dualen Problemstellung suchen wir nach der besten Schranke eines Problems.
Und die beste Schranke eines Problems ist immer der Punkt im
zulässigen Lösungsraum, an dem wir auch die optimale Lösung haben
Bei einigen Problemen kommen wir so wesentlich schneller auf die optimale Lösung.
Das werden wir hier gleich in den folgenden Aufgaben auch gemeinsamer mal tun.
Aber um damit anzufangen, brauchen wir zuallererst einmal die duale Problemstellung.
Wie finden wir die duale Problemstellung? Eigentlich brauchen wir dafür
nichts anderes als zwei Vektoren und eine Matrix.
Denn aus jedem Minimumsproblem mit lediglich größer gleich Nebenbedingungen können wir
ein äquivalentes Dual das Problem machen,
dass eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen ist
Maxime auch, können wir natürlich jederzeit auch wieder in eine
Minimierung überführen, um auf das ursprüngliche primale Problem zurückzukommen.
Das Gleiche gilt auch in die andere Richtung,
weil wir eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen haben,
dann können wir daraus eine Minimierung mit lediglich größer gleichen Nebenbedingungen machen.
Und diese zwei Vektoren und die Matrix sind nichts anderes
als C,
B und
Was es genau damit auf sich hat, zeige ich Ihnen gleich.
Können wir uns mal unser Ausgangsproblem hier annehmen? Wir haben eine Minimierung mit
lediglich größer gleichen Nebenbedingungen. Das ist ja schon mal super,
weil das erfüllt hier diese eine Anforderung, die wir haben,
denn wir können direkt aus dieser Minimierung,
ohne hier irgendwie noch die Nebenbedingungen oder die Zielfunktion mit mal minus eins zu multiplizieren,
einfach eine Maximierung machen, mit lediglich kleineren Beichlebenbedingungen.
Und Sie sehen ja bei der Minimierung, haben wir hier die XE,
stehen auf der rechten Seite und die XE stehen ja vor unserer Entscheidungsvariablen.
Bei der Maximierung haben wir da Ws stehen.
Und das sind unsere Dualvariablen. Und wenn Sie sich also
in den letzten Übungen zurückerinnern, die Dualvariablen,
das sind ja nichts anderes als im Tableau, unsere simplexen Multiplikatoren.
Das heißt, wenn ich die optimalen Dual-Variablen daraus habe,
dann weiß ich auch,
was der Zielfunktionswert ist
Schauen wir jetzt mal gemeinsam an, wie diese Transformation jetzt
hier funktioniert. Ich habe es ja schon eben gesagt,
sie brauchen zwei Vektoren und eine Matrix. Da brauchen sie einmal
den Vektor C, das ist der Vektor an der Zielfunktionskoeffizienz.
Sie brauchen den Vektor B, das ist der Vektor,
der unsere Beschränkungen darstellt und sie brauchen die Matrix A,
die aus unseren Koeffizienten der Nebenbedingungen besteht.
Wo finden Sie die jetzt hier in unserer Problemstellung?
Naja,
ganz einfach
Ja. In transponierten Werke oder Zielfunktionskoiffizienten finden Sie in der Zielfunktion,
dann dauert es dann mit dem Vektor oder Entscheidungskoiablen multipliziert worden.
Im Matrix A finden Sie auf der linken Seite der Beschränkung,
denn das sind die Koiffizienten,
die dort mit den Entscheidungsvariablen multipliziert worden sind.
Ihr kennt sie ja auch schon aus dem Simplex-Tableau,
wenn man so will, braucht es Simplex-Tableaus.
Und den Vektor B finden Sie ganz einfach auf der rechten Seite.
Das ist die Beschränkung unserer Nebenbedingungen
Und diese Matrix und die zwei Vektoren,
die müssen wir jetzt transponieren, um das duale Problem herzustellen.
Und zwar transponieren wir sie und multiplizieren sie dann mit dem Vektor der Dualvariablen.
Machen wir das mal gemeinsam hier. Wenn ich die transponiere,
sieht das wie folgt aus. Und Sie sehen schon,
ich transponiere sie und ich schiebe den Vektor der Zielfunktionskoeffizienten C nach rechts,
der stellt gleich die neuen Beschränkungen dar und ich nehme den Vektor B,
der unsere Beschränkungen darstellt,
in die Zielfunktion auf
Wenn ich das jetzt noch mit den Dualvariablen multipliziere,
komme ich auf das folgende Problem. Und was fällt jetzt
hier auf? Naja, zuallererst fällt einmal auf,
wir haben vorher ja hier eine Seelfunktion mit vier Nebenbedingungen gehabt.
Nun haben wir eine Zielfunktion mit drei Nebenbedingungen. Das heißt,
wir haben eine Nebenbedingung weniger. Dafür hatten wir aber vorher
drei Entscheidungsvariablen und jetzt haben wir hier vier Dualvariablen.
Das heißt, wir haben jetzt eine Nebenbedingung weniger.
Dafür haben wir aber eine zusätzliche Variablen der Zielfunktion stehen.
Und das macht ja auch Sinn, denn die Dualvariablen,
die sind ja auch die Simplex-Multiplikatoren und die zeigen uns ja an,
wie oft die jeweiligen Nebenbedingungen auf die Zielfunktion addiert worden ist.
Und wenn hier vier Nebenbedingungen habe, dann brauche ich dementsprechend
auch vier Dualvariablen.
Und damit sind wir hier auch schon fertig, ja.
Wir haben die Problemstellung dualisiert und wir können das Ganze jetzt
mit einem geeigneten Simplex-Verfahren lösen. Und diese dualisierte Problemstellung,
die könnten wir jetzt aber auch nehmen und wieder zurück in die primale Problemstellung überführen.
Das ist also in beide Richtungen möglich,
wie ja dieser Doppelfall hier auch anzeigt.
Kommen wir aber nun mal zur Aufgabe 1.3,
wo wir das duale Problem
nun lösen müssen
Und was für ein Verfahren zur Lösung bietet sich hier jetzt an?
Naja, wir können ja den ganz einfachen allgemeinen Simplex-Algorithmus benutzen,
den wir bereits aus den ersten Vorlesungen Übungen kennen.
Zwei Phasenmethode brauchen wir hier nicht, der wir keine
größer gleichen Nebenbedingungen haben. Und die Alternative zur Zwei-Phasen-Methode,
den dualen Simplex-Algorithmus, müssen wir hier ebenfalls nicht anwenden,
weil wir keine Größe gleichen Nebenbedingungen haben.
Denn in diesem Problem mit lediglich kleiner gleichen Nebenbedingungen und
positiven Koeffizienten auf der rechten Seite haben wir ja immer bereits
eine zulässige Ausgangslösung gegeben.
Das heißt,
da müssen wir
keine Unzulässigkeit beseitigen
Wir gehen also so vor, wie wir es immer schon kennen.
Wir fangen an mit der Transformation und ein Gleichungssystem.
Dann kommen wir zur Erstellung des Ausgangstables und den dritten Schritt
können wir rüberspringen. Wir kommen direkt dann zur Lösung des
Problems mit dem primalen Simplexalgorumus. Und das dann so lange,
bis wir auf die optimale Lösung kommen
Fangen wir also mal an mit Schritt 1,
der Transformation in der gleichen System. Und da müssen wir
ja zuallererst hier die allgemeine Form des linearen Optimierungsproblems herstellen.
Und ich habe es ja schon eingangs gesagt, wir haben jetzt hier Glück,
denn unsere Problemstellung ist bereits in der allgemeinen Form des linearen Optimierungsproblems.
Denn wir haben ja bei der Transformation aus den primalen Problemen ins
duale Problem, aus einer Minimierung mit größer gleichen Nebenbedingungen,
einer Maximierung mit kleiner Gleichnebenbedingung gemacht.
Das heißt, diesen ersten Unterschritt hier haben wir gleich abgeschlossen.
Und wir kommen dann direkt zu unter Stratt 2
der Transformation in ein Gleichungssystem für den Simplex-Algorithmus.
Und den Schritt kennen Sie mittlerweile wahrscheinlich auch schon auswendig,
weil wir den hier so oft durchgegangen sind.
Was machen wir? Naja, wir müssen jetzt bei jeder Ungleichung,
also bei jeder Nebenbedingung hier, die wir haben,
einmal eine Schlupfvariable addieren und eine Gleichung draus machen
Bei der Zielfunktionsgleichung müssen wir nun wieder dafür sorgen,
dass wir auf der rechten Seite nur noch eine Null stehen haben,
denn wir wollen ja alle Variablen hier auf der linken Seite stehen haben.
Also ziehen wir einmal auf beiden Seiten der Zielfunktionsgleichung einmal alles ab,
was wir hier auf der rechten Seite stehen haben in der Zielfunktion.
Und wir kommen auf die Folgen der neuen Zielfunktionsgleichung.
Also Variablendomäne sind hier wie immer,
dass die Variablen hier alle größer gleich Null sein müssen
Dieses Gleichungssystem können wir dann direkt im nächsten Schritt auch in unser Simplex-Tableau überführen.
Und wie groß ist unser Ausgangstableau hier, naja,
wir haben ja jetzt hier vier Dualvariablen und drei Schlöpfvariablen.
Das heißt, unser Ausgangstableau hat jetzt einen neuen Spalten und
fünf Zeilen. Jedualvariable, eine Spalte, hier Schlüpfvariable,
eine Spalte, ganz rechts eine Spalte für die Bekoeffizienz,
ganz links eine Spalte für die Basisvariablen
Und, wie befüllen wir das? Naja, wie bisher
immer auch. Wir schauen einfach unser gleichen System an,
schauen auf die jeweiligen Koeffizienten vor den Variablen und packen die dann rechts ins simple Extablo.
Das ist jetzt nichts Neues mehr.
Und dann kommen wir auch schon gleich zu Phase 1,
dem du ein simplexer Algorithmus, haben wir eine zulässige Ausgangslösung.
Haben wir ja vorhin ebenfalls bereits herausgefunden. Natürlich haben wir
eine zulässige Ausgangslösung, denn wir haben ja nur kleiner gleich
Nebenbedingungen gehabt und nur positive Koeffizienten auf der rechten Seite.
Das heißt, die Ausgangslösung ist zulässig und wir kommen direkt
zu Phase 2,
dem primalen simplexer Algorithmus
Die Ausgangslösung, hier ist nicht optimal,
denn wir sehen ja hier noch negative Koeffizienten in der Zielfunktionszeile.
Also legen wir da mal los. Was machen wir zuallererst?
Wir wählen unsere People Spalte aus. Und unsere People spalten Kandidaten,
haben wir hier in Spalte 1, 2, 3 und 4,
denn nur dort haben wir negative Koeffizienten in der Zielfunktionszeile stehen.
Und der kleinste dieser Koeffizienten ist die minus 20,
also haben wir hier direkt in so einem People-Zeile gefunden und
W2 wird gleich die Basis betreten.
Welche der aktuellen Basisvariablen verlässt jetzt die Basis?
Dann müssen wir uns ja einmal ganz rechts hier anschauen,
was denn die pointiationellen Kandidaten für eine People-Zeile sind.
Und potenzielle Kandidaten finden wir in der ersten und in der zweiten Zeile,
weil nur dort sind die Koeffizienten in der People-Sparte größer als null.
Und hier nehmen wir mal wieder unsere alte Regel,
wir wählen nun die Zeile mit dem kleineren Index,
wenn beide Zeilen einen gleichen Wert haben.
Also haben wir hier unsere People-Zeile bereits gefunden,
unser People der Men ist die
Also, W2 betritt die Basis. Y1 verlässt die Basis
und wir gehen hier mit Schritt 3 und 4 weiter vor.
Unser Pivolement können wir ganz einfach auf eins bringen,
indem wir die Zeile übernehmen, denn das Pivolement ist ja bereits eins.
Alle anderen koeffizienten müssen wir dann natürlich wie immer auch auf Null bringen.
Also, was machen wir hier in der zweiten Zeile des ersten Tables?
Naja, wir nehmen einfach die zweite Zeile des Ausgangstables
und ziehen einmal die erste Zeile des ersten Tables ab.
Was machen wir in der dritten Zeile des ersten Tables?
Wir übernehmen einfach die dritte Zeile des Ausgangstables,
weil dort haben wir aber 3 zu 0 stehen.
Und in der Zielfunktionszeile müssen wir dann noch 20 mal die
erste Zeile des ersten Tables auf die Zielfunktionszeit des Ausgangstables addieren
Fertig. Ja. Natürlich ist ja aktuelle Lösung zulässig.
Wir kommen ja mit den primaen Symplex-Algorithmus, wenn wir die
Regeln korrekt befolgen, nicht mehr auf eine unzulässige Lösung.
Ist sie optimal? Schauen wir meine Zielfunktionszeile? Nein.
Denn wir haben da noch zwei negative Koeffizienten stehen.
Also müssen wir hier noch einen weiteren Schritt mit dem Symplex-Algorithmus
Und potenzielle Kandidaten finden wir hier in der dritten und in
der vierten Sparte und den kleineren Wert, beziehungsweise der kleinere,
koeffizient, steht ja hier in der vierten Spalte.
Also ist die vierte Spalte, unsere neue PV-Spalte.
Was ist unsere Pivot-Zeile? Hier haben wir nur noch einen Kandidaten,
denn in der Pivot-Spalte haben wir nur in der dritten Zeile
einen positiven, koeffizienten Stellen.
Also haben wir direkt auch die Pivot-Zeile bestimmt und wir wissen,
das Pivot-Element ist eins.
B4 wird jetzt also die Basis betreten und Y3 wird
die Basis verlassen
Unser Pivotiment ist bereits eine Eins. Also müssen wir
das Pivotiment nicht mehr auf eine Eins bringen.
Wir können hier also einfach für die dritte Zeile des
zweiten Tablos die dritte Zeile des ersten Tablos übernehmen.
Die erste und die zweite Zeile des ersten Tablos
können wir ebenfalls ins neue Tableau übernehmen,
weil dort haben wir ja bereits eine Null in der Pivotspalte stehen.
Nur noch in der Zielfunktionszeile müssen wir hier noch 20 mal
die dritte Zeit im zweiten Tablos auf die vierte Zahl des
ersten Tablos ideen,
um dort die minus 20
zu entfernen
Schauen wir uns mal das Ergebnis an,
was da rauskommt, wenn wir diese ganzen Berechnungen durchführen.
Wir sehen schon auf der rechtsen Seite der B-Spalte
ist es natürlich immer noch zulässig und zu sehen,
aber auch in der Zielfunktionszeile, das Ganze ist jetzt hier optimal.
Das heißt, wir sind hier in zwei Simplex-Schritten bereits auf die optimale Lösung gekommen,
wo wir in der Zwei-Phasen-Methode vorhin sechs Schritte benötigt haben.
Und was heißt das jetzt für unsere Basisvariablen?
Naja, B2 ist jetzt gleich eins.
Die 4 ist gleich eins und unser Zielfunktionswert hier ist gleich 40.
Und was das genau bedeutet, das schauen wir uns
gleich in der nächsten Übungsaufgabe
einmal an
Übungsaufgabe 1.4 geben Sie die optimalen Werte von F,
X1, X2 und X3 an.
Das ist ja die optimale Lösung des primaren Problems,
die wir herausfinden wollen. Und zwar wollen Sie herausfinden,
anhand der optimalen Lösung,
dass du
ein Problem hast
Und das haben wir ja gerade eben hier bestimmt.
Schauen wir uns das Ganze mal an. Ja,
Sie sehen jetzt hier auf der linken Seite die optimale Lösung
des primalen Problems, die wir mit der Zwei-Phasen-Methode bestimmt haben.
Auf der rechten Seite sehen Sie die optimale Lösung des
dualen Problems, das wir gerade eben hier bestimmt haben.
Und Sie sehen schon die optimale Lösung bei der Zwei-Phasen-Methode von 40,
ist die gleiche wie die optimale Lösung des dualen Problems hier.
Ich habe das Ganze jetzt mal hier als F von der Zwei-Phasen-Methode
prima das Problem und F,
duales Problem abgekürzt
Was fällt denn noch auf? Naja, schauen wir uns
hier mal einmal die simplexen Multiplikatoren im Primalproblem an, um,
gucken wir uns gleichzeitig mal die Werte unserer Dualvariablen im dualen Problem an.
W1, also der Wert unserer ersten Dualvariable,
entspricht einfach nur dem ersten Simplex Multiplikator im optimalen Tableau.
Und jetzt gleich null. B2 entspricht dem Wert des zweiten
Simplex Multiplikator aus dem optimalen Tableau. Das ist eins.
B3 und spricht dem Wert des dritten Simplex Multiplikators im optimalen
Tableau des primalen Problems, also gleich null.
Und wie viel entspricht dem vierten Simplex Multiplikator im optimalen Tableau des primalen Problems.
Jetzt hast du hier gleich eins
Heißt, was wir hier bestimmt haben im Dual-Problem,
sind auch gleichzeitig die optimalen Werte der Simplex-Multiplikatoren im primalen Problem.
Gleichzeitig können wir jetzt hier auch im dualen Problem
die optimalen Lösungen von X-1, X-2 und X-3 ablesen.
Das heißt, wir können nicht nur den Zielfunktionswert hier ablesen,
der die optimale Lösung im Primalproblem darstellt.
Wir können ja auch ablesen,
was die optimalen Werte der Entscheidungsvariablen in einem primalen Problem sind.
Dafür müssen wir uns einfach nur die Simplex-Multiplikatoren und dualen Probleme
anschauen. X-1 ist also gleich 20,
X-2 ist gleich 0 und X-3 ist gleich 20. Ablesbar an
den Simplex-Multiplikatoren 1 bis 3
im dualen Problem
Und wir sehen darüber hinaus auch noch, hier,
wenn Sie sich einmal anschauen,
die Spalten von W1 wie 2 und W3,
wie viele freie Ressourcen wir jetzt bei den einzelnen Nebenbedingungen noch übrig haben.
Jetzt sehen Sie ja, wenn Sie das linke Tableau anschauen,
auch für die Basisvariablen Y, 1 und Y 3.
Die erste Nebenbedingung hat noch 33 freie Einheiten übrig und
die dritte Nebenbedingung hat noch sechs freie Einheiten übrig.
Das heißt also, das Primale und das äquivalente duale Problem
sind miteinander verbunden und die beiden enthalten jeweils die Lösung des
anderen Problems
Was fällt dir noch auf, wenn wir uns diese beiden Tablos anschauen?
Naja, schauen Sie mal hier in die zweite Spalte des primaren Problems.
Dort haben Sie eine Null stehen. Das bedeutet,
dass die negativen reduzierten Kosten hier gleich Null sind,
dass gleichzeitig natürlich dann auch bedeutet,
dass die reduzierten Kosten von nix 2 gleich Null sind.
Was heißt das? Ja, das heißt,
es sexistiert hier eine Lösung mit dem gleichen Zielfunktionswert von 40,
bei der wir auch X2 in der Basis haben und natürlich
dementsprechend eine der anderen Basisvariablen aus der Basis entfernen.
Es gibt hier also mehr als eine optimale Lösung mit dem gleichen Zielfunktionswert.
Und das ist ein Sonderfall. Was der Sonderfall genau bedeutet,
das sehen Sie in der nächsten Vorlesung und in der
nächsten Übung
Und damit sind wir hier auch schon wieder am Ende der Übung angelangt.
Das einzige, was Sie jetzt noch tun müssen,
ist einmal ein Games, die Ergebnisse dieser Übung zu überprüfen.
Und falls Sie da nicht weiterkommen,
wahrscheinlich kennen Sie mittlerweile meinen Text am Ende her schon,
schauen Sie ganz einfach einmal in die kommentierte Musterlösung,
die wir in den Open-Monat hochgeladen haben.
Und damit wünsche ich noch eine schöne Woche und
wir sehen uns dann wahrscheinlich wieder in der nächsten Übung.
Bis dahin