223 76 30MB
German Pages 495 [494] Year 2006
Operations Research in der Praxis
Anwendungen, Modelle, Algorithmen und JA\A-Programme
Von
Prof. Dr. Gert Heinrich und
Prof. Jürgen Grass
R.01denbourg Verlag München Wien
Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen
Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar.
© 2006 Oldenbourg Wissenschaftsverlag GmbH Rosenheimer Straße 145, D-81671 München Telefon: (089) 45051-0
www.oldenbourg-wissenschaftsverlag.de
Das Werk einschließlich aller Abbildungen ist urheberrechtlich geschützt. Jede Verwertung außerhalb der Grenzen des Urheberrechtsgesetzes ist ohne Zustimmung des Verlages unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Bearbeitung in elektronischen Systemen.
Gedruckt auf säure- und chlorfreiem Papier Gesamtherstellung: Druckhaus „Thomas Müntzer" GmbH, Bad 3-486-58032-9 ISBN ISBN 978-3-486-58032-7
Langensalza
Vorwort wir von Studierenden an den verschiedensund Fachhochschulen und ganz besonders ten von Studierenden an den Berufsakademien in Baden-Württemberg gedrängt, ein Werk über Operations Research zu verfassen, das weniger die exakte Sicht auf die mathematischen Modelle und Zusammenhänge vermittelt, sondern den Anliegen der Praktiker gerecht wird. Gefordert wurden insbesondere
einigen Jahren werden Einrichtungen wie Universitäten
Schon seit
> Hinweise auf praktische Anwendungsmöglichkeiten, > vollständig durchgerechnete Beispiele, um die Abläufe der Algorithmen explizit vorgeführt zu bekommen, > JAVA-Programme, um erhaltene Ergebnisse zu verifizieren und um komplexe Berechnungen in vernünftiger Zeit durchzuführen und > Übungsaufgaben mit vollständigen Lösungen bzw. qualifizierten Lösungshinweisen. Diesem Wunsch sind wir mit diesem Werk nachgekommen. Auf unnötigen mathematischen Ballast wird fast vollständig verzichtet, der daran interessierte Leser möge sich der einschlägigen Literatur bedienen. In allen Kapiteln finden sich genau die geforderten Punkte, was auch der Untertitel Anwendungen, Modelle, Algorithmen und JAVA-Programme noch unterstreicht. Im einleitenden
wird zuallererst eine Vielzahl von Anwendungsbeieinen Einblick zu erhalten, was Operations Research alles spielen vorgestellt, zu leisten vermag. Die allgemeine Vorgehensweise samt der Modellbildung schließt sich an. Ein ganz einfach gehaltenes Beispiel demonstriert die vorgestellten Denkweisen. In den folgenden fünf Kapiteln werden die Teilgebiete Lineare Optimierung, Spieltheorie, Transportprobleme, Graphentheorie und Netzplantechnik ausführlich besprochen. Die vorgestellten Algorithmen werden ausführlich mit allen Iterationen an zahlreichen Beispielen vorgeführt. Jedes Kapitel enthält lauffähige JAVA-Programme, die jeder Benutzer noch seinen eigenen Bedürfnissen anpassen bzw. verbessern kann. Den Abschluß eines jeden Kapitels bilden Übungsaufgaben zum Operations Research und auch zu den JA VA-
Kapitel
um
Programmen.
VI
VORWORT
Die im Buch Autoren
abgedruckten Quellcodes aller Algorithmen können direkt ([email protected] bzw. [email protected]) angefordert werden.
bei den
Für die kritische Durchsicht des Manuskripts und das unermüdliche Korrekturlesen bedanken wir uns bei Frau Susanne Heinrich, ebenso bei Sabine und Tim Heinrich, die in akribischer Kleinarbeit alle Iterationen und Tabellen auf ihre Richtigkeit überprüft haben. Schließlich gilt unser Dank allen Studierenden für viele wertvolle Hinweise und Herrn Dipl. Wirtschaftinformatiker (BA) Kevin Stock für die Erstellung der JA VA-Programme zur Graphentheorie.
Unser besonderer Dank gilt Herrn. Dipl. Volkswirt Martin Weigert vom 01für die angenehme Zusammenarbeit und die Freiheiten, auch zeitlicher Natur, die er uns bei der Entstehung dieses Buches einräumte.
denbourg-Verlag
Für Hinweise auf Fehler und dankbar.
Verbesserungsvorschläge
Villingen-Schwenningen, im Winter 2006
sind wir
Gert Heinrich,
jedem
Leser
Jürgen Grass
Inhaltsverzeichnis 1
2
Einführung und Grundlagen.1 2
1.1
Beispiele von charakteristischen Problemstellungen
1.2
Vorgehensweise und Modellbildung.9
1.3
Teilgebiete des Operations Research .13
Lineare 2.1
Optimierung .14
Lineare
Optimierung mit zwei Variablen.14
2.1.1
Einführung, Beispiel und mathematisches Modell .14
2.1.2
Lösungsverfahren und durchgerechnetes Beispiel.15
2.1.3
Sensitivitätsanalyse .20 2.1.3.1 2.1.3.2
2.2
.
Änderung der Koeffizienten der Zielfunktion.20 Änderung der Koeffizienten auf den rechten Seiten ..21
Lineare
Optimierung mit drei und mehr Variablen.24
2.2.1
Einführung, Beispiel und mathematisches Modell
2.2.2
Lösungsverfahren und durchgerechnetes Beispiel.25
2.2.3
.24
.25
2.2.2.1
Vorüberlegungen zum Simplex-Algorithmus
2.2.2.2
Der primale
2.2.2.3
Der duale
2.2.2.4
Sonderfälle .67
Simplex-Algorithmus.31
Simplex-Algorithmus
.44
Sensitivitätsanalyse.83
INHALTSVERZEICHNIS
VIII
2.2.3.2
Änderung der Koeffizienten der Zielfunktion.83 Änderung der Koeffizienten auf den rechten Seiten ..84
2.2.3.3
Beispiele.85
2.2.3.1
2.3
3
4
JA VA-Programme.99
2.3.1
Quellcodes und Erläuterungen.99
2.3.2
Beispiele und Programmabläufe
2.4
Lineare
Optimierung mit EXCEL .117
2.5
Aufgaben.122
.114
2.5.1
Aufgaben zum Operations Research.122
2.5.2
Aufgaben zur Programmierung.127
Spieltheorie .129 3.1
Beispiel, Grundbegriffe und mathematisches Modell
3.2
Statische
3.3
Dynamische Spiele .134
3.4
Aufgaben.143
.129
Spiele .131
Transportprobleme.147 4.1
Einführung, Beispiel und mathematisches Modell.147
4.2
Lösungsmethoden und durchgerechnete Beispiele.150 4.2.1
4.2.2
Verfahren zur
Ermittlung einer Ausgangslösung.150
4.2.1.1
Die
Nordwest-Ecken-Regel
4.2.1.2
Das
Vogelsche Approximationsverfahren
.150 .153
Ermittlung der optimalen Lösung durch iterative Verfahren
161 ...
4.2.2.1
Die
4.2.2.2
Die MODI-Methode.174
4.2.2.3
Das lineare
Steppmg-Stone-Methode.161 Zuordnungsproblem .193
INHALTSVERZEICHNIS_IX 4.3
JAVA-Programme.201 4.3.1
4.3.2
4.4
5
Quellcodes und Erläuterungen.201 4.3.1.1
Stepping-Stone-Methode .201
4.3.1.2
MODI-Methode .213
Beispiele und Programmabläufe .227 4.3.2.1
Beispiele zur Stepping-Stone-Methode.227
4.3.2.2
Beispiele zur MODI-Methode.235
Aufgaben.246 4.4.1
Aufgaben zum Operations Research.246
4.4.2
Aufgaben zur Programmierung.248
Graphentheorie .249 5.1
Beispiel, Grundbegriffe und mathematische Modelle.249
5.2
Algorithmus von Dijkstra.251
5.3
FIFO-Algorithmus.256
5.4
Tripel-Algorithmus .262
5.5
JAVA-Programme.274 5.5.1 Quellcodes und Erläuterungen.274 5.5.1.1 Algorithmus von Dijkstra.274 5.5.1.2 5.5.2
5.6
Tripel-Algorithmus .302
Beispiele und Programmabläufe .313 5.5.2.1
Beispiel zum Algorithmus von Dijkstra.313
5.5.2.2
Beispiel zum Tripel-Algorithmus
.317
Aufgaben .321 5.6.1
Aufgaben zum Operations Research.321
5.6.2
Aufgaben zur Programmierung.324
X_INHALTSVERZEICHNIS
6
Aufgaben zum Algorithmus von Dijkstra
5.6.2.2
Aufgaben zum Tripel-Algorithmus.325
Netzplantechnik.326 6.1
Beispiel, Grundbegriffe und mathematisches Modell .326
6.2
Lösungsmethoden und durchgerechnete Beispiele.328
6.3
6.4
7
.324
5.6.2.1
6.2.1
Strukurplanung .328
6.2.2
Zeitplanung .329
JA VA-Programme.361
6.3.1
Quellcodes und Erläuterungen.361
6.3.2
Beispiele und Programmabläufe .375
Aufgaben.383 6.4.1
Aufgaben zum Operations Research.383
6.4.2
Aufgaben zur Programmierung.387
Lösungen der Aufgaben.388 7.1
Lösungen zu Kapitel 2 .388
7.2
Lösungen zu Kapitel 3 .409
7.3
Lösungen zu Kapitel 4 .421
7.4
Lösungen zu Kapitel 5 .442
7.5
Lösungen zu Kapitel 6 .467
Literaturverzeichnis .482 Index .483
Kapitel 1
Einführung und Grundlagen Operations Research beschäftigt sich wörtlich übersetzt mit der Erforschung von Operationen. Ein Kurzbegriff als tatsächliche Übersetzung in die deutsche Sprache hat sich jedoch nicht durchgesetzt. Vorgeschlagen wurden hier Anwendung quantitativer Methoden zur Vorbereitung optimaler Entscheidungen, Unternehmensforschung, Optimalplanung, Planungsforschung, mathematische Planungsrechnung oder Entscheidungsvorbereitung. Die wohl beste Beschreibung, aber viel zu lange Umschreibung ist: Mathematische Optimierungsmethoden zur bestmöglichen Entscheidungsfindung in der angewandten Betriebswirtschaftslehre.
Einschränkung auf die BWL ist keine wirkliche Schmälerung des Einsatzgebiets, nahezu alle derart betrachteten Optimierungsmodelle haben eine ökonomische Komponente oder Zielsetzung. Die scheinbare
In der Praxis hat sich die In den
Abkürzung OR für Operations Research durchgesetzt.
folgenden drei Abschnitten werden zuerst Beispiele von charakteristischen Problemstellungen dargestellt. Danach werden die allgemeine Vorgehensweise und die Modellbildung aufgezeigt. Zum Schluss erfolgt eine Klassifizierung der Teilgebiete des Operations Research.
Kapitel
2
1.1
Grundlagen
Beispiele von charakteristischen Problemstellungen
In diesem Abschnitt werden zahlreiche
den des
1: Einführung und
Operations
Praxisbeispiele vorgestellt, die mit Methogelöst werden können.
Research beschrieben, modelliert und
Die Beispiele 1.1 bis 1.5 stellen Optimierungsprobleme dar, die allesamt die gleichen Sachverhalte beinhalten. Gesucht ist das Minimum bzw. das Maximum einer zu erstellenden Funktion, deren Wertebereich durch eine gewisse Anzahl von Bedingungen oder Restriktionen eingeschränkt wird.
Beispiel 1.1 Für eine Verkaufsaktion stellt eine Firma zwei verschiedene neue Produkte X und Y her. Aus Platzgründen können von beiden Produkten zusammen höchstens 500 Stück hergestellt werden, wobei von Produkt Y mindestens 100 Stück erforderlich sind. Für die Fertigung stehen insgesamt 40 Stunden zur Verfügung, wobei fur Produkt X (pro Stück) 8 Minuten und für Produkt Y (pro Stück) 4 Minuten benötigt werden. Der Gewinn beim Verkauf eines Produktes X beträgt 50 €, derjenige beim Verkaufeines Produktes Y beträgt 10 €. Die Firma möchte ihren Gesamtgewinn maximieren.
Beispiel 1.2 Ein Industrieunternehmen stellt ein Produkt, bedingt durch den immer moderner werdenden Maschinenpark, durch drei verschiedene Verfahren X, Y und Z her. Der Produktionsprozess ist durch folgende Tabelle gegeben:
Produktion nach Verfahren X
Rohstoffe
10
Produktionszeit
Lagerraum
10 15
Rohstoffbedarf in kg
10 10
Produktionszeit in h
10
Lagerraum in m
Er unterliegt den folgenden Kapazitätsbeschränkungen: Die maximal verfügbare Einsatzmenge für die Rohstoffe ist 600 kg Die maximal verfügbare Einsatzmenge für die Produktionszeit ist 400 h Die maximal verfügbare Einsatzmenge für den Lagerraum ist 800
Der Gewinn beim Verkauf eines Produktes bei der Produktion nach Verfahren X beträgt 30 €, derjenige beim Verkauf eines Produktes bei der Produktion nach
Kapitel
1: Einführung und Grundlagen
3
Verfahren Y beträgt 40 und derjenige beim Verkauf eines Produktes bei der Produktion nach Verfahren Z beträgt 30 €. Die Firma möchte ihren Gesamtgewinn maximieren.
Beispiel 1.3 Eine Fußballmannschaft besitzt unter anderem 6 Spitzenspieler. Da der Verein massiv verschuldet ist und der Lizenzentzug droht, sollen Spieler im Gesamtwert von 90000000 € verkauft werden. Die Spieler haben folgende Marktwerte in Mio. €: 40, 10, 30, 30, 15, 20. Im Zuge des Verkaufs erleidet der Verein aber Zuschauerverluste, die von den einzelnen Spielern abhängen (in der Reihenfolge der Marktwerte): 5000, 3000, 6000, 4500, 6000 bzw. 5000 Zuschauer. Minimieren Sie den Schaden unter Einhaltung des Mindesterlöses, d.h. welche Spieler müssen verkauft werden, damit der Verein seine Schulden begleichen kann und gleichzeitig möglichst wenig Zuschauer verliert?
Beispiel 1.4 Dem Eishockey-Club aus Schwenningen stehen drei Varianten für seine Verteidigung zur Verfügung. Die gegnerische Mannschaft aus Freiburg verfügt über drei verschiedene Angriffsformationen. Die Erfolgsaussichten für Schwenningen (WK, dass kein Tor fällt) sind in folgender Tabelle zusammengestellt:
Strategien für Freiburg 7
i
Strategien für Schwenningen
i
=
=
=
2
7
=
3
\
0.6
0.2
0.3
2
0.7
0.6
0.4
0.
0.7
0.2
i=3
Jede der beiden Mannschaften ist bestrebt, ihren Mindestvorteil bzw. den maximal möglichen Vorteil des Gegners zu minimieren.
zu
maximieren
Beispiel 1.5 Am Vatertag werden die Wanderer durch ein Gewitter überrascht und suchen deshalb in den nahegelegenen Ausflugslokalen Schutz. In den vier Lokalen ist aber nicht genügend Bier vorhanden. Dieses wird unverzüglich bei der zuständigen Brauerei angefordert, die über drei verschiedene Auslieferungslager verfügt, in denen insgesamt die gewünschte Menge zur Verfügung steht. Die vier Lokale /V",,
und
7V4 benötigen 10 hl bzw. 30 hl bzw. 15 hl bzw. 35 hl. Diese Gesteht in den drei Auslieferungslagern Ax A2 und A3 in folgender samtmenge Weise zur Verfügung: in A\ 25 hl, in A2 25 hl und in A3 40 hl. N2, N3
,
1: Einführung und Grundlagen
Kapitel Die gen
Transportkosten pro hl von den einzelnen Auslieferungslagern zu den jeweiliAusflugslokalen betragen Ausflugslokal Nachfrager =
N, A4) .2
10
1 ä4J 0»
tü
«i
'S
80
90 30
Wie ist der Transport lich ausfallen?
60
40
70
50
70
80
10
durchzuführen, damit die Transportkosten so klein wie mög-
Die Beispiele 1.6 bis 1.10 zeigen Aufgabenstellungen, die alle verwandt sind mit dem hochaktuellen Problem der Routenplanung. Gesucht sind hier kürzeste Wege in einem Graphen, einem Straßenzug, einem Versorgungsnetz oder ähnlichem.
Beispiel 1.6 Im Rahmen einer Werbekampagne können bis zu 5 unterschiedliche Projekte durchgeführt werden. Die Projektkosten und der Werbeerfolg sind in folgender Tabelle angegeben:
Projekt Nummer
Der Werbeetat
beträgt
Projekt-
kosten
(in €)
Werbeerfolg
(in Personen)
17000
12000
16000
15000
19000
10000
8000
13000
12000
9000
38000 €. Wie ist dieser Etat auf die einzelnen
verteilen, damit der Werbeerfolg maximal wird,
durchgeführt werden kann?
wenn
jedes Projekt
Projekte
zu
genau einmal
Beispiel 1.7 Ein Unternehmen möchte im Zuge von Personalbeschaffungsmaßnahmen 4 Anin einschlägigen Zeitungen schalten. Dabei können die Anzeigen alle in einer der 4 Zeitungen erscheinen oder sie können auch auf die verschiedenen
zeigen
Kapitel
1: Einführung und Grundlagen
verteilt werden. Aufgrund von Aufzeichnungen über vergangene Maßbekannt, wie viele Bewerbungen bei ein- bzw. mehrmaligem ErscheiStellenanzeigen in den verschiedenen Zeitungen zu erwarten sind.
Zeitungen
nahmen ist nen von
Zeitungsname Zeit
05 N
Welt
FAZ
SZ
0
0
50
44
28
34
77
63
48
47
84
76
92
93
=
M
'3 N
e
Bargeld abheben (Bearbeitungsdauer im Mittel 2 Minuten) > Bargeld einzahlen (Bearbeitungsdauer im Mittel 3 Minuten) > Überweisungen aufgeben (Bearbeitungsdauer im Mittel 4 Minuten) > Anlageberatung (Bearbeitungsdauer im Mittel 20 Minuten) > Beantragen einer Kreditkarte (Bearbeitungsdauer im Mittel 5 Minuten). Statistische Erhebungen haben ergeben, dass etwa 20% aller Kunden Bargeld abheben, etwa 5% aller Kunden Bargeld einzahlen, etwa 10% aller Kunden Überweisungen aufgeben, etwa 40% aller Kunden Anlageberatung wünschen und etwa 25% aller Kunden eine Kreditkarte beantragen wollen. Weitere Beobachtungen haben ergeben, dass die Ankunftszeiten der einzelnen Kunden (stochastisch) voneinander unabhängig sind. Befanden sich mehr als 5 Personen in der Schlange vor dem Schalter, verließen die neu eingetroffenen Kun-
den ausnahmslos die Bank wieder und nahmen den Service zu einem späteren Zeitpunkt in Anspruch. Wie viele Kunden befanden sich im Durchschnitt in der Schlange vor dem Schalter und wie lange war die durchschnittliche Wartezeit eines Kunden, bis er bedient werden konnte?
Die Suche nach Lösungen zu den Fragestellungen der angeführten Beispiele führt auf ein allgemeines Vorgehensmodell, das im nächsten Abschnitt vorgestellt wird.
Kapitel
1: Einführung und
1.2
Vorgehensweise und Modellbildung
In der Praxis hat sich ein bild dargestellt ist.
Grundlagen
Vorgehensmodell durchgesetzt, das im folgenden Schau-
Vorgehensmodell bei OR-Verfahren Erkennen eines Problems
Formulieren BWL
Probte mformuiierung
Bestimmen von Zielen und Han d 1 ungs mö gl ic like i ten
Problemstellung fehlerhaft
Abstraktion Mathematisches Modell
Mathematik Mathematik exakte
4
Lösung für das Modell
Simulationen erforderlich
Informatik
Funktionen,
usw.
Modell fehlerhaft
Berechnung
Berechnung möglich
Berechnung langwierig Näherungslösung erforderlich exakte
Formeln
Interpretation
Datenbeschaffung Prognosedaten Simulationsdaten Daten fehlerhaft
Verifizieren des BWL
Lösungsvorschlags
für das reale Problem
Lösung akzeptiert
Bewertung der Lösung im Hinblick auf das gestellte Problem
Realisieren der
Lösung
Ersichtlich ist hier das notwendige Zusammenspiel der Disziplinen BWL, Mathematik und Informatik. Sollte beim Ablauf festgestellt werden, dass die gestellte Aufgabe nicht erfüllt werden kann, bricht das Verfahren an der entsprechenden Stelle ab. Wie mit diesem Vorgehensmodells Problemstellungen gelöst werden, wird an einem ganz einfachen Beispiel gezeigt. Für das Beispiel sind keine OR-Kenntnisse
erforderlich.
Dazu wird das
Beispiel 1.6 verwendet: Im Rahmen einer Werbekampagne können bis zu 5 unterschiedliche Projekte durchgeführt werden. Die Projektkosten und der Werbeerfolg sind in folgender Tabelle angegeben:
10
Kapitel
Projekt Nummer
Projekt-
Werbeerfolg (in Personen)
17000
12000
16000
15000
19000
10000
8000
13000
12000
9000
kosten
1
1: Einführung und Grundlagen
(in €)
beträgt 38000 €. Wie ist dieser Etat auf die einzelnen Projekte zu damit der Werbeerfolg maximal wird, wenn jedes Projekt genau einmal verteilen, werden kann? durchgeführt Der Werbeetat
1. Schritt: Erkennen des Problems:
Die Geschäftsleitung eines Unternehmens hat festgestellt, dass die Anzahl der Kunden erhöht werden muss. Es erfolgt der Auftrag an die Marketingabteilung, Vorschläge dazu zu entwickeln. 2. Schritt: Problemformulierung:
Problem: Ziel:
Handlungsmöglichkeiten:
Das Unternehmen hat zu wenig aktive Kunden. Erhöhung der Kundenanzahl. Es dürfen verschiedene Projekte durchgeführt werden, deren Kosten fest stehen und deren Erfolg durch eine Kennzahl gemessen werden kann. Außerdem steht ein
gewisses Budget zu Verfügung. 3. Schritt: Mathematisches Modell:
Gegeben seien: verschiedene
Projekte Pt, P2,Pn kj,\ 350 250 =>
Z>,
62
200
=>
=
e
500
x,
=
600-6,
=
150, bx
6, 500, b3 =
=
=
oo
=
200
\
und
.
2400
E2 bleibt der Extremwert, falls die Gerade x2 der Strecke zwischen der Nullstelle von x2 det.
100
Optimierung
.
[350, ) oder bx~
variabel und
Lineare
500
die Gerade x2 600 2x, auf 600-2x, und P(\00, 400) schnei=
b2
=
-
23
Kapitel 2: Lineare Optimierung
gilt:
0
Damit ist
b2
Also
3. Fall:
b3
Vertauschen der beiden Variablen und Ersetzen des Pivotelements durch seinen Kehrwert
>
Multiplikation der alten Pivotzeile mit und der alten Pivotspalte mit Ersetzen der restlichen Spalten durch folgende Inhalte:
>
^
-
^
.
60 (
Kapitel 2: Lineare Optimierung 43/3 4/3 13/3
7 9
0
v-38/3 '
14/3 4/3
0
0
0
'
45/2
'-49/6
'5/6'
9
3
-1/3
9/2
-1/6
0
0
' 45/2
500 3
-4230
19
6
45/2 ^
(
'
1
3
1/3
9/2
0
0
0
v-35/2
-4/9
1
+—
9
'
45/2 3 9/2
^
/
5/6
'
1/3
-1/6 und
1
0
1
-1/6
-35/2
-1/6
1080
3
400
9/2
60
0
1080
v-35/2
-3940/3
Damit lautet das vierte
'
1/3 -1/6 -0-
-35/2J t 55/18 ~
1080
-1/2 3/2
-20/3 4830 900 810
5/6 V 17/18
5
0
-1
9/2
'-19/6^
v-35/2 7 '
7/3
3
["-3/2' 0
' 45/2 ^
'
Simplex-Tableau: 49 6
1080 400 500
3 60
1080 17 18
55
35
18
18
Aus diesem Tableau werden der
neue
3940
Punkt und der Wert der Zielfunktion abgele-
sen:
£4(0, 400, 0, 500/3, 60) und Da
es
in der letzten Zeile noch
3940 z
= •
negative Einträge gibt, geht das Verfahren weiter.
Kapitel 2: Lineare Optimierung 4. Iteration:
61
Bestimmung des fünften Simplex-Tableaus
Die Ausführungen sind hier nicht so ausführlich wie in der ersten Iteration.
Bestimmung des Pivotelements
Schritt 1:
]9
49
6
6
1080 400 500 3 60
1080 17 18
der
Bestimmung
55
35
18
18
Pivotspalte:
-—
3940
ist der kleinste
negative Eintrag
in der letzten
Zeile.
Bestimmung der Pivotzeile:
i9-?P-
=
1080
1200,
,
Also steht das Pivotelement in der ersten Zeile und in der zweiten Schritt 2: > > > '
Erstellen des
neuen
Spalte.
Tableaus
Vertauschen der beiden Variablen und Ersetzen des Pivotelements durch seinen Kehrwert Multiplikation der alten Pivotzeile mit 1 und der alten Pivotspalte mit -1. Ersetzen der restlichen Spalten durch folgende Inhalte: ( 1/3
-1
7/9 5/6
+
19 6
-1/9
^
1/18 ^ 23/54
-1/3 ^| 5/9
0
5/6
-1/6
0
0
0
v-4/9
-25/54
v55/18y
r 49
i/3 ^ -1/9
f
43/18 ^ -19/54
0
-1/6
0 -4/9
0
—
0
17/18
-31/54
62
Kapitel 2: Lineare Optimierung
f-1/3^1
(
1/9
1/3 -1/9
-1/2
0
0
0
35/18
-4/9
400
r
500/3
(
'
' '
-1/6 -1/2 0 5/6 V
1/3
^
1/3 > 0
-1/6
1
0
1
-1/6
-4/9
11/54
0
60
1080
0
1080
-3940/3
-4/9,
-2500/3
19 6 18 23 54
1/18 ^ 5/54
0
40 860/3
Damit lautet das fünfte
1/3 ^ -1/9
-1/6
-1/9 1080
60
1/2
und
Simplex-Tableau: 49 6 43 18
18
1_9
_5_
1080
54
54
40
860 3 60
1080 25 54
31_
2500
54
54
Aus diesem Tableau werden der neue Punkt und der Wert der Zielfunktion
abgele-
sen:
£5(0,40,0,860/3,60) und Da
es
in der letzten Zeile noch
5. Iteration:
Die
2500 z
= -
negative Einträge gibt, geht das Verfahren weiter.
Bestimmung des sechsten Simplex-Tableaus
Ausführungen sind hier nicht so ausführlich wie in der ersten Iteration.
63
Kapitel 2: Lineare Optimierung Bestimmung des Pivotelements
Schritt 1:
19
49 6 43
6
J_
40
_5_
860
54
54
_J_
_J_
_J_
60
~
"
1 9
54
_5
18
6 0
6
1080
6
18 19
3 23
5_
0
6
1
~25
1080 2500
n_
54
54
Bestimmung der Pivotspalte:
54 31
ist der kleinste
-—
negative Eintrag in der letzten
Zeile. 40
Bestimmung der Pivotzeile:
43/18
Also steht das Pivotelement in der zweiten Zeile und in der dritten Schritt 2:
Erstellen des
neuen
Spalte.
Tableaus
>
Vertauschen der beiden Variablen und Ersetzen des Pivotelements durch seinen Kehrwert
>
Multiplikation 18 43
>
der alten Pivotzeile mit
( -19/6 ^ 0
Pivotspalte
Spalten durch folgende Inhalte:
'-49/6^ '-128/43"! (
23/54
-25/54
und der alten
'
Ersetzen der restlichen
5/6
18 —
43
1
-19/54
56/129
1/9
-1/6
36/43
0
0
0
0
-31/54
-58/129
4/9
'-49/6^ '-6/43^
x
-19/54 43
-1/6
8/129 -1/43
0
0
-31/54
47/129,
mit
Kapitel 2: Lineare Optimierung
64
'-49/61 f-34/43A r
'-5/2^ -1/6 -1/2
_9_ 43
0
5/6
-19/54 -1/6
-20/43
0
0
1
-31/54,
41/43
11/54
-4/43
'-49/6^
1080
860/3
720 43
60
1080
-19/54 -1/6 0
-31/54
-2500/3
Damit lautet das sechste
147
43
43
34 43
J_
_6_
11
_9_
58 129
43 19
129
129
J_
_3_
43 0
43 0
47
129
43
-19/54 -1/6
13/129
0
1
-31/54
28/129
-7/43
und
Simplex-Tableau:
_6_ 43
-49/6A '44/43^
52320/43 ^ 12580/43 2700/43 1080 -35420/43
128 43 43 56 129 36 43 0
5/6 ^ 5/54 -1/6
31 129
Aus diesem Tableau werden der
43 43
43
4_ 43 20 43
13 129
1_ 43 1 28 129
44
43 neue
44
52320 43 720 43 12580 43 2.700 43 1080
35420 43
Punkt und der Wert der Zielfunktion abgele-
sen:
£6(0,0,720/43,12580/43,2700/43) und Da es in der letzten Zeile noch einen weiter.
6. Iteration: Die
z=-
35420 43
negativen Eintrag gibt, geht
das Verfahren
Bestimmung des siebenten Simplex-Tableaus
Ausführungen sind hier nicht so ausführlich wie in der ersten Iteration.
65
Kapitel 2: Lineare Optimierung Schritt 1:
Bestimmung des Pivotelements __]_
A2
128
__6_
43
43
147 43
J_
__6_
Ii
"
43 8 129
43 56 129 36 43 0
44 43
_9_
J_
43
43 19 129
_4_
3_
J_
43 0
43 0
58 129
34 43
_
47
31
129
129
Bestimmung der Pivotspalte:
_
43 13
43 20 43 0
129
41 43
28 129
58 -
J7_ 43 1
52320 43 720 43 12580 43 2700 43 1.080 35420 43
ist der einzige negative
Eintrag in der letzten
Zeile.
Bestimmung der Pivotzeile: 720/43
1/43
=720,
12580/43 56/129
=
673.9,
2.700/43 36/43
=
75
Also steht das Pivotelement in der vierten Zeile und in der ersten Spalte. Erstellen des
Schritt 2:
neuen
Tableaus
>
Vertauschen der beiden Variablen und Ersetzen des Pivotelements durch seinen Kehrwert 43 und der alten Pivotspalte mit Multiplikation der alten Pivotzeile mit
>
36 Ersetzen der restlichen
>
—
43 ' _
(-128/43"! f-2/9} (147/43"!
'-6/43 "| -6/43 8/129 0
47/129
Spalten durch folgende Inhalte:
J_ 36
1/43 56/129
-5/36 2/27
18/43 19/129
0
0
0
-58/129
19/54
31/129
12
(-128/43"»
f 11/3"1
1/43
5/12
56/129
1/9
0
0
-58/129
5/18
66
Kapitel 2: Lineare Optimierung -22/9^
'-128/431
-34/43A
1/43
2/9
1/43
-4/43
56/129 0 -58/129
4/27
13/129
0
1
0
41/43
'52320/43A und
1440
1/43 56/129
15 260
1.080
0
35420/43
-58/129
1080 -790
Damit lautet das siebente
32 9
_5_ 36
Ii
_2_
27 43
36
22 9
3
36
12
5/27
1/36
0
1
-58/129
7/54
1440
36
27
36
1/43 56/129
Simplex-Tableau: n
J_
36
28/129
19/27j
(-128/43'
720/43 12580/43 -75
-128/43A ( 4/9^
44/43^
9/43
_4_
_5_
27
27
3_
1_
36
36
15
260 75
1080 29 54
11
_5_
11
54
18
27
1_ 54
-790
Aus diesem Tableau werden der neue Punkt und der Wert der Zielfunktion
abgele-
sen:
£ 7(75,0,15,260,0) und
z
=
790.
Da es in der letzten Zeile keine negativen beendet und der optimale Punkt gefunden.
Einträge mehr gibt,
ist das Verfahren
67
Kapitel 2: Lineare Optimierung 2.2.2.4 Sonderfälle Abschließend werden noch einige Sonderfälle besprochen: > > >
Das Minimum existiert, das Maximum dagegen nicht. Der zulässige Bereich ist leer. Es existieren Gleichungen im Ungleichungssystem.
Beispiele zu Sonderfällen: 1. Sonderfall: Das Minimum
Beispiel
Beispiel
2.4: Gegeben sei die folgende Aufgabenstellung (etwas 2.2 aus dem Abschnitt zum primalen Simplex-Algorithmus:
10x2 5 x3 5x, +10x2 + 10x3
10 x,
existiert, das Maximum dagegen nicht.
+
>
600
>
400
abgeändertes
15 x, + 5x7 A3 1.000 \-2 +10x, + 40 z 30 x, x, c2 + 30 x3 min >
T" I V
=
=
.
Aufstellen des ersten
-10
Simplex-Tableaus:
-600
-10 -10
-10
-400
-15
-5
-10
-1000
30
40
30
0
Der zulässige Bereich ist noch nicht erreicht. 1. Iteration:
Bestimmung des zweiten Simplex-Tableaus:
20
15
1400
25
10
1600 200
-90
-50
-8000
Der zulässige Bereich ist erreicht mit dem Eckpunkt Die optimale Lösung ist noch nicht gefunden.
£2(0, 200, O) und
z
=
8000.
Kapitel 2: Lineare Optimierung
68 2. Iteration:
Bestimmung des dritten Simplex-Tableaus: 2 5
_4 5
_
J_
120
2_
_2_
25
25
"
J_
3_
25
25 4
-2240
-14
5 Man hat den Eckpunkt £3 ist noch nicht gefunden.
3. Iteration:
64
5 4 5
(64, 8, O) und
10
_3_ 20
Jetzt soll für die
J_
10
20
10x2 + 5x3 5x, + 10x2 +10x3 15 x, + 5x2 +10x3 +
40 x2
-2100
£4(60, 0, IO)
und
z
=
2100 erhalten. Die
optimale
gleiche Aufgabenstellung das Maximum gefunden werden:
+
30 x,
optimale Lösung
60
10
Man hat den Eckpunkt sung ist gefunden.
=
2240 erhalten. Die
50
35 2
z
=
Bestimmung des vierten Simplex-Tableaus: 35 4
10 x,
z
+
>
600
>
400
>
1.000
30 x3
=
max .
Lö-
69
Kapitel 2: Lineare Optimierung_ Aufstellen des
Simplex-Tableaus:
ersten
-600
-10
-10
-10
-10
-400
-15
-5
-10
-1000
-30
-40
-30
0
1. Iteration:
Bestimmung des zweiten Simplex-Tableaus: 20 3 25 3
20 3
-30
-10
15 -2
200 3 200 3 200 3 2000
P2(200/3, 0, O)
Man hat den Punkt reich ist noch nicht erreicht.
2. Iteration:
4
"
J_
_
3_ Der z
=
2
J_
4
4
4
J_ 10
35
5_
20
_
z
=
-2000 erhalten. Der
Be-
"
_3_ 20
"
J_
J_
2 35 2
10
3_ _
2
50 10
60 2100
Bereich ist erreicht mit dem Eckpunkt -2100 Die optimale Lösung ist noch nicht gefunden.
zulässige .
zulässige
Bestimmung des dritten Simplex-Tableaus:
3_ _
und
/^(öO, 0,10)
und
Kapitel 2: Lineare Optimierung
Til 3. Iteration:
_
Bestimmung des vierten Simplex-Tableaus:
2
_4
5
5
J_
4
25
5
25
__2_
2_
J_
"
25
_3_
5
_4
14
5
120
64
25 18 5
2240
_
(64, 8, O)
Man hat den Eckpunkt £3 sung ist noch nicht gefunden. 4. Iteration:
und
z
=
-2240 erhalten. Die
optimale
Lö-
Bestimmung des fünften Simplex-Tableaus:
15
20
1400 200
-2
10
25
1600
50
90
8000
£4(0,200,0)
und z =-8000 erhalten. Die optimale Man hat den Eckpunkt Lösung ist noch nicht gefunden. Das Verfahren bricht ab, da in der ersten Spalte der Wert in der letzten Zeile negativ ist und es keine positiven Spalteneinträge gibt. Folglich ist der zulässige Bereich unbeschränkt und es existiert kein Maximum.
2. Sonderfall: Der
zulässige Bereich ist leer.
Gegeben sei die folgende Aufgabenstellung (nochmals etwas abgeändertes Beispiel 2.2 aus dem Abschnitt zum primalen Simplex-Algorithmus): Beispiel
2.5:
10x, +\0x2 + 5x3> 600 5x, +\0x2 +IOX3 < 300 15 x, + 5x2 +\0x3 >1000 z
=
30 x,
+
40 x2
+
30 x3
=
min .
71
Kapitel 2: Lineare Optimierung_ Aufstellen des ersten
-10
Simplex-Tableaus:
-10
-600
10
10
300
-15
-5
-10
-1000
30
40
30
0
1. Iteration:
Bestimmung des zweiten Simplex-Tableaus:
20
15
1400
-25
-10
-1700 200
-90
-50
Man hat den Punkt P2 ist noch nicht erreicht.
2. Iteration:
-8000
(0, 200, 0) und
z
=
8000 erhalten. Der zulässige Bereich
Bestimmung des dritten Simplex-Tableaus:
40
_2_ 25
2_ 25
68
25
_L
25 -1880
-14
5
(68,
O)
Man hat den Punkt P3 4, und z 1880 erhalten. Das Verfahren bricht ab, da in der dritten Zeile der Wert in der letzten Spalte negativ ist und es keine negativen Spalteneinträge gibt. Somit stellt die dritte Zeile einen Widerspruch dar. Folglich ist der zulässige Bereich leer und es existiert kein Minimum. -
=
Kapitel 2: Lineare Optimierung
72
3. Sonderfall: Es existieren
Gleichungen im Ungleichungssystem.
Beinhaltet das lineare Ungleichungssystem auch Gleichungen, so muss der Simplex-Algorithmus angepasst werden. Ähnlich wie beim dualen SimplexAlgorithmus erfolgt anfangs die Auswahl des Pivotelements auf andere Weise:
Simplex-Algorithmus mit Gleichungen Das erste Simplex-Tableau wird wie bisher aufgestellt und die Gleichungen werden direkt übertragen. Alle Basis- bzw. Schlupfvariablen z, e IRq 1 < i < m die zu Gleichungen gehören, werden markiert. ,
,
Der Schritt 1 des dualen Simplex-Algorithmus wird nun abgeändert. Es müssen alle markierten Variablen aus der Basis entfernt werden, da diese ja alle gleich 0 sein müssen! Dies geschieht hintereinander in beliebiger Rei-
henfolge.
Schritt 1: Suche des Pivot-Elements Es wird eine beliebige markierte Basisvariable ausgewählt. Diese bestimmt die Pivotzeile. Als Pivotspalte wird eine Spalte gewählt, in der keine markierte Variable steht und das sich dann ergebende Pivotelement von 0 verschieden ist. Diese Vorschleife wird solange durchgeführt, bis alle markierten Variablen aus der Basis entfernt wurden. Dann geht der Algorithmus in den dualen Simplex-Algorithmus über. Markierte Variablen dürfen dabei nicht wieder getauscht werden. Die
Abbruchbedingung muss noch angepasst werden: in der letzten Zeile (ohne den Wert der Zielmarkierten Variablen gehören, positiv, so zu die nicht funktion), ist das Verfahren beendet. Einträge zu markierten Variablen können durchaus noch negativ sein!
Abbruch: Sind alle
Einträge
Kapitel 2: Lineare Optimierung
73
Beispiel zum Simplex-Algorithmus mit Gleichungen Gegeben sei das folgende Beispiel 2.6: 10 x,
+20x2 +40x3 +20x4
20 x,
+
40 x2
+
20 x,
+
20 x2
+
20 a:, 5 x,
+
40x2 60x3 20x4 40x5 50x6
+
20 x2
z
=
30 x3 20 x3
+ +
+
20 x,
+
+
40 x3
30 x4 30 x4
+
10 x5
+40x6
+
10 x5
+
20 x6
=
+
10 x6
=
+ 20 x5
+
+
=1000
800 50 x2 + 30 x3 + 40 x4 + 40 x5 + 30 x6 min +
+
=
Um das erste Simplex-Tableau aufzustellen, muss die > -Ungleichung umgeformt werden. Außerdem werden alle Gleichungen direkt übernommen und die zugehö-
rigen Variablen markiert: zxmar, z^ar, z3mar. Aufstellen des ersten
Simplex-Tableaus:
20
40
20
40
30
20
20
-20 50
10 20 20 20
40
20
1. Iteration:
40
1000
30
10 10
20
1200
30
20
10
800
60 -40
20
40
50
1800
-30
-20
-20
-800
30
40
40
30
Bestimmung des zweiten Simplex-Tableaus
Es werden die markierte Variable z"mr und x, vertauscht. Die exakten Berechnungen werden hier nicht angegeben. Es wird nur noch das Pivotelement markiert.
1
100
10 -2 -2
-50
-10
-60
-20 -10
-20
10
-50
-20
-10
-60
-800
-10
-70
-1200
-20
20
-30
-200
-20
-15 20
-300 -50
-2000
Kapitel 2: Lineare Optimierung
74
o)
P2(l00,
Man hat den Punkt 0, 0, 0, 0, und z = 2000 erhalten. Es sind noch in markierte Variablen der Basis. Der zulässige Bereich ist noch nicht erreicht. 2. Iteration:
Bestimmung des dritten Simplex-Tableaus
Es werden die markierte Variable z™' und x4 vertauscht.
2_
-60
-1
10
80
10 -20
mar
-2
-10
-1
10
-10
-400
80
-2
40
90
1400
120
1300
-50
-2000
-10
80
10
-50
20
0
P3(-
O)
Man hat den Punkt 60, 0, 0, 80, 0, und z 2.000 erhalten. Es sind noch markierte Variablen in der Basis. Der zulässige Bereich ist noch nicht erreicht. 3. Iteration:
=
Bestimmung des vierten Simplex-Tableaus
Es werden die markierte Variable z™r und x3 vertauscht.
_3_ 10 1 5
~4
14
_3
4
5
5
-10
J_
_3
J_
J_
10
-160
10 -10
120
10
-1800
-170
-10
85
40
-1900
110
2
180
-7
-120
5
40
-1
-30
Kapitel 2: Lineare Optimierung_75 Man hat den Punkt
P4 (l 80, 0, 40, -120, 0, O)
und
Variablen sind reicht.
der Basis entfernt. Der
zulässige
Der
aus
z
=
0 erhalten. Alle markierten Bereich ist noch nicht er-
Algorithmus geht jetzt in den dualen Simplex-Algorithmus über. Bestimmung des fünften Simplex-Tableaus:
4. Iteration:
mar
mar
z3
z2
1_
_6_
1_
85 11 170 9
85
170 38 17 9
85 16 17 1
4_
340
170
85
3_[
JT
2_
34
17
17
17
17
85
34
85 3 170 10 17
1
170 17
40
22 17 23 17 25
400 17 140 17 300
17
17
470 17
200 17 190 17
_4_ 17
25 17
(400
17
440 17
25
Der zulässige
140 190 300 17 17 17 17 Bereich ist noch nicht erreicht.
5. Iteration:
Bestimmung des sechsten Simplex-Tableaus:
Man hat den Punkt Pr
'
'
'
20900 17 20900
0,0 und
17
erhalten.
.
235 21 470 31 470 19 235 7 940 111 94
9 235 3 235 9
235 8
235 1 470
_
19 235 3 470 9 470 4
235 12 235
n_
29
47
47
"
12 235 4
235 23 470
J_ 47
J_ 47
95 47
11
47 45 47 100
_
47
68 47 79 94 2935 47
235 23 470
j>_ 94 17
~470 2
235 44 47
1080 47 360 47 800 47 20 47 530 47
58300 47
76
Kapitel 2:
Der zulässige
1080 530 800 360 20 ) 0, 47 und 47 47 47 47 J Bereich ist noch nicht erreicht.
6. Iteration:
Bestimmung des siebenten Simplex-Tableaus:
Man hat den Punkt
,
„
P*
Lineare
z
-.-.-.-,
—
_4_ 75
75
7
150
75
J_ 30
15
J_
4_
75 7 150
75 75
26 15
16 15
4
75 1 150
225 4 225
J_
J_
30
90
_2_
75 17 300
3J_ 30
1
225 11 225 41 45
£7(8,18, 0, 0, 8,12)
Man hat den Punkt Bereich ist erreicht.
7. Iteration:
1_
und
58300 erhalten. 47 ,
=-
45 47
45 20 9 68 45 79 90 587
9 z
=
225 23
450 18 17 450 31 900 203 90
12
-1740
1740 erhalten. Der
zulässige
Bestimmung des achten Simplex-Tableaus: 3
2_
4
115
115
23
115
21_
_6_
23 2 115
23 6 115
_3_
_8_ 23 7
22 23 470 23 25
J_
230 1 115
23 17 23
11
230 7 460
J_
23 1 230
_J_5
46
_n _
23
23 3 115
46 6 115
11 23
22 23 450 23
25 23
_
_
~
~
17 23
360 23 3600 23 200
23 140
7
_4_
_li
115 39
23 440
46 1015
23 290 23 31900
23
23
23
23
,
11
1
_
Optimierung
Kapitel 2: Lineare Optimierung_77
Die
,
n
140)
n
£J-,-,-, 0, 0, 1
optimale Lösung
8. Iteration:
360 290 200 23 23 23 ist noch nicht gefunden. ,
Man hat den Punkt
23
—-
und
J
z
31900 23
=-
erhalten.
Bestimmung des neunten Simplex-Tableaus:
_1_
J_
10
50
12
25
24
J_
J_ 25
16
50
U
-17
23
10
J_
J_
50
3_
20
10
50
11
£9(l2,12,16, 0, 0, 0)
Als Alternative hätte zen können:
jede Gleichung
und
z
=
+
20 x2
20 x4
+
10 x5
+
40 x6
1000 1000
20 x,
+
40 x2
30 x4
+
10 x5 10 x5
+
20 x6
1200
+
10 x6
800
+ +
20 x,
+
20 x2
20 x,
+
20 x2
+
30 x3
+
20 x3
+
20 x3
+
+
30 x4
+
10 x5 20 x5
+
30 x4
+
20 x5
140 12
36
1320
auch durch zwei
10 x,
+
40 x3
man
-17
10
11
Man hat den Punkt Lösung ist gefunden.
120
-1320
erhalten. Die
optimale
Ungleichungen
erset-
50 x6 1800 20 5 x, + 20 x2 + + 30 x4 + 20 x5 + x6 > 800 20 x, + 50 x2 + 30 x3 + 40 x4 + 40 x5 + 30 x6 min z
20 x,
+
40 x2
+
60 x3 40 x3
+
20 x4
+
40 x5
+
=
Nun kann der duale Simplex-Algorithmus gleich im Folgenden durchgeführt wird.
2 +0.4/?3 >g 0.2/>, + 0.5p2 + 0.7/?3 >g 0.4/?, +0.4/?2 +0.3/?3 >g. Fügt man hier noch die Grundbedingung für Wahrscheinlichkeiten p,
+
p2
+
=
p3
1
hinzu und beachtet, dass g sung für dieses Problem.
=
max
gelten soll,
so
Dividiert man das Ungleichungssystem und die lichkeiten durch g > 0, so folgt:
0.8-Q- + 0.4+ 0.4
>
erhält
man
sehr schnell die Lö-
Grundbedingung für Wahrschein-
1
0.2-^- + 0.5-^- + 0.7-^->l 0.4-^- + 0.4-^- + 0.3-^->l 1 =
g
—
P\
+
g
Pi —
Substituiert
Ps
+
g
—
=
min.
g
—
jetzt noch
man
0.8 x,
+0.4x2 + 0.4x3
0.2 x,
+
0.4 x,
+0.4x2 +0.3x3
1 z
=
=
g
0.5 x2
x,
x2
+
+
0.7 x3
+
x3
=
x,
=
—,
g
x2
=
—
g
und x3
=
—, so
g
folgt
>1 >
1
>1 min
—
Damit hat
mierung
das
spieltheoretische Problem Kapitel 2 zurückgeführt.
man
aus
Bevor dieses
auf das Verfahren der lineare
Beispiel mit Hilfe des Simplex-Algorithmus gelöst wird, allgemeine Verfahren zur Lösung dynamischer Spiele angegeben.
Opti-
wird das
137
Kapitel 3: Spieltheorie Verfahren
zur
Lösung dynamischer Spiele
X stehen m verschiedene Strategien zur Verfügung, einem Spieler Y stehen n verschiedene Strategien zur Verfügung. Eine Entscheidungsmatrix stellt das Ergebnis des Spiels für Spieler X in Abhängigkeit der gewählten Strategien dar:
Einem
Spieler
Strategien für Spieler Y 7
Strategien
i
=
\
i
=
2
für
7
=
=
2
j
'22
=
n
'2n
Spieler X
es in der Entscheidungsmatrix keinen Sattelpunkt (siehe le), so erfolgt die Lösung mit dem Simplex-Algorithmus.
Gibt
statische
Spie-
Simplex-Algorithmus für Spieler X: Spieler X spielt seine Strategien mit den Wahrscheinlichkeiten ph\'3
>'i
J_ 10
Eckpunkt E2 (5 / 4, 0, O) sung ist noch nicht gefunden.
Man hat den
2. Iteration:
Vi
35 24 1 6
5_ _
6
z
=
-5 / 4 erhalten. Die
Bestimmung des dritten Simplex-Tableaus:
iL _5_ "
12
u_
25
24
24
J_
_
>'2
und
3
_5
3
5_ 4
3 1 6
5 6 15
optimale
Lö-
Kapitel 3: Spieltheorie
142
(25
Man hat den Eckpunkt £3 / 24, 5 / 6, Lösung ist noch nicht gefunden. 3. Iteration:
O) und
z
=
-15/8 erhalten. Die
optimale
Bestimmung des vierten Simplex-Tableaus: 11
27 16
13 16
-2
J'3
)'2 33 16
1_ 16
(l
Man hat den Eckpunkt E4 3 /16, 3 / 4,1 / male Lösung ist gefunden.
2)
und
Nach Rücksubstitution der Variablen gilt mit g ^ g_
92 =^2 £ 93
=
^3 8 '
=
13
26 _L3
16 33
~
33
2 16_L2 4 33
~
33
1 16__8_ 2 33~33'
z
=
=
=
z
—
-33 /16 erhalten. Die
—:
33
opti-
143
Kapitel 3: Spieltheorie
3.4
Aufgaben
Aufgabe 1
Gegeben seien die folgenden Entscheidungsmatrizen. len Strategien beider Spieler.
Bestimmen Sie die
(a)
Strategien für Spieler Y 7 2 7=1 =
Strategien für Spieler X
1=1
(b)
Strategien für Spieler Y 7=3 7=1 7=2 i=l
Strategien Spieler X
für
r
=
2
i
=
3
7
=
4
-1
(c)
Strategien für Spieler Y 7 2 7=3 7=4 7=1 =
Strategien Spieler X
für
i=l
-5
i
=
2
-2
i
=
3
-1
i=4
i=5
-2
optima-
144
Kapitel 3: Spieltheorie
Aufgabe 2
Gegeben seien die folgenden Entscheidungsmatrizen. len Strategien beider Spieler.
Bestimmen Sie die
(a)
Strategien für Spieler Y 7
Strategien für Spieler X
i
=
l
i
=
2
=
2
-1
(b) Strategien für Spieler Y 7
=
1
7
=
2
7
=
3
j
=
4
1=1
Strategien für
Spieler X
i i
=
2
=
3
(c) Strategien für Spieler Y 7=1 7=4 7=2 7=3 i=l
Strategien Spieler X
für
i
=
2
i
=
3
i
=
4
j
=
5
-2
-5
-2
optima-
Kapitel 3: Spieltheorie
145
Aufgabe 3 Um Entscheidungen zufällig zu fällen, etwa wer bei einem Spiel beginnen darf, wird häufig das Auswahlspiel „Stein-Schere-Papier" oder auch „SchnickSchnack-Schnuck" gespielt. Dabei zeigen beide Spieler gleichzeitig eines der Zeichen Stein, Schere oder Papier. Es gelten folgende Regeln: > Stein gewinnt gegen Schere und verliert gegen Papier, > Schere gewinnt gegen Papier und verliert gegen Stein, > Papier gewinnt gegen Stein und verliert gegen Schere. > Gleiche Zeichen neutralisieren sich.
(a) Stellen Sie die Entscheidungsmatrix auf und zeigen Sie, dass es keine statische Strategie gibt. (b) Zeigen Sie, dass der Simplex-Algorithmus keine Lösung liefert. (c) Addieren Sie zu jedem Element der Entscheidungsmatrix +1 und lösen Sie dann das Problem mit dem Simplex-Algorithmus. Aufgabe 4 Um solche
Entscheidungen etwas spannender zufällig zu fällen wird häufig das Auswahlspiel „Stein-Schere-Papier" um die Auswahlmöglichkeit „Brunnen" erweitert. Dabei zeigen wieder beide Spieler gleichzeitig eines der Zeichen Stein, Schere, Papier oder Brunnen. Es gelten folgende Regeln: > Stein gewinnt gegen Schere und verliert gegen Papier und Brunnen, > Schere gewinnt gegen Papier und verliert gegen Stein und Brunnen, > Papier gewinnt gegen Stein und Brunnen und verliert gegen Schere, > Brunnen gewinnt gegen Stein und Schere und verliert gegen Papier. >
Gleiche Zeichen neutralisieren sich.
(a)
Stellen Sie die Entscheidungsmatrix auf und zeigen Sie, dass es keine statische Strategie gibt. Lösen Sie das Problem analog zu Aufgabe 3. Vor diesem Spiel wird jedem Spieler zufällig eine der vier Optionen weggenommen. Geben Sie die Entscheidungsmatrizen zu all diesen Spielvarianten an und bestimmen Sie deren optimalen Strategien. Das Verfahren von Aufgabenteil (c) wird folgendermaßen abgeändert: Vor dem Spiel muss Spieler X zuerst erklären, auf welche Option er verzichtet. Geben Sie an, auf welche Option dann Spieler Y verzichtet, wenn er die Auswahl von Spieler X optimal beantwortet.
(b) (c) (d)
Kapitel 3: Spieltheorie
146
Aufgabe 5
Eishockey-Club aus Köln stehen drei Varianten für seine Verteidigung zur Verfügung. Die gegnerische Mannschaft aus Berlin verfugt über drei verschiedene Angriffsformationen. Die Erfolgsaussichten für Köln (WK, dass kein Tor fällt) sind in folgender Tabelle zusammengestellt:
Dem
Strategien für Berlin 7=2 7=3 7=1 Strategien für Köln
Bestimmen Sie die
i
=
l
0.4
0.4
0.3
i
=
2
0.7
0.8
0.6
i
=
3
0.4
0.5
0.5
optimalen Strategien der beiden Mannschaften.
Aufgabe 6
Eishockey-Club aus Landshut stehen drei Varianten für seine Verteidigung zur Verfugung. Die gegnerische Mannschaft aus Hamburg verfügt über drei verschiedene Angriffsformationen. Die Erfolgsaussichten für Landshut (WK, dass kein Tor fällt) sind in folgender Tabelle zusammengestellt: Dem
Strategien für Hamburg 7=1 7 2 7=3 =
Strategien
für
Landshut
Bestimmen Sie die
i
=
l
0.4
0.4
0.3
i
=
2
0.7
0.8
0.6
i
=
3
0.4
0.5
0.8
optimalen Strategien der beiden Mannschaften.
Kapitel 4
Transportprobleme Einführung, Beispiel und mathematisches
4.1
Modell Werden von
A{ irgendwelche Mengen eines Transportgutes zu n Nachfragern transportiert und sollen dabei die gesamten Transportkosten minimiert werden, so hat man die Aufgabenstellung von Transport- oder Verteilungsproblemen. m
Anbietern
TV
Das Am
folgende Beispiel 4.1 verdeutlicht diesen Sachverhalt: Vatertag werden die Wanderer durch ein Gewitter überrascht und suchen deshalb in den nahegelegenen Ausflugslokalen Schutz. In den vier Lokalen ist aber nicht genügend Bier vorhanden. Dieses wird unverzüglich bei der zuständigen Brauerei angefordert, die über drei verschiedene Auslieferungslager verfügt, in denen insgesamt die gewünschte Menge zur Verfügung steht. Die vier Lokale N,, N2, N3 und N4 benötigen 10 hl bzw. 30 hl bzw. 15 hl bzw. 35 hl. Diese Gesamtmenge steht in den drei Auslieferungslagern A,, A2 und A3 in folgender Weise zur Verfügung: in A, 25 hl, in A2 25 hl und in A3 40 hl. Die Transportkosten pro hl von den einzelnen Auslieferungslagern zu den jeweiligen Ausflugslokalen betragen Ausflugslokal Nachfrager =
Na 10
c
0 an der Stelle von x21 ein, so muss an den in der folgenden Tabelle ersichtlichen Stellen durch Hinzufugen von +a oder —a korrigiert werden, damit alle Einschränkungen nach wie vor gelten:
Fügt man
Afi 10-a
AM
\5 + a 15-«
10
30
25 10
15
25 35
40
35
90
Kapitel 4: Transportprobleme_163 Danach wird überprüft, wie sich die Kosten von 2550 ändern, wenn a 1 gesetzt wird. Für die Kostenänderung c21 gilt dann c21 c21 -c22 + c12-cu 90-0 + 80-10 160, wobei hier alle Werte der Kostenmatrix mit positivem Vorzeichen berücksichtigt werden, falls a 1 addiert wurde und alle Werte der Kostenmatrix mit negativem Vorzeichen berücksichtigt werden, falls a 1 abgezogen wurde. Da c21 positiv ist, wird in diesem Fall die Kostenfunktion nicht kleiner! =
=
=
=
=
=
Fügt man
a >
0
dagegen an der Stelle von /V,
N, 10
10
so
gilt:
AM
Na
15-a 15 + a
NM
jc13 ein,
25
25
\0-a
30
15
35
40
IT
~90
Für die
Kostenänderung c13 gilt dann c]3 40 50 + 0 80 -90. Da c,3 negativ ist, wird in diesem Fall die Kostenfunktion kleiner! Nun muss nur noch das maximal mögliche a > 0 bestimmt werden. Dies geschieht in den Differenzen 15-a und 10-a. Damit beide Mengen nicht negativ werden, kann a höchstens gleich 10 gesetzt werden. Dann verringert sich die Kostenfunktion aber =
=
-
um
90 10
=
900 Einheiten.
Die neue, verbesserte
N
Basislösung ist dann: AM
Na
AS
10
25
10
25
25
NM
10
-
30
15
Für den Wert der Zielfunktion
gilt:
35
40
35
90
z
=
2550
90 10 •
=
1650.
-
Dieses Verfahren wird so lange gen mehr vorhanden sind.
durchgeführt, bis keine negativen Kostenänderun-
Kapitel 4: Transportprobleme
164
Algorithmus zur Stepping-Stone-Methode Start: Man bestimme eine Ausgangslösung durch eines der beschriebenen Verfahren. Diese wird die erste Basislösung genannt. Danach erfolgen Iterationen zu jeweils 5 Schritten bis zum Abbruch. Schritt 1: An einem freien Feld der vorliegenden Basislösung wird a > 0 eingefügt. Schritt 2: Danach werden Korrekturen der Form +a oder -a an den Stellen der Basisvariablen vorgenommen, so dass alle Einschränkungen gültig bleiben. Es existiert immer ein solcher Pfad entlang der Basivariablen.
Schritt 3: Danach wird die
Kostenänderung
für
a
=
\ berechnet. Dabei
werden alle Werte der Kostenmatrix mit positivem Vorzeichen berücksichtigt, falls a 1 addiert wurde und alle Werte der Kostenmatrix mit negativem Vorzeichen berücksichtigt, falls a 1 abgezogen wurde. =
=
3 werden für alle freien Felder der
Schritt 4: Die Schritte 1
Basislösung durchgeführt. (a) Sind alle Cy >0, so ist -
Schritt 5:
die
vorliegenden
vorliegende Basislösung optimal
und das Verfahren bricht ab.
(b) Gibt es mindestens ein Cy
0 dazu ermittelt. Anschließend wird durch Einsetzen dieses a > 0 die neue verbesserte Basislösung bestimmt. (Hier kann es passieren, dass sich a 0 ergibt. Dadurch werden in der Basislösung nur zwei Nullen getauscht. Anschließend geht das Verfahren wie gewohnt weiter.) Danach erfolgt die nächste Iteration. =
Sind alle Cy > 0 und mindestens ein Cy 0, so existieren mehrere optimale Lösungen. Diese werden durch weitere Iterationen ermittelt.
(c)
=
Kapitel 4: Transportprobleme
165
Beispiel 4.1 zur Stepping-Stone-Methode Gegeben sei ein Transportproblem mit folgender Kostenmatrix und den folgenden Nachfrage bzw. Angebotsmengen: -
Kostenmatrix:
Nachfrager 10
/V,
A,
/V,
80
40
70
50
70
80
10
90
.a e
0,
so
ist die
vorliegende Basislösung optimal
und das Verfahren bricht ab.
(b) Gibt es mindestens ein Cy
0 dazu ermittelt. Dies geschieht durch den Schritt 2 der Stepping-StoneMethode (Korrekturen der Form + a oder a an den Stellen der -
Anschließend wird durch Einsetzen dieses a > 0 die neue verbesserte Basislösung bestimmt. (Hier kann es passieren, dass sich a 0 ergibt. Dadurch werden in der Basislösung nur zwei Nullen getauscht. Anschließend geht das Verfahren wie gewohnt weiter.) Danach erfolgt die nächste Iteration.
Basisvariablen).
=
Sind alle Cy > 0 und mindestens ein cy 0, so existieren mehrere optimale Lösungen. Diese werden durch weitere Iteratio-
(c)
nen
=
ermittelt.
176_Kapitel 4: Transportprobleme Beispiel 4.2 zur MODI-Methode Nachfolgend wird ein etwas größer dimensioniertes Beispiel als das seither mehrfach durchgerechnete Beispiel 4.1 betrachtet.
Gegeben sei ein Transportproblem mit folgender Kostenmatrix und den folgenden Nachfrage bzw. Angebotsmengen: -
Kostenmatrix:
Nachfrager
/V,
Na
AT,
N
oo
Vorg'i, j)
=
05005050
Oy
j 4 =
r0 oo
oo
D(i, j)
.
1 1 1 2 0 0
oo
Schleife 3:
D(i, j)
'1
oo oo
oo
100 40 10 70 30 60 0 00 00 20 CO 00 oo 0 oo 30 30 20
co^
(1
1 4 1 3 4 3
0^
00
02002000
co
00303330 00443430
oo
30 0 60 20 50 15 oo oo 0 oo 10
oo
oo
oo
oo
oo
oo
0 30
oo
00000660
co
oo
oo
oo
5
oo
0 25
00007077
00
00
oo
oo
oo
oo
oo
00 =
00
oo ,
Oy
Vorg{i,j)
=
05005050
00000008
Kapitel 7:
Schleife 5: j
(0
D{U j)
=
Schleife 6:
5
85 40 10 70 30 60 0 oo oo 20 oo 30
oo^ oo
4 1 3 4 3 0A 02002050
45 0
30 30 20 75 30 0 60 20 50 15 co 00 0 oo 10
oo
05303330
oo
00000660
05007077 0 0 0 0 0 0 0 8
oo
(\ 5
oo ,
oo
CO
CO
00
CO
0 30
20
oo
oo
5
oo
0 25
00
00
00
00
00
oo
Vorgii,j)
0
05443430 =
05005050
=
OO CO CO
85 40 10 70 30 60 0 co 00 20 00 30 45 0 oo 30 30 20 75 30 0 60 20 50 15 co oo 0 oo 10
oo
^
'15
4 13 4 3
0^
oo
02002050
oo
05303330 05443430
oo ,
VorgiiJ)
oo
co
co
oo
oo
0 30
oo
05005050 00000660
CO
20
oo
oo
5
oo
0 25
05007077
00
00
00
00
CO
00
0
0 0 0 0 0 0 0 8
00
vco Schleife 7: j
D{U j)
=
j 6
(0
D(Uj)
457
Lösungen der Aufgaben
=
oo
7
CO
80 40 10 65 30 60 85^ 0 oo oo 20 oo 30 55
co
40 0
oo
00 OC
50
oo
oo
CO
20
oo
00
5
CO
0 25
00
00
00
00
CO
00
00
35 0 30 55 0
5 4 1 7 4 3
7^
02002057
25 30 20 45
70 30 0 55 20 50 75 15 oo 00 0 oo 10 35
00
(\
05307337 ,
VorgiiJ)
05447437 05005057 05007667 05007077 00000008
Kapitel 7: Lösungen der Aufgaben
458 Schleife 8:
j 8 =
(0
D(U j)
oo
80 40 10 65 30 60 85A 0 oo oo 20 co 30 55
oo
40 0
oo
oo
25 30 20 45 70 30 0 55 20 50 75
oo
15
oo
oo
oo
50
oo
oo
oo
20
oo
oo
=
0
oo
10 35
(\ 5
4 1 7 4 3 7A 02002057
Vorg{i, j)
35 0 30 55 5 oo 0 25
00000000000000
05307337 05447437 05005057
05007667 05007077
0
K0
0000008
Aufgabe 4
(a) Startiteration: M
D(i)
V(i)
1. Iteration: m
={a} H
D(i)
M
10
V(i) 2. Iteration: M
=
{ß, C,D,e} M
D(i)
V(i)
10 D
N
Kapitel 7:
Lösungen der Aufgaben
3. Iteration: M
=
459
{ß, C, E, F, G} H
D(i)
M
N
M
N
14
V(i) 4. Iteration: M
=
{ß, E, F, G, H } Ii
D(i)
14
17
V(i) 5. Iteration: M
=
{B, F,G, H, / } H
D
D(i)
14
D
6. Iteration: m
M 17
D
={f,G,H,i) D 14
V(i) 7. Iteration: M
D
=
N
M
N
12
D
{G,H,1,J H
D(i) V(i)
M
13 D
D
12
13
15
460 8. Iteration: m
Kapitel 7: =
Lösungen der Aufgaben
{h, i, j, k, l) //
D(i)
13
V(i) 9. Iteration: m
D
=
D
D
=
D
14
13
11
13
15
H
13 D
=
12
14
13
M
N
14
13
M
N
14
13
{H, K, L, M, N)
D(i)
V(i)
M
D
D
12
11
13
15
D
{K, L,M,n} H
D(i)
13
K 12
11
13
15
D
V(i) =
16 K
{l,m, n, p} H 13
D(i) V(i)
15
H
13
V(i)
12. Iteration: m
13
{h,i, k, l, m,n)
D(i)
11. Iteration: M
11
N
D
D
10. Iteration: M
12
M
D
D
D
K 12
11
13
M 15
14
13
15
461
Kapitel 7: Lösungen der Aufgaben 13. Iteration: M
=
{L,M,p) D
13
D(i)
11
13
15
=
13
DO) D
vo) =
15
13
15
M
12
11
13
15
14
N
{p) K
H
13
DO)
Die > > > > > > > > > > > > > >
13
D
D
V(i)
14
{l, p) H
15. Iteration: m
N
D
V(i) 14. Iteration: m
12
M
D
D
kürzesten Wege sind: a->c^b a^c a-^d a^d-^e a-*d->f a-^d^g a-^d^g-^h a-+d^>f->i a^d^g^j a^> d^g-* k a^d^g^l a-+d^>g^>j ->m a^d^g^j-^n a-^d^g^j ->n ->p
12
11
D
mit der Länge 8 mit der Länge 6 mit der Länge 4 mit der Länge 7 mit der Länge 9 mit der Länge 9 mit der Länge 13 mit der Länge 12 mit der Länge 11 mit der Länge 13 mit der Länge 15 mit der Länge 14 mit der Länge 13 mit der Länge 15.
13
15
M
N
14
13
15 N
Kapitel 7: Lösungen der Aufgaben
462
Zur Illustration sei noch das Abschnitt 5.5.5.1 angegeben:
Eingabefenster für den Dijkstra-Algorithmus
(b) Startiteration: B
H
M
N
H
M
N
D(i)
V(i)
1. Iteration: S
D(i)
V(i)
10
=