Lerninhalte finden
Features
Entdecke
© StudySmarter 2024, all rights reserved.
In einem Produktionsbetrieb sollen zwei Produkte, P1 und P2, hergestellt werden. Die Gewinnfunktion pro produzierter Einheit beträgt 40€ für P1 und 30€ für P2. Für die Herstellung werden eine Maschine und Arbeit benötigt. Um eine Einheit P1 zu produzieren, benötigt man 2 Stunden Maschinenzeit und 3 Stunden Arbeitszeit. Um eine Einheit P2 zu produzieren, werden 1 Stunde Maschinenzeit und 1 Stunde Arbeitszeit benötigt. Insgesamt stehen 50 Stunden Maschinenzeit und 60 Stunden Arbeitszeit zur Verfügung. Formuliere das lineare Programmierungsmodell und löse es mit dem Simplex-Algorithmus.
(a) Formuliere die Zielfunktion und die Nebenbedingungen des beschriebenen Optimierungsproblems in Standardform.
Lösung:
Maximiere: Z = 40P1 + 30P2
Zuerst für die Maschinenzeit: Jede Einheit P1 benötigt 2 Stunden Maschinenzeit, und jede Einheit P2 benötigt 1 Stunde Maschinenzeit. Insgesamt stehen 50 Stunden Maschinenzeit zur Verfügung. Nebenbedingung: 2P1 + 1P2 ≤ 50
Für die Arbeitszeit: Jede Einheit P1 benötigt 3 Stunden Arbeitszeit, und jede Einheit P2 benötigt 1 Stunde Arbeitszeit. Insgesamt stehen 60 Stunden Arbeitszeit zur Verfügung. Nebenbedingung: 3P1 + 1P2 ≤ 60
(b) Bestimme die Machbarkeitsbereich des linearen Programms grafisch und identifiziere alle Eckpunkte.
Lösung:
(c) Wende den Simplex-Algorithmus an, um die optimale Lösung zu finden. Zeige die einzelnen Iterationsschritte.
Lösung:
P1 | P2 | S1 | S2 | RHS | |
---|---|---|---|---|---|
Z | -40 | -30 | 0 | 0 | 0 |
S1 | 2 | 1 | 1 | 0 | 50 |
S2 | 3 | 1 | 0 | 1 | 60 |
P1 | P2 | S1 | S2 | RHS | |
---|---|---|---|---|---|
Z | 0 | -10 | 0 | 40/3 | 800 |
S1 | 0 | 1/3 | 1 | -2/3 | 10 |
P1 (Basis) | 1 | 1/3 | 0 | 1/3 | 20 |
P1 | P2 | S1 | S2 | RHS | |
---|---|---|---|---|---|
Z | 0 | 0 | 30 | 10 | 1000 |
P2 (Basis) | 0 | 1 | 3 | -2 | 30 |
P1 (Basis) | 1 | 0 | -1 | 1 | 10 |
(d) Erläutere die Dualität in diesem Kontext. Formuliere das duale Problem und erkläre, wie das duale Problem mit dem primären Problem verknüpft ist.
Lösung:
Gegeben ist das folgende lineare Optimierungsproblem:
Formuliere das Problem in der Standardform und wende den Simplex-Algorithmus an.
Teilaufgabe 1: Führe die Zulässige-Basislösung ein und setze das Optimierungsproblem in Standardform.
Lösung:
Um das lineare Optimierungsproblem in der Standardform zu formulieren und eine zulässige Basislösung einzuführen, müssen wir Schlupfvariablen zu den Ungleichungen hinzufügen. Diese Schlupfvariablen transformieren die Ungleichungen in Gleichungen.
Schritt 1: Zielfunktion und Nebenbedingungen in Gleichungen umformen
Standardform:
Unser transformiertes Problem lautet dann:
Schritt 2: Zulässige Basislösung finden
Die zulässige Basislösung wird gefunden, indem wir die Entscheidungsvariablen \( x_1 \) und \( x_2 \) auf Null setzen und die Werte der Schlupfvariablen aus den Gleichungen bestimmen:
Damit ist die Anfangsbasislösung:
\( (x_1, x_2, s_1, s_2) = (0, 0, 4, 12) \)
Mit dieser zulässigen Basislösung können wir nun den Simplex-Algorithmus anwenden, um das lineare Optimierungsproblem zu lösen.
Teilaufgabe 2: Identifiziere die Pivotspalte und die Pivotzeile für die erste Iteration. Berechne die new values und aktualisiere den Simplex-Tableau entsprechend.
Lösung:
Um die Pivotspalte und die Pivotzeile für die erste Iteration des Simplex-Algorithmus zu identifizieren und den Simplex-Tableau zu aktualisieren, gehen wir wie folgt vor:
Wir beginnen mit dem initialen Simplex-Tableau basierend auf der Standardform:
Basis | x1 | x2 | s1 | s2 | RHS |
---|---|---|---|---|---|
s1 | 1 | 2 | 1 | 0 | 4 |
s2 | 4 | 3 | 0 | 1 | 12 |
z | -3 | -2 | 0 | 0 | 0 |
Die Pivotspalte wird durch die Variable mit dem höchsten negativen Koeffizienten in der Zielfunktion (z-Reihe) bestimmt. In diesem Fall sind die Koeffizienten für x1 -3 und für x2 -2. Da -3 (für x1) der kleinste Koeffizient ist, wählen wir die erste Spalte als Pivotspalte:
Um die Pivotzeile zu bestimmen, berechnen wir das Verhältnis des rechten Randwerts (RHS) zu den Elementen der Pivotspalte für alle positiven Elemente in der Pivotspalte:
Der kleinste positive Wert ist 3, daher wählen wir die zweite Zeile als Pivotzeile:
Das Pivotelement ist der Schnittpunkt der Pivotspalte und Pivotzeile, also 4 in diesem Fall. Wir führen nun die Pivotberechnung durch:
Basis | x1 | x2 | s1 | s2 | RHS |
---|---|---|---|---|---|
s1 | 1 | 2 | 1 | 0 | 4 |
x1 | 1 | \(\frac{3}{4}\) | 0 | \(\frac{1}{4}\) | 3 |
z | -3 | -2 | 0 | 0 | 0 |
Nun berechnen wir die neuen Werte für die übrigen Zeilen im Tableau:
Basis | x1 | x2 | s1 | s2 | RHS |
---|---|---|---|---|---|
s1 | 0 | 1.25 | 1 | -0.25 | 1 |
x1 | 1 | 0.75 | 0 | 0.25 | 3 |
z | 0 | 0.25 | 0 | 0.75 | 9 |
Teilaufgabe 3: Wiederhole den Pivotprozess, bis die optimale Lösung erreicht ist. Anhand des finalen Simplex-Tableaus, bestimme die Werte von x1, x2 und den maximalen Wert der Zielfunktion z.
Lösung:
Um die optimale Lösung zu erreichen, müssen wir den Pivotprozess wiederholen, bis keine negativen Koeffizienten mehr in der Zielfunktionszeile (z-Reihe) übrig sind. Gegeben das Ergebnis der ersten Iteration:
Basis | x1 | x2 | s1 | s2 | RHS |
---|---|---|---|---|---|
s1 | 0 | 1.25 | 1 | -0.25 | 1 |
x1 | 1 | 0.75 | 0 | 0.25 | 3 |
z | 0 | 0.25 | 0 | 0.75 | 9 |
In der aktuellen Zielfunktionszeile sind keine negativen Koeffizienten mehr vorhanden. Das bedeutet, dass wir bereits die optimale Lösung erreicht haben.
Der maximale Wert der Zielfunktion z wird im RHS-Eintrag der Zielfunktionszeile angegeben:
Ein Produktionsunternehmen möchte das Branch-and-Bound-Verfahren anwenden, um die Produktionsmenge von zwei Produkten (Produkt A und Produkt B) zu optimieren. Die Produktionskosten pro Einheit von Produkt A betragen 30€, von Produkt B 40€. Der Gewinn pro Einheit beträgt 50€ für Produkt A und 60€ für Produkt B. Die verfügbaren Produktionsstunden sind auf 100 Stunden limitiert, wobei die Produktionszeit pro Einheit bei 1 Stunde für Produkt A und 2 Stunden für Produkt B liegt. Zudem darf das Unternehmen maximal 70 Einheiten von Produkt A und maximal 40 Einheiten von Produkt B herstellen. Um das ganzzahlige Optimierungsproblem zu lösen, führst Du das Branch-and-Bound-Verfahren durch und bestimmst Upper und Lower Bounds in den verschiedenen Phasen des Verfahrens.
Berechne das Relaxationsproblem, um den initialen Upper Bound (UB) zu bestimmen. Notiere die Zielfunktion und die Nebenbedingungen und löse das Problem mit realwertigen (nicht-ganzzahligen) Variablen. Formuliere Deine Lösung mit den Werten der Zielfunktion und den Variablen.
Lösung:
Führe einen Branching-Schritt aus, indem Du die Variable x_A (Produkt A) auf einen ganzzahligen Wert festlegst. Berechne das resultierende Optimierungsproblem und bestimme den neuen Lower Bound (LB). Bestimme, ob dieser Suchzweig aufgrund der Vergleichbarkeit von LB und UB weiterverfolgt wird oder nicht.
Lösung:
Wiederhole das Verfahren für einen weiteren Branching-Schritt, indem Du nun die Variable x_B (Produkt B) auf einen ganzzahligen Wert fixierst. Bestimme wiederum den neuen Lower Bound (LB) und überprüfe, ob dieser Suchzweig innerhalb der festgelegten Upper Bounds noch verbesserte Lösungen liefern könnte. Gebe eine Entscheidung, ob hier der Suchzweig abgebrochen wird oder nicht, und begründe dies.
Lösung:
Betrachtet wird das folgende lineare Optimierungsproblem und dessen duales Problem.
Zeige, dass, wenn starke Dualität gilt, die Gleichung \[c^T x^* = b^T y^*\] erfüllt ist. Begründe insbesondere, warum die Existenz von optimalen Lösungen im Primal und im Dual automatisch bedeutet, dass die Zielfunktionswerte übereinstimmen müssen.
Lösung:
In diesem Abschnitt zeigen wir, dass wenn starke Dualität gilt, die Gleichung \(c^T x^* = b^T y^*\) erfüllt ist. Insbesondere erklären wir, warum die Existenz von optimalen Lösungen im prialen und dualen Problem automatisch bedeutet, dass die Zielfunktionswerte übereinstimmen.
Es sei bekannt, dass das primale Problem eine optimale Lösung \(x^*\) besitzt und das duale Problem eine optimale Lösung \(y^*\).
Die starke Dualität besagt, dass der Zielfunktionswert des primalen Problems gleich dem Zielfunktionswert des dualen Problems ist, wenn beide Problemstellungen optimale Lösungen haben.
Betrachten wir die optimalen Lösungen \(x^*\) und \(y^*\):
Für die Zielfunktionswerte haben wir:
Die starke Dualität besagt, dass bei optimalen \(x^*\) und \(y^*\) gilt:
Diese Eigenschaft folgt aus dem KKT-Theorem (Karush-Kuhn-Tucker), einer Verallgemeinerung der Lagrange-Multiplikatoren zur Behandlung von Nebenbedingungen. Das KKT-Theorem stellt sicher, dass bei starken Dualitätseigenschaften die optimalen Zielfunktionswerte des primalen und dualen Problems übereinstimmen.
Damit ist gezeigt, dass die Existenz von optimalen Lösungen im Primal und Dual automatisch bedeutet, dass die Zielfunktionswerte übereinstimmen müssen:
Angenommen, du hast die folgenden Daten für ein lineares Optimierungsproblem und sein duales Problem gegeben:
Lösung:
Gegeben sind die folgenden Daten für das lineare Optimierungsproblem und sein duales Problem:
Das primale Problem lautet:
Dies kann mittels Simplex-Algorithmus gelöst werden:
Benötigte Schritte:
Nach Durchführung des Simplex-Verfahrens erhalten wir:
Das duale Problem lautet:
Dies kann ebenfalls über den Simplex-Algorithmus im dualen Raum gelöst werden:
Nach Durchführung des dualen Simplex-Verfahrens erhalten wir:
Um zu überprüfen, ob die starke Dualität gilt, müssen wir die optimalen Zielfunktionswerte des primalen und dualen Problems vergleichen:
Da der Zielfunktionswert des primalen Problems \(z^* = 7.8\) gleich dem Zielfunktionswert des dualen Problems \(w^* = 7.8\) ist, gilt die starke Dualität.
Somit haben wir gezeigt, dass die starke Dualität gilt und die optimalen Lösungen und Zielfunktionswerte wie folgt sind:
Beschreibe eine Methode, um die dualen Variablen \(y\) zu bestimmen, wenn die optimalen primalen Variablen \(x^*\) bekannt sind. Erläutere, wie die Komplementaritätsbedingungen genutzt werden können, um die optimalen dualen Variablen zu finden. Verwende dazu allgemeine Formeln, um diesen Zusammenhang zu beschreiben.
Lösung:
Angenommen, die optimalen primalen Variablen \(x^*\) sind bekannt. Um die dualen Variablen \(y\) zu bestimmen, können wir die Komplementaritätsbedingungen nutzen. Diese Bedingungen sind ein wichtiger Bestandteil der KKT-Bedingungen (Karush-Kuhn-Tucker), die in der linearen Optimierung eine zentrale Rolle spielen und die starke Dualität sichern.
Die Komplementaritätsbedingungen stellen sicher, dass für jede primale und duale Ungleichungsnebenbedingung das Produkt der Ungleichungsnebenbedingung und der entsprechenden dualen Variable null ist. Mathematisch lassen sich die Bedingungen folgendermaßen ausdrücken:
Die Komplementaritätsbedingungen lauten:
Betrachten wir ein konkretes Beispiel für die Methode:
Wir wissen, dass die optimalen primalen Variablen \( x^* = \begin{bmatrix} 1.8 & 1.6 \end{bmatrix} \) sind.
Dies ergibt:
Vereinfachte Gleichungen:
Wenn \( y_1 = 1.4 \), \( y_2 = 0.8 \), überprüfen wir:
Dies erfüllt \( y = \begin{bmatrix} 1.4 \ 0.8 \end{bmatrix} \), Zulässigkeit
Offenbar ist die erste Restriktion exakt erfüllt, während die zweite nicht eingehalten wird. Daher muss \( y_2 \leq 0.8 \) erfüllt werden.
Durch Anwendung der Komplementaritätsbedingungen und Überprüfung der dualen Nebenbedingungen lassen sich die optimalen dualen Variablen \( y \) von den optimalen primalen Variablen \( x^* \) ableiten.
Mit unserer kostenlosen Lernplattform erhältst du Zugang zu Millionen von Dokumenten, Karteikarten und Unterlagen.
Kostenloses Konto erstellenDu hast bereits ein Konto? Anmelden