Moin moin und herzlich willkommen zur fünften Übung Grundlagen des Operations Research.
Mein Name ist Tobias Filcek und ich werde gemeinsam mit Ihnen
die ersten acht der zwölf Übungen dieser Vorlesung durchgehen.
Das heutige Thema, das wir hier behandeln, sind die Sonderfälle.
Und da fangen wir gleich mal an mit Übungsaufaufgabe 1.1.
Gegeben ist hier ein lineares Optimierungsproblem, das ihr bereits aus der Vorlesung kennen.
Es handelt sich um eine Maximierung mit zwei kleiner gleich Nebenbedingungen.
Und dieses Optimierungsproblem haben sie ja bereits in der Vorlesung gesehen,
ist primal degeneriert. Und die Frage,
die wir nun hier beantworten müssen, ist,
ob das duale Problem,
das Äquivalent dazu ist,
ebenfalls degeneriert ist
Das heißt, wir müssen zuallererst einmal dieses primale Optimierungsproblem
in das äquivalente duale Optimierungsproblem überführen.
Und das Ganze mache ich hier jetzt nur in Kursfassung,
wenn sie das nochmal ausführlich sehen wollen, wie diese Überführung funktioniert,
dann schauen sie sich nochmal Übung 4 an.
Okay? Also, wir haben ja eine Maximierung mit zwei kleiner gleichen Nebenbedingungen.
Und wir wissen ja, wenn das der Fall ist,
können wir hier einfach nur zwei Vektoren nehmen und eine Matrix,
die transponieren und im Anschluss mit den Dualvariablen motifizieren.
Fertig. An sich war das ja nicht so schwierig,
wenn man erstmal die Logik dahinter verstanden hat.
Und was wir jetzt machen können, ist,
wir können aus der Maximierung mit den Kleiner gleichen Nebenbedingungen
eine Minimierung im dualen Problem machen,
die lediglich größer gleichen Nebenbedingungen unterliegt
Alternativ können wir hier dieses Ausgangsproblem aber auch schon transformieren,
indem wir die Zielfunktionen und die beiden Nebenbedingungen mit mal minus eins multiplizieren.
In diesem Fall würden wir daraus dann eine Minimierung mit lediglich größer Gleichnebenbedingungen machen.
Dann könnten wir nämlich folgende Optionen verwenden, um das Ganze
in der Maximierung mit lediglich kleiner gleichen Nebenbedingungen zu erführen.
Das Wichtigste ist, entweder wir haben eine Maximierung mit lediglich kleiner
gleichen Nebenbedingungen oder aber wir haben eine Minimierung mit lediglich größergleichen Nebenbedingungen.
Diese beiden Optionen haben sie, um das Ganze zu überführen.
Sie können nicht aus einer Maximierung mit größer gleichen Nebenbedingungen
ein äquivalentes duales Problem machen
Wir müssen dann zuallererst einmal die Nebenbedingungen im Kleiner gleichen Nebenbedingungen transformieren.
Gut, dann fangen wir mal mit der Überführung des prima Maximierungsproblems an.
Und das wird ja dann gleich ein duales Minimierungsproblem.
Ich bereite Ihnen das noch mal ganz kurz vor,
indem ich beide Probleme hier mal aufschreibe und einmal im primaen Optimierungsproblem markiere,
was denn die einzelnen Bestandteile sind, die wir jetzt hier transponieren müssen.
Sie sehen in der Zielfunktion des primalen Optimierungsproblems,
den Wektor der Zielfunktionskoeffizienten,
der transponiert ist und mit dem Vektor der Entscheidungsvariablen
X-1 und X-2
multipliziert wurde
Dann sehen Sie hier, in blau markiert,
die Matrix A, die mit dem Vector der Entscheidungsvariablen multipliziert wurde.
Und rechts davon, also auf der rechten Seite der Ungleichung,
sehen Sie den Vector B, der die Beschränkung der beiden Nebenbedingungen darstellt.
Und bei der Überführung in das Äquivalent sind duale Problem,
nehmen wir jetzt einfach unseren transponierten Vector der Zielfunktionskoeffizienten transponieren den
wieder und packen den auf die rechte Seite als neue Beschränkung
des dualen Problems
Aus unserem aktuellen Vektor der Beschränkung 4.2 im primären Optimierungsproblem
machen wir jetzt durch eine Transponierung und die Multiplikation mit dem
Vektor der beiden Dualvariablen unsere neue Zielfunktion.
4W1 plus 2 für 2. Dann müssen wir nur noch unser Matrix A
transponieren und das führt uns in diesem Fall zur gleichen Matrix wie vorher auch.
Da die Matrix ja hier symmetrisch ist und mit den
beiden Dualvariablen beziehungsweise mit dem Vektor der beiden Dualvariablen multiplizieren.
Nachdem wir das getan haben,
haben wir hier bereits aus unserem primalen Maximierungsproblem mit lediglich kleiner
gleich Nebenbedingungen das äquivalente duale Optimierungsproblem gemacht,
das aus einer Minimierung mit lediglich größer gleichen Nebenbedingungen besteht.
Und dieses duale Optimierungsproblem können wir jetzt mit einem
geeigneten Simplex-Verfahren lösen
Und hier können wir uns gleich mal wieder die Frage stellen,
was denn eigentlich ein geeignetes Lösungsverfahren für das Problem ist.
Und wir werden sagen, es ist der Sinn plexer Algorithmus.
Und im Ablauf des Simplexer Algorithmus werden sie mittlerweile wahrscheinlich auch schon können,
weil wir den so oft hier durchgegangen sind.
Wir fangen damit an, dass wir zuallererst einmal ein Gleichungssystem herstellen.
Wenn wir dieses Gleichungssystem haben, überführen wir das Ganze in
ein Ausgangstableau für unseren Simplex Algorithmus.
Und dann müssen wir zuallererst einmal ein zulässiges Problem herstellen.
Und vermutlich, kleiner Tipp, werden wir hier gleich ein
unzulässiges Problem haben, dass wir zuallererst einmal zulässig machen müssen.
Und das können wir entweder dann mit dem Du einen simplexen
Algorithmus machen oder aber wir könnten da auch die zwei Phasenmethoden nennen.
Wenn wir da die Zwei-Phasen-Methode anwenden wollen würden,
müssten wir allerdings darauf achten,
dass wir einen ersten Schritt zuallererst auch einmal die erstrangige Zielfunktion
mit aufstellen
Hier werden wir gemeinsam mit dem Du einsimplex Algorithmus arbeiten,
weil deren Ecken schneller geht. Wenn wir dann mit zusätzlicher Ausgangslösung
haben, machen wir weiter mit dem primalen Symplex Algorithmus.
Den wir dann so lange arbeiten,
bis wir irgendwann auf die optimale Lösung konnten.
Fangen wir also einmal an mit Schritt eins. Wir transformieren uns
unser Ausgangsproblem in ein Gleichungssystem. Was müssen wir da zwar
allererst machen? Naja, zuallererst müssen wir erstmal dafür sorgen,
dass dieses Problem die Anforderungen des allgemeinen linearen Optimierungsproblems erfüllt.
Und Da wir jetzt hier aus einem Maximierungsproblem mit kleiner
gleichen Nebenbedingungen das äquivalente Duale Problem gemacht haben,
haben wir jetzt hier eine Minimierung mit lediglich größer gleichen Nebenbedingungen.
Das ist ja mehr oder weniger der Worst Case,
den wir haben können, weil was wir brauchen,
ist eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen.
Also, was machen wir hier? Ja, ganz einfach
. Wir multiplizieren sowohl die Zielfunktion als auch die beiden Nebenbedingungen
mit einem Heimminus
Und dann kommen wir zur Maximilian von F-Schlange,
die gleich minus 4 W1, minus 2 W2 in der Zielfunktion ist.
Und aus den beiden Nebenbedingungen,
die wir vorher größer ergleichen, Nebenbedingungen gewesen sind,
wurden nun durch die Multiplikation mit Mai minus 1 kleiner gleichen Nebenbedingungen.
Sie erinnern sich, wenn ich eine Ungleichung mit einer
negativen Zahl multipliziere, ändert sich das Vorzeichen dar,
beziehungsweise die Richtung der Ungleichung
Hä? Das heißt, wir haben jetzt hier
die allgemeine Form des linearen Optimierungsproblems hergestellt.
Und wir müssen das Ganze jetzt noch in ein gleiches System transformieren.
Das heißt, was machen wir? Ganz einfach,
wir müssen hier noch Schlüpfvariablen bei den Nebenbedingungen einfügen, um der Gleichung herauszumachen.
Und wir müssen bei unserer Zielfunktion dafür sorgen,
dass sich die Variablen auf der rechten Seite rüber auf die linke Seite zum F-Schlange rutschen.
Also addieren wir auf beiden Seiten der Zielfunktion einmal
die Dualvariablen
Nachdem wir das getan haben, haben wir unser Gleichungssystem auch schon fertig.
Und wir können das Ganze in unser Ausgangssimplex-Tableau überführen.
Wie groß ist unser ergleichungssystem hier? Naja, wir haben
jetzt hier zwei Dualvariablen und zwei Schlüpfernherbel. Das heißt,
immer Simplex-Tableau hat jetzt hier sechs Spalten und vier Zeilen.
Also relativ klein im Vergleich zu den bisherigen Übungen
Und sechs Spalten, da wir ja für jede Dualvariable
eine Spalte brauchen und für jede Schlüpfvariable eine Spalte brauchen.
Darüber hinaus brauchen wir ganz rechts eine Spalte für die B-Koeffizienten
und ganz links eine Spalte für die Basisvariable.
Und vier Zeilen, einfach nur dahingehend,
weil wir zur allerersten Zeit der Null dann stehen haben,
um was für Variablen es sich hinter drunter liegenden Spalte handelt.
Und dann brauchen wir hier noch drei weitere Zeilen,
da wir jetzt hier drei Gleichung haben
Und das befüllte Simplex-Tableau sieht dann gefolgt aus.
Und mit diesem Simplex-Tableau können wir dann auch gleich in Phase 1
den Dual ein simplexer Algorithmus einsteigen.
Haben wir eine zulässige Ausgangslösung? Nö. Wir haben auf
der rechten Seite bei den Bildkoeffizienten zwei negative Koeffizienten stehen.
Das heißt, das müssen wir jetzt hier machen.
Wir müssen mit dem Dual ein simplexer Algorithmus Iteration durchführen,
bis wir zuallererst erstmal eine zusätzliche Ausgangslösung hergestellt haben.
Das heißt also, bis wir uns in den zulässigen Bereich
des Lösungsraums
berührt haben
Also, fangen wir da mal an.
Wie gehen denn wir dabei vor? Naja,
beim dualen Simplex-Argebot müssen wir ja zuallererst einmal die Pero-Zeile bestimmen,
um herauszufinden, was für eine Basisvariable jetzt gleich die Basis verlässt.
Und potenzielle Kandidaten haben wir hier in Zeile 1 und in Zeile 2,
weil in beiden Zeilen haben wir negative Koeffizienten drin.
In beiden Zeilen steht ja in minus 1.
Und welche der beiden Koeffizienten ist jetzt hier kleiner?
Keiner. Beide Koeffizienten sind ja identisch. Also fehlen dir
gemäß unserer Regel die Zeile mit dem kleineren Index.
Also wird in der ersten Zahl ja jetzt hier zu Pero-Zeile
Dann müssen wir ins zweite Pivot Spalte bestimmen. Das heißt,
wir bestimmen jetzt, wer kommt gleich in die Basis rein?
Haben wir uns da nochmal die potenziellen Kandidaten an?
Der einzigen potenziellen Kandidaten hier sind die erste und die zweite Spalte.
Und wieso? Naja, in der Pivot Zeile haben wir
ja nur in der ersten und in der zweiten Spalte
einen negativen koeffizienten Stellen. Und sie erinnern sich daran,
wir brauchen jetzt hier einen negativen Koeffizienten in der Pivot Zeile,
um diese zugehörige Spalte zu einer Pivot Spalte machen zu können
Heißt also, wir teilen jetzt hier, hier,
durch minus eins, was zu uns zu minus vier bringt,
und wir teilen hier zwei durch minus eins,
was inste minus zwei bringt.
Und davon müssen wir jetzt den größeren Wert auswählen,
um auf unsere Pivot-Spalte zu kommen.
Also ist die zweite Spalte hier unsere Pivot-Spalte.
Unser Pivolement ist die minus eins. Wir wissen also,
gibst du dann eins, verlässt hier ist die Basis,
und W2 betritt gleich die Basis.
Nun müssen wir ja nur noch,
unser Pivolement auf eine Eins bringen,
und alle anderen koeffizienten in der Pivot-Spalte
auf neu
Heißt also,
die erste Zeile des Ausgangstableons wird mal minus 1-0 depliziert,
in der zweiten Zeile übernehmen wir einfach nur die zweite Zeile
des Ausgangstables und in der dritten Zeile des ersten Tableos
nehmen wir die dritte Zeile des Ausgangstableos und ziehen dort zweimal die erste Zeile des ersten Tableos ab.
Wenn man das berechnen, kommen wir auf das folgende Tableau.
Und dieses Teas Tableau bereits zulässig? Nein. Nun,
wir haben auf der rechten Seite immer noch einen negativen Kojizienten
in der zweiten Zeile stimme. Das heißt,
wir müssen hier noch mindestens einen weiteren Schritt im dualen Symplex Algorithmus durchführen,
bis wir dann vielleicht eine zulässige Ausgangslösung hergestellt haben
Also übernehmen wir dieses erste Tabello hier und gehen wieder zurück
zu Schritt eins des dualen Simplex-Eiko-Mus. Wir wählen unsere Perot-Zeile aus.
Und da gibt es ja jetzt nur noch einen Kandidaten,
denn wir haben nur noch einen negativen Koeffizienten in der B-Splatte stehen.
Wir wissen also, Y2 verlässt jetzt gleich die Basis
und hört durch eine der anderen Variablen ersetzt.
Und welche ist das? Schauen wir uns mal die potenziellen Kandidaten
der Perot-Spalte an. Und da haben wir ebenfalls nur noch
einen. Denn nur noch in der ersten Spalte haben wir
einen negativen Koeffizienten in der Perot-Zeile stehen. Das heißt,
wir haben hier direkt auch schon unsere Perot-Spalte bestimmt und wissen,
unser neues Perolement, hier ist die minus eins.
In unserem neuen Tableau betritt jetzt also die erste Dualvariable,
die Basis.
Und die zweite Schlüpfvariable verlässt die Basis
Um jetzt unser Pivo-Element wieder auf eine Eins zu bringen,
müssen wir erneut die Pivo-Zeile mit ein paar minus eins multiplizieren.
In der ersten Zahl des zweiten Tablos müssen wir dann einmal
die zweite Zeile des zweiten Tablos abziehen,
um aus der einzelnen Null zu machen und in der Zielfunktionszeile
müssen wir zweimal die zweite Zeile des zweiten Tablos abziehen,
um dort die Zwei zu einer Null zu machen.
Wenn wir das ausrechnen, sieht das Tableau wie folgt aus.
Schauen wir mal auf die rechte Seite des Tablos.
In der B-Spalte ist es zulässig. Ja,
wenn alle koeffizienten dort,
sind größer gleiche Nudeln
Ist das Ganze auch schon optimal? Schauen wir doch mal eine Zielfunktionszeile.
Und wir sehen, dort sind ebenfalls alle Koiffizienten größer gleich null.
Das heißt, dieses zweite Tableau zeigt uns jetzt hier schon
die optimale Lösung an. Und wir können unsere Lösung aus
der Vorlesung mal mit der Lösung aus der Übung vergleichen.
Ja. Was fällt auf? Naja, der Zielfunktionswert ist du
allen Problems, ist ja gleich minus F-Schlange des Dualen Problems.
Wir erinnern sich, wir haben ja eingangs einmal
unsere Zielfunktion mit dem Heimnis 1 multipliziert. Heißt also,
der Zielfunktionswert des Dualen Problems ist gleich 4,
was ja gleich dem Zielfunktionswert ist, primaren Problems entspricht,
was jetzt hier auf der rechten Seite sehen.
Also schon mal wieder identisch
Kammen wir uns nochmal die ursprüngliche Fragestellung an.
Die ursprüngliche Fragestellung hat ja ausgesagt, dass das primae Problem,
das wir bereits in der Vorlesung angeschaut haben, dual degeneriert ist.
Und wir sollten nun prüfen, ob das duale Problem hier
nun ebenfalls eine Art von Degeneration erfasst.
Und Firmen hast du dann nochmal ganz kurz vor Augen,
was sind die duale Degeneration eigentlich heißt?
Wenn dort ein Optimierungsproblem du halt degeneriert bist,
dann sind die reduzierten Kosten einer der Nicht-Basis-Variablen in der optimalen Lösung gleich null.
Und die reduzierten Kosten, die sehen sie ja in der Zielfunktionszeile,
denn in der Zielfunktionszeile sind die negativen reduzierten Kosten abgebildet.
Heißt, wenn sie die negativen reduzierten Kosten in der Zielfunktionszeile
mit mal minus 1 multiplizieren,
kommen sie auf die reduzierten Kosten
Und die reduzierten Kosten der zweiten Schlupfvariable sind hier gleich null.
Das heißt, wir könnten jetzt Y2 in die Basis aufnehmen
und wir würden immer noch auf eine Lösung kommen,
die den gleichen Zielfunktionswert hat. Das liegt daran,
dass wir hier ganz viele optimale Lösungen haben, denn unsere Zielfunktionsgrade,
die liegt im Optimum direkt auf einer der Nebenbedingungen.
Das heißt, wir haben einen zulässigen Lösungsraum,
nicht nur einen optimalen Punkt, sondern wir haben einen zulässigen Lösungsraum,
ganz viele optimale Punkte entlang dieser Nebenbedingungen.
Und was bedeutet das jetzt für unser duales Problem?
Haben wir jetzt hier eine primane Degeneration, eine duale Degeneration oder keines von beiden?
Ja, wir haben hier eine primale Degeneration,
da der Wert einer der Basisvariablen gleich null ist.
Denn Sie sehen es ja auch, im Optimaltableau ist du
ein Problems, die Dualvariable W2 ist gleich null.
Und das ist immer so,
wenn Sie ein primales Problem haben, das dual degeneriert ist,
dann ist das äquivalente duale Problem prima degeneriert.
Wenn Sie ein primates Problem haben,
das primal degeneriert ist, dann ist das äquivalente duale Problem
dual degeneriert
War das? Sehen wir gleich nochmal in der nächsten Aufgabe.
Damit kommen wir dann auch schon zur Albumsaufgabe 2.1. Das lineare Optimierungsproblem,
das Sie hier jetzt sehen, ist prima degeneriert.
Denn das haben Sie bereits in der Vorlesung mit Professor Hase
einmal herausgefunden. Und nun ist die Frage an uns,
ob das duale Problem ebenfalls degeneriert ist.
Und die Antwort darauf haben Sie gerade eben ja schon gehört.
Aber schauen wir uns das mal an,
wie das hier in der Praxis aussieht, wenn wir das ausrechnen,
damit wir das auch, sagen wir mal, beweisen können.
Okay? Wir haben jetzt hier eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen stehen.
Heißt also, wir überführen diese Maximierung nun in das Äquivalente duale Problem.
Und das mache ich hier erneut nochmal mit Ihnen in der Kurzfassung.
Wie gesagt, wenn Sie hier Fragen haben oder Unklarheiten,
schauen Sie gerne nochmal in die Jugend 4 nach
Aus unserem Maximierungsproblem, mit den drei kleiner gleichen Nebenbedingungen,
wird jetzt also im dualen Problem eine Minimierung mit zwei größer gleichen Nebenbedingungen.
Sie erinnern sich, was machen wir hier? Wir transponieren
eigentlich primär zwei Viktoren, deine Matrix und multiplizieren an den
notwendigen Stellen das Ganze mit dem Vactor der dualen Variablen.
Sollen Sie sich das links mal an,
dort haben wir ja einen B-Vektor 4-2-2,
der wird transponiert und bildet dann nach der Multiplikation
den Dualvariablen die neue Zielfunktion
Gleichzeitig haben wir ja einen primalen Problem in der Zielfunktion,
einmal den transplanierten Vektor oder Zielfunktionskoifizierten,
mit dem Vektor der Entscheidungsvariablen Excites und Excites 2 multipliziert.
Und dieser transplanierte Vektor der Zielfunktionskoifizienten, 1,2,
wird nun transplaniert und stellt dann in die neuen Beschränkungen auf
der rechten Seite, der dualen Problemstellung dar.
Die Matrix mit den Arkoeffizienten wird ebenfalls transplaniert und
mit dem Werkzeug der Dualvariablen multipliziert
Und wir haben es in der letzten Übung auch schon gesehen,
wenn wir hier im Ausgangsproblem zwei Entscheidungslariablen haben,
dann bedeutet das, dass einen äquivalenten Dual ein Problem,
dort zwei Nebenbedingungen entstehen.
Wenn wir im Ausgangsproblem drei Nebenbedingungen haben, dann bedeutet das aber auch,
dass wir dann im äquivalenten Dual ein Problem,
drei Dualvariablen in der Zielfunktion haben.
Also diese Relation gilt hier natürlich auch viel mehr.
Pausieren sich aber ruhig, schauen sich das Ganze mal genau
an und machen sie dann erst weiter,
wenn sie nachvollzogen haben,
was hier eigentlich so passiert ist
Nachdem sie das nachvollzogen haben, kommen wir dann hier zur Transformation in ein Gleichungssystem.
Heißt also, wir müssen jetzt wieder hier die allgemeine Form
des Linie an Optimierungsproblems herstellen und wie vorhin auch,
haben wir hier den Worst Case.
Wir haben hier nämlich eine Zielfunktion, die eine Minimierung ist und
wir haben zwei Nebenbedingungen, die Größe gleichen Emittierungen sind.
Wir brauchen ja hier eine Maximierung mit lediglich kleiner Gleichnebenbedingungen.
Heißt also, wir müssen hier einmal zur Herstellung des allgemeinen Linearoptimierungsproblems,
sowohl die Zielfunktion als auch die beiden Nebenbedingungen einmal mit,
mal minus eins multiplizieren
Nachdem wir das getan haben, können wir das Ganze dann
in ein Gleichungssystem überführen. Und diesen Zwischenschritt,
den überspreche ich hier jetzt mal, das heißt,
wir machen das Ganze gleich in ein Gleichungssystem rein,
damit wir hier mit der Zeit hinkommen.
Das heißt, wir haben jetzt hier die Nebenbedingungen für eins in der Gleichung,
die minus V1, minus V2 plus Y1, gleich minus eins ist.
Wir haben hier die Nebenbedingungen auf zwei, die jetzt minus V1,
minus V3 plus Y2, gleich minus zwei ist.
Und natürlich haben wir jetzt hier auch die Zielfunktion,
die ja mit einer F-Schlange arbeitet.
Und bei dieser Zielfunktion musst du mehr dafür sorgen,
dass alle Variablen auf der rechten Seite der Gleichung rüber auf
die linke Seite zwölf Stange wandern.
Das heißt, die neue Zielfunktion hier ist 4W1 plus
zwei bis zwei plus zwei, 3 plus elf Schlange ist
gleich null
Das ist ja jetzt hier nichts Neues, das haben wir
ja hier schon viele, viele Male gemeinsam gemacht.
Hä? Und dieses Gleichungssystem überführen wir dann im nächsten Schritt
einmal wieder in ein Symplex-Tableau. Wie groß ist unser simplexes Tableau?
Naja, wir haben hier drei Dualvariablen und zwei Schlupfvariablen.
Heißt also unser Symplex-Tableau, besteht aus sieben Spalten und vier Zeilen.
Nur das Ganze befüllen, sieht es wie folgt aus.
Und mit diesem befüllten Symplex-Tableau gehen wir dann mal weiter
zu Phase 1,
dem dualen Symplex-Algorithmus
Haben wir hier bereits eine zulässige Ausnahmslösung gegeben? Schauen wir
mal auf der rechten Seite, bei der B-Spalte nach.
Nein. Wir haben hier noch zwei negative Koeffizienten in
der B-Spalte stehen. Wir müssen also noch weitere Intergrationen,
mit denen du ein Symptox-Algorithmus machen,
bis wir dann irgendwann eine zulässige Ausgangslösung haben
Fangen wir an mit Schritt 1. Dann ist unser Allererzt wieder
unsere Pivot-Zeite auswählen. Und die ist ja ganz einfach gefunden,
denn wir haben den kleinsten Koeffizienten in der B-Spalte, in der zweiten Zeile stehen.
Wir müssen also nur noch unsere Pivot-Spalte bestimmen. Und potenzielle
Kandidaten für eine Pivot-Spalte sind ja die erste und die dritte Spalte,
weil nur dort haben wir negative Koeffizienten in der Pivot-Zeile stehen.
Wir teilen also vier durch minus eins, das minus vier ist,
und wir teilen zwei durch minus eins,
was minus zwei ist, und wir wissen ja,
minus zwei ist größer als minus vier,
also wird die dritte Spalte hier unsere neue Pivo-Spalte.
Unser Pivolement ist damit minus eins
Nun kommt das, was jetzt immer kommt,
wir müssen wieder über People Valement auf eine Eins bringen und wir müssen dafür sorgen,
dass alle anderen Koeffizienten in der Pivotspeise gleich null sind.
Wir schreiben also unser neues Tableau auf, wir merken,
dass Y 2 die Basis verlässt und durch die dritte Dualvariable
ersetzt wird und multipliziert dann im Anschluss die zweite Zeile
des Ausgangstables mit minus 1,
um die neue zweite Zeile des ersten Tables
zu bestimmen
Die erste Zeile des Ausgangstables, können wir hier ja ganz einfach übernehmen,
weil dort haben wir bereits eine Null in der PV-Spalte stehen.
Und in der Zielfunktionszeile des Ausgangstables müssen wir nun zweimal
die zweite Zeile des ersten Tables abziehen,
um dort ebenfalls eine Null zu bekommen.
Und das neue Tableau sieht dann wie folgt aus.
Und ist das Ganze jetzt hier zulässig?
Schauen wir mal auf der rechten Seite bei den B-Koeffizienten.
Nein. Dann werden wir ja immer noch einen negativen Koeffizienten
in der ersten Zeile stehen.
Wir brauchen also noch einen weiteren Schritt im dualen,
simplexen Algorithmus
Wir nehmen also unser erstes Tableau und gehen wieder zurück zu Schritt 1.
Der Auswahl der Pirotzeile und potenzielle Kandidaten für eine Pirotzeile
sind ja hier ganz einfach bestimmt.
Da haben wir nur noch einen potenziellen Kandidaten der ersten Zeile,
weil nur dort haben wir noch einen negativen Koeffizient in der B-Sparte stehen.
Wir wissen also, Psyle 1 verlässt jetzt gleich die Basis.
Und wer betritt die Basis? Ja, scheinen wir mal
in der Zielfunktionszeile nach, was wir dort für Koeffizienten stehen haben.
Und die einzigen beiden möglichen Spalten,
die wir hier haben,
die erste und die zweite Spalte bei nur in der ersten
und in der zweiten Spalte haben wir ja eine Pirot-Zeile,
einen negativen Koeffizienten stehen
Und in diesem Fall müssen wir dann zwei durch minus eins
rechnen und dann nochmal zwei durch minus eins rechnen.
Und das ist ja in beiden Fällen dann minus zwei,
gemäß unserer Regel gehen wir hier ein,
also die Spalte mit dem kleineren Index und wir wissen die erste Spalte,
ist die neue Pivot-Spalte.
Unser Pivolement ist erneut die minus eins. Im zweiten Tableau
wird jetzt also Y1 aus der Basis rausgekickt und W1,
also die erste Dualvariable,
petritt die Basis
Um da nun das Pivolement auf eine Eins zu bringen,
nehmen wir einfach die erste Zahl der des ersten Tablos,
multiplizieren das Ganze mit minus eins und kommen so auf die
erste Zahl der des zweiten Tablos.
Um dann in der zweiten Zahl des zweiten Tablos eine Null in der Pivot-Sparte hinzubekommen,
müssen wir ja nun einfach einmal die erste Zahl des zweiten
Tablos von der zweiten Zeile des ersten Tablos abziehen.
Um in der Zielfunktionszeile Null hinzukommen, müssen wir dort einfach
zweimal die erste Zeile des zweiten Tablos abziehen.
Sagt getan und dieses neue Tableau ist dann unser zweites Tableau
Ohne was sehen Sie auf der rechten Seite? Das Ganze ist hier
zulässig. Und was sehen Sie hier unten in der Zielfunktionszeile?
Das Ganze ist auch noch optimal. Das heißt,
wir haben hier wieder eine optimale Lösung gefunden und wir können
das Ganze einmal analysieren. Deswegen habe ich nie rechts nochmal
das primae Problem aus der Vorlesung abgebildet und links sehen Sie
jetzt das optimale duale Problem,
was wir hier gerade im Gemeinsamen bestimmt haben
Was fällt uns hier zuallererst auf,
wenn wir heute diese beiden optimalen Lösungen anschauen? Naja,
dass wir sehen, der Zielfunktionswert der beiden Lösungen ist identisch.
Der optimale Zielfunktionswert des primären Problems ist sechs und der optimale Wert
des Zielfunktionswerts im dualen Problem ist, ebenfalls gleich Sex.
Denn sie müssen ja auf Schlangen jetzt noch mit minus eins
multiplizieren, um das ursprüngliche F herzustellen.
Und schauen wir uns jetzt hier nochmal die ursprüngliche Aufgabe an.
Unsere ursprüngliche Aufgabe war ja herauszufinden,
ob wir hier nun im dualen Problem ebenfalls eine Degenerierung haben,
nachdem unser primales Optimierungsproblem primal degeneriert gewesen ist.
Und primal degeneriert heißt ja, dass wir den Wert
einer Basisvariable gleich Null haben
Was bedeutet der Wert an der Basisvariablen gleich null hier eigentlich logisch im Hintergrund?
Naja, das bedeutet nichts anderes, heißt,
dass ich im optimalen Punkt mehr als eng Nebenbedingungen schneiden.
Und N entspricht da der Zahl der Entscheidungsvariablen des Problems.
Also entweder die Anzahl der X, die wir haben,
oder die Anzahl der Ws
Und was bedeutet das jetzt hier für unser duales Problem?
Naja, eigentlich ist das ganz einfach. Wenn so
ein primaren Problem die eine Art der Generation haben,
dann haben sie einen korrespondierenden dualen Problem, die andere Art der Degeneration.
Das bedeutet hier in diesem Fall,
dass wir jetzt hier im dualen Problem die duale Degeneration haben.
Und die können wir auch ganz einfach erkennen,
indem wir uns die Zielfunktionszeile des dualen Problems anschauen.
Und wir müssen nun einfach bei allen Nicht-Basisvariable einmal prüfen,
ob wir dort irgendwo in der Zielfunktionszeile eine Null stehen haben.
Und das bedeutet dann ja, dass wir hier bei einer Nicht-Basisvariable
reduzierte Kosten von Null haben. Und sie erinnern sich,
wenn sie bei einer Nicht-Basisvariable reduzierte Kosten von Null haben,
dann können sie diese Variable in die Basis aufnehmen,
müssen dann natürlich eine andere Basisvariable rauswerfen und sie würden
immer noch auf den gleichen Zielfunktionswert kommen wie vorher
Ganz simpel ausgedruckt, heißt es einfach, es gibt hier
nicht nur eine optimale Lösung, es gibt hier mehrere optimale Lösungen.
Und was sie sich jetzt hier merken müssen, ist einmal einerseits,
wie sie denn die primae und die duale Degeneration erkennen und
andererseits einfach diese Wechselwirkung zwischen primalen und dualen Problemen.
Haben sie im primaen Problem, die eine hat der Degeneration,
haben sie im Dual ein Problem, die andere Art der Degeneration.
Haben sie beispielsweise im Dual ein Problem, keine Degeneration,
dann haben sie auch im primalen Problem
keine Degeneration
Okay. Damit sind wir mit der Übungsaufgabe hier auch schon
fertig. Und wir machen weiter mit der nächsten Übungsaufgabe.
Das ist die Übungsaufgabe 3.1. Überprüfen Sie,
ob das duale Problem von den Primalproblemen eine zulässige Lösung besitzt.
Was haben wir hier gegeben? Wir haben hier eine Maximierung mit
zwei kleiner gleichen Nebenbedingungen und einer größer leichten Nebenbedingung gegeben.
Und nun müssen wir das Ganze ja wieder in das Äquivalente duale Problem überführen.
Und da müssen wir uns zuallererst einmal überlegen,
machen wir jetzt aus einer Maximierung mit lediglich kleiner gleichen Nebenbedingungen
eine Minimierung mit lediglichen Größergleichnebenbedingungen oder aber transformieren wir dieses Ausgangsproblem
bereits in eine Minimierung mit lediglich größer gleichen Nebenbedingungen und dann
für das duale Problem eine Maximierung mit lediglich kleinergleich Nebenbedingungen herauszubekommen
Ich mache jetzt hier mal den zweiten Fall.
Das heißt, wir müssen hier zuallererst einmal das Ausgangsproblem
in eine Minimierung mit lediglich größer, gleichen Nebenbedingungen transformieren.
Wir multiplizieren also unsere Zielfunktion mit mal minus eins und wir
multiplizieren die erste und die dritte Nebenbedingung im Markt minus eins.
Das Ergebnis sieht dann wie folgt aus.
Aus unserer Maximierung von F ist nun eine Minimierung von F Schlange
geworden und aus unseren beiden kleiner gleichen Nebenbedingungen sind nun größer
gleich Nebenbedingungen geworden
Und das Ganze können wir nun super einfach in das duale
Problem überführen. Denn wir haben ja hier eine Minimierung mit
lediglich größer gleich Nebenbedingungen gegeben.
Und aus der wird dann im dualen Problem natürlich
eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen
Und sie sehen ja auch, was ist hier jetzt passiert?
Schauen wir mal ganz auf die rechte Seite hier bei unserem dualen Problem.
Dort haben wir nun minus eins und minus zwei stehende.
Und wenn wir nun in die Zielfunktion des primären Problems schauen,
sehen wir minus eins und minus zwei, sind die transponierten Koeffizienten,
die wir oben aus der Zielfunktion übernommen haben.
Schauen wir uns mal die Zielfunktion des dualen Problems an.
Dort haben wir minus vier wie eins, plus drei wie zwei stehen.
Und das ist ja nichts anderes, als der Vektor
der B-koeffizienten transponiert und multipliziert mit dem Vektor der Dualvariablen.
Denn B ist ja vorher minus 4,
3 und 0 gewesen
Matrix A ist ebenfalls transponiert worden und mit dem Back-to-Ritual variablen multipliziert worden.
Also hier, nichts Neues, das Gleiche,
was wir hier die ganze Zeit auch schon gemacht haben,
pausieren sich hier gerne und schauen sich das nochmal im Detail an oder rechnen das einfach nach.
Und der Vorteil, dadurch, dass wir hier bereits
eine Maximierung mit kleiner gleichen Nebenbedingungen herausbekommen haben, ist,
dass wir hier auch schon die allgemeine Form des linearen Optimierungsproblems hergestellt haben.
Denn wir haben ja hier eine Maximierung mit kleiner gleichen Nebenbedingungen hergestellt.
Wir müssen also nichts mehr mit meinen minus eins multiplizieren,
sondern wir können direkt damit anfangen,
das Ganze in ein Gleichungssystem
zu transformieren
Und unser Gleichungssystem bestimmen wir ja ebenso,
wie wir das bisher auch immer gemacht haben.
Wir nehmen zuallererst einmal die Nebenbedingungen her,
fügen eine Schlupfvariable ein und machen eine Gleichung draus.
Dann schauen wir uns die Zielfunktion an, gucken,
dass wir alle Variablen auf der rechten Seite nehmen,
rüber auf die linke Seite bringen.
Und nachdem wir das getan haben, haben wir hier
unser auskunftsgleichem System für den Simplex-Algorithmus auch schon hergestellt.
Dieses Ausgangsgleichungssystem müssen wir dann natürlich noch in ein Simplex-Tableau überführen.
Wie groß ist unser Ausgangstableau hier, naja,
wir haben hier drei Dualvariablen, und zwei Schlupfvariablen,
dementsprechend hat unser Tableau jetzt hier sieben Spalten und vier Zeilen
Und wenn wir das dann befüllen, zieht unser Ausgangstableau wie folgt aus.
Wir können uns auch gleich die Frage stellen,
ob dieses Ausgangstableau jetzt zulässig ist.
Nö, nicht wirklich. Denn wir haben ja auf der
rechten Seite hier eine B-Spalte, noch negative Koeffizienten stehen.
Das heißt, wir müssen ja auch mindestens einen weiteren Schritt
im dualen Simplex-Algorithmus durchgehen und dann vielleicht auf eine zulässige Lösung
zu kommen
Gehen wir also einmal weiter zu Schritt eins
hier und fangen mal an mit der Auswahl der Pivotzeile.
Und was sind unsere potenziellen Kandidaten hier? Naja,
Potenzialen, Kandidaten sind sowohl Zeile eins als auch Zeile zwei.
Da wir ja in beiden Zeilen hier in der B-Spalte einen negativen Koeffizienten haben.
Der minus zweimal aber kleiner ist als minus eins,
ist die zweite Zeile jetzt hier unsere Pivotzeile.
Und Pivotspalten haben wir hier gar nicht mehr so schwer zur Auswahl,
denn nur die erste Spalte, keine Gebotspalte sein,
denn nur in der ersten Spalte haben wir einen negativen Koeffizienten,
in der Pivotzeile stehen
Unser Pivo-Element ist hier also die minus eins. Im neuen Tableau
wissen wir jetzt also, dass die erste Dualvariable die Basis betritt.
Und die zweite Schlupfvariable, die Basis verlässt.
Und nun müssen wir wieder unser Pivo-Element zu einer Eins machen.
Wir nehmen also hier die zweite Zeile des Ausgangstables,
multiplizieren sie mit mal minus eins,
um hier die neue Zeile des Ersten Tableaus zu bestimmen.
Oder im Anschluss müssen wir dafür sorgen,
dass alle anderen Koeffizienten in der Pivo-Spalte gleich null sind.
Also, was machen wir? In der ersten Zeile des
ersten Tableaus, nehmen wir die erste Zeit des Ausgangstables und
wir iddieren dort einmal die zweite Zeile des ersten Tableaus
In der dritten Zeile des ersten Teilplus nehmen wir die dritte Zeile
des Ausgangstables und wir ziehen dort viermal die zweite Zeile des ersten Tableaus ab.
Wenn wir das berechnet haben, sieht unser Tableau wie folgt aus.
Und haben wir jetzt hier eine zulässige Lösung,
schauen wir auf der rechten Seite mal nach.
Ja, dann gehen wir auf der rechten Seite keine negativen
Kokoeffizienten mehr in der B-Spalte stimmt.
Ist die aktuelle Lösung denn optimal? Nö. Dann wir
haben in der Zielfunktionszeile unten noch einen negativen Koeffizienten stehen.
Wir können hier also noch eine Verbesserung erreichen,
indem wir einen weiteren Schritt im primalen Simplex-Algorithmus durchführen
Machen wir das mal gemeinsam. Was machen wir beim
primaten Simplex? Also Rhythmus, der letzte primate Simplex-Album,
das ist ja jetzt schon eine Weile her.
Naja, ihr bestimmt zuallererst einmal unsere Piro-Spalte. Und die finden wir ja,
indem wir in der Zielfunktionszeite schauen und gucken,
was der kleinste koeffizient ist, der aber mindestens kleiner als neu sein muss.
Und den finden wir in der zweiten Spalte.
Wir wissen also, B2 wird gleich die Basis betreten.
Und welche der aktuellen Basisvariaben verlässt jetzt die Basis? Naja,
wir müssen jetzt gucken, was potenzielle Kandidaten für eine Piro-Zeile sind.
Und einen potenziellen Kandidaten haben wir hier nur in der ersten Zeile,
denn nur in der ersten Zeile haben wir in der Piro-Spalte
einen positiven koeffizienten Stellen
Also haben wir unsere Pepo-Zeile gleich bestimmt und unser Pepo-Element ist hier eins.
In unserem neuen Tableau ist jetzt also wie zwei in der Basis
drin und Y1 hat die Basis verlassen und müssen wir noch viel machen,
um unser Pepole mit auf eine Eins zu bringen.
Nein. Denn wir können hier einfach nur die erste Zeile
des ersten Tableaus in die erste Zeile des zweiten Tableaus übernehmen.
Dann müssen wir alle anderen Koeffizienten in der Pepo-Spalte,
wie immer, auf Null bringen. Heißt also,
die zweite Zeile können wir hier einfach übernehmen und in der
dritten Zeile müssen wir nun dreimal die erste Zeile des
zweiten Tableaus addieren
Wenn wir das getan haben, sieht das neue Tableau wie folgt aus.
Ist das Ganze jetzt hier zulässig? Klar,
denn wir können ja mit dem primaen Simplex-Algorithmus aus einer
zulässigen Lösung keine unzulässige Lösung mehr herstellen.
Ist das Ganze denn auch optimal? Schauen wir mal
in der Zielfunktionsteile nach. Nein. Denn wir haben in
der Zielfunktionsteile immer noch einen negativen Koeffizienten stehen.
Also nehmen wir hier unser zweites Tableau und gehen wieder zurück
zu Schritt 1 im primalen Simplex-Algorithmus.
Wir wählen unsere Pivotspalte aus
Potenzieller Kandidat, ist hin und die dritte Spalte.
Denn nur in der dritten Spalte haben wir ja noch
einen negativen Koalifizieren, in der Zielfunktionszahle stehende.
Also haben wir unsere Pivotspalte gefunden und versuchen jetzt unsere Pivot-Zeile.
Und da haben wir jetzt hier ein Problem,
denn keine der beiden Zeilen hier ist eine potenzielle Pivot-Zeile.
Denn unserer Pivot-Spalte haben wir in beiden Zeilen nur einen negativen Koeffizienten stehen.
Wenn wir jetzt hier aber eine Pivot-Zeile ausfählen wollen,
müssen wir in der jeweiligen Zeile in der Pivotspalte
mindestens einen Koeffizienten stehen haben,
der größer als Null ist
Es heißt hier also, wir sind am Ende des primären Simple Excel-Pornos.
Und wir haben herausgefunden, dass das duale Problem jetzt hier unbeschränkt ist.
Also immer, wenn sie mit dem primalen Simplex-Algorithmus dazu kommen,
dass sie nicht mehr weitermachen können,
weil sie keine Pivot-Zeile auswählen können, dann wissen sie,
dass sie auf ein unbeschränktes Problem gestoßen sind.
Für das Korrespondierende, primale Problem,
dass sie sich in der Vorlesung angeschaut haben,
hieß es ja, dass wir dort keine zulässige Lösung gefunden haben.
Dazu können sie sich nochmal auf Folie 12 anschauen.
Das heißt, eben Supported Degeneration haben wir hier eine,
haben wir ja einen Zusammenhang zwischen primalen und dualen Problemen.
Wenn wir in einem primalen Problem keine zulässige Lösung finden,
dann ist das korrespondierende duale Problem unbeschränkt.
Oder aber auch andersrum. Wenn wir im primären Problem
eine unbeschränkte Lösung haben, dann hat das korrespondierende duale Problem
keine zulässige Lösung
Gut. Machen wir also einmal weiter mit Übungsaufgabe 1.4,
wo wir uns mal den anderen Fall anschauen.
Überprüfen Sie, das duale Problem von dem Primalproblem,
eine optimale Lösung besitzt. Was haben wir hier gegeben?
Wir haben hier eine primale Problemstellung, die eine Maximierung ist
und die einer kleiner gleichen Nebenbedingung und einer Größe gleichen Nebenbedingung unterliegt.
Und diese primale Problemstellung müssen wir nun zuallererst wieder in die
Äquivalente Du auch eine Problemstellung überführen. Und das machen wir,
indem wir hier aus dem Ausgangsproblem zuallererst einmal eine Minimierung herstellen.
Das heißt, wir multiplizieren die Zielfunktion mit dem Heim minus 1
und wir multiplizieren die erste Nebenbedingung mit dem Heim minus
Das getan haben, haben wir hier eine Minimierung von F-Schlange,
statt einer Maximierung von F.
Und wir haben hier nur noch zwei größer gleiche Nebenbedingungen.
Das heißt, wir können das hier ganz simpel nun
in eine Maximierung mit lediglich kleiner gleichen Nebenbedingungen überführen,
die ja dann die äquivalente duale Problemstellung darstellt.
Wenn ich das tue, sieht das äquivalente duale Problem
wie folgt aus
Wenn du da nochmal nachschauen wollen, wie das Ganze funktioniert,
gucken Sie sich nochmal in Ruheübung 4. Und unsere duale Problemstellung
ist ja nun eine Maximierung mit lediglich kleiner gleich neben dir.
Heißt, wir können da recht, hier in die Transformation
ein Ergleichungssystem einsteigen und den ersten Schritt hier abhaken.
Denn wir haben ja hier bereits die allgemeine Form des linearen Optimierungsproblems sehr gestellt.
Das heißt, dieses Maximierungsproblem mit den kleiner gleichen Nebenbedingungen
können wir nun in ein Gleichungssystem überführen
Ich nehme mal so unsere erste Nebenbedingung,
die dann auf der linken Seite die Schlüpferriabelöps hören,
eins und machen aus der Ungleichung eine Gleichung.
Dann nehmen wir die zweite Nebenbedingung, fügen ja die Schlüpferriabelöps,
werden zwei ein und machen aus der Ungleichung eine Gleichung.
Dann müssen wir uns nur noch in unserer Zielfunktion kümmern und
da müssen wir dafür sorgen,
dass wir auf der rechten Seite keine Variablen mehr haben.
Das Ergebnis sieht dann gefolgt aus. Und mit diesem Gleichungssystem
können wir jetzt wieder unser Simplex-Tableau befinden
Nee, groß ist unser Simplex-Tableau. Naja,
wir haben jetzt zwei Dual-Variablen, zwei Schlüpfvariablen. Heißt also
unser Simplex-Tableau hat jetzt hier sechs Spalten und vier Zeilen.
Befilmen wir das Simplex-Tablelo dann, sieht das Ganze wie folgt aus.
Und damit kommen wir auch schon gleich zur dualen Phase des Simplex-Algorithmus.
Ist Stimmung einer zulässigen Ausgangslösung. Ist diese Ausgangslösung hier jetzt
vielleicht schon zulässig? Schauen wir uns mal auf der rechten
Seite. Die B-Koeffizienten an, nee, wir haben dann
eine minus eins und eine minus zwei.
Also müssen wir hier zuallererst einmal mit dem dualen,
simplexen Algorithmus eine zulässige Lösung herstellen.
Wir müssen also mindestens einen weiteren Schritt im dualen,
simplexen Algorithmus durchführen
Heißt also, wir wählen zuallererst hier wieder unsere Pivotzeile.
Und potenzielle Kandidaten sind die erste und die zweite Zahl,
denn in beiden Zahlen haben wir ja negative Koiffizienten,
rechts in der Biersparte.
Ja, die minus 2-0 aber wieder kleiner ist
als die minus 1, haben wir hier unsere Pivotzeile direkt gefunden.
Und wir wissen, die zweite Zeile ist hier unsere Pivotzeile.
Und das ist nun unsere Peru-Spalte. Schauen wir uns mal
die potenziellen Kandidaten an. Und wir sehen, wir haben
ein Problem. Wir haben hier kein potenziellen Kandidaten,
weil wir haben ja keinen negativen Koiffizienten in der Pivotzeile stehen.
Das bedeutet, dass wir hier keine zulässige Lösung für die
duale Problemstellung finden können
Heißt also, es gibt hier keinen zulässigen Lösungsraum.
Wenn wir uns dann auf Folie 19 in der Vorlesung einmal
das korrespondierende, primae Ausgangsproblem anschauen, dann sehen wir,
dass dieses primae Ausgangsproblem unbeschränkt war.
Und das ist ja nun wieder die Relation,
die ich in vorhin bereits beschrieben habe.
Wenn Sie im primalen Ausgangsproblem eine unbeschränkte Lösung haben,
heißt das, dass Sie im Dualproblem keine zulässige Lösung finden können.
Wenn Sie ein primaes Ausgangsproblem, keine zulässige Lösung haben,
dann ist das korrespondierende duale Problem unbeschränkt
Damit sind wir auch schon fast am Ende der Übung angelangt.
Die einzige Aufgabe, die jetzt noch übrig bleibt,
ist, diese Aufgaben einmal in Games durchzurechnen.
Und falls sie dann nicht weiterkommen, sie werden es vermutlich schon erraten,
schauen sie sich gerne die kommentierte Musterlösung an,
die ich in den Open Orlad hochgeladen habe.
Und wir sehen uns dann spätestens wieder in der
nächsten Übung.
Bis dahin