Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

EDV-gestützte Umsetzung des Simplex-Algorithmus in Visual Basic

Ähnliche Präsentationen


Präsentation zum Thema: "EDV-gestützte Umsetzung des Simplex-Algorithmus in Visual Basic"—  Präsentation transkript:

1 EDV-gestützte Umsetzung des Simplex-Algorithmus in Visual Basic
Projektinhalt: EDV-gestützte Umsetzung des Simplex-Algorithmus in Visual Basic X1 X2 Wir haben Modell -G rötzner Dirk 19 9 9 Markus Penner 20 Martin Welte 7 8 Jürgen Windmüller 15

2 Gliederung des Vortrages
1. Einführung ins Simplex-Verfahren 2. Einführung ins Programm mit Erläuterung der Standard- Funktionalität anhand eines einfachen Beispieles 3. Erläuterung der implizierten Sonderfälle 4. Einblicke in die Umsetzung in Visual Basic

3 1. Einführung ins Simplex-Verfahren
Einfache Beispielaufgabe ohne Sonderfälle : 1. Aufstellen der Gleichungen Gewinnfunktion: G = 300 x x Nebenbedingungen (Kapazitätsrestriktionen): Maschine 1: x1 + 2x2 <= 170 Maschine 2: x1 + x2 <= 150 Maschine 3: 3x <= 180 2. Umformung der Ungleichungen in Gleichungen durch Einführung von Schlupfvariablen: x x2 + x = 170 x x x = 150 3x x5 = 180 -G x x = Die Nichtnegativitätsbedingung: alle xi >= 0

4 s 36000 -G x3 x4 x5 x1 x2 300 170 2 1 150 180 3 500 Spaltenindex j
500 Spaltenindex j Zeilenindex i r Pivotzeile Pivotspalte s -G x3 x4 x2 x1 x5 300 50 -2/3 1 90 -1/3 60 1/3 500/3 6000 Tableau nach der ersten Umformung (Iteration): Pivot-Element: ars* = 1 / ars Pivot-Zeile: arj* = arj / ars Pivot-Spalte: ais* = - ais / ars Sonstige Elemente: aij*=aij - (ais x arj) / ars ... Iteration, bis in Gewinnzeile alle Vorzeichen negativ.

5 2. Einführung ins Programm:
Darstellung der Benutzeroberfläche des VB-Programms anhand des Standardbeispiels: 1) Anzahl der Basis- und Nichtbasisvariablen eingeben 2) Ausfüllen des Tableaus 3) Iteration durchführen lassen Zusatzoption: Anzeigen des aktuellen Pivotelements Schritt 3 solange wiederholen, bis in der Kommentarzeile eine Lösung angezeigt wird. Die Bestimmung des Pivot-Elementes erfolgt nach dem Verfahren der größten Steigung (“Steepest Unit Ascent”).

6 3. Darstellung der möglichen Sonderfälle:
A) Sonderfälle bei der Aufstellung des Tableaus B) Sonderfälle bei der Auswahl des Pivot-Elementes C) Sonderfälle beim Abbruch des Verfahrens

7 Darstellung der möglichen Sonderfälle
A) Sonderfälle bei der Aufstellung des Tableaus Fall 1: “Ausgangslösung” (x1=x2=0) liegt nicht im zulässigen Bereich Indiz: Negative Werte in der Kapazitätsspalte bei den Mindestrestriktionen Problem: Der Simplex-Algorithmus ist nur für nicht-negative Kapazitäten definiert und würde somit zu keinem Ergebnis führen. Problemlösung: Beseitigung des negativen Vorzeichens in der Kapazitätenspalte durch Aufnehmen der dazugehörigen Schlupfvariablen in die Nicht-Basis: 1. Auswahl einer beliebigen Mindest-Restriktion als Pivot-Zeile 2. Auswahl einer beliebigen Spalte mit negativem PE als Pivot-Spalte 3. Neues Tableau berechnen Iteration solange durchführen, bis alle negativen Vorzeichen in der Kapazitätsspalte beseitigt sind. Weiteres Vorgehen nach Standard-Regeln.

8 Darstellung der möglichen Sonderfälle
zu A) Sonderfälle bei der Aufstellung des Tableaus Fall 2: Gleichungen als (Kapazitäts-) Restriktion Indiz: Eine Nebenbedingung ist nicht als Ungleichung, sondern als Gleichung formuliert. Problem: Da dieser Gleichung dennoch eine Schlupfvariable zugefügt werden muß, um die Berechnung durchzuführen, wird dieser Variablen der Wert Null zugewiesen. Die Variable darf keinen anderen Wert annehmen. Sie heißt deshalb “GESPERRT”. Problemlösung: Die gesperrte Schlupfvariable muß vor Beginn der Optimierung des Tableaus in die Nicht-Basis aufgenommen werden und darf diese im Lauf der Optimierung nicht mehr verlassen. Weiteres Vorgehen nach Standard-Regeln. Darstellung der möglichen Sonderfälle

9 Darstellung der möglichen Sonderfälle
B) Sonderfälle bei der Auswahl des Pivot-Elementes Fall 3: Negative Gewinnzeile in der ”Ausgangslösung” Indiz: Die Gewinnzeile enthält nur negative Koeffizienten der Nicht-Basisvariablen. Problem: Die Auswahl der Pivotspalte erfolgt normalerweise nach der größten nicht-negativen Steigung. Problemlösung: Bei diesem Sonderfall wird der auch der größte Wert (hier: “kleinstes Gefälle”) gesucht. Allerdings wird bei der Bestimmung der Pivot-Zeile diejenige ausgewählt, die den Maximalwert der zulässigen Quotienten ausweist. Darstellung der möglichen Sonderfälle

10 Darstellung der möglichen Sonderfälle
B) Sonderfälle bei der Auswahl des Pivot-Elementes Fall 4: Duale Entartung Indiz: In der Gewinnzeile ist der Maximalwert (= größte Steigung) mehrfach vorhanden. Problem: Mehrdeutigkeit bei der Auswahl der Pivotspalte Problemlösung: 1.: Zufällige Auswahl unter den Maximalwerten 2.: Für jede Spalte, die den Maximalwert enthält, wird separates “Pivotelement” bestimmt. Auswahl der Spalte, die das kleinste “Pivotelement” enthält. Darstellung der möglichen Sonderfälle

11 Darstellung der möglichen Sonderfälle
B) Sonderfälle bei der Auswahl des Pivot-Elementes Fall 5: Primale Entartung Indiz: Der Minimalwert der zur Auswahl der Pivotzeile benötigten Quotienten ist mehrfach vorhanden. Problem: Mehrdeutigkeit bei der Auswahl der Pivotzeile. Zudem besteht die Gefahr, in einen sogenannten Zyklus zu geraten. Ein Zyklus ist dadurch gekennzeichnet, daß durch eine bestimmte Anzahl von Iterationen wieder das Tableau der primalen Entartung generiert wird. Problemlösung: Zufällige Auswahl unter den Minimalwerten der Quotienten Durch die zufällige Auswahl wird sichergestellt, daß ein Verlassen des Zyklus möglich ist. Darstellung der möglichen Sonderfälle

12 Darstellung der möglichen Sonderfälle
C) Sonderfälle beim Abbruch des Verfahrens Fall 6: Unbeschränktheit des zulässigen Bereiches Indiz: Bei der Auswahl der Pivotzeile sind alle Quotienten negativ und somit nicht zulässig. Problem: Es existiert keine endliche Lösung (Keine Kapazitätsrestriktionen). (Gewinnoptimum liegt bei unendlicher Produktionsmenge) Problemlösung: -/- Das Verfahren wird abgebrochen. Darstellung der möglichen Sonderfälle

13 Darstellung der möglichen Sonderfälle
C) Sonderfälle beim Abbruch des Verfahrens Fall 6: Optimum liegt nicht in einer Ecke, sondern auf einer Geraden (Kapazitätsrestriktion) Indiz: Eine Nebenbedingung ist von der Gewinngleichung linear abhängig. Problem: Es existieren unendlich viele Lösungen. Problemlösung: -/- Das Verfahren wird abgebrochen. Darstellung der möglichen Sonderfälle

14 4. Einblicke in die Umsetzung in Visual Basic


Herunterladen ppt "EDV-gestützte Umsetzung des Simplex-Algorithmus in Visual Basic"

Ähnliche Präsentationen


Google-Anzeigen