Operations Research
0717
2017
978-3-7398-0343-2
978-3-8676-4813-4
UVK Verlag
Ulrich Müller-Funk
Ulrich Kathöfer
Der Band führt Studienanfänger in die Grundlagen des Operations Research ein. Anhand zahlreicher Beispiele vermittelt er verständlich und anwendungsnah kompaktes Prüfungswissen und spricht ausdrücklich auch Nicht-Mathematiker an.
Behandelt werden zentrale Fragen und Algorithmen des Operations Research wie diskrete, lineare und ganzzahlige Optimierungsmethoden sowie Entscheidungs- und Spieltheorie. Anwendungen sind beispielsweise Netzplantechnik, Transportprobleme oder Routenplanung. Verweise auf weiterführende Themenbereiche runden die Darstellung ab.
<?page no="1"?> Ulrich Kathöfer, Ulrich Müller-Funk Operations Research <?page no="3"?> Ulrich Kathöfer Ulrich Müller-Funk OOppe erraattiio onnss RReesseeaarrcchh 3., korrigierte Auflage UVK Verlagsgesellschaft mbH • Konstanz mit UVK/ Lucius • München <?page no="4"?> Zu den Autoren: DDrr.. UUllr riic chh KKa atthhööffe err ist Akademischer Direktor im Bereich Informationsverarbeitung an der Medizinischen Fakultät der Universität Münster. PPrrooff.. DDrr.. UUllrriicchh MMüülllleerr--FFuunnkk lehrt Quantitative Methoden an der Universität Münster. Bibliografische Information der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http: / / dnb.ddb.de> abrufbar. Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen 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 Verarbeitung in elektronischen Systemen. ISBN 978-3-86764-813-4 (Print) ISBN 978-3-7398-0342-5 (EPUB) ISBN 978-3-7398-0343-2 (EPDF) © UVK Verlagsgesellschaft mbH, Konstanz und München 2017 Einbandgestaltung: Susanne Fuellhaas, Konstanz Printed in Germany UVK Verlagsgesellschaft mbH Schützenstr. 24 • 78462 Konstanz Tel. 07531-9053-0 • Fax 07531-9053-98 www.uvk.de <?page no="5"?> Inhalt Vorwort 9 1 Einführung 11 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.1 Fragestellungen des Operations Research . . . . . . . . . . . . 11 1.1.1 Modellierung . . . . . . . . . . . . . . . . . . . . . . . 12 1.1.2 Algorithmen . . . . . . . . . . . . . . . . . . . . . . . 14 1.2 Optima . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 1.2.1 Diskrete Optimierungsprobleme . . . . . . . . . . . . . 22 1.2.2 Lineare Optimierungsprobleme . . . . . . . . . . . . . 24 1.2.3 Ganzzahlige Optimierungsprobleme . . . . . . . . . . 26 1.2.4 Nichtlineare Optimierung . . . . . . . . . . . . . . . . 27 1.2.5 Multikriterielle Optimierung . . . . . . . . . . . . . . 28 1.3 Gleichgewichte . . . . . . . . . . . . . . . . . . . . . . . . . . 29 1.4 Stochastische Probleme des Operations Research . . . . . . . 34 1.4.1 Risikomodelle . . . . . . . . . . . . . . . . . . . . . . . 34 1.4.2 Warteschlangenmodelle . . . . . . . . . . . . . . . . . 35 1.4.3 Markov-Entscheidungs-Modelle . . . . . . . . . . . . 36 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 2 Optimierung in Graphen 41 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.1 Relationen, Graphen, Bäume . . . . . . . . . . . . . . . . . . 41 2.1.1 Relationen . . . . . . . . . . . . . . . . . . . . . . . . 41 2.1.2 Graphen . . . . . . . . . . . . . . . . . . . . . . . . . . 44 2.1.3 Digraphen . . . . . . . . . . . . . . . . . . . . . . . . . 47 2.1.4 Netzwerke . . . . . . . . . . . . . . . . . . . . . . . . . 51 2.1.5 Teilbedarfsrechnung - Gozintographen . . . . . . . . . 51 2.1.6 Bäume . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 2.2 Kürzeste Wege in Netzwerken . . . . . . . . . . . . . . . . . . 56 2.2.1 Dijkstra-Algorithmus für Digraphen . . . . . . . . . 57 5 <?page no="6"?> Inhalt 2.2.2 Minimal aufspannende Bäume . . . . . . . . . . . . . 60 2.3 Netzplantechnik . . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.3.1 Vorgangsliste . . . . . . . . . . . . . . . . . . . . . . . 64 2.3.2 CPM-Netzpläne . . . . . . . . . . . . . . . . . . . . . 65 2.3.3 CPM-Zeitplanung . . . . . . . . . . . . . . . . . . . . 70 2.4 Dynamische Optimierung . . . . . . . . . . . . . . . . . . . . 76 2.4.1 Problemstellung . . . . . . . . . . . . . . . . . . . . . 76 2.4.2 Lösungsansatz . . . . . . . . . . . . . . . . . . . . . . 78 2.4.3 Erweiterungen . . . . . . . . . . . . . . . . . . . . . . 80 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 3 Lineare Optimierung 83 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83 3.1 Lineare Optimierungsprobleme . . . . . . . . . . . . . . . . . 83 3.1.1 Struktur eines linearen Optimierungsproblems . . . . . 84 3.1.2 Zeilenstufenform und Basisformen . . . . . . . . . . . 86 3.1.3 Lösbarkeit eines linearen Optimierungsproblems . . . 89 3.2 Simplex-Algorithmus . . . . . . . . . . . . . . . . . . . . . . . 91 3.3 Zweiphasenmethode . . . . . . . . . . . . . . . . . . . . . . . 101 3.4 Sensitivität und Dualität . . . . . . . . . . . . . . . . . . . . . 108 3.4.1 Dualität . . . . . . . . . . . . . . . . . . . . . . . . . . 110 3.4.2 Complementary Slackness . . . . . . . . . . . . . . . . 111 3.4.3 Die duale Simplex-Methode . . . . . . . . . . . . . . . 116 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 4 Ganzzahlige Optimierungsprobleme 121 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 4.1 Lineare Probleme mit Ganzzahligkeitsforderungen . . . . . . 121 4.2 Transportprobleme . . . . . . . . . . . . . . . . . . . . . . . . 124 4.2.1 Anfangslösungen . . . . . . . . . . . . . . . . . . . . . 128 4.2.2 Die Zyklenmethode . . . . . . . . . . . . . . . . . . . . 130 4.3 Zuordnungsprobleme . . . . . . . . . . . . . . . . . . . . . . . 141 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme . . . 148 4.4.1 Lösung durch Runden . . . . . . . . . . . . . . . . . . 148 4.4.2 Schnittebenen-Verfahren . . . . . . . . . . . . . . . . . 148 4.4.3 Branch-and-Bound-Verfahren . . . . . . . . . . . . . . 152 4.4.4 Der Dakin-Algorithmus . . . . . . . . . . . . . . . . . 154 6 <?page no="7"?> Inhalt Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160 5 Nichtlineare Optimierung 161 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161 5.1 Methoden der Analysis . . . . . . . . . . . . . . . . . . . . . . 161 5.1.1 Optimierungsprobleme ohne Restriktionen . . . . . . . 162 5.1.2 Optimierungsprobleme mit Restriktionen . . . . . . . 164 5.2 Deterministische Suchverfahren . . . . . . . . . . . . . . . . . 170 5.2.1 Intervallschachtelung . . . . . . . . . . . . . . . . . . . 170 5.2.2 Intervallhalbierung . . . . . . . . . . . . . . . . . . . . 171 5.2.3 Newton-Verfahren . . . . . . . . . . . . . . . . . . . 172 5.2.4 Gradientenabstiegsverfahren . . . . . . . . . . . . . . . 173 5.2.5 Verfahren des steilsten Abstiegs . . . . . . . . . . . . . 174 5.2.6 Das Newton-Verfahren als Abstiegsverfahren . . . . 175 5.3 Simulated Annealing . . . . . . . . . . . . . . . . . . . . . . . 176 5.3.1 Lokale Suche . . . . . . . . . . . . . . . . . . . . . . . 177 5.3.2 Schritte des Simulated Annealing . . . . . . . . . . . . 179 5.3.3 Konvergenzverhalten . . . . . . . . . . . . . . . . . . . 181 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183 6 Elemente der Spieltheorie 185 Übersicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185 6.1 Strategische Spiele . . . . . . . . . . . . . . . . . . . . . . . . 185 6.1.1 Nash-Gleichgewichte . . . . . . . . . . . . . . . . . . . 185 6.1.2 Zwei-Personen-Nullsummenspiele . . . . . . . . . . . . 193 6.1.3 Symmetrische binäre Zwei-Personen-Spiele . . . . . . . 195 6.2 Kooperative Spiele . . . . . . . . . . . . . . . . . . . . . . . . 200 6.2.1 Fragestellung und Formalisierung . . . . . . . . . . . . 200 6.2.2 Die Nash-Lösung . . . . . . . . . . . . . . . . . . . . 204 6.2.3 Kritik an der Nash-Lösung . . . . . . . . . . . . . . . 206 6.2.4 Die monotone Verhandlungslösung . . . . . . . . . . . 207 6.3 Koalitionsspiele . . . . . . . . . . . . . . . . . . . . . . . . . . 209 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Kontrollfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 7 <?page no="8"?> Inhalt Klausuren 215 Klausur 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 Klausur 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219 Klausur 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 Lösungen 225 Klausur 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 Klausur 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 Klausur 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236 Glossar 241 Abbildungen 246 Symbole und Abkürzungen 249 Literatur 251 Index 253 8 <?page no="9"?> Vorwort „Die Vorlesung ist gut und interessant - aber das Skript ist schlecht.“ Seit die studentische Veranstaltungskritik ins deutsche Hochschulwesen eingezogen ist, lesen wir diesen Vorwurf immer wieder schwarz auf weiß. Auch der Einwand, das „Skript“ sei ja gar keins, sondern nur die Sammlung der in der Vorlesung verwendeten Folien, die wir aus reiner Freundlichkeit im Internet bereit stellen, nützt da nur wenig. Der Verweis auf gedruckte Literatur ist oft problematisch - zu mathematisch, zu umfangreich oder auch zu oberflächlich stellt sich Manches dar. So erscheint die Gelegenheit, im Rahmen des BWL-Crash-Kurses von UTB/ UVK einmal alles aufzuschreiben, was in einer Vorlesung durch Folien und Vortrag vermittelt wird, sinnvoll zu sein für alle Beteiligten. Für die Studierenden, die nun endlich ihren Wunsch nach einer geschlossenen Darstellung der Themen erfüllt bekommen. Und auch für die Dozenten, die beim Formulieren der Zusammenhänge hinterfragen konnten, warum einige Verfahren des Operations Research in der Vorlesung bisher etwas mühsam rüberkamen; diese Überlegungen kommen sicher nicht nur dem Buch, sondern auch der Vorlesung zugute. Operations Research ist sicherlich kein unzugängliches Thema im wirtschaftswissenschaftlichen Studium. Trotz der Ablehnung von mathematischen Vorgehensweisen, die manche Studierenden gern mal demonstrativ zur Schau stellen, kann die anwendungsorientierte Ausrichtung des Operations Research bei vielen genügend Interesse wecken, um auch mal etwas Methodisches auf sich zu nehmen. Unser Ansatz ist es, dies dem mehr oder weniger geneigten Leser nicht allzuschwer zu machen. So nutzen wir aus der Mathematik die Methodiken und Schreibweisen, aber nur so weit, wie es unbedingt nötig ist. Dort, wo man Verfahren auch sprachlich beschreiben kann, möchten wir nicht darauf verzichten. Den größten Teil dieses Buches sollte man daher mit durchschnittlichen mathematischen Kenntnissen aus der gymnasialen Oberstufe verstehen können; eine einführende Mathematik-Vorlesung, wie sie in jedem wirtschaftswissenschaftlichen Studium zu Beginn üblich ist, hilft dann beim Rest. Die zentralen Themen des Operations Research wie Graphen und Optimierungsprobleme deckt das vorliegende Buch natürlich ab. Wenn wir in 9 <?page no="10"?> Vorwort Randgebieten nicht weiter in die Tiefe gehen, sondern auf weiterführende Literatur verweisen, liegt das in der Natur eines „Crash-Kurses“. Zur Abrundung der Thematik haben wir ein Kapitel über Spieltheorie angefügt. Die Beschäftigung mit diesem Bereich bringt für die betriebliche Entscheidungsfindung, der das Operations Research ja dient, sicher mehr als eine Vielzahl weiterer Optimierungsalgorithmen. Dank gebührt zunächst einmal den ehemaligen und derzeitigen Studierenden der Wirtschaftsinformatik, die durch konstantes Nach- und Hinterfragen die Dozenten herausgefordert haben, die Themen verständlich und interessant zu vermitteln. Auch beim Aufdecken von Fehlern hat sich die jahrelange Erfahrung mit der Vorlesung gelohnt. Ein besonderer Dank geht an die Mitarbeiterinnen und Mitarbeiter, die in den letzten Jahren die Übungen zur Vorlesung betreut haben. Von jedem steckt irgendwo etwas im jetzt vorliegenden Text oder in den Aufgaben. Hervorheben möchten wir Dr. Ingolf Terveer, der mit vielen Anregungen und Details beigetragen hat. Wir danken besonders Frau Dipl.-Kffr. Andrea Vogel, die uns als Lektorin gehörig angetrieben hat - ohne sie wäre dieses Buch vermutlich nie oder erst in einigen Jahren fertig geworden. „Die Vorlesung ist gut und interessant - und mit dem Buch dazu eine runde Sache.“ Das hoffen wir in Zukunft auf den Fragebögen in Münster zu lesen. Und etwas Ähnliches steht vielleicht auch an anderen Hochschulen auf den Bögen; über positive wie konstruktive negative Rückmeldung würden wir uns freuen. (or-buch@kathoefer.de) Münster, im August 2005 Ulrich Kathöfer Ulrich Müller-Funk Vo rwort zur 2. Auflage Eine Reihe von Fehlern sind verschwunden - den Findern sei für die Mithilfe ganz herzlich gedankt. Wir haben die Gelegenheit genutzt, ein paar Formulierungen zu verbessern, Ungenauigkeiten auszuschalten, Klarheit einzubringen. Der Versuchung, den Umfang des Buches durch ein paar total wichtige Ergänzungen aufzublähen, konnten wir weitgehend widerstehen - das einführende Kapitel zur Dynamischen Optimierung haben wir uns und den Lesern aber doch geleistet. Münster, im Januar 2008 Ulrich Kathöfer Ulrich Müller-Funk 10 <?page no="11"?> 1 Einführung Übersicht Das erste Kapitel soll die Fragestellungen und Ziele des Operations Research in Übersichtsform darstellen. Dazu werden wir schon reichlich Beispiele und erste Lösungsansätze kennen lernen. Im Abschnitt 1.1 wollen wir die zentralen Begriffe „Modell“ und „Algorithmus“ praktisch erläutern. Der Abschnitt 1.2 vgl. S. 21 stellt die Optimierung als Ziel in das Zentrum der Betrachtung. Verschiedene Modelle, die auch unterschiedliche Optimierungsverfahren erfordern, werden vorgestellt. Die Darstellung von Entscheidungssituationen, die von mehreren Parteien bestimmt werden, führt in Abschnitt 1.3 vgl. S. 29 zum Begriffdes Gleichgewichts. Abschnitt 1.4 vgl. S. 34 beschäftigt sich mit stochastischen Modellen, die wir in diesem Buch aber nicht weiter vertiefen werden. 1.1 Fragestellungen des Operations Research Operations Research (OR) steht als Oberbegrifffür eine Reihe von mathematischen Verfahren, die für wirtschaftswissenschaftliche Zwecke eingesetzt werden. Viele dieser Verfahren wurden im zweiten Weltkrieg in den USA und Großbritannien entwickelt - es ging darum, militärische Operationen zu planen und auch zu verbessern. Nach dem Krieg wurde bald klar, dass die entwickelten Algorithmen sich ebenso für viele Fragestellungen in Unternehmen eigneten. Daraus resultiert die im Deutschen verwendete Bezeichnung „Unternehmensforschung“; treffendere Bezeichnungen wie Planungsrechnung haben sich nicht durchsetzen können. Auch Verfahren, die deutlich älter sind und sich z.B. mit Namen wie Cournot oder Leontief verbinden, werden heute zum Operations Research gezählt. Anwendungsgebiete sind etwa: • Produktionsplanung • Transportprobleme 11 <?page no="12"?> 1 Einführung • Flussprobleme • Routenplanung • Verschnittprobleme • Investitionsentscheidungen • Lagerhaltung • Maschinenbelegungsplanung • Warteschlangen • Marktgleichgewichte Diese Fragestellungen zeigen einige Gemeinsamkeiten, so etwa die Notwendigkeit, eine optimale Entscheidung zu treffen. Trotz unterschiedlicher betrieblicher Anwendungsgebiete gibt es somit strukturelle Ähnlichkeiten. Das Operations Research stellt universelle Lösungsmöglichkeiten bereit, die erfordern, dass die verschiedenen Fragestellungen in eine standardisierte Form gebracht werden, z.B. die Darstellung in Graphen oder die Formulierung als lineares Optimierungsproblem. Eine Abgrenzung dessen, was zum Operations Research gehört und was nicht, ist in einem präzisen Sinne kaum möglich. Dies gilt sowohl in inhaltlicher wie in methodischer Hinsicht. So sind die Grenzen zu Teildisziplinen der Betriebswirtschaftslehre wie Produktion und Logistik (oder - zeitgemäßer - dem Operations Management) ebenso fließend wie zu Formalwissenschaften wie der Wahrscheinlichkeitstheorie und Statistik oder der konvexen Analysis. 1.1.1 Modellierung Die Behandlung mit Verfahren des Operations Research setzt also den Übergang von der realen Welt in ein mathematisches Modell Glossar voraus. Wir können die Modellierung eingebettet sehen in einen Prozess, der besteht aus • der Formulierung und Formalisierung des Problems, • der Durchführung des Verfahrens, • der Validierung des Ergebnisses. Formulierung des Problems Zunächst wird in der Regel in Worten beschrieben, worin eigentlich das Problem besteht und was als Lösung anzusehen ist. Teilweise werden auch grafische Hilfsmittel zur Beschreibung verwendet. Hier ist zu beachten, dass alle 12 <?page no="13"?> 1.1 Fragestellungen des Operations Research Informationen, die für die Problemlösung erforderlich sind, auch vorliegen. Für die Entscheidung irrelevante Daten sollten nicht aufgenommen werden. Bei der Modellierung entsteht dadurch bewusst ein vergröbertes Abbild der realen Welt. Es folgt dann die Beschreibung in mathematischer Form durch die Angabe von Mengen, Variablen, Relationen etc., bei der alle Zusammenhänge eindeutig formuliert sind. Die Beschreibung sollte sich auch daran orientieren, welche Lösungsverfahren die Mathematik bzw. das Operations Research bereitstellen können. Dazu kann es eventuell sinnvoll sein, weitere Vereinfachungen vorzunehmen, insbesondere auch um die Komplexität zu reduzieren. Durchführung des Verfahrens Die Durchführung des mathematischen Verfahrens stützt sich nur noch auf das mathematische Modell, abstrahiert also praktisch von den realen Gegebenheiten. Es werden nach Möglichkeit bekannte Algorithmen angewandt, um zu einer Lösung in mathematischer Formulierung zu kommen. Das Operations Research stellt für eine große Menge wirtschaftswissenschaftlicher Fragen geeignete Verfahren bereit. Validierung der Ergebnisse Schließlich ist die mathematische Lösung eines Problems mit der ursprünglichen Fragestellung zu konfrontieren. Kritische Fragen können etwa sein: • Ist dieses Ergebnis tatsächlich eine Antwort auf die gestellte Frage? • Kann die Lösung verwendet werden, z.B. wenn sie negative oder nichtganzzahlige Werte hat? • Würden im Modell nicht berücksichtigte Parameter das Ergebnis maßgeblich beeinflussen? • Wie ändert sich die Lösung, wenn es z.B. kleine Ungenauigkeiten in den Parametern gibt? Unbefriedigende Antworten auf solche Fragen können es erfordern, die Modellierung noch einmal Schritt für Schritt in modifizierter Form durchzuführen. Die Beispiele, die in diesem Buch immer wieder als Illustration auftauchen werden, setzen oft erst mit dem mathematischen Modell ein. Wir werden aber des öfteren auch Anwendungsbeispiele sehen, deren erster Lösungsschritt die Modellierung ist. 13 <?page no="14"?> 1 Einführung 1.1.2 Algorithmen Kern des Operations Research sind nun natürlich nicht etwa die standardisierten Fragestellungen, sondern die Lösungsverfahren. Die genaue Beschreibung der Verfahrensweise, Schritt für Schritt, wie in einem Kochrezept, wird als Algorithmus Glossar bezeichnet. Man nennt solche Verfahren • effektive Algorithmen, falls sie unter Ausnutzung der jeweiligen mathematischen Struktur nach endlich vielen Schritten zu einem Ergebnis führen. Das Erreichen dieser Lösung ist zwar sicher, es kann aber sein, dass solche Verfahren beliebig ineffizient sind, d.h. nicht in akzeptabler Zeit oder mit vertretbarem Aufwand zum Ergebnis kommen. Algorithmen, die effektiv und effizient sind, sind erstrebenswert. • heuristische Algorithmen, die nicht bei einer Charakterisierung von Optima ansetzen, sondern lediglich auf Plausibilitätsüberlegungen für eine Zielwertverbesserung basieren. Sie führen - zumeist in schwach strukturierten Problemen - vergleichsweise schnell zu einer Verbesserung der Anfangslösung, enden aber oft mit einer suboptimalen Lösung. Aus betriebswirtschaftlicher Sicht kann die Einsparung durch den Verzicht auf aufwändige Algorithmen oft den Verlust durch die Suboptimalität aufwiegen. • Simulations-Algorithmen, falls sie den Suchraum mit Methoden erforschen, die Zufallselemente enthalten, z.B. eine reine Zufallssuche. Die Ergebnisse sind in vielen Fällen erstaunlich gut. Wir wollen die verschiedenen Arten von Verfahren an einer bekannten Fragestellung erläutern. Die Problemformulierung ist - wie bei vielen Problemen des Operations Research - eine leicht erfassbare, etwas spielerische. Meist lassen sich aber „tatsächliche“ betriebliche Probleme ganz ähnlich lösen. Das Problem des Handlungsreisenden (Travelling Salesman Problem Glossar ) ist ein solches klassisches Beispiel. Eine Formulierung kann so aussehen: Ein Geschäftsmann will in zehn Städten Deutschlands Besprechungstermine festlegen und jeweils mit dem Zug anreisen. Anschließend will er zum Ausgangspunkt (Bielefeld) zurückfahren. Alle Städte sind in Abbildung 1.1 eingezeichnet. Die Reihenfolge der Besprechungstermine soll nun so gewählt werden, dass die Gesamtfahrzeit möglichst gering gehalten wird. Die Fahrzeit zwischen den Orten (in Stunden) ist der folgenden Tabelle zu entnehmen. 14 <?page no="15"?> 1.1 Fragestellungen des Operations Research Abbildung 1.1: Die 11 Städte des Rundreiseproblems HH HRO BI B BN KS L F N S M Hamburg 0 3 2 4 4 2 5 4 4 5 6 Rostock 3 0 5 3 8 5 5 7 8 8 10 Bielefeld 2 5 0 5 3 2 4 4 4 5 6 Berlin 4 3 5 0 7 4 2 6 6 7 7 Bonn 4 8 3 7 0 4 6 2 4 3 5 Kassel 2 5 2 4 4 0 4 1 1 3 4 Leipzig 5 5 4 2 6 4 0 4 5 6 6 Frankfurt 4 7 4 6 2 1 4 0 2 1 4 Nürnberg 4 8 4 6 4 1 5 2 0 2 2 Stuttgart 5 8 5 7 3 3 6 1 2 0 2 München 6 10 6 7 5 4 6 4 2 2 0 Das Problem des Handlungsreisenden besitzt eine Reihe von ökonomisch relevanten Anwendungen und Verallgemeinerungen. Beispiele sind: • Maschinenbelegungsplanung, Produktionsplanung: Auf einer Maschine sollen nacheinander n Aufträge ausgeführt werden; die Umrüstung der Maschine zwischen zwei Auftragsausführungen ist abhängig von der Art der beiden Aufträge. Gesucht ist eine Abarbeitungsreihenfolge, die minimale Gesamt-Umrüstkosten verursacht. • Chip-Herstellung: Auf einem Mikro-Chip müssen durch winzige Drähte Kontakte ver- 15 <?page no="16"?> 1 Einführung bunden werden (oft mehrere tausend Stück). Gesucht ist eine - kurzschlussfreie - Routenwahl für die Drähte auf dem Chip, die vorgegebene Streckenführungen berücksichtigt und dabei minimalen Drahtverbrauch (d.h. minimale Wärmeentwicklung) verursacht. Zur Lösung von Rundreiseproblemen stehen etliche Strategien zur Auswahl, von denen ein paar hier anhand des obigen Beispiels kurz hinsichtlich ihrer Vor- und Nachteile besprochen werden sollen: • Komplette Enumeration als effektives Verfahren • Heuristiken zur Anfangslösung und zur lokalen Verbesserung vgl. S. 17 • Stochastische Suchverfahren vgl. S. 19 Komplette Enumeration Bei der Kompletten Enumeration Glossar wird jede der möglichen Strecken und ihre Dauer bestimmt. Bei diesem Lösungsverfahren ist ein wesentliches Problem die systematische Abarbeitung aller Lösungskandidaten. Sollen beispielsweise nur fünf Städte besucht werden, so ergeben sich die in Abbildung 1.2 dargestellten zwölf wesentlich verschiedenen Routen. Die kürzeste Strecke BI - HH - B - M - BN - BI kann in 21 Stunden bewältigt werden. Ein Nachteil der kompletten Enumeration ist hier, dass für größere Städtezahlen der Rechenaufwand, selbst bei systematischem Abzählen, schnell in Bereiche steigt, die auch mit Computerunterstützung nicht mehr vertretbar sind. So gibt es bei festem Startpunkt und n Städten eine überraschend große Anzahl von insgesamt (n−1)·(n−2)·(n−3)·· · ··3·2·1 = (n−1)! verschiedenen Rundreisen. Sind - wie im Beispiel - alle Distanzen unabhängig von der Richtung, so reduziert sich diese Zahl auf „lediglich“ (n−1)! 2 Rundreisen. Im Beispiel mit elf Städten muss also aus 10! = 3.628.800 Rundreisen (bzw. bei symmetrischen Distanzen aus 1.814.400 Rundreisen) die kürzeste gefunden werden. Viele Anwendungen des Rundreiseproblems gehen sogar von erheblich größeren Werten für n aus. Es ist klar, dass komplette Enumeration hier völlig versagt. Glücklicherweise ist das Travelling Salesman Problem eine nicht sehr typische Aufgabenstellung. Viele andere Fragen lassen sich durch effektive Algorithmen auch durchaus effizient lösen. 16 <?page no="17"?> 1.1 Fragestellungen des Operations Research Abbildung 1.2: Das Rundreiseproblem mit fünf Städten Heuristiken Heuristiken Glossar versuchen, einfachste oberflächliche Strukturen des Problems auszunutzen. Dabei werden oft sogenannte gierige Algorithmen oder Verfahren der lokalen Suche verwendet. • Gierige Verfahren ermitteln eine Lösung, indem sie unmittelbar erkennbare Vorteile ausnutzen. In manchen Fällen, die wir kennen lernen werden, ist damit tatsächlich ein Optimum zu finden. Oft aber resultieren aus den anfänglichen Vorteilen negative Konsequenzen in der End-Gestaltung dieser Lösung. Bei vielen Problemstellungen lässt sich dieser Ansatz verwenden, um eine gültige Anfangslösung zu ermitteln, 17 <?page no="18"?> 1 Einführung die dann mit anderen Verfahren weiter optimiert wird. • Lokale Suchverfahren verbessern eine gefundene Anfangslösung nur in manchen Aspekten und wiederholen eine derartige Modifikation an den sukzessive gefundenen Lösungen, bis keine Verbesserung mehr möglich ist. Oftmals sind sie als gierige Verfahren ausgelegt, d.h. es wird die beste unter den Nachbarlösungen ausgewählt. Ein Nachteil ist, dass oft suboptimale Lösungen gefunden werden, die nicht mehr lokal verbessert werden können. Beispiele für Heuristiken im Rundreiseproblem • Eröffnungslösung nach der Methode des besten Nachfolgers: Die Rundreise wird mit einer festen Stadt (etwa Bielefeld) begonnen. Die nächste Stadt wird dann festgelegt als diejenige, die von der ersten Stadt die geringste Entfernung hat, die dritte Stadt als diejenige der noch nicht besuchten Städte, die von der zweiten Stadt die geringste Entfernung hat usw. Abbildung 1.3 gibt zwei mögliche Eröffnungslösungen nach dieser Methode an. Der Vorteil liegt in der leichten Handhabbarkeit des Verfahrens. Als nachteilig erweist sich, dass die gierige Strategie bei den letzten zu besuchenden Städten „Lehrgeld“ in Form hoher Distanzen zahlt. Abbildung 1.3: Eröffnungslösungen nach Methode des besten Nachfolgers Variante: Eröffnungslösungen nach der Methode der sukzessiven Einbeziehung. Aus einer „Rundreise“ zwischen zwei Städten (etwa Bielefeld und Hamburg) wird sukzessive durch Hinzufügen von Städten eine Rundreise zwischen 3, 4, 5, . . . Städten. Die jeweils neu hinzuzufügende Stadt 18 <?page no="19"?> 1.1 Fragestellungen des Operations Research bzw. die Stelle der Rundreise, an der die Stadt eingefügt wird, wählt man so, dass die Gesamtlänge der neu entstehenden Rundreise möglichst gering ist. Diese Methode dürfte etwas bessere Ergebnisse erzielen, aber auch sie hat die oben beschriebenen Vorbzw. Nachteile. • Deterministische, lokale Verbesserungsverfahren: Aus einer Anfangslösung versucht man eine bessere Lösung zu ermitteln, indem man beispielsweise zwei Strecken einer Rundreise so durch zwei neue Strecken ersetzt, dass sich eine möglichst große Verringerung der Gesamtweglänge ergibt. Abbildung 1.4 illustriert dies anhand der Ersetzung der Strecken Bonn - München und Stuttgart - Nürnberg durch die Strecken Bonn - Stuttgart und München - Nürnberg. Abbildung 1.4: Verbesserung der Startlösung durch Änderung zweier Strecken Auch dieses Verfahren ist - zumindest auf dem Computer - leicht zu implementieren, besitzt aber den Nachteil, dass man, falls keine bessere Lösung als die aktuelle durch das Austauschverfahren erzielt werden kann, bei einer in der Regel suboptimalen Rundreise „stecken bleibt“. Das Verfahren besitzt diesbezüglich die typischen Nachteile lokaler Suchverfahren. Stochastische Suchverfahren Stochastische Suchverfahren sind z.B. Random Search, Genetische Algorithmen oder Simulated Annealing, die die Menge der zu vergleichenden Alternativen geeignet zufällig durchlaufen, ohne eine komplette Enumeration vorzunehmen. „Neue“ Lösungen werden dann z.B. durch geringfügige zu- 19 <?page no="20"?> 1 Einführung fällige Modifikationen oder auch durch die der Evolution nachempfundene Rekombination alter Lösungen (Genetische Algorithmen) gefunden. Für das Elf-Städte-Rundreiseproblem wurde die in Abbildung 1.5 dargestellte (vermutliche) Optimallösung mittels Simulated Annealing ermittelt. Abbildung 1.5: Mit Simulated Annealing ermittelte Rundreise der Länge 25 20 <?page no="21"?> 1.2 Optima 1.2 Optima Im Zentrum betriebswirtschaftlicher Fragestellungen steht in der Regel die Suche nach einer optimalen Lösung. Zielwerte sind etwa der maximal erreichbare Gewinn oder minimal realisierbare Kosten. So beschäftigen sich auch die meisten Algorithmen des Operations Research mit dem Ermitteln von optimalen Lösungen. Ein Optimierungsproblem Glossar ist durch die Angabe folgender Bestimmungsstücke mathematisch festgelegt: • eine Menge Z der zulässigen Lösungen (d.h. Alternativen, mögliche Aktionen, Preisfestlegungen etc.), • eine reellwertige Funktion c(x), x ∈ Z, welche die „Kosten“ (oder eine andere Zielgröße) angibt. Formal zu lösen (bei Formulierung als Minimierungsproblem) ist also c(x) ! = min x∈Z x ∗ ∈ Z heißt optimal, falls c(x ∗ ) ≤ c(x) ∀x ∈ Z. Ein Maximierungsproblem wäre entsprechend mit „ max“ statt „ min“ zu formulieren. Die meisten Verfahren - und alle in diesem Buch besprochenen - setzen eine reellwertige Zielfunktion voraus. Eine solche Bewertung ist in manchen Fällen weder einfach noch natürlich, nämlich dann, wenn gleichzeitig nach mehreren Kriterien optimiert werden soll. Ein Lösungsansatz dazu wird in Abschnitt 1.2.5 vgl. S. 28 vorgestellt. Es stellen sich unmittelbar die folgenden Fragen: • Ist das Problem überhaupt lösbar? Dies wäre nicht der Fall, wenn - Z eine leere Menge ist, - c(·) über Z nicht nach unten beschränkt ist, - c(·) zwar über Z nach unten beschränkt ist, aber keine dieser Schranken realisiert werden kann. Im Falle der Lösbarkeit können dann eine oder mehrere optimale Lösungen vorliegen. • Wie bestimmt man gegebenenfalls eine optimale Lösung? Hier ist nach einem konkreten, schematisierten Rechenverfahren, also dem Algorithmus gefragt. Dieses sollte sich für praktische Zwecke bequem in ein Computerprogramm überführen lassen. Wie ein solcher Algorithmus aufgebaut ist, hängt maßgeblich von der Art des Suchraumes Z ab. Kriterien sind beispielsweise: 21 <?page no="22"?> 1 Einführung • Z ist ein Kontinuum. Hier wird man nach Möglichkeit Methoden der Differentialrechnung verwenden. • Z ist endlich oder abzählbar unendlich. Solche Probleme der diskreten bzw. kombinatorischen Optimierung lassen sich z.B. durch heuristische Suchverfahren lösen. Verschiedene Arten von Optimierungsproblemen sollen auf den nächsten Seiten anhand von Beispielen skizziert werden. Dieser Aufteilung von Problemklassen wird das Buch in den Kapiteln 2 bis 5 folgen. 1.2.1 Diskrete Optimierungsprobleme Beispiel 1.1: Wir wollen mit der Eisenbahn von Münster nach Konstanz reisen. Die Fahrt soll nicht allzu teuer und möglichst schnell beendet sein. Gesucht ist also ein optimaler Weg von Münster nach Konstanz. Auf der Streckenkarte der IC- Züge der Deutschen Bahn vgl. Abbildung 1.6 sehen wir viele Verbindungsmöglichkeiten. Konkrete Fragestellungen könnten sein: • Wie lang ist der kürzeste Weg von Münster nach Konstanz (in Kilometern)? • Wie lange dauert die kürzeste Fahrt von Münster nach Konstanz (in Stunden)? • Wie lange müssen wir reisen, wenn wir unbedingt am Rhein entlang fahren wollen? • Um welche Zeit verlängert sich die Reise, wenn die Teilstrecke Bonn - Koblenz gesperrt ist? Man erkennt in diesen Fragestellungen verschiedene Zielfunktionen (Streckenlänge, Zeit), aber auch verschiedene zulässige Lösungen (gesamtes Netz, bevorzugte Teilwege, eingeschränktes Netz). Denkbar sind neben der reinen Routensuche auch ganz andere Fragestellungen: • Weil ich in der Nacht fahre und meinen Schlaf brauche, soll die Fahrt möglichst lange dauern. • Der Bahn-Fan möchte in kurzer Zeit möglichst viele verschiedene Strecken bereisen. • Das Verkehrsministerium interessiert sich für die maximale Kapazität im Netz. • Ein Reisebüro möchte eine Deutschlandrundreise (Berlin, Heidelberg, 22 <?page no="23"?> 1.2 Optima 35 31 32 55 62 50 35 35 50 31 32 55 61 35 60 51 51 26 26 26 26 26 26 26 27 27 30 27 76 75 27 30 30 31 31 30 30 31 32 31 31 31 35 51 51 56 56 56 60 61 62 62 62 77 77 77 82 88 89 95 99 99 56 56 55 55 55 55 FSX FSX 26 90 32 Regensburg Plattling Passau Ingolstadt M-Pasing Ulm Kempten Immenstadt Stuttgart Heidelberg Karlsruhe Baden-Baden Offenburg Freiburg Homburg Saarbrücken Darmstadt Flughafen Fulda Erfurt Leipzig Kassel- Wilhelmshöhe Göttingen Braunschweig Magdeburg Bielefeld Bremen Lübeck Oldenburg Puttgarden Kiel Neumünster Heide Husum Niebüll Westerland Hamm Düsseldorf Essen Boch- Hagen Solingen Bonn Koblenz Kaiserslautern Basel Bad Bf Basel SBB Chur Zürich Kufstein Salzburg Linie im 1-Stunden-Takt Linie im 2-Stunden-Takt Kobenhavn Erlangen Lichtenfels Naumburg Eisenach (Holst) Würzburg Memmingen Oberstdorf Garmisch- Partenkirchen Mittenwald Freilassing Innsbruck Schwerin Büchen Stralsund Potsdam Frankfurt (O) Warszawa Wuppertal Halle Venezia, Roma Marktredwitz Oldenburg (Oldb) 2) 3) Krakow Bad Schandau Weimar Verona, Milano Mainz Worms B-Wannsee B-Spandau Wittenberge Hanau Wien Westbf Wien Westbf Linz Paris Est Paris Est Gütersloh HH Dammtor HH-Harburg Itzehoe Klagenfurt, Zagreb, Beograd Ljubljana Praha Wien Südbf Bratislava Wolfsburg 4) Bad Oeyn- Göppingen Plochingen Singen Günzburg Minden Herford Fernbf F (M) Seefeld i. T. 5) 6) 7) 8) 8) 9) 9) 6) 6) 9) 6) hausen 1) Flugh. Fernbf Düsseldorf Chemnitz Uelzen Ludwigslust Stendal Budapest keleti pu. Cottbus Strasbourg Pforzheim Ostseebad Binz Rostock Bad Kleinen Bützow Greifswald Pasewalk Angermünde Dessau Weißenfels Gotha Bebra Warnemünde Celle Lüneburg Kreiensen Gießen Marburg Konstanz Bruchsal Ansbach Buchloe Flensburg Schleswig Aarhus Rendsburg Triberg Linie 31, 60 Remagen Andernach Bingen Lindau Friedrichshafen Biberach Ravensburg Murnau Weilheim Bad Bentheim Leer Emden Emden Außenhafen Norddeich Mole Meppen Lingen Wittlich Cochem Bullay Trier Luxembourg S o e s t L i p p s t a d t P a d e r b o r n A l t e n b e k e n W a r b u r g Köthen Leipzig/ Halle Flugh Nienburg Crailsheim Aalen (Enz) Bensheim Weinheim Augsburg Traunstein Linie 75, 77 Berchtesgaden Bolzano/ Bozen Linie 26, 95 Salzwedel G e l s e n k i r c h e n W a n n e - E i c k e l R e c k l i n g h a u s e n Schiphol Neustadt Kehl Donaueschingen Rosenheim 5) 2) Rheine Laufwegen sowie Systemhalte außerhalb des Kernnetzes sind nicht vollständig dargestellt. EC/ IC-Züge mit abweichenden Linie im 4-Stunden-Takt Einzelne Züge EC/ IC-Bedienung Systemhalte EC-/ IC-/ IR-Linien Linie 30, 88, FSX Lübben Lübbenau Züssow 3) Hamburg Hbf HH-Altona 4) Dortmund Hannover Frankfurt (M) Hbf Mannheim München Hbf Nürnberg M Ost Duisburg Zwischen Garmisch-Partenkirchen FSX (Franken-Sachsen-Express) Züge verkehren zwischen Züge verkehren zwischen Züge verkehren zwischen und Seefeld i T nur saisoniert durchgeführt von DB Regio im Berlin-Dortmund-Berlin Emden Außenhafen-Emden- Paris Est-Strasbourg bzw. Emden Außenhafen täglich 23.03.- Saarbrücken-Paris Est- 05.11.2007, übrige Zeit saisoniert nur bis 09.06.2007 im Auftrag von DB Fernverkehr nur an FR und So Helmstedt Papenburg Delmenhorst kreuz b r u n n e n Süd- B G e s u n d - B Berlin Hbf Dresden Hbf Neustadt Dresden- Köln Zinnowitz Seebad Heringsdorf B Ostbf Züge führen Kurswagen von/ nach Dagebüll Mole Linie 32 Linie 27, 62 Linie 50, 55, 76 Rostock-Warnemünde nur 02.04.-31.10.2007 L 51 hat Anschluss auf die der Usedomer Bäderbahn (UBB) Insel Usedom mit den Zügen Plauen Hof Zwickau Freiberg Budapest keleti pu. Budapest keleti pu. M ü l h e i m O b e r h a u s e n Osnabrück Münster Verden Linie 28 Bitterfeld Jena Paradies Saalfeld Innsbruck Vaihingen L Witten- Bayreuth berg Szczecin Linie 56, 61, 82, 89 um Linie 35, 99 Linie 51, 90 1) 7) L 31 zwischen Hamburg Hbf und Puttgarden nur 31.03. - 28.10.2007 Brandenburg Gültig vom 20. 12. 2006 bis 08. 12. 2007 Redaktion: DB Fernverkehr AG P.TBF 11 We Stand: November 2006 DB Netz AG, Zentrale, I.NVII 4 (K) Kartografie: Im Galluspark 23, 60326 Frankfurt am Main Karten EC-/ IC-Netz 2007 Abbildung 1.6: IC-Netz der Deutschen Bahn Hamburg, München, Münster, Dresden) anbieten und interessiert sich für den günstigsten Einkaufspreis. All dies führt zu Modellen, die sich mit Methoden des Operations Research optimal lösen lassen. Viele Gegebenheiten der Realität lassen sich wie ein Bahnnetz in grafischer Form darstellen. Wie die Modellierung durchgeführt wird und wie dann Op- 23 <?page no="24"?> 1 Einführung timierungsprobleme zu lösen sind, wird in Kapitel 2 vgl. S. 41 ausführlich erklärt. 1.2.2 Lineare Optimierungsprobleme Beispiel 1.2: Eine Firma stellt zwei Produkte her, die in drei Stufen in Handarbeit gefertigt werden müssen. In der ersten Stufe werden für das Produkt A zwei, für das Produkt B eine Mann-Stunde benötigt. Der zweite Schritt benötigt ebenfalls zwei Mann-Stunden für das Produkt A, aber sogar drei Mann-Stunden für Produkt B. In der letzten Stufe ist je eine Mann-Stunde für Produkt A und für Produkt B notwendig. Die Kapazität in der ersten Stufe sind 12 Mann- Stunden, in der zweiten 18 und in der dritten 8 Mann-Stunden. Die Firma verdient mit Produkt A 40 e pro Stück, mit Produkt B 30 e. Wie viel Stück von jedem Produkt sollten hergestellt werden (im Rahmen der Möglichkeiten), um einen möglichst hohen Gewinn zu erzielen? Bezeichnet man mit x A die Anzahl der hergestellten Stücke von Typ A und mit x B die Anzahl von Typ B, so kann man den Gewinn durch die Formel 40 · x A + 30 · x B berechnen. Dieser Wert soll möglichst groß sein. Die Zuordnung wird als Zielfunktion bezeichnet. Hier können für x A und x B allerdings nicht beliebig große Werte eingesetzt werden, da die Produktion ja eingeschränkt ist durch die zur Verfügung stehenden Mann-Stunden. So ergibt sich etwa aus der ersten Stufe, dass 2 · x A + 1 · x B maximal den Wert 12 ergeben darf, also 2 · x A + 1 · x B ≤ 12. Eine solche Einschränkung bezeichnet man als Nebenbedingung oder Restriktion. Die beiden anderen Stufen der Produktion ergeben die Nebenbedingungen 2x A + 3x B ≤ 18 und x A + x B ≤ 8. Eine eigentlich immer vorausgesetzte Nebenbedingung fordert noch, dass keine negativen Mengen zu produzieren sind, also x A ≥ 0 und x B ≥ 0. Diese Forderung nennt man Nichtnegativitätsbedingungen. Zusammengefasst lässt sich das Problem darstellen in der Form: 40x A + 30x B ! = max 2x A + x B ≤ 12 2x A + 3x B ≤ 18 x A + x B ≤ 8 x A , x B ≥ 0 24 <?page no="25"?> 1.2 Optima Eine Möglichkeit zur Lösung dieses Optimierungsproblems ist es, den zulässigen Bereich grafisch darzustellen und so ein Optimum zu ermitteln. Für diesen Fall sind die Nebenbedingungen in Abbildung 1.7 dargestellt. Die zulässigen Lösungen müssen in dem Bereich gesucht werden, der links von bzw. unterhalb der dünn eingezeichneten Geraden liegt (sowie über der x A - und rechts von der x B -A chse ). Die dicker eingezeichnete Gerade repräsentiert alle Kombinationen von x A und x B die zu einem bestimmten Zielfunktionswert führen. Je weiter diese Gerade nach oben/ rechts verschoben wird, desto größer ist dieser Wert. Zur Ermittlung der Lösung wird diese Gerade nun so weit verschoben, bis gerade noch ein Wert des zulässigen Bereichs berührt wird. Das Optimum liegt in einer Ecke des zulässigen Bereichs, hier ist die Lösung x A = 4, 5 und x B = 3. 1 2 3 4 5 6 7 8 9 10 5 10 40x A + 30x B x B x A x A + x B ! 8 2x A + x B ! 12 2x A + 3x B ! 18 Abbildung 1.7: Lineares Optimierungsproblem in grafischer Darstellung Dieses Vorgehen lässt sich verallgemeinern. Sind in einem Optimierungsproblem sowohl die Zielfunktion als auch die Nebenbedingungen linear, so ist der zulässige Bereich - auch bei mehr als zwei Variablen - der Durchschnitt von Halbebenen und damit konvex. Die Form des zulässigen Bereichs wird als Simplex bezeichnet. Die optimale Lösung liegt immer in einer Ecke. Wir werden in Kapitel 3 vgl. S. 83 den Simplex-Algorithmus vorstellen als ein Verfahren, das ein Optimum dadurch bestimmt, dass in möglichst effizienter Weise Ecken bestimmt und auf Optimalität überprüft werden. 25 <?page no="26"?> 1 Einführung 1.2.3 Ganzzahlige Optimierungsprobleme Beispiel 1.3: Ein prominentes Beispiel der ganzzahligen Optimierung ist das sogenannte „ Rucksack-Problem“. Die Benennung resultiert daraus, dass man die Problemstellung anhand der folgenden Situation verdeutlichen kann. Ein Wanderer kann in seinem Rucksack vier Gegenstände mitnehmen, deren Mitnahme für ihn jeweils mit dem Nutzen 3, 4, 2 bzw. 3 verbunden ist und die die Gewichte 3, 2, 4 bzw. 1 besitzen. Auf welche Weise kann der Wanderer seinen Nutzen maximieren, wenn er höchstens 9 Gewichtseinheiten einpacken darf ? x 1 , x 2 , x 3 , x 4 ∈ {0, 1} geben an, ob der Wanderer Gegenstand 1, . . . , 4 einpackt (x i = 1) oder nicht (x i = 0). Das Gewicht des Rucksacks beträgt dann 3x 1 + 2x 2 + 4x 3 + x 4 und darf 9 nicht überschreiten. Der Gesamtnutzen der mitgenommenen Gegenstände beträgt 3x 1 + 4x 2 + 2x 3 + 3x 4 und sollte unter der Gewichtsrestriktion maximiert werden. Eine echte Anwendung, bei der es sogar mehr als eine Gewichtsrestriktion gibt, lässt sich im Bereich Investitionsprogrammplanung finden. Beispiel 1.4: Es muss entschieden werden, welche von n Projekten (Investitionsmöglichkeiten) mit Kapitalwerten c 1 , . . . , c n in Angriffgenommen werden sollen, wenn Projekt j in Periode i Kosten a ij verursacht und insgesamt in Periode i ein Budget der Höhe r i für alle Projekte zur Verfügung steht. Planungszeitraum seien die Perioden 1, . . . , m. Das Rucksack-Problem lautet dann: Maximiere c 1 x 1 + c 2 x 2 + · · · + c n x n unter den Budget-Perioden-Restriktionen 1. Periode: a 11 x 1 + a 12 x 2 + · · · + a 1n x n ≤ r 1 2. Periode: a 21 x 1 + a 22 x 2 + · · · + a 2n x n ≤ r 2 . . . . . . m-te Periode: a m1 x 1 + a m2 x 2 + · · · + a mn x n ≤ r m x 1 ∈ {0, 1}, . . . , x n ∈ {0, 1} 26 <?page no="27"?> 1.2 Optima Die Form erinnert an die eines linearen Optimierungsproblems, da sowohl Zielfunktion als auch Restriktionen lineare Funktionen bzw. (Un-)Gleichungen sind. Allerdings sind die Entscheidungsvariablen binär, d.h. x i ∈ {0, 1}. Damit wird die Lösung nicht etwa einfacher, wie man vermuten könnte, sondern tatsächlich komplizierter. Allgemein spricht man von einem Problem der „ganzzahligen linearen Programmierung“, wenn Zielfunktion und Restriktionen linear sind, die Forderung „ x i ≥ 0 ∀i“ jedoch zu „ x i ∈ N 0 ∀i“ verschärft wird. Bei Vernachlässigung der Ganzzahligkeit liegt dann ein gewöhnliches lineares Programm vor, das mit Hilfe des Simplex-Algorithmus gelöst werden könnte. Man beachte jedoch, dass eine (optimale) Ecke dann nicht zulässig für das eigentliche Problem zu sein braucht. Daher führt eine solche Vorgehensweise nur in Zusammenhang mit weiteren Überlegungen zu einem iterativ arbeitenden heuristischen Verfahren (Schnittebenenverfahren, Branch-and- Bound-Techniken). Wir werden mögliche Lösungsverfahren in Kapitel 4 vgl. S. 121 kennen lernen. 1.2.4 Nichtlineare Optimierung Oft bietet es sich an, im Modell Funktionen so zu vereinfachen, dass lineare Zusammenhänge angegeben werden können. Wenn das für Zielfunktion und Nebenbedingungen vertretbar ist, entstehen leicht lösbare Probleme der linearen Optimierung. Doch in vielen Fällen würde durch die Linearisierung das Problem so verfälscht, dass die vermeintlich optimale Lösung die Konfrontation mit der Realität nicht verträgt. Beispiel 1.5: Wenn ein Zusammenhang etwa nur in der Form f(x) = x 2 − sin x + 1 e x + 1 dargestellt werden kann, lässt sich schwerlich ein Optimum mit der linearen Optimierung finden. Angenommen, wir suchen das Minimum dieser Funktion im Bereich von 0 bis 1. „Einfach“, sagt der mathematisch vorgebildete Leser. Man müsste doch nur die Ableitung bilden und gleich 0 setzen, dann wäre zumindest ein Kandidat für die Lösung vorhanden. Und dann wäre noch der Rand, also die Funktionswerte von 0 und 1 zu überprüfen. 27 <?page no="28"?> 1 Einführung Die Ableitung der Funktion lautet f ′ (x) = 2x − cos x − 1 e x . Wer daraus einfach algebraisch die Nullstelle(n) ermittelt, darf sich getrost als genial bezeichnen. Tatsächlich findet man hier eine Nullstelle wohl nur numerisch (der Wert liegt in der Nähe von 0,656). Welche verschiedenen Vorgehensweisen es für solche Fälle nichtlinearer Optimierung gibt, wird in Kapitel 5 vgl. S. 161 angesprochen. 1.2.5 Multikriterielle Optimierung Sollen mehrere Kriterien gleichzeitig einen optimalen Wert annehmen, müssen wir etwas anders vorgehen. Bei den bislang diskutierten Optimierungsaufgaben wurde eine reellwertige Funktion als Zielgröße ausgezeichnet. Die weiteren Aspekte konnten dann in Form von Nebenbedingungen berücksichtigt werden. Eine Variante dieser Vorgehensweise besteht darin, mehrere R-wertige Kriteriumsfunktionen f 1 (x), . . . , f N (x) gleichzeitig zu betrachten. Zu diesen setzt man „realistische“ Zielvorgaben z 1 , . . . , z N fest. Die Minimierung der Abweichungen führt dann wieder zu einem gewöhnlichen Optimierungsproblem. Zur Umsetzung bieten sich Zielfunktionen f(x) der Form f(x) = N ∑ j=1 w j |f j (x) − z j | α ! = m in oder f(x) = max w j |f j (x) − z j | ! = min mit Gewichten w 1 , . . . , w N und einem geeigneten α > 0 an. Diese Methode wird als Goal Programming bezeichnet. Für eine ausführliche Diskussion sei auf Weber [1993] verwiesen. 28 <?page no="29"?> 1.3 Gleichgewichte 1.3 Gleichgewichte Optimierungsprobleme sind vollständig beschrieben durch die Angabe der zulässigen Lösungen x ∈ Z und der Zielfunktion c(x). Zu bestimmen ist dann nur ihr optimaler Wert. Häufig sind solche Entscheidungen aber unter Risiken zu treffen. Zu unterscheiden ist hierbei zwischen • Umfeldrisiken, d.h. zufallsabhängige Schwankungen im Entscheidungsrahmen wie z.B. Wettereinflüsse oder Zinsschwankungen, • Verhaltensrisiken durch die Aktionen anderer Beteiligter, z.B. Preissenkungen von Konkurrenten, Käuferverhalten oder politische Entscheidungen. Umfeldrisiken werden zumeist dadurch in das Kalkül mit einbezogen, dass für deren mögliche Zustände s ∈ S Eintretenswahrscheinlichkeiten p(s) spezifiziert werden. Zu bewerten ist in dieser Situation dann das Ergebnis von x und s, etwa durch c(x, s). Nach Bildung des Erwartungswertes c(x) = ∑ s c(x, s)p(s) erhält man dann die Zielfunktion des Optimierungsproblems. Verhaltensrisiken lassen sich so einfach nicht berücksichtigen, da Mitakteure nicht stochastisch, sondern zielgerichtet handeln. Jeder „Spieler“ wird die möglichen Strategien des anderen abzuschätzen versuchen und dann seine optimale Entscheidung treffen. Dabei wird er jedoch typischerweise nur unvollständige Informationen über die jeweilige Situation der Mitspieler besitzen. Die Analyse interaktiver Entscheidungen ist Gegenstand der Spieltheorie, mit der sich Ökonomen, Psychologen, Biologen, Politologen - und natürlich Mathematiker beschäftigen. Natürlich können in einer Entscheidungssituation auch Umfeld- und Verhaltensrisiken auftreten. Die dann von externen Zuständen abhängigen Auszahlungen werden dann wieder gemittelt. Zusätzlich kann man den „Preis“ für die Variabilität durch einen Sicherheitszuschlag berücksichtigen. Die in der Spieltheorie analysierten Konfliktfälle treten zwar vereinzelt auch bei intelligenten Gesellschaftsspielen auf, zumeist aber werden sie durch andere „Spiele“ veranschaulicht. Beispiel 1.6 (Shubikspiel): Auf einer Party wird ein 10-e-Schein nach folgenden Regeln versteigert. Beginnend beim Mindestgebot von 5 e wird in Schritten von 50 Cent gesteigert. Der Höchstbietende zahlt an den Veranstalter und erhält den 10-e-Schein, derjenige mit dem zweithöchsten Angebot entrichtet sein Gebot ebenfalls, bekommt dafür allerdings keinen Gegenwert. Das Spiel bezieht seine Dynamik 29 <?page no="30"?> 1 Einführung daraus, dass der jeweils Zweitplatzierte praktisch gezwungen ist, ein höheres Gebot abzugeben, so dass auf Dauer die Hoffnung auf einen Gewinn umschlägt in Verlustminimierungsversuche. Mathematisch interessant ist die Frage nach der optimalen Stopp-Regel, psychologisch die nach dem realen Verhalten. Ökonomisch relevanter ist das Strategieverhalten in Oligopolen. Eines der ersten Modelle hierzu war das Cournot-Dyopol. Beispiel 1.7: Zwei Anbieter teilen sich einen Markt für ein homogenes Gut. Dessen Preis- Absatz-Funktion ist gegeben durch p(y) = a − by mit a, b > 0 bei einer Gesamtabsatzmenge y = y 1 + y 2 . Die beiden Anbieter arbeiten mit der gleichen linearen Kostenfunktion c(y) = d + cy mit d ≥ 0, c > 0 und versuchen, ihren Gewinn g i (y 1 , y 2 ) = p(y 1 + y 2 )y i − c(y i ), i = 1, 2 zu maximieren Auf eine hypothetische Mengenstrategie y 0 seines Konkurrenten sucht Anbieter 1 nach der optimalen Antwort. Diese liegt dort, wo er selbst den maximalen Gewinn erzielt. Er berechnet deshalb: d dy g 1 (y, y 0 ) = d dy ((a − by 0 − c)y − by 2 − d) = a − by 0 − c − 2by = 0. Dies gilt, falls y = r(y 0 ) = a − c 2b − 1 2 y 0 . Anbieter 2 hat auf die Strategie seines Konkurrenten die gleiche Reaktionsfunktion r(·). In Kenntnis dieses Sachverhaltes möchten sich beide Anbieter orientieren am Maximum von h(y) = g 1 (y, r(y)) = g 2 (r(y), y) = ( a + c 2 − b 2 y) · y − d − cy = −d + a − c 2 y − b 2 y 2 . 30 <?page no="31"?> 1.3 Gleichgewichte Mit d dy h(y) = a − c 2 − by = 0 ergibt sich als Optimum y ∗ = a−c 2b . Die Reaktionsmenge hierauf ist r(y ∗ ) = a − c 2b − 1 2 · a − c 2b = a − c 4b . Damit ergibt sich der Preis p ∗ = a − b · 3(a − c) 4b = a + 3c 4 . Kann Anbieter 1 diese Strategie durchsetzen, dann gilt g 1 (y ∗ , r(y ∗ )) = (p ∗ − c)y ∗ − d = (a − c) 2 8b − d bzw. g 2 (y ∗ , r(y ∗ )) = (p ∗ − c)r(y ∗ ) − d = (a − c) 2 16b − d. Würde Anbieter 2 die „Mengenführerschaft“ übernehmen, dann wären die Verhältnisse natürlich genau umgekehrt, d.h. 1: 2. Wählen dagegen beide die Mengenstrategie y ∗ , d ann gilt we gen p(2y ∗ ) = c: g 1 (y ∗ , y ∗ ) = g 2 (y ∗ , y ∗ ) = −d ≤ 0, eine nicht sehr erstrebenswerte Situation. In der Mikroökonomie wird das Cournot-Gleichgewicht als Ausweg vorgeschlagen, das sich als Schnittpunkt der „Kurven“ (s, r(s)) und (r(t), t) in der (s, t)-Ebene ergibt. Als Mengengleichgewicht erhält man ˜ y 1 = ˜ y 2 = a − c 3b und ˜ p = a + 2c 3 sowie die gleichen Gewinnauszahlungen g 1 (˜ y 1 , ˜ y 2 ) = g 2 (˜ y 1 , ˜ y 2 ) = (a − c) 2 9b − d. Kommt nun Anbieter 1 auf die Idee, y 1 = a−c 2b zu wählen, Anbieter 2 aber y 2 = a−c 3b , dann erhält man p − c = 1 6 (a − c) und daraus g 1 (y 1 , y 2 ) = 1 12 · (a − c) 2 b − d und g 2 (y 1 , y 2 ) = 1 18 · (a − c) 2 b − d, d.h. beide verschlechtern sich im Vergleich zu (˜ y 1 , ˜ y 2 ). Die Anbieter werden sich daher auf die „Patt-Situation“ (˜ y 1 , ˜ y 2 ) verständigen. 31 <?page no="32"?> 1 Einführung Ökonomische Spielsituation sind oft so komplex, dass man zunächst eine angemessene Darstellung entwickeln muss. Eine Möglichkeit sind dabei Spielbäume. Sie werden insbesondere dann eingesetzt, wenn mehrere Mitspieler nacheinander Entscheidungen treffen müssen, die von den Vorentscheidungen der Mitspieler abhängig sind. An den „Blättern“ des Baumes sind die jeweiligen Nutzenwerte der Spieler abzulesen. Verhandlung Zustimmung Schließung S kein Angebot S = Streik A = Annahme S S A A A keine Schließung Angebot 1 Angebot 2 Abbildung 1.8: Spielbaum Beispiel 1.8: Ein Konzern droht mit der Schließung eines unrentablen Produktionsstandorts. Der Betriebsrat kann verhandeln oder - im Interesse der Kollegen im Gesamtkonzert (wie ein Betriebsratsmitglied es formulieren würde) - dem Plan zustimmen. Bei Zustimmung kann der Konzern nun entscheiden, ob er die Drohung tatsächlich umsetzt oder das Drohpotential für spätere Verhandlungen aufhebt. Im Verhandlungsfall könnte der Konzern zwei Angebote machen (Erhöhung der Arbeitszeit zur Steigerung der Rentabilität oder Entlassung von 20 % der Belegschaft) oder einfach kein Angebot auf den Tisch legen. In allen drei Fällen kann der Betriebsrat einen Streik ausrufen, um bessere Angebote zu erreichen, oder das Angebot annehmen (was im letzten Fall wieder zur Schließung des Werkes führen könnte). Bei Annahme der Angebote ist das „Spiel“ (zunächst) beendet, bei Streik wären weitere Verhandlungsrunden zu spezifizieren (worauf wir hier aus Komplexitätsgründen 32 <?page no="33"?> 1.3 Gleichgewichte verzichten wollen). Eine Baumdarstellung dieser Zusammenhänge - ohne Bewertung - ist in Abbildung 1.8 zu sehen. Für mehrstufige Spiele geringer Komplexität ist die Baumdarstellung ideal. Ab einem gewissen Umfang, oder wenn Entscheidungen gar nicht abwechselnd getroffen werden, ist die Übersichtlichkeit meist nicht mehr gegeben. Wir werden deshalb diese Darstellung nicht weiter vertiefen. Die hier behandelten Spielsituationen gehen von vollständiger Information aus, was natürlich in vielen Fällen unrealistisch ist. Spiele mit unvollständiger oder asymmetrischer Information (Prinzipal-Agenten-Modelle) übersteigen jedoch den Rahmen dieser Einführung. In Kapitel 6 vgl. S. 185 werden wir Fragestellungen, die sich aus vergleichsweise einfachen Spielsituationen ergeben, weiter analysieren. 33 <?page no="34"?> 1 Einführung 1.4 Stochastische Probleme des Operations Research Eine kompakte Einführung in das Operations Research muss notwendigerweise viele Fragestellungen ausklammern - eine Notwendigkeit, der sich kein Autor entziehen kann. Dies ist auch deshalb angemessen, weil das OR sich der unterschiedlichsten Modelle und mathematischen Methoden bedient und eine Kenntnis all dieser Grundlagen beim Leser nicht vorausgesetzt werden kann. In diesem Buch werden ganz überwiegend solche Problemtypen aufgegriffen, die zum einen deterministischer Natur sind und zum anderen eine Optimierungsaufgabe beinhalten. Zur Abrundung des Bildes vom Operations Research sollen nun einige Grundformen stochastischer Probleme skizziert werden. 1.4.1 Risikomodelle Risikomodelle dienen der Beschreibung von Vorgängen in der Zeit, bei denen zu unterschiedlichen zufallsabhängigen Zeitpunkten ebenfalls zufallsabhängige Eingaben oder Ausgaben erfolgen. Allgemein haben diese die Form Z(t) = Z(0) + M(t) ∑ m=1 E m − N (t) ∑ n=1 A n , t ≥ 0. Hierbei ist • Z(t) der Zustand in der Zeit, • M (t) die Zahl der Eingaben bis zum Zeitpunkt t, • E 1 , E 2 , . . . die Höhe dieser Eingaben, • N (t) die Zahl der Ausgaben bis zum Zeitpunkt t, • A 1 , A 2 , . . . die Höhe dieser Ausgaben. Damit stellt Z(t) einfach den Saldo aus Eingaben und Ausgaben unter Berücksichtigung des Anfangsbestandes Z(0) dar. Der Zeitparameter t kann dabei diskret (t ∈ N 0 ) oder stetig (t ∈ [0, ∞[) sein. Eine grafische Darstellung eines solchen Modells ist in Abbildung 1.9 zu sehen. Dieses Schema hat eine Vielzahl von Interpretationen: • Z beschreibt die Liquidität einer Unternehmung. Dann sind E m die Einzahlungen, A n die Auszahlungen. • Z beschreibt den „Ruinprozess“ zu einem Versicherungsportfolio, etwa den Einnahmen- und Ausgabenverlauf in der Feuerversicherung. Hier sind die Einnahmen (Prämien) deterministisch, nicht dagegen die Ausgaben, d.h. die Schadenserstattungen. 34 <?page no="35"?> 1.4 Stochastische Probleme des Operations Research Z(0) A 2 E 1 A 3 E 2 A 1 Abb ildun g 1.9: Ri si ko mo de ll • Z beschreibt die Regulierung eines Wasser-Reservoirs. Hier werden die Abgänge (weitgehend) deterministisch sein, nicht aber die Wasserzuflüsse. Natürlich müssen die Wahrscheinlichkeitsverteilungen für (E m ) m≥1 bzw. (A n ) n≥1 in jeder Anwendungssituation speziell modelliert werden, ebenso diejenige der Zählprozesse M (t) und N (t). Ziel der Analyse ist es dann, Aussagen über zu erwartende Höhe und Variabilität von Z(t) zu machen oder Schranken für die Wahrscheinlichkeiten anzugeben, dass der Prozess einen „grünen Bereich“ verlässt. 1.4.2 Warteschlangenmodelle Warteschlangenmodelle dienen zur Beschreibung von Bediensystemen im weitesten Sinne. Die Modelle sind dadurch gekennzeichnet, dass Kunden, Jobs etc. ein Netzwerk von parallel und/ oder sequentiell angeordneten Bedienelementen entlang festgelegter Pfade durchlaufen, bevor sie das System „abgearbeitet“ wieder verlassen. Eine grafische Darstellung dieser Anordnung könnte etwa wie in Abbildung 1.10 aussehen. Auch dieses Schema lässt sich durch eine Vielzahl von Beispielen illustrieren: • Produktionsanlagen, deren Bedienelemente die unterschiedlichen Fertigungsinseln, Transportprobleme etc. sind, • Serviceeinrichtungen, wie sie die Kundenaußenstellen von Bahn, Post, 35 <?page no="36"?> 1 Einführung Abbildu ng 1.10 : Wa rtesc hlang enm od ell Bank en etc. darstellen, • Freizeiteinrichtungen wie etwa zusammenhängende Skigebiete, bei denen die Bedienelemente Lifte, Pisten und Restaurantbetriebe umfassen. Für die Konkretisierung eines Modells im Anwendungsfall sind nicht nur die Bedienstellen und ihr Zusammenhang - die Topologie des Netzes - festzulegen, sondern auch eine Reihe von Annahmen zu treffen, nämlich über • die Ankunftsströme (Intensität), • die Leistungsfähigkeit der einzelnen Bediensysteme und ihre Abarbeitungsregel (etwa „first in - first out“), • das Routing, also die Beschreibung, welcher mögliche Weg verfolgt wird. Die Untersuchung soll dann Aussagen machen über die zu erwartende Zahl der Kunden im System, über ihre Verweildauer und über Flaschenhälse. 1.4.3 Markov-Entscheidungs-Modelle Die hiermit beschriebenen Vorgänge in diskreter Zeit sind rekursiver Natur. Der nächste Zustand des Systems hängt vom aktuellen Zustand und einer externen „Innovation“ ab, nicht jedoch von der Vorgeschichte. Zusätzlich möchte man jedoch auch jederzeit eingreifen und die Entwicklung steuern können. Formal gilt: Z t+1 = f(Z t , X t+1 , D t+1 ), t ≥ 0, 36 <?page no="37"?> 1.4 Stochastische Probleme des Operations Research wobei X t die (stochastischen) Innovationen bezeichne und D t die getroffenen Entscheidungen. Beispiele für ein solches Schema sind etwa • Lagerhaltungsmodelle, in denen Z t die Bestandsmenge eines Produktes am Ende einer Zeiteinheit (Tag, Woche etc.) bezeichne. X t+1 stellt den Verbrauch der jeweiligen Periode dar, D t+1 steht für die dann ggf. zu ordernde Bestellmenge. Ziel ist es, eine optimale Lagerhaltungspolitik zu entwickeln. • Kontrollprobleme, bei denen Z t den Wert oder Zustand eines Objekts (etwa den Dollar-Kurs des Euro), X t+1 die extern bedingte Veränderung der nächsten Periode (etwa durch Konjunkturdaten) und D t+1 die Reaktion des Kontrolleurs (etwa in Form von Zinsanpassungen durch die Zentralbank) darstellt. Eine Hauptanwendung dieser Art bildet die Steuerung von Produktionsanlagen. Durch eine geeignete Steuerungspolitik (D t ) soll (Z t ) in größtmögliche Nähe zu einem Zielwert gebracht werden. Gemeinsam ist den obigen Modell-Typen, dass sie ziemlich schnell so komplex werden, dass eine Analyse auf Basis von Modellrechnungen nicht mehr möglich ist. In einer solchen Situation greift man oft zu Simulationstechniken. Hierzu ist das Modell in einem Computerprogramm abzubilden und dann mit Eingaben aus einem geeigneten Zufallsgenerator zu „füttern“. Dies legt natürlich die Frage nahe, wie Zufall durch einen Rechner erzeugt werden kann, da dieser doch nur Rechenoperationen zu einem vorgegebenen Algorithmus ausführen kann. Tatsächlich nutzt man auch nur Pseudozufallszahlen, für die man sich Algorithmen ausdenkt, die möglichst irregulär wirkende Zahlenwerte ausgeben. Die in diesem Abschnitt aufgeführten Fragestellungen werden in der Regel in einführenden und speziellen Werken zur Wahrscheinlichkeitsrechnung und Statistik behandelt. 37 <?page no="38"?> 1 Einführung Zusammenfassung Verfahren des Operations Research dienen der Lösung betriebswirtschaftlicher Fragestellungen. Dabei wird zumeist nach Optima gesucht, etwa nach maximalem Gewinn oder minimalen Kosten. Berücksichtigt man auch das Verhalten von Partnern oder Konkurrenten, können Gleichgewichte als beste Lösungen in Frage kommen. Die Methoden, die hier nur kurz angesprochen wurden, sollen in den nächsten Kapiteln ausführlich beschrieben werden: • Optimierung in Graphen vgl. Kapit el 2, ab S. 41 • Lineare Optimierungsprobleme vgl. Kapitel 3, ab S. 83 • Ganzzahlige Optimierungsprobleme vgl. Kapitel 4, ab S. 121 • Nichtlineare Optimierungsprobleme vgl. Kapitel 5, ab S. 161 • Elemente der Spieltheorie vgl. Kapitel 6, ab S. 185 Kontrollfragen Am Ende jedes Kapitels finden Sie ein paar Kontrollfragen. Sie können diese jeweils durcharbeiten, um sicher zu sein, dass Sie die Inhalte verstanden haben. Antworten finden Sie explizit oder implizit im Text. 1. Welche Eigenschaften muss ein mathematisches Modell haben, um mit Methoden des Operations Research gelöst werden zu können? 2. Welche Arten von Algorithmen lassen sich grundlegend unterscheiden? 3. Warum ist die komplette Enumeration bei vielen Fragestellungen ineffizient oder sogar unmöglich? 4. Welche Komponenten hat ein lineares Optimierungsproblem? 5. Was unterscheidet ein Gleichgewicht von einem Optimum? 6. Warum sollte ein Anbieter nicht vom Cournot-Gleichgewicht abweichen? 7. Welche Parameter sind für ein Warteschlangenmodell zu spezifizieren? 38 <?page no="39"?> Literatur Literatur In den folgenden Kapiteln werden wir an dieser Stelle auf Literatur hinweisen, die das jeweilige Thema in irgendeiner Weise vertiefen. Hier wollen wir zunächst auf ein paar Bücher hinweisen, die die ganze Breite des Operations Research - oder zumindest den größten Teil davon - abdecken. Sehr ausführlich und recht mathematisch stellen Neumann/ Morlock [2002] die Themen des Operations Research dar. Empfehlenswert und umfangreich ist das Buch von Bomze/ Grossmann [1993]. Anwendungen der Betriebswirtschaftslehre enthalten die Werke von Thonemann [2005] und Berens/ Delfmann/ Schmitting [2004]. Spezifisch an das Kapitel 1.4 schließen etwa das Buch von Kohlas [1977] oder das zweibändige Werk von Heyman/ Sobel [1982] an. Grundlagen der Wahrscheinlichkeitsrechnung kann man bei Henze [2006] nachlesen. Simulationsverfahren werden ausführlich bei Fishman [2001] Für die mathematischen Grundkenntnisse, die wir manchmal voraussetzen müssen, sei das Buch des Kollegen Terveer [2008] empfohlen, das ebenfalls in der Reihe „BWL-Crash-Kurs“ erschienen ist. 39 <?page no="41"?> 2 Optimierung in Graphen Übersicht Zunächst werden in Abschnitt 2.1 Graphen und - als Spezialfälle - Bäume und Netzwerke eingeführt. Viele Fragestellungen des OR lassen sich durch Graphen abbilden. Oft folgt dann die Frage nach kürzesten Wegen in diesen Konstrukten, die in Abschnitt 2.2 vgl. S. 56 gelöst wird. Beispiel für die Suche nach längsten Wegen sind Netzpläne zur Projektsteuerung, die in Abschnitt 2.3 vgl. S. 64 erklärt werden. Viele Optimierungsprobleme, die sich in Graphen abbilden lassen, sind mit der Dynamischen Optimierung zu lösen, die in Abschnitt 2.4 vgl. S. 76 angesprochen wird. 2.1 Relationen, Graphen, Bäume Um G r aphen mathematisc h „ erfassbar “ z u m ac hen, be nötigen wir zunäc hst Sprechweisen und etwas Handwerkszeug. Mathematische Begriffe zur Modellierung sind hier Objekte, Mengen und Relationen. 2.1.1 Relationen In Modellen werden Objekte der Realwelt zur mathematischen Behandlung oft in Mengen zusammengefasst. Zur formalen Umsetzung von Beziehungen zwischen solchen Objekten einer oder mehrerer Mengen dienen Relationen. Definition 2.1 Seien A und B (nicht-leere) Mengen. Eine Teilmenge R ⊆ A × B heißt (binäre) Relation Glossar von A nach B Dabei ist A × B das kartesische Produkt Glossar der Mengen A und B, das definiert wird durch A × B = {(a, b) : a ∈ A, b ∈ B} 41 <?page no="42"?> 2 Optimierung in Graphen Eine Relation beinhaltet also in der Regel nicht alle Kombinationsmöglichkeiten, sondern einen Ausschnitt davon. Dieser Ausschnitt kann durch Aufzählung oder durch irgendwelche Kriterien definiert werden. Kartesisches Produkt und Relationen lassen sich auch für mehr als zwei Mengen definieren: A i 5= ∅, 1 ≤ i ≤ m, R ⊆ A 1 × · · · × A m heißt Relation zwischen A 1 , . . . , A m Beis piel 2.1: • A = B = R: R = {(x, y) : x ≤ y} ⊆ R 2 • A = B = R: R = {(x, y) : y = x 2 } ⊆ R 2 • A = B = N: R = {(p, q) : p | q} ⊆ N 2 • A = B = N: R = {(p, q) : p ≡ q mod t} ⊆ N 2 mit t ∈ N, t ≥ 2. Definition 2.2 (K omp os ition/ In ve rsio n v on Relationen ) Mit Relationen lässt sich auch „rechnen“. Vorbild dabei sind die entsprechenden Operationen für Funktionen. • R ⊆ A × B und S ⊆ B × C seien Relationen, dann heißt R ◦ S ⊆ A × C Komposition von R und S und ist definiert durch R ◦ S = {(a, c) : ∃ b ∈ B mit (a, b) ∈ R und (b, c) ∈ S} • R ⊆ A × B, dann ist R −1 ⊆ B × A die inverse Relation, die definiert ist durch R −1 = {(b, a) : (a, b) ∈ R} Beispiel 2.2: Gegeben seien A = {1, 2, 3} B = {0, 1} C = {1, 2, 3, 4} R = {(1, 0), (2, 1), (3, 0)} ⊆ A × B S = {(0, 1), (0, 2), (1, 3), (1, 4)} ⊆ B × C 42 <?page no="43"?> 2.1 Relationen, Graphen, Bäume Dann gilt: R ◦ S = {(1, 1), (1, 2), (2, 3), (2, 4), (3, 1), (3, 2)} ⊆ A × C R −1 = {(0, 1), (1, 2), (0, 3)} ⊆ B × A S −1 = {(1, 0), (2, 0), (3, 1), (4, 1)} ⊆ C × B Rechenregeln • R ⊆ A × B, S ⊆ B × C, T ⊆ C × D =⇒ (R ◦ S) ◦ T = R ◦ (S ◦ T ) • R ⊆ A × A, S ⊆ A × A =⇒ (R ◦ S) −1 = S −1 ◦ R −1 • R ⊆ A × B =⇒ (R −1 ) −1 = R Jede binäre Relation von einer endlichen Menge A nach einer endlichen Menge B lässt sich zwanglos graphisch darstellen. Beispiel 2.3: Gegeben seien A = {1, 2, 3, 4} und B = {x, y, z}. Die Relation sei gegeben durch R = {(1, x), (1, z), (2, y), (3, y), (3, z), (4, x)} Eine mögliche grafische Darstellung zeigt Abbildung 2.1. 2 x y z 1 3 4 Abbildung 2.1: Grafische Darstellung einer Relation Formalisiert wird diese Darstellung durch die folgende Begriffsbildung. 43 <?page no="44"?> 2 Optimierung in Graphen 2.1.2 Graphen Graphen Glossar dienen der Darstellung von Strukturen, d.h. logischen und/ oder zeitlichen Abhängigkeiten. Definition 2.3 Sei V 5= ∅ eine endliche Menge („vertices“, d.h. Knoten Glossar ) und E eine Menge zweielementiger Teilmengen von V („edges“, d.h. Kanten Glossar ). Dann wird G = (V, E) als (ungerichteter) Graph bezeichnet. Beispiel 2.4: V sei die Menge der (internationalen) Flughäfen in Deutschland. {v, w} ∈ E, falls zwischen v und w eine Direktverbindung besteht. Der Sachverhalt lässt sich durch ein Schaubild wie Abbildung 2.2 darstellen, das durchaus auch mal mehr als nur Knoten und Kanten enthält. (Die hier eingezeichneten Verbindungen sind nur zur Illustration gedacht und dürften mit den tatsächlichen Verbindungen vermutlich wenig zu tun haben.) Abbildung 2.2: Flugverbindungen in Deutschland Für die weitere Diskussion bauen wir uns ein übersichtliches Beispiel, in dem nur die relevanten Elemente abgebildet werden. 44 <?page no="45"?> 2.1 Relationen, Graphen, Bäume Beispiel 2.5: V = {1, 2, 3, 4, 5, 6} E = {{1, 2}, {1, 3}, {1, 5}, {1, 6}, {2, 3}, {3, 4}, {3, 6}, {4, 5}, {5, 6}} Eine einfache Darstellung des Graphen ist in Abbildung 2.3 zu sehen. 1 3 6 4 2 5 Abbildung 2.3: Beispielgraph Die Anordnung der Knoten und Kanten im Raum ist nicht eindeutig festgelegt; insofern repräsentiert auch die Abbildung 2.4 denselben Graphen. 1 5 2 6 3 4 Abbildung 2.4: Beispielgraph in anderer Darstellung Wir werden üblicherweise mit schlichten Graphen arbeiten, die definiert sind durch die Festlegungen: • keine Schlingen, d.h. Kanten von v nach v (v ∈ V ). Es gilt also immer (v, v) / ∈ E. 45 <?page no="46"?> 2 Optimierung in Graphen • keine Mehrfachkanten zwischen zwei Knoten. Dies würde auf sogenannte multiple Graphen führen. Weitere Begriffe: Gegeben sei eine Kante e = {v, w} ∈ E, dann sagt man: • „ e verbindet ihre Endpunkte v und w.“ • „ v und w sind adjazent.“ • „ v und e sind inzident.“ sowie „ w und e sind inzident.“ Man benötigt zur Rechnung üblicherweise nicht die grafische Darstellung eines Graphen, sondern eine algorithmisch nutzbare Form, die denselben Sachverhalt darstellt. Möglich ist die algebraische Beschreibung eines Graphen G = (V, E), V = {v 1 , . . . , v m } mittels der Adjazenzmatrix Glossar A = [a ij ], 1 ≤ i, j ≤ m, die definiert ist durch die Einträge a ij = { 1, falls {v i , v j } ∈ E 0, falls {v i , v j } / ∈ E Beispiel 2.6 (Fortsetzung von Beispiel 2.5): Dem schon bekannten Graphen in Abbildung 2.5 1 3 6 4 2 5 Abbildung 2.5: Beispielgraph entspricht die Adjazenzmatrix A = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ 46 <?page no="47"?> 2.1 Relationen, Graphen, Bäume Bemerkungen: • In ungerichteten Graphen gilt a ij = a ji . Deshalb reicht es natürlich, die Matrix A oberhalb oder unterhalb der Hauptdiagonalen anzugeben. • Mittels der Adjazenzmatrix lassen sich die Probleme dieses Kapitels auch algebraisch beschreiben. Dies wird speziell bei Implementierung der Verfahren ausgenutzt. • Die Elemente der Hauptdiagonalen sind stets 0, falls Schlingen ausgeschlossen wurden. Weitere Sprechweisen: • H = (W, F ) ist Teilgraph von G = (V, E), falls W ⊆ V und F ⊆ E. Im Falle V = W heißt H ein aufspannender Teilgraph. • G = (V, E) Graph, W ⊆ V . Die Definition E | W : = {{w, w ′ } ∈ E : w, w ′ ∈ W } ergibt die Kanten, die nach Weglassen von Ecken noch Start- und Endpunkte haben. (W, E | W ) wird dann als induzierter Teilgraph bezeichnet. Beispiel 2.7: Definiere G wie in Beispiel 2.5 vgl. S. 44 . Dann: • W = {1, 2, 3}, F = {{1, 2}, {2, 3}} =⇒ H = (W, F ) Teilgraph von G • W = {1, 2, 3} =⇒ E | W = {{1, 2}, {1, 3}, {2, 3}} • F = {{1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}} =⇒ H = (V, F ) ist aufspannender Teilgraph von G. 2.1.3 Digraphen Bisher haben wir den Kanten keine „Richtung“ gegeben, d.h. die Verbindungen waren als symmetrisch anzusehen; sie wurden deshalb als „ungerichtet“ bezeichnet. Definition 2.4 Sei wieder V 5= ∅ eine endliche Menge, und E ⊆ V × V sei eine Relation. G = (V, E) heißt dann Digraph Glossar oder gerichteter Graph. In Digraphen werden die gerichteten Kanten mit einem Pfeil dargestellt. Sei nun (v, w) ∈ E eine Kante, dann heißt v Anfangspunkt, w Endpunkt. Gilt (v, w), (w, v) ∈ E, dann heißen diese beiden Kanten gegenläufig oder antiparallel. 47 <?page no="48"?> 2 Optimierung in Graphen Beispiel 2.8: Ein gerichteter Graph sei definiert durch V = {1, 2, 3, 4, 5, 6} E = {(1, 2), (2, 3), (3, 4), (4, 5), (5, 6), (6, 1), (1, 6), (1, 3), (3, 6), (5, 1)} Der Graph ist in Abbildung 2.6 dargestellt. Hier sind die Kanten (1, 6), (6, 1) ∈ E antiparallel. 1 3 6 4 2 5 Abbildung 2.6: Gerichteter Graph Jedem Digraphen lässt sich in kanonischer Weise ein Graph zuordnen, indem die Richtungen „vergessen“ werden. Technisch: (V, E) &→ (V, E ′ ) mit E ′ = {{v, w} : (v, w) oder (w, v) ∈ E} Auch auf Digraphen lassen sich die oben eingeführten Begriffe übertragen. • Teildigraph • Adjazenzmatrix A = [a ij ], a ij = { 1, falls (v i , v j ) ∈ E 0 sonst. Allerdings ist in diesem Fall A im Allgemeinen unsymmetrisch. Bewertung eines (Di-)Graphen Oft geht es nicht nur darum, die Existenz einer Verbindung abzubilden, sondern diese zu bewerten, etwa zur Erfassung von Kosten oder zur Längenangabe einer Kantenverbindung. 48 <?page no="49"?> 2.1 Relationen, Graphen, Bäume Sei G = (V, E) ein (Di-)Graph, V = {v 1 , . . . , v m }. Eine Abbildung b : E → R heißt Bewertung des (Di-)Graphen. Erfasst wird die Bewertung über die Matrix B = [b ij ], 1 ≤ i, j ≤ m, mit b ij = b({v i , v j }) bzw. b ij = b((v i , v j )). Die Bewertung wird bei der grafischen Darstellung üblicherweise an die Kante geschrieben. Beispiel 2.9 (Zuordnungsproblem): Mitarbeiter v 1 , v 2 , . . . , v n Jobs w 1 , w 2 , . . . , w n V = {v 1 , . . . , v n , w 1 , . . . , w n } Annahme: Jeder Mitarbeiter kann jeden Job erledigen, wenn auch mit unterschiedlichem Zeitaufwand. 2 1 3 4 2 1 3 4 3 4 2 3 5 2 1 5 Abbildung 2.7: Bipartiter Graph zum Zuordnungsproblem Der Graph zur Abbildung eines Zuordnungsproblems hat eine spezielle Form, nämlich die eines sogenannten bipartiten Graphen. Bei diesem gibt es keine Kanten zwischen den Knoten einer Teilmenge, sondern nur Verbindungen zu Knoten der anderen Teilmenge. G = (V, E) heißt bipartiter (Di-)Graph, falls V = V 1 ∪ V 2 und • V 1 , V 2 5= ∅ und V 1 ∩ V 2 = ∅ • E ⊆ {{v 1 , v 2 } : v 1 ∈ V 1 , v 2 ∈ V 2 } bzw. E ⊆ V 1 × V 2 49 <?page no="50"?> 2 Optimierung in Graphen Definition 2.5 (Wege und Kreise) Sei G = (V, E) ein Graph bzw. ein Digraph. Eine Folge (e 1 , . . . , e n ) mit e i = {v i−1 , v i } ∈ E bzw. e i = (v i−1 , v i ) ∈ E heißt Kantenzug von v 0 nach v n . Im Falle v 0 = v n spricht man von einem geschlossenen Kantenzug. Sind die e i paarweise verschieden, bezeichnet man diesen als Weg bzw. im geschlossenen Fall als Kreis. Sind sogar die v i paarweise verschieden (abgesehen von v 0 = v n im geschlossenen Fall), dann spricht man von einem einfachen Weg bzw. einfachen Kreis (Zyklus). Beispiel 2.10: Gegeben seien wieder V = {1, 2, 3, 4, 5, 6} E = {{1, 2}, {1, 3}, {1, 5}, {1, 6}, {2, 3}, {3, 4}, {3, 6}, {4, 5}, {5, 6}} Dann ist • ({1, 5}, {4, 5}, {3, 4}, {3 , 6}, {5, 6}, {1, 5}) ein geschlossener Kantenzug, • ({1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {3, 6}, {1, 3}) ein Kreis, • ({1, 2}, {2, 3}, {3, 4}, {4, 5}, {5, 6}, {1, 6}) ein einfacher Kreis. Zusammenhängende Graphen Sprechweise: w ∈ V ist mit v ∈ V verbindbar, falls v = w gilt, oder aber falls v 5= w gilt und ein Kantenzug von v 0 = v nach v n = w existiert. Ein Digraph G = (V, E) heißt (schwach) zusammenhängend, falls der zugehörige Graph G ′ = (V, E ′ ) in obigem Sinne zusammenhängend ist E ′ = {{v, w} : (v, w) ∈ E oder (w, v) ∈ E}. Ist jeder Knoten von jedem anderen Knoten durch einen gerichteten Kantenzug erreichbar, dann ist G stark zusammenhängend. Beispiel 2.11: Die Knotenmenge sei jeweils V = {1, 2, 3, 4} a) Graph nicht zusammenhängend 1 2 4 3 50 <?page no="51"?> 2.1 Relationen, Graphen, Bäume b) Graph zusammenhängend 1 2 4 3 c) Digraph schwach, aber nicht stark zusammenhängend 1 2 4 3 d) Digraph stark zusammenhängend 1 2 4 3 Offensichtlich ist jeder stark zusammenhängende Digraph auch schwach zusammenhängend. 2.1.4 Netzwerke Im Weiteren sollen spezielle zusammenhängende Graphen bzw. Digraphen beispielhaft betrachtet werden. Ein Netzwerk Glossar N = (V, E, b) ist ein zusammenhängender Graph oder Digraph G = (V, E) mit Bewertung b : E → R. Anwendungsmöglichkeiten im Operations Research: • Strukturierung und Modellierung von Problemen • Lösung von Optimierungsproblemen durch geeignete Algorithmen für Netzwerke Ein kleines Beispiel zur Anwendung sind Gozintographen. 2.1.5 Teilbedarfsrechnung - Gozintographen Die Entwicklung des Gozintographen wurde scherzhaft dem „italienischen Mathematiker Zepartzat Gozinto“ zugeschrieben. Tatsächlich handelt es sich um eine etwas merkwürdige Schreibweise der Phrase „the part that goes into“. 51 <?page no="52"?> 2 Optimierung in Graphen Auf Gozintographen beruht eine Methode zur Auflösung von Strichlisten in Montagebetrieben. Den Elementen des Graphen entsprechen die folgenden Objekte: Knoten = Einzelteile, Baugruppen, Fertigprodukte Kanten = Bedarf an Teilen Bewertung = Anzahl benötigter Teile Die Knoten werden dabei in der Form a b geschrieben, a = Produktnummer b = (Primär-, Gesamt-, Netto-)Bedarf an Nummer a Gegeben oder zu berechnen sind: Primärbedarf = Auftragsbestand Ge sam tb edarf = b enötigte Anzahl Nettobedarf = Gesamtbedarf minus Lagerbestand Beispiel 2.12: In Abbildung 2.8 sind die Primärbedarfe in den Knoten eingetragen. _7_ 240 _1_ 0 _6_ 0 _2_ 0 _3_ 0 _4_ 20 _5_ 0 2 2 3 2 1 2 1 1 1 2 2 Abbildung 2.8: Gozintograph 52 <?page no="53"?> 2.1 Relationen, Graphen, Bäume Der Gesamtbedarf ergibt sich aus dem linearen Gleichungssystem x 1 = 3x 3 + 2x 5 x 2 = 2x 3 + 2x 4 + x 6 x 3 = x 4 + x 5 x 4 = 2x 5 + x 6 + 2x 7 + 20 x 5 = x 7 x 6 = 2x 7 x 7 = 240 Die eindeutige Lösung ist x 6 = 480, x 5 = 240, x 4 = 1460, x 3 = 1700, x 2 = 6800, x 1 = 5580 53 <?page no="54"?> 2 Optimierung in Graphen 2.1.6 Bäume Eine wichtige Form von Graphen ergibt die folgende Definition (die praktisch auch gleichzeitig ein Satz ist). Definition 2.6 Sei G = (V, E) Graph. Zwei der nachfolgenden Bedingungen implizieren dann jeweils die dritte. (B1) G ist zusammenhängend. (B2) #V = #E + 1 (B3) G ist azyklisch, d. h. enthält keinen einfachen Kreis. Erfüllt G die Bedingungen, dann heißt G Baum Glossar Beispiel 2.13: • Baum, weil zusammenhängend, 10 Knoten und 9 Kanten: • kein Baum, weil ein Zyklus enthalten ist: Definition 2.7 Ein Digraph G = (V, E) heißt ein gerichteter Baum, falls • der zugehörige Graph G ′ = (V, E ′ ) ein Baum ist, • G zumindest eine Quelle (Wurzel) besitzt, d.h. einen Knoten v, der mit jedem anderen Knoten verbindbar ist. 54 <?page no="55"?> 2.1 Relationen, Graphen, Bäume Beispiel 2.14: • gerichteter Baum • kein gerichteter Baum, da keiner der Knoten als Quelle anzusehen ist. Die Eigenschaft, eine gegebene Anzahl von Knoten mit möglichst wenigen Kanten zu verbinden, werden wir im nächsten Abschnitt vgl. S. 60 no ch betrachten. Bäume besitzen eine Vielzahl von Anwendungen und treten etwa als Wahrscheinlichkeits-, Entscheidungs-, Klassifikations-, Regressions- oder Zuverlässigkeitsbäume auf. Sie dienen in der Informatik der Modellierung von Such- und Sortierverfahren. 55 <?page no="56"?> 2 Optimierung in Graphen 2.2 Kürzeste Wege in Netzwerken Eine Firma hat für ein bestimmtes Produkt einen Produktionsstandort, von dem aus mehrere Auslieferungslager per LKW zu beliefern sind. Die möglichen Verbindungen und ihre Länge sind in einem Netzwerk aufgezeichnet. Gesucht werden jeweils die kürzesten Wege zu den Lagerstandorten. Mathematisch formuliert: Gegeben sind ein gerichtetes Netzwerk N = (V, E, b), b(e) ≥ 0 und ein vorgegebener Startknoten v ∈ V . Gesucht werden kürzeste Wege von v zu allen anderen Knoten w ∈ V , die von v erreichbar sind. Zur Präzisierung von längsten bzw. kürzesten Wegen benötigen wir den Begriff „ Abstand“. Definition 2.8 d : V × V → [0, ∞[ heißt Abstand oder Metrik, falls gilt: (M1) d(u, v) = 0 ⇐⇒ u = v (M2) d(u, v) = d(v, u) (M3) d(u, w) ≤ d(u, v) + d(v, w) Es existieren diverse Modifikationen dieser Axiomatik. Oft wird die Definition etwas verallgemeinert, etwa durch die Möglichkeit, auch unendliche Abstände abzubilden. In M1 muss nicht unbedingt die Folgerung von links nach rechts gelten. In ungerichteten Netzwerken N = (V, E, b), b > 0, setzt man d(v, v) = 0 und d(v, w) : = ⎧ ⎨ ⎩ min (e) { k ∑ i=1 b(e i )} falls w von v aus erreichbar ist ∞ sonst. wobei über alle Wege (e) = (e 1 , . . . , e k ), e i = {v i−1 , v i }, minimiert wird, die v 0 = v mit v k = w verbinden; k ist dabei variabel. Dieser Abstand zwischen zwei Knoten - die Länge des kürzesten Weges - ist eine Metrik im obigen Sinne. Oder formaler: Wenn d(v, w) = # ∑ i=1 b(e ∗ i ), dann ist (e ∗ 1 , . . . , e ∗ # ) kürzester Weg. Es ist auch klar, dass Teile eines kürzesten Weges wieder kürzeste Wege sind. Formal: Sei (e ∗ 1 , . . . , e ∗ # ) der kürzeste Weg von v 0 = v nach w = v # . Für 1 ≤ k < ' ist dann (e ∗ 1 , . . . , e ∗ k ) kürzester Weg von v 0 = v nach w ′ = v k . 56 <?page no="57"?> 2.2 Kürzeste Wege in Netzwerken Im Falle gerichteter Netzwerke bzw. bei Bewertungen mit nichtpositiven Werten ist d nur eine „verallgemeinerte“ Metrik, weil die definierenden Axiome nur teilweise gelten. An den folgenden Ausführungen ändert das aber nichts. Völlig analog lässt sich der Begriffdes längsten Weges mit „ max“ statt „ min“ erklären. 2.2.1 Dijkstra-Algorithmus für Digraphen Der Dijkstra-Algorithmus Glossar basiert zunächst einmal darauf, dass der Abstand eines Knotens vom Startknoten von demjenigen der Vorgängerknoten und dem Abstand zu diesem abhängt. Dieser Zusammenhang wird als Bellman-Gleichung bezeichnet: d(v 0 , v # ) = min 0≤i<# {d(v 0 , v i ) + b((v i , v # ))} wobei b((v ′ , w ′ )) = ∞, falls (v ′ , w ′ ) / ∈ E. Die Idee des Algorithmus ist nun, dass eine Menge von Knoten, deren Abstand vom Startknoten sicher bekannt ist, sukzessive aufgebaut wird. Der Abstand eines Knotens v zu einer Menge W ⊆ V kann definiert werden als d(v, W ) : = min{d(v, w) : w ∈ W } Der Knoten mit dem geringsten Abstand wird jeweils der Menge der „sicheren“ Knoten hinzugefügt. Es werden jeweils die Weglängen vom Startknoten zu den über diesen Knoten erreichbaren Knoten errechnet. Sollte noch kein kürzerer Weg gefunden worden sein, wird dieser Wert aufgezeichnet und der aktuelle Knoten als Vorgänger notiert. Ist der letzte erreichbare Knoten abgearbeitet, sind die kürzesten Wege ermittelt. Dijkstra-Algorithmus 1. Lege den Startknoten fest, d.h. füge ihn der Menge der festgelegten Knoten zu: W = {v 0 } Dieser Knoten hat den Abstand 0, für alle anderen Knoten wird der Abstand vorläufig auf ∞ gesetzt. 2. Bestimme die vom gerade festgelegten Knoten v k erreichbaren Knoten. Für jeden solchen Knoten v # berechne die Länge des Weges von v 0 über v k zu v # , also i # = d(v 0 , v k ) + b((v k , v # )). Ist i # kleiner als der dort bisher verzeichnete Wert, setze i # vorläufig als Abstand zum Startknoten ein. v k wird als Vorgängerknoten für v # eingetragen. 3. Lege den bisher nicht festgelegten Knoten mit dem geringsten Abstand zum Startknoten als neuen Knoten fest und gehe zu 2. 57 <?page no="58"?> 2 Optimierung in Graphen Der Algorithmus wird in einer Tabelle aufgezeichnet, in der die Knoten untereinander aufgetragen werden. Die zweite Spalte enthält den bisher kürzesten Weg, die dritte Spalte den Vorgängerknoten. In der letzten Spalte werden festgelegte Knoten durch ein Kreuz (×) gekennzeichnet, der aktuelle Knoten zusätzlich durch einen Kreis, also insgesamt ⊗. Knoten-Nr. Abstand Unm. Vorg. 0 0 - × 1 i 0 0 × 2 i 1 1 × . . . . . . . . . . . . v k i k . . . ⊗ . . . v # i # k . . . n ∞ - Die Abarbeitung läuft dabei - wie diese Tabelle vermuten lassen könnte - nicht unbedingt von oben nach unten, sondern nach aufsteigendem Abstand. Beispiel 2.15: Im Abbildung 2.9 sei als Startknoten v 0 = b gewählt. a 3 b a 3 b b 0 - × b 0 - × c 4 b c 4 b d 1 b ⊗ d 1 b × e 2 b e 2 b ⊗ f ∞ f 4 d g ∞ g ∞ h ∞ h ∞ i ∞ i ∞ j ∞ j ∞ - 58 <?page no="59"?> 2.2 Kürzeste Wege in Netzwerken c b d g e f i j h a 2 4 3 1 1 5 4 3 2 2 2 1 3 1 3 2 3 Abbildung 2.9: Gerichteter Graph zum Dijkstra-Algorithmus a 3 b ⊗ a 3 b × b 0 - × b 0 - × c 4 b c 4 b × d 1 b × d 1 b × e 2 b × e 2 b × f 4 d f 4 d × g 6 e g 6 e ⊗ h 4 e h 4 e × i ∞ i ∞ j ∞ j ∞ a 3 b × a 3 b × b 0 - × b 0 - × c 4 b × c 4 b × d 1 b × d 1 b × e 2 b × e 2 b × f 4 d × f 4 d × g 6 e × g 6 e × h 4 e × h 4 e × i 7 g ⊗ i 7 g × j 11 g j 8 i ⊗ 59 <?page no="60"?> 2 Optimierung in Graphen Die komplette Lösung lässt sich aus dem letzten Tableau ermitteln: Länge Weg a 3 b-a b 0 b c 4 b-c d 1 b-d e 2 b-e f 4 b-d-f g 6 b-e-g h 4 b-e-h i 7 b-e-g-i j 8 b-e-g-i-j Bemerkungen: • Der Dijkstra-Algorithmus funktioniert auch bei ungerichteten Netzen. Bei auch negativen Kantenbewertungen („Gewinn-Verlust“) kann der Algorithmus von Bellman-Moore eingesetzt werden. • Zur Bestimmung der kürzesten Wege zwischen allen Knoten eines Netzwerkes iteriert man entweder eines der obigen Verfahren oder verwendet den Algorithmus von Floyd. Eine eher globale Sicht auf kürzeste Wege nimmt die Frage nach minimal aufspannenden Bäumen ein. Hier wird nicht der einzelne Weg als möglichst optimal gesucht, sondern ein möglichst kurzes Netz von Wegen. 2.2.2 Minimal aufspannende Bäume Orte, Gebäude, Personen etc. sollen durch Leitungen, Kabel, Röhren oder Ähnliches vernetzt werden, und zwar mit minimalen Kosten, in kürzester Zeit oder ähnlichen Kriterien. Formal: Sei N = (V, E, b), b(e) ≥ 0 ein ungerichtetes Netzwerk. Gesucht ist ein minimal aufspannender Baum (V, E ∗ , b). In der Realität entspricht das z.B. einer tatsächlichen minimalen Vernetzung, in der es keine „unnötigen“ Verbindungen gibt und alle Wege eindeutig sind. Beispiel 2.16: Gegeben sei das Netzwerk in Abbildung 2.10, in dem es meist mehrere Wege zwischen den Knoten gibt. 60 <?page no="61"?> 2.2 Kürzeste Wege in Netzwerken b c e d h a 4 3 5 3 9 9 7 5 5 2 g f 7 6 8 7 3 2 Abbildung 2.10: Ungerichteter Graph zum Kruskal-Algorithmus Gesucht ist ein Baum, in dem es immer noch einen Weg von jedem Knoten zu jedem anderen gibt - und zwar genau einen. Eine solche Möglichkeit zeigt Abbildung 2.11. Dieser Graph ist ein aufspannender Baum mit Kosten 4 + 5 + 3 + 2 + 5 + 3 + 2 = 24 - ist allerdings nicht minimal! b c e d h a 4 3 5 5 2 g f 3 2 Abbildung 2.11: Ein aufspannender Baum zur Abbildung 2.10 Die Idee des gierigen Kruskal-Algorithmus Glossar ist die folgende: Baue aus den Kanten der Reihe nach einen Graphen auf, indem immer die Kante mit der kleinsten Bewertung dazugenommen wird. Dies geschieht aber nur, wenn sich dabei kein Zyklus ergibt. Während des Verfahrens liegt ein nicht zusammenhängender Graph vor, erst am Ende ist ein Baum entstanden, in dem alle Knoten erreicht werden können. 61 <?page no="62"?> 2 Optimierung in Graphen Kruskal-Algorithmus 1. Starte mit Graph (V, ∅) 2. Wähle eine Kante e 1 mit b(e 1 ) = min e∈E b(e) 3. Falls e 1 , . . . , e i bereits gewählt worden sind, wähle e ′ 5∈ {e 1 , . . . , e i } mit b(e ′ ) = min{b(e) : e 5∈ {e 1 , . . . , e i }}. Falls (V, {e 1 , . . . , e i , e ′ }) keinen Zyklus enthält, setze e i+1 = e ′ . Andernfalls wähle e ′′ mit b(e ′′ ) = min{b(e) : e 5∈ {e 1 , . . . , e i , e ′ }}. Falls (V, {e 1 , . . . , e i , e ′′ }) keinen Zyklus enthält, setze e i+1 = e ′′ . Führe diesen Schritt so lange durch, bis e i+1 gefunden wurde. Beginne dann wieder mit Schritt 3. Das Verfahren bricht nach #V − 1 Schritten ab, und zwar mit einem minimal aufspannenden Baum. Beispiel 2.17: Das Beispiel 2.16 führt etwa auf die sukzessive Kantenauswahl e 1 = {d, e}, e 2 = {f, h}, e 3 = {g, h}, e 4 = {c, d}, e 5 = {b, e}, e 6 = {a, b}, e 7 = {e, h} b c e d h a 4 3 3 5 2 g f 3 2 Abbildung 2.12: Minimal aufspannender Baum zur Abbildung 2.10 Es ergibt sich der Baum in Abbildung 2.12 mit den Gesamtkosten 22. 62 <?page no="63"?> 2.2 Kürzeste Wege in Netzwerken Dass der minimal aufspannende Baum nicht eindeutig sein muss, zeigt das folgende Beispiel. Beispiel 2.18: Der vollständige Graph sei der in Abbildung 2.13 abgebildete. b c e f d g a 2 6 1 1 4 4 3 5 2 4 Abbildung 2.13: Weiterer Graph zum Kruskal-Algorithmus Einer der minimal aufspannenden Bäume ist der in Abbildung 2.14. Man hätte statt a-b allerdings auch b-d wählen können. Als Gesamtkosten ergibt sich (bei jeder Wahl) ein Wert von 15. b c e f d g a 2 1 1 4 3 4 Abbildung 2.14: Minimal aufspannender Baum zur Abbildung 2.13 63 <?page no="64"?> 2 Optimierung in Graphen 2.3 Netzplantechnik Netzpläne sind ein Mittel des Projektmanagements zur Strukturierung großer Vorhaben und deren zeitlicher Überwachung. DIN 69900 unterscheidet für die Strukturanalyse Ereignisse (also Zeitpunkte) und Vorgänge (also Zeiträume), die in einem Netzwerk abzubilden sind und zwar samt deren Anordnungsbeziehungen. Dies ist sicherlich ein Anwendungsgebiet für Graphen! Es existieren hierzu verschiedene Ansätze, die jeweils die Ereignisse oder Vorgänge in den Mittelpunkt der Betrachtung stellen, etwa • MPM = „metra potential method“ • PERT = „program evaluation and review technique“ • GERT = „graphical evaluation and review technique“ Wir betrachten hier den CPM-Ansatz (CPM = „critical path method“), bei dem Ereignisse als Kanten dargestellt und geeignet angeordnet werden. Da in diesem Fall sämtliche Kanten durchlaufen werden müssen, ist in CPM- Netzplänen Glossar nicht wie bisher nur ein kurzer Weg gesucht, es handelt sich hier um eine Suche nach „ längsten Wegen“. 2.3.1 Vorgangsliste Zur Konstruktion eines Netzplans ist eine Vorgangsliste die Grundlage. Sie enthält • alle Teilprojekte (Vorgänge) in geeigneter Nummerierung. Wie tief dabei gegliedert wird, ist problemabhängig. • die veranschlagte Dauer jedes einzelnen Vorgangs, • Verweise auf die Vorgänge, die unmittelbar vorauszugehen haben. Beispiel 2.19: Eine Vorgangsliste könnte etwa so aussehen: Vorgang Dauer vorausgehende Vorgänge a 3 - b 2 - c 4 - d 2 a e 1 a,b f 4 c,e 64 <?page no="65"?> 2.3 Netzplantechnik 2.3.2 CPM-Netzpläne Eine Vorgangsliste wird in ein Vorgangspfeilnetz überführt, d.h. Vorgänge werden durch gerichtete Kanten dargestellt und mit der jeweils für sie angesetzten Zeit bewertet. Dabei stellen die Knoten Termine dar. Formal: Ein Vorgang A („Aktion“) wird zu einer Kante e A mit einem Startereignis α(A) und einem Zielereignis ω(A). Die Ereignisse werden demnach in Knoten abgebildet. Grafisch wird ein Vorgang folgendermaßen dargestellt. e A ! (A) "(A) Regeln bei der Erstellung des Netzes Wie ein CPM-Netzplan zu einer gegebenen Vorgangsliste zu erstellen ist, wird durch die folgenden fünf Regeln festgelegt. 1. A 1 , . . . , A k sind unmittelbare Vorgänger von A. =⇒ ω(A 1 ) = · · · = ω(A k ) = α(A) Beispiel für k = 3: ! (A) e A e A 1 e A 2 e A 3 2. A 1 , . . . , A # setzen den Abschluss des Vorganges A unmittelbar voraus. =⇒ α(A 1 ) = · · · = α(A # ) = ω(A) Beispiel für ' = 2: e A "(A) e A 1 e A 2 65 <?page no="66"?> 2 Optimierung in Graphen 3. Ein Zusammenhang der Form A ? B 1 A . . . B m A C B 1 , . . . B m in einer Vorgangsliste wird durch einen regulären Vorgang und mit Hilfe von sogenannten Scheinvorgängen Glossar dargestellt, um Doppelkanten zu vermeiden. Scheinvorgänge werden gestrichelt gezeichnet und haben die Vorgangsdauer 0. Beispiel: e C e B 2 e A e B 1 e B 3 4. B 1 setzt A 1 unmittelbar voraus, B 2 die Vorgänge A 1 und A 2 . Dann sind nach A 1 und A 2 zwei verschiedene Knoten notwendig, die durch einen Scheinvorgang verbunden werden. Beispiel: e A 1 e A 2 e B 1 e B 2 66 <?page no="67"?> 2.3 Netzplantechnik 5. Das Netz besitzt eine Quelle v 0 und eine Senke v n , d.h. einen reinen Startbzw. Zielknoten. Diese entsprechen dem Beginn bzw. Ende des Projekts. Vom Startknoten gehen die Vorgänge ohne unmittelbaren Vorgänger ab; im Zielknoten enden alle Vorgänge, die zu keinem anderen Knoten Vorgänger sind. Beispiele: v 0 v n Beispiel 2.20: Aus der Vorgangsliste in Beispiel 2.19 vgl. S. 64 ergibt sich mit diesen Regeln der Graph in Abbildung 2.15. b e a d c f Abbildung 2.15: Netzplan (Version 1) Knoten-Nummerierung Schließlich müssen die Knoten noch topologisch sortiert werden, d.h. von links mit v 0 beginnend nach rechts bis zu v n durchnummeriert werden. Dazu ist zunächst der Rang eines Knotens zu definieren. 67 <?page no="68"?> 2 Optimierung in Graphen Definition 2.9 Für jeden Knoten wird der Wert r(v) = max{k : (e 1 , . . . , e k ) Weg von v 0 zu v} als Rang von v bezeichnet. Der Rang gibt also die maximale Anzahl der Kanten an, über die ein Knoten vom Anfangsknoten aus erreicht werden kann. Scheinvorgänge müssen dabei mitgezählt werden. Die Kantenlänge geht hierbei nicht ein. Nun werden die Knoten so nummeriert, dass r(v i ) < r(v j ) =⇒ i < j erfüllt wird. Hier kann es mehrere Möglichkeiten geben. Beispiel 2.21: Im Beispiel könnte die Nummerierung wie in Abbildung 2.16 aussehen. 2 3 0 b e a 1 4 d c f Abbildung 2.16: Netzplan (Version 2) Beispiel 2.22 (Brückenbau): Ein komplexeres Beispiel verdeutlicht noch einmal das Vorgehen. Für den Bau einer neuen Hängebrücke, die man sich wie in Abbildung 2.17 vorstellen sollte, sind insgesamt 13 Teilprojekte gemäß folgender Tabelle durchzuführen. 68 <?page no="69"?> 2.3 Netzplantechnik Nummer Art Dauer unmittelbar des des des vorausgehende Vorgangs Vorgangs Vorgangs Vorgänge 1 Allgemeine Planung 10 - 2 Widerlager West 4 1 3 Widerlager Ost 3 1 4 Fundament West 6 1 5 Fundament Ost 4 1 6 Pfeiler West 4 4 7 Pfeiler Ost 4 5 8 Kabel und Hänger West 2 2,6 9 Kabel und Hänger Ost 1 3,7 10 Kabel und Hänger Mitte 3 6,7 11 Fahrbahn West 3 8 12 Fahrbahn Ost 3 9 13 Fahrbahn Mitte 3 10,11 Abbildung 2.17: Skizze einer Hängebrücke Der CPM-Netzplan zu diesem Beispiel könnte unter Anwendung der Regeln etwa so wie in Abbildung 2.18 aussehen. Die räumliche Anordnung der Knoten ist - entsprechend der Definition eines Graphen - natürlich nicht festgelegt. Es erfordert einige Übung und oft mehrmaliges Neuzeichnen des Graphen, um hier eine übersichtliche und möglichst überschneidungsfreie Form zu schaffen. 69 <?page no="70"?> 2 Optimierung in Graphen 1 2 3 4 6 5 7 8 9 11 10 12 13 1 2 4 5 3 6 7 8 10 9 13 12 11 Abbildung 2.18: Netzplan Brückenbau 2.3.3 CPM-Zeitplanung Wir kommen nun zur eigentlichen Problemstellung, der Suche nach dem längsten Weg, zurück. Ein Weg größter Länge wird als kritischer Pfad Gl os sa r be zeic hnet, die zu diesem gehörenden Kanten als „kritische Vorgänge“. Die Länge eines kritischen Pfades ist dann gerade die kürzestmögliche Projektdauer. Auf Grund der oben dargestellten Konstruktionsregeln ist ein CPM-Netzplan ein zusammenhängender gerichteter und bewerteter Graph ohne Schlingen und Zyklen. Zur Bestimmung eines längsten Weges kann man nun ein auf Ford und Bellman zurückgehendes Verfahren heranziehen, das im Folgenden beschrieben wird. Für die Zeitplanung in einem CPM-Netzplan will man nicht nur die kürzeste Dauer des Projektes bestimmen, sondern auch die Anfangs- und Endtermine aller Vorgänge, und zwar inklusive der möglichen Pufferzeiten. Dazu haben sich die folgenden Begriffsbildungen und Bezeichnungen eingebürgert. F AZ ij : Frühest möglicher Anfang des Vorgangs (v i , v j ) F EZ ij : Frühest mögliches Ende des Vorgangs (v i , v j ) Entsprechend bezeichnen SAZ ij bzw. SEZ ij die spätest möglichen Zeitpunkte. F Z i : Frühest mögliches Eintreten des „Ereignisses“ v i (F Z 0 = 0) SZ i : Spätest mögliches Eintreten des „Ereignisses“ v i (SZ n = F Z n ) 70 <?page no="71"?> 2.3 Netzplantechnik Verfahren von Bellman Das Verfahren von Bellman zur Bestimmung eines F Z i arbeitet nun ganz ähnlich wie das im letzten Abschnitt kennen gelernte von Dijkstra zum Finden kürzester Wege. Bezeichnet t ij die Bewertung der Kante (v i , v j ), dann erhält man erst alle F Z i , dann sämtliche SZ i durch die Formeln (B1) F Z i = max{F Z k + t ki : v k Vorgänger von v i }, (B2) SZ i = min{SZ # − t i# : v # Nachfolger von v i }. Man geht bei der Berechnung der F Z i von 1 bis n vor. Aufgrund der topologischen Nummerierung stehen die jeweils benötigten Werte immer schon bereit. Zur Berechnung der SZ i beginnt man im Knoten n, setzt dort SZ n = F Z n und arbeitet sich dann rückwärts bis zum Knoten 1 durch. Beweis von (B1): • F Z i ≥ max{F Z k + t ki : (v k , v i ) ∈ E}, denn die Ungleichung F Z i ≥ F Z k + t ki für alle (v k , v i ) ∈ E gilt offensichtlich, da das Ereignis erst nach Ende aller Vorgänge (·, v i ) eintreten kann; dies ist aber frühestens zum Zeitpunkt F Z k + t ki , (v k , v i ) ∈ E, der Fall. • Da nach Definition F Z i = F Z k 0 + t k 0 i für ein k 0 ∈ {0, . . . , n} mit (v k 0 , v i ) ∈ E (der frühestmögliche Zeitpunkt schließt sich mindestens an einen Vorgang an, dessen Zielereignis gerade v i ist), folgt auch F Z i ≤ max{F Z k + t ki : (v k , v i ) ∈ E} Völlig entsprechend ergibt sich (B2). Fü r die Anfangs- und Endzeitpunkte der Vorgänge berechnet man: F AZ ij = F Z i SAZ ij = SZ j − t ij F EZ ij = F Z i + t ij SEZ ij = SZ j Für einen Vorgang (v i , v j ) steht dann maximal die Zeit SZ j − F Z i zur Verfügung. Wenn diese Zeit durch den Vorgang (v i , v j ) beansprucht wird, d.h. wenn gilt t ij = SZ j − F Z i 71 <?page no="72"?> 2 Optimierung in Graphen bzw. äquivalent F AZ ij = SAZ ij oder F EZ ij = SEZ ij , dann ist (v i , v j ) ein kritischer Vorgang. Allgemein wird für den Vorgang (v i , v j ) GP ij = SZ j − F Z i − t ij = SAZ ij − F AZ ij = SEZ ij − F EZ ij ≥ 0 als Gesamtpufferzeit des Vorgangs bezeichnet. Sie beschreibt, wie viel Zeit der Vorgang (v i , v j ) länger dauern darf, damit der Endtermin noch eingehalten wird, unter der Bedingung, dass alle anderen Vorgänge unveränderten Zeitbedarf haben. Für kritische Vorgänge beträgt die Pufferzeit gerade 0. Kritischer Pfad Jeder Weg, der sich aus kritischen Vorgängen zusammensetzt, bildet einen kritischen Pfad, also einen längsten Weg. Die (eindeutig bestimmte) Länge dieses Weges ist die maximale Länge im Graphen. Beispiel 2.23: Man schreibt die Dauer nun an die Kanten wie in Abbildung 2.19. 2 3 0 b e a 1 4 d c f 3 2 1 4 4 2 Abbildung 2.19: Netzplan (Version 3) 72 <?page no="73"?> 2.3 Netzplantechnik Für die Knoten ergeben sich die Zeitpunkte: i F Z i SZ i 0 0 min{3 − 3, 3 − 2, 4 − 4} = 0 1 0 + 3 = 3 min{8 − 2, 3 − 0} = 3 2 max{0 + 2, 3 + 0} = 3 4 − 1 = 3 3 max{0 + 4, 3 + 1} = 4 8 − 4 = 4 4 max{3 + 2, 4 + 4} = 8 = F Z 4 = 8 Die Werte für die Kanten lauten: Kante F AZ ij F EZ ij SEZ ij SAZ ij GP ij a : (0, 1) 0 3 3 0 0 b : (0, 2) 0 2 3 1 1 c : (0, 3) 0 4 4 0 0 (1, 2) 3 3 3 3 0 d : (1, 4) 3 5 8 6 3 e : (2, 3) 3 4 4 3 0 f : (3, 4) 4 8 8 4 0 Kritische Vorgänge sind also a, c, e und f. Die zwei kritischen Pfade definieren sich als Folge von Knoten so: (0, 1, 2, 3, 4) und (0, 3, 4). Die Kanten eines CPM-Netzplanes werden oft in der in Abbildung 2.20 gezeigten Form dargestellt bzw. sukzessive berechnet. Die obere Form enthält zwar viele Werte, kompakter - und deshalb hier bevorzugt verwendet - ist die untere Form. Nr. Vorgang FAZ ij t ij FEZ ij SAZ ij GP ij SEZ ij v i v j v ki t ki i FZ i SZ i v ij t ij Abbildung 2.20: Darstellung im Netzplan 73 <?page no="74"?> 2 Optimierung in Graphen Beispiel 2.24: Die Darstellung könnte dann etwa so aussehen wie in Abbildung 2.21. b e a d c f 3 2 1 4 4 2 0 1 2 4 3 0 0 3 3 3 3 4 4 8 8 Abbildung 2.21: Netzplan (Version 4) Beispiel 2.25 (Fortsetzung von Beispiel 2.22 vgl. S. 68 ): Für das „große“ Beispiel bietet es sich an, die berechneten Zeiten nicht in die grafische Darstellung zu schreiben, sondern als Tabellen beizufügen. 1 2 3 4 6 5 7 8 9 11 10 12 13 1 2 4 5 3 6 7 8 10 9 13 12 11 i F Z i SZ i 1 0 0 2 10 10 3 16 16 4 14 18 5 20 20 6 18 22 7 20 20 8 20 22 9 18 24 10 22 22 11 19 25 12 25 25 13 28 28 74 <?page no="75"?> 2.3 Netzplantechnik Für die Kanten ergeben sich dann diese Werte: Kante (i, j) F AZ ij F EZ ij SEZ ij SAZ ij GP ij 1 (1, 2) 0 10 10 0 0 k 2 (2, 7) 10 14 20 16 6 3 (2, 9) 10 13 24 21 11 4 (2, 3) 10 16 16 10 0 k 5 (2, 4) 10 14 18 14 4 6 (3, 5) 16 20 20 16 0 k 7 (4, 6) 14 18 22 18 4 S (5, 7) 20 20 20 20 0 k S (5, 8) 20 20 22 22 2 S (6, 8) 18 18 22 22 4 S (6, 9) 18 18 24 24 6 8 (7, 10) 20 22 22 20 0 k 9 (9, 11) 18 19 25 24 6 10 (8, 12) 20 23 25 22 2 11 (10, 12) 22 25 25 22 0 k 12 (11, 13) 19 22 28 25 6 13 (12, 13) 25 28 28 25 0 k Kritische Vorgänge sind 1, 4, 6, ein Scheinvorgang, 8, 11 und 13. Der kritische Pfad ist (1,2,3,5,7,10,12,13). Die kürzest mögliche Projektdauer beträgt 28 Monate. 75 <?page no="76"?> 2 Optimierung in Graphen 2.4 Dynamische Optimierung 2.4.1 Problemstellung Die Dynamische Optimierung ist eine Methode, die komplexe Optimierungsprobleme so strukturiert, dass sie schrittweise und schematisch gelöst werden können. In vielen Fällen lässt sich das Vorgehen in einem Graphen darstellen. Beispiel 2.26 (Beschaffungsplanung): Zur Produktion des Bauteils YF781 werden an jedem Tag 1.000 Prozessoren des Ty ps A690 be nötigt, der en Pr eis pr o 1 .000 Stü ck star k s chwankt. Man hat daher die Möglichkeit geschaffen, eine gewisse Menge zwischenzulagern, um Preisvorteile nutzen zu können. Täglich können 1.000 oder 2.000 Stück (oder auch gar nichts) eingekauft werden; das Lager ist zu Beginn leer und soll es auch am Ende des Planungszeitraums wieder sein. Für die nächsten Tage ist die folgende Preisentwicklung abzusehen: Tag 1 2 3 4 Kosten für 1.000 Stück 3 8 6 5 Gesucht ist die optimale Einkaufspolitik. Die möglichen Aktionen lassen sich grafisch wie in Abbildung 2.22 darstellen. 0 0 0 0 0 1 1 1 2 1 1 1 1 1 1 2 2 2 2 0 0 0 0 (16) (6) (3) (8) (6) (5) (8) (6) (16) (12) Abbildung 2.22: Graph zur Dynamischen Optimierung Der Lagerbestand ist jeweils in den Knoten verzeichnet, die nach Tagen angeordnet sind. Die Kanten stellen den Zustandsübergang dar und sind mit der jeweiligen Kaufentscheidung (0, 1 oder 2 Tausend Stück) gekennzeichnet. In Klammern sind jeweils die durch die Entscheidung anfallenden Kosten 76 <?page no="77"?> 2.4 Dynamische Optimierung angegeben. Kanten, die zu unbrauchbaren oder unnötigen Zuständen führen würden, wurden weggelassen. Man könnte das Problem nun als Suche nach einem kürzesten Weg (in Bezug auf die Kosten) vom ganz linken zum ganz rechten Knoten auffassen und etwa mit dem Dijkstra-Algorithmus lösen. Neben solchen Beschaffungsproblemen gibt es eine ganze Reihe von Problemstellungen, die sich mit der Dynamischen Optimierung lösen lassen. Genannt seien etwa die Investitionsrechnung (bei der oft auch Zinsen zu berücksichtigen sind), Produktionsplanung, Lagerhaltung und Allokationsprobleme, aber auch eher betriebswirtschaftsferne Probleme wie Alignment (zum Vergleich von Zeichenketten) oder ganz allgemein die Suche nach kürzesten und längsten Wegen. Die Gemeinsamkeit dieser Beispiele - und auch die Charakterisierung für die Lösbarkeit mittels Dynamischer Optimierung - ist die folgende Problemstruktur: • Zustände, die in Stufen (oft zeitlich) anzuordnen sind; • Entscheidungen, die zu einem neuen Zustand in der nächsten Stufe führen; jede Entscheidung bringt Kosten mit sich. • Ein Gesamtwert, der sich aus den Kosten (meist als Summe) ergibt, soll optimiert werden. Zur Berechnung führen wir die folgenden Formalisierungen ein: • Mögliche Zustände und Aktionen: Die möglichen Zustände z k sind in der (stufenabhängigen) Menge Z k zusammengefasst, die möglichen Aktionen a k in der Menge A k (z k−1 ), die zusätzlich vom vorhergehenden Zustand abhängig ist. Dabei bezeichnet der Index k die Stufe. z k ∈ Z k , a k ∈ A k (z k−1 ) • Zustandsübergang: Eine Transformationsfunktion t k führt vom aktuellen Zustand z k−1 aufgrund einer Aktion a k zum neuen Zustand z k . z k = t k (z k−1 , a k ) • Zielfunktion: Nachdem sich zu jeder Stufe ein Output f k (z k−1 , a k ) gemäß der Aktion a k ergibt, werden diese in der Zielfunktion F zusammengefasst, meist als Summe. F (a 1 , . . . , a n ) = n ∑ k=1 f k (z k−1 , a k ) 77 <?page no="78"?> 2 Optimierung in Graphen z 0 z 1 z 2 z n-1 z n a 1 a 2 a n f (z 0 ,a 1 ) f (z 1 ,a 2 ) f (z n-1 ,a n ) F(a 1 ,…,a n ) Abbildung 2.23: Schema der Dynamischen Optimierung Zusammengefasst ergibt sich ein Schema wie in Abbildung 2.23. Beispiel 2.27 (Fortsetzung von Beispiel 2.26 vgl. S. 76 ): Im obigen Beispiel heißt das: • Aktionen a k ∈ {0, 1, 2} • Zustände z k ∈ {0, 1, 2} • Anfangs- und Endzustand z 0 = 0, z 4 = 0 • Zustandsübergang z k = z k−1 + a k − 1 • Zielfunktion F (a 1 , a 2 , a 3 , a 4 ) = 3a 1 + 8a 2 + 6a 3 + 5a 4 Gesuchtes Optimum Eine Folge von (unabhängigen) Entscheidungen (a 1 , . . . , a n ) wird als Politik oder Strategie bezeichnet. Gesucht ist die Folge a ∗ = (a ∗ 1 , . . . , a ∗ n ), die zum Optimum der Zielfunktion führt, die optimale Politik. Lösungsidee: Gesamtoptimum setzt sich zusammen aus Resultaten jeder einzelnen Stufe. Deshalb wird die Lösung Stufe für Stufe (i.d.R. von hinten) entwickelt. 2.4.2 Lösungsansatz Grundlage ist das Optimalitätsprinzip von Bellman: Sei (a ∗ 1 , . . . , a ∗ j−1 , a ∗ j , . . . , a ∗ n ) eine optimale Politik, die z 0 in z n überführt. Dann ist (a ∗ j , . . . , a ∗ n ) eine optimale Politik, die z j−1 in z n überführt. 78 <?page no="79"?> 2.4 Dynamische Optimierung Bezeichnet man mit F ∗ j (z j ) den optimalen Zielfunktionswert für das Problem, das z j in z n üb erführ t, ergibt sic h d er optimale We rt fü r d as Ges am tproblem rekursiv aus der Bellmanschen Funktionalgleichung F ∗ k−1 (z k−1 ) = min a k ∈A k (z k−1 ) {f k (z k−1 , a k ) + F ∗ k (z k = t k (z k−1 , a k ))} Das Verfahren läuft dann so ab: Start: Bestimme für jedes z n−1 ∈ Z n−1 die Politik a n , die z n−1 in z n überführt. Damit ergeben sich die Werte F ∗ n−1 (z n−1 ) = f n (z n−1 , a n ). Iteration k = n − 1, n − 2, . . . , 1: Bestimme für jedes z k−1 ∈ Z k−1 die Politik a k , die z k−1 in z k (und letztlich in z n ) überführt und die Gleichung F ∗ k−1 (z k−1 ) = min a k ∈A k (z k−1 ) {f k (z k−1 , a k ) + F ∗ k (z k = t k (z k−1 , a k ))} erfüllt, d.h. den minimalen Zielfunktionswert des Teilproblems realisiert. Ergebnis: Der Zielfunktionswert des Gesamtproblems F (a ∗ ) = F ∗ 0 (z 0 ) ergibt sich nach dem letzten Iterationsschritt. Die optimale Politik lässt sich ermitteln, indem nun von vorne nach hinten der durch die optimale Wahl erreichte Zustand festgelegt wird, wodurch sich jeweils die nächste optimale Auswahl ergibt. Beispiel 2.28 (Fortsetzung von Beispiel 2.26 vgl. S. 76 ): Für jeden Zustand werden alle Zustandsübergänge und die entstehenden Kosten aufgeschrieben. Das Minimum für jeden Ausgangszustand wird mit einem Stern gekennzeichnet. Schritt 1: Übergang zum Endzustand. Da es jeweils nur eine Möglichkeit gibt, stellt diese auch das Optimum dar. z 3 z 4 a 4 f 4 (z 3 , a 4 ) = F 3 (z 3 ) 0 0 1 5 ∗ 1 0 0 0 ∗ Schritt 2: In die Summe geht hier auch immer der in Schritt 1 als optimal 79 <?page no="80"?> 2 Optimierung in Graphen gekennzeichnete Wert ein. z 2 z 3 a 3 f 3 (z 2 , a 3 ) F 2 (z 2 ) 0 0 1 6 11 ∗ 1 2 12 12 1 0 0 0 5 ∗ 1 1 6 6 2 1 0 0 0 ∗ Schritt 3: Hier ist zu beachten, dass zur Summenbildung immer die optimale Lösung aus Schritt 2 verwendet wird. z 1 z 2 a 2 f 2 (z 1 , a 2 ) F 1 (z 1 ) 0 0 1 8 19 ∗ 1 2 16 21 1 0 0 0 11 ∗ 1 1 8 13 2 2 16 16 Schritt 4: Jetzt gibt es nur noch einen Ausgangszustand, das Ergebnis lässt sich ablesen. z 0 z 1 a 1 f 1 (z 0 , a 1 ) F 0 (z 0 ) 0 0 1 3 22 1 2 6 17 ∗ Damit ergibt sich als Optimum F (a ∗ ) = F ∗ 0 (z 0 ) = 17 mit der optimalen Politik a ∗ = (2, 0, 1, 1). 2.4.3 Erweiterungen Die Dynamische Optimierung eignet sich nicht nur für solche vergleichsweise einfachen Fragestellungen wie das hier gezeigte Beispiel, sondern ist ein universelles Werkzeug mit zahlreichen Erweiterungsmöglichkeiten: • Die Zielfunktion wird nicht als Summe, sondern als Produkt, Maximum o.ä. modelliert. • Ein- und Auszahlungen werden diskontiert. • Der Planungshorizont ist unendlich. • Statt einer Auswahl aus wenigen Aktionen gibt es unendliche Entscheidungs- und damit auch Zustandsräume. 80 <?page no="81"?> 2.4 Dynamische Optimierung • Zufällige Einflüsse beim Zustandsübergang werden berücksichtigt. Dies führt zu den schon im Abschnitt 1.4 vgl. S. 36 angespro ch enen Ma rkov-Entscheidungs-Modellen. • Statt in diskreten Stufen können Entscheidungen jederzeit getroffen werden. Damit beschäftigt sich die sogenannte Kontrolltheorie. 81 <?page no="82"?> 2 Optimierung in Graphen Zusammenfassung Graphen sind ein flexibles Modellierungsinstrument, mit dem eine große Menge von Fragestellungen des Operations Research abgebildet werden kann. Durch die Formalisierung sind standardisierte Methoden anwendbar. Viele Probleme führen zur Frage nach kürzesten oder längsten Wegen. Die Algorithmen von Dijkstra und Kruskal sind Beispiele für Antworten auf die Frage nach kürzesten Wegen. Längste Wege - ein kritischer Pfad - werden z.B. in Netzplänen gesucht. Ein Verfahren dafür ist CPM. Allgemeinere Problemstellungen lassen sich mit der Dynamischen Optimierung strukturieren und lösen. Gerade für Graphen gibt es eine Vielzahl von Fragestellungen und Algorithmen, von denen hier nur ein Ausschnitt vorgestellt werden konnte. Kontrollfragen 1. We rde n R elationen in ger ic ht eten od er unger ic ht eten G rap hen abgebildet? 2. Woran erkennt man, dass ein Graph ein Baum ist? 3. Welche der vorgestellten Methoden sind gierige Algorithmen? 4. Sind die Wege, die der Dijkstra-Algorithmus findet, eindeutig? 5. Wo liegt die Wurzel im minimal aufspannenden Baum? 6. Was sind Scheinvorgänge? 7. Wie ermittelt man die optimale Politik, nachdem mit der Dynamischen Optimierung ein optimaler Zielfunktionswert gefunden wurde? Literatur Das Thema dieses Kapitels wird auch in Büchern über „Diskrete Mathematik“ behandelt, wobei hier etwa die Werke von Grimaldi [2003] und Ihringer [2002] genannt seien. Etwas umfassender werden Graphen und Algorithmen im Buch von Jungnickel [1994] behandelt. Eine ausführliche Darstellung der genannten Alternativen zu CPM bringt Neumann [1975]. Mit vielen Beispielen erläutern Hillier/ Lieberman [1997] die Dynamische Optimierung. 82 <?page no="83"?> 3 Lineare Optimierung Übersicht Dieses Kapitel beschreibt, wie bei wirtschaftswissenschaftlichen Fragestellungen häufig auftretende lineare Optimierungsprobleme modelliert und gelöst werden können. Überlegungen, wie man vorgehen kann, sind in Abschnitt 3.1 zusammengefasst. Das Lösungsverfahren, der sogenannte Simplex-Algorithmus, wird in Abschnitt 3.2 vgl. S. 91 beschrieben. Das Problem, in jedem Falle eine Anfangslösung angeben zu können, löst die Zwei-Phasen-Methode, die in Abschnitt 3.3 vgl. S. 101 entwickelt wird. Die Betrachtung dualer Probleme führt abschließend in Abschnitt 3.4 vgl. S. 108 zu einem tieferen Verständnis von Struktur und Sensibilität eines linearen Optimierungsproblems sowie zu einer alternativen Vorgehensweise zur Berechnung einer optimalen Lösung, dem dualen Simplex-Algorithmus. 3.1 Lineare Optimierungsprobleme Beispiel 3.1 (Verschnittproblem): Aus Papierrollen der Breite 95 cm (Typ D) müssen durch Schnitte Rollen der Breiten 60 cm (Typ A), 30 cm (Typ B) und 20 cm (Typ C) hergestellt werden. Dies ist auf sechs Arten mit (dann unbrauchbarem) Verschnitt möglich: 1 Rolle (95 cm) mit Schnittmuster ergibt Anzahl 1 2 3 4 5 6 Rollen vom Typ 1 1 0 0 0 0 A (60 cm) 1 0 3 2 1 0 B (30 cm) 0 1 0 1 3 4 C (20 cm) 83 <?page no="84"?> 3 Lineare Optimierung Aufgrund einer Bestellung müssen mindestens 1.440 Rollen vom Typ A, 2.160 Rollen vom Typ B und 1.080 Rollen vom Typ C hergestellt werden. Gesucht wird eine Schnittmuster-Vorschrift. Mit den Schnittanzahlen x 1 , x 2 , . . . , x 6 der sechs Muster ist folgendes Ungleichungssystem zu lösen: x 1 + x 2 ≥ 1.440 x 1 + 3x 3 + 2x 4 + x 5 ≥ 2.160 x 2 + x 4 + 3x 5 + 4x 6 ≥ 1.080 Unter den zulässigen Lösungen wird diejenige mit minimalem Rollenverbrauch gesucht, d.h. x 1 + x 2 + x 3 + x 4 + x 5 + x 6 soll möglichst klein werden. 3.1.1 Struktur eines linearen Optimierungsproblems Dieses Beispiel zeigt die allgemeine Struktur eines linearen Optimierungsproblems Glossar mit Nebenbedingungen. Da sind zunächst • variable Inputbzw. Entscheidungsgrößen x 1 , . . . , x n , n ∈ N. Diese stellen Kandidaten für die gesuchte Lösung dar. Weiterhin gibt es • eine zu optimierende Zielfunktion Glossar in linearer Form f(x 1 , . . . , x n ) = c 1 x 1 + c 2 x 2 + · · · + c n x n ! = min Die c-Werte stellen oft Kosten- oder Ertrags- oder Gewinnfaktoren dar. Konstante Terme wie z.B. Fixkosten spielen zwar für den Zielwert, nicht aber für die Optimierung eine Rolle und werden deshalb ausgelassen. Jedes Maximierungsproblem c 1 x 1 + · · · + c n x n ! = max lässt sich in das Minimierungsproblem −c 1 x 1 − · · · −c n x n ! = min überführen und umgekehrt. Dazu kommen in jedem Fall • Nebenbedingungen Glossar in linearer Form, etwa a 1 x 1 + a 2 x 2 + · · · + a n x n ≥ b Die Werte a i sind technische Parameter des Problems, b stellt hier eine Mindestforderung dar. Die Restriktionen können auch in „ ≤“- oder „ =“-Form vorliegen. Nebenbedingungen in „ ≤“-Form lassen sich durch Multiplikation der gesamten Ungleichung mit (−1) in die „≥“-Form überführen und umgekehrt. Eine „ =“-Restriktion lässt sich durch zwei entgegengesetzte Ungleichungsrestriktionen darstellen. 84 <?page no="85"?> 3.1 Lineare Optimierungsprobleme Schließlich ist eine typische Forderung an eine Lösung die Nichtnegativität • x i ≥ 0 für alle 1 ≤ i ≤ n. Die Menge Z aller n-Tupel (x 1 , . . . , x n ), die sämtliche auftretenden Nebenbedingungen erfüllen, heißt zulässiger Bereich Glossar . Definition 3.1 (Kanonische Form) Ein lineares Optimierungsproblem mit m Nebenbedingungen hat damit die Form c 1 x 1 + . . . + c n x n ! = min a 11 x 1 + . . . + a 1n x n ≥ b 1 . . . . . . . . . a m1 x 1 + . . . + a mn x n ≥ b m x 1 , . . . , x n ≥ 0 oder auch in Matrix-Vektor-Form. c T x ! = min mit Ax ≥ b und x ≥ 0 Diese Darstellung bezeichnet man als kanonische Form Glossar . Schlupfvariablen Durch Einführung von weiteren Variablen lässt sich das Ungleichungssystem der Nebenbedingungen in ein - leichter lösbares - Gleichungssystem überführen. Statt a 1 x 1 + a 2 x 2 + · · · + a n x n ≥ b setzt man dazu a 1 x 1 + a 2 x 2 + · · · + a n x n − x n+1 = b Die neue Variable x n+1 enthält also den Betrag, um den die linke Seite größer ist als die rechte. Sie wird als Schlupfvariable bezeichnet. Für jede „ ≤“- Nebenbedingung fügt man eine Schlupfvariable Glossar mit positivem Vorzeichen ein. 85 <?page no="86"?> 3 Lineare Optimierung Beispiel 3.2: Das lineare Optimierungsproblem 7x 1 − 2x 2 + 5x 3 ! = min x 1 − 2x 3 ≤ 3 −x 1 + x 2 + x 3 = 2 x 1 − 3x 3 ≥ 1 x 1 , x 2 , x 3 ≥ 0 lautet in „=“-Form: 7x 1 − 2x 2 + 5x 3 ! = min x 1 − 2x 3 + x 4 = 3 −x 1 + x 2 + x 3 = 2 x 1 − 3x 3 − x 5 = 1 x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0 An der Zielfunktion ändert sich dabei nichts, die Schlupfvariablen tragen nichts zum Ergebnis bei, d.h. man setzt ihren Kostenfaktor auf 0. Definition 3.2 (Standardform) Auch die Gleichungsform lässt sich mit Vektoren und Matrizen darstellen, etwa als A ′ x ′ = b mit c ′T x ′ ! = min und x ′ ≥ 0 Diese Form wird als Standardform Glossar bezeichnet. Dazu ist das Gleichungssystem zusätzlich noch so umzuformen, dass die „rechte Seite“, also der Inhalt des Vektors b, aus nicht-negativen Werten bestehen Die Bezeichnungen A ′ , b ′ und x ′ dienen hier zur Unterscheidung vom Problem in kanonischer Form. Man lässt die Striche bei der weiteren Rechnung üblicherweise weg. 3.1.2 Zeilenstufenform und Basisformen Eine Lösung für ein lineares Gleichungssystem lässt sich mit dem Gauß- Algorithmus Glossar berechnen. Bei diesem wird die Matrix in Zeilenstufenform gebracht. 86 <?page no="87"?> 3.1 Lineare Optimierungsprobleme Beispiel 3.3 (Fortsetzung von Beispiel 3.2): ⎡ ⎣ 1 0 −2 1 0 3 −1 1 1 0 0 2 1 0 −3 0 −1 1 ⎤ ⎦ ⎡ ⎣ 1 0 −2 1 0 3 0 1 −1 1 0 5 0 0 1 1 1 2 ⎤ ⎦ II + I III − I ⎡ ⎣ 1 0 0 3 2 7 0 1 0 2 1 7 0 0 1 1 1 2 ⎤ ⎦ I + 2 · III II + III Eine spezielle Lösung lässt sich hier ablesen: x 1 = 7, x 2 = 7, x 3 = 2. Die Schlupfvariablen haben der Wert 0. Als Zielfunktionswert ergibt sich c T x = 49 − 14 + 10 = 45. Für ein lineares Optimierungsproblem kann man also aus der Zeilenstufenform eine spezielle Lösung ablesen bzw. jede Lösung als Kombination der speziellen Lösung und einer Linearkombination von Vektoren darstellen. Hierbei kann es vorkommen, dass diese „Lösung“ die Nichtnegativitätsbedingungen nicht erfüllt. Die spezielle Lösung zeichnet sich dadurch aus, dass alle möglichen Einheitsvektoren darin vorkommen, und zwar so weit links in der Matrix wie möglich. Dies ist aber nicht die einzige Möglichkeit, eine spezielle Lösung zu berechnen. Definition 3.3 (Basisformen einer Gleichungsmatrix) Man sagt, eine k-zeilige Matrix hat die Basisform bzw. erweiterte Zeilenstufenform, wenn in ihr alle k Einheitsspalten, d.h. Spalten der Form ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ 1 0 . . . 0 0 ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ , ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ 0 1 . . . 0 0 ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ , . . . ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ 0 0 . . . 1 0 ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ , ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ 0 0 . . . 0 1 ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ ∣ vorliegen. Die Zeilenstufenform einer Gleichungsmatrix ist damit eine spezielle Basisform. Die Basisform ermöglicht das einfache Ablesen einer speziellen Lösung, der sogenannten Grundlösung oder Basislösung. Man muss dazu die k verschiedenen Einheitsspalten lokalisieren; diese heißen Basisspalten. Jeder Variable 87 <?page no="88"?> 3 Lineare Optimierung zu solch einer Spalte (Basisvariable) ordnet man denjenigen Wert auf der rechten Seite zu, der sich auf Höhe der „Eins“ befindet. Allen anderen Variablen ordnet man den Wert Null zu. Liegt eine solche Basislösung vor, so kann man hieraus durch geeignete Zeilenumformungen leicht eine weitere Basislösung erzeugen. Dieser Prozess heißt Pivotisierung oder Basiswechsel. Beispiel 3.4 (Fortsetzung von Beispiel 3.3): Die oben ermittelte Zeilenstufenform wird in einem Schritt in eine andere Basisform gebracht: ⎡ ⎣ 1 0 −2 1 0 3 0 1 −1 1 0 5 0 0 1 1 1 2 ⎤ ⎦ I − 2 · III II − III Die Lösung lautet: x 1 = 3, x 2 = 5, x 3 = 0. D ie Sch lu pfvar iabl e x 5 hat jetzt einen positiven Wert, nämlich 2. Der Zielfunktionswert ist c T x = 21 − 10 + 0 = 11, hat sich also deutlich verbessert. Eine andere Basisform lautet: ⎡ ⎣ 1 −1 −1 0 0 −2 0 1 −1 1 0 5 0 −1 2 0 1 −3 ⎤ ⎦ I − II III − II Hier wäre die Lösung x 1 = −2, x 2 = x 3 = 0, x 4 = 5, x 5 = −3. Damit werden die Nichtnegativitätsbedingungen verletzt, es ist also keine zulässige Lösung. Die Bedeutung der erweiterten Zeilenstufenformen für Probleme der linearen Optimierung ergibt sich nun aus der Feststellung: Zu jeder zulässigen Lösung des linearen Gleichungssystems (d.h. alle x i ≥ 0) gibt es eine zulässige Basislösung, die einen mindestens genau so niedrigen Zielwert besitzt. Unter allen Optimallösungen muss daher eine zulässige Basislösung sein. Diese Aussage ist von zentraler Bedeutung für das weitere Vorgehen, denn sie besagt, dass nur zulässige Basislösungen auf Optimalität überprüft werden müssen. Der Übergang von einer Basislösung zur nächsten erfolgt durch den Basiswechsel. Geometrisch entspricht eine Basislösung einer Ecke des zulässigen Bereichs. 88 <?page no="89"?> 3.1 Lineare Optimierungsprobleme Charakterisierung einer Ecke: • Genau m Einträge in x = (x 1 , . . . , x n ) sind ≥ 0 (im Folgenden stets als > 0 angenommen, man spricht sonst von degenerierten Ecken), • i 1 , . . . , i m bezeichnen diese Plätze mit positiven Einträgen. Sie werden als Basisindizes der Ecke x bezeichnet, • die übrigen n − m Einträge sind = 0. 3.1. 3 L ösba rk ei t e ines linea ren Op tim ier ungs pr ob lem s Weitere Gedanken müssen wir uns über die Existenz eines solchen Optimums machen. Es können nämlich für den zulässigen Bereich Z eines linearen Optimierungsproblems, der durch die Nebenbedingungen beschrieben wird, die folgenden drei Fälle auftreten: • Es gibt keine Lösung, d.h. Z = ∅. Dies ist der Fall, wenn sich Nebenbedingungen gegenseitig ausschließen. • Z 5= ∅ ist beschränkt. Dann ist Z ein Simplex, und eine optimale Lösung liegt immer in einer der endlich vielen Ecken, d.h. ist durch eine Basislösung beschrieben. • Z 5= ∅ ist unbeschränkt. Dann ist eine genaue Untersuchung erforderlich. Es kann Lösungen geben - dann auch wieder in einer der Ecken - oder nicht, d.h. das Problem ist unbeschränkt. Die Erkenntnisse fasst der folgende Satz zusammen. Satz 3.1 Sei der zulässige Bereich Z 5= ∅. Dann gilt • Z hat nur endlich viele Ecken x (1) , . . . , x (t) • x (i) ist Ecke ⇐⇒ x (i) ist eine zulässige Basislösung (d.h. insbesondere ist x (i) aus einer bestimmten Basisform abzulesen). • Ist die Zielfunktion im zulässigen Bereich nach unten beschränkt, d.h. gilt c 1 x 1 + · · · + c n x n ≥ K für alle (x 1 , . . . , x n ) ∈ Z mit einer geeigneten Konstanten K, so wird das Optimum in einer Ecke angenommen. Damit ergibt sich ein erster Ansatz für den Grundalgorithmus zur Lösung eines linearen Optimierungsproblems. 89 <?page no="90"?> 3 Lineare Optimierung Schritt 1: Suche eine Startecke x (1) , d.h. eine zulässige Grundlösung. Falls keine gefunden werden kann, ist das Problem unlösbar. Andernfalls kann mit dem nächsten Schritt fortgefahren werden. Schritt 2: Überprüfe, ob x (1) optimal ist. Wenn ja, Abbruch. Wenn nein, überprüfe, ob das Problem unlösbar ist. Wenn ja, Abbruch. Wenn nein, gehe zum nächsten Schritt. Schritt 3: Berechne eine neue Ecke x (2) mit einem kleineren Zielwert (Basiswechsel, Pivotisierung). Wiederhole den letzten Schritt. Das Verfahren bricht im Normalfall nach endlich vielen Schritten ab. Wie diese Schritte realisiert werden, soll in den nächsten beiden Abschnitten hergeleitet werden. Zunächst werden wir in Abschnitt 3.2 vgl. S. 91 die Schritte 2 und 3 formalisieren. In Abschnitt 3.3 vgl. S. 101 wird Schritt 1 konkretisiert. 90 <?page no="91"?> 3.2 Simplex-Algorithmus 3.2 Simplex-Algorithmus Der Simplex-Algorithmus Glossar ist ein Verfahren, das die Überprüfung der Basislösungen strukturiert und effizient durchführt. Dazu benötigt man zunächst Kriterien, nach denen in Schritt 2 die Bewegung von Ecke zu Ecke „gesteuert“ wird, bis man Optimalität oder Unlösbarkeit erkennt. Beispiel 3.5 (Fortsetzung): Im Beispiel 3.3 vgl. S. 87 kann aus der Zeilenstufenform (wie aus jeder Basisform) neben der speziellen Lösung x 1 = 7, x 2 = 7, x 3 = 2 auch eine allgemeine Lösung abgelesen werden: x 1 = 7 − 3x 4 − 2x 5 x 2 = 7 − 2x 4 − x 5 x 3 = 2 − x 4 − x 5 Dabei sind x 4 und x 5 beliebige Werte, d.h. für jede Wahl dieser beiden Variablen gibt es eine Lösung - manche davon sind allerdings nicht im zulässigen Bereich. Der Zielfunktionswert ist dann abhängig von diesen beiden Variablen darstellbar: c T x = 7 · (7−3x 4 −2x 5 )−2 · (7−2x 4 −x 5 )+5 · (2−x 4 −x 5 ) = 45−22x 4 −17x 5 Wenn nun eine der Schlupfvariablen x 4 oder x 5 einen positiven Wert hätte, wäre der Zielfunktionswert geringer. Für eine Einheit von x 4 sinkt der Zielfunktionswert um 22, für x 5 um 17. Diese Koeffizienten, die angeben, um wie viel sich der Zielfunktionswert pro Einheit ändert, werden als δ-Werte bezeichnet. Natürlich lässt sich der Zielfunktionswert im Regelfall nicht um einen beliebig hohen Betrag verbessern, wenn man nur genügend viel in die Variablen mit positivem δ-Wert steckt. Irgendwann würde nämlich dabei eine andere Variable einen unzulässigen, weil negativen Wert bekommen. Deshalb geht man mit der Änderung nur so weit, bis eine der Variablen den Wert Null erreicht - wir landen also wieder bei einer Ecke. Ausgehend von einer Basisform mit zulässiger Basislösung x (1) und Basisindizes i 1 , . . . , i m kann man das Verfahren im Simplex-Tableau formalisieren. Das Simplex-Tableau Glossar besteht vor allem aus einer Basislösung nach dem Gauß-Verfahren. Die Spalten werden nummeriert, auf der linken Seite werden die Indizes der Basisvariablen aufgeführt. Dazu kommt ganz unten eine weitere Zeile; diese enthält 91 <?page no="92"?> 3 Lineare Optimierung • den Zielfunktionswert c T x dieser Basislösung, • die marginalen Verringerungen der Zielfunktion bei Eingang der entsprechenden Nichtbasisvariablen in die Basis (δ-Werte). Diese berechnen sich durch die Formel δ # = c i 1 f 1# + c i 2 f 2# + · · · + c i m f m# − c # Das Tableau wird nun so aufgeschrieben: 1 . . . k . . . n i 1 f 11 . . . f 1k . . . f 1n x i 1 . . . . . . . . . . . . i m f m1 . . . f mk . . . f mn x i m δ 1 . . . δ k . . . δ n c T x Um die δ-Werte leichter berechnen zu können, bietet es sich an, über die Indizes oben und neben die Indizes auf der linken Seite die dazugehörigen c-Werte zu schreiben. Beispiel 3.6 (Simplex-Tableau): Im Beispiel 3.4 vgl. S. 88 hatten wir zuletzt die Gleichungsmatrix ⎡ ⎣ 1 0 −2 1 0 3 0 1 −1 1 0 5 0 0 1 1 1 2 ⎤ ⎦ Das Simplex-Tableau dazu lautet: 7 −2 5 0 0 1 2 3 4 5 7 1 1 0 −2 1 0 3 −2 2 0 1 −1 1 0 5 0 5 0 0 1 1 1 2 0 0 −17 5 0 11 Berechnung der δ-Werte: δ 1 = 7 · 1 + (−2) · 0 + 0 · 0 − 7 = 0 δ 2 = 7 · 0 + (−2) · 1 + 0 · 0 − (−2) = 0 δ 3 = 7 · (−2) + (−2) · (−1) + 0 · 1 − 5 = −17 δ 4 = 7 · 1 + (−2) · 1 + 0 · 1 − 0 = 5 δ 5 = 7 · 0 + (−2) · 0 + 0 · 1 − 0 = 0 Zielwert: 7 · 3 + (−2) · 5 + 0 · 2 = 11 92 <?page no="93"?> 3.2 Simplex-Algorithmus Eigenschaften der δ-Werte Gegeben sei eine zulässige Basislösung x = (x 1 , . . . , x n ) mit Zielwert c T x und δ-Werten δ 1 , . . . , δ n . Dann ergibt sich für eine andere Lösung y = (y 1 , . . . , y n ) der Zielwert c T y = c T x − δ 1 y 1 − · · · − δ n y n Diesen Zusammenhang konnte man in Beispiel 3.5 sehen. Eine technische Herleitung dieser Formel ist am Ende dieses Abschnitts vgl. S. 99 nachzulesen. Mit Bezug auf eine Nichtbasisspalte ' mit y # > 0 folgt: • Falls δ # > 0, so ist x nicht optimal. x # als neue Basisvariable verringert den Zielwert. • Falls δ # ≤ 0, so führt die Alternativlösung zu einem um −δ # y # ≥ 0 erhöhten Zielwert. x # sollte also nicht Basisvariable werden. Die Erhöhung von x # verändert auch die Werte der anderen Variablen. Es ist für jede Basisvariable sicherzustellen, dass nach der Änderung noch x i k − f k# x # ≥ 0 für alle Basisindizes i k gilt (Engpasskriterium). Dies ist gewährleistet, wenn das Minimum der Quotienten x i k / f k# als Änderung, also als neuer Wert für x # gewählt wird. Würde ein größerer Wert gewählt, wäre die Lösung unzulässig; bei exakt dieser Wahl erreicht die Basisvariable mit dem Index i k den Wert 0, es ergibt sich wieder eine Ecke. Es wird also ein Basistausch durchgeführt. Beispiel 3.7 (Fortsetzung von Beispiel 3.6): Aus dem aktuellen Simplex-Tableau lesen wir die allgemeine Lösung ab. 1 2 3 4 5 1 1 0 −2 1 0 3 2 0 1 −1 1 0 5 5 0 0 1 1 1 2 0 0 −17 5 0 11 x 1 = 3 + 2x 3 − x 4 x 2 = 5 + x 3 − x 4 x 5 = 2 − x 3 − x 4 Nun lässt sich feststellen: • δ 4 = 5 > 0 ⇒ aktueller Zielwert 11 kann zu 11 + 17x 3 − 5x 4 verändert werden. Dazu ist x 4 möglichst groß zu wählen sowie x 3 = 0. • Erforderlich: Zulässige Anpassung der „alten“ Basisvariablen x 1 , x 2 , x 5 : x 1 = 3 − x 4 ≥ 0, x 2 = 5 − x 4 ≥ 0, x 5 = 2 − x 4 ≥ 0 • Maximale Verbesserung für x 4 = 2 = min{3, 5, 2}. 93 <?page no="94"?> 3 Lineare Optimierung Dass nicht immer etwas Besseres realisierbar ist, zeigt das folgende Beispiel. Beispiel 3.8 (Simplex-Tableau eines unlösbaren Problems): Angenommen, das LP hat folgendes Simplex-Tableau (Zielfunktion nicht konkretisiert): 1 2 3 4 5 1 1 0 −2 −1 0 3 2 0 1 −1 −1 0 5 5 0 0 1 −2 1 2 0 0 −17 5 0 11 x 1 = 3 + 2x 3 + x 4 x 2 = 5 + x 3 + x 4 x 5 = 2 − x 3 + 2x 4 Entsprechend dem obigen Vorgehen ergibt sich hier: • δ 4 = 5 > 0 ⇒ aktu el ler Zielwer t 11 kann zu 11 + 1 7x 3 − 5x 4 ver änder t werden. Dazu ist x 4 möglichst groß zu wählen sowie x 3 = 0. • Aber dieses Problem ist unlösbar: Die Einführung von x 4 ≥ 0 in die Basis ist durch keinen Engpass beschränkt; es gilt stets: x 1 = 3 + x 4 ≥ 0, x 2 = 5 + x 4 ≥ 0, x 5 = 2 + 2x 4 ≥ 0 Das in den Beispielen verwendete Vorgehen können wir nun als gesuchten Schritt 2 zusammenfassen. Umsetzung von Schritt 2 des Simplex-Algorithmus • Falls δ i ≤ 0 für alle i = 1, . . . , n ⇒ Die Anfangsecke x (1) ist optimal, das Verfahren bricht ab. • Falls es ein ' mit δ # > 0 gibt und f k# ≤ 0 für alle k ⇒ Das Problem ist mangels Engpass unlösbar, das Verfahren bricht ab. • Falls es mindestens ein ' gibt mit δ # > 0 und es für jedes derartige ' ein k gibt mit f k# > 0. ⇒ x (1) ist nicht optimal, gehe zu Schritt 3. Den letzten Punkt kann man so interpretieren: Wird Index ' zum Basisindex, so wird eine bessere Lösung ermittelt. Dafür muss ein Basisindex zum Nichtbasisindex werden. 94 <?page no="95"?> 3.2 Simplex-Algorithmus Damit ergibt sich auch schon das Vorgehen für Schritt 3 zur Bestimmung einer neuen Ecke mit geringerem Zielwert. Umsetzung von Schritt 3 des Simplex-Algorithmus • Wahl derjenigen Spalte, die in die Basis kommt, d.h. Wahl der Pivotspalte: Wähle ein ' mit δ # > 0. • Wahl derjenigen Spalte, die die Basis verlässt, d.h. Wahl der Pivotzeile: Wähle k so, dass x i k f k! = min j { x i j f j! : f j# > 0}. • Der Eintrag im Schnittpunkt von Pivotspalte und -zeile wird als Pivotelement bezeichnet und entsprechend gekennzeichnet. • Berechne die neue Ecke zur neuen Basis. Der letzte Punkt bedarf noch der Konkretisierung. Das Tableau zur neuen Ecke erhält man wie folgt: Neue f-Werte: Wie bereits erwähnt, stehen bei zulässigen Grundlösungen in den Basisspalten gerade die Einheitsspalten. Bisher hatte man die Basisindizes i 1 , . . . , i m . Jetzt lauten sie i 1 , . . . , i k−1 , ', i k+1 , . . . , i m . Die neue Basisform bekommt man durch Pivotisierung, wobei die '-te Spalte die Gestalt der i k -ten Einheitsspalte annimmt. Die einzige Umformung, die dazu verwendet werden darf, ist diejenige der Form „alte Zeile + α · Pivotzeile = neue Zeile“, da sonst die Einheitsvektoren verschwinden könnten. Neue δ-Werte: Da die Basis-δ-Werte 0 sein müssen, wird analog zu oben die δ-Zeile durch elementare Zeilenumformungen so verändert, dass unter allen neuen Basisspalten der Wert 0 steht. Also: Fortsetzung der Pivotisierung in der letzten Zeile. Die c 1 , . . . , c n werden bei der Fortschreibung der δ-Werte nicht benötigt. Die Fortschreibung ist auch deshalb plausibel, da hierzu die Darstellung der Zielfunktion in den neuen Nichtbasisvariablen korrespondiert. Alternativ (und bei Handrechnung weniger fehleranfällig) kann man die Neuberechnung über die Definition der δ-Werte vornehmen. 95 <?page no="96"?> 3 Lineare Optimierung Das neue Tableau hat diese Form: 1 . . . . . . n i 1 ˜ f 11 . . . . . . ˜ f 1n ˜ x i 1 . . . . . . . . . . . . i k−1 . . . . . . ˜ x i k−1 ' . . . . . . ˜ x # i k+1 . . . . . . ˜ x i k+1 . . . . . . . . . . . . i m ˜ f m1 . . . . . . ˜ f mn ˜ x i m ˜ δ 1 . . . . . . ˜ δ n c T ˜ x Beispiel 3.9 (Fortsetzung von Beispiel 3.7 vgl. S. 93 ): Die obige Herleitung von Pivotspalte und -zeile wird nun im Tableau gezeigt. 1 2 3 4 5 1 1 0 −2 1 0 3 3 2 0 1 −1 1 0 5 5 5 0 0 1 1 1 2 2 0 0 −17 5 0 11 Einzig mögliche Pivotspalte ist die vierte, da nur hier ein positiver δ-Wert steht; deshalb setzt man ' = 4. Es werden nun die Quotienten der Werte auf der rechten Seite und aus der Pivotspalte gebildet. Sie werden ganz rechts in einer weiteren Spalte notiert. Der kleinste Wert bestimmt die Pivotzeile, hier also die dritte, d.h. k = 3, was i k = 5 entspricht. Das Pivotelement wird gekennzeichnet. Spalte 5 verlässt also die Basis, Spalte 4 geht hinein. Das neue Tableau lautet 1 2 3 4 5 1 1 0 −3 0 −1 1 2 0 1 −2 0 −1 3 4 0 0 1 1 1 2 0 0 −22 0 −5 1 Hier gibt es keinen positiven δ-Wert mehr, dieses Tableau stellt also schon die Optimallösung dar. Sie lautet x 1 = 1, x 2 = 3, x 3 = 0, x 4 = 2, x 5 = 0; der Zielwert dazu ist 1. 96 <?page no="97"?> 3.2 Simplex-Algorithmus In diesem Beispiel gab es nur eine Möglichkeit, die Pivotspalte zu wählen. Was aber ist zu tun, wenn mehrere positive δ-Werte vorliegen? Eine gebräuchliche Strategie ist es, immer den größten δ-Wert zur Bestimmung der Pivotspalte zu verwenden. Man verspricht sich davon eine große Veränderung des Zielfunktionswertes und damit ein schnelles Auffinden des Optimums. Da dies jedoch nicht allein von δ abhängt, ist das Vorgehen rein heuristisch. Außerdem hat es noch den Nachteil, dass es in vereinzelt vorkommenden Problemen zu einem Kreisen zwischen mehreren Ecken kommen kann, ohne das Optimum zu finden. Wählt man hingegen immer den am weitesten links stehenden positiven δ-Wert zur Festlegung der Pivotspalte aus, ist ein Kreisen ausgeschlossen - der Algorithmus führt sicher zum Optimum (oder zur Feststellung, dass kein solches existiert). Wir werden deshalb diese Strategie, die als Bland’sche Regel bezeichnet wird, im Folgenden anwenden. Pivotisierung Es sei noch einmal das technische Vorgehen klar gestellt: Der Umformungsschritt reduziert sich nach diesen Überlegungen darauf, nach Bestimmung von Pivotspalte und -zeile das Pivotelement auf den Wert 1 und alle Werte darüber und darunter auf den Wert 0 zu bringen. Dies geschieht durch die bekannten Zeilenumformungen. Wir haben nun das nötige Handwerkszeug entwickeln, um uns an ein vollständiges neues Beispiel zu wagen. Beispiel 3.10: Ein lineares Optimierungsproblem laute x 1 + 2x 2 + 7x 3 + 5x 4 ! = min − 3 2 x 1 + 3x 2 + x 5 − x 6 = 6 x 2 + x 4 − x 6 = 3 1 2 x 1 − x 2 + x 3 + x 6 = 1 x 1 , . . . , x 6 ≥ 0 97 <?page no="98"?> 3 Lineare Optimierung Dazu ist das (erst teilweise gefüllte) Simplex-Tableau: 1 2 7 5 0 0 1 2 3 4 5 6 0 5 − 3 2 3 0 0 1 −1 6 5 4 0 1 0 1 0 −1 3 7 3 1 2 −1 1 0 0 1 1 Da die drei notwendigen Einheitsvektoren vorhanden sind, ist dies eine zulässige Lösung. Berechne zunächst die δ-Werte: δ 1 = 0 · (− 3 2 ) + 5 · 0 + 7 · 1 2 − 1 = 5 2 δ 2 = 0 · 3 + 5 · 1 + 7 · (−1) − 2 = −4 δ 6 = 0 · (−1) + 5 · (−1) + 7 · 1 − 0 = 2 In den Basisspalten ergibt sich (wie immer) δ 3 = δ 4 = δ 5 = 0. Der Zielfunktionswert ist 0 · 6 + 5 · 3 + 7 · 1 = 22. Als Pivotspalte wird die erste gewählt, also ' = 1. Die x f -Werte lauten • Für k = 1: Der Wert x i 1 f 11 muss nicht gebildet werden wegen f 11 < 0. • Für k = 2: Der Wert x i 2 f 21 muss nicht gebildet werden wegen f 21 = 0. • Für k = 3 ist x i 3 f 31 = 1 1 2 = 2. Das komplette Tableau lautet somit: 1 2 3 4 5 6 x f 5 − 3 2 3 0 0 1 −1 6 − 4 0 1 0 1 0 −1 3 − 3 1 2 −1 1 0 0 1 1 2 5 2 −4 0 0 0 2 22 98 <?page no="99"?> 3.2 Simplex-Algorithmus Die Umformung verläuft nun so: Spalte i k = 3 „verlässt die Basis“. Das neue Tableau lautet (Zeilenumformungen auch auf die letzte Zeile anwenden! ) 1 2 3 4 5 6 x f 5 0 0 3 0 1 2 9 − 4 0 1 0 1 0 −1 3 3 1 1 −2 2 0 0 2 2 − 0 1 −5 0 0 −3 17 Noch ein Schritt ist nötig: Spalte 2 geht in die Basis, Spalte 4 verlässt die Basis. Das neue Tableau lautet 1 2 3 4 5 6 5 0 0 3 0 1 2 9 2 0 1 0 1 0 −1 3 1 1 0 2 2 0 0 8 0 0 −5 −1 0 −2 14 Da alle δ-Werte kleiner oder gleich 0 sind, ist die Optimallösung gefunden. Sie lautet (mit Optimalwert 14): x 1 = 8, x 2 = 3, x 5 = 9, x 3 = x 4 = x 6 = 0 Wenn in der schließlich erhaltenen Lösung auftretende Schlupfvariablen (wie in diesem Beispiel) noch positive Werte haben, bedeutet dies: Die zugehörige Nebenbedingung (in „ ≤“bzw. „≥“-Form) wurde nicht voll ausgeschöpft. In der Regel lässt sich dies ökonomisch interpretieren. Zur Angabe der Lösung des Ausgangsproblems werden die Schlupfvariablen schließlich gestrichen. Technische Anmerkung Die hier gewählte Beschreibung des Simplex-Verfahrens knüpft direkt an den Gauß-Algorithmus an, d.h. stellt die Korrespondenz von zulässigen Basislösungen und Ecken des Simplex in den Vordergrund. Der Sachverhalt lässt sich äquivalent auch rein algebraisch beschreiben, was diesen abstrakter erscheinen lässt, rechnerisch aber an einigen Stellen auch Vorzüge hat. Ist x eine Ecke zur Menge der Basisindizes B und ist N = {1, . . . , n} \ B die Menge der Nichtbasisindizes, dann lassen sich alle vorkommenden Größen partitionieren. So fasst A B alle Basisspalten von A zu einer invertierbaren 99 <?page no="100"?> 3 Lineare Optimierung m × m-Matrix zusammen, A N die restlichen Spalten zu einer m × (n − m)- Matrix. Entsprechend ist x B der m-V ektor der Basisw erte etc. Damit erhält man etwa folgende Identitäten: • Ax = A B x B +A N x N = A B x B = b, weil x N nur Nullen enthält. Daraus folgt: x B = A −1 B b. • Analog gilt für irgendein zulässiges y: Ay = b ⇒ A −1 B Ay = x B . Speziell ist dann A −1 B A N die Matrix der f-Werte unter Nicht-Basis- Indizes im Tableau. • Mit A −1 B A lässt sich die Definition der δ-Werte in eine Matrixdarstellung überführen: δ T = c T B A −1 B A − c T . Für ein zulässiges y ergibt sich daraus δ T y = c T B A −1 B Ay − c T y = c T B x B − c T y, und das ergibt den für die Aussagen zur Optimalität wichtigen Zusammenhang c T y = c T x − δ T y. 100 <?page no="101"?> 3.3 Zweiphasenmethode 3.3 Zweiphasenmethode Ungelöst ist jetzt noch, wie man auf eine zulässige Ausgangslösung kommt. Dies wird erst jetzt beantwortet, weil man dazu tatsächlich auch den gerade kennengelernten Simplex-Algorithmus - angewandt auf ein modifiziertes Problem - anwendet. Wenn bei einem Problem in Standardform • alle Basisspalten bereits in der Koeffizientenmatrix auftauchen, • b 1 ≥ 0, . . . , b m ≥ 0, so ist eine zulässige Grundlösung und damit eine Startecke direkt ablesbar. Beispiel 3.11: Lautet das System der Nebenbedingungen x 1 + 2x 2 + x 3 = 1 −x 1 − 2x 2 + x 4 = 2 so hat die erweiterte Koeffizientenmatrix die Gestalt [ 1 2 1 0 1 −1 −2 0 1 2 ] Eine erste zulässige Grundlösung (und damit das erste Simplex-Tableau) kann unmittelbar abgelesen werden: x 1 = x 2 = 0, x 3 = 1, x 4 = 2 Ansatz für das Hilfsproblem Die Voraussetzungen für das Vorliegen einer Startlösung müssen nicht erfüllt sein, aber • b i ≥ 0 lässt sich für Zeilen, die dies nicht erfüllen, einfach erreichen durch Multiplikation der entsprechenden Zeilen mit (−1). • Das Vorliegen aller Basisspalten lässt sich erreichen durch Hinzufügen der fehlenden Basisspalten mittels Einführung sogenannter künstlicher Variablen Glossar , die von den Schlupfvariablen zu unterscheiden sind. Diese künstlichen Variablen haben die Straf-Kosten 1, während die anderen Variablen die Kosten 0 bekommen. Man ändert also auch die Zielfunktion und kommt so zu einem Hilfsproblem mit übersichtlicher Struktur. 101 <?page no="102"?> 3 Lineare Optimierung Beispiel 3.12: Das Ausgangsproblem 7x 1 − 3x 2 + x 3 ! = min x 1 + 2x 2 + x 4 = 3 2x 1 − 3x 2 + 3x 3 = 5 x 1 , . . . , x 4 ≥ 0 führt zum Hilfsproblem x 5 ! = min x 1 + 2x 2 + x 4 = 3 2x 1 − 3x 2 + 3x 3 + x 5 = 5 x 1 , . . . , x 5 ≥ 0 Eigenschaften des Hilfsproblems Im Hilfsproblem gibt es immer eine sofort ablesbare Startecke, nämlich diejenige mit x i j = b k j , j = 1, . . . , m, x p = 0 für alle anderen Indizes p, wobei k j diejenige Zeile des linearen Gleichungssystems ist, in der x i j steht. Der zulässige Bereich des Hilfsproblems ist also immer nicht leer. Weiterhin ist die Zielfunktion ≥ 0, da c p ≥ 0 und x p ≥ 0 für alle p. Sie ist also nach unten beschränkt. Damit hat das Hilfsproblem immer eine optimale Lösung. Die Anwendung des Simplex-Algorithmus auf das Hilfsproblem ergibt entweder • eine optimale Ecke mit dem Zielwert 0, d.h. keine der künstlichen Variablen ist noch in der Basis. Diese Ecke ist nach Streichung der künstlichen Variablen auch eine Ecke des Ausgangsproblems und damit für den Schritt 2 als Startecke geeignet. oder • eine optimale Ecke mit einem Zielwert größer als 0, d.h. die Nebenbedingungen sind nicht ohne künstliche Variablen erfüllbar. Dann ist der zulässige Bereich des Ausgangsproblems leer, dieses also nicht lösbar. Somit lässt sich also mit Hilfe des Hilfsproblems Schritt 1 des Simplex- Algorithmus realisieren. Wir bezeichnen seine Lösung als erste Phase, den gesamten Algorithmus als Zweiphasenmethode Glossar . 102 <?page no="103"?> 3.3 Zweiphasenmethode Zusammenfassung der Zweiphasenmethode 1. Ausgangsproblem in Standardform bringen mit b 1 ≥ 0, . . . , b m ≥ 0 2. Hilfsproblem aufstellen 3. Hilfsproblem mittels des Simplex-Algorithmus lösen. Bei Erkennen der Unlösbarkeit des Ausgangsproblems abbrechen 4. Ausgangsproblem mit der in 3. gewonnenen Startecke nach Streichen der künstlichen Variablen und Neuberechnung der δ-Werte mittels des Simplex-Algorithmus lösen. Beispiel 3.13: Gegeben ist das lineare Optimierungsproblem x 1 + 2x 2 + 7x 3 + 5x 4 ! = min −x 1 + 2x 2 + x 3 ≤ 7 x 2 + x 4 ≥ 3 x 1 + 2x 3 + 2x 4 = 8 x 1 , x 2 , x 3 , x 4 ≥ 0 Hier müssen zwei Schlupfvariablen eingeführt werden. Das Problem lautet dann in Standardform. x 1 + 2x 2 + 7x 3 + 5x 4 ! = min −x 1 + 2x 2 + x 3 + x 5 = 7 x 2 + x 4 − x 6 = 3 x 1 + 2x 3 + 2x 4 = 8 x 1 , . . . , x 6 ≥ 0 Da keine zulässige Grundlösung abzulesen ist, müssen zwei künstliche Variablen eingeführt werden. Das Hilfsproblem lautet: x 7 + x 8 ! = min −x 1 + 2x 2 + x 3 + x 5 = 7 x 2 + x 4 − x 6 + x 7 = 3 x 1 + 2x 3 + 2x 4 + x 8 = 8 x 1 , . . . , x 8 ≥ 0 103 <?page no="104"?> 3 Lineare Optimierung Das Starttableau ist: 1 2 3 4 5 6 7 8 5 −1 2 1 0 1 0 0 0 7 − 7 0 1 0 1 0 −1 1 0 3 3 8 1 0 2 2 0 0 0 1 8 4 1 1 2 3 0 −1 0 0 11 Spalte 4 geht in die Basis. Spalte 7 verlässt die Basis. Neues Tableau: 1 2 3 4 5 6 7 8 5 −1 2 1 0 1 0 0 0 7 7 4 0 1 0 1 0 −1 1 0 3 − 8 1 −2 2 0 0 2 −2 1 2 1 1 −2 2 0 0 2 −3 0 2 Spalte 3 geht in die Basis. Spalte 8 verlässt die Basis: 1 2 3 4 5 6 7 8 5 − 3 2 3 0 0 1 −1 1 − 1 2 6 4 0 1 0 1 0 −1 1 0 3 3 1 2 −1 1 0 0 1 −1 1 2 1 0 0 0 0 0 0 −1 −1 0 Optimale Lösung gefunden! Das Ausgangsproblem hat eine Grundlösung. Beginn der Phase 2 - das Starttableau ist: 1 2 3 4 5 6 5 − 3 2 3 0 0 1 −1 6 − 4 0 1 0 1 0 −1 3 − 3 1 2 −1 1 0 0 1 1 2 5 2 −4 0 0 0 2 22 Spalte 1 geht in die Basis. Spalte 3 verlässt die Basis. Neues Tableau: 1 2 3 4 5 6 5 0 0 3 0 1 2 9 − 4 0 1 0 1 0 −1 3 3 1 1 −2 2 0 0 2 2 − 0 1 −5 0 0 −3 17 104 <?page no="105"?> 3.3 Zweiphasenmethode Spalte 2 geht in die Basis. Spalte 4 verlässt die Basis: 1 2 3 4 5 6 5 0 0 3 0 1 2 9 2 0 1 0 1 0 −1 3 1 1 0 2 2 0 0 8 0 0 −5 −1 0 −2 14 Optimale Lösung gefunden! Sie lautet x 1 = 8, x 2 = 3, x 5 = 9, x 3 = x 4 = x 6 = 0 und ha t d en Zie lwer t 14. F ür da s A usga n g sp ro blem (vor Ein fü hr ung der Schlupfvariablen x 5 , x 6 ) ergibt sich die Optimallösung x 1 = 8, x 2 = 3, x 3 = x 4 = 0 (Zielwert: 14). Dass nicht immer eine Lösung abfällt, zeigt das folgende Beispiel. Beispiel 3.14: −3x 1 − 3x 2 ! = min x 1 + 2x 2 + x 3 = 1 x 1 − 2x 2 − x 4 = 2 x 1 , x 2 , x 3 , x 4 ≥ 0 Es wird für Phase 1 eine künstliche Variable benötigt. Das Starttableau ist: 1 2 3 4 5 3 1 2 1 0 0 1 1 5 1 −2 0 −1 1 2 2 1 −2 0 −1 0 2 Spalte 1 geht in die Basis. Spalte 3 verlässt die Basis: 1 2 3 4 5 1 1 2 1 0 0 1 5 0 −4 −1 −1 1 1 0 −4 −1 −1 0 1 Optimale Lösung des Hilfsproblems gefunden, aber Optimalwert größer als 0. Es gibt keine zulässige Grundlösung. Da nun alle Voraussetzungen vorliegen, können wir uns an das Anwendungsbeispiel vom Anfang des Kapitels wagen. 105 <?page no="106"?> 3 Lineare Optimierung Beispiel 3.15 (Fortsetzung von Beispiel 3.1 vgl. S. 83 ): Das Problem lautet in Standardform mit drei Schlupfvariablen x 7 , x 8 und x 9 : x 1 + x 2 + x 3 + x 4 + x 5 + x 6 ! = min x 1 + x 2 − x 7 = 1.440 x 1 + 3x 3 + 2x 4 + x 5 − x 8 = 2.160 x 2 + x 4 + 3x 5 + 4x 6 − x 9 = 1.080 x 1 , . . . , x 9 ≥ 0 Für die nötige erste Phase sind drei künstliche Variablen x 10 , x 11 und x 12 notwendig; wir schreiben direkt das erste Tableau auf. 1 2 3 4 5 6 7 8 9 10 11 12 10 1 1 0 0 0 0 −1 0 0 1 0 0 1.440 1.440 11 1 0 3 2 1 0 0 −1 0 0 1 0 2.160 2.160 12 0 1 0 1 3 4 0 0 −1 0 0 1 1.080 − 2 2 3 3 4 4 −1 −1 −1 0 0 0 4.680 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 0 0 0 0 −1 0 0 1 0 0 1.440 − 11 0 −1 3 2 1 0 1 −1 0 −1 1 0 720 240 12 0 1 0 1 3 4 0 0 −1 0 0 1 1.080 − 0 0 3 3 4 4 1 −1 −1 −2 0 0 1.800 1 2 3 4 5 6 7 8 9 10 11 12 1 1 1 0 0 0 0 −1 0 0 1 0 0 1.440 1.440 3 0 − 1 3 1 2 3 1 3 0 1 3 − 1 3 0 − 1 3 1 3 0 240 − 12 0 1 0 1 3 4 0 0 −1 0 0 1 1.080 1.080 0 1 0 1 3 4 0 0 −1 −1 −1 0 1.080 1 2 3 4 5 6 7 8 9 10 11 12 1 1 0 0 −1 −3 −4 −1 0 1 1 0 −1 360 3 0 0 1 1 4 3 4 3 1 3 − 1 3 − 1 3 − 1 3 1 3 1 3 600 2 0 1 0 1 3 4 0 0 −1 0 0 1 1.080 0 0 0 0 0 0 0 0 0 −1 −1 −1 0 106 <?page no="107"?> 3.3 Zweiphasenmethode Damit ist die erste Phase beendet, eine Anfangslösung kann abgelesen werden. 1 2 3 4 5 6 7 8 9 1 1 0 0 −1 −3 −4 −1 0 1 360 − 3 0 0 1 1 4 3 4 3 1 3 − 1 3 − 1 3 600 450 2 0 1 0 1 3 4 0 0 −1 1.080 360 0 0 0 0 1 3 1 3 − 2 3 − 1 3 − 1 3 0 1 2 3 4 5 6 7 8 9 1 1 1 0 0 0 0 −1 0 0 1.440 3 0 − 4 9 1 5 9 0 − 4 9 1 3 − 1 3 1 9 120 5 0 1 3 0 1 3 1 4 3 0 0 − 1 3 360 0 − 1 9 0 − 1 9 0 − 1 9 − 2 3 − 1 3 − 2 9 1.920 Die optimale Lösung lautet x 1 = 1.440, x 3 = 120, x 5 = 360, x 2 = x 4 = x 6 = 0. Es werden also drei der Schnittmuster verwendet, drei nicht. Da auch alle Schlupfvariablen den Wert 0 haben, sind die Nebenbedingungen ausgeschöpft, d.h. es wird genau die notwendige Menge produziert. 107 <?page no="108"?> 3 Lineare Optimierung 3.4 Sensitivität und Dualität Um aus der Lösung eines linearen Optimierungsproblems noch mehr Aussagen herauszuholen, soll ein weiteres Beispiel betrachtet werden. Beispiel 3.16: Auf 100 ha westfälischem Ackerland sollen Spargel und Erdbeeren angebaut werden. Dabei können pro ha mit Erdbeeren 1.000 Euro, mit Spargel 3.000 Euro Gewinn erzielt werden. Die Anbaukosten pro ha betragen 1.000 Euro bei den Erdbeeren, 2.000 Euro beim Spargel - insgesamt stehen dafür 110.000 Euro zur Verfügung. Die Arbeitszeit zum Pflücken der Erdbeeren beläuft sich auf einen Tag pro ha, während der Spargel pro ha vier Tage benötigt - mehr als 160 Tage stehen nicht zur Verfügung. Das lineare Programm lautet (teilweise nach Teilen durch 1.000): x 1 + 3x 2 ! = max x 1 + 2x 2 ≤ 110 x 1 + 4x 2 ≤ 160 x 1 + x 2 ≤ 100 x 1 , x 2 ≥ 0 Die Lösung mit dem Simplexalgorithmus ist wegen der ≤-Nebenbedingungen einfach (keine erste Phase nötig) und endet im Optimaltableau: 1 2 3 4 5 2 0 1 − 1 2 1 2 0 25 5 0 0 − 3 2 1 2 1 15 1 1 0 2 −1 0 60 0 0 − 1 2 − 1 2 0 −135 Die optimale Lösung lautet also: x 1 = 60, x 2 = 25, d.h. es werden auf 60 ha Erdbeeren, auf 25 ha Spargel angebaut. Die Nebenbedingungen mit den Anbaukosten und der Arbeitszeit werden ausgeschöpft (x 3 = x 4 = 0), während nicht die gesamte Ackerfläche genutzt wird (x 5 = 15). Die Fragestellung soll nun sein: Welchen Einfluss auf die optimale Lösung (bzw. das End-Tableau) haben 1. die Hinzunahme weiterer Restriktionen bzw. Aktivitäten? 2. Messfehler, Rundungsfehler etc. bei der Erfassung der a ij , b i , c j ? 108 <?page no="109"?> 3.4 Sensitivität und Dualität 3. die Lockerung/ Verschärfung der Restriktionswerte b i ? Die Frage 1 lässt sich schnell beantworten - in jedem Fall ist zu überprüfen, ob eine zusätzliche Restriktion durch die bisherige Lösung erfüllt ist. Wenn ja, ändert sich nichts. Wenn nein, ist in der Regel zumindest der größte Teil der Rechnung noch einmal durchzuführen. Die Fragen 2 und 3 modelliert der formale Ansatz (c + ∆c) T x ! = min (A + ∆A)x = b + ∆b x ≥ 0 mit „Störungen“ ∆A ∈ R m×n , ∆c ∈ R n , ∆b ∈ R m . Hier ergeben sich dann die Fragen • Wie verändern sich die Lösung und der Zielfunktionswert? • Welches Ausmaß an Störungen verträgt die Optimallösung, ohne dass es zu strukturellen Änderungen kommt? Sichtbar werden die Auswirkungen durch die grafische Darstellung des obigen Beispiels in Abbildung 3.1 . 10 20 30 40 50 60 70 80 90 100 50 100 Abbildung 3.1: Grafische Lösung des linearen Programms Änderung von c: Die Zielfunktions-Koeffizienten ändern die Steigung (und den Wert) der Isogewinngeraden. Die optimale Lösung ändert sich nicht, solange die Steigung zwischen den Steigungen der die optimale Ecke bildenden Restriktionen liegt. Der Zielfunktionswert ändert sich natürlich. 109 <?page no="110"?> 3 Lineare Optimierung Änderung von b: Wird einer der Einträge in b erhöht, verschiebt sich die entsprechende Gerade nach rechts/ oben. Auswirkungen auf die Lösung hat dies zunächst nur, wenn eine der Restriktionen, die die Ecke bilden, betroffen ist (also eine ausgeschöpfte Restriktion). Änderung von A: Die Elemente von A beeinflussen die Steigung der Restriktions-Geraden. Es gilt damit Ähnliches wie bei einer Änderung von b. Rechnerisch sind die Auswirkungen durch die Änderungen von A, b und c verschieden aufwändig. Abweichungen von c gehen natürlich direkt in den Zielfunktionswert ein. Ändert sich ein Wert in der Matrix A, bleibt nichts anderes als eine vollständige neue Rechnung. Für Änderungen der b-Werte werden wir ein Verfahren kennen lernen, aber zunächst schauen wir uns die Auswirkung in einer vollständigen Rechnung an. Beispiel 3.17: Statt 110.000 Euro sollen nun 111.000 Euro zur Verfügung stehen, d.h. die erste Restriktion lautet x 1 + 2x 2 ≤ 111. Das Optimaltableau ist 1 2 3 4 5 2 0 1 − 1 2 1 2 0 24, 5 5 0 0 − 3 2 1 2 1 13, 5 1 1 0 2 −1 0 62 0 0 − 1 2 − 1 2 0 −135, 5 Es haben sich nur Werte auf der rechten Seite geändert. Der Optimalwert der Zielfunktion ist um 1 2 gestiegen. Diese Änderung des Zielfunktionswertes bei Änderung einer Restriktion um eine Einheit wird als Schattenpreis Glossar bezeichnet. 3.4.1 Dualität Zum Optimierungsproblem wird nun auch eine Art „Spiegelung“ betrachtet. Damit lassen sich dann die optimalen Lösungen besser als bisher charakterisieren. 110 <?page no="111"?> 3.4 Sensitivität und Dualität Definition 3.4 (Dualprogramm) Gegeben sei ein lineares Optimierungsproblem in kanonischer Form, hier als Primalprogramm bezeichnet c T x ! = min (P) Ax ≥ b x ≥ 0 Dazu lautet das Dualprogramm Glossar b T y ! = max (D) A T y ≤ c y ≥ 0 ⇐⇒ (−b) T y ! = min (−A) T y ≥ −c y ≥ 0 Das Dualprogramm zu (D) - in ≥-Form - ist gerade wieder (P). Beispiel 3.18: Das lineare Optimierungsproblem 2x 1 + x 2 ! = min −x 1 + 3x 2 ≥ 4 −x 1 − 1 2 x 2 ≥ 1 −2x 1 − 3x 2 ≥ 7 x 1 , x 2 ≥ 0 hat das Dualprogramm 4y 1 + y 2 + 7y 3 ! = max −y 1 − y 2 − 2y 3 ≤ 2 3y 1 − 1 2 y 2 − 3y 3 ≤ 1 y 1 , y 2 , y 3 ≥ 0 3.4.2 Complementary Slackness Zur Unterscheidung der zulässigen Bereiche von Primal- und Dualproblem definieren wir Z ≥ (A, b) als zulässige Lösung von Ax ≥ b. 111 <?page no="112"?> 3 Lineare Optimierung Dann gilt für alle x ∈ Z ≥ (A, b) und für alle y ∈ Z ≤ (A T , c) c T x ≥ (A T y) T x (da A T y ≤ c, x ≥ 0) = y T Ax ≥ y T b = b T y (da Ax ≥ b, y ≥ 0) d.h. Zielwert (P) ≥ Zielwert (D) Aus x ∈ Z ≥ (A, b), y ∈ Z ≤ (A T , c) und c T x = b T y folgt: x optimal für (P) und y optimal für (D). Aus obiger Abschätzung folgt c T x = b T y ⇐⇒ { c T x = (Ax) T y b T y = y T Ax ⇐⇒ { x T (c − A T y) = 0 y T (Ax − b) = 0 Dieser Zusammenhang wird als Complementary Slackness Glossar bezeichnet, im Deutschen würde man „komplementärer Schlupf “ sagen. Ausgeschrieben n ∑ j=1 x j (c j − m ∑ i=1 a ij y i ) = 0 m ∑ i=1 y i ( n ∑ j=1 a ij x j − b i ) = 0 Da alle Summanden nichtnegativ sind, ist dies äquivalent zu x j (c j − m ∑ i=1 a ij y i ) = 0 ∀ j y i ( n ∑ j=1 a ij x j − b i ) = 0 ∀ i Es ergibt sich: Wenn eine Nebenbedingung (dual bzw. primal) nicht ausgeschöpft ist, dann x j = 0 bzw. y i = 0. Existenz von Lösungen Es gilt sup{b T y : y ∈ Z ≤ (A T , c)} = ∞ =⇒ Z ≥ (A, b) = ∅ inf{c T x : x ∈ Z ≥ (A, b)} = −∞ =⇒ Z ≤ (A T , c) = ∅ 112 <?page no="113"?> 3.4 Sensitivität und Dualität d.h. wenn die Zielfunktion von (D) bzw. (P) unbeschränkt ist, dann hat (P) bzw. (D) einen leeren zulässigen Bereich (speziell: beide Probleme sind unlösbar). Frage: Kann es überhaupt x ∈ Z ≥ (A, b) und y ∈ Z ≤ (A T , c) geben mit c T x = b T y? Die Antwort gibt der folgende Satz. Satz 3.2 (Dualitätssatz) Es existieren folgende Alternativen (A1) (P) und (D) haben Optimum (A2) (P) (bzw. (D)) unbeschränkt =⇒ Z ≤ (bzw. Z ≥ ) ist leer (A3) Z ≥ (bzw. Z ≤ ) ist leer =⇒ (D) (bzw. (P)) unbeschränkt oder Z ≤ (bzw. Z ≥ ) leer. Beispiel 3.19: Das Ausgangsproblem (P) 2x 1 + 3x 2 + 5x 3 + 2x 4 + 3x 5 ! = min x 1 + x 2 + 2x 3 + x 4 + 3x 5 ≥ 4 2x 1 − 2x 2 + 3x 3 + x 4 + x 5 ≥ 3 x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0 hat das Dualprogramm (D) 4y 1 + 3y 2 ! = max y 1 + 2y 2 ≤ 2 y 1 − 2y 2 ≤ 3 2y 1 + 3y 2 ≤ 5 y 1 + y 2 ≤ 2 3y 1 + y 2 ≤ 3 y 1 , y 2 ≥ 0 Das Dualprogramm lässt sich beispielsweise geometrisch lösen. Optimal y ∗ 1 = 4/ 5, y ∗ 2 = 3/ 5 =⇒ b T y ∗ = 5 Die erste und die letzte Nebenbedingung werden ausgeschöpft, alle anderen nicht. 113 <?page no="114"?> 3 Lineare Optimierung Damit folgt • (P) besitzt eine minimale Ecke x ∗ . • x ∗ 2 = x ∗ 3 = x ∗ 4 = 0 (Complementary Slackness) • y ∗ 1 , y ∗ 2 > 0, a lso mü s se n i n ( P) be ide Neb enb ed ingu ngen au sgesch öpf t werden (Complementary Slackness) Damit sind x ∗ 1 und x ∗ 5 zu be stim m en au s d em line ar en Gleich u ngssystem { x 1 + 3x 5 = 4 2x 1 + x 5 = 3 =⇒ x ∗ 1 = x ∗ 5 = 1 Also optimal x ∗ = (1, 0, 0, 0, 1) T und c T x ∗ = 5 = b T y ∗ . Auch für ein lineares Programm in Standardform lässt sich ein Dualprogramm angeben, allerdings ist die Situation nicht mehr ganz so symmetrisch. Insbesondere fehlen beim Dualprogramm die Nichtnegativitätsbedingungen. c T x ! = min (P) Ax = b x ≥ 0 b T y ! = max (D) A T y ≤ c Hier gilt für zulässige Vektoren x, y dann x T c ≥ x T (A T y) (da x ≥ 0, A T y ≤ c) = y T Ax = y T b und „ =“ ⇐⇒ x T (c − A T y) = 0 Es gibt in diesem Fall also nur eine Art von Complementary-Slackness- Bedingungen. Beispiel 3.20: x 1 + 2x 2 + 3x 3 ! = min (P) − x 1 + x 2 + 4x 3 = 4 x 1 + x 2 − 2x 3 = 2 x 1 , x 2 , x 3 ≥ 0 114 <?page no="115"?> 3.4 Sensitivität und Dualität 4y 1 + 2y 2 ! = max (D) − y 1 + y 2 ≤ 1 y 1 + y 2 ≤ 2 4y 1 − 2y 2 ≤ 3 Nun wollen wir versuchen, mit den neuen Erkenntnissen die Lösung des „gestörten“ Erdbeer-Spargel-Problems herzuleiten. Beispiel 3.21 (Fortsetzung von Beispiel 3.16 vgl. S. 108 ): Die duale Form des ursprünglichen LP ist: 110y 1 + 160y 2 + 100y 3 ! = min y 1 + y 2 + y 3 ≥ 1 2y 1 + 4y 2 + y 3 ≥ 3 y 1 , y 2 , y 3 ≥ 0 Im Optimum gilt nun: c T x ∗ = b T y ∗ . Erhöht man jetzt die verfügbare Summe von 110 auf 111, so bedeutet das für den Gewinn: (b T + ( 1 , 0, 0) ) y ∗ = b T y ∗ + y ∗ 1 = c T x ∗ + y ∗ 1 , d.h. der Gewinn steigt um y ∗ 1 . y 1 im Optimaltableau ist also der Schattenpreis bezüglich der ersten Nebenbedingung. Damit lässt sich die Lösung des dualen Programms auch so deuten: Das Optimum ist erreicht, wenn die gesamten Opportunitätskosten möglichst gering sind, dabei aber diese Kosten mindestens gleich dem erzielten Gewinn (durch dieses Produkt) sind. Zur Optimierung des dualen Problems und damit Berechnung von y ∗ 1 : Das Optimaltableau lautet 1 2 3 4 5 1 1 0 3 2 −2 1 2 1 2 2 0 1 − 1 2 1 − 1 2 1 2 0 0 −15 −60 −25 135 Die Schattenpreise bezüglich der ersten und zweiten Nebenbedingung sind jeweils 1 2 . 115 <?page no="116"?> 3 Lineare Optimierung 3.4.3 Die duale Simplex-Methode Aus dem Zusammenhang zwischen primalem und dualem Programm lassen sich eine Reihe von Algorithmen ableiten. Einer davon ist die duale Simplex- Methode. Betrachten wir die Optimaltableaus des primalen und des dualen Problems im Beispiel 3.21, ist zu erkennen, dass die Zahlen von der rechten Seite in die letzte Zeile und anders herum wandern. Genauer: Der δ-Wert zu einer Schlupfvariablen im Optimaltableau des Primalprogramms entspricht der Lösung des Dualprogramms - abgesehen vom Vorzeichen, was an der nötigen Multiplikation der Nebenbedingung liegt, weil man ja weiterhin minimieren möchte. Diese Beobachtung ist nicht etwa zufällig, sondern in der Konstruktion des Dualprogramms begründet. Der Zusammenhang besteht also in jedem Fall. Der Simplex-Algorithmus im Primalprogramm läuft so ab: Forme so lange um, bis die δ-Werte alle ≤ 0 sind, wobei die rechte Seite nur Werte ≥ 0 enthält. Genauso im Dualprogramm: Forme um, bis die δ-Werte alle höchstens Null sind (d.h. die rechte Seite des zugehörigen Primalprogramms mindestens 0 ist), wobei die rechte Seite nur positive Werte enthält (d.h. die δ-Werte des Primalprogramms nur negative Werte oder Null sind). Verzichten wir nun darauf, das Dualprogramm explizit aufzuschreiben, sondern führen die Umformungen direkt auf dem Tableau des Primalprogramms aus, heißt das: • Die δ-Werte müssen immer ≤ 0 sein. Dies wird als duale Zulässigkeit bezeichnet. • Die rechte Seite darf zu Beginn negative Werte enthalten. Durch Umformungen wird diese so lange umgeformt, bis hier (primal) zulässige Werte stehen. Man rechnet also sozusagen dual im primalen Tableau. Dies wird als duale Simplexmethode Glossar bezeichnet. Besonders zu beachten ist: Das Kriterium, das beim gewöhnlichen Simplex-Algorithmus entscheidend war, nämlich dass die rechte Seite nie negative Werte enthalten darf - sonst wäre schließlich die Zulässigkeit nicht gegeben -, entfällt demnach. Es wird ersetzt durch ein nicht weniger scharfes Kriterium: In der letzten Zeile dürfen immer nur negative δ-Werte stehen. Dies entspricht der dualen Zulässigkeit. 116 <?page no="117"?> 3.4 Sensitivität und Dualität Dualer Simplex-Algorithmus Stelle von Tableau zu Tableau sicher, dass stets δ p ≤ 0 für alle p gilt - äquivalent: die jeweiligen dualen Variablen sind zulässig für (D) -, ohne zunächst die Vorzeichenbedingung einzuhalten. Iteriert wird solange, bis diese erfüllt ist. Initialisierung: Suche Basislösung mit δ ≤ 0 Austauschschritt: Wenn x i j ≥ 0 ∀ 1 ≤ j ≤ m, dann Abbruch, optimale Ecke ist erreicht. Sonst wähle ein x i k < 0, 1 ≤ k ≤ m • Wenn jetzt f kj ≥ 0 ∀1 ≤ j ≤ n → Abbruch (In diesem Fall hätte (D) eine unbeschränkte Zielfunktion und damit Z ≥ (A, b) = ∅) • Sonst wähle ' so, dass δ # f k# = min{ δ j f kj : f kj < 0, 1 ≤ ' ≤ n} Das Pivotelement ist dann f k# . Führe normalen Basistausch durch und beginne nächsten Austauschschritt. Die Pivotzeile ergibt sich also, indem irgendein negativer Wert auf der rechten Seite ausgewählt wird. Da hier keine Quotienten aus der rechten Seite und den entsprechenden f-Werten zu bilden sind, sondern aus einem δ- und einem f-Wert, wird der Quotient in einer zusätzlichen Zeile unten aufgeführt. Von diesen ist jeweils der kleinste zur Bestimmung der Pivotspalte zu wählen. Das Verfahren endet, wenn auf der rechten Seite keine negativen Werte mehr stehen. Beispiel 3.22: Gegeben sei das lineare Optimierungsproblem 2x 1 + 3x 2 + 4x 3 ! = min x 1 + 2x 2 + x 3 ≥ 3 2x 1 − x 2 + 3x 3 ≥ 4 x 1 , x 2 , x 3 ≥ 0 Zusätzlich sind zwei Schlupfvariablen x 4 , x 5 notwendig. 117 <?page no="118"?> 3 Lineare Optimierung Basislösung: (0, 0, 0, −3, −4) T mit δ p = −c p < 0, 1 ≤ p ≤ 3 1 2 3 4 5 4 −1 −2 −1 1 0 −3 5 −2 1 −3 0 1 −4 −2 −3 −4 0 0 0 −2 −2 − −4 −3 − − 1 2 3 4 5 4 0 − 5 2 1 2 1 − 1 2 −1 1 1 − 1 2 3 2 0 − 1 2 2 0 −4 −1 0 −1 4 − 8 5 − − 2 1 2 3 4 5 2 0 1 − 1 5 − 2 5 1 5 2 5 1 1 0 7 5 − 1 5 − 2 5 11 5 0 0 − 9 5 − 8 5 − 1 5 28 5 Damit ist ( 11 5 , 2 5 , 0) T optimale Ecke für das Ausgangsproblem. In Fällen, bei denen die Voraussetzung der dualen Zulässigkeit gegeben ist, ist dieser Algorithmus in der Regel einfacher als die Zweiphasenmethode. Dies ist insbesondere dann gegeben, wenn die Kostenkoeffizienten c alle positiv sind. Technische Anmerkung Auch die Lösung des Dualprogramms lässt sich rein algebraisch beschreiben. Nach Einführung von Schlupfvariablen lauten die neuen Größen des Primalprogrammes ¯ A = [A | − I] mit I = I m×m ¯ c T = (c T , 0) mit 0 ∈ R m . Ist nun x ∗ eine optimale Ecke zu den Basisindizes B, dann ist ¯ c T B ¯ A −1 B = y ∗T eine optimale Lösung für (D). Es gilt nämlich y ∗T b = ¯ c T B A −1 B b = ¯ c T B ¯ A −1 B ¯ Ax ∗ = ¯ c T B ¯ A −1 B · ( ¯ A B x ∗ B + ¯ A N x ∗ N ) = ¯ c T B x ∗ B = ¯ c T x ∗ (wegen x ∗ N = 0) 118 <?page no="119"?> 3.4 Sensitivität und Dualität und δ ∗T = ¯ c T B ¯ A −1 B ¯ A − ¯ c = y ∗T ¯ A − ¯ c ≤ 0. Man kann das auch schreiben als y ∗T A ≤ c und −y ∗T ≤ 0 oder - in der Form, die wir als Restriktionen des dualen Problems kennen gelernt haben: A T y ∗ ≤ c und y ∗ ≥ 0. Damit ist y ∗ zulässig für (D), und sein Zielwert stimmt mit demjenigen für x ∗ überein. Nach dem Dualitätssatz ist y ∗ optimal für (D). Man bemerkt zudem, dass −δ ∗ gerade der Vektor der Schlupfvariablen zu y ∗ ist. Der duale Simplex-Algorithmus lässt sich auch damit so interpretieren, dass das duale Programm auf Basis der primalen Tableaus gelöst wird. 119 <?page no="120"?> 3 Lineare Optimierung Zusammenfassung Mit dem Simplex-Algorithmus bzw. der Zweiphasenmethode haben wir ein Verfahren kennen gelernt, das für alle denkbaren linearen Optimierungsprobleme vergleichsweise schnell und effektiv zu einem Ergebnis führt - oder aber zur Feststellung, dass keine Lösung existiert. Mit der Betrachtung von dualen Programmen haben wir zusätzlich einen Mechanismus, der über das Änderungsverhalten Auskunft geben kann. Kontrollfragen 1. Welche Elemente bilden ein lineares Optimierungsproblem? 2. Wie werden die kanonische und die Standardform gebildet? 3. Was haben eine Ecke und eine Basislösung miteinander zu tun? 4. Nach welchen Kriterien werden Pivotspalte und -zeile gewählt? 5. Welche Aufgabe hat die erste Phase der Zweiphasenmethode? 6. Was ist ein Schattenpreis? 7. Wie werden Pivotzeile und -spalte bei der dualen Simplexmethode bestimmt? Literatur Da die Fragestellungen der linearen Optimierung ein ganz zentrales Thema des Operations Research bilden, findet sich deren Darstellung in jedem Buch zum Thema. Speziell genannt seien hier Bazaraa/ Jarvis/ Sherali [2005] und Luenberger [1984]. Dass der Simplex-Algorithmus nicht in jedem Fall die beste Methode sein muss, lässt sich bei Neumann/ Morlock [2002] nachlesen. Dort werden auch alternative Verfahren, wie z.B. der Algorithmus von Karmakar, erklärt. 120 <?page no="121"?> 4 Ganzzahlige Optimierungsprobleme Übersicht Viele Fragestellungen des Operations Research lassen sich zwar leicht auf lineare Optimierungsprobleme zurückführen, fordern aber zusätzlich Ergebnisse, die aus ganzen Zahlen bestehen - schließlich ist nicht jede Lösungsmöglichkeit beliebig teilbar. Ein lineares Programm wird dann zum ganzzahligen linearen Programm (Integer LP). Die Transportprobleme in Abschnitt 4.2 vgl. S. 124 wie auch die Zuordnungsprobleme in Abschnitt 4.3 vgl. S. 141 haben die angenehme Eigenschaft, ohne weiteren Aufwand zu ganzzahligen Lösungen zu führen. Für allgemeine Probleme, die diese Eigenschaft nicht von sich aus aufweisen, sei auf die Verfahren im Abschnitt 4.4 vgl. S. 148 verwiesen. 4.1 Lineare Probleme mit Ganzzahligkeitsforderungen Ein lineares Optimierungsproblem mit Ganzzahligkeitsforderungen hat die Form c T x ! = max Ax ≤ b x ∈ N n 0 Als „gemischt ganzzahlige Probleme“ bezeichnet man Fragestellungen, bei denen nur für einzelne Variablen die Ganzzahligkeit gefordert wird. Lösungsverfahren lassen sich unmittelbar aus denen für rein ganzzahlige Probleme ableiten. Eine Lösung muss in einem ganzzahligen LP also nicht mehr nur im zulässigen Bereich Z, sondern auch noch auf dem Gitter N 0 × N 0 × · · · × N 0 (n Faktoren), liegen, etwa wie in Abbildung 4.1. In diesem Falle ist die Zahl der Lösungen endlich oder abzählbar unendlich, so dass die Lösung leichter erscheint; in Wirklichkeit sind die potentiellen Lösungen aber schwerer zu bestimmen als bisher die Ecken. 121 <?page no="122"?> 4 Ganzzahlige Optimierungsprobleme Abbildung 4.1: Zulässige ganzzahlige Lösungen Problembeispiele • Ganzzahliges Produktionsmodell Ein Betrieb kann n verschiedene Produkte in festen Größeneinheiten herstellen. Der Gewinn, der beim Verkauf eines Stückes des j-ten Produktes erzielt wird, sei c j Euro. Die Produktion kann nicht beliebig ausgeweitet werden, da Arbeitskräfte, Arbeitsmittel und Rohstoffe nur in beschränktem Maße zur Verfügung stehen. Welche Stückzahl soll von jedem einzelnen Produkt erzeugt werden, damit der Gesamtgewinn maximal wird? Das ganzzahlige LP lautet: c 1 x 1 + c 2 x 2 + . . . + c n x n ! = max a i1 x 1 + a i2 x 2 + . . . + a in x n ≤ b i , 1 ≤ i ≤ m x 1 , x 2 , . . . , x n ∈ N 0 • Partitionsproblem Gegeben ist eine Menge M = {1, . . . , m} von Aufgaben; diese sind Mitarbeitern zuzuordnen, wobei für jede Zuordnung spezifische Kosten entstehen, deren Summe zu minimieren ist. Werden mit M j die Aufgaben bezeichnet, die Mitarbeiter j übernimmt, 122 <?page no="123"?> 4.1 Lineare Probleme mit Ganzzahligkeitsforderungen - formaler: M j ∈ M = {M 1 , . . . , M n } ⊆ 2 M - und mit c j die entsprechenden Kosten, kann man das Problem so formulieren: Setze zunächst a ij = { 1, i ∈ M j 0, i / ∈ M j A = [a ij ] ∈ R m×n Dann lautet das Optimierungsproblem: c T x ! = min Ax = 1 (∈ R m ) x ∈ {0, 1} n Es wird hier also nicht nur eine ganzzahlige, sondern sogar nur binäre Lösung gesucht. Lösungsansätze • Eine erste Möglichkeit ist die vollständige Enumeration, falls der zulässige Bereich endlich ist. Ein solches Suchverfahren ist zwar effektiv, aber in vielen Fällen doch sehr ineffizient. • Weiterhin in Frage kommen allgemeine Suchverfahren, die die lineare Struktur außer Acht lassen. Das wäre aber schade . . . • Vernünftig erscheinen Verfahren, die auf dem Simplex-Algorithmus aufbauen: Runden, Schnittebenen, Branch and Bound. Diese werden im Abschnitt 4.4 vgl. S. 148 besprochen. • Für das Transportproblem und einige Verallgemeinerungen gibt es spezielle Lösungsverfahren; über diese wollen wir zunächst sprechen. Spezialfälle Es gibt Optimierungsprobleme, die durch ihre Struktur „automatisch“ zu einer ganzzahligen Lösung führen, d.h. bei Anwendung des Simplex-Algorithmus nur ganzzahlige Ergebnisse liefern, vorausgesetzt die Werte der „rechten Seite“ in den Nebenbedingungen sind ganzzahlig. Dies ist der Fall, wenn die Matrix A vollständig unimodular ist. Eine Matrix wird als vollständig unimodular bezeichnet, wenn jede quadratische Untermatrix nur Determinanten mit den Werten ±1 oder 0 besitzt. 123 <?page no="124"?> 4 Ganzzahlige Optimierungsprobleme 4.2 Transportprobleme Eine Firma hat mehrere Produktionsstätten, von denen aus der Großhandel beliefert werden kann. Von den Standorten S i sollen s i > 0 Einheiten eines Gutes abgeholt werden, 1 ≤ i ≤ p. An den Zielorten T j werden jeweils t j > 0 Einheiten davon benötigt, 1 ≤ j ≤ q. Dabei wird angenommen, dass sich Angebot und Nachfrage entsprechen, also p ∑ i=1 s i = q ∑ j=1 t j =: r. Weiter gegeben ist eine Kostenmatrix C = [c ij ] 1 ≤ i ≤ p 1 ≤ j ≤ q , wobei c ij die Transportkosten (pro Einheit) von S i nach T j bezeichne. Bei einem Angebots- oder Nachfrageüberhang, definiert man auf der anderen Seite einen virtuellen Ziel- oder Startort, der jeweils mit den Transportkosten Null versehen wird - schließlich kann hier nicht wirklich etwas transportiert werden. Beispiel 4.1: In grafischer Form könnte ein Transportproblem etwa so wie in Abbildung 4.2 aussehen: S 1 S 2 T 1 T 2 T 3 3 4 2 1 3 3 10 10 5 7 8 Abbildung 4.2: Transportproblem in Form eines Graphen An den Kanten sind die Kosten pro transportierter Einheit aufgeführt. Die Knoten sind mit der angebotenen bzw. benötigten Menge versehen. 124 <?page no="125"?> 4.2 Transportprobleme Gesucht ist ein kostenoptimaler Transportplan [x ij ], also eine Matrix, wobei x ij die Menge be zeic hne, die vo n S i nac h T j gesc ha fft w er den soll. Fo rma l also: p ∑ i=1 q ∑ j=1 x ij c ij ! = min q ∑ j=1 x ij = s i ∀i p ∑ i=1 x ij = t j ∀j x ij ≥ 0 Dies ist ein lineares Programm in Standardform. Hier kommt dann noch die Ganzzahligkeitsforderung x ij ∈ N 0 hinzu. Wir wissen ja schon, dass diese Forderung erfüllt wird, wenn die Mengen in den Start- und Zielknoten ganzzahlig sind. Zur Lösung des Transportproblems mit dem Simplex-Algorithmus können die folgenden Beobachtungen beitragen: • Die Spalten der Nebenbedingungen enthalten nur Einsen und Nullen. Das führt dazu, dass bei Umformungen in der Mitte des Tableaus nur die Werte −1, 0 und 1 auftreten. • Jedes Transportproblem hat eine Optimallösung in einer Ecke, denn - Z = (A, b) 5= ∅. Es gibt auf jeden Fall eine zulässige Lösung. Konstruieren lässt sich z.B. der Transportplan mit x ij = s i t j r , der alle Nebenbedingungen erfüllt. - Z = (A, b) ist beschränkt. Es gilt nämlich: 0 ≤ x ij ≤ min{s i , t j } für 1 ≤ i ≤ p und 1 ≤ j ≤ q, d.h. die Transportmengen sind mindestens 0 und höchstens so groß wie der kleinere Wert aus Angebot und Bedarf. • Der Rang der Matrix A ist höchstens p + q − 1, da die Zeilen linear abhängig sind. Der Rang müsste aber p + q sein, um den Simplex- Algorithmus anzuwenden. Deshalb führt man eine technische Variable x pq+1 mit c pq+1 = 0 ein und geht über zur Matrix ¯ A = [A|e (1) ]. Damit ist die lineare Unabhängigkeit gewährleistet. Die technische Variable hat den Wert 0. Danach ist die Anwendung des Simplex-Algorithmus möglich. 125 <?page no="126"?> 4 Ganzzahlige Optimierungsprobleme Beispiel 4.2: Lösung des Problems aus Beispiel 4.1 in LP-Form: 0 0 0 0 0 0 0 1 1 1 1 1 2 3 4 5 6 7 8 9 10 11 x 0 7 1 1 1 0 0 0 1 0 0 0 0 10 − 1 8 0 0 0 1 1 1 0 1 0 0 0 10 10 1 9 1 0 0 1 0 0 0 0 1 0 0 5 5 1 10 0 1 0 0 1 0 0 0 0 1 0 7 − 1 11 0 0 1 0 0 1 0 0 0 0 1 8 − 1 1 1 2 2 2 0 0 0 0 0 30 1 2 3 4 5 6 7 8 9 10 11 x 7 1 1 1 0 0 0 1 0 0 0 0 10 − 8 −1 0 0 0 1 1 0 1 −1 0 0 5 5 4 1 0 0 1 0 0 0 0 1 0 0 5 − 10 0 1 0 0 1 0 0 0 0 1 0 7 7 11 0 0 1 0 0 1 0 0 0 0 1 8 − −1 1 1 0 2 2 0 0 −2 0 0 20 1 2 3 4 5 6 7 8 9 10 11 x 7 1 1 1 0 0 0 1 0 0 0 0 10 10 5 −1 0 0 0 1 1 0 1 −1 0 0 5 − 4 1 0 0 1 0 0 0 0 1 0 0 5 5 10 1 1 0 0 0 −1 0 −1 1 1 0 2 2 11 0 0 1 0 0 1 0 0 0 0 1 8 − 1 1 1 0 0 0 0 −2 0 0 0 10 1 2 3 4 5 6 7 8 9 10 11 x 7 0 0 1 0 0 1 1 1 −1 −1 0 8 8 5 0 1 0 0 1 0 0 0 0 1 0 7 − 4 0 −1 0 1 0 1 0 1 0 −1 0 3 − 1 1 1 0 0 0 −1 0 −1 1 1 0 2 − 11 0 0 1 0 0 1 0 0 0 0 1 8 8 0 0 1 0 0 1 0 −1 −1 −1 0 8 126 <?page no="127"?> 4.2 Transportprobleme 1 2 3 4 5 6 7 8 9 10 11 x 7 0 0 0 0 0 0 1 1 −1 −1 −1 0 5 0 1 0 0 1 0 0 0 0 1 0 7 4 0 −1 0 1 0 1 0 1 0 −1 0 3 1 1 1 0 0 0 −1 0 −1 1 1 0 2 3 0 0 1 0 0 1 0 0 0 0 1 8 0 0 0 0 0 0 0 −1 −1 −1 −1 0 Damit ist die erste Phase beendet. Nach Elimination der künstlichen Variablen kann man mit der zweiten Phase beginnen: 3 3 1 4 2 3 0 1 2 3 4 5 6 7 x 0 7 0 0 0 0 0 0 1 0 2 5 0 1 0 0 1 0 0 7 4 4 0 −1 0 1 0 1 0 3 3 1 1 1 0 0 0 −1 0 2 1 3 0 0 1 0 0 1 0 8 0 −2 0 0 0 −1 0 40 Dies ist schon die optimale Lösung: x 11 = 2, x 13 = 8, x 21 = 3, x 22 = 7 Wie man sieht, ist die Lösung mit dem Simplex-Algorithmus möglich und wegen der vielen Einsen und Nullen nicht sehr schwierig, aber auch schon bei kleinen Problemen recht umfangreich. Man wählt deshalb üblicherweise einen anderen Lösungsansatz. Die Lösung des linearen Programms erfolgt dann auf dem sogenannten Transport-Tableau Glossar . Das Tableau enthält sämtliche für das Problem relevanten Daten, also sowohl Angebots- und Nachfragemengen, als auch die Transportkosten für jede Verbindung. Die transportierten Mengen werden hier festgehalten, ebenso wie die später noch einzuführenden δ-Werte vgl. S. 133 . 127 <?page no="128"?> 4 Ganzzahlige Optimierungsprobleme Für p = 4 und q = 6 kann ein Tableau beispielsweise so aussehen: 1 2 3 4 5 6 1 c 11 c 12 c 13 c 14 c 15 c 16 s 1 2 c 21 c 22 c 23 c 24 c 25 c 26 s 2 3 c 31 c 32 c 33 c 34 c 35 c 36 s 3 4 c 41 c 42 c 43 c 44 c 45 c 46 s 4 t 1 t 2 t 3 t 4 t 5 t 6 c T x 4.2.1 Anfangslösungen Zur Gewinnung einer Startecke gibt es zahlreiche Algorithmen, von denen hier zwei vorgestellt werden sollen, nämlich die Nordwesteckenregel (NWE) und die Matrix-Minimum-Methode (MMM). Algorithmus Nordwesteckenregel Transportiere von S 1 nach T 1 , bis Angebot erschöpft bzw. bis Nachfrage gedeckt, d.h. setze x 11 = min{s 1 , t 1 }. Falls s 1 der kleinere Wert war, fülle den Rest der Zeile mit Nullen. Fahre mit x 21 fort. War t 1 der kleinere Wert, fülle den Reste der Spalte mit Nullen und wähle x 12 als nächsten zu bestimmenden Wert. In dieser Art geht es sukzessive weiter von „links oben“, d.h. S 1 , S 2 , . . . nach „rechts unten“, d.h. . . . , T q−1 , T q . Wegen ∑ s i = ∑ t j bleibt am Ende kein Rest. Kurz gesagt: Fülle das Transporttableau von links oben nach rechts unten. 128 <?page no="129"?> 4.2 Transportprobleme Beispiel 4.3 (Anwendung Nordwesteckenregel): Die zu transportierenden Mengen und die Kosten dafür sind im Tableau schon eingetragen. Mit der Nordwesteckenregel wird eine zulässige Lösung bestimmt: 1 2 3 4 5 6 1 10 10 12 8 13 8 14 19 18 2 15 18 3 12 13 16 6 19 20 22 3 17 16 13 14 14 10 24 18 1 39 4 19 18 20 21 12 13 14 14 10 11 13 20 24 15 1138 Hier wurden p + q − 1 = 9 Kanten verwendet. Damit wurde eine mögliche Lösung gefunden, die einer Ecke im Simplex-Tableau entspricht. Bei der Nordwesteckenregel gehen die Kosten überhaupt nicht ein. Wenn man diese einbezieht, sollte man doch zu einem besseren Wert kommen können. Dies versucht die Matrix-Minimum-Methode. Algorithmus Matrix-Minimum-Methode Schöpfe zunächst die billigste Verbindung voll aus. Dadurch wird entweder ein S i vollständig geleert oder ein T j vollständig bedient. Reduziere das Problem dann auf p − 1 Startorte oder q − 1 Zielorte. Suche dann die billigste verbliebene Verbindung etc. Die Matrix-Minimum-Methode ist ein gieriger Algorithmus, der im Allgemeinen nicht zum Optimum führt. Es kann sogar sein, dass das Ergebnis schlechter ist als das der Nordwesteckenregel. 129 <?page no="130"?> 4 Ganzzahlige Optimierungsprobleme Beispiel 4.4 (Anwendung Matrix-Minimum-Methode): Es wurden wieder Kosten und Mengen wie in Beispiel 4.3 vorausgesetzt. 1 2 3 4 5 6 1 10 12 13 8 (1) 18 14 19 18→0 2 15 (6) 9 18 12 (3) 13 16 19 20 22→9→0 3 17 (8) 1 16 (7) 11 13 14 (5) 2 10 (2) 24 18 (9) 1 39→15→13→0 4 19 18 20 21 12 13 (4) 14 14→0 10→1→0 11→0 13→0 20→2→0 24→0 15→1→0 1096 In Klammern ist hier die Reihenfolge angegeben, in der die Kanten ausgewählt wurden. Am Rand sind die jeweiligen Reste angegeben. Optimal ist eine solche Lösung in der Regel nicht, aber doch zumindest eine zulässige (Basis-)Lösung. Ausgehend von dieser Anfangslösung lässt sich zu einer besseren Lösung kommen. Dazu dient die Zyklenmethode Glossar (Stepping Stone Method). 4.2.2 Die Zyklenmethode Wir betrachten nun wieder das handlichere Problem aus Beispiel 4.1 vgl. S. 124 . Die Nordwestecken-Regel führt hier auf die Lösung 1 2 3 1 3 ♠ 5 3 ♠ 5 1 10 2 4 2 ♠ 2 3 ♠ 8 10 5 7 8 58 130 <?page no="131"?> 4.2 Transportprobleme Lässt man im Graphen die in dieser Lösung nicht verwendeten Kanten weg, ergibt sich der Graph in Abbildung 4.3. S 1 S 2 T 1 T 2 T 3 3 2 3 3 10 10 5 7 8 Abbildung 4.3: Transportproblem ohne ungenutzte Kanten Hier sind zwei der ursprünglichen Kanten nicht verwendet worden. Es stellt sich die Frage: Was passiert, wenn eine dieser Kanten verwendet wird - zum Transport einer Einheit? Beispiel: S 1 → T 3 Wie man in Abbildung 4.4 verfolgen kann, ergibt sich: Eine Einheit mehr von S 1 nach T 3 , dafür eine Einheit weniger von S 2 nach T 3 . Damit ist eine Einheit in S 2 zu viel, diese geht nach T 2 . Dafür muss eine Einheit auf dem Weg von S 1 nach T 2 abgezogen werden - und das ist die, die ja zusätzlich nach T 3 geh t. Die Verschiebung einer Einheit ist also möglich, die betroffenen Kanten formen einen sogenannten Zyklus. Die Verbesserung der Gesamtkosten lässt sich bestimmen, indem die Kosten auf den betroffenen Kanten addiert bzw. subtrahiert werden. Hier: 3 − 2 + 3 − 1 = 3, d.h. die Kosten sinken. Man wird in diesem Falle möglichst viele Einheiten auf diese Weise innerhalb des Zyklus verlagern. Hier sind das fünf Einheiten. 131 <?page no="132"?> 4 Ganzzahlige Optimierungsprobleme S 1 S 2 T 1 T 2 T 3 3 2 3 3 10 10 5 7 8 1 Abbildung 4.4: Transportproblem mit zusätzlicher Kante We iter es Beispiel: S 2 → T 1 S 1 S 2 T 1 T 2 T 3 3 2 3 3 10 10 5 7 8 4 Abbildung 4.5: Transportproblem mit anderer zusätzlicher Kante Dieser Fall ist in Abbildung 4.5 skizziert. Der Zyklus geht über S 2 → T 1 , S 1 → T 1 , S 1 → T 2 , S 2 → T 2 . Die resultierende Kostenverbesserung ist 3 − 3 + 2 − 4 = −2, es ergibt sich also eine Verschlechterung. 132 <?page no="133"?> 4.2 Transportprobleme Zyklen im Transporttableau Man kann beobachten: Im Zyklus wird immer entweder der Start- oder der Endpunkt festgehalten, d.h. man bleibt im Tableau in der Zeile oder der Spalte, wenn man die nächste Kante des Zyklus sucht. Der Zyklus wird - abgesehen von der einzufügenden - nur von aktiven Kanten gebildet, also solchen, für die im Tableau ein positiver Wert steht. 1 2 3 1 3 ♠ 5 3 • ♠ 5 1 • 10 2 4 2 • ♠ 2 3 • ♠ 8 10 5 7 8 58 Zur Berechnung der Kostenänderung wird jetzt abwechselnd ein + und ein − eingetragen, wobei die „zusätzliche“ Kante immer ein − erhält. 1 2 3 1 3 ♠ 5 3 + ♠ 5 1 − 10 2 4 2 − ♠ 2 3 + ♠ 8 10 5 7 8 58 Die Kostenwerte werden mit diesen Vorzeichen entlang des Zyklus aufsummiert. Der Wert kann in das Feld eingetragen werden. Zur Unterscheidung sind die Transportmengen in diesem Beispiel eingekreist worden, man kann aber beispielsweise auch mit verschiedenen Farben arbeiten. * * Hätten wir das hier gemacht, wäre das Buch vermutlich einfach zu teuer geworden. 133 <?page no="134"?> 4 Ganzzahlige Optimierungsprobleme 1 2 3 1 3 ♠ 5 3 ♠ 5 1 3 10 2 4 −2 2 ♠ 2 3 ♠ 8 10 5 7 8 58 Angegeben ist nun immer die Verbesserung des Zielfunktionswerts pro umgelagerter Einheit, nicht etwa die Veränderung. Somit bedeutet ein positiver Wert, dass eine Verbesserung möglich ist. Dies entspricht der Aussage der δ-Werte im Simplex-Tableau. Der Zyklus-Schritt: In ein neues Tableau werden die neuen Transportmengen eingetragen. Die umzuschiebende Menge ist das Minimum der Zyklus-Stationen, die mit einem + versehen sind. 1 2 3 1 3 ♠ 5 3 1 ♠ 5 10 2 4 2 ♠ 7 3 ♠ 3 10 5 7 8 43 Für die leeren Felder sind nun wieder die Zyklen und damit die Verbesserungsmöglichkeiten zu bestimmen: 1 2 3 1 3 ♠ 5 3 −3 1 ♠ 5 10 2 4 1 2 ♠ 7 3 ♠ 3 10 5 7 8 43 Es lässt sich ablesen, dass noch eine Verbesserung möglich ist. 134 <?page no="135"?> 4.2 Transportprobleme 1 2 3 1 3 ♠ 2 3 −2 1 ♠ 8 10 2 4 ♠ 3 2 ♠ 7 3 −1 10 5 7 8 40 Nun ist keine Verbesserung mehr möglich, das Optimum ist erreicht! Das Verfahren, wie es im Beispiel entwickelt wurde, fassen wir nun zusammen: Algorithmus Zyklenmethode • Bestimme für jede nicht genutzte Verbindung den Zyklus. Dazu wird ein Weg abwechselnd zeilen- und spaltenweise über die genutzten Verbindungen gesucht, bis der Ausgangspunkt wieder erreicht wird. Ein Zyklus existiert immer. • Berechne den δ-Wert, der die mögliche Verbesserung angibt. Dazu werden die Kosten im Zyklus abwechselnd positiv und negativ aufaddiert. • Wenn ein positiver δ-Wert vorliegt, verschiebe die maximal mögliche Menge innerhalb des Zyklus. Beginne wieder mit der Bestimmung der Zyklen. • Wenn kein positiver δ-Wert mehr vorliegt, ist das Optimum erreicht. Wie im Simplex-Tableau könnte man auch hier den maximalen δ-Wert wählen, um den entsprechenden Zyklus auszuführen. Da die Berechnung aber recht aufwändig ist, empfiehlt es sich durchaus, den ersten gefundenen positiven δ-Wert als Auslöser für einen Basistausch zu verwenden. 135 <?page no="136"?> 4 Ganzzahlige Optimierungsprobleme Beispiel 4.5 (Fortsetzung von Beispiel 4.3 vgl. S. 129 ): Anfangslösung mit NWE-Regel 1 2 3 4 5 6 1 10 ♠ 10 12 ♠ 8 13 −7 8 2 14 −8 19 −5 18 2 15 1 18 ♠ 3 12 ♠ 13 16 ♠ 6 19 −7 20 0 22 3 17 −3 16 0 13 −3 14 ♠ 14 10 ♠ 24 18 ♠ 1 39 4 19 −10 18 −7 20 −15 21 −12 12 −7 13 ♠ 14 14 10 11 13 20 24 15 1138 1 2 3 4 5 6 1 10 ♠ 10 12 ♠ 2 13 −7 8 ♠ 6 14 −10 19 −7 18 2 15 1 18 ♠ 9 12 ♠ 13 16 −2 19 −9 20 −2 22 3 17 −1 16 2 13 −1 14 ♠ 14 10 ♠ 24 18 ♠ 1 39 4 19 −8 18 −5 20 −13 21 −12 12 −7 13 ♠ 14 14 10 11 13 20 24 15 1126 136 <?page no="137"?> 4.2 Transportprobleme 1 2 3 4 5 6 1 10 ♠ 1 12 ♠ 11 13 −6 8 ♠ 6 14 −10 19 −7 18 2 15 ♠ 9 18 −1 12 ♠ 13 16 −3 19 −10 20 −3 22 3 17 −1 16 2 13 0 14 ♠ 14 10 ♠ 24 18 ♠ 1 39 4 19 −8 18 −5 20 −12 21 −12 12 −7 13 ♠ 14 14 10 11 13 20 24 15 1117 Schlusstableau: 1 2 3 4 5 6 1 10 ♠ 1 12 −2 13 −6 8 ♠ 17 14 −10 19 −7 18 2 15 ♠ 9 18 −3 12 ♠ 13 16 −3 19 −10 20 −3 22 3 17 −1 16 ♠ 11 13 0 14 ♠ 3 10 ♠ 24 18 ♠ 1 39 4 19 −8 18 −7 20 −12 21 −12 12 −7 13 ♠ 14 14 10 11 13 20 24 15 1095 137 <?page no="138"?> 4 Ganzzahlige Optimierungsprobleme Zusammenhang zum Simplex-Tableau Man beobachtet im Optimal-Simplextableau und im Optimal-Transporttableau einige Gemeinsamkeiten: 1 2 3 4 5 6 7 x 7 0 0 0 0 0 0 1 0 5 0 1 0 0 1 0 0 7 4 0 −1 0 1 0 1 0 3 1 1 1 0 0 0 −1 0 2 3 0 0 1 0 0 1 0 8 0 −2 0 0 0 −1 0 40 1 2 3 1 3 ♠ 2 3 −2 1 ♠ 8 10 2 4 ♠ 3 2 ♠ 7 3 −1 10 5 7 8 40 Simplextableau Transporttableau Basislösung rechts Transportmengen δ-Werte potentielle Verbesserung f-Werte (mit 1, 0 und −1) Zyk lus mit Zuordnung von + und − Diese Zusammenhänge gelten nicht nur im Optimum, sondern es lässt sich jeder Schritt in dieser Weise in jede der beiden Darstellungen bringen. Technische Anmerkung Für eine formalere Herleitung benötigt man als Ausgangspunkt die Darstellung a (k,#) = e (k) + e (p+#) (∗) mit den Einheitsvektoren des R p+q . Sind (i 1 , j 1 ), · · · , (i p+q−1 , j p+q−1 ) Basisindizes, d.h. a (i 1 ,j 1 ) , · · · , a (i p+q−1 ,j p+q−1 ) , e (1) 138 <?page no="139"?> 4.2 Transportprobleme Basis des R p+q aus Spalten von A (bis auf e (1) ) der Form (∗), dann kann a (k,#) aus dieser mit Ko effizien ten f (i,j)(k,#) ∈ {−1, 0, 1} dargestellt werden. Zunächst existiert ein passender Index (i r 1 , j r 1 ) mit i r 1 = k. Da im Allgemeinen j r 1 5= ', muss der Anteil e (p+j r 1 ) wieder kompensiert werden, d.h. ein passender Index (i r 2 , j r 2 ) mit j r 2 = j r 1 gefunden werden usw. Der Zyklus geht schließlich auf: a (k,#) = e (k) + e (p+#) = (e (k) + e (p+j r 1 ) ︸ ︷︷ ︸ a (i r 1 ,j r 1 ) ) − (e (i r 2 ) + e (p+j r 2 ) ︸ ︷︷ ︸ a (i r 2 ,j r 2 ) ) + (e (i r 3 ) + e (p+j r 3 ) ︸ ︷︷ ︸ a (i r 3 ,j r 3 ) ) − · · · + · · · + (e (i r s ) + e (p+#) ︸ ︷︷ ︸ a (i r s ,j r s ) ) Die Verkettung ausgedrückt durch Basisindizes: (k, ') ˆ =(k, j r 1 ), (i r 2 , j r 2 ), (i r 3 , j r 3 ), · · · , (i r s−2 , j r s−2 ), (i r s−1 , ') Folgerungen: • für f-Werte: f (i r 1 ,j r 1 )(k,#) = 1, f (i r 2 ,j r 2 )(k,#) = −1, f (i r 3 ,j r 3 )(k,#) = 1, · · · (alternierend weiter) · · · , f (i r s−1 ,j r s−1 )(k,#) = −1, f (i r s ,j r s )(k,#) = 1. Alle nicht benötigten Basisindizes (i, j) führen zu Werten f (i,j)(k,#) = 0. • für δ-Werte (hier ist z die Anzahl der betroffenen Kanten): δ (k,#) = z ∑ e=1 f (i r e ,j r e )(k,#) c i r e j r e − c k# = c i r 1 j r 1 − c i r 2 j r 2 + c i r 3 j r 3 − · · · + c i r z j r z − c k# • für Pivotisierung: δ (k,#) > 0. Soll a (k,#) in die Basis, dann suche min{x i r e j r e : e ungerade} = x k ′ # ′ („ a (k ′ ,# ′ ) raus“). Dann: x ′ k# = x k ′ # ′ und x ′ ij = x ij − f (i,j)(k,#) x k ′ # ′ sind die neuen Werte der Basisvariablen. 139 <?page no="140"?> 4 Ganzzahlige Optimierungsprobleme Degeneriertheit im Transportproblem Im Transportproblem gibt es p+q−1 Basisvariablen. Rechnerisch schwieriger wird es, wenn weniger von 0 verschiedene Werte vorliegen. Man spricht dann von Degeneriertheit. Dies ist der Fall, falls I ! {1, · · · , p} bzw. J ! {1, · · · , q} existieren mit ∑ i∈I s i = ∑ j∈J t j . Das Problem zerfällt beispielsweise in Abbildung 4.6 in die Transportprobleme S 1 , S 3 → T 1 , T 2 : p + q − 1 = 3 und S 2 , S 4 → T 3 , T 4 , T 5 : p + q − 1 = 4 S 2 T 2 T 1 T 3 T 5 S 1 S 3 S 4 T 4 Abbildung 4.6: Degeneriertes Transportproblem Beim Aufstellen der Anfangslösung muss man dann, wenn gleichzeitig eine Zeile und eine Spalte „erledigt“ werden, eine zusätzliche Basis-Null einfügen, also eine Verbindung mit der Transportmenge 0 „nutzen“. Bei der Rechnung ist dann weiterhin sicherzustellen, dass immer p + q − 1 Basisvariablen vorhanden sind. Entstehen bei einem Schritt zwei Null-Werte, muss einer von diesen weiterhin in der Basis gehalten werden. Verwandtes Problem: Ein δ-Wert ist gleich 0. Dann lässt sich ein Basistausch ohne Änderung der Gesamtkosten vornehmen. Jede beliebige (vorhandene) Transportmenge kann auf diesem Zyklus verschoben werden. 140 <?page no="141"?> 4.3 Zuordnungsprobleme 4.3 Zuordnungsprobleme Zuordnungsprobleme Glossar modellieren 1: 1-Zuordnungen, etwa Jobs auf Maschinen, Mitarbeiter auf Arbeitsplätze etc., wobei verschiedene Zuordnungen zu verschiedenen Kosten führen. Allgemein: Zwei Klassen von jeweils m Objekten, etwa A = {a 1 , . . . , a m }, B = {b 1 , . . . , b m } sind gegeben. Die Handlungsalternativen sind die Bijektionen (Zuordnungen) a i &−→ b σ i , 1 ≤ i ≤ m mit einer Permutation σ = (σ 1 , . . . , σ m ) von (1, . . . , m). Die Kosten einer Einzelentscheidung a i &−→ b j seien c ij . Dann lautet das Ziel: c σ = m ∑ i=1 c iσ i ! = min σ Anschaulich stellt man das Problem als bipartiten Graphen dar. Beispiel 4.6: Für m = 6, σ = (3, 6, 2, 1, 5, 4) ist eine beispielhafte Zuordnung in Abbildung 4.7 dargestellt. 2 1 3 5 4 2 1 3 5 4 6 6 Abbildung 4.7: Zuordnungsproblem 141 <?page no="142"?> 4 Ganzzahlige Optimierungsprobleme In LP-Form lässt sich ein Zuordnungsproblem so darstellen: m ∑ i=1 m ∑ j=1 c ij x ij ! = min ∑ j x ij = 1 ∀i ∑ i x ij = 1 ∀j x ij ≥ 0, wobei in dieser Form die Ganzzahligkeitsforderung schon nicht mehr erwähnt ist, da sie ja aufgrund der vollständigen Unimodularität erreicht wird. Dies entspricht etwa einem Transportproblem mit der jeweiligen Transportmenge 1 und mit identischer Anzahl von Start- und Zielorten. Gleichzeitig ist es auch als Partitionsproblem mit einelementigen Partitionen zu sehen. Zu lösen ist ein Zuordnungsproblem demnach mit dem Simplex-Algorithmus. Man kann auch die Verfahren zur Lösung eines Transportproblems verwenden. Problematisch: Hier treten maximal m Werte > 0 auf, die Basis müsste aber aus 2m − 1 Elementen bestehen. Das bedeutet, es gibt eine große Zahl degenerierter Ecken. Die Zyklenmethode ist zudem unhandlich und vergleichsweise ineffizient. Zur Lösung des Zuordnungsproblems wird deshalb oft ein Algorithmus verwendet, der mit Hilfe des dualen Problems zur Lösung führt: Die ungarische Methode Glossar . Duales Problem Das duale Problem zum oben aufgestellten linearen Optimierungsproblem kann so aufgeschrieben werden: m ∑ i=1 u i + m ∑ j=1 v j ! = max (D) u i + v j ≤ c ij ∀i, j Die Zeilen- und die Spalten-Nebenbedingungen werden hier in die Variablen u i bzw. v j überführt. Eine zulässige Lösung für (D) lässt sich leicht bestimmen: ˆ u i = min j c ij , ˆ v j = min i {c ij − ˆ u i } 142 <?page no="143"?> 4.3 Zuordnungsprobleme Beispiel 4.7: m = 3 und C = ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ 3 2 5 0 1 2 4 6 2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ Die Nebenbedingungen von (D) lauten also: u 1 + v 1 ≤ 3, u 1 + v 2 ≤ 2, u 1 + v 3 ≤ 5 u 2 + v 1 ≤ 0, u 2 + v 2 ≤ 1, u 2 + v 3 ≤ 2 u 3 + v 1 ≤ 4, u 3 + v 2 ≤ 6, u 3 + v 3 ≤ 2 Zulässige Lösung: u 1 = 2, u 2 = 0, u 3 = 2, v 1 = v 2 = v 3 = 0. Aus den Aussagen über duale Probleme (Complementary Slackness) ist bekannt: x ist optimal für (P) und u, v optimal für (D) genau dann, wenn (c ij − u i − v j )x ij = 0 ∀1 ≤ i, j ≤ m. Sind u, v berechnet, dann folgt aus c ij − u i − v j > 0 die Notwendigkeit x ij = 0. Die Schlupfvariablen kann man in der sogenannten „ reduzierten Kostenmatrix“ ablesen, die definiert ist durch C(u, v) = [c ij − u i − v j ] Beispiel 4.8: Im Beispiel 4.7 ist C(u, v) = ⎡ ⎢ ⎢ ⎢ ⎢ ⎣ 1 0 3 0 1 2 2 4 0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎦ Setzt man hier an Stelle der ausgeschöpften Nebenbedingungen gemäß Complementary Slackness jeweils x ij , erhält man x 12 = x 21 = x 33 = 1. Diese Lösung ist auch zulässig für das primale Problem, es liegt also ein Optimum vor! 143 <?page no="144"?> 4 Ganzzahlige Optimierungsprobleme Dass eine so konstruierte Start-Lösung nicht immer zum Optimum führt, zeigt ein modifiziertes Beispiel. Beispiel 4.9: C = 3 2 5 0 1 2 4 2 6 Mit u = (2, 0, 2) T und v = (0, 0, 2) T erhält man C(u, v) = 1 0 1 0 1 0 2 0 2 Die Complementary-Slackness-Bedingungen sind durch eine zulässige Lösung x (für (P)) hier nicht erfüllbar. Damit ist die Lösung auch nicht optimal für (D). Die Idee der ungarischen Methode besteht nun darin, sich ausgehend von einem zulässigen Paar (u, v) mit Hilfe der reduzierten Kostenmatrizen C(u, v) = [c ij − u i − v j ] zu optimalen Lösungen (u ∗ , v ∗ ) vorzuarbeiten und dann x ∗ ij via Complementary Slackness festzulegen. Es lässt sich oft zwar nicht eine primal zulässige Lösung mit m Zuordnungen herstellen, aber doch zumindest eine Teillösung mit k < m Werten x ij = 1. Dieses k entspricht der Minimalzahl von waagerechten und senkrechten Linien, die man benötigt, um alle Nullen der reduzierten Kostenmatrix zu überdecken. Es bleibt ein nicht überdeckter Bereich, der keine Nullen enthält. Dieser repräsentiert Nebenbedingungen, die nicht ausgeschöpft werden. Zieht man nun das Minimum aller Zahlen aus diesem Bereich (c 0 ) von den nicht überdeckten Zeilen ab, wird (mindestens) eine weitere Nebenbedingung ausgeschöpft. Rechnerisch bedeutet das, dass für die Zeile i der Wert von u i um den Betrag c 0 erhöht wird (i durchläuft alle nicht überdeckten Zeilen). 144 <?page no="145"?> 4.3 Zuordnungsprobleme Diese Lösung ist allerdings nicht zulässig, da zumindest für einige Zeilen in üb erdec kten Spalt en Restriktio nen „üb erausge sc höpf t“ we rden, d .h. dass hier negative Werte auftreten. Deshalb wird in diesen Spalten die Zahl c 0 hinzugefü gt. Dies en tspric ht dem Abziehen vo n c 0 vo n d en daz ugehöri gen v j (j durchläuft die überdeckten Spalten). Beispiel 4.10 (Fortsetzung von Beispiel 4.9): 1 0 1 | 0 − 1 − 0 | 2 0 2 Setze c 0 = 1; u 1 und u 3 werden um c 0 = 1 erhöht. 0 −1 0 | 0 − 1 − 0 | 1 −1 1 Zur Wiederherstellung der Zulässigkeit wird v 2 um c 0 = 1 gesenkt. 0 0 0 | 0 − 2 − 0 | 1 0 1 Diese Lösung sieht schon deutlich umsetzbarer aus. Zur Vereinfachung der Rechnung kann man sich den Umweg über ungültige Lösungen sparen: • Alles, was nicht überdeckt ist, wird um c 0 reduziert. • Alles, was zweimal überdeckt ist, wird um c 0 erhöht. • Der Rest wird nicht verändert. Diese Regel führt zum gleichen Ergebnis. 145 <?page no="146"?> 4 Ganzzahlige Optimierungsprobleme Beispiel 4.11 (Fortsetzung): Durch den Umformungsschritt ergab sich in Beispiel 4.10 1 0 1 0 1 0 2 0 2 −→ 0 0 0 0 2 0 1 0 1 Eine zulässige - und damit nach Konstruktion der Methode auch optimale - Lösung ist hier schon erreicht. Wäre das nicht der Fall, müsste man die skizzierten Schritte so lange anwenden, bis die Lösung als zulässig erkennbar ist. Eine optimale Lösung ist etwa: x 11 = x 23 = x 32 = 1, Rest = 0. In diesem Beispiel gibt es noch genau eine zweite optimale Lösung: x 13 = x 21 = x 32 = 1, Rest = 0. Algorithmus „ Ungarische Methode“ Initialisierung: Bilde aus C = [c ij ] ∈ R m×m die reduzierte Kostenmatrix C R durch • zeilenweise Subtraktion des Minimums, • spaltenweise Subtraktion des Minimums bei der dadurch entstandenen Matrix. Bestimme Minimalzahl k(C R ) der alle Nullen überdeckenden waagerechten und senkrechten Linien. Falls k(C R ) = m: Optimale Lösung ablesbar. Falls k(C R ) < m: Suche das minimale nicht-überdeckte Element und • subtrahiere dies von allen anderen nicht-überdeckten Einträgen, • addiere dies zu allen doppelt überdeckten Elementen. Es ergibt sich C ′ R ∈ R m×m . Bestimme k(C ′ R ) und iteriere Vorgehensweise. 146 <?page no="147"?> 4.3 Zuordnungsprobleme Beispiel 4.12: C = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 5 1 2 3 2 3 1 2 2 2 3 4 3 3 2 4 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ → ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 4 0 1 2 1 2 0 1 0 0 1 2 1 1 0 2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ → ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 4 0 1 1 1 2 0 0 0 0 1 1 1 1 0 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Beispiel 4.13: C = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 4 2 3 1 2 2 3 1 1 1 2 5 1 3 4 2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ → ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 3 1 2 0 1 1 2 0 0 0 1 4 0 2 3 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ → ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 3 1 1 0 | | 1 1 1 0 | | 0 − 0 − 0 − 4 | | 0 2 2 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⇒ k(C R ) = 3 < 4 −→ ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 3 0 0 0 1 0 0 0 1 0 0 5 0 1 1 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Minimale Kosten: 6 Bemerkungen: • Die ungarische Methode ist ein Beispiel für einen primal-dualen Algorithmus: Die duale Lösung wird jeweils auf primale Zulässigkeit geprüft. • Der Algorithmus endet nach endlich vielen Schritten, weil die Anzahl der Nullen monoton steigt. • Sind Zuordnungen nicht realisierbar, dann wird dies durch „extreme“ Strafkosten berücksichtigt. 147 <?page no="148"?> 4 Ganzzahlige Optimierungsprobleme 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme 4.4.1 Lösung durch Runden Idee: Die optimale ganzzahlige Lösung dürfte in der Nähe der optimalen Lösung des entsprechenden LP ohne Ganzzahligkeitsforderung liegen. Durch Auf- oder Abrunden ist damit ein gutes Ergebnis zu ermitteln. Diese Methode kann man insbesondere dann anwenden, wenn die Lösungen große Werte enthalten. Ob dann (1000, 23; 2000, 19) oder (1000; 2000) herauskommt, dürfte den Restriktionen nicht viel ausmachen - vor allem im „wirklichen Leben“. Man sollte die ermittelten Werte allerdings auf jeden Fall auf Gültigkeit überprüfen. Beispiel 4.14: Zur Optimierungsaufgabe 2x 1 + 3x 2 ! = max x 1 + 2x 2 ≤ 8 2x 1 + x 2 ≤ 9 x 1 , x 2 ≥ 0 lautet das optimale Tableau 1 2 3 4 2 0 1 2 3 − 1 3 7 3 1 1 0 − 1 3 2 3 10 3 0 0 − 4 3 − 1 3 − 41 3 Durch Runden ermittelt man die Werte x 1 = 3 und x 2 = 2. Diese Lösung ist zulässig und ergibt den Zielfunktionswert 12 (ist aber - wie wir noch sehen werden - nicht das Optimum). 4.4.2 Schnittebenen-Verfahren Mit dem Simplex-Verfahren wird zunächst eine optimale Lösung berechnet. Ist diese nicht ganzzahlig, wird eine weitere Restriktion hinzugenommen, die dafür sorgt, dass die bisherige optimale Lösung nicht mehr gültig ist, alle 148 <?page no="149"?> 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme zulässigen Punkte des ganzzahligen LP aber im neuen zulässigen Bereich liegen. Eine solche Restriktion könnte wie in Abbildung 4.8 aussehen. Abbildung 4.8: Ganzzahliges Optimierungsproblem mit Schnitt Für das Problem mit der neuen Restriktion wird wiederum die optimale Lösung berechnet. Ist diese Lösung nicht ganzzahlig, wird eine geeignete weitere Restriktion eingefügt. Dieses Vorgehen wird fortgesetzt, bis eine ganzzahlige Lösung erreicht ist. Zur Konstruktion zusätzlicher Restriktionen gibt es eine ganze Reihe von Verfahren; ein solches Schnittebenen-Verfahren ist der Gomory-Algorithmus Glossar entwickelt. Es verläuft wie gerade beschrieben; die jeweils zusätzliche Restriktion wird folgendermaßen motiviert: Sei x irgendeine ganzzahlige zulässige Lösung und x ∗ der Optimalwert unter Nichtberücksichtigung der Ganzzahligkeitsforderung. Im Optimaltableau können wir beispielsweise für x ∗ 1 die Gleichung f 11 x 1 + f 12 x 2 + · · · + f 1n x n = x ∗ 1 ablesen. Rundet man die Koeffizienten auf die nächste ganze Zahl ab, gilt: [f 11 ]x 1 + [f 12 ]x 2 + · · · + [f 1n ]x n ≤ x ∗ 1 Da auf der linken Seite nur ganzzahlige Werte stehen, sind eventuelle Nachkommastellen auf der rechten Seite zu vernachlässigen, also gilt auch: [f 11 ]x 1 + [f 12 ]x 2 + · · · + [f 1n ]x n ≤ [x ∗ 1 ] 149 <?page no="150"?> 4 Ganzzahlige Optimierungsprobleme Jetzt subtrahiert man diese Ungleichung von der Ausgangsgleichung; es ergibt sich: (f 11 − [f 11 ])x 1 + (f 12 − [f 12 ])x 2 + · · · + (f 1n − [f 1n ])x n ≥ x ∗ 1 − [x ∗ 1 ] Diese Ungleichung hat eine interessante Eigenschaft. Für eine ganzzahlige Optimallösung ständen auf der linken Seite nur Nullen, die rechte Seite hat ebenfalls den Wert 0 - die Ungleichung ist erfüllt. Für das nicht-ganzzahlige Optimum steht rechts aber ein positiver Wert - die Ungleichung ist daher nicht erfüllbar. Die Ungleichung kann also als der gewünschte Schnitt verwendet werden. Technisch heißt das: Man zieht zur Konstruktion der neuen Restriktion in der betrachteten Zeile von allen Werten den ganzzahligen Anteil ab. Für „≥“ wird eine Schlupfvariable eingefügt. Multipliziert man diese neue Zeile mit −1, ist die Lösung immerhin dual zulässig (es ändert sich ja nichts an der Zielfunktion), allerdings nicht primal zulässig. Es ist deshalb ein dualer Pivotschritt mit dieser Zeile als Pivotzeile durchzuführen. Beispiel 4.15: Zur Optimierungsaufgabe aus Beispiel 4.14 rechnet man zunächst wieder die nicht-ganzzahlige Lösung aus: 1 2 3 4 2 0 1 2 3 − 1 3 7 3 1 1 0 − 1 3 2 3 10 3 0 0 − 4 3 − 1 3 − 41 3 Ausgehend von der ersten Zeile lautet die einzufügende Restriktion: 2 3 x 3 + 2 3 x 4 ≥ 1 3 ⇔ − 2 3 x 3 − 2 3 x 4 ≤ − 1 3 Im Tableau: 1 2 3 4 5 2 0 1 2 3 − 1 3 0 7 3 1 1 0 − 1 3 2 3 0 10 3 5 0 0 − 2 3 − 2 3 1 − 1 3 0 0 − 4 3 − 1 3 0 − 41 3 150 <?page no="151"?> 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme Nach Umformung ergibt sich das Tableau: 1 2 3 4 5 2 0 1 1 0 − 1 2 5 2 1 1 0 −1 0 1 3 4 0 0 1 1 − 3 2 1 2 0 0 −1 0 − 1 2 − 27 2 mit einem ganzzahligen Wert für x 1 , aber noch keiner ganzzahligen Lösung für x 2 . Eine weitere Restriktion ist einzufügen. Aus der ersten Zeile resultiert die Restriktion 1 2 x 5 ≥ 1 2 , die auf das folgende Tableau führt: 1 2 3 4 5 6 2 0 1 1 0 − 1 2 0 5 2 1 1 0 −1 0 1 0 3 4 0 0 1 1 − 3 2 0 1 2 6 0 0 0 0 − 1 2 1 − 1 2 0 0 −1 0 − 1 2 0 − 27 2 Im umgeformten Tableau 1 2 3 4 5 6 2 0 1 1 0 0 −1 3 1 1 0 −1 0 0 2 2 4 0 0 1 1 0 −3 2 5 0 0 0 0 1 −2 1 0 0 −1 0 0 −1 −13 lässt sich die optimale ganzzahlige Lösung ablesen: x 1 = 2 und x 2 = 3. Das Verfahren führt in einer endlichen Anzahl von Schritten sicher zum Optimum. 151 <?page no="152"?> 4 Ganzzahlige Optimierungsprobleme 4.4.3 Branch-and-Bound-Verfahren Br an ch -and-Bound-Verf ah ren Gl oss ar we rd en be i v ielen Suc hpr oblemen angewandt. Grundlage sind die Aufteilung eines Problems in Teilprobleme („branch“ = „verzweigen“) und Überlegungen, wie man sicherstellen kann, dass das Optimum in bestimmten Teilproblemen nicht gefunden werden kann, diese also ignoriert werden können („bound“ = „abgrenzen“). Ausgangspunkt: Verzweigung in Teilprobleme (P) f(a) = min A geht mit A = p ⋃ i=1 A i über in (P i ) f(a) = min A i etc. Das Minimum aller Teilprobleme ist das Minimum des Gesamtproblems. Zusammengefasst führt das auf einen Baum von Teilproblemen, der wie in Abbildung 4.9 aussehen kann. P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P 10 P 11 P 12 P 13 P Abbildung 4.9: Branch-and-Bound in Baumdarstellung 152 <?page no="153"?> 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme Dieser beschreibt die sogenannte Verzweigungsstruktur des Optimierungsproblems. Eine Liste von Knoten, die deren sequentielle Abarbeitungsfolge beschreibt, heißt Traversierungsregel. Bei binären Entscheidungsvariablen ergibt sich eine Verzweigungsstruktur quasi von selbst. Beispiel 4.16: −(3x 1 + x 2 + 2x 3 ) ! = min (P) x 1 + 3x 2 + x 3 ≤ 4 x 1 , x 2 , x 3 ∈ {0, 1} Daraus für x 1 = 0: −(x 2 + 2x 3 ) ! = min (P 1 ) 3x 2 + x 3 ≤ 4 bzw. für x 1 = 1: −(3 + x 2 + 2x 3 ) ! = min (P 2 ) 3x 2 + x 3 ≤ 3 (etc.) Durch Verzweigungsstruktur und Traversierungsregel wird eine vollständige Enumeration nur vorstrukturiert, das Problem aber nicht reduziert. Dem dient nun das „bound“, d.h. diverse Beschränkungsregeln, durch die Teile des Baumes negativ bewertet und damit abgeschnitten werden können. Sei mit f ∗ i : = min{f(a) : a ∈ A i } das Minimum eines Teilproblems bezeichnet. Dann sind folgende Operationen möglich: • Reduktion durch untere Schranken: Es existiere ein a ∈ A mit f(a) < f ∗ i . Dann kann der Baum bei P i abgeschnitten werden. Methoden hierzu bei linearer Optimierung - erst Vernachlässigung der Ganzzahligkeit, Lösung ermitteln und runden o.ä. - mittels Lagrange-Ansatz bzw. Dualitätsansatz. • Dominanz eines Teilproblems über ein anderes: Für Teilprobleme P i und P j gelte: f ∗ j ≤ f ∗ i . Dann kann der Baum bei P i abgeschnitten werden. • Reduktion durch obere Schranken: Es existiere ein a ∈ A i mit f ∗ i ≤ f(a). Der Wert f(a) kann dann mit unteren Schranken anderer Teilprobleme verglichen werden und zur Beschneidung des Baumes beitragen. 153 <?page no="154"?> 4 Ganzzahlige Optimierungsprobleme Durch Konkretisierung der Verzweigungs-, Traversierungs- und Beschränkungsregeln (und ihre Iteration) entstehen dann die einzelnen Branch-and- Bound-Algorithmen. 4.4.4 Der Dakin-Algorithmus Der Dakin-Algorithmus Glossar ist nun eine Anwendung der Prinzipien des Branch-and-Bound auf die Problemstellung der ganzzahligen linearen Optimierung. Das Ausgangsproblem ist wieder wie bisher definiert in der Form c T x ! = min Ax ≥ b x ∈ N n 0 Schritt 1: Löse mit dem Simplexalgorithmus das Problem ohne Ganzzahligkeitsforderung c T x ! = min Ax ≥ b x ≥ 0 Ist die Lösung x (0) schon in N n 0 , kann man hier bereits abbrechen. Schritt 2 (Verzweigung): Ist x (0) k / ∈ N 0 , d ann wird aufgeteilt in die Teilprobleme c T x ! = min c T x ! = min Ax ≥ b Ax ≥ b x k ≤ [x (0) k ] x k ≥ [x (0) k ] + 1 x ≥ 0 x ≥ 0 Diese sind mit dem dualen Simplex-Algorithmus zu lösen (wie oben). Ist die Optimallösung eines (oder beider) Teilproblems nicht ganzzahlig, dann wird dieses wie oben in zwei weitere Teilprobleme zerlegt etc. Schritt 3 (Beschränkung): Sind x (1) und x (2) - wenn sie existieren - optimal für die obigen Teilprobleme, dann sind f 1 = c T x (1) bzw. f 2 = c T x (2) untere Schranken für die beiden Teilprobleme mit Ganzzahligkeitsforderung. 154 <?page no="155"?> 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme Ein Ast des Baumes wird nicht mehr weiterverfolgt, wenn • die Schranke größer ist als der Zielwert irgendeiner zulässigen Lösung, • die Unlösbarkeit des Teilproblems ersichtlich wird. Schritt 4 (Traversierung): Sind die beiden ersten Teilprobleme durch x (1) bzw. x (2) lösbar , d ann verfolge das Teilproblem mit kleinerem f i . Bei Iterationsschritten wird der gerade bearbeitete Ast weiter verfolgt („Neueste-Schranken-Regel“). Beispiel 4.17: Das Problem aus Beispiel 4.14 vgl. S. 148 wird wie bisher nicht-ganzzahlig gelöst: 1 2 3 4 2 0 1 2 3 − 1 3 7 3 1 1 0 − 1 3 2 3 10 3 0 0 − 4 3 − 1 3 − 41 3 P 1 : x 1 ≤ 3 1 2 3 4 5 2 0 1 2 3 − 1 3 0 7 3 1 1 0 − 1 3 2 3 0 10 3 5 1 0 0 0 1 3 0 0 − 4 3 − 1 3 0 − 41 3 Achtung: Das ist kein Simplextableau (fehlender Einheitsvektor), es ist eine Umformung nötig! 1 2 3 4 5 2 0 1 2 3 − 1 3 0 7 3 1 1 0 − 1 3 2 3 0 10 3 5 0 0 1 3 − 2 3 1 − 1 3 0 0 − 4 3 − 1 3 0 − 41 3 155 <?page no="156"?> 4 Ganzzahlige Optimierungsprobleme Anwendung eines dualen Simplexschrittes führt zu 1 2 3 4 5 2 0 1 1 2 0 − 1 2 5 2 1 1 0 0 0 1 3 4 0 0 − 1 2 1 − 3 2 1 2 0 0 − 3 2 0 − 1 2 − 27 2 Diese Lösung ist nicht ganzzahlig, wir werden deshalb eine weitere Verzweigung nach x 2 du rc hfü hr en (P 3 und P 4 ). P 2 : x 1 ≥ 4 1 2 3 4 5 2 0 1 2 3 − 1 3 0 7 3 1 1 0 − 1 3 2 3 0 10 3 5 −1 0 0 0 1 −4 0 0 − 4 3 − 1 3 0 − 41 3 Wieder kein Simplex-Tableau, Umformung: 1 2 3 4 5 2 0 1 2 3 − 1 3 0 7 3 1 1 0 − 1 3 2 3 0 10 3 5 0 0 − 1 3 2 3 1 − 2 3 0 0 − 4 3 − 1 3 0 − 41 3 Anwendung eines dualen Simplexschrittes führt zu 1 2 3 4 5 2 0 1 0 1 2 1 1 1 0 0 0 −1 4 3 0 0 1 −2 −3 2 0 0 0 −3 −4 −11 Diese Lösung ist ganzzahlig, also keine Verzweigung nötig. Der Zielfunktionswert 11 zu x 1 = 4 und x 2 = 1 ist allerdings nicht besonders überzeugend; selbst die durch Rundung erhaltene Lösung war besser. 156 <?page no="157"?> 4.4 Lösungsverfahren für ganzzahlige Optimierungsprobleme P 3 : x 1 ≤ 3 und x 2 ≤ 2 1 2 3 4 5 6 2 0 1 1 2 0 − 1 2 0 5 2 1 1 0 0 0 1 0 3 4 0 0 − 1 2 1 − 3 2 0 1 2 6 0 1 0 0 0 1 2 0 0 − 3 2 0 − 1 2 0 − 27 2 1 2 3 4 5 6 2 0 1 1 2 0 − 1 2 0 5 2 1 1 0 0 0 1 0 3 4 0 0 − 1 2 1 − 3 2 0 1 2 6 0 0 − 1 2 0 1 2 1 − 1 2 0 0 − 3 2 0 − 1 2 0 − 27 2 Umformungsschritt: 1 2 3 4 5 6 2 0 1 0 0 0 1 2 1 1 0 0 0 1 0 3 4 0 0 0 1 −2 −1 1 3 0 0 1 0 −1 −2 1 0 0 0 0 −2 −3 −12 Wir erreichen eine ganzzahlige Lösung x 1 = 3, x 2 = 2 mit Zielfunktionswert 12. Diese ist besser als P 2 . 157 <?page no="158"?> 4 Ganzzahlige Optimierungsprobleme P 4 : x 1 ≤ 3 und x 2 ≥ 3 1 2 3 4 5 6 2 0 1 1 2 0 − 1 2 0 5 2 1 1 0 0 0 1 0 3 4 0 0 − 1 2 1 − 3 2 0 1 2 6 0 −1 0 0 0 1 −3 0 0 − 3 2 0 − 1 2 0 − 27 2 1 2 3 4 5 6 2 0 1 1 2 0 − 1 2 0 5 2 1 1 0 0 0 1 0 3 4 0 0 − 1 2 1 − 3 2 0 1 2 6 0 0 1 2 0 − 1 2 1 − 1 2 0 0 − 3 2 0 − 1 2 0 − 27 2 Umformungsschritt: 1 2 3 4 5 6 2 0 1 0 0 0 −1 3 1 1 0 1 0 0 2 2 4 0 0 −2 1 0 −3 2 5 0 0 −1 0 1 −2 1 0 0 −2 0 0 −1 −13 Dies ist die ganzzahlige Lösung x 1 = 2, x 2 = 3 mit Zielfunktionswert 13. Der Wert ist besser als alle bisher gefundenen. Es sind keine weiteren Teilprobleme mehr zu bearbeiten, also ist das Optimum gefunden! Der Dakin-Algorithmus führt in endlich vielen Schritten zum Optimum. Wenn auch in diesem Beispiel der Dakin-Algorithmus recht aufwändig erscheint, kann er in größeren Problemen recht effektiv arbeiten und durchaus auch dem Gomory-Algorithmus überlegen sein. 158 <?page no="159"?> Kontrollfragen Zusammenfassung Ganzzahlige Lösungen werden in vielen betriebswirtschaftlichen Fragestellungen benötigt. Die Verfahren lassen sich in zwei Kategorien einteilen. • Transport- und Zuordnungsprobleme führen aufgrund ihres Aufbaus quasi automatisch zu einer ganzzahligen Lösung. Statt den Simplexalgorithmus anzuwenden, empfiehlt es sich, spezielle Verfahren einzusetzen. • Probleme, wie sie etwa bei der Produktionsplanung auftreten, erfordern Verfahren, die aufbauend auf dem Simplexalgorithmus schrittweise ganzzahlige Lösungen ermitteln. Somit stellt das Operations Research für alle denkbaren ganzzahligen linearen Probleme effektive und effiziente Verfahren bereit. Kontrollfragen 1. Für welche Fragestellungen werden ganzzahlige Ergebnisse gefordert? 2. Woran kann man erkennen, dass die Lösung eines LP ganzzahlig ist, ohne spezielle Verfahren anzuwenden? 3. Wie geht man vor, wenn in einem Transportproblem die Mengen in den Startorten und den Zielorten verschieden sind? 4. Wie kann man Zyklen des Transporttableaus im Simplextableau ablesen? 5. Warum bedeuten Nullen in der reduzierten Kostenmatrix der ungarischen Methode, dass hier eine optimale Zuordnung möglich ist? 6. Wie konstruiert man die zusätzliche Restriktion im Schnittebenen- Verfahren nach Gomory? 7. In welcher Reihenfolge werden beim Dakin-Algorithmus die verschiedenen Lösungskandidaten abgearbeitet? 159 <?page no="160"?> 4 Ganzzahlige Optimierungsprobleme Literatur Verfahren der ganzzahligen linearen Optimierung werden nahezu in jedem Buch zum Operations Research beschrieben. Empfohlen sei hier in erster Linie Neumann/ Morlock [2002]. Ausschließlich mit ganzzahligen Problemen beschäftigt sich Salkin [1975]. In diesem Buch werden die vorgestellten Probleme deutlich vertieft und insbesondere auch durch gemischt ganzzahlige Probleme ergänzt. 160 <?page no="161"?> 5 Nichtlineare Optimierung Übersicht Auch wenn lineare und ganzzahlige Optimierungsprobleme den klassischen Kern des Operations Research ausmachen, können auch Verfahren zur nichtlinearen Optimierung zu dieser Disziplin gezählt werden. Obwohl ein großer Teil realer wirtschaftswissenschaftlicher Fragestellungen spätestens nach ein wenig Vereinfachung linear modelliert werden kann, bleiben doch immer noch eindeutig nichtlineare Problemstellungen, die einer Lösung harren. Nichtlineare Optimierungsprobleme lassen sich oft durch einfache analytische Methoden lösen, die in Abschnitt 5.1 kurz skizziert werden sollen. Der Abschnitt 5.2 vgl. S. 170 zeigt deterministische Verfahren auf, die vor allem bei „komplizierteren“ Fällen angewandt werden können. Als Beispiel für stochastische Methoden zur nichtlinearen Optimierung wird in Abschnitt 5.3 vgl. S. 176 das Simulated Annealing erklärt. 5.1 Methoden der Analysis Gegeben sei ein Optimierungsproblem in der üblichen Form f(x) ! = min mit x ∈ Z, wobei die Zielfunktion f jetzt nicht mehr als linear vorausgesetzt wird. Die Funktion hat als Wert einen Skalar, also eine reelle Zahl. Die Variable x, die ein Skalar oder ein Vektor sein kann, muss aus der Menge Z, dem zulässigen Bereich gewählt werden. Gesucht sind nun Werte, für die der Funktionswert möglichst klein ist. Sind die Funktionswerte in der näheren Umgebung alle größer, sprechen wir von einem lokalen Minimum, die Stelle mit dem kleinsten Funktionswert im gesamten zulässigen Bereich heißt globales Minimum. 161 <?page no="162"?> 5 Nichtlineare Optimierung Die Formulierung beinhaltet auch Maximierungsprobleme (durch Multiplikation der Funktion mit −1) und unbeschränkte Probleme (etwa durch die Festlegung Z = R bzw. Z = R n ). 5.1.1 Optimierungsprobleme ohne Restriktionen Den Lösungsweg für Probleme, bei denen die Variable ein Skalar ist, kennt man üblicherweise schon aus der Schulmathematik. Die Idee ist, dass dort, wo ein Optimum im Inneren des zulässigen Bereichs vorliegt, die Steigung der Funktion 0 sein muss, also die Ableitung den Wert 0 hat. Um herauszufinden, ob es sich um ein Minimum oder Maximum handelt, wird noch das Krümmungsverhalten der Funktion um einen solchen Punkt betrachtet. Verfahren zur Bestimmung von Optima • Bilde die erste und zweite Ableitung der Funktion. • Ermittle alle Punkte, für die die erste Ableitung den Wert 0 hat. • Ist in einem solchen Punkt die zweite Ableitung > 0, liegt ein Minimum vor. • Ist dort die zweite Ableitung < 0, ist der Punkt ein Maximum. Liegen mehrere Minimalstellen vor, werden diese untereinander und mit den Werten am Rand des Definitionsbereichs (den auch −∞ und ∞ bilden können) verglichen. Der kleinste Wert ist das globale Minimum. Entsprechend geht man für Maxima vor. Beispiel 5.1: Gesucht seien die Minima der in Abbildung 5.1 skizzierten Funktion f(x) = 3x 4 − 8x 3 − 6x 2 + 24x + 12 Die Ableitungen lauten f ′ (x) = 12x 3 − 24x 2 − 12x + 24 = 12 · (x − 1)(x − 2)(x + 1) f ′′ (x) = 36x 2 − 48x − 12 Die erste Ableitung hat den Wert 0 für x = −1, x = 1 und x = 2. Da f ′′ (−1) > 0 und f ′′ (2) > 0, liegen an diesen Stellen lokale Minima. Für x → ∞ bzw. x → ∞ geht die Funktion gegen Unendlich. Wegen f(−1) < f(2) liegt in x = −1 das globale Minimum. 162 <?page no="163"?> 5.1 Methoden der Analysis -2 -1 1 2 3 10 20 30 40 50 Abbildung 5.1: Funktion einer Variablen Ist nun die Variable ein Vektor, ist die Vorgehensweise fast identisch. Aus der Ableitung wird nun der Gradient, die zweite Ableitung wird ersetzt durch die Hesse-Matrix. Verfahren zur Bestimmung von Optima im mehrdimensionalen Fall • Bilde Gradient und Hesse-Matrix der Funktion. • Ermittle alle Punkte, für die der Gradient den Wert 0 (in jedem Eintrag des Vektors) hat. • Ist in einem solchen Punkt die Hesse-Matrix positiv definit, liegt ein Minimum vor. • Ist dort die Hesse-Matrix negativ definit, ist der Punkt ein Maximum. Liegen mehrere Minimalstellen vor, werden diese untereinander und mit den Werten am Rand des Definitionsbereichs (den auch alle Kombinationen aus −∞ und ∞ bilden können) verglichen. Der kleinste Wert ist das globale Minimum. Entsprechend geht man für Maxima vor. Beispiel 5.2: Gesucht ist ein Minimum der Funktion f(x 1 , x 2 ) = 4x 2 1 + 2x 1 x 2 + 3x 2 2 , 163 <?page no="164"?> 5 Nichtlineare Optimierung die in Abbildung 5.2 zu sehen ist. -4 -2 0 2 4 -4 -2 0 2 4 0 50 100 150 200 -4 -2 0 2 4 Abbildung 5.2: Mehrdimensionale Funktion Es sind ∇f(x 1 , x 2 ) = ( 8x 1 + 2x 2 2x 1 + 6x 2 ) und Hess f(x 1 , x 2 ) = [ 8 2 2 6 ] Der Gradient hat den Wert 0 nur im Punkt (0, 0). Da die Hesse-Matrix in allen Punkten positiv definit ist, liegt in (0, 0) also ein Minimum - mangels Konkurrenz im Inneren und am Rand sogar das globale - vor. 5.1.2 Optimierungsprobleme mit Restriktionen Bei diesen Problemen wird der zulässige Bereich durch zusätzliche Bedingungen eingeschränkt. In den allein interessanten Fällen wird hierbei zumindest ein Teil der ursprünglichen (lokalen und globalen) Extrema ausgeschlossen. Zu den im restringierten Bereich verbliebenen Extrema können nun jedoch an den Rändern neue hinzutreten. Der wohl wichtigste Typ derartiger Probleme wurde in den Kapiteln 3 und 4 behandelt, nämlich der mit linearen Ziel- und Restriktionsfunktionen. Da sich für diesen recht effizient arbeitende Algorithmen angeben lassen, stellt sich die Frage nach Verallgemeinerungen - dies auch mit Blick auf die geometrische Motivierung des Simplex-Algorithmus. Tatsächlich ist dies etwa für die quadratische Optimierung möglich, d.h. Probleme der Form c T x + x T Hx ! = min Ax ≥ b x ≥ 0 164 <?page no="165"?> 5.1 Methoden der Analysis mit einer symmetrischen n × n-Matrix H. Die Lösung erfolgt mit dem sogenannten Lemke-Algorithmus. Mit Hilfe der linearen Programmierung lassen sich auch Fragestellungen behandeln, die auf den ersten Blick nicht unter diesen Ansatz fallen, etwa gebrochen lineare Funktionen. Verdeutlicht sei dies am Beispiel einer Nutzenmessung, die für Bildungseinrichtungen und anderen nicht-profitorientierte Unternehmen entwickelt wurde, nämlich die „Data Envelopment Analysis“ (DEA). Während für „normale“ Unternehmen pekuniäre Kennzahlen der Form „Gewinn : Investitionen“ nahe liegend sind, müssen für Universitäten o.ä. Ressourcen und Ergebnis auf andere Weise in Relation gesetzt werden. Ein relativ häufig zu beobachtender Ansatz besteht darin, die Eingabebzw. Ausgabewerte mit (willkürlich gewählten) Gewichten aufzusummieren und dann zu vergleichen. Beispiel 5.3: Die Effizienz in Lehre und Forschung der Fakultäten für Wirtschaftswissenschaften an verschiedenen großen Universitäten soll verglichen werden. Als Eingabewerte werden herangezogen • die Zahl der Professoren- und Ratsstellen, • die Zahl der wissenschaftlichen Mitarbeiterstellen, • die Höhe staatlicher Zuwendungen. Die als relevant angesehenen Ausgabewerte sind • die Absolventenzahlen, • die Anzahl der Promotionen, • die Höhe der verausgabten Drittmittel. Die drei Eingabebzw. Ausgabegrößen werden jeweils zu „virtuellen“ Gesamtwerten für die M Universitäten verdichtet, d.h. E m = v 1 x m1 + v 2 x m2 + v 3 x m3 , A m = w 1 y m1 + w 2 y m2 + w 3 y m3 , 1 ≤ m ≤ M . Die v i und w i sind hier vorgegeben. Basis des Vergleichs sind dann die Effizienzwerte A m / E m , 1 ≤ m ≤ M . Bei der DEA werden die Gewichte nun nicht einfach vorgegeben - und dies für alle Einrichtungen gleichermaßen -, sondern einzeln mittels linearer 165 <?page no="166"?> 5 Nichtlineare Optimierung Optimierung angepasst. Der Ansatz lautet: ∑ v mi y i ∑ w mi x i ! = max 0 ≤ ∑ v mi y i ∑ w mi x i ≤ 1 v mi , w mi ≥ 0 Multipliziert man beide Arten von Gewichten mit dem gleichen Skalar, dann ändert sich der Wert des Quotienten nicht. Dies legt eine Normierung des Nenners nahe. Beschränkt man zudem diese Gewichte „weg von Null“, dann lässt sich das obige Maximierungsproblem umformen in das DEA-LP ∑ v mi y i ! = max ∑ w mi x i = 1 ∑ w mi x i − ∑ v mi y i ≥ 0 w mi , v mi ≥ ε Dieser Ansatz, samt einer Reihe von Varianten, wird zunehmend zur Effizienzmessung verwendet, mittlerweile auch in gewinnorientierten Unternehmen. Für weitergehende Optimierungsprobleme bleibt zumeist nur das aus Mathematikkursen vertraute Lagrange-Verfahren Glossar . Dieser gibt eine recht allgemein anwendbare Vorgehensweise an, stellt aber keinen Algorithmus dar, d.h. verlangt bei der Umsetzung „individuelles“ Rechnen. Der Ansatz sei für den Fall einer „=“-Nebenbedingung hier skizziert. Lagrange-Verfahren • Gegeben sind eine Zielfunktion f(x) und eine Nebenbedingung in der Form g(x) = 0, die beide differenzierbar sein müssen. • Bilde die Lagrange-Funktion L(x, λ) = f(x) + λg(x) • Ermittle den Gradienten von L und setze diesen gleich 0. • Die Lösung des entstehenden Gleichungssystems ist ein kritischer Punkt. • Begründe, warum dieser Punkt ein Minimum ist. 166 <?page no="167"?> 5.1 Methoden der Analysis Analog ist für Nebenbedingungen in ≤-Form vorzugehen. Beispiel 5.4: Die Zielfunktion sei f(x, y, z) = (x − 1) 2 + y 2 + z 2 . Gesucht ist ein Minimum unter der Nebenbedingung g(x, y, z) = x + y − z = 0. Die Lagrange-Funktion lautet L(x, λ) = (x − 1) 2 + y 2 + z 2 + λ(x + y − z). Setzt man den Gradienten gleich 0, entsteht das folgende Gleichungssystem 2x − 2 + λ = 0 2y + λ = 0 2z − λ = 0 x + y − z = 0 Daraus ergibt sich eindeutig der kritische Punkt x = 2 3 , y = − 1 3 , z = 1 3 , λ = 2 3 . Dieser ist ein globales Minimum, weil die Funktion konvex ist. Es sei hier noch auf die folgende nahe liegende Fragestellung eingegangen: Was erhält man im Falle einer linearen Optimierungsaufgabe mit Hilfe des Lagrange-Ansatzes? Die Antwort ist: Das Dualprogramm, das in Abschnitt 3.4 vgl. S. 108 relativ unmotiviert angegeben wurde, und die Auflösung mittels des Dualitätssatzes bzw. der Complementary-Slackness- Bedingungen. Da die Argumentation hierzu etwas technischer ist, sollte der mathematisch weniger ambitionierte Leser sie ruhig überspringen und sich den nächsten Abschnitten widmen, in denen numerische Verfahren zum Aufspüren von Extrema diskutiert werden. Dem Lagrange-Verfahren liegt im Kern ein Dualitätsansatz zugrunde, mit dem recht allgemeine Optimierungsprobleme gespiegelt werden können. Dies soll im Rahmen konvexer Programme illustriert werden. Ein solches ist von der Form f(x) ! = min g 1 (x) ≤ 0 . . . g m (x) ≤ 0 x ∈ K 167 <?page no="168"?> 5 Nichtlineare Optimierung Hierbei ist K ⊆ R n eine (nicht-leere) konvexe Menge und f, g 1 , . . . , g m ko nv exe Fu nktionen dar auf. Der wiederum konvexe zulässige Bereich ist demnach Z = {x ∈ K : g 1 (x) ≤ 0, . . . , g m (x) ≤ 0}. Auch hier wird nun eine Lagrange-Funktion eingeführt, nämlich L(x, y) = f(x) + y 1 g 1 (x) + · · · + y m g m (x), y ∈ R m + . Mit deren Hilfe werden nun die zu f und Z dualen Objekte definiert f ∗ (y) = inf x∈K L(x, y) Z ∗ = {y ∈ R m + : f ∗ (y) > −∞} Die Konstruktion ist so gewählt, dass für (P) f(x) ! = min x ∈ Z (D) f ∗ (y) ! = max y ∈ Z ∗ wieder ein Dualitätssatz nachweisbar ist. Offensichtlich gilt bereits f ∗ (y) ≤ L(x, y) ≤ f(x) ∀y ∈ Z ∗ ∀x ∈ Z nach Konstruktion von f ∗ und den Vorzeichen von y i und g i . Um für Optimallösungen x ∗ zu (P) und y ∗ zu (D) wieder f ∗ (y ∗ ) = f(x ∗ ) zeigen zu können, sind zwei einfache Grundannahmen zu machen, nämlich Z ∗ 5= ∅ sowie die sogenannte Slater-Bedingung Es existiert ein x ∈ K mit g i (x) < 0 ∀i, d.h. Z besitzt ein Inneres. Wesentlich für die Charakterisierung von Optimallösungen sind die sogenannten Sattelpunkte von L, d.h. (x ∗ , y ∗ ) ∈ K × R m + Sattelpunkt von L, falls L(x ∗ , y) ≤ L(x ∗ , y ∗ ) ≤ L(x, y ∗ ) ∀x ∈ K ∀y ∈ R m + . Diese anschauliche Begriffsbildung hat später auch in der Spieltheorie ihre Bedeutung. Hier geht sie ein in die Formulierung des Dualitätssatzes. Satz 5.1 • (x ∗ , y ∗ ) Sattelpunkt von L, dann gilt: x ∗ ist optimal für (P), y ∗ ist optimal für (D), und f(x ∗ ) = f ∗ (y ∗ ). • Ist x ∗ optimal für (P), dann existiert ein für (D) optimales y ∗ , und (x ∗ , y ∗ ) bilden einen Sattelpunkt. 168 <?page no="169"?> 5.1 Methoden der Analysis Diesem Rahmen fügt sich nun der Dualitätssatz aus Abschnitt 3.4 vgl. S . 1 08 ein. Mit den dor tigen Bezeic hn ungen gilt nämlic h f(x) = c T x, g i (x) = b i − a i1 x 1 − · · · − a in x n , 1 ≤ i ≤ m für x ∈ K = R n + . Damit L(x, y) = c T x + y T (b − Ax) = x T (c − A T y) + y T b. Ist etwa die k-te Komponente von (c − A T y) negativ, dann wird die rechte Seite für x k → ∞ beliebig klein. Gilt dagegen c − A T ≥ 0, dann führt x = 0 zum Minimum. Daher gilt f ∗ (y) = b T y, Z ∗ = {y ∈ R m + : A T y ≤ c}. Dies ist aber gerade das Dualproblem zur linearen Optimierungsaufgabe in kanonischer Form. 169 <?page no="170"?> 5 Nichtlineare Optimierung 5.2 Deterministische Suchverfahren Ein großer Teil der relevanten Problemstellungen lässt sich mit den in Abschnitt 5.1 vgl. S. 161 besprochenen Verfahren effektiv und effizient lösen. Zwei Voraussetzungen müssen dazu aber gegeben sein: • Die Funktion muss wenigstens einmal differenzierbar sein. • Die Nullstellen der Ableitung müssen auffindbar sein. Erst dann kann man das Optimierungsproblem darauf reduzieren, die meist endliche Anzahl von kritischen Punkten sowie die Ränder des zulässigen Bereichs auf Optimalität zu überprüfen. Vorgestellt werden sollen hier Suchverfahren, die Optima bzw. Nullstellen bestimmen, was bei differenzierbaren Funktionen in der Regel auf das Gleiche hinausläuft. Dies wird realisiert, indem einfach viele mögliche Lösungen durchprobiert werden. Verfahren, die das zielgerichtet und ohne Zufallseinfluss durchführen, werden als deterministische Verfahren bezeichnet. Diese Verfahren eignen sich teilweise auch für Probleme, die aufgrund ihrer Komplexität nicht mit anderen Algorithmen zu lösen sind. Das erste Verfahren aus diesem Bereich sucht nach Optimalstellen in einem begrenzten Bereich einer Funktion, die nicht einmal differenzierbar sein muss. 5.2.1 Intervallschachtelung Gegeben sei eine unimodale Funktion f, d.h. es existiert genau ein Minimum x ∗ im Intervall [a; b]. Links von diesem Minimum ist die Funktion monoton fallend, rechts davon monoton steigend. Wenn das nicht erfüllt ist, definiere man sich ein Teil-Intervall [a ′ ; b ′ ], in dem Voraussetzung gilt. Algorithmus Intervallschachtelung Glossar • Wähl e b 1 ∈ [a; b]. • Wenn f(b 1 ) ≥ f(a), setze neues Suchintervall auf [a; b 1 ]. • Sonst wähle sukzessive b 2 , b 3 , . . . mit b 1 < b 2 < b 3 < . . . . Wenn zum ersten Mal gilt f(b k+1 ) ≥ f(b k ), setze das Intervall auf [b k−1 ; b k+1 ] • Wiederhole die Suche im neuen Suchintervall. Das Intervall wird in jedem Schritt kleiner. Bezeichnet man mit x n etwa die Mitte des Intervalls, konvergiert die Folge (x n ) gegen das Minimum x ∗ . 170 <?page no="171"?> 5.2 Deterministische Suchverfahren Dieses Verfahren ist zwar sehr einfach zu realisieren, aber auch nicht gerade effizient. Um tatsächlich zu kleineren Suchintervallen zu kommen, müssen die Werte b 1 , b 2 etc. recht eng zusammen liegen - dann kann es aber lange dauern, bis das neue Intervall bestimmt ist. Besonders im Falle mehrdimensionaler Probleme ist das Verfahren damit kaum verwendbar. Die Ineffektivität liegt insbesondere daran, dass zur Suche ausschließlich einzelne Funktionswerte von f genutzt werden, nicht aber der Verlauf der Funktion. Wenn man diese Information hat, d.h. im Falle der Differenzierbarkeit, sollte sie zur Verbesserung des Verfahrens auch verwendet werden. 5.2.2 Intervallhalbierung Das Verfahren eignet sich zur Nullstellensuche. Man benötigt also für die Suche nach einem Optimum neben der zu optimierenden Funktion f auch ihre Ableitung f ′ . I st die Fu nktion unimo dal auf einem In terv all [a; b], s o m uss f ′ in diesem Intervall einmal den Wert 0 annehmen. Es gilt hier sicherlich f ′ (a) < 0, d a d ie Fu nk tion auf der link en Seite fällt, und f ′ (b) > 0, w eil sie auf der rechten Seite steigt. Teilt man das Intervall in zwei Hälften, lässt sich nun leicht feststellen, auf welcher Seite die Nullstelle liegen muss. Algorithmus Intervallhalbierung Glossar • Berechne die Mitte (a + b)/ 2 und den Funktionswert der Ableitung c = f ′ ((a + b)/ 2). • Ist c < 0, so fällt die Funktion dort noch, setze also a 1 : = c, b 1 : = b. • Ist c > 0, so steigt die Funktion in der Mitte, setze also a 1 : = a und b 1 : = c. • Wiederhole die Schritte für das neue Intervall [a 1 ; b 1 ] und bestimme damit [a 2 ; b 2 ] etc. Die Mitte des Suchintervalls konvergiert nun wieder gegen den gesuchten Wert. Oder es gilt sogar irgendwann c = 0, dann kann das Verfahren natürlich abgebrochen werden. Unhandlich bleibt hierbei das Hantieren mit Intervallen; außerdem wird nur das Vorzeichen der Steigung in den Randpunkten des jeweiligen Intervalls verwendet, nicht aber der Wert. Das könnte aber zu einer schnelleren Konvergenz führen. 171 <?page no="172"?> 5 Nichtlineare Optimierung 5.2.3 Newton-Verfahren Das Newton-Verfahren Glossar verwendet auch den Wert der Steigung in einem Punkt. Gegeben sei eine streng konvexe Funktion f auf einem Intervall [a; b]. Gesucht ist ihr Minimum x ∗ ∈ ]a; b[. U nimo dalität gen ügt hier nicht als Voraussetzung, wenn man das Minimum sicher finden möchte. Praktisch wird wieder nach einer Nullstelle der Ableitung gesucht. Die Idee ist, eine Folge von Näherungen (x n ) durch Tangenten an die Kurve der Ableitung zu gewinnen. Der neue Folgenwert ergibt sich als Schnittpunkt der Tangente mit der x-Achse. Die Tangentengleichung der Ableitung lautet bekanntlich y = f ′ (x k ) + (x − x k )f ′′ (x k ). Setzt man y = 0 - die Tangente schneidet hier die x-Achse -, lässt sich mit x = x k+1 das Ve rfa hr en in einer gesc hlossenen Ko nstru ktionsv orsc hr ift zusammenfassen: x k+1 = x k − f ′ (x k ) f ′′ (x k ) Für k → ∞ konvergiert das Verfahren gegen das gesuchte Minimum. Beispiel 5.5: Gesucht ist ein Minimum der Funktion f(x) = x 4 − 8x 3 + 24x 2 − 32x + 16 Mit den Ableitungen f ′ (x) = 4x 3 − 24x 2 + 48x − 32 f ′′ (x) = 12x 2 − 48x + 48 kann man die Näherungsformel aufstellen: x k+1 = x k − 4x 3 k − 24x 2 k + 48x k − 32 12x 2 k − 48x k + 48 = x k − x 3 k − 6x 2 k + 12x k − 8 3x 2 k − 12x k + 12 Startet man etwa bei x 0 = 0, ergeben sich sukzessive die Werte x 1 = 0.667 x 8 = 1.922 x 2 = 1.111 x 9 = 1.948 x 3 = 1.407 x 10 = 1.965 x 4 = 1.605 x 11 = 1.977 x 5 = 1.737 x 12 = 1.985 x 6 = 1.824 x 13 = 1.990 x 7 = 1.883 x 14 = 1.993 172 <?page no="173"?> 5.2 Deterministische Suchverfahren Offenbar konvergiert die Folge gegen den Wert 2, was sich durch Einsetzen in die Ableitung auch als korrekt erweist. Bisher haben wir nur Verfahren gesehen, die sich - zumindest auf den ersten Blick - nur für die Suche nach Optima bei Funktionen einer Variablen eignen. Tatsächlich gibt es hier ja nur zwei Richtungen für die Suche, links oder rechts, d.h. kleinere oder größere Funktionswerte. Im mehrdimensionalen Fall bieten sich viele Richtungen zur weiteren Suche an. Der übliche Ansatz, dort nach Minima zu suchen, wo das Gefälle am größten ist, wird als Gradientenabstiegsverfahren Gl os sa r be zeic hnet. D er Grad ient zeigt schließlich in die Richtung des größten Anstiegs. Wir beschreiben zunächst den allgemeinen Fall und werden dann eine praktische Umsetzung vorstellen. 5.2.4 Gradientenabstiegsverfahren Sei ein Punkt x ∈ Z gegeben. Die Menge Z(x) enthält die zulässigen Richtungen, d.h. alle Vektoren s ∈ Z, für die ein δ ′ > 0 exist ier t, so dass x + δs ∈ Z für 0 < δ < δ ′ . Sei g(x) die Ableitung, also der Gradient einer zu minimierenden Funktion f. Im Optimum x ∗ gilt: s T g(x ∗ ) ≥ 0 für alle s ∈ Z(x ∗ ) Daraus lässt sich umgekehrt schließen: Wenn im (inneren) Punkt x ein s ∈ Z(x) existiert mit s T g(x) < 0, dann lässt sich „in Richtung s“ eine Verbesserung erreichen. Das Verfahren läuft deshalb so ab: Algorithmus Gradientenabstiegsverfahren 1. Wähle ein x 0 ∈ R n und setze k : = 0. 2. Berechne g(x k ). Falls g(x k ) = 0, Optimum gefunden, Ende. 3. Bestimme ein s k ∈ R n mit s T k g(x k ) < 0. 4. Berechne ein δ k > 0 mit f(x k + δ k s k ) < f(x k ). 5. Setze x k+1 : = x k + δ k s k , erhöhe k und gehe zum zweiten Schritt. Verschiedene Gradientenabstiegsverfahren unterscheiden sich nun durch die konkrete Wahl von s k und δ k . Der wohl nächst liegende Ansatz ist der folgende. 173 <?page no="174"?> 5 Nichtlineare Optimierung 5.2.5 Verfahren des steilsten Abstiegs Erste Idee: Der Gradient weist in jedem Punkt in die Richtung des steilsten Anstiegs. Für g(x k ) 5= 0 setze also s k = −g(x k ), s uc he also in G egenr ic ht ung zum steilsten Anstieg. Zweite Idee: In dieser Richtung wird nach der größtmöglichen Verbesserung gesucht. Dafür definiert man die (eindimensionale) Funktion ϕ(δ) : = f(x k + δs k ) und bestimme das Minimum (für δ > 0). Dam it lautet das Ve rf ahr en: Algorithmus „Verfahren des steilsten Anstiegs“ 1. Wähle ein x 0 ∈ R n und setze k : = 0. 2. Berechne g(x k ). Falls g(x k ) = 0, Optimum gefunden, Ende. 3. Berechne δ k > 0 als Minimum der Funktion ϕ(δ) : = f(x k − δg(x k )). 4. Setze x k+1 : = x k − δ k g(x k ), erhöhe k und gehe zum zweiten Schritt. Beispiel 5.6: Gesucht wird jetzt ein Minimum der Funktion f(x 1 , x 2 ) = x 2 1 + 2x 2 2 . Ihr Gradient ist g(x 1 , x 2 ) = ∇f(x 1 , x 2 ) = ( 2x 1 4x 2 ) . Zum Ausgangspunkt x 0 = ( 1 1 ) ist der Gradient g(1, 1) = ( 2 4 ) , d.h. der steilste Abstieg geht in die Richtung ( −2 −4 ) . Man berechnet nun ϕ(δ) = f( ( 1 1 ) ) − δ ( 2 4 ) ) = (1 − 2δ) 2 + 2 · (1 − 4δ) 2 = 3 − 20δ + 36δ 2 ϕ ′ (δ) = −20 + 72δ Die Ableitung hat den Wert 0 für δ = 5 18 . Der nächste Näherungswert ist also x 1 = ( 1 1 ) − 5 18 · ( 2 4 ) = 1 9 · ( 4 −1 ) Weitere Schritte zeigen dann die Konvergenz gegen ( 0 0 ) . 174 <?page no="175"?> 5.2 Deterministische Suchverfahren 5.2.6 Das Newton-Verfahren als Abstiegsverfahren Auch das Newton-Verfahren kann als Abstiegsverfahren aufgefasst werden. Im mehrdimensionalen Fall ersetzt man die Ableitung durch den Gradienten g k , die zweite Ableitung durch die Hesse-Matrix H k . Dann lautet die Rechenvorschrift x k+1 = x k − (H k ) −1 g k . Mit den obigen Bezeichnungen entspricht das den Festlegungen s k = −(H k ) −1 g k und δ k = 1. Da H k po sitiv definit ist, gilt im Fa ll g k 5= 0 tatsäc hlic h w ie gefor der t d ie Bedingung s T k g k < 0. 175 <?page no="176"?> 5 Nichtlineare Optimierung 5.3 Simulated Annealing Simulated Annealing Glossar ist ein Optimierungsverfahren, das stochastische und zielgerichtete Suche integriert, d.h. das zufällig nach guten Werten sucht, dies aber nach Möglichkeit - wie bei der deterministischen Suche - „in der richtigen Richtung“. Es eignet sich prinzipiell sowohl für diskrete wie auch für kontinuierliche Suchräume (wobei letztere bei der Lösung auf einem Computer zwangsläufig sowieso in eine diskrete Form gebracht werden). Wichtigste Eigenschaft des Verfahrens ist es, bei der Suche nach einem Optimum nicht in einem lokalen Optimum gefangen zu bleiben, sondern mit hoher Wahrscheinlichkeit auch zu einem globalen Optimum zu gelangen. Vorbild ist ein Verfahren aus der Metallurgie, bei dem durch kontrolliertes Abkühlen Materialien mit optimalen Eigenschaften hergestellt werden. Beispiel 5.7 (Funktion mit mehreren Optimalstellen): Gegeben sei die (schon aus Abschnitt 5.1 bekannte und in Abbildung 5.3 noch einmal dargestellte) Funktion f : R → R, f(x) = 3x 4 − 8x 3 − 6x 2 + 24x + 12. Diese Funktion besitzt zwei lokale Minima, nämlich an den Stellen x = −1 und x = 2, wobei in ersterem das globale Minimum zu finden ist. Diese Lösung soll nun durch ein Suchverfahren ermittelt werden. -2 -1 1 2 3 10 20 30 40 50 Abbildung 5.3: Funktion mit zwei lokalen Minima Die bisher besprochenen Verfahren könnten hier bei ungünstiger Wahl des Startwertes ein Minimum bei x = 2 finden, dort aber „hängen bleiben“ und den besseren Wert bei x = −1 nicht ermitteln. Zunächst sei beschrieben, wie eine stochastische Suche nach einem Minimum aussehen kann. Dazu wird schrittweise von einem Punkt zum nächsten vorgegangen. 176 <?page no="177"?> 5.3 Simulated Annealing 5.3.1 Lokale Suche Gegeben ist ein zulässiger Bereich, der hier als Suchraum S bezeichnet wird. Ausgangswert der lokalen Suche ist ein i 0 ∈ S. Mit S i 0 wird eine Umgebung von i 0 bezeichnet, die Teilmenge von S ist - im Beispiel 5.7 wäre das etwa ein Intervall um einen Ausgangswert i 0 . Es werden nun sukzessive Werte i 1 , i 2 , . . . ∈ S gesucht, wobei diese Werte folgende Eigenschaften erfüllen sollen: • i n+1 ∈ S i n für n ∈ N 0 • f(i n+1 ) ≤ f(i n ) Das Verfahren bricht ab, wenn es für i n keinen Nachfolger i n+1 ∈ S i n mit diesen Eigenschaften gibt. Dabei können verschiedene Varianten zur Bestimmung des Nachfolgers zum Einsatz kommen. Beispielsweise wird jeweils das i n+1 ∈ S i n gewählt, für das f(i n+1 ) = min i∈S i n f(i) gilt. Dies ist nur für einfache Funktionen oder kleine und endliche Mengen S i denkbar. Deshalb wird man in der Regel so vorgehen, dass zufällig so lange ein i ∈ S i n gezogen wird, bis f(i) < f(i n ) gilt. Dies ist dann das neue i n+1 . Das Verfahren wird als Random Local Search bezeichnet und läuft praktisch so ab: Ist i ∈ S der ak tuell be tr ac ht ete Zustand, so wird ein neuer Zustand j ∈ S i , j 5= i, zufällig ermittelt. Für dieses Zufallsexperiment wird eine gegebene Wahrscheinlichkeitsverteilung auf S i mit den Punktwahrscheinlichkeiten g ik (t) ∈ [0; 1] verwendet, d.h. es gilt ∑ k∈S i k$=i g ik (t) = 1 Diese Verteilung kann von einem Parameter t > 0 abhängig sein. Hierdurch ist z.B. eine Suche in größeren oder kleineren Umgebungen möglich. Es bietet sich an, den Parameter im Laufe des Verfahrens zu verkleinern, so dass in immer kleineren Umgebungen gesucht wird. In einem stetigen Suchraum wird entsprechend eine stetige Verteilung verwendet. Bei Abbruch des Verfahrens ist ein lokales Minimum gefunden, allerdings nicht unbedingt ein globales Minimum. 177 <?page no="178"?> 5 Nichtlineare Optimierung Beispiel 5.8: Im Beispiel 5.7 wäre eine Umgebung um einen Punkt i ein Intervall festgelegter Breite, etwa das Intervall [i − 0, 5; i + 0, 5]. Wir nehmen an, dass die Punkte in diesem Intervall alle mit der gleichen Wahrscheinlichkeit zu erreichen sind. Dann könnte das Verfahren etwa so ablaufen: Start in i 0 = 3, also S i 0 = [2, 5; 3, 5]. Ein möglicher Wert, der jetzt erreicht wird, ist 3, 5. Da f(3, 5) > f(3), wird dieser Wert allerdings nicht angenommen, sondern ein neuer Wert ermittelt, z.B. 2, 6. Da f(2, 6) < f(3), wird dieser Wert angenommen, also i 1 = 2, 6. Für i 1 = 2, 6 ist das Suchintervall S i 1 = [2, 1; 3, 1], ein neuer Wert ist jetzt etwa 2, 1. Weil der Funktionswert besser ist, wird dieser direkt als i 2 = 2, 1 angenommen. Das Intervall zu i 2 = 2, 1 ist jetzt S i 2 = [1, 6; 2, 6]. Das Verfahren läuft nun immer weiter, bis praktisch kein besserer Wert mehr gefunden wird. Man erkennt hier allerdings, dass der „Berg“ links von der 2 nicht mehr überwunden werden kann, da schon im linken Teil des Intervalls S i 2 nur noch schlechtere Funktionswerte zu finden sind. Das globale Optimum wird nicht erreicht. Zur Motivation des Simulated Annealing betrachten wir ein Vorbild aus der Natur. Beim Abkühlen von flüssigem Metall bilden sich Gitterstrukturen, weil die einzelnen Atome durch die fehlende Energie nicht mehr beweglich sind. Defekte in der Struktur lassen sich bei schneller Abkühlung nicht mehr beheben, während beim langsamen Abkühlen die - eigentlich schon im Gitter positionierten - Atome noch eine Möglichkeit haben, die Position zu wechseln. Dies führt zunächst zu einem energetisch schlechteren Zustand. Die Wahrscheinlichkeit dafür, dass dieser dennoch angenommen wird, beträgt exp ( − ∆E k B · t ) , wobei k B die Boltzmann-Konstante ist, ∆E = E 2 − E 1 > 0 die Energiedifferenz der Zustände bezeichnet und t die aktuelle Temperatur darstellt. Durch kontrolliertes Herunterfahren der Temperatur t > 0 können nach dieser Formel Energiemulden vermieden und energetisch perfekte Gitterstrukturen erreicht werden. Diese Idee greift das Simulated Annealing in folgender Form auf: Mit einer gewissen Wahrscheinlichkeit werden während der Suche nicht nur bessere 178 <?page no="179"?> 5.3 Simulated Annealing Werte akzeptiert, sondern durchaus auch schlechtere. Dies soll ermöglichen, aus einem lokalen Minimum zu entkommen - sozusagen über den Berg der schlechteren Ergebnisse. 5.3.2 Schritte des Simulated Annealing Der Schritt zur Generierung einer neuen Lösung entspricht dem des Random Local Search. Akzeptanz-Schritt Im Gegensatz zu Local Search wird ein im Generierungs-Schritt generierter schlechterer Kandidat j ∈ S i gegebenenfalls akzeptiert. Konkret wird ein weiteres Zufallsexperiment mit den Ergebnissen 1: Akzeptanz und Übernahme des neuen Wertes j 0: Beibehaltung des alten Wertes i. durchgeführt. Die Akzeptanzwahrscheinlichkeit wird mit a ij (t) ∈ [0; 1] bezeichnet. Auch sie ist vom Parameter t > 0 abhängig. Eine sinnvolle Forderung an die Akzeptanzwahrscheinlichkeit ist a ij (t) = 1, falls f(j) ≤ f(i). Der Algorithmus geht nun wieder iterativ vor. Zunächst wird ein Startwert i 0 bestimmt. Dann werden die Schritte Generierung und Akzeptanz bzw. Ablehnung - wie oben mathematisch definiert - abwechselnd durchgeführt. Der Parameter t wird in Analogie zum Metallurgie-Beispiel als Temperatur bezeichnet. Das Absenken der Temperatur ist wichtiger Bestandteil des Verfahrens und wird als Abkühlungsschema bezeichnet: Man betrachtet eine Folge t 1 > t 2 > . . . von Temperaturwerten mit lim n→∞ t n = 0. Man durchläuft bei jedem Temperaturwert t n die Generierungs- und Akzeptanz-Schleife so lange, bis sich keine Änderung mehr ergibt. Anschließend fährt man ebenso mit dem nächsten Temperaturwert fort usw. Eine Möglichkeit, die Akzeptanzwahrscheinlichkeit zu modellieren, nimmt die „Verschlechterungs-Wahrscheinlichkeit“ in der Natur exp ( − ∆E k B · t ) 179 <?page no="180"?> 5 Nichtlineare Optimierung auf. Entsprechend wird das sogenannte Metropolis-Kriterium beim Simulated Annealing erklärt: a ij (t) = exp ( − (f(j) − f(i)) + t ) = { exp ( − f(j)−f(i) t ) falls f(j) > f(i) 1 sonst Wir können nun die Überlegungen im Algorithmus zusammenfassen. Algorithmus „Simulated Annealing“ Schritt -1 Gegeben: Suchraum S, zu minimierende Funktion f : S → R 0 Wähle i 0 ∈ S, wähle eine „Temperatur“ t > 0 1 Wähle ein i ∈ S i n gemäß festgelegter Verteilung. Die Größe dieser Umgebung von i n kann von t abhängig sein. 2 Wenn f(i) < f(i n ), setze i n+1 : = i, sonst: Wenn Zufallszahl < e (− f(i)−f(i n ) t ) , setze i n+1 : = i sonst i n+1 : = i n 3 W ieder hole die Sc hritt e 1 und 2, bis sich keine Verbesserung mehr ergibt (oder anderes Abbruchkriterium greift) 4 Verringere t 5 Wiederhole die Schritte 1 bis 4, bis ein Abbruchkriterium erreicht ist (keine weitere Verbesserung oder t genügend klein) Beispiel 5.9: Selbst bei fester Größe des Suchintervalls kann nun ein Wert links von der 2 erreicht werden, auch wenn dort ein schlechterer Funktionswert vorliegt. Konkret sind als weitere Schritte denkbar: Der Wert 1, 6 wird trotz f(1, 6) > f(2, 1) akzeptiert, also i 3 = 1, 6 und S i 3 = [1, 1; 2, 1]. Mit positiver Wahrscheinlichkeit kann dann auch irgendwann ein Wert in der Nähe des globalen Minimums erreicht werden. Durch das kleiner werdende t wird dann allerdings auch nur noch nahe am Optimum weitergesucht, so dass im späteren Verlauf keine weiteren Sprünge mehr möglich sind. Das Simulated Annealing lässt sich nun durchaus auch auf Probleme anwenden, die man getrost als linear und diskret bezeichnen kann, die aber für 180 <?page no="181"?> 5.3 Simulated Annealing die kennengelernten Verfahren einfach zu komplex sind. Ein Beispiel dafür ist das Travelling Salesman Problem. Beispiel 5.10 (Travelling Salesman Problem): Eine Formulierung des Problems als ganzzahliges Optimierungsproblem haben wir bereits im Abschnitt 4.1 vgl. S. 121 kennen gelernt. Hier soll noch einmal eine Umformulierung durchgeführt werden: Ein Handelsreisender soll auf einer Rundreise N Orte (jeweils genau einmal) besuchen. Jede solche Route wird repräsentiert durch eine Permutation (o 1 , . . . , o N ) der Zahlen (1, . . . , N ). Vorgegeben sind die Distanzen d(o i , o j ) zwischen den Or ten o i und o j . Gesucht ist eine Rundreise minimaler Gesamtweglänge. Gesamtweglänge einer Rundreise (o 1 , . . . , o N ): f(o 1 , . . . , o N ) = ( N−1 ∑ i=1 d(o i , o i+1 ) ) + d(o N , o 1 ) Suchraum ist S = { (o 1 , . . . , o N ) : o i ∈ {1, . . . , N }, #{o 1 , . . . , o N } = N } . Die Kardinalität des Suchraumes ist #S = N ! Definiere die Umgebung im Travelling Salesman Problem beispielsweise so: In S (o 1 ,...,o N ) liegen alle Rundstrecken, die entstehen, indem ein Teilstrang von (o 1 , . . . , o N ) ausgeschnitten und umgekehrt wird, z.B.: 1 − 3 − 2 − 4 − 5 − 7 − 6 1 − 5 − 4 − 2 − 3 − 7 − 6 Die Temperatur kann hier so eingehen, dass im Laufe der Abkühlung immer kürzere Teilstränge gebildet werden und somit nur noch kleinere Veränderungen vorkommen. Zu Beginn werden auch hier noch größere Verschlechterungen hingenommen, während nach und nach dann nur noch kleine Änderungen der Weglänge möglich sind. Da der Algorithmus natürlich sehr lange laufen muss, lässt sich die Lösung hier nicht wirklich illustrieren. Die optimale Lösung, die im ersten Kapitel für das Travelling Salesman Problem gezeigt wurde vgl. S. 14 , lässt sich aber tatsächlich auf diese Weise erreichen. 5.3.3 Konvergenzverhalten Es leuchtet durchaus ein, dass mit dem beschriebenen Verfahren ein Optimum zu erreichen ist. Mathematisch ist das natürlich etwas unbefriedigend. 181 <?page no="182"?> 5 Nichtlineare Optimierung Es lässt sich aber unter Einsatz einiger Mathematik tatsächlich zeigen, dass das Verfahren sicher gegen ein globales Optimum konvergiert - wenn auch erst nach längerer Zeit. Deshalb werden auch Variationen und andere Verfahren eingesetzt. Eine mögliche Erweiterung ist die Parallelisierung, bei der mehrere potenzielle Lösungen konkurrieren. Damit soll erreicht werden, dass ein globales Optimum auch erreicht werden kann, ohne aus einem lokalen Optimum herauszuspringen. Eine zusätzliche Erweiterung wäre, die potenziellen Lösungen nicht mehr isoliert zu betrachten, sondern ihre Eigenschaften miteinander zu kombinieren. Außerdem könnten schlechte Lösungsvorschläge aussortiert und gute gefördert werden. Als Realisierung dieser Erweiterungen können etwa Genetische Algorithmen aufgefasst werden. 182 <?page no="183"?> Literatur Zusammenfassung Vorgestellt wurden Verfahren, die eine Suche nach Optima in nichtlinearen Problemen realisieren. Dabei hängt die Wahl des Verfahrens von der Beschaffenheit („Welche Informationen über die Funktion liegen vor? “) und die Komplexität („Wie groß und unübersichtlich ist der Suchraum? “) ab. Optimierungsverfahren für nichtlineare Probleme können dabei auch für kombinatorische oder lineare Probleme verwendet werden. Verfahren der Analysis wendet man für differenzierbare Funktionen an. Suchverfahren stellen geringere Anforderungen an die zu optimierenden Funktionen, Algorithmen wie das Simulated Annealing sind noch universeller einsetzbar, dafür aber in der Regel weniger effizient. Kontrollfragen 1. Welche Voraussetzungen müssen zum Einsatz der verschiedenen analytischen Verfahren gegeben sein? 2. Wie ist ein lokales, wie ein globales Optimum definiert? 3. Wie kann das Newton-Verfahren auch zur Nullstellen-Suche verwendet werden? 4. In welcher Richtung wird bei einer mehrdimensionalen Funktion sinnvollerweise nach einem Optimum gesucht? 5. Welche Rolle spielt der Temperatur-Parameter beim Simulated Annealing? 6. Inwiefern ist das Simulated Annealing dem Random Local Search überlegen? Literatur Die Verfahren der Analysis dürften in jedem einführenden Mathematik-Buch für Wirtschaftswissenschaftler erläutert werden. Eine ausführliche Abhandlung findet sich in dem Buch von Terveer [2008], das in dieser Reihe erschienen ist. Sehr ausführlich ist auch das umfangreiche Werk von Sydsæter/ Hammond [2006]. Für den mathematisch orientierten Leser ist das Lehrbuch von Heuser [2006] geeignet. 183 <?page no="184"?> 5 Nichtlineare Optimierung Suchverfahren werden in den meisten Büchern zur Numerischen Mathematik behandelt. Auch für den Nicht-Mathematiker verständlich dürfte das Buch von Schwarz/ Köckler [2006] sein. Das Standardwerk zum Simulated Annealing von Aarts/ Korst [1991] dürfte kaum noch erhältlich sein. Weiter führt etwa das einführende Buch von Nissen [1997], in dem evolutionäre Algorithmen als Erweiterung des Simulated Annealing erläutert werden. 184 <?page no="185"?> 6 Elemente der Spieltheorie Übersicht Reale Optimierungsprobleme können oft nicht unabhängig von den Bestrebungen anderer Beteiligter gelöst werden. Ein Selbstoptimierungsverhalten ist eigentlich nur in Extremsituationen sinnvoll. Entweder ein Akteur dominiert das Geschehen vollständig, etwa ein Monopolist, oder es existiert eine Vielzahl von Akteuren, von denen keiner einen bestimmenden Einfluss ausüben kann. In allen Situationen, in denen eine überschaubare Zahl von „Mitspielern“ ein Geschehen bestimmt, hat jeder die Interessen der Konkurrenten und Partner in sein Kalkül einzubeziehen. Die Auflösung von Konfliktsituationen durch wechselseitig beste Antworten auf die Aktionen der anderen Beteiligten wird in der Spieltheorie behandelt. Abschnitt 6.1 behandelt strategische Spiele und Nash-Gleichgwichte, speziell für symmetrische und Konkurrenz-Spiele. In Abschnitt 6.2 vgl. S. 200 we rden kooperative Spiele behandelt, in Abschnitt 6.3 vgl. S. 209 Ko alitionsspiele. 6.1 Strategische Spiele 6.1.1 Nas h -Gle ichgewichte Ein strategisches Spiel ist bestimmt durch • die Menge {1, . . . , N } der Spieler, • die endlichen, nicht-leeren Strategiemengen S n der einzelnen Spieler, 1 ≤ n ≤ N , • die Auszahlungen a n (s 1 , . . . , s N ), s i ∈ S i an die Spieler in Abhängigkeit von den gewählten Strategiekombinationen, 1 ≤ n ≤ N . Ziel ist es, Strategienbündel zu finden, die einen möglichst guten Interessenausgleich darstellen, d.h. Einzelpräferenzen „optimal“ aggregieren. Die 185 <?page no="186"?> 6 Elemente der Spieltheorie Grundvoraussetzung hierbei ist, dass sich die Auszahlungen quantifizieren lassen und die Spieler auch rational bestrebt sind, diese zu optimieren. Zudem ist vorauszusetzen, dass jeder Spieler die Strategiemengen und die Auszahlungen der anderen kennt. Dies wird als vollständige Information bezeichnet. Beispiel 6.1: Bei diesem Dreipersonenspiel (also N = 3) liegen im Jackpot 18 e, die nur auf die Spieler gleichmäßig verteilt werden, die gegen eine Gebühr von 8 e teilnehmen. Für die Strategiemengen gilt S 1 = S 2 = S 3 = {0, 1}, wobei „ 1“ Teilnahme und „ 0“ Nichtteilnahme bedeutet. Für Spieler 1 (und entsprechend auch für die anderen) gilt demnach: a 1 (0, s, t) = 0 für alle s, t ∈ {0, 1} a 1 (1, 1, 1) = −2 a 1 (1, 0, 0) = 10 a 1 (1, 1, 0) = a 1 (1, 0, 1) = 1 Von welchen Überlegungen soll sich ein Spieler leiten lassen, um eine möglichst hohe Auszahlung zu erhalten? Im Weiteren sollen zunächst nur derartige einfache, simultane und einmalige Entscheidungssituationen analysiert werden, wobei Zweipersonenspiele im Vordergrund stehen. An solchen Spielen lässt sich die Problematik einführend am besten beschreiben. Der Fall N = 2 lässt sich durch Matrizen charakterisieren, deren Einträge die Auszahlungstupel an die Spieler darstellen. Der erste Wert gibt dabei jeweils die Auszahlung an den ersten Spieler an, der zweite Wert die an den zweiten. Derartige Spiele werden deshalb als Bi-Matrix-Spiele Glossar bezeichnet. Beispiel 6.2 (Stein - Schere - Papier): Das bekannte Kinderspiel kann mit folgender Auszahlungsmatrix quantifiziert werden. Stein Schere Papier Stein (0, 0) (1, −1) (−1, 1) Schere (−1, 1) (0, 0) (1, −1) Papier (1, −1) (−1, 1) (0, 0) In diesem Spiel gehen alle Strategien gleichartig ein, und man wird versucht sein, die eigene Strategiewahl für den Gegner - in einem noch zu präzisierenden Sinne - möglichst unvorhersehbar zu gestalten. 186 <?page no="187"?> 6.1 Strategische Spiele Während in diesem Spiel eine gute Strategiewahl zumindest nicht sofort ins Auge fällt, ist die Auswahl beim nächsten Beispiel unproblematisch. Beispiel 6.3: In dem abstrakten Spiel t 1 t 2 s 1 (4, 2) (3, 3) s 2 (1, 2) (0, 1) wird Spieler 1 immer die Strategie s 1 wählen, da diese ihm - unabhängig von der Aktion des Gegenspielers - die höhere Auszahlung sichert. In Kenntnis dieses Sachverhaltes ist die Strategie t 2 die beste Antwort von Spieler 2 hierauf. Beide sichern sich so den Auszahlungswert 3. Dieses Beispiel motiviert die folgende Definition für Zweipersonenspiele. Definition 6.1 Seien s, s ′ ∈ S 1 , s 5= s ′ • s wird durch s ′ schwach dominiert, falls a 1 (s, t) ≤ a 1 (s ′ , t) ∀t ∈ S 2 Gilt jeweils sogar „<“, dann dominiert s ′ stark. • s ′ ist eine schwach/ stark dominante Strategie, falls sie jedes s ∈ S 1 schwach/ stark dominiert. Entsprechend sind die Begriffe für Spieler 2 zu definieren. Strategien, die durch andere dominiert werden, sollte man vor der Wahl ausschließen. Unter Umständen kann man durch die sukzessive Elimination dominierter Strategien bereits zu einer Lösung der Spielsituation kommen. Beispiel 6.4: Im Bi-Matrix-Spiel t 1 t 2 s 1 (1, 2) (5, 2) s 2 (0, 0) (2, 3) s 3 (2, 3) (4, 2) wird s 2 sowohl durch s 1 als auch durch s 3 stark dominiert und daher aus S 1 187 <?page no="188"?> 6 Elemente der Spieltheorie eliminiert. Das Spiel lautet dann t 1 t 2 s 1 (1, 2) (5, 2) s 3 (2, 3) (4, 2) Hier wird t 2 schwach durch t 1 dominiert, d.h. wiederum eliminiert. Die beste Antwort von Spieler 1 auf t 1 ist s 3 , was zur Auszahlung 2 an Spieler 1 und zur Auszahlung 3 an Spieler 2 führt. Dies ist allerdings keine universell anwendbare Vorgehensweise, wie das folgende Beispiel zeigt. Beispiel 6.5: In der erweiterten Variante t 1 t 2 t 3 s 1 (1, 2) (5, 2) (1, 7) s 2 (0, 0) (2, 3) (3, 2) s 3 (2, 3) (4, 2) (0, 1) existieren keine dominierten Strategien. Ein akzeptabler Kompromiss könnte wiederum durch das Strategienpaar (s 3 , t 1 ) ge geb en sein, da diese s e in „st abiles“ Verhaltensmuster beschreibt: Einseitiges Abweichen von (s 3 , t 1 ) resultiert für jeden Spieler in einem Verlust. Dieses Beispiel macht klar, dass eine rationale Entscheidungsfindung auf Basis von Dominiertheitsbeziehungen nur in Ausnahmefällen möglich ist. Ein Anknüpfungspunkt für allgemeinere Überlegungen besteht nun darin, alle Strategiekombinationen auszuzeichnen, die wechselseitig beste Antworten auf die Aktionen des Gegners sind und so zu Gleichgewichtssituationen führen. Definition 6.2 Sei (S, T , a 1 , a 2 ) ein Bi-Matrix-Spiel, d.h. das Spiel, das durch die Strategiemengen S und T sowie die Auszahlungsfunktionen a 1 und a 2 definiert wird. (s ∗ , t ∗ ) ∈ S × T bilden ein Nash-Gleichgewicht Glossar , falls simultan gilt a 1 (s ∗ , t ∗ ) = max s a 1 (s, t ∗ ) a 2 (s ∗ , t ∗ ) = max t a 2 (s ∗ , t) 188 <?page no="189"?> 6.1 Strategische Spiele Nash-Gleichgewichte müssen für festgelegte Strategiemengen nicht existieren bzw. müssen bei Existenz nicht eindeutig sein. Es sei angemerkt, dass zu ihrer Bestimmung nicht die exakte Höhe der Auszahlungen benötigt wird, sondern nur ihre relative Größe. Beispiel 6.6: • Im Bi-Matrix-Spiel t 1 t 2 t 3 s 1 (3, 3) (2, 1) (0, 0) s 2 (0, 1) (4, 4) (1, 0) s 3 (0, 0) (1, 2) (3, 3) existieren die Nash-Gleichgewichte (s 1 , t 1 ), (s 2 , t 2 ) und (s 3 , t 3 ). • Keine Nash-Gleichgewichte existieren im Spiel t 1 t 2 t 3 s 1 (4, 1) (2, 2) (1, 3) s 2 (3, 2) (0, 0) (2, 3) s 3 (2, 5) (3, 3) (4, 1) • Ein eindeutiges Nash-Gleichgewicht existiert dagegen im Spiel t 1 t 2 t 3 s 1 (2, 1) (0, 0) (1, 2) s 2 (0, 0) (2, 2) (0, 0) s 3 (1, 2) (0, 0) (2, 1) nämlich die Kombination (s 2 , t 2 ). Um die Existenz von Nash-Gleichgewichten in allen Fällen positiv beantworten zu können, hat man die Strategiemengen geeignet zu vervollständigen. Definition 6.3 Sei S eine Strategiemenge, die mehr als eine Alternative enthält. Dann bezeichnet der Simplex P (S) = {(p 1 , . . . , p k ) | p i ≥ 0, ∑ p i = 1} die zugehörige Menge der gemischten Strategien. Die Elemente von S, also die „reinen Strategien“, entsprechen den Einheitsvektoren des R k . 189 <?page no="190"?> 6 Elemente der Spieltheorie Manchmal sind auch äquivalente Darstellungen von P (S) nützlich, etwa nur die Angabe der ersten k − 1 Werte. Der Übergang von S zu P (S) lässt sich interpretieren: Die Indifferenzen bzw. Unsicherheiten bei der Strategiewahl werden durch ein Zufallsexperiment aufgelöst. Eine Strategie s i wird dabei mit der Wahrscheinlichkeit p i ausgewählt. Die Wahrscheinlichkeit quantifiziert die „Überzeugungskraft“ einer Strategie. Im Beispiel „Stein - Schere - Papier“ wird man etwa p ∗ = q ∗ = 1 3 (1, 1, 1) (korrekterweise) als eine Gleichgewichtsstrategie erwarten. Definition 6.4 Sei (S, T , a 1 , a 2 ) ein Bi-Matrix-Spiel. Dann heißt (P (S), P (T ), ¯ a 1 , ¯ a 2 ) seine gemischte Erweiterung, wobei für p ∈ P (S), q ∈ P (T ) gilt: ¯ a 1 (p, q) = ∑ ∑ p i q j a 1 (s i , t j ) ¯ a 2 (p, q) = ∑ ∑ p i q j a 2 (s i , t j ) Die Definition eines Nash-Gleichgewichts überträgt sich unmittelbar auf gemischte Erweiterungen: (p ∗ , q ∗ ) ist ein Nash-Gleichgewicht, falls ¯ a 1 (p ∗ , q ∗ ) ≥ ¯ a 1 (p, q ∗ ) ∀p ∈ P (S) ¯ a 2 (p ∗ , q ∗ ) ≥ ¯ a 2 (p ∗ , q) ∀q ∈ P (T ) Trotz unterschiedlicher äußerer Form entspricht diese Definition der des Nash-Gleichgewichts für reine Strategien. Ein Nash-Gleichgewicht (s ∗ , t ∗ ) in reinen Strategien ist auch ein solches in der gemischten Erweiterung, denn es gilt z.B. ¯ a 1 (p, t ∗ ) = ∑ p i a 1 (s i , t ∗ ) ≤ a 1 (s ∗ , t ∗ ) ∑ p i = a 1 (s ∗ , t ∗ ) Satz 6.1 In gemischten Erweiterungen existiert stets mindestens ein Nash- Gleichgewicht. Beispiel 6.7 (Fortsetzung von Beispiel 6.6): • Neben den drei Nash-Gleichgewichten in reinen Strategien soll nun nach einem weiteren gesucht werden. Dazu: ¯ a 1 (p, q) = 3p 1 q 1 + 2p 1 q 2 + 4p 2 q 2 + p 2 (1 − q 1 − q 2 ) +(1 − p 1 − p 2 )q 2 + 3(1 − p 1 − p 2 )(1 − q 1 − q 2 ) 190 <?page no="191"?> 6.1 Strategische Spiele Die Ableitungen sind d dp 1 ¯ a 1 (p, q) = 6q 1 + 4q 2 − 3 d dp 2 ¯ a 1 (p, q ) = 2 q 1 + 5q 2 − 2 Zur Ermittlung der besten Antwort von Spieler 1 auf die Strategie q, also des Maximums, setze man die Ableitungen auf Null und löst nach q 1 und q 2 auf. Es ergeben sich eindeutig die Werte q 1 = 7 22 , q 2 = 6 22 und q 3 = 1 − q 1 − q 2 = 9 22 . Entsprechend für den Spieler 2: ¯ a 2 (p, q) = 3p 1 q 1 + p 1 q 2 + p 2 q 1 + 4p 2 q 2 +2(1 − p 1 − p 2 )q 2 + 3(1 − p 1 − p 2 )(1 − q 1 − q 2 ) Die Ableitungen hierzu sind: d dq 1 ¯ a 2 (p, q) = 6p 1 + 4p 2 − 3 d dq 2 ¯ a 2 (p, q) = 2p 1 + 5p 2 − 1 Nullstellen der Ableitung existieren für p 1 = p 3 = 1 2 und p 2 = 0. Damit ergibt sich p ∗ = 1 2 (1, 0, 1), q ∗ = 1 22 (7, 6, 9) als weiteres Nash- Gleichgewicht. • Mit einer entsprechenden Rechnung erhält man das Nash-Gleichgewicht p ∗ = 1 3 (2, 0, 1), q ∗ = 1 11 (7, 1, 3). • Zu dem eindeutigen Nash-Gleichgewicht (s 2 , t 2 ) in reinen Strategien kommt in gemischten Strategien noch p ∗ = 1 7 (2, 3, 2), q ∗ = 1 2 (0, 1, 1). Es sei ausdrücklich darauf hingewiesen, dass die Strategien, die sich aus einem Nash-Gleichgewicht für beide Spieler ergeben, nicht notwendig zu optimalen Auszahlungen führen. Die Orientierung an einem Nash-Gleichgewicht verspricht lediglich, dass eine stabile Situation vorliegt. Der prominenteste Fall eines Spiels, in dem (in reinen Strategien) genau ein Nash-Gleichgewicht existiert, welches nicht optimal ist, bildet das sogenannte Gefangenendilemma, das als Beispiel 6.12 vgl. S. 196 besprochen wird. Auch Spiele mit einem optimalen Nash-Gleichgewicht können noch ihre Tücken haben. 191 <?page no="192"?> 6 Elemente der Spieltheorie Beispiel 6.8: Zwei benachbarte Landkreise K 1 und K 2 stehen vor dem Problem, jeweils ihre Abfallbeseitigung reorganisieren zu müssen. Für diese Projekte sind Kosten k 1 bzw. k 2 zu veranschlagen. Es wird schnell klar, dass eine gemeinsame Lösung zu Kosten ' < k 1 + k 2 umsetzbar wäre. Mit einer Aufteilung ' = ' 1 + ' 2 , ' 1 < k 1 und ' 2 < k 2 wird die Entscheidungsfindung für die beiden Kreise beschrieben durch das Spiel Kreis 2 kooperieren nicht kooperieren Kreis 1 kooperieren (' 1 , ' 2 ) (k 1 , k 2 ) nicht kooperieren (k 1 , k 2 ) (k 1 , k 2 ) Hier ist (kooperieren, kooperieren) ein lohnenderes Nash-Gleichgewicht im Vergleich mit (nicht kooperieren, nicht kooperieren). Beiden Kreisen wird daher Kooperation nahe gelegt. Wirklich kooperieren werden beide jedoch erst dann, wenn sie sich über die „fairen“ Werte für ' 1 und ' 2 verständigen können. Rationale Möglichkeiten hierzu werden in Abschnitt 6.3 besprochen. Dieses Beispiel führt sofort zu einem gravierenden Problem bei der Orientierung an Nash-Gleichgewichten, nämlich deren mögliche Nicht-Eindeutigkeit. In diesem Fall können sich die Spieler an unterschiedlichen Gleichgewichten ausrichten. Die resultierende Strategiekombination wird im Allgemeinen nicht wieder ein Nash-Gleichgewicht sein, d.h. die Konfliktsituation wird nicht vollständig gelöst, sondern ein Kooperationsproblem kommt hinzu. Dabei muss die unterschiedliche Attraktivität verschiedener Gleichgewichte für einen Spieler nicht (nur) aus variierenden Auszahlungen resultieren. Fehlende Information bzw. Unsicherheit kann ebenfalls ein Grund sein. Dies illustriert das folgende mit Beispiel 6.8 nah verwandte Beispiel. Beispiel 6.9 (Jagdpartie): Zwei Jäger können auf ihrer Pirsch entweder jeder einen Hasen schießen - unabhängig vom anderen - oder aber einen Hirsch erlegen, dies jedoch nur in Kooperation. Setzt man Erfolg voraus, kann die Auszahlungsmatrix so aussehen: Hirsch Hase Hirsch (5, 5) (0, 2) Hase (2, 0) (2, 2) Dieses Spiel hat zwei Nash-Gleichgewichte (in reinen Strategien), nämlich (Hase, Hase) und (Hirsch, Hirsch). Letzteres führt für beide Jäger auf die optimale Auszahlung. Die Strategie (Hase, Hase) ist die Strategie, wenn 192 <?page no="193"?> 6.1 Strategische Spiele beide Spieler „auf Sicherheit“ spielen: Ist sich einer der beiden nicht sicher, dass der andere bei einer - natürlich unverbindlichen - Absprache für die Hirschjagd bleibt, dann wird er sich für die Hasenjagd entscheiden. Manchmal werden Gleichgewichte auch nach ihrer Effizienz bewertet, d.h. nach der Summe beider Auszahlungen. Da diese externe Betrachtungsweise für den einzelnen Spieler kaum relevant ist, hat man nach andersartigen Bewertungen von Nash-Gleichgewichten gesucht. Ein großer Teil der Spieltheorie Glossar beschäftigt sich tatsächlich mit dem Problem, wie durch Zusatzüberlegungen eine Lösung solcher Entscheidungssituationen aussehen kann. Hier soll die Problematik für zwei spezielle Typen von Spielen, nämlich Zwei-Personen-Nullsummenspiele und symmetrische binäre Zwei-Personen- Spiele, weiter untersucht werden. 6.1.2 Zwei-Personen-Nullsummenspiele Di ese Spiele mo dellier en Situationen, in denen eine po sitiv e A uszahlung eines Spielers auf Kosten des anderen geht, d.h. a(s, t) = a 1 (s, t) = −a 2 (s, t) ∀s ∈ S, ∀t ∈ T . Da die Angabe einer Auszahlungsmatrix, üblicherweise die von Spieler 1, das Spiel bereits charakterisiert, spricht man auch von Matrix-Spielen. Ein Beispiel ist das schon angeführte Spiel „Stein - Schere - Papier“ vgl. S. 186 , ein anderes zeigt das nächste Beispiel. Beispiel 6.10 (Kopf und Zahl): Zwei Spieler legen simultan und verdeckt einen Euro auf den Tisch. Stimmen die Seiten überein, d.h. ergibt sich „Kopf - Kopf “ oder „Zahl - Zahl“, dann erhält Spieler 1 den Euro seines Gegners, in den beiden anderen Fällen zahlt Spieler 1 an Spieler 2. Damit ist Kopf Zahl Kopf 1 −1 Zahl −1 1 die Auszahlungsmatrix für Spieler 1. Man rechnet leicht nach, dass sich p ∗ = q ∗ = 1 2 (1, 1) als Nash-Gleichgewicht in gemischten Strategien ergibt. Die Auszahlungen an beide Spieler sind bei dieser Strategiekombination erwartungsgemäß jeweils 0. Ein zunächst von den Nash-Gleichgewichten unabhängiger Lösungsansatz solcher Konkurrenz-Spiele besteht darin, sich jeweils gegen die ungünstigste 193 <?page no="194"?> 6 Elemente der Spieltheorie Strategie des Gegners abzusichern. Dieser Ansatz wird als Minimax- oder Maximin-Strategie bezeichnet. Ist A = [a(s, t)] s∈S,t∈T die Auszahlungs matrix, dann bedeutet dies für Spieler 1 am Ende die Auszahlung max s min t a(s, t) = v , für Spieler 2 die Auszahlung −v mit min t max s a(s, t) = v. Offensichtlich gilt v ≤ v. Ein Spiel heißt definit, wenn unterer und oberer Spielwert zusammenfallen, d.h. wenn v = v gilt. Die Minimax-Lösung lässt sich dann durch die Sattelpunkteigenschaft charakterisieren, d.h. a(s, t ∗ ) ≤ a(s ∗ , t ∗ ) ≤ a(s ∗ , t) ∀s ∈ S, ∀t ∈ T . Diese besagt nichts anderes, als dass (s ∗ , t ∗ ) ein Nash-Gleichgewicht ist. Bei Zwei-Personen-Nullsummenspielen fallen also beide Ansätze zusammen. Die Definitheit lässt sich für die gemischten Erweiterungen stets sicher stellen, und zwar mit Hilfe der linearen Optimierung. Wichtig ist zudem folgende Beobachtung: Sind (p ∗ , q ∗ ) bzw. ( ˜ p, ˜ q) Nash-Gleichgewichte (hier in gemischten Strategien), dann gilt a(p ∗ , q ∗ ) ≤ a(p ∗ , ˜ q) ≤ a( ˜ p, ˜ q) a( ˜ p, ˜ q) ≤ a( ˜ p, q ∗ ) ≤ a(p ∗ , q ∗ ) und damit a(p ∗ , q ∗ ) = a(p ∗ , ˜ q) = a( ˜ p, q ∗ ) = a( ˜ p, ˜ q) Damit erfüllen auch (p ∗ , ˜ q) und ( ˜ p, q ∗ ) die Sattelpunkteigenschaft und sind selbst Nash-Gleichgewichte. Zudem führen diese sämtlich zum gleichen Auszahlungswert für jeden Spieler. Es ist daher in solchen Spielen unwesentlich, an welchem Nash-Gleichgewicht sich ein Spieler orientiert. Die Mehrdeutigkeit solcher Gleichgewichte ist hier also ohne Bedeutung. Zweipersonen-Nullsummen-Spiele standen am Anfang der Analyse strategischer Spiele, und sie motivierten die Einführung gemischter Strategien. Da bei den Nullsummenspielen - im Gegensatz zu den meisten realen Entscheidungsproblemen - keine Form von Kooperation auftritt, sind sie von untergeordneter Bedeutung. 194 <?page no="195"?> 6.1 Strategische Spiele 6.1.3 Symmetrische binäre Zwei-Personen-Spiele Bei dieser Art von Spielen sind beide Spieler völlig gleichberechtigt und besitzen die gleichen zwei Handlungsalternativen. Diese drücken meist ein „hartes“ Agieren aus (Konkurrieren, Egoismus) bzw. eine „weiche“ Linie (Kooperation, Altruismus). Formal gilt also • S = T = {s 1 , s 2 } • a(s, t) = a 1 (s, t) = a 2 (t, s) Die 2 × 2-Auszahlungsmatrix für Spieler 2 ergibt sich hier also durch Transposition derjenigen von Spieler 1. Hierzu sind beide Handlungsmöglichkeiten - für jeden Spieler getrennt - in eine geeignete Reihenfolge zu bringen (um a 1 (s, s) = a 2 (s, s) sicherzustellen). Beispiel 6.11: Reporter zweier ortsansässiger Tageszeitungen erfahren am Rande einer Nachmittagsveranstaltung von einer angeblichen Schmiergeldaffäre im Rathaus. Für beide Redaktionen stellt sich die Frage: Soll diese Meldung - ohne weitere Recherchen - am nächsten Tag publiziert werden? Veröffentlicht man selbst nicht, wohl aber die Konkurrenz, dann erlangt diese einen Prestigevorsprung und einen Zusatzgewinn an den Kiosken. Veröffentlichen beide, dann können sie sich als Wächter der Demokratie sehen. Nicht zu veröffentlichen führt mangels Produkthaftung (Pressefreiheit) auch dann zu keinem Verlust, falls die Meldung sich als falsch herausstellen sollte. Zur Präzisierung sei von folgenden Auszahlungen ausgegangen: ja nein ja (2, 2) (5, −1) nein (−1, 5) (0, 0) Hier ist „(ja, ja)“ das einzige Nash-Gleichgewicht in reinen Strategien, d.h. beide Blätter werden veröffentlichen. Die Auszahlungsmatrix des obigen Beispiels weist natürlich völlig willkürliche Werte auf. Wie bereits erwähnt, ist dies deshalb kein Problem, da für die Analyse eines solchen Spieles in reinen Strategien weitgehend nur deren Größenrelationen von Bedeutung sind. Wesentlich sind also nur die Präferenzwerte von 1 („schlechteste Alternative“) bis 4 („beste Alternative“) der möglichen Strategiekombinationen. Dabei reicht es, die Präferenzen von Spieler 1 zu kennen. Auf dieser Basis lassen sich - nach Festlegung der beiden Aktionsmöglichkeiten - die hier behandelten Spiele in zwölf Grundformen einteilen. Von den zunächst 4! = 24 möglichen 2 × 2-Präferenzmatrizen 195 <?page no="196"?> 6 Elemente der Spieltheorie führen je zwei zu einem Spiel, nämlich die transponierten, d.h. im obigen Beispiel etwa [ 3 4 1 2 ] und [ 3 1 4 2 ] Vertauscht man simultan die beiden Handlungsalternativen, dann entspricht dies der folgenden Transformation der Präferenzmatrizen: [ a b c d ] &→ [ d c b a ] Bei einer solchen Spiegelung eines Spiels geht auch die Interpretation des einen aus der des anderen hervor. Daher verbleiben nur sechs wesentlich verschiedene Grundformen, die zudem nicht alle interessant sind. Nicht-optimale Nash-Gleichgewichte Beispiel 6.12 (Das Gefangenen-Dilemma): Dieses Spiel hat üblicherweise die folgende inhaltliche Einkleidung. Ein Ganovenpaar wird aufgegriffen, und beide werden isoliert voneinander eingesperrt. Die Beweislage reicht nicht aus, um sie wegen des ihnen zur Last gelegten Mordes zu verurteilen. Lediglich unerlaubter Waffenbesitz kann ihnen zweifelsfrei nachgewiesen werden, der mit zwei Jahren Haft geahndet wird. Die Staatsanwaltschaft bietet beiden an, von einer Kronzeugenregelung Gebrauch zu machen. Gesteht einer den Mord, leugnet aber der andere, dann kommt ersterer sofort frei, sein Komplize wandert für fünfzehn Jahre hinter Gitter. Gestehen beide, werden sie für jeweils acht Jahre eingesperrt. Die Auszahlungsmatrix - in Gefängnisjahren - wäre dann hier gestehen leugnen gestehen (8, 8) (0, 15) leugnen (15, 0) (2, 2) Da man in diesem Fall natürlich die Auszahlung minimieren will, bildet die Strategie „(gestehen, gestehen)“ das einzige Nash-Gleichgewicht und ist zudem die Minimax-Lösung des Spiels. Dieses Spiel mit den Präferenzmatrizen [ 2 4 1 3 ] und [ 2 1 4 3 ] hat deshalb Bedeutung, da die Lösung „(gestehen, gestehen)“ offensichtlich nicht optimal ist in dem Sinne, dass sich jeder noch verbessern kann. Die 196 <?page no="197"?> 6.1 Strategische Spiele Kombination „(leugnen, leugnen)“ würde beiden eine wesentlich günstigere Auszahlung bescheren. Die Akteure handeln hier aber separat, haben sich nur selbst im Blick und setzen dieses Verhalten auch beim Partner voraus. Das Dilemma würde sich dann nicht ergeben, wenn die Ganoven die Goldene Regel des Konfuzius „Was du nicht willst, . . . “ * beherzigen würden oder zu kooperativem Verhalten gezwungen werden könnten, etwa durch einen Mafia- Paten. Paradoxe Nash-Gleichgewichte Hier werden Spiele mit zwei Gleichgewichten (in reinen Strategien) betrachtet. Diese kommen bei unterschiedlicher Strategiewahl beider Akteure zustande und führen in den Beispielen zu Auszahlungen, die den jeweiligen Grundintentionen dieser Spiele widersprechen. Beispiel 6.13 (Der Kampf der Geschlechter): Dieses Spiel wird zumeist so beschrieben: „Er“ und „Sie“ sind - ohne Kommunikationsmöglichkeiten - an verschiedenen Stellen einer Stadt und müssen sich unabhängig voneinander entscheiden, an welchem der beiden beim Frühstück nicht abschließend diskutierten Orten sie sich um 22 Uhr einfinden sollen, beim Tanzlokal - seiner Präferenz - oder aber vor dem Jazzclub - ihrer Vorliebe. Beide wollen vermeiden, den Abend jeweils alleine verbringen zu müssen. Geht man von den fiktiven Auszahlungen er uneigennützig egoistisch (Jazzclub) (Tanzlokal) sie uneigennützig (Tanzlokal) (2, 2) (4, 6) egoistisch (Jazzclub) (6, 4) (3, 3) aus, dann erkennt man die Nash-Gleichgewichte „(egoistisch, uneigennützig)“ und „(uneigennützig, egoistisch)“ (in reinen Strategien). Die Präferenzmatrizen hierzu sind natürlich [ 1 3 4 2 ] und [ 1 4 3 2 ] . * Die Autoren haben darüber diskutiert, dass diese Regel sich auch im Neuen Testament und spätestens bei Kant findet. Konfuzius hat aufgrund der Gnade der frühen Geburt das Rennen für sich entschieden. 197 <?page no="198"?> 6 Elemente der Spieltheorie Das Spiel bezieht seine Problematik daraus, dass beide Spieler am liebsten „an einem Strang ziehen“ möchten, die Höchstauszahlungen mittels Nash- Gleichgewicht aber nur erreicht werden, wenn einer der Partner sich egoistisch verhält, der andere altruistisch agiert. Beispiel 6.14 (Das Anführer-Spiel): Eine plastische Beschreibung dieses Spiels ist etwa die folgende Situation: Zwei Bewerbern um eine Leitungsposition wird eine gemeinsame Aufgabe gestellt und ihre Leistungsbemühungen vom „Boss“ bewertet. Übernimmt keiner der beiden bei der Umsetzung die Führungsposition, dann passiert nur wenig. Versuchen beide zu führen, dann ist das Ergebnis noch schlechter. Nur wenn ein Bewerber hinter den Führungsanspruch des anderen zurücktritt, ist eine zufrieden stellende Aufgabenbewältigung möglich. Drückt man dies durch Auszahlungen für die Handlungsalternativen aus, etwa passiv aktiv passiv (2, 2) (4, 6) aktiv (6, 4) (1, 1) dann lassen sich wieder zwei Nash-Gleichgewichte in einer reinen Strategie ablesen, nämlich „(passiv, aktiv)“ und „(aktiv, passiv)“. Hier sind die Präferenzmatrizen [ 2 3 4 1 ] und [ 2 4 3 1 ] . Die Ironie der Situation besteht natürlich darin, dass beide zusammen scheitern, wenn jeder seine Führungsqualitäten beweisen will. Das Spiel ist dem Kampf der Geschlechter sehr ähnlich und entspricht im Wesentlichen nur der Vertauschung der Handlungsalternativen. Vom Gefangenendilemma unterscheiden sich beide dadurch, dass die „Ausbeutung“ eines Spielers hier zu höheren Auszahlungen für beide führt. Beispiel 6.15 (Das Feigling-Spiel): Dieses im Englischen als „chicken game“ bezeichnete Spiel wird nach einer Spielfilmepisode („ . . . denn sie wissen nicht, was sie tun“) benannt. Zwei Jugendliche rasen mit ihren Autos auf einen Abgrund zu. Wer „vorzeitig“ abspringt ist der Feigling („chicken“). Er wird doppelt geächtet, wenn sein Gegenspieler konsequent weiterfährt. Eine symbolische Auszahlungsmatrix hierzu kann etwa so aussehen: abspringen weiterfahren abspringen (0, 0) (−1, 1) weiterfahren (1, −1) (−10, −10) 198 <?page no="199"?> 6.1 Strategische Spiele Wiederum existieren zwei Nash-Gleichgewichte in reinen Strategien, nämlich „(abspringen, weiterfahren)“ und „(weiterfahren, abspringen)“. Die zugehörigen Präferenzmatrizen sind [ 3 2 4 1 ] und [ 3 4 2 1 ] Wie beim „Kampf der Geschlechter“ und beim „Führer-Spiel“ ist die eigene Auszahlung hier dann am höchsten, wenn man sich gegen den anderen durchsetzt. Betrachtet man die Auszahlungssumme, dann kann diese hier ggf. auch durch Kooperation erreicht werden. Dieses Spiel wurde zur Analyse politischer Krisensituationen wie der Kuba- Krise herangezogen. Seine Bedeutung erlangte es dort und in anderem Kontext allerdings erst dadurch, dass es in mehreren Spielrunden durchgeführt wird, quasi also iteriert gespielt wird. In der evolutionären Spieltheorie ist es dann auch als „Falke-Taube-Spiel“ bekannt. Wie in diesem Fall gewinnen auch die anderen Beispiele weiter an Interesse, wenn sie iteriert gespielt werden. Hierbei sind zwei Fälle zu unterscheiden: • Die Zahl der Wiederholungen ist fest vorgegeben. Vor der letzten Spielrunde steht man vor der gleichen Situation wie beim einfachen Spiel. Durch Rückwärtsinduktion lassen sich dann Gesamtstrategien gewinnen. Beim Gefangenendilemma mit seinem eindeutigen Nash-Gleichgewicht wird die Strategie „gestehen“ einfach wiederholt. • Die Zahl der Wiederholungen ist offen, in der Idealisierung unendlich. In einem solchen Fall lassen sich sehr unterschiedliche Antwortmuster entwickeln. Berühmt geworden ist hier der von Axelrod organisierte Wettstreit solcher Strategien(-folgen) für das Gefangenendilemma. Als Siegerstrategie ergab sich hier „Wie du mir, so ich dir“. Die Strategie beginnt mit „leugnen“ und setzt dies so lange fort, bis der Gegenspieler erstmals „gesteht“. Dann „gesteht“ man selbst beim nächsten Zug, kehrt danach aber wieder zu kooperativem Verhalten zurück, und zwar bis zum nächsten „Geständnis“ des Gegners. Bei den bisherigen Spielen konnten sich die Spieler zwar kooperativ verhalten, eine Kooperation im Sinne verbindlicher Absprachen war jedoch nicht möglich. Solche kooperativen Spiele sollen im nächsten Abschnitt diskutiert werden. Sie schließen zwar - bei vorausgesetztem Rationalverhalten - ein Gefangenendilemma aus, verlegen das Problem aber auf die Frage, wie ein durch Kooperation erzielter Mehrwert auf die Spieler zu verteilen ist. 199 <?page no="200"?> 6 Elemente der Spieltheorie 6.2 Kooperative Spiele 6.2.1 Fragestellung und Formalisierung Durch Kooperation - im Sinne verbindlicher Absprachen - sollen nun weitere Strategien und damit Auszahlungen ermöglicht werden. Formal muss dazu zunächst ein nicht-kooperatives Spiel (S 1 , S 2 , a 1 , a 2 ) erweitert werden um • eine vergrößerte Menge von Strategiekombinationen R ⊇ S 1 × S 2 , d.h. „gemeinsame Strategien“, • eine Auszahlungsfunktion ¯ ¯ a i : R → R, wobei ¯ ¯ a i = a i , i = 1, 2 für die reinen Strategien gilt. Dem kooperativen Spiel Glossar (R, ¯ a 1 , ¯ a 2 ) ordnet man dann seine Auszahlungsmenge A zu, A = {( ¯ ¯ a 1 (r), ¯ ¯ a 2 (r)) : r ∈ R} ⊆ R 2 Weiter sei ein Garantiepunkt c ∈ A vorgegeben. Dieser wird oft in Form der Minimaxauszahlung gewählt, d.h. c 1 = max s 1 min s 2 a 1 (s 1 , s 2 ) c 2 = max s 2 min s 1 a 2 (s 1 , s 2 ) Der Punkt c = (c 1 , c 2 ) repräsentiert die Auszahlungen, die sich die Spieler ohne Kooperation mindestens sichern können. Von Interesse sind dann nur noch die Auszahlungen in V = A ∩ [c 1 , ∞[×[c 2 , ∞[. Notwendig sind darüber hinaus noch die Annahmen: • V ist konvex sowie abgeschlossen und beschränkt. • Es gibt mindestens ein v ∈ V mit c 1 < v 1 und c 2 < v 2 . In diesem Fall nennt man (c, V ) eine Verhandlungssituation. Beispiel 6.16: Für die IT-Beraterin Monique ist der Samstagabend die einzige Zeit, zu Hause ihr Privatleben zu genießen. Die Herren Mark und Armin warten darauf, ihr an einem solchen Abend ihre Gefühle offenbaren zu können - aber natürlich nur, wenn der jeweils andere nicht auch anwesend ist. Die 200 <?page no="201"?> 6.2 Kooperative Spiele Strategien „besuchen“ und „nicht besuchen“ führen zu dem Erfolgsschema * nicht besuchen besuchen nicht besuchen (0, 0) (0, 1) besuchen (1, 0) (0, 0) Das Problem ist somit vom gleichen Typ wie der Kampf der Geschlechter. Die Auszahlungsmenge des nicht-kooperativen Spiels ist A 0 = {(p(1 − q), (1 − p)q) : 0 ≤ p, q ≤ 1} = {(u, v) : 0 ≤ u ≤ 1, 0 ≤ v ≤ (1 − √ u) 2 } (wie eine etwas längere Rechnung zeigt). Die Menge ist in Abbildung 6.1 dargestellt. Abbildung 6.1: Auszahlungsmenge im nicht-kooperativen Spiel Vor dem nächsten Samstag bietet der finanzstarke Mark dem unter chronischer Geldknappheit leidenden Armin nun eine „Abstandszahlung“ an. Von einem entrüsteten „Nein“ bei 500 e geht dessen Reaktion bei jedem weiteren 100-e-Schein linear über zu einem verbindlichen „Ja“ bei 1.000 e. Die gemeinsamen Strategien liegen dann in R = {0, 1} × {0, 1} ∪ { ( r 2(1−r) ) : r = 0.6, 0.7, . . . , 1 (in Tausend e)}, wobei q = 2(1 − r) die Wahrscheinlichkeit für einen Besuch in Abhängigkeit von r ist. * Nur die Möglichkeit einer Liebeserklärung wird bewertet, nicht die sonstige Qualität von Dame und Abend. 201 <?page no="202"?> 6 Elemente der Spieltheorie Die Minimax-Auszahlung ist hier c = (0, 0). Für die Strategie „Mark zahlt 1.000 e, Armin verzichtet auf einen Besuch“ ist der Auszahlungsvektor (1, 1 2 ) plausibel. Das gemeinsame Randomisieren zwischen dieser kooperativen Strategie und den (reinen) nicht-kooperativen Strategien führt auf die Auszahlungsmenge A = {(u, v) : 0 ≤ u ≤ 1, 0 ≤ v ≤ 1 − 1 2 u} Diese ist in Abbildung 6.2 skizziert und erfüllt die obigen Annahmen, d.h. ((0, 0), A) ist eine Verhandlungssituation. Abb ildun g 6.2: Auszahlung smenge im ko op erativ en Spiel Da das Ziel kooperativen Verhaltens darin besteht, die Auszahlung für beide Spieler zu verbessern, interessiert der „obere rechte Rand“ der Auszahlungsmenge. Definition 6.5 Sei (c, V ) eine Verhandlungssituation. Dann heißt v ∈ V • schwach Pareto-optimal, falls gilt: v < w (komponentenweise) ⇒ w / ∈ V • stark Pareto-optimal, falls gilt: v ≤ w, w ∈ V ⇒ v = w Die Menge der schwach/ stark Pareto-optimalen Punkte heißt der schwache/ starke Pareto-Rand P V bzw. P ′ V . Die Begriffe schwach/ stark Pareto-optimal werden auch auf zugehörige Strategien angewandt. 202 <?page no="203"?> 6.2 Kooperative Spiele Aus starker Pareto-Optimalität folgt schwache Pareto-Optimalität. Beispiel 6.17: • Bei der Verhandlungssituation in Abbildung 6.3 gilt: P V = {(u, 1) : 0 ≤ u ≤ 1} ∪ {(1, x) : 0 ≤ v ≤ 1} P ′ V = {(1, 1)} Abbildung 6.3: Schwacher ungleich starker Pareto-Rand • Hingegen sind schwacher und starker Pareto-Rand in Abbildung 6.4 gleich. P V = P ′ V = {(u, v) : u, v ≥ 0, u + v = 1} Abbildung 6.4: Schwacher gleich starker Pareto-Rand Auch bei der Suche nach einer „gerechten“ Aufteilungsregel geht man von einem Rationalverhalten beider Spieler aus: 203 <?page no="204"?> 6 Elemente der Spieltheorie • Keiner ist mit einer Aufteilung einverstanden, die zu einer Verschlechterung gegenüber der garantierten Auszahlung c i führ t. • Die Aufteilung muss durch geeignete Strategien umsetzbar sein. Diese Forderungen führen gerade zur Definition 6.6 Eine Verhandlungslösung ist eine Funktion („Regel“) L, L : (c, V ) &→ w ∈ V, d.h. jeder Verhandlungssituation wird ein mögliches Auszahlungstupel zugeordnet. Der Begriffeiner Verhandlungslösung ist so noch zu allgemein und drückt nicht die Vorstellung von „Fairness“ bei der Aufteilung aus. Dies jedoch lässt sich auf unterschiedliche Weise axiomatisch erfassen, wobei jede Präzisierung auch wieder einen „unfairen“ Aspekt aufweisen wird. 6.2.2 Die Nash-Lösung Gesucht ist hier nach einer Regel L N mit zugehöriger Lösung w N = L N (c, V ) (P) schwach Pareto-optimal ist, (S) symmetrisch ist für symmetrische Verhandlungssituationen, d.h. w N 1 = w N 2 , falls c 1 = c 2 ist und aus (v 1 , v 2 ) ∈ V auch (v 2 , v 1 ) ∈ V folgt, (T) konform ist mit linearen Transformationen (d.h. der Wahl von Ursprung und Skaleneinheit). Formal: Seien a 1 , a 2 , b 1 , b 2 ∈ R, b i 5= 0, c ′ i = a i + b i c i , i = 1, 2 und v ′ = {(a 1 + b 1 v 1 , a 2 + b 2 v 2 ) : (v 1 , v 2 ) ∈ V }, dann soll gelten (w N 1 , w N 2 ) ′ = L N (c ′ , V ′ ) = (a 1 + b 1 w N 1 , a 2 + b 2 w N 2 ). (U) unabhängig ist von irrelevanten Alternativen, d.h. sind (c, V ) und (c, ¯ V ) zwei Verhandlungssituationen und gilt ¯ w N = L N (c, ¯ V ) ∈ V , dann ist w N = ¯ w N . Satz 6.2 Es existiert genaue eine Verhandlungslösung L N zu den Axiomen (P), (S), (T) und (U), die sogenannte Nash-Lösung Glossar . w N = L N (c, V ) ist dabei charakterisiert durch (w N 1 − c 1 )(w N 2 − c 2 ) = max v∈V (v 1 − c 1 )(v 2 − c 2 ). 204 <?page no="205"?> 6.2 Kooperative Spiele Es ist also ein möglichst großes Rechteck im Rahmen der Verhandlungssituation zu konstruieren. Die Nash-Lösung liegt dann oben rechts, wie Abbildung 6.5 zeigt. v 2 v 1 c v Abbildung 6.5: Ermittlung der Nash-Lösung Lässt sich der schwache Pareto-Rand von V durch eine differenzierbare Funktion p(v 1 ) beschreiben, dann ermittelt man die Nash-Lösung mittels des Lagrange-Ansatzes L(v 1 , v 2 , λ) = (v 1 − c 1 )(v 2 − c 2 ) + λ · (p(v 1 ) − v 2 ). Dann ist dL dv 1 = (v 2 − c 2 ) + λp ′ 1 (v 1 ) ! = 0 dL dv 2 = (v 1 − c 1 ) − λ ! = 0 dL dλ = p(v 1 ) − v 2 ! = 0 aufzulösen. Beispiel 6.18 (Rechnung zu Beispiel 6.16 vgl. S. 200 ): Offensichtlich kommen nur die Punkte des starken Pareto-Randes als Lösungen in Frage. Dieser wird durch p(v 1 ) = 1 − 1 2 v 1 ⇒ p ′ (v 1 ) = − 1 2 beschrieben. Damit gilt λ = 2 · (v 2 − c 2 ). Dies führt auf das Gleichungssystem v 1 − 2v 2 = c 1 − 2c 2 = 0 v 1 + 2v 2 = 2 mit der Lösung w N 1 = 1, w N 2 = 1 2 . Die Interpretation dürfte nahe liegen. 205 <?page no="206"?> 6 Elemente der Spieltheorie 6.2.3 Kritik an der Nash-Lösung Die Lösung w N erfüllt nicht die Monotonieforderung Für (c, V ), (c, W ) mit V ⊆ W gilt: v N 1 ≤ w N 1 , v N 2 ≤ w N 2 Dieses Axiom ist so aber zu einschränkend und wird in einer abgeschwächten Form Grundlage einer alternativen Verhandlungslösung. Beispiel 6.19 (Kalai und Smorodinsky): Sei c = (0, 0) T und V 1 = {(s, t) ≥ (0, 0) : 2s + 3t ≤ 3 und 3s + 2t ≤ 3} V 2 = {(s, t) ≥ (0, 0) : 4s + 7t ≤ 7} V 3 = {(s, t) ≥ (0, 0) : 4s + 7t ≤ 7 und 4s + t ≤ 4} Zu bestimmen sind die Nash-Lösungen zu (( 0 0 ) , V i ) mit 1 ≤ i ≤ 3. 1) (( 0 0 ) , V 1 ) symmetrisch =⇒ (s N 1 , t N 1 ) = ( 3 5 , 3 5 ) 2) Für (( 0 0 ) , V 2 ) ist die Nash-Lösung (s N 2 , t N 2 ) = ( 7 8 , 1 2 ). 3) Wegen V 3 ⊆ V 2 und (s N 2 , t N 2 ) ∈ V 3 folgt aus (U): (s N 3 , t N 3 ) = (s N 2 , t N 2 ) = ( 7 8 , 1 2 ) 1 1 (3/ 5,3/ 5) (7/ 8,1/ 2) Abbildung 6.6: Beispiel von Kalai und Smorodinsky Das bedeutet: S 2 verschlechtert sich in (( 0 0 ) , V 2 ) und (( 0 0 ) , V 3 ) gegenüber (( 0 0 ) , V 1 ) von 0,6 auf 0,5. Dies lässt sich auch in Abbildung 6.6 erkennen. 206 <?page no="207"?> 6.2 Kooperative Spiele 6.2.4 Die monotone Verhandlungslösung Die obige Kritik an der Nash-Lösung hat zu alternativen Ansätzen zur Präzisierung „fairer Lösungen“ geführt. Bei der nachfolgend beschriebenen wird dabei das Axiom (U) durch ein anderes ersetzt, die anderen bleiben erhalten. Zu dessen Formulierung setze man für (c, V ): m 1 (V ) = max{v 1 : ∃v 2 mit (v 1 , v 2 ) ∈ V } und entsprechend m 2 (V ). m(V ) = (m 1 (V ), m 2 (V )) heißt dann Idealpunkt zu V . (M) Monotonieaxiom: Seien ((0, 0), V ) und ((0, 0), ¯ V ) Verhandlungssituationen mit V ⊆ ¯ V , m(V ) = m( ¯ V ). Dann gelte w = L((0, 0), V ) ≤ ¯ w = L((0, 0), ¯ V ). Satz 6.3 Es existiert genau eine Verhandlungslösung, die die Axiome (P), (S), (T) und (M) erfüllt, nämlich die monotone Lösung Glossar L M . w M = L M (c, V ) ist dab ei der Sc hnittpunkt des sc hwa ch en Pa re to-Randes mit der Verbindungsgeraden von c und m(V ). Speziell gilt daher das Aufteilungsverhältnis w M 2 − c 2 w M 1 − c 1 = m 2 (V ) − c 2 m 1 (V ) − c 1 . Die Kritik an dieser Lösung ist klar. Da sie nicht das Axiom (U) erfüllt, welches nicht weniger plausibel als das Axiom (M) ist, liefert auch diese eine „unfaire faire Lösung“. Beispiel 6.20 (Monotone Lösung zu Beispiel 6.16 vgl. S. 200 ): Hier ist der Idealpunkt m(V ) = (1, 1), und damit gilt: w M = ( 2 3 , 2 3 ), wie Abbildung 6.7 zeigt. w N w M Abbildung 6.7: Monotone und Nash-Lösung 207 <?page no="208"?> 6 Elemente der Spieltheorie Die Vorgehensweise und die Unterschiede beider Ansätze sollen an einem weiteren Beispiel erläutert werden. Beispiel 6.21: Sei c = ( 0 0 ) und V = {(s, t) : 0 ≤ s ≤ 2, 0 ≤ t ≤ p(s)} mit p(s) = 4 − s 2 . p(·) beschreibt den Pareto-Rand. • Nash-Lösung: s · p(s) ! = max s · p(s) = 4s − s 3 (s · p(s)) ′ = 4 − 3s 2 ⇔ s = 2 √ 3 < 2 (s · p(s)) ′′ = −6s ≤ 0 s · p(s) ist also konkav, d.h. es liegt ein Maximum vor. Damit erhält man die Nash-Lösung (s N , t N ) = ( 2 √ 3 , 8 3 ) ≈ (1, 16; 2, 66) • Monotone Lösung: m = (2, 4) T Idealpunkt ⇒ t s = 4 2 ⇔ t = 2s, d.h. zu lösen ist p(s) = 2s: p(s) = 2s ⇔ 4 = s 2 + 2s ⇔ 5 = (s + 1) 2 ⇔ s + 1 = √ 5 ⇔ s = √ 5 − 1 Die monotone Lösung lautet also: (s M , t M ) = ( √ 5 − 1, 2 √ 5 − 2) ≈ (1, 24; 2, 47) Neben den oben eingeführten Verhandlungslösungen sind eine Reihe weiterer entwickelt worden, etwa die Kalai-Smorodinsky-Lösung, die sich alle um die Monotonie-Problematik drehen. Die „Moral“ bleibt jedoch die gleiche wie oben: Es existiert keine in jedem Sinne gerechte Lösung. Die Verhandlungsspiele sind auch in andere Richtungen verallgemeinert worden. Diese betreffen den bislang als unstrittig angesehenen Garantiepunkt c. Dieser muss aber nicht als Maximinbzw. Minimax-Wert gesehen werden, sondern kann selbst Gegenstand von Verhandlungen sein. In diese gehen dann die Stärken beider Spieler mit ein. Speziell können diese mit den Konsequenzen drohen, die - bei Nichtübereinkunft - ein Festhalten am bisherigen Wert bedeutet (Spiele mit Drohungen). 208 <?page no="209"?> 6.3 Koalitionsspiele 6.3 Koalitionsspiele Das Ergebnis von Verhandlungen hängt maßgeblich vom Einfluss der beteiligten Einzelpersonen, Gruppen oder Koalitionen ab. Dieser Aspekt war in den Überlegungen der vorausgegangenen Abschnitte nur implizit über die Auszahlungsfunktionen enthalten. Möglichkeiten zur Beschreibung der Stärke eines Spielers bzw. einer Koalition von Spielern sollen hier dargestellt werden. Dazu ist es notwendig, auch mehr als zwei Spieler in den Betrachtungen zuzulassen. Die Fragestellung tritt meist in zwei etwas unterschiedlichen Formulierungen auf. Diese lassen sich etwa so beschreiben: • Wie groß ist die Macht eines Spielers, gemessen an seinen Möglichkeiten, Einfluss auf Abstimmungen zu nehmen? (Abstimmungsspiele) • Wie groß ist das Gewicht eines Spielers bei der Aufteilung von Gewinnen oder Kosten zu veranschlagen? (Allokationsspiele) Beide Sichtweisen lassen sich leicht durch konkrete Situationen veranschaulichen. Abstimmungsspiele treten bei Aktionärsversammlungen ebenso auf wie bei den Sitzungen politischer Gremien. Die Stärke einer Interessengruppe, Fraktion etc. wird hier daran gemessen, wie maßgeblich sie zur Bildung einer Gewinnerkoalition beitragen kann. Definition 6.7 Sei N = {1, . . . , N } die Spielermenge. v : 2 N → {0, 1} heißt Ko alitions struktur, falls • v(∅) = 0, v(N ) = 1, d.h. die leere Koalition verliert, die All-Koalition gewinnt, • v(S) = 1 für ein S ⊆ N , d.h. es existiert eine Siegerkoalition, • v(S) ≤ v(T ) ∀S ⊆ T ⊆ N , d.h. größere Koalitionen haben höhere Gewinnchancen, • v(S) + v(N \ S) ≤ 1 ∀S ⊆ N , d.h. höchstens eine der Koalitionen S oder N \ S kann gewinnen. (N , v) heißt Abstimmungsspiel. Ganz ähnlich lässt sich eine Allokationssituation formalisieren, d.h. die Zuordnung der Gesamtkosten auf Teilprojekte bzw. die Zuordnung der Kosten eines Projektes auf dessen Nutznießer. Entsprechende Formulierungen 209 <?page no="210"?> 6 Elemente der Spieltheorie für die Behandlung von Gewinn-Situationen ergeben sich auf dieselbe Art. Definition 6.8 Sei M = {1, . . . , M } die Projektmenge. c : 2 M → R + heißt Kostenstruktur, falls • c(∅) = 0, d.h. das leere Projekt ist gratis, • c(S) ≤ c(T ) ∀S ⊆ T ⊆ M, d.h. umfassendere Projekte werden teurer, • c(S ∪ T ) ≤ c(S) + c(T ) ∀S, T ⊆ M, d.h. die gemeinsame Realisierung zweier Projekte kommt in der Summe nicht teurer als die Einzelprojekte. (M, c) heißt Allokationsspiel. Die letzte Forderung lässt sich technisch abschwächen zu c(S) ≤ c(M) + c(M \ S) ∀S ⊆ M. In dieser Form entspricht die Axiomatik dann der einer Koalitionsstruktur. Auf der Basis einer vorgegebenen Struktur v(·) bzw. c(·) sollen jetzt Machtindizes bzw. Kostenanteile angegeben werden. Hierzu wird man sich plausiblerweise an den Zuwächsen orientieren, d.h. an v(S) − v(S \ {i} ), i ∈ S ⊆ N , c(S) − c(S \ {i}), i ∈ S ⊆ M. Die „Machtzugewinne“ bzw. „Kostenzuwächse“ werden pro Spieler bzw. pro Einzelprojekt aufsummiert. Variante 1: Banzhaf-Index Glossar ˜ m i = ˜ m i (v) = 1 2 N−1 ∑ S: i∈S (v(S) − v(S \ {i})) Den Index ˜ x i (c) erhält man ebenso, wenn man v durch c ersetzt. Variante 2: Shapley-Index Glossar ˆ m i = ˆ m i (v) = ∑ S: i∈S (#S − 1)! (N − #S)! N ! · (v(S) − v(S \ {i})) und entsprechend ˆ x i = ˆ x i (c). 210 <?page no="211"?> 6.3 Koalitionsspiele Beispiel 6.22 (Machtindizes): Eine Firma hat vier Teilhaber, die 10, 20, 30 und 40 Anteilscheine (von 100) halten. Entscheidungen werden mit einfacher Mehrheit getroffen. Gewinnkoalitionen sind hier: {2, 4}, {3, 4}, {1, 2, 3}, {1, 2, 4}, {1, 3, 4}, {2, 3, 4}, {1, 2, 3, 4}. • Stärke von S 1 : {1, 2, 3} ist Gewinnkoalition, {2, 3} nicht (einziger solcher Fall). Damit: ˜ m 1 = 1 2 4−1 = 1 8 , ˆ m 1 = 1! · 2! 4! = 1 12 • Stärke von S 2 : {2, 4}, {1, 2, 3} {1, 2, 4} sind Gewinnkoalitionen, die nicht ohne S 2 auskommen. ˜ m 2 = 3 8 , ˆ m 2 = 2! · 1! 4! + 1! · 2! 4! + 1! · 2! 4! = 1 4 • Stärke von S 3 : ˜ m 3 = 3 8 , ˆ m 3 = 1 4 • Stärke von S 4 : ˜ m 4 = 5 8 , ˆ m 4 = 5 12 Abwandlung der Anteile zu 10, 30, 30, 40 (Summe 110) macht S 1 zum „Strohmann“ und führt zum Banzhaf-Index (0, 1 2 , 1 2 , 1 2 ) bzw. zum Shapley- Index (0, 1 3 , 1 3 , 1 3 ). Beispiel 6.23 (Kostenaufteilung): Die schon aus Beispiel 6.8 vgl. S. 191 bekannten Landkreise K 1 und K 2 müssen immer noch ihre Abfallwirtschaft neu regeln. Nachdem sie die Vorteile der Kooperation eingesehen haben, sind nun die Kosten tatsächlich gerecht zu verteilen. Die Kosten für eine Einzellösung betragen 15 Mio. e bzw. 9 Mio. e. Eine gemeinsame Lösung ist für 21 Mio. e zu realisieren. K 1 hat 450.000 Einwohner, K 2 lediglich 150.000. Wie soll die mögliche Einsparung bei Kooperation fair aufgeteilt werden? Ansätze könnten sein: • Gleichmäßige Kostenaufteilung K 1 : 10,5 K 2 : 10,5 • Kostenaufteilung gemäß Einwohnerzahl K 1 : 15,75 K 2 : 5,25 • Gleichmäßige Aufteilung der Kosteneinsparung K 1 : 13,5 K 2 : 7,5 211 <?page no="212"?> 6 Elemente der Spieltheorie • Aufteilung der Einsparung gemäß Einwohnerzahl K 1 : 1 2,75 K 2 : 8 ,25 • Aufteilung der Einsparung nach Opportunitätskosten, d.h. 5 8 zu 3 8 . K 1 : 13,125 K 2 : 7,875 Die ersten beiden Kostenaufteilungen sind offensichtlich unakzeptabel, da sie für einen Landkreis zu höheren Kosten führen als die separierte Lösung. Die drei restlichen variieren und legen die Frage nach der „richtigen“ Lösung nahe. Der Shapley-Index führt zu einer nicht unerwarteten Lösung. Mit der Kostenstruktur c({1, 2}) = 21, c({1}) = 15, c({2}) = 9 berechnet man ˆ x 1 = (2 − 1)! (2 − 2)! 2! (21 − 9) + (1 − 1)! (2 − 1)! 2! (15 − 0) = 27 2 ˆ x 2 = (2 − 1)! (2 − 2)! 2! (21 − 15) + (1 − 1)! (2 − 1)! 2! (9 − 0) = 15 2 , also die oben schon vorgeschlagene gleichmäßige Aufteilung der Kosteneinsparung. Dass der Shapley-Index nicht nur zu so einfachen Ergebnis führen kann, zeigt ein erweitertes Beispiel. Unter Beteiligung eines dritten Landkreises, der aufgrund der neuen Gesetzgebung ebenfalls vor der gleichen Problematik steht, können weitere Einsparungen erreicht werden. Die Kostenstruktur sei folgendermaßen aufgebaut: c({1}) = 15, c({2}) = 9, c({3}) = 10, c({1, 2}) = 21, c({1, 3}) = 22, c({2, 3}) = 16, c({1, 2, 3}) = 28 Es ergibt sich ˆ x 1 = (3 − 1)! (3 − 3)! 3! (28 − 16) + (2 − 1)! (3 − 2)! 3! (21 − 9) + (2 − 1)! (3 − 2)! 3! (22 − 10) + (1 − 1)! (3 − 1)! 3! (15 − 0) = 13 und mit entsprechender Rechnung ˆ x 2 = 7 und ˆ x 3 = 8. Diese Lösung erscheint plausibel. Die restliche Diskussion soll nun auf die etwas allgemeineren Allokationsspiele beschränkt werden. Für diese soll die Akzeptanz einer Kostenzuordnung (Allokation) x = (x 1 , . . . , x M ), x i ≥ 0, durch Vergleich von x(S) = ∑ i∈S x i und c(S) 212 <?page no="213"?> 6.3 Koalitionsspiele für S ∈ M untersucht werden. Definition 6.9 Eine Kostenzuordnung x = (x 1 , . . . , x M ), x i ≥ 0, heißt Imputation, falls (I1) x(M ′ ) ≤ c(M ′ ) ∀M ′ ⊆ M (I2) x(M ′ ) ≥ c(M) − c(M \ M ′ ) ∀M ′ ⊆ M, d.h. kein Teilprojekt soll durch das Restprojekt subventioniert werden. Aus den obigen Eigenschaften ergibt sich x(M) = c(M). Denkbar sind nun mehrere Vorgehensweisen zur Ermittlung von Imputationen, die zu verschiedenen Ergebnissen führen könnten. Es wäre zu klären, welche davon zu auszuwählen ist. Wie bei den Verhandlungslösungen des vorausgegangenen Abschnitts wird ein axiomatischer Zugang gewählt, um eine „faire“ Lösung x (c) = (x (c) 1 , . . . x (c) m ) auszuzeichnen. (SYM) Unabhängigkeit von der Nummerierung der Projekte, d.h. die x (c) i sind permutationssymmetrisch. (SPK) Scheinprojekte sind kostenlos, d.h. c(M ′ + i) = c(M ′ ) ∀M ′ ⊆ M ⇒ x (c) i = 0 (ADD) Konsistenz bei Kategorisierung von Kosten, d.h. c(·) = c 1 (·) + c 2 (·) ⇒ x (c) = x (c 1 ) + x (c 2 ) . Satz 6.4 Es gibt genau eine Allokation x (c) , die (SYM), (SPK) und (ADD) erfüllt, nämlich den Shapley-Index. Ist D i c(M ′ ) = { c(M ′ ) − c(M ′ \ {i}), i ∈ M ′ c(M ′ ∪ {i} − c(M ′ ), i / ∈ M ′ antiton in M ′ , d.h. die Kostenstruktur ist diskret konkav, dann ist ˆ x (c) eine Imputation. Im Sinne obiger Axiome ist dann der Shapley-Index die faire Kostenaufteilung. Auch hier führen andere Axiome wieder zu anderen Formen von Fairness. 213 <?page no="214"?> 6 Elemente der Spieltheorie Zusammenfassung Diskutiert wurde in diesem Kapitel, was in einer Konfliktsituation als „Lösung“ angesehen werden kann, nämlich insbesondere die Nash- Gleichgewichte. Diese wurden konfrontiert mit einigen Standardsituationen (vollständige Information, keine Möglichkeit verbindlicher Absprachen). Anschließend wurden Verhandlungsspiele beschrieben und „faire“ Aufteilungen des durch Kooperation möglichen Zugewinns erörtert. Dabei wurde klar, dass es verschiedene, miteinander inkompatible Formen von Gerechtigkeit gibt. Abstimmungs- und Allokationsspiele, bei denen Machtbzw. Kostenindizes für Einzelsubjekte bzw. -objekte ermittelt werden, setzen die einzelnen Spieler in Relation zueinander. Kontrollfragen 1. Inwiefern liefert ein Nash-Gleichgewicht optimale Handlungsanweisungen für die Spieler? 2. Warum ergibt sich ein Problem mit multiplen Nash-Gleichgewichten? 3. Welchen Sinn hat es, gemischte Strategien zu betrachten? 4. Welche Problematik können Verhandlungslösungen auf dem schwachen Pareto-Rand auslösen? 5. Können Idealpunkte wirklich als sinnvolles Verhandlungskriterium angesehen werden? 6. Wieso liefern der Banzhaf- und der Shapley-Index im Regelfall verschiedene Lösungen? Literatur Eine kurze, leicht lesbare Einführung in die Spieltheorie gibt Sieg [2005]. Erstaunlich unmathematisch und vergnüglich zu lesen stellt Mérö [2001] Entscheidungsprobleme dar. Eine umfangreiche Darstellung fast aller Aspekte der Spieltheorie geben Holler/ Illing [2005]. Wer in unserem Buch die Beweise zu Sätzen vermisst hat, findet nicht nur diese im Buch von Rauhut/ Schmitz/ Zachow [1979]. 214 <?page no="215"?> Klausuren Die folgenden Klausuren sind zusammengestellt aus Aufgaben, die größtenteils tatsächlich als Prüfungsaufgaben verwendet worden sind. Jede Klausur ist für 120 Minuten Prüfungszeit konzipiert. Lösungen finden Sie im Anschluss. Klausur 1 Aufgabe 1.1 Um die Wirtschaft des Staatenbundes von Duropa im internationalen Wettbewerb schlagkräftiger zu machen, plant der Kommissar für ökonomische Entwicklung die Einführung einer gemeinsamen Währung. Nach der Planung und dem politischen Beschluss, für die er 4 Zeiteinheiten veranschlagt, rechnet er mit einer Dauer von ebenfalls 4 Zeiteinheiten, in der sich die Politiker auf Kriterien einigen sollen, die für den Beitritt zur Währungsunion von den einzelnen Staaten erreicht werden sollen. Bis zumindest einige Länder diese Kriterien erfüllt haben, dürften danach 20 Zeiteinheiten ins Land gehen. Direkt nach dem politischen Entschluss (also noch vor Festlegung der Kriterien) soll die Verwaltung beauftragt werden, die technischen Voraussetzungen zu schaffen. Dazu ist zunächst die Erstellung einer Verwaltungsvorlage nötig, was erfahrungsgemäß in 3 Zeiteinheiten vor sich geht. Anschließend soll die Ausschreibung für das Design der Banknoten vorbereitet werden (2 Zeiteinheiten), während gleichzeitig eine Unterkommission überlegt, wie das neue Geld denn heißen soll (4 Zeiteinheiten - Der Kommissar favorisiert übrigens den Namen „Duro“, um zu symbolisieren, dass es sich um eine harte Währung handelt). Wenn die Ausschreibung steht und man sich für den Namen entschieden hat, können die Künstler sich an die Arbeit machen und (diesmal legal) Banknoten malen. Bis zur Entscheidung, welcher Vorschlag realisiert wird, vergehen 3 Zeiteinheiten. Danach beginnt der Druck der Noten; die benötigte Menge ist in 3 Zeiteinheiten herzustellen. Parallel zu Design und Druck wird zunächst Informationsmaterial für die Bürger von Duropa hergestellt 215 <?page no="216"?> Klausuren (5 Zeiteinheiten), danach ist eine Werbephase von 10 Zeiteinheiten einzuplanen. Ist die Wartezeit zur Erfüllung der Kriterien beendet, das Geld gedruckt und sind die Bürger informiert, kann die neue Währung eingeführt werden. Man rechnet mit weiteren 3 Zeiteinheiten, bis auch die letzten Länder von Duropa sich der Union anschließen. a) Stellen Sie die Vorgänge in einer Tabelle dar, die neben den Vorgängen auch deren Dauer und die jeweils direkt vorausgehenden Vorgänge enthält. b) Erstellen Sie einen CPM-Netzplan, der in jedem Knoten den frühesten und spätesten Eintrittszeitpunkt angibt. c) Welche Vorgänge liegen auf dem kritischen Pfad? Wie viele Zeiteinheiten vergehen bis zur vollständigen Einführung des „Duro“ mindestens? Aufgabe 1.2 Zur Einführung der gemeinsamen Währung Duro soll eine genügende Anzahl von Banknoten zur Verfügung stehen. Von den Scheinen zu 5 Duro, 10 Duro, 20 Duro und 50 Duro sollen jeweils mindestens eine Million Stück hergestellt werden. Außerdem sollen 5- und 10-Duro-Noten mindestens eine Summe von 30 Mio. Duro ergeben, 10- und 20-Duro-Noten sollen sich auf mindestens 50 Mio. Duro aufsummieren, und aus den 20- und 50-Duro-Noten sollen mindestens 200 Mio. Duro kombinierbar sein. Die Herstellung eines 5-Duro-Scheins kostet 2 Duro, 10-Duro-Scheine sind für 3 Duro zu drucken, die 20-Duro-Scheine kosten pro Stück 4 Duro und für den 50-Duro-Schein sind 5 Duro anzusetzen. Die Gesamtkosten sollen minimiert werden. a) Stellen Sie ein lineares Programm auf, in dem die Zielfunktion und alle Restriktionen angegeben sind. Vereinfachen Sie dieses LP, indem Sie die o.g. Mindestproduktionsmengen herausrechnen. b) Stellen Sie das hierzu duale Programm auf. c) Lösen Sie das duale Programm mit dem Simplex-Algorithmus. d) Ermitteln Sie die Lösung des primalen Programms, indem Sie die Complementary-Slackness-Bedingungen aufstellen. Bestimmen Sie die Gesamtproduktion und die Gesamtkosten (unter Berücksichtigung der Mindestproduktion). 216 <?page no="217"?> Klausur 1 Aufgabe 1.3 Zur Realisierung der duropäischen Währungsunion muss auch die Herstellung der Duro-Münzen geplant werden. Innerhalb der nächsten 30 Monate sind die festgesetzten Mengen der Duro-Cents herzustellen. Man hat ermittelt, dass das Prägen am effektivsten zu realisieren ist, wenn jeder der beteiligten Betriebe sich auf die Herstellung genau einer Münzenart spezialisiert. Die Kosten der Herstellung (in Mio. Duro) enthält die folgende Tabelle. (Ablesebeispiel: Die Herstellung der benötigten Menge von 10-Duro-Cent- Münzen im Betrieb 2 kostet 10 Mio. Duro.) 1 2 3 4 5 6 1 16 18 25 13 16 24 2 11 22 14 17 20 21 5 17 15 26 13 17 19 10 21 10 23 24 15 18 20 11 18 16 19 22 15 50 22 16 13 20 15 17 Der jeweilige Zeitbedarf (in Monaten) ist der folgenden Tabelle zu entnehmen. (Bedeutung wie oben, Beispiel: Die 50-Duro-Cent-Münzen können im Betrieb 1 in 14 Monaten hergestellt werden.) 1 2 3 4 5 6 1 20 27 26 32 32 30 2 32 22 31 30 31 29 5 31 31 21 35 27 30 10 29 34 28 23 34 27 20 33 31 29 26 24 33 50 14 30 33 31 35 25 a) Die Gesamtkosten für die Herstellung sollen minimiert werden. Ermitteln Sie mit der Ungarischen Methode die optimale Aufteilung. Welche Kosten und welche Zeit ergeben sich? b) Modifizieren Sie das Ausgangstableau so, dass die Zeitrestriktion (30 Monate) eingehalten wird. Welches Ergebnis bekommen Sie nun (Kosten/ Zeit)? c) Es soll die Aufteilung bestimmt werden, bei der die Herstellung in möglichst kurzer Zeit abgeschlossen ist. Warum darf man die Ungarische Methode hier nicht zur Lösung einsetzen? Schlagen Sie trotzdem eine Lösung vor und geben Sie Zeit und Kosten an. 217 <?page no="218"?> Klausuren Aufgabe 1.4 Die Chefvolkswirte der duropäischen Notenbanken haben lange Zeit benötigt, um festzustellen, wie der Wechselkurs gegenüber dem generikanischen Taler festgelegt werden muss, damit die Handelsbeziehungen mit dem eng verbündeten Land nicht gefährdet werden und auch die eigene Wirtschaft weiterhin profitiert. Als Ergebnis präsentieren sie, dass der optimale Kurs dort liegt, wo die Funktion f(x) = 1 2 x 2 + 2x + 10 − 8 sin x ihr Minimum erreicht, wobei nur Werte zwischen 1 und 2 überhaupt möglich sind. Der Kommissar für ökonomische Entwicklung hinterfragt diese Funktion natürlich nicht - schließlich ist er Jurist, kein Volkswirt, und erst recht kein Chefvolkswirt -, aber das Ergebnis möchte er schon erfahren. Ermitteln Sie eine Näherung für den Wechselkurs mit dem Newton- Verfahren. Gehen Sie dabei folgendermaßen vor: a) Bestimmen Sie erste und zweite Ableitung der Funktion und stellen Sie die Newton-Formel auf. b) Berechnen Sie die ersten drei Näherungswerte, wobei Sie mit dem Wert 1,5 beginnen. Aufgabe 1.5 Einer der Verhandlungsführer möchte bei den Verhandlungen zur Währungsunion sicher sein, zu optimalen Entscheidungen zu kommen, und möchte sich deshalb von spieltheoretischen Grundsätzen leiten lassen. Beantworten Sie ihm deshalb folgende Fragen: a) Was ist eine Nash-Lösung? Nennen Sie insbesondere Voraussetzungen und Axiome. b) Wie können Sie die Lösung geometrisch deuten bzw. umsetzen? c) Welche Kritikpunkte lassen sich gegen eine Nash-Lösung vorbringen? 218 <?page no="219"?> Klausur 2 Klausur 2 Aufgabe 2.1 Die Knoten {a, b, c, d, e, f, g, h} eines Graphen sind durch gerichtete Kanten miteinander verbunden. Deren Bewertung ist gegeben durch die Funktion w. Nicht genannte Kanten existieren nicht. w((a, b)) = 3 w((c, d)) = 3 w((g, c)) = 1 w((a, d)) = 8 w((c, f)) = 6 w((g, h)) = 2 w((a, c)) = 4 w((d, f)) = 4 w((h, f)) = 3 w((b, e)) = 6 w((e, f)) = 2 a) Stellen Sie die Zusammenhänge graphisch dar. Ordnen Sie dabei die Knoten so an, dass es keine Überschneidungen von Kanten gibt. b) Ermitteln Sie mit dem Algorithmus von Dijkstra die kürzesten Wege von Knoten a zu allen anderen. Geben Sie diese Wege explizit an. c) Betrachten Sie nun den dazugehörigen nicht gerichteten Graphen. Wiederholen Sie den Dijkstra-Algorithmus, um alle kürzesten Wege von a zu den anderen Knoten zu finden. Was hat sich geändert? d) Bestimmen Sie für den ungerichteten Graphen aus c) mit dem Algorithmus von Kruskal den minimal aufspannenden Baum. Aufgabe 2.2 Gegeben sei das lineare Gleichungssystem 3x 1 + x 2 + 2x 3 = 8 2x 1 + 2x 3 = 6 a) Bestimmen Sie die Lösungsmenge des linearen Gleichungssystems mit Hilfe des Gauß-Algorithmus. b) Betrachten Sie das obige lineare Gleichungssystem als Nebenbedingungen eines Optimierungsproblems: 2x 1 − 3x 2 − x 3 ! = max 3x 1 + x 2 + 2x 3 = 8 2x 1 + 2x 3 = 6 x 1 , x 2 , x 3 ≥ 0 Bestimmen Sie die Standardform des Optimierungsproblems. 219 <?page no="220"?> Klausuren c) Geben Sie sämtliche Basislösungen des Problems an. Welches sind die zulässigen Ecken? d) Bestimmen Sie zu den Ecken den Zielfunktionswert. Wo wird das Optimum erreicht? Aufgabe 2.3 Lösen Sie das Problem x 1 + 2x 2 + 3x 3 ! = min unter den Nebenbedingungen −x 1 + 2x 2 + x 3 ≥ 3 2x 1 + x 2 + 2x 3 ≥ 4 x 1 , x 2 , x 3 ≥ 0 mit dem dualen Simplex-Verfahren. Aufgabe 2.4 Die FAQ GmbH produziert in drei Werken ein Produkt, das an vier Vertriebsniederlassungen auszuliefern ist. Die Werke A, B und C produzieren jeweils 12, 17 und 11 LKW-Ladungen pro Monat. Jede Vertriebsniederlassung (W, X, Y, Z) muss pro Monat 10 Ladungen erhalten. Die folgende Tabelle gibt die Entfernungen zwischen den einzelnen Werken und den Vertriebsniederlassungen in Kilometern an. W X Y Z A 800 1.300 400 700 B 1.100 1.400 600 1.000 C 600 1.200 800 900 Die Frachtkosten betragen für jede LKW-Ladung e 0,50/ km. Die Gesamtkosten sind zu minimieren. a) Ermitteln Sie eine Anfangslösung mit der Matrix-Minimum-Methode. Geben Sie dabei an, in welcher Reihenfolge Sie die zu transportierenden Mengen verteilt haben. b) Bestimmen Sie den optimalen Transportplan mit Hilfe der Stepping- Stone-Methode. Ermitteln Sie in jedem Schritt sämtliche δ-Werte. Vergessen Sie nicht, jeweils die entstehenden Gesamt-Transportkosten anzugeben. 220 <?page no="221"?> Klausur 2 Aufgabe 2.5 Geben Sie zu den folgenden Behauptungen jeweils an, ob sie wahr oder falsch sind. Begründen und erläutern Sie kurz Ihre Auswahl. a) Transportprobleme können mit dem Simplex-Algorithmus gelöst werden. b) Ist der zulässige Bereich durch lineare Nebenbedingungen gegeben, liegt eine optimale Lösung immer in einer Ecke, auch wenn die Zielfunktion nicht linear ist. c) Das Newton-Verfahren zur Bestimmung von lokalen Minima ist ein Gradienten-Abstiegsverfahren. d) Beim Simulated Annealing bestimmt das Abkühlschema den jeweiligen Wert der Boltzmann-Konstanten. e) In der Spieltheorie definiert der Pareto-Rand die optimale Lösung des Spiels aus Sicht des ersten Spielers. 221 <?page no="222"?> Klausuren Klausur 3 Aufgabe 3.1 Eine Firma will in Teilbereichen Hardware austauschen und ein neues Software- System einführen. Die Planung soll mit Methoden der Netzplantechnik unterstützt werden. Die durchzuführenden Tätigkeiten mit dem voraussichtlichen Zeitbedarf sowie den jeweiligen unmittelbaren Nachfolgern sind in der folgenden Tabelle zusammengefasst. Abk. Tätigkeit Dauer direkte [Tage] Nachfolger A Auswahl der zu ersetzenden Hardware 8 E B Auswahl der zu ersetzenden Software 3 D C Sicherung der Datenbestände 2 G D Beschaffung neuer Software 4 E, F E Auswahl, Einkauf und Installation neuer Hardware 6 H F Externe Mitarbeiterschulung 8 K G Konvertierung relevanter Altdaten 12 I H Installation Software 5 I, K I Import der konvertierten Daten 6 J J Testphase 7 L K Interne Mitarbeiterschulung 10 L L Einführung des Systems 2 - a) Bringen Sie die Tabelle zunächst auf die übliche Form, in der die direkten Vorgänger angegeben sind. b) Zeichnen Sie den zugehörigen CPM-Netzplan mit möglichst wenigen Scheinvorgängen. Nummerieren Sie dann die Knoten in topologischer Sortierung. c) Ermitteln Sie für jeden Vorgang die frühesten und spätesten Anfangs- und Endzeiten sowie den Gesamtpuffer. d) Geben Sie den kritischen Pfad an. Welche Auswirkungen hat eine Verlängerung des Vorgangs K um drei Tage? 222 <?page no="223"?> Klausur 3 Aufgabe 3.2 Bei einem linearen Optimierungsproblem ergab sich durch die Anwendung des Simplex-Algorithmus das nachstehende Simplex-Tableau 1 2 3 4 5 x 2 1 1 0 −1 2 2 3 1 0 1 −1 0 1 4 0 0 −7 3 7 a) Führen Sie den Simplex-Algorithmus fort, indem Sie die beiden nächsten Simplex-Tableaus berechnen. b) Das gegebene lineare Optimierungsproblem hat eine lineare Kostenfunktion der Form c 1 x 1 + c 2 x 2 + c 3 x 3 + c 4 x 4 + c 5 x 5 , von deren Kostenkoeffizienten nur c 2 = 2 bekannt ist. Leiten Sie aus dem obigen Tableau die weiteren Koeffizienten her. Aufgabe 3.3 Gegeben ist das lineare Optimierungsproblem 1 2 x 1 + x 2 ! = max x 1 − x 2 ≥ −1 2x 1 + x 2 ≤ 6 x 1 , x 2 ≥ 0 a) Zeigen Sie mit dem Simplex-Algorithmus, dass die optimale Lösung 1 3 (5, 8) lautet. b) Die Lösung ist offensichtlich nicht ganzzahlig. Ermitteln Sie mit dem Gomory-Algorithmus einen ganzzahligen Lösungsvektor. Geben Sie an, um wie viel schlechter der Zielwert ist. 223 <?page no="224"?> Klausuren Aufgabe 3.4 a) In dem nachfolgend angegebenen Simplex-Tableau lassen sich alle fehlenden Werte aus den angegebenen folgern. Geben Sie auf diese Weise das vollständige Tableau an. 11 12 13 21 22 23 11 0 15 15 12 1 −1 5 22 −1 10 10 23 1 0 10 −10 2 375 b) Das (vervollständigte) Simplex-Tableau aus Teil a) gehört zu einem Transportproblem mit zwei Abholorten und drei Anlieferungsorten, sowie der Kostenmatrix [ 10 11 20 6 9 8 ] . Die technische Variable wurde hier nicht berücksichtigt. Setzen Sie das Simplex-Tableau in ein Transport-Tableau um und bestimmen Sie auch die an den einzelnen Orten abzuholenden bzw. anzuliefernden Mengen. Ermitteln Sie dann mit Hilfe der Zyklenmethode einen optimalen Transportplan und berechnen Sie dessen Kosten. Aufgabe 3.5 Beschreiben Sie Aufgaben und Vorgehensweise des Simulated Annealing. Gehen Sie dabei insbesondere ein auf • den Sinn des Verfahrens, • die zu spezifizierenden Parameter, • den Ablauf des Algorithmus, • das Konvergenzverhalten. Erläutern Sie bitte nur das mathematische Verfahren, nicht das natürliche Vorbild. 224 <?page no="225"?> Lösungen Klausur 1 Aufgabe 1.1 a) Vorgang Vorgänger Dauer A Planung - 4 B Verwaltungsvorlage A 3 C Festlegung von Kriterien A 4 D Ausschreibung Design B 2 E Namensfestlegung B 4 F Erreichen von Kriterien C 20 G Des ign + F estlegung D, E 3 H Erstellen von Informationsschritten D, E 5 I Druck G 3 K Bürgerinfo H 10 L Einführung in allen Ländern F, I, K 3 b) Der aus diesen Angaben erstellte Netzplan nach CPM hat die folgende Struktur: K ( 1 0 ) I ( 3 ) H (5) G ( 3 ) D (2) E ( 4 ) B ( 4 ) L ( 3 ) C ( 4 ) A (4) F(20) 2 4 | 4 1 0 | 0 3 8 | 8 4 7 | 9 6 11 | 13 5 9 | 13 8 16 | 18 7 14 | 25 9 28 | 28 10 31 | 31 c) Den kritischen Pfad bilden die Vorgänge A, C, F und L. Nach frühestens 31 Zeiteinheiten kann der Duro vollständig eingeführt sein. 225 <?page no="226"?> Lösungen Aufgabe 1.2 a) Bezeichnet man mit x 1 bis x 4 die Anzahl der herzustellenden Sc heine (nach Wert geordnet), so ergibt sich das folgende Problem: 2x 1 + 3x 2 + 4x 3 + 5x 4 ! = min x 1 ≥ 1 x 2 ≥ 1 x 3 ≥ 1 x 4 ≥ 1 5x 1 + 10x 2 ≥ 30 10x 2 + 20x 3 ≥ 50 20x 3 + 50x 4 ≥ 200 x 1 , . . . x 4 ≥ 0 Werden schon jeweils 1 Mio. Stück jedes Typs hergestellt, ist eine gewisse Summe schon vorhanden, so dass zusätzlich nur noch die folgenden Mindestmengen herzustellen sind (x ′ i : = x i − 1): 2x ′ 1 + 3x ′ 2 + 4x ′ 3 + 5x ′ 4 ! = min 5x ′ 1 + 10x ′ 2 ≥ 15 10x ′ 2 + 20x ′ 3 ≥ 20 20x ′ 3 + 50x ′ 4 ≥ 130 x ′ 1 , . . . x ′ 4 ≥ 0 b) Das duale Problem lautet: 15y 1 + 20y 2 + 130y 3 ! = max 5y 1 ≤ 2 10y 1 + 10y 2 ≤ 3 20y 2 + 20y 3 ≤ 4 50y 3 ≤ 5 y 1 , . . . , y 3 ≥ 0 c) Nach Multiplikation der Zielfunktion mit −1 und Einfügen von Schlupfvariablen ergibt sich ein Anfangstableau, das nach drei Schritten zu einer Optimallösung führt. 226 <?page no="227"?> Klausur 1 1 2 3 4 5 6 7 4 5 0 0 1 0 0 0 2 4 10 5 10 10 0 0 1 0 0 3 3 10 6 0 20 20 0 0 1 0 4 − 7 0 0 50 0 0 0 1 5 − 15 20 130 0 0 0 0 0 1 2 3 4 5 6 7 4 0 −5 0 1 − 1 2 0 0 1 2 − 1 1 1 0 0 1 10 0 0 3 10 3 10 6 0 20 20 0 0 1 0 4 1 5 7 0 0 50 0 0 0 1 5 − 0 5 130 0 − 3 2 0 0 − 9 2 1 2 3 4 5 6 7 4 0 0 5 1 − 1 2 1 4 0 3 2 2 5 1 1 0 −1 0 1 10 − 1 20 0 1 10 − 2 0 1 1 0 0 1 20 0 1 5 1 5 7 0 0 50 0 0 0 1 5 1 10 0 0 125 0 − 3 2 − 1 4 0 − 11 2 1 2 3 4 5 6 7 4 0 0 0 1 − 1 2 1 4 − 1 10 1 1 1 0 0 0 1 10 − 1 20 1 50 1 5 2 0 1 0 0 0 1 20 − 1 50 1 10 3 0 0 1 0 0 0 1 50 1 10 0 0 0 0 − 3 2 − 1 4 − 5 2 −18 Lösung des dualen Problems: y ∗ = ( 1 5 , 1 10 , 1 10 ) mit Zielwert −18 (bzw. 18 für das Maximierungsproblem). d) Setzt man diese Lösung in das Dualproblem ein, erkennt man, dass die erste Restriktion nicht ausgeschöpft wird, d.h. x ′ 1 = 0. Die Restriktionen des primalen Problems sind auszuschöpfen (weil y 1 , y 2 , y 3 > 0), also löst man das Gleichungssystem 10x ′ 2 = 15 10x ′ 2 + 20x ′ 3 = 20 20x ′ 3 + 50x ′ 4 = 130 und erhält als Lösung x ′ opt = (0, 3 2 , 1 4 , 5 2 ). Herzustellen sind also (wenn man die Mindestproduktion einbezieht) 1 Mio. 5-Duro-Scheine, 2,5 Mio. 10-Duro-Scheine, 1,25 Mio. 20-Duro-Scheine und 3,5 Mio. 50- Duro-Scheine. Gesamtkosten sind 32 Millionen Duro. 227 <?page no="228"?> Lösungen Aufgabe 1.3 a) Zuerst werden in der Ausgangsmatrix (Kosten) die Zeilen- und Spaltenminima abgezogen. In der entstehenden Matrix versucht man die Nullen mit möglichst wenigen Linien abzudecken: ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 3 5 12 0 1 7 | | 0 11 3 6 7 6 | | 4 2 13 0 2 2 | | 11− 0 −13−14−3−4 | | 0 − 7 − 5 − 8 −9−0 | | 9 − 3 − 0 − 7 −0−0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Hier genügen fünf Linien zur Überdeckung, deshalb wird umgeformt. Das Minimum der nicht überdeckten Felder (hier 1) wird von diesen abgezogen, Felder mit einer Überdeckung bleiben gleich, zu Feldern, die doppelt überdeckt sind, wird dieser Wert addiert. ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 3 4 11 0 0 6 0 10 2 6 6 5 4 1 12 0 1 1 12 0 13 15 3 4 1 7 5 9 9 0 10 3 0 8 0 0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Dies ist schon die Lösung, die umrandeten Nullen geben an, welcher Auftrag welchem Betrieb zugeordnet wird. Die Kosten sind 11 + 10 + 13 + 13 + 16 + 15 = 78 (Mio.). Die Zeit bis zur (parallelen! ) Fertigstellung ist 35. 228 <?page no="229"?> Klausur 1 b) Die Zuordnungen, die zu einer Dauer von mehr als 30 Monaten führen, kommen nicht in Betracht, deshalb werden diesen Möglichkeiten unendlich hohe Kosten zugeordnet. Es ergibt sich die Kostenmatrix ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 16 18 25 ∞ ∞ 24 ∞ 22 ∞ 17 ∞ 21 ∞ ∞ 26 ∞ 17 19 21 ∞ 23 24 ∞ 18 ∞ ∞ 16 19 22 ∞ 22 16 ∞ ∞ ∞ 17 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Abziehen der Zeilen- und Spaltenminima führt zur Matrix ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 0 2 9 ∞ ∞ 8 ∞ 5 ∞ 0 ∞ 4 ∞ ∞ 9 ∞ 0 2 3 ∞ 5 6 ∞ 0 ∞ ∞ 0 3 6 ∞ 6 0 ∞ ∞ ∞ 1 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ Hier ist keine weitere Umformung mehr nötig, die umrandeten Nullen geben das Ergebnis wieder. Die Kosten sind 16+16+16+17+17+18 = 100 (Mio.), die erlaubten 30 Monate werden voll ausgeschöpft. c) Zu minimieren ist die maximale Zeit, damit ist die Zielfunktion nicht linear. Aus diesem Grund klappt die Argumentation über Complementary Slackness nicht, und damit auch die Ungarische Methode nicht. Eine heuristische Lösung wäre das Vorgehen nach der Matrix-Minimum- Methode, wobei hier allerdings eine Zeit von 30 Monaten herauskäme (durch die „gierige“ Wahl der 14 unten links muss man am Ende die 30 oben rechts „schlucken“). Günstiger ist die Auswahl der Hauptdiagonalen mit einer Zeit von 25 Monaten und Kosten von 127 (Mio.) Duro. 229 <?page no="230"?> Lösungen Aufgabe 1.4 Die erste und zweite Ableitung lauten f ′ (x) = x + 2 − 8 cos x f ′′ (x) = 1 + 8 sin x Damit ergibt sich als Formel x k+1 = x k − x k + 2 − 8 c os x k 1 + 8 sin x k Die ersten Folgenwerte sind: x 1 = 1, 17326 x 2 = 1, 16418 x 3 = 1, 16416 Aufgabe 1.5 a) Die Nash-Lösung ist ein Verhandlungsergebnis im kooperativen Spiel, das sich dadurch auszeichnet, dass - es Pareto-optimal ist, - bei einer symmetrischen Verhandlungssituation beide Spieler die gleiche Auszahlung erhalten, - eine affin-lineare Transformation des Konflikt-Punktes es entsprechend transformiert. - irrelevante Alternativen es nicht beeinflussen. b) Geometrisch ermittelt man das größte Rechteck (Optimierung mit Nebenbedingung) im Verhandlungsraum, der sich aus dem Konflikt-Punkt (also der garantierten Auszahlung bei Nicht-Kooperation) und dem Pareto-Rand definiert. Wo sich Rechteck und Pareto-Rand berühren, liegt die Nash-Lösung. c) Bei einer Erweiterung des Verhandlungsraumes kann es allerdings zu einer Verschlechterung für einen der Spieler kommen, insofern fehlt der Nash-Lösung ein eigentlich zu forderndes Monotonieverhalten. Außerdem ist die Wahl des Konfliktpunktes als Maximin-Lösung angreifbar. 230 <?page no="231"?> Klausur 2 Klausur 2 Aufgabe 2.1 a) Der Graph kann etwa so gezeichnet werden: b c e d g f h a 3 6 2 8 4 4 3 1 2 6 3 b) Im gerichteten Graphen läuft das Dijkstra-Verfahren folgendermaßen ab: Iteration 1 2 3 4 5 dis t v or di st vo r dis t v or di st vo r dis t v or a 0 - × 0 - × 0 - × 0 - × 0 - × b 3 a ⊗ 3 a × 3 a × 3 a × 3 a × c 4 a 4 a ⊗ 4 a × 4 a × 4 a × d 8 a 8 a 7 c ⊗ 7 c × 7 c × e ∞ - 9 b 9 b 9 b ⊗ 9 b × f ∞ - ∞ - 10 c 10 c 10 c ⊗ g ∞ - ∞ - ∞ - ∞ - ∞ h ∞ - ∞ - ∞ - ∞ - ∞ - Damit ergeben sich folgende Wege und Abstände: a b: 3 a c: 4 a c d: 7 a b e: 9 a c f: 10 Die Knoten g und h sind von a aus nicht erreichbar! c) Für die Abstände der Knoten b bis f ergeben sich keine Änderungen. Zusätzlich sind nun auch die Knoten g und h erreichbar; der kürzeste Weg geht über den Knoten c, die Knoten haben von a den Abstand 5 bzw. 7. d) Den eindeutigen minimal aufspannenden Baum bilden alle Kanten mit den Längen 1, 2 oder 3 sowie die Kante, die a und c verbindet. 231 <?page no="232"?> Lösungen Aufgabe 2.2 a) Man betrachtet die erweiterte Koeffizientenmatrix: ( 3 1 2 8 2 0 2 6 ) Umformung in Zeilenstufenform ergibt sich so: ( 3 1 2 8 2 0 2 6 ) I : 3 −→ II : 2 ( 1 1 3 2 3 8 3 1 0 1 3 ) II − I −→ ( 1 1 3 2 3 8 3 0 − 1 3 1 3 1 3 ) II · (− 1 3 ) −→ ( 1 1 3 2 3 8 3 0 1 −1 −1 ) I − 1 3 II −→ ( 1 0 1 3 0 1 −1 −1 ) Die allgemeine Lösung lässt sich ablesen: L = { x ∈ R 3 ∣ ∣ ∣ ∣ ∣ ∣ x = ⎛ ⎝ 3 −1 0 ⎞ ⎠ + λ ⎛ ⎝ −1 1 1 ⎞ ⎠ , λ ∈ R } b) Für die Standardform muss lediglich die Nebenbedingung von einer Maximierungszu einer Minimierungsbedingung umgeformt werden: −2x 1 + 3x 2 + x 3 ! = min 3x 1 + x 2 + 2x 3 = 8 2x 1 + 2x 3 = 6 x 1 , x 2 , x 3 ≥ 0 c) Zur Berechnung der Basislösungen wird die erweiterte Koeffizientenmatrix immer so umgeformt, dass in zwei Spalten jeweils ein Einheitsvektor auftaucht, und somit die jeweiligen Lösungen ablesbar sind: ( 3 1 2 8 2 0 2 6 ) I − II −→ II : 2 ( 1 1 0 2 1 0 1 3 ) Daraus lässt sich die erste Basislösung ablesen: x T = (0, 2, 3) ist eine zulässige Ecke. II − I −→ ( 1 1 0 2 0 −1 1 1 ) 232 <?page no="233"?> Klausur 2 liefert die nächste Basislösung mit x T = (2, 0, 1). Diese Ecke ist ebenfalls zulässig. II · (−1) −→ ( 1 1 0 2 0 1 −1 −1 ) I − II −→ ( 1 0 1 3 0 1 −1 −1 ) Damit erhält man die nicht-zulässige Lösung x T = ( 3 , −1, 0). d) Für die in c) berechneten Ecken ergeben sich die Zielfunktionswerte (wobei c min = (−2, 3, 1) bzw. c max = (2, −3, −1) ist) durch Einsetzen: Ecke (0, 2, 3) : c min · x = 9 bzw. c max · x = −9 Ecke (2, 0, 1) : c min · x = −3 bzw. c max · x = 3 Damit erreicht das Maximierungsproblem sein Optimum im Punkt x T = (2, 0, 1) mit c max · x = 3. Aufgabe 2.3 1 2 3 4 5 4 1 −2 −1 1 0 −3 5 −2 −1 −2 0 1 −4 −1 −2 −3 0 0 0 1 2 2 3 2 − − 1 2 3 4 5 4 0 − 5 2 −2 1 1 2 −5 1 1 1 2 1 0 − 1 2 2 0 − 3 2 −2 0 − 1 2 2 − 3 5 1 − − 1 2 3 4 5 2 0 1 4 5 − 2 5 − 1 5 2 1 1 0 3 5 1 5 − 2 5 1 0 0 − 4 5 − 3 5 − 4 5 5 Lösung: x 1 = 1, x 2 = 2, x 3 = 0, Zielwert = 5 233 <?page no="234"?> Lösungen Aufgabe 2.4 a) Die Matrix-Minimum-Methode führt eindeutig zur folgenden Lösung. W X Y Z A 8 13 4 10 7 2 12 B 11 14 10 6 10 7 17 C 6 10 12 8 9 1 11 10 10 10 10 333 b) Die Stepping-Stone-Methode durchläuft folgende Schritte, wenn immer der größte δ-Wert als Auswahlkriterium genutzt wird. W X Y Z A 8 −4 13 −2 4 ♠ 10 7 ♠ 2 12 B 11 −4 14 ♠ 10 6 1 10 ♠ 7 17 C 6 ♠ 10 12 1 8 −2 9 ♠ 1 11 10 10 10 10 333 W X Y Z A 8 −3 13 −2 4 ♠ 10 7 ♠ 2 12 B 11 −3 14 ♠ 9 6 1 10 ♠ 8 17 C 6 ♠ 10 12 ♠ 1 8 −3 9 −1 11 10 10 10 10 332 234 <?page no="235"?> Klausur 2 W X Y Z A 8 −2 13 −1 4 ♠ 2 7 ♠ 10 12 B 11 −3 14 ♠ 9 6 ♠ 8 10 −1 17 C 6 ♠ 10 12 ♠ 1 8 −4 9 −2 11 10 10 10 10 324 Aufgabe 2.5 a) Ja, auch wenn die Anzahl von Variablen und Nebenbedingungen zu großem Aufwand führt, ist die Lösung möglich. Zu beachten ist das Dimensionsproblem: Matrix der Nebenbedingungen hat nicht vollen Rang. b) Nein, diese Aussage gilt nur für eine lineare oder für eine passend gekrümmte Zielfunktion. Allgemein muss das nicht so sein. c) Ja, die rekursive Konstruktionsvorschrift hat beim Newton-Verfahren die Form x k+1 = x k + H −1 k g k d) Nein, die Boltzmann-Konstante gibt es nur im natürlichen Vorbild. Selbst wenn man eine derartige Konstante verwenden würde, darf sie sich natürlich nicht ändern. Verändert wird lediglich die Temperatur. e) Ja und nein. Auf dem Pareto-Rand kann sich kein Spieler verbessern, ohne dass sich der andere verschlechtert. Insofern ist hier ein Optimum für beide Spieler zu finden. 235 <?page no="236"?> Lösungen Klausur 3 Aufgabe 3.1 a) Die „übliche“ Vorgangsliste lautet: Abk. Dauer direkte [Tage] Vorgänger A 8 - B 3 - C 2 - D 4 B E 6 A,D F 8 D G 12 C H 5 E I 6 G,H J 7 I K 10 F,H L 2 J,K b) Die Zusammenhänge sind im folgenden Netzplan abzulesen. 5 2 3 4 1 6 7 8 10 11 A B C D E F G H I J K L 9 12 236 <?page no="237"?> Klausur 3 c) Anfangs- und Endzeitpunkte sind in der Tabelle vermerkt. Vorgang Dauer FAZ SAZ FEZ SEZ GP A 8 0 0 8 8 0 B 3 0 1 3 4 1 C 2 0 5 2 7 5 D 4 3 4 7 8 1 E 6 8 8 14 14 0 F 8 7 14 15 22 7 G 12 2 7 14 19 5 H 5 14 14 19 19 0 I 6 19 19 25 25 0 J 7 25 25 32 32 0 K 10 19 22 29 32 3 L 2 32 32 34 34 0 d) Der kritische Pfad läuft über die Vorgänge A, E, H, (Scheinvorgang), I, J, L. Da K nicht auf dem kritischen Pfad liegt, ist eine Verlängerung um drei Tage noch ohne Verlängerung der Projektdauer möglich. Noch länger darf es dann allerdings nicht dauern. Aufgabe 3.2 a) Der Lösungsweg ist: 1 2 3 4 5 2 1 1 0 −1 2 2 2 3 1 0 1 −1 0 1 1 4 0 0 −7 3 7 1 2 3 4 5 2 0 1 −1 0 2 1 1 2 1 1 0 1 −1 0 1 − 0 0 −4 −3 3 3 1 2 3 4 5 5 0 1 2 − 1 2 0 1 1 2 1 1 0 1 −1 0 1 0 − 3 2 − 5 2 −3 0 3 2 b) In dem Simplextableau stehen in der letzten Zeile die δ-Werte und 237 <?page no="238"?> Lösungen der Zielwert. Diese ergeben sich aus den Kostenkoeffizienten und den f-Werten sowie den Werten der Basisvariablen x 2 und x 3 wie folgt δ k = c 2 f 1k + c 3 f 2k − c k z = c 2 x 2 + c 3 x 3 Stellt man für die Nichtbasisvariablen die δ-Werte auf diese Weise aus dem Simplex-Tableau dar, so ergeben sich drei Gleichungen erste Spalte: 4 = 2 + c 3 − c 1 vierte Spalte: − 7 = −2 − c 3 − c 4 fünfte Spalte: 3 = 4 − c 5 Zielwert: 7 = 4 + c 3 Durch Einsetzen erhält man die Koeffizienten c 1 = 1, c 3 = 3, c 4 = 2 und c 5 = 1. Aufgabe 3.3 a) Die nicht-ganzzahlige Lösung ermittelt man in zwei Umformungsschritten: − 1 2 −1 0 0 1 2 3 4 3 −1 1 1 0 1 − 4 2 1 0 1 6 3 1 2 1 0 0 0 1 2 3 4 3 0 3 2 1 1 2 4 8 3 1 1 1 2 0 1 2 3 6 0 3 4 0 − 1 4 − 3 2 1 2 3 4 2 0 1 2 3 1 3 8 3 1 1 0 − 1 3 1 3 5 3 0 0 − 1 2 − 1 2 − 7 2 b) Es wird eine zusätzliche Restriktion eingefügt, die in diesem Falle nach einem dualen Umformungsschritt direkt zum ganzzahligen Optimum führt. 238 <?page no="239"?> Klausur 3 1 2 3 4 5 2 0 1 2 3 1 3 0 8 3 1 1 0 − 1 3 1 3 0 5 3 5 0 0 − 2 3 − 1 3 1 − 2 3 0 0 − 1 2 − 1 2 0 − 7 2 − − 3 4 3 2 − 1 2 3 4 5 2 0 1 0 0 1 2 1 1 0 0 1 2 − 1 2 2 3 0 0 1 1 2 − 3 2 1 0 0 0 − 1 4 − 3 4 −3 Die Lösung ist um 0, 5 schlechter als die im nicht-ganzzahligen Problem. Aufgabe 3.4 Die fehlenden Spalten sind Basisspalten, können also mit Einheitsvektoren gefüllt werden. Die fehlenden Werte in der Mitte ergeben sich leicht als Quotient. x 11 x 12 x 13 x 21 x 22 x 23 x 11 1 0 0 1 0 0 15 15 x 12 0 1 1 −1 0 0 5 - x 22 0 0 −1 1 1 0 10 10 x 23 0 0 1 0 0 1 10 - 0 0 −10 2 0 0 375 239 <?page no="240"?> Lösungen Das dazugehörige Transporttableau muss lauten: X Y Z A 10 ♠ 15 11 ♠ 5 20 −10 20 B 6 2 9 ♠ 10 8 ♠ 10 20 15 15 10 375 Nach Umformung: X Y Z A 10 ♠ 5 11 ♠ 15 20 −8 20 B 6 ♠ 10 9 −2 8 ♠ 10 20 15 15 10 355 Aufgabe 3.5 Simulated Annealing ist ein stochastisches Verfahren zur Ermittlung eines globalen Optimums. Für die Durchführung sind insbesondere ein lokales Suchverfahren, ein Akzeptanzmechanismus und ein Abkühlungsschema zu spezifizieren. Der Algorithmus besteht aus einer äußeren Schleife, in der die Temperatur nach und nach abgesenkt wird, und einer inneren Schleife, in der jeweils neue Kandidaten für das Optimum generiert und dann angenommen oder abgelehnt werden. Das Verfahren konvergiert sicher gegen ein globales Optimum, braucht dazu aber oft lange. Das wäre eine Kurzversion. Natürlich könnte noch vieles ausführlicher dargestellt werden, wie es in Abschnitt 5.3 vgl. S. 176 beschrieben wurde. 240 <?page no="241"?> Glossar Ad jaz en zm at rix Zw ei Kn oten im Gr aphen heißen adjazen t, wenn sie durch eine Kante verbunden sind. In der Matrix steht an der den Knotennummern entsprechenden Stelle (Zeile, Spalte) eine 1 bzw. die Bewertung der Kante. vgl. S. 46 Algorithmus Ein Algorithmus ist eine genaue Handlungsvorschrift zur Lösung einer bestimmten Art von Problemen. vgl. S. 13 Banzhaf-Index Der Banzhaf-Index ist ein Maß für die Stärke bzw. den Anteil eines Spielers in Koalitionsspielen. vgl. S. 210 Baum Ein Baum ist ein zusammenhängender Graph ohne Kreise. vgl. S. 54 Bi-Matrix-Spiel Ein Bi-Matrix-Spiel wird von zwei Spielern gespielt. Die Auszahlungen werden als Tupel in einer Matrix notiert. vgl. S. 186 Branch-and-Bound-Verfahren Beim Branch-and-Bound wird ein Problem in Form eines Baumes in Teilprobleme zerlegt. Deren Lösung - oder die Erkenntnis, dass in bestimmten Teilen kein gutes Ergebnis zu finden sein wird - führt letztlich auf die Lösung des Gesamtproblems. vgl. S. 152 Complementary Slackness Die Aussage der Complementary- Slackness-Bedingungen ist, dass entweder eine Restriktion ausgeschöpft ist oder die dazugehörige duale Variable den Wert 0 hat (oder umgekehrt). vgl. S. 112 CPM-Netzplan CPM ist ein Verfahren, Netzpläne zur Projektsteuerung darzustellen und einen längsten Weg darin zu berechnen. vgl. S. 64 Dakin-Algorithmus Der Dakin-Algorithmus zur Lösung linearer ganzzahliger Optimierungsprobleme ist ein Branch-and- Bound-Verfahren. vgl. S. 154 241 <?page no="242"?> Glossar Digraph Im Digraphen haben Kanten im Gegensatz zu ungerichteten Gr aphe n eine Ric ht ung. D iese wir d d ur ch einen Pfeil sy mb olisiert und als kartesisches Produkt aufgeschrieben. vgl. S. 47 Dijkstra-Algorithmus Der Dijkstra-Algorithmus berechnet kürzeste Wege von einem Knoten zu allen anderen in einem Graphen. vgl. S. 57 Duale Simplexmethode Die duale Simplexmethode ist eine Alternative zum gewöhnlichen Simplex-Algorithmus. Die Algorithmen unterscheiden sich in der Auswahl des Pivotelementes. vgl. S. 116 Dualprogramm Das Dualprogramm zu einem linearen Optimierungsproblem ist eine Art Spiegelung. Aus seiner Lösung können via Complementary Slackness Aussagen zum ursprünglichen Problem getroffen werden. vgl. S. 110 Gauß-Algorithmus Der Gauß-Algorithmus ist ein Verfahren zur Lösung von linearen Gleichungssystemen. Der Simplex- Algorithmus baut auf der Lösung auf. vgl. S. 86 Gomory-Algorithmus Mit dem Gomory-Algorithmus lässt sich ein ganzzahliges lineares Optimierungsproblem lösen. Es handelt sich um ein Schnittebenen-Verfahren. vgl. S. 149 Gradientenabstiegsverfahren Die Idee eines Gradientenabstiegsverfahrens ist es, in der dem Gradienten entgegengesetzten Richtung nach einem Minimum zu suchen. vgl. S. 173 Graph Ein Graph dient zur Abbildung von Zusammenhängen. Er besteht aus Knoten und Kanten. vgl. S. 43 Heuristik Heuristiken sind mathematische Verfahren, die gute Lösungen mit wenig Aufwand finden; dabei nutzen sie nur bestimmte Eigenschaften des Problems aus. vgl. S. 16 Intervallhalbierung Das Verfahren der Intervallhalbierung sucht Optima bzw. Nullstellen. Dazu muss die Ableitung einer Funktion bekannt sein. vgl. S. 171 Intervallschachtelung Die Intervallschachtelung ist ein einfaches Verfahren zur Bestimmung von Optima. vgl. S. 170 Kanonische Form Ein LP in kanonischer Form umfasst eine zu minimierende Zielfunktion und ausschließlich 242 <?page no="243"?> Glossar Nebenbedingungen in ≥-Form. vgl. S. 85 Kante Eine Kante ist die Verbindung zwischen zwei Knoten in einem Graphen. vgl. S. 44 kartesisches Produkt Das kartesische Produkt ist die Kombination von allen Elementen aus zwei oder mehr Mengen. vgl. S. 41 Knoten Ein Knoten ist Anfangsund/ oder Endpunkt einer Kante in einem Graphen. vgl. S. 44 Komplette Enumeration Bei der kompletten Enumeration werden alle Elemente des zulässigen Bereichs auf Optimalität überprüft. vgl. S. 16 Kooperatives Spiel Im kooperativen Spiel wählen die Spieler eine gemeinsame Strategie, um die gemeinsame Auszahlung zu erhöhen. vgl. S. 200 kritischer Pfad Als kritischer Pfad wird ein längster Weg im CPM-Netzplan bezeichnet. Er umfasst alle kritischen Vorgänge. vgl. S. 70 Kruskal-Algorithmus Der Kruskal-Algorithmus ermittelt den minimal aufspannenden Baum zu einem gegebenen Netzwerk. vgl. S. 61 künstliche Variable Eine künstliche Variable sorgt für die Lösbarkeit des Hilfsproblems in der ersten Phase der Zweiphasenmethode. Hat sie am Ende der ersten Phase nicht den Wert 0, gibt es keine Anfangslösung für das ursprüngliche Problem. vgl. S. 101 Lagrange-Verfahren Mit dem Lagrange-Verfahren können nichtlineare Optimierungsprobleme mit Nebenbedingungen gelöst werden. vgl. S. 166 Lineares Optimierungsproblem Ein lineares Optimierungsproblem wird auch als lineares Programm (LP) bezeichnet. Es besteht aus einer Zielfunktion und Nebenbedingungen, die alle linear sind. vgl. S. 84 Modell Ein Modell ist eine Abbildung eines realen Zusammenhangs in formaler Weise. vgl. S. 12 Monotone Lösung Die monotone Lösung ist ein Ansatz zur Aufteilung der Auszahlungen in einem kooperativen Spiel. vgl. S. 207 243 <?page no="244"?> Glossar Nash-Gleichgewicht Ein Nash-Gleichgewicht ist eine Strategiekombination, bei der beide Spieler durch einseitiges Abweichen keinen Vorteil erlangen können. vgl. S. 188 Nash-Lösung Die Nash-Lösung ist ein Ansatz für die faire Aufteilung der Auszahlungen bei einem kooperativen Spiel. vgl. S. 204 Nebenbedingung Nebenbedingungen schränken den zulässigen Bereich eines Optimierungsproblems ein. vgl. S. 84 Netzwerk Ein bewerteter, zusammenhängender Digraph heißt Netzwerk. vgl. S. 51 Newton-Verfahren Das Newton-Verfahren findet mit Hilfe der Ableitung einer Funktion deren Nullstellen. Es kann auch zur Suche nach Optima verwendet werden. vgl. S. 171 Optimierungsproblem Als Optimierungsproblem wird die Suche nach einem Minimum oder Maximum in einem zulässigen Bereich bezeichnet. vgl. S. 21 Relation Eine Relation bildet definierte Beziehungen zwischen Elementen zweier oder mehrerer Mengen ab. vgl. S. 41 Schattenpreis Der Schattenpreis bezeichnet die Änderung des Zielfunktionswertes bei Verschärfung oder Lockerung einer Nebenbedingung. vgl. S. 110 Scheinvorgang Ein Scheinvorgang im CPM-Netzplan dient dazu, Mehrfachkanten zu vermeiden und verschiedene Abhängigkeiten abzubilden. vgl. S. 65 Schlupfvariable Eine Schlupfvariable wird eingefügt, um aus einer Nebenbedingung in Ungleichungsform eine Gleichung zu machen. vgl. S. 85 Shapley-Index Der Shapley-Index ist ein Maß für die Stärke bzw. den Anteil eines Spielers in Koalitionsspielen. vgl. S. 210 Simplex-Algorithmus Der Simplex-Algorithmus ist ein Lösungsverfahren für lineare Optimierungsprobleme. Dabei werden die Ecken des zulässigen Bereichs effizient auf Optimalität überprüft. vgl. S. 91 Simplex-Tableau Im Simplex-Tableau werden die Schritte des Simplex-Algorithmus durchgeführt. Die Lösung ist am Ende dort ablesbar. vgl. S. 91 244 <?page no="245"?> Glossar Simulated Annealing Simulated Annealing ist ein Suchverfahren, das Aspekte aus der Natur nachahmt. Es kombiniert eine lokale Suche mit einem stochastischen Verfahren. vgl. S. 176 Spieltheorie Die Spieltheorie beschäftigt sich mit der Analyse von Entscheidungssituation unter Berücksichtigung mehrerer Akteure. vgl. S. 193 Standardform In der Standardform hat ein lineares Programm nur Nebenbedingungen in =-Form. Dies wird durch das Einfügen von Schlupfvariablen erreicht. vgl. S. 86 Transporttableau Im Transporttableau werden Transportprobleme deutlich einfacher als im Simplex-Tableau gelöst. Sowohl die Herleitung der Anfangsecke als auch die Austauschschritte werden in diesem Tableau durchgeführt. vgl. S. 127 Travelling Salesman Problem Das im Deutschen als Problem des Handlungsreisenden bezeichnete Standardbeispiel bezeichnet die Suche nach einer möglichst kurzen Rundreise. vgl. S. 14 ungarische Methode Die ungarische Methode ist ein Verfahren zur Lösung eines Zuordnungsproblems. Die Vorgehensweise ist primal-dual. vgl. S. 142 Zielfunktion Die Zielfunktion gibt an, welches Ergebnis bei einer bestimmten Kombination der Entscheidungsparameter herauskommt. Sie ist in der Regel zu optimieren. vgl. S. 84 Zulässiger Bereich Der zulässige Bereich ist die Menge der potentiellen Lösungen für ein Optimierungsproblem. Er wird oft durch Nebenbedingungen definiert. vgl. S. 85 Zuordnungsproblem Das Zuordnungsproblem ist ein kombinatorisches Optimierungsproblem, bei dem Objekte von Mengen einander so zugeordnet werden, dass die Kosten minimal sind oder der Nutzen maximal ist. vgl. S. 141 Zweiphasenmethode Die Zweiphasenmethode löst lineare Optimierungsprobleme durch zweimalige Anwendung des Simplex-Algorithmus. In der ersten Phase wird über ein Hilfsproblem eine Anfangslösung gesucht, in der zweiten Phase findet die tatsächliche Suche nach einem Optimum statt. vgl. S. 102 Zyklenmethode Die Zyklenmethode sucht schrittweise im Transporttableau nach möglichen Verbesserungen. Dazu ist eine Anfangslösung notwendig. vgl. S. 130 245 <?page no="247"?> Abbildungen 1.1 Die 11 Städte des Rundreiseproblems . . . . . . . . . . . . . . 15 1.2 Das Rundreiseproblem mit fünf Städten . . . . . . . . . . . . 17 1.3 Eröffnungslösungen nach Methode des besten Nachfolgers . . 18 1.4 Verbesserung der Startlösung durch Änderung zweier Strecken 19 1.5 Mit Simulated Annealing ermittelte Rundreise der Länge 25 . 20 1.6 IC-Netz der Deutschen Bahn . . . . . . . . . . . . . . . . . . 23 1.7 Lineares Optimierungsproblem in grafischer Darstellung . . . 25 1.8 Spielbaum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 1.9 Risikomodell . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.10 Warteschlangenmodell . . . . . . . . . . . . . . . . . . . . . . 36 2.1 Grafische Darstellung einer Relation . . . . . . . . . . . . . . 43 2.2 Flugverbindungen in Deutschland . . . . . . . . . . . . . . . . 44 2.3 Beispielgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 2.4 Beispielgraph in anderer Darstellung . . . . . . . . . . . . . . 45 2.5 Beispielgraph . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.6 Gerichteter Graph . . . . . . . . . . . . . . . . . . . . . . . . 48 2.7 Bipartiter Graph zum Zuordnungsproblem . . . . . . . . . . . 49 2.8 Gozintograph . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 2.9 Gerichteter Graph zum Dijkstra-Algorithmus . . . . . . . . 59 2.10 Ungerichteter Graph zum Kruskal-Algorithmus . . . . . . . 61 2.11 Ein aufspannender Baum zur Abbildung 2.10 . . . . . . . . . 61 2.12 Minimal aufspannender Baum zur Abbildung 2.10 . . . . . . 62 2.13 Weiterer Graph zum Kruskal-Algorithmus . . . . . . . . . 63 2.14 Minimal aufspannender Baum zur Abbildung 2.13 . . . . . . 63 2.15 Netzplan (Version 1) . . . . . . . . . . . . . . . . . . . . . . . 67 2.16 Netzplan (Version 2) . . . . . . . . . . . . . . . . . . . . . . . 68 2.17 Skizze einer Hängebrücke . . . . . . . . . . . . . . . . . . . . 69 2.18 Netzplan Brückenbau . . . . . . . . . . . . . . . . . . . . . . . 70 2.19 Netzplan (Version 3) . . . . . . . . . . . . . . . . . . . . . . . 72 2.20 Darstellung im Netzplan . . . . . . . . . . . . . . . . . . . . . 73 2.21 Netzplan (Version 4) . . . . . . . . . . . . . . . . . . . . . . . 74 2.22 Graph zur Dynamischen Optimierung . . . . . . . . . . . . . 76 247 <?page no="248"?> Abbildungen 2.23 Schema der Dynamischen Optimierung . . . . . . . . . . . . . 78 3.1 Grafische Lösung des linearen Programms . . . . . . . . . . . 109 4.1 Zulässige ganzzahlige Lösungen . . . . . . . . . . . . . . . . . 122 4.2 Transportproblem in Form eines Graphen . . . . . . . . . . . 124 4.3 Transportproblem ohne ungenutzte Kanten . . . . . . . . . . 131 4.4 Transportproblem mit zusätzlicher Kante . . . . . . . . . . . 132 4.5 Transportproblem mit anderer zusätzlicher Kante . . . . . . . 132 4.6 Degeneriertes Transportproblem . . . . . . . . . . . . . . . . 140 4.7 Zuordnungsproblem . . . . . . . . . . . . . . . . . . . . . . . 141 4.8 Ganzzahliges Optimierungsproblem mit Schnitt . . . . . . . . 149 4.9 Branch-and-Bound in Baumdarstellung . . . . . . . . . . . . 152 5.1 Funktion einer Variablen . . . . . . . . . . . . . . . . . . . . . 163 5.2 Mehrdimensionale Funktion . . . . . . . . . . . . . . . . . . . 164 5.3 Funktion mit zwei lokalen Minima . . . . . . . . . . . . . . . 176 6.1 Auszahlungsmenge im nicht-kooperativen Spiel . . . . . . . . 201 6.2 Auszahlungsmenge im kooperativen Spiel . . . . . . . . . . . 202 6.3 Schwacher ungleich starker Pareto-Rand . . . . . . . . . . . 203 6.4 Schwacher gleich starker Pareto-Rand . . . . . . . . . . . . 203 6.5 Ermittlung der Nash-Lösung . . . . . . . . . . . . . . . . . . 205 6.6 Beispiel von Kalai und Smorodinsky . . . . . . . . . . . . 206 6.7 Monotone und Nash-Lösung . . . . . . . . . . . . . . . . . . 207 248 <?page no="249"?> Symbole und Abkürzungen &→ wird abgebildet auf f ′ (x) Ableitung der Funktion f an der Stelle x #A Anzahl der Elemente der Menge A ( n k ) Binomialkoeffizient A \ B Differenz der Mengen A und B. Alle Elemente von A, die nicht in B enthalten sind e (i) Einheitsvektor, der an der i-ten Stelle eine Eins und an allen anderen Stellen eine Null hat 1 Einsvektor; Spaltenvektor mit lauter Eins- Komponenten ∈, / ∈ ist Element/ nicht Element von ∃ „es gibt“ exp(x) Exponentialfunktion. exp(x) = e x , wobei e = 2, 1878 . . . n! Fakultät der Zahl n ∀ „für alle“ Z Menge der ganzen Zahlen [x] größte ganze Zahl ≤ x ∇f(x) Gradient der Funktion f im Punkt x [a; b] abgeschlossenes Intervall mit den Grenzen a und b inf, sup Infimum, Supremum. Größte untere/ kleinste obere Schranke ]a; b[ offenes Intervall mit den Grenzen a, b A −1 Inverse der Matrix A A × B kartesisches Produkt der Mengen A und B cos(x) Kosinus der reellen Zahl x ∅ leere Menge LP Lineares Programm max, min Maximum, Minimum a = b (mod n) Modulo. a und b haben den gleichen Rest beim Teilen durch n AB Produkt der Matrizen A, B. Auch mit A · B bezeichnet { } Menge mit aufgezählten Elementen 249 <?page no="250"?> Symbole und Abkürzungen N Menge der natürlichen Zahlen (ohne Null). Mit N 0 wi rd die Menge der natürlichen Zahlen inklusive der Null bezeichnet OR Operations Research 2 M Potenzmenge. Menge aller Teilmengen von M R Menge der reellen Zahlen R n Menge aller Vektoren mit n reellen Zahlen A ∩ B Schnittmenge von A und B sin(x) Sinus der reellen Zahl x n ∑ i=1 a i Summe der Folgenglieder a 1 ,. . . ,a n ⊆ ist Teilmenge von (oder gleich) A T Transponierte der Matrix A ∞ Unendlich A ∪ B Vereinigungsmenge von A und B Z Menge der zulässigen Lösungen. Z ≥ (A, b) ist der zulässige Bereich für Ax ≥ b 250 <?page no="251"?> Literatur Aarts, E.H.L./ Korst, J. [1991]: Simulated Annealing and Boltzmann Machines, Chichester Bazaraa, M.S./ Jarvis, J.J./ Sherali, H.D. [2005]: Linear Programming and Network Flows, 3. Aufl., New York Berens, W./ Delfmann, W./ Schmitting, W. [2004]: Quantitative Planung. Grundlagen, Fallstudien, Lösungen, 4. Aufl., Stuttgart Bomze, I.M./ Grossmann, W. [1993]: Optimierung - Theorie und Algorithmen, Eine Einführung in Operations Research für Wirtschaftsinformatiker, Mannheim Fishman, G.S. [2001]: Discrete Event Simulation - Modeling, Programming, and Analysis, New York Grimaldi, R.P. [2003]: Discrete and Combinatorial Mathematics - an Applied Introduction, 5. Aufl., Reading Henze, N. [2006]: Stochastik für Einsteiger - Eine Einführung in die faszinierende Welt des Zufalls, 6. Aufl., Wiesbaden Heuser, H. [2006]: Lehrbuch der Analysis, Band 1 und 2, 16. Aufl., Stuttgart Heyman, D.P./ Sobel, M.J. [1982]: Stochastic Models in Operations Research, New York Hillier, F.S./ Lieberman, G.J. [1997]: Operations Research. Einführung, 5. Aufl., München Holler, M.J./ Illing, G. [2005]: Einführung in die Spieltheorie. 5. Aufl., Berlin Ihringer, T. [2002]: Diskrete Mathematik - Eine Einführung in Theorie und Anwendungen, Stuttgart Jungnickel, D. [1994]: Graphen, Netzwerke und Algorithmen, 3. Aufl., Mannheim Kohlas, J. [1977]: Stochastische Methoden des Operations Research, Stuttgart Luenberger, D.G. [1984]: Linear and Nonlinear Programming, 2. Aufl., Reading 251 <?page no="252"?> Literatur Mérö, L. [2001]: Optimal entschieden? Spieltheorie und die Logik unseres Handelns, Basel Neumann, K. [1975]: Operations Research Verfahren - Band 3, München Neumann, K./ Morlock, M. [2002]: Operations Research, 2. Aufl., München Nissen, V. [1997]: Einführung in evolutionäre Algorithmen - Optimierung nach dem Vorbild der Evolution, Braunschweig Pritsker, A.A.B. [1990]: Papers - Experiences - Perspectives, West Lafayette Rauhut, B./ Schmitz, N./ Zachow, E.-W. [1979]: Spieltheorie - Eine Einführung in die mathematische Theorie strategischer Spiele, Stuttgart Salkin, H.M. [1975]: Integer Programming, Reading Schwarz, H.R./ Köckler, N. [2006]: Numerische Mathematik, 6. Aufl., Stuttgart Sieg, G. [2005]: Spieltheorie, 2. Aufl., München Sydsæter, K./ Hammond, P. [2006]: Mathematik für Wirtschaftswissenschaftler, 2. Aufl., München Terveer, I. [2008]: BWL-Crash-Kurs Mathematik, 2. Aufl., Konstanz Thonemann, U. [2005]: Operations Management, München Weber, K. [1993]: Mehrkriterielle Entscheidungen, München 252 <?page no="253"?> Index Abstand 56, 57 Abstimmungsspiel 209 adjazent 46 Adjazenzmatrix 46-48 Akzeptanzwahrscheinlichkeit 179 Algorithmus 14 Allokationsspiel 209, 210 antiparallel 47 Auszahlung 185 Banzhaf-Index 210 Basisform 87, 91 Basisindex 89, 94, 95 Basislösung 87, 91 Basisspalte 87 Basisvariable 88, 91 Basiswechsel 88, 90 Baum 54, 61 gerichtet 54 minimal aufspannend 60 Bellman-Gleichung 57 Bellman-Verfahren 71 Bellmansche Funktionalgleichung 79 Bewertung eines Graphen 49, 51 Bi-Matrix-Spiel 186 Boltzmann-Konstante 178 Branch-and-Bound-Verfahren 152 Complementary Slackness 112, 143, 167 Cournot-Gleichgewicht 31 CPM-Netzplan 64, 65 Dakin-Algorithmus 154 Degeneriertheit 140 δ-Wert 91-93, 134 Digraph 47 Dijkstra-Algorithmus 57 Duale Simplexmethode 116 Dualprogramm 111, 142, 167 Engpasskriterium 93 Ereignis 64 Garantiepunkt 200 Gauß-Algorithmus 86 Gefangenen-Dilemman 196 Gieriges Verfahren 17 Goal Programming 28 Gomory-Algorithmus 149, 158 Gozintograph 51 Gradient 163, 173 Gradientenabstiegsverfahren 173 Graph 44 bipartit 49, 141 gerichtet 47 zusammenhängend 50, 54 Grundlösung 87, 101 Hesse-Matrix 163 Heuristik 17 Hilfsproblem 102, 103, 243 Idealpunkt 207 Imputation 213 Intervallhalbierung 171 253 <?page no="254"?> Index Intervallschachtelung 170 Inversion 42 inzident 46 Kanonische Form 85 Kante 44 Kantenzug 50 geschlossen 50 kartesisches Produkt 41 Knoten 44 Komplette Enumeration 16 Komposition 42 Kooperatives Spiel 200 Kreis im Graphen 50 kritischer Pfad 70, 72 Kruskal-Algorithmus 61 künstliche Variable 101 Lagerhaltungsmodell 37 Lagrange-Verfahren 166 lineares Gleichungssystem 53 Lineares Optimierungsproblem 24, 84 Lokale Suche 18, 177 Markov-Modell 36 Matrix-Minimum-Methode 128, 129 Matrix-Spiel 193 Maximin-Strategie 194 Mehrfachkante 46 Metrik 56 Metropolis-Kriterium 180 Minimax-Strategie 194 Modell 12 Monotone Lösung 207 Nash-Gleichgewicht 188, 190 Nash-Lösung 204 Nebenbedingung 24, 84 Netzplan 64 Netzwerk 51, 56, 60 Newton-Verfahren 172, 175 Nichtnegativität 24, 85 Nordwesteckenregel 128 Nullstelle 170 obere Schranke 153 optimale Politik 78 Optimierungsproblem 21 Pareto-optimal 202, 204 Pareto-Rand 202 Partitionsproblem 122, 142 Permutation 141 Pivotelement 95, 97, 117 Pivotisierung 88, 90, 95 Politik 78 Primalprogramm 111 reduzierte Kostenmatrix 143 Relation 41 Restriktion 24, 84, 108, 164 Risikomodell 34 Rucksack-Problem 26 Sattelpunkt 168, 194 Schattenpreis 110, 115 Scheinvorgang 66 Schlinge 45 Schlupfvariable 85, 99 Schnittebenen-Verfahren 149 Shapley-Index 210 Simplex-Algorithmus 91 Simplex-Tableau 91, 138 Simulated Annealing 176 Spielbaum 32 Spieltheorie 29, 193 Standardform 86, 101 Startecke 90 steilster Abstieg 174 Stepping Stone Method 130 Strategie 78, 185 254 <?page no="255"?> Index dominant 187 gemischt 189 Suchverfahren 170 technische Variable 125 Teildigraph 48 Teilgraph 47 Temperatur 179 topologische Sortierung 67 Transportplan 125 Transportproblem 11, 124, 142 Transporttableau 127 Travelling Salesman Problem 14, 181 Traversierungsregel 153 ungarische Methode 142, 146 unimodal 170 untere Schranke 153 verbindbar 50 Verhandlungslösung 204 Verhandlungssituation 200 Verzweigungsstruktur 153 vollständig unimodular 123 Vorgang 64 Vorgangsliste 64, 65 Vorgangspfeilnetz 65 Warteschlangenmodell 35 Weg kürzester 56 längster 57, 64, 70 Weg im Graphen 50 Zeilenstufenform 86, 91 erweitert 87 Zielfunktion 24, 84 Zulässiger Bereich 85, 89, 111, 161 Zuordnungsproblem 49, 141 Zweipersonenspiel 186 Zweiphasenmethode 102 Zyklenmethode 130 Zyklus (im Graphen) 50, 62 Zyklus (Transporttableau) 133 255 <?page no="256"?> www.uvk.de STUDIEREN IM QUADRAT Erfolgreich studieren, das ist leichter gesagt, als getan. Denn zwischen Hörsaal, Bibliothek und Prüfungen gibt es im Studi-Alltag so manche Herausforderung zu meistern. Die UVK-Reihe »Studieren im Quadrat« hilft Ihnen dabei, in allen Lebenslagen cool zu bleiben - vom Praktikum, über die Studienkrise bis hin zur Gründung des ersten Start-ups. Also keine Sorge, die bunten Bücher stehen Ihnen bei Fragen rund ums Studium bei. I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 0 2 - 1 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 0 3 - 8 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 6 4 - 9 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 0 0 - 7 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 6 5 - 6 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 0 1 - 4 I S B N 9 7 8 - 3 - 8 6 7 6 4 - 7 0 4 - 5