Lerninhalte finden
Features
Entdecke
© StudySmarter 2024, all rights reserved.
Simplex-Algorithmus: Du bist als Praktikant in einem Unternehmen tätig, das lineare Optimierungsprobleme löst. Heute besteht Deine Aufgabe darin, ein vorgegebenes Problem mit dem Simplex-Algorithmus zu lösen.
Betrachte das folgende lineare Optimierungsproblem: Maximiere \( z = 3x_1 + 2x_2 \) unter den Nebenbedingungen:
x_1 + x_2 \leq 4 \ 2x_1 + x_2 \leq 5 \ x_1, x_2 \geq 0Wandle das Problem in ein gleichwertiges Simplex-Tableau um.
Lösung:
Simplex-Algorithmus:Wie beschrieben, besteht deine Aufgabe darin, ein lineares Optimierungsproblem zu lösen. Zunächst wandelst du dein Problem in ein entsprechendes Simplex-Tableau um. Betrachten wir die gegebenen Bedingungen und Optionen:Optimierungsproblem:Maximiere \( z = 3x_1 + 2x_2 \)Unter den Nebenbedingungen:
x_1 + x_2 \leq 4 \ 2x_1 + x_2 \leq 5 \ x_1, x_2 \geq 0Hier sind die Schritte, die du ausführen musst, um das Simplex-Tableau zu erstellen:
x_1 + x_2 + s_1 = 4 \ 2x_1 + x_2 + s_2 = 5Hier sind \( s_1 \) und \( s_2 \) als Schlupfvariablen hinzugefügt.
Basis | x_1 | x_2 | s_1 | s_2 | b |
---|---|---|---|---|---|
s_1 | 1 | 1 | 1 | 0 | 4 |
s_2 | 2 | 1 | 0 | 1 | 5 |
Z | -3 | -2 | 0 | 0 | 0 |
Führe eine Pivot-Operation auf das erste Simplex-Tableau durch, um die optimalste Basislösung zu finden. Beschreibe detailliert die Schritte, die Du unternimmst, und berücksichtige dabei alle relevanten Berechnungen.
Lösung:
Simplex-Algorithmus:Der nächste Schritt besteht darin, eine Pivot-Operation auf das initiale Simplex-Tableau durchzuführen. Ziel ist es, eine optimalere Basislösung zu finden. Wir gehen durch den Prozess Schritt für Schritt:Initiales Simplex-Tableau:
Basis | x_1 | x_2 | s_1 | s_2 | b |
---|---|---|---|---|---|
s_1 | 1 | 1 | 1 | 0 | 4 |
s_2 | 2 | 1 | 0 | 1 | 5 |
Z | -3 | -2 | 0 | 0 | 0 |
Neue Pivot-Zeile: (s_2 geworden x_1) [1, 0.5, 0, 0.5, 2.5]Passe die erste Zeile an:
Neue s_1-Zeile: (s_1) [0, 0.5, 1, -0.5, 1.5]Passe die Z-Zeile an:
Neue Z-Zeile: (Z) [0, -0.5, 0, 1.5, 7.5]Neues Simplex-Tableau:
Basis | x_1 | x_2 | s_1 | s_2 | b |
---|---|---|---|---|---|
s_1 | 0 | 0.5 | 1 | -0.5 | 1.5 |
x_1 (Pivot) | 1 | 0.5 | 0 | 0.5 | 2.5 |
Z | 0 | -0.5 | 0 | 1.5 | 7.5 |
Überprüfe, ob die von Dir gefundene Basislösung optimal ist. Wenn dies der Fall ist, gib die Lösung des Optimierungsproblems an. Falls nicht, führe weitere Pivot-Operationen durch, bis die optimale Lösung erreicht ist.
Lösung:
Simplex-Algorithmus:Nachdem wir die erste Pivot-Operation durchgeführt haben, prüfen wir, ob die gefundene Basislösung bereits optimal ist. Hier sind die bisherigen Schritte und das neue Simplex-Tableau:Neues Simplex-Tableau nach der ersten Pivot-Operation:
Basis | x_1 | x_2 | s_1 | s_2 | b |
---|---|---|---|---|---|
s_1 | 0 | 0.5 | 1 | -0.5 | 1.5 |
x_1 (Pivot) | 1 | 0.5 | 0 | 0.5 | 2.5 |
Z | 0 | -0.5 | 0 | 1.5 | 7.5 |
Neue Pivot-Zeile: (s_1 wird x_2) [0, 1, 2, -1, 3]Passe die zweite Zeile an:
Neue x_1-Zeile: [1, 0, -1, 1, 1]Passe die Z-Zeile an:
Neue Z-Zeile: [0, 0, 1, 1, 9]Neues Simplex-Tableau:
Basis | x_1 | x_2 | s_1 | s_2 | b |
---|---|---|---|---|---|
x_2 (Pivot) | 0 | 1 | 2 | -1 | 3 |
x_1 | 1 | 0 | -1 | 1 | 1 |
Z | 0 | 0 | 1 | 1 | 9 |
Gegeben sei das folgende lineare Programm (Primärproblem):
min: 3x1 + 2x2subject to: x1 + x2 >= 4 2x1 + x2 >= 5 x1, x2 >= 0
Leite das zugehörige Dualproblem her und löse sowohl das Primär- als auch das Dualproblem.
a) Leite das Dualproblem aus dem gegebenen Primärproblem her und formuliere es vollständig. Stelle sicher, dass alle Bedingungen korrekt umgewandelt werden.
Lösung:
Um das Dualproblem abzuleiten, müssen wir das Primärproblem in eine standardisierte Form umwandeln und dann die dualen Variablen einführen. Das Dualproblem entspricht dann einem Maximierungsproblem, bei dem die Rollen der Zielfunktionskoeffizienten und der rechten Seiten der Ungleichungen vertauscht werden.
Primärproblem:
min: 3x_1 + 2x_2subject to: x_1 + x_2 >= 4 2x_1 + x_2 >= 5 x_1, x_2 >= 0
Um das Dualproblem zu formulieren, gehen wir Schritt für Schritt vor:
Zielfunktion:
min: 3x_1 + 2x_2
Restriktionen:
x_1 + x_2 >= 42x_1 + x_2 >= 5x_1, x_2 >= 0
Dualproblem:
max: 4y_1 + 5y_2subject to: y_1 + 2y_2 <= 3 y_1 + y_2 <= 2 y_1, y_2 >= 0
Das vollständig umgewandelte Dualproblem lautet:
max: 4y_1 + 5y_2subject to: y_1 + 2y_2 <= 3 y_1 + y_2 <= 2 y_1, y_2 >= 0
b) Verwende die Schwache Dualität zur Kontrolle, ob eine gefundene Lösung für das Primärproblem optimal ist. Berechne die Lagrange-Multiplikatoren (y-Werte) und den Zielfunktionswert für das Dualproblem.
Lösung:
Um die Schwache Dualität zu verwenden und zu prüfen, ob eine gefundene Lösung für das Primärproblem optimal ist, gehen wir wie folgt vor:
Primärproblem:
min: 3x_1 + 2x_2subject to: x_1 + x_2 >= 4 2x_1 + x_2 >= 5 x_1, x_2 >= 0
Das Primärproblem ist minimiert worden, indem wir die Randbedingungen beachten. Angenommen, die optimale Lösung für das Primärproblem ist (x_1, x_2) = (2, 2), dann ist der Zielfunktionswert:
Z_P = 3x_1 + 2x_2 = 3*2 + 2*2 = 6 + 4 = 10
Jetzt betrachten wir das Dualproblem:
max: 4y_1 + 5y_2subject to: y_1 + 2y_2 <= 3 y_1 + y_2 <= 2 y_1, y_2 >= 0
Angenommen, wir finden die optimale Lösung für das Dualproblem bei (y_1, y_2) = (1, 1). Dann ist der Zielfunktionswert für das Dualproblem:
Z_D = 4y_1 + 5y_2 = 4*1 + 5*1 = 4 + 5 = 9
Nach der Schwachen Dualität wissen wir, dass für jede zulässige Lösung des Primärproblems und des Dualproblems der Zielfunktionswert des Dualproblems nicht größer als der des Primärproblems sein kann:
Z_D <= Z_P
Mit Z_P = 10 und Z_D = 9 ist diese Bedingung erfüllt. Daher können wir schließen, dass die gefundene Lösung für das Primärproblem optimal ist, wenn beide Bedingungen der Schwachen Dualität und der Zielfunktion erfüllt sind.
Die Lagrange-Multiplikatoren bzw. y-Werte sind somit y_1 = 1 und y_2 = 1.
c) Demonstriere die Starke Dualität durch den Vergleich der Optimallösungen beider Probleme. Berechne die optimalen Werte von x und y sowie die entsprechenden zielfunktionalen Werte und überprüfe deren Gleichheit.
Lösung:
Um die Starke Dualität zu demonstrieren, müssen wir die optimalen Lösungen sowohl für das Primär- als auch das Dualproblem berechnen und die entsprechenden Zielfunktionswerte vergleichen. Laut dem Satz der Starken Dualität sind beide Zielfunktionswerte gleich, wenn beide Probleme optimal gelöst sind.
Primärproblem:
min: 3x_1 + 2x_2subject to: x_1 + x_2 >= 4 2x_1 + x_2 >= 5 x_1, x_2 >= 0
Wir lösen das Primärproblem optimal, indem wir die Randbedingungen beachten:
x_2 = 4 - x_1
x_2 = 5 - 2x_1
4 - x_1 = 5 - 2x_1x_1 = 1x_2 = 4 - 1 = 3
Der Zielfunktionswert des Primärproblems ist daher:
Z_P = 3x_1 + 2x_2 = 3*1 + 2*3 = 3 + 6 = 9
Dualproblem:
max: 4y_1 + 5y_2subject to: y_1 + 2y_2 <= 3 y_1 + y_2 <= 2 y_1, y_2 >= 0
Wir lösen das Dualproblem optimal:
y_1 + 2y_2 <= 3y_1 + y_2 <= 2
Der Zielfunktionswert des Dualproblems ist daher:
Z_D = 4y_1 + 5y_2 = 4*1 + 5*1 = 4 + 5 = 9
Da Z_P = Z_D = 9, demonstriert dies die Starke Dualität. Beide Zielfunktionalwerte sind gleich, und somit sind die optimalen Werte für x und y gefunden. Die optimalen Werte sind:
Primärproblem Lösung (x_1, x_2) = (1, 3)Zielfunktionswert Z_P = 9
Dualproblem Lösung (y_1, y_2) = (1, 1)Zielfunktionswert Z_D = 9
Die Gleichheit der Zielfunktionswerte bestätigt, dass beide Lösungen optimal sind und die Starke Dualität erfüllen.
Das Branch-and-Bound Verfahren wird häufig verwendet, um kombinatorische Optimierungsprobleme effizient zu lösen. Ein klassisches Problem, das mit Branch-and-Bound gelöst werden kann, ist das Rucksackproblem, bei dem eine Menge von Gegenständen gegeben ist, von denen jeder ein bestimmtes Gewicht und einen bestimmten Wert hat. Das Ziel ist es, eine Auswahl von Gegenständen zu finden, die den Rucksack mit einer maximalen Kapazität so füllen, dass der Gesamtwert maximiert wird. Im Branch-and-Bound Verfahren teilt man das Problem in kleinere Teilprobleme auf (Branching) und berechnet Schranken (Bounding) für die Kosten der Lösungen in diesen Teilräumen, um unlohnende Teilräume auszuschließen.
Teilaufgabe 1: Gegeben sei ein Rucksackproblem mit den folgenden Gegenständen:
Lösung:
Teilaufgabe 1: Gegeben sei ein Rucksackproblem mit den folgenden Gegenständen:
Die maximale Kapazität des Rucksacks beträgt 7.
a. Erkläre die Schritte des Branch-and-Bound Verfahrens für dieses Problem anhand eines prägnanten Beispiels.
Das Branch-and-Bound Verfahren gliedert sich in drei hauptschritte: Branching, Bounding und das Ausschließen von unvorteilhaften Teilproblemen.
Beispiel:
1. Sortiere die Gegenstände nach Wertdichte (Wert/Gewicht):
2. Berechne eine heuristische obere Schranke, indem alle Gegenstände nach Wertdichte in den Rucksack gepackt werden, bis zur maximalen Kapazität.
Obere Schranke: 15 + 20 + 25 + 7.5 = 57.5
b. Führe die Berechnungen durch und finde die optimale Lösung für dieses Rucksackproblem mit dem Branch-and-Bound Verfahren.
Teilaufgabe 2: Erweitere das vorherige Rucksackproblem, indem Du annimmst, dass die Gegenstände teilbar sind, d.h. es handelt sich um das continuous knapsack problem. Berechne: a. Die optimale Lösung ohne Berücksichtigung der Ganzzahligkeit mit Hilfe einer geeigneten Fraktionierungsmethode. Gib den maximalen Wert und die Zusammensetzung des Rucksacks an. b. Vergleiche die Lösungen des diskreten und des kontinuierlichen Rucksackproblems in Bezug auf den maximalen Gesamtwert und die Elemente, die in den Rucksack aufgenommen werden. Diskutiere anhand der Ergebnisse, wann und warum die eine oder andere Problemvariante in der Praxis bevorzugt werden könnte.
Lösung:
Teilaufgabe 2: Erweitere das vorherige Rucksackproblem, indem Du annimmst, dass die Gegenstände teilbar sind, d.h. es handelt sich um das continuous knapsack problem. Berechne:
a. Die optimale Lösung ohne Berücksichtigung der Ganzzahligkeit mit Hilfe einer geeigneten Fraktionierungsmethode. Gib den maximalen Wert und die Zusammensetzung des Rucksacks an.
1. Die Gegenstände nach ihrer Wertdichte sortieren (Wert/Gewicht):
2. Starten mit dem Gegenstand mit der höchsten Wertdichte und den Rucksack so viel wie möglich füllen, bis die maximale Kapazität erreicht ist:
Maximaler Wert: 15 + 20 + 25 + 7.5 = 67.5
Zusammensetzung des Rucksacks:
b. Vergleiche die Lösungen des diskreten und des kontinuierlichen Rucksackproblems in Bezug auf den maximalen Gesamtwert und die Elemente, die in den Rucksack aufgenommen werden. Diskutiere anhand der Ergebnisse, wann und warum die eine oder andere Problemvariante in der Praxis bevorzugt werden könnte.
Vergleich:
Diskussion:
In der Praxis gibt es Szenarien, in denen das kontinuierliche Rucksackproblem bevorzugt wird, und andere, in denen das diskrete Rucksackproblem realistischer ist. Die Entscheidung hängt von der Beschaffenheit der Gegenstände und den praktischen Anforderungen ab.
Das kontinuierliche Rucksackproblem erzielt in der Regel einen höheren Wert, weil es die Flexibilität bietet, Gegenstände zu teilen und somit die Kapazität des Rucksacks optimal auszunutzen.
Kontext des Cutting-Plane Verfahrens:Betrachten wir ein Ganzzahloptimierungsproblem, das durch Lineare Programmierung (LP) gelöst wird, indem wiederholt Ungleichungen (Schnittebenen) zu einem LP-Relaxationsproblem hinzugefügt werden. Ausgangspunkt ist die LP-Relaxation des Ganzzahlproblems. Eine Schnitt-Ebene ist eine Ungleichung, die lösungsausschließende Teile des LP-Polyeders wegschneidet, aber alle ganzzahligen Punkte behält. Ziel ist es, alle nicht-ganzzahligen Lösungen auszuschließen und eine ganzzahlige Lösung zu finden. Ein Beispiel für Schnitte sind Gomory-Schnitte.
Gegeben sei das folgende LP-Relaxationsproblem eines Ganzzahlproblems:
Lösung:
Lösung des gegebenen Subproblems:Gegeben sei das folgende LP-Relaxationsproblem eines Ganzzahlproblems:
Präsentiere den iterativen Prozess des Cutting-Plane-Verfahrens für das obige Problem graphisch. Zeichne die ursprünglichen Einschränkungen und zeige die Schnittebenen an. Falls der endgültige Schnittgraf keine ganzzahlige Lösung hervorbringt, erläutere, warum der Algorithmus endet und welche ganzzahligen Lösungen ausgeschlossen wurden. Beschreibe kurz, wie eine globale optimale ganzzahlige Lösung gefunden werden kann, falls mehrere Iterationen notwendig sind.
Lösung:
Lösung des gegebenen Subproblems:1. Graphische Darstellung der ursprünglichen Einschränkungen:Wir zeichnen die linearen Ungleichungen und die Zielfunktion im \(x_1, x_2\)-Koordinatensystem.
Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.
Kostenloses Konto erstellenDu hast bereits ein Konto? Anmelden